@swisper.ai/web-map 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +134 -0
  3. package/dist/base-map.d.ts +28 -0
  4. package/dist/base-map.d.ts.map +1 -0
  5. package/dist/constants.d.ts +9 -0
  6. package/dist/constants.d.ts.map +1 -0
  7. package/dist/index.css +2 -0
  8. package/dist/index.d.ts +21 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.es.js +283 -0
  11. package/dist/index.es.js.map +1 -0
  12. package/dist/load-map-lib.d.ts +13 -0
  13. package/dist/load-map-lib.d.ts.map +1 -0
  14. package/dist/map-context.d.ts +14 -0
  15. package/dist/map-context.d.ts.map +1 -0
  16. package/dist/map-marker.d.ts +26 -0
  17. package/dist/map-marker.d.ts.map +1 -0
  18. package/dist/map-pin.d.ts +28 -0
  19. package/dist/map-pin.d.ts.map +1 -0
  20. package/dist/map-user-location.d.ts +11 -0
  21. package/dist/map-user-location.d.ts.map +1 -0
  22. package/dist/map-view.d.ts +30 -0
  23. package/dist/map-view.d.ts.map +1 -0
  24. package/dist/maplibre-worker-source-DgoyX01U.js +4 -0
  25. package/dist/user-location-pin.d.ts +8 -0
  26. package/dist/user-location-pin.d.ts.map +1 -0
  27. package/dist/utils/get-bounds-from-points.d.ts +10 -0
  28. package/dist/utils/get-bounds-from-points.d.ts.map +1 -0
  29. package/dist/worker/maplibre-worker-source.d.ts +2 -0
  30. package/dist/worker/maplibre-worker-source.d.ts.map +1 -0
  31. package/package.json +100 -0
  32. package/src/__storybook__/fixtures.ts +19 -0
  33. package/src/__tests__/load-map-lib.spec.ts +57 -0
  34. package/src/__tests__/map-marker.spec.tsx +153 -0
  35. package/src/__tests__/map-pin.spec.tsx +82 -0
  36. package/src/__tests__/map-user-location.spec.tsx +48 -0
  37. package/src/__tests__/maplibre-worker-source.stub.ts +2 -0
  38. package/src/__tests__/setup.ts +13 -0
  39. package/src/base-map.json +89 -0
  40. package/src/base-map.stories.tsx +123 -0
  41. package/src/base-map.tsx +137 -0
  42. package/src/constants.ts +11 -0
  43. package/src/index.css +1 -0
  44. package/src/index.ts +32 -0
  45. package/src/load-map-lib.ts +25 -0
  46. package/src/map-context.tsx +25 -0
  47. package/src/map-marker.json +84 -0
  48. package/src/map-marker.stories.tsx +228 -0
  49. package/src/map-marker.tsx +97 -0
  50. package/src/map-pin.json +87 -0
  51. package/src/map-pin.stories.tsx +97 -0
  52. package/src/map-pin.tsx +174 -0
  53. package/src/map-user-location.json +70 -0
  54. package/src/map-user-location.stories.tsx +69 -0
  55. package/src/map-user-location.tsx +29 -0
  56. package/src/map-view.json +112 -0
  57. package/src/map-view.stories.tsx +174 -0
  58. package/src/map-view.tsx +86 -0
  59. package/src/user-location-pin.json +58 -0
  60. package/src/user-location-pin.stories.tsx +43 -0
  61. package/src/user-location-pin.tsx +27 -0
  62. package/src/utils/get-bounds-from-points.ts +39 -0
  63. package/src/worker/maplibre-worker-source.ts +2 -0
  64. package/src/worker/virtual-maplibre-worker-source.d.ts +5 -0
  65. package/tailwind.css +9 -0
@@ -0,0 +1,4 @@
1
+ //#region \0virtual:maplibre-worker-source
2
+ var e = "var maplibreWorker=(function(){var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,o)=>(o=n==null?{}:e(i(n)),s(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));function l(e,t){this.x=e,this.y=t}l.prototype={clone(){return new l(this.x,this.y)},add(e){return this.clone()._add(e)},sub(e){return this.clone()._sub(e)},multByPoint(e){return this.clone()._multByPoint(e)},divByPoint(e){return this.clone()._divByPoint(e)},mult(e){return this.clone()._mult(e)},div(e){return this.clone()._div(e)},rotate(e){return this.clone()._rotate(e)},rotateAround(e,t){return this.clone()._rotateAround(e,t)},matMult(e){return this.clone()._matMult(e)},unit(){return this.clone()._unit()},perp(){return this.clone()._perp()},round(){return this.clone()._round()},mag(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals(e){return this.x===e.x&&this.y===e.y},dist(e){return Math.sqrt(this.distSqr(e))},distSqr(e){let t=e.x-this.x,n=e.y-this.y;return t*t+n*n},angle(){return Math.atan2(this.y,this.x)},angleTo(e){return Math.atan2(this.y-e.y,this.x-e.x)},angleWith(e){return this.angleWithSep(e.x,e.y)},angleWithSep(e,t){return Math.atan2(this.x*t-this.y*e,this.x*e+this.y*t)},_matMult(e){let t=e[0]*this.x+e[1]*this.y,n=e[2]*this.x+e[3]*this.y;return this.x=t,this.y=n,this},_add(e){return this.x+=e.x,this.y+=e.y,this},_sub(e){return this.x-=e.x,this.y-=e.y,this},_mult(e){return this.x*=e,this.y*=e,this},_div(e){return this.x/=e,this.y/=e,this},_multByPoint(e){return this.x*=e.x,this.y*=e.y,this},_divByPoint(e){return this.x/=e.x,this.y/=e.y,this},_unit(){return this._div(this.mag()),this},_perp(){let e=this.y;return this.y=this.x,this.x=-e,this},_rotate(e){let t=Math.cos(e),n=Math.sin(e),r=t*this.x-n*this.y,i=n*this.x+t*this.y;return this.x=r,this.y=i,this},_rotateAround(e,t){let n=Math.cos(e),r=Math.sin(e),i=t.x+n*(this.x-t.x)-r*(this.y-t.y),a=t.y+r*(this.x-t.x)+n*(this.y-t.y);return this.x=i,this.y=a,this},_round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},constructor:l},l.convert=function(e){if(e instanceof l)return e;if(Array.isArray(e))return new l(+e[0],+e[1]);if(e.x!==void 0&&e.y!==void 0)return new l(+e.x,+e.y);throw Error(`Expected [x, y] or {x, y} point format`)};function u(e,t,n,r){let i=3*e,a=3*(n-e)-i,o=1-i-a,s=3*t,c=3*(r-t)-s,l=1-s-c;return function(e,t=1e-6){if(e<=0)return 0;if(e>=1)return 1;let n=e;for(let r=0;r<8;r++){let r=((o*n+a)*n+i)*n-e;if(Math.abs(r)<t)return((l*n+c)*n+s)*n;let u=(3*o*n+2*a)*n+i;if(Math.abs(u)<1e-6)break;n-=r/u}let r=0,u=1;n=e;for(let s=0;s<20;s++){let s=((o*n+a)*n+i)*n;if(Math.abs(s-e)<t)break;e>s?r=n:u=n,n=(r+u)*.5}return((l*n+c)*n+s)*n}}var d;function f(){return d??=typeof OffscreenCanvas<`u`&&!!new OffscreenCanvas(1,1).getContext(`2d`)&&typeof createImageBitmap==`function`,d}var p;function m(){if(p==null&&(p=!1,f())){let e=new OffscreenCanvas(5,5).getContext(`2d`,{willReadFrequently:!0});if(e){for(let t=0;t<25;t++){let n=t*4;e.fillStyle=`rgb(${n},${n+1},${n+2})`,e.fillRect(t%5,Math.floor(t/5),1,1)}let t=e.getImageData(0,0,5,5).data;for(let e=0;e<100;e++)if(e%4!=3&&t[e]!==e){p=!0;break}}}return p||!1}var h=typeof Float32Array<`u`?Float32Array:Array;function g(){var e=new h(9);return h!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function _(){var e=new h(3);return h!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function v(e){var t=e[0],n=e[1],r=e[2];return Math.sqrt(t*t+n*n+r*r)}function y(e,t,n){var r=new h(3);return r[0]=e,r[1]=t,r[2]=n,r}function b(e,t){var n=t[0],r=t[1],i=t[2],a=n*n+r*r+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}function x(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function S(e,t,n){var r=t[0],i=t[1],a=t[2],o=n[0],s=n[1],c=n[2];return e[0]=i*c-a*s,e[1]=a*o-r*c,e[2]=r*s-i*o,e}var C=v;(function(){var e=_();return function(t,n,r,i,a,o){var s,c;for(n||=3,r||=0,c=i?Math.min(i*n+r,t.length):t.length,s=r;s<c;s+=n)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}})();function w(){var e=new h(4);return h!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function T(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=n*n+r*r+i*i+a*a;return o>0&&(o=1/Math.sqrt(o)),e[0]=n*o,e[1]=r*o,e[2]=i*o,e[3]=a*o,e}function E(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3];return e[0]=n[0]*r+n[4]*i+n[8]*a+n[12]*o,e[1]=n[1]*r+n[5]*i+n[9]*a+n[13]*o,e[2]=n[2]*r+n[6]*i+n[10]*a+n[14]*o,e[3]=n[3]*r+n[7]*i+n[11]*a+n[15]*o,e}(function(){var e=w();return function(t,n,r,i,a,o){var s,c;for(n||=4,r||=0,c=i?Math.min(i*n+r,t.length):t.length,s=r;s<c;s+=n)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}})();function D(){var e=new h(4);return h!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function ee(e,t,n){n*=.5;var r=Math.sin(n);return e[0]=r*t[0],e[1]=r*t[1],e[2]=r*t[2],e[3]=Math.cos(n),e}function O(e,t,n,r){var i=t[0],a=t[1],o=t[2],s=t[3],c=n[0],l=n[1],u=n[2],d=n[3],f,p=i*c+a*l+o*u+s*d,m,h,g;return p<0&&(p=-p,c=-c,l=-l,u=-u,d=-d),1-p>1e-6?(f=Math.acos(p),m=Math.sin(f),h=Math.sin((1-r)*f)/m,g=Math.sin(r*f)/m):(h=1-r,g=r),e[0]=h*i+g*c,e[1]=h*a+g*l,e[2]=h*o+g*u,e[3]=h*s+g*d,e}function k(e,t){var n=t[0]+t[4]+t[8],r;if(n>0)r=Math.sqrt(n+1),e[3]=.5*r,r=.5/r,e[0]=(t[5]-t[7])*r,e[1]=(t[6]-t[2])*r,e[2]=(t[1]-t[3])*r;else{var i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);var a=(i+1)%3,o=(i+2)%3;r=Math.sqrt(t[i*3+i]-t[a*3+a]-t[o*3+o]+1),e[i]=.5*r,r=.5/r,e[3]=(t[a*3+o]-t[o*3+a])*r,e[a]=(t[a*3+i]+t[i*3+a])*r,e[o]=(t[o*3+i]+t[i*3+o])*r}return e}var te=T;(function(){var e=_(),t=y(1,0,0),n=y(0,1,0);return function(r,i,a){var o=x(i,a);return o<-.999999?(S(e,t,i),C(e)<1e-6&&S(e,n,i),b(e,e),ee(r,e,Math.PI),r):o>.999999?(r[0]=0,r[1]=0,r[2]=0,r[3]=1,r):(S(e,i,a),r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=1+o,te(r,r))}})(),function(){var e=D(),t=D();return function(n,r,i,a,o,s){return O(e,r,o,s),O(t,i,a,s),O(n,e,t,2*s*(1-s)),n}}(),function(){var e=g();return function(t,n,r,i){return e[0]=r[0],e[3]=r[1],e[6]=r[2],e[1]=i[0],e[4]=i[1],e[7]=i[2],e[2]=-n[0],e[5]=-n[1],e[8]=-n[2],te(t,k(t,e))}}();function ne(){var e=new h(2);return h!=Float32Array&&(e[0]=0,e[1]=0),e}(function(){var e=ne();return function(t,n,r,i,a,o){var s,c;for(n||=2,r||=0,c=i?Math.min(i*n+r,t.length):t.length,s=r;s<c;s+=n)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}})();var A=8192,re=`__$json__:`;function ie(e){return e instanceof Error?e:Error(typeof e==`string`?e:String(e))}function ae(e){if(e<=0)return 0;if(e>=1)return 1;let t=e*e,n=t*e;return 4*(e<.5?n:3*(e-t)+n-.75)}function oe(e,t,n,r){return u(e,t,n,r)}oe(.25,.1,.25,1);function se(e,t,n){return Math.min(n,Math.max(t,e))}function ce(e,t,n){let r=n-t,i=((e-t)%r+r)%r+t;return i===t?n:i}function le(e,...t){for(let n of t)for(let t in n)e[t]=n[t];return e}function ue(e){return Math.log(e)/Math.LN2%1==0}function de(e,t,n){let r={};for(let i in e)r[i]=t.call(n||this,e[i],i,e);return r}function fe(e,t,n){let r={};for(let i in e)t.call(n||this,e[i],i,e)&&(r[i]=e[i]);return r}function pe(e,t){if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!pe(e[n],t[n]))return!1;return!0}if(typeof e==`object`&&e&&t!==null){if(typeof t!=`object`||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(!pe(e[n],t[n]))return!1;return!0}return e===t}function me(e){return Array.isArray(e)?e.map(me):typeof e==`object`&&e?de(e,me):e}var he={};function j(e){he[e]||(typeof console<`u`&&console.warn(e),he[e]=!0)}function M(e,t,n){return(n.y-e.y)*(t.x-e.x)>(t.y-e.y)*(n.x-e.x)}function ge(e){return typeof WorkerGlobalScope<`u`&&e!==void 0&&e instanceof WorkerGlobalScope}function N(e){return typeof ImageBitmap<`u`&&e instanceof ImageBitmap}function _e(e,t,n,r,i){let a=Math.max(-t,0)*4,o=(Math.max(0,n)-n)*r*4+a,s=r*4,c=Math.max(0,t),l=Math.max(0,n),u=Math.min(e.width,t+r),d=Math.min(e.height,n+i);return{rect:{x:c,y:l,width:u-c,height:d-l},layout:[{offset:o,stride:s}]}}async function ve(e,t,n,r,i){if(typeof VideoFrame>`u`)throw Error(`VideoFrame not supported`);let a=new VideoFrame(e,{timestamp:0});try{let o=a?.format;if(!o||!(o.startsWith(`BGR`)||o.startsWith(`RGB`)))throw Error(`Unrecognized format ${o}`);let s=o.startsWith(`BGR`),c=new Uint8ClampedArray(r*i*4);if(await a.copyTo(c,_e(e,t,n,r,i)),s)for(let e=0;e<c.length;e+=4){let t=c[e];c[e]=c[e+2],c[e+2]=t}return c}finally{a.close()}}var ye,be;function xe(e,t,n,r,i){let a=e.width,o=e.height;(!ye||!be)&&(ye=new OffscreenCanvas(a,o),be=ye.getContext(`2d`,{willReadFrequently:!0})),ye.width=a,ye.height=o,be.drawImage(e,0,0,a,o);let s=be.getImageData(t,n,r,i);return be.clearRect(0,0,a,o),s.data}async function Se(e,t,n,r,i){if(m())try{return await ve(e,t,n,r,i)}catch{}return xe(e,t,n,r,i)}function Ce(e,t,n,r){return e.addEventListener(t,n,r),{unsubscribe:()=>{e.removeEventListener(t,n,r)}}}function we(e){return e*Math.PI/180}var Te=`AbortError`,Ee=class extends Error{constructor(e=Te){super(e instanceof Error?e.message:e),this.name=Te,e instanceof Error&&e.stack&&(this.stack=e.stack)}};function De(e){return e instanceof Error&&e.name===`AbortError`}function Oe(e){if(e.aborted)throw new Ee(e.reason)}var ke={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:``};function Ae(e){return ke.REGISTERED_PROTOCOLS[e.substring(0,e.indexOf(`://`))]}function je(e,t){ke.REGISTERED_PROTOCOLS[e]=t}function Me(e){delete ke.REGISTERED_PROTOCOLS[e]}var Ne=`global-dispatcher`,Pe=class extends Error{constructor(e,t,n,r){super(`AJAXError: ${t} (${e}): ${n}`),this.status=e,this.statusText=t,this.url=n,this.body=r}};function Fe(){if(ge(self))return self.worker?.referrer;if(window.location.protocol===`blob:`)try{return window.parent.location.href}catch{}return window.location.href}var Ie=e=>e.startsWith(`file:`)||Fe()?.startsWith(`file:`)&&!/^\\w+:/.test(e);async function Le(e,t){let n=new Request(e.url,{method:e.method||`GET`,body:e.body,credentials:e.credentials,headers:e.headers,cache:e.cache,referrer:Fe(),referrerPolicy:e.referrerPolicy,signal:t.signal});e.type===`json`&&!n.headers.has(`Accept`)&&n.headers.set(`Accept`,`application/json`);let r;try{r=await fetch(n)}catch(t){throw De(t)?t:new Pe(0,ie(t).message,e.url,new Blob)}if(!r.ok){let t=await r.blob();throw new Pe(r.status,r.statusText,e.url,t)}let i;i=e.type===`arrayBuffer`||e.type===`image`?r.arrayBuffer():e.type===`json`?r.json():r.text();let a=await i;return Oe(t.signal),{data:a,cacheControl:r.headers.get(`Cache-Control`),expires:r.headers.get(`Expires`),etag:r.headers.get(`ETag`)}}function Re(e,t){return new Promise((n,r)=>{let i=new XMLHttpRequest;i.open(e.method||`GET`,e.url,!0),(e.type===`arrayBuffer`||e.type===`image`)&&(i.responseType=`arraybuffer`);for(let t in e.headers)i.setRequestHeader(t,e.headers[t]);e.type===`json`&&(i.responseType=`text`,e.headers?.Accept||i.setRequestHeader(`Accept`,`application/json`)),i.withCredentials=e.credentials===`include`,i.onerror=()=>{r(Error(i.statusText))},i.onload=()=>{if(!t.signal.aborted){if((i.status>=200&&i.status<300||i.status===0)&&i.response!==null){let t=i.response;if(e.type===`json`)try{t=JSON.parse(i.response)}catch(e){r(e);return}n({data:t,cacheControl:i.getResponseHeader(`Cache-Control`),expires:i.getResponseHeader(`Expires`),etag:i.getResponseHeader(`ETag`)})}else{let t=new Blob([i.response],{type:i.getResponseHeader(`Content-Type`)});r(new Pe(i.status,i.statusText,e.url,t))}}},t.signal.addEventListener(`abort`,()=>{i.abort(),r(new Ee(t.signal.reason))}),i.send(e.body)})}var ze=async function(e,t){if(e.url.includes(`://`)&&!/^https?:|^file:/.test(e.url)){let n=Ae(e.url);if(n){let r=await n(e,t);return!r.data&&e.type===`arrayBuffer`?le(r,{data:new ArrayBuffer(0)}):r}if(ge(self)&&self.worker?.actor)return self.worker.actor.sendAsync({type:`GR`,data:e,targetMapId:Ne},t)}if(!Ie(e.url)){if(fetch&&Request&&AbortController&&Object.hasOwn(Request.prototype,`signal`))return Le(e,t);if(ge(self)&&self.worker?.actor)return self.worker.actor.sendAsync({type:`GR`,data:e,mustQueue:!0,targetMapId:Ne},t)}return Re(e,t)},Be=(e,t)=>ze(le(e,{type:`json`}),t),Ve=(e,t)=>ze(le(e,{type:`arrayBuffer`}),t);function He(e,t,n){n[e]?.includes(t)||(n[e]||=[],n[e].push(t))}function Ue(e,t,n){if(n?.[e]){let r=n[e].indexOf(t);r!==-1&&n[e].splice(r,1)}}var We=class{constructor(e,t={}){le(this,t),this.type=e}},Ge=class extends We{constructor(e,t={}){super(`error`,le({error:e},t))}},Ke=class{on(e,t){return this._listeners||={},He(e,t,this._listeners),{unsubscribe:()=>{this.off(e,t)}}}off(e,t){return Ue(e,t,this._listeners),Ue(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners||={},He(e,t,this._oneTimeListeners),this):new Promise(t=>this.once(e,t))}fire(e,t){let n=typeof e==`string`?new We(e,t||{}):e,r=n.type;if(this.listens(r)){n.target=this;let e=this._listeners?.[r]?.slice()??[];for(let t of e)t.call(this,n);let t=this._oneTimeListeners?.[r]?.slice()??[];for(let e of t)Ue(r,e,this._oneTimeListeners),e.call(this,n);let i=this._eventedParent;i&&(le(n,typeof this._eventedParentData==`function`?this._eventedParentData():this._eventedParentData),i.fire(n))}else n instanceof Ge&&console.error(n.error);return this}listens(e){return!!(this._listeners?.[e]?.length||this._oneTimeListeners?.[e]?.length||this._eventedParent?.listens(e))}setEventedParent(e,t){return this._eventedParent=e,this._eventedParentData=t,this}},qe={$version:8,$root:{version:{required:!0,type:`enum`,values:[8]},name:{type:`string`},metadata:{type:`*`},center:{type:`array`,value:`number`,length:2},centerAltitude:{type:`number`},zoom:{type:`number`},bearing:{type:`number`,default:0,period:360,units:`degrees`},pitch:{type:`number`,default:0,units:`degrees`},roll:{type:`number`,default:0,units:`degrees`},state:{type:`state`,default:{}},light:{type:`light`},sky:{type:`sky`},projection:{type:`projection`},terrain:{type:`terrain`},sources:{required:!0,type:`sources`},sprite:{type:`sprite`},glyphs:{type:`string`},\"font-faces\":{type:`fontFaces`},transition:{type:`transition`},layers:{required:!0,type:`array`,value:`layer`}},sources:{\"*\":{type:`source`}},source:[`source_vector`,`source_raster`,`source_raster_dem`,`source_geojson`,`source_video`,`source_image`],source_vector:{type:{required:!0,type:`enum`,values:{vector:{}}},url:{type:`string`},tiles:{type:`array`,value:`string`},bounds:{type:`array`,value:`number`,length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:`enum`,values:{xyz:{},tms:{}},default:`xyz`},minzoom:{type:`number`,default:0},maxzoom:{type:`number`,default:22},attribution:{type:`string`},promoteId:{type:`promoteId`},volatile:{type:`boolean`,default:!1},encoding:{type:`enum`,values:{mvt:{},mlt:{}},default:`mvt`},\"*\":{type:`*`}},source_raster:{type:{required:!0,type:`enum`,values:{raster:{}}},url:{type:`string`},tiles:{type:`array`,value:`string`},bounds:{type:`array`,value:`number`,length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:`number`,default:0},maxzoom:{type:`number`,default:22},tileSize:{type:`number`,default:512,units:`pixels`},scheme:{type:`enum`,values:{xyz:{},tms:{}},default:`xyz`},attribution:{type:`string`},volatile:{type:`boolean`,default:!1},\"*\":{type:`*`}},source_raster_dem:{type:{required:!0,type:`enum`,values:{\"raster-dem\":{}}},url:{type:`string`},tiles:{type:`array`,value:`string`},bounds:{type:`array`,value:`number`,length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:`number`,default:0},maxzoom:{type:`number`,default:22},tileSize:{type:`number`,default:512,units:`pixels`},attribution:{type:`string`},encoding:{type:`enum`,values:{terrarium:{},mapbox:{},custom:{}},default:`mapbox`},redFactor:{type:`number`,default:1},blueFactor:{type:`number`,default:1},greenFactor:{type:`number`,default:1},baseShift:{type:`number`,default:0},volatile:{type:`boolean`,default:!1},\"*\":{type:`*`}},source_geojson:{type:{required:!0,type:`enum`,values:{geojson:{}}},data:{required:!0,type:`*`},maxzoom:{type:`number`,default:18},attribution:{type:`string`},buffer:{type:`number`,default:128,maximum:512,minimum:0},filter:{type:`filter`},tolerance:{type:`number`,default:.375},cluster:{type:`boolean`,default:!1},clusterRadius:{type:`number`,default:50,minimum:0},clusterMaxZoom:{type:`number`},clusterMinPoints:{type:`number`},clusterProperties:{type:`*`},lineMetrics:{type:`boolean`,default:!1},generateId:{type:`boolean`,default:!1},promoteId:{type:`promoteId`}},source_video:{type:{required:!0,type:`enum`,values:{video:{}}},urls:{required:!0,type:`array`,value:`string`},coordinates:{required:!0,type:`array`,length:4,value:{type:`array`,length:2,value:`number`}}},source_image:{type:{required:!0,type:`enum`,values:{image:{}}},url:{type:`string`},coordinates:{required:!0,type:`array`,length:4,value:{type:`array`,length:2,value:`number`}}},layer:{id:{type:`string`,required:!0},type:{type:`enum`,values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},\"color-relief\":{},background:{}},required:!0},metadata:{type:`*`},source:{type:`string`},\"source-layer\":{type:`string`},minzoom:{type:`number`,minimum:0,maximum:24},maxzoom:{type:`number`,minimum:0,maximum:24},filter:{type:`filter`},layout:{type:`layout`},paint:{type:`paint`}},layout:[`layout_fill`,`layout_line`,`layout_circle`,`layout_heatmap`,`layout_fill-extrusion`,`layout_symbol`,`layout_raster`,`layout_hillshade`,`layout_color-relief`,`layout_background`],layout_background:{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},\"property-type\":`data-constant`}},layout_fill:{\"fill-sort-key\":{type:`number`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},\"property-type\":`data-constant`}},layout_circle:{\"circle-sort-key\":{type:`number`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},\"property-type\":`data-constant`}},layout_heatmap:{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},\"property-type\":`data-constant`}},\"layout_fill-extrusion\":{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},\"property-type\":`data-constant`},\"fill-extrusion-rounded-corner-distance\":{type:`number`,default:0,minimum:0,units:`meters`,\"property-type\":`constant`}},layout_line:{\"line-cap\":{type:`enum`,values:{butt:{},round:{},square:{}},default:`butt`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"line-join\":{type:`enum`,values:{bevel:{},round:{},miter:{}},default:`miter`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"line-miter-limit\":{type:`number`,default:2,requires:[{\"line-join\":`miter`}],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"line-round-limit\":{type:`number`,default:1.05,requires:[{\"line-join\":`round`}],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"line-sort-key\":{type:`number`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},\"property-type\":`data-constant`}},layout_symbol:{\"symbol-placement\":{type:`enum`,values:{point:{},line:{},\"line-center\":{}},default:`point`,expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"symbol-spacing\":{type:`number`,default:250,minimum:1,units:`pixels`,requires:[{\"symbol-placement\":`line`}],expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"symbol-avoid-edges\":{type:`boolean`,default:!1,expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"symbol-sort-key\":{type:`number`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"symbol-z-order\":{type:`enum`,values:{auto:{},\"viewport-y\":{},source:{}},default:`auto`,expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"icon-allow-overlap\":{type:`boolean`,default:!1,requires:[`icon-image`,{\"!\":`icon-overlap`}],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"icon-overlap\":{type:`enum`,values:{never:{},always:{},cooperative:{}},requires:[`icon-image`],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"icon-ignore-placement\":{type:`boolean`,default:!1,requires:[`icon-image`],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"icon-optional\":{type:`boolean`,default:!1,requires:[`icon-image`,`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"icon-rotation-alignment\":{type:`enum`,values:{map:{},viewport:{},auto:{}},default:`auto`,requires:[`icon-image`],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"icon-size\":{type:`number`,default:1,minimum:0,units:`factor of the original icon size`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"icon-text-fit\":{type:`enum`,values:{none:{},width:{},height:{},both:{}},default:`none`,requires:[`icon-image`,`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"icon-text-fit-padding\":{type:`array`,value:`number`,length:4,default:[0,0,0,0],units:`pixels`,requires:[`icon-image`,`text-field`,{\"icon-text-fit\":[`both`,`width`,`height`]}],expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"icon-image\":{type:`resolvedImage`,tokens:!0,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"icon-rotate\":{type:`number`,default:0,period:360,units:`degrees`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"icon-padding\":{type:`padding`,default:[2],units:`pixels`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"icon-keep-upright\":{type:`boolean`,default:!1,requires:[`icon-image`,{\"icon-rotation-alignment\":`map`},{\"symbol-placement\":[`line`,`line-center`]}],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"icon-offset\":{type:`array`,value:`number`,length:2,default:[0,0],requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"icon-anchor\":{type:`enum`,values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:`center`,requires:[`icon-image`],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"icon-pitch-alignment\":{type:`enum`,values:{map:{},viewport:{},auto:{}},default:`auto`,requires:[`icon-image`],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"text-pitch-alignment\":{type:`enum`,values:{map:{},viewport:{},auto:{}},default:`auto`,requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"text-rotation-alignment\":{type:`enum`,values:{map:{},viewport:{},\"viewport-glyph\":{},auto:{}},default:`auto`,requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"text-field\":{type:`formatted`,default:``,tokens:!0,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"text-font\":{type:`array`,value:`string`,default:[`Open Sans Regular`,`Arial Unicode MS Regular`],requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"text-size\":{type:`number`,default:16,minimum:0,units:`pixels`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"text-max-width\":{type:`number`,default:10,minimum:0,units:`ems`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"text-line-height\":{type:`number`,default:1.2,units:`ems`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"text-letter-spacing\":{type:`number`,default:0,units:`ems`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"text-justify\":{type:`enum`,values:{auto:{},left:{},center:{},right:{}},default:`center`,requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"text-radial-offset\":{type:`number`,units:`ems`,default:0,requires:[`text-field`],\"property-type\":`data-driven`,expression:{interpolated:!0,parameters:[`zoom`,`feature`]}},\"text-variable-anchor\":{type:`array`,value:`enum`,values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[`text-field`,{\"symbol-placement\":[`point`]}],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"text-variable-anchor-offset\":{type:`variableAnchorOffsetCollection`,requires:[`text-field`,{\"symbol-placement\":[`point`]}],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"text-anchor\":{type:`enum`,values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:`center`,requires:[`text-field`,{\"!\":`text-variable-anchor`}],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"text-max-angle\":{type:`number`,default:45,units:`degrees`,requires:[`text-field`,{\"symbol-placement\":[`line`,`line-center`]}],expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"text-writing-mode\":{type:`array`,value:`enum`,values:{horizontal:{},vertical:{}},requires:[`text-field`,{\"symbol-placement\":[`point`]}],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"text-rotate\":{type:`number`,default:0,period:360,units:`degrees`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"text-padding\":{type:`number`,default:2,minimum:0,units:`pixels`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"text-keep-upright\":{type:`boolean`,default:!0,requires:[`text-field`,{\"text-rotation-alignment\":`map`},{\"symbol-placement\":[`line`,`line-center`]}],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"text-transform\":{type:`enum`,values:{none:{},uppercase:{},lowercase:{}},default:`none`,requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"text-offset\":{type:`array`,value:`number`,units:`ems`,length:2,default:[0,0],requires:[`text-field`,{\"!\":`text-radial-offset`}],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"text-allow-overlap\":{type:`boolean`,default:!1,requires:[`text-field`,{\"!\":`text-overlap`}],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"text-overlap\":{type:`enum`,values:{never:{},always:{},cooperative:{}},requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"text-ignore-placement\":{type:`boolean`,default:!1,requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"text-optional\":{type:`boolean`,default:!1,requires:[`text-field`,`icon-image`],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"symbol-height-offset\":{type:`number`,default:0,units:`meters`,requires:[{\"symbol-placement\":[`point`]}],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},\"symbol-height-anchor\":{type:`enum`,values:{ground:{},absolute:{}},default:`ground`,requires:[`symbol-height-offset`],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},\"property-type\":`data-constant`}},layout_raster:{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},\"property-type\":`data-constant`}},layout_hillshade:{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},\"property-type\":`data-constant`}},\"layout_color-relief\":{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},\"property-type\":`data-constant`}},filter:{type:`boolean`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},\"property-type\":`data-driven`},filter_operator:{type:`enum`,values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{}}},geometry_type:{type:`enum`,values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:`expression`},stops:{type:`array`,value:`function_stop`},base:{type:`number`,default:1,minimum:0},property:{type:`string`,default:`$zoom`},type:{type:`enum`,values:{identity:{},exponential:{},interval:{},categorical:{}},default:`exponential`},colorSpace:{type:`enum`,values:{rgb:{},lab:{},hcl:{}},default:`rgb`},default:{type:`*`,required:!1}},function_stop:{type:`array`,minimum:0,maximum:24,value:[`number`,`color`],length:2},expression:{type:`array`,value:`expression_name`,minimum:1},light:{anchor:{type:`enum`,default:`viewport`,values:{map:{},viewport:{}},\"property-type\":`data-constant`,transition:!1,expression:{interpolated:!1,parameters:[`zoom`]}},position:{type:`array`,default:[1.15,210,30],length:3,value:`number`,\"property-type\":`data-constant`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]}},color:{type:`color`,\"property-type\":`data-constant`,default:`#ffffff`,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},intensity:{type:`number`,\"property-type\":`data-constant`,default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0}},sky:{\"sky-color\":{type:`color`,\"property-type\":`data-constant`,default:`#88C6FC`,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},\"horizon-color\":{type:`color`,\"property-type\":`data-constant`,default:`#ffffff`,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},\"fog-color\":{type:`color`,\"property-type\":`data-constant`,default:`#ffffff`,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},\"fog-ground-blend\":{type:`number`,\"property-type\":`data-constant`,default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},\"horizon-fog-blend\":{type:`number`,\"property-type\":`data-constant`,default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},\"sky-horizon-blend\":{type:`number`,\"property-type\":`data-constant`,default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},\"atmosphere-blend\":{type:`number`,\"property-type\":`data-constant`,default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0}},terrain:{source:{type:`string`,required:!0},exaggeration:{type:`number`,minimum:0,default:1}},projection:{type:{type:`projectionDefinition`,default:`mercator`,\"property-type\":`data-constant`,transition:!1,expression:{interpolated:!0,parameters:[`zoom`]}}},paint:[`paint_fill`,`paint_line`,`paint_circle`,`paint_heatmap`,`paint_fill-extrusion`,`paint_symbol`,`paint_raster`,`paint_hillshade`,`paint_color-relief`,`paint_background`],paint_fill:{\"fill-antialias\":{type:`boolean`,default:!0,expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"fill-opacity\":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"fill-layer-opacity\":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`global-state`]},\"property-type\":`data-constant`},\"fill-color\":{type:`color`,default:`#000000`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"fill-outline-color\":{type:`color`,transition:!0,requires:[{\"!\":`fill-pattern`},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"fill-translate\":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"fill-translate-anchor\":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`fill-translate`],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"fill-pattern\":{type:`resolvedImage`,transition:!0,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},\"property-type\":`cross-faded-data-driven`}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"fill-extrusion-color\":{type:`color`,default:`#000000`,transition:!0,requires:[{\"!\":`fill-extrusion-pattern`}],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"fill-extrusion-translate\":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"fill-extrusion-translate-anchor\":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`fill-extrusion-translate`],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"fill-extrusion-pattern\":{type:`resolvedImage`,transition:!0,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},\"property-type\":`cross-faded-data-driven`},\"fill-extrusion-height\":{type:`number`,default:0,units:`meters`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"fill-extrusion-base\":{type:`number`,default:0,units:`meters`,transition:!0,requires:[`fill-extrusion-height`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"fill-extrusion-vertical-gradient\":{type:`boolean`,default:!0,transition:!1,expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`}},paint_line:{\"line-opacity\":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"line-layer-opacity\":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`global-state`]},\"property-type\":`data-constant`},\"line-color\":{type:`color`,default:`#000000`,transition:!0,requires:[{\"!\":`line-pattern`}],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"line-translate\":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"line-translate-anchor\":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`line-translate`],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"line-width\":{type:`number`,default:1,minimum:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"line-gap-width\":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"line-offset\":{type:`number`,default:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"line-blur\":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"line-dasharray\":{type:`array`,value:`number`,minimum:0,transition:!0,units:`line widths`,requires:[{\"!\":`line-pattern`}],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},\"property-type\":`cross-faded-data-driven`},\"line-pattern\":{type:`resolvedImage`,transition:!0,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},\"property-type\":`cross-faded-data-driven`},\"line-gradient\":{type:`color`,transition:!1,requires:[{\"!\":`line-dasharray`},{\"!\":`line-pattern`},{source:`geojson`,has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[`line-progress`]},\"property-type\":`color-ramp`}},paint_circle:{\"circle-radius\":{type:`number`,default:5,minimum:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"circle-color\":{type:`color`,default:`#000000`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"circle-blur\":{type:`number`,default:0,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"circle-opacity\":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"circle-translate\":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"circle-translate-anchor\":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`circle-translate`],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"circle-pitch-scale\":{type:`enum`,values:{map:{},viewport:{}},default:`map`,expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"circle-pitch-alignment\":{type:`enum`,values:{map:{},viewport:{}},default:`viewport`,expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"circle-stroke-width\":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"circle-stroke-color\":{type:`color`,default:`#000000`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"circle-stroke-opacity\":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`}},paint_heatmap:{\"heatmap-radius\":{type:`number`,default:30,minimum:1,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"heatmap-weight\":{type:`number`,default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"heatmap-intensity\":{type:`number`,default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"heatmap-color\":{type:`color`,default:[`interpolate`,[`linear`],[`heatmap-density`],0,`rgba(0, 0, 255, 0)`,.1,`royalblue`,.3,`cyan`,.5,`lime`,.7,`yellow`,1,`red`],transition:!1,expression:{interpolated:!0,parameters:[`heatmap-density`]},\"property-type\":`color-ramp`},\"heatmap-opacity\":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`}},paint_symbol:{\"icon-opacity\":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"icon-color\":{type:`color`,default:`#000000`,transition:!0,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"icon-halo-color\":{type:`color`,default:`rgba(0, 0, 0, 0)`,transition:!0,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"icon-halo-width\":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"icon-halo-blur\":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"icon-translate\":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"icon-translate-anchor\":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`icon-image`,`icon-translate`],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"text-opacity\":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"text-color\":{type:`color`,default:`#000000`,transition:!0,overridable:!0,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"text-halo-color\":{type:`color`,default:`rgba(0, 0, 0, 0)`,transition:!0,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"text-halo-width\":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"text-halo-blur\":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},\"property-type\":`data-driven`},\"text-translate\":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"text-translate-anchor\":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`text-field`,`text-translate`],expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`}},paint_raster:{\"raster-opacity\":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"raster-hue-rotate\":{type:`number`,default:0,period:360,transition:!0,units:`degrees`,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"raster-brightness-min\":{type:`number`,default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"raster-brightness-max\":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"raster-saturation\":{type:`number`,default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"raster-contrast\":{type:`number`,default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},resampling:{type:`enum`,values:{linear:{},nearest:{}},default:`linear`,expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"raster-resampling\":{type:`enum`,values:{linear:{},nearest:{}},default:`linear`,expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"raster-fade-duration\":{type:`number`,default:300,minimum:0,transition:!1,units:`milliseconds`,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`}},paint_hillshade:{\"hillshade-illumination-direction\":{type:`numberArray`,default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"hillshade-illumination-altitude\":{type:`numberArray`,default:45,minimum:0,maximum:90,transition:!1,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"hillshade-illumination-anchor\":{type:`enum`,values:{map:{},viewport:{}},default:`viewport`,expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},\"hillshade-exaggeration\":{type:`number`,default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"hillshade-shadow-color\":{type:`colorArray`,default:`#000000`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"hillshade-highlight-color\":{type:`colorArray`,default:`#FFFFFF`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"hillshade-accent-color\":{type:`color`,default:`#000000`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"hillshade-method\":{type:`enum`,values:{standard:{},basic:{},combined:{},igor:{},multidirectional:{}},default:`standard`,expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`},resampling:{type:`enum`,values:{linear:{},nearest:{}},default:`linear`,expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`}},\"paint_color-relief\":{\"color-relief-opacity\":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"color-relief-color\":{type:`color`,transition:!1,expression:{interpolated:!0,parameters:[`elevation`]},\"property-type\":`color-ramp`},resampling:{type:`enum`,values:{linear:{},nearest:{}},default:`linear`,expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`data-constant`}},paint_background:{\"background-color\":{type:`color`,default:`#000000`,transition:!0,requires:[{\"!\":`background-pattern`}],expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`},\"background-pattern\":{type:`resolvedImage`,transition:!0,expression:{interpolated:!1,parameters:[`zoom`]},\"property-type\":`cross-faded`},\"background-opacity\":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},\"property-type\":`data-constant`}},transition:{duration:{type:`number`,default:300,minimum:0,units:`milliseconds`},delay:{type:`number`,default:0,minimum:0,units:`milliseconds`}},\"property-type\":{\"data-driven\":{type:`property-type`},\"cross-faded\":{type:`property-type`},\"cross-faded-data-driven\":{type:`property-type`},\"color-ramp\":{type:`property-type`},\"data-constant\":{type:`property-type`},constant:{type:`property-type`}},promoteId:{\"*\":{type:`string`}},interpolation:{type:`array`,value:`interpolation_name`,minimum:1},interpolation_name:{type:`enum`,values:{linear:{syntax:{overloads:[{parameters:[],\"output-type\":`interpolation`}],parameters:[]}},exponential:{syntax:{overloads:[{parameters:[`base`],\"output-type\":`interpolation`}],parameters:[{name:`base`,type:`number literal`}]}},\"cubic-bezier\":{syntax:{overloads:[{parameters:[`x1`,`y1`,`x2`,`y2`],\"output-type\":`interpolation`}],parameters:[{name:`x1`,type:`number literal`},{name:`y1`,type:`number literal`},{name:`x2`,type:`number literal`},{name:`y2`,type:`number literal`}]}}}}},P=qe,Je=[`type`,`source`,`source-layer`,`minzoom`,`maxzoom`,`filter`,`layout`],F=class{constructor(e,t,n,r,i=`error`){this.message=(e?`${e}: `:``)+n,r&&(this.identifier=r),this.severity=i,t!=null&&t.__line__&&(this.line=t.__line__)}},Ye={kind:`null`},I={kind:`number`},L={kind:`string`},R={kind:`boolean`},Xe={kind:`color`},Ze={kind:`projectionDefinition`},Qe={kind:`object`},z={kind:`value`},$e={kind:`error`},et={kind:`collator`},tt={kind:`formatted`},nt={kind:`padding`},rt={kind:`colorArray`},it={kind:`numberArray`},at={kind:`resolvedImage`},ot={kind:`variableAnchorOffsetCollection`};function st(e,t){return{kind:`array`,itemType:e,N:t}}function B(e){if(e.kind===`array`){let t=B(e.itemType);return typeof e.N==`number`?`array<${t}, ${e.N}>`:e.itemType.kind===`value`?`array`:`array<${t}>`}return e.kind}var ct=[Ye,I,L,R,Xe,Ze,tt,Qe,st(z),nt,it,rt,at,ot];function lt(e,t){if(t.kind===`error`)return null;if(e.kind===`array`){if(t.kind===`array`&&(t.N===0&&t.itemType.kind===`value`||!lt(e.itemType,t.itemType))&&(typeof e.N!=`number`||e.N===t.N))return null}else if(e.kind===t.kind)return null;else if(e.kind===`value`){for(let e of ct)if(!lt(e,t))return null}return`Expected ${B(e)} but found ${B(t)} instead.`}function ut(e,t){return t.some(t=>t.kind===e.kind)}function dt(e,t){return t.some(t=>t===`null`?e===null:t===`array`?Array.isArray(e):t===`object`?e&&!Array.isArray(e)&&typeof e==`object`:t===typeof e)}function ft(e,t){return e.kind===`array`&&t.kind===`array`?e.itemType.kind===t.itemType.kind&&typeof e.N==`number`:e.kind===t.kind}var pt=.96422,mt=.82521,ht=4/29,gt=6/29,_t=3*gt*gt,vt=Math.PI/180,yt=180/Math.PI;function bt(e){return e%=360,e<0&&(e+=360),e}function xt([e,t,n,r]){e=St(e),t=St(t),n=St(n);let i,a,o=Ct((.2225045*e+.7168786*t+.0606169*n)/1);e===t&&t===n?i=a=o:(i=Ct((.4360747*e+.3850649*t+.1430804*n)/pt),a=Ct((.0139322*e+.0971045*t+.7141733*n)/mt));let s=116*o-16;return[s<0?0:s,500*(i-o),200*(o-a),r]}function St(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function Ct(e){return e>.008856451679035631?e**(1/3):e/_t+ht}function wt([e,t,n,r]){let i=(e+16)/116,a=isNaN(t)?i:i+t/500,o=isNaN(n)?i:i-n/200;return i=1*Et(i),a=pt*Et(a),o=mt*Et(o),[Tt(3.1338561*a-1.6168667*i-.4906146*o),Tt(-.9787684*a+1.9161415*i+.033454*o),Tt(.0719453*a-.2289914*i+1.4052427*o),r]}function Tt(e){return e=e<=.00304?12.92*e:1.055*e**(1/2.4)-.055,e<0?0:e>1?1:e}function Et(e){return e>gt?e*e*e:_t*(e-ht)}function Dt(e){let[t,n,r,i]=xt(e),a=Math.sqrt(n*n+r*r);return[Math.round(a*1e4)?bt(Math.atan2(r,n)*yt):NaN,a,t,i]}function Ot([e,t,n,r]){return e=isNaN(e)?0:e*vt,wt([n,Math.cos(e)*t,Math.sin(e)*t,r])}function kt([e,t,n,r]){e=bt(e),t/=100,n/=100;function i(r){let i=(r+e/30)%12,a=t*Math.min(n,1-n);return n-a*Math.max(-1,Math.min(i-3,9-i,1))}return[i(0),i(8),i(4),r]}var At=Object.hasOwn||function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};function jt(e,t){return At(e,t)?e[t]:void 0}function Mt(e){if(e=e.toLowerCase().trim(),e===`transparent`)return[0,0,0,0];let t=jt(Lt,e);if(t){let[e,n,r]=t;return[e/255,n/255,r/255,1]}if(e.startsWith(`#`)&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(e)){let t=e.length<6?1:2,n=1;return[Nt(e.slice(n,n+=t)),Nt(e.slice(n,n+=t)),Nt(e.slice(n,n+=t)),Nt(e.slice(n,n+t)||`ff`)]}if(e.startsWith(`rgb`)){let t=e.match(/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(t){let[e,n,r,i,a,o,s,c,l,u,d,f]=t,p=[i||` `,s||` `,u].join(``);if(p===` `||p===` /`||p===`,,`||p===`,,,`){let e=[r,o,l].join(``),t=e===`%%%`?100:e===``?255:0;if(t){let e=[Ft(+n/t,0,1),Ft(+a/t,0,1),Ft(+c/t,0,1),d?Pt(+d,f):1];if(It(e))return e}}return}}let n=e.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(n){let[e,t,r,i,a,o,s,c,l]=n,u=[r||` `,a||` `,s].join(``);if(u===` `||u===` /`||u===`,,`||u===`,,,`){let e=[+t,Ft(+i,0,100),Ft(+o,0,100),c?Pt(+c,l):1];if(It(e))return kt(e)}}}function Nt(e){return parseInt(e.padEnd(2,e),16)/255}function Pt(e,t){return Ft(t?e/100:e,0,1)}function Ft(e,t,n){return Math.min(Math.max(t,e),n)}function It(e){return!e.some(Number.isNaN)}var Lt={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};function Rt(e,t,n){return e+n*(t-e)}function zt(e,t,n){return e.map((e,r)=>Rt(e,t[r],n))}function Bt(e){return e===`rgb`||e===`hcl`||e===`lab`}var V=class e{constructor(e,t,n,r=1,i=!0){this.r=e,this.g=t,this.b=n,this.a=r,i||(this.r*=r,this.g*=r,this.b*=r,r||this.overwriteGetter(`rgb`,[e,t,n,r]))}static{this.black=new e(0,0,0,1)}static{this.white=new e(1,1,1,1)}static{this.transparent=new e(0,0,0,0)}static{this.red=new e(1,0,0,1)}static parse(t){if(t instanceof e)return t;if(typeof t!=`string`)return;let n=Mt(t);if(n)return new e(...n,!1)}get rgb(){let{r:e,g:t,b:n,a:r}=this,i=r||1/0;return this.overwriteGetter(`rgb`,[e/i,t/i,n/i,r])}get hcl(){return this.overwriteGetter(`hcl`,Dt(this.rgb))}get lab(){return this.overwriteGetter(`lab`,xt(this.rgb))}overwriteGetter(e,t){return Object.defineProperty(this,e,{value:t}),t}toString(){let[e,t,n,r]=this.rgb;return`rgba(${[e,t,n].map(e=>Math.round(e*255)).join(`,`)},${r})`}static interpolate(t,n,r,i=`rgb`){switch(i){case`rgb`:{let[i,a,o,s]=zt(t.rgb,n.rgb,r);return new e(i,a,o,s,!1)}case`hcl`:{let[i,a,o,s]=t.hcl,[c,l,u,d]=n.hcl,f,p;if(!isNaN(i)&&!isNaN(c)){let e=c-i;c>i&&e>180?e-=360:c<i&&i-c>180&&(e+=360),f=i+r*e}else isNaN(i)?isNaN(c)?f=NaN:(f=c,(o===1||o===0)&&(p=l)):(f=i,(u===1||u===0)&&(p=a));let[m,h,g,_]=Ot([f,p??Rt(a,l,r),Rt(o,u,r),Rt(s,d,r)]);return new e(m,h,g,_,!1)}case`lab`:{let[i,a,o,s]=wt(zt(t.lab,n.lab,r));return new e(i,a,o,s,!1)}}}},Vt=[`bottom`,`center`,`top`],Ht=class{constructor(e,t,n,r,i,a){this.text=e,this.image=t,this.scale=n,this.fontStack=r,this.textColor=i,this.verticalAlign=a}},Ut=class e{constructor(e){this.sections=e}static fromString(t){return new e([new Ht(t,null,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(e=>e.text.length!==0||e.image&&e.image.name.length!==0)}static factory(t){return t instanceof e?t:e.fromString(t)}toString(){return this.sections.length===0?``:this.sections.map(e=>e.text).join(``)}},Wt=class e{constructor(e){this.values=e.slice()}static parse(t){if(t instanceof e)return t;if(typeof t==`number`)return new e([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(let e of t)if(typeof e!=`number`)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new e(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,n,r){return new e(zt(t.values,n.values,r))}},Gt=class e{constructor(e){this.values=e.slice()}static parse(t){if(t instanceof e)return t;if(typeof t==`number`)return new e([t]);if(Array.isArray(t)){for(let e of t)if(typeof e!=`number`)return;return new e(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,n,r){return new e(zt(t.values,n.values,r))}},Kt=class e{constructor(e){this.values=e.slice()}static parse(t){if(t instanceof e)return t;if(typeof t==`string`){let n=V.parse(t);return n?new e([n]):void 0}if(!Array.isArray(t))return;let n=[];for(let e of t){if(typeof e!=`string`)return;let t=V.parse(e);if(!t)return;n.push(t)}return new e(n)}toString(){return JSON.stringify(this.values)}static interpolate(t,n,r,i=`rgb`){let a=[];if(t.values.length!=n.values.length)throw Error(`colorArray: Arrays have mismatched length (${t.values.length} vs. ${n.values.length}), cannot interpolate.`);for(let e=0;e<t.values.length;e++)a.push(V.interpolate(t.values[e],n.values[e],r,i));return new e(a)}},H=class extends Error{constructor(e,t){super(e),this.name=`RuntimeError`,this.path=t}toJSON(){return this.message}},qt=new Set([`center`,`left`,`right`,`top`,`bottom`,`top-left`,`top-right`,`bottom-left`,`bottom-right`]),Jt=class e{constructor(e){this.values=e.slice()}static parse(t){if(t instanceof e)return t;if(!(!Array.isArray(t)||t.length<1||t.length%2!=0)){for(let e=0;e<t.length;e+=2){let n=t[e],r=t[e+1];if(typeof n!=`string`||!qt.has(n)||!Array.isArray(r)||r.length!==2||typeof r[0]!=`number`||typeof r[1]!=`number`)return}return new e(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,n,r,i){let a=t.values,o=n.values;if(a.length!==o.length)throw new H(`Cannot interpolate values of different length. from: ${t.toString()}, to: ${n.toString()}`,i);let s=[];for(let e=0;e<a.length;e+=2){if(a[e]!==o[e])throw new H(`Cannot interpolate values containing mismatched anchors. from[${e}]: ${a[e]}, to[${e}]: ${o[e]}`,i);s.push(a[e]);let[t,n]=a[e+1],[c,l]=o[e+1];s.push([Rt(t,c,r),Rt(n,l,r)])}return new e(s)}},Yt=class e{constructor(e){this.name=e.name,this.available=e.available}toString(){return this.name}static fromString(t){return t?new e({name:t,available:!1}):null}},Xt=class e{constructor(e,t,n){this.from=e,this.to=t,this.transition=n}toString(){return this.from===this.to&&this.transition===1?this.from:JSON.stringify([this.from,this.to,this.transition])}static interpolate(t,n,r){return new e(t,n,r)}static parse(t){if(t instanceof e)return t;if(Array.isArray(t)&&t.length===3&&typeof t[0]==`string`&&typeof t[1]==`string`&&typeof t[2]==`number`)return new e(t[0],t[1],t[2]);if(typeof t==`object`&&typeof t.from==`string`&&typeof t.to==`string`&&typeof t.transition==`number`)return new e(t.from,t.to,t.transition);if(typeof t==`string`)return new e(t,t,1)}},Zt=class{constructor(e,t,n){this.sensitivity=e?t?`variant`:`case`:t?`accent`:`base`,this.locale=n,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:`search`})}compare(e,t){return this.collator.compare(e,t)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}};function Qt(e,t,n,r){return typeof e==`number`&&e>=0&&e<=255&&typeof t==`number`&&t>=0&&t<=255&&typeof n==`number`&&n>=0&&n<=255?r===void 0||typeof r==`number`&&r>=0&&r<=1?null:`Invalid rgba value [${[e,t,n,r].join(`, `)}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof r==`number`?[e,t,n,r]:[e,t,n]).join(`, `)}]: 'r', 'g', and 'b' must be between 0 and 255.`}function $t(e){if(e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`||e instanceof Xt||e instanceof V||e instanceof Zt||e instanceof Ut||e instanceof Wt||e instanceof Gt||e instanceof Kt||e instanceof Jt||e instanceof Yt)return!0;if(Array.isArray(e)){for(let t of e)if(!$t(t))return!1;return!0}if(typeof e==`object`){for(let t in e)if(!$t(e[t]))return!1;return!0}return!1}function en(e){if(e===null)return Ye;if(typeof e==`string`)return L;if(typeof e==`boolean`)return R;if(typeof e==`number`)return I;if(e instanceof V)return Xe;if(e instanceof Xt)return Ze;if(e instanceof Zt)return et;if(e instanceof Ut)return tt;if(e instanceof Wt)return nt;if(e instanceof Gt)return it;if(e instanceof Kt)return rt;if(e instanceof Jt)return ot;if(e instanceof Yt)return at;if(Array.isArray(e)){let t=e.length,n;for(let t of e){let e=en(t);if(!n)n=e;else if(n===e)continue;else{n=z;break}}return st(n||z,t)}return Qe}function tn(e){let t=typeof e;return e===null?``:t===`string`||t===`number`||t===`boolean`?String(e):e instanceof V||e instanceof Xt||e instanceof Ut||e instanceof Wt||e instanceof Gt||e instanceof Kt||e instanceof Jt||e instanceof Yt?e.toString():JSON.stringify(e)}var nn=class e{constructor(e,t){this.type=e,this.value=t}static parse(t,n){if(t.length!==2)return n.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!$t(t[1]))return n.error(`invalid value of type \"${typeof t[1]}\"`);let r=t[1],i=en(r),a=n.expectedType;return i.kind===`array`&&i.N===0&&a&&a.kind===`array`&&(typeof a.N!=`number`||a.N===0)&&(i=a),new e(i,r)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}},rn=[`Unknown`,`Point`,`LineString`,`Polygon`],an=class{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache=new Map,this.availableImages=null,this.canonical=null}id(){return this.feature&&`id`in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type==`number`?rn[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&`geometry`in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(e){let t=this._parseColorCache.get(e);return t||(t=V.parse(e),this._parseColorCache.set(e,t)),t}};function on(e,t,n){let r=e.length-1,i=0,a=r,o=0,s,c;for(;i<=a;)if(o=Math.floor((i+a)/2),s=e[o],c=e[o+1],s<=t){if(o===r||t<c)return o;i=o+1}else if(s>t)a=o-1;else throw new H(`Input is not a number.`,n);return 0}var sn=class e{constructor(e,t,n,r){this.type=e,this.input=t,this.key=r,this.labels=[],this.outputs=[];for(let[e,t]of n)this.labels.push(e),this.outputs.push(t)}static parse(t,n){if(t.length-1<4)return n.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return n.error(`Expected an even number of arguments.`);let r=n.parse(t[1],1,I);if(!r)return null;let i=[],a=null;n.expectedType&&n.expectedType.kind!==`value`&&(a=n.expectedType);for(let e=1;e<t.length;e+=2){let r=e===1?-1/0:t[e],o=t[e+1],s=e,c=e+1;if(typeof r!=`number`)return n.error(`Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.`,s);if(i.length&&i[i.length-1][0]>=r)return n.error(`Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.`,s);let l=n.parse(o,c,a);if(!l)return null;a||=l.type,i.push([r,l])}return new e(a,r,i,n.key)}evaluate(e){let t=this.labels,n=this.outputs;if(t.length===1)return n[0].evaluate(e);let r=this.input.evaluate(e);if(r<=t[0])return n[0].evaluate(e);let i=t.length;return r>=t[i-1]?n[i-1].evaluate(e):n[on(t,r,this.key)].evaluate(e)}eachChild(e){e(this.input);for(let t of this.outputs)e(t)}outputDefined(){return this.outputs.every(e=>e.outputDefined())}};function cn(e,t,n,r){let i=3*e,a=3*(n-e)-i,o=1-i-a,s=3*t,c=3*(r-t)-s,l=1-s-c;return function(e,t=1e-6){if(e<=0)return 0;if(e>=1)return 1;let n=e;for(let r=0;r<8;r++){let r=((o*n+a)*n+i)*n-e;if(Math.abs(r)<t)return((l*n+c)*n+s)*n;let u=(3*o*n+2*a)*n+i;if(Math.abs(u)<1e-6)break;n-=r/u}let r=0,u=1;n=e;for(let s=0;s<20;s++){let s=((o*n+a)*n+i)*n;if(Math.abs(s-e)<t)break;e>s?r=n:u=n,n=(r+u)*.5}return((l*n+c)*n+s)*n}}var ln=class e{constructor(e,t,n,r,i,a){this.type=e,this.operator=t,this.interpolation=n,this.input=r,this.key=a,this.labels=[],this.outputs=[];for(let[e,t]of i)this.labels.push(e),this.outputs.push(t)}static interpolationFactor(e,t,n,r){let i=0;if(e.name===`exponential`)i=un(t,e.base,n,r);else if(e.name===`linear`)i=un(t,1,n,r);else if(e.name===`cubic-bezier`){let a=e.controlPoints;i=cn(a[0],a[1],a[2],a[3])(un(t,1,n,r))}return i}static parse(t,n){let[r,i,a,...o]=t;if(!Array.isArray(i)||i.length===0)return n.error(`Expected an interpolation type expression.`,1);if(i[0]===`linear`)i={name:`linear`};else if(i[0]===`exponential`){let e=i[1];if(typeof e!=`number`)return n.error(`Exponential interpolation requires a numeric base.`,1,1);i={name:`exponential`,base:e}}else if(i[0]===`cubic-bezier`){let e=i.slice(1);if(e.length!==4||e.some(e=>typeof e!=`number`||e<0||e>1))return n.error(`Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.`,1);i={name:`cubic-bezier`,controlPoints:e}}else return n.error(`Unknown interpolation type ${String(i[0])}`,1,0);if(t.length-1<4)return n.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return n.error(`Expected an even number of arguments.`);if(a=n.parse(a,2,I),!a)return null;let s=[],c=null;(r===`interpolate-hcl`||r===`interpolate-lab`)&&n.expectedType!=rt?c=Xe:n.expectedType&&n.expectedType.kind!==`value`&&(c=n.expectedType);for(let e=0;e<o.length;e+=2){let t=o[e],r=o[e+1],i=e+3,a=e+4;if(typeof t!=`number`)return n.error(`Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.`,i);if(s.length&&s[s.length-1][0]>=t)return n.error(`Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.`,i);let l=n.parse(r,a,c);if(!l)return null;c||=l.type,s.push([t,l])}return!ft(c,I)&&!ft(c,Ze)&&!ft(c,Xe)&&!ft(c,nt)&&!ft(c,it)&&!ft(c,rt)&&!ft(c,ot)&&!ft(c,st(I))?n.error(`Type ${B(c)} is not interpolatable.`):new e(c,r,i,a,s,n.key)}evaluate(t){let n=this.labels,r=this.outputs;if(n.length===1)return r[0].evaluate(t);let i=this.input.evaluate(t);if(i<=n[0])return r[0].evaluate(t);let a=n.length;if(i>=n[a-1])return r[a-1].evaluate(t);let o=on(n,i,this.key),s=n[o],c=n[o+1],l=e.interpolationFactor(this.interpolation,i,s,c),u=r[o].evaluate(t),d=r[o+1].evaluate(t);switch(this.operator){case`interpolate`:switch(this.type.kind){case`number`:return Rt(u,d,l);case`color`:return V.interpolate(u,d,l);case`padding`:return Wt.interpolate(u,d,l);case`colorArray`:return Kt.interpolate(u,d,l);case`numberArray`:return Gt.interpolate(u,d,l);case`variableAnchorOffsetCollection`:return Jt.interpolate(u,d,l,this.key);case`array`:return zt(u,d,l);case`projectionDefinition`:return Xt.interpolate(u,d,l)}case`interpolate-hcl`:switch(this.type.kind){case`color`:return V.interpolate(u,d,l,`hcl`);case`colorArray`:return Kt.interpolate(u,d,l,`hcl`)}case`interpolate-lab`:switch(this.type.kind){case`color`:return V.interpolate(u,d,l,`lab`);case`colorArray`:return Kt.interpolate(u,d,l,`lab`)}}}eachChild(e){e(this.input);for(let t of this.outputs)e(t)}outputDefined(){return this.outputs.every(e=>e.outputDefined())}};function un(e,t,n,r){let i=r-n,a=e-n;return i===0?0:t===1?a/i:(t**+a-1)/(t**+i-1)}var dn={color:V.interpolate,number:Rt,padding:Wt.interpolate,numberArray:Gt.interpolate,colorArray:Kt.interpolate,variableAnchorOffsetCollection:Jt.interpolate,array:zt},fn=class e{constructor(e){this.type=tt,this.sections=e}static parse(t,n){if(t.length<2)return n.error(`Expected at least one argument.`);let r=t[1];if(!Array.isArray(r)&&typeof r==`object`)return n.error(`First argument must be an image or text section.`);let i=[],a=!1;for(let e=1;e<=t.length-1;++e){let r=t[e];if(a&&typeof r==`object`&&!Array.isArray(r)){a=!1;let e=null;if(r[`font-scale`]&&(e=n.parse(r[`font-scale`],1,I),!e))return null;let t=null;if(r[`text-font`]&&(t=n.parse(r[`text-font`],1,st(L)),!t))return null;let o=null;if(r[`text-color`]&&(o=n.parse(r[`text-color`],1,Xe),!o))return null;let s=null;if(r[`vertical-align`]){if(typeof r[`vertical-align`]==`string`&&!Vt.includes(r[`vertical-align`]))return n.error(`'vertical-align' must be one of: 'bottom', 'center', 'top' but found '${r[`vertical-align`]}' instead.`);if(s=n.parse(r[`vertical-align`],1,L),!s)return null}let c=i[i.length-1];c.scale=e,c.font=t,c.textColor=o,c.verticalAlign=s}else{let r=n.parse(t[e],1,z);if(!r)return null;let o=r.type.kind;if(o!==`string`&&o!==`value`&&o!==`null`&&o!==`resolvedImage`)return n.error(`Formatted text type must be 'string', 'value', 'image' or 'null'.`);a=!0,i.push({content:r,scale:null,font:null,textColor:null,verticalAlign:null})}}return new e(i)}evaluate(e){return new Ut(this.sections.map(t=>{let n=t.content.evaluate(e);return en(n)===at?new Ht(``,n,null,null,null,t.verticalAlign?t.verticalAlign.evaluate(e):null):new Ht(tn(n),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(`,`):null,t.textColor?t.textColor.evaluate(e):null,t.verticalAlign?t.verticalAlign.evaluate(e):null)}))}eachChild(e){for(let t of this.sections)e(t.content),t.scale&&e(t.scale),t.font&&e(t.font),t.textColor&&e(t.textColor),t.verticalAlign&&e(t.verticalAlign)}outputDefined(){return!1}};function pn(e,t,n=0,r=e.length-1,i=hn){for(;r>n;){if(r-n>600){let a=r-n+1,o=t-n+1,s=Math.log(a),c=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*c*(a-c)/a)*(o-a/2<0?-1:1);pn(e,t,Math.max(n,Math.floor(t-o*c/a+l)),Math.min(r,Math.floor(t+(a-o)*c/a+l)),i)}let a=e[t],o=n,s=r;for(mn(e,n,t),i(e[r],a)>0&&mn(e,n,r);o<s;){for(mn(e,o,s),o++,s--;i(e[o],a)<0;)o++;for(;i(e[s],a)>0;)s--}i(e[n],a)===0?mn(e,n,s):(s++,mn(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}}function mn(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function hn(e,t){return e<t?-1:+(e>t)}function gn(e,t){if(e.length<=1)return[e];let n=[],r,i;for(let t of e){let e=vn(t);e!==0&&(t.area=Math.abs(e),i===void 0&&(i=e<0),i===e<0?(r&&n.push(r),r=[t]):r.push(t))}if(r&&n.push(r),t>1)for(let e=0;e<n.length;e++)n[e].length<=t||(pn(n[e],t,1,n[e].length-1,_n),n[e]=n[e].slice(0,t));return n}function _n(e,t){return t.area-e.area}function vn(e){let t=0;for(let n=0,r=e.length,i=r-1,a,o;n<r;i=n++)a=e[n],o=e[i],t+=(o.x-a.x)*(a.y+o.y);return t}var yn={string:L,number:I,boolean:R,object:Qe},bn=class e{constructor(e,t,n){this.type=e,this.args=t,this.key=n}static parse(t,n){if(t.length<2)return n.error(`Expected at least one argument.`);let r=1,i,a=t[0];if(a===`array`){let e;if(t.length>2){let i=t[1];if(typeof i!=`string`||!(i in yn)||i===`object`)return n.error(`The item type argument of \"array\" must be one of string, number, boolean`,1);e=yn[i],r++}else e=z;let a;if(t.length>3){if(t[2]!==null&&(typeof t[2]!=`number`||t[2]<0||t[2]!==Math.floor(t[2])))return n.error(`The length argument to \"array\" must be a positive integer literal`,2);a=t[2],r++}i=st(e,a)}else{if(!yn[a])throw Error(`Types doesn't contain name = ${a}`);i=yn[a]}let o=[];for(;r<t.length;r++){let e=n.parse(t[r],r,z);if(!e)return null;o.push(e)}return new e(i,o,n.key)}evaluate(e){for(let t=0;t<this.args.length;t++){let n=this.args[t].evaluate(e);if(!lt(this.type,en(n)))return n;if(t===this.args.length-1)throw new H(`Expected value to be of type ${B(this.type)}, but found ${B(en(n))} instead.`,this.key)}throw Error()}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}},xn={\"to-boolean\":R,\"to-color\":Xe,\"to-number\":I,\"to-string\":L},Sn=class e{constructor(e,t,n){this.type=e,this.args=t,this.key=n}static parse(t,n){if(t.length<2)return n.error(`Expected at least one argument.`);let r=t[0];if(!xn[r])throw Error(`Can't parse ${r} as it is not part of the known types`);if((r===`to-boolean`||r===`to-string`)&&t.length!==2)return n.error(`Expected one argument.`);let i=xn[r],a=[];for(let e=1;e<t.length;e++){let r=n.parse(t[e],e,z);if(!r)return null;a.push(r)}return new e(i,a,n.key)}evaluate(e){switch(this.type.kind){case`boolean`:return!!this.args[0].evaluate(e);case`color`:{let t,n;for(let r of this.args){if(t=r.evaluate(e),n=null,t instanceof V)return t;if(typeof t==`string`){let n=e.parseColor(t);if(n)return n}else if(Array.isArray(t)&&(n=t.length<3||t.length>4?`Invalid rgba value ${JSON.stringify(t)}: expected an array containing either three or four numeric values.`:Qt(t[0],t[1],t[2],t[3]),!n))return new V(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new H(n||`Could not parse color from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}case`padding`:{let t;for(let n of this.args){t=n.evaluate(e);let r=Wt.parse(t);if(r)return r}throw new H(`Could not parse padding from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}case`numberArray`:{let t;for(let n of this.args){t=n.evaluate(e);let r=Gt.parse(t);if(r)return r}throw new H(`Could not parse numberArray from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}case`colorArray`:{let t;for(let n of this.args){t=n.evaluate(e);let r=Kt.parse(t);if(r)return r}throw new H(`Could not parse colorArray from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}case`variableAnchorOffsetCollection`:{let t;for(let n of this.args){t=n.evaluate(e);let r=Jt.parse(t);if(r)return r}throw new H(`Could not parse variableAnchorOffsetCollection from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}case`number`:{let t=null;for(let n of this.args){if(t=n.evaluate(e),t===null)return 0;let r=Number(t);if(!isNaN(r))return r}throw new H(`Could not convert ${JSON.stringify(t)} to number.`,this.key)}case`formatted`:return Ut.fromString(tn(this.args[0].evaluate(e)));case`resolvedImage`:return Yt.fromString(tn(this.args[0].evaluate(e)));case`projectionDefinition`:{let t=this.args[0].evaluate(e);if(Xt.parse(t))return t;throw new H(`Could not parse projectionDefinition from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}default:return tn(this.args[0].evaluate(e))}}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}},Cn=class e{constructor(e,t){this.type=t.type,this.bindings=[].concat(e),this.result=t}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(let t of this.bindings)e(t[1]);e(this.result)}static parse(t,n){if(t.length<4)return n.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);let r=[];for(let e=1;e<t.length-1;e+=2){let i=t[e];if(typeof i!=`string`)return n.error(`Expected string, but found ${typeof i} instead.`,e);if(/[^a-zA-Z0-9_]/.test(i))return n.error(`Variable names must contain only alphanumeric characters or '_'.`,e);let a=n.parse(t[e+1],e+1);if(!a)return null;r.push([i,a])}let i=n.parse(t[t.length-1],t.length-1,n.expectedType,r);return i?new e(r,i):null}outputDefined(){return this.result.outputDefined()}},wn=class e{constructor(e,t){this.type=t.type,this.name=e,this.boundExpression=t}static parse(t,n){if(t.length!==2||typeof t[1]!=`string`)return n.error(`'var' expression requires exactly one string literal argument.`);let r=t[1];return n.scope.has(r)?new e(r,n.scope.get(r)):n.error(`Unknown variable \"${r}\". Make sure \"${r}\" has been bound in an enclosing \"let\" expression before using it.`,1)}evaluate(e){return this.boundExpression.evaluate(e)}eachChild(){}outputDefined(){return!1}},Tn=class e{constructor(e,t,n,r){this.type=e,this.index=t,this.input=n,this.key=r}static parse(t,n){if(t.length!==3)return n.error(`Expected 2 arguments, but found ${t.length-1} instead.`);let r=n.parse(t[1],1,I),i=n.parse(t[2],2,st(n.expectedType||z));if(!r||!i)return null;let a=i.type;return new e(a.itemType,r,i,n.key)}evaluate(e){let t=this.index.evaluate(e),n=this.input.evaluate(e);if(t<0)throw new H(`Array index out of bounds: ${t} < 0.`,this.key);if(t>=n.length)throw new H(`Array index out of bounds: ${t} > ${n.length-1}.`,this.key);if(t!==Math.floor(t))throw new H(`Array index must be an integer, but found ${t} instead.`,this.key);return n[t]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}},En=class e{constructor(e,t,n){this.needle=e,this.haystack=t,this.key=n,this.type=R}static parse(t,n){if(t.length!==3)return n.error(`Expected 2 arguments, but found ${t.length-1} instead.`);let r=n.parse(t[1],1,z),i=n.parse(t[2],2,z);return!r||!i?null:ut(r.type,[R,L,I,Ye,z])?new e(r,i,n.key):n.error(`Expected first argument to be of type boolean, string, number or null, but found ${B(r.type)} instead`)}evaluate(e){let t=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!n)return!1;if(!dt(t,[`boolean`,`string`,`number`,`null`]))throw new H(`Expected first argument to be of type boolean, string, number or null, but found ${B(en(t))} instead.`,this.key);if(!dt(n,[`string`,`array`]))throw new H(`Expected second argument to be of type array or string, but found ${B(en(n))} instead.`,this.key);return n.indexOf(t)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}},Dn=class e{constructor(e,t,n,r){this.needle=e,this.haystack=t,this.key=n,this.fromIndex=r,this.type=I}static parse(t,n){if(t.length<=2||t.length>=5)return n.error(`Expected 2 or 3 arguments, but found ${t.length-1} instead.`);let r=n.parse(t[1],1,z),i=n.parse(t[2],2,z);if(!r||!i)return null;if(!ut(r.type,[R,L,I,Ye,z]))return n.error(`Expected first argument to be of type boolean, string, number or null, but found ${B(r.type)} instead`);if(t.length===4){let a=n.parse(t[3],3,I);return a?new e(r,i,n.key,a):null}return new e(r,i,n.key)}evaluate(e){let t=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!dt(t,[`boolean`,`string`,`number`,`null`]))throw new H(`Expected first argument to be of type boolean, string, number or null, but found ${B(en(t))} instead.`,this.key);let r;if(this.fromIndex&&(r=this.fromIndex.evaluate(e)),dt(n,[`string`])){let e=n.indexOf(t,r);return e===-1?-1:[...n.slice(0,e)].length}if(dt(n,[`array`]))return n.indexOf(t,r);throw new H(`Expected second argument to be of type array or string, but found ${B(en(n))} instead.`,this.key)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}},On=class e{constructor(e,t,n,r,i,a){this.inputType=e,this.type=t,this.input=n,this.cases=r,this.outputs=i,this.otherwise=a}static parse(t,n){if(t.length<5)return n.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return n.error(`Expected an even number of arguments.`);let r,i;n.expectedType&&n.expectedType.kind!==`value`&&(i=n.expectedType);let a={},o=[];for(let e=2;e<t.length-1;e+=2){let s=t[e],c=t[e+1];Array.isArray(s)||(s=[s]);let l=n.concat(e);if(s.length===0)return l.error(`Expected at least one branch label.`);for(let e of s){if(typeof e!=`number`&&typeof e!=`string`)return l.error(`Branch labels must be numbers or strings.`);if(typeof e==`number`&&Math.abs(e)>2**53-1)return l.error(`Branch labels must be integers no larger than ${2**53-1}.`);if(typeof e==`number`&&Math.floor(e)!==e)return l.error(`Numeric branch labels must be integer values.`);if(!r)r=en(e);else if(l.checkSubtype(r,en(e)))return null;if(a[String(e)]!==void 0)return l.error(`Branch labels must be unique.`);a[String(e)]=o.length}let u=n.parse(c,e,i);if(!u)return null;i||=u.type,o.push(u)}let s=n.parse(t[1],1,z);if(!s)return null;let c=n.parse(t[t.length-1],t.length-1,i);return!c||s.type.kind!==`value`&&n.concat(1).checkSubtype(r,s.type)?null:new e(r,i,s,a,o,c)}evaluate(e){let t=this.input.evaluate(e);return(en(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(e)}eachChild(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)}outputDefined(){return this.outputs.every(e=>e.outputDefined())&&this.otherwise.outputDefined()}},kn=class e{constructor(e,t,n){this.type=e,this.branches=t,this.otherwise=n}static parse(t,n){if(t.length<4)return n.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return n.error(`Expected an odd number of arguments.`);let r;n.expectedType&&n.expectedType.kind!==`value`&&(r=n.expectedType);let i=[];for(let e=1;e<t.length-1;e+=2){let a=n.parse(t[e],e,R);if(!a)return null;let o=n.parse(t[e+1],e+1,r);if(!o)return null;i.push([a,o]),r||=o.type}let a=n.parse(t[t.length-1],t.length-1,r);if(!a)return null;if(!r)throw Error(`Can't infer output type`);return new e(r,i,a)}evaluate(e){for(let[t,n]of this.branches)if(t.evaluate(e))return n.evaluate(e);return this.otherwise.evaluate(e)}eachChild(e){for(let[t,n]of this.branches)e(t),e(n);e(this.otherwise)}outputDefined(){return this.branches.every(([e,t])=>t.outputDefined())&&this.otherwise.outputDefined()}},An=class e{constructor(e,t,n,r,i){this.type=e,this.input=t,this.beginIndex=n,this.key=r,this.endIndex=i}static parse(t,n){if(t.length<=2||t.length>=5)return n.error(`Expected 2 or 3 arguments, but found ${t.length-1} instead.`);let r=n.parse(t[1],1,z),i=n.parse(t[2],2,I);if(!r||!i)return null;if(!ut(r.type,[st(z),L,z]))return n.error(`Expected first argument to be of type array or string, but found ${B(r.type)} instead`);if(t.length===4){let a=n.parse(t[3],3,I);return a?new e(r.type,r,i,n.key,a):null}return new e(r.type,r,i,n.key)}evaluate(e){let t=this.input.evaluate(e),n=this.beginIndex.evaluate(e),r;if(this.endIndex&&(r=this.endIndex.evaluate(e)),dt(t,[`string`]))return[...t].slice(n,r).join(``);if(dt(t,[`array`]))return t.slice(n,r);throw new H(`Expected first argument to be of type array or string, but found ${B(en(t))} instead.`,this.key)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}},jn=class e{constructor(e,t){this.type=e,this.args=t}static parse(t,n){if(t.length<2)return n.error(`Expected at least one argument.`);let r=null,i=n.expectedType;i&&i.kind!==`value`&&(r=i);let a=[];for(let e of t.slice(1)){let t=n.parse(e,1+a.length,r,void 0,{typeAnnotation:`omit`});if(!t)return null;r||=t.type,a.push(t)}if(!r)throw Error(`No output type`);return i&&a.some(e=>lt(i,e.type))?new e(z,a):new e(r,a)}evaluate(e){let t=null,n=0,r;for(let i of this.args)if(n++,t=i.evaluate(e),t&&t instanceof Yt&&!t.available&&(r||=t.name,t=null,n===this.args.length&&(t=r)),t!==null)break;return t}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}};function Mn(e,t){return e===`==`||e===`!=`?t.kind===`boolean`||t.kind===`string`||t.kind===`number`||t.kind===`null`||t.kind===`value`:t.kind===`string`||t.kind===`number`||t.kind===`value`}function Nn(e,t,n){return t===n}function Pn(e,t,n){return t!==n}function Fn(e,t,n){return t<n}function In(e,t,n){return t>n}function Ln(e,t,n){return t<=n}function Rn(e,t,n){return t>=n}function zn(e,t,n,r){return r.compare(t,n)===0}function Bn(e,t,n,r){return!zn(e,t,n,r)}function Vn(e,t,n,r){return r.compare(t,n)<0}function Hn(e,t,n,r){return r.compare(t,n)>0}function Un(e,t,n,r){return r.compare(t,n)<=0}function Wn(e,t,n,r){return r.compare(t,n)>=0}function Gn(e,t,n){let r=e!==`==`&&e!==`!=`;return class i{constructor(e,t,n,r){this.lhs=e,this.rhs=t,this.key=n,this.collator=r,this.type=R,this.hasUntypedArgument=e.type.kind===`value`||t.type.kind===`value`}static parse(e,t){if(e.length!==3&&e.length!==4)return t.error(`Expected two or three arguments.`);let n=e[0],a=t.parse(e[1],1,z);if(!a)return null;if(!Mn(n,a.type))return t.concat(1).error(`\"${n}\" comparisons are not supported for type '${B(a.type)}'.`);let o=t.parse(e[2],2,z);if(!o)return null;if(!Mn(n,o.type))return t.concat(2).error(`\"${n}\" comparisons are not supported for type '${B(o.type)}'.`);if(a.type.kind!==o.type.kind&&a.type.kind!==`value`&&o.type.kind!==`value`)return t.error(`Cannot compare types '${B(a.type)}' and '${B(o.type)}'.`);r&&(a.type.kind===`value`&&o.type.kind!==`value`?a=new bn(o.type,[a],t.key):a.type.kind!==`value`&&o.type.kind===`value`&&(o=new bn(a.type,[o],t.key)));let s=null;if(e.length===4){if(a.type.kind!==`string`&&o.type.kind!==`string`&&a.type.kind!==`value`&&o.type.kind!==`value`)return t.error(`Cannot use collator to compare non-string types.`);if(s=t.parse(e[3],3,et),!s)return null}return new i(a,o,t.key,s)}evaluate(i){let a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(r&&this.hasUntypedArgument){let t=en(a),n=en(o);if(t.kind!==n.kind||t.kind!==`string`&&t.kind!==`number`)throw new H(`Expected arguments for \"${e}\" to be (string, string) or (number, number), but found (${t.kind}, ${n.kind}) instead.`,this.key)}if(this.collator&&!r&&this.hasUntypedArgument){let e=en(a),n=en(o);if(e.kind!==`string`||n.kind!==`string`)return t(i,a,o)}return this.collator?n(i,a,o,this.collator.evaluate(i)):t(i,a,o)}eachChild(e){e(this.lhs),e(this.rhs),this.collator&&e(this.collator)}outputDefined(){return!0}}}var Kn=Gn(`==`,Nn,zn),qn=Gn(`!=`,Pn,Bn),Jn=Gn(`<`,Fn,Vn),Yn=Gn(`>`,In,Hn),Xn=Gn(`<=`,Ln,Un),Zn=Gn(`>=`,Rn,Wn),Qn=class e{constructor(e,t,n){this.type=et,this.locale=n,this.caseSensitive=e,this.diacriticSensitive=t}static parse(t,n){if(t.length!==2)return n.error(`Expected one argument.`);let r=t[1];if(typeof r!=`object`||Array.isArray(r))return n.error(`Collator options argument must be an object.`);let i=n.parse(r[`case-sensitive`]!==void 0&&r[`case-sensitive`],1,R);if(!i)return null;let a=n.parse(r[`diacritic-sensitive`]!==void 0&&r[`diacritic-sensitive`],1,R);if(!a)return null;let o=null;return r.locale&&(o=n.parse(r.locale,1,L),!o)?null:new e(i,a,o)}evaluate(e){return new Zt(this.caseSensitive.evaluate(e),this.diacriticSensitive.evaluate(e),this.locale?this.locale.evaluate(e):null)}eachChild(e){e(this.caseSensitive),e(this.diacriticSensitive),this.locale&&e(this.locale)}outputDefined(){return!1}},$n=class e{constructor(e,t,n,r,i,a){this.type=L,this.number=e,this.locale=t,this.currency=n,this.unit=r,this.minFractionDigits=i,this.maxFractionDigits=a}static parse(t,n){if(t.length!==3)return n.error(`Expected two arguments.`);let r=n.parse(t[1],1,I);if(!r)return null;let i=t[2];if(typeof i!=`object`||Array.isArray(i))return n.error(`NumberFormat options argument must be an object.`);let a=null;if(i.locale&&(a=n.parse(i.locale,1,L),!a))return null;let o=null;if(i.currency&&(o=n.parse(i.currency,1,L),!o))return null;let s=null;if(i.unit&&(s=n.parse(i.unit,1,L),!s))return null;if(o&&s)return n.error(\"NumberFormat options `currency` and `unit` are mutually exclusive\");let c=null;if(i[`min-fraction-digits`]&&(c=n.parse(i[`min-fraction-digits`],1,I),!c))return null;let l=null;return i[`max-fraction-digits`]&&(l=n.parse(i[`max-fraction-digits`],1,I),!l)?null:new e(r,a,o,s,c,l)}evaluate(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:this.currency?`currency`:this.unit?`unit`:`decimal`,currency:this.currency?this.currency.evaluate(e):void 0,unit:this.unit?this.unit.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))}eachChild(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.unit&&e(this.unit),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)}outputDefined(){return!1}},er=class e{constructor(e){this.type=at,this.input=e}static parse(t,n){if(t.length!==2)return n.error(`Expected two arguments.`);let r=n.parse(t[1],1,L);return r?new e(r):n.error(`No image name provided.`)}evaluate(e){let t=this.input.evaluate(e),n=Yt.fromString(t);return n&&e.availableImages&&(n.available=e.availableImages.indexOf(t)>-1),n}eachChild(e){e(this.input)}outputDefined(){return!1}},tr=class e{constructor(e,t){this.input=e,this.key=t,this.type=I}static parse(t,n){if(t.length!==2)return n.error(`Expected 1 argument, but found ${t.length-1} instead.`);let r=n.parse(t[1],1);return r?r.type.kind!==`array`&&r.type.kind!==`string`&&r.type.kind!==`value`?n.error(`Expected argument of type string or array, but found ${B(r.type)} instead.`):new e(r,n.key):null}evaluate(e){let t=this.input.evaluate(e);if(typeof t==`string`)return[...t].length;if(Array.isArray(t))return t.length;throw new H(`Expected value to be of type string or array, but found ${B(en(t))} instead.`,this.key)}eachChild(e){e(this.input)}outputDefined(){return!1}},nr=8192;function rr(e,t){let n=ar(e[0]),r=sr(e[1]),i=2**t.z;return[Math.round(n*i*nr),Math.round(r*i*nr)]}function ir(e,t){let n=2**t.z,r=(e[0]/nr+t.x)/n,i=(e[1]/nr+t.y)/n;return[or(r),cr(i)]}function ar(e){return(180+e)/360}function or(e){return e*360-180}function sr(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function cr(e){return 360/Math.PI*Math.atan(Math.exp((180-e*360)*Math.PI/180))-90}function lr(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.max(e[2],t[0]),e[3]=Math.max(e[3],t[1])}function ur(e,t){return!(e[0]<=t[0]||e[2]>=t[2]||e[1]<=t[1]||e[3]>=t[3])}function dr(e,t,n){return t[1]>e[1]!=n[1]>e[1]&&e[0]<(n[0]-t[0])*(e[1]-t[1])/(n[1]-t[1])+t[0]}function fr(e,t,n){let r=e[0]-t[0],i=e[1]-t[1],a=e[0]-n[0],o=e[1]-n[1];return r*o-a*i===0&&r*a<=0&&i*o<=0}function pr(e,t,n,r){let i=[t[0]-e[0],t[1]-e[1]];return yr([r[0]-n[0],r[1]-n[1]],i)!==0&&!!(br(e,t,n,r)&&br(n,r,e,t))}function mr(e,t,n){for(let r of n)for(let n=0;n<r.length-1;++n)if(pr(e,t,r[n],r[n+1]))return!0;return!1}function hr(e,t,n=!1){let r=!1;for(let i of t)for(let t=0;t<i.length-1;t++){if(fr(e,i[t],i[t+1]))return n;dr(e,i[t],i[t+1])&&(r=!r)}return r}function gr(e,t){for(let n of t)if(hr(e,n))return!0;return!1}function _r(e,t){for(let n of e)if(!hr(n,t))return!1;for(let n=0;n<e.length-1;++n)if(mr(e[n],e[n+1],t))return!1;return!0}function vr(e,t){for(let n of t)if(_r(e,n))return!0;return!1}function yr(e,t){return e[0]*t[1]-e[1]*t[0]}function br(e,t,n,r){let i=e[0]-n[0],a=e[1]-n[1],o=t[0]-n[0],s=t[1]-n[1],c=r[0]-n[0],l=r[1]-n[1],u=i*l-c*a,d=o*l-c*s;return u>0&&d<0||u<0&&d>0}function xr(e,t,n){let r=[];for(let i=0;i<e.length;i++){let a=[];for(let r=0;r<e[i].length;r++){let o=rr(e[i][r],n);lr(t,o),a.push(o)}r.push(a)}return r}function Sr(e,t,n){let r=[];for(let i=0;i<e.length;i++){let a=xr(e[i],t,n);r.push(a)}return r}function Cr(e,t,n,r){if(e[0]<n[0]||e[0]>n[2]){let t=r*.5,i=e[0]-n[0]>t?-r:n[0]-e[0]>t?r:0;i===0&&(i=e[0]-n[2]>t?-r:n[2]-e[0]>t?r:0),e[0]+=i}lr(t,e)}function wr(e){e[0]=e[1]=1/0,e[2]=e[3]=-1/0}function Tr(e,t,n,r){let i=2**r.z*nr,a=[r.x*nr,r.y*nr],o=[];for(let r of e)for(let e of r){let r=[e.x+a[0],e.y+a[1]];Cr(r,t,n,i),o.push(r)}return o}function Er(e,t,n,r){let i=2**r.z*nr,a=[r.x*nr,r.y*nr],o=[];for(let n of e){let e=[];for(let r of n){let n=[r.x+a[0],r.y+a[1]];lr(t,n),e.push(n)}o.push(e)}if(t[2]-t[0]<=i/2){wr(t);for(let e of o)for(let r of e)Cr(r,t,n,i)}return o}function Dr(e,t){let n=[1/0,1/0,-1/0,-1/0],r=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if(t.type===`Polygon`){let a=xr(t.coordinates,r,i),o=Tr(e.geometry(),n,r,i);if(!ur(n,r))return!1;for(let e of o)if(!hr(e,a))return!1}if(t.type===`MultiPolygon`){let a=Sr(t.coordinates,r,i),o=Tr(e.geometry(),n,r,i);if(!ur(n,r))return!1;for(let e of o)if(!gr(e,a))return!1}return!0}function Or(e,t){let n=[1/0,1/0,-1/0,-1/0],r=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if(t.type===`Polygon`){let a=xr(t.coordinates,r,i),o=Er(e.geometry(),n,r,i);if(!ur(n,r))return!1;for(let e of o)if(!_r(e,a))return!1}if(t.type===`MultiPolygon`){let a=Sr(t.coordinates,r,i),o=Er(e.geometry(),n,r,i);if(!ur(n,r))return!1;for(let e of o)if(!vr(e,a))return!1}return!0}var kr=class e{constructor(e,t){this.type=R,this.geojson=e,this.geometries=t}static parse(t,n){if(t.length!==2)return n.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if($t(t[1])){let n=t[1];if(n.type===`FeatureCollection`){let t=[];for(let e of n.features){let{type:n,coordinates:r}=e.geometry;n===`Polygon`&&t.push(r),n===`MultiPolygon`&&t.push(...r)}if(t.length)return new e(n,{type:`MultiPolygon`,coordinates:t})}else if(n.type===`Feature`){let t=n.geometry.type;if(t===`Polygon`||t===`MultiPolygon`)return new e(n,n.geometry)}else if(n.type===`Polygon`||n.type===`MultiPolygon`)return new e(n,n)}return n.error(`'within' expression requires valid geojson object that contains polygon geometry type.`)}evaluate(e){if(e.geometry()!=null&&e.canonicalID()!=null){if(e.geometryType()===`Point`)return Dr(e,this.geometries);if(e.geometryType()===`LineString`)return Or(e,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}},Ar=class{constructor(e=[],t=(e,t)=>e<t?-1:+(e>t)){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:n}=this,r=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(n(r,a)>=0)break;t[e]=a,e=i}t[e]=r}_down(e){let{data:t,compare:n}=this,r=this.length>>1,i=t[e];for(;e<r;){let r=(e<<1)+1,a=r+1;if(a<this.length&&n(t[a],t[r])<0&&(r=a),n(t[r],i)>=0)break;t[e]=t[r],e=r}t[e]=i}},jr=Math.PI/180,Mr=class{constructor(e){let t=jr*6378.137*1e3,n=Math.cos(e*jr),r=1/(1-.0066943799901413165*(1-n*n)),i=Math.sqrt(r);this.kx=t*i*n,this.ky=t*i*r*.9933056200098587}distance(e,t){let n=this.wrap(e[0]-t[0])*this.kx,r=(e[1]-t[1])*this.ky;return Math.sqrt(n*n+r*r)}pointOnLine(e,t){let n=1/0,r,i,a,o;for(let s=0;s<e.length-1;s++){let c=e[s][0],l=e[s][1],u=this.wrap(e[s+1][0]-c)*this.kx,d=(e[s+1][1]-l)*this.ky,f=0;(u!==0||d!==0)&&(f=(this.wrap(t[0]-c)*this.kx*u+(t[1]-l)*this.ky*d)/(u*u+d*d),f>1?(c=e[s+1][0],l=e[s+1][1]):f>0&&(c+=u/this.kx*f,l+=d/this.ky*f)),u=this.wrap(t[0]-c)*this.kx,d=(t[1]-l)*this.ky;let p=u*u+d*d;p<n&&(n=p,r=c,i=l,a=s,o=f)}return{point:[r,i],index:a,t:Math.max(0,Math.min(1,o))}}wrap(e){for(;e<-180;)e+=360;for(;e>180;)e-=360;return e}};function Nr(e,t){return t[0]-e[0]}function Pr(e){return e[1]-e[0]+1}function Fr(e,t){return e[1]>=e[0]&&e[1]<t}function Ir(e,t){if(e[0]>e[1])return[null,null];let n=Pr(e);if(t){if(n===2)return[e,null];let t=Math.floor(n/2);return[[e[0],e[0]+t],[e[0]+t,e[1]]]}if(n===1)return[e,null];let r=Math.floor(n/2)-1;return[[e[0],e[0]+r],[e[0]+r+1,e[1]]]}function Lr(e,t){if(!Fr(t,e.length))return[1/0,1/0,-1/0,-1/0];let n=[1/0,1/0,-1/0,-1/0];for(let r=t[0];r<=t[1];++r)lr(n,e[r]);return n}function Rr(e){let t=[1/0,1/0,-1/0,-1/0];for(let n of e)for(let e of n)lr(t,e);return t}function zr(e){return e[0]!==-1/0&&e[1]!==-1/0&&e[2]!==1/0&&e[3]!==1/0}function Br(e,t,n){if(!zr(e)||!zr(t))return NaN;let r=0,i=0;return e[2]<t[0]&&(r=t[0]-e[2]),e[0]>t[2]&&(r=e[0]-t[2]),e[1]>t[3]&&(i=e[1]-t[3]),e[3]<t[1]&&(i=t[1]-e[3]),n.distance([0,0],[r,i])}function Vr(e,t,n){let r=n.pointOnLine(t,e);return n.distance(e,r.point)}function Hr(e,t,n,r,i){let a=Math.min(Vr(e,[n,r],i),Vr(t,[n,r],i)),o=Math.min(Vr(n,[e,t],i),Vr(r,[e,t],i));return Math.min(a,o)}function Ur(e,t,n,r,i){if(!(Fr(t,e.length)&&Fr(r,n.length)))return 1/0;let a=1/0;for(let o=t[0];o<t[1];++o){let t=e[o],s=e[o+1];for(let e=r[0];e<r[1];++e){let r=n[e],o=n[e+1];if(pr(t,s,r,o))return 0;a=Math.min(a,Hr(t,s,r,o,i))}}return a}function Wr(e,t,n,r,i){if(!(Fr(t,e.length)&&Fr(r,n.length)))return NaN;let a=1/0;for(let o=t[0];o<=t[1];++o)for(let t=r[0];t<=r[1];++t)if(a=Math.min(a,i.distance(e[o],n[t])),a===0)return a;return a}function Gr(e,t,n){if(hr(e,t,!0))return 0;let r=1/0;for(let i of t){let t=i[0],a=i[i.length-1];if(t!==a&&(r=Math.min(r,Vr(e,[a,t],n)),r===0))return r;let o=n.pointOnLine(i,e);if(r=Math.min(r,n.distance(e,o.point)),r===0)return r}return r}function Kr(e,t,n,r){if(!Fr(t,e.length))return NaN;for(let r=t[0];r<=t[1];++r)if(hr(e[r],n,!0))return 0;let i=1/0;for(let a=t[0];a<t[1];++a){let t=e[a],o=e[a+1];for(let e of n)for(let n=0,a=e.length,s=a-1;n<a;s=n++){let a=e[s],c=e[n];if(pr(t,o,a,c))return 0;i=Math.min(i,Hr(t,o,a,c,r))}}return i}function qr(e,t){for(let n of e)for(let e of n)if(hr(e,t,!0))return!0;return!1}function Jr(e,t,n,r=1/0){let i=Rr(e),a=Rr(t);if(r!==1/0&&Br(i,a,n)>=r)return r;if(ur(i,a)){if(qr(e,t))return 0}else if(qr(t,e))return 0;let o=1/0;for(let r of e)for(let e=0,i=r.length,a=i-1;e<i;a=e++){let i=r[a],s=r[e];for(let e of t)for(let t=0,r=e.length,a=r-1;t<r;a=t++){let r=e[a],c=e[t];if(pr(i,s,r,c))return 0;o=Math.min(o,Hr(i,s,r,c,n))}}return o}function Yr(e,t,n,r,i,a){if(!a)return;let o=Br(Lr(r,a),i,n);o<t&&e.push([o,a,[0,0]])}function Xr(e,t,n,r,i,a,o){if(!a||!o)return;let s=Br(Lr(r,a),Lr(i,o),n);s<t&&e.push([s,a,o])}function Zr(e,t,n,r,i=1/0){let a=Math.min(r.distance(e[0],n[0][0]),i);if(a===0)return a;let o=new Ar([[0,[0,e.length-1],[0,0]]],Nr),s=Rr(n);for(;o.length>0;){let i=o.pop();if(i[0]>=a)continue;let c=i[1],l=t?50:100;if(Pr(c)<=l){if(!Fr(c,e.length))return NaN;if(t){let t=Kr(e,c,n,r);if(isNaN(t)||t===0)return t;a=Math.min(a,t)}else for(let t=c[0];t<=c[1];++t){let i=Gr(e[t],n,r);if(a=Math.min(a,i),a===0)return 0}}else{let n=Ir(c,t);Yr(o,a,r,e,s,n[0]),Yr(o,a,r,e,s,n[1])}}return a}function Qr(e,t,n,r,i,a=1/0){let o=Math.min(a,i.distance(e[0],n[0]));if(o===0)return o;let s=new Ar([[0,[0,e.length-1],[0,n.length-1]]],Nr);for(;s.length>0;){let a=s.pop();if(a[0]>=o)continue;let c=a[1],l=a[2],u=t?50:100,d=r?50:100;if(Pr(c)<=u&&Pr(l)<=d){if(!Fr(c,e.length)&&Fr(l,n.length))return NaN;let a;if(t&&r)a=Ur(e,c,n,l,i),o=Math.min(o,a);else if(t&&!r){let t=e.slice(c[0],c[1]+1);for(let e=l[0];e<=l[1];++e)if(a=Vr(n[e],t,i),o=Math.min(o,a),o===0)return o}else if(!t&&r){let t=n.slice(l[0],l[1]+1);for(let n=c[0];n<=c[1];++n)if(a=Vr(e[n],t,i),o=Math.min(o,a),o===0)return o}else a=Wr(e,c,n,l,i),o=Math.min(o,a)}else{let a=Ir(c,t),u=Ir(l,r);Xr(s,o,i,e,n,a[0],u[0]),Xr(s,o,i,e,n,a[0],u[1]),Xr(s,o,i,e,n,a[1],u[0]),Xr(s,o,i,e,n,a[1],u[1])}}return o}function $r(e,t){let n=e.geometry(),r=n.flat().map(t=>ir([t.x,t.y],e.canonical));if(n.length===0)return NaN;let i=new Mr(r[0][1]),a=1/0;for(let e of t){switch(e.type){case`Point`:a=Math.min(a,Qr(r,!1,[e.coordinates],!1,i,a));break;case`LineString`:a=Math.min(a,Qr(r,!1,e.coordinates,!0,i,a));break;case`Polygon`:a=Math.min(a,Zr(r,!1,e.coordinates,i,a))}if(a===0)return a}return a}function ei(e,t){let n=e.geometry(),r=n.flat().map(t=>ir([t.x,t.y],e.canonical));if(n.length===0)return NaN;let i=new Mr(r[0][1]),a=1/0;for(let e of t){switch(e.type){case`Point`:a=Math.min(a,Qr(r,!0,[e.coordinates],!1,i,a));break;case`LineString`:a=Math.min(a,Qr(r,!0,e.coordinates,!0,i,a));break;case`Polygon`:a=Math.min(a,Zr(r,!0,e.coordinates,i,a))}if(a===0)return a}return a}function ti(e,t){let n=e.geometry();if(n.length===0||n[0].length===0)return NaN;let r=gn(n,0).map(t=>t.map(t=>t.map(t=>ir([t.x,t.y],e.canonical)))),i=new Mr(r[0][0][0][1]),a=1/0;for(let e of t)for(let t of r){switch(e.type){case`Point`:a=Math.min(a,Zr([e.coordinates],!1,t,i,a));break;case`LineString`:a=Math.min(a,Zr(e.coordinates,!0,t,i,a));break;case`Polygon`:a=Math.min(a,Jr(t,e.coordinates,i,a))}if(a===0)return a}return a}function ni(e){return e.type===`MultiPolygon`?e.coordinates.map(e=>({type:`Polygon`,coordinates:e})):e.type===`MultiLineString`?e.coordinates.map(e=>({type:`LineString`,coordinates:e})):e.type===`MultiPoint`?e.coordinates.map(e=>({type:`Point`,coordinates:e})):[e]}var ri=class e{constructor(e,t){this.type=I,this.geojson=e,this.geometries=t}static parse(t,n){if(t.length!==2)return n.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if($t(t[1])){let n=t[1];if(n.type===`FeatureCollection`)return new e(n,n.features.map(e=>ni(e.geometry)).flat());if(n.type===`Feature`)return new e(n,ni(n.geometry));if(`type`in n&&`coordinates`in n)return new e(n,ni(n))}return n.error(`'distance' expression requires valid geojson object that contains polygon geometry type.`)}evaluate(e){if(e.geometry()!=null&&e.canonicalID()!=null){if(e.geometryType()===`Point`)return $r(e,this.geometries);if(e.geometryType()===`LineString`)return ei(e,this.geometries);if(e.geometryType()===`Polygon`)return ti(e,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}},ii=class e{constructor(e){let t=null;for(let n of e)if(!t)t=n.type;else if(t===n.type)continue;else{t=z;break}this.type=st(t??z,e.length),this.arr=e}static parse(t,n){if(t.length!==2)return n.error(`'semiliteral' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!$t(t[1]))return n.error(`invalid value of type \"${typeof t[1]}\"`);let r=t[1],i=en(r);if(i.kind===`array`){let t=r,i=n.concat(1),a=[];for(let e=0;e<t.length;e++){let n=i.parse(t[e],e,z);if(!n)return null;a.push(n)}return new e(a)}return new nn(i,r)}evaluate(e){return this.arr.map(t=>t.evaluate(e))}eachChild(e){this.arr.forEach(e)}outputDefined(){return this.arr.every(e=>e.outputDefined())}},ai=class e{constructor(e){this.key=e,this.type=z}static parse(t,n){if(t.length!==2)return n.error(`Expected 1 argument, but found ${t.length-1} instead.`);let r=t[1];return r==null?n.error(`Global state property must be defined.`):typeof r==`string`?new e(r):n.error(`Global state property must be string, but found ${typeof t[1]} instead.`)}evaluate(e){let t=e.globals?.globalState;return!t||Object.keys(t).length===0?null:jt(t,this.key)??null}eachChild(){}outputDefined(){return!1}},oi={\"==\":Kn,\"!=\":qn,\">\":Yn,\"<\":Jn,\">=\":Zn,\"<=\":Xn,array:bn,at:Tn,boolean:bn,case:kn,coalesce:jn,collator:Qn,format:fn,image:er,in:En,\"index-of\":Dn,interpolate:ln,\"interpolate-hcl\":ln,\"interpolate-lab\":ln,length:tr,let:Cn,literal:nn,match:On,number:bn,\"number-format\":$n,object:bn,semiliteral:ii,slice:An,step:sn,string:bn,\"to-boolean\":Sn,\"to-color\":Sn,\"to-number\":Sn,\"to-string\":Sn,var:wn,within:kr,distance:ri,\"global-state\":ai},si=class extends Error{constructor(e,t){super(t),this.message=t,this.key=e}},ci=class e{constructor(e,t=[]){this.parent=e,this.bindings={};for(let[e,n]of t)this.bindings[e]=n}concat(t){return new e(this,t)}get(e){if(this.bindings[e])return this.bindings[e];if(this.parent)return this.parent.get(e);throw Error(`${e} not found in scope.`)}has(e){return this.bindings[e]?!0:this.parent?this.parent.has(e):!1}},li=class e{constructor(e,t,n=[],r,i=new ci,a=[]){this.registry=e,this.path=n,this.key=n.map(e=>`[${e}]`).join(``),this.scope=i,this.errors=a,this.expectedType=r,this._isConstant=t}parse(e,t,n,r,i={}){return t==null?this._parse(e,i):this.concat(t,n,r)._parse(e,i)}_parse(e,t){(e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`)&&(e=[`literal`,e]);let n=this.key;function r(e,t,r){return r===`assert`?new bn(t,[e],n):r===`coerce`?new Sn(t,[e],n):e}if(Array.isArray(e)){if(e.length===0)return this.error(`Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].`);let n=e[0];if(typeof n!=`string`)return this.error(`Expression name must be a string, but found ${typeof n} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;let i=this.registry[n];if(i){let n=i.parse(e,this);if(!n)return null;if(this.expectedType){let e=this.expectedType,i=n.type;if((e.kind===`string`||e.kind===`number`||e.kind===`boolean`||e.kind===`object`||e.kind===`array`)&&i.kind===`value`)n=r(n,e,t.typeAnnotation||`assert`);else if(e.kind===`projectionDefinition`&&[`string`,`array`,`value`].includes(i.kind)||[`color`,`formatted`,`resolvedImage`].includes(e.kind)&&[`value`,`string`].includes(i.kind)||[`padding`,`numberArray`].includes(e.kind)&&[`value`,`number`,`array`].includes(i.kind)||e.kind===`colorArray`&&[`value`,`string`,`array`].includes(i.kind)||e.kind===`variableAnchorOffsetCollection`&&[`value`,`array`].includes(i.kind))n=r(n,e,t.typeAnnotation||`coerce`);else if(this.checkSubtype(e,i))return null}if(!(n instanceof nn)&&n.type.kind!==`resolvedImage`&&this._isConstant(n)){let e=new an;try{n=new nn(n.type,n.evaluate(e))}catch(e){return this.error(e.message),null}}return n}return this.error(`Unknown expression \"${n}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return e===void 0?this.error(`'undefined' value invalid. Use null instead.`):typeof e==`object`?this.error(`Bare objects invalid. Use [\"literal\", {...}] instead.`):this.error(`Expected an array, but found ${typeof e} instead.`)}concat(t,n,r){let i=typeof t==`number`?this.path.concat(t):this.path,a=r?this.scope.concat(r):this.scope;return new e(this.registry,this._isConstant,i,n||null,a,this.errors)}error(e,...t){let n=`${this.key}${t.map(e=>`[${e}]`).join(``)}`;this.errors.push(new si(n,e))}checkSubtype(e,t){let n=lt(e,t);return n&&this.error(n),n}},ui=class e{constructor(e,t,n,r,i){this.name=e,this.type=t,this._evaluate=n,this.args=r,this.key=i}evaluate(e){return this._evaluate(e,this.args,this.key)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}static parse(t,n){let r=t[0],i=e.definitions[r];if(!i)return n.error(`Unknown expression \"${r}\". If you wanted a literal array, use [\"literal\", [...]].`,0);let a=Array.isArray(i)?i[0]:i.type,o=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,s=o.filter(([e])=>!Array.isArray(e)||e.length===t.length-1),c=null;for(let[i,o]of s){c=new li(n.registry,_i,n.path,null,n.scope);let s=[],l=!1;for(let e=1;e<t.length;e++){let n=t[e],r=Array.isArray(i)?i[e-1]:i.type,a=c.parse(n,1+s.length,r);if(!a){l=!0;break}s.push(a)}if(!l){if(Array.isArray(i)&&i.length!==s.length){c.error(`Expected ${i.length} arguments, but found ${s.length} instead.`);continue}for(let e=0;e<s.length;e++){let t=Array.isArray(i)?i[e]:i.type,n=s[e];c.concat(e+1).checkSubtype(t,n.type)}if(c.errors.length===0)return new e(r,a,o,s,n.key)}}if(s.length===1)n.errors.push(...c.errors);else{let e=(s.length?s:o).map(([e])=>gi(e)).join(` | `),r=[];for(let e=1;e<t.length;e++){let i=n.parse(t[e],1+r.length);if(!i)return null;r.push(B(i.type))}n.error(`Expected arguments of type ${e}, but found (${r.join(`, `)}) instead.`)}return null}static register(t,n){e.definitions=n;for(let r in n)t[r]=e}};function di(e,[t,n,r,i],a){t=t.evaluate(e),n=n.evaluate(e),r=r.evaluate(e);let o=i?i.evaluate(e):1,s=Qt(t,n,r,o);if(s)throw new H(s,a);return new V(t/255,n/255,r/255,o,!1)}function fi(e,t){return e in t&&t[e]!==void 0}function pi(e,t){let n=t[e];return n===void 0?null:n}function mi(e,t,n,r){for(;n<=r;){let i=n+r>>1;if(t[i]===e)return!0;t[i]>e?r=i-1:n=i+1}return!1}function hi(e){return{type:e}}ui.register(oi,{error:[$e,[L],(e,[t],n)=>{throw new H(t.evaluate(e),n)}],typeof:[L,[z],(e,[t])=>B(en(t.evaluate(e)))],\"to-rgba\":[st(I,4),[Xe],(e,[t])=>{let[n,r,i,a]=t.evaluate(e).rgb;return[n*255,r*255,i*255,a]}],rgb:[Xe,[I,I,I],di],rgba:[Xe,[I,I,I,I],di],has:{type:R,overloads:[[[L],(e,[t])=>fi(t.evaluate(e),e.properties())],[[L,Qe],(e,[t,n])=>fi(t.evaluate(e),n.evaluate(e))]]},get:{type:z,overloads:[[[L],(e,[t])=>pi(t.evaluate(e),e.properties())],[[L,Qe],(e,[t,n])=>pi(t.evaluate(e),n.evaluate(e))]]},\"feature-state\":[z,[L],(e,[t])=>pi(t.evaluate(e),e.featureState||{})],properties:[Qe,[],e=>e.properties()],\"geometry-type\":[L,[],e=>e.geometryType()],id:[z,[],e=>e.id()],zoom:[I,[],e=>e.globals.zoom],\"heatmap-density\":[I,[],e=>e.globals.heatmapDensity||0],elevation:[I,[],e=>e.globals.elevation||0],\"line-progress\":[I,[],e=>e.globals.lineProgress||0],accumulated:[z,[],e=>e.globals.accumulated===void 0?null:e.globals.accumulated],\"+\":[I,hi(I),(e,t)=>{let n=0;for(let r of t)n+=r.evaluate(e);return n}],\"*\":[I,hi(I),(e,t)=>{let n=1;for(let r of t)n*=r.evaluate(e);return n}],\"-\":{type:I,overloads:[[[I,I],(e,[t,n])=>t.evaluate(e)-n.evaluate(e)],[[I],(e,[t])=>-t.evaluate(e)]]},\"/\":[I,[I,I],(e,[t,n])=>t.evaluate(e)/n.evaluate(e)],\"%\":[I,[I,I],(e,[t,n])=>t.evaluate(e)%n.evaluate(e)],ln2:[I,[],()=>Math.LN2],pi:[I,[],()=>Math.PI],e:[I,[],()=>Math.E],\"^\":[I,[I,I],(e,[t,n])=>t.evaluate(e)**+n.evaluate(e)],sqrt:[I,[I],(e,[t])=>Math.sqrt(t.evaluate(e))],log10:[I,[I],(e,[t])=>Math.log(t.evaluate(e))/Math.LN10],ln:[I,[I],(e,[t])=>Math.log(t.evaluate(e))],log2:[I,[I],(e,[t])=>Math.log(t.evaluate(e))/Math.LN2],sin:[I,[I],(e,[t])=>Math.sin(t.evaluate(e))],cos:[I,[I],(e,[t])=>Math.cos(t.evaluate(e))],tan:[I,[I],(e,[t])=>Math.tan(t.evaluate(e))],asin:[I,[I],(e,[t])=>Math.asin(t.evaluate(e))],acos:[I,[I],(e,[t])=>Math.acos(t.evaluate(e))],atan:[I,[I],(e,[t])=>Math.atan(t.evaluate(e))],min:[I,hi(I),(e,t)=>Math.min(...t.map(t=>t.evaluate(e)))],max:[I,hi(I),(e,t)=>Math.max(...t.map(t=>t.evaluate(e)))],abs:[I,[I],(e,[t])=>Math.abs(t.evaluate(e))],round:[I,[I],(e,[t])=>{let n=t.evaluate(e);return n<0?-Math.round(-n):Math.round(n)}],floor:[I,[I],(e,[t])=>Math.floor(t.evaluate(e))],ceil:[I,[I],(e,[t])=>Math.ceil(t.evaluate(e))],\"filter-==\":[R,[L,z],(e,[t,n])=>e.properties()[t.value]===n.value],\"filter-id-==\":[R,[z],(e,[t])=>e.id()===t.value],\"filter-type-==\":[R,[L],(e,[t])=>e.geometryType()===t.value],\"filter-<\":[R,[L,z],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r<i}],\"filter-id-<\":[R,[z],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n<r}],\"filter->\":[R,[L,z],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r>i}],\"filter-id->\":[R,[z],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n>r}],\"filter-<=\":[R,[L,z],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r<=i}],\"filter-id-<=\":[R,[z],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n<=r}],\"filter->=\":[R,[L,z],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r>=i}],\"filter-id->=\":[R,[z],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n>=r}],\"filter-has\":[R,[z],(e,[t])=>{let n=t.value,r=e.properties();return n in r&&r[n]!==void 0}],\"filter-has-id\":[R,[],e=>e.id()!==null&&e.id()!==void 0],\"filter-type-in\":[R,[st(L)],(e,[t])=>t.value.indexOf(e.geometryType())>=0],\"filter-id-in\":[R,[st(z)],(e,[t])=>t.value.indexOf(e.id())>=0],\"filter-in-small\":[R,[L,st(z)],(e,[t,n])=>n.value.indexOf(e.properties()[t.value])>=0],\"filter-in-large\":[R,[L,st(z)],(e,[t,n])=>mi(e.properties()[t.value],n.value,0,n.value.length-1)],all:{type:R,overloads:[[[R,R],(e,[t,n])=>t.evaluate(e)&&n.evaluate(e)],[hi(R),(e,t)=>{for(let n of t)if(!n.evaluate(e))return!1;return!0}]]},any:{type:R,overloads:[[[R,R],(e,[t,n])=>t.evaluate(e)||n.evaluate(e)],[hi(R),(e,t)=>{for(let n of t)if(n.evaluate(e))return!0;return!1}]]},\"!\":[R,[R],(e,[t])=>!t.evaluate(e)],\"is-supported-script\":[R,[L],(e,[t])=>{let n=e.globals&&e.globals.isSupportedScript;return!n||n(t.evaluate(e))}],upcase:[L,[L],(e,[t])=>t.evaluate(e).toUpperCase()],downcase:[L,[L],(e,[t])=>t.evaluate(e).toLowerCase()],concat:[L,hi(z),(e,t)=>t.map(t=>tn(t.evaluate(e))).join(``)],split:[st(L),[L,L],(e,[t,n])=>t.evaluate(e).split(n.evaluate(e))],join:[L,[st(L),L],(e,[t,n])=>t.evaluate(e).join(n.evaluate(e))],\"resolved-locale\":[L,[et],(e,[t])=>t.evaluate(e).resolvedLocale()]});function gi(e){return Array.isArray(e)?`(${e.map(B).join(`, `)})`:`(${B(e.type)}...)`}function _i(e){if(e instanceof wn)return _i(e.boundExpression);if(e instanceof ui&&e.name===`error`||e instanceof Qn||e instanceof kr||e instanceof ri||e instanceof ai)return!1;let t=e instanceof Sn||e instanceof bn,n=!0;return e.eachChild(e=>{n&&=t?_i(e):e instanceof nn}),n?vi(e)&&bi(e,[`zoom`,`heatmap-density`,`elevation`,`line-progress`,`accumulated`,`is-supported-script`]):!1}function vi(e){if(e instanceof ui&&(e.name===`get`&&e.args.length===1||e.name===`feature-state`||e.name===`has`&&e.args.length===1||e.name===`properties`||e.name===`geometry-type`||e.name===`id`||/^filter-/.test(e.name))||e instanceof kr||e instanceof ri)return!1;let t=!0;return e.eachChild(e=>{t&&!vi(e)&&(t=!1)}),t}function yi(e){if(e instanceof ui&&e.name===`feature-state`)return!1;let t=!0;return e.eachChild(e=>{t&&!yi(e)&&(t=!1)}),t}function bi(e,t){if(e instanceof ui&&t.indexOf(e.name)>=0)return!1;let n=!0;return e.eachChild(e=>{n&&!bi(e,t)&&(n=!1)}),n}function xi(e){return e[`property-type`]===`data-driven`||e[`property-type`]===`cross-faded-data-driven`}function Si(e){return!!e.expression&&e.expression.parameters.indexOf(`zoom`)>-1}function Ci(e){return!!e.expression&&e.expression.interpolated}var wi=/^(.*)-transition$/;function Ti(e,...t){for(let n of t)for(let t in n)e[t]=n[t];return e}function U(e){return e instanceof Number?`number`:e instanceof String?`string`:e instanceof Boolean?`boolean`:Array.isArray(e)?`array`:e===null?`null`:typeof e}function Ei(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&en(e)===Qe}function Di(e){return e}function Oi(e){switch(e.type){case`color`:return V.parse;case`padding`:return Wt.parse;case`numberArray`:return Gt.parse;case`colorArray`:return Kt.parse;default:return null}}function ki(e){switch(e){case`exponential`:return Pi;case`interval`:return Ni;case`categorical`:return Mi;case`identity`:return Fi;default:throw Error(`Unknown function type \"${e}\"`)}}function Ai(e,t){let n=e.stops&&typeof e.stops[0][0]==`object`,r=n||e.property!==void 0,i=n||!r,a=e.type||(Ci(t)?`exponential`:`interval`),o=Oi(t);if(o&&(e=Ti({},e),e.stops&&(e.stops=e.stops.map(e=>[e[0],o(e[1])])),e.default?e.default=o(e.default):e.default=o(t.default)),e.colorSpace&&!Bt(e.colorSpace))throw Error(`Unknown color space: \"${e.colorSpace}\"`);let s=ki(a),c,l;if(a===`categorical`){c=Object.create(null);for(let t of e.stops)c[t[0]]=t[1];l=typeof e.stops[0][0]}if(n){let n={},r=[];for(let t=0;t<e.stops.length;t++){let i=e.stops[t],a=i[0].zoom;n[a]===void 0&&(n[a]={zoom:a,type:e.type,property:e.property,default:e.default,stops:[]},r.push(a)),n[a].stops.push([i[0].value,i[1]])}let i=[];for(let e of r)i.push([n[e].zoom,Ai(n[e],t)]);let a={name:`linear`};return{kind:`composite`,interpolationType:a,interpolationFactor:ln.interpolationFactor.bind(void 0,a),zoomStops:i.map(e=>e[0]),evaluate({zoom:n},r){return Pi({stops:i,base:e.base},t,n).evaluate(n,r)}}}if(i){let n=a===`exponential`?{name:`exponential`,base:e.base===void 0?1:e.base}:null;return{kind:`camera`,interpolationType:n,interpolationFactor:ln.interpolationFactor.bind(void 0,n),zoomStops:e.stops.map(e=>e[0]),evaluate:({zoom:n})=>s(e,t,n,c,l)}}return{kind:`source`,evaluate(n,r){let i=r&&r.properties?r.properties[e.property]:void 0;return i===void 0?ji(e.default,t.default):s(e,t,i,c,l)}}}function ji(e,t,n){if(e!==void 0)return e;if(t!==void 0)return t;if(n!==void 0)return n}function Mi(e,t,n,r,i){return ji(typeof n===i?r[n]:void 0,e.default,t.default)}function Ni(e,t,n){if(U(n)!==`number`)return ji(e.default,t.default);let r=e.stops.length;if(r===1||n<=e.stops[0][0])return e.stops[0][1];if(n>=e.stops[r-1][0])return e.stops[r-1][1];let i=on(e.stops.map(e=>e[0]),n,``);return e.stops[i][1]}function Pi(e,t,n){let r=e.base===void 0?1:e.base;if(U(n)!==`number`)return ji(e.default,t.default);let i=e.stops.length;if(i===1||n<=e.stops[0][0])return e.stops[0][1];if(n>=e.stops[i-1][0])return e.stops[i-1][1];let a=on(e.stops.map(e=>e[0]),n,``),o=Ii(n,r,e.stops[a][0],e.stops[a+1][0]),s=e.stops[a][1],c=e.stops[a+1][1],l=dn[t.type]||Di;return typeof s.evaluate==`function`?{evaluate(...t){let n=s.evaluate.apply(void 0,t),r=c.evaluate.apply(void 0,t);if(n!==void 0&&r!==void 0)return l(n,r,o,e.colorSpace)}}:l(s,c,o,e.colorSpace)}function Fi(e,t,n){switch(t.type){case`color`:n=V.parse(n);break;case`formatted`:n=Ut.fromString(n.toString());break;case`resolvedImage`:n=Yt.fromString(n.toString());break;case`padding`:n=Wt.parse(n);break;case`colorArray`:n=Kt.parse(n);break;case`numberArray`:n=Gt.parse(n);break;default:U(n)!==t.type&&(t.type!==`enum`||!t.values[n])&&(n=void 0)}return ji(n,e.default,t.default)}function Ii(e,t,n,r){let i=r-n,a=e-n;return i===0?0:t===1?a/i:(t**+a-1)/(t**+i-1)}function Li(e){return{result:`success`,value:e}}function Ri(e){return{result:`error`,value:e}}var zi=class{constructor(e,t,n,r){this.expression=e,this._warningHistory={},this._evaluator=new an,this._defaultValue=n?$i(n):null,this._enumValues=n&&n.type===`enum`?n.values:null,this._globalState=r,this._rootKey=t}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._globalState&&(e=ea(e,this._globalState)),this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=n,this._evaluator.canonical=r,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(e,t,n,r,i,a){this._globalState&&(e=ea(e,this._globalState)),this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=n||null,this._evaluator.canonical=r,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{let e=this.expression.evaluate(this._evaluator);if(e==null||typeof e==`number`&&e!==e)return this._defaultValue;if(this._enumValues&&!(e in this._enumValues))throw new H(`Expected value to be one of ${Object.keys(this._enumValues).map(e=>JSON.stringify(e)).join(`, `)}, but found ${JSON.stringify(e)} instead.`,``);return e}catch(e){let t=e instanceof H?e.path:``,n=`${t}|${e.message}`;return this._warningHistory[n]||(this._warningHistory[n]=!0,typeof console<`u`&&console.warn(Bi(this._rootKey,t,e.message,this._defaultValue))),this._defaultValue}}};function Bi(e,t,n,r){return`${e}${t}: ${n}${r==null?``:` Falling back to ${String(r)}.`}`}function Vi(e){if(!e)throw Error(`rootKey must identify the location of the expression in the style JSON, e.g. \"layers[3].paint.line-width\".`)}function Hi(e){return Array.isArray(e)&&e.length>0&&typeof e[0]==`string`&&e[0]in oi}function Ui(e,t,n,r){Vi(t);let i=new li(oi,_i,[],n?Qi(n):void 0),a=i.parse(e,void 0,void 0,void 0,n&&n.type===`string`?{typeAnnotation:`coerce`}:void 0);return a?Li(new zi(a,t,n,r)):Ri(i.errors)}var Wi=class{constructor(e,t,n){this.kind=e,this._styleExpression=t,this.isStateDependent=e!==`constant`&&!yi(t.expression),this.globalStateRefs=Zi(t.expression),this._globalState=n}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._globalState&&(e=ea(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,n,r,i,a)}evaluate(e,t,n,r,i,a){return this._globalState&&(e=ea(e,this._globalState)),this._styleExpression.evaluate(e,t,n,r,i,a)}},Gi=class{constructor(e,t,n,r,i){this.kind=e,this.zoomStops=n,this._styleExpression=t,this.isStateDependent=e!==`camera`&&!yi(t.expression),this.globalStateRefs=Zi(t.expression),this.interpolationType=r,this._globalState=i}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._globalState&&(e=ea(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,n,r,i,a)}evaluate(e,t,n,r,i,a){return this._globalState&&(e=ea(e,this._globalState)),this._styleExpression.evaluate(e,t,n,r,i,a)}interpolationFactor(e,t,n){return this.interpolationType?ln.interpolationFactor(this.interpolationType,e,t,n):0}};function Ki(e){return e._styleExpression!==void 0}function qi(e,t,n,r){let i=Ui(e,t,n,r);if(i.result===`error`)return i;let a=i.value.expression,o=vi(a);if(!o&&!xi(n))return Ri([new si(``,`data expressions not supported`)]);let s=bi(a,[`zoom`]);if(!s&&!Si(n))return Ri([new si(``,`zoom expressions not supported`)]);let c=Xi(a);if(!c&&!s)return Ri([new si(``,`\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.`)]);if(c instanceof si)return Ri([c]);if(c instanceof ln&&!Ci(n))return Ri([new si(``,`\"interpolate\" expressions cannot be used with this property`)]);if(!c)return Li(o?new Wi(`constant`,i.value,r):new Wi(`source`,i.value,r));let l=c instanceof ln?c.interpolation:void 0;return Li(o?new Gi(`camera`,i.value,c.labels,l,r):new Gi(`composite`,i.value,c.labels,l,r))}var Ji=class e{constructor(e,t,n){this.isStateDependent=!1,this.globalStateRefs=new Set,this._globalState=null,Vi(t),this._parameters=e,this._specification=n,this._rootKey=t,this._defaultValue=$i(n),this._warningHistory={};let r=Ai(this._parameters,this._specification);this.kind=r.kind,this.interpolationFactor=r.interpolationFactor,this.zoomStops=r.zoomStops,this.interpolationType=r.interpolationType,this._innerEvaluate=r.evaluate}evaluate(e,t){try{return this._innerEvaluate(e,t)}catch(e){let t=e instanceof Error?e.message:String(e),n=`|${t}`;return this._warningHistory[n]||(this._warningHistory[n]=!0,typeof console<`u`&&console.warn(Bi(this._rootKey,``,t,this._defaultValue))),this._defaultValue}}static deserialize(t){return new e(t._parameters,t._rootKey,t._specification)}static serialize(e){return{_parameters:e._parameters,_specification:e._specification,_rootKey:e._rootKey}}};function Yi(e,t,n,r){if(Ei(e))return new Ji(e,t,n);if(Hi(e)){let i=qi(e,t,n,r);if(i.result===`error`)throw Error(i.value.map(e=>`${e.key}: ${e.message}`).join(`, `));return i.value}{let t=e;return n.type===`color`&&typeof e==`string`?t=V.parse(e):n.type===`padding`&&(typeof e==`number`||Array.isArray(e))?t=Wt.parse(e):n.type===`numberArray`&&(typeof e==`number`||Array.isArray(e))?t=Gt.parse(e):n.type===`colorArray`&&(typeof e==`string`||Array.isArray(e))?t=Kt.parse(e):n.type===`variableAnchorOffsetCollection`&&Array.isArray(e)?t=Jt.parse(e):n.type===`projectionDefinition`&&typeof e==`string`&&(t=Xt.parse(e)),{globalStateRefs:new Set,_globalState:null,kind:`constant`,evaluate:()=>t}}}function Xi(e){let t=null;if(e instanceof Cn)t=Xi(e.result);else if(e instanceof jn){for(let n of e.args)if(t=Xi(n),t)break}else(e instanceof sn||e instanceof ln)&&e.input instanceof ui&&e.input.name===`zoom`&&(t=e);return t instanceof si||e.eachChild(e=>{let n=Xi(e);n instanceof si?t=n:!t&&n?t=new si(``,`\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.`):t&&n&&t!==n&&(t=new si(``,`Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.`))}),t}function Zi(e,t=new Set){return e instanceof ai&&t.add(e.key),e.eachChild(e=>{Zi(e,t)}),t}function Qi(e){let t={color:Xe,string:L,number:I,enum:L,boolean:R,formatted:tt,padding:nt,numberArray:it,colorArray:rt,projectionDefinition:Ze,resolvedImage:at,variableAnchorOffsetCollection:ot};return e.type===`array`?st(t[e.value]||z,e.length):t[e.type]}function $i(e){if(e.type===`color`&&Ei(e.default))return new V(0,0,0,0);switch(e.type){case`color`:return V.parse(e.default)||null;case`padding`:return Wt.parse(e.default)||null;case`numberArray`:return Gt.parse(e.default)||null;case`colorArray`:return Kt.parse(e.default)||null;case`variableAnchorOffsetCollection`:return Jt.parse(e.default)||null;case`projectionDefinition`:return Xt.parse(e.default)||null;default:return e.default===void 0?null:e.default}}function ea(e,t){let{zoom:n,heatmapDensity:r,elevation:i,lineProgress:a,isSupportedScript:o,accumulated:s}=e??{};return{zoom:n,heatmapDensity:r,elevation:i,lineProgress:a,isSupportedScript:o,accumulated:s,globalState:t}}function ta(e){let t=!1;for(let n of e){let e=na(n);if(e===`expression`)return`expression`;e===`legacy`&&(t=!0)}return t?`legacy`:`neutral`}function na(e){if(typeof e==`boolean`)return`neutral`;if(!Array.isArray(e)||e.length===0)return`legacy`;switch(e[0]){case`has`:return e.length<2||e[1]===`$id`||e[1]===`$type`?`legacy`:e.length===2?`neutral`:`expression`;case`in`:return e.length>=3&&(typeof e[1]!=`string`||Array.isArray(e[2]))?`expression`:`legacy`;case`!in`:case`!has`:return`legacy`;case`==`:case`!=`:case`>`:case`>=`:case`<`:case`<=`:return e.length!==3||Array.isArray(e[1])||Array.isArray(e[2])?`expression`:`legacy`;case`none`:return`legacy`;case`any`:case`all`:return ta(e.slice(1));default:return`expression`}}function ra(e){return na(e)!==`legacy`}function ia(e){return e===`$type`?[`geometry-type`]:e===`$id`?[`id`]:[`get`,e]}function aa(e){switch(e[0]){case`==`:case`!=`:case`<`:case`<=`:case`>`:case`>=`:return e.length!==3||typeof e[1]!=`string`?null:[e[0],ia(e[1]),e[2]];case`in`:case`!in`:{if(e.length<2||typeof e[1]!=`string`)return null;let t=[`in`,ia(e[1]),[`literal`,e.slice(2)]];return e[0]===`!in`?[`!`,t]:t}case`has`:case`!has`:{if(e.length!==2||typeof e[1]!=`string`||e[1]===`$type`||e[1]===`$id`)return null;let t=[`has`,e[1]];return e[0]===`!has`?[`!`,t]:t}default:return null}}function oa(e){if((e[0]===`<`||e[0]===`<=`||e[0]===`>`||e[0]===`>=`)&&e[1]===`$type`)return`\"$type\" cannot be use with operator \"${e[0]}\"`;let t=aa(e);return t?`Mixing deprecated filter syntax with expression syntax is not supported. Replace ${JSON.stringify(e)} with ${JSON.stringify(t)}.`:`Mixing deprecated filter syntax with expression syntax is not supported. Convert ${JSON.stringify(e)} to expression syntax.`}function sa(e,t,n){let r=n[e];return Array.isArray(r)?ra(r)?ca(r,t.concat(e)):{path:t.concat(e),legacyFilter:r}:null}function ca(e,t=[]){if(!Array.isArray(e)||e.length<1)return null;switch(e[0]){case`all`:case`any`:case`none`:for(let n=1;n<e.length;n++){let r=sa(n,t,e);if(r)return r}break;case`!`:{let n=sa(1,t,e);if(n)return n;break}case`case`:for(let n=1;n<e.length-1;n+=2){let r=sa(n,t,e);if(r)return r}}return null}function la(e,t){let n=ca(e);if(!n||typeof console>`u`)return;let r=n.path.map(e=>`[${e}]`).join(``);console.warn(`${t}${r}: ${oa(n.legacyFilter)}`)}var ua={type:`boolean`,default:!1,transition:!1,\"property-type\":`data-driven`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]}};function da(e,t,n){if(e==null)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};ra(e)?la(e,t):e=ma(e);let r=Ui(e,t,ua,n);if(r.result===`error`)throw Error(r.value.map(e=>`${e.key}: ${e.message}`).join(`, `));return{filter:(e,t,n)=>r.value.evaluate(e,t,{},n),needGeometry:pa(e),getGlobalStateRefs:()=>Zi(r.value.expression)}}function fa(e,t){return e<t?-1:+(e>t)}function pa(e){if(!Array.isArray(e))return!1;if(e[0]===`within`||e[0]===`distance`)return!0;for(let t=1;t<e.length;t++)if(pa(e[t]))return!0;return!1}function ma(e){if(!e)return!0;let t=e[0];return e.length<=1?t!==`any`:t===`==`?ha(e[1],e[2],`==`):t===`!=`?ya(ha(e[1],e[2],`==`)):t===`<`||t===`>`||t===`<=`||t===`>=`?ha(e[1],e[2],t):t===`any`?ga(e.slice(1)):t===`all`?[`all`].concat(e.slice(1).map(ma)):t===`none`?[`all`].concat(e.slice(1).map(ma).map(ya)):t===`in`?_a(e[1],e.slice(2)):t===`!in`?ya(_a(e[1],e.slice(2))):t===`has`?va(e[1]):t!==`!has`||ya(va(e[1]))}function ha(e,t,n){switch(e){case`$type`:return[`filter-type-${n}`,t];case`$id`:return[`filter-id-${n}`,t];default:return[`filter-${n}`,e,t]}}function ga(e){return[`any`].concat(e.map(ma))}function _a(e,t){if(t.length===0)return!1;switch(e){case`$type`:return[`filter-type-in`,[`literal`,t]];case`$id`:return[`filter-id-in`,[`literal`,t]];default:return t.length>200&&!t.some(e=>typeof e!=typeof t[0])?[`filter-in-large`,e,[`literal`,t.sort(fa)]]:[`filter-in-small`,e,[`literal`,t]]}}function va(e){switch(e){case`$type`:return!0;case`$id`:return[`filter-has-id`];default:return[`filter-has`,e]}}function ya(e){return[`!`,e]}function ba(e){let t=e.key,n=e.value;return n?[new F(t,n,`constants have been deprecated as of v8`)]:[]}function xa(e){return e instanceof Number||e instanceof String||e instanceof Boolean?e.valueOf():e}function Sa(e){if(Array.isArray(e))return e.map(Sa);if(e instanceof Object&&!(e instanceof Number||e instanceof String||e instanceof Boolean)){let t={};for(let n in e)t[n]=Sa(e[n]);return t}return xa(e)}function Ca(e){let t=e.key,n=e.value,r=e.valueSpec||{},i=e.objectElementValidators||{},a=e.style,o=e.styleSpec,s=e.validateSpec,c=[],l=U(n);if(l!==`object`)return[new F(t,n,`object expected, ${l} found`)];for(let e in n){let l=e.split(`.`)[0],u=jt(r,l)||r[`*`],d;if(jt(i,l))d=i[l];else if(jt(r,l)){if(n[e]===void 0)continue;d=s}else if(i[`*`])d=i[`*`];else if(r[`*`])d=s;else{c.push(new F(t,n[e],`unknown property \"${e}\"`));continue}c=c.concat(d({key:(t&&`${t}.`)+e,value:n[e],valueSpec:u,style:a,styleSpec:o,object:n,objectKey:e,validateSpec:s},n))}for(let e in r)i[e]||r[e].required&&r[e].default===void 0&&n[e]===void 0&&c.push(new F(t,n,`missing required property \"${e}\"`));return c}function wa(e){let t=e.value,n=e.valueSpec,r=e.validateSpec,i=e.style,a=e.styleSpec,o=e.key,s=e.arrayElementValidator||r;if(U(t)!==`array`)return[new F(o,t,`array expected, ${U(t)} found`)];if(n.length&&t.length!==n.length)return[new F(o,t,`array length ${n.length} expected, length ${t.length} found`)];let c={type:n.value,values:n.values};a.$version<7&&(c.function=n.function),U(n.value)===`object`&&(c=n.value);let l=[];for(let n=0;n<t.length;n++)l=l.concat(s({array:t,arrayIndex:n,value:t[n],valueSpec:c,validateSpec:e.validateSpec,style:i,styleSpec:a,key:`${o}[${n}]`}));return l}function Ta(e){let t=e.key,n=e.value,r=e.valueSpec,i=U(n);return i===`number`&&n!==n&&(i=`NaN`),i===`number`?`minimum`in r&&n<r.minimum?[new F(t,n,`${n} is less than the minimum value ${r.minimum}`)]:`maximum`in r&&n>r.maximum?[new F(t,n,`${n} is greater than the maximum value ${r.maximum}`)]:[]:[new F(t,n,`number expected, ${i} found`)]}function Ea(e){let t=e.valueSpec,n=xa(e.value.type),r,i={},a,o,s=n!==`categorical`&&e.value.property===void 0,c=!s,l=U(e.value.stops)===`array`&&U(e.value.stops[0])===`array`&&U(e.value.stops[0][0])===`object`,u=Ca({key:e.key,value:e.value,valueSpec:e.styleSpec.function,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:d,default:m}});return n===`identity`&&s&&u.push(new F(e.key,e.value,`missing required property \"property\"`)),n!==`identity`&&!e.value.stops&&u.push(new F(e.key,e.value,`missing required property \"stops\"`)),n===`exponential`&&e.valueSpec.expression&&!Ci(e.valueSpec)&&u.push(new F(e.key,e.value,`exponential functions not supported`)),e.styleSpec.$version>=8&&(c&&!xi(e.valueSpec)?u.push(new F(e.key,e.value,`property functions not supported`)):s&&!Si(e.valueSpec)&&u.push(new F(e.key,e.value,`zoom functions not supported`))),(n===`categorical`||l)&&e.value.property===void 0&&u.push(new F(e.key,e.value,`\"property\" property is required`)),u;function d(e){if(n===`identity`)return[new F(e.key,e.value,`identity function may not have a \"stops\" property`)];let t=[],r=e.value;return t=t.concat(wa({key:e.key,value:r,valueSpec:e.valueSpec,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,arrayElementValidator:f})),U(r)===`array`&&r.length===0&&t.push(new F(e.key,r,`array must have at least one stop`)),t}function f(e){let n=[],r=e.value,s=e.key;if(U(r)!==`array`)return[new F(s,r,`array expected, ${U(r)} found`)];if(r.length!==2)return[new F(s,r,`array length 2 expected, length ${r.length} found`)];if(l){if(U(r[0])!==`object`)return[new F(s,r,`object expected, ${U(r[0])} found`)];if(r[0].zoom===void 0)return[new F(s,r,`object stop key must have zoom`)];if(r[0].value===void 0)return[new F(s,r,`object stop key must have value`)];if(o&&o>xa(r[0].zoom))return[new F(s,r[0].zoom,`stop zoom values must appear in ascending order`)];xa(r[0].zoom)!==o&&(o=xa(r[0].zoom),a=void 0,i={}),n=n.concat(Ca({key:`${s}[0]`,value:r[0],valueSpec:{zoom:{}},validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:Ta,value:p}}))}else n=n.concat(p({key:`${s}[0]`,value:r[0],valueSpec:{},validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec},r));return Hi(Sa(r[1]))?n.concat([new F(`${s}[1]`,r[1],`expressions are not allowed in function stops.`)]):n.concat(e.validateSpec({key:`${s}[1]`,value:r[1],valueSpec:t,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec}))}function p(e,o){let s=U(e.value),c=xa(e.value),l=e.value===null?o:e.value;if(!r)r=s;else if(s!==r)return[new F(e.key,l,`${s} stop domain type must match previous stop domain type ${r}`)];if(s!==`number`&&s!==`string`&&s!==`boolean`)return[new F(e.key,l,`stop domain value must be a number, string, or boolean`)];if(s!==`number`&&n!==`categorical`){let r=`number expected, ${s} found`;return xi(t)&&n===void 0&&(r+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new F(e.key,l,r)]}return n===`categorical`&&s===`number`&&(!isFinite(c)||Math.floor(c)!==c)?[new F(e.key,l,`integer expected, found ${c}`)]:n!==`categorical`&&s===`number`&&a!==void 0&&c<a?[new F(e.key,l,`stop domain values must appear in ascending order`)]:(a=c,n===`categorical`&&c in i?[new F(e.key,l,`stop domain values must be unique`)]:(i[c]=!0,[]))}function m(e){return e.validateSpec({key:e.key,value:e.value,valueSpec:t,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec})}}function Da(e){let t=(e.expressionContext===`property`?qi:Ui)(Sa(e.value),e.key,e.valueSpec);if(t.result===`error`)return t.value.map(t=>new F(`${e.key}${t.key}`,e.value,t.message));let n=t.value.expression||t.value._styleExpression.expression;if(e.expressionContext===`property`&&e.propertyKey===`text-font`&&!n.outputDefined())return[new F(e.key,e.value,`Invalid data expression for \"${e.propertyKey}\". Output values must be contained as literals within the expression.`)];if(e.expressionContext===`property`&&e.propertyType===`layout`&&!yi(n))return[new F(e.key,e.value,`\"feature-state\" data expressions are not supported with layout properties.`)];if(e.expressionContext===`filter`&&!yi(n))return[new F(e.key,e.value,`\"feature-state\" data expressions are not supported with filters.`)];if(e.expressionContext&&e.expressionContext.indexOf(`cluster`)===0){if(!bi(n,[`zoom`,`feature-state`]))return[new F(e.key,e.value,`\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.`)];if(e.expressionContext===`cluster-initial`&&!vi(n))return[new F(e.key,e.value,`Feature data expressions are not supported with initial expression part of cluster properties.`)]}return[]}function Oa(e){let t=e.value,n=e.key,r=U(t);return r===`boolean`?[]:[new F(n,t,`boolean expected, ${r} found`)]}function ka(e){let t=e.key,n=e.value,r=U(n);return r===`string`?V.parse(String(n))?[]:[new F(t,n,`color expected, \"${n}\" found`)]:[new F(t,n,`color expected, ${r} found`)]}function Aa(e){let t=e.key,n=e.value,r=e.valueSpec,i=[];return Array.isArray(r.values)?r.values.indexOf(xa(n))===-1&&i.push(new F(t,n,`expected one of [${r.values.join(`, `)}], ${JSON.stringify(n)} found`)):Object.keys(r.values).indexOf(xa(n))===-1&&i.push(new F(t,n,`expected one of [${Object.keys(r.values).join(`, `)}], ${JSON.stringify(n)} found`)),i}function ja(e,t){let n=e;for(let e of t)n=n[e];return n}function Ma(e,t){let n=ca(t);return n?[new F(`${e.key}${n.path.map(e=>`[${e}]`).join(``)}`,ja(e.value,n.path),oa(n.legacyFilter),null,`warning`)]:[]}function Na(e){let t=Sa(e.value);return ra(t)?[...Ma(e,t),...Da(Ti({},e,{expressionContext:`filter`,valueSpec:{value:`boolean`}}))]:Pa(e)}function Pa(e){let t=e.value,n=e.key;if(U(t)!==`array`)return[new F(n,t,`array expected, ${U(t)} found`)];let r=e.styleSpec,i,a=[];if(t.length<1)return[new F(n,t,`filter array must have at least 1 element`)];switch(a=a.concat(Aa({key:`${n}[0]`,value:t[0],valueSpec:r.filter_operator,style:e.style,styleSpec:e.styleSpec})),xa(t[0])){case`<`:case`<=`:case`>`:case`>=`:t.length>=2&&xa(t[1])===`$type`&&a.push(new F(n,t,`\"$type\" cannot be use with operator \"${t[0]}\"`));case`==`:case`!=`:t.length!==3&&a.push(new F(n,t,`filter array for operator \"${t[0]}\" must have 3 elements`));case`in`:case`!in`:t.length>=2&&(i=U(t[1]),i!==`string`&&a.push(new F(`${n}[1]`,t[1],`string expected, ${i} found`)));for(let o=2;o<t.length;o++)i=U(t[o]),xa(t[1])===`$type`?a=a.concat(Aa({key:`${n}[${o}]`,value:t[o],valueSpec:r.geometry_type,style:e.style,styleSpec:e.styleSpec})):i!==`string`&&i!==`number`&&i!==`boolean`&&a.push(new F(`${n}[${o}]`,t[o],`string, number, or boolean expected, ${i} found`));break;case`any`:case`all`:case`none`:for(let r=1;r<t.length;r++)a=a.concat(Pa({key:`${n}[${r}]`,value:t[r],style:e.style,styleSpec:e.styleSpec}));break;case`has`:case`!has`:i=U(t[1]),t.length===2?i!==`string`&&a.push(new F(`${n}[1]`,t[1],`string expected, ${i} found`)):a.push(new F(n,t,`filter array for \"${t[0]}\" operator must have 2 elements`))}return a}function Fa(e,t){let n=e.key,r=e.validateSpec,i=e.style,a=e.styleSpec,o=e.value,s=e.objectKey,c=a[`${t}_${e.layerType}`];if(!c)return[];let l=s.match(wi);if(t===`paint`&&l&&c[l[1]]&&c[l[1]].transition)return r({key:n,value:o,valueSpec:a.transition,style:i,styleSpec:a});let u=e.valueSpec||c[s];if(!u)return[new F(n,o,`unknown property \"${s}\"`)];let d;if(U(o)===`string`&&xi(u)&&!u.tokens&&(d=/^{([^}]+)}$/.exec(o)))return[new F(n,o,`\"${s}\" does not support interpolation syntax\\nUse an identity property function instead: \\`{ \"type\": \"identity\", \"property\": ${JSON.stringify(d[1])} }\\`.`)];let f=[];return e.layerType===`symbol`&&s===`text-font`&&Ei(Sa(o))&&xa(o.type)===`identity`&&f.push(new F(n,o,`\"text-font\" does not support identity functions`)),f.concat(r({key:e.key,value:o,valueSpec:u,style:i,styleSpec:a,expressionContext:`property`,propertyType:t,propertyKey:s}))}function Ia(e){return Fa(e,`paint`)}function La(e){return Fa(e,`layout`)}function Ra(e){let t=[],n=e.value,r=e.key,i=e.style,a=e.styleSpec;if(U(n)!==`object`)return[new F(r,n,`object expected, ${U(n)} found`)];!n.type&&!n.ref&&t.push(new F(r,n,`either \"type\" or \"ref\" is required`));let o=xa(n.type),s=xa(n.ref);if(n.id){let a=xa(n.id);for(let o=0;o<e.arrayIndex;o++){let e=i.layers[o];xa(e.id)===a&&t.push(new F(r,n.id,`duplicate layer id \"${n.id}\", previously used at line ${e.id.__line__}`))}}if(`ref`in n){[`type`,`source`,`source-layer`,`filter`,`layout`].forEach(e=>{e in n&&t.push(new F(r,n[e],`\"${e}\" is prohibited for ref layers`))});let e;i.layers.forEach(t=>{xa(t.id)===s&&(e=t)}),e?e.ref?t.push(new F(r,n.ref,`ref cannot reference another ref layer`)):o=xa(e.type):t.push(new F(r,n.ref,`ref layer \"${s}\" not found`))}else if(o!==`background`){if(!n.source)t.push(new F(r,n,`missing required property \"source\"`));else{let e=i.sources&&i.sources[n.source],a=e&&xa(e.type);e?a===`vector`&&o===`raster`?t.push(new F(r,n.source,`layer \"${n.id}\" requires a raster source`)):a!==`raster-dem`&&o===`hillshade`||a!==`raster-dem`&&o===`color-relief`?t.push(new F(r,n.source,`layer \"${n.id}\" requires a raster-dem source`)):a===`raster`&&o!==`raster`?t.push(new F(r,n.source,`layer \"${n.id}\" requires a vector source`)):a===`vector`&&!n[`source-layer`]?t.push(new F(r,n,`layer \"${n.id}\" must specify a \"source-layer\"`)):a===`raster-dem`&&o!==`hillshade`&&o!==`color-relief`?t.push(new F(r,n.source,`raster-dem source can only be used with layer type 'hillshade' or 'color-relief'.`)):o===`line`&&n.paint&&n.paint[`line-gradient`]&&(a!==`geojson`||!e.lineMetrics)&&t.push(new F(r,n,`layer \"${n.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):t.push(new F(r,n.source,`source \"${n.source}\" not found`))}}return o===`raster`&&n.paint?.resampling&&n.paint?.[`raster-resampling`]&&t.push(new F(r,n.paint,`layer \"${n.id}\" redundantly specifies \"resampling\" and \"raster-resampling\" paint properties, but only one is allowed. It is advised to use \"resampling\".`)),t=t.concat(Ca({key:r,value:n,valueSpec:a.layer,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{\"*\"(){return[]},type(){return e.validateSpec({key:`${r}.type`,value:n.type,valueSpec:a.layer.type,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,object:n,objectKey:`type`})},filter:Na,layout(e){return Ca({layer:n,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{\"*\"(e){return La(Ti({layerType:o},e))}}})},paint(e){return Ca({layer:n,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{\"*\"(e){return Ia(Ti({layerType:o},e))}}})}}})),t}function za(e){let t=e.value,n=e.key,r=U(t);return r===`string`?[]:[new F(n,t,`string expected, ${r} found`)]}function Ba(e){let t=e.sourceName??``,n=e.value,r=e.styleSpec,i=r.source_raster_dem,a=e.style,o=[],s=U(n);if(n===void 0)return o;if(s!==`object`)return o.push(new F(`source_raster_dem`,n,`object expected, ${s} found`)),o;let c=xa(n.encoding)===`custom`,l=[`redFactor`,`greenFactor`,`blueFactor`,`baseShift`],u=e.value.encoding?`\"${e.value.encoding}\"`:`Default`;for(let s in n)!c&&l.includes(s)?o.push(new F(s,n[s],`In \"${t}\": \"${s}\" is only valid when \"encoding\" is set to \"custom\". ${u} encoding found`)):i[s]?o=o.concat(e.validateSpec({key:s,value:n[s],valueSpec:i[s],validateSpec:e.validateSpec,style:a,styleSpec:r})):o.push(new F(s,n[s],`unknown property \"${s}\"`));return o}var Va={promoteId:Ua};function Ha(e){let t=e.value,n=e.key,r=e.styleSpec,i=e.style,a=e.validateSpec;if(!t.type)return[new F(n,t,`\"type\" is required`)];let o=xa(t.type),s;switch(o){case`vector`:case`raster`:return s=Ca({key:n,value:t,valueSpec:r[`source_${o.replace(`-`,`_`)}`],style:e.style,styleSpec:r,objectElementValidators:Va,validateSpec:a}),s;case`raster-dem`:return s=Ba({sourceName:n,value:t,style:e.style,styleSpec:r,validateSpec:a}),s;case`geojson`:if(s=Ca({key:n,value:t,valueSpec:r.source_geojson,style:i,styleSpec:r,validateSpec:a,objectElementValidators:Va}),t.cluster)for(let e in t.clusterProperties){let[r,i]=t.clusterProperties[e],o=typeof r==`string`?[r,[`accumulated`],[`get`,e]]:r;s.push(...Da({key:`${n}.${e}.map`,value:i,validateSpec:a,expressionContext:`cluster-map`})),s.push(...Da({key:`${n}.${e}.reduce`,value:o,validateSpec:a,expressionContext:`cluster-reduce`}))}return s;case`video`:return Ca({key:n,value:t,valueSpec:r.source_video,style:i,validateSpec:a,styleSpec:r});case`image`:return Ca({key:n,value:t,valueSpec:r.source_image,style:i,validateSpec:a,styleSpec:r});case`canvas`:return[new F(n,null,`Please use runtime APIs to add canvas sources, rather than including them in stylesheets.`,`source.canvas`)];default:return Aa({key:`${n}.type`,value:t.type,valueSpec:{values:[`vector`,`raster`,`raster-dem`,`geojson`,`video`,`image`]},style:i,validateSpec:a,styleSpec:r})}}function Ua({key:e,value:t}){if(U(t)===`string`)return za({key:e,value:t});{let n=[];for(let r in t)n.push(...za({key:`${e}.${r}`,value:t[r]}));return n}}function Wa(e){let t=e.value,n=e.styleSpec,r=n.light,i=e.style,a=[],o=U(t);if(t===void 0)return a;if(o!==`object`)return a=a.concat([new F(`light`,t,`object expected, ${o} found`)]),a;for(let o in t){let s=o.match(wi);a=s&&r[s[1]]&&r[s[1]].transition?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:n.transition,validateSpec:e.validateSpec,style:i,styleSpec:n})):r[o]?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:r[o],validateSpec:e.validateSpec,style:i,styleSpec:n})):a.concat([new F(o,t[o],`unknown property \"${o}\"`)])}return a}function Ga(e){let t=e.value,n=e.styleSpec,r=n.sky,i=e.style,a=U(t);if(t===void 0)return[];if(a!==`object`)return[new F(`sky`,t,`object expected, ${a} found`)];let o=[];for(let a in t){let s=a.match(wi);o=s&&r[s[1]]&&r[s[1]].transition?o.concat(e.validateSpec({key:a,value:t[a],valueSpec:n.transition,style:i,styleSpec:n})):r[a]?o.concat(e.validateSpec({key:a,value:t[a],valueSpec:r[a],style:i,styleSpec:n})):o.concat([new F(a,t[a],`unknown property \"${a}\"`)])}return o}function Ka(e){let t=e.value,n=e.styleSpec,r=n.terrain,i=e.style,a=[],o=U(t);if(t===void 0)return a;if(o!==`object`)return a=a.concat([new F(`terrain`,t,`object expected, ${o} found`)]),a;for(let o in t)a=r[o]?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:r[o],validateSpec:e.validateSpec,style:i,styleSpec:n})):a.concat([new F(o,t[o],`unknown property \"${o}\"`)]);return a}function qa(e){return za(e).length===0?[]:Da(e)}function Ja(e){return za(e).length===0?[]:Da(e)}function Ya(e){let t=e.key,n=e.value;if(U(n)===`array`){if(n.length<1||n.length>4)return[new F(t,n,`padding requires 1 to 4 values; ${n.length} values found`)];let r={type:`number`},i=[];for(let a=0;a<n.length;a++)i=i.concat(e.validateSpec({key:`${t}[${a}]`,value:n[a],validateSpec:e.validateSpec,valueSpec:r}));return i}return Ta({key:t,value:n,valueSpec:{}})}function Xa(e){let t=e.key,n=e.value;if(U(n)===`array`){let r={type:`number`};if(n.length<1)return[new F(t,n,`array length at least 1 expected, length 0 found`)];let i=[];for(let a=0;a<n.length;a++)i=i.concat(e.validateSpec({key:`${t}[${a}]`,value:n[a],validateSpec:e.validateSpec,valueSpec:r}));return i}return Ta({key:t,value:n,valueSpec:{}})}function Za(e){let t=e.key,n=e.value;if(U(n)===`array`){if(n.length<1)return[new F(t,n,`array length at least 1 expected, length 0 found`)];let e=[];for(let r=0;r<n.length;r++)e=e.concat(ka({key:`${t}[${r}]`,value:n[r],valueSpec:{}}));return e}return ka({key:t,value:n,valueSpec:{}})}function Qa(e){let t=e.key,n=e.value,r=U(n),i=e.styleSpec;if(r!==`array`||n.length<1||n.length%2!=0)return[new F(t,n,`variableAnchorOffsetCollection requires a non-empty array of even length`)];let a=[];for(let r=0;r<n.length;r+=2)a=a.concat(Aa({key:`${t}[${r}]`,value:n[r],valueSpec:i.layout_symbol[`text-anchor`]})),a=a.concat(wa({key:`${t}[${r+1}]`,value:n[r+1],valueSpec:{length:2,value:`number`},validateSpec:e.validateSpec,style:e.style,styleSpec:i}));return a}function $a(e){let t=[],n=e.value,r=e.key;if(Array.isArray(n)){let i=[],a=[];for(let o in n)n[o].id&&i.includes(n[o].id)&&t.push(new F(r,n,`all the sprites' ids must be unique, but ${n[o].id} is duplicated`)),i.push(n[o].id),n[o].url&&a.includes(n[o].url)&&t.push(new F(r,n,`all the sprites' URLs must be unique, but ${n[o].url} is duplicated`)),a.push(n[o].url),t=t.concat(Ca({key:`${r}[${o}]`,value:n[o],valueSpec:{id:{type:`string`,required:!0},url:{type:`string`,required:!0}},validateSpec:e.validateSpec}));return t}return za({key:r,value:n})}function eo(e){let t=e.value,n=e.styleSpec,r=n.projection,i=e.style,a=U(t);if(t===void 0)return[];if(a!==`object`)return[new F(`projection`,t,`object expected, ${a} found`)];let o=[];for(let a in t)o=r[a]?o.concat(e.validateSpec({key:a,value:t[a],valueSpec:r[a],style:i,styleSpec:n})):o.concat([new F(a,t[a],`unknown property \"${a}\"`)]);return o}function to(e){let t=e.key,n=e.value;n=n instanceof String?n.valueOf():n;let r=U(n);return r===`array`&&!ro(n)&&!no(n)?[new F(t,n,`projection expected, invalid array ${JSON.stringify(n)} found`)]:[`array`,`string`].includes(r)?[]:[new F(t,n,`projection expected, invalid type \"${r}\" found`)]}function no(e){return!![`interpolate`,`step`,`literal`].includes(e[0])}function ro(e){return Array.isArray(e)&&e.length===3&&typeof e[0]==`string`&&typeof e[1]==`string`&&typeof e[2]==`number`}function io(e){return!!e&&e.constructor===Object}function ao(e){return io(e.value)?[]:[new F(e.key,e.value,`object expected, ${U(e.value)} found`)]}var oo=1114111,so=/^u\\+(?:([0-9a-f]{1,6})(?:-([0-9a-f]{1,6}))?|([0-9a-f]{0,5}\\?{1,6}))$/i;function co(e,t){if(U(t)!==`string`)return[];let n=`${t}`,r=()=>[new F(e,t,`invalid unicode range, expected a value such as \"U+26\", \"U+0-10FFFF\" or \"U+4??\"`)],i=n.match(so);if(!i)return r();let[,a,o,s]=i;if(s!==void 0)return s.length>6?r():[];let c=parseInt(a,16),l=o===void 0?c:parseInt(o,16);return c>oo||l>oo?[new F(e,t,`unicode range is out of bounds, the maximum code point is U+10FFFF`)]:c>l?[new F(e,t,`unicode range start must not be greater than its end, but ${n} is`)]:[]}function lo(e){let t=e.key??`font-faces`,n=e.value,r=e.validateSpec,i=e.styleSpec??qe,a=e.style;if(!io(n))return[new F(t,n,`object expected, ${U(n)} found`)];let o=[];for(let e in n){let s=n[e],c=U(s);if(c===`string`)o.push(...za({key:`${t}.${e}`,value:s}));else if(c===`array`){let n={url:{type:`string`,required:!0},\"unicode-range\":{type:`array`,value:`string`}};for(let[c,l]of s.entries()){let s=`${t}.${e}[${c}]`;o.push(...Ca({key:s,value:l,valueSpec:n,styleSpec:i,style:a,validateSpec:r}));let u=io(l)?l[`unicode-range`]:void 0;if(U(u)===`array`)for(let[e,t]of u.entries())o.push(...co(`${s}.unicode-range[${e}]`,t))}}else o.push(new F(`${t}.${e}`,s,`string or array expected, ${c} found`))}return o}var uo={\"*\"(){return[]},array:wa,boolean:Oa,number:Ta,color:ka,constants:ba,enum:Aa,filter:Na,function:Ea,layer:Ra,object:Ca,source:Ha,light:Wa,sky:Ga,terrain:Ka,projection:eo,projectionDefinition:to,string:za,formatted:qa,resolvedImage:Ja,padding:Ya,numberArray:Xa,colorArray:Za,variableAnchorOffsetCollection:Qa,sprite:$a,state:ao,fontFaces:lo};function fo(e){let t=e.value,n=e.valueSpec,r=e.styleSpec;return e.validateSpec=fo,n.expression&&Ei(xa(t))?Ea(e):n.expression&&Hi(Sa(t))?Da(e):n.type&&uo[n.type]?uo[n.type](e):Ca(Ti({},e,{valueSpec:n.type?r[n.type]:n}))}function po(e){let t=e.value,n=e.key,r=za(e);return r.length?r:(t.indexOf(`{fontstack}`)===-1&&r.push(new F(n,t,`\"glyphs\" url must include a \"{fontstack}\" token`)),t.indexOf(`{range}`)===-1&&r.push(new F(n,t,`\"glyphs\" url must include a \"{range}\" token`)),r)}function mo(e,t=P){let n=[];return n=n.concat(fo({key:``,value:e,valueSpec:t.$root,styleSpec:t,style:e,validateSpec:fo,objectElementValidators:{glyphs:po,\"*\"(){return[]}}})),e.constants&&(n=n.concat(ba({key:`constants`,value:e.constants,style:e,styleSpec:t,validateSpec:fo}))),go(n)}mo.source=_o(ho(Ha)),mo.sprite=_o(ho($a)),mo.glyphs=_o(ho(po)),mo.fontFaces=_o(ho(lo)),mo.light=_o(ho(Wa)),mo.sky=_o(ho(Ga)),mo.terrain=_o(ho(Ka)),mo.state=_o(ho(ao)),mo.layer=_o(ho(Ra)),mo.filter=_o(ho(Na)),mo.paintProperty=_o(ho(Ia)),mo.layoutProperty=_o(ho(La));function ho(e){return function(t){return e(Object.assign({},t,{validateSpec:fo}))}}function go(e){return[].concat(e).sort((e,t)=>e.line-t.line)}function _o(e){return function(...t){return go(e.apply(this,t))}}var vo={type:`enum`,\"property-type\":`data-constant`,expression:{interpolated:!1,parameters:[`global-state`]},values:{visible:{},none:{}},transition:!1,default:`visible`},yo=class{constructor(e,t,n){this._rootKey=t,this._globalState=n,this.setValue(e)}evaluate(){return this._literalValue??this._compiledValue.evaluate({})}setValue(e){if(e==null||e===`visible`||e===`none`){this._literalValue=e===`none`?`none`:`visible`,this._compiledValue=void 0,this._globalStateRefs=new Set;return}let t=Ui(e,this._rootKey,vo,this._globalState);if(t.result===`error`)throw this._literalValue=`visible`,this._compiledValue=void 0,Error(t.value.map(e=>`${e.key}: ${e.message}`).join(`, `));this._literalValue=void 0,this._compiledValue=t.value,this._globalStateRefs=Zi(t.value.expression)}getGlobalStateRefs(){return this._globalStateRefs}};function bo(e,t,n){return new yo(e,t,n)}var xo=mo;new Set(Object.keys(P).filter(e=>e.startsWith(`source_`)).map(e=>e.slice(7).replaceAll(`_`,`-`)));function So(e,t){let n=!1;for(let r of t){if(r.severity===`warning`){j(r.message);continue}e.fire(new Ge(Error(r.message))),n=!0}return n}function Co(e,t,n,r){return r?.validate!==!1&&So(e,t({styleSpec:P,...n}))}var wo=class e{constructor(e,t,n){let r=this.cells=[];if(e instanceof ArrayBuffer){this.arrayBuffer=e;let i=new Int32Array(this.arrayBuffer);e=i[0],t=i[1],n=i[2],this.d=t+2*n;for(let e=0;e<this.d*this.d;e++){let t=i[3+e],n=i[3+e+1];r.push(t===n?null:i.subarray(t,n))}let a=i[3+r.length],o=i[3+r.length+1];this.keys=i.subarray(a,o),this.bboxes=i.subarray(o),this.insert=this._insertReadonly}else{this.d=t+2*n;for(let e=0;e<this.d*this.d;e++)r.push([]);this.keys=[],this.bboxes=[]}this.n=t,this.extent=e,this.padding=n,this.scale=t/e,this.uid=0;let i=n/t*e;this.min=-i,this.max=e+i}insert(e,t,n,r,i){this._forEachCell(t,n,r,i,this._insertCell,this.uid++,void 0,void 0),this.keys.push(e),this.bboxes.push(t),this.bboxes.push(n),this.bboxes.push(r),this.bboxes.push(i)}_insertReadonly(){throw Error(`Cannot insert into a GridIndex created from an ArrayBuffer.`)}_insertCell(e,t,n,r,i,a){this.cells[i].push(a)}query(e,t,n,r,i){let a=this.min,o=this.max;if(e<=a&&t<=a&&o<=n&&o<=r&&!i)return[...this.keys];{let a=[];return this._forEachCell(e,t,n,r,this._queryCell,a,{},i),a}}_queryCell(e,t,n,r,i,a,o,s){let c=this.cells[i];if(c!==null){let i=this.keys,l=this.bboxes;for(let u of c)if(o[u]===void 0){let c=u*4;(s?s(l[c+0],l[c+1],l[c+2],l[c+3]):e<=l[c+2]&&t<=l[c+3]&&n>=l[c+0]&&r>=l[c+1])?(o[u]=!0,a.push(i[u])):o[u]=!1}}}_forEachCell(e,t,n,r,i,a,o,s){let c=this._convertToCellCoord(e),l=this._convertToCellCoord(t),u=this._convertToCellCoord(n),d=this._convertToCellCoord(r);for(let f=c;f<=u;f++)for(let c=l;c<=d;c++){let l=this.d*c+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(c),this._convertFromCellCoord(f+1),this._convertFromCellCoord(c+1)))&&i.call(this,e,t,n,r,l,a,o,s))return}}_convertFromCellCoord(e){return(e-this.padding)/this.scale}_convertToCellCoord(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let e=this.cells,t=3+this.cells.length+1+1,n=0;for(let e of this.cells)n+=e.length;let r=new Int32Array(t+n+this.keys.length+this.bboxes.length);r[0]=this.extent,r[1]=this.n,r[2]=this.padding;let i=t;for(let t=0;t<e.length;t++){let n=e[t];r[3+t]=i,r.set(n,i),i+=n.length}return r[3+e.length]=i,r.set(this.keys,i),i+=this.keys.length,r[3+e.length+1]=i,r.set(this.bboxes,i),i+=this.bboxes.length,r.buffer}static serialize(e,t){let n=e.toArrayBuffer();return t&&t.push(n),{buffer:n}}static deserialize(t){return new e(t.buffer)}},To={};function W(e,t,n={}){if(To[e])throw Error(`${e} is already registered.`);Object.defineProperty(t,\"_classRegistryKey\",{value:e,writeable:!1}),To[e]={klass:t,omit:n.omit||[],shallow:n.shallow||[]}}W(`Object`,Object),W(`Set`,Set),W(`TransferableGridIndex`,wo),W(`Color`,V),W(`Error`,Error),W(`AJAXError`,Pe),W(`ResolvedImage`,Yt),W(`StylePropertyFunction`,Ji),W(`StyleExpression`,zi,{omit:[`_evaluator`]}),W(`ZoomDependentExpression`,Gi),W(`ZoomConstantExpression`,Wi),W(`CompoundExpression`,ui,{omit:[`_evaluate`]});for(let e in oi)oi[e]._classRegistryKey||W(`Expression_${e}`,oi[e]);function Eo(e){return e&&typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||e.constructor?.name===`ArrayBuffer`)}function Do(e){let t=e.constructor;return e.$name||t._classRegistryKey}function Oo(e){if(typeof e!=`object`||!e)return!1;let t=Do(e);return t&&t!==`Object`}function ko(e){return!Oo(e)&&(e==null||typeof e==`boolean`||typeof e==`number`||typeof e==`string`||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||e instanceof Blob||e instanceof Error||Eo(e)||N(e)||ArrayBuffer.isView(e)||e instanceof ImageData)}function Ao(e,t){if(ko(e))return(Eo(e)||N(e))&&t&&t.push(e),ArrayBuffer.isView(e)&&t&&t.push(e.buffer),e instanceof ImageData&&t&&t.push(e.data.buffer),e;if(Array.isArray(e)){let n=[];for(let r of e)n.push(Ao(r,t));return n}if(typeof e!=`object`)throw Error(`can't serialize object of type ${typeof e}`);let n=Do(e);if(!n)throw Error(`can't serialize object of unregistered class ${e.constructor.name}`);if(!To[n])throw Error(`${n} is not registered.`);let{klass:r}=To[n],i=r.serialize?r.serialize(e,t):{};if(!r.serialize){for(let r in e){if(!e.hasOwnProperty(r)||To[n].omit.includes(r))continue;let a=e[r];a!==void 0&&(i[r]=To[n].shallow.includes(r)?a:Ao(a,t))}e instanceof Error&&(i.message=e.message)}else if(i===t?.[t.length-1])throw Error(`statically serialized object won't survive transfer of $name property`);if(i.$name)throw Error(`$name property is reserved for worker serialization logic.`);return n!==`Object`&&(i.$name=n),i}function jo(e){if(ko(e))return e;if(Array.isArray(e))return e.map(jo);if(typeof e!=`object`)throw Error(`can't deserialize object of type ${typeof e}`);let t=Do(e)||`Object`;if(!To[t])throw Error(`can't deserialize unregistered class ${t}`);let{klass:n}=To[t];if(!n)throw Error(`can't deserialize unregistered class ${t}`);if(n.deserialize)return n.deserialize(e);let r=Object.create(n.prototype);for(let n of Object.keys(e)){if(n===`$name`)continue;let i=e[n];r[n]=To[t].shallow.includes(n)?i:jo(i)}return r}var Mo=class{constructor(){this.first=!0}update(e,t){let n=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=n,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=n,!0):(this.lastFloorZoom>n?(this.lastIntegerZoom=n+1,this.lastIntegerZoomTime=t):this.lastFloorZoom<n&&(this.lastIntegerZoom=n,this.lastIntegerZoomTime=t),e!==this.lastZoom&&(this.lastZoom=e,this.lastFloorZoom=n,!0))}},G=class{constructor(e,t){this.zoom=e,t?(this.now=t.now||0,this.fadeDuration=t.fadeDuration||0,this.zoomHistory=t.zoomHistory||new Mo,this.transition=t.transition||{}):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Mo,this.transition={})}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let e=this.zoom,t=e-Math.floor(e),n=this.crossFadingFactor();return e>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*n}:{fromScale:.5,toScale:1,t:1-(1-n)*t}}},No=class{constructor(e,t,n,r){this.property=e,this.value=t,this.expression=Yi(t===void 0?e.specification.default:t,n,e.specification,r)}isDataDriven(){return this.expression.kind===`source`||this.expression.kind===`composite`}getGlobalStateRefs(){return this.expression.globalStateRefs||new Set}readsGlobalState(e){let t=this.getGlobalStateRefs();return e.some(e=>t.has(e))}possiblyEvaluate(e,t,n){return this.property.possiblyEvaluate(this,e,t,n)}},Po=class{constructor(e,t,n){this.property=e,this.value=new No(e,void 0,t,n)}transitioned(e,t){return t.value===this.value?t:new Io(this.property,this.value,t,le({},e.transition,this.transition),e.now)}untransitioned(){return new Io(this.property,this.value,null,{},0)}},Fo=class{constructor(e,t,n){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues),this._globalState=n,this._rootKey=t}_propertyRootKey(e){return`${this._rootKey}.${String(e)}`}hasProperty(e){return e in this._properties.defaultTransitionablePropertyValues}getValue(e){return me(this._values[e].value.value)}setValue(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new Po(this._values[e].property,this._propertyRootKey(e),this._globalState)),this._values[e].value=new No(this._values[e].property,t===null?void 0:me(t),this._propertyRootKey(e),this._globalState)}setValues(e){for(let t in e){let n=e[t];t.endsWith(`-transition`)?this.setTransition(t.slice(0,-11),n):pe(this._values[t].value.value,n)||this.setValue(t,n)}}getTransition(e){return me(this._values[e].transition)}setTransition(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new Po(this._values[e].property,this._propertyRootKey(e),this._globalState)),this._values[e].transition=me(t)||void 0}retainPriorGlobalState(e,t,n){for(let r of Object.keys(n._values))for(let i=n._values[r];i;i=i.prior){let{value:n}=i;n.property.specification.transition&&!n.isDataDriven()&&n.expression._globalState===this._globalState&&n.readsGlobalState(e)&&(i.value=new No(n.property,n.value,this._propertyRootKey(r),t))}}applyGlobalStateChange(e,t,n,r){this.retainPriorGlobalState(e,t,n);let i=!1;for(let t of Object.keys(this._values)){let{value:n}=this._values[t];n.readsGlobalState(e)&&(this.setValue(t,n.value),i=!0)}return i?this.transitioned(r,n):n}serialize(){let e={};for(let t of Object.keys(this._values)){let n=this.getValue(t);n!==void 0&&(e[t]=n);let r=this.getTransition(t);r!==void 0&&(e[`${t}-transition`]=r)}return e}transitioned(e,t){let n=new Lo(this._properties);for(let r of Object.keys(this._values))n._values[r]=this._values[r].transitioned(e,t._values[r]);return n}untransitioned(){let e=new Lo(this._properties);for(let t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}},Io=class{constructor(e,t,n,r,i){this.property=e,this.value=t,this.begin=i+r.delay||0,this.end=this.begin+r.duration||0,e.specification.transition&&(r.delay||r.duration)&&(this.prior=n)}possiblyEvaluate(e,t,n){let r=e.now||0,i=this.value.possiblyEvaluate(e,t,n),a=this.prior;if(!a)return i;if(r>this.end||this.value.isDataDriven())return this.prior=null,i;if(r<this.begin)return a.possiblyEvaluate(e,t,n);{let o=(r-this.begin)/(this.end-this.begin);return this.property.interpolate(a.possiblyEvaluate(e,t,n),i,ae(o))}}},Lo=class{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)}possiblyEvaluate(e,t,n){let r=new Bo(this._properties);for(let i of Object.keys(this._values))r._values[i]=this._values[i].possiblyEvaluate(e,t,n);return r}hasTransition(){for(let e of Object.keys(this._values))if(this._values[e].prior)return!0;return!1}},Ro=class{constructor(e,t,n){this._properties=e,this._values=Object.create(e.defaultPropertyValues),this._globalState=n,this._rootKey=t}_propertyRootKey(e){return`${this._rootKey}.${String(e)}`}hasValue(e){return this._values[e].value!==void 0}hasProperty(e){return e in this._properties.defaultPropertyValues}getValue(e){return me(this._values[e].value)}setValue(e,t){this._values[e]=new No(this._values[e].property,t===null?void 0:me(t),this._propertyRootKey(e),this._globalState)}serialize(){let e={};for(let t of Object.keys(this._values)){let n=this.getValue(t);n!==void 0&&(e[t]=n)}return e}possiblyEvaluate(e,t,n){let r=new Bo(this._properties);for(let i of Object.keys(this._values))r._values[i]=this._values[i].possiblyEvaluate(e,t,n);return r}},zo=class{constructor(e,t,n){this.property=e,this.value=t,this.parameters=n}isConstant(){return this.value.kind===`constant`}constantOr(e){return this.value.kind===`constant`?this.value.value:e}evaluate(e,t,n,r){return this.property.evaluate(this.value,this.parameters,e,t,n,r)}},Bo=class{constructor(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)}get(e){return this._values[e]}};function Vo(e){if(Array.isArray(e))return e.length;let t=e?.values;return Array.isArray(t)?t.length:void 0}function Ho(e,t){let n=Vo(e),r=Vo(t);return n!==void 0&&r!==void 0&&n!==r}var K=class{constructor(e,t){this.specification=e,this.name=t}possiblyEvaluate(e,t){if(e.isDataDriven())throw Error(`Value should not be data driven`);return e.expression.evaluate(t)}interpolate(e,t,n){if(Ho(e,t))return j(`Property \"${this.name}\" is trying to interpolate arrays of different lengths. Rendering may 'jump'.`),t;let r=dn[this.specification.type];return r?r(e,t,n):e}},q=class{constructor(e,t,n){this.specification=e,this.name=t,this.overrides=n}possiblyEvaluate(e,t,n,r){return e.expression.kind===`constant`||e.expression.kind===`camera`?new zo(this,{kind:`constant`,value:e.expression.evaluate(t,null,{},n,r)},t):new zo(this,e.expression,t)}interpolate(e,t,n){if(e.value.kind!==`constant`||t.value.kind!==`constant`)return e;if(e.value.value===void 0||t.value.value===void 0)return new zo(this,{kind:`constant`,value:void 0},e.parameters);if(Ho(e.value.value,t.value.value))return j(`Property \"${this.name}\" is trying to interpolate arrays of different lengths. Rendering may 'jump'.`),t;let r=dn[this.specification.type];if(r){let i=r(e.value.value,t.value.value,n);return new zo(this,{kind:`constant`,value:i},e.parameters)}return e}evaluate(e,t,n,r,i,a){return e.kind===`constant`?e.value:e.evaluate(t,n,r,i,a)}},Uo=class extends q{possiblyEvaluate(e,t,n,r){if(e.value===void 0)return new zo(this,{kind:`constant`,value:void 0},t);if(e.expression.kind===`constant`){let i=e.expression.evaluate(t,null,{},n,r),a=e.property.specification.type===`resolvedImage`&&typeof i!=`string`?i.name:i,o=this._calculate(a,a,a,t);return new zo(this,{kind:`constant`,value:o},t)}if(e.expression.kind===`camera`){let n=this._calculate(e.expression.evaluate({zoom:t.zoom-1}),e.expression.evaluate({zoom:t.zoom}),e.expression.evaluate({zoom:t.zoom+1}),t);return new zo(this,{kind:`constant`,value:n},t)}return new zo(this,e.expression,t)}evaluate(e,t,n,r,i,a){if(e.kind===`source`){let o=e.evaluate(t,n,r,i,a);return this._calculate(o,o,o,t)}return e.kind===`composite`?this._calculate(e.evaluate({zoom:Math.floor(t.zoom)-1},n,r),e.evaluate({zoom:Math.floor(t.zoom)},n,r),e.evaluate({zoom:Math.floor(t.zoom)+1},n,r),t):e.value}_calculate(e,t,n,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:n,to:t}}interpolate(e){return e}},Wo=class{constructor(e,t){this.specification=e,this.name=t}possiblyEvaluate(e,t,n,r){if(e.value!==void 0){if(e.expression.kind===`constant`){let i=e.expression.evaluate(t,null,{},n,r);return this._calculate(i,i,i,t)}return this._calculate(e.expression.evaluate(new G(Math.floor(t.zoom-1),t)),e.expression.evaluate(new G(Math.floor(t.zoom),t)),e.expression.evaluate(new G(Math.floor(t.zoom+1),t)),t)}}_calculate(e,t,n,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:n,to:t}}interpolate(e){return e}},Go=class{constructor(e,t){this.specification=e,this.name=t}possiblyEvaluate(e,t,n,r){return!!e.expression.evaluate(t,null,{},n,r)}interpolate(){return!1}},Ko=class{constructor(e){this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let t in e){let n=e[t];n.specification.overridable&&this.overridableProperties.push(t);let r=this.defaultPropertyValues[t]=new No(n,void 0,n.name,void 0),i=this.defaultTransitionablePropertyValues[t]=new Po(n,n.name,void 0);this.defaultTransitioningPropertyValues[t]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=r.possiblyEvaluate({})}}};W(`DataDrivenProperty`,q),W(`DataConstantProperty`,K),W(`CrossFadedDataDrivenProperty`,Uo),W(`CrossFadedProperty`,Wo),W(`ColorRampProperty`,Go);var qo=` is a PAINT property not a LAYOUT property. Use get/setPaintProperty instead?`,Jo=` is a LAYOUT property not a PAINT property. Use get/setLayoutProperty instead?`,Yo=class extends Ke{constructor(e,t,n){if(super(),this.id=e.id,this.type=e.type,this._globalState=n,this._featureFilter={filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set},this._visibilityExpression=bo(this.visibility,`layers[${this.id}].layout.visibility`,n),e.type!==`custom`&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,e.type!==`background`&&(this.source=e.source,this.sourceLayer=e[`source-layer`],this.filter=e.filter,this._featureFilter=da(e.filter,`layers[${this.id}].filter`,n)),t.layout&&(this._unevaluatedLayout=new Ro(t.layout,`layers[${this.id}].layout`,n)),t.paint)){this._transitionablePaint=new Fo(t.paint,`layers[${this.id}].paint`,n);for(let t in e.paint)this.setPaintProperty(t,e.paint[t],{validate:!1});for(let t in e.layout)this.setLayoutProperty(t,e.layout[t],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Bo(t.paint)}}setFilter(e){this.filter=e,this._featureFilter=da(e,`layers[${this.id}].filter`,this._globalState)}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(e){if(e===`visibility`)return this.visibility;if(this._transitionablePaint?.hasProperty(e))throw Error(e+qo);if(!this._unevaluatedLayout)throw Error(`Cannot get layout property \"${e}\" on layer type \"${this.type}\" which has no layout properties.`);return this._unevaluatedLayout.getValue(e)}getLayoutAffectingGlobalStateRefs(){let e=new Set;for(let t of this._visibilityExpression.getGlobalStateRefs())e.add(t);if(this._unevaluatedLayout)for(let t in this._unevaluatedLayout._values){let n=this._unevaluatedLayout._values[t];for(let t of n.getGlobalStateRefs())e.add(t)}for(let t of this._featureFilter.getGlobalStateRefs())e.add(t);return e}getPaintAffectingGlobalStateRefs(){let e=new globalThis.Map;if(this._transitionablePaint)for(let t in this._transitionablePaint._values){let n=this._transitionablePaint._values[t].value;for(let r of n.getGlobalStateRefs()){let i=e.get(r)??[];i.push({name:t,value:n.value}),e.set(r,i)}}return e}getVisibilityAffectingGlobalStateRefs(){return this._visibilityExpression.getGlobalStateRefs()}setLayoutProperty(e,t,n={}){if(e===`visibility`){this.visibility=t,this._visibilityExpression.setValue(t),this.recalculateVisibility();return}if(this._transitionablePaint?.hasProperty(e)){this.fire(new Ge(Error(e+qo)));return}t!=null&&this._validate(xo.layoutProperty,`layers.${this.id}.layout.${e}`,e,t,n)||this._unevaluatedLayout.setValue(e,t)}getPaintProperty(e){if(e.endsWith(`-transition`)){let t=e.slice(0,-11);if(t===`visibility`||this._unevaluatedLayout?.hasProperty(t))throw Error(e+Jo);return this._transitionablePaint.getTransition(t)}if(e===`visibility`||this._unevaluatedLayout?.hasProperty(e))throw Error(e+Jo);return this._transitionablePaint.getValue(e)}setPaintProperty(e,t,n={}){if(e===`visibility`||this._unevaluatedLayout?.hasProperty(e))return this.fire(new Ge(Error(e+Jo))),!1;if(t!=null&&this._validate(xo.paintProperty,`layers.${this.id}.paint.${e}`,e,t,n))return!1;if(e.endsWith(`-transition`))return this._transitionablePaint.setTransition(e.slice(0,-11),t||void 0),!1;{let n=this._transitionablePaint._values[e],r=n.property.specification[`property-type`]===`cross-faded-data-driven`,i=n.value.isDataDriven(),a=n.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);let o=this._transitionablePaint._values[e].value;return o.isDataDriven()||i||r||this._handleOverridablePaintPropertyUpdate(e,a,o)}}_handleSpecialPaintPropertyUpdate(e){}_handleOverridablePaintPropertyUpdate(e,t,n){return!1}isHidden(e=this.minzoom,t=!1){return this.minzoom&&e<(t?Math.floor(this.minzoom):this.minzoom)||this.maxzoom&&e>=this.maxzoom?!0:this._evaluatedVisibility===`none`}updateTransitions(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)}retainPriorGlobalState(e,t){this._transitionablePaint?.retainPriorGlobalState(e,t,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculateVisibility(){this._evaluatedVisibility=this._visibilityExpression.evaluate()}recalculate(e,t){e.getCrossfadeParameters&&(this._crossfadeParameters=e.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,t)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,t)}serialize(){let e={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout?.serialize(),paint:this._transitionablePaint?.serialize()};return this.visibility&&(e.layout||={},e.layout.visibility=this.visibility),fe(e,(e,t)=>e!==void 0&&!(t===`layout`&&!Object.keys(e).length)&&!(t===`paint`&&!Object.keys(e).length))}_validate(e,t,n,r,i={}){return Co(this,e,{key:t,layerType:this.type,objectKey:n,value:r},i)}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let e in this.paint._values){let t=this.paint.get(e);if(t instanceof zo&&xi(t.property.specification)&&(t.value.kind===`source`||t.value.kind===`composite`)&&t.value.isStateDependent)return!0}return!1}},Xo,Zo=()=>Xo||=new Ko({\"raster-opacity\":new K(P.paint_raster[`raster-opacity`],`raster-opacity`),\"raster-hue-rotate\":new K(P.paint_raster[`raster-hue-rotate`],`raster-hue-rotate`),\"raster-brightness-min\":new K(P.paint_raster[`raster-brightness-min`],`raster-brightness-min`),\"raster-brightness-max\":new K(P.paint_raster[`raster-brightness-max`],`raster-brightness-max`),\"raster-saturation\":new K(P.paint_raster[`raster-saturation`],`raster-saturation`),\"raster-contrast\":new K(P.paint_raster[`raster-contrast`],`raster-contrast`),resampling:new K(P.paint_raster.resampling,`resampling`),\"raster-resampling\":new K(P.paint_raster[`raster-resampling`],`raster-resampling`),\"raster-fade-duration\":new K(P.paint_raster[`raster-fade-duration`],`raster-fade-duration`)}),Qo={get paint(){return Zo()}},$o=class extends Yo{constructor(e,t){super(e,Qo,t)}},es={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},ts=class{constructor(e,t){this._structArray=e,this._pos1=t*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}},J=class{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(e,t){return e._trim(),t&&(e.isTransferred=!0,t.push(e.arrayBuffer)),{length:e.length,arrayBuffer:e.arrayBuffer}}static deserialize(e){let t=Object.create(this.prototype);return t.arrayBuffer=e.arrayBuffer,t.length=e.length,t.capacity=e.arrayBuffer.byteLength/t.bytesPerElement,t._refreshViews(),t}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(e){this.reserve(e),this.length=e}reserve(e){if(e>this.capacity){this.capacity=Math.max(e,Math.floor(this.capacity*5),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let t=this.uint8;this._refreshViews(),t&&this.uint8.set(t)}}_refreshViews(){throw Error(`_refreshViews() must be implemented by each concrete StructArray layout`)}freeBufferAfterUpload(){this.arrayBuffer=new ArrayBuffer(0),this._refreshViews()}};function ns(e,t=1){let n=0,r=0;return{members:e.map(e=>{let i=rs(e.type),a=n=is(n,Math.max(t,i)),o=e.components||1;return r=Math.max(r,i),n+=i*o,{name:e.name,type:e.type,components:o,offset:a}}),size:is(n,Math.max(r,t)),alignment:t}}function rs(e){return es[e].BYTES_PER_ELEMENT}function is(e,t){return Math.ceil(e/t)*t}var as=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=e*2;return this.int16[r+0]=t,this.int16[r+1]=n,e}};as.prototype.bytesPerElement=4,W(`StructArrayLayout2i4`,as);var os=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=e*3;return this.int16[i+0]=t,this.int16[i+1]=n,this.int16[i+2]=r,e}};os.prototype.bytesPerElement=6,W(`StructArrayLayout3i6`,os);var ss=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,n,r)}emplace(e,t,n,r,i){let a=e*4;return this.int16[a+0]=t,this.int16[a+1]=n,this.int16[a+2]=r,this.int16[a+3]=i,e}};ss.prototype.bytesPerElement=8,W(`StructArrayLayout4i8`,ss);var cs=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=e*6;return this.int16[s+0]=t,this.int16[s+1]=n,this.int16[s+2]=r,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}};cs.prototype.bytesPerElement=12,W(`StructArrayLayout2i4i12`,cs);var ls=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=e*4,c=e*8;return this.int16[s+0]=t,this.int16[s+1]=n,this.uint8[c+4]=r,this.uint8[c+5]=i,this.uint8[c+6]=a,this.uint8[c+7]=o,e}};ls.prototype.bytesPerElement=8,W(`StructArrayLayout2i4ub8`,ls);var us=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=e*2;return this.float32[r+0]=t,this.float32[r+1]=n,e}};us.prototype.bytesPerElement=8,W(`StructArrayLayout2f8`,us);var ds=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l){let u=this.length;return this.resize(u+1),this.emplace(u,e,t,n,r,i,a,o,s,c,l)}emplace(e,t,n,r,i,a,o,s,c,l,u){let d=e*10;return this.uint16[d+0]=t,this.uint16[d+1]=n,this.uint16[d+2]=r,this.uint16[d+3]=i,this.uint16[d+4]=a,this.uint16[d+5]=o,this.uint16[d+6]=s,this.uint16[d+7]=c,this.uint16[d+8]=l,this.uint16[d+9]=u,e}};ds.prototype.bytesPerElement=20,W(`StructArrayLayout10ui20`,ds);var fs=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s){let c=this.length;return this.resize(c+1),this.emplace(c,e,t,n,r,i,a,o,s)}emplace(e,t,n,r,i,a,o,s,c){let l=e*8;return this.uint16[l+0]=t,this.uint16[l+1]=n,this.uint16[l+2]=r,this.uint16[l+3]=i,this.uint16[l+4]=a,this.uint16[l+5]=o,this.uint16[l+6]=s,this.uint16[l+7]=c,e}};fs.prototype.bytesPerElement=16,W(`StructArrayLayout8ui16`,fs);var ps=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=this.length;return this.resize(p+1),this.emplace(p,e,t,n,r,i,a,o,s,c,l,u,d,f)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f,p){let m=e*14,h=e*7;return this.int16[m+0]=t,this.int16[m+1]=n,this.int16[m+2]=r,this.int16[m+3]=i,this.uint16[m+4]=a,this.uint16[m+5]=o,this.uint16[m+6]=s,this.uint16[m+7]=c,this.int16[m+8]=l,this.int16[m+9]=u,this.int16[m+10]=d,this.int16[m+11]=f,this.float32[h+6]=p,e}};ps.prototype.bytesPerElement=28,W(`StructArrayLayout4i4ui4i1f28`,ps);var ms=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=e*3;return this.float32[i+0]=t,this.float32[i+1]=n,this.float32[i+2]=r,e}};ms.prototype.bytesPerElement=12,W(`StructArrayLayout3f12`,ms);var hs=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){let n=e*1;return this.uint32[n+0]=t,e}};hs.prototype.bytesPerElement=4,W(`StructArrayLayout1ul4`,hs);var gs=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c){let l=this.length;return this.resize(l+1),this.emplace(l,e,t,n,r,i,a,o,s,c)}emplace(e,t,n,r,i,a,o,s,c,l){let u=e*10,d=e*5;return this.int16[u+0]=t,this.int16[u+1]=n,this.int16[u+2]=r,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[d+3]=s,this.uint16[u+8]=c,this.uint16[u+9]=l,e}};gs.prototype.bytesPerElement=20,W(`StructArrayLayout6i1ul2ui20`,gs);var _s=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=e*6;return this.int16[s+0]=t,this.int16[s+1]=n,this.int16[s+2]=r,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}};_s.prototype.bytesPerElement=12,W(`StructArrayLayout2i2i2i12`,_s);var vs=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i){let a=this.length;return this.resize(a+1),this.emplace(a,e,t,n,r,i)}emplace(e,t,n,r,i,a){let o=e*4,s=e*8;return this.float32[o+0]=t,this.float32[o+1]=n,this.float32[o+2]=r,this.int16[s+6]=i,this.int16[s+7]=a,e}};vs.prototype.bytesPerElement=16,W(`StructArrayLayout2f1f2i16`,vs);var ys=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=e*16,c=e*4,l=e*8;return this.uint8[s+0]=t,this.uint8[s+1]=n,this.float32[c+1]=r,this.float32[c+2]=i,this.int16[l+6]=a,this.int16[l+7]=o,e}};ys.prototype.bytesPerElement=16,W(`StructArrayLayout2ub2f2i16`,ys);var bs=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=e*3;return this.uint16[i+0]=t,this.uint16[i+1]=n,this.uint16[i+2]=r,e}};bs.prototype.bytesPerElement=6,W(`StructArrayLayout3ui6`,bs);var xs=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_){let v=this.length;return this.resize(v+1),this.emplace(v,e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v){let y=e*26,b=e*13,x=e*52;return this.int16[y+0]=t,this.int16[y+1]=n,this.uint16[y+2]=r,this.uint16[y+3]=i,this.uint32[b+2]=a,this.uint32[b+3]=o,this.uint32[b+4]=s,this.uint16[y+10]=c,this.uint16[y+11]=l,this.uint16[y+12]=u,this.float32[b+7]=d,this.float32[b+8]=f,this.uint8[x+36]=p,this.uint8[x+37]=m,this.uint8[x+38]=h,this.uint32[b+10]=g,this.int16[y+22]=_,this.float32[b+12]=v,e}};xs.prototype.bytesPerElement=52,W(`StructArrayLayout2i2ui3ul3ui2f3ub1ul1i1f52`,xs);var Ss=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,ee){let O=this.length;return this.resize(O+1),this.emplace(O,e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,ee)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,ee,O){let k=e*34,te=e*17;return this.int16[k+0]=t,this.int16[k+1]=n,this.int16[k+2]=r,this.int16[k+3]=i,this.int16[k+4]=a,this.int16[k+5]=o,this.int16[k+6]=s,this.int16[k+7]=c,this.uint16[k+8]=l,this.uint16[k+9]=u,this.uint16[k+10]=d,this.uint16[k+11]=f,this.uint16[k+12]=p,this.uint16[k+13]=m,this.uint16[k+14]=h,this.uint16[k+15]=g,this.uint16[k+16]=_,this.uint16[k+17]=v,this.uint16[k+18]=y,this.uint16[k+19]=b,this.uint16[k+20]=x,this.uint16[k+21]=S,this.uint16[k+22]=C,this.uint32[te+12]=w,this.float32[te+13]=T,this.float32[te+14]=E,this.uint16[k+30]=D,this.uint16[k+31]=ee,this.float32[te+16]=O,e}};Ss.prototype.bytesPerElement=68,W(`StructArrayLayout8i15ui1ul2f2ui1f68`,Ss);var Cs=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){let n=e*1;return this.float32[n+0]=t,e}};Cs.prototype.bytesPerElement=4,W(`StructArrayLayout1f4`,Cs);var ws=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=e*6,a=e*3;return this.uint16[i+0]=t,this.float32[a+1]=n,this.float32[a+2]=r,e}};ws.prototype.bytesPerElement=12,W(`StructArrayLayout1ui2f12`,ws);var Ts=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=e*2,a=e*4;return this.uint32[i+0]=t,this.uint16[a+2]=n,this.uint16[a+3]=r,e}};Ts.prototype.bytesPerElement=8,W(`StructArrayLayout1ul2ui8`,Ts);var Es=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=e*2;return this.uint16[r+0]=t,this.uint16[r+1]=n,e}};Es.prototype.bytesPerElement=4,W(`StructArrayLayout2ui4`,Es);var Ds=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){let n=e*1;return this.uint16[n+0]=t,e}};Ds.prototype.bytesPerElement=2,W(`StructArrayLayout1ui2`,Ds);var Os=class extends J{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,n,r)}emplace(e,t,n,r,i){let a=e*4;return this.float32[a+0]=t,this.float32[a+1]=n,this.float32[a+2]=r,this.float32[a+3]=i,e}};Os.prototype.bytesPerElement=16,W(`StructArrayLayout4f16`,Os);var ks=class extends ts{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new l(this.anchorPointX,this.anchorPointY)}};ks.prototype.size=20;var As=class extends gs{get(e){return new ks(this,e)}};W(`CollisionBoxArray`,As);var js=class extends ts{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(e){this._structArray.uint8[this._pos1+37]=e}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(e){this._structArray.uint8[this._pos1+38]=e}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(e){this._structArray.uint32[this._pos4+10]=e}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}get heightOffset(){return this._structArray.float32[this._pos4+12]}};js.prototype.size=52;var Ms=class extends xs{get(e){return new js(this,e)}};W(`PlacedSymbolArray`,Ms);var Ns=class extends ts{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(e){this._structArray.uint32[this._pos4+12]=e}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}get heightOffset(){return this._structArray.float32[this._pos4+16]}};Ns.prototype.size=68;var Ps=class extends Ss{get(e){return new Ns(this,e)}};W(`SymbolInstanceArray`,Ps);var Fs=class extends Cs{getoffsetX(e){return this.float32[e*1+0]}};W(`GlyphOffsetArray`,Fs);var Is=class extends os{getx(e){return this.int16[e*3+0]}gety(e){return this.int16[e*3+1]}gettileUnitDistanceFromAnchor(e){return this.int16[e*3+2]}};W(`SymbolLineVertexArray`,Is);var Ls=class extends ts{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}};Ls.prototype.size=12;var Rs=class extends ws{get(e){return new Ls(this,e)}};W(`TextAnchorOffsetArray`,Rs);var zs=class extends ts{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]}};zs.prototype.size=8;var Bs=class extends Ts{get(e){return new zs(this,e)}};W(`FeatureIndexArray`,Bs);var Vs=class extends as{},Hs=class extends as{},Us=class extends as{},Ws=class extends cs{},Gs=class extends ls{},Ks=class extends us{},qs=class extends ds{},Js=class extends fs{},Ys=class extends ps{},Xs=class extends ms{},Zs=class extends hs{},Qs=class extends _s{},$s=class extends ys{},ec=class extends bs{},tc=class extends Es{},nc=ns([{name:`a_pos`,components:2,type:`Int16`}],4),rc=nc.members;nc.size,nc.alignment;var ic=class e{constructor(e=[]){this._forceNewSegmentOnNextPrepare=!1,this.segments=e}prepareSegment(t,n,r,i){let a=this.segments[this.segments.length-1];return t>e.MAX_VERTEX_ARRAY_LENGTH&&j(`Max vertices per segment is ${e.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}. Consider using the \\`fillLargeMeshArrays\\` function if you require meshes with more than ${e.MAX_VERTEX_ARRAY_LENGTH} vertices.`),this._forceNewSegmentOnNextPrepare||!a||a.vertexLength+t>e.MAX_VERTEX_ARRAY_LENGTH||a.sortKey!==i?this.createNewSegment(n,r,i):a}createNewSegment(e,t,n){let r={vertexOffset:e.length,primitiveOffset:t.length,vertexLength:0,primitiveLength:0,vaos:{}};return n!==void 0&&(r.sortKey=n),this._forceNewSegmentOnNextPrepare=!1,this.segments.push(r),r}getOrCreateLatestSegment(e,t,n){return this.prepareSegment(0,e,t,n)}forceNewSegmentOnNextPrepare(){this._forceNewSegmentOnNextPrepare=!0}get(){return this.segments}destroy(){for(let e of this.segments)for(let t in e.vaos)e.vaos[t].destroy()}static simpleSegment(t,n,r,i){return new e([{vertexOffset:t,primitiveOffset:n,vertexLength:r,primitiveLength:i,vaos:{},sortKey:0}])}};ic.MAX_VERTEX_ARRAY_LENGTH=2**16-1,W(`SegmentVector`,ic);function ac(e,t){return e=se(Math.floor(e),0,255),t=se(Math.floor(t),0,255),256*e+t}var oc=ns([{name:`a_pattern_from`,components:4,type:`Uint16`},{name:`a_pattern_to`,components:4,type:`Uint16`},{name:`a_pixel_ratio_from`,components:1,type:`Uint16`},{name:`a_pixel_ratio_to`,components:1,type:`Uint16`}]),sc=ns([{name:`a_dasharray_from`,components:4,type:`Uint16`},{name:`a_dasharray_to`,components:4,type:`Uint16`}]),cc=o(((e,t)=>{function n(e,t){for(var n=e.length&3,r=e.length-n,i=t,a,o=3432918353,s=461845907,c,l=0;l<r;)c=e.charCodeAt(l)&255|(e.charCodeAt(++l)&255)<<8|(e.charCodeAt(++l)&255)<<16|(e.charCodeAt(++l)&255)<<24,++l,c=(c&65535)*o+(((c>>>16)*o&65535)<<16)&4294967295,c=c<<15|c>>>17,c=(c&65535)*s+(((c>>>16)*s&65535)<<16)&4294967295,i^=c,i=i<<13|i>>>19,a=(i&65535)*5+(((i>>>16)*5&65535)<<16)&4294967295,i=(a&65535)+27492+(((a>>>16)+58964&65535)<<16);switch(c=0,n){case 3:c^=(e.charCodeAt(l+2)&255)<<16;case 2:c^=(e.charCodeAt(l+1)&255)<<8;case 1:c^=e.charCodeAt(l)&255,c=(c&65535)*o+(((c>>>16)*o&65535)<<16)&4294967295,c=c<<15|c>>>17,c=(c&65535)*s+(((c>>>16)*s&65535)<<16)&4294967295,i^=c}return i^=e.length,i^=i>>>16,i=(i&65535)*2246822507+(((i>>>16)*2246822507&65535)<<16)&4294967295,i^=i>>>13,i=(i&65535)*3266489909+(((i>>>16)*3266489909&65535)<<16)&4294967295,i^=i>>>16,i>>>0}t!==void 0&&(t.exports=n)})),lc=o(((e,t)=>{function n(e,t){for(var n=e.length,r=t^n,i=0,a;n>=4;)a=e.charCodeAt(i)&255|(e.charCodeAt(++i)&255)<<8|(e.charCodeAt(++i)&255)<<16|(e.charCodeAt(++i)&255)<<24,a=(a&65535)*1540483477+(((a>>>16)*1540483477&65535)<<16),a^=a>>>24,a=(a&65535)*1540483477+(((a>>>16)*1540483477&65535)<<16),r=(r&65535)*1540483477+(((r>>>16)*1540483477&65535)<<16)^a,n-=4,++i;switch(n){case 3:r^=(e.charCodeAt(i+2)&255)<<16;case 2:r^=(e.charCodeAt(i+1)&255)<<8;case 1:r^=e.charCodeAt(i)&255,r=(r&65535)*1540483477+(((r>>>16)*1540483477&65535)<<16)}return r^=r>>>13,r=(r&65535)*1540483477+(((r>>>16)*1540483477&65535)<<16),r^=r>>>15,r>>>0}t.exports=n})),uc=c(o(((e,t)=>{var n=cc(),r=lc();t.exports=n,t.exports.murmur3=n,t.exports.murmur2=r}))(),1),dc=class e{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(e,t,n,r){this.ids.push(fc(e)),this.positions.push(t,n,r)}getPositions(e){if(!this.indexed)throw Error(`Trying to get index, but feature positions are not indexed`);let t=fc(e),n=0,r=this.ids.length-1;for(;n<r;){let e=n+r>>1;this.ids[e]>=t?r=e:n=e+1}let i=[];for(;this.ids[n]===t;){let e=this.positions[3*n],t=this.positions[3*n+1],r=this.positions[3*n+2];i.push({index:e,start:t,end:r}),n++}return i}static serialize(e,t){let n=new Float64Array(e.ids),r=new Uint32Array(e.positions);return pc(n,r,0,n.length-1),t&&t.push(n.buffer,r.buffer),{ids:n,positions:r}}static deserialize(t){let n=new e;return n.ids=t.ids,n.positions=t.positions,n.indexed=!0,n}};function fc(e){let t=+e;return!isNaN(t)&&t<=2**53-1?t:(0,uc.default)(String(e))}function pc(e,t,n,r){for(;n<r;){let i=e[n+r>>1],a=n-1,o=r+1;for(;;){do a++;while(e[a]<i);do o--;while(e[o]>i);if(a>=o)break;mc(e,a,o),mc(t,3*a,3*o),mc(t,3*a+1,3*o+1),mc(t,3*a+2,3*o+2)}o-n<r-o?(pc(e,t,n,o),n=o+1):(pc(e,t,o+1,r),r=o)}}function mc(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}W(`FeaturePositionMap`,dc);var hc=class{constructor(e,t){this.gl=e.gl,this.location=t}},gc=class extends hc{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1f(this.location,e))}},_c=class extends hc{constructor(e,t){super(e,t),this.current=[0,0,0,0]}set(e){(e[0]!==this.current[0]||e[1]!==this.current[1]||e[2]!==this.current[2]||e[3]!==this.current[3])&&(this.current=e,this.gl.uniform4f(this.location,e[0],e[1],e[2],e[3]))}},vc=class extends hc{constructor(e,t){super(e,t),this.current=V.transparent}set(e){(e.r!==this.current.r||e.g!==this.current.g||e.b!==this.current.b||e.a!==this.current.a)&&(this.current=e,this.gl.uniform4f(this.location,e.r,e.g,e.b,e.a))}};function yc(e){return[ac(255*e.r,255*e.g),ac(255*e.b,255*e.a)]}var bc=class{constructor(e,t,n){this.value=e,this.uniformNames=t.map(e=>`u_${e}`),this.type=n}setUniform(e,t,n){e.set(n.constantOr(this.value))}getBinding(e,t,n){return this.type===`color`?new vc(e,t):new gc(e,t)}},xc=class{constructor(e,t){this.uniformNames=t.map(e=>`u_${e}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(e,t){this.pixelRatioFrom=t.pixelRatio,this.pixelRatioTo=e.pixelRatio,this.patternFrom=t.tlbr,this.patternTo=e.tlbr}setConstantDashPositions(e,t){this.dashTo=[0,e.y,e.height,e.width],this.dashFrom=[0,t.y,t.height,t.width]}setUniform(e,t,n,r){let i=null;r===`u_pattern_to`?i=this.patternTo:r===`u_pattern_from`?i=this.patternFrom:r===`u_dasharray_to`?i=this.dashTo:r===`u_dasharray_from`?i=this.dashFrom:r===`u_pixel_ratio_to`?i=this.pixelRatioTo:r===`u_pixel_ratio_from`&&(i=this.pixelRatioFrom),i!==null&&e.set(i)}getBinding(e,t,n){return n.startsWith(`u_pattern`)||n.startsWith(`u_dasharray_`)?new _c(e,t):new gc(e,t)}},Sc=class{constructor(e,t,n,r){this.expression=e,this.type=n,this.maxValue=0,this.paintVertexAttributes=t.map(e=>({name:`a_${e}`,type:`Float32`,components:n===`color`?2:1,offset:0})),this.paintVertexArray=new r}populatePaintArray(e,t,n){let r=this.paintVertexArray.length,i=this.expression.evaluate(new G(0,n),t,{},n.canonical,[],n.formattedSection);this.paintVertexArray.resize(e),this._setPaintValue(r,e,i)}updatePaintArray(e,t,n,r,i){let a=this.expression.evaluate(new G(0,i),n,r);this._setPaintValue(e,t,a)}_setPaintValue(e,t,n){if(this.type===`color`){let r=yc(n);for(let n=e;n<t;n++)this.paintVertexArray.emplace(n,r[0],r[1])}else{for(let r=e;r<t;r++)this.paintVertexArray.emplace(r,n);this.maxValue=Math.max(this.maxValue,Math.abs(n))}}upload(e){this.paintVertexArray?.arrayBuffer.byteLength&&(this.paintVertexBuffer?.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=e.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}},Cc=class{constructor(e,t,n,r,i,a){this.expression=e,this.uniformNames=t.map(e=>`u_${e}_t`),this.type=n,this.useIntegerZoom=r,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=t.map(e=>({name:`a_${e}`,type:`Float32`,components:n===`color`?4:2,offset:0})),this.paintVertexArray=new a}populatePaintArray(e,t,n){let r=this.expression.evaluate(new G(this.zoom,n),t,{},n.canonical,[],n.formattedSection),i=this.expression.evaluate(new G(this.zoom+1,n),t,{},n.canonical,[],n.formattedSection),a=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(a,e,r,i)}updatePaintArray(e,t,n,r,i){let a=this.expression.evaluate(new G(this.zoom,i),n,r),o=this.expression.evaluate(new G(this.zoom+1,i),n,r);this._setPaintValue(e,t,a,o)}_setPaintValue(e,t,n,r){if(this.type===`color`){let i=yc(n),a=yc(r);for(let n=e;n<t;n++)this.paintVertexArray.emplace(n,i[0],i[1],a[0],a[1])}else{for(let i=e;i<t;i++)this.paintVertexArray.emplace(i,n,r);this.maxValue=Math.max(this.maxValue,Math.abs(n),Math.abs(r))}}upload(e){this.paintVertexArray?.arrayBuffer.byteLength&&(this.paintVertexBuffer?.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=e.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}setUniform(e,t){let n=this.useIntegerZoom?Math.floor(t.zoom):t.zoom,r=se(this.expression.interpolationFactor(n,this.zoom,this.zoom+1),0,1);e.set(r)}getBinding(e,t,n){return new gc(e,t)}},wc=class{constructor(e,t,n,r,i,a){this.expression=e,this.type=t,this.useIntegerZoom=n,this.zoom=r,this.layerId=a,this.zoomInPaintVertexArray=new i,this.zoomOutPaintVertexArray=new i}populatePaintArray(e,t,n){let r=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(e),this.zoomOutPaintVertexArray.resize(e),this._setPaintValues(r,e,this.getPositionIds(t),n)}updatePaintArray(e,t,n,r,i){this._setPaintValues(e,t,this.getPositionIds(n),i)}_setPaintValues(e,t,n,r){let i=this.getPositions(r);if(!i||!n)return;let a=i[n.min],o=i[n.mid],s=i[n.max];if(a&&o&&s)for(let n=e;n<t;n++)this.emplace(this.zoomInPaintVertexArray,n,a,o),this.emplace(this.zoomOutPaintVertexArray,n,s,o)}upload(e){if(this.zoomInPaintVertexArray?.arrayBuffer.byteLength&&this.zoomOutPaintVertexArray?.arrayBuffer.byteLength){let t=this.getVertexAttributes();this.zoomInPaintVertexBuffer=e.createVertexBuffer(this.zoomInPaintVertexArray,t,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=e.createVertexBuffer(this.zoomOutPaintVertexArray,t,this.expression.isStateDependent)}}destroy(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()}},Tc=class extends wc{getPositions(e){return e.imagePositions}getPositionIds(e){return e.patterns?.[this.layerId]}getVertexAttributes(){return oc.members}emplace(e,t,n,r){e.emplace(t,n.tlbr[0],n.tlbr[1],n.tlbr[2],n.tlbr[3],r.tlbr[0],r.tlbr[1],r.tlbr[2],r.tlbr[3],n.pixelRatio,r.pixelRatio)}},Ec=class extends wc{getPositions(e){return e.dashPositions}getPositionIds(e){return e.dashes?.[this.layerId]}getVertexAttributes(){return sc.members}emplace(e,t,n,r){e.emplace(t,0,n.y,n.height,n.width,0,r.y,r.height,r.width)}},Dc=class{constructor(e,t,n){this.binders={},this._buffers=[];let r=[];for(let i in e.paint._values){if(!n(i))continue;let a=e.paint.get(i);if(!(a instanceof zo)||!xi(a.property.specification))continue;let o=kc(i,e.type),s=a.value,c=a.property.specification.type,l=a.property.useIntegerZoom,u=a.property.specification[`property-type`],d=u===`cross-faded`||u===`cross-faded-data-driven`;if(s.kind===`constant`)this.binders[i]=d?new xc(s.value,o):new bc(s.value,o,c),r.push(`/u_${i}`);else if(s.kind===`source`||d){let n=jc(i,c,`source`);this.binders[i]=d?i===`line-dasharray`?new Ec(s,c,l,t,n,e.id):new Tc(s,c,l,t,n,e.id):new Sc(s,o,c,n),r.push(`/a_${i}`)}else{let e=jc(i,c,`composite`);this.binders[i]=new Cc(s,o,c,l,t,e),r.push(`/z_${i}`)}}this.cacheKey=r.sort().join(``)}getMaxValue(e){let t=this.binders[e];return t instanceof Sc||t instanceof Cc?t.maxValue:0}populatePaintArrays(e,t,n){for(let r in this.binders){let i=this.binders[r];(i instanceof Sc||i instanceof Cc||i instanceof wc)&&i.populatePaintArray(e,t,n)}}setConstantPatternPositions(e,t){for(let n in this.binders){let r=this.binders[n];r instanceof xc&&r.setConstantPatternPositions(e,t)}}setConstantDashPositions(e,t){for(let n in this.binders){let r=this.binders[n];r instanceof xc&&r.setConstantDashPositions(e,t)}}updatePaintArrays(e,t,n,r,i){let a=!1;for(let o of e){let e=t.getPositions(o.id);for(let t of e){let e=n.feature(t.index);for(let n in this.binders){let s=this.binders[n];(s instanceof Sc||s instanceof Cc||s instanceof wc)&&s.expression.isStateDependent===!0&&(s.expression=r.paint.get(n).value,s.updatePaintArray(t.start,t.end,e,o.state,i),a=!0)}}}return a}defines(){let e=[];for(let t in this.binders){let n=this.binders[t];(n instanceof bc||n instanceof xc)&&e.push(...n.uniformNames.map(e=>`#define HAS_UNIFORM_${e}`))}return e}getBinderAttributes(){let e=[];for(let t in this.binders){let n=this.binders[t];if(n instanceof Sc||n instanceof Cc)for(let t of n.paintVertexAttributes)e.push(t.name);else if(n instanceof wc){let t=n.getVertexAttributes();for(let n of t)e.push(n.name)}}return e}getBinderUniforms(){let e=[];for(let t in this.binders){let n=this.binders[t];if(n instanceof bc||n instanceof xc||n instanceof Cc)for(let t of n.uniformNames)e.push(t)}return e}getPaintVertexBuffers(){return this._buffers}getUniforms(e,t){let n=[];for(let r in this.binders){let i=this.binders[r];if(i instanceof bc||i instanceof xc||i instanceof Cc){for(let a of i.uniformNames)if(t[a]){let o=i.getBinding(e,t[a],a);n.push({name:a,property:r,binding:o})}}}return n}setUniforms(e,t,n,r){for(let{name:e,property:i,binding:a}of t)this.binders[i].setUniform(a,r,n.get(i),e)}updatePaintBuffers(e){this._buffers=[];for(let t in this.binders){let n=this.binders[t];if(e&&n instanceof wc){let t=e.fromScale===2?n.zoomInPaintVertexBuffer:n.zoomOutPaintVertexBuffer;t&&this._buffers.push(t)}else(n instanceof Sc||n instanceof Cc)&&n.paintVertexBuffer&&this._buffers.push(n.paintVertexBuffer)}}upload(e){for(let t in this.binders){let n=this.binders[t];(n instanceof Sc||n instanceof Cc||n instanceof wc)&&n.upload(e)}this.updatePaintBuffers()}destroy(){for(let e in this.binders){let t=this.binders[e];(t instanceof Sc||t instanceof Cc||t instanceof wc)&&t.destroy()}}},Oc=class{constructor(e,t,n=()=>!0){this.programConfigurations={};for(let r of e)this.programConfigurations[r.id]=new Dc(r,t,n);this.needsUpload=!1,this._featureMap=new dc,this._bufferOffset=0}populatePaintArrays(e,t,n,r){for(let n in this.programConfigurations)this.programConfigurations[n].populatePaintArrays(e,t,r);t.id!==void 0&&this._featureMap.add(t.id,n,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,t,n,r){for(let i of n)this.needsUpload=this.programConfigurations[i.id].updatePaintArrays(e,this._featureMap,t,i,r)||this.needsUpload}get(e){return this.programConfigurations[e]}upload(e){if(this.needsUpload){for(let t in this.programConfigurations)this.programConfigurations[t].upload(e);this.needsUpload=!1}}destroy(){for(let e in this.programConfigurations)this.programConfigurations[e].destroy()}};function kc(e,t){return{\"text-opacity\":[`opacity`],\"icon-opacity\":[`opacity`],\"text-color\":[`fill_color`],\"icon-color\":[`fill_color`],\"text-halo-color\":[`halo_color`],\"icon-halo-color\":[`halo_color`],\"text-halo-blur\":[`halo_blur`],\"icon-halo-blur\":[`halo_blur`],\"text-halo-width\":[`halo_width`],\"icon-halo-width\":[`halo_width`],\"line-gap-width\":[`gapwidth`],\"line-dasharray\":[`dasharray_to`,`dasharray_from`],\"line-pattern\":[`pattern_to`,`pattern_from`,`pixel_ratio_to`,`pixel_ratio_from`],\"fill-pattern\":[`pattern_to`,`pattern_from`,`pixel_ratio_to`,`pixel_ratio_from`],\"fill-extrusion-pattern\":[`pattern_to`,`pattern_from`,`pixel_ratio_to`,`pixel_ratio_from`]}[e]||[e.replace(`${t}-`,``).replace(/-/g,`_`)]}function Ac(e){return{\"line-pattern\":{source:qs,composite:qs},\"fill-pattern\":{source:qs,composite:qs},\"fill-extrusion-pattern\":{source:qs,composite:qs},\"line-dasharray\":{source:Js,composite:Js}}[e]}function jc(e,t,n){let r={color:{source:us,composite:Os},number:{source:Cs,composite:us}};return Ac(e)?.[n]||r[t][n]}W(`ConstantBinder`,bc),W(`CrossFadedConstantBinder`,xc),W(`SourceExpressionBinder`,Sc),W(`CrossFadedPatternBinder`,Tc),W(`CrossFadedDasharrayBinder`,Ec),W(`CompositeExpressionBinder`,Cc),W(`ProgramConfiguration`,Dc,{omit:[`_buffers`]}),W(`ProgramConfigurationSet`,Oc);var Mc=2**14-1,Nc=-Mc-1;function Pc(e){let t=A/e.extent,n=e.loadGeometry();for(let e of n)for(let n of e){let e=Math.round(n.x*t),r=Math.round(n.y*t);n.x=se(e,Nc,Mc),n.y=se(r,Nc,Mc),(e<n.x||e>n.x+1||r<n.y||r>n.y+1)&&j(`Geometry exceeds allowed extent, reduce your vector tile buffer size`)}return n}function Fc(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?Pc(e):[]}}var Ic=-32768;function Lc(e,t,n,r,i){e.emplaceBack(Ic+t*8+r,Ic+n*8+i)}var Rc=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.hasDependencies=!1,this.layoutVertexArray=new Hs,this.indexArray=new ec,this.segments=new ic,this.programConfigurations=new Oc(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){let r=this.layers[0],i=[],a=null,o=!1,s=r.type===`heatmap`;if(r.type===`circle`){let e=r;a=e.layout.get(`circle-sort-key`),o=!a.isConstant(),s||=e.paint.get(`circle-pitch-alignment`)===`map`}let c=s?t.subdivisionGranularity.circle:1,l=new G(this.zoom),u=this.layers[0]._featureFilter.needGeometry;for(let{feature:t,id:r,index:s,sourceLayerIndex:c}of e){let e=Fc(t,u);if(!this.layers[0]._featureFilter.filter(l,e,n))continue;let d=o?a.evaluate(e,{},n):void 0,f={id:r,properties:t.properties,type:t.type,sourceLayerIndex:c,index:s,geometry:u?e.geometry:Pc(t),patterns:{},sortKey:d};i.push(f)}o&&i.sort((e,t)=>e.sortKey-t.sortKey);for(let r of i){let{geometry:i,index:a,sourceLayerIndex:o}=r,s=e[a].feature;this.addFeature(r,i,a,n,c),t.featureIndex.insert(s,i,a,o,this.index)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n})}addFeatures(e){}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,rc),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(e,t,n,r,i=1){let a;switch(i){case 1:a=[0,7];break;case 3:a=[0,2,5,7];break;case 5:a=[0,1,3,4,6,7];break;case 7:a=[0,1,2,3,4,5,6,7];break;default:throw Error(`Invalid circle bucket granularity: ${i}; valid values are 1, 3, 5, 7.`)}let o=a.length;for(let n of t)for(let t of n){let n=t.x,r=t.y;if(n<0||n>=8192||r<0||r>=8192)continue;let i=this.segments.prepareSegment(o*o,this.layoutVertexArray,this.indexArray,e.sortKey),s=i.vertexLength;for(let e=0;e<o;e++)for(let t=0;t<o;t++)Lc(this.layoutVertexArray,n,r,a[t],a[e]);for(let e=0;e<o-1;e++)for(let t=0;t<o-1;t++){let n=s+e*o+t,r=s+(e+1)*o+t;this.indexArray.emplaceBack(n,r+1,n+1),this.indexArray.emplaceBack(n,r,r+1)}i.vertexLength+=o*o,i.primitiveLength+=(o-1)*(o-1)*2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:{},canonical:r})}};W(`CircleBucket`,Rc,{omit:[`layers`]});function zc(e,t){for(let n of e)if(Yc(t,n))return!0;for(let n of t)if(Yc(e,n))return!0;return Wc(e,t)}function Bc(e,t,n){return Yc(e,t)?!0:Kc(t,e,n)}function Vc(e,t){if(e.length===1)return Jc(t,e[0]);for(let n of t)for(let t of n)if(Yc(e,t))return!0;for(let n of e)if(Jc(t,n))return!0;for(let n of t)if(Wc(e,n))return!0;return!1}function Hc(e,t,n){for(let r of t){if(e.length>=3){for(let t of r)if(Yc(e,t))return!0}if(Uc(e,r,n))return!0}return!1}function Uc(e,t,n){if(e.length>1){if(Wc(e,t))return!0;for(let r of t)if(Kc(r,e,n))return!0}for(let r of e)if(Kc(r,t,n))return!0;return!1}function Wc(e,t){if(e.length===0||t.length===0)return!1;for(let n=0;n<e.length-1;n++){let r=e[n],i=e[n+1];for(let e=0;e<t.length-1;e++){let n=t[e],a=t[e+1];if(Gc(r,i,n,a))return!0}}return!1}function Gc(e,t,n,r){return M(e,n,r)!==M(t,n,r)&&M(e,t,n)!==M(e,t,r)}function Kc(e,t,n){let r=n*n;if(t.length===1)return e.distSqr(t[0])<r;for(let n=1;n<t.length;n++){let i=t[n-1],a=t[n];if(qc(e,i,a)<r)return!0}return!1}function qc(e,t,n){let r=t.distSqr(n);if(r===0)return e.distSqr(t);let i=((e.x-t.x)*(n.x-t.x)+(e.y-t.y)*(n.y-t.y))/r;return i<0?e.distSqr(t):i>1?e.distSqr(n):e.distSqr(n.sub(t)._mult(i)._add(t))}function Jc(e,t){let n=!1,r,i,a;for(let o of e){r=o;for(let e=0,o=r.length-1;e<r.length;o=e++)i=r[e],a=r[o],i.y>t.y!=a.y>t.y&&t.x<(a.x-i.x)*(t.y-i.y)/(a.y-i.y)+i.x&&(n=!n)}return n}function Yc(e,t){let n=!1;for(let r=0,i=e.length-1;r<e.length;i=r++){let a=e[r],o=e[i];a.y>t.y!=o.y>t.y&&t.x<(o.x-a.x)*(t.y-a.y)/(o.y-a.y)+a.x&&(n=!n)}return n}function Xc(e,t,n,r,i){for(let a of e)if(t<=a.x&&n<=a.y&&r>=a.x&&i>=a.y)return!0;let a=[new l(t,n),new l(t,i),new l(r,i),new l(r,n)];if(e.length>2){for(let t of a)if(Yc(e,t))return!0}for(let t=0;t<e.length-1;t++){let n=e[t],r=e[t+1];if(Zc(n,r,a))return!0}return!1}function Zc(e,t,n){let r=n[0],i=n[2];if(e.x<r.x&&t.x<r.x||e.x>i.x&&t.x>i.x||e.y<r.y&&t.y<r.y||e.y>i.y&&t.y>i.y)return!1;let a=M(e,t,n[0]);return a!==M(e,t,n[1])||a!==M(e,t,n[2])||a!==M(e,t,n[3])}function Qc(e,t,n){let r=t.paint.get(e).value;return r.kind===`constant`?r.value:n.programConfigurations.get(t.id).getMaxValue(e)}function $c(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function el(e,t,n,r,i){if(!t[0]&&!t[1])return e;let a=l.convert(t)._mult(i);n===`viewport`&&a._rotate(-r);let o=[];for(let t of e)o.push(t.sub(a));return o}function tl(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n],i=t.at(-1);(n===0||i&&!r.equals(i))&&t.push(r)}return t}function nl(e,t){let n=[];for(let r of e){let e=tl(r),i=[];for(let n=0;n<e.length;n++){let r=e[n],a=e[n-1],o=e[n+1],s=n===0?new l(0,0):r.sub(a)._unit()._perp(),c=n===e.length-1?new l(0,0):o.sub(r)._unit()._perp(),u=s._add(c)._unit(),d=u.x*c.x+u.y*c.y;d!==0&&u._mult(1/d),i.push(u._mult(t)._add(r))}n.push(i)}return n}function rl({queryGeometry:e,size:t},n){return Bc(e,n,t)}function il({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i},a){return Bc(e,a,t*(n.projectTileCoordinates(a.x,a.y,r,i?.(a.x,a.y)).signedDistanceFromCamera/n.cameraToCenterDistance))}function al({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i},a){let o=n.projectTileCoordinates(a.x,a.y,r,i?.(a.x,a.y)).signedDistanceFromCamera,s=t*(n.cameraToCenterDistance/o);return Bc(e,cl(a,n,r,i),s)}function ol({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i},a){return Bc(e,cl(a,n,r,i),t)}function sl({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i,pitchAlignment:a=`map`,pitchScale:o=`map`},s){let c=a===`map`?o===`map`?rl:il:o===`map`?al:ol,l={queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i};for(let e of s)for(let t of e)if(c(l,t))return!0;return!1}function cl(e,t,n,r){let i=t.projectTileCoordinates(e.x,e.y,n,r?.(e.x,e.y)).point;return new l((i.x*.5+.5)*t.width,(-i.y*.5+.5)*t.height)}function ll(e,t,n,r){return e.map(e=>cl(e,t,n,r))}var ul,dl=()=>ul||=new Ko({\"circle-sort-key\":new q(P.layout_circle[`circle-sort-key`],`circle-sort-key`)}),fl,pl=()=>fl||=new Ko({\"circle-radius\":new q(P.paint_circle[`circle-radius`],`circle-radius`),\"circle-color\":new q(P.paint_circle[`circle-color`],`circle-color`),\"circle-blur\":new q(P.paint_circle[`circle-blur`],`circle-blur`),\"circle-opacity\":new q(P.paint_circle[`circle-opacity`],`circle-opacity`),\"circle-translate\":new K(P.paint_circle[`circle-translate`],`circle-translate`),\"circle-translate-anchor\":new K(P.paint_circle[`circle-translate-anchor`],`circle-translate-anchor`),\"circle-pitch-scale\":new K(P.paint_circle[`circle-pitch-scale`],`circle-pitch-scale`),\"circle-pitch-alignment\":new K(P.paint_circle[`circle-pitch-alignment`],`circle-pitch-alignment`),\"circle-stroke-width\":new q(P.paint_circle[`circle-stroke-width`],`circle-stroke-width`),\"circle-stroke-color\":new q(P.paint_circle[`circle-stroke-color`],`circle-stroke-color`),\"circle-stroke-opacity\":new q(P.paint_circle[`circle-stroke-opacity`],`circle-stroke-opacity`)}),ml={get paint(){return pl()},get layout(){return dl()}},hl=class extends Yo{constructor(e,t){super(e,ml,t)}createBucket(e){return new Rc(e)}queryRadius(e){let t=e;return Qc(`circle-radius`,this,t)+Qc(`circle-stroke-width`,this,t)+$c(this.paint.get(`circle-translate`))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,unwrappedTileID:o,getElevation:s}){let c=el(e,this.paint.get(`circle-translate`),this.paint.get(`circle-translate-anchor`),-i.bearingInRadians,a),l=this.paint.get(`circle-radius`).evaluate(t,n)+this.paint.get(`circle-stroke-width`).evaluate(t,n),u=this.paint.get(`circle-pitch-scale`),d=this.paint.get(`circle-pitch-alignment`),f,p;return d===`map`?(f=c,p=l*a):(f=ll(c,i,o,s),p=l),sl({queryGeometry:f,size:p,transform:i,unwrappedTileID:o,getElevation:s,pitchAlignment:d,pitchScale:u},r)}},gl=class extends Rc{};W(`HeatmapBucket`,gl,{omit:[`layers`]});var _l,vl=()=>_l||=new Ko({\"heatmap-radius\":new q(P.paint_heatmap[`heatmap-radius`],`heatmap-radius`),\"heatmap-weight\":new q(P.paint_heatmap[`heatmap-weight`],`heatmap-weight`),\"heatmap-intensity\":new K(P.paint_heatmap[`heatmap-intensity`],`heatmap-intensity`),\"heatmap-color\":new Go(P.paint_heatmap[`heatmap-color`],`heatmap-color`),\"heatmap-opacity\":new K(P.paint_heatmap[`heatmap-opacity`],`heatmap-opacity`)}),yl={get paint(){return vl()}};function bl(e,{width:t,height:n},r,i){if(!i)i=new Uint8Array(t*n*r);else if(i instanceof Uint8ClampedArray)i=new Uint8Array(i.buffer);else if(i.length!==t*n*r)throw RangeError(`mismatched image size. expected: ${i.length} but got: ${t*n*r}`);return e.width=t,e.height=n,e.data=i,e}function xl(e,{width:t,height:n},r){if(t===e.width&&n===e.height)return;let i=bl({},{width:t,height:n},r);Sl(e,i,{x:0,y:0},{x:0,y:0},{width:Math.min(e.width,t),height:Math.min(e.height,n)},r),e.width=t,e.height=n,e.data=i.data}function Sl(e,t,n,r,i,a){if(i.width===0||i.height===0)return t;if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw RangeError(`out of range source coordinates for image copy`);if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw RangeError(`out of range destination coordinates for image copy`);let o=e.data,s=t.data;if(o===s)throw Error(`srcData equals dstData, so image is already copied`);for(let c=0;c<i.height;c++){let l=((n.y+c)*e.width+n.x)*a,u=((r.y+c)*t.width+r.x)*a;for(let e=0;e<i.width*a;e++)s[u+e]=o[l+e]}return t}var Cl=class e{constructor(e,t){bl(this,e,1,t)}resize(e){xl(this,e,1)}clone(){return new e({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(e,t,n,r,i){Sl(e,t,n,r,i,1)}},wl=class e{constructor(e,t){bl(this,e,4,t)}resize(e){xl(this,e,4)}replace(e,t){t?this.data.set(e):this.data=e instanceof Uint8ClampedArray?new Uint8Array(e.buffer):e}clone(){return new e({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(e,t,n,r,i){Sl(e,t,n,r,i,4)}setPixel(e,t,n){let r=(e*this.width+t)*4;this.data[r+0]=Math.round(n.r*255/n.a),this.data[r+1]=Math.round(n.g*255/n.a),this.data[r+2]=Math.round(n.b*255/n.a),this.data[r+3]=Math.round(n.a*255)}};function Tl(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n+=4){let r=e[n+3];t[n+0]=Math.round(e[n+0]*r/255),t[n+1]=Math.round(e[n+1]*r/255),t[n+2]=Math.round(e[n+2]*r/255),t[n+3]=r}return t}W(`AlphaImage`,Cl),W(`RGBAImage`,wl);function El(e){let t={},n=e.resolution||256,r=e.clips?e.clips.length:1,i=e.image||new wl({width:n,height:r});if(!ue(n))throw Error(`width is not a power of 2 - ${n}`);let a=(r,a,o)=>{t[e.evaluationKey]=o;let s=e.expression.evaluate(t);i.setPixel(r/4/n,a/4,s)};if(e.clips)for(let t=0,i=0;t<r;++t,i+=n*4)for(let r=0,o=0;r<n;r++,o+=4){let s=r/(n-1),{start:c,end:l}=e.clips[t],u=c*(1-s)+l*s;a(i,o,u)}else for(let e=0,t=0;e<n;e++,t+=4){let r=e/(n-1);a(0,t,r)}return i}var Dl=`big-fb`,Ol=class extends Yo{createBucket(e){return new gl(e)}constructor(e,t){super(e,yl,t),this.heatmapFbos=new Map,this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(e){e===`heatmap-color`&&this._updateColorRamp()}_updateColorRamp(){let e=this._transitionablePaint._values[`heatmap-color`].value.expression;this.colorRamp=El({expression:e,evaluationKey:`heatmapDensity`,image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbos.has(`big-fb`)&&this.heatmapFbos.delete(Dl)}queryRadius(e){return Qc(`heatmap-radius`,this,e)}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,unwrappedTileID:o,getElevation:s}){return sl({queryGeometry:e,size:this.paint.get(`heatmap-radius`).evaluate(t,n)*a,transform:i,unwrappedTileID:o,getElevation:s},r)}hasOffscreenPass(){return this.paint.get(`heatmap-opacity`)!==0&&!this.isHidden()}},kl,Al=()=>kl||=new Ko({\"hillshade-illumination-direction\":new K(P.paint_hillshade[`hillshade-illumination-direction`],`hillshade-illumination-direction`),\"hillshade-illumination-altitude\":new K(P.paint_hillshade[`hillshade-illumination-altitude`],`hillshade-illumination-altitude`),\"hillshade-illumination-anchor\":new K(P.paint_hillshade[`hillshade-illumination-anchor`],`hillshade-illumination-anchor`),\"hillshade-exaggeration\":new K(P.paint_hillshade[`hillshade-exaggeration`],`hillshade-exaggeration`),\"hillshade-shadow-color\":new K(P.paint_hillshade[`hillshade-shadow-color`],`hillshade-shadow-color`),\"hillshade-highlight-color\":new K(P.paint_hillshade[`hillshade-highlight-color`],`hillshade-highlight-color`),\"hillshade-accent-color\":new K(P.paint_hillshade[`hillshade-accent-color`],`hillshade-accent-color`),\"hillshade-method\":new K(P.paint_hillshade[`hillshade-method`],`hillshade-method`),resampling:new K(P.paint_hillshade.resampling,`resampling`)}),jl={get paint(){return Al()}},Ml=class extends Yo{constructor(e,t){super(e,jl,t),this.recalculate({zoom:0,zoomHistory:{}},void 0)}getIlluminationProperties(){let e=this.paint.get(`hillshade-illumination-direction`).values,t=this.paint.get(`hillshade-illumination-altitude`).values,n=this.paint.get(`hillshade-highlight-color`).values,r=this.paint.get(`hillshade-shadow-color`).values,i=Math.max(e.length,t.length,n.length,r.length);e=e.concat(Array(i-e.length).fill(e.at(-1))),t=t.concat(Array(i-t.length).fill(t.at(-1))),n=n.concat(Array(i-n.length).fill(n.at(-1))),r=r.concat(Array(i-r.length).fill(r.at(-1)));let a=t.map(we);return{directionRadians:e.map(we),altitudeRadians:a,shadowColor:r,highlightColor:n}}hasOffscreenPass(){return this.paint.get(`hillshade-exaggeration`)!==0&&!this.isHidden()}},Nl,Pl=()=>Nl||=new Ko({\"color-relief-opacity\":new K(P[`paint_color-relief`][`color-relief-opacity`],`color-relief-opacity`),\"color-relief-color\":new Go(P[`paint_color-relief`][`color-relief-color`],`color-relief-color`),resampling:new K(P[`paint_color-relief`].resampling,`resampling`)}),Fl={get paint(){return Pl()}};function Il(e){return`data`in e}var Ll=class{constructor(e,t,n,r){this.context=e,this.format=n,this.texture=e.gl.createTexture(),this._ownedHandle=this.texture,this.update(t,r)}update(e,t,n){let{width:r,height:i}=e,a=(this.size?.[0]!==r||this.size[1]!==i)&&!n,{context:o}=this,{gl:s}=o;this.useMipmap=!!t?.useMipmap,a&&this.size&&this.format===s.RGBA&&(s.deleteTexture(this.texture),this.texture=s.createTexture(),this._ownedHandle=this.texture,this.magFilter=void 0,this.minFilter=void 0,this.wrap=void 0),s.bindTexture(s.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1);let c=this.format===s.RGBA&&t?.premultiply!==!1;if(a){if(this.size=[r,i],this.format===s.RGBA&&r>0&&i>0){let t=this.useMipmap?Math.floor(Math.log2(Math.max(r,i)))+1:1;if(s.texStorage2D(s.TEXTURE_2D,t,s.RGBA8,r,i),Il(e)){o.pixelStoreUnpackPremultiplyAlpha.set(!1);let{data:t}=e;c&&t&&(t=Tl(t)),t&&s.texSubImage2D(s.TEXTURE_2D,0,0,0,r,i,s.RGBA,s.UNSIGNED_BYTE,t)}else o.pixelStoreUnpackPremultiplyAlpha.set(c),s.texSubImage2D(s.TEXTURE_2D,0,0,0,s.RGBA,s.UNSIGNED_BYTE,e)}else Il(e)?(o.pixelStoreUnpackPremultiplyAlpha.set(!1),this._uploadRawData(e,c,r,i,s)):(o.pixelStoreUnpackPremultiplyAlpha.set(c),this._uploadDomImage(e,s))}else{let{x:t,y:a}=n||{x:0,y:0};Il(e)?(o.pixelStoreUnpackPremultiplyAlpha.set(!1),this._updateRawData(e,c,t,a,r,i,s)):(o.pixelStoreUnpackPremultiplyAlpha.set(c),this._updateDomImage(e,t,a,s))}this.useMipmap&&!(Il(e)&&e.data===null)&&s.generateMipmap(s.TEXTURE_2D),o.pixelStoreUnpackFlipY.setDefault(),o.pixelStoreUnpack.setDefault(),o.pixelStoreUnpackPremultiplyAlpha.setDefault()}_uploadDomImage(e,t){t.texImage2D(t.TEXTURE_2D,0,this.format,this.format,t.UNSIGNED_BYTE,e)}_uploadRawData(e,t,n,r,i){let{data:a}=e;t&&a&&(a=Tl(a)),i.texImage2D(i.TEXTURE_2D,0,this.format,n,r,0,this.format,i.UNSIGNED_BYTE,a)}_updateDomImage(e,t,n,r){r.texSubImage2D(r.TEXTURE_2D,0,t,n,r.RGBA,r.UNSIGNED_BYTE,e)}_updateRawData(e,t,n,r,i,a,o){let{data:s}=e;t&&s&&(s=Tl(s)),o.texSubImage2D(o.TEXTURE_2D,0,n,r,i,a,o.RGBA,o.UNSIGNED_BYTE,s)}bind(e,t,n){let{context:r}=this,{gl:i}=r;this.texture!==this._ownedHandle&&(this.texture=this._ownedHandle),i.bindTexture(i.TEXTURE_2D,this.texture),(n===i.LINEAR_MIPMAP_NEAREST||n===i.LINEAR_MIPMAP_LINEAR)&&!this.useMipmap&&(n=i.LINEAR);let a=n||e;e!==this.magFilter&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,e),this.magFilter=e),a!==this.minFilter&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,a),this.minFilter=a),t!==this.wrap&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,t),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,t),this.wrap=t)}generateMipmap(){if(!this.useMipmap)return;let{gl:e}=this.context;e.bindTexture(e.TEXTURE_2D,this.texture),e.generateMipmap(e.TEXTURE_2D)}destroy(){let{gl:e}=this.context;e.deleteTexture(this.texture),this.texture=null,this._ownedHandle=null}},Rl=class e{static{this.byteViewCache=new WeakMap}constructor(t,n,r,i=1,a=1,o=1,s=0){if(this.uid=t,n.height!==n.width)throw RangeError(`DEM tiles must be square`);if(r&&![`mapbox`,`terrarium`,`custom`].includes(r)){j(`\"${r}\" is not a valid encoding type. Valid types include \"mapbox\", \"terrarium\" and \"custom\".`);return}this.stride=n.height;let c=this.dim=n.height-4;switch(this.data=new Uint32Array(n.data.buffer),e.byteViewCache.set(this,new Uint8Array(this.data.buffer)),r){case`terrarium`:this.redFactor=256,this.greenFactor=1,this.blueFactor=1/256,this.baseShift=32768;break;case`custom`:this.redFactor=i,this.greenFactor=a,this.blueFactor=o,this.baseShift=s;break;default:this.redFactor=6553.6,this.greenFactor=25.6,this.blueFactor=.1,this.baseShift=1e4}for(let e=-2;e<c+2;e++){let t=this._idx(0,Math.max(0,Math.min(c-1,e)));(e<0||e>=c)&&this.data.copyWithin(this._idx(0,e),t,t+c),this.data.fill(this.data[t],this._idx(-2,e),this._idx(0,e)),this.data.fill(this.data[t+c-1],this._idx(c,e),this._idx(c+1,e)+1)}let l=this._getByteView();this.min=2**53-1,this.max=-(2**53-1);for(let e=0;e<c;e++)for(let t=0;t<c;t++){let n=this._idx(e,t)*4,r=this._unpackAtIndex(l,n);r>this.max&&(this.max=r),r<this.min&&(this.min=r)}}get(e,t){let n=this._getByteView(),r=this._idx(e,t)*4;return this._unpackAtIndex(n,r)}sampleBilinear(e,t){let n=Math.floor(e),r=Math.floor(t);if(n<-1||n>=this.dim||r<-1||r>=this.dim)throw RangeError(`Out of range source coordinates for DEM data. x: ${e}, y: ${t}, dim: ${this.dim}`);let i=this._getByteView(),a=((r+2)*this.stride+n+2)*4,o=this.stride*4,s=e-n,c=t-r,l=this._unpackAtIndex(i,a),u=this._unpackAtIndex(i,a+4),d=this._unpackAtIndex(i,a+o),f=this._unpackAtIndex(i,a+o+4);return l*(1-s)*(1-c)+u*s*(1-c)+d*(1-s)*c+f*s*c}getUnpackVector(){return[this.redFactor,this.greenFactor,this.blueFactor,this.baseShift]}_idx(e,t){if(e<-2||e>=this.dim+2||t<-2||t>=this.dim+2)throw RangeError(`Out of range source coordinates for DEM data. x: ${e}, y: ${t}, dim: ${this.dim}`);return(t+2)*this.stride+(e+2)}unpack(e,t,n){return e*this.redFactor+t*this.greenFactor+n*this.blueFactor-this.baseShift}pack(e){return zl(e,this.getUnpackVector())}getPixels(){return new wl({width:this.stride,height:this.stride},this._getByteView())}backfillBorder(e,t,n){if(this.dim!==e.dim)throw Error(`dem dimension mismatch`);let r=t*this.dim,i=t*this.dim+this.dim,a=n*this.dim,o=n*this.dim+this.dim;switch(t){case-1:r=i-2;break;case 1:i=r+2}switch(n){case-1:a=o-2;break;case 1:o=a+2}let s=-t*this.dim,c=-n*this.dim;for(let t=a;t<o;t++)for(let n=r;n<i;n++)this.data[this._idx(n,t)]=e.data[this._idx(n+s,t+c)]}_getByteView(){let t=e.byteViewCache.get(this);return t?.buffer!==this.data.buffer&&(t=new Uint8Array(this.data.buffer),e.byteViewCache.set(this,t)),t}_unpackAtIndex(e,t){return this.unpack(e[t],e[t+1],e[t+2])}};function zl(e,t){let n=t[0],r=t[1],i=t[2],a=t[3],o=Math.min(n,r,i),s=Math.round((e+a)/o);return{r:Math.floor(s*o/n)%256,g:Math.floor(s*o/r)%256,b:Math.floor(s*o/i)%256}}W(`DEMData`,Rl);var Bl=class extends Yo{constructor(e,t){super(e,Fl,t)}_createColorRamp(e){let t={elevationStops:[],colorStops:[]},n=this._transitionablePaint._values[`color-relief-color`].value.expression;if(n instanceof Wi&&n._styleExpression.expression instanceof ln){this.colorRampExpression=n;let e=n._styleExpression.expression;t.elevationStops=e.labels,t.colorStops=[];for(let n of t.elevationStops)t.colorStops.push(e.evaluate({globals:{elevation:n}}))}if(t.elevationStops.length<1&&(t.elevationStops=[0],t.colorStops=[V.transparent]),t.elevationStops.length<2&&(t.elevationStops.push(t.elevationStops[0]+1),t.colorStops.push(t.colorStops[0])),t.elevationStops.length<=e)return t;let r={elevationStops:[],colorStops:[]},i=(t.elevationStops.length-1)/(e-1);for(let e=0;e<t.elevationStops.length-.5;e+=i)r.elevationStops.push(t.elevationStops[Math.round(e)]),r.colorStops.push(t.colorStops[Math.round(e)]);return j(`Too many colors in specification of ${this.id} color-relief layer, may not render properly. Max possible colors: ${e}, provided: ${t.elevationStops.length}`),r}_colorRampChanged(){return this.colorRampExpression!=this._transitionablePaint._values[`color-relief-color`].value.expression}getColorRampTextures(e,t,n){if(this.colorRampTextures&&!this._colorRampChanged())return this.colorRampTextures;let r=this._createColorRamp(t),i=new wl({width:r.colorStops.length,height:1}),a=new wl({width:r.colorStops.length,height:1});for(let e=0;e<r.elevationStops.length;e++){let t=zl(r.elevationStops[e],n);a.setPixel(0,e,new V(t.r/255,t.g/255,t.b/255,1)),i.setPixel(0,e,r.colorStops[e])}return this.colorRampTextures={elevationTexture:new Ll(e,a,e.gl.RGBA),colorTexture:new Ll(e,i,e.gl.RGBA)},this.colorRampTextures}hasOffscreenPass(){return!this.isHidden()&&!!this.colorRampTextures}},Vl=ns([{name:`a_pos`,components:2,type:`Int16`}],4),Hl=Vl.members;Vl.size,Vl.alignment;function Ul(e,t,n){let r=n.patternDependencies,i=!1;for(let n of t){let t=n.paint.get(`${e}-pattern`);t.isConstant()||(i=!0);let a=t.constantOr(null);a&&(i=!0,r[a.to]=!0,r[a.from]=!0)}return i}function Wl(e,t,n,r,i){let{zoom:a}=r,o=i.patternDependencies;for(let r of t){let t=r.paint.get(`${e}-pattern`).value;if(t.kind!==`constant`){let e=t.evaluate({zoom:a-1},n,{},i.availableImages),s=t.evaluate({zoom:a},n,{},i.availableImages),c=t.evaluate({zoom:a+1},n,{},i.availableImages);e=e?.name?e.name:e,s=s?.name?s.name:s,c=c?.name?c.name:c,o[e]=!0,o[s]=!0,o[c]=!0,n.patterns[r.id]={min:e,mid:s,max:c}}}return n}var Gl=new Set,Kl=!1;function ql(e,t,n=2){let r=t&&t.length,i=r?t[0]*n:e.length;Gl.size&&Gl.clear();let a=Jl(e,0,i,n,!0),o=[];if(!a||a.next===a.prev)return o;let s=0,c=0,l=0;if(r&&(a=nu(e,t,a,n)),e.length>80*n){s=e[0],c=e[1];let t=s,r=c;for(let a=n;a<i;a+=n){let n=e[a],i=e[a+1];n<s&&(s=n),i<c&&(c=i),n>t&&(t=n),i>r&&(r=i)}l=Math.max(t-s,r-c),l=l===0?0:32767/l}return Xl(a,o,s,c,l),o}function Jl(e,t,n,r,i){let a=null;if(i===zu(e,t,n,r)>0)for(let i=t;i<n;i+=r)a=Iu(i/r|0,e[i],e[i+1],a);else for(let i=n-r;i>=t;i-=r)a=Iu(i/r|0,e[i],e[i+1],a);return a&&ku(a,a.next)&&(Lu(a),a=a.next),a}function Yl(e,t=e){let n=t===e,r=e,i;do i=!1,r!==r.next&&(Gl.size===0||!Gl.has(r))&&(ku(r,r.next)||Ou(r.prev,r,r.next)===0)?((n||r===t)&&(t=r.prev),Kl=!0,Lu(r),r=r.prev,i=!0):(n||r!==t)&&(r=r.next,i=!n);while(i||r!==t);return t}function Xl(e,t,n,r,i){i&&xu(e,n,r,i);let a=e,o=!1;for(;e.prev!==e.next;){let s=e.prev,c=e.next;if(Ou(s,e,c)<0&&(i?Ql(e,n,r,i):Zl(e))){t.push(s.i,e.i,c.i),Lu(e),e=c,a=c;continue}if(e=c,e===a){if(Kl=!1,e=Yl(e),Kl){a=e;continue}if(!o){e=$l(e,t),a=e,o=!0;continue}eu(e,t,n,r,i);break}}}function Zl(e){let t=e.prev,n=e,r=e.next,i=t.x,a=n.x,o=r.x,s=t.y,c=n.y,l=r.y,u=Math.min(i,a,o),d=Math.min(s,c,l),f=Math.max(i,a,o),p=Math.max(s,c,l),m=r.next;for(;m!==t;){if(m.x>=u&&m.x<=f&&m.y>=d&&m.y<=p&&(i!==m.x||s!==m.y)&&Eu(i,s,a,c,o,l,m.x,m.y)&&Ou(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function Ql(e,t,n,r){let i=e.prev,a=e,o=e.next,s=i.x,c=a.x,l=o.x,u=i.y,d=a.y,f=o.y,p=Math.min(s,c,l),m=Math.min(u,d,f),h=Math.max(s,c,l),g=Math.max(u,d,f),_=wu(p,m,t,n,r),v=wu(h,g,t,n,r),y=e.prevZ;for(;y&&y.z>=_;){if(y.x>=p&&y.x<=h&&y.y>=m&&y.y<=g&&y!==o&&(s!==y.x||u!==y.y)&&Eu(s,u,c,d,l,f,y.x,y.y)&&Ou(y.prev,y,y.next)>=0)return!1;y=y.prevZ}let b=e.nextZ;for(;b&&b.z<=v;){if(b.x>=p&&b.x<=h&&b.y>=m&&b.y<=g&&b!==o&&(s!==b.x||u!==b.y)&&Eu(s,u,c,d,l,f,b.x,b.y)&&Ou(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function $l(e,t){let n=e,r=!1;do{let i=n.prev,a=n.next.next;Au(i,n,n.next,a,!1)&&Nu(i,a)&&Nu(a,i)&&(t.push(i.i,n.i,a.i),Lu(n),Lu(n.next),n=e=a,r=!0),n=n.next}while(n!==e);return r?Yl(n):n}function eu(e,t,n,r,i){let a=e;do{let e=a.next.next;for(;e!==a.prev;){if(a.i!==e.i&&Du(a,e)){let o=Fu(a,e);a=Yl(a,a.next),o=Yl(o,o.next),Xl(a,t,n,r,i),Xl(o,t,n,r,i);return}e=e.next}a=a.next}while(a!==e)}var tu=!1;function nu(e,t,n,r){let i=[];for(let n=0,a=t.length;n<a;n++){let o=Jl(e,t[n]*r,n<a-1?t[n+1]*r:e.length,r,!1);o===o.next&&Gl.add(o),i.push(Tu(o))}i.sort(ru),lu(e.length/r,t.length),uu(n,n),tu=!0;for(let e=0;e<i.length;e++)n=iu(i[e],n);return tu=!1,Yl(n)}function ru(e,t){return e.x-t.x||e.y-t.y||(e.next.y-e.y)/(e.next.x-e.x)-(t.next.y-t.y)/(t.next.x-t.x)}function iu(e,t){let n=mu(e,t);if(!n)return t;let r=Fu(n,e),i=r.next;return uu(n,i.next),Yl(r,r.next),Yl(n,n.next)}var au=new Float64Array,ou=0,su=[],cu=[];function lu(e,t){let n=Math.ceil((e+2*t)/16)+t+2;au.length<n*4&&(au=new Float64Array(n*4)),ou=0}function uu(e,t){let n=e;do{let e=ou++;su[e]=n;let r=1/0,i=1/0,a=-1/0,o=-1/0,s=0;do{let t=n.next;n.z=e,n.x<r&&(r=n.x),n.x>a&&(a=n.x),n.y<i&&(i=n.y),n.y>o&&(o=n.y),t.x<r&&(r=t.x),t.x>a&&(a=t.x),t.y<i&&(i=t.y),t.y>o&&(o=t.y),n=t}while(++s<16&&n!==t);cu[e]=n;let c=e*4;au[c]=r,au[c+1]=i,au[c+2]=a,au[c+3]=o}while(n!==t)}function du(e,t){let n=e.z*4;t.x<au[n]&&(au[n]=t.x),t.y<au[n+1]&&(au[n+1]=t.y),t.x>au[n+2]&&(au[n+2]=t.x),t.y>au[n+3]&&(au[n+3]=t.y)}function fu(e){let t=cu[e];for(;t.prev.next!==t;)t=t.next;return cu[e]=t,t}function pu(e){let t=su[e];for(;t.prev.next!==t;)t=t.next;return su[e]=t,t}function mu(e,t){let n=t,r=e.x,i=e.y,a=-1/0,o;if(ku(e,n))return n;for(let t=0,s=0;t<ou;t++,s+=4){if(i<au[s+1]||i>au[s+3]||au[s]>r||au[s+2]<=a)continue;let c=fu(t);n=pu(t);do{if(n.prev.next===n){if(ku(e,n.next))return n.next;if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){let e=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(e<=r&&e>a&&(a=e,o=n.x<n.next.x?n:n.next,e===r))return o}}n=n.next}while(n!==c)}if(!o)return null;let s=o.x,c=o.y,l=Math.min(i,c),u=Math.max(i,c),d=1/0;for(let t=0,f=0;t<ou;t++,f+=4){if(au[f+2]<s||au[f]>r||au[f+3]<l||au[f+1]>u)continue;let p=fu(t);n=pu(t);do{if(n.prev.next===n&&r>=n.x&&n.x>=s&&r!==n.x&&Eu(i<c?r:a,i,s,c,i<c?a:r,i,n.x,n.y)){let t=Math.abs(i-n.y)/(r-n.x);(Nu(n,e)||n.y===i&&n.next.y===i&&n.next.x>r)&&(t<d||t===d&&(n.x>o.x||n.x===o.x&&hu(o,n)))&&(o=n,d=t)}n=n.next}while(n!==p)}return o}function hu(e,t){return Ou(e.prev,e,t.prev)<0&&Ou(t.next,e,e.next)<0}var gu=[],_u=[],vu=new Uint32Array,yu=new Uint32Array,bu=new Uint32Array(256);function xu(e,t,n,r){let i=e,a=0;do i.z=wu(i.x,i.y,t,n,r),gu[a++]=i,i=i.next;while(i!==e);Su(a);let o=null;for(let e=0;e<a;e++){let t=gu[e];t.prevZ=o,o&&(o.nextZ=t),o=t}o.nextZ=null}function Su(e){if(e<=32){for(let t=1;t<e;t++){let e=gu[t],n=e.z,r=t-1;for(;r>=0&&gu[r].z>n;)gu[r+1]=gu[r],r--;gu[r+1]=e}return}vu.length<e&&(vu=new Uint32Array(e),yu=new Uint32Array(e),_u=Array(e));for(let t=0;t<e;t++)vu[t]=gu[t].z;Cu(e,gu,vu,_u,yu,0),Cu(e,_u,yu,gu,vu,8),Cu(e,gu,vu,_u,yu,16),Cu(e,_u,yu,gu,vu,24)}function Cu(e,t,n,r,i,a){bu.fill(0);for(let t=0;t<e;t++)bu[n[t]>>>a&255]++;let o=0;for(let e=0;e<256;e++){let t=bu[e];bu[e]=o,o+=t}for(let o=0;o<e;o++){let e=n[o],s=bu[e>>>a&255]++;r[s]=t[o],i[s]=e}}function wu(e,t,n,r,i){return e=(e-n)*i|0,t=(t-r)*i|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function Tu(e){let t=e,n=e;do(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next;while(t!==e);return n}function Eu(e,t,n,r,i,a,o,s){return(i-o)*(t-s)>=(e-o)*(a-s)&&(e-o)*(r-s)>=(n-o)*(t-s)&&(n-o)*(a-s)>=(i-o)*(r-s)}function Du(e,t){let n=ku(e,t)&&Ou(e.prev,e,e.next)>0&&Ou(t.prev,t,t.next)>0;return e.next.i!==t.i&&(n||Nu(e,t)&&Nu(t,e)&&(Ou(e.prev,e,t.prev)!==0||Ou(e,t.prev,t)!==0))&&!Mu(e,t)&&(n||Pu(e,t))}function Ou(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function ku(e,t){return e.x===t.x&&e.y===t.y}function Au(e,t,n,r,i=!0){let a=Ou(e,t,n),o=Ou(e,t,r),s=Ou(n,r,e),c=Ou(n,r,t);return(a>0&&o<0||a<0&&o>0)&&(s>0&&c<0||s<0&&c>0)?!0:i?!!(a===0&&ju(e,n,t)||o===0&&ju(e,r,t)||s===0&&ju(n,e,r)||c===0&&ju(n,t,r)):!1}function ju(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function Mu(e,t){let n=Math.min(e.x,t.x),r=Math.max(e.x,t.x),i=Math.min(e.y,t.y),a=Math.max(e.y,t.y),o=e;do{let s=o.next;if(o.x>r&&s.x>r||o.x<n&&s.x<n||o.y>a&&s.y>a||o.y<i&&s.y<i){o=s;continue}if(o.i!==e.i&&s.i!==e.i&&o.i!==t.i&&s.i!==t.i&&Au(o,s,e,t))return!0;o=s}while(o!==e);return!1}function Nu(e,t){return Ou(e.prev,e,e.next)<0?Ou(e,t,e.next)>=0&&Ou(e,e.prev,t)>=0:Ou(e,t,e.prev)<0||Ou(e,e.next,t)<0}function Pu(e,t){let n=e,r=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{let e=n.next;n.y>a!=e.y>a&&i<(e.x-n.x)*(a-n.y)/(e.y-n.y)+n.x&&(r=!r),n=e}while(n!==e);return r}function Fu(e,t){let n=Ru(e.i,e.x,e.y),r=Ru(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,a.next=r,r.prev=a,r}function Iu(e,t,n,r){let i=Ru(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function Lu(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ),tu&&du(e.prev,e.next)}function Ru(e,t,n){return{i:e,x:t,y:n,prev:null,next:null,z:0,prevZ:null,nextZ:null}}function zu(e,t,n,r){let i=0;for(let a=t,o=n-r;a<n;a+=r)i+=(e[o]-e[a])*(e[a+1]+e[o+1]),o=a;return i}var Bu=class{constructor(e,t){if(t>e)throw Error(`Min granularity must not be greater than base granularity.`);this._baseZoomGranularity=e,this._minGranularity=t}getGranularityForZoomLevel(e){let t=1<<e;return Math.max(Math.floor(this._baseZoomGranularity/t),this._minGranularity,1)}},Vu=class e{constructor(e){this.fill=e.fill,this.line=e.line,this.tile=e.tile,this.stencil=e.stencil,this.circle=e.circle}static{this.noSubdivision=new e({fill:new Bu(0,0),line:new Bu(0,0),tile:new Bu(0,0),stencil:new Bu(0,0),circle:1})}};W(`SubdivisionGranularityExpression`,Bu),W(`SubdivisionGranularitySetting`,Vu);var Hu=class{constructor(e,t){this._vertexBuffer=[],this._vertexDictionary=new Map,this._used=!1,this._granularity=e,this._granularityCellSize=A/e,this._canonical=t}_getKey(e,t){return e+=32768,t+=32768,e<<16|t<<0}_vertexToIndex(e,t){if(e<-32768||t<-32768||e>32767||t>32767)throw Error(`Vertex coordinates are out of signed 16 bit integer range.`);let n=Math.round(e)|0,r=Math.round(t)|0,i=this._getKey(n,r),a=this._vertexDictionary.get(i);if(a!==void 0)return a;let o=this._vertexBuffer.length/2;return this._vertexDictionary.set(i,o),this._vertexBuffer.push(n,r),o}_subdivideTrianglesScanline(e,t){if(this._granularity<2)return Ju(this._vertexBuffer,qu(e,t));let n=[],r=e.length;for(let i=0;i<r;i+=3){let r=[t[e[i+0]],t[e[i+1]],t[e[i+2]]],a=[this._vertexBuffer[r[0]*2+0],this._vertexBuffer[r[0]*2+1],this._vertexBuffer[r[1]*2+0],this._vertexBuffer[r[1]*2+1],this._vertexBuffer[r[2]*2+0],this._vertexBuffer[r[2]*2+1]],o=1/0,s=1/0,c=-1/0,l=-1/0;for(let e=0;e<3;e++){let t=a[e*2],n=a[e*2+1];o=Math.min(o,t),c=Math.max(c,t),s=Math.min(s,n),l=Math.max(l,n)}if(o===c||s===l)continue;let u=Math.floor(o/this._granularityCellSize),d=Math.ceil(c/this._granularityCellSize),f=Math.floor(s/this._granularityCellSize),p=Math.ceil(l/this._granularityCellSize);if(u===d&&f===p){n.push(...r);continue}for(let e=f;e<p;e++){let t=this._scanlineGenerateVertexRingForCellRow(e,a,r);Yu(this._vertexBuffer,t,n)}}return n}_scanlineGenerateVertexRingForCellRow(e,t,n){let r=e*this._granularityCellSize,i=r+this._granularityCellSize,a=[];for(let e=0;e<3;e++){let o=t[e*2],s=t[e*2+1],c=t[(e+1)*2%6],l=t[((e+1)*2+1)%6],u=t[(e+2)*2%6],d=t[((e+2)*2+1)%6],f=c-o,p=l-s,m=f===0,h=p===0,g=(r-s)/p,_=(i-s)/p,v=Math.min(g,_),y=Math.max(g,_);if(!h&&(v>=1||y<=0)||h&&(s<r||s>i)){l>=r&&l<=i&&a.push(n[(e+1)%3]);continue}if(!h&&v>0){let e=o+f*v,t=s+p*v;a.push(this._vertexToIndex(e,t))}let b=o+f*Math.max(v,0),x=o+f*Math.min(y,1);if(m||this._generateIntraEdgeVertices(a,o,s,c,l,b,x),!h&&y<1){let e=o+f*y,t=s+p*y;a.push(this._vertexToIndex(e,t))}(h||l>=r&&l<=i)&&a.push(n[(e+1)%3]),!h&&(l<=r||l>=i)&&this._generateInterEdgeVertices(a,o,s,c,l,u,d,x,r,i)}return a}_generateIntraEdgeVertices(e,t,n,r,i,a,o){let s=r-t,c=i-n,l=c===0,u=l?Math.min(t,r):Math.min(a,o),d=l?Math.max(t,r):Math.max(a,o),f=Math.floor(u/this._granularityCellSize)+1,p=Math.ceil(d/this._granularityCellSize)-1;if(l?t<r:a<o)for(let r=f;r<=p;r++){let i=r*this._granularityCellSize,a=n+c*(i-t)/s;e.push(this._vertexToIndex(i,a))}else for(let r=p;r>=f;r--){let i=r*this._granularityCellSize,a=n+c*(i-t)/s;e.push(this._vertexToIndex(i,a))}}_generateInterEdgeVertices(e,t,n,r,i,a,o,s,c,l){let u=i-n,d=a-r,f=o-i,p=(c-i)/f,m=(l-i)/f,h=Math.min(p,m),g=Math.max(p,m),_=r+d*h,v=Math.floor(Math.min(_,s)/this._granularityCellSize)+1,y=Math.ceil(Math.max(_,s)/this._granularityCellSize)-1,b=s<_,x=f===0;if(x&&(o===c||o===l))return;if(x||h>=1||g<=0){let e=t-a,r=n-o,i=(c-o)/r,u=(l-o)/r,d=a+e*Math.min(i,u);v=Math.floor(Math.min(d,s)/this._granularityCellSize)+1,y=Math.ceil(Math.max(d,s)/this._granularityCellSize)-1,b=s<d}let S=u>0?l:c;if(b)for(let t=v;t<=y;t++){let n=t*this._granularityCellSize;e.push(this._vertexToIndex(n,S))}else for(let t=y;t>=v;t--){let n=t*this._granularityCellSize;e.push(this._vertexToIndex(n,S))}}_generateOutline(e,t){let n=[],r=0;for(let i of e){let e=this._granularity<2?this._ringPathIndices(i,r,t):this._pointArrayToIndices(Wu(i,this._granularity,!0));r+=i.length;let a=[];for(let t=1;t<e.length;t++)a.push(e[t-1]),a.push(e[t]);n.push(a)}return n}_ringPathIndices(e,t,n){let r=n.slice(t,t+e.length);return r.length>=2&&Gu(e)&&r.push(r[0]),r}_handlePoles(e){let t=!1,n=!1;this._canonical&&(this._canonical.y===0&&(t=!0),this._canonical.y===(1<<this._canonical.z)-1&&(n=!0)),(t||n)&&this._fillPoles(e,t,n)}_ensureNoPoleVertices(){let e=this._vertexBuffer;for(let t=0;t<e.length;t+=2){let n=e[t+1];n===-32768&&(e[t+1]=-32767),n===32767&&(e[t+1]=32766)}}_generatePoleQuad(e,t,n,r,i,a){r>i==(a===-32768)?(e.push(n),e.push(t),e.push(this._vertexToIndex(r,a)),e.push(this._vertexToIndex(i,a)),e.push(n),e.push(this._vertexToIndex(r,a))):(e.push(t),e.push(n),e.push(this._vertexToIndex(r,a)),e.push(n),e.push(this._vertexToIndex(i,a)),e.push(this._vertexToIndex(r,a)))}_fillPoles(e,t,n){let r=this._vertexBuffer,i=A,a=e.length;for(let o=2;o<a;o+=3){let a=e[o-2],s=e[o-1],c=e[o],l=r[a*2],u=r[a*2+1],d=r[s*2],f=r[s*2+1],p=r[c*2],m=r[c*2+1];t&&(u===0&&f===0&&this._generatePoleQuad(e,a,s,l,d,-32768),f===0&&m===0&&this._generatePoleQuad(e,s,c,d,p,-32768),m===0&&u===0&&this._generatePoleQuad(e,c,a,p,l,-32768)),n&&(u===i&&f===i&&this._generatePoleQuad(e,a,s,l,d,32767),f===i&&m===i&&this._generatePoleQuad(e,s,c,d,p,32767),m===i&&u===i&&this._generatePoleQuad(e,c,a,p,l,32767))}}_initializeVertices(e){let t=[];for(let n=0;n<e.length;n+=2)t.push(this._vertexToIndex(e[n],e[n+1]));return t}subdividePolygonInternal(e,t){if(this._used)throw Error(`Subdivision: multiple use not allowed.`);this._used=!0;let{flattened:n,holeIndices:r}=Ku(e),i=this._initializeVertices(n),a;try{let e=ql(n,r);a=this._subdivideTrianglesScanline(e,i)}catch(e){console.error(e)}let o=[];return t&&(o=this._generateOutline(e,i)),this._ensureNoPoleVertices(),this._handlePoles(a),this._granularity>=2&&this._canonical?.z===0&&(a=this._removeTrianglesOutsideTileX(a),o=o.map(e=>this._removeLinesOutsideTileX(e))),{verticesFlattened:this._vertexBuffer,indicesTriangles:a,indicesLineList:o}}_vertexOutsideTileX(e){let t=this._vertexBuffer[e*2];return t<0||t>8192}_removeTrianglesOutsideTileX(e){let t=[];for(let n=0;n<e.length;n+=3)this._vertexOutsideTileX(e[n])||this._vertexOutsideTileX(e[n+1])||this._vertexOutsideTileX(e[n+2])||t.push(e[n],e[n+1],e[n+2]);return t}_removeLinesOutsideTileX(e){let t=[];for(let n=0;n<e.length;n+=2)this._vertexOutsideTileX(e[n])||this._vertexOutsideTileX(e[n+1])||t.push(e[n],e[n+1]);return t}_pointArrayToIndices(e){let t=[];for(let n of e)t.push(this._vertexToIndex(n.x,n.y));return t}};function Uu(e,t,n,r=!0){return new Hu(n,t).subdividePolygonInternal(e,r)}function Wu(e,t,n=!1){if(!e||e.length<1||e.length<2)return[];let r=n&&Gu(e);if(t<2)return r?[...e,e[0]]:[...e];let i=Math.floor(A/t),a=[];a.push(new l(e[0].x,e[0].y));let o=e.length,s=r?o:o-1;for(let t=0;t<s;t++){let n=e[t],r=t<o-1?e[t+1]:e[0],s=n.x,c=n.y,u=r.x,d=r.y,f=s!==u,p=c!==d;if(!f&&!p)continue;let m=u-s,h=d-c,g=Math.abs(m),_=Math.abs(h),v=s,y=c;for(;;){let e=m>0?(Math.floor(v/i)+1)*i:(Math.ceil(v/i)-1)*i,t=h>0?(Math.floor(y/i)+1)*i:(Math.ceil(y/i)-1)*i,n=Math.abs(v-e),r=Math.abs(y-t),o=Math.abs(v-u),s=Math.abs(y-d),c=f?n/g:1/0,b=p?r/_:1/0;if((o<=n||!f)&&(s<=r||!p))break;if(c<b&&f||!p){v=e,y+=h*c;let t=new l(v,Math.round(y));(a[a.length-1].x!==t.x||a[a.length-1].y!==t.y)&&a.push(t)}else{v+=m*b,y=t;let e=new l(Math.round(v),y);(a[a.length-1].x!==e.x||a[a.length-1].y!==e.y)&&a.push(e)}}let b=new l(u,d);(a[a.length-1].x!==b.x||a[a.length-1].y!==b.y)&&a.push(b)}return a}function Gu(e){return!e[0].equals(e[e.length-1])}function Ku(e){let t=[],n=[];for(let r of e)if(r.length!==0){r!==e[0]&&t.push(n.length/2);for(let e of r)n.push(e.x),n.push(e.y)}return{flattened:n,holeIndices:t}}function qu(e,t){let n=Array(e.length);for(let r=0;r<e.length;r++)n[r]=t[e[r]];return n}function Ju(e,t){let n=[];for(let r=0;r<t.length;r+=3){let i=t[r],a=t[r+1],o=t[r+2],s=e[i*2],c=e[i*2+1],l=e[a*2],u=e[a*2+1],d=e[o*2],f=e[o*2+1],p=l-s,m=u-c,h=d-s;p*(f-c)-m*h>0?(n.push(i),n.push(o),n.push(a)):(n.push(i),n.push(a),n.push(o))}return n}function Yu(e,t,n){if(t.length===0)throw Error(`Subdivision vertex ring is empty.`);let r=0,i=e[t[0]*2];for(let n=1;n<t.length;n++){let a=e[t[n]*2];a<i&&(i=a,r=n)}let a=t.length,o=r,s=(o+1)%a;for(;;){let r=o-1>=0?o-1:a-1,i=(s+1)%a,c=e[t[r]*2],l=e[t[r]*2+1],u=e[t[i]*2],d=e[t[i]*2+1],f=e[t[o]*2],p=e[t[o]*2+1],m=e[t[s]*2],h=e[t[s]*2+1],g=!1;if(c<u)g=!0;else if(c>u)g=!1;else{let e=h-p,t=-(m-f),n=p<h?1:-1;((c-f)*e+(l-p)*t)*n>((u-f)*e+(d-p)*t)*n&&(g=!0)}if(g){let e=t[r],i=t[o],c=t[s];e!==i&&e!==c&&i!==c&&n.push(c,i,e),o--,o<0&&(o=a-1)}else{let e=t[i],r=t[o],c=t[s];e!==r&&e!==c&&r!==c&&n.push(c,r,e),s++,s>=a&&(s=0)}if(r===i)break}}function Xu(e,t,n,r,i,a,o,s,c){let l=i.length/2,u=o&&s&&c;if(l<ic.MAX_VERTEX_ARRAY_LENGTH){let d=t.prepareSegment(l,n,r),f=d.vertexLength;for(let e=0;e<a.length;e+=3)r.emplaceBack(f+a[e],f+a[e+1],f+a[e+2]);d.vertexLength+=l,d.primitiveLength+=a.length/3;let p,m;u&&(m=o.prepareSegment(l,n,s),p=m.vertexLength,m.vertexLength+=l);for(let t=0;t<i.length;t+=2)e(i[t],i[t+1]);if(u)for(let e of c){for(let t=1;t<e.length;t+=2)s.emplaceBack(p+e[t-1],p+e[t]);m.primitiveLength+=e.length/2}}else Qu(t,n,r,i,a,e),u&&$u(o,n,s,i,c,e),t.forceNewSegmentOnNextPrepare(),o?.forceNewSegmentOnNextPrepare()}function Zu(e,t,n,r,i,a,o){if(a){let a=r.count;return n(t[i*2],t[i*2+1]),e[i]=r.count,r.count++,o.vertexLength++,a}return e[i]}function Qu(e,t,n,r,i,a){let o=[];for(let e=0;e<r.length/2;e++)o.push(-1);let s={count:0},c=0,l=e.getOrCreateLatestSegment(t,n),u=l.vertexLength;for(let d=2;d<i.length;d+=3){let f=i[d-2],p=i[d-1],m=i[d],h=o[f]<c,g=o[p]<c,_=o[m]<c,v=+!!h+ +!!g+ +!!_;l.vertexLength+v>ic.MAX_VERTEX_ARRAY_LENGTH&&(l=e.createNewSegment(t,n),c=s.count,h=!0,g=!0,_=!0,u=0);let y=Zu(o,r,a,s,f,h,l),b=Zu(o,r,a,s,p,g,l),x=Zu(o,r,a,s,m,_,l);n.emplaceBack(u+y-c,u+b-c,u+x-c),l.primitiveLength++}}function $u(e,t,n,r,i,a){let o=[];for(let e=0;e<r.length/2;e++)o.push(-1);let s={count:0},c=0,l=e.getOrCreateLatestSegment(t,n),u=l.vertexLength;for(let d of i)for(let i=1;i<d.length;i+=2){let f=d[i-1],p=d[i],m=o[f]<c,h=o[p]<c,g=+!!m+ +!!h;l.vertexLength+g>ic.MAX_VERTEX_ARRAY_LENGTH&&(l=e.createNewSegment(t,n),c=s.count,m=!0,h=!0,u=0);let _=Zu(o,r,a,s,f,m,l),v=Zu(o,r,a,s,p,h,l);n.emplaceBack(u+_-c,u+v-c),l.primitiveLength++}}var ed=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.hasDependencies=!1,this.sdfPatterns={},this.patternFeatures=[],this.layoutVertexArray=new Us,this.indexArray=new ec,this.indexArray2=new tc,this.programConfigurations=new Oc(e.layers,e.zoom),this.segments=new ic,this.segments2=new ic,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){this.hasDependencies=Ul(`fill`,this.layers,t);let r=this.layers[0].layout.get(`fill-sort-key`),i=!r.isConstant(),a=[],o=new G(this.zoom),s=this.layers[0]._featureFilter.needGeometry;for(let{feature:c,id:l,index:u,sourceLayerIndex:d}of e){let e=Fc(c,s);if(!this.layers[0]._featureFilter.filter(o,e,n))continue;let f=i?r.evaluate(e,{},n,t.availableImages):void 0,p={id:l,properties:c.properties,type:c.type,sourceLayerIndex:d,index:u,geometry:s?e.geometry:Pc(c),patterns:{},sortKey:f};a.push(p)}i&&a.sort((e,t)=>e.sortKey-t.sortKey);for(let r of a){let{geometry:i,index:a,sourceLayerIndex:o}=r;if(this.hasDependencies){let e=Wl(`fill`,this.layers,r,{zoom:this.zoom},t);this.patternFeatures.push(e)}else this.addFeature(r,i,a,n,{},t.subdivisionGranularity);let s=e[a].feature;t.featureIndex.insert(s,i,a,o,this.index)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n})}addFeatures({options:e,canonical:t,patternPositions:n,patternMap:r}){this.detectSdfPatterns(r);for(let r of this.patternFeatures)this.addFeature(r,r.geometry,r.index,t,n,e.subdivisionGranularity)}detectSdfPatterns(e){for(let t of this.patternFeatures)for(let n in t.patterns){let r=t.patterns[n];this.recordSdfPattern(n,e[r.min]),this.recordSdfPattern(n,e[r.mid]),this.recordSdfPattern(n,e[r.max])}for(let t of this.layers){let n=t.paint.get(`fill-pattern`).constantOr(null);n&&(this.recordSdfPattern(t.id,e[n.from.toString()]),this.recordSdfPattern(t.id,e[n.to.toString()]))}}recordSdfPattern(e,t){if(!t)return;let n=t.sdf===!0,r=this.sdfPatterns[e];r===void 0?this.sdfPatterns[e]=n:r!==n&&j(`Style sheet warning: Cannot mix SDF and non-SDF fill patterns in layer \"${e}\"`)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Hl),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.indexBuffer2=e.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(e,t,n,r,i,a){for(let e of gn(t,500)){let t=Uu(e,r,a.fill.getGranularityForZoomLevel(r.z)),n=this.layoutVertexArray;Xu((e,t)=>{n.emplaceBack(e,t)},this.segments,this.layoutVertexArray,this.indexArray,t.verticesFlattened,t.indicesTriangles,this.segments2,this.indexArray2,t.indicesLineList)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:i,canonical:r})}};W(`FillBucket`,ed,{omit:[`layers`,`patternFeatures`]});var td,nd=()=>td||=new Ko({\"fill-sort-key\":new q(P.layout_fill[`fill-sort-key`],`fill-sort-key`)}),rd,id=()=>rd||=new Ko({\"fill-antialias\":new K(P.paint_fill[`fill-antialias`],`fill-antialias`),\"fill-opacity\":new q(P.paint_fill[`fill-opacity`],`fill-opacity`),\"fill-layer-opacity\":new K(P.paint_fill[`fill-layer-opacity`],`fill-layer-opacity`),\"fill-color\":new q(P.paint_fill[`fill-color`],`fill-color`),\"fill-outline-color\":new q(P.paint_fill[`fill-outline-color`],`fill-outline-color`),\"fill-translate\":new K(P.paint_fill[`fill-translate`],`fill-translate`),\"fill-translate-anchor\":new K(P.paint_fill[`fill-translate-anchor`],`fill-translate-anchor`),\"fill-pattern\":new Uo(P.paint_fill[`fill-pattern`],`fill-pattern`)}),ad={get paint(){return id()},get layout(){return nd()}},od=class extends Yo{constructor(e,t){super(e,ad,t)}recalculate(e,t){super.recalculate(e,t);let n=this.paint._values[`fill-outline-color`];n.value.kind===`constant`&&n.value.value===void 0&&(this.paint._values[`fill-outline-color`]=this.paint._values[`fill-color`])}createBucket(e){return new ed(e)}queryRadius(){return $c(this.paint.get(`fill-translate`))}queryIntersectsFeature({queryGeometry:e,geometry:t,transform:n,pixelsToTileUnits:r}){return Vc(el(e,this.paint.get(`fill-translate`),this.paint.get(`fill-translate-anchor`),-n.bearingInRadians,r),t)}isTileClipped(){return!0}},sd=ns([{name:`a_pos`,components:2,type:`Int16`},{name:`a_normal_ed`,components:4,type:`Int16`}],4),cd=ns([{name:`a_centroid`,components:2,type:`Int16`}],4),ld=sd.members;sd.size,sd.alignment;var ud=class e{constructor(){this.minX=1/0,this.maxX=-1/0,this.minY=1/0,this.maxY=-1/0}extend(e){return this.minX=Math.min(this.minX,e.x),this.minY=Math.min(this.minY,e.y),this.maxX=Math.max(this.maxX,e.x),this.maxY=Math.max(this.maxY,e.y),this}expandBy(e){return this.minX-=e,this.minY-=e,this.maxX+=e,this.maxY+=e,(this.minX>this.maxX||this.minY>this.maxY)&&(this.minX=1/0,this.maxX=-1/0,this.minY=1/0,this.maxY=-1/0),this}shrinkBy(e){return this.expandBy(-e)}map(t){let n=new e;return n.extend(t(new l(this.minX,this.minY))),n.extend(t(new l(this.maxX,this.minY))),n.extend(t(new l(this.minX,this.maxY))),n.extend(t(new l(this.maxX,this.maxY))),n}static fromPoints(t){let n=new e;for(let e of t)n.extend(e);return n}contains(e){return e.x>=this.minX&&e.x<=this.maxX&&e.y>=this.minY&&e.y<=this.maxY}empty(){return this.minX>this.maxX}width(){return this.maxX-this.minX}height(){return this.maxY-this.minY}covers(e){return!this.empty()&&!e.empty()&&e.minX>=this.minX&&e.maxX<=this.maxX&&e.minY>=this.minY&&e.maxY<=this.maxY}intersects(e){return!this.empty()&&!e.empty()&&e.minX<=this.maxX&&e.maxX>=this.minX&&e.minY<=this.maxY&&e.maxY>=this.minY}};ud.fromPoints([new l(0,0),new l(A,A)]);function dd(e,t){return e.x===t.x&&(e.x<0||e.x>8192)||e.y===t.y&&(e.y<0||e.y>8192)}function fd(e){return e.every(e=>e.x<0)||e.every(e=>e.x>8192)||e.every(e=>e.y<0)||e.every(e=>e.y>8192)}var pd=class{constructor(e,t,n,r,i){for(this.properties=Object.create(null),this.extent=n,this.type=0,this.id=void 0,this._pbf=e,this._geometry=-1,this._keys=r,this._values=i;e.pos<t;){let t=e.readVarint();if(t===8)this.id=e.readVarint();else if(t===18){let t=e.readVarint()+e.pos;for(;e.pos<t;){let t=r[e.readVarint()],n=i[e.readVarint()];this.properties[t]=n}}else t===24?this.type=e.readVarint():(t===34&&(this._geometry=e.pos),e.skip(t))}}loadGeometry(){if(this._geometry<0)throw Error(`feature has no geometry`);let e=this._pbf;e.pos=this._geometry;let t=e.readVarint()+e.pos,n=[],r,i=1,a=0,o=0,s=0;for(;e.pos<t;){if(a<=0){let t=e.readVarint();if(i=t&7,a=t>>3,a===0)continue}if(a--,i===1)o+=e.readSVarint(),s+=e.readSVarint(),r&&n.push(r),r=[new l(o,s)];else if(i===2)o+=e.readSVarint(),s+=e.readSVarint(),r&&r.push(new l(o,s));else if(i===7)r&&r.push(r[0].clone());else throw Error(`unknown command ${i}`)}return r&&n.push(r),n}bbox(){if(this._geometry<0)throw Error(`feature has no geometry`);let e=this._pbf;e.pos=this._geometry;let t=e.readVarint()+e.pos,n=1,r=0,i=0,a=0,o=1/0,s=-1/0,c=1/0,l=-1/0;for(;e.pos<t;){if(r<=0){let t=e.readVarint();if(n=t&7,r=t>>3,r===0)continue}if(r--,n===1||n===2)i+=e.readSVarint(),a+=e.readSVarint(),i<o&&(o=i),i>s&&(s=i),a<c&&(c=a),a>l&&(l=a);else if(n!==7)throw Error(`unknown command ${n}`)}return[o,c,s,l]}toGeoJSON(e,t,n){let r=this.extent*2**n,i=this.extent*e,a=this.extent*t,o=this.loadGeometry();function s(e){return[(e.x+i)*360/r-180,360/Math.PI*Math.atan(Math.exp((1-(e.y+a)*2/r)*Math.PI))-90]}function c(e){return e.map(s)}let l;if(this.type===1){let e=[];for(let t of o)e.push(t[0]);let t=c(e);l=e.length===1?{type:`Point`,coordinates:t[0]}:{type:`MultiPoint`,coordinates:t}}else if(this.type===2){let e=o.map(c);l=e.length===1?{type:`LineString`,coordinates:e[0]}:{type:`MultiLineString`,coordinates:e}}else if(this.type===3){let e=md(o),t=[];for(let n of e)t.push(n.map(c));l=t.length===1?{type:`Polygon`,coordinates:t[0]}:{type:`MultiPolygon`,coordinates:t}}else throw Error(`unknown feature type`);let u={type:`Feature`,geometry:l,properties:this.properties};return this.id!=null&&(u.id=this.id),u}};pd.types=[`Unknown`,`Point`,`LineString`,`Polygon`];function md(e){let t=e.length;if(t<=1)return[e];let n=[],r,i;for(let a=0;a<t;a++){let t=hd(e[a]);t!==0&&(i===void 0&&(i=t<0),i===t<0?(r&&n.push(r),r=[e[a]]):r&&r.push(e[a]))}return r&&n.push(r),n}function hd(e){let t=0;for(let n=0,r=e.length,i=r-1,a,o;n<r;i=n++)a=e[n],o=e[i],t+=(o.x-a.x)*(a.y+o.y);return t}var gd=class{constructor(e,t){for(this.version=1,this.name=``,this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],t===void 0&&(t=e.length);e.pos<t;){let t=e.readVarint();t===10?this.name=e.readString():t===18?(this._features.push(e.pos),e.skip(t)):t===26?this._keys.push(e.readString()):t===34?this._values.push(_d(e)):t===40?this.extent=e.readVarint():t===120?this.version=e.readVarint():e.skip(t)}this.length=this._features.length}feature(e){if(e<0||e>=this._features.length)throw Error(`feature index out of bounds`);this._pbf.pos=this._features[e];let t=this._pbf.readVarint()+this._pbf.pos;return new pd(this._pbf,t,this.extent,this._keys,this._values)}};function _d(e){let t=null,n=e.readVarint()+e.pos;for(;e.pos<n;){let n=e.readVarint();t=n===10?e.readString():n===21?e.readFloat():n===25?e.readDouble():n===32?e.readVarint(!0):n===40?e.readVarint():n===48?e.readSVarint():n===56?e.readBoolean():(e.skip(n),null)}if(t==null)throw Error(`unknown feature value`);return t}var vd=class{constructor(e,t=e.length){let n=Object.create(null);for(;e.pos<t;){let t=e.readVarint();if(t===26){let t=new gd(e,e.readVarint()+e.pos);t.length&&(n[t.name]=t)}else e.skip(t)}this.layers=n}},yd=6371008.8,bd=class e{constructor(e,t){if(isNaN(e)||isNaN(t))throw Error(`Invalid LngLat object: (${e}, ${t})`);if(this.lng=+e,this.lat=+t,this.lat>90||this.lat<-90)throw Error(`Invalid LngLat latitude value: must be between -90 and 90`)}wrap(){return new e(ce(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(e){let t=Math.PI/180,n=this.lat*t,r=e.lat*t,i=Math.sin(n)*Math.sin(r)+Math.cos(n)*Math.cos(r)*Math.cos((e.lng-this.lng)*t);return yd*Math.acos(Math.min(i,1))}static convert(t){if(t instanceof e)return t;if(Array.isArray(t)&&(t.length===2||t.length===3))return new e(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&typeof t==`object`&&t)return new e(Number(`lng`in t?t.lng:t.lon),Number(t.lat));throw Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")}},xd=2*Math.PI*yd;function Sd(e){return xd*Math.cos(e*Math.PI/180)}function Cd(e){return(180+e)/360}function wd(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function Td(e,t){return e/Sd(t)}function Ed(e){return e*360-180}function Dd(e){let t=180-e*360;return 360/Math.PI*Math.atan(Math.exp(t*Math.PI/180))-90}function Od(e,t){return e*Sd(Dd(t))}function kd(e){return 1/Math.cos(e*Math.PI/180)}var Ad=class e{constructor(e,t,n=0){this.x=+e,this.y=+t,this.z=+n}static fromLngLat(t,n=0){let r=bd.convert(t);return new e(Cd(r.lng),wd(r.lat),Td(n,r.lat))}toLngLat(){return new bd(Ed(this.x),Dd(this.y))}toAltitude(){return Od(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/xd*kd(Dd(this.y))}};function jd(e,t,n){let r=1/(1<<n.z);return new Ad(e/A*r+n.x*r,t/A*r+n.y*r)}function Md(e,t,n){return jd(e,t,n).toLngLat()}function Nd(e,t){return t<=0||!e||e.length===0?e:e.map(e=>Fd(e,t))}function Pd(e,t){let n=Md(A/2,A/2,t),r=Ad.fromLngLat(n).meterInMercatorCoordinateUnits(),i=(1<<t.z)*A;return e*r*i}function Fd(e,t){if(!e||e.length<3)return e;let n=e[0].x===e[e.length-1].x&&e[0].y===e[e.length-1].y,r=n?e.length-1:e.length;if(r<3)return e;let i=[],a=dd(e[r-1],e[0]);for(let n=0;n<r;n++){let o=e[(n-1+r)%r],s=e[n],c=e[(n+1)%r],l=dd(s,c);a||l?i.push(s.clone()):Ld(i,o,s,c,t),a=l}let o=Id(i);return o.length<3?e:(n&&o.push(o[0].clone()),o)}function Id(e){let t=[];for(let n of e){let e=n.round(),r=t[t.length-1];(r?.x!==e.x||r?.y!==e.y)&&t.push(e)}for(;t.length>1&&t[0].x===t[t.length-1].x&&t[0].y===t[t.length-1].y;)t.pop();return t}function Ld(e,t,n,r,i){let a=t.sub(n),o=r.sub(n),s=a.mag(),c=o.mag();if(s<1e-6||c<1e-6){e.push(n.clone());return}a._div(s),o._div(c);let l=a.x*o.x+a.y*o.y;if(Math.abs(l)>Math.cos(5*Math.PI/180)){e.push(n.clone());return}let u=.2,d=Math.min(i,s*u,c*u),f=n.add(a.mult(d)),p=n.add(o.mult(d)),m=Math.sqrt((1+l)/2),h=n.add(a.add(o)._unit()._mult(d/m)),g=f.sub(h).angleWith(p.sub(h)),_=Math.max(2,Math.ceil(Math.abs(g)/(Math.PI/6)-1e-6));for(let t=0;t<=_;t++)e.push(f.rotateAround(t/_*g,h))}var Rd=8192;function zd(e,t,n,r,i,a,o,s){e.emplaceBack(t,n,Math.floor(r*Rd)*2+o,i*Rd*2,a*Rd*2,Math.round(s))}var Bd=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.hasDependencies=!1,this.layoutVertexArray=new Ws,this.centroidVertexArray=new Vs,this.indexArray=new ec,this.programConfigurations=new Oc(e.layers,e.zoom),this.segments=new ic,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){this.features=[],this.hasDependencies=Ul(`fill-extrusion`,this.layers,t);let r=new G(this.zoom),i=this.layers[0],a=i.layout.get(`fill-extrusion-rounded-corner-distance`),o=a>0?Pd(a,n):0,s=i._featureFilter.needGeometry;for(let{feature:a,id:c,index:l,sourceLayerIndex:u}of e){let e=Fc(a,s);if(!i._featureFilter.filter(r,e,n))continue;let d={id:c,sourceLayerIndex:u,index:l,geometry:Nd(s?e.geometry:Pc(a),o),properties:a.properties,type:a.type,patterns:{}};this.hasDependencies?this.features.push(Wl(`fill-extrusion`,this.layers,d,{zoom:this.zoom},t)):this.addFeature(d,d.geometry,l,n,{},t.subdivisionGranularity),t.featureIndex.insert(a,d.geometry,l,u,this.index,!0)}}addFeatures({options:e,canonical:t,patternPositions:n}){for(let r of this.features){let{geometry:i}=r;this.addFeature(r,i,r.index,t,n,e.subdivisionGranularity)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n})}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,ld),this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,cd.members,!0),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(e,t,n,r,i,a){for(let n of gn(t,500)){let t={x:0,y:0,sampleCount:0},i=this.layoutVertexArray.length;this.processPolygon(t,r,e,n,a);let o=this.layoutVertexArray.length-i,s=Math.floor(t.x/t.sampleCount),c=Math.floor(t.y/t.sampleCount);for(let e=0;e<o;e++)this.centroidVertexArray.emplaceBack(s,c)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:i,canonical:r})}processPolygon(e,t,n,r,i){if(r.length<1||fd(r[0]))return;for(let t of r)t.length!==0&&Vd(e,t);let a={segment:this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray)},o=i.fill.getGranularityForZoomLevel(t.z),s=pd.types[n.type]===`Polygon`;for(let e of r){if(e.length===0||fd(e))continue;let t=Wu(e,o,s);this._generateSideFaces(t,a)}if(!s)return;let c=Uu(r,t,o,!1),l=this.layoutVertexArray;Xu((e,t)=>{zd(l,e,t,0,0,1,1,0)},this.segments,this.layoutVertexArray,this.indexArray,c.verticesFlattened,c.indicesTriangles)}_generateSideFaces(e,t){let n=0;for(let r=1;r<e.length;r++){let i=e[r],a=e[r-1];if(dd(i,a))continue;t.segment.vertexLength+4>ic.MAX_VERTEX_ARRAY_LENGTH&&(t.segment=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let o=i.sub(a)._perp()._unit(),s=a.dist(i);n+s>32768&&(n=0),zd(this.layoutVertexArray,i.x,i.y,o.x,o.y,0,0,n),zd(this.layoutVertexArray,i.x,i.y,o.x,o.y,0,1,n),n+=s,zd(this.layoutVertexArray,a.x,a.y,o.x,o.y,0,0,n),zd(this.layoutVertexArray,a.x,a.y,o.x,o.y,0,1,n);let c=t.segment.vertexLength;this.indexArray.emplaceBack(c,c+2,c+1),this.indexArray.emplaceBack(c+1,c+2,c+3),t.segment.vertexLength+=4,t.segment.primitiveLength+=2}}};function Vd(e,t){for(let n=0;n<t.length;n++){let r=t[n];(n!==t.length-1||t[0].x!==r.x||t[0].y!==r.y)&&(e.x+=r.x,e.y+=r.y,e.sampleCount++)}}W(`FillExtrusionBucket`,Bd,{omit:[`layers`,`features`]});var Hd,Ud=()=>Hd||=new Ko({\"fill-extrusion-rounded-corner-distance\":new K(P[`layout_fill-extrusion`][`fill-extrusion-rounded-corner-distance`],`fill-extrusion-rounded-corner-distance`)}),Wd,Gd=()=>Wd||=new Ko({\"fill-extrusion-opacity\":new K(P[`paint_fill-extrusion`][`fill-extrusion-opacity`],`fill-extrusion-opacity`),\"fill-extrusion-color\":new q(P[`paint_fill-extrusion`][`fill-extrusion-color`],`fill-extrusion-color`),\"fill-extrusion-translate\":new K(P[`paint_fill-extrusion`][`fill-extrusion-translate`],`fill-extrusion-translate`),\"fill-extrusion-translate-anchor\":new K(P[`paint_fill-extrusion`][`fill-extrusion-translate-anchor`],`fill-extrusion-translate-anchor`),\"fill-extrusion-pattern\":new Uo(P[`paint_fill-extrusion`][`fill-extrusion-pattern`],`fill-extrusion-pattern`),\"fill-extrusion-height\":new q(P[`paint_fill-extrusion`][`fill-extrusion-height`],`fill-extrusion-height`),\"fill-extrusion-base\":new q(P[`paint_fill-extrusion`][`fill-extrusion-base`],`fill-extrusion-base`),\"fill-extrusion-vertical-gradient\":new K(P[`paint_fill-extrusion`][`fill-extrusion-vertical-gradient`],`fill-extrusion-vertical-gradient`)}),Kd={get paint(){return Gd()},get layout(){return Ud()}},qd=class extends Yo{constructor(e,t){super(e,Kd,t)}createBucket(e){return new Bd(e)}queryRadius(){return $c(this.paint.get(`fill-extrusion-translate`))}is3D(){return!0}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,pixelPosMatrix:o}){let s=el(e,this.paint.get(`fill-extrusion-translate`),this.paint.get(`fill-extrusion-translate-anchor`),-i.bearingInRadians,a),c=this.paint.get(`fill-extrusion-height`).evaluate(t,n),l=this.paint.get(`fill-extrusion-base`).evaluate(t,n),u=Qd(s,o,0),d=Zd(r,l,c,o),f=d[0],p=d[1];return Xd(f,p,u)}};function Jd(e,t){return e.x*t.x+e.y*t.y}function Yd(e,t){if(e.length===1){let n=0,r=t[n++],i;for(;!i||r.equals(i);)if(i=t[n++],!i)return 1/0;for(;n<t.length;n++){let a=t[n],o=e[0],s=i.sub(r),c=a.sub(r),l=o.sub(r),u=Jd(s,s),d=Jd(s,c),f=Jd(c,c),p=Jd(l,s),m=Jd(l,c),h=u*f-d*d,g=(f*p-d*m)/h,_=(u*m-d*p)/h,v=1-g-_,y=r.z*v+i.z*g+a.z*_;if(isFinite(y))return y}return 1/0}{let e=1/0;for(let n of t)e=Math.min(e,n.z);return e}}function Xd(e,t,n){let r=1/0;Vc(n,t)&&(r=Yd(n,t[0]));for(let i=0;i<t.length;i++){let a=t[i],o=e[i];for(let e=0;e<a.length-1;e++){let t=a[e],i=a[e+1],s=o[e],c=[t,i,o[e+1],s,t];zc(n,c)&&(r=Math.min(r,Yd(n,c)))}}return r!==1/0&&r}function Zd(e,t,n,r){let i=[],a=[],o=r[8]*t,s=r[9]*t,c=r[10]*t,u=r[11]*t,d=r[8]*n,f=r[9]*n,p=r[10]*n,m=r[11]*n;for(let t of e){let e=[],n=[];for(let i of t){let t=i.x,a=i.y,h=r[0]*t+r[4]*a+r[12],g=r[1]*t+r[5]*a+r[13],_=r[2]*t+r[6]*a+r[14],v=r[3]*t+r[7]*a+r[15],y=h+o,b=g+s,x=_+c,S=v+u,C=h+d,w=g+f,T=_+p,E=v+m,D=new l(y/S,b/S);D.z=x/S,e.push(D);let ee=new l(C/E,w/E);ee.z=T/E,n.push(ee)}i.push(e),a.push(n)}return[i,a]}function Qd(e,t,n){let r=[];for(let i of e){let e=[i.x,i.y,n,1];E(e,e,t),r.push(new l(e[0]/e[3],e[1]/e[3]))}return r}function $d(e,t,n,r){let i=r,a=t+(n-t>>1),o=n-t,s,c=e[t],l=e[t+1],u=e[n],d=e[n+1];for(let r=t+3;r<n;r+=3){let t=ef(e[r],e[r+1],c,l,u,d);if(t>i){s=r,i=t;continue}if(t===i){let e=Math.abs(r-a);e<o&&(s=r,o=e)}}i>r&&(s-t>3&&$d(e,t,s,r),e[s+2]=i,n-s>3&&$d(e,s,n,r))}function ef(e,t,n,r,i,a){let o=i-n,s=a-r;if(o!==0||s!==0){let c=((e-n)*o+(t-r)*s)/(o*o+s*s);c>1?(n=i,r=a):c>0&&(n+=o*c,r+=s*c)}return o=e-n,s=t-r,o*o+s*s}function tf(e,t,n,r){let i={type:t,geom:n},a={id:e??null,type:i.type,geometry:i.geom,tags:r,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};switch(i.type){case`Point`:case`MultiPoint`:rf(a,i.geom);break;case`LineString`:rf(a,i.geom.points);break;case`Polygon`:rf(a,i.geom[0].points);break;case`MultiLineString`:for(let e of i.geom)rf(a,e.points);break;case`MultiPolygon`:for(let e of i.geom)rf(a,e[0].points)}return a}function nf(e){let t=e;e.points.length>64&&(t.points=new Float64Array(e.points))}function rf(e,t){for(let n=0;n<t.length;n+=3)e.minX=Math.min(e.minX,t[n]),e.minY=Math.min(e.minY,t[n+1]),e.maxX=Math.max(e.maxX,t[n]),e.maxY=Math.max(e.maxY,t[n+1])}function af(e,t){let n=[];switch(e.type){case`FeatureCollection`:for(let r=0;r<e.features.length;r++)of(n,e.features[r],t,r);break;case`Feature`:of(n,e,t);break;default:of(n,{type:`Feature`,geometry:e,properties:void 0},t)}return n}function of(e,t,n,r,i=0){if(!t.geometry)return;if(i>1024)throw Error(`GeometryCollection nesting exceeds supported depth: 1024`);if(t.geometry.type===`GeometryCollection`){cf(e,t,t.geometry,n,r,i+1);return}if(!t.geometry.coordinates?.length)return;let a=sf(t,n,r),o=(n.tolerance/((1<<n.maxZoom)*n.extent))**2;switch(t.geometry.type){case`Point`:lf(e,a,t.geometry,t.properties);return;case`MultiPoint`:uf(e,a,t.geometry,t.properties);return;case`LineString`:df(e,a,t.geometry,o,t.properties);return;case`MultiLineString`:ff(e,a,t.geometry,o,n,t.properties);return;case`Polygon`:pf(e,a,t.geometry,o,t.properties);return;case`MultiPolygon`:mf(e,a,t.geometry,o,t.properties);return;default:throw Error(`Input data is not a valid GeoJSON object.`)}}function sf(e,t,n){return t.promoteId?e.properties?.[t.promoteId]:t.generateId?n||0:e.id}function cf(e,t,n,r,i,a=0){for(let o of n.geometries)of(e,{id:t.id,type:`Feature`,geometry:o,properties:t.properties},r,i,a)}function lf(e,t,n,r){let i=[];i.push(_f(n.coordinates[0]),vf(n.coordinates[1]),0),e.push(tf(t,`Point`,i,r))}function uf(e,t,n,r){let i=[];for(let e of n.coordinates)i.push(_f(e[0]),vf(e[1]),0);e.push(tf(t,`MultiPoint`,i,r))}function df(e,t,n,r,i){let a={points:[]};hf(n.coordinates,a,r,!1),e.push(tf(t,`LineString`,a,i))}function ff(e,t,n,r,i,a){if(i.lineMetrics)for(let i of n.coordinates){let n={points:[]};hf(i,n,r,!1),e.push(tf(t,`LineString`,n,a))}else{let i=[];gf(n.coordinates,i,r,!1),e.push(tf(t,`MultiLineString`,i,a))}}function pf(e,t,n,r,i){let a=[];gf(n.coordinates,a,r,!0),e.push(tf(t,`Polygon`,a,i))}function mf(e,t,n,r,i){let a=[];for(let e of n.coordinates){let t=[];gf(e,t,r,!0),a.push(t)}e.push(tf(t,`MultiPolygon`,a,i))}function hf(e,t,n,r){let i,a,o=0;for(let n=0;n<e.length;n++){let s=_f(e[n][0]),c=vf(e[n][1]);t.points.push(s,c,0),n>0&&(o+=r?(i*c-s*a)/2:Math.sqrt((s-i)**2+(c-a)**2)),i=s,a=c}let s=t.points.length-3;t.points[2]=1,n>0&&$d(t.points,0,s,n),t.points[s+2]=1,nf(t),t.size=Math.abs(o),t.start=0,t.end=t.size}function gf(e,t,n,r){for(let i=0;i<e.length;i++){let a={points:[]};hf(e[i],a,n,r),t.push(a)}}function _f(e){return e/360+.5}function vf(e){let t=Math.sin(e*Math.PI/180),n=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return n<0?0:n>1?1:n}function yf(e){return{type:`FeatureCollection`,features:e.map(e=>bf(e))}}function bf(e){let t={type:`Feature`,geometry:xf(e),properties:e.tags};return e.id!=null&&(t.id=e.id),t}function xf(e){let{type:t,geometry:n}=e;switch(t){case`Point`:return{type:t,coordinates:Cf(n[0],n[1])};case`MultiPoint`:return{type:t,coordinates:Sf(n)};case`LineString`:return{type:t,coordinates:Sf(n.points)};case`MultiLineString`:case`Polygon`:return{type:t,coordinates:n.map(e=>Sf(e.points))};case`MultiPolygon`:return{type:t,coordinates:n.map(e=>e.map(e=>Sf(e.points)))}}}function Sf(e){let t=[];for(let n=0;n<e.length;n+=3)t.push(Cf(e[n],e[n+1]));return t}function Cf(e,t){return[wf(e),Tf(t)]}function wf(e){return(e-.5)*360}function Tf(e){let t=(180-e*360)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function Ef(e,t,n,r,i,a,o,s){if(n/=t,r/=t,a>=n&&o<r)return e;if(o<n||a>=r)return null;let c=[];for(let t of e){let e=i===0?t.minX:t.minY,a=i===0?t.maxX:t.maxY;if(e>=n&&a<r){c.push(t);continue}if(!(a<n||e>=r))switch(t.type){case`Point`:case`MultiPoint`:Df(t,c,n,r,i);continue;case`LineString`:Of(t,c,n,r,i,s);continue;case`MultiLineString`:kf(t,c,n,r,i);continue;case`Polygon`:Af(t,c,n,r,i);continue;case`MultiPolygon`:jf(t,c,n,r,i);continue}}return c.length?c:null}function Df(e,t,n,r,i){let a=[];if(Mf(e.geometry,a,n,r,i),!a.length)return;let o=a.length===3?`Point`:`MultiPoint`;t.push(tf(e.id,o,a,e.tags))}function Of(e,t,n,r,i,a){let o=[];if(Nf(e.geometry,o,n,r,i,!1,a.lineMetrics),o.length){if(a.lineMetrics){for(let n of o)t.push(tf(e.id,`LineString`,n,e.tags));return}if(o.length>1){t.push(tf(e.id,`MultiLineString`,o,e.tags));return}t.push(tf(e.id,`LineString`,o[0],e.tags))}}function kf(e,t,n,r,i){let a=[];if(Ff(e.geometry,a,n,r,i,!1),a.length){if(a.length===1){t.push(tf(e.id,`LineString`,a[0],e.tags));return}t.push(tf(e.id,`MultiLineString`,a,e.tags))}}function Af(e,t,n,r,i){let a=[];Ff(e.geometry,a,n,r,i,!0),a.length&&t.push(tf(e.id,`Polygon`,a,e.tags))}function jf(e,t,n,r,i){let a=[];for(let t of e.geometry){let e=[];Ff(t,e,n,r,i,!0),e.length&&a.push(e)}a.length&&t.push(tf(e.id,`MultiPolygon`,a,e.tags))}function Mf(e,t,n,r,i){for(let a=0;a<e.length;a+=3){let o=e[a+i];o>=n&&o<=r&&If(t,e[a],e[a+1],e[a+2])}}function Nf(e,t,n,r,i,a,o){let s=Pf(e),c=i===0?Lf:Rf,l=e.start,u,d;for(let f=0;f<e.points.length-3;f+=3){let p=e.points[f],m=e.points[f+1],h=e.points[f+2],g=e.points[f+3],_=e.points[f+4],v=i===0?p:m,y=i===0?g:_,b=!1;o&&(u=Math.sqrt((p-g)**2+(m-_)**2)),v<n?y>n&&(d=c(s,p,m,g,_,n),o&&(s.start=l+u*d)):v>r?y<r&&(d=c(s,p,m,g,_,r),o&&(s.start=l+u*d)):If(s.points,p,m,h),y<n&&v>=n&&(d=c(s,p,m,g,_,n),b=!0),y>r&&v<=r&&(d=c(s,p,m,g,_,r),b=!0),!a&&b&&(o&&(s.end=l+u*d),t.push(s),s=Pf(e)),o&&(l+=u)}let f=e.points.length-3,p=e.points[f],m=e.points[f+1],h=e.points[f+2],g=i===0?p:m;g>=n&&g<=r&&If(s.points,p,m,h),f=s.points.length-3,a&&f>=3&&(s.points[f]!==s.points[0]||s.points[f+1]!==s.points[1])&&If(s.points,s.points[0],s.points[1],s.points[2]),s.points.length&&(nf(s),t.push(s))}function Pf(e){return{points:[],size:e.size,start:e.start,end:e.end}}function Ff(e,t,n,r,i,a){for(let o of e)Nf(o,t,n,r,i,a,!1)}function If(e,t,n,r){e.push(t,n,r)}function Lf(e,t,n,r,i,a){let o=(a-t)/(r-t);return If(e.points,a,n+(i-n)*o,1),o}function Rf(e,t,n,r,i,a){let o=(a-n)/(i-n);return If(e.points,t+(r-t)*o,a,1),o}function zf(e,t){let n=t.buffer/t.extent,r=e,i=Ef(e,1,-1-n,n,0,-1,2,t),a=Ef(e,1,1-n,2+n,0,-1,2,t);return!i&&!a?r:(r=Ef(e,1,-n,1+n,0,-1,2,t)||[],i&&(r=Bf(i,1).concat(r)),a&&(r=r.concat(Bf(a,-1))),r)}function Bf(e,t){let n=[];for(let r of e)switch(r.type){case`Point`:case`MultiPoint`:{let e=Vf(r.geometry,t);n.push(tf(r.id,r.type,e,r.tags));continue}case`LineString`:{let e=Hf(r.geometry,t);n.push(tf(r.id,r.type,e,r.tags));continue}case`MultiLineString`:case`Polygon`:{let e=[];for(let n of r.geometry)e.push(Hf(n,t));n.push(tf(r.id,r.type,e,r.tags));continue}case`MultiPolygon`:{let e=[];for(let n of r.geometry){let r=[];for(let e of n)r.push(Hf(e,t));e.push(r)}n.push(tf(r.id,r.type,e,r.tags));continue}}return n}function Vf(e,t){let n=[];for(let r=0;r<e.length;r+=3)n.push(e[r]+t,e[r+1],e[r+2]);return n}function Hf(e,t){let n={points:[],size:e.size};e.start!==void 0&&(n.start=e.start,n.end=e.end);for(let r=0;r<e.points.length;r+=3)n.points.push(e.points[r]+t,e.points[r+1],e.points[r+2]);return nf(n),n}function Uf(e,t,n){let r=Kf(t,n),i=[];if(r.removeAll&&(i=e,e=[]),r.remove.size||r.add.size){let t=[];for(let n of e)(r.remove.has(n.id)||r.add.has(n.id))&&t.push(n);if(t.length){i=i.concat(t);let n=new Set(t.map(e=>e.id));e=e.filter(e=>!n.has(e.id))}if(r.add.size){let t=af({type:`FeatureCollection`,features:Array.from(r.add.values())},n);t=zf(t,n),i=i.concat(t),e=e.concat(t)}}if(r.update.size){let t=new Map,a=[];for(let n of e)r.update.has(n.id)?t.set(n.id,[...t.get(n.id)||[],n]):a.push(n);for(let[e,o]of r.update){let r=t.get(e);if(!r||r.length===0)continue;let s=Wf(r,o,n);i=i.concat(r,s),a=a.concat(s)}e=a}return{affected:i,source:e}}function Wf(e,t,n){let r=!!t.newGeometry,i=t.removeAllProperties||t.removeProperties?.length>0||t.addOrUpdateProperties?.length>0;if(r){let r=e[0],a=af({type:`FeatureCollection`,features:[{type:`Feature`,id:r.id,geometry:t.newGeometry,properties:i?Gf(r.tags,t):r.tags}]},n);return a=zf(a,n),a}if(i){let n=[];for(let r of e){let e={...r};e.tags=Gf(e.tags,t),n.push(e)}return n}return e}function Gf(e,t){if(t.removeAllProperties)return{};let n={...e||{}};if(t.removeProperties)for(let e of t.removeProperties)delete n[e];if(t.addOrUpdateProperties)for(let{key:e,value:r}of t.addOrUpdateProperties)n[e]=r;return n}function Kf(e,t){return e?{removeAll:e.removeAll,remove:new Set(e.remove||[]),add:new Map(e.add?.map(e=>[t.promoteId?e.properties[t.promoteId]:e.id,e])),update:new Map(e.update?.map(e=>[e.id,e]))}:{remove:new Set,add:new Map,update:new Map}}var qf=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],Jf=new Uint32Array(96),Yf=class e{static from(t){if(!t||t.byteLength===void 0||t.buffer)throw Error(`Data must be an instance of ArrayBuffer or SharedArrayBuffer.`);let[n,r]=new Uint8Array(t,0,2);if(n!==219)throw Error(`Data does not appear to be in a KDBush format.`);let i=r>>4;if(i!==1)throw Error(`Got v${i} data when expected v1.`);let a=qf[r&15];if(!a)throw Error(`Unrecognized array type.`);let[o]=new Uint16Array(t,2,1),[s]=new Uint32Array(t,4,1);return new e(s,o,a,void 0,t)}constructor(e,t=64,n=Float64Array,r=ArrayBuffer,i){if(isNaN(e)||e<0)throw Error(`Unexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=n,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;let a=qf.indexOf(this.ArrayType),o=e*2*this.ArrayType.BYTES_PER_ELEMENT,s=e*this.IndexArrayType.BYTES_PER_ELEMENT,c=(8-s%8)%8;if(a<0)throw Error(`Unexpected typed array class: ${n}.`);if(i)this.data=i,this.ids=new this.IndexArrayType(i,8,e),this.coords=new n(i,8+s+c,e*2),this._pos=e*2,this._finished=!0;else{let i=this.data=new r(8+o+s+c);this.ids=new this.IndexArrayType(i,8,e),this.coords=new n(i,8+s+c,e*2),this._pos=0,this._finished=!1,new Uint8Array(i,0,2).set([219,16+a]),new Uint16Array(i,2,1)[0]=t,new Uint32Array(i,4,1)[0]=e}}add(e,t){let n=this._pos>>1;return this.ids[n]=n,this.coords[this._pos++]=e,this.coords[this._pos++]=t,n}finish(){let e=this._pos>>1;if(e!==this.numItems)throw Error(`Added ${e} items when expected ${this.numItems}.`);return Xf(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,t,n,r){if(!this._finished)throw Error(`Data not yet indexed - call index.finish().`);let{ids:i,coords:a,nodeSize:o}=this;Jf[0]=0,Jf[1]=i.length-1,Jf[2]=0;let s=3,c=[];for(;s>0;){let l=Jf[--s],u=Jf[--s],d=Jf[--s];if(u-d<=o){for(let o=d;o<=u;o++){let s=a[2*o],l=a[2*o+1];s>=e&&s<=n&&l>=t&&l<=r&&c.push(i[o])}continue}let f=d+u>>1,p=a[2*f],m=a[2*f+1];p>=e&&p<=n&&m>=t&&m<=r&&c.push(i[f]),(l===0?e<=p:t<=m)&&(Jf[s++]=d,Jf[s++]=f-1,Jf[s++]=1-l),(l===0?n>=p:r>=m)&&(Jf[s++]=f+1,Jf[s++]=u,Jf[s++]=1-l)}return c}within(e,t,n){let r=[];return this.withinInto(e,t,n,r),r}withinInto(e,t,n,r){if(!this._finished)throw Error(`Data not yet indexed - call index.finish().`);let{ids:i,coords:a,nodeSize:o}=this;Jf[0]=0,Jf[1]=i.length-1,Jf[2]=0;let s=3,c=0,l=n*n;for(;s>0;){let u=Jf[--s],d=Jf[--s],f=Jf[--s];if(d-f<=o){for(let n=f;n<=d;n++)ep(a[2*n],a[2*n+1],e,t)<=l&&(r[c++]=i[n]);continue}let p=f+d>>1,m=a[2*p],h=a[2*p+1];ep(m,h,e,t)<=l&&(r[c++]=i[p]),(u===0?e-n<=m:t-n<=h)&&(Jf[s++]=f,Jf[s++]=p-1,Jf[s++]=1-u),(u===0?e+n>=m:t+n>=h)&&(Jf[s++]=p+1,Jf[s++]=d,Jf[s++]=1-u)}return c}};function Xf(e,t,n,r,i,a){if(i-r<=n)return;let o=r+i>>1;Zf(e,t,o,r,i,a),Xf(e,t,n,r,o-1,1-a),Xf(e,t,n,o+1,i,1-a)}function Zf(e,t,n,r,i,a){for(;i>r;){if(i-r>600){let o=i-r+1,s=n-r+1,c=Math.log(o),l=.5*Math.exp(2*c/3),u=.5*Math.sqrt(c*l*(o-l)/o)*(s-o/2<0?-1:1);Zf(e,t,n,Math.max(r,Math.floor(n-s*l/o+u)),Math.min(i,Math.floor(n+(o-s)*l/o+u)),a)}let o=t[2*n+a],s=r,c=i;for(Qf(e,t,r,n),t[2*i+a]>o&&Qf(e,t,r,i);s<c;){for(Qf(e,t,s,c),s++,c--;t[2*s+a]<o;)s++;for(;t[2*c+a]>o;)c--}t[2*r+a]===o?Qf(e,t,r,c):(c++,Qf(e,t,c,i)),c<=n&&(r=c+1),n<=c&&(i=c-1)}}function Qf(e,t,n,r){$f(e,n,r),$f(t,2*n,2*r),$f(t,2*n+1,2*r+1)}function $f(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function ep(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}var tp={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},np=class{constructor(e){this.options=Object.assign(Object.create(tp),e),this.trees=Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[],this.points=[]}load(e){let t=[];for(let n of e){if(!n.geometry)continue;let[e,r]=n.geometry.coordinates,[i,a]=[_f(e),vf(r)],o={id:n.id,type:`Point`,geometry:[i,a],tags:n.properties};t.push(o)}this.createIndex(t)}initialize(e){let t=[];for(let n of e)n.type===`Point`&&t.push(n);this.createIndex(t)}updateIndex(e,t,n){this.options=Object.assign(Object.create(tp),n.clusterOptions),this.initialize(e)}createIndex(e){let{log:t,minZoom:n,maxZoom:r}=this.options;t&&console.time(`total time`);let i=`prepare ${e.length} points`;t&&console.time(i),this.points=e;let a=[];for(let t=0;t<e.length;t++){let n=e[t];if(!n?.geometry)continue;let[r,i]=n.geometry;r=Math.fround(r),i=Math.fround(i),a.push(r,i,1/0,t,-1,1),this.options.reduce&&a.push(0)}let o=this.trees[r+1]=this.createTree(a);t&&console.timeEnd(i);for(let e=r;e>=n;e--){let n=Date.now();o=this.trees[e]=this.createTree(this.cluster(o,e)),t&&console.log(`z%d: %d clusters in %dms`,e,o.numItems,Date.now()-n)}t&&console.timeEnd(`total time`)}getClusters(e,t){return this.getClustersInternal(e,t).map(e=>bf(e))}getClustersInternal(e,t){let n=((e[0]+180)%360+360)%360-180,r=Math.max(-90,Math.min(90,e[1])),i=e[2]===180?180:((e[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)n=-180,i=180;else if(n>i){let e=this.getClustersInternal([n,r,180,a],t),o=this.getClustersInternal([-180,r,i,a],t);return e.concat(o)}let o=this.trees[this.limitZoom(t)],s=o.range(_f(n),vf(a),_f(i),vf(r)),c=o.flatData,l=[];for(let e of s){let t=this.stride*e;l.push(c[t+5]>1?rp(c,t,this.clusterProps):this.points[c[t+3]])}return l}getChildren(e){let t=this.getOriginId(e),n=this.getOriginZoom(e),r=Error(`No cluster with the specified id: `+e),i=this.trees[n];if(!i)throw r;let a=i.flatData;if(t*this.stride>=a.length)throw r;let o=this.options.radius/(this.options.extent*2**(n-1)),s=a[t*this.stride],c=a[t*this.stride+1],l=i.within(s,c,o),u=[];for(let t of l){let n=t*this.stride;a[n+4]===e&&u.push(a[n+5]>1?ip(a,n,this.clusterProps):bf(this.points[a[n+3]]))}if(u.length===0)throw r;return u}getLeaves(e,t,n){t||=10,n||=0;let r=[];return this.appendLeaves(r,e,t,n,0),r}getTile(e,t,n){let r=this.trees[this.limitZoom(e)];if(!r)return null;let i=2**e,{extent:a,radius:o}=this.options,s=o/a,c=(n-s)/i,l=(n+1+s)/i,u={transformed:!0,features:[],source:null,x:t,y:n,z:e};return this.addTileFeatures(r.range((t-s)/i,c,(t+1+s)/i,l),r.flatData,t,n,i,u),t===0&&this.addTileFeatures(r.range(1-s/i,c,1,l),r.flatData,i,n,i,u),t===i-1&&this.addTileFeatures(r.range(0,c,s/i,l),r.flatData,-1,n,i,u),u}getClusterExpansionZoom(e){return this.getOriginZoom(e)}appendLeaves(e,t,n,r,i){let a=this.getChildren(t);for(let t of a){let a=t.properties;if(a?.cluster?i+a.point_count<=r?i+=a.point_count:i=this.appendLeaves(e,a.cluster_id,n,r,i):i<r?i++:e.push(t),e.length===n)break}return i}createTree(e){let t=new Yf(e.length/this.stride|0,this.options.nodeSize,Float32Array);for(let n=0;n<e.length;n+=this.stride)t.add(e[n],e[n+1]);return t.finish(),t.flatData=e,t.data=null,t}addTileFeatures(e,t,n,r,i,a){for(let o of e){let e=o*this.stride,s=t[e+5]>1,c,l,u;if(s)c=ap(t,e,this.clusterProps),l=t[e],u=t[e+1];else{let n=this.points[t[e+3]];c=n.tags,[l,u]=n.geometry}let d={type:1,geometry:[[Math.round(this.options.extent*(l*i-n)),Math.round(this.options.extent*(u*i-r))]],tags:c},f;f=s||this.options.generateId?t[e+3]:this.points[t[e+3]].id,f!==void 0&&(d.id=f),a.features.push(d)}}limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}cluster(e,t){let{radius:n,extent:r,reduce:i,minPoints:a}=this.options,o=n/(r*2**t),s=e.flatData,c=[],l=this.stride;for(let n=0;n<s.length;n+=l){if(s[n+2]<=t)continue;s[n+2]=t;let r=s[n],u=s[n+1],d=e.within(s[n],s[n+1],o),f=s[n+5],p=f;for(let e of d){let n=e*l;s[n+2]>t&&(p+=s[n+5])}if(p>f&&p>=a){let e=r*f,a=u*f,o,m=-1,h=((n/l|0)<<5)+(t+1)+this.points.length;for(let r of d){let c=r*l;if(s[c+2]<=t)continue;s[c+2]=t;let u=s[c+5];e+=s[c]*u,a+=s[c+1]*u,s[c+4]=h,i&&(o||(o=this.map(s,n,!0),m=this.clusterProps.length,this.clusterProps.push(o)),i(o,this.map(s,c)))}s[n+4]=h,c.push(e/p,a/p,1/0,h,-1,p),i&&c.push(m)}else{for(let e=0;e<l;e++)c.push(s[n+e]);if(p>1)for(let e of d){let n=e*l;if(!(s[n+2]<=t)){s[n+2]=t;for(let e=0;e<l;e++)c.push(s[n+e])}}}}return c}getOriginId(e){return e-this.points.length>>5}getOriginZoom(e){return(e-this.points.length)%32}map(e,t,n){if(e[t+5]>1){let r=this.clusterProps[e[t+6]];return n?Object.assign({},r):r}let r=this.points[e[t+3]].tags,i=this.options.map(r);return n&&i===r?Object.assign({},i):i}};function rp(e,t,n){return{id:e[t+3],type:`Point`,tags:ap(e,t,n),geometry:[e[t],e[t+1]]}}function ip(e,t,n){return{type:`Feature`,id:e[t+3],properties:ap(e,t,n),geometry:{type:`Point`,coordinates:[wf(e[t]),Tf(e[t+1])]}}}function ap(e,t,n){let r=e[t+5],i=r>=1e4?`${Math.round(r/1e3)}k`:r>=1e3?`${Math.round(r/100)/10}k`:r,a=e[t+6],o=a===-1?{}:Object.assign({},n[a]);return Object.assign(o,{cluster:!0,cluster_id:e[t+3],point_count:r,point_count_abbreviated:i})}var op=`geojsonvt_clip_start`,sp=`geojsonvt_clip_end`;function cp(e,t,n,r,i){let a=t===i.maxZoom?0:i.tolerance/((1<<t)*i.extent),o={transformed:!1,features:[],source:null,x:n,y:r,z:t,minX:2,minY:1,maxX:-1,maxY:0,numPoints:0,numSimplified:0,numFeatures:e.length};for(let t of e)lp(o,t,a,i);return o}function lp(e,t,n,r){switch(e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY),t.type){case`Point`:case`MultiPoint`:up(e,t);return;case`LineString`:dp(e,t,n,r);return;case`MultiLineString`:case`Polygon`:fp(e,t,n);return;case`MultiPolygon`:pp(e,t,n);return}}function up(e,t){let n=[];for(let r=0;r<t.geometry.length;r+=3)n.push(t.geometry[r],t.geometry[r+1]),e.numPoints++,e.numSimplified++;if(!n.length)return;let r={type:1,tags:t.tags||null,geometry:n};t.id!==null&&(r.id=t.id),e.features.push(r)}function dp(e,t,n,r){let i=[];if(mp(i,t.geometry,e,n,!1,!1),!i.length)return;let a=t.tags||null;if(r.lineMetrics){a={};for(let e in t.tags)a[e]=t.tags[e];a[op]=t.geometry.start/t.geometry.size,a[sp]=t.geometry.end/t.geometry.size}let o={type:2,tags:a,geometry:i};t.id!==null&&(o.id=t.id),e.features.push(o)}function fp(e,t,n){let r=[];for(let i=0;i<t.geometry.length;i++)mp(r,t.geometry[i],e,n,t.type===`Polygon`,i===0);if(!r.length)return;let i={type:t.type===`Polygon`?3:2,tags:t.tags||null,geometry:r};t.id!==null&&(i.id=t.id),e.features.push(i)}function pp(e,t,n){let r=[];for(let i=0;i<t.geometry.length;i++){let a=t.geometry[i];for(let t=0;t<a.length;t++)mp(r,a[t],e,n,!0,t===0)}if(!r.length)return;let i={type:3,tags:t.tags||null,geometry:r};t.id!==null&&(i.id=t.id),e.features.push(i)}function mp(e,t,n,r,i,a){let o=r*r;if(r>0&&t.size<(i?o:r)){n.numPoints+=t.points.length/3;return}let s=[];for(let e=0;e<t.points.length;e+=3)(r===0||t.points[e+2]>o)&&(n.numSimplified++,s.push(t.points[e],t.points[e+1])),n.numPoints++;i&&hp(s,a),e.push(s)}function hp(e,t){let n=0;for(let t=0,r=e.length,i=r-2;t<r;i=t,t+=2)n+=(e[t]-e[i])*(e[t+1]+e[i+1]);if(n>0===t)for(let t=0,n=e.length;t<n/2;t+=2){let r=e[t],i=e[t+1];e[t]=e[n-2-t],e[t+1]=e[n-1-t],e[n-2-t]=r,e[n-1-t]=i}}function gp(e,t){if(e.transformed)return e;let n=1<<e.z,r=e.x,i=e.y;for(let a of e.features)a.type===1?_p(a,t,n,r,i):vp(a,t,n,r,i);return e.transformed=!0,e}function _p(e,t,n,r,i){let a=e,o=e.geometry,s=[];for(let e=0;e<o.length;e+=2)s.push(yp(o[e],o[e+1],t,n,r,i));return a.geometry=s,a}function vp(e,t,n,r,i){let a=e,o=e.geometry,s=[];for(let e of o){let a=[];for(let o=0;o<e.length;o+=2)a.push(yp(e[o],e[o+1],t,n,r,i));s.push(a)}return a.geometry=s,a}function yp(e,t,n,r,i,a){return[Math.round(n*(e*r-i)),Math.round(n*(t*r-a))]}var bp=class{constructor(e){this.options=e,this.total=0,this.stats={},this.tiles={},this.tileCoords=[],this.stats={},this.total=0}initialize(e){this.splitTile(e,0,0,0),this.options.debug&&(e.length&&console.log(`features: %d, points: %d`,this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(`generate tiles`),console.log(`tiles generated:`,this.total,JSON.stringify(this.stats)))}updateIndex(e,t,n){n.debug>1&&(console.log(`invalidating tiles`),console.time(`invalidating`)),this.invalidateTiles(t),n.debug>1&&console.timeEnd(`invalidating`);let[r,i,a]=[0,0,0],o=cp(e,r,i,a,n);o.source=e;let s=xp(r,i,a);if(this.tiles[s]=o,this.tileCoords.push({z:r,x:i,y:a,id:s}),n.debug){let e=`z${r}`;this.stats[e]=(this.stats[e]||0)+1,this.total++}}getClusterExpansionZoom(e){return null}getChildren(e){return null}getLeaves(e,t,n){return null}getTile(e,t,n){let{extent:r,debug:i}=this.options,a=1<<e;t=t+a&a-1;let o=xp(e,t,n);if(this.tiles[o])return gp(this.tiles[o],r);i>1&&console.log(`drilling down to z%d-%d-%d`,e,t,n);let s=e,c=t,l=n,u;for(;!u&&s>0;)s--,c>>=1,l>>=1,u=this.tiles[xp(s,c,l)];return!u?.source||(i>1&&(console.log(`found parent tile z%d-%d-%d`,s,c,l),console.time(`drilling down`)),this.splitTile(u.source,s,c,l,e,t,n),i>1&&console.timeEnd(`drilling down`),!this.tiles[o])?null:gp(this.tiles[o],r)}splitTile(e,t,n,r,i,a,o){let s=[e,t,n,r],c=this.options,l=c.debug;for(;s.length;){r=s.pop(),n=s.pop(),t=s.pop(),e=s.pop();let u=1<<t,d=xp(t,n,r),f=this.tiles[d];if(!f&&(l>1&&console.time(`creation`),f=this.tiles[d]=cp(e,t,n,r,c),this.tileCoords.push({z:t,x:n,y:r,id:d}),l)){l>1&&(console.log(`tile z%d-%d-%d (features: %d, points: %d, simplified: %d)`,t,n,r,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd(`creation`));let e=`z${t}`;this.stats[e]=(this.stats[e]||0)+1,this.total++}if(f.source=e,i==null){if(t===c.indexMaxZoom||f.numPoints<=c.indexMaxPoints)continue}else if(t===c.maxZoom||t===i)continue;else if(i!=null){let e=i-t;if(n!==a>>e||r!==o>>e)continue}if(f.source=null,!e.length)continue;l>1&&console.time(`clipping`);let p=.5*c.buffer/c.extent,m=.5-p,h=.5+p,g=1+p,_=null,v=null,y=null,b=null,x=Ef(e,u,n-p,n+h,0,f.minX,f.maxX,c),S=Ef(e,u,n+m,n+g,0,f.minX,f.maxX,c);x&&(_=Ef(x,u,r-p,r+h,1,f.minY,f.maxY,c),v=Ef(x,u,r+m,r+g,1,f.minY,f.maxY,c)),S&&(y=Ef(S,u,r-p,r+h,1,f.minY,f.maxY,c),b=Ef(S,u,r+m,r+g,1,f.minY,f.maxY,c)),l>1&&console.timeEnd(`clipping`),s.push(_||[],t+1,n*2,r*2),s.push(v||[],t+1,n*2,r*2+1),s.push(y||[],t+1,n*2+1,r*2),s.push(b||[],t+1,n*2+1,r*2+1)}}invalidateTiles(e){if(!e.length)return;let t=this.options,{debug:n}=t,r=1/0,i=-1/0,a=1/0,o=-1/0;for(let t of e)r=Math.min(r,t.minX),i=Math.max(i,t.maxX),a=Math.min(a,t.minY),o=Math.max(o,t.maxY);let s=t.buffer/t.extent,c=new Set;for(let t in this.tiles){let l=this.tiles[t],u=1<<l.z,d=(l.x-s)/u,f=(l.x+1+s)/u,p=(l.y-s)/u,m=(l.y+1+s)/u;if(i<d||r>=f||o<p||a>=m)continue;let h=!1;for(let t of e)if(t.maxX>=d&&t.minX<f&&t.maxY>=p&&t.minY<m){h=!0;break}if(h){if(n){n>1&&console.log(`invalidate tile z%d-%d-%d (features: %d, points: %d, simplified: %d)`,l.z,l.x,l.y,l.numFeatures,l.numPoints,l.numSimplified);let e=`z${l.z}`;this.stats[e]=(this.stats[e]||0)-1,this.total--}delete this.tiles[t],c.add(t)}}c.size&&(this.tileCoords=this.tileCoords.filter(e=>!c.has(e.id)))}};function xp(e,t,n){return((1<<e)*n+t)*32+e}var Sp={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,updateable:!1,cluster:!1,clusterOptions:tp,debug:0},Cp=class{constructor(e,t){t=this.options=Object.assign({},Sp,t);let n=t.debug;if(n&&console.time(`preprocess data`),t.maxZoom<0||t.maxZoom>24)throw Error(`maxZoom should be in the 0-24 range`);if(t.promoteId&&t.generateId)throw Error(`promoteId and generateId cannot be used together.`);let r=af(e,t);n&&(console.timeEnd(`preprocess data`),console.log(`index: maxZoom: %d, maxPoints: %d`,t.indexMaxZoom,t.indexMaxPoints),console.time(`generate tiles`)),r=zf(r,t),t.updateable&&(this.source=r),this.initializeIndex(r,t)}initializeIndex(e,t){this.tileIndex=t.cluster?new np(t.clusterOptions):new bp(t),e.length&&this.tileIndex.initialize(e)}getTile(e,t,n){return e=+e,t=+t,n=+n,e<0||e>24?null:this.tileIndex.getTile(e,t,n)}updateData(e,t){let n=this.options;if(!n.updateable)throw Error(\"to update tile geojson `updateable` option must be set to true\");let{affected:r,source:i}=Uf(this.source,e,n);t&&({affected:r,source:i}=this.filterUpdate(i,r,t)),r.length&&(this.source=i,this.tileIndex.updateIndex(i,r,n))}filterUpdate(e,t,n){let r=new Set;for(let i of e)i.id!=null&&(n(bf(i))||(t.push(i),r.add(i.id)));return e=e.filter(e=>!r.has(e.id)),{affected:t,source:e}}getData(){if(!this.options.updateable)throw Error(\"to retrieve data the `updateable` option must be set to true\");return yf(this.source)}updateClusterOptions(e,t){let n=this.options.cluster;if(this.options.cluster=e,this.options.clusterOptions=t,n==e){this.tileIndex.updateIndex(this.source,[],this.options);return}this.initializeIndex(this.source,this.options)}getClusterExpansionZoom(e){return this.tileIndex.getClusterExpansionZoom(e)}getClusterChildren(e){return this.tileIndex.getChildren(e)}getClusterLeaves(e,t,n){return this.tileIndex.getLeaves(e,t,n)}},wp=ns([{name:`a_pos_normal`,components:2,type:`Int16`},{name:`a_data`,components:4,type:`Uint8`}],4),Tp=wp.members;wp.size,wp.alignment;var Ep=ns([{name:`a_uv_x`,components:1,type:`Float32`},{name:`a_split_index`,components:1,type:`Float32`}]),Dp=Ep.members;Ep.size,Ep.alignment;var Op=Math.cos(75/2*(Math.PI/180)),kp=1/2,Ap=2**14/kp,jp=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.hasDependencies=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={};for(let e of this.layers)this.gradients[e.id]={};this.layoutVertexArray=new Gs,this.layoutVertexArray2=new Ks,this.indexArray=new ec,this.programConfigurations=new Oc(e.layers,e.zoom),this.segments=new ic,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){this.hasDependencies=Ul(`line`,this.layers,t)||this.hasLineDasharray(this.layers);let r=this.layers[0].layout.get(`line-sort-key`),i=!r.isConstant(),a=[],o=new G(this.zoom),s=this.layers[0]._featureFilter.needGeometry;for(let{feature:t,id:c,index:l,sourceLayerIndex:u}of e){let e=Fc(t,s);if(!this.layers[0]._featureFilter.filter(o,e,n))continue;let d=i?r.evaluate(e,{},n):void 0,f={id:c,properties:t.properties,type:t.type,sourceLayerIndex:u,index:l,geometry:s?e.geometry:Pc(t),patterns:{},dashes:{},sortKey:d};a.push(f)}i&&a.sort((e,t)=>e.sortKey-t.sortKey);for(let r of a){let{geometry:i,index:a,sourceLayerIndex:o}=r;this.hasDependencies?(Ul(`line`,this.layers,t)?Wl(`line`,this.layers,r,{zoom:this.zoom},t):this.hasLineDasharray(this.layers)&&this.addLineDashDependencies(this.layers,r,this.zoom,t),this.patternFeatures.push(r)):this.addFeature(r,i,a,n,{},{},t.subdivisionGranularity);let s=e[a].feature;t.featureIndex.insert(s,i,a,o,this.index)}}update(e,t,n,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n,dashPositions:r})}addFeatures({options:e,canonical:t,patternPositions:n,dashPositions:r}){for(let i of this.patternFeatures)this.addFeature(i,i.geometry,i.index,t,n,r,e.subdivisionGranularity)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=e.createVertexBuffer(this.layoutVertexArray2,Dp)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Tp),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(e){if(e.properties&&Object.hasOwn(e.properties,`geojsonvt_clip_start`)&&Object.hasOwn(e.properties,`geojsonvt_clip_end`))return{start:+e.properties[op],end:+e.properties[sp]}}addFeature(e,t,n,r,i,a,o){let s=this.layers[0].layout,c=s.get(`line-join`).evaluate(e,{}),l=s.get(`line-cap`).evaluate(e,{}),u=s.get(`line-miter-limit`).evaluate(e,{}),d=s.get(`line-round-limit`).evaluate(e,{});this.lineClips=this.lineFeatureClips(e);for(let n of t)this.addLine(n,e,c,l,u,d,r,o);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:i,dashPositions:a,canonical:r})}addLine(e,t,n,r,i,a,o,s){this.distance=0,this.scaledDistance=0,this.totalDistance=0;let c=o?s.line.getGranularityForZoomLevel(o.z):1;if(e=Wu(e,c),this.lineClips){this.lineClipsArray.push(this.lineClips);for(let t=0;t<e.length-1;t++)this.totalDistance+=e[t].dist(e[t+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}let l=pd.types[t.type]===`Polygon`,u=e.length;for(;u>=2&&e[u-1].equals(e[u-2]);)u--;let d=0;for(;d<u-1&&e[d].equals(e[d+1]);)d++;if(u-d<(l?3:2))return;n===`bevel`&&(i=1.05);let f=this.overscaling<=16?15*A/(512*this.overscaling):0,p=this.segments.prepareSegment(u*10,this.layoutVertexArray,this.indexArray),m,h,g,_,v;this.e1=this.e2=-1,l&&(m=e[u-2],v=e[d].sub(m)._unit()._perp());for(let t=d;t<u;t++){if(g=t===u-1?l?e[d+1]:void 0:e[t+1],g&&e[t].equals(g))continue;v&&(_=v),m&&(h=m),m=e[t],v=g?g.sub(m)._unit()._perp():_,_||=v;let o=_.add(v);(o.x!==0||o.y!==0)&&o._unit();let s=_.x*v.x+_.y*v.y,c=o.x*v.x+o.y*v.y,y=c===0?1/0:1/c,b=2*Math.sqrt(2-2*c),x=c<Op&&h&&g,S=_.x*v.y-_.y*v.x>0;if(x&&t>d){let e=m.dist(h);if(e>2*f){let t=m.sub(m.sub(h)._mult(f/e)._round());this.updateDistance(h,t),this.addCurrentVertex(t,_,0,0,p),h=t}}let C=h&&g,w=C?n:l?`butt`:r;if(C&&w===`round`&&(y<a?w=`miter`:y<=2&&(w=`fakeround`)),w===`miter`&&y>i&&(w=`bevel`),w===`bevel`&&(y>2&&(w=`flipbevel`),y<i&&(w=`miter`)),h&&this.updateDistance(h,m),w===`miter`)o._mult(y),this.addCurrentVertex(m,o,0,0,p);else if(w===`flipbevel`){if(y>100)o=v.mult(-1);else{let e=y*_.add(v).mag()/_.sub(v).mag();o._perp()._mult(e*(S?-1:1))}this.addCurrentVertex(m,o,0,0,p),this.addCurrentVertex(m,o.mult(-1),0,0,p)}else if(w===`bevel`||w===`fakeround`){let e=-Math.sqrt(y*y-1),t=S?e:0,n=S?0:e;if(h&&this.addCurrentVertex(m,_,t,n,p),w===`fakeround`){let e=Math.round(b*180/Math.PI/20);for(let t=1;t<e;t++){let n=t/e;if(n!==.5){let e=n-.5,t=1.0904+s*(-3.2452+s*(3.55645-s*1.43519)),r=.848013+s*(-1.06021+s*.215638);n+=n*e*(n-1)*(t*e*e+r)}let r=v.sub(_)._mult(n)._add(_)._unit()._mult(S?-1:1);this.addHalfVertex(m,r.x,r.y,!1,S,0,p)}}g&&this.addCurrentVertex(m,v,-t,-n,p)}else if(w===`butt`)this.addCurrentVertex(m,o,0,0,p);else if(w===`square`){let e=h?1:-1;this.addCurrentVertex(m,o,e,e,p)}else w===`round`&&(h&&(this.addCurrentVertex(m,_,0,0,p),this.addCurrentVertex(m,_,1,1,p,!0)),g&&(this.addCurrentVertex(m,v,-1,-1,p,!0),this.addCurrentVertex(m,v,0,0,p)));if(x&&t<u-1){let e=m.dist(g);if(e>2*f){let t=m.add(g.sub(m)._mult(f/e)._round());this.updateDistance(m,t),this.addCurrentVertex(t,v,0,0,p),m=t}}}}addCurrentVertex(e,t,n,r,i,a=!1){let o=t.x+t.y*n,s=t.y-t.x*n,c=-t.x+t.y*r,l=-t.y-t.x*r;this.addHalfVertex(e,o,s,a,!1,n,i),this.addHalfVertex(e,c,l,a,!0,-r,i),this.distance>Ap/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(e,t,n,r,i,a))}addHalfVertex({x:e,y:t},n,r,i,a,o,s){let c=(this.lineClips?this.scaledDistance*(Ap-1):this.scaledDistance)*kp;if(this.layoutVertexArray.emplaceBack((e<<1)+ +!!i,(t<<1)+ +!!a,Math.round(63*n)+128,Math.round(63*r)+128,(o===0?0:o<0?-1:1)+1|(c&63)<<2,c>>6),this.lineClips){let e=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(e,this.lineClipsArray.length)}let l=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,l,this.e2),s.primitiveLength++),a?this.e2=l:this.e1=l}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(e,t){this.distance+=e.dist(t),this.updateScaledDistance()}hasLineDasharray(e){for(let t of e){let e=t.paint.get(`line-dasharray`);if(e&&!e.isConstant())return!0}return!1}addLineDashDependencies(e,t,n,r){for(let i of e){let e=i.paint.get(`line-dasharray`);if(!e||e.value.kind===`constant`)continue;let a=i.layout.get(`line-cap`).evaluate(t,{})===`round`,o={dasharray:e.value.evaluate({zoom:n-1},t,{}),round:a},s={dasharray:e.value.evaluate({zoom:n},t,{}),round:a},c={dasharray:e.value.evaluate({zoom:n+1},t,{}),round:a},l=`${o.dasharray.join(`,`)},${o.round}`,u=`${s.dasharray.join(`,`)},${s.round}`,d=`${c.dasharray.join(`,`)},${c.round}`;r.dashDependencies[l]=o,r.dashDependencies[u]=s,r.dashDependencies[d]=c,t.dashes[i.id]={min:l,mid:u,max:d}}}};W(`LineBucket`,jp,{omit:[`layers`,`patternFeatures`]});var Mp,Np=()=>Mp||=new Ko({\"line-cap\":new q(P.layout_line[`line-cap`],`line-cap`),\"line-join\":new q(P.layout_line[`line-join`],`line-join`),\"line-miter-limit\":new q(P.layout_line[`line-miter-limit`],`line-miter-limit`),\"line-round-limit\":new q(P.layout_line[`line-round-limit`],`line-round-limit`),\"line-sort-key\":new q(P.layout_line[`line-sort-key`],`line-sort-key`)}),Pp,Fp=()=>Pp||=new Ko({\"line-opacity\":new q(P.paint_line[`line-opacity`],`line-opacity`),\"line-layer-opacity\":new K(P.paint_line[`line-layer-opacity`],`line-layer-opacity`),\"line-color\":new q(P.paint_line[`line-color`],`line-color`),\"line-translate\":new K(P.paint_line[`line-translate`],`line-translate`),\"line-translate-anchor\":new K(P.paint_line[`line-translate-anchor`],`line-translate-anchor`),\"line-width\":new q(P.paint_line[`line-width`],`line-width`),\"line-gap-width\":new q(P.paint_line[`line-gap-width`],`line-gap-width`),\"line-offset\":new q(P.paint_line[`line-offset`],`line-offset`),\"line-blur\":new q(P.paint_line[`line-blur`],`line-blur`),\"line-dasharray\":new Uo(P.paint_line[`line-dasharray`],`line-dasharray`),\"line-pattern\":new Uo(P.paint_line[`line-pattern`],`line-pattern`),\"line-gradient\":new Go(P.paint_line[`line-gradient`],`line-gradient`)}),Ip={get paint(){return Fp()},get layout(){return Np()}},Lp=class extends q{possiblyEvaluate(e,t){return t=new G(Math.floor(t.zoom),{now:t.now,fadeDuration:t.fadeDuration,zoomHistory:t.zoomHistory,transition:t.transition}),super.possiblyEvaluate(e,t)}evaluate(e,t,n,r){return t=le({},t,{zoom:Math.floor(t.zoom)}),super.evaluate(e,t,n,r)}},Rp,zp=class extends Yo{constructor(e,t){super(e,Ip,t),this.gradientVersion=0,Rp||(Rp=new Lp(Ip.paint.properties[`line-width`].specification,`line-floorwidth`),Rp.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(e){if(e===`line-gradient`){let e=this.gradientExpression();this.stepInterpolant=Ki(e)?e._styleExpression.expression instanceof sn:!1,this.gradientVersion=(this.gradientVersion+1)%(2**53-1)}}gradientExpression(){return this._transitionablePaint._values[`line-gradient`].value.expression}recalculate(e,t){super.recalculate(e,t),this.paint._values[`line-floorwidth`]=Rp.possiblyEvaluate(this._transitioningPaint._values[`line-width`].value,e)}createBucket(e){return new jp(e)}queryRadius(e){let t=e,n=Bp(Qc(`line-width`,this,t),Qc(`line-gap-width`,this,t)),r=Qc(`line-offset`,this,t);return n/2+Math.abs(r)+$c(this.paint.get(`line-translate`))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a}){let o=el(e,this.paint.get(`line-translate`),this.paint.get(`line-translate-anchor`),-i.bearingInRadians,a),s=a/2*Bp(this.paint.get(`line-width`).evaluate(t,n),this.paint.get(`line-gap-width`).evaluate(t,n)),c=this.paint.get(`line-offset`).evaluate(t,n);return c&&(r=nl(r,c*a)),Hc(o,r,s)}isTileClipped(){return!0}};function Bp(e,t){return t>0?t+2*e:e}var Vp=ns([{name:`a_pos_offset`,components:4,type:`Int16`},{name:`a_data`,components:4,type:`Uint16`},{name:`a_pixeloffset`,components:4,type:`Int16`},{name:`a_height_offset`,components:1,type:`Float32`}],4),Hp=ns([{name:`a_projected_pos`,components:3,type:`Float32`}],4);ns([{name:`a_fade_opacity`,components:1,type:`Uint32`}],4);var Up=ns([{name:`a_placed`,components:2,type:`Uint8`},{name:`a_shift`,components:2,type:`Float32`},{name:`a_box_real`,components:2,type:`Int16`}]);ns([{type:`Int16`,name:`anchorPointX`},{type:`Int16`,name:`anchorPointY`},{type:`Int16`,name:`x1`},{type:`Int16`,name:`y1`},{type:`Int16`,name:`x2`},{type:`Int16`,name:`y2`},{type:`Uint32`,name:`featureIndex`},{type:`Uint16`,name:`sourceLayerIndex`},{type:`Uint16`,name:`bucketIndex`}]);var Wp=ns([{name:`a_pos`,components:2,type:`Int16`},{name:`a_anchor_pos`,components:2,type:`Int16`},{name:`a_extrude`,components:2,type:`Int16`}],4);ns([{name:`a_pos`,components:2,type:`Float32`},{name:`a_radius`,components:1,type:`Float32`},{name:`a_flags`,components:2,type:`Int16`}],4),ns([{name:`triangle`,components:3,type:`Uint16`}]),ns([{type:`Int16`,name:`anchorX`},{type:`Int16`,name:`anchorY`},{type:`Uint16`,name:`glyphStartIndex`},{type:`Uint16`,name:`numGlyphs`},{type:`Uint32`,name:`vertexStartIndex`},{type:`Uint32`,name:`lineStartIndex`},{type:`Uint32`,name:`lineLength`},{type:`Uint16`,name:`segment`},{type:`Uint16`,name:`lowerSize`},{type:`Uint16`,name:`upperSize`},{type:`Float32`,name:`lineOffsetX`},{type:`Float32`,name:`lineOffsetY`},{type:`Uint8`,name:`writingMode`},{type:`Uint8`,name:`placedOrientation`},{type:`Uint8`,name:`hidden`},{type:`Uint32`,name:`crossTileID`},{type:`Int16`,name:`associatedIconIndex`},{type:`Float32`,name:`heightOffset`}]),ns([{type:`Int16`,name:`anchorX`},{type:`Int16`,name:`anchorY`},{type:`Int16`,name:`rightJustifiedTextSymbolIndex`},{type:`Int16`,name:`centerJustifiedTextSymbolIndex`},{type:`Int16`,name:`leftJustifiedTextSymbolIndex`},{type:`Int16`,name:`verticalPlacedTextSymbolIndex`},{type:`Int16`,name:`placedIconSymbolIndex`},{type:`Int16`,name:`verticalPlacedIconSymbolIndex`},{type:`Uint16`,name:`key`},{type:`Uint16`,name:`textBoxStartIndex`},{type:`Uint16`,name:`textBoxEndIndex`},{type:`Uint16`,name:`verticalTextBoxStartIndex`},{type:`Uint16`,name:`verticalTextBoxEndIndex`},{type:`Uint16`,name:`iconBoxStartIndex`},{type:`Uint16`,name:`iconBoxEndIndex`},{type:`Uint16`,name:`verticalIconBoxStartIndex`},{type:`Uint16`,name:`verticalIconBoxEndIndex`},{type:`Uint16`,name:`featureIndex`},{type:`Uint16`,name:`numHorizontalGlyphVertices`},{type:`Uint16`,name:`numVerticalGlyphVertices`},{type:`Uint16`,name:`numIconVertices`},{type:`Uint16`,name:`numVerticalIconVertices`},{type:`Uint16`,name:`useRuntimeCollisionCircles`},{type:`Uint32`,name:`crossTileID`},{type:`Float32`,name:`textBoxScale`},{type:`Float32`,name:`collisionCircleDiameter`},{type:`Uint16`,name:`textAnchorOffsetStartIndex`},{type:`Uint16`,name:`textAnchorOffsetEndIndex`},{type:`Float32`,name:`heightOffset`}]),ns([{type:`Float32`,name:`offsetX`}]),ns([{type:`Int16`,name:`x`},{type:`Int16`,name:`y`},{type:`Int16`,name:`tileUnitDistanceFromAnchor`}]),ns([{type:`Uint16`,name:`textAnchor`},{type:`Float32`,components:2,name:`textOffset`}]);var Gp=new class{constructor(){this.TIMEOUT=5e3,this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus=`unavailable`,this.pluginURL=null,this.loadScriptResolve=()=>{}}setState(e){this.pluginStatus=e.pluginStatus,this.pluginURL=e.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(e){if(Gp.isParsed())throw Error(`RTL text plugin already registered.`);this.applyArabicShaping=e.applyArabicShaping,this.processBidirectionalText=e.processBidirectionalText,this.processStyledBidirectionalText=e.processStyledBidirectionalText,this.loadScriptResolve()}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getRTLTextPluginStatus(){return this.pluginStatus}async syncState(e,t){if(this.isParsed())return this.getState();if(e.pluginStatus!==`loading`)return this.setState(e),e;let n=e.pluginURL,r=new Promise(e=>{this.loadScriptResolve=e}),i=new Promise(e=>setTimeout(()=>e(),this.TIMEOUT));if(await t(n),await Promise.race([r,i]),this.isParsed()){let e={pluginStatus:`loaded`,pluginURL:n};return this.setState(e),e}throw this.setState({pluginStatus:`error`,pluginURL:``}),Error(`RTL Text Plugin failed to import scripts from ${n}`)}};function Kp(e){return/[\\u0600-\\u0604\\u0606-\\u060B\\u060D-\\u061A\\u061C-\\u061E\\u0620-\\u063F\\u0641-\\u064A\\u0656-\\u066F\\u0671-\\u06DC\\u06DE-\\u070D\\u070F-\\u074A\\u074D-\\u077F\\u07C0-\\u07FA\\u07FD-\\u07FF\\u0840-\\u085B\\u085E\\u0860-\\u086A\\u0870-\\u0891\\u0897-\\u08E1\\u08E3-\\u08FF\\u1800\\u1801\\u1804\\u1806-\\u1819\\u1820-\\u1878\\u1880-\\u18AA\\uA840-\\uA877\\uFB50-\\uFD3D\\uFD40-\\uFDCF\\uFDF0-\\uFDFF\\uFE70-\\uFE74\\uFE76-\\uFEFC]|\\uD802[\\uDEC0-\\uDEE6\\uDEEB-\\uDEF6\\uDF80-\\uDF91\\uDF99-\\uDF9C\\uDFA9-\\uDFAF]|\\uD803[\\uDD00-\\uDD27\\uDD30-\\uDD39\\uDE60-\\uDE7E\\uDEC2-\\uDEC7\\uDED0-\\uDED8\\uDEFA-\\uDEFF\\uDF30-\\uDF59\\uDF70-\\uDF89\\uDFB0-\\uDFCB]|\\uD805[\\uDE60-\\uDE6C]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9C-\\uDC9F]|\\uD83A[\\uDD00-\\uDD4B\\uDD50-\\uDD59\\uDD5E\\uDD5F]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB\\uDEF0\\uDEF1]/gim.test(String.fromCodePoint(e))}function qp(e){return/[\\u0591-\\u05C7\\u05D0-\\u05EA\\u05EF-\\u05F4\\u0600-\\u0604\\u0606-\\u060B\\u060D-\\u061A\\u061C-\\u061E\\u0620-\\u063F\\u0641-\\u064A\\u0656-\\u066F\\u0671-\\u06DC\\u06DE-\\u070D\\u070F-\\u074A\\u074D-\\u07B1\\u07C0-\\u07FA\\u07FD-\\u082D\\u0830-\\u083E\\u0840-\\u085B\\u085E\\u0860-\\u086A\\u0870-\\u0891\\u0897-\\u08E1\\u08E3-\\u08FF\\uFB1D-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFD3D\\uFD40-\\uFDCF\\uFDF0-\\uFDFF\\uFE70-\\uFE74\\uFE76-\\uFEFC]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC57-\\uDC9E\\uDCA7-\\uDCAF\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDCFB-\\uDD1B\\uDD1F-\\uDD39\\uDD3F-\\uDD59\\uDD80-\\uDDB7\\uDDBC-\\uDDCF\\uDDD2-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE38-\\uDE3A\\uDE3F-\\uDE48\\uDE50-\\uDE58\\uDE60-\\uDE9F\\uDEC0-\\uDEE6\\uDEEB-\\uDEF6\\uDF00-\\uDF35\\uDF39-\\uDF55\\uDF58-\\uDF72\\uDF78-\\uDF91\\uDF99-\\uDF9C\\uDFA9-\\uDFAF]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDCFA-\\uDD27\\uDD30-\\uDD39\\uDD40-\\uDD65\\uDD69-\\uDD85\\uDD8E\\uDD8F\\uDE60-\\uDE7E\\uDE80-\\uDEA9\\uDEAB-\\uDEAD\\uDEB0\\uDEB1\\uDEC2-\\uDEC7\\uDED0-\\uDED8\\uDEFA-\\uDF27\\uDF30-\\uDF59\\uDF70-\\uDF89\\uDFB0-\\uDFCB\\uDFE0-\\uDFF6]|\\uD83A[\\uDC00-\\uDCC4\\uDCC7-\\uDCD6\\uDD00-\\uDD4B\\uDD50-\\uDD59\\uDD5E\\uDD5F]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB\\uDEF0\\uDEF1]/gim.test(String.fromCodePoint(e))}function Jp(e){return/[\\u02EA\\u02EB\\u2E80-\\u2FDF\\u2FF0-\\u303F\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FD-\\u30FF\\u3105-\\u312F\\u31A0-\\u4DBF\\u4E00-\\uA48C\\uA490-\\uA4C6\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFE10-\\uFE1F\\uFE30-\\uFE4F\\uFF00-\\uFFEF]|\\uD81B[\\uDFE0-\\uDFFF]|[\\uD81C-\\uD822\\uD840-\\uD868\\uD86A-\\uD86D\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883\\uD885-\\uD88C][\\uDC00-\\uDFFF]|\\uD823[\\uDC00-\\uDCD5\\uDCFF-\\uDD1E\\uDD80-\\uDDF2]|\\uD82B[\\uDFF0-\\uDFFF]|\\uD82C[\\uDC00-\\uDEFB]|\\uD83C[\\uDE00-\\uDEFF]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEAD\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0\\uDFF0-\\uDFFF]|\\uD87B[\\uDC00-\\uDE5D]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A\\uDF50-\\uDFFF]|\\uD88D[\\uDC00-\\uDC79]/gim.test(String.fromCodePoint(e))}function Yp(e){return/[\\u02EA\\u02EB\\u1100-\\u11FF\\u1401-\\u167F\\u18B0-\\u18FF\\u2065\\u20DD-\\u20E0\\u20E2-\\u20E4\\u2B97\\u2BF0-\\u2BFF\\u2E50\\u2E51\\u2E80-\\u3007\\u3012\\u3013\\u3020-\\u302F\\u3031-\\u30FB\\u30FD-\\uA4CF\\uA960-\\uA97F\\uAC00-\\uD7FF\\uF900-\\uFAFF\\uFE10-\\uFE1F\\uFE30-\\uFE48\\uFE50-\\uFE57\\uFE5F-\\uFE62\\uFE67-\\uFE6F\\uFF00-\\uFF07\\uFF0A-\\uFF0C\\uFF0E-\\uFF19\\uFF1F-\\uFF3A\\uFF3C\\uFF3E\\uFF40-\\uFF5A\\uFFE0-\\uFFE2\\uFFE4-\\uFFE7\\uFFF0-\\uFFF8]|\\uD802[\\uDD80-\\uDD9F]|\\uD805[\\uDD80-\\uDDFF]|\\uD806[\\uDE00-\\uDEBF]|[\\uD80C-\\uD810\\uD81C-\\uD822\\uD83C\\uD83D\\uD840-\\uD87E\\uD880-\\uD8BE][\\uDC00-\\uDFFF]|\\uD811[\\uDC00-\\uDE7F]|\\uD81B[\\uDFE0-\\uDFFF]|\\uD823[\\uDC00-\\uDDFF]|\\uD82B[\\uDFF0-\\uDFFF]|\\uD82C[\\uDC00-\\uDEFF]|\\uD833[\\uDEC0-\\uDFCF]|\\uD834[\\uDC00-\\uDDFF\\uDEE0-\\uDF7F]|\\uD836[\\uDC00-\\uDEAF]|\\uD83E[\\uDD00-\\uDEFF]|[\\uD87F\\uD8BF][\\uDC00-\\uDFFD]/gim.test(String.fromCodePoint(e))}function Xp(e){return/[\\xA7\\xA9\\xAE\\xB1\\xBC-\\xBE\\xD7\\xF7\\u2016\\u2020\\u2021\\u2030\\u2031\\u203B\\u203C\\u2042\\u2047-\\u2049\\u2051\\u2100-\\u218F\\u221E\\u2234\\u2235\\u2300-\\u2307\\u230C-\\u231F\\u2324-\\u2328\\u232B\\u237D-\\u239A\\u23BE-\\u23CD\\u23CF\\u23D1-\\u23DB\\u23E2-\\u2422\\u2424-\\u24FF\\u25A0-\\u2619\\u2620-\\u2767\\u2776-\\u2793\\u2B12-\\u2B2F\\u2B50-\\u2B59\\u2BB8-\\u2BEB\\u3000-\\u303F\\u30A0-\\u30FF\\uE000-\\uF8FF\\uFE30-\\uFE6F\\uFF00-\\uFFEF\\uFFFC\\uFFFD]|[\\uDB80-\\uDBFF][\\uDC00-\\uDFFF]/gim.test(String.fromCodePoint(e))}function Zp(e){return/[\\r\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0600-\\u0605\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DD\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u070F\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0890\\u0891\\u0897-\\u089F\\u08CA-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u09FE\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C04\\u0C3C\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0CF3\\u0D00-\\u0D03\\u0D3B\\u0D3C\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D62\\u0D63\\u0D81-\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E33-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB3-\\u0EBC\\u0EC8-\\u0ECE\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1037\\u1039-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1084-\\u1086\\u108D\\u109D\\u1100-\\u11FF\\u135D-\\u135F\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u180F\\u1885\\u1886\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A7C\\u1A7F\\u1AB0-\\u1ADD\\u1AE0-\\u1AEB\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF4\\u1CF7-\\u1CF9\\u1DC0-\\u1DFF\\u200C\\u200D\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA82C\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA953\\uA960-\\uA97C\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFF9E\\uFF9F]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD803[\\uDD24-\\uDD27\\uDD69-\\uDD6D\\uDEAB\\uDEAC\\uDEFA-\\uDEFF\\uDF46-\\uDF50\\uDF82-\\uDF85]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC70\\uDC73\\uDC74\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDCBD\\uDCC2\\uDCCD\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD45\\uDD46\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDDC2\\uDDC3\\uDDC9-\\uDDCC\\uDDCE\\uDDCF\\uDE2C-\\uDE37\\uDE3E\\uDE41\\uDEDF-\\uDEEA\\uDF00-\\uDF03\\uDF3B\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74\\uDFB8-\\uDFC0\\uDFC2\\uDFC5\\uDFC7-\\uDFCA\\uDFCC-\\uDFD2\\uDFE1\\uDFE2]|\\uD805[\\uDC35-\\uDC46\\uDC5E\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDDDC\\uDDDD\\uDE30-\\uDE40\\uDEAB-\\uDEB7\\uDF1D-\\uDF1F\\uDF22-\\uDF2B]|\\uD806[\\uDC2C-\\uDC3A\\uDD30-\\uDD35\\uDD37\\uDD38\\uDD3B-\\uDD43\\uDDD1-\\uDDD7\\uDDDA-\\uDDE0\\uDDE4\\uDE01-\\uDE0A\\uDE33-\\uDE39\\uDE3B-\\uDE3E\\uDE47\\uDE51-\\uDE5B\\uDE84-\\uDE99\\uDF60-\\uDF67]|\\uD807[\\uDC2F-\\uDC36\\uDC38-\\uDC3F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD31-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD47\\uDD8A-\\uDD8E\\uDD90\\uDD91\\uDD93-\\uDD97\\uDEF3-\\uDEF6\\uDF00-\\uDF03\\uDF34-\\uDF3A\\uDF3E-\\uDF42\\uDF5A]|\\uD80D[\\uDC40\\uDC47-\\uDC55]|\\uD818[\\uDD1E-\\uDD2F]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDD63\\uDD67-\\uDD6A\\uDF4F\\uDF51-\\uDF87\\uDF8F-\\uDF92\\uDFE4\\uDFF0\\uDFF1]|\\uD82F[\\uDC9D\\uDC9E]|\\uD833[\\uDF00-\\uDF2D\\uDF30-\\uDF46]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A\\uDC8F\\uDD30-\\uDD36\\uDEAE\\uDEEC-\\uDEEF]|\\uD839[\\uDCEC-\\uDCEF\\uDDEE\\uDDEF\\uDEE3\\uDEE6\\uDEEE\\uDEEF\\uDEF5]|\\uD83A[\\uDCD0-\\uDCD6\\uDD44-\\uDD4A]|\\uD83C[\\uDDE6-\\uDDFF\\uDFFB-\\uDFFF]|\\uDB40[\\uDC20-\\uDC7F\\uDD00-\\uDDEF]/.test(e)}function Qp(e){return/[\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECE\\u0EDC-\\u0EDF\\u0F00-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F97\\u0F99-\\u0FBC\\u0FBE-\\u0FCC\\u0FCE-\\u0FD4\\u0FD9\\u0FDA\\u1000-\\u103F\\u1050-\\u108F\\u109A-\\u109F\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19DE\\u19DF\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1AA0-\\u1AAD\\u1B00-\\u1B4C\\u1B4E-\\u1B7F\\uA980-\\uA9CD\\uA9D0-\\uA9D9\\uA9DE-\\uA9EF\\uA9FA-\\uA9FE\\uAA60-\\uAAC2\\uAADB-\\uAADF]|\\uD805[\\uDF00-\\uDF1A\\uDF1D-\\uDF2B\\uDF3A\\uDF3B\\uDF3F-\\uDF46]/gim.test(String.fromCodePoint(e))}function $p(e,t){return/(?:[\\u1039\\u17D2\\u1A60\\u1BAB\\u200D\\uAAF6]|\\uD802\\uDE3F|\\uD804[\\uDD33\\uDFD0]|\\uD806[\\uDD3E\\uDE47\\uDE99]|\\uD807[\\uDD45\\uDD97\\uDF42])$/.test(e)||/^\\p{gc=Mc}/u.test(t)}var em={C:`18g,1;g2,3;4nb,1`,D:`17k,1;5,1;1,1;1,5;4,d;1,7;1,2;z,2;8,g;i,12;1,2;9,1;1,1;1,2;14,3;2,1;28,9;3,f;2,4;1,1;2,3;2,6;7a,1;2,5;1,1;g,a;5,2;2,6;1,f`,R:`17m,4;1,1;1,1;5,4;l,1;14,3;1,3;g,i;12,1;2,9;1,1;1,1;2,2;1,1;o,2;2x,3;f,2;4,1;1,2;3,2;6u,j;b,1;r,3;1,1;2,2;6,1`,T:`174,b;1,1;1a,l;g,1;2t,7;2,6;2,2;1,4;bt,9;16,o;1,t;1clb,1`},tm={1569:[65152,0,0,0],1570:[65153,65154,0,0],1571:[65155,65156,0,0],1572:[65157,65158,0,0],1573:[65159,65160,0,0],1574:[65161,65162,65163,65164],1575:[65165,65166,0,0],1576:[65167,65168,65169,65170],1577:[65171,65172,0,0],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194,0,0],1584:[65195,65196,0,0],1585:[65197,65198,0,0],1586:[65199,65200,0,0],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262,0,0],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1611:[65136,0,0,65137],1612:[65138,0,0,0],1613:[65140,0,0,0],1614:[65142,0,0,65143],1615:[65144,0,0,65145],1616:[65146,0,0,65147],1617:[65148,0,0,65149],1618:[65150,0,0,65151],1649:[64336,64337,0,0],1655:[64477,0,0,0],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393,0,0],1676:[64388,64389,0,0],1677:[64386,64387,0,0],1678:[64390,64391,0,0],1681:[64396,64397,0,0],1688:[64394,64395,0,0],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415,0,0],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421,0,0],1729:[64422,64423,64424,64425],1733:[64480,64481,0,0],1734:[64473,64474,0,0],1735:[64471,64472,0,0],1736:[64475,64476,0,0],1737:[64482,64483,0,0],1739:[64478,64479,0,0],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431,0,0],1747:[64432,64433,0,0]},nm={لآ:[65269,65270],لأ:[65271,65272],لإ:[65273,65274],لا:[65275,65276]},rm=1604,im=/[\\u0600-\\u06ff\\u0750-\\u077f\\u0870-\\u089f\\u08a0-\\u08ff\\ufb50-\\ufdff\\ufe70-\\ufeff]/;function am(e,t,n){let r=0;for(let i of e.split(`;`)){let[e,a]=i.split(`,`).map(e=>parseInt(e,36)),o=r+e;for(let e=o;e<o+a;e++)n.set(e,t);r=o+a}}var om=new Map;for(let[e,t]of Object.entries(em))am(t,e,om);function sm(e){return om.get(e)??`U`}function cm(e){return e===`D`||e===`L`||e===`C`}function lm(e){return e===`D`||e===`R`||e===`C`}function um(e,t,n){return e===`D`?t&&n?3:t?1:n?2:0:e===`R`?+!!t:e===`L`?n?2:0:null}function dm(e){return[...e].map(e=>{let t=e.codePointAt(0);return{codePoint:t,type:sm(t),form:null}})}function fm(e){let t=e.filter(e=>e.type!==`T`);for(let e=0;e<t.length;e++){let n=t[e],r=e>0&&cm(t[e-1].type),i=e+1<t.length&&lm(t[e+1].type);n.form=um(n.type,r,i)}}function pm(e){let t=!1;for(let n of e)n.type===`T`?n.form=t?3:0:t=n.form===2||n.form===3}function mm(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.codePoint!==rm){t.push(r);continue}let i=n+1;for(;i<e.length&&e[i].type===`T`;)i++;let a=e[i],o=a&&nm[String.fromCodePoint(rm,a.codePoint)];if(!o){t.push(r);continue}let s=r.form===3||r.form===1;t.push({codePoint:o[+!!s],type:`R`,form:0}),t.push(...e.slice(n+1,i)),n=i}return t}function hm(e){if(e.form===null)return e.codePoint;let t=tm[e.codePoint];return t&&(t[e.form]||t[0])||e.codePoint}function gm(e){if(!im.test(e))return e;let t=dm(e);return fm(t),pm(t),mm(t).map(e=>String.fromCodePoint(hm(e))).join(``)}function _m(e,t,n){let r=t.layout.get(`text-transform`).evaluate(n,{});return r===`uppercase`?e=e.toLocaleUpperCase():r===`lowercase`&&(e=e.toLocaleLowerCase()),(Gp.applyArabicShaping??gm)(e)}function vm(e,t,n){for(let r of e.sections)r.text=_m(r.text,t,n);return e}function ym(e,t,n){let r=n?t.last.points:t.first.points,i=n?r[r.length-1]:r[0];return`${e}:${i.x}:${i.y}`}function bm(e){let t=e.first.points,n=t.length;for(let t=e.first.next;t;t=t.next)n+=t.points.length-1;let r=Array(n);for(let e=0;e<t.length;e++)r[e]=t[e];let i=t.length;for(let t=e.first.next;t;t=t.next){let e=t.points;for(let t=1;t<e.length;t++)r[i++]=e[t]}return r}function xm(e,t,n,r,i){let a=t[n];delete t[n],t[r]=a;let o=e[a];return o.last.next=i.first,o.last=i.last,a}function Sm(e,t,n,r,i){let a=t[r];delete t[r],t[n]=a;let o=e[a];return i.last.next=o.first,o.first=i.first,a}function Cm(e){let t={},n={},r=[];for(let i of e){let e=i.text?i.text.toString():null,a={points:i.geometry[0],next:null},o={feature:i,first:a,last:a};if(!e){r.push(o);continue}let s=ym(e,o),c=ym(e,o,!0);if(s in n&&c in t&&n[s]!==t[c]){let i=Sm(r,t,s,c,o),a=xm(r,n,s,c,r[i]);delete t[s],delete n[c],n[ym(e,r[a],!0)]=a,r[i].feature.geometry=null}else if(s in n)xm(r,n,s,c,o);else if(c in t)Sm(r,t,s,c,o);else{let e=r.push(o)-1;t[s]=e,n[c]=e}}let i=[];for(let e of r){let t=e.feature;t.geometry&&(e.first.next&&(t.geometry[0]=bm(e)),i.push(t))}return i}var wm=typeof Intl<`u`&&`Segmenter`in Intl,Tm,Em;function Dm(e){if(!wm||!Zp(e))return[...e];Tm??=new Intl.Segmenter(void 0,{granularity:`grapheme`});let t=[];for(let{segment:n}of Tm.segment(e)){let e=t.length-1;e>=0&&$p(t[e],n)?t[e]+=n:t.push(n)}return t}function Om(e){let t=new Set;if(wm){Em??=new Intl.Segmenter(void 0,{granularity:`word`});for(let{index:n}of Em.segment(e))t.add(n);return t}let n=0;for(let r of e.split(/\\b|(?=\\p{Ideo})/u))t.add(n),n+=r.length;return t}function km(e){let t=e.codePointAt(0);return e.length>(t>65535?2:1)}function Am(e){return/\\s/u.test(String.fromCodePoint(e))}function jm(e){for(let t of e)if(Yp(t.codePointAt(0)))return!0;return!1}function Mm(e){for(let t of e)if(!Nm(t.codePointAt(0)))return!1;return!0}function Nm(e){return!Kp(e)}function Pm(e){return!(Yp(e)||Xp(e))}function Fm(e){return/\\p{sc=Arab}/u.test(String.fromCodePoint(e))}function Im(e){return qp(e)}function Lm(e){for(let t of e)if(Im(t.codePointAt(0)))return!0;return!1}var Rm={\"!\":`︕`,\"#\":`#`,$:`$`,\"%\":`%`,\"&\":`&`,\"(\":`︵`,\")\":`︶`,\"*\":`*`,\"+\":`+`,\",\":`︐`,\"-\":`︲`,\".\":`・`,\"/\":`/`,\":\":`︓`,\";\":`︔`,\"<\":`︿`,\"=\":`=`,\">\":`﹀`,\"?\":`︖`,\"@\":`@`,\"[\":`﹇`,\"\\\\\":`\`,\"]\":`﹈`,\"^\":`^`,_:`︳`,\"`\":```,\"{\":`︷`,\"|\":`―`,\"}\":`︸`,\"~\":`~`,\"¢\":`¢`,\"£\":`£`,\"¥\":`¥`,\"¦\":`¦`,\"¬\":`¬`,\"¯\":` ̄`,\"–\":`︲`,\"—\":`︱`,\"‘\":`﹃`,\"’\":`﹄`,\"“\":`﹁`,\"”\":`﹂`,\"…\":`︙`,\"⋯\":`︙`,\"‧\":`・`,\"₩\":`₩`,\"、\":`︑`,\"。\":`︒`,\"〈\":`︿`,\"〉\":`﹀`,\"《\":`︽`,\"》\":`︾`,\"「\":`﹁`,\"」\":`﹂`,\"『\":`﹃`,\"』\":`﹄`,\"【\":`︻`,\"】\":`︼`,\"〔\":`︹`,\"〕\":`︺`,\"〖\":`︗`,\"〗\":`︘`,\"!\":`︕`,\"(\":`︵`,\")\":`︶`,\",\":`︐`,\"-\":`︲`,\".\":`・`,\":\":`︓`,\";\":`︔`,\"<\":`︿`,\">\":`﹀`,\"?\":`︖`,\"[\":`﹇`,\"]\":`﹈`,\"_\":`︳`,\"{\":`︷`,\"|\":`―`,\"}\":`︸`,\"⦅\":`︵`,\"⦆\":`︶`,\"。\":`︒`,\"「\":`﹁`,\"」\":`﹂`};function zm(e){let t=``,n={premature:!0,value:void 0},r=e[Symbol.iterator](),i=r.next(),a=e[Symbol.iterator]();a.next();let o=a.next();for(;!i.done;)(o.done||!Pm(o.value.codePointAt(0))||Rm[o.value])&&(n.premature||!Pm(n.value.codePointAt(0))||Rm[n.value])&&Rm[i.value]?t+=Rm[i.value]:t+=i.value,n={value:i.value,premature:!1},i=r.next(),o=a.next();return t}var Bm={10:!0,13:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},Vm={40:!0};function Hm(e,t,n,r,i,a){if(`fontStack`in t){let r=n[t.fontStack]?.default,a=r?.[e];if(a)return a.metrics.advance*t.scale+i;let o=0;for(let n of e){let e=r?.[n];e&&(o+=e.metrics.advance*t.scale+i)}return o}{let e=r[t.imageName];return e?e.displaySize[0]*t.scale*24/a+i:0}}function Um(e,t,n,r){let i=(e-t)**2;return r?e<t?i/2:i*2:i+Math.abs(n)*n}function Wm(e){return/^\\s+$/u.test(e)}function Gm(e,t,n){let r=0;return(e===10||e===13)&&(r-=1e4),n&&(r+=150),(e===40||e===65288)&&(r+=50),(t===41||t===65289)&&(r+=50),r}function Km(e,t,n,r,i,a){let o=null,s=Um(t,n,i,a);for(let e of r){let r=Um(t-e.x,n,i,a)+e.badness;r<=s&&(o=e,s=r)}return{index:e,x:t,priorBreak:o,badness:s}}function qm(e){return e?qm(e.priorBreak).concat(e.index):[]}var Jm=class e{constructor(e=``,t=[],n=[]){this.text=e,this.sections=t,this.sectionIndex=n,this.imageSectionID=null,this._graphemes=null}graphemes(){return this._graphemes??=Dm(this.text),this._graphemes}static fromFeature(t,n){let r=new e;for(let e of t.sections)e.image?r.addImageSection(e):r.addTextSection(e,n);return r}length(){return this.graphemes().length}getSection(e){return this.sections[this.sectionIndex[e]]}getSectionIndex(e){return this.sectionIndex[e]}verticalizePunctuation(){this.text=zm(this.text),this._graphemes=null}hasZeroWidthSpaces(){return this.text.includes(`​`)}trim(){let e=this.graphemes(),t=0;for(;t<e.length&&Wm(e[t]);)t++;let n=e.length;for(;n>t&&Wm(e[n-1]);)n--;this.text=e.slice(t,n).join(``),this.sectionIndex=this.sectionIndex.slice(t,n),this._graphemes=null}substring(t,n){let r=this.graphemes().slice(t,n).join(``),i=this.sectionIndex.slice(t,n);return new e(r,this.sections,i)}toCodeUnitIndex(e){return this.graphemes().slice(0,e).join(``).length}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((e,t)=>Math.max(e,this.sections[t].scale),0)}getMaxImageSize(e){let t=0,n=0;for(let r=0;r<this.length();r++){let i=this.getSection(r);if(`imageName`in i){let r=e[i.imageName];if(!r)continue;let a=r.displaySize;t=Math.max(t,a[0]),n=Math.max(n,a[1])}}return{maxImageWidth:t,maxImageHeight:n}}_appendSection(e,t){let n=this.graphemes(),r=n.length>0?n[n.length-1]:``,i=Dm(r+e);this.text+=e,this._graphemes=n.slice(0,r?-1:void 0).concat(i);let a=i.length-+!!r;for(let e=0;e<a;e++)this.sectionIndex.push(t)}addTextSection(e,t){this.sections.push({scale:e.scale||1,verticalAlign:e.verticalAlign||`bottom`,fontStack:e.fontStack||t}),this._appendSection(e.text,this.sections.length-1)}addImageSection(e){let t=e.image?e.image.name:``;if(t.length===0){j(`Can't add FormattedSection with an empty image.`);return}let n=this.getNextImageSectionCharCode();if(!n){j(`Reached maximum number of images 6401`);return}this.sections.push({scale:1,verticalAlign:e.verticalAlign||`bottom`,imageName:t}),this._appendSection(String.fromCharCode(n),this.sections.length-1)}getNextImageSectionCharCode(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}determineLineBreaks(e,t,n,r,i){let a=[],o=this.determineAverageLineWidth(e,t,n,r,i),s=this.hasZeroWidthSpaces(),c=this.graphemes(),l=null,u=0,d=0;for(let t=0;t<c.length;t++){let f=c[t];if(t>0){let e=c[t-1].codePointAt(0),n=f.codePointAt(0),r=Jp(e),i=Qp(e)&&Qp(n);(Bm[e]||r||`imageName`in this.getSection(t-1)||c[t+1]!==void 0&&Vm[n]||i&&(l??=Om(this.text)).has(d))&&a.push(Km(t,u,o,a,Gm(e,n,r&&s),!1))}Am(f.codePointAt(0))||(u+=Hm(f,this.getSection(t),n,r,e,i)),d+=f.length}return qm(Km(this.length(),u,o,a,0,!0))}determineAverageLineWidth(e,t,n,r,i){let a=0,o=0;for(let t of this.graphemes()){let s=this.getSection(o);a+=Hm(t,s,n,r,e,i),o++}let s=Math.max(1,Math.ceil(a/t));return a/s}};function Ym(){return(function(e){var t={R:`13k,1a,2,3,3,2+1j,ch+16,a+1,5+2,2+n,5,a,4,6+16,4+3,h+1b,4mo,179q,2+9,2+11,2i9+7y,2+68,4,3+4,5+13,4+3,2+4k,3+29,8+cf,1t+7z,w+17,3+3m,1t+3z,16o1+5r,8+30,8+mc,29+1r,29+4v,75+73`,EN:`1c+9,3d+1,6,187+9,513,4+5,7+9,sf+j,175h+9,qw+q,161f+1d,4xt+a,25i+9`,ES:`17,2,6dp+1,f+1,av,16vr,mx+1,4o,2`,ET:`z+2,3h+3,b+1,ym,3e+1,2o,p4+1,8,6u,7c,g6,1wc,1n9+4,30+1b,2n,6d,qhx+1,h0m,a+1,49+2,63+1,4+1,6bb+3,12jj`,AN:`16o+5,2j+9,2+1,35,ed,1ff2+9,87+u`,CS:`18,2+1,b,2u,12k,55v,l,17v0,2,3,53,2+1,b`,B:`a,3,f+2,2v,690`,S:`9,2,k`,WS:`c,k,4f4,1vk+a,u,1j,335`,ON:`x+1,4+4,h+5,r+5,r+3,z,5+3,2+1,2+1,5,2+2,3+4,o,w,ci+1,8+d,3+d,6+8,2+g,39+1,9,6+1,2,33,b8,3+1,3c+1,7+1,5r,b,7h+3,sa+5,2,3i+6,jg+3,ur+9,2v,ij+1,9g+9,7+a,8m,4+1,49+x,14u,2+2,c+2,e+2,e+2,e+1,i+n,e+e,2+p,u+2,e+2,36+1,2+3,2+1,b,2+2,6+5,2,2,2,h+1,5+4,6+3,3+f,16+2,5+3l,3+81,1y+p,2+40,q+a,m+13,2r+ch,2+9e,75+hf,3+v,2+2w,6e+5,f+6,75+2a,1a+p,2+2g,d+5x,r+b,6+3,4+o,g,6+1,6+2,2k+1,4,2j,5h+z,1m+1,1e+f,t+2,1f+e,d+3,4o+3,2s+1,w,535+1r,h3l+1i,93+2,2s,b+1,3l+x,2v,4g+3,21+3,kz+1,g5v+1,5a,j+9,n+v,2,3,2+8,2+1,3+2,2,3,46+1,4+4,h+5,r+5,r+a,3h+2,4+6,b+4,78,1r+24,4+c,4,1hb,ey+6,103+j,16j+c,1ux+7,5+g,fsh,jdq+1t,4,57+2e,p1,1m,1m,1m,1m,4kt+1,7j+17,5+2r,d+e,3+e,2+e,2+10,m+4,w,1n+5,1q,4z+5,4b+rb,9+c,4+c,4+37,d+2g,8+b,l+b,5+1j,9+9,7+13,9+t,3+1,27+3c,2+29,2+3q,d+d,3+4,4+2,6+6,a+o,8+6,a+2,e+6,16+42,2+1i`,BN:`0+8,6+d,2s+5,2+p,e,4m9,1kt+2,2b+5,5+5,17q9+v,7k,6p+8,6+1,119d+3,440+7,96s+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+75,6p+2rz,1ben+1,1ekf+1,1ekf+1`,NSM:`lc+33,7o+6,7c+18,2,2+1,2+1,2,21+a,1d+k,h,2u+6,3+5,3+1,2+3,10,v+q,2k+a,1n+8,a,p+3,2+8,2+2,2+4,18+2,3c+e,2+v,1k,2,5+7,5,4+6,b+1,u,1n,5+3,9,l+1,r,3+1,1m,5+1,5+1,3+2,4,v+1,4,c+1,1m,5+4,2+1,5,l+1,n+5,2,1n,3,2+3,9,8+1,c+1,v,1q,d,1f,4,1m+2,6+2,2+3,8+1,c+1,u,1n,g+1,l+1,t+1,1m+1,5+3,9,l+1,u,21,8+2,2,2j,3+6,d+7,2r,3+8,c+5,23+1,s,2,2,1k+d,2+4,2+1,6+a,2+z,a,2v+3,2+5,2+1,3+1,q+1,5+2,h+3,e,3+1,7,g,jk+2,qb+2,u+2,u+1,v+1,1t+1,2+6,9,3+a,a,1a+2,3c+1,z,3b+2,5+1,a,7+2,64+1,3,1n,2+6,2,2,3+7,7+9,3,1d+g,1s+3,1d,2+4,2,6,15+8,d+1,x+3,3+1,2+2,1l,2+1,4,2+2,1n+7,3+1,49+2,2+c,2+6,5,7,4+1,5j+1l,2+4,k1+w,2db+2,3y,2p+v,ff+3,30+1,n9x+3,2+9,x+1,29+1,7l,4,5,q+1,6,48+1,r+h,e,13+7,q+a,1b+2,1d,3+3,3+1,14,1w+5,3+1,3+1,d,9,1c,1g,2+2,3+1,6+1,2,17+1,9,6n,3,5,fn5,ki+f,h+f,r2,6b,46+4,1af+2,2+1,6+3,15+2,5,4m+1,fy+3,as+1,4a+a,4x,1j+e,1l+2,1e+3,3+1,1y+2,11+4,2+7,1r,d+1,1h+8,b+3,3,2o+2,3,2+1,7,4h,4+7,m+1,1m+1,4,12+6,4+4,5g+7,3+2,2,o,2d+5,2,5+1,2+1,6n+3,7+1,2+1,s+1,2e+7,3,2+1,2z,2,3+5,2,2u+2,3+3,2+4,78+8,2+1,75+1,2,5,41+3,3+1,5,x+5,3+1,15+5,3+3,9,a+5,3+2,1b+c,2+1,bb+6,2+5,2d+l,3+6,2+1,2+1,3f+5,4,2+1,2+6,2,21+1,4,2,9o+1,f0c+4,1o+6,t5,1s+3,2a,f5l+1,43t+2,i+7,3+6,v+3,45+2,1j0+1i,5+1d,9,f,n+4,2+e,11t+6,2+g,3+6,2+1,2+4,7a+6,c6+3,15t+6,32+6,gzhy+6n`,AL:`16w,3,2,e+1b,z+2,2+2s,g+1,8+1,b+m,2+t,s+2i,c+e,4h+f,1d+1e,1bwe+dp,3+3z,x+c,2+1,35+3y,2rm+z,5+7,b+5,dt+l,c+u,17nl+27,1t+27,4x+6n,3+d`,LRO:`6ct`,RLO:`6cu`,LRE:`6cq`,RLE:`6cr`,PDF:`6cs`,LRI:`6ee`,RLI:`6ef`,FSI:`6eg`,PDI:`6eh`},n={},r={};n.L=1,r[1]=`L`,Object.keys(t).forEach(function(e,t){n[e]=1<<t+1,r[n[e]]=e}),Object.freeze(n);var i=n.LRI|n.RLI|n.FSI,a=n.L|n.R|n.AL,o=n.B|n.S|n.WS|n.ON|n.FSI|n.LRI|n.RLI|n.PDI,s=n.BN|n.RLE|n.LRE|n.RLO|n.LRO|n.PDF,c=n.S|n.WS|n.B|i|n.PDI|s,l=null;function u(){if(!l){l=new Map;var e=0;for(var r in t)if(t.hasOwnProperty(r))for(var i=t[r],a=``,o=void 0,s=!1,c=0,u=0;u<=i.length+1;u+=1){var d=i[u];if(d!==`,`&&u!==i.length)d===`+`?(s=!0,c=e=c+parseInt(a,36),a=``):a+=d;else{s?o=e+parseInt(a,36):(c=e=c+parseInt(a,36),o=e),s=!1,a=``,c=o;for(var f=e;f<o+1;f+=1)l.set(f,n[r])}}}}function d(e){return u(),l.get(e.codePointAt(0))||n.L}function f(e){return r[d(e)]}var p={pairs:`14>1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1`,canonical:`6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye`};function m(e,t){var n=0,r=new Map,i=t&&new Map,a;return e.split(`,`).forEach(function e(o){if(o.indexOf(`+`)!==-1)for(var s=+o;s--;)e(a);else{a=o;var c=o.split(`>`),l=c[0],u=c[1];l=String.fromCodePoint(n+=parseInt(l,36)),u=String.fromCodePoint(n+=parseInt(u,36)),r.set(l,u),t&&i.set(u,l)}}),{map:r,reverseMap:i}}var h,g,_;function v(){if(!h){var e=m(p.pairs,!0),t=e.map,n=e.reverseMap;h=t,g=n,_=m(p.canonical,!1).map}}function y(e){return v(),h.get(e)||null}function b(e){return v(),g.get(e)||null}function x(e){return v(),_.get(e)||null}var S=n.L,C=n.R,w=n.EN,T=n.ES,E=n.ET,D=n.AN,ee=n.CS,O=n.B,k=n.S,te=n.ON,ne=n.BN,A=n.NSM,re=n.AL,ie=n.LRO,ae=n.RLO,oe=n.LRE,se=n.RLE,ce=n.PDF,le=n.LRI,ue=n.RLI,de=n.FSI,fe=n.PDI;function pe(e,t){for(var n=125,r=new Uint32Array(e.length),l=0;l<e.length;l++)r[l]=d(e[l]);var u=new Map;function f(e,t){var n=r[e];r[e]=t,u.set(n,u.get(n)-1),n&o&&u.set(o,u.get(o)-1),u.set(t,(u.get(t)||0)+1),t&o&&u.set(o,(u.get(o)||0)+1)}for(var p=new Uint8Array(e.length),m=new Map,h=[],g=null,_=0;_<e.length;_++)g||h.push(g={start:_,end:e.length-1,level:t===`rtl`?1:t===`ltr`?0:Qt(_,!1)}),r[_]&O&&(g.end=_,g=null);for(var v=se|oe|ae|ie|i|fe|ce|O,pe=function(e){return e+(e&1?1:2)},me=function(e){return e+(e&1?2:1)},he=0;he<h.length;he++){g=h[he];var j=[{_level:g.level,_override:0,_isolate:0}],M=void 0,ge=0,N=0,_e=0;u.clear();for(var ve=g.start;ve<=g.end;ve++){var ye=r[ve];if(M=j[j.length-1],u.set(ye,(u.get(ye)||0)+1),ye&o&&u.set(o,(u.get(o)||0)+1),ye&v){if(ye&(se|oe)){p[ve]=M._level;var be=(ye===se?me:pe)(M._level);be<=n&&!ge&&!N?j.push({_level:be,_override:0,_isolate:0}):ge||N++}else if(ye&(ae|ie)){p[ve]=M._level;var xe=(ye===ae?me:pe)(M._level);xe<=n&&!ge&&!N?j.push({_level:xe,_override:ye&ae?C:S,_isolate:0}):ge||N++}else if(ye&i){ye&de&&(ye=Qt(ve+1,!0)===1?ue:le),p[ve]=M._level,M._override&&f(ve,M._override);var Se=(ye===ue?me:pe)(M._level);Se<=n&&ge===0&&N===0?(_e++,j.push({_level:Se,_override:0,_isolate:1,_isolInitIndex:ve})):ge++}else if(ye&fe){if(ge>0)ge--;else if(_e>0){for(N=0;!j[j.length-1]._isolate;)j.pop();var Ce=j[j.length-1]._isolInitIndex;Ce!=null&&(m.set(Ce,ve),m.set(ve,Ce)),j.pop(),_e--}M=j[j.length-1],p[ve]=M._level,M._override&&f(ve,M._override)}else ye&ce?(ge===0&&(N>0?N--:!M._isolate&&j.length>1&&(j.pop(),M=j[j.length-1])),p[ve]=M._level):ye&O&&(p[ve]=g.level)}else p[ve]=M._level,M._override&&ye!==ne&&f(ve,M._override)}for(var we=[],Te=null,Ee=g.start;Ee<=g.end;Ee++){var De=r[Ee];if(!(De&s)){var Oe=p[Ee],ke=De&i,Ae=De===fe;Te&&Oe===Te._level?(Te._end=Ee,Te._endsWithIsolInit=ke):we.push(Te={_start:Ee,_end:Ee,_level:Oe,_startsWithPDI:Ae,_endsWithIsolInit:ke})}}for(var je=[],Me=0;Me<we.length;Me++){var Ne=we[Me];if(!Ne._startsWithPDI||Ne._startsWithPDI&&!m.has(Ne._start)){for(var Pe=[Te=Ne],Fe=void 0;Te&&Te._endsWithIsolInit&&(Fe=m.get(Te._end))!=null;)for(var Ie=Me+1;Ie<we.length;Ie++)if(we[Ie]._start===Fe){Pe.push(Te=we[Ie]);break}for(var Le=[],Re=0;Re<Pe.length;Re++)for(var ze=Pe[Re],Be=ze._start;Be<=ze._end;Be++)Le.push(Be);for(var Ve=p[Le[0]],He=g.level,Ue=Le[0]-1;Ue>=0;Ue--)if(!(r[Ue]&s)){He=p[Ue];break}var We=Le[Le.length-1],Ge=p[We],Ke=g.level;if(!(r[We]&i)){for(var qe=We+1;qe<=g.end;qe++)if(!(r[qe]&s)){Ke=p[qe];break}}je.push({_seqIndices:Le,_sosType:Math.max(He,Ve)%2?C:S,_eosType:Math.max(Ke,Ge)%2?C:S})}}for(var P=0;P<je.length;P++){var Je=je[P],F=Je._seqIndices,Ye=Je._sosType,I=Je._eosType,L=p[F[0]]&1?C:S;if(u.get(A))for(var R=0;R<F.length;R++){var Xe=F[R];if(r[Xe]&A){for(var Ze=Ye,Qe=R-1;Qe>=0;Qe--)if(!(r[F[Qe]]&s)){Ze=r[F[Qe]];break}f(Xe,Ze&(i|fe)?te:Ze)}}if(u.get(w))for(var z=0;z<F.length;z++){var $e=F[z];if(r[$e]&w)for(var et=z-1;et>=-1;et--){var tt=et===-1?Ye:r[F[et]];if(tt&a){tt===re&&f($e,D);break}}}if(u.get(re))for(var nt=0;nt<F.length;nt++){var rt=F[nt];r[rt]&re&&f(rt,C)}if(u.get(T)||u.get(ee))for(var it=1;it<F.length-1;it++){var at=F[it];if(r[at]&(T|ee)){for(var ot=0,st=0,B=it-1;B>=0&&(ot=r[F[B]],ot&s);B--);for(var ct=it+1;ct<F.length&&(st=r[F[ct]],st&s);ct++);ot===st&&(r[at]===T?ot===w:ot&(w|D))&&f(at,ot)}}if(u.get(w)){for(var lt=0;lt<F.length;lt++)if(r[F[lt]]&w){for(var ut=lt-1;ut>=0&&r[F[ut]]&(E|s);ut--)f(F[ut],w);for(lt++;lt<F.length&&r[F[lt]]&(E|s|w);lt++)r[F[lt]]!==w&&f(F[lt],w)}}if(u.get(E)||u.get(T)||u.get(ee))for(var dt=0;dt<F.length;dt++){var ft=F[dt];if(r[ft]&(E|T|ee)){f(ft,te);for(var pt=dt-1;pt>=0&&r[F[pt]]&s;pt--)f(F[pt],te);for(var mt=dt+1;mt<F.length&&r[F[mt]]&s;mt++)f(F[mt],te)}}if(u.get(w))for(var ht=0,gt=Ye;ht<F.length;ht++){var _t=F[ht],vt=r[_t];vt&w?gt===S&&f(_t,S):vt&a&&(gt=vt)}if(u.get(o)){for(var yt=C|w|D,bt=yt|S,xt=[],St=[],Ct=0;Ct<F.length;Ct++)if(r[F[Ct]]&o){var wt=e[F[Ct]],Tt=void 0;if(y(wt)!==null){if(St.length<63)St.push({char:wt,seqIndex:Ct});else break}else if((Tt=b(wt))!==null)for(var Et=St.length-1;Et>=0;Et--){var Dt=St[Et].char;if(Dt===Tt||Dt===b(x(wt))||y(x(Dt))===wt){xt.push([St[Et].seqIndex,Ct]),St.length=Et;break}}}xt.sort(function(e,t){return e[0]-t[0]});for(var Ot=0;Ot<xt.length;Ot++){for(var kt=xt[Ot],At=kt[0],jt=kt[1],Mt=!1,Nt=0,Pt=At+1;Pt<jt;Pt++){var Ft=F[Pt];if(r[Ft]&bt){Mt=!0;var It=r[Ft]&yt?C:S;if(It===L){Nt=It;break}}}if(Mt&&!Nt){Nt=Ye;for(var Lt=At-1;Lt>=0;Lt--){var Rt=F[Lt];if(r[Rt]&bt){var zt=r[Rt]&yt?C:S;Nt=zt===L?L:zt;break}}}if(Nt){if(r[F[At]]=r[F[jt]]=Nt,Nt!==L){for(var Bt=At+1;Bt<F.length;Bt++)if(!(r[F[Bt]]&s)){d(e[F[Bt]])&A&&(r[F[Bt]]=Nt);break}}if(Nt!==L){for(var V=jt+1;V<F.length;V++)if(!(r[F[V]]&s)){d(e[F[V]])&A&&(r[F[V]]=Nt);break}}}}for(var Vt=0;Vt<F.length;Vt++)if(r[F[Vt]]&o){for(var Ht=Vt,Ut=Vt,Wt=Ye,Gt=Vt-1;Gt>=0;Gt--)if(r[F[Gt]]&s)Ht=Gt;else{Wt=r[F[Gt]]&yt?C:S;break}for(var Kt=I,H=Vt+1;H<F.length;H++)if(r[F[H]]&(o|s))Ut=H;else{Kt=r[F[H]]&yt?C:S;break}for(var qt=Ht;qt<=Ut;qt++)r[F[qt]]=Wt===Kt?Wt:L;Vt=Ut}}}for(var Jt=g.start;Jt<=g.end;Jt++){var Yt=p[Jt],Xt=r[Jt];if(Yt&1?Xt&(S|w|D)&&p[Jt]++:Xt&C?p[Jt]++:Xt&(D|w)&&(p[Jt]+=2),Xt&s&&(p[Jt]=Jt===0?g.level:p[Jt-1]),Jt===g.end||d(e[Jt])&(k|O))for(var Zt=Jt;Zt>=0&&d(e[Zt])&c;Zt--)p[Zt]=g.level}}return{levels:p,paragraphs:h};function Qt(t,n){for(var a=t;a<e.length;a++){var o=r[a];if(o&(C|re))return 1;if(o&(O|S)||n&&o===fe)return 0;if(o&i){var s=$t(a);a=s===-1?e.length:s}}return 0}function $t(t){for(var n=1,a=t+1;a<e.length;a++){var o=r[a];if(o&O)break;if(o&fe){if(--n===0)return a}else o&i&&n++}return-1}}var me=`14>1,j>2,t>2,u>2,1a>g,2v3>1,1>1,1ge>1,1wd>1,b>1,1j>1,f>1,ai>3,-2>3,+1,8>1k0,-1jq>1y7,-1y6>1hf,-1he>1h6,-1h5>1ha,-1h8>1qi,-1pu>1,6>3u,-3s>7,6>1,1>1,f>1,1>1,+2,3>1,1>1,+13,4>1,1>1,6>1eo,-1ee>1,3>1mg,-1me>1mk,-1mj>1mi,-1mg>1mi,-1md>1,1>1,+2,1>10k,-103>1,1>1,4>1,5>1,1>1,+10,3>1,1>8,-7>8,+1,-6>7,+1,a>1,1>1,u>1,u6>1,1>1,+5,26>1,1>1,2>1,2>2,8>1,7>1,4>1,1>1,+5,b8>1,1>1,+3,1>3,-2>1,2>1,1>1,+2,c>1,3>1,1>1,+2,h>1,3>1,a>1,1>1,2>1,3>1,1>1,d>1,f>1,3>1,1a>1,1>1,6>1,7>1,13>1,k>1,1>1,+19,4>1,1>1,+2,2>1,1>1,+18,m>1,a>1,1>1,lk>1,1>1,4>1,2>1,f>1,3>1,1>1,+3,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,6>1,4j>1,j>2,t>2,u>2,2>1,+1`,he;function j(){if(!he){var e=m(me,!0),t=e.map;e.reverseMap.forEach(function(e,n){t.set(n,e)}),he=t}}function M(e){return j(),he.get(e)||null}function ge(e,t,n,r){var i=e.length;n=Math.max(0,n==null?0:+n),r=Math.min(i-1,r==null?i-1:+r);for(var a=new Map,o=n;o<=r;o++)if(t[o]&1){var s=M(e[o]);s!==null&&a.set(o,s)}return a}function N(e,t,n,r){var i=e.length;n=Math.max(0,n==null?0:+n),r=Math.min(i-1,r==null?i-1:+r);var a=[];return t.paragraphs.forEach(function(i){var o=Math.max(n,i.start),s=Math.min(r,i.end);if(o<s){for(var l=t.levels.slice(o,s+1),u=s;u>=o&&d(e[u])&c;u--)l[u]=i.level;for(var f=i.level,p=1/0,m=0;m<l.length;m++){var h=l[m];h>f&&(f=h),h<p&&(p=h|1)}for(var g=f;g>=p;g--)for(var _=0;_<l.length;_++)if(l[_]>=g){for(var v=_;_+1<l.length&&l[_+1]>=g;)_++;_>v&&a.push([v+o,_+o])}}}),a}function _e(e,t,n,r){var i=ve(e,t,n,r),a=[].concat(e);return i.forEach(function(n,r){a[r]=(t.levels[n]&1?M(e[n]):null)||e[n]}),a.join(``)}function ve(e,t,n,r){for(var i=N(e,t,n,r),a=[],o=0;o<e.length;o++)a[o]=o;return i.forEach(function(e){for(var t=e[0],n=e[1],r=a.slice(t,n+1),i=r.length;i--;)a[n-i]=r[i]}),a}return e.closingToOpeningBracket=b,e.getBidiCharType=d,e.getBidiCharTypeName=f,e.getCanonicalBracket=x,e.getEmbeddingLevels=pe,e.getMirroredCharacter=M,e.getMirroredCharactersMap=ge,e.getReorderSegments=N,e.getReorderedIndices=ve,e.getReorderedString=_e,e.openingToClosingBracket=y,Object.defineProperty(e,\"__esModule\",{value:!0}),e})({})}var Xm=Ym(),Zm=/[\\u061c\\u200e\\u200f\\u202a-\\u202e\\u2066-\\u2069]/,Qm=new Set([`WS`,`FSI`,`LRI`,`RLI`,`PDI`]),$m=new Set([`S`,`B`]);function eh(e,t,n,r){let i=[],a=n;for(let o of Dm(e.slice(n,r)))i.push({index:a,text:o,level:t[a]}),a+=o.length;return i}function th(e,t){let n=!0;for(let r=e.length-1;r>=0;r--){let i=Xm.getBidiCharTypeName(e[r].text[0]);$m.has(i)?(e[r].level=t,n=!0):n&&Qm.has(i)?e[r].level=t:n=!1}}function nh(e,t){let n=t,r=1/0;for(let{level:t}of e)t>n&&(n=t),(t|1)<r&&(r=t|1);let i=e.slice();for(let e=n;e>=r;e--)for(let t=0;t<i.length;t++){if(i[t].level<e)continue;let n=t;for(;n+1<i.length&&i[n+1].level>=e;)n++;for(let e=t,r=n;e<r;e++,r--)[i[e],i[r]]=[i[r],i[e]];t=n}return i}function rh(e){return e.level%2==0?e.text:Xm.getMirroredCharacter(e.text)??e.text}function ih(e,t){return e.find(e=>t>=e.start&&t<=e.end)?.level??0}function ah(e,t,n,r,i){let a=eh(e,t,r,i);th(a,n);let o=``,s=[];for(let e of nh(a,n)){if(Zm.test(e.text))continue;let t=rh(e);o+=t,s.push(...Array(t.length).fill(e.index))}return{text:o,sourceIndices:s}}function oh(e,t){let n=t.filter(t=>t>0&&t<e.length),r=[...new Set([0,...n,e.length])].sort((e,t)=>e-t),i=[];for(let e=0;e+1<r.length;e++)i.push([r[e],r[e+1]]);return i}function sh(e,t){let{levels:n,paragraphs:r}=Xm.getEmbeddingLevels(e);return oh(e,t.concat(r.map(e=>e.start))).map(([t,i])=>ah(e,n,ih(r,t),t,i))}function ch(e,t){return sh(e,t).map(e=>e.text)}function lh(e,t,n){return sh(e,n).map(e=>[e.text,e.sourceIndices.map(e=>t[e]??0)])}var uh=4294967296,dh=1/uh,fh=typeof TextDecoder>`u`?null:new TextDecoder(`utf-8`),ph=class{constructor(e){this.buf=ArrayBuffer.isView(e)?e:new Uint8Array(e),this.dataView=new DataView(this.buf.buffer,this.buf.byteOffset,this.buf.byteLength),this.pos=0,this.type=0,this._valueStart=-1,this.length=this.buf.length}readFields(e,t,n=this.length){let r;for(;r=this.nextField(n);)e(r,t,this);return t}readMessage(e,t){return this.readFields(e,t,this.readVarint()+this.pos)}readFixed32(){let e=this.dataView.getUint32(this.pos,!0);return this.pos+=4,e}readSFixed32(){let e=this.dataView.getInt32(this.pos,!0);return this.pos+=4,e}readFixed64(){let e=this.dataView.getUint32(this.pos,!0)+this.dataView.getUint32(this.pos+4,!0)*uh;return this.pos+=8,e}readSFixed64(){let e=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*uh;return this.pos+=8,e}readFloat(){let e=this.dataView.getFloat32(this.pos,!0);return this.pos+=4,e}readDouble(){let e=this.dataView.getFloat64(this.pos,!0);return this.pos+=8,e}readVarint(e){let t=this.buf,n=t[this.pos++];if(n<128)return n;let r=n&127,i;return i=t[this.pos++],r|=(i&127)<<7,i<128||(i=t[this.pos++],r|=(i&127)<<14,i<128)||(i=t[this.pos++],r|=(i&127)<<21,i<128)?r:(i=t[this.pos],r|=(i&15)<<28,hh(r,e,this))}readSVarint(){let e=this.readVarint();return e%2==1?(e+1)/-2:e/2}readBoolean(){return!!this.readVarint()}readString(){let e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&fh?fh.decode(this.buf.subarray(t,e)):Ah(this.buf,t,e)}readBytes(){let e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t}readPackedVarint(e=[],t){let n=this.readPackedEnd();for(;this.pos<n;)e.push(this.readVarint(t));return e}readPackedSVarint(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSVarint());return e}readPackedBoolean(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readBoolean());return e}readPackedFloat(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFloat());return e}readPackedDouble(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readDouble());return e}readPackedFixed32(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFixed32());return e}readPackedSFixed32(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSFixed32());return e}readPackedFixed64(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFixed64());return e}readPackedSFixed64(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSFixed64());return e}readPackedEnd(){return this.type===2?this.readVarint()+this.pos:this.pos+1}nextField(e=this.length){if(this.pos===this._valueStart&&this.skip(this.type),this.pos>=e)return 0;let t=this.readVarint();return this.type=t&7,this._valueStart=this.pos,t>>>3}skip(e){let t=e&7;if(t===0)for(;this.buf[this.pos++]>127;);else if(t===2)this.pos=this.readVarint()+this.pos;else if(t===5)this.pos+=4;else if(t===1)this.pos+=8;else throw Error(`Unimplemented type: ${t}`)}},mh=class{constructor(e=new Uint8Array(16)){this.buf=ArrayBuffer.isView(e)?e:new Uint8Array(e),this.dataView=new DataView(this.buf.buffer,this.buf.byteOffset,this.buf.byteLength),this.pos=0,this.length=this.buf.length}writeTag(e,t){this.writeVarint(e<<3|t)}realloc(e){let t=this.length||16;for(;t<this.pos+e;)t*=2;if(t!==this.length){let e=new Uint8Array(t);e.set(this.buf),this.buf=e,this.dataView=new DataView(e.buffer),this.length=t}}finish(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)}writeFixed32(e){this.realloc(4),this.dataView.setInt32(this.pos,e,!0),this.pos+=4}writeSFixed32(e){this.realloc(4),this.dataView.setInt32(this.pos,e,!0),this.pos+=4}writeFixed64(e){this.realloc(8),this.dataView.setInt32(this.pos,e&-1,!0),this.dataView.setInt32(this.pos+4,Math.floor(e*dh),!0),this.pos+=8}writeSFixed64(e){this.realloc(8),this.dataView.setInt32(this.pos,e&-1,!0),this.dataView.setInt32(this.pos+4,Math.floor(e*dh),!0),this.pos+=8}writeVarint(e){if(e=+e||0,e>=0&&e<128){this.pos>=this.length&&this.realloc(1),this.buf[this.pos++]=e;return}if(e>268435455||e<0){_h(e,this);return}this.realloc(4),this.buf[this.pos++]=e&127|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=(e>>>=7)&127|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=(e>>>=7)&127|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=e>>>7&127)))}writeSVarint(e){this.writeVarint(e<0?-e*2-1:e*2)}writeBoolean(e){this.writeVarint(+e)}writeString(e){e=String(e),this.realloc(e.length*4),this.pos++;let t=this.pos;this.pos=jh(this.buf,e,this.pos);let n=this.pos-t;n>=128&&bh(t,n,this),this.pos=t-1,this.writeVarint(n),this.pos+=n}writeFloat(e){this.realloc(4),this.dataView.setFloat32(this.pos,e,!0),this.pos+=4}writeDouble(e){this.realloc(8),this.dataView.setFloat64(this.pos,e,!0),this.pos+=8}writeBytes(e){let t=e.length;this.writeVarint(t),this.realloc(t),this.buf.set(e,this.pos),this.pos+=t}writeRawMessage(e,t){this.pos++;let n=this.pos;e(t,this);let r=this.pos-n;r>=128&&bh(n,r,this),this.pos=n-1,this.writeVarint(r),this.pos+=r}writeMessage(e,t,n){this.writeTag(e,2),this.writeRawMessage(t,n)}writePackedVarint(e,t){t.length&&this.writeMessage(e,xh,t)}writePackedSVarint(e,t){t.length&&this.writeMessage(e,Sh,t)}writePackedBoolean(e,t){t.length&&this.writeMessage(e,Th,t)}writePackedFloat(e,t){t.length&&this.writeMessage(e,Ch,t)}writePackedDouble(e,t){t.length&&this.writeMessage(e,wh,t)}writePackedFixed32(e,t){t.length&&this.writeMessage(e,Eh,t)}writePackedSFixed32(e,t){t.length&&this.writeMessage(e,Dh,t)}writePackedFixed64(e,t){t.length&&this.writeMessage(e,Oh,t)}writePackedSFixed64(e,t){t.length&&this.writeMessage(e,kh,t)}writeBytesField(e,t){this.writeTag(e,2),this.writeBytes(t)}writeFixed32Field(e,t){this.writeTag(e,5),this.writeFixed32(t)}writeSFixed32Field(e,t){this.writeTag(e,5),this.writeSFixed32(t)}writeFixed64Field(e,t){this.writeTag(e,1),this.writeFixed64(t)}writeSFixed64Field(e,t){this.writeTag(e,1),this.writeSFixed64(t)}writeVarintField(e,t){this.writeTag(e,0),this.writeVarint(t)}writeSVarintField(e,t){this.writeTag(e,0),this.writeSVarint(t)}writeStringField(e,t){this.writeTag(e,2),this.writeString(t)}writeFloatField(e,t){this.writeTag(e,5),this.writeFloat(t)}writeDoubleField(e,t){this.writeTag(e,1),this.writeDouble(t)}writeBooleanField(e,t){this.writeVarintField(e,+t)}};function hh(e,t,n){let r=n.buf,i,a;if(a=r[n.pos++],i=(a&112)>>4,a<128||(a=r[n.pos++],i|=(a&127)<<3,a<128)||(a=r[n.pos++],i|=(a&127)<<10,a<128)||(a=r[n.pos++],i|=(a&127)<<17,a<128)||(a=r[n.pos++],i|=(a&127)<<24,a<128)||(a=r[n.pos++],i|=(a&1)<<31,a<128))return gh(e,i,t);throw Error(`Expected varint not more than 10 bytes`)}function gh(e,t,n){return n?t*4294967296+(e>>>0):(t>>>0)*4294967296+(e>>>0)}function _h(e,t){let n,r;if(e>=0?(n=e%4294967296|0,r=e/4294967296|0):(n=~(-e%4294967296),r=~(-e/4294967296),n^4294967295?n=n+1|0:(n=0,r=r+1|0)),e>=0x10000000000000000||e<-0x10000000000000000)throw Error(`Given varint doesn't fit into 10 bytes`);t.realloc(10),vh(n,r,t),yh(r,t)}function vh(e,t,n){n.buf[n.pos++]=e&127|128,e>>>=7,n.buf[n.pos++]=e&127|128,e>>>=7,n.buf[n.pos++]=e&127|128,e>>>=7,n.buf[n.pos++]=e&127|128,e>>>=7,n.buf[n.pos]=e&127}function yh(e,t){let n=(e&7)<<4;t.buf[t.pos++]|=n|((e>>>=3)?128:0),e&&(t.buf[t.pos++]=e&127|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=e&127|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=e&127|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=e&127|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=e&127)))))}function bh(e,t,n){let r=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(Math.LN2*7));n.realloc(r),n.buf.copyWithin(e+r,e,n.pos)}function xh(e,t){let n=e.length,r=t.buf,i=t.pos,a=t.length;for(let o=0;o<n;o++){let n=e[o];if(n<0||i+10>a){t.pos=i,t.writeVarint(n),r=t.buf,i=t.pos,a=t.length;continue}for(;n>127;)r[i++]=n%128|128,n=Math.floor(n/128);r[i++]=n}t.pos=i}function Sh(e,t){for(let n=0;n<e.length;n++)t.writeSVarint(e[n])}function Ch(e,t){for(let n=0;n<e.length;n++)t.writeFloat(e[n])}function wh(e,t){for(let n=0;n<e.length;n++)t.writeDouble(e[n])}function Th(e,t){for(let n=0;n<e.length;n++)t.writeBoolean(e[n])}function Eh(e,t){for(let n=0;n<e.length;n++)t.writeFixed32(e[n])}function Dh(e,t){for(let n=0;n<e.length;n++)t.writeSFixed32(e[n])}function Oh(e,t){for(let n=0;n<e.length;n++)t.writeFixed64(e[n])}function kh(e,t){for(let n=0;n<e.length;n++)t.writeSFixed64(e[n])}function Ah(e,t,n){let r=``,i=t;for(;i<n;){let t=e[i],a=null,o=t>239?4:t>223?3:t>191?2:1;if(i+o>n)break;let s,c,l;o===1?t<128&&(a=t):o===2?(s=e[i+1],(s&192)==128&&(a=(t&31)<<6|s&63,a<=127&&(a=null))):o===3?(s=e[i+1],c=e[i+2],(s&192)==128&&(c&192)==128&&(a=(t&15)<<12|(s&63)<<6|c&63,(a<=2047||a>=55296&&a<=57343)&&(a=null))):o===4&&(s=e[i+1],c=e[i+2],l=e[i+3],(s&192)==128&&(c&192)==128&&(l&192)==128&&(a=(t&15)<<18|(s&63)<<12|(c&63)<<6|l&63,(a<=65535||a>=1114112)&&(a=null))),a===null?(a=65533,o=1):a>65535&&(a-=65536,r+=String.fromCharCode(a>>>10&1023|55296),a=56320|a&1023),r+=String.fromCharCode(a),i+=o}return r}function jh(e,t,n){for(let r=0,i,a;r<t.length;r++){if(i=t.charCodeAt(r),i>55295&&i<57344){if(a){if(i<56320){e[n++]=239,e[n++]=191,e[n++]=189,a=i;continue}i=a-55296<<10|i-56320|65536,a=null}else{i>56319||r+1===t.length?(e[n++]=239,e[n++]=191,e[n++]=189):a=i;continue}}else a&&=(e[n++]=239,e[n++]=191,e[n++]=189,null);i<128?e[n++]=i:(i<2048?e[n++]=i>>6|192:(i<65536?e[n++]=i>>12|224:(e[n++]=i>>18|240,e[n++]=i>>12&63|128),e[n++]=i>>6&63|128),e[n++]=i&63|128)}return n}function Mh(e){return typeof e?.renderWithWebGL==`function`}function Nh(e){let t=0,n=0;for(let r of e)t+=r.w*r.h,n=Math.max(n,r.w);e.sort((e,t)=>t.h-e.h);let r=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/.95)),n),h:1/0}],i=0,a=0;for(let t of e)for(let e=r.length-1;e>=0;e--){let n=r[e];if(!(t.w>n.w||t.h>n.h)){if(t.x=n.x,t.y=n.y,a=Math.max(a,t.y+t.h),i=Math.max(i,t.x+t.w),t.w===n.w&&t.h===n.h){let t=r.pop();t&&e<r.length&&(r[e]=t)}else t.h===n.h?(n.x+=t.w,n.w-=t.w):t.w===n.w?(n.y+=t.h,n.h-=t.h):(r.push({x:n.x+t.w,y:n.y,w:n.w-t.w,h:t.h}),n.y+=t.h,n.h-=t.h);break}}return{w:i,h:a,fill:t/(i*a)||0}}var Ph=class{constructor(e,{pixelRatio:t,version:n,isWebGLImage:r=!1,stretchX:i,stretchY:a,content:o,textFitWidth:s,textFitHeight:c}){this.paddedRect=e,this.pixelRatio=t,this.stretchX=i,this.stretchY=a,this.content=o,this.version=n,this.needsFirstWebGLRender=r,this.textFitWidth=s,this.textFitHeight=c}get tl(){return[this.paddedRect.x+1,this.paddedRect.y+1]}get br(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]}get tlbr(){return this.tl.concat(this.br)}get displaySize(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]}},Fh=class{constructor(e,t){let n={},r={};this.haveRenderCallbacks=[],this.patchedUpdateVersion=-1;let i=[];this.addImages(e,n,i),this.addImages(t,r,i);let{w:a,h:o}=Nh(i),s=new wl({width:a||1,height:o||1});for(let t in e){let r=e[t];if(r.isWebGLImage)continue;let i=n[t].paddedRect;wl.copy(r.data,s,{x:0,y:0},{x:i.x+1,y:i.y+1},r.data)}for(let e in t){let n=t[e],i=r[e].paddedRect,a=i.x+1,o=i.y+1,c=n.data.width,l=n.data.height;wl.copy(n.data,s,{x:0,y:0},{x:a,y:o},n.data),wl.copy(n.data,s,{x:0,y:l-1},{x:a,y:o-1},{width:c,height:1}),wl.copy(n.data,s,{x:0,y:0},{x:a,y:o+l},{width:c,height:1}),wl.copy(n.data,s,{x:c-1,y:0},{x:a-1,y:o},{width:1,height:l}),wl.copy(n.data,s,{x:0,y:0},{x:a+c,y:o},{width:1,height:l})}this.image=s,this.iconPositions=n,this.patternPositions=r}addImages(e,t,n){for(let r in e){let i=e[r],a={x:0,y:0,w:i.data.width+2,h:i.data.height+2};n.push(a),t[r]=new Ph(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(r)}}patchUpdatedImages(e,t){if(e.dispatchRenderCallbacks(this.haveRenderCallbacks),this.patchedUpdateVersion!==e.updateVersion){this.patchedUpdateVersion=e.updateVersion;for(let n in this.iconPositions)this.patchUpdatedImage(this.iconPositions[n],e.getImage(n),t);for(let n in this.patternPositions)this.patchUpdatedImage(this.patternPositions[n],e.getImage(n),t)}}patchUpdatedImage(e,t,n){if(!e||!t||!e.needsFirstWebGLRender&&e.version===t.version)return;e.needsFirstWebGLRender=!1,e.version=t.version;let[r,i]=e.tl,a=t.userImage?.data;if(!Mh(a)){n.update(t.data,void 0,{x:r,y:i});return}let{width:o,height:s}=t.data;n.context.setCustomLayerDefaults(),a.renderWithWebGL({gl:n.context.gl,texture:n.texture,x:r,y:i,width:o,height:s}),n.context.setDirty()}};W(`ImagePosition`,Ph),W(`ImageAtlas`,Fh);var Ih=function(e){return e[e.none=0]=`none`,e[e.horizontal=1]=`horizontal`,e[e.vertical=2]=`vertical`,e[e.horizontalOnly=3]=`horizontalOnly`,e}(Ih||{});function Lh(e){for(let t of e)if(t.positionedGlyphs.length!==0)return!1;return!0}function Rh(e,t){let n=[],r=0;for(let i of t)n.push(e.substring(r,i)),r=i;return r<e.length()&&n.push(e.substring(r,e.length())),n}var zh=/^\\p{gc=M}$/u;function Bh(e){let t=[],n=0;for(;n<e.length;){if(!zh.test(e[n])){t.push(n),n++;continue}let r=n;for(;r<e.length&&zh.test(e[r]);)r++;let i=e[r];if(i!==void 0&&Im(i.codePointAt(0))){t.push(r);for(let e=r-1;e>=n;e--)t.push(e);n=r+1}else{for(let e=n;e<r;e++)t.push(e);n=r}}return t}function Vh(e){let t=[],n=0;for(let r of e.graphemes())t.push(...Array(r.length).fill(e.sectionIndex[n])),n++;return t}function Hh(e,t){let n=t.map(t=>e.toCodeUnitIndex(t)),r=Gp.isParsed()?Gp:null;if(e.sections.length===1)return r?r.processBidirectionalText(e.toString(),n).map(t=>Gh(t,e.sections,[...t].map(()=>0))):ch(e.toString(),n).map(t=>Uh([...t],e.sections,[...t].map(()=>0)));let i=Vh(e);return r?r.processStyledBidirectionalText(e.text,i,n).map(([t,n])=>Gh(t,e.sections,n)):lh(e.text,i,n).map(([t,n])=>{let r=[...t];return Uh(r,e.sections,Wh(r).map(e=>n[e]??0))})}function Uh(e,t,n){let r=new Jm(e.join(``),t,[]),i=0;for(let e of r.graphemes())r.sectionIndex.push(n[i]??0),i+=[...e].length;return r}function Wh(e){let t=[],n=0;for(let r of e)t.push(n),n+=r.length;return t}function Gh(e,t,n){let r=[...e],i=Wh(r),a=Bh(r);return Uh(a.map(e=>r[e]),t,a.map(e=>n[i[e]]??0))}function Kh(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m){let h=Jm.fromFeature(e,i);d===2&&h.verticalizePunctuation();let g=h.determineLineBreaks(l,a,t,r,p),_=Lm(h.text)?Hh(h,g):Rh(h,g),v=[],y={positionedLines:v,text:h.toString(),top:u[1],bottom:u[1],left:u[0],right:u[0],writingMode:d,iconsInText:!1,verticalizable:!1};return ag(y,t,n,r,_,o,s,c,d,l,f,m),!Lh(v)&&y}function qh(e){let t=.5,n=.5;switch(e){case`right`:case`top-right`:case`bottom-right`:t=1;break;case`left`:case`top-left`:case`bottom-left`:t=0}switch(e){case`bottom`:case`bottom-right`:case`bottom-left`:n=1;break;case`top`:case`top-right`:case`top-left`:n=0}return{horizontalAlign:t,verticalAlign:n}}function Jh(e,t,n){let r=t.getMaxScale()*24,{maxImageWidth:i,maxImageHeight:a}=t.getMaxImageSize(e),o=Math.max(r,a*n);return{verticalLineContentWidth:Math.max(r,i*n),horizontalLineContentHeight:o}}function Yh(e){switch(e){case`top`:return 0;case`center`:return .5;default:return 1}}function Xh(e,t,n,r){if(e?.rect)return e;let i=t[n.fontStack]?.default?.[r];return i?{rect:null,metrics:i.metrics}:null}function Zh(e,t,n){return!(e===1||!t&&!Yp(n)||t&&(Am(n)||Fm(n)))}function Qh(e){return/\\p{Nd}/u.test(String.fromCodePoint(e))}function $h(e){return/\\p{Lu}/u.test(String.fromCodePoint(e))}function eg(e){return/[\\p{P}\\p{S}]/u.test(String.fromCodePoint(e))}function tg(e){let t=e.some(Qh)&&e.every(e=>Qh(e)||eg(e)),n=e.length<=3&&e.every(e=>$h(e)||Qh(e));return t||n}function ng(e){return(Qh(e)||$h(e))&&!Fm(e)}function rg(e,t){let n=!1;for(let r=0;r<e.length;r++){if(t[r])continue;let i=Rm[e[r]];i&&(r===0||t[r-1])&&(r===e.length-1||t[r+1])&&(e[r]=i,t[r]=!0,n=!0)}return n}function ig(e){let t=e.graphemes().slice(),n=t.map(e=>e.codePointAt(0)),r=n.map(Yp),i=t=>!r[t]&&!Am(n[t])&&!(`imageName`in e.getSection(t));for(let e=0;e<n.length;e++){if(!i(e))continue;let t=e;for(;t+1<n.length&&i(t+1);)t++;if(tg(n.slice(e,t+1)))for(let i=e;i<=t;i++)r[i]=ng(n[i]);e=t}return rg(t,r)&&(e.text=t.join(``),e._graphemes=null),r}function ag(e,t,n,r,i,a,o,s,c,l,u,d){let f=0,p=0,m=0,h=0,g=s===`right`?1:s===`left`?0:.5,_=24/d,v=0;for(let o of i){o.trim();let i=o.getMaxScale(),s={positionedGlyphs:[],lineOffset:0};e.positionedLines[v]=s;let d=s.positionedGlyphs,y=0;if(!o.length()){p+=a,++v;continue}let b=Jh(r,o,_),x=c===2&&!u?ig(o):null,S=o.graphemes();for(let a=0;a<S.length;a++){let s=o.getSection(a),m=S[a],h=m.codePointAt(0),g=x?x[a]:Zh(c,u,h),v=`fontStack`in s&&km(m)&&!t[s.fontStack]?.default?.[m]?[...m]:[m];for(let c of v){let u={glyph:c.codePointAt(0),grapheme:c,imageName:null,x:f,y:p+-17,vertical:g,scale:1,fontStack:``,sectionIndex:o.getSectionIndex(a),metrics:null,rect:null},m;if(`fontStack`in s){if(m=og(s,c,g,b,t,n),!m)continue;u.fontStack=s.fontStack}else{if(e.iconsInText=!0,s.scale*=_,m=sg(s,g,i,b,r),!m)continue;y=Math.max(y,m.imageOffset),u.imageName=s.imageName}let{rect:h,metrics:v,baselineOffset:x}=m;if(u.y+=x,u.scale=s.scale,u.metrics=v,u.rect=h,d.push(u),!g)f+=v.advance*s.scale+l;else{e.verticalizable=!0;let t=`imageName`in s?v.advance:24;f+=t*s.scale+l}}}if(d.length!==0){let e=f-l;m=Math.max(e,m),cg(d,0,d.length-1,g)}f=0;let C=(i-1)*24;s.lineOffset=Math.max(y,C);let w=a*i+y;p+=w,h=Math.max(w,h),++v}let{horizontalAlign:y,verticalAlign:b}=qh(o);lg(e.positionedLines,g,y,b,m,h,a,p,i.length),e.top+=-b*p,e.bottom=e.top+p,e.left+=-y*m,e.right=e.left+m}function og(e,t,n,r,i,a){let o=a[e.fontStack]?.default?.[t],s=Xh(o,i,e,t);if(s===null)return null;let c;if(n)c=r.verticalLineContentWidth-e.scale*24;else{let t=Yh(e.verticalAlign);c=(r.horizontalLineContentHeight-e.scale*24)*t}return{rect:s.rect,metrics:s.metrics,baselineOffset:c}}function sg(e,t,n,r,i){let a=i[e.imageName];if(!a)return null;let o=a.paddedRect,s=a.displaySize,c={width:s[0],height:s[1],left:1,top:-3,advance:t?s[1]:s[0]},l;if(t)l=r.verticalLineContentWidth-s[1]*e.scale;else{let t=Yh(e.verticalAlign);l=(r.horizontalLineContentHeight-s[1]*e.scale)*t}let u=(t?s[0]:s[1])*e.scale-24*n;return{rect:o,metrics:c,baselineOffset:l,imageOffset:u}}function cg(e,t,n,r){if(r===0)return;let i=e[n],a=i.metrics.advance*i.scale,o=(e[n].x+a)*r;for(let r=t;r<=n;r++)e[r].x-=o}function lg(e,t,n,r,i,a,o,s,c){let l=(t-n)*i,u=0;u=a===o?-r*c*o+.5*o:-s*r- -17;for(let t of e)for(let e of t.positionedGlyphs)e.x+=l,e.y+=u}function ug(e,t,n){let{horizontalAlign:r,verticalAlign:i}=qh(n),a=t[0],o=t[1],s=a-e.displaySize[0]*r,c=s+e.displaySize[0],l=o-e.displaySize[1]*i;return{image:e,top:l,bottom:l+e.displaySize[1],left:s,right:c}}function dg(e){let t=e.left,n=e.top,r=e.right-t,i=e.bottom-n,a=e.image.content[2]-e.image.content[0],o=e.image.content[3]-e.image.content[1],s=e.image.textFitWidth??`stretchOrShrink`,c=e.image.textFitHeight??`stretchOrShrink`,l=a/o;if(c===`proportional`){if(s===`stretchOnly`&&r/i<l||s===`proportional`){let e=Math.ceil(i*l);t*=e/r,r=e}}else if(s===`proportional`&&c===`stretchOnly`&&l!==0&&r/i>l){let e=Math.ceil(r/l);n*=e/i,i=e}return{x1:t,y1:n,x2:t+r,y2:n+i}}function fg(e,t,n,r,i,a){let o=e.image,s;if(o.content){let e=o.content,t=o.pixelRatio||1;s=[e[0]/t,e[1]/t,o.displaySize[0]-e[2]/t,o.displaySize[1]-e[3]/t]}let c=t.left*a,l=t.right*a,u,d,f,p;n===`width`||n===`both`?(p=i[0]+c-r[3],d=i[0]+l+r[1]):(p=i[0]+(c+l-o.displaySize[0])/2,d=p+o.displaySize[0]);let m=t.top*a,h=t.bottom*a;return n===`height`||n===`both`?(u=i[1]+m-r[0],f=i[1]+h+r[2]):(u=i[1]+(m+h-o.displaySize[1])/2,f=u+o.displaySize[1]),{image:o,top:u,right:d,bottom:f,left:p,collisionPadding:s}}var pg=32640;function mg(e,t){let{expression:n}=t;if(n.kind===`constant`)return{kind:`constant`,layoutSize:n.evaluate(new G(e+1))};if(n.kind===`source`)return{kind:`source`};if(n.kind===`composite`){let{minZoom:t,maxZoom:r}=hg(n.zoomStops,e);return{kind:`composite`,minZoom:t,maxZoom:r,interpolationType:n.interpolationType}}{let t=gg(n),r=n.evaluate(new G(e+1));return{kind:`camera`,zoomStops:n.zoomStops,sizes:t,layoutSize:r,interpolationType:n.interpolationType}}}function hg(e,t){let n=0;for(;n<e.length&&e[n]<=t;)n++;n=Math.max(0,n-1);let r=n;for(;r<e.length&&e[r]<t+1;)r++;return r=Math.min(e.length-1,r),{minZoom:e[n],maxZoom:e[r]}}function gg(e){return e.zoomStops.map(t=>e.evaluate(new G(t===-1/0?e.zoomStops[1]-1:t)))}var _g=class e extends l{constructor(e,t,n,r){super(e,t),this.angle=n,r!==void 0&&(this.segment=r)}clone(){return new e(this.x,this.y,this.angle,this.segment)}};W(`Anchor`,_g);function vg(e,t,n,r,i){if(t.segment===void 0||n===0)return!0;let a=t,o=t.segment+1,s=0;for(;s>-n/2;){if(o--,o<0)return!1;s-=e[o].dist(a),a=e[o]}s+=e[o].dist(e[o+1]),o++;let c=[],l=0;for(;s<n/2;){let t=e[o-1],n=e[o],a=e[o+1];if(!a)return!1;let u=t.angleTo(n)-n.angleTo(a);for(u=Math.abs((u+3*Math.PI)%(Math.PI*2)-Math.PI),c.push({distance:s,angleDelta:u}),l+=u;s-c[0].distance>r;)l-=c.shift().angleDelta;if(l>i)return!1;o++,s+=n.dist(a)}return!0}function yg(e){let t=0;for(let n=0;n<e.length-1;n++)t+=e[n].dist(e[n+1]);return t}function bg(e,t,n){return e?3/5*t*n:0}function xg(e,t){return Math.max(e?e.right-e.left:0,t?t.right-t.left:0)}function Sg(e,t,n,r,i,a){let o=bg(n,i,a),s=xg(n,r)*a,c=0,l=yg(e)/2;for(let n=0;n<e.length-1;n++){let r=e[n],i=e[n+1],a=r.dist(i);if(c+a>l){let u=(l-c)/a,d=new _g(dn.number(r.x,i.x,u),dn.number(r.y,i.y,u),i.angleTo(r),n);return d._round(),!o||vg(e,d,s,o,t)?d:void 0}c+=a}}function Cg(e,t,n,r,i,a,o,s,c){let l=bg(r,a,o),u=xg(r,i),d=u*o,f=e[0].x===0||e[0].x===c||e[0].y===0||e[0].y===c;t-d<t/4&&(t=d+t/4);let p=a*2;return wg(e,f?t/2*s%t:(u/2+p)*o*s%t,t,l,n,d,f,!1,c)}function wg(e,t,n,r,i,a,o,s,c){let l=a/2,u=yg(e),d=0,f=t-n,p=[];for(let t=0;t<e.length-1;t++){let o=e[t],s=e[t+1],m=o.dist(s),h=s.angleTo(o);for(;f+n<d+m;){f+=n;let g=(f-d)/m,_=dn.number(o.x,s.x,g),v=dn.number(o.y,s.y,g);if(_>=0&&_<c&&v>=0&&v<c&&f-l>=0&&f+l<=u){let n=new _g(_,v,h,t);n._round(),(!r||vg(e,n,a,r,i))&&p.push(n)}}d+=m}return!s&&!p.length&&!o&&(p=wg(e,d/2,n,r,i,a,o,!0,c)),p}function Tg(e,t,n,r,i){let a=[];for(let o of e){let e;for(let s=0;s<o.length-1;s++){let c=o[s],u=o[s+1];c.x<t&&u.x<t||(c.x<t?c=new l(t,c.y+(u.y-c.y)*((t-c.x)/(u.x-c.x)))._round():u.x<t&&(u=new l(t,c.y+(u.y-c.y)*((t-c.x)/(u.x-c.x)))._round()),!(c.y<n&&u.y<n)&&(c.y<n?c=new l(c.x+(u.x-c.x)*((n-c.y)/(u.y-c.y)),n)._round():u.y<n&&(u=new l(c.x+(u.x-c.x)*((n-c.y)/(u.y-c.y)),n)._round()),!(c.x>=r&&u.x>=r)&&(c.x>=r?c=new l(r,c.y+(u.y-c.y)*((r-c.x)/(u.x-c.x)))._round():u.x>=r&&(u=new l(r,c.y+(u.y-c.y)*((r-c.x)/(u.x-c.x)))._round()),!(c.y>=i&&u.y>=i)&&(c.y>=i?c=new l(c.x+(u.x-c.x)*((i-c.y)/(u.y-c.y)),i)._round():u.y>=i&&(u=new l(c.x+(u.x-c.x)*((i-c.y)/(u.y-c.y)),i)._round()),(!e||!c.equals(e[e.length-1]))&&(e=[c],a.push(e)),e.push(u)))))}}return a}function Eg(e,t,n,r,i,a){let o=Dg(e,t,n,i,0);return o=Dg(o,t,r,a,1),o}function Dg(e,t,n,r,i){switch(t){case 1:return Og(e,n,r,i);case 2:return Ag(e,n,r,i,!1);case 3:return Ag(e,n,r,i,!0)}return[]}function Og(e,t,n,r){let i=[];for(let a of e)for(let e of a){let a=r===0?e.x:e.y;a>=t&&a<=n&&i.push([e])}return i}function kg(e,t,n,r,i){let a=r===0?jg:Mg,o=[],s=[];for(let c=0;c<e.length-1;c++){let l=e[c],u=e[c+1],d=r===0?l.x:l.y,f=r===0?u.x:u.y,p=!1;d<t?f>t&&o.push(a(l,u,t)):d>n?f<n&&o.push(a(l,u,n)):o.push(l),f<t&&d>=t&&(o.push(a(l,u,t)),p=!0),f>n&&d<=n&&(o.push(a(l,u,n)),p=!0),!i&&p&&(s.push(o),o=[])}let c=e.length-1,u=r===0?e[c].x:e[c].y;return u>=t&&u<=n&&o.push(e[c]),i&&o.length>0&&!o[0].equals(o[o.length-1])&&o.push(new l(o[0].x,o[0].y)),o.length>0&&s.push(o),s}function Ag(e,t,n,r,i){let a=[];for(let o of e){let e=kg(o,t,n,r,i);e.length>0&&a.push(...e)}return a}function jg(e,t,n){let r=(n-e.x)/(t.x-e.x);return new l(n,e.y+(t.y-e.y)*r)}function Mg(e,t,n){let r=(n-e.y)/(t.y-e.y);return new l(e.x+(t.x-e.x)*r,n)}function Ng(e,t,n,r){let i=[],a=e.image,o=a.pixelRatio,s=a.paddedRect.w-2,c=a.paddedRect.h-2,u={x1:e.left,y1:e.top,x2:e.right,y2:e.bottom},d=a.stretchX||[[0,s]],f=a.stretchY||[[0,c]],p=(e,t)=>e+t[1]-t[0],m=d.reduce(p,0),h=f.reduce(p,0),g=s-m,_=c-h,v=0,y=m,b=0,x=h,S=0,C=g,w=0,T=_;if(a.content&&r){let t=a.content,n=t[2]-t[0],r=t[3]-t[1];(a.textFitWidth||a.textFitHeight)&&(u=dg(e)),v=Pg(d,0,t[0]),b=Pg(f,0,t[1]),y=Pg(d,t[0],t[2]),x=Pg(f,t[1],t[3]),S=t[0]-v,w=t[1]-b,C=n-y,T=r-x}let E=u.x1,D=u.y1,ee=u.x2-E,O=u.y2-D,k=(e,r,i,s)=>{let c=Ig(e.stretch-v,y,ee,E),u=Lg(e.fixed-S,C,e.stretch,m),d=Ig(r.stretch-b,x,O,D),f=Lg(r.fixed-w,T,r.stretch,h),p=Ig(i.stretch-v,y,ee,E),g=Lg(i.fixed-S,C,i.stretch,m),_=Ig(s.stretch-b,x,O,D),k=Lg(s.fixed-w,T,s.stretch,h),te=new l(c,d),ne=new l(p,d),A=new l(p,_),re=new l(c,_),ie=new l(u/o,f/o),ae=new l(g/o,k/o),oe=t*Math.PI/180;if(oe){let e=Math.sin(oe),t=Math.cos(oe),n=[t,-e,e,t];te._matMult(n),ne._matMult(n),re._matMult(n),A._matMult(n)}let se=e.stretch+e.fixed,ce=i.stretch+i.fixed,le=r.stretch+r.fixed,ue=s.stretch+s.fixed;return{tl:te,tr:ne,bl:re,br:A,tex:{x:a.paddedRect.x+1+se,y:a.paddedRect.y+1+le,w:ce-se,h:ue-le},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:ie,pixelOffsetBR:ae,minFontScaleX:C/o/ee,minFontScaleY:T/o/O,isSDF:n}};if(!r||!a.stretchX&&!a.stretchY)i.push(k({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:s+1},{fixed:0,stretch:c+1}));else{let e=Fg(d,g,m),t=Fg(f,_,h);for(let n=0;n<e.length-1;n++){let r=e[n],a=e[n+1];for(let e=0;e<t.length-1;e++){let n=t[e],o=t[e+1];i.push(k(r,n,a,o))}}}return i}function Pg(e,t,n){let r=0;for(let i of e)r+=Math.max(t,Math.min(n,i[1]))-Math.max(t,Math.min(n,i[0]));return r}function Fg(e,t,n){let r=[{fixed:-1,stretch:0}];for(let[t,n]of e){let e=r[r.length-1];r.push({fixed:t-e.stretch,stretch:e.stretch}),r.push({fixed:t-e.stretch,stretch:e.stretch+(n-t)})}return r.push({fixed:t+1,stretch:n}),r}function Ig(e,t,n,r){return e/t*n+r}function Lg(e,t,n,r){return e-t*n/r}function Rg(e,t,n,r,i,a,o,s){let c=r.layout.get(`text-rotate`).evaluate(a,{})*Math.PI/180,u=[];for(let e of t.positionedLines)for(let r of e.positionedGlyphs){if(!r.rect)continue;let a=r.rect||{},d=4,f=!0,p=1,m=0,h=(i||s)&&r.vertical,g=r.metrics.advance*r.scale/2;if(s&&t.verticalizable){let t=(r.scale-1)*24,n=(24-r.metrics.width*r.scale)/2;m=e.lineOffset/2-(r.imageName?-n:t)}if(r.imageName){let e=o[r.imageName];f=e.sdf,p=e.pixelRatio,d=1/p}let _=i?[r.x+g,r.y]:[0,0],v=i?[0,0]:[r.x+g+n[0],r.y+n[1]-m],y=[0,0];h&&(y=v,v=[0,0]);let b=r.metrics.isDoubleResolution?2:1,x=(r.metrics.left-d)*r.scale-g+v[0],S=(-r.metrics.top-d)*r.scale+v[1],C=x+a.w/b*r.scale/p,w=S+a.h/b*r.scale/p,T=new l(x,S),E=new l(C,S),D=new l(x,w),ee=new l(C,w);if(h){let e=new l(-g,g- -17),t=-Math.PI/2,n=12-g,i=r.imageName?n:0,a=new l(22-n,-i),o=new l(...y);T._rotateAround(t,e)._add(a)._add(o),E._rotateAround(t,e)._add(a)._add(o),D._rotateAround(t,e)._add(a)._add(o),ee._rotateAround(t,e)._add(a)._add(o)}if(c){let e=Math.sin(c),t=Math.cos(c),n=[t,-e,e,t];T._matMult(n),E._matMult(n),D._matMult(n),ee._matMult(n)}let O=new l(0,0),k=new l(0,0);u.push({tl:T,tr:E,bl:D,br:ee,tex:a,writingMode:t.writingMode,glyphOffset:_,sectionIndex:r.sectionIndex,isSDF:f,pixelOffsetTL:O,pixelOffsetBR:k,minFontScaleX:0,minFontScaleY:0})}return u}var zg=class{constructor(e,t,n,r,i,a,o,s,c,u){if(this.boxStartIndex=e.length,c){let e=a.top,t=a.bottom,n=a.collisionPadding;n&&(e-=n[1],t+=n[3]);let r=t-e;r>0&&(r=Math.max(10,r),this.circleDiameter=r)}else{let c=a.image?.content&&(a.image.textFitWidth||a.image.textFitHeight)?dg(a):{x1:a.left,y1:a.top,x2:a.right,y2:a.bottom};c.y1=c.y1*o-s[0],c.y2=c.y2*o+s[2],c.x1=c.x1*o-s[3],c.x2=c.x2*o+s[1];let d=a.collisionPadding;if(d&&(c.x1-=d[0]*o,c.y1-=d[1]*o,c.x2+=d[2]*o,c.y2+=d[3]*o),u){let e=new l(c.x1,c.y1),t=new l(c.x2,c.y1),n=new l(c.x1,c.y2),r=new l(c.x2,c.y2),i=u*Math.PI/180;e._rotate(i),t._rotate(i),n._rotate(i),r._rotate(i),c.x1=Math.min(e.x,t.x,n.x,r.x),c.x2=Math.max(e.x,t.x,n.x,r.x),c.y1=Math.min(e.y,t.y,n.y,r.y),c.y2=Math.max(e.y,t.y,n.y,r.y)}e.emplaceBack(t.x,t.y,c.x1,c.y1,c.x2,c.y2,n,r,i)}this.boxEndIndex=e.length}},Bg=class{constructor(e=[],t=(e,t)=>e<t?-1:+(e>t)){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:n}=this,r=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(n(r,a)>=0)break;t[e]=a,e=i}t[e]=r}_down(e){let{data:t,compare:n}=this,r=this.length>>1,i=t[e];for(;e<r;){let r=(e<<1)+1,a=r+1;if(a<this.length&&n(t[a],t[r])<0&&(r=a),n(t[r],i)>=0)break;t[e]=t[r],e=r}t[e]=i}};function Vg(e,t=1){let n=ud.fromPoints(e[0]),r=Math.min(n.width(),n.height()),i=r/2,a=new Bg([],Hg),{minX:o,minY:s,maxX:c,maxY:u}=n;if(r===0)return new l(o,s);for(let t=o;t<c;t+=r)for(let n=s;n<u;n+=r)a.push(new Ug(t+i,n+i,i,e));let d=Gg(e),f=d;for(;a.length;){let n=a.pop();(n.d>f.d||!f.d)&&(f=n),!(n.max-f.d<=t)&&(i=n.h/2,a.push(new Ug(n.p.x-i,n.p.y-i,i,e)),a.push(new Ug(n.p.x+i,n.p.y-i,i,e)),a.push(new Ug(n.p.x-i,n.p.y+i,i,e)),a.push(new Ug(n.p.x+i,n.p.y+i,i,e)))}return d.d>0&&f.d-d.d<=t?d.p:f.p}function Hg(e,t){return t.max-e.max}var Ug=class{constructor(e,t,n,r){this.p=new l(e,t),this.h=n,this.d=Wg(this.p,r),this.max=this.d+this.h*Math.SQRT2}};function Wg(e,t){let n=!1,r=1/0;for(let i of t)for(let t=0,a=i.length,o=a-1;t<a;o=t++){let a=i[t],s=i[o];a.y>e.y!=s.y>e.y&&e.x<(s.x-a.x)*(e.y-a.y)/(s.y-a.y)+a.x&&(n=!n),r=Math.min(r,qc(e,a,s))}return(n?1:-1)*Math.sqrt(r)}function Gg(e){let t=0,n=0,r=0,i=e[0];for(let e=0,a=i.length,o=a-1;e<a;o=e++){let a=i[e],s=i[o],c=a.x*s.y-s.x*a.y;n+=(a.x+s.x)*c,r+=(a.y+s.y)*c,t+=c*3}return new Ug(n/t,r/t,0,e)}var Kg=function(e){return e[e.center=1]=`center`,e[e.left=2]=`left`,e[e.right=3]=`right`,e[e.top=4]=`top`,e[e.bottom=5]=`bottom`,e[e[`top-left`]=6]=`top-left`,e[e[`top-right`]=7]=`top-right`,e[e[`bottom-left`]=8]=`bottom-left`,e[e[`bottom-right`]=9]=`bottom-right`,e}({}),qg=1/0;function Jg(e,t){function n(e,t){let n=0,r=0;t<0&&(t=0);let i=t/Math.SQRT2;switch(e){case`top-right`:case`top-left`:r=i-7;break;case`bottom-right`:case`bottom-left`:r=-i+7;break;case`bottom`:r=-t+7;break;case`top`:r=t-7}switch(e){case`top-right`:case`bottom-right`:n=-i;break;case`top-left`:case`bottom-left`:n=i;break;case`left`:n=t;break;case`right`:n=-t}return[n,r]}function r(e,t,n){let r=0,i=0;switch(t=Math.abs(t),n=Math.abs(n),e){case`top-right`:case`top-left`:case`top`:i=n-7;break;case`bottom-right`:case`bottom-left`:case`bottom`:i=-n+7}switch(e){case`top-right`:case`bottom-right`:case`right`:r=-t;break;case`top-left`:case`bottom-left`:case`left`:r=t}return[r,i]}return t[1]===qg?n(e,t[0]):r(e,t[0],t[1])}function Yg(e,t,n){let r=e.layout,i=r.get(`text-variable-anchor-offset`)?.evaluate(t,{},n);if(i){let e=i.values,t=[];for(let n=0;n<e.length;n+=2){let r=t[n]=e[n],i=e[n+1].map(e=>e*24);r.startsWith(`top`)?i[1]-=7:r.startsWith(`bottom`)&&(i[1]+=7),t[n+1]=i}return new Jt(t)}let a=r.get(`text-variable-anchor`);if(a){let i;i=e._unevaluatedLayout.getValue(`text-radial-offset`)===void 0?r.get(`text-offset`).evaluate(t,{},n).map(e=>e*24):[r.get(`text-radial-offset`).evaluate(t,{},n)*24,qg];let o=[];for(let e of a)o.push(e,Jg(e,i));return new Jt(o)}return null}function Xg(e){e.bucket.createArrays();let t=512*e.bucket.overscaling;e.bucket.tilePixelRatio=A/t,e.bucket.compareText={},e.bucket.iconsNeedLinear=!1;let n=e.bucket.layers[0],r=n.layout,i=n._unevaluatedLayout._values,a={layoutIconSize:i[`icon-size`].possiblyEvaluate(new G(e.bucket.zoom+1),e.canonical),layoutTextSize:i[`text-size`].possiblyEvaluate(new G(e.bucket.zoom+1),e.canonical),textMaxSize:i[`text-size`].possiblyEvaluate(new G(18))};if(e.bucket.textSizeData.kind===`composite`){let{minZoom:t,maxZoom:n}=e.bucket.textSizeData;a.compositeTextSizes=[i[`text-size`].possiblyEvaluate(new G(t),e.canonical),i[`text-size`].possiblyEvaluate(new G(n),e.canonical)]}if(e.bucket.iconSizeData.kind===`composite`){let{minZoom:t,maxZoom:n}=e.bucket.iconSizeData;a.compositeIconSizes=[i[`icon-size`].possiblyEvaluate(new G(t),e.canonical),i[`icon-size`].possiblyEvaluate(new G(n),e.canonical)]}let o=r.get(`text-line-height`)*24,s=r.get(`text-rotation-alignment`)!==`viewport`&&r.get(`symbol-placement`)!==`point`,c=r.get(`text-keep-upright`),l=r.get(`text-size`);for(let t of e.bucket.features){let i=r.get(`text-font`).evaluate(t,{},e.canonical).join(`,`),u=l.evaluate(t,{},e.canonical),d=a.layoutTextSize.evaluate(t,{},e.canonical),f=a.layoutIconSize.evaluate(t,{},e.canonical),p={horizontal:{},vertical:void 0},m=t.text,h=[0,0];if(m){let a=m.toString(),l=r.get(`text-letter-spacing`).evaluate(t,{},e.canonical)*24,f=Mm(a)?l:0,g=r.get(`text-anchor`).evaluate(t,{},e.canonical),_=Yg(n,t,e.canonical);if(!_){let n=r.get(`text-radial-offset`).evaluate(t,{},e.canonical);h=n?Jg(g,[n*24,qg]):r.get(`text-offset`).evaluate(t,{},e.canonical).map(e=>e*24)}let v=s?`center`:r.get(`text-justify`).evaluate(t,{},e.canonical),y=r.get(`symbol-placement`)===`point`?r.get(`text-max-width`).evaluate(t,{},e.canonical)*24:1/0,b=()=>{e.bucket.allowVerticalPlacement&&jm(a)&&(p.vertical=Kh(m,e.glyphMap,e.glyphPositions,e.imagePositions,i,y,o,g,`left`,f,h,2,!0,d,u))};if(!s&&_){let t=new Set;if(v===`auto`)for(let e=0;e<_.values.length;e+=2)t.add(Zg(_.values[e]));else t.add(v);let n=!1;for(let r of t)if(!p.horizontal[r]){if(n)p.horizontal[r]=p.horizontal[0];else{let t=Kh(m,e.glyphMap,e.glyphPositions,e.imagePositions,i,y,o,`center`,r,f,h,1,!1,d,u);t&&(p.horizontal[r]=t,n=t.positionedLines.length===1)}}b()}else{v===`auto`&&(v=Zg(g));let t=Kh(m,e.glyphMap,e.glyphPositions,e.imagePositions,i,y,o,g,v,f,h,1,!1,d,u);t&&(p.horizontal[v]=t),b(),jm(a)&&s&&c&&(p.vertical=Kh(m,e.glyphMap,e.glyphPositions,e.imagePositions,i,y,o,g,v,f,h,2,!1,d,u))}}let g,_=!1;if(t.icon?.name){let n=e.imageMap[t.icon.name];n&&(g=ug(e.imagePositions[t.icon.name],r.get(`icon-offset`).evaluate(t,{},e.canonical),r.get(`icon-anchor`).evaluate(t,{},e.canonical)),_=!!n.sdf,e.bucket.sdfIcons===void 0?e.bucket.sdfIcons=_:e.bucket.sdfIcons!==_&&j(`Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer`),n.pixelRatio===e.bucket.pixelRatio?r.get(`icon-rotate`).constantOr(1)!==0&&(e.bucket.iconsNeedLinear=!0):e.bucket.iconsNeedLinear=!0)}let v=t_(p.horizontal)||p.vertical;e.bucket.iconsInText||=v?v.iconsInText:!1,(v||g)&&Qg(e.bucket,t,p,g,e.imageMap,a,d,f,h,_,e.canonical,e.subdivisionGranularity,e.hasPromoteId)}e.showCollisionBoxes&&e.bucket.generateCollisionDebugBuffers()}function Zg(e){switch(e){case`right`:case`top-right`:case`bottom-right`:return`right`;case`left`:case`top-left`:case`bottom-left`:return`left`}return`center`}function Qg(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=a.textMaxSize.evaluate(t,{});p===void 0&&(p=o);let m=e.layers[0].layout,h=m.get(`icon-offset`).evaluate(t,{},u),g=t_(n.horizontal),_=o/24,v=e.tilePixelRatio*_,y=e.tilePixelRatio*p/24,b=e.tilePixelRatio*s,x=e.tilePixelRatio*m.get(`symbol-spacing`),S=m.get(`text-padding`)*e.tilePixelRatio,C=x_(m,t,u,e.tilePixelRatio),w=m.get(`text-max-angle`)/180*Math.PI,T=m.get(`text-rotation-alignment`)!==`viewport`&&m.get(`symbol-placement`)!==`point`,E=m.get(`icon-rotation-alignment`).constantOr(`viewport`)===`map`&&m.get(`symbol-placement`)!==`point`,D=m.get(`symbol-placement`),ee=x/2,O=m.get(`icon-text-fit`),k;r&&O!==`none`&&(e.allowVerticalPlacement&&n.vertical&&(k=fg(r,n.vertical,O,m.get(`icon-text-fit-padding`),h,_)),g&&(r=fg(r,g,O,m.get(`icon-text-fit-padding`),h,_)));let te=u?d.line.getGranularityForZoomLevel(u.z):1,ne=(s,d)=>{d.x<0||d.x>=8192||d.y<0||d.y>=8192||n_(e,d,s,n,r,i,k,e.layers[0],e.collisionBoxArray,t.index,t.sourceLayerIndex,e.index,v,[S,S,S,S],T,c,b,C,E,h,t,a,l,u,o,f)};if(D===`line`)for(let i of Tg(t.geometry,0,0,A,A)){let t=Wu(i,te),a=Cg(t,x,w,n.vertical||g,r,24,y,e.overscaling,A);for(let n of a){let r=g;(!r||!r_(e,r.text,ee,n))&&ne(t,n)}}else if(D===`line-center`){for(let e of t.geometry)if(e.length>1){let t=Wu(e,te),i=Sg(t,w,n.vertical||g,r,24,y);i&&ne(t,i)}}else if(t.type===`Polygon`)for(let e of gn(t.geometry,0)){let t=Vg(e,16);ne(Wu(e[0],te,!0),new _g(t.x,t.y,0))}else if(t.type===`LineString`)for(let e of t.geometry){let t=Wu(e,te);ne(t,new _g(t[0].x,t[0].y,0))}else if(t.type===`Point`)for(let e of t.geometry)for(let t of e)ne([t],new _g(t.x,t.y,0))}function $g(e,t){let n=e.length,r=t?.values;if(r?.length>0)for(let t=0;t<r.length;t+=2){let n=Kg[r[t]],i=r[t+1];e.emplaceBack(n,i[0],i[1])}return[n,e.length]}function e_(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){let g=Rg(t,n,s,i,a,o,r,e.allowVerticalPlacement),_=e.textSizeData,v=null;_.kind===`source`?(v=[128*i.layout.get(`text-size`).evaluate(o,{})],v[0]>32640&&j(`${e.layerIds[0]}: Value for \"text-size\" is >= 255. Reduce your \"text-size\".`)):_.kind===`composite`&&(v=[128*m.compositeTextSizes[0].evaluate(o,{},h),128*m.compositeTextSizes[1].evaluate(o,{},h)],(v[0]>32640||v[1]>32640)&&j(`${e.layerIds[0]}: Value for \"text-size\" is >= 255. Reduce your \"text-size\".`)),e.addSymbols(e.text,g,v,s,a,o,u,t,l.lineStartIndex,l.lineLength,p,h,c);for(let t of d)f[t]=e.text.placedSymbolArray.length-1;return g.length*4}function t_(e){for(let t in e)return e[t];return null}function n_(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T){let E=e.addToLineVertexArray(t,n),D=s.layout.get(`symbol-height-offset`).evaluate(b,{},C);D>e.maxHeightOffset&&(e.maxHeightOffset=D);let ee,O,k,te,ne=0,A=0,re=0,ie=0,ae=-1,oe=-1,se={},ce=(0,uc.default)(``);if(e.allowVerticalPlacement&&r.vertical){let e=s.layout.get(`text-rotate`).evaluate(b,{},C)+90,n=r.vertical;k=new zg(c,t,l,u,d,n,f,p,m,e),o&&(te=new zg(c,t,l,u,d,o,g,_,m,e))}if(i){let n=s.layout.get(`icon-rotate`).evaluate(b,{}),r=s.layout.get(`icon-text-fit`)!==`none`,a=Ng(i,n,S,r),f=o?Ng(o,n,S,r):void 0;O=new zg(c,t,l,u,d,i,g,_,!1,n),ne=a.length*4;let p=e.iconSizeData,m=null;p.kind===`source`?(m=[128*s.layout.get(`icon-size`).evaluate(b,{})],m[0]>32640&&j(`${e.layerIds[0]}: Value for \"icon-size\" is >= 255. Reduce your \"icon-size\".`)):p.kind===`composite`&&(m=[128*x.compositeIconSizes[0].evaluate(b,{},C),128*x.compositeIconSizes[1].evaluate(b,{},C)],(m[0]>32640||m[1]>32640)&&j(`${e.layerIds[0]}: Value for \"icon-size\" is >= 255. Reduce your \"icon-size\".`)),e.addSymbols(e.icon,a,m,y,v,b,0,t,E.lineStartIndex,E.lineLength,-1,C,D),ae=e.icon.placedSymbolArray.length-1,f&&(A=f.length*4,e.addSymbols(e.icon,f,m,y,v,b,2,t,E.lineStartIndex,E.lineLength,-1,C,D),oe=e.icon.placedSymbolArray.length-1)}let le=Object.keys(r.horizontal);for(let n of le){let i=r.horizontal[n];ee||=(ce=(0,uc.default)(i.text),new zg(c,t,l,u,d,i,f,p,m,s.layout.get(`text-rotate`).evaluate(b,{},C)));let o=i.positionedLines.length===1;if(re+=e_(e,t,i,a,s,m,b,h,D,E,r.vertical?1:3,o?le:[n],se,ae,x,C),o)break}r.vertical&&(ie+=e_(e,t,r.vertical,a,s,m,b,h,D,E,2,[`vertical`],se,oe,x,C));let ue=ee?ee.boxStartIndex:e.collisionBoxArray.length,de=ee?ee.boxEndIndex:e.collisionBoxArray.length,fe=k?k.boxStartIndex:e.collisionBoxArray.length,pe=k?k.boxEndIndex:e.collisionBoxArray.length,me=O?O.boxStartIndex:e.collisionBoxArray.length,he=O?O.boxEndIndex:e.collisionBoxArray.length,M=te?te.boxStartIndex:e.collisionBoxArray.length,ge=te?te.boxEndIndex:e.collisionBoxArray.length,N=-1,_e=(e,t)=>e?.circleDiameter?Math.max(e.circleDiameter,t):t;N=_e(ee,N),N=_e(k,N),N=_e(O,N),N=_e(te,N);let ve=+(N>-1);ve&&(N*=w/24),e.glyphOffsetArray.length>=e.maxGlyphs&&j(`Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907`),b.sortKey!==void 0&&e.addToSortKeyRanges(e.symbolInstances.length,b.sortKey);let ye=Yg(s,b,C),[be,xe]=$g(e.textAnchorOffsets,ye);T&&(ce=i_(ce,b)),e.symbolInstances.emplaceBack(t.x,t.y,se.right>=0?se.right:-1,se.center>=0?se.center:-1,se.left>=0?se.left:-1,se.vertical||-1,ae,oe,ce,ue,de,fe,pe,me,he,M,ge,l,re,ie,ne,A,ve,0,f,N,be,xe,D)}function r_(e,t,n,r){let i=e.compareText;if(!(t in i))i[t]=[];else{let e=i[t];for(let t=e.length-1;t>=0;t--)if(r.dist(e[t])<n)return!0}return i[t].push(r),!1}function i_(e,t){return t.id==null||t.properties?.cluster?e:(0,uc.default)(String(t.id),e)}function a_(e,t,n){let r=`never`,i=e.get(t);return i?r=i:e.get(n)&&(r=`always`),r}var o_=[{name:`a_fade_opacity`,components:1,type:`Uint8`,offset:0}];function s_(e,t,n,r,i,a,o,s,c,l,u,d,f,p){let m=s?Math.min(pg,Math.round(s[0])):0,h=s?Math.min(pg,Math.round(s[1])):0;e.emplaceBack(t,n,Math.round(r*32),Math.round(i*32),a,o,(m<<1)+ +!!c,h,l*16,u*16,d*256,f*256,p)}function c_(e,t,n){e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n)}function l_(e){for(let t of e.sections)if(Lm(t.text))return!0;return!1}var u_=class{constructor(e){this.layoutVertexArray=new Ys,this.indexArray=new ec,this.programConfigurations=e,this.segments=new ic,this.dynamicLayoutVertexArray=new Xs,this.opacityVertexArray=new Zs,this.hasVisibleVertices=!1,this.placedSymbolArray=new Ms}isEmpty(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0}upload(e,t,n,r){this.isEmpty()||(n&&(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Vp.members),this.indexBuffer=e.createIndexBuffer(this.indexArray,t),this.dynamicLayoutVertexBuffer=e.createVertexBuffer(this.dynamicLayoutVertexArray,Hp.members,!0),this.opacityVertexBuffer=e.createVertexBuffer(this.opacityVertexArray,o_,!0),this.opacityVertexBuffer.itemSize=1),(n||r)&&this.programConfigurations.upload(e))}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())}};W(`SymbolBuffers`,u_);var d_=class{constructor(e,t,n){this.layoutVertexArray=new e,this.layoutAttributes=t,this.indexArray=new n,this.segments=new ic,this.collisionVertexArray=new $s}upload(e){this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=e.createVertexBuffer(this.collisionVertexArray,Up.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())}};W(`CollisionBuffers`,d_);var f_=class{constructor(e){this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasDependencies=!0,this.hasRTLText=!1,this.maxHeightOffset=0,this.sortKeyRanges=[],this.collisionCircleArray=[],this.maxGlyphs=65535;let t=this.layers[0]._unevaluatedLayout._values;this.textSizeData=mg(this.zoom,t[`text-size`]),this.iconSizeData=mg(this.zoom,t[`icon-size`]);let n=this.layers[0].layout,r=n.get(`symbol-sort-key`),i=n.get(`symbol-z-order`);this.canOverlap=a_(n,`text-overlap`,`text-allow-overlap`)!==`never`||a_(n,`icon-overlap`,`icon-allow-overlap`)!==`never`||n.get(`text-ignore-placement`)||n.get(`icon-ignore-placement`),this.sortFeaturesByKey=i!==`viewport-y`&&!r.isConstant();let a=i===`viewport-y`||i===`auto`&&!this.sortFeaturesByKey;this.sortFeaturesByY=a&&this.canOverlap,n.get(`symbol-placement`)===`point`&&(this.writingModes=n.get(`text-writing-mode`).map(e=>Ih[e])),this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id),this.sourceID=e.sourceID}createArrays(){this.text=new u_(new Oc(this.layers,this.zoom,e=>e.startsWith(`text`))),this.icon=new u_(new Oc(this.layers,this.zoom,e=>e.startsWith(`icon`))),this.glyphOffsetArray=new Fs,this.lineVertexArray=new Is,this.symbolInstances=new Ps,this.textAnchorOffsets=new Rs}calculateGlyphDependencies(e,t,n,r,i){let a=(r||this.allowVerticalPlacement)&&i,o=Jm.fromFeature(e,n),s=o.graphemes();for(let e=0;e<s.length;e++){let n=o.getSection(e);if(`imageName`in n)continue;let r=(t[n.fontStack]||={default:{}}).default,i=s[e];km(i)&&(r[i]=!0);for(let e of i){if(r[e]=!0,!a)continue;let t=Rm[e];t&&(r[t]=!0)}}}populate(e,t,n){let r=this.layers[0],i=r.layout,a=i.get(`text-font`),o=i.get(`text-field`),s=i.get(`icon-image`),c=(o.value.kind!==`constant`||o.value.value instanceof Ut&&!o.value.value.isEmpty()||o.value.value.toString().length>0)&&(a.value.kind!==`constant`||a.value.value.length>0),l=s.value.kind!==`constant`||!!s.value.value||Object.keys(s.parameters).length>0,u=i.get(`symbol-sort-key`);if(this.features=[],!c&&!l)return;let d=t.iconDependencies,f=t.glyphDependencies,p=t.availableImages,m=new G(this.zoom);for(let{feature:t,id:o,index:s,sourceLayerIndex:h}of e){let e=r._featureFilter.needGeometry,g=Fc(t,e);if(!r._featureFilter.filter(m,g,n))continue;e||(g.geometry=Pc(t));let _;if(c){let e=r.getValueAndResolveTokens(`text-field`,g,n,p),t=Ut.factory(e);this.hasRTLText||=l_(t),_=vm(t,r,g)}let v;if(l){let e=r.getValueAndResolveTokens(`icon-image`,g,n,p);v=e instanceof Yt?e:Yt.fromString(e)}if(!_&&!v)continue;let y=this.sortFeaturesByKey?u.evaluate(g,{},n):void 0,b={id:o,text:_,icon:v,index:s,sourceLayerIndex:h,geometry:g.geometry,properties:t.properties,type:pd.types[t.type],sortKey:y};if(this.features.push(b),v&&(d[v.name]=!0),_){let e=a.evaluate(g,{},n).join(`,`),t=i.get(`text-rotation-alignment`)!==`viewport`&&i.get(`symbol-placement`)!==`point`;this.allowVerticalPlacement=this.writingModes?.includes(2);let r=jm(_.toString());this.calculateGlyphDependencies(_,f,e,t,r);for(let e of _.sections)e.image&&(d[e.image.name]=!0)}}i.get(`symbol-placement`)===`line`&&(this.features=Cm(this.features)),this.sortFeaturesByKey&&this.features.sort((e,t)=>e.sortKey-t.sortKey)}update(e,t,n){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(e,t,this.layers,{imagePositions:n}),this.icon.programConfigurations.updatePaintArrays(e,t,this.layers,{imagePositions:n}))}addFeatures({options:e,canonical:t,glyphMap:n,glyphPositions:r,iconMap:i,iconPositions:a,showCollisionBoxes:o}){Xg({bucket:this,glyphMap:n,glyphPositions:r,imageMap:i,imagePositions:a,showCollisionBoxes:o,canonical:t,subdivisionGranularity:e.subdivisionGranularity,hasPromoteId:e.featureIndex.promoteId!=null})}isEmpty(){return this.symbolInstances.length===0}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(e){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(e),this.iconCollisionBox.upload(e)),this.text.upload(e,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(e,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(e,t){let n=this.lineVertexArray.length;if(e.segment!==void 0){let n=e.dist(t[e.segment+1]),r=e.dist(t[e.segment]),i={};for(let r=e.segment+1;r<t.length;r++)i[r]={x:t[r].x,y:t[r].y,tileUnitDistanceFromAnchor:n},r<t.length-1&&(n+=t[r+1].dist(t[r]));for(let n=e.segment||0;n>=0;n--)i[n]={x:t[n].x,y:t[n].y,tileUnitDistanceFromAnchor:r},n>0&&(r+=t[n-1].dist(t[n]));for(let e=0;e<t.length;e++){let t=i[e];this.lineVertexArray.emplaceBack(t.x,t.y,t.tileUnitDistanceFromAnchor)}}return{lineStartIndex:n,lineLength:this.lineVertexArray.length-n}}addSymbols(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=e.indexArray,m=e.layoutVertexArray,h=e.segments.prepareSegment(4*t.length,m,p,this.canOverlap?a.sortKey:void 0),g=this.glyphOffsetArray.length,_=h.vertexLength,v=this.allowVerticalPlacement&&o===2?Math.PI/2:0,y=a.text&&a.text.sections;for(let r=0;r<t.length;r++){let{tl:i,tr:o,bl:c,br:l,tex:u,pixelOffsetTL:g,pixelOffsetBR:_,minFontScaleX:b,minFontScaleY:x,glyphOffset:S,isSDF:C,sectionIndex:w}=t[r],T=h.vertexLength,E=S[1];s_(m,s.x,s.y,i.x,E+i.y,u.x,u.y,n,C,g.x,g.y,b,x,f),s_(m,s.x,s.y,o.x,E+o.y,u.x+u.w,u.y,n,C,_.x,g.y,b,x,f),s_(m,s.x,s.y,c.x,E+c.y,u.x,u.y+u.h,n,C,g.x,_.y,b,x,f),s_(m,s.x,s.y,l.x,E+l.y,u.x+u.w,u.y+u.h,n,C,_.x,_.y,b,x,f),c_(e.dynamicLayoutVertexArray,s,v),p.emplaceBack(T,T+2,T+1),p.emplaceBack(T+1,T+2,T+3),h.vertexLength+=4,h.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(S[0]),(r===t.length-1||w!==t[r+1].sectionIndex)&&e.programConfigurations.populatePaintArrays(m.length,a,a.index,{imagePositions:{},canonical:d,formattedSection:y?.[w]})}e.placedSymbolArray.emplaceBack(s.x,s.y,g,this.glyphOffsetArray.length-g,_,c,l,s.segment,n?n[0]:0,n?n[1]:0,r[0],r[1],o,0,!1,0,u,f)}_addCollisionDebugVertex(e,t,n,r,i,a){return t.emplaceBack(0,0),e.emplaceBack(n.x,n.y,r,i,Math.round(a.x),Math.round(a.y))}addCollisionDebugVertices(e,t,n,r,i,a,o){let s=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),c=s.vertexLength,u=i.layoutVertexArray,d=i.collisionVertexArray,f=o.anchorX,p=o.anchorY;this._addCollisionDebugVertex(u,d,a,f,p,new l(e,t)),this._addCollisionDebugVertex(u,d,a,f,p,new l(n,t)),this._addCollisionDebugVertex(u,d,a,f,p,new l(n,r)),this._addCollisionDebugVertex(u,d,a,f,p,new l(e,r)),s.vertexLength+=4;let m=i.indexArray;m.emplaceBack(c,c+1),m.emplaceBack(c+1,c+2),m.emplaceBack(c+2,c+3),m.emplaceBack(c+3,c),s.primitiveLength+=4}addDebugCollisionBoxes(e,t,n,r){for(let i=e;i<t;i++){let e=this.collisionBoxArray.get(i),t=e.x1,a=e.y1,o=e.x2,s=e.y2;this.addCollisionDebugVertices(t,a,o,s,r?this.textCollisionBox:this.iconCollisionBox,e.anchorPoint,n)}}generateCollisionDebugBuffers(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new d_(Qs,Wp.members,tc),this.iconCollisionBox=new d_(Qs,Wp.members,tc);for(let e=0;e<this.symbolInstances.length;e++){let t=this.symbolInstances.get(e);this.addDebugCollisionBoxes(t.textBoxStartIndex,t.textBoxEndIndex,t,!0),this.addDebugCollisionBoxes(t.verticalTextBoxStartIndex,t.verticalTextBoxEndIndex,t,!0),this.addDebugCollisionBoxes(t.iconBoxStartIndex,t.iconBoxEndIndex,t,!1),this.addDebugCollisionBoxes(t.verticalIconBoxStartIndex,t.verticalIconBoxEndIndex,t,!1)}}_deserializeCollisionBoxesForSymbol(e,t,n,r,i,a,o,s,c){let l={};for(let r=t;r<n;r++){let t=e.get(r);l.textBox={x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,anchorPointX:t.anchorPointX,anchorPointY:t.anchorPointY},l.textFeatureIndex=t.featureIndex;break}for(let t=r;t<i;t++){let n=e.get(t);l.verticalTextBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},l.verticalTextFeatureIndex=n.featureIndex;break}for(let t=a;t<o;t++){let n=e.get(t);l.iconBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},l.iconFeatureIndex=n.featureIndex;break}for(let t=s;t<c;t++){let n=e.get(t);l.verticalIconBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},l.verticalIconFeatureIndex=n.featureIndex;break}return l}deserializeCollisionBoxes(e){this.collisionArrays=[];for(let t=0;t<this.symbolInstances.length;t++){let n=this.symbolInstances.get(t);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(e,n.textBoxStartIndex,n.textBoxEndIndex,n.verticalTextBoxStartIndex,n.verticalTextBoxEndIndex,n.iconBoxStartIndex,n.iconBoxEndIndex,n.verticalIconBoxStartIndex,n.verticalIconBoxEndIndex))}}hasTextData(){return this.text.segments.get().length>0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(e,t){let n=e.placedSymbolArray.get(t),r=n.vertexStartIndex+n.numGlyphs*4;for(let t=n.vertexStartIndex;t<r;t+=4)e.indexArray.emplaceBack(t,t+2,t+1),e.indexArray.emplaceBack(t+1,t+2,t+3)}getSortedSymbolIndexes(e){if(this.sortedAngle===e&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;let t=Math.sin(e),n=Math.cos(e),r=[],i=[],a=[];for(let e=0;e<this.symbolInstances.length;++e){a.push(e);let o=this.symbolInstances.get(e);r.push(Math.round(t*o.anchorX+n*o.anchorY)|0),i.push(o.featureIndex)}return a.sort((e,t)=>r[e]-r[t]||i[t]-i[e]),a}addToSortKeyRanges(e,t){let n=this.sortKeyRanges[this.sortKeyRanges.length-1];n?.sortKey===t?n.symbolInstanceEnd=e+1:this.sortKeyRanges.push({sortKey:t,symbolInstanceStart:e,symbolInstanceEnd:e+1})}sortFeatures(e){if(this.sortFeaturesByY&&this.sortedAngle!==e&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let e of this.symbolInstanceIndexes){let t=this.symbolInstances.get(e);this.featureSortOrder.push(t.featureIndex);let n=[t.rightJustifiedTextSymbolIndex,t.centerJustifiedTextSymbolIndex,t.leftJustifiedTextSymbolIndex];for(let e=0;e<n.length;e++){let t=n[e];t>=0&&n.indexOf(t)===e&&this.addIndicesForPlacedSymbol(this.text,t)}t.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,t.verticalPlacedTextSymbolIndex),t.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.placedIconSymbolIndex),t.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}};W(`SymbolBucket`,f_,{omit:[`layers`,`collisionBoxArray`,`features`,`compareText`]});function p_(e,t){return t.replace(/{([^{}]+)}/g,(t,n)=>e&&n in e?String(e[n]):``)}var m_,h_=()=>m_||=new Ko({\"symbol-placement\":new K(P.layout_symbol[`symbol-placement`],`symbol-placement`),\"symbol-spacing\":new K(P.layout_symbol[`symbol-spacing`],`symbol-spacing`),\"symbol-avoid-edges\":new K(P.layout_symbol[`symbol-avoid-edges`],`symbol-avoid-edges`),\"symbol-sort-key\":new q(P.layout_symbol[`symbol-sort-key`],`symbol-sort-key`),\"symbol-z-order\":new K(P.layout_symbol[`symbol-z-order`],`symbol-z-order`),\"icon-allow-overlap\":new K(P.layout_symbol[`icon-allow-overlap`],`icon-allow-overlap`),\"icon-overlap\":new K(P.layout_symbol[`icon-overlap`],`icon-overlap`),\"icon-ignore-placement\":new K(P.layout_symbol[`icon-ignore-placement`],`icon-ignore-placement`),\"icon-optional\":new K(P.layout_symbol[`icon-optional`],`icon-optional`),\"icon-rotation-alignment\":new q(P.layout_symbol[`icon-rotation-alignment`],`icon-rotation-alignment`),\"icon-size\":new q(P.layout_symbol[`icon-size`],`icon-size`),\"icon-text-fit\":new K(P.layout_symbol[`icon-text-fit`],`icon-text-fit`),\"icon-text-fit-padding\":new K(P.layout_symbol[`icon-text-fit-padding`],`icon-text-fit-padding`),\"icon-image\":new q(P.layout_symbol[`icon-image`],`icon-image`),\"icon-rotate\":new q(P.layout_symbol[`icon-rotate`],`icon-rotate`),\"icon-padding\":new q(P.layout_symbol[`icon-padding`],`icon-padding`),\"icon-keep-upright\":new K(P.layout_symbol[`icon-keep-upright`],`icon-keep-upright`),\"icon-offset\":new q(P.layout_symbol[`icon-offset`],`icon-offset`),\"icon-anchor\":new q(P.layout_symbol[`icon-anchor`],`icon-anchor`),\"icon-pitch-alignment\":new K(P.layout_symbol[`icon-pitch-alignment`],`icon-pitch-alignment`),\"text-pitch-alignment\":new K(P.layout_symbol[`text-pitch-alignment`],`text-pitch-alignment`),\"text-rotation-alignment\":new K(P.layout_symbol[`text-rotation-alignment`],`text-rotation-alignment`),\"text-field\":new q(P.layout_symbol[`text-field`],`text-field`),\"text-font\":new q(P.layout_symbol[`text-font`],`text-font`),\"text-size\":new q(P.layout_symbol[`text-size`],`text-size`),\"text-max-width\":new q(P.layout_symbol[`text-max-width`],`text-max-width`),\"text-line-height\":new K(P.layout_symbol[`text-line-height`],`text-line-height`),\"text-letter-spacing\":new q(P.layout_symbol[`text-letter-spacing`],`text-letter-spacing`),\"text-justify\":new q(P.layout_symbol[`text-justify`],`text-justify`),\"text-radial-offset\":new q(P.layout_symbol[`text-radial-offset`],`text-radial-offset`),\"text-variable-anchor\":new K(P.layout_symbol[`text-variable-anchor`],`text-variable-anchor`),\"text-variable-anchor-offset\":new q(P.layout_symbol[`text-variable-anchor-offset`],`text-variable-anchor-offset`),\"text-anchor\":new q(P.layout_symbol[`text-anchor`],`text-anchor`),\"text-max-angle\":new K(P.layout_symbol[`text-max-angle`],`text-max-angle`),\"text-writing-mode\":new K(P.layout_symbol[`text-writing-mode`],`text-writing-mode`),\"text-rotate\":new q(P.layout_symbol[`text-rotate`],`text-rotate`),\"text-padding\":new K(P.layout_symbol[`text-padding`],`text-padding`),\"text-keep-upright\":new K(P.layout_symbol[`text-keep-upright`],`text-keep-upright`),\"text-transform\":new q(P.layout_symbol[`text-transform`],`text-transform`),\"text-offset\":new q(P.layout_symbol[`text-offset`],`text-offset`),\"text-allow-overlap\":new K(P.layout_symbol[`text-allow-overlap`],`text-allow-overlap`),\"text-overlap\":new K(P.layout_symbol[`text-overlap`],`text-overlap`),\"text-ignore-placement\":new K(P.layout_symbol[`text-ignore-placement`],`text-ignore-placement`),\"text-optional\":new K(P.layout_symbol[`text-optional`],`text-optional`),\"symbol-height-offset\":new q(P.layout_symbol[`symbol-height-offset`],`symbol-height-offset`),\"symbol-height-anchor\":new K(P.layout_symbol[`symbol-height-anchor`],`symbol-height-anchor`)}),g_,__=()=>g_||=new Ko({\"icon-opacity\":new q(P.paint_symbol[`icon-opacity`],`icon-opacity`),\"icon-color\":new q(P.paint_symbol[`icon-color`],`icon-color`),\"icon-halo-color\":new q(P.paint_symbol[`icon-halo-color`],`icon-halo-color`),\"icon-halo-width\":new q(P.paint_symbol[`icon-halo-width`],`icon-halo-width`),\"icon-halo-blur\":new q(P.paint_symbol[`icon-halo-blur`],`icon-halo-blur`),\"icon-translate\":new K(P.paint_symbol[`icon-translate`],`icon-translate`),\"icon-translate-anchor\":new K(P.paint_symbol[`icon-translate-anchor`],`icon-translate-anchor`),\"text-opacity\":new q(P.paint_symbol[`text-opacity`],`text-opacity`),\"text-color\":new q(P.paint_symbol[`text-color`],`text-color`,{runtimeType:Xe,getOverride:e=>e.textColor,hasOverride:e=>!!e.textColor}),\"text-halo-color\":new q(P.paint_symbol[`text-halo-color`],`text-halo-color`),\"text-halo-width\":new q(P.paint_symbol[`text-halo-width`],`text-halo-width`),\"text-halo-blur\":new q(P.paint_symbol[`text-halo-blur`],`text-halo-blur`),\"text-translate\":new K(P.paint_symbol[`text-translate`],`text-translate`),\"text-translate-anchor\":new K(P.paint_symbol[`text-translate-anchor`],`text-translate-anchor`)}),v_={get paint(){return __()},get layout(){return h_()}},y_=class{constructor(e){if(e.property.overrides===void 0)throw Error(`overrides must be provided to instantiate FormatSectionOverride class`);this.type=e.property.overrides?e.property.overrides.runtimeType:Ye,this.defaultValue=e}evaluate(e){if(e.formattedSection){let t=this.defaultValue.property.overrides;if(t?.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default}eachChild(e){if(!this.defaultValue.isConstant()){let t=this.defaultValue.value;e(t._styleExpression.expression)}}outputDefined(){return!1}serialize(){return null}};W(`FormatSectionOverride`,y_,{omit:[`defaultValue`]});var b_=class e extends Yo{constructor(e,t){super(e,v_,t)}recalculate(e,t){super.recalculate(e,t);let n=this.layout.get(`icon-rotation-alignment`);if((n.value.kind!==`constant`||n.value.value===`auto`)&&(this.layout._values[`icon-rotation-alignment`]=new zo(n.property,{kind:`constant`,value:this.layout.get(`symbol-placement`)===`point`?`viewport`:`map`},n.parameters)),this.layout.get(`text-rotation-alignment`)===`auto`&&(this.layout.get(`symbol-placement`)===`point`?this.layout._values[`text-rotation-alignment`]=`viewport`:this.layout._values[`text-rotation-alignment`]=`map`),this.layout.get(`text-pitch-alignment`)===`auto`&&(this.layout._values[`text-pitch-alignment`]=this.layout.get(`text-rotation-alignment`)===`map`?`map`:`viewport`),this.layout.get(`icon-pitch-alignment`)===`auto`&&(this.layout._values[`icon-pitch-alignment`]=this.layout.get(`icon-rotation-alignment`).constantOr(`viewport`)),this.layout.get(`symbol-placement`)===`point`){let e=this.layout.get(`text-writing-mode`);if(e){let t=[];for(let n of e)t.includes(n)||t.push(n);this.layout._values[`text-writing-mode`]=t}else this.layout._values[`text-writing-mode`]=[`horizontal`]}this._setPaintOverrides()}getValueAndResolveTokens(e,t,n,r){let i=this.layout.get(e).evaluate(t,{},n,r),a=this._unevaluatedLayout._values[e];return!a.isDataDriven()&&!Hi(a.value)&&i?p_(t.properties,i):i}createBucket(e){return new f_(e)}queryRadius(){return 0}queryIntersectsFeature(){throw Error(`Should take a different path in FeatureIndex`)}_setPaintOverrides(){for(let t of v_.paint.overridableProperties){if(!e.hasPaintOverride(this.layout,t))continue;let n=this.paint.get(t),r=new zi(new y_(n),`layers[${this.id}].paint.${n.property.name}`,n.property.specification),i=null;i=n.value.kind===`constant`||n.value.kind===`source`?new Wi(`source`,r):new Gi(`composite`,r,n.value.zoomStops),this.paint._values[t]=new zo(n.property,i,n.parameters)}}_handleOverridablePaintPropertyUpdate(t,n,r){return!this.layout||n.isDataDriven()||r.isDataDriven()?!1:e.hasPaintOverride(this.layout,t)}static hasPaintOverride(e,t){let n=e.get(`text-field`),r=v_.paint.properties[t],i=!1,a=e=>{for(let t of e)if(r.overrides?.hasOverride(t)){i=!0;return}};if(n.value.kind===`constant`&&n.value.value instanceof Ut)a(n.value.value.sections);else if(n.value.kind===`source`||n.value.kind===`composite`){let e=t=>{if(!i){if(t instanceof nn&&en(t.value)===tt){let e=t.value;a(e.sections)}else t instanceof fn?a(t.sections):t.eachChild(e)}},t=n.value;t._styleExpression&&e(t._styleExpression.expression)}return i}};function x_(e,t,n,r=1){let i=e.get(`icon-padding`).evaluate(t,{},n)?.values;return[i[0]*r,i[1]*r,i[2]*r,i[3]*r]}var S_,C_=()=>S_||=new Ko({\"background-color\":new K(P.paint_background[`background-color`],`background-color`),\"background-pattern\":new Wo(P.paint_background[`background-pattern`],`background-pattern`),\"background-opacity\":new K(P.paint_background[`background-opacity`],`background-opacity`)}),w_={get paint(){return C_()}},T_=class extends Yo{constructor(e,t){super(e,w_,t)}},E_=class extends Yo{constructor(e,t){super(e,{},t),this.onAdd=e=>{this.implementation.onAdd&&this.implementation.onAdd(e,e.painter.context.gl)},this.onRemove=e=>{this.implementation.onRemove&&this.implementation.onRemove(e,e.painter.context.gl)},this.implementation=e}is3D(){return this.implementation.renderingMode===`3d`}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw Error(`Custom layers cannot be serialized`)}};function D_(e,t){if(e.type===`custom`)return new E_(e,t);switch(e.type){case`background`:return new T_(e,t);case`circle`:return new hl(e,t);case`color-relief`:return new Bl(e,t);case`fill`:return new od(e,t);case`fill-extrusion`:return new qd(e,t);case`heatmap`:return new Ol(e,t);case`hillshade`:return new Ml(e,t);case`line`:return new zp(e,t);case`raster`:return new $o(e,t);case`symbol`:return new b_(e,t)}}var O_=class{constructor(e){this._methodToThrottle=e,this._triggered=!1,this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()}}trigger(){this._triggered||(this._triggered=!0,this._channel?.port1.postMessage(!0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}},k_={once:!0},A_=class{constructor(e,t){this.target=e,this.mapId=t,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new O_(()=>this.process()),this.subscription=Ce(this.target,`message`,e=>this.receive(e),!1),this.globalScope=ge(self)?e:window}registerMessageHandler(e,t){this.messageHandlers[e]=t}unregisterMessageHandler(e){delete this.messageHandlers[e]}sendAsync(e,t){return new Promise((n,r)=>{let i=Math.round(Math.random()*0xde0b6b3a7640000).toString(36).substring(0,10),a=t?Ce(t.signal,`abort`,()=>{a?.unsubscribe(),delete this.resolveRejects[i];let n={id:i,type:`<cancel>`,origin:location.origin,targetMapId:e.targetMapId,sourceMapId:this.mapId};this.target.postMessage(n),r(new Ee(t.signal.reason))},k_):null;this.resolveRejects[i]={resolve:e=>{a?.unsubscribe(),n(e)},reject:e=>{a?.unsubscribe(),r(e)}};let o=[],s={...e,id:i,sourceMapId:this.mapId,origin:location.origin,data:Ao(e.data,o)};this.target.postMessage(s,{transfer:o})})}receive(e){let t=e.data,n=t.id,r=[`file://`,`resource://android`,`null`],i=[t.origin,location.origin],a=t.origin===location.origin,o=i.some(e=>r.includes(e));if((a||o)&&!(t.targetMapId&&this.mapId!==t.targetMapId)){if(t.type===`<cancel>`){delete this.tasks[n];let e=this.abortControllers[n];delete this.abortControllers[n],e&&e.abort();return}if(ge(self)||t.mustQueue){this.tasks[n]=t,this.taskQueue.push(n),this.invoker.trigger();return}this.processTask(n,t)}}process(){if(this.taskQueue.length===0)return;let e=this.taskQueue.shift(),t=this.tasks[e];delete this.tasks[e],this.taskQueue.length>0&&this.invoker.trigger(),t&&this.processTask(e,t)}async processTask(e,t){if(t.type===`<response>`){let n=this.resolveRejects[e];if(delete this.resolveRejects[e],!n)return;t.error?n.reject(ie(jo(t.error))):n.resolve(jo(t.data));return}if(!this.messageHandlers[t.type]){this.completeTask(e,null,null);return}let n=jo(t.data),r=new AbortController;this.abortControllers[e]=r;try{let i=await this.messageHandlers[t.type](t.sourceMapId,n,r);this.completeTask(e,null,i)}catch(t){this.completeTask(e,ie(t))}}completeTask(e,t,n){let r=[];delete this.abortControllers[e];let i={id:e,type:`<response>`,sourceMapId:this.mapId,origin:location.origin,error:t?Ao(t):null,data:Ao(n,r)};this.target.postMessage(i,{transfer:r})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}};function j_(e,t,n){return!(e<0||e>25||n<0||n>=2**e||t<0||t>=2**e)}var M_=class{constructor(e,t,n){if(!j_(e,t,n))throw Error(`x=${t}, y=${n}, z=${e} outside of bounds. 0<=x<${2**e}, 0<=y<${2**e} 0<=z<=25 `);this.z=e,this.x=t,this.y=n,this.key=F_(0,e,e,t,n)}equals(e){return this.z===e.z&&this.x===e.x&&this.y===e.y}url(e,t,n){let r=L_(this.x,this.y,this.z),i=z_(this.z,this.x,this.y);return e[(this.x+this.y)%e.length].replace(/{prefix}/g,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(/{z}/g,String(this.z)).replace(/{x}/g,String(this.x)).replace(/{y}/g,String(n===`tms`?2**this.z-this.y-1:this.y)).replace(/{ratio}/g,t>1?`@2x`:``).replace(/{quadkey}/g,i).replace(/{bbox-epsg-3857}/g,r)}isChildOf(e){let t=this.z-e.z;return t>0&&e.x===this.x>>t&&e.y===this.y>>t}getTilePoint(e){let t=2**this.z;return new l((e.x*t-this.x)*A,(e.y*t-this.y)*A)}toString(){return`${this.z}/${this.x}/${this.y}`}},N_=class{constructor(e,t){this.wrap=e,this.canonical=t,this.key=F_(e,t.z,t.z,t.x,t.y)}},P_=class e{constructor(e,t,n,r,i){if(this.terrainRttPosMatrix32f=null,e<n)throw Error(`overscaledZ should be >= z; overscaledZ = ${e}; z = ${n}`);this.overscaledZ=e,this.wrap=t,this.canonical=new M_(n,+r,+i),this.key=F_(t,e,n,r,i)}clone(){return new e(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(e){return this.overscaledZ===e.overscaledZ&&this.wrap===e.wrap&&this.canonical.equals(e.canonical)}scaledTo(t){if(t>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);let n=this.canonical.z-t;return t>this.canonical.z?new e(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new e(t,this.wrap,t,this.canonical.x>>n,this.canonical.y>>n)}isOverscaled(){return this.overscaledZ>this.canonical.z}calculateScaledKey(e,t){if(e>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);let n=this.canonical.z-e;return e>this.canonical.z?F_(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y):F_(this.wrap*+t,e,e,this.canonical.x>>n,this.canonical.y>>n)}isChildOf(e){if(e.wrap!==this.wrap||this.overscaledZ-e.overscaledZ<=0)return!1;if(e.overscaledZ===0)return this.overscaledZ>0;let t=this.canonical.z-e.canonical.z;return t<0?!1:e.canonical.x===this.canonical.x>>t&&e.canonical.y===this.canonical.y>>t}children(t){if(this.overscaledZ>=t)return[new e(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let n=this.canonical.z+1,r=this.canonical.x*2,i=this.canonical.y*2;return[new e(n,this.wrap,n,r,i),new e(n,this.wrap,n,r+1,i),new e(n,this.wrap,n,r,i+1),new e(n,this.wrap,n,r+1,i+1)]}isLessThan(e){return this.wrap<e.wrap?!0:this.wrap>e.wrap?!1:this.overscaledZ<e.overscaledZ?!0:this.overscaledZ>e.overscaledZ?!1:this.canonical.x<e.canonical.x?!0:this.canonical.x>e.canonical.x?!1:this.canonical.y<e.canonical.y}wrapped(){return new e(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)}unwrapTo(t){return new e(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)}overscaleFactor(){return 2**(this.overscaledZ-this.canonical.z)}toUnwrapped(){return new N_(this.wrap,this.canonical)}toString(){return`${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`}getTilePoint(e){return this.canonical.getTilePoint(new Ad(e.x-this.wrap,e.y))}normalizeCoordinates(t,n,r=A){if(t>=0&&t<r&&n>=0&&n<r)return{tileID:this,x:t,y:n};let i=Math.floor(t/r),a=Math.floor(n/r),o=t-i*r,s=n-a*r,c=this.canonical.z,l=1<<c,u=this.canonical.y+a;if(u<0||u>=l)return null;let d=this.canonical.x+i,f=this.wrap;return d<0?(f-=Math.ceil(-d/l),d=(d%l+l)%l):d>=l&&(f+=Math.floor(d/l),d%=l),{tileID:new e(this.overscaledZ,f,c,d,u),x:o,y:s}}};function F_(e,t,n,r,i){e*=2,e<0&&(e=e*-1-1);let a=1<<n;return(a*a*e+a*i+r).toString(36)+n.toString(36)+t.toString(36)}var I_=Math.PI*6378137;function L_(e,t,n){t=2**n-t-1;let r=R_(e*256,t*256,n),i=R_((e+1)*256,(t+1)*256,n);return`${r[0]},${r[1]},${i[0]},${i[1]}`}function R_(e,t,n){let r=2*I_/256/2**n;return[e*r-I_,t*r-I_]}function z_(e,t,n){let r=``;for(let i=e;i>0;i--){let e=1<<i-1;r+=(t&e?1:0)+(n&e?2:0)}return r}W(`CanonicalTileID`,M_),W(`OverscaledTileID`,P_,{omit:[`terrainRttPosMatrix32f`]});var B_=class{constructor(e,t){this.feature=e,this.type=e.type,this.properties=e.tags?e.tags:{},this.extent=t,`id`in e&&(typeof e.id==`string`?this.id=parseInt(e.id,10):typeof e.id==`number`&&!isNaN(e.id)&&(this.id=e.id))}loadGeometry(){let e=[],t=this.feature.type===1?[this.feature.geometry]:this.feature.geometry;for(let n of t){let t=[];for(let e of n)t.push(new l(e[0],e[1]));e.push(t)}return e}},V_=`_geojsonTileLayer`,H_=class{constructor(e,t){this.layers={[V_]:this},this.name=V_,this.version=t?t.version:1,this.extent=t?t.extent:4096,this.length=e.length,this.features=e}feature(e){return new B_(this.features[e],this.extent)}};function U_(e,t=``){let n=new mh;return W_(e,n,t),n.finish()}function W_(e,t,n=``){for(let r in e.layers)t.writeMessage(3,(e,t)=>G_(e,t,n),e.layers[r])}function G_(e,t,n=``){t.writeVarintField(15,e.version||1),t.writeStringField(1,e.name||``),t.writeVarintField(5,e.extent||4096);let r={jsonPrefix:n,keys:[],values:[],keycache:{},valuecache:{}};for(let n=0;n<e.length;n++)r.feature=e.feature(n),t.writeMessage(2,K_,r);let i=r.keys;for(let e of i)t.writeStringField(3,e);let a=r.values;for(let e of a)t.writeMessage(4,Z_,e)}function K_(e,t){if(!e.feature)return;let n=e.feature;n.id!==void 0&&t.writeVarintField(1,n.id),t.writeMessage(2,q_,e),t.writeVarintField(3,n.type),t.writeMessage(4,X_,n)}function q_(e,t){for(let n in e.feature?.properties){let r=e.feature.properties[n],i=e.keycache[n];if(r==null)continue;i===void 0&&(e.keys.push(n),i=e.keys.length-1,e.keycache[n]=i),t.writeVarint(i),typeof r!=`string`&&typeof r!=`boolean`&&typeof r!=`number`&&(r=e.jsonPrefix+JSON.stringify(r));let a=typeof r+`:`+r,o=e.valuecache[a];o===void 0&&(e.values.push(r),o=e.values.length-1,e.valuecache[a]=o),t.writeVarint(o)}}function J_(e,t){return(t<<3)+(e&7)}function Y_(e){return e<<1^e>>31}function X_(e,t){let n=e.loadGeometry(),r=e.type,i=0,a=0;for(let o of n){let n=1;r===1&&(n=o.length),t.writeVarint(J_(1,n));let s=r===3?o.length-1:o.length;for(let e=0;e<s;e++){e===1&&r!==1&&t.writeVarint(J_(2,s-1));let n=o[e].x-i,c=o[e].y-a;t.writeVarint(Y_(n)),t.writeVarint(Y_(c)),i+=n,a+=c}e.type===3&&t.writeVarint(J_(7,1))}}function Z_(e,t){let n=typeof e;n===`string`?t.writeStringField(1,e):n===`boolean`?t.writeBooleanField(7,e):n===`number`&&(e%1==0?e<0?t.writeSVarintField(6,e):t.writeVarintField(5,e):t.writeDoubleField(3,e))}var Q_=class{constructor(e){this._stringToNumber={},this._numberToString=[];for(let t=0;t<e.length;t++){let n=e[t];this._stringToNumber[n]=t,this._numberToString[t]=n}}encode(e){return this._stringToNumber[e]}decode(e){if(e>=this._numberToString.length)throw Error(`Out of bounds. Index requested n=${e} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[e]}},$_=class{constructor(e,t,n,r,i){this.type=`Feature`,this._vectorTileFeature=e,this._x=n,this._y=r,this._z=t;for(let t in e.properties)typeof e.properties[t]==`string`&&e.properties[t].startsWith(`__$json__:`)&&(e.properties[t]=JSON.parse(e.properties[t].slice(10)));this.properties=e.properties,this.id=i}projectPoint(e,t,n,r){return[(e.x+t)*360/r-180,360/Math.PI*Math.atan(Math.exp((1-(e.y+n)*2/r)*Math.PI))-90]}projectLine(e,t,n,r){return e.map(e=>this.projectPoint(e,t,n,r))}get geometry(){if(this._geometry)return this._geometry;let e=this._vectorTileFeature,t=e.extent*2**this._z,n=e.extent*this._x,r=e.extent*this._y,i=e.loadGeometry();switch(e.type){case 1:{let e=[];for(let t of i)e.push(t[0]);let a=this.projectLine(e,n,r,t);this._geometry=e.length===1?{type:`Point`,coordinates:a[0]}:{type:`MultiPoint`,coordinates:a};break}case 2:{let e=i.map(e=>this.projectLine(e,n,r,t));this._geometry=e.length===1?{type:`LineString`,coordinates:e[0]}:{type:`MultiLineString`,coordinates:e};break}case 3:{let e=md(i),a=[];for(let i of e)a.push(i.map(e=>this.projectLine(e,n,r,t)));this._geometry=a.length===1?{type:`Polygon`,coordinates:a[0]}:{type:`MultiPolygon`,coordinates:a};break}default:throw Error(`unknown feature type: ${e.type}`)}return this._geometry}set geometry(e){this._geometry=e}toJSON(){let e={geometry:this.geometry};for(let t in this)t!==`_geometry`&&t!==`_vectorTileFeature`&&t!==`_x`&&t!==`_y`&&t!==`_z`&&(e[t]=this[t]);return e}},ev=class{constructor(e,t,n){this._name=e,this.dataBuffer=t,typeof n==`number`?this._size=n:(this.nullabilityBuffer=n,this._size=n.size())}getValue(e){return this.nullabilityBuffer&&!this.nullabilityBuffer.get(e)?null:this.getValueFromBuffer(e)}has(e){return this.nullabilityBuffer?.get(e)||!this.nullabilityBuffer}get name(){return this._name}get size(){return this._size}},tv=class extends ev{},nv=class extends tv{getValueFromBuffer(e){return this.dataBuffer[e]}},rv=class extends tv{getValueFromBuffer(e){return this.dataBuffer[e]}},iv=class extends ev{constructor(e,t,n,r){super(e,t,r),this.delta=n}},av=class extends iv{constructor(e,t,n,r,i){super(e,i?Int32Array.of(t):Uint32Array.of(t),n,r)}getValueFromBuffer(e){return this.dataBuffer[0]+e*this.delta}},ov=class extends ev{constructor(e,t,n,r){super(e,r?Int32Array.of(t):Uint32Array.of(t),n)}getValueFromBuffer(e){return this.dataBuffer[0]}},sv=class{constructor(e,t,n,r,i=4096){if(this._name=e,this._geometryVector=t,this._idVector=n,this._propertyVectors=r,this._extent=i,e.length===0)throw Error(`Missing layer name`)}get name(){return this._name}get idVector(){return this._idVector}get geometryVector(){return this._geometryVector}get propertyVectors(){return this._propertyVectors??[]}getPropertyVector(e){return this.propertyVectorsMap||=new Map(this.propertyVectors.map(e=>[e.name,e])),this.propertyVectorsMap.get(e)}get numFeatures(){return this.geometryVector.numGeometries}get extent(){return this._extent}getFeatures(){let e=[],t=this.geometryVector.getGeometries();for(let n=0;n<this.numFeatures;n++){let r;if(this.idVector){let e=this.idVector.getValue(n);e!==null&&(r=this.containsMaxSafeIntegerValues(this.idVector)?Number(e):e)}let i={coordinates:t[n],type:this.geometryVector.geometryType(n)},a={};for(let e of this.propertyVectors){if(!e)continue;let t=e.name,r=e.getValue(n);r!==null&&(a[t]=r)}e.push({id:r,geometry:i,properties:a})}return e}containsMaxSafeIntegerValues(e){return e instanceof nv||e instanceof ov||e instanceof av||e instanceof rv}},cv={FEATURE:0,VERTEX:1},Y={BOOLEAN:0,INT_8:1,UINT_8:2,INT_32:3,UINT_32:4,INT_64:5,UINT_64:6,FLOAT:7,DOUBLE:8,STRING:9},lv={GEOMETRY:0,STRUCT:1,MAP:2},uv={ID:0},dv=class{constructor(e){this.value=e}get(){return this.value}set(e){this.value=e}increment(){return this.value++}add(e){this.value+=e}},X;(function(e){e.NONE=`NONE`,e.DELTA=`DELTA`,e.COMPONENTWISE_DELTA=`COMPONENTWISE_DELTA`,e.RLE=`RLE`,e.MORTON=`MORTON`})(X||={});var fv;(function(e){e.NONE=`NONE`,e.FAST_PFOR=`FAST_PFOR`,e.VARINT=`VARINT`})(fv||={});var pv=new Uint32Array(33);pv[0]=0;for(let e=1;e<=32;e++)pv[e]=e===32?4294967295:4294967295>>>32-e;var mv=pv,hv=65536;function gv(e,t){return e-e%t}function _v(e){return gv(e+31,32)}function vv(e){if(!Number.isFinite(e)||e<=0)return hv;let t=gv(Math.floor(e),256);return t===0?256:t}function yv(e){let t=e>>>0;return((t&255)<<24|(t&65280)<<8|t>>>8&65280|t>>>24&255)>>>0}function bv(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0;n[i++]=a>>>0&3,n[i++]=a>>>2&3,n[i++]=a>>>4&3,n[i++]=a>>>6&3,n[i++]=a>>>8&3,n[i++]=a>>>10&3,n[i++]=a>>>12&3,n[i++]=a>>>14&3,n[i++]=a>>>16&3,n[i++]=a>>>18&3,n[i++]=a>>>20&3,n[i++]=a>>>22&3,n[i++]=a>>>24&3,n[i++]=a>>>26&3,n[i++]=a>>>28&3,n[i++]=a>>>30&3,n[i++]=o>>>0&3,n[i++]=o>>>2&3,n[i++]=o>>>4&3,n[i++]=o>>>6&3,n[i++]=o>>>8&3,n[i++]=o>>>10&3,n[i++]=o>>>12&3,n[i++]=o>>>14&3,n[i++]=o>>>16&3,n[i++]=o>>>18&3,n[i++]=o>>>20&3,n[i++]=o>>>22&3,n[i++]=o>>>24&3,n[i++]=o>>>26&3,n[i++]=o>>>28&3,n[i]=o>>>30&3}function xv(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0;n[i++]=a>>>0&7,n[i++]=a>>>3&7,n[i++]=a>>>6&7,n[i++]=a>>>9&7,n[i++]=a>>>12&7,n[i++]=a>>>15&7,n[i++]=a>>>18&7,n[i++]=a>>>21&7,n[i++]=a>>>24&7,n[i++]=a>>>27&7,n[i++]=(a>>>30|(o&1)<<2)&7,n[i++]=o>>>1&7,n[i++]=o>>>4&7,n[i++]=o>>>7&7,n[i++]=o>>>10&7,n[i++]=o>>>13&7,n[i++]=o>>>16&7,n[i++]=o>>>19&7,n[i++]=o>>>22&7,n[i++]=o>>>25&7,n[i++]=o>>>28&7,n[i++]=(o>>>31|(s&3)<<1)&7,n[i++]=s>>>2&7,n[i++]=s>>>5&7,n[i++]=s>>>8&7,n[i++]=s>>>11&7,n[i++]=s>>>14&7,n[i++]=s>>>17&7,n[i++]=s>>>20&7,n[i++]=s>>>23&7,n[i++]=s>>>26&7,n[i]=s>>>29&7}function Sv(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0;n[i++]=a>>>0&15,n[i++]=a>>>4&15,n[i++]=a>>>8&15,n[i++]=a>>>12&15,n[i++]=a>>>16&15,n[i++]=a>>>20&15,n[i++]=a>>>24&15,n[i++]=a>>>28&15,n[i++]=o>>>0&15,n[i++]=o>>>4&15,n[i++]=o>>>8&15,n[i++]=o>>>12&15,n[i++]=o>>>16&15,n[i++]=o>>>20&15,n[i++]=o>>>24&15,n[i++]=o>>>28&15,n[i++]=s>>>0&15,n[i++]=s>>>4&15,n[i++]=s>>>8&15,n[i++]=s>>>12&15,n[i++]=s>>>16&15,n[i++]=s>>>20&15,n[i++]=s>>>24&15,n[i++]=s>>>28&15,n[i++]=c>>>0&15,n[i++]=c>>>4&15,n[i++]=c>>>8&15,n[i++]=c>>>12&15,n[i++]=c>>>16&15,n[i++]=c>>>20&15,n[i++]=c>>>24&15,n[i]=c>>>28&15}function Cv(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0;n[i++]=a>>>0&31,n[i++]=a>>>5&31,n[i++]=a>>>10&31,n[i++]=a>>>15&31,n[i++]=a>>>20&31,n[i++]=a>>>25&31,n[i++]=(a>>>30|(o&7)<<2)&31,n[i++]=o>>>3&31,n[i++]=o>>>8&31,n[i++]=o>>>13&31,n[i++]=o>>>18&31,n[i++]=o>>>23&31,n[i++]=(o>>>28|(s&1)<<4)&31,n[i++]=s>>>1&31,n[i++]=s>>>6&31,n[i++]=s>>>11&31,n[i++]=s>>>16&31,n[i++]=s>>>21&31,n[i++]=s>>>26&31,n[i++]=(s>>>31|(c&15)<<1)&31,n[i++]=c>>>4&31,n[i++]=c>>>9&31,n[i++]=c>>>14&31,n[i++]=c>>>19&31,n[i++]=c>>>24&31,n[i++]=(c>>>29|(l&3)<<3)&31,n[i++]=l>>>2&31,n[i++]=l>>>7&31,n[i++]=l>>>12&31,n[i++]=l>>>17&31,n[i++]=l>>>22&31,n[i]=l>>>27&31}function wv(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0;n[i++]=a>>>0&63,n[i++]=a>>>6&63,n[i++]=a>>>12&63,n[i++]=a>>>18&63,n[i++]=a>>>24&63,n[i++]=(a>>>30|(o&15)<<2)&63,n[i++]=o>>>4&63,n[i++]=o>>>10&63,n[i++]=o>>>16&63,n[i++]=o>>>22&63,n[i++]=(o>>>28|(s&3)<<4)&63,n[i++]=s>>>2&63,n[i++]=s>>>8&63,n[i++]=s>>>14&63,n[i++]=s>>>20&63,n[i++]=s>>>26&63,n[i++]=c>>>0&63,n[i++]=c>>>6&63,n[i++]=c>>>12&63,n[i++]=c>>>18&63,n[i++]=c>>>24&63,n[i++]=(c>>>30|(l&15)<<2)&63,n[i++]=l>>>4&63,n[i++]=l>>>10&63,n[i++]=l>>>16&63,n[i++]=l>>>22&63,n[i++]=(l>>>28|(u&3)<<4)&63,n[i++]=u>>>2&63,n[i++]=u>>>8&63,n[i++]=u>>>14&63,n[i++]=u>>>20&63,n[i]=u>>>26&63}function Tv(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0;n[i++]=a>>>0&127,n[i++]=a>>>7&127,n[i++]=a>>>14&127,n[i++]=a>>>21&127,n[i++]=(a>>>28|(o&7)<<4)&127,n[i++]=o>>>3&127,n[i++]=o>>>10&127,n[i++]=o>>>17&127,n[i++]=o>>>24&127,n[i++]=(o>>>31|(s&63)<<1)&127,n[i++]=s>>>6&127,n[i++]=s>>>13&127,n[i++]=s>>>20&127,n[i++]=(s>>>27|(c&3)<<5)&127,n[i++]=c>>>2&127,n[i++]=c>>>9&127,n[i++]=c>>>16&127,n[i++]=c>>>23&127,n[i++]=(c>>>30|(l&31)<<2)&127,n[i++]=l>>>5&127,n[i++]=l>>>12&127,n[i++]=l>>>19&127,n[i++]=(l>>>26|(u&1)<<6)&127,n[i++]=u>>>1&127,n[i++]=u>>>8&127,n[i++]=u>>>15&127,n[i++]=u>>>22&127,n[i++]=(u>>>29|(d&15)<<3)&127,n[i++]=d>>>4&127,n[i++]=d>>>11&127,n[i++]=d>>>18&127,n[i]=d>>>25&127}function Ev(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0;n[i++]=a>>>0&255,n[i++]=a>>>8&255,n[i++]=a>>>16&255,n[i++]=a>>>24&255,n[i++]=o>>>0&255,n[i++]=o>>>8&255,n[i++]=o>>>16&255,n[i++]=o>>>24&255,n[i++]=s>>>0&255,n[i++]=s>>>8&255,n[i++]=s>>>16&255,n[i++]=s>>>24&255,n[i++]=c>>>0&255,n[i++]=c>>>8&255,n[i++]=c>>>16&255,n[i++]=c>>>24&255,n[i++]=l>>>0&255,n[i++]=l>>>8&255,n[i++]=l>>>16&255,n[i++]=l>>>24&255,n[i++]=u>>>0&255,n[i++]=u>>>8&255,n[i++]=u>>>16&255,n[i++]=u>>>24&255,n[i++]=d>>>0&255,n[i++]=d>>>8&255,n[i++]=d>>>16&255,n[i++]=d>>>24&255,n[i++]=f>>>0&255,n[i++]=f>>>8&255,n[i++]=f>>>16&255,n[i]=f>>>24&255}function Dv(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0;n[i++]=a>>>0&511,n[i++]=a>>>9&511,n[i++]=a>>>18&511,n[i++]=(a>>>27|(o&15)<<5)&511,n[i++]=o>>>4&511,n[i++]=o>>>13&511,n[i++]=o>>>22&511,n[i++]=(o>>>31|(s&255)<<1)&511,n[i++]=s>>>8&511,n[i++]=s>>>17&511,n[i++]=(s>>>26|(c&7)<<6)&511,n[i++]=c>>>3&511,n[i++]=c>>>12&511,n[i++]=c>>>21&511,n[i++]=(c>>>30|(l&127)<<2)&511,n[i++]=l>>>7&511,n[i++]=l>>>16&511,n[i++]=(l>>>25|(u&3)<<7)&511,n[i++]=u>>>2&511,n[i++]=u>>>11&511,n[i++]=u>>>20&511,n[i++]=(u>>>29|(d&63)<<3)&511,n[i++]=d>>>6&511,n[i++]=d>>>15&511,n[i++]=(d>>>24|(f&1)<<8)&511,n[i++]=f>>>1&511,n[i++]=f>>>10&511,n[i++]=f>>>19&511,n[i++]=(f>>>28|(p&31)<<4)&511,n[i++]=p>>>5&511,n[i++]=p>>>14&511,n[i]=p>>>23&511}function Ov(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0,m=e[t+9]>>>0;n[i++]=a>>>0&1023,n[i++]=a>>>10&1023,n[i++]=a>>>20&1023,n[i++]=(a>>>30|(o&255)<<2)&1023,n[i++]=o>>>8&1023,n[i++]=o>>>18&1023,n[i++]=(o>>>28|(s&63)<<4)&1023,n[i++]=s>>>6&1023,n[i++]=s>>>16&1023,n[i++]=(s>>>26|(c&15)<<6)&1023,n[i++]=c>>>4&1023,n[i++]=c>>>14&1023,n[i++]=(c>>>24|(l&3)<<8)&1023,n[i++]=l>>>2&1023,n[i++]=l>>>12&1023,n[i++]=l>>>22&1023,n[i++]=u>>>0&1023,n[i++]=u>>>10&1023,n[i++]=u>>>20&1023,n[i++]=(u>>>30|(d&255)<<2)&1023,n[i++]=d>>>8&1023,n[i++]=d>>>18&1023,n[i++]=(d>>>28|(f&63)<<4)&1023,n[i++]=f>>>6&1023,n[i++]=f>>>16&1023,n[i++]=(f>>>26|(p&15)<<6)&1023,n[i++]=p>>>4&1023,n[i++]=p>>>14&1023,n[i++]=(p>>>24|(m&3)<<8)&1023,n[i++]=m>>>2&1023,n[i++]=m>>>12&1023,n[i]=m>>>22&1023}function kv(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0,m=e[t+9]>>>0,h=e[t+10]>>>0;n[i++]=a>>>0&2047,n[i++]=a>>>11&2047,n[i++]=(a>>>22|(o&1)<<10)&2047,n[i++]=o>>>1&2047,n[i++]=o>>>12&2047,n[i++]=(o>>>23|(s&3)<<9)&2047,n[i++]=s>>>2&2047,n[i++]=s>>>13&2047,n[i++]=(s>>>24|(c&7)<<8)&2047,n[i++]=c>>>3&2047,n[i++]=c>>>14&2047,n[i++]=(c>>>25|(l&15)<<7)&2047,n[i++]=l>>>4&2047,n[i++]=l>>>15&2047,n[i++]=(l>>>26|(u&31)<<6)&2047,n[i++]=u>>>5&2047,n[i++]=u>>>16&2047,n[i++]=(u>>>27|(d&63)<<5)&2047,n[i++]=d>>>6&2047,n[i++]=d>>>17&2047,n[i++]=(d>>>28|(f&127)<<4)&2047,n[i++]=f>>>7&2047,n[i++]=f>>>18&2047,n[i++]=(f>>>29|(p&255)<<3)&2047,n[i++]=p>>>8&2047,n[i++]=p>>>19&2047,n[i++]=(p>>>30|(m&511)<<2)&2047,n[i++]=m>>>9&2047,n[i++]=m>>>20&2047,n[i++]=(m>>>31|(h&1023)<<1)&2047,n[i++]=h>>>10&2047,n[i]=h>>>21&2047}function Av(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0,m=e[t+9]>>>0,h=e[t+10]>>>0,g=e[t+11]>>>0;n[i++]=a>>>0&4095,n[i++]=a>>>12&4095,n[i++]=(a>>>24|(o&15)<<8)&4095,n[i++]=o>>>4&4095,n[i++]=o>>>16&4095,n[i++]=(o>>>28|(s&255)<<4)&4095,n[i++]=s>>>8&4095,n[i++]=s>>>20&4095,n[i++]=c>>>0&4095,n[i++]=c>>>12&4095,n[i++]=(c>>>24|(l&15)<<8)&4095,n[i++]=l>>>4&4095,n[i++]=l>>>16&4095,n[i++]=(l>>>28|(u&255)<<4)&4095,n[i++]=u>>>8&4095,n[i++]=u>>>20&4095,n[i++]=d>>>0&4095,n[i++]=d>>>12&4095,n[i++]=(d>>>24|(f&15)<<8)&4095,n[i++]=f>>>4&4095,n[i++]=f>>>16&4095,n[i++]=(f>>>28|(p&255)<<4)&4095,n[i++]=p>>>8&4095,n[i++]=p>>>20&4095,n[i++]=m>>>0&4095,n[i++]=m>>>12&4095,n[i++]=(m>>>24|(h&15)<<8)&4095,n[i++]=h>>>4&4095,n[i++]=h>>>16&4095,n[i++]=(h>>>28|(g&255)<<4)&4095,n[i++]=g>>>8&4095,n[i]=g>>>20&4095}function jv(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0,m=e[t+9]>>>0,h=e[t+10]>>>0,g=e[t+11]>>>0,_=e[t+12]>>>0,v=e[t+13]>>>0,y=e[t+14]>>>0,b=e[t+15]>>>0;n[i++]=a>>>0&65535,n[i++]=a>>>16&65535,n[i++]=o>>>0&65535,n[i++]=o>>>16&65535,n[i++]=s>>>0&65535,n[i++]=s>>>16&65535,n[i++]=c>>>0&65535,n[i++]=c>>>16&65535,n[i++]=l>>>0&65535,n[i++]=l>>>16&65535,n[i++]=u>>>0&65535,n[i++]=u>>>16&65535,n[i++]=d>>>0&65535,n[i++]=d>>>16&65535,n[i++]=f>>>0&65535,n[i++]=f>>>16&65535,n[i++]=p>>>0&65535,n[i++]=p>>>16&65535,n[i++]=m>>>0&65535,n[i++]=m>>>16&65535,n[i++]=h>>>0&65535,n[i++]=h>>>16&65535,n[i++]=g>>>0&65535,n[i++]=g>>>16&65535,n[i++]=_>>>0&65535,n[i++]=_>>>16&65535,n[i++]=v>>>0&65535,n[i++]=v>>>16&65535,n[i++]=y>>>0&65535,n[i++]=y>>>16&65535,n[i++]=b>>>0&65535,n[i]=b>>>16&65535}function Mv(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0;n[i++]=t>>>0&1,n[i++]=t>>>1&1,n[i++]=t>>>2&1,n[i++]=t>>>3&1,n[i++]=t>>>4&1,n[i++]=t>>>5&1,n[i++]=t>>>6&1,n[i++]=t>>>7&1,n[i++]=t>>>8&1,n[i++]=t>>>9&1,n[i++]=t>>>10&1,n[i++]=t>>>11&1,n[i++]=t>>>12&1,n[i++]=t>>>13&1,n[i++]=t>>>14&1,n[i++]=t>>>15&1,n[i++]=t>>>16&1,n[i++]=t>>>17&1,n[i++]=t>>>18&1,n[i++]=t>>>19&1,n[i++]=t>>>20&1,n[i++]=t>>>21&1,n[i++]=t>>>22&1,n[i++]=t>>>23&1,n[i++]=t>>>24&1,n[i++]=t>>>25&1,n[i++]=t>>>26&1,n[i++]=t>>>27&1,n[i++]=t>>>28&1,n[i++]=t>>>29&1,n[i++]=t>>>30&1,n[i++]=t>>>31&1}}function Nv(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0;n[i++]=t>>>0&3,n[i++]=t>>>2&3,n[i++]=t>>>4&3,n[i++]=t>>>6&3,n[i++]=t>>>8&3,n[i++]=t>>>10&3,n[i++]=t>>>12&3,n[i++]=t>>>14&3,n[i++]=t>>>16&3,n[i++]=t>>>18&3,n[i++]=t>>>20&3,n[i++]=t>>>22&3,n[i++]=t>>>24&3,n[i++]=t>>>26&3,n[i++]=t>>>28&3,n[i++]=t>>>30&3,n[i++]=r>>>0&3,n[i++]=r>>>2&3,n[i++]=r>>>4&3,n[i++]=r>>>6&3,n[i++]=r>>>8&3,n[i++]=r>>>10&3,n[i++]=r>>>12&3,n[i++]=r>>>14&3,n[i++]=r>>>16&3,n[i++]=r>>>18&3,n[i++]=r>>>20&3,n[i++]=r>>>22&3,n[i++]=r>>>24&3,n[i++]=r>>>26&3,n[i++]=r>>>28&3,n[i++]=r>>>30&3}}function Pv(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0;n[i++]=t>>>0&7,n[i++]=t>>>3&7,n[i++]=t>>>6&7,n[i++]=t>>>9&7,n[i++]=t>>>12&7,n[i++]=t>>>15&7,n[i++]=t>>>18&7,n[i++]=t>>>21&7,n[i++]=t>>>24&7,n[i++]=t>>>27&7,n[i++]=(t>>>30|(r&1)<<2)&7,n[i++]=r>>>1&7,n[i++]=r>>>4&7,n[i++]=r>>>7&7,n[i++]=r>>>10&7,n[i++]=r>>>13&7,n[i++]=r>>>16&7,n[i++]=r>>>19&7,n[i++]=r>>>22&7,n[i++]=r>>>25&7,n[i++]=r>>>28&7,n[i++]=(r>>>31|(o&3)<<1)&7,n[i++]=o>>>2&7,n[i++]=o>>>5&7,n[i++]=o>>>8&7,n[i++]=o>>>11&7,n[i++]=o>>>14&7,n[i++]=o>>>17&7,n[i++]=o>>>20&7,n[i++]=o>>>23&7,n[i++]=o>>>26&7,n[i++]=o>>>29&7}}function Fv(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0;n[i++]=t>>>0&15,n[i++]=t>>>4&15,n[i++]=t>>>8&15,n[i++]=t>>>12&15,n[i++]=t>>>16&15,n[i++]=t>>>20&15,n[i++]=t>>>24&15,n[i++]=t>>>28&15,n[i++]=r>>>0&15,n[i++]=r>>>4&15,n[i++]=r>>>8&15,n[i++]=r>>>12&15,n[i++]=r>>>16&15,n[i++]=r>>>20&15,n[i++]=r>>>24&15,n[i++]=r>>>28&15,n[i++]=o>>>0&15,n[i++]=o>>>4&15,n[i++]=o>>>8&15,n[i++]=o>>>12&15,n[i++]=o>>>16&15,n[i++]=o>>>20&15,n[i++]=o>>>24&15,n[i++]=o>>>28&15,n[i++]=s>>>0&15,n[i++]=s>>>4&15,n[i++]=s>>>8&15,n[i++]=s>>>12&15,n[i++]=s>>>16&15,n[i++]=s>>>20&15,n[i++]=s>>>24&15,n[i++]=s>>>28&15}}function Iv(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0,c=e[a++]>>>0;n[i++]=t>>>0&31,n[i++]=t>>>5&31,n[i++]=t>>>10&31,n[i++]=t>>>15&31,n[i++]=t>>>20&31,n[i++]=t>>>25&31,n[i++]=(t>>>30|(r&7)<<2)&31,n[i++]=r>>>3&31,n[i++]=r>>>8&31,n[i++]=r>>>13&31,n[i++]=r>>>18&31,n[i++]=r>>>23&31,n[i++]=(r>>>28|(o&1)<<4)&31,n[i++]=o>>>1&31,n[i++]=o>>>6&31,n[i++]=o>>>11&31,n[i++]=o>>>16&31,n[i++]=o>>>21&31,n[i++]=o>>>26&31,n[i++]=(o>>>31|(s&15)<<1)&31,n[i++]=s>>>4&31,n[i++]=s>>>9&31,n[i++]=s>>>14&31,n[i++]=s>>>19&31,n[i++]=s>>>24&31,n[i++]=(s>>>29|(c&3)<<3)&31,n[i++]=c>>>2&31,n[i++]=c>>>7&31,n[i++]=c>>>12&31,n[i++]=c>>>17&31,n[i++]=c>>>22&31,n[i++]=c>>>27&31}}function Lv(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0,c=e[a++]>>>0,l=e[a++]>>>0;n[i++]=t>>>0&63,n[i++]=t>>>6&63,n[i++]=t>>>12&63,n[i++]=t>>>18&63,n[i++]=t>>>24&63,n[i++]=(t>>>30|(r&15)<<2)&63,n[i++]=r>>>4&63,n[i++]=r>>>10&63,n[i++]=r>>>16&63,n[i++]=r>>>22&63,n[i++]=(r>>>28|(o&3)<<4)&63,n[i++]=o>>>2&63,n[i++]=o>>>8&63,n[i++]=o>>>14&63,n[i++]=o>>>20&63,n[i++]=o>>>26&63,n[i++]=s>>>0&63,n[i++]=s>>>6&63,n[i++]=s>>>12&63,n[i++]=s>>>18&63,n[i++]=s>>>24&63,n[i++]=(s>>>30|(c&15)<<2)&63,n[i++]=c>>>4&63,n[i++]=c>>>10&63,n[i++]=c>>>16&63,n[i++]=c>>>22&63,n[i++]=(c>>>28|(l&3)<<4)&63,n[i++]=l>>>2&63,n[i++]=l>>>8&63,n[i++]=l>>>14&63,n[i++]=l>>>20&63,n[i++]=l>>>26&63}}function Rv(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0,c=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0;n[i++]=t>>>0&127,n[i++]=t>>>7&127,n[i++]=t>>>14&127,n[i++]=t>>>21&127,n[i++]=(t>>>28|(r&7)<<4)&127,n[i++]=r>>>3&127,n[i++]=r>>>10&127,n[i++]=r>>>17&127,n[i++]=r>>>24&127,n[i++]=(r>>>31|(o&63)<<1)&127,n[i++]=o>>>6&127,n[i++]=o>>>13&127,n[i++]=o>>>20&127,n[i++]=(o>>>27|(s&3)<<5)&127,n[i++]=s>>>2&127,n[i++]=s>>>9&127,n[i++]=s>>>16&127,n[i++]=s>>>23&127,n[i++]=(s>>>30|(c&31)<<2)&127,n[i++]=c>>>5&127,n[i++]=c>>>12&127,n[i++]=c>>>19&127,n[i++]=(c>>>26|(l&1)<<6)&127,n[i++]=l>>>1&127,n[i++]=l>>>8&127,n[i++]=l>>>15&127,n[i++]=l>>>22&127,n[i++]=(l>>>29|(u&15)<<3)&127,n[i++]=u>>>4&127,n[i++]=u>>>11&127,n[i++]=u>>>18&127,n[i++]=u>>>25&127}}function zv(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0,c=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0,d=e[a++]>>>0;n[i++]=t>>>0&255,n[i++]=t>>>8&255,n[i++]=t>>>16&255,n[i++]=t>>>24&255,n[i++]=r>>>0&255,n[i++]=r>>>8&255,n[i++]=r>>>16&255,n[i++]=r>>>24&255,n[i++]=o>>>0&255,n[i++]=o>>>8&255,n[i++]=o>>>16&255,n[i++]=o>>>24&255,n[i++]=s>>>0&255,n[i++]=s>>>8&255,n[i++]=s>>>16&255,n[i++]=s>>>24&255,n[i++]=c>>>0&255,n[i++]=c>>>8&255,n[i++]=c>>>16&255,n[i++]=c>>>24&255,n[i++]=l>>>0&255,n[i++]=l>>>8&255,n[i++]=l>>>16&255,n[i++]=l>>>24&255,n[i++]=u>>>0&255,n[i++]=u>>>8&255,n[i++]=u>>>16&255,n[i++]=u>>>24&255,n[i++]=d>>>0&255,n[i++]=d>>>8&255,n[i++]=d>>>16&255,n[i++]=d>>>24&255}}function Bv(e,t,n,r){let i=r,a=t;for(let t=0;t<128;t++){let t=e[a++]>>>0;n[i++]=t&65535,n[i++]=t>>>16&65535}}function Vv(e,t,n,r,i){let a=mv[i]>>>0,o=t,s=0,c=e[o]>>>0,l=r;for(let t=0;t<8;t++){for(let t=0;t<32;t++)if(s+i<=32){let r=c>>>s&a;n[l+t]=r|0,s+=i,s===32&&(s=0,o++,t!==31&&(c=e[o]>>>0))}else{let r=32-s,u=c>>>s;o++,c=e[o]>>>0;let d=i-r,f=-1>>>32-d>>>0,p=(u|(c&f)<<r)&a;n[l+t]=p|0,s=d}l+=32,s=0,t<7&&(c=e[o]>>>0)}}var Hv=vv(hv),Uv=3*Hv/256+Hv|0;function Wv(){let e=new Uint8Array(Uv);return{dataToBePacked:Array(33),dataPointers:new Int32Array(33),byteContainer:e,byteContainerI32:new Int32Array(e.buffer,e.byteOffset,e.byteLength>>>2),exceptionSizes:new Int32Array(33)}}function Gv(e=16){if(e<0)throw RangeError(`initialEncodedWordCapacity must be >= 0, got ${e}`);let t=Math.max(16,e|0);return{encodedWords:new Uint32Array(t),decoderWorkspace:Wv()}}function Kv(e,t){if(t<=e.encodedWords.length)return e.encodedWords;let n=new Uint32Array(Math.max(16,t*2));return e.encodedWords=n,n}function qv(e,t,n,r){r.byteContainer.length<n&&(r.byteContainer=new Uint8Array(n*2),r.byteContainerI32=void 0);let i=r.byteContainer,a=n>>>2;if(i.byteOffset&3)for(let n=0;n<a;n=n+1|0){let r=e[t+n|0]|0,a=n<<2;i[a]=r&255,i[a+1|0]=r>>>8&255,i[a+2|0]=r>>>16&255,i[a+3|0]=r>>>24&255}else{let n=r.byteContainerI32;(!n||n.buffer!==i.buffer||n.byteOffset!==i.byteOffset||n.length<a)&&(n=r.byteContainerI32=new Int32Array(i.buffer,i.byteOffset,i.byteLength>>>2)),n.set(e.subarray(t,t+a))}let o=n&3;if(o>0){let n=e[t+a|0]|0,r=a<<2;for(let e=0;e<o;e=e+1|0)i[r+e|0]=n>>>(e<<3)&255}return i}function Jv(e,t,n){let r=e[t++]|0,i=n.dataToBePacked;for(let a=2;a<=32;a=a+1|0){if(!(r>>>a-1&1))continue;if(t>=e.length)throw Error(`FastPFOR decode: truncated exception stream header (bitWidth=${a}, streamWordIndex=${t}, needWords=1, availableWords=${e.length-t}, encodedWords=${e.length})`);let o=e[t++]>>>0,s=_v(o),c=o*a+31>>>5;if(t+c>e.length)throw Error(`FastPFOR decode: truncated exception stream (bitWidth=${a}, size=${o}, streamWordIndex=${t}, needWords=${c}, availableWords=${e.length-t}, encodedWords=${e.length})`);let l=i[a];(!l||l.length<s)&&(l=i[a]=new Uint32Array(s));let u=0;for(;u<o;u=u+32|0)iy(e,t,l,u,a),t=t+a|0;let d=u-o|0;t=t-(d*a>>>5)|0,n.exceptionSizes[a]=o}return t}function Yv(e,t,n,r,i){switch(i){case 1:Mv(e,t,n,r);break;case 2:Nv(e,t,n,r);break;case 3:Pv(e,t,n,r);break;case 4:Fv(e,t,n,r);break;case 5:Iv(e,t,n,r);break;case 6:Lv(e,t,n,r);break;case 7:Rv(e,t,n,r);break;case 8:zv(e,t,n,r);break;case 16:Bv(e,t,n,r);break;default:Vv(e,t,n,r,i)}return t+(i<<3)|0}function Xv(e,t,n,r){if(n+2>t)throw Error(`FastPFOR decode: byteContainer underflow at block=${r} (need 2 bytes for [bitWidth, exceptionCount], bytePos=${n}, byteSize=${t})`);let i=e[n++],a=e[n++];if(i>32)throw Error(`FastPFOR decode: invalid bitWidth=${i} at block=${r} (expected 0..32). This likely indicates corrupted or truncated input.`);return{bitWidth:i,exceptionCount:a,bytePosIn:n}}function Zv(e,t,n,r,i,a){if(n+1>t)throw Error(`FastPFOR decode: exception header underflow at block=${a} (need 1 byte for maxBits, bytePos=${n}, byteSize=${t})`);let o=e[n++];if(o<r||o>32)throw Error(`FastPFOR decode: invalid maxBits=${o} at block=${a} (bitWidth=${r}, expected ${r}..32)`);let s=o-r|0;if(s<1||s>32)throw Error(`FastPFOR decode: invalid exceptionBitWidth=${s} at block=${a} (bitWidth=${r}, maxBits=${o})`);if(n+i>t)throw Error(`FastPFOR decode: exception positions underflow at block=${a} (need=${i}, have=${t-n})`);return{maxBits:o,exceptionBitWidth:s,bytePosIn:n}}function Qv(e,t,n,r,i,a,o,s,c){let{maxBits:l,exceptionBitWidth:u,bytePosIn:d}=Zv(i,a,o,n,r,c);if(o=d,u===1){let a=1<<n;for(let n=0;n<r;n=n+1|0){let n=i[o++];e[n+t|0]|=a}return o}let f=s.dataToBePacked[u];if(!f)throw Error(`FastPFOR decode: missing exception stream for exceptionBitWidth=${u} (bitWidth=${n}, maxBits=${l}) at block ${c}`);let p=s.dataPointers,m=p[u]|0,h=s.exceptionSizes[u]|0;if(m+r>h)throw Error(`FastPFOR decode: exception stream overflow for exceptionBitWidth=${u} (ptr=${m}, need ${r}, size=${h}) at block ${c}`);for(let a=0;a<r;a=a+1|0){let r=i[o++],a=f[m++]|0;e[r+t|0]|=a<<n}return p[u]=m,o}function $v(e,t,n,r,i,a,o,s,c,l){let u=n|0,d=0;for(let t=0;t<o;t=t+1|0){let n=Xv(s,c,d,t);d=n.bytePosIn;let r=n.bitWidth,o=n.exceptionCount,f=a+t*256|0;switch(r){case 0:i.fill(0,f,f+256);break;case 32:for(let t=0;t<256;t=t+1|0)i[f+t|0]=e[u+t|0]|0;u=u+256|0;break;default:u=Yv(e,u,i,f,r)}o>0&&(d=Qv(i,f,r,o,s,c,d,l,t))}if(u!==r)throw Error(`FastPFOR decode: packed region mismatch (pageStart=${t}, packedStart=${n}, consumedPackedEnd=${u}, expectedPackedEnd=${r}, packedWords=${r-n}, encoded.length=${e.length})`)}function ey(e,t,n,r,i,a){let o=n|0,s=e[o]|0;if(s<=0||o+s>e.length-1)throw Error(`FastPFOR decode: invalid whereMeta=${s} at pageStart=${o} (expected > 0 and pageStart+whereMeta < encoded.length=${e.length})`);let c=o+1|0,l=o+s|0,u=e[l]>>>0,d=u+3>>>2,f=l+1,p=f+d;if(p>=e.length)throw Error(`FastPFOR decode: invalid byteSize=${u} (metaInts=${d}, pageStart=${o}, packedEnd=${l}, byteContainerStart=${f}) causes bitmapPos=${p} out of bounds (encoded.length=${e.length})`);let m=qv(e,f,u,a),h=u,g=Jv(e,p,a);return a.dataPointers.fill(0),$v(e,o,c,l,t,r|0,i/256|0,m,h,a),g}function ty(e,t,n,r,i,a){let o=r+gv(i,256),s=r,c=n;for(;s!==o;){let n=Math.min(Hv,o-s);c=ey(e,t,c,s,n,a),s=s+n|0}return c}function ny(e,t,n,r,i,a){if(a===0)return t;let o=0,s=t,c=t+n,l=i,u=i,d=i+a,f=0,p=0;for(;s<c&&u<d;){let t=e[s]>>>o&255;if(o+=8,s+=o>>>5,o&=31,f|=(t&127)<<p,t&128)r[u++]=f|0,f=0,p=0;else if(p+=7,p>28)throw Error(`FastPFOR VByte: unterminated value (expected MSB=1 terminator within 5 bytes; shift=${p}, partial=${f}, decoded=${u-l}/${a}, inPos=${s}, inEnd=${c})`)}if(u!==d)throw Error(`FastPFOR VByte: truncated stream (decoded=${u-l}, expected=${a}, consumedWords=${s-t}/${n}, vbyteStart=${t}, vbyteEnd=${c})`);return s}function ry(e,t,n){let r=0,i=0,a=new Uint32Array(t),o=n??Wv();if(e.length>0){let t=e[r]|0;if(r=r+1|0,t&255)throw Error(`FastPFOR decode: invalid alignedLength=${t} (expected multiple of 256)`);if(i+t>a.length)throw Error(`FastPFOR decode: output buffer too small (outPos=${i}, alignedLength=${t}, out.length=${a.length})`);r=ty(e,a,r,i,t,o),i=i+t|0}let s=e.length-r|0,c=t-i|0;return ny(e,r,s,a,i,c),a}function iy(e,t,n,r,i){switch(i){case 2:bv(e,t,n,r);return;case 3:xv(e,t,n,r);return;case 4:Sv(e,t,n,r);return;case 5:Cv(e,t,n,r);return;case 6:wv(e,t,n,r);return;case 7:Tv(e,t,n,r);return;case 8:Ev(e,t,n,r);return;case 9:Dv(e,t,n,r);return;case 10:Ov(e,t,n,r);return;case 11:kv(e,t,n,r);return;case 12:Av(e,t,n,r);return;case 16:jv(e,t,n,r);return;case 32:for(let i=0;i<32;i=i+1|0)n[r+i|0]=e[t+i|0]|0;return}let a=mv[i]>>>0,o=t,s=0,c=e[o]>>>0;for(let t=0;t<32;t++)if(s+i<=32){let l=c>>>s&a;n[r+t]=l|0,s+=i,s===32&&(s=0,o++,t!==31&&(c=e[o]>>>0))}else{let l=32-s,u=c>>>s;o++,c=e[o]>>>0;let d=mv[i-l]>>>0,f=(u|(c&d)<<l)&a;n[r+t]=f|0,s=i-l}}function ay(e,t,n,r){if(t<0||n<0||t+n>e.length)throw RangeError(`decodeBigEndianInt32sInto: out of bounds (offset=${t}, byteLength=${n}, bytes.length=${e.length})`);let i=Math.floor(n/4),a=n%4!=0,o=a?i+1:i;if(r.length<o)throw RangeError(`decodeBigEndianInt32sInto: out.length=${r.length} < ${o}`);if(i>0){let n=e.byteOffset+t;if(n&3)for(let n=0;n<i;n++){let i=t+n*4;r[n]=e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3]|0}else{let t=new Uint32Array(e.buffer,n,i);for(let e=0;e<i;e++)r[e]=yv(t[e])|0}}if(a){let a=t+i*4,o=n-i*4,s=0;for(let t=0;t<o;t++)s|=e[a+t]<<24-t*8;r[i]=s|0}return o}function oy(e,t,n){let r=new Uint32Array(n),i=0,a=t.get();for(let t=0;t<r.length;t++){let t=e[a++],n=t&127;if(t<128){r[i++]=n;continue}if(t=e[a++],n|=(t&127)<<7,t<128){r[i++]=n;continue}if(t=e[a++],n|=(t&127)<<14,t<128){r[i++]=n;continue}if(t=e[a++],n|=(t&127)<<21,t<128){r[i++]=n;continue}t=e[a++],n|=(t&15)<<28,r[i++]=n}return t.set(a),r}function sy(e,t,n){let r=new BigUint64Array(n);for(let n=0;n<r.length;n++)r[n]=cy(e,t);return r}function cy(e,t){let n=0n,r=0,i=t.get();for(;i<e.length;){let t=e[i++];if(n|=BigInt(t&127)<<BigInt(r),!(t&128))break;if(r+=7,r>=64)throw Error(`Varint too long`)}return t.set(i),n}function ly(e,t,n){let r=new Float64Array(n);for(let i=0;i<n;i++)r[i]=uy(e,t);return r}function uy(e,t){let n,r;return r=e[t.get()],t.increment(),n=r&127,r<128||(r=e[t.get()],t.increment(),n|=(r&127)<<7,r<128)||(r=e[t.get()],t.increment(),n|=(r&127)<<14,r<128)||(r=e[t.get()],t.increment(),n|=(r&127)<<21,r<128)?n:(r=e[t.get()],n|=(r&15)<<28,dy(n,e,t))}function dy(e,t,n){let r,i;if(i=t[n.get()],n.increment(),r=(i&112)>>4,i<128||(i=t[n.get()],n.increment(),r|=(i&127)<<3,i<128)||(i=t[n.get()],n.increment(),r|=(i&127)<<10,i<128)||(i=t[n.get()],n.increment(),r|=(i&127)<<17,i<128)||(i=t[n.get()],n.increment(),r|=(i&127)<<24,i<128)||(i=t[n.get()],n.increment(),r|=(i&1)<<31,i<128))return r*4294967296+(e>>>0);throw Error(`Expected varint not more than 10 bytes`)}function fy(e,t,n,r){return py(e,t,n,r,Gv(n>>>2))}function py(e,t,n,r,i){let a=r.get();if(n&3)throw Error(`FastPFOR: invalid encodedByteLength=${n} at offset=${a} (encodedBytes.length=${e.length}; expected a multiple of 4 bytes for an int32 big-endian word stream)`);let o=n>>>2,s=Kv(i,o);ay(e,a,n,s);let c=ry(s.subarray(0,o),t,i.decoderWorkspace);return r.add(n),c}function Z(e){return e>>>1^-(e&1)}function my(e){return e>>1n^-(e&1n)}function hy(e){return e%2==1?(e+1)/-2:e/2}function gy(e){let t=new Int32Array(e.length);for(let n=0;n<e.length;n++)t[n]=Z(e[n]);return t}function _y(e){let t=new BigInt64Array(e.length);for(let n=0;n<e.length;n++)t[n]=my(e[n]);return t}function vy(e){for(let t=0;t<e.length;t++)e[t]=hy(e[t])}function yy(e,t,n){if(n===void 0){n=0;for(let r=0;r<t;r++)n+=e[r]}let r=new Uint32Array(n),i=0;for(let n=0;n<t;n++){let a=e[n],o=e[n+t];r.fill(o,i,i+a),i+=a}return r}function by(e,t,n){if(n===void 0){n=0;for(let r=0;r<t;r++)n+=Number(e[r])}let r=new BigUint64Array(n),i=0;for(let n=0;n<t;n++){let a=Number(e[n]),o=e[n+t];r.fill(o,i,i+a),i+=a}return r}function xy(e,t,n){let r=new Float64Array(n),i=0;for(let n=0;n<t;n++){let a=e[n],o=e[n+t];r.fill(o,i,i+a),i+=a}return r}function Sy(e){let t=new Int32Array(e.length);t[0]=Z(e[0]);let n=e.length/4*4,r=1;if(n>=4)for(;r<n-4;r+=4){let n=e[r],i=e[r+1],a=e[r+2],o=e[r+3];t[r]=Z(n)+t[r-1],t[r+1]=Z(i)+t[r],t[r+2]=Z(a)+t[r+1],t[r+3]=Z(o)+t[r+2]}for(;r!==e.length;++r)t[r]=Z(e[r])+t[r-1];return t}function Cy(e){let t=new BigInt64Array(e.length);t[0]=my(e[0]);let n=e.length/4*4,r=1;if(n>=4)for(;r<n-4;r+=4){let n=e[r],i=e[r+1],a=e[r+2],o=e[r+3];t[r]=my(n)+t[r-1],t[r+1]=my(i)+t[r],t[r+2]=my(a)+t[r+1],t[r+3]=my(o)+t[r+2]}for(;r!==t.length;++r)t[r]=my(e[r])+t[r-1];return t}function wy(e){e[0]=hy(e[0]);let t=e.length/4*4,n=1;if(t>=4)for(;n<t-4;n+=4){let t=e[n],r=e[n+1],i=e[n+2],a=e[n+3];e[n]=hy(t)+e[n-1],e[n+1]=hy(r)+e[n],e[n+2]=hy(i)+e[n+1],e[n+3]=hy(a)+e[n+2]}for(;n!==e.length;++n)e[n]=hy(e[n])+e[n-1]}function Ty(e,t,n){if(n===void 0){n=0;for(let r=0;r<t;r++)n+=e[r]}let r=new Int32Array(n),i=0;for(let n=0;n<t;n++){let a=e[n],o=e[n+t];o=Z(o),r.fill(o,i,i+a),i+=a}return r}function Ey(e,t,n){if(n===void 0){n=0;for(let r=0;r<t;r++)n+=Number(e[r])}let r=new BigInt64Array(n),i=0;for(let n=0;n<t;n++){let a=Number(e[n]),o=e[n+t];o=my(o),r.fill(o,i,i+a),i+=a}return r}function Dy(e,t,n){let r=new Float64Array(n),i=0;for(let n=0;n<t;n++){let a=e[n],o=e[n+t];o=hy(o),r.fill(o,i,i+a),i+=a}return r}function Oy(e){let t=e.length/4*4,n=1;if(t>=4)for(let r=e[0];n<t-4;n+=4)r=e[n]+=r,r=e[n+1]+=r,r=e[n+2]+=r,r=e[n+3]+=r;for(;n!==e.length;)e[n]+=e[n-1],++n}function ky(e){let t=0;for(let n=0;n<e.length;n++)e[n]+=t,t=e[n]}function Ay(e){if(e.length<2)return new Int32Array(e);let t=new Int32Array(e.length);t[0]=Z(e[0]),t[1]=Z(e[1]);let n=e.length/4*4,r=2;if(n>=4)for(;r<n-4;r+=4){let n=e[r],i=e[r+1],a=e[r+2],o=e[r+3];t[r]=Z(n)+t[r-2],t[r+1]=Z(i)+t[r-1],t[r+2]=Z(a)+t[r],t[r+3]=Z(o)+t[r+1]}for(;r!==e.length;r+=2)t[r]=Z(e[r])+t[r-2],t[r+1]=Z(e[r+1])+t[r-1];return t}function jy(e,t,n,r){if(e.length<2)return new Int32Array(e);let i=new Int32Array(e.length),a=Z(e[0]),o=Z(e[1]);i[0]=My(Math.round(a*t),n,r),i[1]=My(Math.round(o*t),n,r);let s=e.length/16,c=2;if(s>=4)for(;c<s-4;c+=4){let s=e[c],l=e[c+1],u=Z(s)+a,d=Z(l)+o;i[c]=My(Math.round(u*t),n,r),i[c+1]=My(Math.round(d*t),n,r);let f=e[c+2],p=e[c+3];a=Z(f)+u,o=Z(p)+d,i[c+2]=My(Math.round(a*t),n,r),i[c+3]=My(Math.round(o*t),n,r)}for(;c!==e.length;c+=2)a+=Z(e[c]),o+=Z(e[c+1]),i[c]=My(Math.round(a*t),n,r),i[c+1]=My(Math.round(o*t),n,r);return i}function My(e,t,n){return Math.min(n,Math.max(t,e))}function Ny(e){let t=new Int32Array(e.length+1);t[0]=0,t[1]=Z(e[0]);let n=t[1];for(let r=2;r!==t.length;++r){let i=e[r-1],a=Z(i);n+=a,t[r]=t[r-1]+n}return new Uint32Array(t)}function Py(e,t,n){let r=new Int32Array(n+1);r[0]=0;let i=1,a=r[0];for(let n=0;n<t;n++){let o=e[n],s=e[n+t];s=Z(s);for(let e=i;e<i+o;e++)r[e]=s+a,a=r[e];i+=o}return r}function Fy(e,t,n){let r=new Uint32Array(n+1);r[0]=0;let i=1,a=r[0];for(let n=0;n<t;n++){let o=e[n],s=e[n+t];for(let e=i;e<i+o;e++)r[e]=s+a,a=r[e];i+=o}return r}function Iy(e,t,n){let r=new Int32Array(n),i=0,a=0;for(let n=0;n<t;n++){let o=e[n],s=e[n+t],c=Z(s);for(let e=0;e<o;e++)a+=c,r[i++]=a}return r}function Ly(e,t,n){let r=new BigInt64Array(n),i=0,a=0n;for(let n=0;n<t;n++){let o=Number(e[n]),s=e[n+t],c=my(s);for(let e=0;e<o;e++)a+=c,r[i++]=a}return r}function Ry(e){let t=new Uint32Array(e.length);t[0]=Z(e[0])>>>0;for(let n=1;n<e.length;n++)t[n]=t[n-1]+Z(e[n])>>>0;return t}function zy(e){let t=new BigUint64Array(e.length);t[0]=BigInt.asUintN(64,my(e[0]));for(let n=1;n<e.length;n++)t[n]=BigInt.asUintN(64,t[n-1]+my(e[n]));return t}function By(e){if(e.length<2)return new Uint32Array(e);let t=new Uint32Array(e.length);t[0]=Z(e[0])>>>0,t[1]=Z(e[1])>>>0;for(let n=2;n<e.length;n+=2)t[n]=t[n-2]+Z(e[n])>>>0,t[n+1]=t[n-1]+Z(e[n+1])>>>0;return t}function Vy(e,t,n,r){let i=jy(e,t,n,r);return new Uint32Array(i)}function Hy(e){return e[1]}function Uy(e){return Z(e[1])}function Wy(e){if(e.length===2){let t=Z(e[1]);return[t,t]}return[Z(e[2]),Z(e[3])]}function Gy(e){return e[1]}function Ky(e){return my(e[1])}function qy(e){if(e.length===2){let t=my(e[1]);return[t,t]}return[my(e[2]),my(e[3])]}var Jy;(function(e){e.PRESENT=`PRESENT`,e.DATA=`DATA`,e.OFFSET=`OFFSET`,e.LENGTH=`LENGTH`})(Jy||={});var Yy;(function(e){e.NONE=`NONE`,e.SINGLE=`SINGLE`,e.SHARED=`SHARED`,e.VERTEX=`VERTEX`,e.MORTON=`MORTON`,e.FSST=`FSST`})(Yy||={});var Xy;(function(e){e.VERTEX=`VERTEX`,e.INDEX=`INDEX`,e.STRING=`STRING`,e.KEY=`KEY`})(Xy||={});var Zy;(function(e){e.VAR_BINARY=`VAR_BINARY`,e.GEOMETRIES=`GEOMETRIES`,e.PARTS=`PARTS`,e.RINGS=`RINGS`,e.TRIANGLES=`TRIANGLES`,e.SYMBOL=`SYMBOL`,e.DICTIONARY=`DICTIONARY`})(Zy||={});var Qy=[Jy.PRESENT,Jy.DATA,Jy.OFFSET,Jy.LENGTH],$y=[X.NONE,X.DELTA,X.COMPONENTWISE_DELTA,X.RLE,X.MORTON],eb=[fv.NONE,fv.FAST_PFOR,fv.VARINT],tb=[Yy.NONE,Yy.SINGLE,Yy.SHARED,Yy.VERTEX,Yy.MORTON,Yy.FSST],nb=[Xy.VERTEX,Xy.INDEX,Xy.STRING,Xy.KEY],rb=[Zy.VAR_BINARY,Zy.GEOMETRIES,Zy.PARTS,Zy.RINGS,Zy.TRIANGLES,Zy.SYMBOL,Zy.DICTIONARY];function Q(e,t){let n=ob(e,t);return n.logicalLevelTechnique1===X.MORTON?ib(n,e,t):(X.RLE===n.logicalLevelTechnique1||X.RLE===n.logicalLevelTechnique2)&&fv.NONE!==n.physicalLevelTechnique?ab(n,e,t):n}function ib(e,t,n){let r=oy(t,n,2);return{physicalStreamType:e.physicalStreamType,logicalStreamType:e.logicalStreamType,logicalLevelTechnique1:e.logicalLevelTechnique1,logicalLevelTechnique2:e.logicalLevelTechnique2,physicalLevelTechnique:e.physicalLevelTechnique,numValues:e.numValues,byteLength:e.byteLength,decompressedCount:e.decompressedCount,numBits:r[0],coordinateShift:r[1]}}function ab(e,t,n){let r=oy(t,n,2);return{physicalStreamType:e.physicalStreamType,logicalStreamType:e.logicalStreamType,logicalLevelTechnique1:e.logicalLevelTechnique1,logicalLevelTechnique2:e.logicalLevelTechnique2,physicalLevelTechnique:e.physicalLevelTechnique,numValues:e.numValues,byteLength:e.byteLength,decompressedCount:r[1],runs:r[0],numRleValues:r[1]}}function ob(e,t){let n=e[t.get()],r=Qy[n>>4],i={};switch(r){case Jy.DATA:i={dictionaryType:tb[n&15]};break;case Jy.OFFSET:i={offsetType:nb[n&15]};break;case Jy.LENGTH:i={lengthType:rb[n&15]}}t.increment();let a=e[t.get()],o=$y[a>>5],s=$y[a>>2&7],c=eb[a&3];t.increment();let l=oy(e,t,2),u=l[0],d=l[1];return{physicalStreamType:r,logicalStreamType:i,logicalLevelTechnique1:o,logicalLevelTechnique2:s,physicalLevelTechnique:c,numValues:u,byteLength:d,decompressedCount:u}}var $;(function(e){e[e.FLAT=0]=`FLAT`,e[e.CONST=1]=`CONST`,e[e.SEQUENCE=2]=`SEQUENCE`,e[e.DICTIONARY=3]=`DICTIONARY`,e[e.FSST_DICTIONARY=4]=`FSST_DICTIONARY`})($||={});var sb=class{constructor(e,t){this.values=e,this._size=t}get(e){let t=Math.floor(e/8),n=e%8;return(this.values[t]>>n&1)==1}set(e,t){let n=Math.floor(e/8),r=e%8;this.values[n]=this.values[n]|+!!t<<r}getInt(e){let t=Math.floor(e/8),n=e%8;return this.values[t]>>n&1}size(){return this._size}getBuffer(){return this.values}};function cb(e,t,n){if(!t)return e;let r=t.size(),i=e.constructor,a=new i(r),o=0;for(let i=0;i<r;i++)a[i]=t.get(i)?e[o++]:n;return a}function lb(e,t,n){if(!n)return e;let r=n.size(),i=new sb(e,t),a=new sb(new Uint8Array(Math.ceil(r/8)),r),o=0;for(let e=0;e<r;e++){let t=n.get(e)?i.get(o++):!1;a.set(e,t)}return a.getBuffer()}function ub(e,t,n){for(let r=0;r<e;r++){let e=Q(t,n);n.add(e.byteLength)}}function db(e,t,n,r,i){let a=fb(e,Math.ceil(t/8),n,r);return i?lb(a,t,i):a}function fb(e,t,n,r){let i=new Uint8Array(t),a=0,o=r.get()+n;for(;a<t&&!(r.get()>=o);){let n=e[r.increment()];if(n<=127){let o=n+3,s=e[r.increment()],c=Math.min(a+o,t);i.fill(s,a,c),a=c}else{let o=256-n;for(let n=0;n<o&&a<t;n++)i[a++]=e[r.increment()]}}return r.set(o),i}function pb(e,t,n,r){let i=t.get(),a=i+n*Float32Array.BYTES_PER_ELEMENT,o=new Uint8Array(e.subarray(i,a)).buffer,s=new Float32Array(o);return t.set(a),r?cb(s,r,0):s}function mb(e,t,n,r){let i=t.get(),a=i+n*Float64Array.BYTES_PER_ELEMENT,o=new Uint8Array(e.subarray(i,a)).buffer,s=new Float64Array(o);return t.set(a),r?cb(s,r,0):s}function hb(e,t,n){let r=t.get(),i=n*Uint32Array.BYTES_PER_ELEMENT,a=new DataView(e.buffer,e.byteOffset,e.byteLength),o=new Uint32Array(n);for(let e=0;e<n;e++)o[e]=a.getUint32(r+e*Uint32Array.BYTES_PER_ELEMENT,!0);return t.add(i),o}function gb(e,t,n){let r=t.get(),i=n*BigUint64Array.BYTES_PER_ELEMENT,a=new DataView(e.buffer,e.byteOffset,e.byteLength),o=new BigUint64Array(n);for(let e=0;e<n;e++)o[e]=a.getBigUint64(r+e*BigUint64Array.BYTES_PER_ELEMENT,!0);return t.add(i),o}var _b=new TextDecoder;function vb(e,t,n){return n-t>=12?_b.decode(e.subarray(t,n)):yb(e,t,n)}function yb(e,t,n){let r=``,i=t;for(;i<n;){let t=e[i],a=null,o=t>239?4:t>223?3:t>191?2:1;if(i+o>n)break;let s,c,l;o===1?t<128&&(a=t):o===2?(s=e[i+1],(s&192)==128&&(a=(t&31)<<6|s&63,a<=127&&(a=null))):o===3?(s=e[i+1],c=e[i+2],(s&192)==128&&(c&192)==128&&(a=(t&15)<<12|(s&63)<<6|c&63,(a<=2047||a>=55296&&a<=57343)&&(a=null))):o===4&&(s=e[i+1],c=e[i+2],l=e[i+3],(s&192)==128&&(c&192)==128&&(l&192)==128&&(a=(t&15)<<18|(s&63)<<12|(c&63)<<6|l&63,(a<=65535||a>=1114112)&&(a=null))),a===null?(a=65533,o=1):a>65535&&(a-=65536,r+=String.fromCharCode(a>>>10&1023|55296),a=56320|a&1023),r+=String.fromCharCode(a),i+=o}return r}function bb(e,t,n,r,i){return Fb(Cb(e,t,n),n,r,i)}function xb(e,t,n,r,i){return Ib(Cb(e,t,n),n,r,i)}function Sb(e,t,n){return Bb(Cb(e,t,n),n)}function Cb(e,t,n){let r=n.physicalLevelTechnique;switch(r){case fv.FAST_PFOR:return fy(e,n.numValues,n.byteLength,t);case fv.VARINT:return oy(e,t,n.numValues);case fv.NONE:return hb(e,t,n.numValues);default:throw Error(`Specified physicalLevelTechnique ${r} is not supported (yet).`)}}function wb(e,t,n){let r=n.physicalLevelTechnique;switch(r){case fv.VARINT:return sy(e,t,n.numValues);case fv.NONE:return gb(e,t,n.numValues);default:throw Error(`Specified physicalLevelTechnique ${r} is not supported (yet).`)}}function Tb(e,t,n){let r=Cb(e,t,n);return r.length===1?Z(r[0]):Uy(r)}function Eb(e,t,n){let r=Cb(e,t,n);return r.length===1?n.logicalLevelTechnique1===X.DELTA?Z(r[0]):r[0]:Hy(r)}function Db(e,t,n){return Wy(Cb(e,t,n))}function Ob(e,t,n){return qy(sy(e,t,n.numValues))}function kb(e,t,n,r){return Lb(wb(e,t,n),n,r)}function Ab(e,t,n,r){return Rb(wb(e,t,n),n,r)}function jb(e,t,n,r){let i=Mb(e,t,n,!1);return r?cb(i,r,0):i}function Mb(e,t,n,r){if(n.physicalLevelTechnique===fv.VARINT)return zb(ly(e,t,n.numValues),n,r);let i=wb(e,t,n),a=r?Lb(i,n):Rb(i,n);return Float64Array.from(a,Number)}function Nb(e,t,n){let r=wb(e,t,n);return r.length===1?my(r[0]):Ky(r)}function Pb(e,t,n){let r=wb(e,t,n);return r.length===1?n.logicalLevelTechnique1===X.DELTA?my(r[0]):r[0]:Gy(r)}function Fb(e,t,n,r){let i;switch(t.logicalLevelTechnique1){case X.DELTA:if(t.logicalLevelTechnique2===X.RLE){let n=t;if(!r)return Iy(e,n.runs,n.numRleValues);e=yy(e,n.runs,n.numRleValues),i=Sy(e)}else i=Sy(e);break;case X.RLE:i=Ty(e,t.runs,t.numRleValues);break;case X.MORTON:Oy(e),i=new Int32Array(e);break;case X.COMPONENTWISE_DELTA:if(n&&!r)return jy(e,n.scale,n.min,n.max);i=Ay(e);break;case X.NONE:i=gy(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?cb(i,r,0):i}function Ib(e,t,n,r){let i;switch(t.logicalLevelTechnique1){case X.DELTA:if(t.logicalLevelTechnique2===X.RLE){let n=t;i=Ry(yy(e,n.runs,n.numRleValues))}else i=Ry(e);break;case X.RLE:i=yy(e,t.runs,t.numRleValues);break;case X.MORTON:Oy(e),i=e;break;case X.COMPONENTWISE_DELTA:i=n&&!r?Vy(e,n.scale,n.min,n.max):By(e);break;case X.NONE:i=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?cb(i,r,0):i}function Lb(e,t,n){let r;switch(t.logicalLevelTechnique1){case X.DELTA:if(t.logicalLevelTechnique2===X.RLE){let i=t;if(!n)return Ly(e,i.runs,i.numRleValues);e=by(e,i.runs,i.numRleValues),r=Cy(e)}else r=Cy(e);break;case X.RLE:r=Ey(e,t.runs,t.numRleValues);break;case X.NONE:r=_y(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return n?cb(r,n,0n):r}function Rb(e,t,n){let r;switch(t.logicalLevelTechnique1){case X.DELTA:if(t.logicalLevelTechnique2===X.RLE){let n=t;r=zy(by(e,n.runs,n.numRleValues))}else r=zy(e);break;case X.RLE:r=by(e,t.runs,t.numRleValues);break;case X.NONE:r=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return n?cb(r,n,0n):r}function zb(e,t,n){switch(t.logicalLevelTechnique1){case X.DELTA:if(t.logicalLevelTechnique2===X.RLE){let n=t;e=xy(e,n.runs,n.numRleValues)}return wy(e),e;case X.RLE:return Ub(e,t,n);case X.NONE:return n&&vy(e),e;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}}function Bb(e,t){if(t.logicalLevelTechnique1===X.DELTA&&t.logicalLevelTechnique2===X.NONE)return Ny(e);if(t.logicalLevelTechnique1===X.RLE&&t.logicalLevelTechnique2===X.NONE){let n=t;return Fy(e,n.runs,n.numRleValues)}if(t.logicalLevelTechnique1===X.NONE&&t.logicalLevelTechnique2===X.NONE){ky(e);let n=new Uint32Array(t.numValues+1);return n[0]=0,n.set(e,1),n}if(t.logicalLevelTechnique1===X.DELTA&&t.logicalLevelTechnique2===X.RLE){let n=t,r=Py(e,n.runs,n.numRleValues);return Oy(r),new Uint32Array(r)}throw Error(`Only delta encoding is supported for transforming length to offset streams yet.`)}function Vb(e,t,n,r,i=`int32`){let a=e.logicalLevelTechnique1;if(a===X.RLE)return e.runs===1?$.CONST:$.FLAT;if(a!==X.DELTA||e.logicalLevelTechnique2!==X.RLE)return e.numValues===1?$.CONST:$.FLAT;let o=t instanceof sb?t.size():t,s=e;if(s.numRleValues!==o)return $.FLAT;if(s.runs===1)return $.SEQUENCE;if(s.runs!==2)return e.numValues===1?$.CONST:$.FLAT;let c=r.get();if(e.physicalLevelTechnique===fv.VARINT)return Hb(n,r,i)?$.SEQUENCE:e.numValues===1?$.CONST:$.FLAT;let l=r.get(),u=new Int32Array(n.buffer,n.byteOffset+l,4);return r.set(c),u[2]===2&&u[3]===2?$.SEQUENCE:e.numValues===1?$.CONST:$.FLAT}function Hb(e,t,n){let r=new dv(t.get());if(n===`int64`){let t=sy(e,r,4);return t[2]===2n&&t[3]===2n}let i=oy(e,r,4);return i[2]===2&&i[3]===2}function Ub(e,t,n){return n?Dy(e,t.runs,t.numRleValues):xy(e,t.runs,t.numRleValues)}var Wb=class extends tv{getValueFromBuffer(e){return this.dataBuffer[e]}},Gb=class extends iv{constructor(e,t,n,r,i){super(e,i?BigInt64Array.of(t):BigUint64Array.of(t),n,r)}getValueFromBuffer(e){return this.dataBuffer[0]+BigInt(e)*this.delta}};function Kb(e,t,n){return{x:qb(e,t)-n,y:qb(e>>1,t)-n}}function qb(e,t){let n=0;for(let r=0;r<t;r++)n|=(e&1<<2*r)>>r;return n}var Jb;(function(e){e[e.POINT=0]=`POINT`,e[e.LINESTRING=1]=`LINESTRING`,e[e.POLYGON=2]=`POLYGON`,e[e.MULTIPOINT=3]=`MULTIPOINT`,e[e.MULTILINESTRING=4]=`MULTILINESTRING`,e[e.MULTIPOLYGON=5]=`MULTIPOLYGON`})(Jb||={});var Yb;(function(e){e[e.POINT=0]=`POINT`,e[e.LINESTRING=1]=`LINESTRING`,e[e.POLYGON=2]=`POLYGON`})(Yb||={});var Xb;(function(e){e[e.MORTON=0]=`MORTON`,e[e.VEC_2=1]=`VEC_2`,e[e.VEC_3=2]=`VEC_3`})(Xb||={});function Zb(e){let t=Array(e.numGeometries),n=1,r=1,i=1,a=0,o=0,s=0,c=e.mortonSettings,u=e.topologyVector,d=u.geometryOffsets,f=u.partOffsets,p=u.ringOffsets,m=e.vertexOffsets,h=!m||m.length===0,g=e.containsPolygonGeometry(),_=e.vertexBuffer;for(let u=0;u<e.numGeometries;u++){let v=e.geometryType(u);switch(v){case Jb.POINT:{let u,g;if(h)u=_[o++],g=_[o++];else if(e.vertexBufferType===Xb.MORTON){let e=_[m[s++]],t=Kb(e,c.numBits,c.coordinateShift);u=t.x,g=t.y}else{let e=m[s++]*2;u=_[e],g=_[e+1]}t[a++]=[[new l(u,g)]],d&&i++,f&&n++,p&&r++}break;case Jb.MULTIPOINT:{let u=d[i]-d[i-1];i++;let f;if(h){f=Array(u);for(let e=0;e<u;e++){let t=_[o++],n=_[o++];f[e]=new l(t,n)}}else f=Qb(e.vertexBufferType,_,m,s,u,!1,c),s+=u;t[a++]=f.map(e=>[e]),n+=u,r+=u}break;case Jb.LINESTRING:{let l;g?(l=p[r]-p[r-1],r++):l=f[n]-f[n-1],n++;let u;h?(u=$b(_,o,l,!1),o+=l*2):(u=Qb(e.vertexBufferType,_,m,s,l,!1,c),s+=l),t[a++]=[u],d&&i++}break;case Jb.POLYGON:{let l=f[n]-f[n-1];n++;let u=Array(l-1),g,v=p[r]-p[r-1];if(r++,h){g=$b(_,o,v,!0),o+=v*2;for(let e=0;e<u.length;e++)v=p[r]-p[r-1],r++,u[e]=$b(_,o,v,!0),o+=v*2}else{g=Qb(e.vertexBufferType,_,m,s,v,!0,c),s+=v;for(let t=0;t<u.length;t++)v=p[r]-p[r-1],r++,u[t]=Qb(e.vertexBufferType,_,m,s,v,!0,c),s+=v}t[a++]=[g].concat(u),d&&i++}break;case Jb.MULTILINESTRING:{let l=d[i]-d[i-1];i++;let u=Array(l);for(let t=0;t<l;t++){let i;if(g?(i=p[r]-p[r-1],r++):i=f[n]-f[n-1],n++,h)u[t]=$b(_,o,i,!1),o+=i*2;else{let n=Qb(e.vertexBufferType,_,m,s,i,!1,c);u[t]=n,s+=i}}t[a++]=u}break;case Jb.MULTIPOLYGON:{let l=d[i]-d[i-1];i++;let u=Array(l);for(let t=0;t<l;t++){let i=f[n]-f[n-1];n++;let a,l=Array(i-1),d=p[r]-p[r-1];r++,h?(a=$b(_,o,d,!0),o+=d*2):(a=Qb(e.vertexBufferType,_,m,s,d,!0,c),s+=d);for(let t=0;t<l.length;t++){let n=p[r]-p[r-1];r++,h?(l[t]=$b(_,o,n,!0),o+=n*2):(l[t]=Qb(e.vertexBufferType,_,m,s,n,!0,c),s+=n)}u[t]=[a].concat(l)}t[a++]=u.flat()}break;default:throw Error(`The specified geometry type (${v}) is currently not supported.`)}}return t}function Qb(e,t,n,r,i,a,o){return e===Xb.MORTON?tx(t,n,r,i,a,o):ex(t,n,r,i,a)}function $b(e,t,n,r){let i=Array(r?n+1:n);for(let r=0;r<n*2;r+=2){let n=e[t+r],a=e[t+r+1];i[r/2]=new l(n,a)}return r&&(i[i.length-1]=i[0]),i}function ex(e,t,n,r,i){let a=Array(i?r+1:r);for(let i=0;i<r*2;i+=2){let r=t[n+i/2]*2,o=e[r],s=e[r+1];a[i/2]=new l(o,s)}return i&&(a[a.length-1]=a[0]),a}function tx(e,t,n,r,i,a){let o=Array(i?r+1:r);for(let i=0;i<r;i++){let r=e[t[n+i]],s=Kb(r,a.numBits,a.coordinateShift);o[i]=new l(s.x,s.y)}return i&&(o[o.length-1]=o[0]),o}var nx=class{constructor(e,t,n,r,i){this._vertexBufferType=e,this._topologyVector=t,this._vertexOffsets=n,this._vertexBuffer=r,this._mortonSettings=i}get vertexBufferType(){return this._vertexBufferType}get topologyVector(){return this._topologyVector}get vertexOffsets(){return this._vertexOffsets}get vertexBuffer(){return this._vertexBuffer}getSimpleEncodedVertex(e){let t=this.vertexOffsets?this.vertexOffsets[e]*2:e*2;return[this.vertexBuffer[t],this.vertexBuffer[t+1]]}getVertex(e){if(this.vertexOffsets&&this.mortonSettings){let t=this.vertexOffsets[e],n=this.vertexBuffer[t],r=Kb(n,this.mortonSettings.numBits,this.mortonSettings.coordinateShift);return[r.x,r.y]}let t=this.vertexOffsets?this.vertexOffsets[e]*2:e*2;return[this.vertexBuffer[t],this.vertexBuffer[t+1]]}getGeometries(){return Zb(this)}get mortonSettings(){return this._mortonSettings}};function rx(e,t,n,r,i){return new ax(e,t,Xb.VEC_2,n,r,i)}function ix(e,t,n,r,i,a){return new ax(e,t,Xb.MORTON,n,r,i,a)}var ax=class extends nx{constructor(e,t,n,r,i,a,o){super(n,r,i,a,o),this._numGeometries=e,this._geometryType=t}geometryType(e){return this._geometryType}get numGeometries(){return this._numGeometries}containsPolygonGeometry(){return this._geometryType===Jb.POLYGON||this._geometryType===Jb.MULTIPOLYGON}containsSingleGeometryType(){return!0}};function ox(e,t,n,r){return new cx(Xb.VEC_2,e,t,n,r)}function sx(e,t,n,r,i){return new cx(Xb.MORTON,e,t,n,r,i)}var cx=class extends nx{constructor(e,t,n,r,i,a){super(e,n,r,i,a),this._geometryTypes=t}geometryType(e){return this._geometryTypes[e]}get numGeometries(){return this._geometryTypes.length}containsPolygonGeometry(){for(let e=0;e<this.numGeometries;e++)if(this.geometryType(e)===Jb.POLYGON||this.geometryType(e)===Jb.MULTIPOLYGON)return!0;return!1}containsSingleGeometryType(){return!1}},lx=class{constructor(e,t,n,r){this._triangleOffsets=e,this._indexBuffer=t,this._vertexBuffer=n,this._topologyVector=r}get triangleOffsets(){return this._triangleOffsets}get indexBuffer(){return this._indexBuffer}get vertexBuffer(){return this._vertexBuffer}get topologyVector(){return this._topologyVector}getGeometries(){if(!this._topologyVector)throw Error(`Cannot convert GpuVector to coordinates without topology information`);let e=new Uint32Array(this.numGeometries);for(let t=0;t<this.numGeometries;t++)e[t]=this.geometryType(t);return ox(e,this._topologyVector,void 0,this._vertexBuffer).getGeometries()}[Symbol.iterator](){return null}};function ux(e,t,n,r,i,a){return new dx(e,t,n,r,i,a)}var dx=class extends lx{constructor(e,t,n,r,i,a){super(n,r,i,a),this._numGeometries=e,this._geometryType=t}geometryType(e){return this._geometryType}get numGeometries(){return this._numGeometries}containsSingleGeometryType(){return!0}};function fx(e,t,n,r,i){return new px(e,t,n,r,i)}var px=class extends lx{constructor(e,t,n,r,i){super(t,n,r,i),this._geometryTypes=e}geometryType(e){return this._geometryTypes[e]}get numGeometries(){return this._geometryTypes.length}containsSingleGeometryType(){return!1}};function mx(e,t,n,r,i){let a=Q(e,n),o=Vb(a,r,e,n),s,c,l,u;if(o===$.CONST){let o=Eb(e,n,a),d,f,p,m;for(let r=0;r<t-1;r++){let t=Q(e,n);switch(t.physicalStreamType){case Jy.LENGTH:switch(t.logicalStreamType.lengthType){case Zy.GEOMETRIES:d=Sb(e,n,t);break;case Zy.PARTS:f=Sb(e,n,t);break;case Zy.RINGS:p=Sb(e,n,t);break;case Zy.TRIANGLES:m=Sb(e,n,t)}break;case Jy.OFFSET:switch(t.logicalStreamType.offsetType){case Xy.VERTEX:s=xb(e,n,t);break;case Xy.INDEX:u=xb(e,n,t)}break;case Jy.DATA:if(Yy.VERTEX===t.logicalStreamType.dictionaryType)c=bb(e,n,t,i);else{let r=t;l={numBits:r.numBits,coordinateShift:r.coordinateShift},c=xb(e,n,t,i)}}}return u?d!==void 0||f!==void 0?ux(r,o,m,u,c,{geometryOffsets:d,partOffsets:f,ringOffsets:p}):ux(r,o,m,u,c):l===void 0?rx(r,o,{geometryOffsets:d,partOffsets:f,ringOffsets:p},s,c):ix(r,o,{geometryOffsets:d,partOffsets:f,ringOffsets:p},s,c,l)}let d=xb(e,n,a),f,p,m,h;for(let r=0;r<t-1;r++){let t=Q(e,n);switch(t.physicalStreamType){case Jy.LENGTH:switch(t.logicalStreamType.lengthType){case Zy.GEOMETRIES:f=xb(e,n,t);break;case Zy.PARTS:p=xb(e,n,t);break;case Zy.RINGS:m=xb(e,n,t);break;case Zy.TRIANGLES:h=Sb(e,n,t)}break;case Jy.OFFSET:switch(t.logicalStreamType.offsetType){case Xy.VERTEX:s=xb(e,n,t);break;case Xy.INDEX:u=xb(e,n,t)}break;case Jy.DATA:if(Yy.VERTEX===t.logicalStreamType.dictionaryType)c=bb(e,n,t,i);else{let r=t;l={numBits:r.numBits,coordinateShift:r.coordinateShift},c=xb(e,n,t,i)}}}let g,_,v;return f?(g=hx(d,f,2),p&&m?(_=gx(d,g,p,!1),v=vx(d,g,_,m)):p&&(_=_x(d,g,p))):p&&m?(_=hx(d,p,1),v=gx(d,_,m,!0)):p&&(_=hx(d,p,0)),u&&!_?fx(d,h,u,c):u?fx(d,h,u,c,{geometryOffsets:g,partOffsets:_,ringOffsets:v}):l===void 0?ox(d,{geometryOffsets:g,partOffsets:_,ringOffsets:v},s,c):sx(d,{geometryOffsets:g,partOffsets:_,ringOffsets:v},s,c,l)}function hx(e,t,n){let r=new Uint32Array(e.length+1),i=0;r[0]=i;let a=0;for(let o=0;o<e.length;o++)i=r[o+1]=i+(e[o]>n?t[a++]:1);return r}function gx(e,t,n,r){let i=new Uint32Array(t[t.length-1]+1),a=0;i[0]=a;let o=1,s=0;for(let c=0;c<e.length;c++){let l=e[c],u=t[c+1]-t[c];if(l===5||l===2||r&&(l===4||l===1))for(let e=0;e<u;e++)a=i[o++]=a+n[s++];else for(let e=0;e<u;e++)i[o++]=++a}return i}function _x(e,t,n){let r=new Uint32Array(t[t.length-1]+1),i=0;r[0]=i;let a=1,o=0;for(let s=0;s<e.length;s++){let c=e[s],l=t[s+1]-t[s];if(c===4||c===1)for(let e=0;e<l;e++)i=r[a++]=i+n[o++];else for(let e=0;e<l;e++)r[a++]=++i}return r}function vx(e,t,n,r){let i=new Uint32Array(n[n.length-1]+1),a=0;i[0]=a;let o=1,s=1,c=0;for(let l=0;l<e.length;l++){let u=e[l],d=t[l+1]-t[l];if(u!==0&&u!==3)for(let e=0;e<d;e++){let e=n[o]-n[o-1];o++;for(let t=0;t<e;t++)a=i[s++]=a+r[c++]}else for(let e=0;e<d;e++)i[s++]=++a,o++}return i}var yx=class extends ev{constructor(e,t,n){super(e,t.getBuffer(),n),this.dataVector=t}getValueFromBuffer(e){return this.dataVector.get(e)}},bx=class extends tv{getValueFromBuffer(e){return this.dataBuffer[e]}},xx=class extends ev{constructor(e,t,n,r){super(e,r?BigInt64Array.of(t):BigUint64Array.of(t),n)}getValueFromBuffer(e){return this.dataBuffer[0]}},Sx=class extends ev{constructor(e,t,n,r){super(e,n,r),this.offsetBuffer=t}},Cx=class extends Sx{constructor(e,t,n,r){super(e,t,n,r??t.length-1)}getValueFromBuffer(e){let t=this.offsetBuffer[e],n=this.offsetBuffer[e+1];return vb(this.dataBuffer,t,n)}},wx=class extends Sx{constructor(e,t,n,r,i){super(e,n,r,i??t.length),this.indexBuffer=t,this.indexBuffer=t}getValueFromBuffer(e){let t=this.indexBuffer[e],n=this.offsetBuffer[t],r=this.offsetBuffer[t+1];return vb(this.dataBuffer,n,r)}};function Tx(e,t){let n=0;for(let r=0;r<t.length;r++){let i=t[r];i===255?(n++,r++):n+=e[i]}return n}function Ex(e,t,n){let r=new Uint32Array(t.length);for(let e=1;e<t.length;e++)r[e]=r[e-1]+t[e-1];let i=new Uint8Array(Tx(t,n)),a=0;for(let o=0;o<n.length;o++){let s=n[o];if(s===255)o++,i[a++]=n[o];else{let n=t[s],o=r[s];for(;n-->0;)i[a++]=e[o++]}}return i}var Dx=class extends Sx{constructor(e,t,n,r,i,a,o,s){super(e,n,r,o??t.length),this.indexBuffer=t,this.symbolOffsetBuffer=i,this.symbolTableBuffer=a,this.sharedDictionaryCache=s}getValueFromBuffer(e){this.decodedDictionary??(this.decodedDictionary=this.sharedDictionaryCache?.decodedDictionary,this.decodedDictionary??(this.decodedDictionary=this.decodeDictionary(),this.sharedDictionaryCache&&(this.sharedDictionaryCache.decodedDictionary=this.decodedDictionary)));let t=this.indexBuffer[e],n=this.offsetBuffer[t],r=this.offsetBuffer[t+1];return vb(this.decodedDictionary,n,r)}decodeDictionary(){return this.symbolLengthBuffer??=this.offsetToLengthBuffer(this.symbolOffsetBuffer),Ex(this.symbolTableBuffer,this.symbolLengthBuffer,this.dataBuffer)}offsetToLengthBuffer(e){let t=new Uint32Array(e.length-1),n=e[0];for(let r=1;r<e.length;r++){let i=e[r];t[r-1]=i-n,n=i}return t}};function Ox(e,t,n,r,i){let a,o,s,c,l,u=i,d,f;for(let e=0;e<r;e++){let e=Q(t,n);switch(e.physicalStreamType){case Jy.PRESENT:{let r=new sb(db(t,e.numValues,e.byteLength,n),e.numValues);u=i??r;break}case Jy.OFFSET:o=xb(t,n,e,void 0,u);break;case Jy.LENGTH:{let r=Sb(t,n,e);Zy.DICTIONARY===e.logicalStreamType.lengthType?a=r:Zy.SYMBOL===e.logicalStreamType.lengthType?c=r:d=r;break}case Jy.DATA:{let r=t.subarray(n.get(),n.get()+e.byteLength);n.add(e.byteLength);let i=e.logicalStreamType.dictionaryType;Yy.FSST===i?l=r:Yy.SINGLE===i||Yy.SHARED===i?s=r:Yy.NONE===i&&(f=r);break}}}return kx(e,l,o,a,s,c,u)??Ax(e,s,o,a,u)??jx(e,d,f,o,u)}function kx(e,t,n,r,i,a,o){if(t){if(!n||!r||!i||!a)throw Error(`Incomplete FSST dictionary string column \"${e}\"`);return new Dx(e,n,r,i,a,t,o)}}function Ax(e,t,n,r,i){if(t){if(!n||!r)throw Error(`Incomplete dictionary string column \"${e}\"`);return i?new wx(e,n,r,t,i):new wx(e,n,r,t)}}function jx(e,t,n,r,i){if(t&&n){if(r)return i?new wx(e,r,t,n,i):new wx(e,r,t,n);if(i&&i.size()!==t.length-1){let r=new Uint32Array(i.size()),a=0;for(let e=0;e<i.size();e++)i.get(e)?r[e]=a++:r[e]=0;return new wx(e,r,t,n,i)}return i?new Cx(e,t,n,i):new Cx(e,t,n)}}function Mx(e,t,n,r){let i,a,o,s,c=!1;for(;!c;){let n=Q(e,t);switch(n.physicalStreamType){case Jy.LENGTH:Zy.DICTIONARY===n.logicalStreamType.lengthType?i=Sb(e,t,n):o=Sb(e,t,n);break;case Jy.DATA:Yy.SINGLE===n.logicalStreamType.dictionaryType||Yy.SHARED===n.logicalStreamType.dictionaryType?(a=e.subarray(t.get(),t.get()+n.byteLength),c=!0):s=e.subarray(t.get(),t.get()+n.byteLength),t.add(n.byteLength)}}if(n.type!==`complexType`)throw Error(`Shared dictionary column ${n.name} must be a complex (struct) column.`);if(!i||!a)throw Error(`Incomplete shared dictionary for column \"${n.name}\"`);let l=n.complexType.children,u=[],d=s?{}:void 0,f=0;for(let c of l){let l=oy(e,t,1)[0];if(l===0)continue;let p=c.name?`${n.name}${c.name}`:n.name;if(r&&!r.has(p)){ub(l,e,t);continue}if(c.type!==`scalarField`||c.scalarField.physicalType!==Y.STRING)throw Error(`Currently only scalar string fields are implemented for a struct.`);if(l>1&&!c.nullable||l===1&&c.nullable)throw Error(`The number of streams for the child field ${c.name} does not match its nullability. nullibilty: ${c.nullable}, numStreams: ${l}`);let m;if(c.nullable){let n=Q(e,t);m=new sb(db(e,n.numValues,n.byteLength,t),n.numValues)}let h=xb(e,t,Q(e,t),void 0,m);if(s){if(!o)throw Error(`Incomplete shared FSST dictionary for column \"${p}\"`);u[f++]=new Dx(p,h,i,a,o,s,m,d)}else u[f++]=new wx(p,h,i,a,m)}return u}var Nx=class extends ev{constructor(e,t,n){super(e,new Uint8Array,n??t.length),this.values=t}getValueFromBuffer(e){return this.values[e]}},Px;(function(e){e[e.STRING=1]=`STRING`,e[e.INT32=2]=`INT32`,e[e.UINT32=4]=`UINT32`,e[e.INT64=8]=`INT64`,e[e.UINT64=16]=`UINT64`,e[e.FLOAT=32]=`FLOAT`,e[e.DOUBLE=64]=`DOUBLE`,e[e.PRESENCE=128]=`PRESENCE`})(Px||={});var Fx;(function(e){e[e.FALSE=0]=`FALSE`,e[e.TRUE=1]=`TRUE`,e[e.START_MAP=2]=`START_MAP`,e[e.START_LIST=3]=`START_LIST`,e[e.COUNT=4]=`COUNT`})(Fx||={});function Ix(e,t,n,r){let i=Lx(n);if(r===0)return i.map(e=>new Nx(e,[]));let a=Rx(e,t,r),o=(a.presentStream?a.presentCount:a.lengthStream.length)/i.length,s=[],c=0,l=0;for(let e=0;e<i.length;e++){let t=Ux(a,e,o,c,l);s.push(new Nx(i[e],t.value,t.nullabilityBuffer)),c=t.countsEnd,l=t.valuesEnd}return s}function Lx(e){let t=e.type===`complexType`?e.complexType.children:void 0;return!t||t.length===0?[e.name]:t.map(t=>e.name+(t.name??``))}function Rx(e,t,n){let r=e[t.get()];t.add(1);let i=xb(e,t,Q(e,t)),a=n-1,o=[];r&Px.STRING&&(a-=zx(e,t,o)),a-=Bx(e,t,r,o),a-=Vx(e,t,r,o);let s,c=0;if(r&Px.PRESENCE){let n=Hx(e,t);s=n.value,c=n.count,a--}let l=new Uint32Array;if(a>0&&(l=xb(e,t,Q(e,t)),a--),a!==0)throw Error(`Unexpected number of remaining streams while decoding map column: ${a}`);return{lengthStream:i,dictionary:o,presentStream:s,presentCount:c,flattenedValues:l}}function zx(e,t,n){let r=e[t.get()];t.add(1);let i=Ox(``,e,t,r);if(i)for(let e=0;e<i.size;e++)n.push(i.getValue(e));return r}function Bx(e,t,n,r){let i=0;return n&Px.INT32?(Yx(r,bb(e,t,Q(e,t))),i++):n&Px.INT64&&(Yx(r,kb(e,t,Q(e,t))),i++),n&Px.UINT32?(Yx(r,xb(e,t,Q(e,t))),i++):n&Px.UINT64&&(Yx(r,Ab(e,t,Q(e,t))),i++),i}function Vx(e,t,n,r){let i=0;return n&Px.FLOAT&&(Yx(r,pb(e,t,Q(e,t).numValues)),i++),n&Px.DOUBLE&&(Yx(r,mb(e,t,Q(e,t).numValues)),i++),i}function Hx(e,t){let n=Q(e,t);if(n.physicalStreamType!==Jy.PRESENT)throw Error(`Expected PRESENT stream for map column but found: ${n.physicalStreamType}`);let r=n.numValues,i=t.get(),a=new sb(db(e,r,n.byteLength,t),r);return t.set(i+n.byteLength),{value:a,count:r}}function Ux(e,t,n,r,i){let{lengthStream:a,flattenedValues:o,presentStream:s,dictionary:c}=e,l=t*n,u=n,d;if(s){d=new sb(new Uint8Array(Math.ceil(n/8)),n),u=0;for(let e=0;e<n;e++)s.get(l+e)&&(d.set(e,!0),u++)}let f=r+u;if(f>a.length)throw Error(`Merged map counts underflow while decoding child streams`);let p=Array(n),m=r,h=i;for(let e=0;e<n;e++){if(s&&!s.get(l+e)){p[e]=null;continue}let t=h+a[m++];if(t>o.length)throw Error(`Map value stream underflow while decoding feature payload`);let n=Wx(o,h,t,c);p[e]=n.value,h=n.nextIndex}let g=0;for(let e=r;e<f;e++)g+=a[e];let _=i+g;if(h!==_)throw Error(`Unused flattened map values remain after decode`);return{value:p,nullabilityBuffer:d,countsEnd:f,valuesEnd:_}}function Wx(e,t,n,r){return n-t===1||e[t]===Fx.START_LIST?Kx(e,t,n,r):Gx(e,t,n,r)}function Gx(e,t,n,r){let i=Object.create(null),a=t;for(;a<n;){let t=Jx(e[a++],r);if(typeof t!=`string`)throw Error(`Map key dictionary index does not resolve to a string: ${t}`);let o=Kx(e,a,n,r);i[t]=o.value,a=o.nextIndex}return{value:i,nextIndex:a}}function Kx(e,t,n,r){if(t>=n)throw Error(`Unexpected end of map value stream`);let i=e[t];if(i===Fx.FALSE)return{value:!1,nextIndex:t+1};if(i===Fx.TRUE)return{value:!0,nextIndex:t+1};if(i===Fx.START_MAP){let i=qx(e,t,n);return{value:Gx(e,t+2,i,r).value,nextIndex:i}}if(i===Fx.START_LIST){let i=qx(e,t,n),a=[],o=t+2;for(;o<i;){let t=Kx(e,o,i,r);a.push(t.value),o=t.nextIndex}return{value:a,nextIndex:i}}return{value:Jx(i,r),nextIndex:t+1}}function qx(e,t,n){if(t+1>=n)throw Error(`Missing length for nested map/list payload`);let r=e[t+1];if(r<2)throw Error(`Invalid nested payload length: ${r}`);let i=t+r;if(i>n)throw Error(`Nested payload exceeds containing payload bounds`);return i}function Jx(e,t){let n=e-Fx.COUNT;if(n<0||n>=t.length)throw Error(`Scalar dictionary index out of range: ${e}`);return t[n]}function Yx(e,t){for(let n of t)e.push(n)}function Xx(e,t,n,r,i,a){return n.type===`scalarType`?a&&!a.has(n.name)?(ub(r,e,t),null):Zx(r,e,t,i,n.scalarType,n):n.complexType?.physicalType===lv.MAP?Ix(e,t,n,r):r===0?null:Mx(e,t,n,a)}function Zx(e,t,n,r,i,a){let o;if(e===0)return null;if(a.nullable){let e=Q(t,n),r=e.numValues,i=n.get(),a=db(t,r,e.byteLength,n);n.set(i+e.byteLength),o=new sb(a,e.numValues)}let s=o??r;switch(i.physicalType){case Y.UINT_32:case Y.INT_32:return nS(t,n,a,i,s);case Y.STRING:{let r=a.nullable?e-1:e;return Ox(a.name,t,n,r,o)??null}case Y.BOOLEAN:return Qx(t,n,a,r,s);case Y.UINT_64:case Y.INT_64:return tS(t,n,a,s,i);case Y.FLOAT:return $x(t,n,a,s);case Y.DOUBLE:return eS(t,n,a,s);default:throw Error(`The specified data type for the field is currently not supported: ${i}`)}}function Qx(e,t,n,r,i){let a=Q(e,t),o=a.numValues,s=t.get(),c=rS(i)?i:void 0,l=db(e,o,a.byteLength,t,c);t.set(s+a.byteLength);let u=new sb(l,o);return new yx(n.name,u,i)}function $x(e,t,n,r){let i=Q(e,t),a=rS(r)?r:void 0,o=pb(e,t,i.numValues,a);return new bx(n.name,o,r)}function eS(e,t,n,r){let i=Q(e,t),a=rS(r)?r:void 0,o=mb(e,t,i.numValues,a);return new rv(n.name,o,r)}function tS(e,t,n,r,i){let a=Q(e,t),o=Vb(a,r,e,t,`int64`),s=i.physicalType===Y.INT_64;if(o===$.FLAT){let i=rS(r)?r:void 0,o=s?kb(e,t,a,i):Ab(e,t,a,i);return new Wb(n.name,o,r)}if(o===$.SEQUENCE){let r=Ob(e,t,a);return new Gb(n.name,r[0],r[1],a.numRleValues,s)}let c=s?Nb(e,t,a):Pb(e,t,a);return new xx(n.name,c,r,s)}function nS(e,t,n,r,i){let a=Q(e,t),o=Vb(a,i,e,t),s=r.physicalType===Y.INT_32;if(o===$.FLAT){let r=rS(i)?i:void 0,o=s?bb(e,t,a,void 0,r):xb(e,t,a,void 0,r);return new nv(n.name,o,i)}if(o===$.SEQUENCE){let r=Db(e,t,a);return new av(n.name,r[0],r[1],a.numRleValues,s)}let c=s?Tb(e,t,a):Eb(e,t,a);return new ov(n.name,c,i,s)}function rS(e){return e instanceof sb}var iS={ID:0,ID_NULLABLE:1,ID_LONG:2,GEOMETRY:4,SCALAR_BASE:10,STRUCT:30,MAP:31};function aS(e){switch(e){case iS.ID:case iS.ID|iS.ID_NULLABLE:case iS.ID|iS.ID_LONG:case iS.ID|iS.ID_LONG|iS.ID_NULLABLE:return{nullable:(e&iS.ID_NULLABLE)!==0,columnScope:cv.FEATURE,type:`scalarType`,scalarType:{longID:(e&iS.ID_LONG)!==0,type:`logicalType`,logicalType:uv.ID}};case iS.GEOMETRY:return{nullable:!1,columnScope:cv.FEATURE,type:`complexType`,complexType:{type:`physicalType`,physicalType:lv.GEOMETRY,children:[]}};case iS.STRUCT:return{nullable:!1,columnScope:cv.FEATURE,type:`complexType`,complexType:{type:`physicalType`,physicalType:lv.STRUCT,children:[]}};case iS.MAP:return{nullable:!0,columnScope:cv.FEATURE,type:`complexType`,complexType:{type:`physicalType`,physicalType:lv.MAP,children:[]}};default:return dS(e)}}function oS(e){return e>=iS.SCALAR_BASE}function sS(e){return e===iS.STRUCT||e===iS.MAP}function cS(e){if(e.type===`scalarType`){let t=e.scalarType;if(t.type===`physicalType`)switch(t.physicalType){case Y.BOOLEAN:case Y.INT_8:case Y.UINT_8:case Y.INT_32:case Y.UINT_32:case Y.INT_64:case Y.UINT_64:case Y.FLOAT:case Y.DOUBLE:return!1;case Y.STRING:return!0;default:return!1}if(t.type===`logicalType`)return!1}else if(e.type===`complexType`){let t=e.complexType;if(t.type===`physicalType`)switch(t.physicalType){case lv.GEOMETRY:case lv.STRUCT:case lv.MAP:return!0;default:return!1}}return console.warn(`Unexpected column type in hasStreamCount`,e),!1}function lS(e){return e.type===`scalarType`&&e.scalarType?.type===`logicalType`&&e.scalarType.logicalType===uv.ID}function uS(e){return e.type===`complexType`&&e.complexType?.type===`physicalType`&&e.complexType.physicalType===lv.GEOMETRY}function dS(e){let t;switch(e){case 10:case 11:t=Y.BOOLEAN;break;case 12:case 13:t=Y.INT_8;break;case 14:case 15:t=Y.UINT_8;break;case 16:case 17:t=Y.INT_32;break;case 18:case 19:t=Y.UINT_32;break;case 20:case 21:t=Y.INT_64;break;case 22:case 23:t=Y.UINT_64;break;case 24:case 25:t=Y.FLOAT;break;case 26:case 27:t=Y.DOUBLE;break;case 28:case 29:t=Y.STRING;break;default:return null}return{nullable:!!(e&1),columnScope:cv.FEATURE,type:`scalarType`,scalarType:{longID:!1,type:`physicalType`,physicalType:t}}}var fS=new TextDecoder,pS=`0-3(ID), 4(GEOMETRY), 10-29(scalars), 30(STRUCT), 31(MAP)`;function mS(e,t){let n=oy(e,t,1)[0];if(n===0)return``;let r=t.get(),i=r+n,a=e.subarray(r,i);return t.add(n),fS.decode(a)}function hS(e){let t=e.name,n=e.nullable;return e.type===`scalarType`?{type:`scalarField`,scalarField:e.scalarType,name:t,nullable:n}:{type:`complexField`,complexField:e.complexType,name:t,nullable:n}}function gS(e,t){let n=oy(e,t,1)[0]>>>0,r=n>=iS.SCALAR_BASE?aS(n):null;if(!r)throw Error(`Unsupported field type code ${n}. Supported: 10-29(scalars), 30(STRUCT), 31(MAP)`);let i={...r,name:mS(e,t)};if(i.type===`complexType`&&sS(n)){let n=i.complexType,r=oy(e,t,1)[0]>>>0;n.children=Array(r);for(let i=0;i<r;i++)n.children[i]=gS(e,t)}return hS(i)}function _S(e,t){let n=oy(e,t,1)[0]>>>0,r=aS(n);if(!r)throw Error(`Unsupported column type code ${n}. Supported: ${pS}`);let i;if(oS(n))i=mS(e,t);else if(n<iS.GEOMETRY)i=`id`;else if(n===iS.GEOMETRY)i=`geometry`;else throw Error(`Unsupported column type code ${n}. Supported: ${pS}`);let a={...r,name:i};if(a.type===`complexType`&&sS(n)){let n=oy(e,t,1)[0]>>>0,r=a.complexType;r.children=Array(n);for(let i=0;i<n;i++)r.children[i]=gS(e,t)}return a}function vS(e,t){let n={};n.featureTables=[];let r={};if(r.name=mS(e,t),r.name.length===0)throw Error(`Missing layer name`);let i=oy(e,t,1)[0]>>>0,a=oy(e,t,1)[0]>>>0;r.columns=Array(a);for(let n=0;n<a;n++)r.columns[n]=_S(e,t);return n.featureTables.push(r),[n,i]}function yS(e,t,n=!0){let r=new dv(0),i=[];for(;r.get()<e.length;){let a=oy(e,r,1)[0]>>>0,o=r.get()+a;if(o>e.length)throw Error(`Block overruns tile: ${o} > ${e.length}`);let s=oy(e,r,1)[0]>>>0;if(s!==1&&s!==2){r.set(o);continue}let[c,l]=vS(e,r),u=c.featureTables[0],d=null,f=null,p=[],m=0;for(let i of u.columns){let a=i.name;if(lS(i)){let t=null;if(i.nullable){let n=Q(e,r),i=r.get(),a=db(e,n.numValues,n.byteLength,r);r.set(i+n.byteLength),t=new sb(a,n.numValues)}let o=Q(e,r);m=t?t.size():o.decompressedCount,d=bS(e,i,r,a,o,t??m,n)}else if(uS(i)){let n=oy(e,r,1)[0];if(m===0){let t=r.get();m=Q(e,r).decompressedCount,r.set(t)}t&&(t.scale=t.extent/l),f=mx(e,n,r,m,t)}else{let t=cS(i)?oy(e,r,1)[0]:1;if(t===0)continue;let n=Xx(e,r,i,t,m,void 0);if(n){if(Array.isArray(n))for(let e of n)p.push(e);else p.push(n)}}}let h=new sv(u.name,f,d,p,l);i.push(h),r.set(o)}return i}function bS(e,t,n,r,i,a,o=!1){let s=t.scalarType?.longID?Y.UINT_64:Y.UINT_32,c=typeof a==`number`?void 0:a,l=Vb(i,a,e,n,s===Y.UINT_64?`int64`:`int32`);if(s===Y.UINT_32)switch(l){case $.FLAT:return new nv(r,xb(e,n,i,void 0,c),a);case $.SEQUENCE:{let t=Db(e,n,i);return new av(r,t[0],t[1],i.numRleValues,!1)}case $.CONST:return new ov(r,Eb(e,n,i),a,!1)}switch(l){case $.FLAT:return o?new rv(r,jb(e,n,i,c),a):new Wb(r,Ab(e,n,i,c),a);case $.SEQUENCE:{let t=Ob(e,n,i);return new Gb(r,t[0],t[1],i.numRleValues,!1)}case $.CONST:return new xx(r,Pb(e,n,i),a,!1)}throw Error(`Vector type not supported for id column.`)}var xS=vv(hv);xS/32*4,3*xS/256+xS|0;var SS=class{constructor(e,t){switch(this._featureData=e,this.properties=this._featureData.properties||{},this._featureData.geometry?.type){case Jb.POINT:case Jb.MULTIPOINT:this.type=1;break;case Jb.LINESTRING:case Jb.MULTILINESTRING:this.type=2;break;case Jb.POLYGON:case Jb.MULTIPOLYGON:this.type=3;break;default:this.type=0}this.extent=t,this.id=Number(this._featureData.id)}loadGeometry(){let e=[];for(let t of this._featureData.geometry.coordinates){let n=[];for(let e of t)n.push(new l(e.x,e.y));e.push(n)}return e}},CS=class{constructor(e){this.features=[],this.featureTable=e,this.name=e.name,this.extent=e.extent,this.version=2,this.features=e.getFeatures(),this.length=this.features.length}feature(e){return new SS(this.features[e],this.extent)}},wS=class{constructor(e){this.layers={};let t=yS(new Uint8Array(e));this.layers=t.reduce((e,t)=>({...e,[t.name]:new CS(t)}),{})}},TS=class{constructor(e,t){this.tileID=e,this.x=e.canonical.x,this.y=e.canonical.y,this.z=e.canonical.z,this.grid=new wo(A,16,0),this.grid3D=new wo(A,16,0),this.featureIndexArray=new Bs,this.promoteId=t}insert(e,t,n,r,i,a){let o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(n,r,i);let s=a?this.grid3D:this.grid;for(let e of t){let t=[1/0,1/0,-1/0,-1/0];for(let n of e)t[0]=Math.min(t[0],n.x),t[1]=Math.min(t[1],n.y),t[2]=Math.max(t[2],n.x),t[3]=Math.max(t[3],n.y);t[0]<8192&&t[1]<8192&&t[2]>=0&&t[3]>=0&&s.insert(o,t[0],t[1],t[2],t[3])}}loadVTLayers(){if(!this.vtLayers){switch(this.encoding){case`mlt`:this.vtLayers=new wS(this.rawTileData).layers;break;default:this.vtLayers=new vd(new ph(this.rawTileData)).layers}this.sourceLayerCoder=new Q_(this.vtLayers?Object.keys(this.vtLayers).sort():[V_])}return this.vtLayers}query(e,t,n,r){this.loadVTLayers();let i=e.params,a=A/e.tileSize/e.scale,o=da(i.filter,`queryRenderedFeatures filter`,i.globalState),s=e.queryGeometry,c=e.queryPadding*a,l=ud.fromPoints(s),u=this.grid.query(l.minX-c,l.minY-c,l.maxX+c,l.maxY+c),d=ud.fromPoints(e.cameraQueryGeometry).expandBy(c),f=this.grid3D.query(d.minX,d.minY,d.maxX,d.maxY,(t,n,r,i)=>Xc(e.cameraQueryGeometry,t-c,n-c,r+c,i+c));for(let e of f)u.push(e);u.sort(OS);let p={},m;for(let c of u){if(c===m)continue;m=c;let l=this.featureIndexArray.get(c),u=null;this.loadMatchingFeature(p,l.bucketIndex,l.sourceLayerIndex,l.featureIndex,o,i.layers,i.availableImages,t,n,r,(t,n,r)=>(u||=Pc(t),n.queryIntersectsFeature({queryGeometry:s,feature:t,featureState:r,geometry:u,zoom:this.z,transform:e.transform,pixelsToTileUnits:a,pixelPosMatrix:e.pixelPosMatrix,unwrappedTileID:this.tileID.toUnwrapped(),getElevation:e.getElevation})))}return p}loadMatchingFeature(e,t,n,r,i,a,o,s,c,l,u){let d=this.bucketLayerIDs[t];if(a&&!d.some(e=>a.has(e)))return;let f=this.sourceLayerCoder.decode(n),p=this.vtLayers[f].feature(r);if(i.needGeometry){let e=Fc(p,!0);if(!i.filter(new G(this.tileID.overscaledZ),e,this.tileID.canonical))return}else if(!i.filter(new G(this.tileID.overscaledZ),p))return;let m=this.getId(p,f);for(let t of d){if(a&&!a.has(t))continue;let n=s[t];if(!n)continue;let i={};m&&l&&(i=l.getState(n.sourceLayer||`_geojsonTileLayer`,m));let d=le({},c[t]);d.paint=DS(d.paint,n.paint,p,i,o),d.layout=DS(d.layout,n.layout,p,i,o);let f=!u||u(p,n,i);if(!f)continue;let h=new $_(p,this.z,this.x,this.y,m);h.layer=d;let g=e[t];g===void 0&&(g=e[t]=[]),g.push({featureIndex:r,feature:h,intersectionZ:f})}}lookupSymbolFeatures(e,t,n,r,i,a,o,s){let c={};this.loadVTLayers();let l=da(i.filterSpec,`queryRenderedFeatures symbol filter`,i.globalState);for(let i of e)this.loadMatchingFeature(c,n,r,i,l,a,o,s,t);return c}hasLayer(e){for(let t of this.bucketLayerIDs)for(let n of t)if(e===n)return!0;return!1}getId(e,t){let n=e.id;if(this.promoteId){let r=typeof this.promoteId==`string`?this.promoteId:this.promoteId[t];n=e.properties[r],typeof n==`boolean`&&(n=Number(n)),n===void 0&&e.properties?.cluster&&this.promoteId&&(n=Number(e.properties.cluster_id))}return n}};W(`FeatureIndex`,TS,{omit:[`rawTileData`,`sourceLayerCoder`]});function ES(e){return typeof e==`object`&&!!e&&`evaluate`in e}function DS(e,t,n,r,i){return de(e,(e,a)=>{let o=t instanceof Bo?t.get(a):null;return ES(o)?o.evaluate(n,r,void 0,i):o})}function OS(e,t){return t-e}var kS=class{constructor(e){this.maxEntries=e,this.map=new Map}get(e){let t=this.map.get(e);return t!==void 0&&(this.map.delete(e),this.map.set(e,t)),t}set(e,t){if(this.map.has(e))this.map.delete(e);else if(this.map.size>=this.maxEntries){let e=this.map.keys().next().value;this.map.delete(e)}this.map.set(e,t)}clear(){this.map.clear()}};function AS(e){let t=typeof e;if(t===`number`||t===`boolean`||t===`string`||e==null)return JSON.stringify(e);if(Array.isArray(e)){let t=`[`;for(let n of e)t+=`${AS(n)},`;return`${t}]`}let n=Object.keys(e).sort(),r=`{`;for(let t=0;t<n.length;t++)r+=`${JSON.stringify(n[t])}:${AS(e[n[t]])},`;return`${r}}`}function jS(e){let t=``;for(let n of Je)t+=`/${AS(e[n])}`;return t}function MS(e,t){let n={};for(let r=0;r<e.length;r++){let i=t&&t[e[r].id]||jS(e[r]);t&&(t[e[r].id]=i);let a=n[i];a||=n[i]=[],a.push(e[r])}let r=[];for(let e in n)r.push(n[e]);return r}var NS=class{constructor(e,t){this.keyCache={},e&&this.replace(e,t)}replace(e,t){this._layerConfigs={},this._layers={},this.update(e,[],t)}update(e,t,n){for(let t of e){this._layerConfigs[t.id]=t;let e=this._layers[t.id]=D_(t,n);e._featureFilter=da(e.filter,`layers[${t.id}].filter`,n),this.keyCache[t.id]&&delete this.keyCache[t.id]}for(let e of t)delete this.keyCache[e],delete this._layerConfigs[e],delete this._layers[e];this.familiesBySource={};let r=MS(Object.values(this._layerConfigs),this.keyCache);for(let e of r){let t=e.map(e=>this._layers[e.id]),n=t[0];if(n.isHidden())continue;let r=n.source||``,i=this.familiesBySource[r];i||=this.familiesBySource[r]={};let a=n.sourceLayer||`_geojsonTileLayer`,o=i[a];o||=i[a]=[],o.push(t)}}},PS=class{constructor(e){let t={},n=[];for(let r in e){let i=t[r]={};for(let t in e[r]){let a=e[r][t];i[t]={};for(let e in a){let r=a[e];if(!r||r.bitmap.width===0||r.bitmap.height===0)continue;let o={x:0,y:0,w:r.bitmap.width+2,h:r.bitmap.height+2};n.push(o),i[t][e]={rect:o,metrics:r.metrics}}}}let{w:r,h:i}=Nh(n),a=new Cl({width:r||1,height:i||1});for(let n in e)for(let r in e[n]){let i=e[n][r];for(let e in i){let o=i[e];if(!o||o.bitmap.width===0||o.bitmap.height===0)continue;let s=t[n][r][e].rect;Cl.copy(o.bitmap,a,{x:0,y:0},{x:s.x+1,y:s.y+1},o.bitmap)}}this.image=a,this.positions=t}};W(`GlyphAtlas`,PS);var FS=class{constructor(e){this.tileID=new P_(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming,this.returnDependencies=!!e.returnDependencies,this.promoteId=e.promoteId,this.inFlightDependencies=[]}async parse(e,t,n,r,i){this.data=e,this.collisionBoxArray=new As;let a=new Q_(Object.keys(e.layers).sort()),o=new TS(this.tileID,this.promoteId);o.bucketLayerIDs=[];let s={},c={featureIndex:o,iconDependencies:{},patternDependencies:{},glyphDependencies:{},dashDependencies:{},availableImages:n,subdivisionGranularity:i},l=t.familiesBySource[this.source];for(let t in l){let r=e.layers[t];if(!r)continue;r.version===1&&j(`Vector tile source \"${this.source}\" layer \"${t}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);let i=a.encode(t),u=[];for(let e=0;e<r.length;e++){let n=r.feature(e),a=o.getId(n,t);u.push({feature:n,id:a,index:e,sourceLayerIndex:i})}for(let e of l[t]){let t=e[0];t.source!==this.source&&j(`layer.source = ${t.source} does not equal this.source = ${this.source}`),!t.isHidden(this.zoom,!0)&&(IS(e,this.zoom,n),(s[t.id]=t.createBucket({index:o.bucketLayerIDs.length,layers:e,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:i,sourceID:this.source})).populate(u,c,this.tileID.canonical),o.bucketLayerIDs.push(e.map(e=>e.id)))}}let u=de(c.glyphDependencies,e=>de(e,e=>Object.keys(e)));for(let e of this.inFlightDependencies)e?.abort();this.inFlightDependencies=[];let d=Promise.resolve({});if(Object.keys(u).length){let e=new AbortController;this.inFlightDependencies.push(e),d=r.sendAsync({type:`GG`,data:{stacks:u,source:this.source,tileID:this.tileID,type:`glyphs`}},e)}let f=Object.keys(c.iconDependencies),p=Promise.resolve({});if(f.length){let e=new AbortController;this.inFlightDependencies.push(e),p=r.sendAsync({type:`GI`,data:{icons:f,source:this.source,tileID:this.tileID,type:`icons`}},e)}let m=Object.keys(c.patternDependencies),h=Promise.resolve({});if(m.length){let e=new AbortController;this.inFlightDependencies.push(e),h=r.sendAsync({type:`GI`,data:{icons:m,source:this.source,tileID:this.tileID,type:`patterns`}},e)}let g=c.dashDependencies,_=Promise.resolve({});if(Object.keys(g).length){let e=new AbortController;this.inFlightDependencies.push(e),_=r.sendAsync({type:`GDA`,data:{dashes:g}},e)}let[v,y,b,x]=await Promise.all([d,p,h,_]),S=new PS(v),C=new Fh(y,b);for(let e in s){let t=s[e];t.hasDependencies&&(IS(t.layers,this.zoom,n),t.addFeatures({options:c,canonical:this.tileID.canonical,glyphMap:v,glyphPositions:S.positions,iconMap:y,iconPositions:C.iconPositions,patternMap:b,patternPositions:C.patternPositions,dashPositions:x,showCollisionBoxes:this.showCollisionBoxes}))}return{buckets:Object.values(s).filter(e=>!e.isEmpty()),featureIndex:o,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:S.image,imageAtlas:C,dashPositions:x,glyphMap:this.returnDependencies?v:null,iconMap:this.returnDependencies?y:null,glyphPositions:this.returnDependencies?S.positions:null}}};function IS(e,t,n){let r=new G(t);for(let t of e)t.recalculate(r,n)}var LS=class{constructor(){this.loading={},this.loaded={},this.parsing={}}startLoading(e,t){this.loading[e]=t}finishLoading(e){delete this.loading[e]}abort(e){let t=this.loading[e];t?.abort&&(t.abort.abort(),delete this.loading[e])}getParsing(e){return this.parsing[e]}setParsing(e,t){this.parsing[e]=t}removeParsing(e){delete this.parsing[e]}markLoaded(e,t){this.loaded[e]=t}getLoaded(e){let t=this.loaded[e];if(t)return t}removeLoaded(e){delete this.loaded[e]}clearLoaded(){this.loaded={}}},RS=class{constructor(e){this.start=`${e}#start`,this.end=`${e}#end`,this.measure=e,performance.mark(this.start)}finish(){performance.mark(this.end);let e=performance.getEntriesByName(this.measure);return e.length===0&&(performance.measure(this.measure,this.start,this.end),e=performance.getEntriesByName(this.measure),performance.clearMarks(this.start),performance.clearMarks(this.end),performance.clearMeasures(this.measure)),e}},zS=class{constructor(e,t,n,r,i){this.type=e,this.properties=n||{},this.extent=i,this.pointsArray=t,this.id=r}loadGeometry(){return this.pointsArray.map(e=>e.map(e=>new l(e.x,e.y)))}},BS=class{constructor(e,t,n){this.version=2,this._myFeatures=e,this.name=t,this.length=e.length,this.extent=n}feature(e){return this._myFeatures[e]}},VS=class{constructor(){this.layers={}}addLayer(e){this.layers[e.name]=e}};function HS(e,t,n){let{extent:r}=e,i=2**(n.z-t.z),a=(n.x-t.x*i)*r,o=(n.y-t.y*i)*r,s=[];for(let t=0;t<e.length;t++){let n=e.feature(t),c=n.loadGeometry();for(let e of c)for(let t of e)t.x=t.x*i-a,t.y=t.y*i-o;c=Eg(c,n.type,-128,-128,r+128,r+128),c.length!==0&&s.push(new zS(n.type,c,n.properties,n.id,r))}return new BS(s,e.name,r)}var US=class{constructor(e,t,n){this.actor=e,this.layerIndex=t,this.availableImages=n,this.tileState=new LS,this.overzoomedTileResultCache=new kS(1e3)}loadVectorTile(e,t){try{return{vectorTile:e.encoding===`mlt`?new wS(t):new vd(new ph(t)),rawData:t}}catch(n){let r=new Uint8Array(t),i=r[0]===31&&r[1]===139,a=`Unable to parse the tile at ${e.request.url}, `;throw a+=i?`please make sure the data is not gzipped and that you have configured the relevant header in the server`:`got error: ${ie(n).message}`,Error(a)}}async loadTile(e){let{uid:t,overzoomParameters:n}=e;n&&(e.request=n.overzoomRequest);let r=this._startRequestTiming(e),i=new FS(e);this.tileState.startLoading(t,i);let a=new AbortController;i.abort=a;try{let o=await Ve(e.request,a);if(e.etag&&e.etag===o.etag)return this.tileState.finishLoading(t),this._getEtagUnmodifiedResult(o,r);let s=this.loadVectorTile(e,o.data);if(this.tileState.finishLoading(t),!s)return null;let{vectorTile:c,rawData:l}=s;n&&({vectorTile:c,rawData:l}=this._getOverzoomTile(e,c));let u=this._getExpiryData(o),d=this._finishRequestTiming(r);i.vectorTile=c,i.etag=o.etag,this.tileState.markLoaded(t,i);let f={rawData:l,cacheControl:u,resourceTiming:d};return this.tileState.setParsing(t,f),await this._parseWorkerTile(i,e)}catch(e){throw this.tileState.finishLoading(t),this.tileState.markLoaded(t,i),e}}_getEtagUnmodifiedResult(e,t){return le({etagUnmodified:!0},this._getExpiryData(e),this._finishRequestTiming(t))}async _parseWorkerTile(e,t){let n=this.tileState.getParsing(e.uid),r=await e.parse(e.vectorTile,this.layerIndex,this.availableImages,this.actor,t.subdivisionGranularity);if(n){let{rawData:i,cacheControl:a,resourceTiming:o}=n,s=t.overzoomParameters?`mvt`:t.encoding;r=le({rawTileData:i.slice(0),encoding:s},r,a,o),this.tileState.removeParsing(e.uid)}else e.etag&&(r=le(r,{etag:e.etag}));return r}_getExpiryData({expires:e,cacheControl:t,etag:n}){let r={};return e&&(r.expires=e),t&&(r.cacheControl=t),n&&(r.etag=n),r}_startRequestTiming(e){if(e.request?.collectResourceTiming)return new RS(e.request.url)}_finishRequestTiming(e){let t=e?.finish();return t?{resourceTiming:JSON.parse(JSON.stringify(t))}:{}}_getOverzoomTile(e,t){let{tileID:n,source:r,overzoomParameters:i}=e,{maxZoomTileID:a}=i,o=`${a.key}_${n.key}_${e.request?.url}`,s=this.overzoomedTileResultCache.get(o);if(s)return s;let c=new VS,l=this.layerIndex.familiesBySource[r];for(let e in l){let r=t.layers[e];if(!r)continue;let i=HS(r,a,n.canonical);i.length>0&&c.addLayer(i)}let u={vectorTile:c,rawData:U_(c).buffer};return this.overzoomedTileResultCache.set(o,u),u}async reloadTile(e){let t=e.uid,n=this.tileState.getLoaded(t);if(!n)throw Error(`Should not be trying to reload a tile that was never loaded or has been removed`);if(n.vectorTile)return n.showCollisionBoxes=e.showCollisionBoxes,await this._parseWorkerTile(n,e)}async abortTile(e){this.tileState.abort(e.uid)}async removeTile(e){this.tileState.removeLoaded(e.uid)}},WS=class{constructor(){this.loaded={}}async loadTile(e){let{uid:t,encoding:n,rawImageData:r,redFactor:i,greenFactor:a,blueFactor:o,baseShift:s}=e,c=r.width+4,l=r.height+4,u=new Rl(t,N(r)?new wl({width:c,height:l},await Se(r,-2,-2,c,l)):r,n,i,a,o,s);return this.loaded||={},this.loaded[t]=u,u}removeTile(e){let t=this.loaded,n=e.uid;t?.[n]&&delete t[n]}},GS=class{constructor(e,t,n,r=KS){this.actor=e,this.layerIndex=t,this.availableImages=n,this.tileState=new LS,this._createGeoJSONIndex=r}loadVectorTile(e){if(!this._geoJSONIndex)throw Error(`Unable to parse the data into a cluster or geojson`);let{z:t,x:n,y:r}=e.tileID.canonical,i=this._geoJSONIndex.getTile(t,n,r);if(!i)return null;let a=new H_(i.features,{version:2,extent:A});return{vectorTile:a,rawData:U_(a,re).buffer}}async loadTile(e){let{uid:t}=e,n=new FS(e);n.abort=new AbortController;try{let r=this.loadVectorTile(e);if(!r)return null;let{vectorTile:i,rawData:a}=r;n.vectorTile=i,this.tileState.markLoaded(t,n);let o={rawData:a};return this.tileState.setParsing(t,o),await this._parseWorkerTile(n,e)}catch(e){throw this.tileState.markLoaded(t,n),e}}async _parseWorkerTile(e,t){let n=this.tileState.getParsing(e.uid),r=await e.parse(e.vectorTile,this.layerIndex,this.availableImages,this.actor,t.subdivisionGranularity);if(n){let{rawData:t}=n;r=le({rawTileData:t.slice(0),encoding:`mvt`},r),this.tileState.removeParsing(e.uid)}return r}async abortTile(e){this.tileState.abort(e.uid)}async removeTile(e){this.tileState.removeLoaded(e.uid)}async loadData(e){this._pendingRequest?.abort();let t=this._startRequestTiming(e);this._pendingRequest=new AbortController;try{await this.loadAndProcessGeoJSON(e,this._pendingRequest),delete this._pendingRequest,this.tileState.clearLoaded();let n={};return e.request&&(n.data=e.data),this._finishRequestTiming(t,e,n),n}catch(e){if(delete this._pendingRequest,!De(e))throw e;return{abandoned:!0}}}_startRequestTiming(e){if(e.request?.collectResourceTiming)return new RS(e.request.url)}_finishRequestTiming(e,t,n){let r=e?.finish();r&&(n.resourceTiming={[t.source]:JSON.parse(JSON.stringify(r))})}async reloadTile(e){let t=e.uid,n=this.tileState.getLoaded(t);if(!n)return await this.loadTile(e);if(n.vectorTile)return n.showCollisionBoxes=e.showCollisionBoxes,await this._parseWorkerTile(n,e)}async loadAndProcessGeoJSON(e,t){if(e.request&&(e.data=(await Be(e.request,t)).data),e.data){e.data=this._filterGeoJSON(e.data,e.filter,e.source),this._geoJSONIndex=this._createGeoJSONIndex(e.data,e);return}if(e.dataDiff){this._geoJSONIndex??=this._createGeoJSONIndex({type:`FeatureCollection`,features:[]},e),this._geoJSONIndex.updateData(e.dataDiff,this._getFilterPredicate(e.filter,e.source));return}if(e.updateCluster&&this._geoJSONIndex.updateClusterOptions(e.geojsonVtOptions.cluster,qS(e)),this._geoJSONIndex==null)throw Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`)}_filterGeoJSON(e,t,n){if(e.type!==`FeatureCollection`)return e;let r=this._getFilterPredicate(t,n);return r?{type:`FeatureCollection`,features:e.features.filter(e=>r(e))}:e}_getFilterPredicate(e,t){if(typeof e!=`boolean`&&!e?.length)return;let n=Ui(e,`sources.${t}.filter`,{type:`boolean`,\"property-type\":`data-driven`,overridable:!1,transition:!1});if(n.result===`error`)throw Error(n.value.map(e=>`${e.key}: ${e.message}`).join(`, `));return e=>n.value.evaluate({zoom:0},e)}async removeSource(e){this._pendingRequest?.abort()}getClusterExpansionZoom(e){return this._geoJSONIndex.getClusterExpansionZoom(e.clusterId)}getClusterChildren(e){return this._geoJSONIndex.getClusterChildren(e.clusterId)}getClusterLeaves(e){return this._geoJSONIndex.getClusterLeaves(e.clusterId,e.limit,e.offset)}};function KS(e,t){return new Cp(e,le(t.geojsonVtOptions||{},{updateable:!0,clusterOptions:qS(t)}))}function qS({geojsonVtOptions:e,clusterProperties:t,source:n}){if(!t||!e.clusterOptions)return e.clusterOptions;let r={},i={},a={accumulated:null,zoom:0},o={properties:null},s=Object.keys(t);for(let e of s){let[a,o]=t[e],s=Ui(o,`sources.${n}.clusterProperties.${e}[1]`),c=Ui(typeof a==`string`?[a,[`accumulated`],[`get`,e]]:a,`sources.${n}.clusterProperties.${e}[0]`);r[e]=s.value,i[e]=c.value}return e.clusterOptions.map=e=>{o.properties=e;let t={};for(let e of s)t[e]=r[e].evaluate(a,o);return t},e.clusterOptions.reduce=(e,t)=>{o.properties=t;for(let t of s)a.accumulated=e[t],e[t]=i[t].evaluate(a,o)},e.clusterOptions}async function JS(e){if(e.endsWith(`.mjs`)){await import(e);return}let t=await fetch(e,{credentials:`same-origin`});if(!t.ok)throw Error(`Failed to load ${e}: ${t.status}`);let n=await t.text();if(/^[ \\t]*(import|export)\\s/m.test(n)){let e=URL.createObjectURL(new Blob([n],{type:`text/javascript`}));try{await import(e)}finally{URL.revokeObjectURL(e)}return}globalThis.eval(n)}var YS=class{constructor(e){this.self=e,this.actor=new A_(e),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.globalStates=new Map,this.self.registerWorkerSource=(e,t)=>{if(this.externalWorkerSourceTypes[e])throw Error(`Worker source with name \"${e}\" already registered.`);this.externalWorkerSourceTypes[e]=t},this.self.addProtocol=je,this.self.removeProtocol=Me,this.self.registerRTLTextPlugin=e=>{Gp.setMethods(e)},this.self.makeRequest=ze,this.actor.registerMessageHandler(`LDT`,(e,t)=>this._getDEMWorkerSource(e,t.source).loadTile(t)),this.actor.registerMessageHandler(`RDT`,async(e,t)=>{this._getDEMWorkerSource(e,t.source).removeTile(t)}),this.actor.registerMessageHandler(`GCEZ`,async(e,t)=>this._getWorkerSource(e,t.type,t.source).getClusterExpansionZoom(t)),this.actor.registerMessageHandler(`GCC`,async(e,t)=>this._getWorkerSource(e,t.type,t.source).getClusterChildren(t)),this.actor.registerMessageHandler(`GCL`,async(e,t)=>this._getWorkerSource(e,t.type,t.source).getClusterLeaves(t)),this.actor.registerMessageHandler(`LD`,(e,t)=>this._getWorkerSource(e,t.type,t.source).loadData(t)),this.actor.registerMessageHandler(`LT`,(e,t)=>this._getWorkerSource(e,t.type,t.source).loadTile(t)),this.actor.registerMessageHandler(`RT`,(e,t)=>this._getWorkerSource(e,t.type,t.source).reloadTile(t)),this.actor.registerMessageHandler(`AT`,(e,t)=>this._getWorkerSource(e,t.type,t.source).abortTile(t)),this.actor.registerMessageHandler(`RMT`,(e,t)=>this._getWorkerSource(e,t.type,t.source).removeTile(t)),this.actor.registerMessageHandler(`RS`,async(e,t)=>{if(!this.workerSources[e]?.[t.type]?.[t.source])return;let n=this.workerSources[e][t.type][t.source];delete this.workerSources[e][t.type][t.source],n.removeSource!==void 0&&n.removeSource(t)}),this.actor.registerMessageHandler(`RM`,async e=>{delete this.layerIndexes[e],delete this.availableImages[e],delete this.workerSources[e],delete this.demWorkerSources[e],this.globalStates.delete(e)}),this.actor.registerMessageHandler(`SR`,async(e,t)=>{this.referrer=t}),this.actor.registerMessageHandler(`SRPS`,(e,t)=>this._syncRTLPluginState(e,t)),this.actor.registerMessageHandler(`IS`,async(e,t)=>{await JS(t)}),this.actor.registerMessageHandler(`SI`,(e,t)=>this._setImages(e,t)),this.actor.registerMessageHandler(`UL`,async(e,t)=>{this._getLayerIndex(e).update(t.layers,t.removedIds,this._getGlobalState(e))}),this.actor.registerMessageHandler(`UGS`,async(e,t)=>{let n=this._getGlobalState(e);for(let e in t)n[e]=t[e]}),this.actor.registerMessageHandler(`SL`,async(e,t)=>{this._getLayerIndex(e).replace(t,this._getGlobalState(e))})}_getGlobalState(e){let t=this.globalStates.get(e);return t||(t={},this.globalStates.set(e,t)),t}async _setImages(e,t){this.availableImages[e]=t;for(let n in this.workerSources[e]){let r=this.workerSources[e][n];for(let e in r)r[e].availableImages=t}}async _syncRTLPluginState(e,t){return await Gp.syncState(t,JS)}_getAvailableImages(e){let t=this.availableImages[e];return t||=[],t}_getLayerIndex(e){let t=this.layerIndexes[e];return t||=this.layerIndexes[e]=new NS,t}_getWorkerSource(e,t,n){if(this.workerSources[e]||={},this.workerSources[e][t]||={},!this.workerSources[e][t][n]){let r={sendAsync:(t,n)=>(t.targetMapId=e,this.actor.sendAsync(t,n))};switch(t){case`vector`:this.workerSources[e][t][n]=new US(r,this._getLayerIndex(e),this._getAvailableImages(e));break;case`geojson`:this.workerSources[e][t][n]=new GS(r,this._getLayerIndex(e),this._getAvailableImages(e));break;default:this.workerSources[e][t][n]=new this.externalWorkerSourceTypes[t](r,this._getLayerIndex(e),this._getAvailableImages(e))}}return this.workerSources[e][t][n]}_getDEMWorkerSource(e,t){return this.demWorkerSources[e]||={},this.demWorkerSources[e][t]||=new WS,this.demWorkerSources[e][t]}};return ge(self)&&(self.worker=new YS(self)),YS})();";
3
+ //#endregion
4
+ export { e as default };