@protobase/ui 0.25.3 → 0.25.4

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 (47) hide show
  1. package/dist/account/account-section.js +1 -1
  2. package/dist/account/password-dialog.js +1 -1
  3. package/dist/account/sign-in-policy-form.js +3 -3
  4. package/dist/account/two-factor-setup.js +1 -1
  5. package/dist/action-card/field-list.js +1 -1
  6. package/dist/app/displays/board-column.js +1 -1
  7. package/dist/app/displays/timeline-row.js +1 -1
  8. package/dist/app/error-banner.js +1 -1
  9. package/dist/app/export/export-dialog.js +3 -3
  10. package/dist/app/import/import-check-step.js +2 -2
  11. package/dist/app/pages/blocks/field.js +1 -1
  12. package/dist/app/pages/blocks/progress.js +1 -1
  13. package/dist/app/staff-banner.js +1 -1
  14. package/dist/app-shell/sidebar-group.js +1 -1
  15. package/dist/app-shell/sidebar-item.js +1 -1
  16. package/dist/app-shell/sidebar.js +1 -1
  17. package/dist/assistant-dock/assistant-dock.js +1 -1
  18. package/dist/auth/code-form.js +2 -2
  19. package/dist/auth/forgot-password-form.js +1 -1
  20. package/dist/auth/reset-password-form.js +1 -1
  21. package/dist/auth/setup-required-form.js +1 -1
  22. package/dist/auth/sign-in-form.js +3 -3
  23. package/dist/auth/sign-up-details-form.js +1 -1
  24. package/dist/auth/sign-up-email-form.js +1 -1
  25. package/dist/auth/staff-sign-in-form.js +2 -2
  26. package/dist/auth/two-factor-form.js +2 -2
  27. package/dist/data-grid/grid-header.js +1 -1
  28. package/dist/filter-panel/date-presets.js +1 -1
  29. package/dist/forms/public-form-page.js +1 -1
  30. package/dist/organizations/invitation-page.js +2 -2
  31. package/dist/organizations/members-page.js +1 -1
  32. package/dist/package.js +1 -1
  33. package/dist/primitives/button.js +1 -1
  34. package/dist/primitives/segmented.js +1 -1
  35. package/dist/record-view/field.js +2 -2
  36. package/dist/shell/assets/{app-CW3U56yM.js → app-yCMYvqMX.js} +10 -10
  37. package/dist/shell/assets/{index-BRkDA5KD.css → index-Bkc7w8I4.css} +1 -1
  38. package/dist/shell/assets/{index-B7cIjCuz.js → index-HkjqX_O-.js} +1 -1
  39. package/dist/shell/assets/{maplibre-CVG5L9FD.js → maplibre-DUTS_eJM.js} +1 -1
  40. package/dist/shell/assets/{preload-helper-BX9CcZkY.js → preload-helper-BZ3hrQDD.js} +1 -1
  41. package/dist/shell/assets/{record-map-Cw3_NcUl.js → record-map-DFy7sJEU.js} +1 -1
  42. package/dist/shell/assets/{records-map-D4f3ZeDL.js → records-map-MfQEuiFB.js} +1 -1
  43. package/dist/shell/assets/{shared-protobase-ui-CB_i50NP.js → shared-protobase-ui-Bfa59vx6.js} +1 -1
  44. package/dist/shell/index.html +5 -5
  45. package/dist/shell/protobase.shell.json +1 -1
  46. package/dist/shell/protobase.sw.js +2 -2
  47. package/package.json +4 -4
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-hePW80VL.js";import{t as n}from"./react-Cvdyeg_0.js";import{t as r}from"./react-dom-B-VxWsjA.js";import{a as i,n as a,o,r as s,t as c}from"./preload-helper-BX9CcZkY.js";import{t as l}from"./jsx-runtime-NZYk81nU.js";var u={name:`map-pin`,size:24,node:[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`,key:`1r0f0z`}],[`circle`,{cx:`12`,cy:`10`,r:`3`,key:`ilqhr7`}]]};u.node;var d=o(u),f=t(n(),1),p=t(r(),1),m=t(l(),1),h=Uint8Array,g=Uint16Array,_=Int32Array,v=new h([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),y=new h([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),b=new h([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),x=function(e,t){for(var n=new g(31),r=0;r<31;++r)n[r]=t+=1<<e[r-1];for(var i=new _(n[30]),r=1;r<30;++r)for(var a=n[r];a<n[r+1];++a)i[a]=a-n[r]<<5|r;return{b:n,r:i}},S=x(v,2),C=S.b,w=S.r;C[28]=258,w[258]=28;var T=x(y,0),E=T.b;T.r;for(var D=new g(32768),O=0;O<32768;++O){var k=(O&43690)>>1|(O&21845)<<1;k=(k&52428)>>2|(k&13107)<<2,k=(k&61680)>>4|(k&3855)<<4,D[O]=((k&65280)>>8|(k&255)<<8)>>1}for(var A=(function(e,t,n){for(var r=e.length,i=0,a=new g(t);i<r;++i)e[i]&&++a[e[i]-1];var o=new g(t);for(i=1;i<t;++i)o[i]=o[i-1]+a[i-1]<<1;var s;if(n){s=new g(1<<t);var c=15-t;for(i=0;i<r;++i)if(e[i])for(var l=i<<4|e[i],u=t-e[i],d=o[e[i]-1]++<<u,f=d|(1<<u)-1;d<=f;++d)s[D[d]>>c]=l}else for(s=new g(r),i=0;i<r;++i)e[i]&&(s[i]=D[o[e[i]-1]++]>>15-e[i]);return s}),ee=new h(288),O=0;O<144;++O)ee[O]=8;for(var O=144;O<256;++O)ee[O]=9;for(var O=256;O<280;++O)ee[O]=7;for(var O=280;O<288;++O)ee[O]=8;for(var te=new h(32),O=0;O<32;++O)te[O]=5;var ne=A(ee,9,1),re=A(te,5,1),ie=function(e){for(var t=e[0],n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},ae=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(t&7)&n},oe=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(t&7)},se=function(e){return(e+7)/8|0},ce=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new h(e.subarray(t,n))},le=[`unexpected EOF`,`invalid block type`,`invalid length/literal`,`invalid distance`,`stream finished`,`no stream handler`,,`no callback`,`invalid UTF-8 data`,`extra field too long`,`date not in range 1980-2099`,`filename too long`,`stream finishing`,`invalid zip data`],ue=function(e,t,n){var r=Error(t||le[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,ue),!n)throw r;return r},de=function(e,t,n,r){var i=e.length,a=r?r.length:0;if(!i||t.f&&!t.l)return n||new h(0);var o=!n,s=o||t.i!=2,c=t.i;o&&(n=new h(i*3));var l=function(e){var t=n.length;if(e>t){var r=new h(Math.max(t*2,e));r.set(n),n=r}},u=t.f||0,d=t.p||0,f=t.b||0,p=t.l,m=t.d,g=t.m,_=t.n,x=i*8;do{if(!p){u=ae(e,d,1);var S=ae(e,d+1,3);if(d+=3,!S){var w=se(d)+4,T=e[w-4]|e[w-3]<<8,D=w+T;if(D>i){c&&ue(0);break}s&&l(f+T),n.set(e.subarray(w,D),f),t.b=f+=T,t.p=d=D*8,t.f=u;continue}if(S==1)p=ne,m=re,g=9,_=5;else if(S==2){var O=ae(e,d,31)+257,k=ae(e,d+10,15)+4,ee=O+ae(e,d+5,31)+1;d+=14;for(var te=new h(ee),le=new h(19),de=0;de<k;++de)le[b[de]]=ae(e,d+de*3,7);d+=k*3;for(var fe=ie(le),pe=(1<<fe)-1,me=A(le,fe,1),de=0;de<ee;){var he=me[ae(e,d,pe)];d+=he&15;var w=he>>4;if(w<16)te[de++]=w;else{var ge=0,_e=0;for(w==16?(_e=3+ae(e,d,3),d+=2,ge=te[de-1]):w==17?(_e=3+ae(e,d,7),d+=3):w==18&&(_e=11+ae(e,d,127),d+=7);_e--;)te[de++]=ge}}var ve=te.subarray(0,O),ye=te.subarray(O);g=ie(ve),_=ie(ye),p=A(ve,g,1),m=A(ye,_,1)}else ue(1);if(d>x){c&&ue(0);break}}s&&l(f+131072);for(var be=(1<<g)-1,xe=(1<<_)-1,Se=d;;Se=d){var ge=p[oe(e,d)&be],Ce=ge>>4;if(d+=ge&15,d>x){c&&ue(0);break}if(ge||ue(2),Ce<256)n[f++]=Ce;else if(Ce==256){Se=d,p=null;break}else{var we=Ce-254;if(Ce>264){var de=Ce-257,Te=v[de];we=ae(e,d,(1<<Te)-1)+C[de],d+=Te}var Ee=m[oe(e,d)&xe],De=Ee>>4;Ee||ue(3),d+=Ee&15;var ye=E[De];if(De>3){var Te=y[De];ye+=oe(e,d)&(1<<Te)-1,d+=Te}if(d>x){c&&ue(0);break}s&&l(f+131072);var Oe=f+we;if(f<ye){var ke=a-ye,Ae=Math.min(ye,Oe);for(ke+f<0&&ue(3);f<Ae;++f)n[f]=r[ke+f]}for(;f<Oe;++f)n[f]=n[f-ye]}}t.l=p,t.p=Se,t.b=f,t.f=u,p&&(u=1,t.m=g,t.d=m,t.n=_)}while(!u);return f!=n.length&&o?ce(n,0,f):n.subarray(0,f)},fe=new h(0),pe=function(e){(e[0]!=31||e[1]!=139||e[2]!=8)&&ue(6,`invalid gzip data`);var t=e[3],n=10;t&4&&(n+=(e[10]|e[11]<<8)+2);for(var r=(t>>3&1)+(t>>4&1);r>0;r-=!e[n++]);return n+(t&2)},me=function(e){var t=e.length;return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0},he=function(e,t){return((e[0]&15)!=8||e[0]>>4>7||(e[0]<<8|e[1])%31)&&ue(6,`invalid zlib data`),(e[1]>>5&1)==+!t&&ue(6,`invalid zlib data: `+(e[1]&32?`need`:`unexpected`)+` dictionary`),(e[1]>>3&4)+2};function ge(e,t){return de(e,{i:2},t&&t.out,t&&t.dictionary)}function _e(e,t){var n=pe(e);return n+8>e.length&&ue(6,`invalid gzip data`),de(e.subarray(n,-8),{i:2},t&&t.out||new h(me(e)),t&&t.dictionary)}function ve(e,t){return de(e.subarray(he(e,t&&t.dictionary),-4),{i:2},t&&t.out,t&&t.dictionary)}function ye(e,t){return e[0]==31&&e[1]==139&&e[2]==8?_e(e,t):(e[0]&15)!=8||e[0]>>4>7||(e[0]<<8|e[1])%31?ge(e,t):ve(e,t)}var be=typeof TextDecoder<`u`&&new TextDecoder;try{be.decode(fe,{stream:!0})}catch{}var xe=e({AJAXError:()=>Pr,AttributionControl:()=>MF,BoxZoomHandler:()=>RP,CanvasSource:()=>dS,CooperativeGesturesHandler:()=>SF,DoubleClickZoomHandler:()=>gF,DragPanHandler:()=>yF,DragRotateHandler:()=>bF,EXTENT:()=>N,EdgeInsets:()=>nk,ErrorEvent:()=>R,Event:()=>Jr,Evented:()=>Yr,FullscreenControl:()=>TI,FullscreenEvent:()=>wI,GPUInitializationError:()=>wP,GeoJSONSource:()=>qx,GeolocateControl:()=>_I,GeolocateErrorEvent:()=>gI,GeolocateEvent:()=>mI,GeolocatePositionEvent:()=>hI,GlobeControl:()=>DI,Hash:()=>EP,ImageSource:()=>iS,KeyboardHandler:()=>fF,LngLat:()=>Q,LngLatBounds:()=>vx,LogoControl:()=>NF,Map:()=>qF,MapBoxZoomEvent:()=>ri,MapContextEvent:()=>oi,MapLibreEvent:()=>Xr,MapLibreMap:()=>qF,MapMouseEvent:()=>ei,MapMovementEvent:()=>z,MapProjectionEvent:()=>ai,MapSourceDataEvent:()=>$r,MapStyleDataEvent:()=>Qr,MapStyleImageMissingEvent:()=>si,MapStyleLoadEvent:()=>Zr,MapTerrainEvent:()=>ii,MapTouchEvent:()=>ti,MapWheelEvent:()=>ni,Marker:()=>uI,MarkerClickEvent:()=>lI,MarkerDragEvent:()=>cI,MercatorCoordinate:()=>Nh,NavigationControl:()=>YF,Point:()=>j,Popup:()=>jI,PopupEvent:()=>AI,RasterDEMTileSource:()=>Nx,RasterTileSource:()=>xx,ScaleControl:()=>yI,ScrollZoomHandler:()=>hF,Style:()=>yA,TerrainControl:()=>EI,TwoFingersTouchPitchHandler:()=>uF,TwoFingersTouchRotateHandler:()=>cF,TwoFingersTouchZoomHandler:()=>oF,TwoFingersTouchZoomRotateHandler:()=>xF,VectorTileSource:()=>bx,VideoSource:()=>uS,addProtocol:()=>jr,addSourceType:()=>gS,clearPrewarmedResources:()=>rx,config:()=>kr,createTileMesh:()=>rS,getGlobalDispatcher:()=>ox,getMaxParallelImageRequests:()=>BI,getRTLTextPluginStatus:()=>II,getVersion:()=>LI,getWorkerCount:()=>RI,getWorkerUrl:()=>HI,importScriptInWorkers:()=>WI,isTimeFrozen:()=>Sr,now:()=>yr,prewarm:()=>nx,removeProtocol:()=>Mr,restoreNow:()=>xr,setMaxParallelImageRequests:()=>VI,setNow:()=>br,setRTLTextPlugin:()=>FI,setWorkerCount:()=>zI,setWorkerUrl:()=>UI}),Se=Object.create,Ce=Object.defineProperty,we=Object.getOwnPropertyDescriptor,Te=Object.getOwnPropertyNames,Ee=Object.getPrototypeOf,De=Object.prototype.hasOwnProperty,Oe=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),ke=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=Te(t),a=0,o=i.length,s;a<o;a++)s=i[a],!De.call(e,s)&&s!==n&&Ce(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=we(t,s))||r.enumerable});return e},Ae=(e,t,n)=>(n=e==null?{}:Se(Ee(e)),ke(t||!e||!e.__esModule||!De.call(e,`default`)?Ce(n,`default`,{value:e,enumerable:!0}):n,e)),je=`6.14.0`;function j(e,t){this.x=e,this.y=t}j.prototype={clone(){return new j(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:j},j.convert=function(e){if(e instanceof j)return e;if(Array.isArray(e))return new j(+e[0],+e[1]);if(e.x!==void 0&&e.y!==void 0)return new j(+e.x,+e.y);throw Error(`Expected [x, y] or {x, y} point format`)};function Me(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 Ne;function Pe(){return Ne??=typeof OffscreenCanvas<`u`&&!!new OffscreenCanvas(1,1).getContext(`2d`)&&typeof createImageBitmap==`function`,Ne}var Fe;function Ie(){if(Fe==null&&(Fe=!1,Pe())){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){Fe=!0;break}}}return Fe||!1}var Le=typeof Float32Array<`u`?Float32Array:Array;function Re(){var e=new Le(4);return Le!=Float32Array&&(e[1]=0,e[2]=0),e[0]=1,e[3]=1,e}function ze(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=n*a-i*r;return o?(o=1/o,e[0]=a*o,e[1]=-r*o,e[2]=-i*o,e[3]=n*o,e):null}function Be(e){return e[0]*e[3]-e[2]*e[1]}function Ve(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(n),c=Math.cos(n);return e[0]=r*c+a*s,e[1]=i*c+o*s,e[2]=r*-s+a*c,e[3]=i*-s+o*c,e}function He(){var e=new Le(9);return Le!=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 Ue(e){var t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],o=e[5],s=e[6],c=e[7],l=e[8];return t*(l*a-o*c)+n*(-l*i+o*s)+r*(c*i-a*s)}function We(e,t){var n=Math.sin(t),r=Math.cos(t);return e[0]=r,e[1]=n,e[2]=0,e[3]=-n,e[4]=r,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e}function Ge(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=n+n,s=r+r,c=i+i,l=n*o,u=r*o,d=r*s,f=i*o,p=i*s,m=i*c,h=a*o,g=a*s,_=a*c;return e[0]=1-d-m,e[3]=u-_,e[6]=f+g,e[1]=u+_,e[4]=1-l-m,e[7]=p-h,e[2]=f-g,e[5]=p+h,e[8]=1-l-d,e}function Ke(){var e=new Le(16);return Le!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function qe(e){var t=new Le(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Je(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Ye(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Xe(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10],p=t[11],m=t[12],h=t[13],g=t[14],_=t[15],v=n*s-r*o,y=n*c-i*o,b=n*l-a*o,x=r*c-i*s,S=r*l-a*s,C=i*l-a*c,w=u*h-d*m,T=u*g-f*m,E=u*_-p*m,D=d*g-f*h,O=d*_-p*h,k=f*_-p*g,A=v*k-y*O+b*D+x*E-S*T+C*w;return A?(A=1/A,e[0]=(s*k-c*O+l*D)*A,e[1]=(i*O-r*k-a*D)*A,e[2]=(h*C-g*S+_*x)*A,e[3]=(f*S-d*C-p*x)*A,e[4]=(c*E-o*k-l*T)*A,e[5]=(n*k-i*E+a*T)*A,e[6]=(g*b-m*C-_*y)*A,e[7]=(u*C-f*b+p*y)*A,e[8]=(o*O-s*E+l*w)*A,e[9]=(r*E-n*O-a*w)*A,e[10]=(m*S-h*b+_*v)*A,e[11]=(d*b-u*S-p*v)*A,e[12]=(s*T-o*D-c*w)*A,e[13]=(n*D-r*T+i*w)*A,e[14]=(h*y-m*x-g*v)*A,e[15]=(u*x-d*y+f*v)*A,e):null}function Ze(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],c=t[5],l=t[6],u=t[7],d=t[8],f=t[9],p=t[10],m=t[11],h=t[12],g=t[13],_=t[14],v=t[15],y=n[0],b=n[1],x=n[2],S=n[3];return e[0]=y*r+b*s+x*d+S*h,e[1]=y*i+b*c+x*f+S*g,e[2]=y*a+b*l+x*p+S*_,e[3]=y*o+b*u+x*m+S*v,y=n[4],b=n[5],x=n[6],S=n[7],e[4]=y*r+b*s+x*d+S*h,e[5]=y*i+b*c+x*f+S*g,e[6]=y*a+b*l+x*p+S*_,e[7]=y*o+b*u+x*m+S*v,y=n[8],b=n[9],x=n[10],S=n[11],e[8]=y*r+b*s+x*d+S*h,e[9]=y*i+b*c+x*f+S*g,e[10]=y*a+b*l+x*p+S*_,e[11]=y*o+b*u+x*m+S*v,y=n[12],b=n[13],x=n[14],S=n[15],e[12]=y*r+b*s+x*d+S*h,e[13]=y*i+b*c+x*f+S*g,e[14]=y*a+b*l+x*p+S*_,e[15]=y*o+b*u+x*m+S*v,e}function M(e,t,n){var r=n[0],i=n[1],a=n[2],o,s,c,l,u,d,f,p,m,h,g,_;return t===e?(e[12]=t[0]*r+t[4]*i+t[8]*a+t[12],e[13]=t[1]*r+t[5]*i+t[9]*a+t[13],e[14]=t[2]*r+t[6]*i+t[10]*a+t[14],e[15]=t[3]*r+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],c=t[2],l=t[3],u=t[4],d=t[5],f=t[6],p=t[7],m=t[8],h=t[9],g=t[10],_=t[11],e[0]=o,e[1]=s,e[2]=c,e[3]=l,e[4]=u,e[5]=d,e[6]=f,e[7]=p,e[8]=m,e[9]=h,e[10]=g,e[11]=_,e[12]=o*r+u*i+m*a+t[12],e[13]=s*r+d*i+h*a+t[13],e[14]=c*r+f*i+g*a+t[14],e[15]=l*r+p*i+_*a+t[15]),e}function Qe(e,t,n){var r=n[0],i=n[1],a=n[2];return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function $e(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10],f=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+l*r,e[5]=o*i+u*r,e[6]=s*i+d*r,e[7]=c*i+f*r,e[8]=l*i-a*r,e[9]=u*i-o*r,e[10]=d*i-s*r,e[11]=f*i-c*r,e}function et(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[0],o=t[1],s=t[2],c=t[3],l=t[8],u=t[9],d=t[10],f=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-l*r,e[1]=o*i-u*r,e[2]=s*i-d*r,e[3]=c*i-f*r,e[8]=a*r+l*i,e[9]=o*r+u*i,e[10]=s*r+d*i,e[11]=c*r+f*i,e}function tt(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[0],o=t[1],s=t[2],c=t[3],l=t[4],u=t[5],d=t[6],f=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+l*r,e[1]=o*i+u*r,e[2]=s*i+d*r,e[3]=c*i+f*r,e[4]=l*i-a*r,e[5]=u*i-o*r,e[6]=d*i-s*r,e[7]=f*i-c*r,e}function nt(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function rt(e,t,n,r,i){var a=1/Math.tan(t/2);if(e[0]=a/n,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){var o=1/(r-i);e[10]=(i+r)*o,e[14]=2*i*r*o}else e[10]=-1,e[14]=-2*r;return e}var it=rt;function at(e,t,n,r,i,a,o){var s=1/(t-n),c=1/(r-i),l=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+n)*s,e[13]=(i+r)*c,e[14]=(o+a)*l,e[15]=1,e}var ot=at;function st(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function ct(e,t){var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],s=e[5],c=e[6],l=e[7],u=e[8],d=e[9],f=e[10],p=e[11],m=e[12],h=e[13],g=e[14],_=e[15],v=t[0],y=t[1],b=t[2],x=t[3],S=t[4],C=t[5],w=t[6],T=t[7],E=t[8],D=t[9],O=t[10],k=t[11],A=t[12],ee=t[13],te=t[14],ne=t[15];return Math.abs(n-v)<=1e-6*Math.max(1,Math.abs(n),Math.abs(v))&&Math.abs(r-y)<=1e-6*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(i-b)<=1e-6*Math.max(1,Math.abs(i),Math.abs(b))&&Math.abs(a-x)<=1e-6*Math.max(1,Math.abs(a),Math.abs(x))&&Math.abs(o-S)<=1e-6*Math.max(1,Math.abs(o),Math.abs(S))&&Math.abs(s-C)<=1e-6*Math.max(1,Math.abs(s),Math.abs(C))&&Math.abs(c-w)<=1e-6*Math.max(1,Math.abs(c),Math.abs(w))&&Math.abs(l-T)<=1e-6*Math.max(1,Math.abs(l),Math.abs(T))&&Math.abs(u-E)<=1e-6*Math.max(1,Math.abs(u),Math.abs(E))&&Math.abs(d-D)<=1e-6*Math.max(1,Math.abs(d),Math.abs(D))&&Math.abs(f-O)<=1e-6*Math.max(1,Math.abs(f),Math.abs(O))&&Math.abs(p-k)<=1e-6*Math.max(1,Math.abs(p),Math.abs(k))&&Math.abs(m-A)<=1e-6*Math.max(1,Math.abs(m),Math.abs(A))&&Math.abs(h-ee)<=1e-6*Math.max(1,Math.abs(h),Math.abs(ee))&&Math.abs(g-te)<=1e-6*Math.max(1,Math.abs(g),Math.abs(te))&&Math.abs(_-ne)<=1e-6*Math.max(1,Math.abs(_),Math.abs(ne))}function lt(){var e=new Le(3);return Le!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function ut(e){var t=new Le(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function dt(e){var t=e[0],n=e[1],r=e[2];return Math.sqrt(t*t+n*n+r*r)}function ft(e,t,n){var r=new Le(3);return r[0]=e,r[1]=t,r[2]=n,r}function pt(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e}function mt(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2],e}function ht(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e}function gt(e,t,n,r){return e[0]=t[0]+n[0]*r,e[1]=t[1]+n[1]*r,e[2]=t[2]+n[2]*r,e}function _t(e,t){var n=t[0]-e[0],r=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(n*n+r*r+i*i)}function vt(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function yt(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 bt(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function xt(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}function St(e,t,n,r){var i=t[0],a=t[1],o=t[2];return e[0]=i+r*(n[0]-i),e[1]=a+r*(n[1]-a),e[2]=o+r*(n[2]-o),e}function Ct(e,t,n){var r=t[0],i=t[1],a=t[2],o=n[3]*r+n[7]*i+n[11]*a+n[15];return o||=1,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}function wt(e,t,n){var r=t[0],i=t[1],a=t[2];return e[0]=r*n[0]+i*n[3]+a*n[6],e[1]=r*n[1]+i*n[4]+a*n[7],e[2]=r*n[2]+i*n[5]+a*n[8],e}function Tt(e,t,n){var r=n[0],i=n[1],a=n[2],o=n[3],s=t[0],c=t[1],l=t[2],u=i*l-a*c,d=a*s-r*l,f=r*c-i*s;return u+=u,d+=d,f+=f,e[0]=s+o*u+i*f-a*d,e[1]=c+o*d+a*u-r*f,e[2]=l+o*f+r*d-i*u,e}function Et(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[0],a[1]=i[1]*Math.cos(r)-i[2]*Math.sin(r),a[2]=i[1]*Math.sin(r)+i[2]*Math.cos(r),e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function Dt(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[2]*Math.sin(r)+i[0]*Math.cos(r),a[1]=i[1],a[2]=i[2]*Math.cos(r)-i[0]*Math.sin(r),e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function Ot(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[0]*Math.cos(r)-i[1]*Math.sin(r),a[1]=i[0]*Math.sin(r)+i[1]*Math.cos(r),a[2]=i[2],e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function kt(e){return e[0]=0,e[1]=0,e[2]=0,e}var At=mt,jt=dt;(function(){var e=lt();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 Mt(){var e=new Le(4);return Le!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Nt(e,t,n,r){var i=new Le(4);return i[0]=e,i[1]=t,i[2]=n,i[3]=r,i}function Pt(e,t,n){return e[0]=t[0]*n[0],e[1]=t[1]*n[1],e[2]=t[2]*n[2],e[3]=t[3]*n[3],e}function Ft(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e}function It(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 Lt(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}var Rt=Pt;(function(){var e=Mt();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 zt(){var e=new Le(4);return Le!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function Bt(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 Vt(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=n[0],c=n[1],l=n[2],u=n[3];return e[0]=r*u+o*s+i*l-a*c,e[1]=i*u+o*c+a*s-r*l,e[2]=a*u+o*l+r*c-i*s,e[3]=o*u-r*s-i*c-a*l,e}function Ht(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 Ut(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}function Wt(e,t,n,r){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:`zyx`,a=Math.PI/360;t*=a,r*=a,n*=a;var o=Math.sin(t),s=Math.cos(t),c=Math.sin(n),l=Math.cos(n),u=Math.sin(r),d=Math.cos(r);switch(i){case`xyz`:e[0]=o*l*d+s*c*u,e[1]=s*c*d-o*l*u,e[2]=s*l*u+o*c*d,e[3]=s*l*d-o*c*u;break;case`xzy`:e[0]=o*l*d-s*c*u,e[1]=s*c*d-o*l*u,e[2]=s*l*u+o*c*d,e[3]=s*l*d+o*c*u;break;case`yxz`:e[0]=o*l*d+s*c*u,e[1]=s*c*d-o*l*u,e[2]=s*l*u-o*c*d,e[3]=s*l*d+o*c*u;break;case`yzx`:e[0]=o*l*d+s*c*u,e[1]=s*c*d+o*l*u,e[2]=s*l*u-o*c*d,e[3]=s*l*d-o*c*u;break;case`zxy`:e[0]=o*l*d-s*c*u,e[1]=s*c*d+o*l*u,e[2]=s*l*u+o*c*d,e[3]=s*l*d-o*c*u;break;case`zyx`:e[0]=o*l*d-s*c*u,e[1]=s*c*d+o*l*u,e[2]=s*l*u-o*c*d,e[3]=s*l*d+o*c*u;break;default:throw Error(`Unknown angle order `+i)}return e}var Gt=Nt,Kt=It;(function(){var e=lt(),t=ft(1,0,0),n=ft(0,1,0);return function(r,i,a){var o=bt(i,a);return o<-.999999?(xt(e,t,i),jt(e)<1e-6&&xt(e,n,i),yt(e,e),Bt(r,e,Math.PI),r):o>.999999?(r[0]=0,r[1]=0,r[2]=0,r[3]=1,r):(xt(e,i,a),r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=1+o,Kt(r,r))}})(),function(){var e=zt(),t=zt();return function(n,r,i,a,o,s){return Ht(e,r,o,s),Ht(t,i,a,s),Ht(n,e,t,2*s*(1-s)),n}}(),function(){var e=He();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],Kt(t,Ut(t,e))}}();function qt(){var e=new Le(2);return Le!=Float32Array&&(e[0]=0,e[1]=0),e}function Jt(e,t){var n=new Le(2);return n[0]=e,n[1]=t,n}function Yt(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e}function Xt(e){var t=e[0],n=e[1];return Math.sqrt(t*t+n*n)}function Zt(e){var t=e[0],n=e[1];return t*t+n*n}function Qt(e,t){return e[0]*t[0]+e[1]*t[1]}function $t(e){return e[0]=0,e[1]=0,e}var en=Zt;(function(){var e=qt();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 N=8192;function tn(e,t,n){return t*(N/(e.tileSize*2**(n-e.tileID.overscaledZ)))}function nn(e){return e instanceof Error?e:Error(typeof e==`string`?e:String(e))}function rn(){return new Float64Array(4)}function an(){return new Float64Array(3)}function on(){return new Float64Array(16)}function sn(){let e=new Float64Array(16);return Ye(e),e}function cn(){let e=new Float32Array(16);return Ye(e),e}function ln(e,t,n,r,i=!1){if(!n[0]&&!n[1])return[0,0];let a=i?r===`map`?-e.bearingInRadians:0:r===`viewport`?e.bearingInRadians:0;if(a){let e=Math.sin(a),t=Math.cos(a);n=[n[0]*t-n[1]*e,n[0]*e+n[1]*t]}return[i?n[0]:tn(t,n[0],e.zoom),i?n[1]:tn(t,n[1],e.zoom)]}function un(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]}function dn(e,t,n){let r=Ue([e[0],e[1],e[2],t[0],t[1],t[2],n[0],n[1],n[2]]);if(r===0)return null;let i=xt([],[t[0],t[1],t[2]],[n[0],n[1],n[2]]),a=xt([],[n[0],n[1],n[2]],[e[0],e[1],e[2]]),o=xt([],[e[0],e[1],e[2]],[t[0],t[1],t[2]]),s=ht([],i,-e[3]);return pt(s,s,ht([],a,-t[3])),pt(s,s,ht([],o,-n[3])),ht(s,s,1/r),s}function fn(e,t,n){let r=e[0]*n[0]+e[1]*n[1]+e[2]*n[2],i=t[0]*n[0]+t[1]*n[1]+t[2]*n[2];return i===0?null:(-r-n[3])/i}function pn(e,t,n,r){let i=Math.sqrt(e*e+t*t),a=Math.sqrt(n*n+r*r);e/=i,t/=i,n/=a,r/=a;let o=e*n+t*r,s=Math.acos(o);return-t*n+e*r>0?s:-s}function mn(e,t){let n=gn(e,360),r=gn(t,360),i=r-n,a=r>n?i-360:i+360;return Math.abs(i)<Math.abs(a)?i:a}function hn(e,t){let n=gn(e,Math.PI*2),r=gn(t,Math.PI*2);return Math.min(Math.abs(n-r),Math.abs(n-r+Math.PI*2),Math.abs(n-r-Math.PI*2))}function gn(e,t){return(e%t+t)%t}function _n(e,t,n,r,i){return vn(r,i,P((e-t)/(n-t),0,1))}function vn(e,t,n){return e*(1-n)+t*n}function yn(e){let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),n=Math.min(n,a.y),r=Math.max(r,a.x),i=Math.max(i,a.y);return[t,n,r,i]}function bn(e){if(!e.length)return new Set;let t=Math.max(...e.map(e=>e.canonical.z)),n=1/0,r=-1/0,i=1/0,a=-1/0,o=[];for(let s of e){let{x:e,y:c,z:l}=s.canonical,u=2**(t-l),d=e*u,f=c*u;o.push({id:s,x:d,y:f}),d<n&&(n=d),d>r&&(r=d),f<i&&(i=f),f>a&&(a=f)}let s=new Set;for(let e of o)(e.x===n||e.x===r||e.y===i||e.y===a)&&s.add(e.id);return s}function xn(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 Sn(e,t,n,r){return Me(e,t,n,r)}var Cn=Sn(.25,.1,.25,1);function P(e,t,n){return Math.min(n,Math.max(t,e))}function wn(e,t,n){let r=n-t,i=((e-t)%r+r)%r+t;return i===t?n:i}function F(e,...t){for(let n of t)for(let t in n)e[t]=n[t];return e}function Tn(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}var En=1;function Dn(){return En++}function On(e){return Math.log(e)/Math.LN2%1==0}function kn(e){return e<=1?1:2**Math.ceil(Math.log(e)/Math.LN2)}function An(e){return 2**e}function jn(e){return Math.log(e)/Math.LN2}function Mn(e,t,n){if(t<=0)return e;let r=1/t;return n===void 0||Math.abs(n)<1e-10?Math.round(e*r)/r:(n>0?Math.ceil(e*r-1e-9):Math.floor(e*r+1e-10))/r}function Nn(e,t,n){let r={};for(let i in e)r[i]=t.call(n||this,e[i],i,e);return r}function Pn(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 Fn(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(!Fn(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(!Fn(e[n],t[n]))return!1;return!0}return e===t}function In(e){return Array.isArray(e)?e.map(In):typeof e==`object`&&e?Nn(e,In):e}var Ln={};function Rn(e){Ln[e]||(typeof console<`u`&&console.warn(e),Ln[e]=!0)}function zn(e,t,n){return(n.y-e.y)*(t.x-e.x)>(t.y-e.y)*(n.x-e.x)}function Bn(e,t,n,r){let i=t.y-e.y,a=t.x-e.x,o=r.y-n.y,s=r.x-n.x,c=o*a-s*i;if(c===0)return null;let l=e.y-n.y,u=e.x-n.x,d=(s*l-o*u)/c;return new j(e.x+d*a,e.y+d*i)}function Vn([e,t,n]){return t+=90,t*=Math.PI/180,n*=Math.PI/180,[e*Math.cos(t)*Math.sin(n),e*Math.sin(t)*Math.sin(n),e*Math.cos(n)]}function Hn(e){return typeof WorkerGlobalScope<`u`&&e!==void 0&&e instanceof WorkerGlobalScope}function Un(e){let t=/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,n={};if(e.replace(t,(e,t,r,i)=>{let a=r||i;return n[t]=!a||a.toLowerCase(),``}),n[`max-age`]){let e=parseInt(n[`max-age`],10);isNaN(e)?delete n[`max-age`]:n[`max-age`]=e}return n}var Wn=null;function Gn(e){if(Wn==null){let t=e.navigator?e.navigator.userAgent:null;Wn=!!e.safari||!!(t&&(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match(`Safari`)&&!t.match(`Chrome`)))}return Wn}function Kn(e){return typeof ImageBitmap<`u`&&e instanceof ImageBitmap}var qn=async(e,t)=>{let n=new Blob([new Uint8Array(e)],{type:`image/png`});try{return createImageBitmap(n,t)}catch(e){throw Error(`Could not load image because of ${nn(e).message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}},Jn=e=>new Promise((t,n)=>{let r=new Image;r.onload=()=>{t(r),URL.revokeObjectURL(r.src),r.onload=null,window.requestAnimationFrame(()=>r.src=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=`)},r.onerror=()=>n(Error(`Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`));let i=new Blob([new Uint8Array(e)],{type:`image/png`});r.src=URL.createObjectURL(i)});function Yn(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 Xn(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,Yn(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()}}function Zn(e,t,n,r){return e.addEventListener(t,n,r),{unsubscribe:()=>{e.removeEventListener(t,n,r)}}}function Qn(e){return e*Math.PI/180}function $n(e){return e/Math.PI*180}function er(e,t){return e.roll==t.roll&&e.pitch==t.pitch&&e.bearing==t.bearing}function tr(e){let t=new Float64Array(9);Ge(t,e);let n=$n(-Math.asin(P(t[2],-1,1))),r,i;return Math.hypot(t[5],t[8])<.001?(r=0,i=-$n(Math.atan2(t[3],t[4]))):(r=$n(t[5]===0&&t[8]===0?0:Math.atan2(t[5],t[8])),i=$n(t[1]===0&&t[0]===0?0:Math.atan2(t[1],t[0]))),{roll:r,pitch:n+90,bearing:i}}function nr(e,t,n){let r=Jt(t.x-n.x,t.y-n.y),i=Jt(e.x-n.x,e.y-n.y),a=r[0]*i[1]-r[1]*i[0];return $n(Math.atan2(a,Qt(r,i)))}function rr(e,t,n){let r=new Float64Array(4);return Wt(r,e,t-90,n),r}var ir=85.051129,ar={touchstart:!0,touchmove:!0,touchmoveWindow:!0,touchend:!0,touchcancel:!0},or={dblclick:!0,click:!0,mouseover:!0,mouseout:!0,mousedown:!0,mousemove:!0,mousemoveWindow:!0,mouseup:!0,mouseupWindow:!0,contextmenu:!0,wheel:!0};function sr(e,t){return ar[t]&&`touches`in e}function cr(e,t){if(!or[t])return!1;let n=e,r=(n?.target)?.ownerDocument?.defaultView||window;return n instanceof r.MouseEvent||n instanceof r.WheelEvent}function lr(e){return ar[e]||or[e]}var ur=`AbortError`,dr=class extends Error{constructor(e=ur){super(e instanceof Error?e.message:e),this.name=ur,e instanceof Error&&e.stack&&(this.stack=e.stack)}};function fr(e){return e instanceof Error&&e.name===`AbortError`}function pr(e){if(e.aborted)throw new dr(e.reason)}var mr,hr,gr,_r={frame(e,t,n,r){let i=r||window,a=i.requestAnimationFrame(e=>{o(),t(e)}),{unsubscribe:o}=Zn(e.signal,`abort`,()=>{o(),i.cancelAnimationFrame(a),n(new dr(e.signal.reason))},!1)},frameAsync(e,t){return new Promise((n,r)=>{this.frame(e,n,r,t)})},getImageData(e,t=0){return this.getImageCanvasContext(e).getImageData(-t,-t,e.width+2*t,e.height+2*t)},getImageCanvasContext(e){let t;if(Pe()&&!Ie())t=new OffscreenCanvas(e.width,e.height).getContext(`2d`,{willReadFrequently:!0});else{let n=window.document.createElement(`canvas`);n.width=e.width,n.height=e.height,t=n.getContext(`2d`,{willReadFrequently:!0})}if(!t)throw Error(`failed to create canvas 2d context`);return t.drawImage(e,0,0,e.width,e.height),t},resolveURL(e){return mr||=document.createElement(`a`),mr.href=e,mr.href},get hardwareConcurrency(){return typeof navigator<`u`&&navigator.hardwareConcurrency||4},get prefersReducedMotion(){return gr===void 0?matchMedia?(hr??=matchMedia(`(prefers-reduced-motion: reduce)`),hr.matches):!1:gr},set prefersReducedMotion(e){gr=e}},vr=new class{constructor(){this._frozenAt=null}getCurrentTime(){return this._frozenAt===null?performance.now():this._frozenAt}setNow(e){this._frozenAt=e}restoreNow(){this._frozenAt=null}isFrozen(){return this._frozenAt!==null}};function yr(){return vr.getCurrentTime()}function br(e){vr.setNow(e)}function xr(){vr.restoreNow()}function Sr(){return vr.isFrozen()}var Cr=new Set(`a.abbr.b.bdi.bdo.br.cite.code.del.div.em.i.img.ins.kbd.li.mark.ol.p.q.s.samp.small.span.strong.sub.sup.time.u.ul.var.wbr`.split(`.`)),wr=new Set([`alt`,`class`,`datetime`,`dir`,`height`,`href`,`hreflang`,`lang`,`referrerpolicy`,`rel`,`role`,`src`,`target`,`title`,`translate`,`type`,`width`]),Tr=new Set([`href`,`src`]),Er=new Set([`http:`,`https:`,`mailto:`]),Dr;function Or(){return Dr??={getAttribute:Element.prototype.getAttribute,getAttributeNames:Element.prototype.getAttributeNames,querySelectorAll:Element.prototype.querySelectorAll,remove:Element.prototype.remove,removeAttribute:Element.prototype.removeAttribute,localName:Object.getOwnPropertyDescriptor(Element.prototype,`localName`).get,namespaceURI:Object.getOwnPropertyDescriptor(Element.prototype,`namespaceURI`).get},Dr}var I=class e{static{this.docStyle=typeof window<`u`&&window.document?.documentElement.style}static{this.selectProp=!e.docStyle||`userSelect`in e.docStyle?`userSelect`:`webkitUserSelect`}static create(e,t,n){let r=window.document.createElement(e);return t!==void 0&&(r.className=t),n&&n.appendChild(r),r}static createNS(e,t){return window.document.createElementNS(e,t)}static disableDrag(){e.docStyle&&e.selectProp&&(e.userSelect=e.docStyle[e.selectProp],e.docStyle[e.selectProp]=`none`)}static enableDrag(){e.docStyle&&e.selectProp&&(e.docStyle[e.selectProp]=e.userSelect)}static suppressClickInternal(t){t.preventDefault(),t.stopPropagation(),window.removeEventListener(`click`,e.suppressClickInternal,!0)}static suppressClick(){window.addEventListener(`click`,e.suppressClickInternal,!0),window.setTimeout(()=>{window.removeEventListener(`click`,e.suppressClickInternal,!0)},0)}static getScale(e){let t=e.getBoundingClientRect();return{x:t.width/e.offsetWidth||1,y:t.height/e.offsetHeight||1,boundingClientRect:t}}static getPoint(e,t,n){let r=t.boundingClientRect;return new j((n.clientX-r.left)/t.x-e.clientLeft,(n.clientY-r.top)/t.y-e.clientTop)}static mousePos(t,n){let r=e.getScale(t);return e.getPoint(t,r,n)}static touchPos(t,n){let r=[],i=e.getScale(t);for(let a of n)r.push(e.getPoint(t,i,a));return r}static sanitize(t){let n=new DOMParser().parseFromString(t,`text/html`).body,{querySelectorAll:r,remove:i}=Or();for(let t of Array.from(r.call(n,`*`)))e.isAllowedElement(t)?e.removeDisallowedAttributes(t):i.call(t);let a=document.createDocumentFragment();return a.append(...n.childNodes),a}static isAllowedElement(e){let{namespaceURI:t,localName:n}=Or();return t.call(e)===`http://www.w3.org/1999/xhtml`&&Cr.has(n.call(e))}static removeDisallowedAttributes(t){let{getAttributeNames:n,getAttribute:r,removeAttribute:i}=Or();for(let a of n.call(t))e.isAllowedAttribute(a,r.call(t,a))||i.call(t,a)}static isAllowedAttribute(e,t){if(!wr.has(e)&&!e.startsWith(`aria-`))return!1;if(!Tr.has(e))return!0;try{return Er.has(new URL(t,`https://maplibre.invalid/`).protocol)}catch{return!1}}},kr={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:``};function Ar(e){return kr.REGISTERED_PROTOCOLS[e.substring(0,e.indexOf(`://`))]}function jr(e,t){kr.REGISTERED_PROTOCOLS[e]=t}function Mr(e){delete kr.REGISTERED_PROTOCOLS[e]}var Nr=`global-dispatcher`,Pr=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 Fr(){if(Hn(self))return self.worker?.referrer;if(window.location.protocol===`blob:`)try{return window.parent.location.href}catch{}return window.location.href}var Ir=e=>e.startsWith(`file:`)||Fr()?.startsWith(`file:`)&&!/^\w+:/.test(e);async function Lr(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:Fr(),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 fr(t)?t:new Pr(0,nn(t).message,e.url,new Blob)}if(!r.ok){let t=await r.blob();throw new Pr(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 pr(t.signal),{data:a,cacheControl:r.headers.get(`Cache-Control`),expires:r.headers.get(`Expires`),etag:r.headers.get(`ETag`)}}function Rr(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 Pr(i.status,i.statusText,e.url,t))}}},t.signal.addEventListener(`abort`,()=>{i.abort(),r(new dr(t.signal.reason))}),i.send(e.body)})}var zr=async function(e,t){if(e.url.includes(`://`)&&!/^https?:|^file:/.test(e.url)){let n=Ar(e.url);if(n){let r=await n(e,t);return!r.data&&e.type===`arrayBuffer`?F(r,{data:new ArrayBuffer(0)}):r}if(Hn(self)&&self.worker?.actor)return self.worker.actor.sendAsync({type:`GR`,data:e,targetMapId:Nr},t)}if(!Ir(e.url)){if(fetch&&Request&&AbortController&&Object.hasOwn(Request.prototype,`signal`))return Lr(e,t);if(Hn(self)&&self.worker?.actor)return self.worker.actor.sendAsync({type:`GR`,data:e,mustQueue:!0,targetMapId:Nr},t)}return Rr(e,t)},Br=(e,t)=>zr(F(e,{type:`json`}),t),Vr=(e,t)=>zr(F(e,{type:`arrayBuffer`}),t);function Hr(e){if(!e||e.startsWith(`data:image/`))return!0;if(e.startsWith(`blob:`)&&(e=e.slice(5),e.startsWith(`null`)))return!1;if(e.indexOf(`://`)<=0)return!0;let t=new URL(e),n=window.location;return t.protocol===n.protocol&&t.host===n.host}var Ur=e=>{let t=window.document.createElement(`video`);return t.muted=!0,new Promise(n=>{t.onloadstart=()=>{n(t)};for(let n of e){let e=window.document.createElement(`source`);Hr(n)||(t.crossOrigin=`Anonymous`),e.src=n,t.appendChild(e)}})},Wr;(function(e){let t,n,r,i;e.resetRequestQueue=()=>{t=[],n=0,r=0,i={}},e.addThrottleControl=e=>{let t=r++;return i[t]=e,t},e.removeThrottleControl=e=>{delete i[e],l()};let a=()=>{for(let e of Object.keys(i))if(i[e]())return!0;return!1};async function o(e,t,n,r,i=!0,a){let o=await e.transformRequest(t,n);return pr(r.signal),Wr.getImage(o,r,i,a)}e.transformAndGetImage=o,e.getImage=(e,n,r=!0,i)=>new Promise((a,o)=>{e.headers||={},e.headers.accept=`image/webp,*/*`,F(e,{type:`image`});let s={abortController:n,requestParameters:e,supportImageRefresh:r,imageBitmapOptions:i,state:`queued`,onError:e=>{o(e)},onSuccess:e=>{a(e)}};t.push(s),l()});let s=(e,t)=>typeof createImageBitmap==`function`?qn(e,t):Jn(e),c=async e=>{e.state=`running`;let{requestParameters:t,supportImageRefresh:r,imageBitmapOptions:i,onError:a,onSuccess:o,abortController:c}=e,d=r===!1&&!i&&!Hn(self)&&!Ar(t.url)&&(!t.headers||Object.keys(t.headers).reduce((e,t)=>e&&t===`accept`,!0));n++;let f=d?u(t,c):zr(t,c);try{let t=await f;delete e.abortController,e.state=`completed`,t.data instanceof HTMLImageElement||Kn(t.data)?o(t):!t.data||t.data.byteLength===0?o({data:null,cacheControl:t.cacheControl,expires:t.expires}):o({data:await s(t.data,i),cacheControl:t.cacheControl,expires:t.expires})}catch(t){delete e.abortController,a(nn(t))}finally{n--,l()}},l=()=>{let e=a()?kr.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:kr.MAX_PARALLEL_IMAGE_REQUESTS;for(let r=n;r<e&&t.length>0;r++){let e=t.shift();if(e.abortController.signal.aborted){r--;continue}c(e)}},u=(e,t)=>new Promise((n,r)=>{let i=new Image,a=e.url,o=e.credentials;o&&o===`include`?i.crossOrigin=`use-credentials`:(o&&o===`same-origin`||!Hr(a))&&(i.crossOrigin=`anonymous`),t.signal.addEventListener(`abort`,()=>{i.src=``,r(new dr(t.signal.reason))}),i.fetchPriority=`high`,i.onload=()=>{i.onerror=i.onload=null,n({data:i})},i.onerror=()=>{i.onerror=i.onload=null,!t.signal.aborted&&r(Error(`Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))},i.src=a})})(Wr||={}),Wr.resetRequestQueue();var Gr=class{constructor(e){this._transformRequestFn=e??null}transformRequest(e,t){return this._transformRequestFn&&this._transformRequestFn(e,t)||{url:e}}setTransformRequest(e){this._transformRequestFn=e}};function Kr(e,t,n){n[e]?.includes(t)||(n[e]||=[],n[e].push(t))}function qr(e,t,n){if(n?.[e]){let r=n[e].indexOf(t);r!==-1&&n[e].splice(r,1)}}var Jr=class{constructor(e,t={}){F(this,t),this.type=e}},R=class extends Jr{constructor(e,t={}){super(`error`,F({error:e},t))}},Yr=class{on(e,t){return this._listeners||={},Kr(e,t,this._listeners),{unsubscribe:()=>{this.off(e,t)}}}off(e,t){return qr(e,t,this._listeners),qr(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners||={},Kr(e,t,this._oneTimeListeners),this):new Promise(t=>this.once(e,t))}fire(e,t){let n=typeof e==`string`?new Jr(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)qr(r,e,this._oneTimeListeners),e.call(this,n);let i=this._eventedParent;i&&(F(n,typeof this._eventedParentData==`function`?this._eventedParentData():this._eventedParentData),i.fire(n))}else n instanceof R&&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}},Xr=class extends Jr{},z=class extends Xr{},Zr=class extends Xr{constructor(e={}){super(`style.load`,e)}},Qr=class extends Xr{constructor(e,t={}){super(e,t),this.dataType=`style`}},$r=class extends Xr{constructor(e,t={}){super(e,t),this.dataType=`source`}},ei=class extends Xr{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,n,r={}){n=n instanceof MouseEvent?n:new MouseEvent(e,n);let i=I.mousePos(t.getCanvas(),n),a=t.unproject(i);super(e,F({point:i,lngLat:a,originalEvent:n},r)),this._defaultPrevented=!1,this.target=t}},ti=class extends Xr{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,n){let r=e===`touchend`?n.changedTouches:n.touches,i=I.touchPos(t.getCanvasContainer(),r),a=i.map(e=>t.unproject(e)),o=i.reduce((e,t,n,r)=>e.add(t.div(r.length)),new j(0,0)),s=t.unproject(o);super(e,{points:i,point:o,lngLats:a,lngLat:s,originalEvent:n}),this._defaultPrevented=!1}},ni=class extends Xr{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t){super(`wheel`,{originalEvent:t}),this._defaultPrevented=!1}},ri=class extends Xr{},ii=class extends Xr{constructor(e={}){super(`terrain`,e)}},ai=class extends Xr{constructor(e={}){super(`projectiontransition`,e)}},oi=class extends Xr{},si=class extends Xr{constructor(e={}){super(`styleimagemissing`,e)}},ci={$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`}]}}}}},B=ci,li=[`type`,`source`,`source-layer`,`minzoom`,`maxzoom`,`filter`,`layout`];function ui(e,t){let n={};for(let t in e)t!==`ref`&&(n[t]=e[t]);return li.forEach(e=>{e in t&&(n[e]=t[e])}),n}function di(e){e=e.slice();let t=Object.create(null);for(let n=0;n<e.length;n++)t[e[n].id]=e[n];for(let n=0;n<e.length;n++)`ref`in e[n]&&(e[n]=ui(e[n],t[e[n].ref]));return e}function fi(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(!fi(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(!fi(e[n],t[n]))return!1;return!0}return e===t}function pi(e,t){e.push(t)}function mi(e,t,n){pi(n,{command:`addSource`,args:[e,t[e]]})}function hi(e,t,n){pi(t,{command:`removeSource`,args:[e]}),n[e]=!0}function gi(e,t,n,r){hi(e,n,r),mi(e,t,n)}function _i(e,t,n){let r;for(r in e[n])if(Object.prototype.hasOwnProperty.call(e[n],r)&&r!==`data`&&!fi(e[n][r],t[n][r]))return!1;for(r in t[n])if(Object.prototype.hasOwnProperty.call(t[n],r)&&r!==`data`&&!fi(e[n][r],t[n][r]))return!1;return!0}function vi(e,t,n,r){e||={},t||={};let i;for(i in e)Object.prototype.hasOwnProperty.call(e,i)&&(Object.prototype.hasOwnProperty.call(t,i)||hi(i,n,r));for(i in t)Object.prototype.hasOwnProperty.call(t,i)&&(Object.prototype.hasOwnProperty.call(e,i)?fi(e[i],t[i])||(e[i].type===`geojson`&&t[i].type===`geojson`&&_i(e,t,i)?pi(n,{command:`setGeoJSONSourceData`,args:[i,t[i].data]}):gi(i,t,n,r)):mi(i,t,n))}function yi(e,t,n,r,i){pi(t,{command:i,args:[n,r,e[r]]})}function bi(e,t,n,r,i){e||={},t||={};for(let a in e)Object.prototype.hasOwnProperty.call(e,a)&&(fi(e[a],t[a])||yi(t,n,r,a,i));for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&!Object.prototype.hasOwnProperty.call(e,a)&&(fi(e[a],t[a])||yi(t,n,r,a,i))}function xi(e){return e.id}function Si(e,t){return e[t.id]=t,e}function Ci(e,t,n){e||=[],t||=[];let r=e.map(xi),i=t.map(xi),a=e.reduce(Si,{}),o=t.reduce(Si,{}),s=r.slice(),c=Object.create(null),l,u,d,f,p;for(let e=0,t=0;e<r.length;e++)l=r[e],Object.prototype.hasOwnProperty.call(o,l)?t++:(pi(n,{command:`removeLayer`,args:[l]}),s.splice(s.indexOf(l,t),1));for(let e=0,t=0;e<i.length;e++)l=i[i.length-1-e],s[s.length-1-e]!==l&&(Object.prototype.hasOwnProperty.call(a,l)?(pi(n,{command:`removeLayer`,args:[l]}),s.splice(s.lastIndexOf(l,s.length-t),1)):t++,f=s[s.length-e],pi(n,{command:`addLayer`,args:[o[l],f]}),s.splice(s.length-e,0,l),c[l]=!0);for(let e=0;e<i.length;e++)if(l=i[e],u=a[l],d=o[l],!(c[l]||fi(u,d))){if(!fi(u.source,d.source)||!fi(u[`source-layer`],d[`source-layer`])||!fi(u.type,d.type)){pi(n,{command:`removeLayer`,args:[l]}),f=s[s.lastIndexOf(l)+1],pi(n,{command:`addLayer`,args:[d,f]});continue}for(p in bi(u.layout,d.layout,n,l,`setLayoutProperty`),bi(u.paint,d.paint,n,l,`setPaintProperty`),fi(u.filter,d.filter)||pi(n,{command:`setFilter`,args:[l,d.filter]}),(!fi(u.minzoom,d.minzoom)||!fi(u.maxzoom,d.maxzoom))&&pi(n,{command:`setLayerZoomRange`,args:[l,d.minzoom,d.maxzoom]}),u)Object.prototype.hasOwnProperty.call(u,p)&&p!==`layout`&&p!==`paint`&&p!==`filter`&&p!==`metadata`&&p!==`minzoom`&&p!==`maxzoom`&&(p.indexOf(`paint.`)===0?bi(u[p],d[p],n,l,`setPaintProperty`):fi(u[p],d[p])||pi(n,{command:`setLayerProperty`,args:[l,p,d[p]]}));for(p in d)Object.prototype.hasOwnProperty.call(d,p)&&!Object.prototype.hasOwnProperty.call(u,p)&&p!==`layout`&&p!==`paint`&&p!==`filter`&&p!==`metadata`&&p!==`minzoom`&&p!==`maxzoom`&&(p.indexOf(`paint.`)===0?bi(u[p],d[p],n,l,`setPaintProperty`):fi(u[p],d[p])||pi(n,{command:`setLayerProperty`,args:[l,p,d[p]]}))}}function wi(e,t){if(!e)return[{command:`setStyle`,args:[t]}];let n=[];try{if(!fi(e.version,t.version))return[{command:`setStyle`,args:[t]}];fi(e.center,t.center)||n.push({command:`setCenter`,args:[t.center]}),fi(e.state,t.state)||n.push({command:`setGlobalState`,args:[t.state]}),fi(e.centerAltitude,t.centerAltitude)||n.push({command:`setCenterAltitude`,args:[t.centerAltitude]}),fi(e.zoom,t.zoom)||n.push({command:`setZoom`,args:[t.zoom]}),fi(e.bearing,t.bearing)||n.push({command:`setBearing`,args:[t.bearing]}),fi(e.pitch,t.pitch)||n.push({command:`setPitch`,args:[t.pitch]}),fi(e.roll,t.roll)||n.push({command:`setRoll`,args:[t.roll]}),fi(e.sprite,t.sprite)||n.push({command:`setSprite`,args:[t.sprite]}),fi(e.glyphs,t.glyphs)||n.push({command:`setGlyphs`,args:[t.glyphs]}),fi(e[`font-faces`],t[`font-faces`])||n.push({command:`setFontFaces`,args:[t[`font-faces`]]}),fi(e.transition,t.transition)||n.push({command:`setTransition`,args:[t.transition]}),fi(e.light,t.light)||n.push({command:`setLight`,args:[t.light]});let r=!fi(e.terrain,t.terrain);r&&!t.terrain&&n.push({command:`setTerrain`,args:[void 0]}),fi(e.sky,t.sky)||n.push({command:`setSky`,args:[t.sky]}),fi(e.projection,t.projection)||n.push({command:`setProjection`,args:[t.projection]});let i={},a=[];vi(e.sources,t.sources,a,i);let o=[];e.layers&&e.layers.forEach(e=>{`source`in e&&i[e.source]?n.push({command:`removeLayer`,args:[e.id]}):o.push(e)}),n=n.concat(a),Ci(o,t.layers,n),r&&t.terrain&&n.push({command:`setTerrain`,args:[t.terrain]})}catch(e){console.warn(`Unable to compute style diff:`,e),n=[{command:`setStyle`,args:[t]}]}return n}var V=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__)}},Ti={kind:`null`},H={kind:`number`},U={kind:`string`},Ei={kind:`boolean`},Di={kind:`color`},Oi={kind:`projectionDefinition`},ki={kind:`object`},W={kind:`value`},Ai={kind:`error`},ji={kind:`collator`},Mi={kind:`formatted`},Ni={kind:`padding`},Pi={kind:`colorArray`},Fi={kind:`numberArray`},Ii={kind:`resolvedImage`},Li={kind:`variableAnchorOffsetCollection`};function Ri(e,t){return{kind:`array`,itemType:e,N:t}}function zi(e){if(e.kind===`array`){let t=zi(e.itemType);return typeof e.N==`number`?`array<${t}, ${e.N}>`:e.itemType.kind===`value`?`array`:`array<${t}>`}return e.kind}var Bi=[Ti,H,U,Ei,Di,Oi,Mi,ki,Ri(W),Ni,Fi,Pi,Ii,Li];function Vi(e,t){if(t.kind===`error`)return null;if(e.kind===`array`){if(t.kind===`array`&&(t.N===0&&t.itemType.kind===`value`||!Vi(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 Bi)if(!Vi(e,t))return null}return`Expected ${zi(e)} but found ${zi(t)} instead.`}function Hi(e,t){return t.some(t=>t.kind===e.kind)}function Ui(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 Wi(e,t){return e.kind===`array`&&t.kind===`array`?e.itemType.kind===t.itemType.kind&&typeof e.N==`number`:e.kind===t.kind}var Gi=.96422,Ki=.82521,qi=4/29,Ji=6/29,Yi=3*Ji*Ji,Xi=Math.PI/180,Zi=180/Math.PI;function Qi(e){return e%=360,e<0&&(e+=360),e}function $i([e,t,n,r]){e=ea(e),t=ea(t),n=ea(n);let i,a,o=ta((.2225045*e+.7168786*t+.0606169*n)/1);e===t&&t===n?i=a=o:(i=ta((.4360747*e+.3850649*t+.1430804*n)/Gi),a=ta((.0139322*e+.0971045*t+.7141733*n)/Ki));let s=116*o-16;return[s<0?0:s,500*(i-o),200*(o-a),r]}function ea(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function ta(e){return e>.008856451679035631?e**(1/3):e/Yi+qi}function na([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*ia(i),a=Gi*ia(a),o=Ki*ia(o),[ra(3.1338561*a-1.6168667*i-.4906146*o),ra(-.9787684*a+1.9161415*i+.033454*o),ra(.0719453*a-.2289914*i+1.4052427*o),r]}function ra(e){return e=e<=.00304?12.92*e:1.055*e**(1/2.4)-.055,e<0?0:e>1?1:e}function ia(e){return e>Ji?e*e*e:Yi*(e-qi)}function aa(e){let[t,n,r,i]=$i(e),a=Math.sqrt(n*n+r*r);return[Math.round(a*1e4)?Qi(Math.atan2(r,n)*Zi):NaN,a,t,i]}function oa([e,t,n,r]){return e=isNaN(e)?0:e*Xi,na([n,Math.cos(e)*t,Math.sin(e)*t,r])}function sa([e,t,n,r]){e=Qi(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 ca=Object.hasOwn||function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};function la(e,t){return ca(e,t)?e[t]:void 0}function ua(e){if(e=e.toLowerCase().trim(),e===`transparent`)return[0,0,0,0];let t=la(ha,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[da(e.slice(n,n+=t)),da(e.slice(n,n+=t)),da(e.slice(n,n+=t)),da(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=[pa(+n/t,0,1),pa(+a/t,0,1),pa(+c/t,0,1),d?fa(+d,f):1];if(ma(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,pa(+i,0,100),pa(+o,0,100),c?fa(+c,l):1];if(ma(e))return sa(e)}}}function da(e){return parseInt(e.padEnd(2,e),16)/255}function fa(e,t){return pa(t?e/100:e,0,1)}function pa(e,t,n){return Math.min(Math.max(t,e),n)}function ma(e){return!e.some(Number.isNaN)}var ha={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 ga(e,t,n){return e+n*(t-e)}function _a(e,t,n){return e.map((e,r)=>ga(e,t[r],n))}function va(e){return e===`rgb`||e===`hcl`||e===`lab`}var G=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=ua(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`,aa(this.rgb))}get lab(){return this.overwriteGetter(`lab`,$i(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]=_a(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,_]=oa([f,p??ga(a,l,r),ga(o,u,r),ga(s,d,r)]);return new e(m,h,g,_,!1)}case`lab`:{let[i,a,o,s]=na(_a(t.lab,n.lab,r));return new e(i,a,o,s,!1)}}}},ya=[`bottom`,`center`,`top`],ba=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}},xa=class e{constructor(e){this.sections=e}static fromString(t){return new e([new ba(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(``)}},Sa=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(_a(t.values,n.values,r))}},Ca=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(_a(t.values,n.values,r))}},wa=class e{constructor(e){this.values=e.slice()}static parse(t){if(t instanceof e)return t;if(typeof t==`string`){let n=G.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=G.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(G.interpolate(t.values[e],n.values[e],r,i));return new e(a)}},Ta=class extends Error{constructor(e,t){super(e),this.name=`RuntimeError`,this.path=t}toJSON(){return this.message}},Ea=new Set([`center`,`left`,`right`,`top`,`bottom`,`top-left`,`top-right`,`bottom-left`,`bottom-right`]),Da=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`||!Ea.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 Ta(`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 Ta(`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([ga(t,c,r),ga(n,l,r)])}return new e(s)}},Oa=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}},ka=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)}},Aa=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 ja(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 Ma(e){if(e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`||e instanceof ka||e instanceof G||e instanceof Aa||e instanceof xa||e instanceof Sa||e instanceof Ca||e instanceof wa||e instanceof Da||e instanceof Oa)return!0;if(Array.isArray(e)){for(let t of e)if(!Ma(t))return!1;return!0}if(typeof e==`object`){for(let t in e)if(!Ma(e[t]))return!1;return!0}return!1}function Na(e){if(e===null)return Ti;if(typeof e==`string`)return U;if(typeof e==`boolean`)return Ei;if(typeof e==`number`)return H;if(e instanceof G)return Di;if(e instanceof ka)return Oi;if(e instanceof Aa)return ji;if(e instanceof xa)return Mi;if(e instanceof Sa)return Ni;if(e instanceof Ca)return Fi;if(e instanceof wa)return Pi;if(e instanceof Da)return Li;if(e instanceof Oa)return Ii;if(Array.isArray(e)){let t=e.length,n;for(let t of e){let e=Na(t);if(!n)n=e;else if(n===e)continue;else{n=W;break}}return Ri(n||W,t)}return ki}function Pa(e){let t=typeof e;return e===null?``:t===`string`||t===`number`||t===`boolean`?String(e):e instanceof G||e instanceof ka||e instanceof xa||e instanceof Sa||e instanceof Ca||e instanceof wa||e instanceof Da||e instanceof Oa?e.toString():JSON.stringify(e)}var Fa=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(!Ma(t[1]))return n.error(`invalid value of type "${typeof t[1]}"`);let r=t[1],i=Na(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}},Ia=[`Unknown`,`Point`,`LineString`,`Polygon`],La=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`?Ia[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=G.parse(e),this._parseColorCache.set(e,t)),t}};function Ra(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 Ta(`Input is not a number.`,n);return 0}var za=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,H);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[Ra(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 Ba(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 Va=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=Ha(t,e.base,n,r);else if(e.name===`linear`)i=Ha(t,1,n,r);else if(e.name===`cubic-bezier`){let a=e.controlPoints;i=Ba(a[0],a[1],a[2],a[3])(Ha(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,H),!a)return null;let s=[],c=null;(r===`interpolate-hcl`||r===`interpolate-lab`)&&n.expectedType!=Pi?c=Di: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!Wi(c,H)&&!Wi(c,Oi)&&!Wi(c,Di)&&!Wi(c,Ni)&&!Wi(c,Fi)&&!Wi(c,Pi)&&!Wi(c,Li)&&!Wi(c,Ri(H))?n.error(`Type ${zi(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=Ra(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 ga(u,d,l);case`color`:return G.interpolate(u,d,l);case`padding`:return Sa.interpolate(u,d,l);case`colorArray`:return wa.interpolate(u,d,l);case`numberArray`:return Ca.interpolate(u,d,l);case`variableAnchorOffsetCollection`:return Da.interpolate(u,d,l,this.key);case`array`:return _a(u,d,l);case`projectionDefinition`:return ka.interpolate(u,d,l)}case`interpolate-hcl`:switch(this.type.kind){case`color`:return G.interpolate(u,d,l,`hcl`);case`colorArray`:return wa.interpolate(u,d,l,`hcl`)}case`interpolate-lab`:switch(this.type.kind){case`color`:return G.interpolate(u,d,l,`lab`);case`colorArray`:return wa.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 Ha(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 Ua={color:G.interpolate,number:ga,padding:Sa.interpolate,numberArray:Ca.interpolate,colorArray:wa.interpolate,variableAnchorOffsetCollection:Da.interpolate,array:_a},Wa=class e{constructor(e){this.type=Mi,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,H),!e))return null;let t=null;if(r[`text-font`]&&(t=n.parse(r[`text-font`],1,Ri(U)),!t))return null;let o=null;if(r[`text-color`]&&(o=n.parse(r[`text-color`],1,Di),!o))return null;let s=null;if(r[`vertical-align`]){if(typeof r[`vertical-align`]==`string`&&!ya.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,U),!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,W);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 xa(this.sections.map(t=>{let n=t.content.evaluate(e);return Na(n)===Ii?new ba(``,n,null,null,null,t.verticalAlign?t.verticalAlign.evaluate(e):null):new ba(Pa(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 Ga(e,t,n=0,r=e.length-1,i=qa){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);Ga(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(Ka(e,n,t),i(e[r],a)>0&&Ka(e,n,r);o<s;){for(Ka(e,o,s),o++,s--;i(e[o],a)<0;)o++;for(;i(e[s],a)>0;)s--}i(e[n],a)===0?Ka(e,n,s):(s++,Ka(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}}function Ka(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function qa(e,t){return e<t?-1:+(e>t)}function Ja(e,t){if(e.length<=1)return[e];let n=[],r,i;for(let t of e){let e=Xa(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||(Ga(n[e],t,1,n[e].length-1,Ya),n[e]=n[e].slice(0,t));return n}function Ya(e,t){return t.area-e.area}function Xa(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 Za={string:U,number:H,boolean:Ei,object:ki},Qa=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 Za)||i===`object`)return n.error(`The item type argument of "array" must be one of string, number, boolean`,1);e=Za[i],r++}else e=W;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=Ri(e,a)}else{if(!Za[a])throw Error(`Types doesn't contain name = ${a}`);i=Za[a]}let o=[];for(;r<t.length;r++){let e=n.parse(t[r],r,W);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(!Vi(this.type,Na(n)))return n;if(t===this.args.length-1)throw new Ta(`Expected value to be of type ${zi(this.type)}, but found ${zi(Na(n))} instead.`,this.key)}throw Error()}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}},$a={"to-boolean":Ei,"to-color":Di,"to-number":H,"to-string":U},eo=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(!$a[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=$a[r],a=[];for(let e=1;e<t.length;e++){let r=n.parse(t[e],e,W);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 G)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.`:ja(t[0],t[1],t[2],t[3]),!n))return new G(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new Ta(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=Sa.parse(t);if(r)return r}throw new Ta(`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=Ca.parse(t);if(r)return r}throw new Ta(`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=wa.parse(t);if(r)return r}throw new Ta(`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=Da.parse(t);if(r)return r}throw new Ta(`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 Ta(`Could not convert ${JSON.stringify(t)} to number.`,this.key)}case`formatted`:return xa.fromString(Pa(this.args[0].evaluate(e)));case`resolvedImage`:return Oa.fromString(Pa(this.args[0].evaluate(e)));case`projectionDefinition`:{let t=this.args[0].evaluate(e);if(ka.parse(t))return t;throw new Ta(`Could not parse projectionDefinition from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}default:return Pa(this.args[0].evaluate(e))}}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}},to=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()}},no=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}},ro=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,H),i=n.parse(t[2],2,Ri(n.expectedType||W));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 Ta(`Array index out of bounds: ${t} < 0.`,this.key);if(t>=n.length)throw new Ta(`Array index out of bounds: ${t} > ${n.length-1}.`,this.key);if(t!==Math.floor(t))throw new Ta(`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}},io=class e{constructor(e,t,n){this.needle=e,this.haystack=t,this.key=n,this.type=Ei}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,W),i=n.parse(t[2],2,W);return!r||!i?null:Hi(r.type,[Ei,U,H,Ti,W])?new e(r,i,n.key):n.error(`Expected first argument to be of type boolean, string, number or null, but found ${zi(r.type)} instead`)}evaluate(e){let t=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!n)return!1;if(!Ui(t,[`boolean`,`string`,`number`,`null`]))throw new Ta(`Expected first argument to be of type boolean, string, number or null, but found ${zi(Na(t))} instead.`,this.key);if(!Ui(n,[`string`,`array`]))throw new Ta(`Expected second argument to be of type array or string, but found ${zi(Na(n))} instead.`,this.key);return n.indexOf(t)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}},ao=class e{constructor(e,t,n,r){this.needle=e,this.haystack=t,this.key=n,this.fromIndex=r,this.type=H}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,W),i=n.parse(t[2],2,W);if(!r||!i)return null;if(!Hi(r.type,[Ei,U,H,Ti,W]))return n.error(`Expected first argument to be of type boolean, string, number or null, but found ${zi(r.type)} instead`);if(t.length===4){let a=n.parse(t[3],3,H);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(!Ui(t,[`boolean`,`string`,`number`,`null`]))throw new Ta(`Expected first argument to be of type boolean, string, number or null, but found ${zi(Na(t))} instead.`,this.key);let r;if(this.fromIndex&&(r=this.fromIndex.evaluate(e)),Ui(n,[`string`])){let e=n.indexOf(t,r);return e===-1?-1:[...n.slice(0,e)].length}if(Ui(n,[`array`]))return n.indexOf(t,r);throw new Ta(`Expected second argument to be of type array or string, but found ${zi(Na(n))} instead.`,this.key)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}},oo=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=Na(e);else if(l.checkSubtype(r,Na(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,W);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(Na(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()}},so=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,Ei);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()}},co=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,W),i=n.parse(t[2],2,H);if(!r||!i)return null;if(!Hi(r.type,[Ri(W),U,W]))return n.error(`Expected first argument to be of type array or string, but found ${zi(r.type)} instead`);if(t.length===4){let a=n.parse(t[3],3,H);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)),Ui(t,[`string`]))return[...t].slice(n,r).join(``);if(Ui(t,[`array`]))return t.slice(n,r);throw new Ta(`Expected first argument to be of type array or string, but found ${zi(Na(t))} instead.`,this.key)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}},lo=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=>Vi(i,e.type))?new e(W,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 Oa&&!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 uo(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 fo(e,t,n){return t===n}function po(e,t,n){return t!==n}function mo(e,t,n){return t<n}function ho(e,t,n){return t>n}function go(e,t,n){return t<=n}function _o(e,t,n){return t>=n}function vo(e,t,n,r){return r.compare(t,n)===0}function yo(e,t,n,r){return!vo(e,t,n,r)}function bo(e,t,n,r){return r.compare(t,n)<0}function xo(e,t,n,r){return r.compare(t,n)>0}function So(e,t,n,r){return r.compare(t,n)<=0}function Co(e,t,n,r){return r.compare(t,n)>=0}function wo(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=Ei,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,W);if(!a)return null;if(!uo(n,a.type))return t.concat(1).error(`"${n}" comparisons are not supported for type '${zi(a.type)}'.`);let o=t.parse(e[2],2,W);if(!o)return null;if(!uo(n,o.type))return t.concat(2).error(`"${n}" comparisons are not supported for type '${zi(o.type)}'.`);if(a.type.kind!==o.type.kind&&a.type.kind!==`value`&&o.type.kind!==`value`)return t.error(`Cannot compare types '${zi(a.type)}' and '${zi(o.type)}'.`);r&&(a.type.kind===`value`&&o.type.kind!==`value`?a=new Qa(o.type,[a],t.key):a.type.kind!==`value`&&o.type.kind===`value`&&(o=new Qa(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,ji),!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=Na(a),n=Na(o);if(t.kind!==n.kind||t.kind!==`string`&&t.kind!==`number`)throw new Ta(`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=Na(a),n=Na(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 To=wo(`==`,fo,vo),Eo=wo(`!=`,po,yo),Do=wo(`<`,mo,bo),Oo=wo(`>`,ho,xo),ko=wo(`<=`,go,So),Ao=wo(`>=`,_o,Co),jo=class e{constructor(e,t,n){this.type=ji,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,Ei);if(!i)return null;let a=n.parse(r[`diacritic-sensitive`]!==void 0&&r[`diacritic-sensitive`],1,Ei);if(!a)return null;let o=null;return r.locale&&(o=n.parse(r.locale,1,U),!o)?null:new e(i,a,o)}evaluate(e){return new Aa(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}},Mo=class e{constructor(e,t,n,r,i,a){this.type=U,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,H);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,U),!a))return null;let o=null;if(i.currency&&(o=n.parse(i.currency,1,U),!o))return null;let s=null;if(i.unit&&(s=n.parse(i.unit,1,U),!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,H),!c))return null;let l=null;return i[`max-fraction-digits`]&&(l=n.parse(i[`max-fraction-digits`],1,H),!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}},No=class e{constructor(e){this.type=Ii,this.input=e}static parse(t,n){if(t.length!==2)return n.error(`Expected two arguments.`);let r=n.parse(t[1],1,U);return r?new e(r):n.error(`No image name provided.`)}evaluate(e){let t=this.input.evaluate(e),n=Oa.fromString(t);return n&&e.availableImages&&(n.available=e.availableImages.indexOf(t)>-1),n}eachChild(e){e(this.input)}outputDefined(){return!1}},Po=class e{constructor(e,t){this.input=e,this.key=t,this.type=H}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 ${zi(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 Ta(`Expected value to be of type string or array, but found ${zi(Na(t))} instead.`,this.key)}eachChild(e){e(this.input)}outputDefined(){return!1}},Fo=8192;function Io(e,t){let n=Ro(e[0]),r=Bo(e[1]),i=2**t.z;return[Math.round(n*i*Fo),Math.round(r*i*Fo)]}function Lo(e,t){let n=2**t.z,r=(e[0]/Fo+t.x)/n,i=(e[1]/Fo+t.y)/n;return[zo(r),Vo(i)]}function Ro(e){return(180+e)/360}function zo(e){return e*360-180}function Bo(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function Vo(e){return 360/Math.PI*Math.atan(Math.exp((180-e*360)*Math.PI/180))-90}function Ho(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 Uo(e,t){return!(e[0]<=t[0]||e[2]>=t[2]||e[1]<=t[1]||e[3]>=t[3])}function Wo(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 Go(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 Ko(e,t,n,r){let i=[t[0]-e[0],t[1]-e[1]];return Qo([r[0]-n[0],r[1]-n[1]],i)!==0&&!!($o(e,t,n,r)&&$o(n,r,e,t))}function qo(e,t,n){for(let r of n)for(let n=0;n<r.length-1;++n)if(Ko(e,t,r[n],r[n+1]))return!0;return!1}function Jo(e,t,n=!1){let r=!1;for(let i of t)for(let t=0;t<i.length-1;t++){if(Go(e,i[t],i[t+1]))return n;Wo(e,i[t],i[t+1])&&(r=!r)}return r}function Yo(e,t){for(let n of t)if(Jo(e,n))return!0;return!1}function Xo(e,t){for(let n of e)if(!Jo(n,t))return!1;for(let n=0;n<e.length-1;++n)if(qo(e[n],e[n+1],t))return!1;return!0}function Zo(e,t){for(let n of t)if(Xo(e,n))return!0;return!1}function Qo(e,t){return e[0]*t[1]-e[1]*t[0]}function $o(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 es(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=Io(e[i][r],n);Ho(t,o),a.push(o)}r.push(a)}return r}function ts(e,t,n){let r=[];for(let i=0;i<e.length;i++){let a=es(e[i],t,n);r.push(a)}return r}function ns(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}Ho(t,e)}function rs(e){e[0]=e[1]=1/0,e[2]=e[3]=-1/0}function is(e,t,n,r){let i=2**r.z*Fo,a=[r.x*Fo,r.y*Fo],o=[];for(let r of e)for(let e of r){let r=[e.x+a[0],e.y+a[1]];ns(r,t,n,i),o.push(r)}return o}function as(e,t,n,r){let i=2**r.z*Fo,a=[r.x*Fo,r.y*Fo],o=[];for(let n of e){let e=[];for(let r of n){let n=[r.x+a[0],r.y+a[1]];Ho(t,n),e.push(n)}o.push(e)}if(t[2]-t[0]<=i/2){rs(t);for(let e of o)for(let r of e)ns(r,t,n,i)}return o}function os(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=es(t.coordinates,r,i),o=is(e.geometry(),n,r,i);if(!Uo(n,r))return!1;for(let e of o)if(!Jo(e,a))return!1}if(t.type===`MultiPolygon`){let a=ts(t.coordinates,r,i),o=is(e.geometry(),n,r,i);if(!Uo(n,r))return!1;for(let e of o)if(!Yo(e,a))return!1}return!0}function ss(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=es(t.coordinates,r,i),o=as(e.geometry(),n,r,i);if(!Uo(n,r))return!1;for(let e of o)if(!Xo(e,a))return!1}if(t.type===`MultiPolygon`){let a=ts(t.coordinates,r,i),o=as(e.geometry(),n,r,i);if(!Uo(n,r))return!1;for(let e of o)if(!Zo(e,a))return!1}return!0}var cs=class e{constructor(e,t){this.type=Ei,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(Ma(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 os(e,this.geometries);if(e.geometryType()===`LineString`)return ss(e,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}},ls=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}},us=Math.PI/180,ds=class{constructor(e){let t=us*6378.137*1e3,n=Math.cos(e*us),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 fs(e,t){return t[0]-e[0]}function ps(e){return e[1]-e[0]+1}function ms(e,t){return e[1]>=e[0]&&e[1]<t}function hs(e,t){if(e[0]>e[1])return[null,null];let n=ps(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 gs(e,t){if(!ms(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)Ho(n,e[r]);return n}function _s(e){let t=[1/0,1/0,-1/0,-1/0];for(let n of e)for(let e of n)Ho(t,e);return t}function vs(e){return e[0]!==-1/0&&e[1]!==-1/0&&e[2]!==1/0&&e[3]!==1/0}function ys(e,t,n){if(!vs(e)||!vs(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 bs(e,t,n){let r=n.pointOnLine(t,e);return n.distance(e,r.point)}function xs(e,t,n,r,i){let a=Math.min(bs(e,[n,r],i),bs(t,[n,r],i)),o=Math.min(bs(n,[e,t],i),bs(r,[e,t],i));return Math.min(a,o)}function Ss(e,t,n,r,i){if(!(ms(t,e.length)&&ms(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(Ko(t,s,r,o))return 0;a=Math.min(a,xs(t,s,r,o,i))}}return a}function Cs(e,t,n,r,i){if(!(ms(t,e.length)&&ms(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 ws(e,t,n){if(Jo(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,bs(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 Ts(e,t,n,r){if(!ms(t,e.length))return NaN;for(let r=t[0];r<=t[1];++r)if(Jo(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(Ko(t,o,a,c))return 0;i=Math.min(i,xs(t,o,a,c,r))}}return i}function Es(e,t){for(let n of e)for(let e of n)if(Jo(e,t,!0))return!0;return!1}function Ds(e,t,n,r=1/0){let i=_s(e),a=_s(t);if(r!==1/0&&ys(i,a,n)>=r)return r;if(Uo(i,a)){if(Es(e,t))return 0}else if(Es(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(Ko(i,s,r,c))return 0;o=Math.min(o,xs(i,s,r,c,n))}}return o}function Os(e,t,n,r,i,a){if(!a)return;let o=ys(gs(r,a),i,n);o<t&&e.push([o,a,[0,0]])}function ks(e,t,n,r,i,a,o){if(!a||!o)return;let s=ys(gs(r,a),gs(i,o),n);s<t&&e.push([s,a,o])}function As(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 ls([[0,[0,e.length-1],[0,0]]],fs),s=_s(n);for(;o.length>0;){let i=o.pop();if(i[0]>=a)continue;let c=i[1],l=t?50:100;if(ps(c)<=l){if(!ms(c,e.length))return NaN;if(t){let t=Ts(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=ws(e[t],n,r);if(a=Math.min(a,i),a===0)return 0}}else{let n=hs(c,t);Os(o,a,r,e,s,n[0]),Os(o,a,r,e,s,n[1])}}return a}function js(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 ls([[0,[0,e.length-1],[0,n.length-1]]],fs);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(ps(c)<=u&&ps(l)<=d){if(!ms(c,e.length)&&ms(l,n.length))return NaN;let a;if(t&&r)a=Ss(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=bs(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=bs(e[n],t,i),o=Math.min(o,a),o===0)return o}else a=Cs(e,c,n,l,i),o=Math.min(o,a)}else{let a=hs(c,t),u=hs(l,r);ks(s,o,i,e,n,a[0],u[0]),ks(s,o,i,e,n,a[0],u[1]),ks(s,o,i,e,n,a[1],u[0]),ks(s,o,i,e,n,a[1],u[1])}}return o}function Ms(e,t){let n=e.geometry(),r=n.flat().map(t=>Lo([t.x,t.y],e.canonical));if(n.length===0)return NaN;let i=new ds(r[0][1]),a=1/0;for(let e of t){switch(e.type){case`Point`:a=Math.min(a,js(r,!1,[e.coordinates],!1,i,a));break;case`LineString`:a=Math.min(a,js(r,!1,e.coordinates,!0,i,a));break;case`Polygon`:a=Math.min(a,As(r,!1,e.coordinates,i,a))}if(a===0)return a}return a}function Ns(e,t){let n=e.geometry(),r=n.flat().map(t=>Lo([t.x,t.y],e.canonical));if(n.length===0)return NaN;let i=new ds(r[0][1]),a=1/0;for(let e of t){switch(e.type){case`Point`:a=Math.min(a,js(r,!0,[e.coordinates],!1,i,a));break;case`LineString`:a=Math.min(a,js(r,!0,e.coordinates,!0,i,a));break;case`Polygon`:a=Math.min(a,As(r,!0,e.coordinates,i,a))}if(a===0)return a}return a}function Ps(e,t){let n=e.geometry();if(n.length===0||n[0].length===0)return NaN;let r=Ja(n,0).map(t=>t.map(t=>t.map(t=>Lo([t.x,t.y],e.canonical)))),i=new ds(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,As([e.coordinates],!1,t,i,a));break;case`LineString`:a=Math.min(a,As(e.coordinates,!0,t,i,a));break;case`Polygon`:a=Math.min(a,Ds(t,e.coordinates,i,a))}if(a===0)return a}return a}function Fs(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 Is=class e{constructor(e,t){this.type=H,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(Ma(t[1])){let n=t[1];if(n.type===`FeatureCollection`)return new e(n,n.features.map(e=>Fs(e.geometry)).flat());if(n.type===`Feature`)return new e(n,Fs(n.geometry));if(`type`in n&&`coordinates`in n)return new e(n,Fs(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 Ms(e,this.geometries);if(e.geometryType()===`LineString`)return Ns(e,this.geometries);if(e.geometryType()===`Polygon`)return Ps(e,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}},Ls=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=W;break}this.type=Ri(t??W,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(!Ma(t[1]))return n.error(`invalid value of type "${typeof t[1]}"`);let r=t[1],i=Na(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,W);if(!n)return null;a.push(n)}return new e(a)}return new Fa(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())}},Rs=class e{constructor(e){this.key=e,this.type=W}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:la(t,this.key)??null}eachChild(){}outputDefined(){return!1}},zs={"==":To,"!=":Eo,">":Oo,"<":Do,">=":Ao,"<=":ko,array:Qa,at:ro,boolean:Qa,case:so,coalesce:lo,collator:jo,format:Wa,image:No,in:io,"index-of":ao,interpolate:Va,"interpolate-hcl":Va,"interpolate-lab":Va,length:Po,let:to,literal:Fa,match:oo,number:Qa,"number-format":Mo,object:Qa,semiliteral:Ls,slice:co,step:za,string:Qa,"to-boolean":eo,"to-color":eo,"to-number":eo,"to-string":eo,var:no,within:cs,distance:Is,"global-state":Rs},Bs=class extends Error{constructor(e,t){super(t),this.message=t,this.key=e}},Vs=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}},Hs=class e{constructor(e,t,n=[],r,i=new Vs,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 Qa(t,[e],n):r===`coerce`?new eo(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 Fa)&&n.type.kind!==`resolvedImage`&&this._isConstant(n)){let e=new La;try{n=new Fa(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 Bs(n,e))}checkSubtype(e,t){let n=Vi(e,t);return n&&this.error(n),n}},Us=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 Hs(n.registry,Xs,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])=>Ys(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(zi(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 Ws(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=ja(t,n,r,o);if(s)throw new Ta(s,a);return new G(t/255,n/255,r/255,o,!1)}function Gs(e,t){return e in t&&t[e]!==void 0}function Ks(e,t){let n=t[e];return n===void 0?null:n}function qs(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 Js(e){return{type:e}}Us.register(zs,{error:[Ai,[U],(e,[t],n)=>{throw new Ta(t.evaluate(e),n)}],typeof:[U,[W],(e,[t])=>zi(Na(t.evaluate(e)))],"to-rgba":[Ri(H,4),[Di],(e,[t])=>{let[n,r,i,a]=t.evaluate(e).rgb;return[n*255,r*255,i*255,a]}],rgb:[Di,[H,H,H],Ws],rgba:[Di,[H,H,H,H],Ws],has:{type:Ei,overloads:[[[U],(e,[t])=>Gs(t.evaluate(e),e.properties())],[[U,ki],(e,[t,n])=>Gs(t.evaluate(e),n.evaluate(e))]]},get:{type:W,overloads:[[[U],(e,[t])=>Ks(t.evaluate(e),e.properties())],[[U,ki],(e,[t,n])=>Ks(t.evaluate(e),n.evaluate(e))]]},"feature-state":[W,[U],(e,[t])=>Ks(t.evaluate(e),e.featureState||{})],properties:[ki,[],e=>e.properties()],"geometry-type":[U,[],e=>e.geometryType()],id:[W,[],e=>e.id()],zoom:[H,[],e=>e.globals.zoom],"heatmap-density":[H,[],e=>e.globals.heatmapDensity||0],elevation:[H,[],e=>e.globals.elevation||0],"line-progress":[H,[],e=>e.globals.lineProgress||0],accumulated:[W,[],e=>e.globals.accumulated===void 0?null:e.globals.accumulated],"+":[H,Js(H),(e,t)=>{let n=0;for(let r of t)n+=r.evaluate(e);return n}],"*":[H,Js(H),(e,t)=>{let n=1;for(let r of t)n*=r.evaluate(e);return n}],"-":{type:H,overloads:[[[H,H],(e,[t,n])=>t.evaluate(e)-n.evaluate(e)],[[H],(e,[t])=>-t.evaluate(e)]]},"/":[H,[H,H],(e,[t,n])=>t.evaluate(e)/n.evaluate(e)],"%":[H,[H,H],(e,[t,n])=>t.evaluate(e)%n.evaluate(e)],ln2:[H,[],()=>Math.LN2],pi:[H,[],()=>Math.PI],e:[H,[],()=>Math.E],"^":[H,[H,H],(e,[t,n])=>t.evaluate(e)**+n.evaluate(e)],sqrt:[H,[H],(e,[t])=>Math.sqrt(t.evaluate(e))],log10:[H,[H],(e,[t])=>Math.log(t.evaluate(e))/Math.LN10],ln:[H,[H],(e,[t])=>Math.log(t.evaluate(e))],log2:[H,[H],(e,[t])=>Math.log(t.evaluate(e))/Math.LN2],sin:[H,[H],(e,[t])=>Math.sin(t.evaluate(e))],cos:[H,[H],(e,[t])=>Math.cos(t.evaluate(e))],tan:[H,[H],(e,[t])=>Math.tan(t.evaluate(e))],asin:[H,[H],(e,[t])=>Math.asin(t.evaluate(e))],acos:[H,[H],(e,[t])=>Math.acos(t.evaluate(e))],atan:[H,[H],(e,[t])=>Math.atan(t.evaluate(e))],min:[H,Js(H),(e,t)=>Math.min(...t.map(t=>t.evaluate(e)))],max:[H,Js(H),(e,t)=>Math.max(...t.map(t=>t.evaluate(e)))],abs:[H,[H],(e,[t])=>Math.abs(t.evaluate(e))],round:[H,[H],(e,[t])=>{let n=t.evaluate(e);return n<0?-Math.round(-n):Math.round(n)}],floor:[H,[H],(e,[t])=>Math.floor(t.evaluate(e))],ceil:[H,[H],(e,[t])=>Math.ceil(t.evaluate(e))],"filter-==":[Ei,[U,W],(e,[t,n])=>e.properties()[t.value]===n.value],"filter-id-==":[Ei,[W],(e,[t])=>e.id()===t.value],"filter-type-==":[Ei,[U],(e,[t])=>e.geometryType()===t.value],"filter-<":[Ei,[U,W],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r<i}],"filter-id-<":[Ei,[W],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n<r}],"filter->":[Ei,[U,W],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r>i}],"filter-id->":[Ei,[W],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n>r}],"filter-<=":[Ei,[U,W],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r<=i}],"filter-id-<=":[Ei,[W],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n<=r}],"filter->=":[Ei,[U,W],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r>=i}],"filter-id->=":[Ei,[W],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n>=r}],"filter-has":[Ei,[W],(e,[t])=>{let n=t.value,r=e.properties();return n in r&&r[n]!==void 0}],"filter-has-id":[Ei,[],e=>e.id()!==null&&e.id()!==void 0],"filter-type-in":[Ei,[Ri(U)],(e,[t])=>t.value.indexOf(e.geometryType())>=0],"filter-id-in":[Ei,[Ri(W)],(e,[t])=>t.value.indexOf(e.id())>=0],"filter-in-small":[Ei,[U,Ri(W)],(e,[t,n])=>n.value.indexOf(e.properties()[t.value])>=0],"filter-in-large":[Ei,[U,Ri(W)],(e,[t,n])=>qs(e.properties()[t.value],n.value,0,n.value.length-1)],all:{type:Ei,overloads:[[[Ei,Ei],(e,[t,n])=>t.evaluate(e)&&n.evaluate(e)],[Js(Ei),(e,t)=>{for(let n of t)if(!n.evaluate(e))return!1;return!0}]]},any:{type:Ei,overloads:[[[Ei,Ei],(e,[t,n])=>t.evaluate(e)||n.evaluate(e)],[Js(Ei),(e,t)=>{for(let n of t)if(n.evaluate(e))return!0;return!1}]]},"!":[Ei,[Ei],(e,[t])=>!t.evaluate(e)],"is-supported-script":[Ei,[U],(e,[t])=>{let n=e.globals&&e.globals.isSupportedScript;return!n||n(t.evaluate(e))}],upcase:[U,[U],(e,[t])=>t.evaluate(e).toUpperCase()],downcase:[U,[U],(e,[t])=>t.evaluate(e).toLowerCase()],concat:[U,Js(W),(e,t)=>t.map(t=>Pa(t.evaluate(e))).join(``)],split:[Ri(U),[U,U],(e,[t,n])=>t.evaluate(e).split(n.evaluate(e))],join:[U,[Ri(U),U],(e,[t,n])=>t.evaluate(e).join(n.evaluate(e))],"resolved-locale":[U,[ji],(e,[t])=>t.evaluate(e).resolvedLocale()]});function Ys(e){return Array.isArray(e)?`(${e.map(zi).join(`, `)})`:`(${zi(e.type)}...)`}function Xs(e){if(e instanceof no)return Xs(e.boundExpression);if(e instanceof Us&&e.name===`error`||e instanceof jo||e instanceof cs||e instanceof Is||e instanceof Rs)return!1;let t=e instanceof eo||e instanceof Qa,n=!0;return e.eachChild(e=>{n&&=t?Xs(e):e instanceof Fa}),n?Zs(e)&&$s(e,[`zoom`,`heatmap-density`,`elevation`,`line-progress`,`accumulated`,`is-supported-script`]):!1}function Zs(e){if(e instanceof Us&&(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 cs||e instanceof Is)return!1;let t=!0;return e.eachChild(e=>{t&&!Zs(e)&&(t=!1)}),t}function Qs(e){if(e instanceof Us&&e.name===`feature-state`)return!1;let t=!0;return e.eachChild(e=>{t&&!Qs(e)&&(t=!1)}),t}function $s(e,t){if(e instanceof Us&&t.indexOf(e.name)>=0)return!1;let n=!0;return e.eachChild(e=>{n&&!$s(e,t)&&(n=!1)}),n}function ec(e){return e[`property-type`]===`data-driven`||e[`property-type`]===`cross-faded-data-driven`}function tc(e){return!!e.expression&&e.expression.parameters.indexOf(`zoom`)>-1}function nc(e){return!!e.expression&&e.expression.interpolated}var rc=/^(.*)-transition$/;function ic(e,...t){for(let n of t)for(let t in n)e[t]=n[t];return e}function ac(e){return e instanceof Number?`number`:e instanceof String?`string`:e instanceof Boolean?`boolean`:Array.isArray(e)?`array`:e===null?`null`:typeof e}function oc(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Na(e)===ki}function sc(e){return e}function cc(e){switch(e.type){case`color`:return G.parse;case`padding`:return Sa.parse;case`numberArray`:return Ca.parse;case`colorArray`:return wa.parse;default:return null}}function lc(e){switch(e){case`exponential`:return mc;case`interval`:return pc;case`categorical`:return fc;case`identity`:return hc;default:throw Error(`Unknown function type "${e}"`)}}function uc(e,t){let n=e.stops&&typeof e.stops[0][0]==`object`,r=n||e.property!==void 0,i=n||!r,a=e.type||(nc(t)?`exponential`:`interval`),o=cc(t);if(o&&(e=ic({},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&&!va(e.colorSpace))throw Error(`Unknown color space: "${e.colorSpace}"`);let s=lc(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,uc(n[e],t)]);let a={name:`linear`};return{kind:`composite`,interpolationType:a,interpolationFactor:Va.interpolationFactor.bind(void 0,a),zoomStops:i.map(e=>e[0]),evaluate({zoom:n},r){return mc({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:Va.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?dc(e.default,t.default):s(e,t,i,c,l)}}}function dc(e,t,n){if(e!==void 0)return e;if(t!==void 0)return t;if(n!==void 0)return n}function fc(e,t,n,r,i){return dc(typeof n===i?r[n]:void 0,e.default,t.default)}function pc(e,t,n){if(ac(n)!==`number`)return dc(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=Ra(e.stops.map(e=>e[0]),n,``);return e.stops[i][1]}function mc(e,t,n){let r=e.base===void 0?1:e.base;if(ac(n)!==`number`)return dc(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=Ra(e.stops.map(e=>e[0]),n,``),o=gc(n,r,e.stops[a][0],e.stops[a+1][0]),s=e.stops[a][1],c=e.stops[a+1][1],l=Ua[t.type]||sc;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 hc(e,t,n){switch(t.type){case`color`:n=G.parse(n);break;case`formatted`:n=xa.fromString(n.toString());break;case`resolvedImage`:n=Oa.fromString(n.toString());break;case`padding`:n=Sa.parse(n);break;case`colorArray`:n=wa.parse(n);break;case`numberArray`:n=Ca.parse(n);break;default:ac(n)!==t.type&&(t.type!==`enum`||!t.values[n])&&(n=void 0)}return dc(n,e.default,t.default)}function gc(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 _c(e){return{result:`success`,value:e}}function vc(e){return{result:`error`,value:e}}var yc=class{constructor(e,t,n,r){this.expression=e,this._warningHistory={},this._evaluator=new La,this._defaultValue=n?Nc(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=Pc(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=Pc(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 Ta(`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 Ta?e.path:``,n=`${t}|${e.message}`;return this._warningHistory[n]||(this._warningHistory[n]=!0,typeof console<`u`&&console.warn(bc(this._rootKey,t,e.message,this._defaultValue))),this._defaultValue}}};function bc(e,t,n,r){return`${e}${t}: ${n}${r==null?``:` Falling back to ${String(r)}.`}`}function xc(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 Sc(e){return Array.isArray(e)&&e.length>0&&typeof e[0]==`string`&&e[0]in zs}function Cc(e,t,n,r){xc(t);let i=new Hs(zs,Xs,[],n?Mc(n):void 0),a=i.parse(e,void 0,void 0,void 0,n&&n.type===`string`?{typeAnnotation:`coerce`}:void 0);return a?_c(new yc(a,t,n,r)):vc(i.errors)}var wc=class{constructor(e,t,n){this.kind=e,this._styleExpression=t,this.isStateDependent=e!==`constant`&&!Qs(t.expression),this.globalStateRefs=jc(t.expression),this._globalState=n}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._globalState&&(e=Pc(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,n,r,i,a)}evaluate(e,t,n,r,i,a){return this._globalState&&(e=Pc(e,this._globalState)),this._styleExpression.evaluate(e,t,n,r,i,a)}},Tc=class{constructor(e,t,n,r,i){this.kind=e,this.zoomStops=n,this._styleExpression=t,this.isStateDependent=e!==`camera`&&!Qs(t.expression),this.globalStateRefs=jc(t.expression),this.interpolationType=r,this._globalState=i}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._globalState&&(e=Pc(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,n,r,i,a)}evaluate(e,t,n,r,i,a){return this._globalState&&(e=Pc(e,this._globalState)),this._styleExpression.evaluate(e,t,n,r,i,a)}interpolationFactor(e,t,n){return this.interpolationType?Va.interpolationFactor(this.interpolationType,e,t,n):0}};function Ec(e){return e._styleExpression!==void 0}function Dc(e,t,n,r){let i=Cc(e,t,n,r);if(i.result===`error`)return i;let a=i.value.expression,o=Zs(a);if(!o&&!ec(n))return vc([new Bs(``,`data expressions not supported`)]);let s=$s(a,[`zoom`]);if(!s&&!tc(n))return vc([new Bs(``,`zoom expressions not supported`)]);let c=Ac(a);if(!c&&!s)return vc([new Bs(``,`"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.`)]);if(c instanceof Bs)return vc([c]);if(c instanceof Va&&!nc(n))return vc([new Bs(``,`"interpolate" expressions cannot be used with this property`)]);if(!c)return _c(o?new wc(`constant`,i.value,r):new wc(`source`,i.value,r));let l=c instanceof Va?c.interpolation:void 0;return _c(o?new Tc(`camera`,i.value,c.labels,l,r):new Tc(`composite`,i.value,c.labels,l,r))}var Oc=class e{constructor(e,t,n){this.isStateDependent=!1,this.globalStateRefs=new Set,this._globalState=null,xc(t),this._parameters=e,this._specification=n,this._rootKey=t,this._defaultValue=Nc(n),this._warningHistory={};let r=uc(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(bc(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 kc(e,t,n,r){if(oc(e))return new Oc(e,t,n);if(Sc(e)){let i=Dc(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=G.parse(e):n.type===`padding`&&(typeof e==`number`||Array.isArray(e))?t=Sa.parse(e):n.type===`numberArray`&&(typeof e==`number`||Array.isArray(e))?t=Ca.parse(e):n.type===`colorArray`&&(typeof e==`string`||Array.isArray(e))?t=wa.parse(e):n.type===`variableAnchorOffsetCollection`&&Array.isArray(e)?t=Da.parse(e):n.type===`projectionDefinition`&&typeof e==`string`&&(t=ka.parse(e)),{globalStateRefs:new Set,_globalState:null,kind:`constant`,evaluate:()=>t}}}function Ac(e){let t=null;if(e instanceof to)t=Ac(e.result);else if(e instanceof lo){for(let n of e.args)if(t=Ac(n),t)break}else(e instanceof za||e instanceof Va)&&e.input instanceof Us&&e.input.name===`zoom`&&(t=e);return t instanceof Bs||e.eachChild(e=>{let n=Ac(e);n instanceof Bs?t=n:!t&&n?t=new Bs(``,`"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.`):t&&n&&t!==n&&(t=new Bs(``,`Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.`))}),t}function jc(e,t=new Set){return e instanceof Rs&&t.add(e.key),e.eachChild(e=>{jc(e,t)}),t}function Mc(e){let t={color:Di,string:U,number:H,enum:U,boolean:Ei,formatted:Mi,padding:Ni,numberArray:Fi,colorArray:Pi,projectionDefinition:Oi,resolvedImage:Ii,variableAnchorOffsetCollection:Li};return e.type===`array`?Ri(t[e.value]||W,e.length):t[e.type]}function Nc(e){if(e.type===`color`&&oc(e.default))return new G(0,0,0,0);switch(e.type){case`color`:return G.parse(e.default)||null;case`padding`:return Sa.parse(e.default)||null;case`numberArray`:return Ca.parse(e.default)||null;case`colorArray`:return wa.parse(e.default)||null;case`variableAnchorOffsetCollection`:return Da.parse(e.default)||null;case`projectionDefinition`:return ka.parse(e.default)||null;default:return e.default===void 0?null:e.default}}function Pc(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 Fc(e){let t=!1;for(let n of e){let e=Ic(n);if(e===`expression`)return`expression`;e===`legacy`&&(t=!0)}return t?`legacy`:`neutral`}function Ic(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 Fc(e.slice(1));default:return`expression`}}function Lc(e){return Ic(e)!==`legacy`}function Rc(e){return e===`$type`?[`geometry-type`]:e===`$id`?[`id`]:[`get`,e]}function zc(e){switch(e[0]){case`==`:case`!=`:case`<`:case`<=`:case`>`:case`>=`:return e.length!==3||typeof e[1]!=`string`?null:[e[0],Rc(e[1]),e[2]];case`in`:case`!in`:{if(e.length<2||typeof e[1]!=`string`)return null;let t=[`in`,Rc(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 Bc(e){if((e[0]===`<`||e[0]===`<=`||e[0]===`>`||e[0]===`>=`)&&e[1]===`$type`)return`"$type" cannot be use with operator "${e[0]}"`;let t=zc(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 Vc(e,t,n){let r=n[e];return Array.isArray(r)?Lc(r)?Hc(r,t.concat(e)):{path:t.concat(e),legacyFilter:r}:null}function Hc(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=Vc(n,t,e);if(r)return r}break;case`!`:{let n=Vc(1,t,e);if(n)return n;break}case`case`:for(let n=1;n<e.length-1;n+=2){let r=Vc(n,t,e);if(r)return r}}return null}function Uc(e,t){let n=Hc(e);if(!n||typeof console>`u`)return;let r=n.path.map(e=>`[${e}]`).join(``);console.warn(`${t}${r}: ${Bc(n.legacyFilter)}`)}var Wc={type:`boolean`,default:!1,transition:!1,"property-type":`data-driven`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]}};function Gc(e,t,n){if(e==null)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};Lc(e)?Uc(e,t):e=Jc(e);let r=Cc(e,t,Wc,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:qc(e),getGlobalStateRefs:()=>jc(r.value.expression)}}function Kc(e,t){return e<t?-1:+(e>t)}function qc(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(qc(e[t]))return!0;return!1}function Jc(e){if(!e)return!0;let t=e[0];return e.length<=1?t!==`any`:t===`==`?Yc(e[1],e[2],`==`):t===`!=`?$c(Yc(e[1],e[2],`==`)):t===`<`||t===`>`||t===`<=`||t===`>=`?Yc(e[1],e[2],t):t===`any`?Xc(e.slice(1)):t===`all`?[`all`].concat(e.slice(1).map(Jc)):t===`none`?[`all`].concat(e.slice(1).map(Jc).map($c)):t===`in`?Zc(e[1],e.slice(2)):t===`!in`?$c(Zc(e[1],e.slice(2))):t===`has`?Qc(e[1]):t!==`!has`||$c(Qc(e[1]))}function Yc(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 Xc(e){return[`any`].concat(e.map(Jc))}function Zc(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(Kc)]]:[`filter-in-small`,e,[`literal`,t]]}}function Qc(e){switch(e){case`$type`:return!0;case`$id`:return[`filter-has-id`];default:return[`filter-has`,e]}}function $c(e){return[`!`,e]}function el(){let e={},t=B.$version;for(let n in B.$root){let r=B.$root[n];if(r.required){let i=null;i=n===`version`?t:r.type===`array`?[]:{},i!=null&&(e[n]=i)}}return e}function tl(e){let t=e.key,n=e.value;return n?[new V(t,n,`constants have been deprecated as of v8`)]:[]}function nl(e){return e instanceof Number||e instanceof String||e instanceof Boolean?e.valueOf():e}function rl(e){if(Array.isArray(e))return e.map(rl);if(e instanceof Object&&!(e instanceof Number||e instanceof String||e instanceof Boolean)){let t={};for(let n in e)t[n]=rl(e[n]);return t}return nl(e)}function il(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=ac(n);if(l!==`object`)return[new V(t,n,`object expected, ${l} found`)];for(let e in n){let l=e.split(`.`)[0],u=la(r,l)||r[`*`],d;if(la(i,l))d=i[l];else if(la(r,l)){if(n[e]===void 0)continue;d=s}else if(i[`*`])d=i[`*`];else if(r[`*`])d=s;else{c.push(new V(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 V(t,n,`missing required property "${e}"`));return c}function al(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(ac(t)!==`array`)return[new V(o,t,`array expected, ${ac(t)} found`)];if(n.length&&t.length!==n.length)return[new V(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),ac(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 ol(e){let t=e.key,n=e.value,r=e.valueSpec,i=ac(n);return i===`number`&&n!==n&&(i=`NaN`),i===`number`?`minimum`in r&&n<r.minimum?[new V(t,n,`${n} is less than the minimum value ${r.minimum}`)]:`maximum`in r&&n>r.maximum?[new V(t,n,`${n} is greater than the maximum value ${r.maximum}`)]:[]:[new V(t,n,`number expected, ${i} found`)]}function sl(e){let t=e.valueSpec,n=nl(e.value.type),r,i={},a,o,s=n!==`categorical`&&e.value.property===void 0,c=!s,l=ac(e.value.stops)===`array`&&ac(e.value.stops[0])===`array`&&ac(e.value.stops[0][0])===`object`,u=il({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 V(e.key,e.value,`missing required property "property"`)),n!==`identity`&&!e.value.stops&&u.push(new V(e.key,e.value,`missing required property "stops"`)),n===`exponential`&&e.valueSpec.expression&&!nc(e.valueSpec)&&u.push(new V(e.key,e.value,`exponential functions not supported`)),e.styleSpec.$version>=8&&(c&&!ec(e.valueSpec)?u.push(new V(e.key,e.value,`property functions not supported`)):s&&!tc(e.valueSpec)&&u.push(new V(e.key,e.value,`zoom functions not supported`))),(n===`categorical`||l)&&e.value.property===void 0&&u.push(new V(e.key,e.value,`"property" property is required`)),u;function d(e){if(n===`identity`)return[new V(e.key,e.value,`identity function may not have a "stops" property`)];let t=[],r=e.value;return t=t.concat(al({key:e.key,value:r,valueSpec:e.valueSpec,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,arrayElementValidator:f})),ac(r)===`array`&&r.length===0&&t.push(new V(e.key,r,`array must have at least one stop`)),t}function f(e){let n=[],r=e.value,s=e.key;if(ac(r)!==`array`)return[new V(s,r,`array expected, ${ac(r)} found`)];if(r.length!==2)return[new V(s,r,`array length 2 expected, length ${r.length} found`)];if(l){if(ac(r[0])!==`object`)return[new V(s,r,`object expected, ${ac(r[0])} found`)];if(r[0].zoom===void 0)return[new V(s,r,`object stop key must have zoom`)];if(r[0].value===void 0)return[new V(s,r,`object stop key must have value`)];if(o&&o>nl(r[0].zoom))return[new V(s,r[0].zoom,`stop zoom values must appear in ascending order`)];nl(r[0].zoom)!==o&&(o=nl(r[0].zoom),a=void 0,i={}),n=n.concat(il({key:`${s}[0]`,value:r[0],valueSpec:{zoom:{}},validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:ol,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 Sc(rl(r[1]))?n.concat([new V(`${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=ac(e.value),c=nl(e.value),l=e.value===null?o:e.value;if(!r)r=s;else if(s!==r)return[new V(e.key,l,`${s} stop domain type must match previous stop domain type ${r}`)];if(s!==`number`&&s!==`string`&&s!==`boolean`)return[new V(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 ec(t)&&n===void 0&&(r+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new V(e.key,l,r)]}return n===`categorical`&&s===`number`&&(!isFinite(c)||Math.floor(c)!==c)?[new V(e.key,l,`integer expected, found ${c}`)]:n!==`categorical`&&s===`number`&&a!==void 0&&c<a?[new V(e.key,l,`stop domain values must appear in ascending order`)]:(a=c,n===`categorical`&&c in i?[new V(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 cl(e){let t=(e.expressionContext===`property`?Dc:Cc)(rl(e.value),e.key,e.valueSpec);if(t.result===`error`)return t.value.map(t=>new V(`${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 V(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`&&!Qs(n))return[new V(e.key,e.value,`"feature-state" data expressions are not supported with layout properties.`)];if(e.expressionContext===`filter`&&!Qs(n))return[new V(e.key,e.value,`"feature-state" data expressions are not supported with filters.`)];if(e.expressionContext&&e.expressionContext.indexOf(`cluster`)===0){if(!$s(n,[`zoom`,`feature-state`]))return[new V(e.key,e.value,`"zoom" and "feature-state" expressions are not supported with cluster properties.`)];if(e.expressionContext===`cluster-initial`&&!Zs(n))return[new V(e.key,e.value,`Feature data expressions are not supported with initial expression part of cluster properties.`)]}return[]}function ll(e){let t=e.value,n=e.key,r=ac(t);return r===`boolean`?[]:[new V(n,t,`boolean expected, ${r} found`)]}function ul(e){let t=e.key,n=e.value,r=ac(n);return r===`string`?G.parse(String(n))?[]:[new V(t,n,`color expected, "${n}" found`)]:[new V(t,n,`color expected, ${r} found`)]}function dl(e){let t=e.key,n=e.value,r=e.valueSpec,i=[];return Array.isArray(r.values)?r.values.indexOf(nl(n))===-1&&i.push(new V(t,n,`expected one of [${r.values.join(`, `)}], ${JSON.stringify(n)} found`)):Object.keys(r.values).indexOf(nl(n))===-1&&i.push(new V(t,n,`expected one of [${Object.keys(r.values).join(`, `)}], ${JSON.stringify(n)} found`)),i}function fl(e,t){let n=e;for(let e of t)n=n[e];return n}function pl(e,t){let n=Hc(t);return n?[new V(`${e.key}${n.path.map(e=>`[${e}]`).join(``)}`,fl(e.value,n.path),Bc(n.legacyFilter),null,`warning`)]:[]}function ml(e){let t=rl(e.value);return Lc(t)?[...pl(e,t),...cl(ic({},e,{expressionContext:`filter`,valueSpec:{value:`boolean`}}))]:hl(e)}function hl(e){let t=e.value,n=e.key;if(ac(t)!==`array`)return[new V(n,t,`array expected, ${ac(t)} found`)];let r=e.styleSpec,i,a=[];if(t.length<1)return[new V(n,t,`filter array must have at least 1 element`)];switch(a=a.concat(dl({key:`${n}[0]`,value:t[0],valueSpec:r.filter_operator,style:e.style,styleSpec:e.styleSpec})),nl(t[0])){case`<`:case`<=`:case`>`:case`>=`:t.length>=2&&nl(t[1])===`$type`&&a.push(new V(n,t,`"$type" cannot be use with operator "${t[0]}"`));case`==`:case`!=`:t.length!==3&&a.push(new V(n,t,`filter array for operator "${t[0]}" must have 3 elements`));case`in`:case`!in`:t.length>=2&&(i=ac(t[1]),i!==`string`&&a.push(new V(`${n}[1]`,t[1],`string expected, ${i} found`)));for(let o=2;o<t.length;o++)i=ac(t[o]),nl(t[1])===`$type`?a=a.concat(dl({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 V(`${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(hl({key:`${n}[${r}]`,value:t[r],style:e.style,styleSpec:e.styleSpec}));break;case`has`:case`!has`:i=ac(t[1]),t.length===2?i!==`string`&&a.push(new V(`${n}[1]`,t[1],`string expected, ${i} found`)):a.push(new V(n,t,`filter array for "${t[0]}" operator must have 2 elements`))}return a}function gl(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(rc);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 V(n,o,`unknown property "${s}"`)];let d;if(ac(o)===`string`&&ec(u)&&!u.tokens&&(d=/^{([^}]+)}$/.exec(o)))return[new V(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`&&oc(rl(o))&&nl(o.type)===`identity`&&f.push(new V(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 _l(e){return gl(e,`paint`)}function vl(e){return gl(e,`layout`)}function yl(e){let t=[],n=e.value,r=e.key,i=e.style,a=e.styleSpec;if(ac(n)!==`object`)return[new V(r,n,`object expected, ${ac(n)} found`)];!n.type&&!n.ref&&t.push(new V(r,n,`either "type" or "ref" is required`));let o=nl(n.type),s=nl(n.ref);if(n.id){let a=nl(n.id);for(let o=0;o<e.arrayIndex;o++){let e=i.layers[o];nl(e.id)===a&&t.push(new V(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 V(r,n[e],`"${e}" is prohibited for ref layers`))});let e;i.layers.forEach(t=>{nl(t.id)===s&&(e=t)}),e?e.ref?t.push(new V(r,n.ref,`ref cannot reference another ref layer`)):o=nl(e.type):t.push(new V(r,n.ref,`ref layer "${s}" not found`))}else if(o!==`background`){if(!n.source)t.push(new V(r,n,`missing required property "source"`));else{let e=i.sources&&i.sources[n.source],a=e&&nl(e.type);e?a===`vector`&&o===`raster`?t.push(new V(r,n.source,`layer "${n.id}" requires a raster source`)):a!==`raster-dem`&&o===`hillshade`||a!==`raster-dem`&&o===`color-relief`?t.push(new V(r,n.source,`layer "${n.id}" requires a raster-dem source`)):a===`raster`&&o!==`raster`?t.push(new V(r,n.source,`layer "${n.id}" requires a vector source`)):a===`vector`&&!n[`source-layer`]?t.push(new V(r,n,`layer "${n.id}" must specify a "source-layer"`)):a===`raster-dem`&&o!==`hillshade`&&o!==`color-relief`?t.push(new V(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 V(r,n,`layer "${n.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):t.push(new V(r,n.source,`source "${n.source}" not found`))}}return o===`raster`&&n.paint?.resampling&&n.paint?.[`raster-resampling`]&&t.push(new V(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(il({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:ml,layout(e){return il({layer:n,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*"(e){return vl(ic({layerType:o},e))}}})},paint(e){return il({layer:n,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*"(e){return _l(ic({layerType:o},e))}}})}}})),t}function bl(e){let t=e.value,n=e.key,r=ac(t);return r===`string`?[]:[new V(n,t,`string expected, ${r} found`)]}function xl(e){let t=e.sourceName??``,n=e.value,r=e.styleSpec,i=r.source_raster_dem,a=e.style,o=[],s=ac(n);if(n===void 0)return o;if(s!==`object`)return o.push(new V(`source_raster_dem`,n,`object expected, ${s} found`)),o;let c=nl(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 V(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 V(s,n[s],`unknown property "${s}"`));return o}var Sl={promoteId:wl};function Cl(e){let t=e.value,n=e.key,r=e.styleSpec,i=e.style,a=e.validateSpec;if(!t.type)return[new V(n,t,`"type" is required`)];let o=nl(t.type),s;switch(o){case`vector`:case`raster`:return s=il({key:n,value:t,valueSpec:r[`source_${o.replace(`-`,`_`)}`],style:e.style,styleSpec:r,objectElementValidators:Sl,validateSpec:a}),s;case`raster-dem`:return s=xl({sourceName:n,value:t,style:e.style,styleSpec:r,validateSpec:a}),s;case`geojson`:if(s=il({key:n,value:t,valueSpec:r.source_geojson,style:i,styleSpec:r,validateSpec:a,objectElementValidators:Sl}),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(...cl({key:`${n}.${e}.map`,value:i,validateSpec:a,expressionContext:`cluster-map`})),s.push(...cl({key:`${n}.${e}.reduce`,value:o,validateSpec:a,expressionContext:`cluster-reduce`}))}return s;case`video`:return il({key:n,value:t,valueSpec:r.source_video,style:i,validateSpec:a,styleSpec:r});case`image`:return il({key:n,value:t,valueSpec:r.source_image,style:i,validateSpec:a,styleSpec:r});case`canvas`:return[new V(n,null,`Please use runtime APIs to add canvas sources, rather than including them in stylesheets.`,`source.canvas`)];default:return dl({key:`${n}.type`,value:t.type,valueSpec:{values:[`vector`,`raster`,`raster-dem`,`geojson`,`video`,`image`]},style:i,validateSpec:a,styleSpec:r})}}function wl({key:e,value:t}){if(ac(t)===`string`)return bl({key:e,value:t});{let n=[];for(let r in t)n.push(...bl({key:`${e}.${r}`,value:t[r]}));return n}}function Tl(e){let t=e.value,n=e.styleSpec,r=n.light,i=e.style,a=[],o=ac(t);if(t===void 0)return a;if(o!==`object`)return a=a.concat([new V(`light`,t,`object expected, ${o} found`)]),a;for(let o in t){let s=o.match(rc);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 V(o,t[o],`unknown property "${o}"`)])}return a}function El(e){let t=e.value,n=e.styleSpec,r=n.sky,i=e.style,a=ac(t);if(t===void 0)return[];if(a!==`object`)return[new V(`sky`,t,`object expected, ${a} found`)];let o=[];for(let a in t){let s=a.match(rc);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 V(a,t[a],`unknown property "${a}"`)])}return o}function Dl(e){let t=e.value,n=e.styleSpec,r=n.terrain,i=e.style,a=[],o=ac(t);if(t===void 0)return a;if(o!==`object`)return a=a.concat([new V(`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 V(o,t[o],`unknown property "${o}"`)]);return a}function Ol(e){return bl(e).length===0?[]:cl(e)}function kl(e){return bl(e).length===0?[]:cl(e)}function Al(e){let t=e.key,n=e.value;if(ac(n)===`array`){if(n.length<1||n.length>4)return[new V(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 ol({key:t,value:n,valueSpec:{}})}function jl(e){let t=e.key,n=e.value;if(ac(n)===`array`){let r={type:`number`};if(n.length<1)return[new V(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 ol({key:t,value:n,valueSpec:{}})}function Ml(e){let t=e.key,n=e.value;if(ac(n)===`array`){if(n.length<1)return[new V(t,n,`array length at least 1 expected, length 0 found`)];let e=[];for(let r=0;r<n.length;r++)e=e.concat(ul({key:`${t}[${r}]`,value:n[r],valueSpec:{}}));return e}return ul({key:t,value:n,valueSpec:{}})}function Nl(e){let t=e.key,n=e.value,r=ac(n),i=e.styleSpec;if(r!==`array`||n.length<1||n.length%2!=0)return[new V(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(dl({key:`${t}[${r}]`,value:n[r],valueSpec:i.layout_symbol[`text-anchor`]})),a=a.concat(al({key:`${t}[${r+1}]`,value:n[r+1],valueSpec:{length:2,value:`number`},validateSpec:e.validateSpec,style:e.style,styleSpec:i}));return a}function Pl(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 V(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 V(r,n,`all the sprites' URLs must be unique, but ${n[o].url} is duplicated`)),a.push(n[o].url),t=t.concat(il({key:`${r}[${o}]`,value:n[o],valueSpec:{id:{type:`string`,required:!0},url:{type:`string`,required:!0}},validateSpec:e.validateSpec}));return t}return bl({key:r,value:n})}function Fl(e){let t=e.value,n=e.styleSpec,r=n.projection,i=e.style,a=ac(t);if(t===void 0)return[];if(a!==`object`)return[new V(`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 V(a,t[a],`unknown property "${a}"`)]);return o}function Il(e){let t=e.key,n=e.value;n=n instanceof String?n.valueOf():n;let r=ac(n);return r===`array`&&!Rl(n)&&!Ll(n)?[new V(t,n,`projection expected, invalid array ${JSON.stringify(n)} found`)]:[`array`,`string`].includes(r)?[]:[new V(t,n,`projection expected, invalid type "${r}" found`)]}function Ll(e){return!![`interpolate`,`step`,`literal`].includes(e[0])}function Rl(e){return Array.isArray(e)&&e.length===3&&typeof e[0]==`string`&&typeof e[1]==`string`&&typeof e[2]==`number`}function zl(e){return!!e&&e.constructor===Object}function Bl(e){return zl(e.value)?[]:[new V(e.key,e.value,`object expected, ${ac(e.value)} found`)]}var Vl=1114111,Hl=/^u\+(?:([0-9a-f]{1,6})(?:-([0-9a-f]{1,6}))?|([0-9a-f]{0,5}\?{1,6}))$/i;function Ul(e,t){if(ac(t)!==`string`)return[];let n=`${t}`,r=()=>[new V(e,t,`invalid unicode range, expected a value such as "U+26", "U+0-10FFFF" or "U+4??"`)],i=n.match(Hl);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>Vl||l>Vl?[new V(e,t,`unicode range is out of bounds, the maximum code point is U+10FFFF`)]:c>l?[new V(e,t,`unicode range start must not be greater than its end, but ${n} is`)]:[]}function Wl(e){let t=e.key??`font-faces`,n=e.value,r=e.validateSpec,i=e.styleSpec??ci,a=e.style;if(!zl(n))return[new V(t,n,`object expected, ${ac(n)} found`)];let o=[];for(let e in n){let s=n[e],c=ac(s);if(c===`string`)o.push(...bl({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(...il({key:s,value:l,valueSpec:n,styleSpec:i,style:a,validateSpec:r}));let u=zl(l)?l[`unicode-range`]:void 0;if(ac(u)===`array`)for(let[e,t]of u.entries())o.push(...Ul(`${s}.unicode-range[${e}]`,t))}}else o.push(new V(`${t}.${e}`,s,`string or array expected, ${c} found`))}return o}var Gl={"*"(){return[]},array:al,boolean:ll,number:ol,color:ul,constants:tl,enum:dl,filter:ml,function:sl,layer:yl,object:il,source:Cl,light:Tl,sky:El,terrain:Dl,projection:Fl,projectionDefinition:Il,string:bl,formatted:Ol,resolvedImage:kl,padding:Al,numberArray:jl,colorArray:Ml,variableAnchorOffsetCollection:Nl,sprite:Pl,state:Bl,fontFaces:Wl};function Kl(e){let t=e.value,n=e.valueSpec,r=e.styleSpec;return e.validateSpec=Kl,n.expression&&oc(nl(t))?sl(e):n.expression&&Sc(rl(t))?cl(e):n.type&&Gl[n.type]?Gl[n.type](e):il(ic({},e,{valueSpec:n.type?r[n.type]:n}))}function ql(e){let t=e.value,n=e.key,r=bl(e);return r.length?r:(t.indexOf(`{fontstack}`)===-1&&r.push(new V(n,t,`"glyphs" url must include a "{fontstack}" token`)),t.indexOf(`{range}`)===-1&&r.push(new V(n,t,`"glyphs" url must include a "{range}" token`)),r)}function Jl(e,t=B){let n=[];return n=n.concat(Kl({key:``,value:e,valueSpec:t.$root,styleSpec:t,style:e,validateSpec:Kl,objectElementValidators:{glyphs:ql,"*"(){return[]}}})),e.constants&&(n=n.concat(tl({key:`constants`,value:e.constants,style:e,styleSpec:t,validateSpec:Kl}))),Xl(n)}Jl.source=Zl(Yl(Cl)),Jl.sprite=Zl(Yl(Pl)),Jl.glyphs=Zl(Yl(ql)),Jl.fontFaces=Zl(Yl(Wl)),Jl.light=Zl(Yl(Tl)),Jl.sky=Zl(Yl(El)),Jl.terrain=Zl(Yl(Dl)),Jl.state=Zl(Yl(Bl)),Jl.layer=Zl(Yl(yl)),Jl.filter=Zl(Yl(ml)),Jl.paintProperty=Zl(Yl(_l)),Jl.layoutProperty=Zl(Yl(vl));function Yl(e){return function(t){return e(Object.assign({},t,{validateSpec:Kl}))}}function Xl(e){return[].concat(e).sort((e,t)=>e.line-t.line)}function Zl(e){return function(...t){return Xl(e.apply(this,t))}}var Ql={type:`enum`,"property-type":`data-constant`,expression:{interpolated:!1,parameters:[`global-state`]},values:{visible:{},none:{}},transition:!1,default:`visible`},$l=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=Cc(e,this._rootKey,Ql,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=jc(t.value.expression)}getGlobalStateRefs(){return this._globalStateRefs}};function eu(e,t,n){return new $l(e,t,n)}var tu=Jl,nu=new Set(Object.keys(B).filter(e=>e.startsWith(`source_`)).map(e=>e.slice(7).replaceAll(`_`,`-`)));function ru(e){return Object.entries(e.sources??{}).filter(([,e])=>!nu.has(e.type)).map(([e])=>`sources.${e}`)}function iu(e,t){let n=ru(t);return au(e,tu(t).filter(({message:e})=>!n.some(t=>e.startsWith(`${t}:`)||e.startsWith(`${t}.`))))}function au(e,t){let n=!1;for(let r of t){if(r.severity===`warning`){Rn(r.message);continue}e.fire(new R(Error(r.message))),n=!0}return n}function ou(e,t,n,r){return r?.validate!==!1&&au(e,t({styleSpec:B,...n}))}var su=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)}},cu={};function K(e,t,n={}){if(cu[e])throw Error(`${e} is already registered.`);Object.defineProperty(t,"_classRegistryKey",{value:e,writeable:!1}),cu[e]={klass:t,omit:n.omit||[],shallow:n.shallow||[]}}K(`Object`,Object),K(`Set`,Set),K(`TransferableGridIndex`,su),K(`Color`,G),K(`Error`,Error),K(`AJAXError`,Pr),K(`ResolvedImage`,Oa),K(`StylePropertyFunction`,Oc),K(`StyleExpression`,yc,{omit:[`_evaluator`]}),K(`ZoomDependentExpression`,Tc),K(`ZoomConstantExpression`,wc),K(`CompoundExpression`,Us,{omit:[`_evaluate`]});for(let e in zs)zs[e]._classRegistryKey||K(`Expression_${e}`,zs[e]);function lu(e){return e&&typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||e.constructor?.name===`ArrayBuffer`)}function uu(e){let t=e.constructor;return e.$name||t._classRegistryKey}function du(e){if(typeof e!=`object`||!e)return!1;let t=uu(e);return t&&t!==`Object`}function fu(e){return!du(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||lu(e)||Kn(e)||ArrayBuffer.isView(e)||e instanceof ImageData)}function pu(e,t){if(fu(e))return(lu(e)||Kn(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(pu(r,t));return n}if(typeof e!=`object`)throw Error(`can't serialize object of type ${typeof e}`);let n=uu(e);if(!n)throw Error(`can't serialize object of unregistered class ${e.constructor.name}`);if(!cu[n])throw Error(`${n} is not registered.`);let{klass:r}=cu[n],i=r.serialize?r.serialize(e,t):{};if(!r.serialize){for(let r in e){if(!e.hasOwnProperty(r)||cu[n].omit.includes(r))continue;let a=e[r];a!==void 0&&(i[r]=cu[n].shallow.includes(r)?a:pu(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 mu(e){if(fu(e))return e;if(Array.isArray(e))return e.map(mu);if(typeof e!=`object`)throw Error(`can't deserialize object of type ${typeof e}`);let t=uu(e)||`Object`;if(!cu[t])throw Error(`can't deserialize unregistered class ${t}`);let{klass:n}=cu[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]=cu[t].shallow.includes(n)?i:mu(i)}return r}var hu=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))}},gu=class{constructor(e,t){this.zoom=e,t?(this.now=t.now||0,this.fadeDuration=t.fadeDuration||0,this.zoomHistory=t.zoomHistory||new hu,this.transition=t.transition||{}):(this.now=0,this.fadeDuration=0,this.zoomHistory=new hu,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}}},_u=class{constructor(e,t,n,r){this.property=e,this.value=t,this.expression=kc(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)}},vu=class{constructor(e,t,n){this.property=e,this.value=new _u(e,void 0,t,n)}transitioned(e,t){return t.value===this.value?t:new bu(this.property,this.value,t,F({},e.transition,this.transition),e.now)}untransitioned(){return new bu(this.property,this.value,null,{},0)}},yu=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 In(this._values[e].value.value)}setValue(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new vu(this._values[e].property,this._propertyRootKey(e),this._globalState)),this._values[e].value=new _u(this._values[e].property,t===null?void 0:In(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):Fn(this._values[t].value.value,n)||this.setValue(t,n)}}getTransition(e){return In(this._values[e].transition)}setTransition(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new vu(this._values[e].property,this._propertyRootKey(e),this._globalState)),this._values[e].transition=In(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 _u(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 xu(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 xu(this._properties);for(let t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}},bu=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,xn(o))}}},xu=class{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)}possiblyEvaluate(e,t,n){let r=new wu(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}},Su=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 In(this._values[e].value)}setValue(e,t){this._values[e]=new _u(this._values[e].property,t===null?void 0:In(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 wu(this._properties);for(let i of Object.keys(this._values))r._values[i]=this._values[i].possiblyEvaluate(e,t,n);return r}},Cu=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)}},wu=class{constructor(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)}get(e){return this._values[e]}};function Tu(e){if(Array.isArray(e))return e.length;let t=e?.values;return Array.isArray(t)?t.length:void 0}function Eu(e,t){let n=Tu(e),r=Tu(t);return n!==void 0&&r!==void 0&&n!==r}var q=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(Eu(e,t))return Rn(`Property "${this.name}" is trying to interpolate arrays of different lengths. Rendering may 'jump'.`),t;let r=Ua[this.specification.type];return r?r(e,t,n):e}},J=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 Cu(this,{kind:`constant`,value:e.expression.evaluate(t,null,{},n,r)},t):new Cu(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 Cu(this,{kind:`constant`,value:void 0},e.parameters);if(Eu(e.value.value,t.value.value))return Rn(`Property "${this.name}" is trying to interpolate arrays of different lengths. Rendering may 'jump'.`),t;let r=Ua[this.specification.type];if(r){let i=r(e.value.value,t.value.value,n);return new Cu(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)}},Du=class extends J{possiblyEvaluate(e,t,n,r){if(e.value===void 0)return new Cu(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 Cu(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 Cu(this,{kind:`constant`,value:n},t)}return new Cu(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}},Ou=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 gu(Math.floor(t.zoom-1),t)),e.expression.evaluate(new gu(Math.floor(t.zoom),t)),e.expression.evaluate(new gu(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}},ku=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}},Au=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 _u(n,void 0,n.name,void 0),i=this.defaultTransitionablePropertyValues[t]=new vu(n,n.name,void 0);this.defaultTransitioningPropertyValues[t]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=r.possiblyEvaluate({})}}};K(`DataDrivenProperty`,J),K(`DataConstantProperty`,q),K(`CrossFadedDataDrivenProperty`,Du),K(`CrossFadedProperty`,Ou),K(`ColorRampProperty`,ku);var ju=` is a PAINT property not a LAYOUT property. Use get/setPaintProperty instead?`,Mu=` is a LAYOUT property not a PAINT property. Use get/setLayoutProperty instead?`,Nu=class extends Yr{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=eu(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=Gc(e.filter,`layers[${this.id}].filter`,n)),t.layout&&(this._unevaluatedLayout=new Su(t.layout,`layers[${this.id}].layout`,n)),t.paint)){this._transitionablePaint=new yu(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 wu(t.paint)}}setFilter(e){this.filter=e,this._featureFilter=Gc(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+ju);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 R(Error(e+ju)));return}t!=null&&this._validate(tu.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+Mu);return this._transitionablePaint.getTransition(t)}if(e===`visibility`||this._unevaluatedLayout?.hasProperty(e))throw Error(e+Mu);return this._transitionablePaint.getValue(e)}setPaintProperty(e,t,n={}){if(e===`visibility`||this._unevaluatedLayout?.hasProperty(e))return this.fire(new R(Error(e+Mu))),!1;if(t!=null&&this._validate(tu.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),Pn(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 ou(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 Cu&&ec(t.property.specification)&&(t.value.kind===`source`||t.value.kind===`composite`)&&t.value.isStateDependent)return!0}return!1}},Pu,Fu=()=>Pu||=new Au({"raster-opacity":new q(B.paint_raster[`raster-opacity`],`raster-opacity`),"raster-hue-rotate":new q(B.paint_raster[`raster-hue-rotate`],`raster-hue-rotate`),"raster-brightness-min":new q(B.paint_raster[`raster-brightness-min`],`raster-brightness-min`),"raster-brightness-max":new q(B.paint_raster[`raster-brightness-max`],`raster-brightness-max`),"raster-saturation":new q(B.paint_raster[`raster-saturation`],`raster-saturation`),"raster-contrast":new q(B.paint_raster[`raster-contrast`],`raster-contrast`),resampling:new q(B.paint_raster.resampling,`resampling`),"raster-resampling":new q(B.paint_raster[`raster-resampling`],`raster-resampling`),"raster-fade-duration":new q(B.paint_raster[`raster-fade-duration`],`raster-fade-duration`)}),Iu={get paint(){return Fu()}},Lu=e=>e.type===`raster`,Ru=class extends Nu{constructor(e,t){super(e,Iu,t)}},zu={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Bu=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}},Vu=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 Hu(e,t=1){let n=0,r=0;return{members:e.map(e=>{let i=Uu(e.type),a=n=Wu(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:Wu(n,Math.max(r,t)),alignment:t}}function Uu(e){return zu[e].BYTES_PER_ELEMENT}function Wu(e,t){return Math.ceil(e/t)*t}var Gu=class extends Vu{_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}};Gu.prototype.bytesPerElement=4,K(`StructArrayLayout2i4`,Gu);var Ku=class extends Vu{_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}};Ku.prototype.bytesPerElement=6,K(`StructArrayLayout3i6`,Ku);var qu=class extends Vu{_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}};qu.prototype.bytesPerElement=8,K(`StructArrayLayout4i8`,qu);var Ju=class extends Vu{_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}};Ju.prototype.bytesPerElement=12,K(`StructArrayLayout2i4i12`,Ju);var Yu=class extends Vu{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.int8=new Int8Array(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*5,u=e*10;return this.int16[l+0]=t,this.int16[l+1]=n,this.uint8[u+4]=r,this.uint8[u+5]=i,this.uint8[u+6]=a,this.uint8[u+7]=o,this.int8[u+8]=s,this.int8[u+9]=c,e}};Yu.prototype.bytesPerElement=10,K(`StructArrayLayout2i4ub2b10`,Yu);var Xu=class extends Vu{_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}};Xu.prototype.bytesPerElement=8,K(`StructArrayLayout2f8`,Xu);var Zu=class extends Vu{_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}};Zu.prototype.bytesPerElement=20,K(`StructArrayLayout10ui20`,Zu);var Qu=class extends Vu{_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}};Qu.prototype.bytesPerElement=16,K(`StructArrayLayout8ui16`,Qu);var $u=class extends Vu{_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}};$u.prototype.bytesPerElement=28,K(`StructArrayLayout4i4ui4i1f28`,$u);var ed=class extends Vu{_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}};ed.prototype.bytesPerElement=12,K(`StructArrayLayout3f12`,ed);var td=class extends Vu{_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}};td.prototype.bytesPerElement=4,K(`StructArrayLayout1ul4`,td);var nd=class extends Vu{_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}};nd.prototype.bytesPerElement=20,K(`StructArrayLayout6i1ul2ui20`,nd);var rd=class extends Vu{_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}};rd.prototype.bytesPerElement=12,K(`StructArrayLayout2i2i2i12`,rd);var id=class extends Vu{_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}};id.prototype.bytesPerElement=16,K(`StructArrayLayout2f1f2i16`,id);var ad=class extends Vu{_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}};ad.prototype.bytesPerElement=16,K(`StructArrayLayout2ub2f2i16`,ad);var od=class extends Vu{_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}};od.prototype.bytesPerElement=6,K(`StructArrayLayout3ui6`,od);var sd=class extends Vu{_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}};sd.prototype.bytesPerElement=52,K(`StructArrayLayout2i2ui3ul3ui2f3ub1ul1i1f52`,sd);var cd=class extends Vu{_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,O){let k=this.length;return this.resize(k+1),this.emplace(k,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,O)}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,O,k){let A=e*34,ee=e*17;return this.int16[A+0]=t,this.int16[A+1]=n,this.int16[A+2]=r,this.int16[A+3]=i,this.int16[A+4]=a,this.int16[A+5]=o,this.int16[A+6]=s,this.int16[A+7]=c,this.uint16[A+8]=l,this.uint16[A+9]=u,this.uint16[A+10]=d,this.uint16[A+11]=f,this.uint16[A+12]=p,this.uint16[A+13]=m,this.uint16[A+14]=h,this.uint16[A+15]=g,this.uint16[A+16]=_,this.uint16[A+17]=v,this.uint16[A+18]=y,this.uint16[A+19]=b,this.uint16[A+20]=x,this.uint16[A+21]=S,this.uint16[A+22]=C,this.uint32[ee+12]=w,this.float32[ee+13]=T,this.float32[ee+14]=E,this.uint16[A+30]=D,this.uint16[A+31]=O,this.float32[ee+16]=k,e}};cd.prototype.bytesPerElement=68,K(`StructArrayLayout8i15ui1ul2f2ui1f68`,cd);var ld=class extends Vu{_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}};ld.prototype.bytesPerElement=4,K(`StructArrayLayout1f4`,ld);var ud=class extends Vu{_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}};ud.prototype.bytesPerElement=12,K(`StructArrayLayout1ui2f12`,ud);var dd=class extends Vu{_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}};dd.prototype.bytesPerElement=8,K(`StructArrayLayout1ul2ui8`,dd);var fd=class extends Vu{_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}};fd.prototype.bytesPerElement=4,K(`StructArrayLayout2ui4`,fd);var pd=class extends Vu{_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}};pd.prototype.bytesPerElement=2,K(`StructArrayLayout1ui2`,pd);var md=class extends Vu{_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}};md.prototype.bytesPerElement=16,K(`StructArrayLayout4f16`,md);var hd=class extends Bu{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 j(this.anchorPointX,this.anchorPointY)}};hd.prototype.size=20;var gd=class extends nd{get(e){return new hd(this,e)}};K(`CollisionBoxArray`,gd);var _d=class extends Bu{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]}};_d.prototype.size=52;var vd=class extends sd{get(e){return new _d(this,e)}};K(`PlacedSymbolArray`,vd);var yd=class extends Bu{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]}};yd.prototype.size=68;var bd=class extends cd{get(e){return new yd(this,e)}};K(`SymbolInstanceArray`,bd);var xd=class extends ld{getoffsetX(e){return this.float32[e*1+0]}};K(`GlyphOffsetArray`,xd);var Sd=class extends Ku{getx(e){return this.int16[e*3+0]}gety(e){return this.int16[e*3+1]}gettileUnitDistanceFromAnchor(e){return this.int16[e*3+2]}};K(`SymbolLineVertexArray`,Sd);var Cd=class extends Bu{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]}};Cd.prototype.size=12;var wd=class extends ud{get(e){return new Cd(this,e)}};K(`TextAnchorOffsetArray`,wd);var Td=class extends Bu{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]}};Td.prototype.size=8;var Ed=class extends dd{get(e){return new Td(this,e)}};K(`FeatureIndexArray`,Ed);var Dd=class extends Gu{},Od=class extends Ku{},kd=class extends qu{},Ad=class extends Gu{},jd=class extends Gu{},Md=class extends Ju{},Nd=class extends Yu{},Pd=class extends Xu{},Fd=class extends Zu{},Id=class extends Qu{},Ld=class extends $u{},Rd=class extends ed{},zd=class extends td{},Bd=class extends rd{},Vd=class extends id{},Hd=class extends ad{},Ud=class extends od{},Wd=class extends od{},Gd=class extends fd{},Kd=class extends pd{},qd=Hu([{name:`a_pos`,components:2,type:`Int16`}],4),Jd=qd.members;qd.size,qd.alignment;var Yd=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&&Rn(`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}])}};Yd.MAX_VERTEX_ARRAY_LENGTH=2**16-1,K(`SegmentVector`,Yd);function Xd(e,t){return e=P(Math.floor(e),0,255),t=P(Math.floor(t),0,255),256*e+t}var Zd=Hu([{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`}]),Qd=Hu([{name:`a_dasharray_from`,components:4,type:`Uint16`},{name:`a_dasharray_to`,components:4,type:`Uint16`}]),$d=Oe(((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)})),ef=Oe(((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})),tf=Ae(Oe(((e,t)=>{var n=$d(),r=ef();t.exports=n,t.exports.murmur3=n,t.exports.murmur2=r}))(),1),nf=class e{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(e,t,n,r){this.ids.push(rf(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=rf(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 af(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 rf(e){let t=+e;return!isNaN(t)&&t<=2**53-1?t:(0,tf.default)(String(e))}function af(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;of(e,a,o),of(t,3*a,3*o),of(t,3*a+1,3*o+1),of(t,3*a+2,3*o+2)}o-n<r-o?(af(e,t,n,o),n=o+1):(af(e,t,o+1,r),r=o)}}function of(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}K(`FeaturePositionMap`,nf);var sf=class{constructor(e,t){this.gl=e.gl,this.location=t}},Y=class extends sf{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1i(this.location,e))}},X=class extends sf{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1f(this.location,e))}},Z=class extends sf{constructor(e,t){super(e,t),this.current=[0,0]}set(e){(e[0]!==this.current[0]||e[1]!==this.current[1])&&(this.current=e,this.gl.uniform2f(this.location,e[0],e[1]))}},cf=class extends sf{constructor(e,t){super(e,t),this.current=[0,0,0]}set(e){(e[0]!==this.current[0]||e[1]!==this.current[1]||e[2]!==this.current[2])&&(this.current=e,this.gl.uniform3f(this.location,e[0],e[1],e[2]))}},lf=class extends sf{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]))}},uf=class extends sf{constructor(e,t){super(e,t),this.current=G.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))}},df=class extends sf{constructor(e,t){super(e,t),this.current=[]}set(e){if(e!=this.current){this.current=e;let t=new Float32Array(e.length*4);for(let n=0;n<e.length;n++)t[4*n]=e[n].r,t[4*n+1]=e[n].g,t[4*n+2]=e[n].b,t[4*n+3]=e[n].a;this.gl.uniform4fv(this.location,t)}}},ff=class extends sf{constructor(e,t){super(e,t),this.current=[]}set(e){if(e!=this.current){this.current=e;let t=new Float32Array(e);this.gl.uniform1fv(this.location,t)}}},pf=new Float32Array(16),mf=class extends sf{constructor(e,t){super(e,t),this.current=pf}set(e){if(e[12]!==this.current[12]||e[0]!==this.current[0]){this.current=e,this.gl.uniformMatrix4fv(this.location,!1,e);return}for(let t=1;t<16;t++)if(e[t]!==this.current[t]){this.current=e,this.gl.uniformMatrix4fv(this.location,!1,e);break}}};function hf(e){return[Xd(255*e.r,255*e.g),Xd(255*e.b,255*e.a)]}var gf=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 uf(e,t):new X(e,t)}},_f=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 lf(e,t):new X(e,t)}},vf=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 gu(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 gu(0,i),n,r);this._setPaintValue(e,t,a)}_setPaintValue(e,t,n){if(this.type===`color`){let r=hf(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()}},yf=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 gu(this.zoom,n),t,{},n.canonical,[],n.formattedSection),i=this.expression.evaluate(new gu(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 gu(this.zoom,i),n,r),o=this.expression.evaluate(new gu(this.zoom+1,i),n,r);this._setPaintValue(e,t,a,o)}_setPaintValue(e,t,n,r){if(this.type===`color`){let i=hf(n),a=hf(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=P(this.expression.interpolationFactor(n,this.zoom,this.zoom+1),0,1);e.set(r)}getBinding(e,t,n){return new X(e,t)}},bf=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()}},xf=class extends bf{getPositions(e){return e.imagePositions}getPositionIds(e){return e.patterns?.[this.layerId]}getVertexAttributes(){return Zd.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)}},Sf=class extends bf{getPositions(e){return e.dashPositions}getPositionIds(e){return e.dashes?.[this.layerId]}getVertexAttributes(){return Qd.members}emplace(e,t,n,r){e.emplace(t,0,n.y,n.height,n.width,0,r.y,r.height,r.width)}},Cf=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 Cu)||!ec(a.property.specification))continue;let o=Tf(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 _f(s.value,o):new gf(s.value,o,c),r.push(`/u_${i}`);else if(s.kind===`source`||d){let n=Df(i,c,`source`);this.binders[i]=d?i===`line-dasharray`?new Sf(s,c,l,t,n,e.id):new xf(s,c,l,t,n,e.id):new vf(s,o,c,n),r.push(`/a_${i}`)}else{let e=Df(i,c,`composite`);this.binders[i]=new yf(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 vf||t instanceof yf?t.maxValue:0}populatePaintArrays(e,t,n){for(let r in this.binders){let i=this.binders[r];(i instanceof vf||i instanceof yf||i instanceof bf)&&i.populatePaintArray(e,t,n)}}setConstantPatternPositions(e,t){for(let n in this.binders){let r=this.binders[n];r instanceof _f&&r.setConstantPatternPositions(e,t)}}setConstantDashPositions(e,t){for(let n in this.binders){let r=this.binders[n];r instanceof _f&&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 vf||s instanceof yf||s instanceof bf)&&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 gf||n instanceof _f)&&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 vf||n instanceof yf)for(let t of n.paintVertexAttributes)e.push(t.name);else if(n instanceof bf){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 gf||n instanceof _f||n instanceof yf)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 gf||i instanceof _f||i instanceof yf){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 bf){let t=e.fromScale===2?n.zoomInPaintVertexBuffer:n.zoomOutPaintVertexBuffer;t&&this._buffers.push(t)}else(n instanceof vf||n instanceof yf)&&n.paintVertexBuffer&&this._buffers.push(n.paintVertexBuffer)}}upload(e){for(let t in this.binders){let n=this.binders[t];(n instanceof vf||n instanceof yf||n instanceof bf)&&n.upload(e)}this.updatePaintBuffers()}destroy(){for(let e in this.binders){let t=this.binders[e];(t instanceof vf||t instanceof yf||t instanceof bf)&&t.destroy()}}},wf=class{constructor(e,t,n=()=>!0){this.programConfigurations={};for(let r of e)this.programConfigurations[r.id]=new Cf(r,t,n);this.needsUpload=!1,this._featureMap=new nf,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 Tf(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 Ef(e){return{"line-pattern":{source:Fd,composite:Fd},"fill-pattern":{source:Fd,composite:Fd},"fill-extrusion-pattern":{source:Fd,composite:Fd},"line-dasharray":{source:Id,composite:Id}}[e]}function Df(e,t,n){let r={color:{source:Xu,composite:md},number:{source:ld,composite:Xu}};return Ef(e)?.[n]||r[t][n]}K(`ConstantBinder`,gf),K(`CrossFadedConstantBinder`,_f),K(`SourceExpressionBinder`,vf),K(`CrossFadedPatternBinder`,xf),K(`CrossFadedDasharrayBinder`,Sf),K(`CompositeExpressionBinder`,yf),K(`ProgramConfiguration`,Cf,{omit:[`_buffers`]}),K(`ProgramConfigurationSet`,wf);var Of=2**14-1,kf=-Of-1;function Af(e){let t=N/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=P(e,kf,Of),n.y=P(r,kf,Of),(e<n.x||e>n.x+1||r<n.y||r>n.y+1)&&Rn(`Geometry exceeds allowed extent, reduce your vector tile buffer size`)}return n}function jf(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?Af(e):[]}}var Mf=-32768;function Nf(e,t,n,r,i){e.emplaceBack(Mf+t*8+r,Mf+n*8+i)}var Pf=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 Ad,this.indexArray=new Wd,this.segments=new Yd,this.programConfigurations=new wf(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 gu(this.zoom),u=this.layers[0]._featureFilter.needGeometry;for(let{feature:t,id:r,index:s,sourceLayerIndex:c}of e){let e=jf(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:Af(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,Jd),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++)Nf(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})}};K(`CircleBucket`,Pf,{omit:[`layers`]});function Ff(e,t){for(let n of e)if(Gf(t,n))return!0;for(let n of t)if(Gf(e,n))return!0;return Bf(e,t)}function If(e,t,n){return Gf(e,t)?!0:Hf(t,e,n)}function Lf(e,t){if(e.length===1)return Wf(t,e[0]);for(let n of t)for(let t of n)if(Gf(e,t))return!0;for(let n of e)if(Wf(t,n))return!0;for(let n of t)if(Bf(e,n))return!0;return!1}function Rf(e,t,n){for(let r of t){if(e.length>=3){for(let t of r)if(Gf(e,t))return!0}if(zf(e,r,n))return!0}return!1}function zf(e,t,n){if(e.length>1){if(Bf(e,t))return!0;for(let r of t)if(Hf(r,e,n))return!0}for(let r of e)if(Hf(r,t,n))return!0;return!1}function Bf(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(Vf(r,i,n,a))return!0}}return!1}function Vf(e,t,n,r){return zn(e,n,r)!==zn(t,n,r)&&zn(e,t,n)!==zn(e,t,r)}function Hf(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(Uf(e,i,a)<r)return!0}return!1}function Uf(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 Wf(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 Gf(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 Kf(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 j(t,n),new j(t,i),new j(r,i),new j(r,n)];if(e.length>2){for(let t of a)if(Gf(e,t))return!0}for(let t=0;t<e.length-1;t++){let n=e[t],r=e[t+1];if(qf(n,r,a))return!0}return!1}function qf(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=zn(e,t,n[0]);return a!==zn(e,t,n[1])||a!==zn(e,t,n[2])||a!==zn(e,t,n[3])}function Jf(e,t,n){let r=t.paint.get(e).value;return r.kind===`constant`?r.value:n.programConfigurations.get(t.id).getMaxValue(e)}function Yf(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function Xf(e,t,n,r,i){if(!t[0]&&!t[1])return e;let a=j.convert(t)._mult(i);n===`viewport`&&a._rotate(-r);let o=[];for(let t of e)o.push(t.sub(a));return o}function Zf(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 Qf(e,t){let n=[];for(let r of e){let e=Zf(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 j(0,0):r.sub(a)._unit()._perp(),c=n===e.length-1?new j(0,0):o.sub(r)._unit()._perp(),l=s._add(c)._unit(),u=l.x*c.x+l.y*c.y;u!==0&&l._mult(1/u),i.push(l._mult(t)._add(r))}n.push(i)}return n}function $f({queryGeometry:e,size:t},n){return If(e,n,t)}function ep({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i},a){return If(e,a,t*(n.projectTileCoordinates(a.x,a.y,r,i?.(a.x,a.y)).signedDistanceFromCamera/n.cameraToCenterDistance))}function tp({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 If(e,ip(a,n,r,i),s)}function np({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i},a){return If(e,ip(a,n,r,i),t)}function rp({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i,pitchAlignment:a=`map`,pitchScale:o=`map`},s){let c=a===`map`?o===`map`?$f:ep:o===`map`?tp:np,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 ip(e,t,n,r){let i=t.projectTileCoordinates(e.x,e.y,n,r?.(e.x,e.y)).point;return new j((i.x*.5+.5)*t.width,(-i.y*.5+.5)*t.height)}function ap(e,t,n,r){return e.map(e=>ip(e,t,n,r))}var op,sp=()=>op||=new Au({"circle-sort-key":new J(B.layout_circle[`circle-sort-key`],`circle-sort-key`)}),cp,lp=()=>cp||=new Au({"circle-radius":new J(B.paint_circle[`circle-radius`],`circle-radius`),"circle-color":new J(B.paint_circle[`circle-color`],`circle-color`),"circle-blur":new J(B.paint_circle[`circle-blur`],`circle-blur`),"circle-opacity":new J(B.paint_circle[`circle-opacity`],`circle-opacity`),"circle-translate":new q(B.paint_circle[`circle-translate`],`circle-translate`),"circle-translate-anchor":new q(B.paint_circle[`circle-translate-anchor`],`circle-translate-anchor`),"circle-pitch-scale":new q(B.paint_circle[`circle-pitch-scale`],`circle-pitch-scale`),"circle-pitch-alignment":new q(B.paint_circle[`circle-pitch-alignment`],`circle-pitch-alignment`),"circle-stroke-width":new J(B.paint_circle[`circle-stroke-width`],`circle-stroke-width`),"circle-stroke-color":new J(B.paint_circle[`circle-stroke-color`],`circle-stroke-color`),"circle-stroke-opacity":new J(B.paint_circle[`circle-stroke-opacity`],`circle-stroke-opacity`)}),up={get paint(){return lp()},get layout(){return sp()}},dp=e=>e.type===`circle`,fp=class extends Nu{constructor(e,t){super(e,up,t)}createBucket(e){return new Pf(e)}queryRadius(e){let t=e;return Jf(`circle-radius`,this,t)+Jf(`circle-stroke-width`,this,t)+Yf(this.paint.get(`circle-translate`))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,unwrappedTileID:o,getElevation:s}){let c=Xf(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=ap(c,i,o,s),p=l),rp({queryGeometry:f,size:p,transform:i,unwrappedTileID:o,getElevation:s,pitchAlignment:d,pitchScale:u},r)}},pp=class extends Pf{};K(`HeatmapBucket`,pp,{omit:[`layers`]});var mp,hp=()=>mp||=new Au({"heatmap-radius":new J(B.paint_heatmap[`heatmap-radius`],`heatmap-radius`),"heatmap-weight":new J(B.paint_heatmap[`heatmap-weight`],`heatmap-weight`),"heatmap-intensity":new q(B.paint_heatmap[`heatmap-intensity`],`heatmap-intensity`),"heatmap-color":new ku(B.paint_heatmap[`heatmap-color`],`heatmap-color`),"heatmap-opacity":new q(B.paint_heatmap[`heatmap-opacity`],`heatmap-opacity`)}),gp={get paint(){return hp()}};function _p(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 vp(e,{width:t,height:n},r){if(t===e.width&&n===e.height)return;let i=_p({},{width:t,height:n},r);yp(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 yp(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 bp=class e{constructor(e,t){_p(this,e,1,t)}resize(e){vp(this,e,1)}clone(){return new e({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(e,t,n,r,i){yp(e,t,n,r,i,1)}},xp=class e{constructor(e,t){_p(this,e,4,t)}resize(e){vp(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){yp(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 Sp(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}K(`AlphaImage`,bp),K(`RGBAImage`,xp);function Cp(e){let t={},n=e.resolution||256,r=e.clips?e.clips.length:1,i=e.image||new xp({width:n,height:r});if(!On(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 wp=`big-fb`,Tp=e=>e.type===`heatmap`,Ep=class extends Nu{createBucket(e){return new pp(e)}constructor(e,t){super(e,gp,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=Cp({expression:e,evaluationKey:`heatmapDensity`,image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbos.has(`big-fb`)&&this.heatmapFbos.delete(wp)}queryRadius(e){return Jf(`heatmap-radius`,this,e)}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,unwrappedTileID:o,getElevation:s}){return rp({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()}},Dp,Op=()=>Dp||=new Au({"hillshade-illumination-direction":new q(B.paint_hillshade[`hillshade-illumination-direction`],`hillshade-illumination-direction`),"hillshade-illumination-altitude":new q(B.paint_hillshade[`hillshade-illumination-altitude`],`hillshade-illumination-altitude`),"hillshade-illumination-anchor":new q(B.paint_hillshade[`hillshade-illumination-anchor`],`hillshade-illumination-anchor`),"hillshade-exaggeration":new q(B.paint_hillshade[`hillshade-exaggeration`],`hillshade-exaggeration`),"hillshade-shadow-color":new q(B.paint_hillshade[`hillshade-shadow-color`],`hillshade-shadow-color`),"hillshade-highlight-color":new q(B.paint_hillshade[`hillshade-highlight-color`],`hillshade-highlight-color`),"hillshade-accent-color":new q(B.paint_hillshade[`hillshade-accent-color`],`hillshade-accent-color`),"hillshade-method":new q(B.paint_hillshade[`hillshade-method`],`hillshade-method`),resampling:new q(B.paint_hillshade.resampling,`resampling`)}),kp={get paint(){return Op()}},Ap=e=>e.type===`hillshade`,jp=class extends Nu{constructor(e,t){super(e,kp,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(Qn);return{directionRadians:e.map(Qn),altitudeRadians:a,shadowColor:r,highlightColor:n}}hasOffscreenPass(){return this.paint.get(`hillshade-exaggeration`)!==0&&!this.isHidden()}},Mp,Np=()=>Mp||=new Au({"color-relief-opacity":new q(B[`paint_color-relief`][`color-relief-opacity`],`color-relief-opacity`),"color-relief-color":new ku(B[`paint_color-relief`][`color-relief-color`],`color-relief-color`),resampling:new q(B[`paint_color-relief`].resampling,`resampling`)}),Pp={get paint(){return Np()}};function Fp(e){return`data`in e}var Ip=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),Fp(e)){o.pixelStoreUnpackPremultiplyAlpha.set(!1);let{data:t}=e;c&&t&&(t=Sp(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 Fp(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};Fp(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&&!(Fp(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=Sp(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=Sp(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}},Lp=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)){Rn(`"${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 Rp(e,this.getUnpackVector())}getPixels(){return new xp({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 Rp(e,t){let n=t[0],r=t[1],i=t[2],a=t[3],o=[n,r,i].filter(e=>e!==0);if(o.length===0)return{r:0,g:0,b:0};let s=Math.min(...o),c=Math.round((e+a)/s),l=e=>e===0?0:Math.floor(c*s/e)%256;return{r:l(n),g:l(r),b:l(i)}}K(`DEMData`,Lp);var zp=e=>e.type===`color-relief`,Bp=class extends Nu{constructor(e,t){super(e,Pp,t)}_createColorRamp(e){let t={elevationStops:[],colorStops:[]},n=this._transitionablePaint._values[`color-relief-color`].value.expression;if(n instanceof wc&&n._styleExpression.expression instanceof Va){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=[G.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 Rn(`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 xp({width:r.colorStops.length,height:1}),a=new xp({width:r.colorStops.length,height:1});for(let e=0;e<r.elevationStops.length;e++){let t=Rp(r.elevationStops[e],n);a.setPixel(0,e,new G(t.r/255,t.g/255,t.b/255,1)),i.setPixel(0,e,r.colorStops[e])}return this.colorRampTextures={elevationTexture:new Ip(e,a,e.gl.RGBA),colorTexture:new Ip(e,i,e.gl.RGBA)},this.colorRampTextures}hasOffscreenPass(){return!this.isHidden()&&!!this.colorRampTextures}},Vp=Hu([{name:`a_pos`,components:2,type:`Int16`}],4),Hp=Vp.members;Vp.size,Vp.alignment;function Up(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 Wp(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 Gp=new Set,Kp=!1;function qp(e,t,n=2){let r=t&&t.length,i=r?t[0]*n:e.length;Gp.size&&Gp.clear();let a=Jp(e,0,i,n,!0),o=[];if(!a||a.next===a.prev)return o;let s=0,c=0,l=0;if(r&&(a=nm(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 Xp(a,o,s,c,l),o}function Jp(e,t,n,r,i){let a=null;if(i===zm(e,t,n,r)>0)for(let i=t;i<n;i+=r)a=Im(i/r|0,e[i],e[i+1],a);else for(let i=n-r;i>=t;i-=r)a=Im(i/r|0,e[i],e[i+1],a);return a&&km(a,a.next)&&(Lm(a),a=a.next),a}function Yp(e,t=e){let n=t===e,r=e,i;do i=!1,r!==r.next&&(Gp.size===0||!Gp.has(r))&&(km(r,r.next)||Om(r.prev,r,r.next)===0)?((n||r===t)&&(t=r.prev),Kp=!0,Lm(r),r=r.prev,i=!0):(n||r!==t)&&(r=r.next,i=!n);while(i||r!==t);return t}function Xp(e,t,n,r,i){i&&xm(e,n,r,i);let a=e,o=!1;for(;e.prev!==e.next;){let s=e.prev,c=e.next;if(Om(s,e,c)<0&&(i?Qp(e,n,r,i):Zp(e))){t.push(s.i,e.i,c.i),Lm(e),e=c,a=c;continue}if(e=c,e===a){if(Kp=!1,e=Yp(e),Kp){a=e;continue}if(!o){e=$p(e,t),a=e,o=!0;continue}em(e,t,n,r,i);break}}}function Zp(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)&&Em(i,s,a,c,o,l,m.x,m.y)&&Om(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function Qp(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),_=wm(p,m,t,n,r),v=wm(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)&&Em(s,u,c,d,l,f,y.x,y.y)&&Om(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)&&Em(s,u,c,d,l,f,b.x,b.y)&&Om(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function $p(e,t){let n=e,r=!1;do{let i=n.prev,a=n.next.next;Am(i,n,n.next,a,!1)&&Nm(i,a)&&Nm(a,i)&&(t.push(i.i,n.i,a.i),Lm(n),Lm(n.next),n=e=a,r=!0),n=n.next}while(n!==e);return r?Yp(n):n}function em(e,t,n,r,i){let a=e;do{let e=a.next.next;for(;e!==a.prev;){if(a.i!==e.i&&Dm(a,e)){let o=Fm(a,e);a=Yp(a,a.next),o=Yp(o,o.next),Xp(a,t,n,r,i),Xp(o,t,n,r,i);return}e=e.next}a=a.next}while(a!==e)}var tm=!1;function nm(e,t,n,r){let i=[];for(let n=0,a=t.length;n<a;n++){let o=Jp(e,t[n]*r,n<a-1?t[n+1]*r:e.length,r,!1);o===o.next&&Gp.add(o),i.push(Tm(o))}i.sort(rm),lm(e.length/r,t.length),um(n,n),tm=!0;for(let e=0;e<i.length;e++)n=im(i[e],n);return tm=!1,Yp(n)}function rm(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 im(e,t){let n=mm(e,t);if(!n)return t;let r=Fm(n,e),i=r.next;return um(n,i.next),Yp(r,r.next),Yp(n,n.next)}var am=new Float64Array,om=0,sm=[],cm=[];function lm(e,t){let n=Math.ceil((e+2*t)/16)+t+2;am.length<n*4&&(am=new Float64Array(n*4)),om=0}function um(e,t){let n=e;do{let e=om++;sm[e]=n;let r=n.x,i=n.y,a=n.x,o=n.y,s=0;do{let t=n.next;n.z=e,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);cm[e]=n;let c=e*4;am[c]=r,am[c+1]=i,am[c+2]=a,am[c+3]=o}while(n!==t)}function dm(e,t){let n=e.z*4;t.x<am[n]&&(am[n]=t.x),t.y<am[n+1]&&(am[n+1]=t.y),t.x>am[n+2]&&(am[n+2]=t.x),t.y>am[n+3]&&(am[n+3]=t.y)}function fm(e){let t=cm[e];for(;t.prev.next!==t;)t=t.next;return cm[e]=t,t}function pm(e){let t=sm[e];for(;t.prev.next!==t;)t=t.next;return sm[e]=t,t}function mm(e,t){let n=t,r=e.x,i=e.y,a=-1/0,o;if(km(e,n))return n;for(let t=0,s=0;t<om;t++,s+=4){if(i<am[s+1]||i>am[s+3]||am[s]>r||am[s+2]<=a)continue;let c=fm(t);n=pm(t);do{if(n.prev.next===n){if(km(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<om;t++,f+=4){if(am[f+2]<s||am[f]>r||am[f+3]<l||am[f+1]>u)continue;let p=fm(t);n=pm(t);do{if(n.prev.next===n&&r>=n.x&&n.x>=s&&r!==n.x&&Em(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);(Nm(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&&hm(o,n)))&&(o=n,d=t)}n=n.next}while(n!==p)}return o}function hm(e,t){return Om(e.prev,e,t.prev)<0&&Om(t.next,e,e.next)<0}var gm=[],_m=[],vm=new Uint32Array,ym=new Uint32Array,bm=new Uint32Array(256);function xm(e,t,n,r){let i=e,a=0;do i.z=wm(i.x,i.y,t,n,r),gm[a++]=i,i=i.next;while(i!==e);Sm(a);let o=null;for(let e=0;e<a;e++){let t=gm[e];t.prevZ=o,o&&(o.nextZ=t),o=t}o.nextZ=null,gm.fill(null,0,a),_m.fill(null,0,a)}function Sm(e){if(e<=32){for(let t=1;t<e;t++){let e=gm[t],n=e.z,r=t-1;for(;r>=0&&gm[r].z>n;)gm[r+1]=gm[r],r--;gm[r+1]=e}return}vm.length<e&&(vm=new Uint32Array(e),ym=new Uint32Array(e),_m=Array(e));for(let t=0;t<e;t++)vm[t]=gm[t].z;Cm(e,gm,vm,_m,ym,0),Cm(e,_m,ym,gm,vm,8),Cm(e,gm,vm,_m,ym,16),Cm(e,_m,ym,gm,vm,24)}function Cm(e,t,n,r,i,a){bm.fill(0);for(let t=0;t<e;t++)bm[n[t]>>>a&255]++;let o=0;for(let e=0;e<256;e++){let t=bm[e];bm[e]=o,o+=t}for(let o=0;o<e;o++){let e=n[o],s=bm[e>>>a&255]++;r[s]=t[o],i[s]=e}}function wm(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 Tm(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 Em(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 Dm(e,t){let n=km(e,t)&&Om(e.prev,e,e.next)>0&&Om(t.prev,t,t.next)>0;return e.next.i!==t.i&&(n||Nm(e,t)&&Nm(t,e)&&(Om(e.prev,e,t.prev)!==0||Om(e,t.prev,t)!==0))&&!Mm(e,t)&&(n||Pm(e,t))}function Om(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function km(e,t){return e.x===t.x&&e.y===t.y}function Am(e,t,n,r,i=!0){let a=Om(e,t,n),o=Om(e,t,r),s=Om(n,r,e),c=Om(n,r,t);return(a>0&&o<0||a<0&&o>0)&&(s>0&&c<0||s<0&&c>0)?!0:i?!!(a===0&&jm(e,n,t)||o===0&&jm(e,r,t)||s===0&&jm(n,e,r)||c===0&&jm(n,t,r)):!1}function jm(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 Mm(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&&Am(o,s,e,t))return!0;o=s}while(o!==e);return!1}function Nm(e,t){return Om(e.prev,e,e.next)<0?Om(e,t,e.next)>=0&&Om(e,e.prev,t)>=0:Om(e,t,e.prev)<0||Om(e,e.next,t)<0}function Pm(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 Fm(e,t){let n=Rm(e.i,e.x,e.y),r=Rm(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 Im(e,t,n,r){let i=Rm(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 Lm(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),tm&&dm(e.prev,e.next)}function Rm(e,t,n){return{i:e,x:t,y:n,prev:null,next:null,z:0,prevZ:null,nextZ:null}}function zm(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 Bm=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)}},Vm=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 Bm(0,0),line:new Bm(0,0),tile:new Bm(0,0),stencil:new Bm(0,0),circle:1})}};K(`SubdivisionGranularityExpression`,Bm),K(`SubdivisionGranularitySetting`,Vm);var Hm=-32768,Um=32767,Wm=class{constructor(e,t){this._vertexBuffer=[],this._vertexDictionary=new Map,this._used=!1,this._granularity=e,this._granularityCellSize=N/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 Xm(this._vertexBuffer,Ym(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);Zm(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(Km(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&&qm(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=N,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,Hm),f===0&&m===0&&this._generatePoleQuad(e,s,c,d,p,Hm),m===0&&u===0&&this._generatePoleQuad(e,c,a,p,l,Hm)),n&&(u===i&&f===i&&this._generatePoleQuad(e,a,s,l,d,Um),f===i&&m===i&&this._generatePoleQuad(e,s,c,d,p,Um),m===i&&u===i&&this._generatePoleQuad(e,c,a,p,l,Um))}}_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}=Jm(e),i=this._initializeVertices(n),a;try{let e=qp(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 Gm(e,t,n,r=!0){return new Wm(n,t).subdividePolygonInternal(e,r)}function Km(e,t,n=!1){if(!e||e.length<1||e.length<2)return[];let r=n&&qm(e);if(t<2)return r?[...e,e[0]]:[...e];let i=Math.floor(N/t),a=[];a.push(new j(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,l=r.x,u=r.y,d=s!==l,f=c!==u;if(!d&&!f)continue;let p=l-s,m=u-c,h=Math.abs(p),g=Math.abs(m),_=s,v=c;for(;;){let e=p>0?(Math.floor(_/i)+1)*i:(Math.ceil(_/i)-1)*i,t=m>0?(Math.floor(v/i)+1)*i:(Math.ceil(v/i)-1)*i,n=Math.abs(_-e),r=Math.abs(v-t),o=Math.abs(_-l),s=Math.abs(v-u),c=d?n/h:1/0,y=f?r/g:1/0;if((o<=n||!d)&&(s<=r||!f))break;if(c<y&&d||!f){_=e,v+=m*c;let t=new j(_,Math.round(v));(a[a.length-1].x!==t.x||a[a.length-1].y!==t.y)&&a.push(t)}else{_+=p*y,v=t;let e=new j(Math.round(_),v);(a[a.length-1].x!==e.x||a[a.length-1].y!==e.y)&&a.push(e)}}let y=new j(l,u);(a[a.length-1].x!==y.x||a[a.length-1].y!==y.y)&&a.push(y)}return a}function qm(e){return!e[0].equals(e[e.length-1])}function Jm(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 Ym(e,t){let n=Array(e.length);for(let r=0;r<e.length;r++)n[r]=t[e[r]];return n}function Xm(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 Zm(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 Qm(e,t,n,r,i,a,o,s,c){let l=i.length/2,u=o&&s&&c;if(l<Yd.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 eh(t,n,r,i,a,e),u&&th(o,n,s,i,c,e),t.forceNewSegmentOnNextPrepare(),o?.forceNewSegmentOnNextPrepare()}function $m(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 eh(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>Yd.MAX_VERTEX_ARRAY_LENGTH&&(l=e.createNewSegment(t,n),c=s.count,h=!0,g=!0,_=!0,u=0);let y=$m(o,r,a,s,f,h,l),b=$m(o,r,a,s,p,g,l),x=$m(o,r,a,s,m,_,l);n.emplaceBack(u+y-c,u+b-c,u+x-c),l.primitiveLength++}}function th(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>Yd.MAX_VERTEX_ARRAY_LENGTH&&(l=e.createNewSegment(t,n),c=s.count,m=!0,h=!0,u=0);let _=$m(o,r,a,s,f,m,l),v=$m(o,r,a,s,p,h,l);n.emplaceBack(u+_-c,u+v-c),l.primitiveLength++}}var nh=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 jd,this.indexArray=new Wd,this.indexArray2=new Gd,this.programConfigurations=new wf(e.layers,e.zoom),this.segments=new Yd,this.segments2=new Yd,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){this.hasDependencies=Up(`fill`,this.layers,t);let r=this.layers[0].layout.get(`fill-sort-key`),i=!r.isConstant(),a=[],o=new gu(this.zoom),s=this.layers[0]._featureFilter.needGeometry;for(let{feature:c,id:l,index:u,sourceLayerIndex:d}of e){let e=jf(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:Af(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=Wp(`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&&Rn(`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,Hp),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 Ja(t,500)){let t=Gm(e,r,a.fill.getGranularityForZoomLevel(r.z)),n=this.layoutVertexArray;Qm((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})}};K(`FillBucket`,nh,{omit:[`layers`,`patternFeatures`]});var rh,ih=()=>rh||=new Au({"fill-sort-key":new J(B.layout_fill[`fill-sort-key`],`fill-sort-key`)}),ah,oh=()=>ah||=new Au({"fill-antialias":new q(B.paint_fill[`fill-antialias`],`fill-antialias`),"fill-opacity":new J(B.paint_fill[`fill-opacity`],`fill-opacity`),"fill-layer-opacity":new q(B.paint_fill[`fill-layer-opacity`],`fill-layer-opacity`),"fill-color":new J(B.paint_fill[`fill-color`],`fill-color`),"fill-outline-color":new J(B.paint_fill[`fill-outline-color`],`fill-outline-color`),"fill-translate":new q(B.paint_fill[`fill-translate`],`fill-translate`),"fill-translate-anchor":new q(B.paint_fill[`fill-translate-anchor`],`fill-translate-anchor`),"fill-pattern":new Du(B.paint_fill[`fill-pattern`],`fill-pattern`)}),sh={get paint(){return oh()},get layout(){return ih()}},ch=e=>e.type===`fill`,lh=class extends Nu{constructor(e,t){super(e,sh,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 nh(e)}queryRadius(){return Yf(this.paint.get(`fill-translate`))}queryIntersectsFeature({queryGeometry:e,geometry:t,transform:n,pixelsToTileUnits:r}){return Lf(Xf(e,this.paint.get(`fill-translate`),this.paint.get(`fill-translate-anchor`),-n.bearingInRadians,r),t)}isTileClipped(){return!0}},uh=Hu([{name:`a_pos`,components:2,type:`Int16`},{name:`a_normal_ed`,components:4,type:`Int16`}],4),dh=Hu([{name:`a_centroid`,components:2,type:`Int16`}],4),fh=uh.members;uh.size,uh.alignment;var ph=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 j(this.minX,this.minY))),n.extend(t(new j(this.maxX,this.minY))),n.extend(t(new j(this.minX,this.maxY))),n.extend(t(new j(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}},mh=ph.fromPoints([new j(0,0),new j(N,N)]);function hh(e,t){return e.x===t.x&&(e.x<0||e.x>8192)||e.y===t.y&&(e.y<0||e.y>8192)}function gh(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 _h=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 j(o,s)];else if(i===2)o+=e.readSVarint(),s+=e.readSVarint(),r&&r.push(new j(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=vh(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}};_h.types=[`Unknown`,`Point`,`LineString`,`Polygon`];function vh(e){let t=e.length;if(t<=1)return[e];let n=[],r,i;for(let a=0;a<t;a++){let t=yh(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 yh(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 bh=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(xh(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 _h(this._pbf,t,this.extent,this._keys,this._values)}};function xh(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 Sh=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 bh(e,e.readVarint()+e.pos);t.length&&(n[t.name]=t)}else e.skip(t)}this.layers=n}},Ch=6371008.8,Q=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(wn(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 Ch*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>]")}},wh=2*Math.PI*Ch;function Th(e){return wh*Math.cos(e*Math.PI/180)}function Eh(e){return(180+e)/360}function Dh(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function Oh(e,t){return e/Th(t)}function kh(e){return e*360-180}function Ah(e){let t=180-e*360;return 360/Math.PI*Math.atan(Math.exp(t*Math.PI/180))-90}function jh(e,t){return e*Th(Ah(t))}function Mh(e){return 1/Math.cos(e*Math.PI/180)}var Nh=class e{constructor(e,t,n=0){this.x=+e,this.y=+t,this.z=+n}static fromLngLat(t,n=0){let r=Q.convert(t);return new e(Eh(r.lng),Dh(r.lat),Oh(n,r.lat))}toLngLat(){return new Q(kh(this.x),Ah(this.y))}toAltitude(){return jh(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/wh*Mh(Ah(this.y))}},Ph=89.25;function Fh(e,t,n){let r=1/(1<<n.z);return new Nh(e/N*r+n.x*r,t/N*r+n.y*r)}function Ih(e,t,n){return Fh(e,t,n).toLngLat()}function Lh(e,t){let n=P(t.lat,-85.051129,ir);return new j(Eh(t.lng)*e,Dh(n)*e)}function Rh(e,t){return new Nh(t.x/e,t.y/e).toLngLat()}function zh(e){return e.cameraToCenterDistance*Math.min(Math.tan(Qn(90-e.pitch))*.85,Math.tan(Qn(Ph-e.pitch)))}function Bh(e,t){let n=e.canonical,r=t/An(n.z),i=n.x+2**n.z*e.wrap,a=new Float64Array(16);return Ye(a),M(a,a,[i*r,n.y*r,0]),Qe(a,a,[r/N,r/N,1]),a}function Vh(e,t,n,r,i){let a=Nh.fromLngLat(e,t),o=i*Oh(1,e.lat),{x:s,y:c,z:l}=Uh(n,r),u=o*-s,d=o*-c,f=o*l;return new Nh(a.x+u,a.y+d,a.z+f)}function Hh(e,t=e.center){let n=Oh(1,t.lat)*e.worldSize;return Vh(t,e.elevation,e.pitch,e.bearing,e.cameraToCenterDistance/n)}function Uh(e,t){let n=Qn(e),r=Qn(t),i=Math.cos(-n),a=Math.sin(n);return{x:a*Math.sin(r),y:-a*Math.cos(r),z:i}}function Wh(e,t){return t<=0||!e||e.length===0?e:e.map(e=>Yh(e,t))}function Gh(e,t){let n=Ih(N/2,N/2,t),r=Nh.fromLngLat(n).meterInMercatorCoordinateUnits(),i=(1<<t.z)*N;return e*r*i}var Kh=Math.cos(35*Math.PI/180);function qh(e){let t=[null];for(let n=1;n<e.length;n++){let r=e[n].sub(e[n-1]),i=!hh(e[n],e[n-1])&&r.mag()>0;t.push(i?r._perp():null)}let n=e.length-1,r=n>1&&e[0].equals(e[n]),i=[null];for(let e=1;e<=n;e++){let a=t[e];if(!a){i.push(null);continue}let o=r&&e===1?t[n]:t[e-1],s=r&&e===n?t[1]:t[e+1];i.push({start:Jh(a,o),end:Jh(a,s)})}return i}function Jh(e,t){if(!t)return e.unit();let n=e.mag(),r=t.mag();return e.x*t.x+e.y*t.y<Kh*n*r||n>=2*r?e.unit():r>=2*n?t.unit():e.add(t)._unit()}function Yh(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=hh(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=hh(s,c);a||l?i.push(s.clone()):Zh(i,o,s,c,t),a=l}let o=Xh(i);return o.length<3?e:(n&&o.push(o[0].clone()),o)}function Xh(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 Zh(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 Qh=8192;function $h(e,t,n,r,i,a,o,s){e.emplaceBack(t,n,Math.floor(r*Qh)*2+o,i*Qh*2,a*Qh*2,Math.round(s))}var eg=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 Md,this.centroidVertexArray=new Dd,this.indexArray=new Wd,this.programConfigurations=new wf(e.layers,e.zoom),this.segments=new Yd,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){this.features=[],this.hasDependencies=Up(`fill-extrusion`,this.layers,t);let r=new gu(this.zoom),i=this.layers[0],a=i.layout.get(`fill-extrusion-rounded-corner-distance`),o=a>0?Gh(a,n):0,s=i._featureFilter.needGeometry;for(let{feature:a,id:c,index:l,sourceLayerIndex:u}of e){let e=jf(a,s);if(!i._featureFilter.filter(r,e,n))continue;let d={id:c,sourceLayerIndex:u,index:l,geometry:Wh(s?e.geometry:Af(a),o),properties:a.properties,type:a.type,patterns:{}};this.hasDependencies?this.features.push(Wp(`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,fh),this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,dh.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 Ja(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||gh(r[0]))return;for(let t of r)t.length!==0&&tg(e,t);let a={segment:this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray)},o=i.fill.getGranularityForZoomLevel(t.z),s=_h.types[n.type]===`Polygon`;for(let e of r){if(e.length===0||gh(e))continue;let t=Km(e,o,s);this._generateSideFaces(t,a)}if(!s)return;let c=Gm(r,t,o,!1),l=this.layoutVertexArray;Qm((e,t)=>{$h(l,e,t,0,0,1,1,0)},this.segments,this.layoutVertexArray,this.indexArray,c.verticesFlattened,c.indicesTriangles)}_generateSideFaces(e,t){let n=0,r=this.layers[0].layout.get(`fill-extrusion-rounded-corner-distance`)>0?qh(e):null;for(let i=1;i<e.length;i++){let a=e[i],o=e[i-1];if(hh(a,o)||r&&!r[i])continue;t.segment.vertexLength+4>Yd.MAX_VERTEX_ARRAY_LENGTH&&(t.segment=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let s=a.sub(o)._perp()._unit(),{start:c,end:l}=r?r[i]:{start:s,end:s},u=o.dist(a);n+u>32768&&(n=0),$h(this.layoutVertexArray,a.x,a.y,l.x,l.y,0,0,n),$h(this.layoutVertexArray,a.x,a.y,l.x,l.y,0,1,n),n+=u,$h(this.layoutVertexArray,o.x,o.y,c.x,c.y,0,0,n),$h(this.layoutVertexArray,o.x,o.y,c.x,c.y,0,1,n);let d=t.segment.vertexLength;this.indexArray.emplaceBack(d,d+2,d+1),this.indexArray.emplaceBack(d+1,d+2,d+3),t.segment.vertexLength+=4,t.segment.primitiveLength+=2}}};function tg(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++)}}K(`FillExtrusionBucket`,eg,{omit:[`layers`,`features`]});var ng,rg=()=>ng||=new Au({"fill-extrusion-rounded-corner-distance":new q(B[`layout_fill-extrusion`][`fill-extrusion-rounded-corner-distance`],`fill-extrusion-rounded-corner-distance`)}),ig,ag=()=>ig||=new Au({"fill-extrusion-opacity":new q(B[`paint_fill-extrusion`][`fill-extrusion-opacity`],`fill-extrusion-opacity`),"fill-extrusion-color":new J(B[`paint_fill-extrusion`][`fill-extrusion-color`],`fill-extrusion-color`),"fill-extrusion-translate":new q(B[`paint_fill-extrusion`][`fill-extrusion-translate`],`fill-extrusion-translate`),"fill-extrusion-translate-anchor":new q(B[`paint_fill-extrusion`][`fill-extrusion-translate-anchor`],`fill-extrusion-translate-anchor`),"fill-extrusion-pattern":new Du(B[`paint_fill-extrusion`][`fill-extrusion-pattern`],`fill-extrusion-pattern`),"fill-extrusion-height":new J(B[`paint_fill-extrusion`][`fill-extrusion-height`],`fill-extrusion-height`),"fill-extrusion-base":new J(B[`paint_fill-extrusion`][`fill-extrusion-base`],`fill-extrusion-base`),"fill-extrusion-vertical-gradient":new q(B[`paint_fill-extrusion`][`fill-extrusion-vertical-gradient`],`fill-extrusion-vertical-gradient`)}),og={get paint(){return ag()},get layout(){return rg()}},sg=e=>e.type===`fill-extrusion`,cg=class extends Nu{constructor(e,t){super(e,og,t)}createBucket(e){return new eg(e)}queryRadius(){return Yf(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=Xf(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=pg(s,o,0),d=fg(r,l,c,o),f=d[0],p=d[1];return dg(f,p,u)}};function lg(e,t){return e.x*t.x+e.y*t.y}function ug(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=lg(s,s),d=lg(s,c),f=lg(c,c),p=lg(l,s),m=lg(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 dg(e,t,n){let r=1/0;Lf(n,t)&&(r=ug(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];Ff(n,c)&&(r=Math.min(r,ug(n,c)))}}return r!==1/0&&r}function fg(e,t,n,r){let i=[],a=[],o=r[8]*t,s=r[9]*t,c=r[10]*t,l=r[11]*t,u=r[8]*n,d=r[9]*n,f=r[10]*n,p=r[11]*n;for(let t of e){let e=[],n=[];for(let i of t){let t=i.x,a=i.y,m=r[0]*t+r[4]*a+r[12],h=r[1]*t+r[5]*a+r[13],g=r[2]*t+r[6]*a+r[14],_=r[3]*t+r[7]*a+r[15],v=m+o,y=h+s,b=g+c,x=_+l,S=m+u,C=h+d,w=g+f,T=_+p,E=new j(v/x,y/x);E.z=b/x,e.push(E);let D=new j(S/T,C/T);D.z=w/T,n.push(D)}i.push(e),a.push(n)}return[i,a]}function pg(e,t,n){let r=[];for(let i of e){let e=[i.x,i.y,n,1];Lt(e,e,t),r.push(new j(e[0]/e[3],e[1]/e[3]))}return r}var mg=Hu([{name:`a_pos_normal`,components:2,type:`Int16`},{name:`a_data`,components:4,type:`Uint8`},{name:`a_offset_normal`,components:2,type:`Int8`}],2),hg=mg.members;mg.size,mg.alignment;var gg=Hu([{name:`a_uv_x`,components:1,type:`Float32`},{name:`a_split_index`,components:1,type:`Float32`}]),_g=gg.members;gg.size,gg.alignment;var vg=Math.cos(75/2*(Math.PI/180)),yg=1/2,bg=2**14/yg,xg=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 Nd,this.layoutVertexArray2=new Pd,this.indexArray=new Wd,this.programConfigurations=new wf(e.layers,e.zoom),this.segments=new Yd,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){this.hasDependencies=Up(`line`,this.layers,t)||this.hasLineDasharray(this.layers);let r=this.layers[0].layout.get(`line-sort-key`),i=!r.isConstant(),a=[],o=new gu(this.zoom),s=this.layers[0]._featureFilter.needGeometry;for(let{feature:t,id:c,index:l,sourceLayerIndex:u}of e){let e=jf(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:Af(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?(Up(`line`,this.layers,t)?Wp(`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,_g)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,hg),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.geojsonvt_clip_start,end:+e.properties.geojsonvt_clip_end}}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=Km(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=_h.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*N/(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<vg&&h&&g,S=_.x*v.y-_.y*v.x>0,C=o.mult(Math.min(y,2)),w=P((y-3)/5,0,1);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 T=h&&g,E=T?n:l?`butt`:r;if(T&&E===`round`&&(y<a?E=`miter`:y<=2&&(E=`fakeround`)),E===`miter`&&y>i&&(E=`bevel`),E===`bevel`&&(y>2&&(E=`flipbevel`),y<i&&(E=`miter`)),h&&this.updateDistance(h,m),E===`miter`)o._mult(y),this.addCurrentVertex(m,o,0,0,p,!1,C);else if(E===`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,!1,C,w),this.addCurrentVertex(m,o.mult(-1),0,0,p,!1,C,w)}else if(E===`bevel`||E===`fakeround`){let e=-Math.sqrt(y*y-1),t=S?e:0,n=S?0:e;if(h&&this.addCurrentVertex(m,_,t,n,p,!1,C),E===`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,S?-C.x:C.x,S?-C.y:C.y,!1,S,p)}}g&&this.addCurrentVertex(m,v,-t,-n,p,!1,C)}else if(E===`butt`)this.addCurrentVertex(m,o,0,0,p,!1,C);else if(E===`square`){let e=h?1:-1;this.addCurrentVertex(m,o,e,e,p,!1,C)}else E===`round`&&(h&&(this.addCurrentVertex(m,_,0,0,p,!1,C,w),this.addCurrentVertex(m,_,1,1,p,!0,C,w)),g&&(this.addCurrentVertex(m,v,-1,-1,p,!0,C,w),this.addCurrentVertex(m,v,0,0,p,!1,C,w)));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,o=t,s=0){let c=t.x+t.y*n,l=t.y-t.x*n,u=-t.x+t.y*r,d=-t.y-t.x*r,f=o.x+(t.x-o.x)*s,p=o.y+(t.y-o.y)*s;this.addHalfVertex(e,c,l,f,p,a,!1,i),this.addHalfVertex(e,u,d,-f,-p,a,!0,i),this.distance>bg/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(e,t,n,r,i,a,o,s))}addHalfVertex({x:e,y:t},n,r,i,a,o,s,c){let l=(this.lineClips?this.scaledDistance*(bg-1):this.scaledDistance)*yg;if(this.layoutVertexArray.emplaceBack((e<<1)+ +!!o,(t<<1)+ +!!s,Math.round(63*n)+128,Math.round(63*r)+128,(l&63)<<2,l>>6,Math.round(63*i),Math.round(63*a)),this.lineClips){let e=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(e,this.lineClipsArray.length)}let u=c.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,u,this.e2),c.primitiveLength++),s?this.e2=u:this.e1=u}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}}}};K(`LineBucket`,xg,{omit:[`layers`,`patternFeatures`]});var Sg,Cg=()=>Sg||=new Au({"line-cap":new J(B.layout_line[`line-cap`],`line-cap`),"line-join":new J(B.layout_line[`line-join`],`line-join`),"line-miter-limit":new J(B.layout_line[`line-miter-limit`],`line-miter-limit`),"line-round-limit":new J(B.layout_line[`line-round-limit`],`line-round-limit`),"line-sort-key":new J(B.layout_line[`line-sort-key`],`line-sort-key`)}),wg,Tg=()=>wg||=new Au({"line-opacity":new J(B.paint_line[`line-opacity`],`line-opacity`),"line-layer-opacity":new q(B.paint_line[`line-layer-opacity`],`line-layer-opacity`),"line-color":new J(B.paint_line[`line-color`],`line-color`),"line-translate":new q(B.paint_line[`line-translate`],`line-translate`),"line-translate-anchor":new q(B.paint_line[`line-translate-anchor`],`line-translate-anchor`),"line-width":new J(B.paint_line[`line-width`],`line-width`),"line-gap-width":new J(B.paint_line[`line-gap-width`],`line-gap-width`),"line-offset":new J(B.paint_line[`line-offset`],`line-offset`),"line-blur":new J(B.paint_line[`line-blur`],`line-blur`),"line-dasharray":new Du(B.paint_line[`line-dasharray`],`line-dasharray`),"line-pattern":new Du(B.paint_line[`line-pattern`],`line-pattern`),"line-gradient":new ku(B.paint_line[`line-gradient`],`line-gradient`)}),Eg={get paint(){return Tg()},get layout(){return Cg()}},Dg=class extends J{possiblyEvaluate(e,t){return t=new gu(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=F({},t,{zoom:Math.floor(t.zoom)}),super.evaluate(e,t,n,r)}},Og,kg=e=>e.type===`line`,Ag=class extends Nu{constructor(e,t){super(e,Eg,t),this.gradientVersion=0,Og||(Og=new Dg(Eg.paint.properties[`line-width`].specification,`line-floorwidth`),Og.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(e){if(e===`line-gradient`){let e=this.gradientExpression();this.stepInterpolant=Ec(e)?e._styleExpression.expression instanceof za:!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`]=Og.possiblyEvaluate(this._transitioningPaint._values[`line-width`].value,e)}createBucket(e){return new xg(e)}queryRadius(e){let t=e,n=jg(Jf(`line-width`,this,t),Jf(`line-gap-width`,this,t)),r=Jf(`line-offset`,this,t);return n/2+Math.abs(r)+Yf(this.paint.get(`line-translate`))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a}){let o=Xf(e,this.paint.get(`line-translate`),this.paint.get(`line-translate-anchor`),-i.bearingInRadians,a),s=a/2*jg(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=Qf(r,c*a)),Rf(o,r,s)}isTileClipped(){return!0}};function jg(e,t){return t>0?t+2*e:e}var Mg=Hu([{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),Ng=Hu([{name:`a_projected_pos`,components:3,type:`Float32`}],4);Hu([{name:`a_fade_opacity`,components:1,type:`Uint32`}],4);var Pg=Hu([{name:`a_placed`,components:2,type:`Uint8`},{name:`a_shift`,components:2,type:`Float32`},{name:`a_box_real`,components:2,type:`Int16`}]);Hu([{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 Fg=Hu([{name:`a_pos`,components:2,type:`Int16`},{name:`a_anchor_pos`,components:2,type:`Int16`},{name:`a_extrude`,components:2,type:`Int16`}],4),Ig=Hu([{name:`a_pos`,components:2,type:`Float32`},{name:`a_radius`,components:1,type:`Float32`},{name:`a_flags`,components:2,type:`Int16`}],4);Hu([{name:`triangle`,components:3,type:`Uint16`}]),Hu([{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`}]);var Lg=Hu([{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`}]);Hu([{type:`Float32`,name:`offsetX`}]),Hu([{type:`Int16`,name:`x`},{type:`Int16`,name:`y`},{type:`Int16`,name:`tileUnitDistanceFromAnchor`}]),Hu([{type:`Uint16`,name:`textAnchor`},{type:`Float32`,components:2,name:`textOffset`}]);var Rg=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(Rg.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 zg(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 Bg(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 Vg(e){return/[\u02EA\u02EB\u1100-\u11FF\u2E80-\u2FDF\u3000-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFE10-\uFE1F\uFE30-\uFE4F\uFF00-\uFFEF]|\uD81B[\uDFE0-\uDFFF]|[\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFFF]|\uD82C[\uDC00-\uDEFB]|\uD83C[\uDE00-\uDEFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]/gim.test(String.fromCodePoint(e))}function Hg(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 Ug(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 Wg(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 Gg(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 Kg(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 qg(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 Jg={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`},Yg={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]},Xg={لآ:[65269,65270],لأ:[65271,65272],لإ:[65273,65274],لا:[65275,65276]},Zg=1604,Qg=/[\u0600-\u06ff\u0750-\u077f\u0870-\u089f\u08a0-\u08ff\ufb50-\ufdff\ufe70-\ufeff]/;function $g(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 e_=new Map;for(let[e,t]of Object.entries(Jg))$g(t,e,e_);function t_(e){return e_.get(e)??`U`}function n_(e){return e===`D`||e===`L`||e===`C`}function r_(e){return e===`D`||e===`R`||e===`C`}function i_(e,t,n){return e===`D`?t&&n?3:t?1:n?2:0:e===`R`?+!!t:e===`L`?n?2:0:null}function a_(e){return[...e].map(e=>{let t=e.codePointAt(0);return{codePoint:t,type:t_(t),form:null}})}function o_(e){let t=e.filter(e=>e.type!==`T`);for(let e=0;e<t.length;e++){let n=t[e],r=e>0&&n_(t[e-1].type),i=e+1<t.length&&r_(t[e+1].type);n.form=i_(n.type,r,i)}}function s_(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 c_(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.codePoint!==Zg){t.push(r);continue}let i=n+1;for(;i<e.length&&e[i].type===`T`;)i++;let a=e[i],o=a&&Xg[String.fromCodePoint(Zg,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 l_(e){if(e.form===null)return e.codePoint;let t=Yg[e.codePoint];return t&&(t[e.form]||t[0])||e.codePoint}function u_(e){if(!Qg.test(e))return e;let t=a_(e);return o_(t),s_(t),c_(t).map(e=>String.fromCodePoint(l_(e))).join(``)}function d_(e,t,n){let r=t.layout.get(`text-transform`).evaluate(n,{});return r===`uppercase`?e=e.toLocaleUpperCase():r===`lowercase`&&(e=e.toLocaleLowerCase()),(Rg.applyArabicShaping??u_)(e)}function f_(e,t,n){for(let r of e.sections)r.text=d_(r.text,t,n);return e}function p_(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 m_(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 h_(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 g_(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 __(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=p_(e,o),c=p_(e,o,!0);if(s in n&&c in t&&n[s]!==t[c]){let i=g_(r,t,s,c,o),a=h_(r,n,s,c,r[i]);delete t[s],delete n[c],n[p_(e,r[a],!0)]=a,r[i].feature.geometry=null}else if(s in n)h_(r,n,s,c,o);else if(c in t)g_(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]=m_(e)),i.push(t))}return i}var v_=typeof Intl<`u`&&`Segmenter`in Intl,y_,b_;function x_(e){if(!v_||!Gg(e))return[...e];y_??=new Intl.Segmenter(void 0,{granularity:`grapheme`});let t=[];for(let{segment:n}of y_.segment(e)){let e=t.length-1;e>=0&&qg(t[e],n)?t[e]+=n:t.push(n)}return t}function S_(e){let t=new Set;if(v_){b_??=new Intl.Segmenter(void 0,{granularity:`word`});for(let{index:n}of b_.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 C_(e){let t=e.codePointAt(0);return e.length>(t>65535?2:1)}function w_(e){return/\s/u.test(String.fromCodePoint(e))}function T_(e){for(let t of e)if(Ug(t.codePointAt(0)))return!0;return!1}function E_(e){for(let t of e)if(!D_(t.codePointAt(0)))return!1;return!0}function D_(e){return!zg(e)}function O_(e){return!(Ug(e)||Wg(e))}function k_(e){return/\p{sc=Arab}/u.test(String.fromCodePoint(e))}function A_(e){return Bg(e)}function j_(e){for(let t of e)if(A_(t.codePointAt(0)))return!0;return!1}var M_={"!":`︕`,"#":`#`,$:`$`,"%":`%`,"&":`&`,"(":`︵`,")":`︶`,"*":`*`,"+":`+`,",":`︐`,"-":`︲`,".":`・`,"/":`/`,":":`︓`,";":`︔`,"<":`︿`,"=":`=`,">":`﹀`,"?":`︖`,"@":`@`,"[":`﹇`,"\\":`\`,"]":`﹈`,"^":`^`,_:`︳`,"`":```,"{":`︷`,"|":`―`,"}":`︸`,"~":`~`,"¢":`¢`,"£":`£`,"¥":`¥`,"¦":`¦`,"¬":`¬`,"¯":` ̄`,"–":`︲`,"—":`︱`,"‘":`﹃`,"’":`﹄`,"“":`﹁`,"”":`﹂`,"…":`︙`,"⋯":`︙`,"‧":`・`,"₩":`₩`,"、":`︑`,"。":`︒`,"〈":`︿`,"〉":`﹀`,"《":`︽`,"》":`︾`,"「":`﹁`,"」":`﹂`,"『":`﹃`,"』":`﹄`,"【":`︻`,"】":`︼`,"〔":`︹`,"〕":`︺`,"〖":`︗`,"〗":`︘`,"!":`︕`,"(":`︵`,")":`︶`,",":`︐`,"-":`︲`,".":`・`,":":`︓`,";":`︔`,"<":`︿`,">":`﹀`,"?":`︖`,"[":`﹇`,"]":`﹈`,"_":`︳`,"{":`︷`,"|":`―`,"}":`︸`,"⦅":`︵`,"⦆":`︶`,"。":`︒`,"「":`﹁`,"」":`﹂`};function N_(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||!O_(o.value.codePointAt(0))||M_[o.value])&&(n.premature||!O_(n.value.codePointAt(0))||M_[n.value])&&M_[i.value]?t+=M_[i.value]:t+=i.value,n={value:i.value,premature:!1},i=r.next(),o=a.next();return t}var P_={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},F_={40:!0};function I_(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 L_(e,t,n,r){let i=(e-t)**2;return r?e<t?i/2:i*2:i+Math.abs(n)*n}function R_(e){return/^\s+$/u.test(e)}function z_(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 B_(e,t,n,r,i,a){let o=null,s=L_(t,n,i,a);for(let e of r){let r=L_(t-e.x,n,i,a)+e.badness;r<=s&&(o=e,s=r)}return{index:e,x:t,priorBreak:o,badness:s}}function V_(e){return e?V_(e.priorBreak).concat(e.index):[]}var H_=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??=x_(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=N_(this.text),this._graphemes=null}hasZeroWidthSpaces(){return this.text.includes(`​`)}trim(){let e=this.graphemes(),t=0;for(;t<e.length&&R_(e[t]);)t++;let n=e.length;for(;n>t&&R_(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=x_(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){Rn(`Can't add FormattedSection with an empty image.`);return}let n=this.getNextImageSectionCharCode();if(!n){Rn(`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=this.determineTotalWidth(e,n,r,i);if(e>=0&&a>0&&a<=t&&!/[\n\r]/.test(this.text))return[this.length()];let o=[],s=a/Math.max(1,Math.ceil(a/t)),c=this.hasZeroWidthSpaces(),l=this.graphemes(),u=null,d=0,f=0;for(let t=0;t<l.length;t++){let a=l[t];if(t>0){let e=l[t-1].codePointAt(0),n=a.codePointAt(0),r=Hg(e),i=Kg(e)&&Kg(n);(P_[e]||r||`imageName`in this.getSection(t-1)||l[t+1]!==void 0&&F_[n]||i&&(u??=S_(this.text)).has(f))&&o.push(B_(t,d,s,o,z_(e,n,r&&c),!1))}w_(a.codePointAt(0))||(d+=I_(a,this.getSection(t),n,r,e,i)),f+=a.length}return V_(B_(this.length(),d,s,o,0,!0))}determineTotalWidth(e,t,n,r){let i=0,a=0;for(let o of this.graphemes()){let s=this.getSection(a);i+=I_(o,s,t,n,e,r),a++}return i}};function U_(){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,O=n.CS,k=n.B,A=n.S,ee=n.ON,te=n.BN,ne=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:cn(_,!1)}),r[_]&k&&(g.end=_,g=null);for(var v=se|oe|ae|ie|i|fe|ce|k,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 ge=[{_level:g.level,_override:0,_isolate:0}],_e=void 0,ve=0,ye=0,be=0;u.clear();for(var xe=g.start;xe<=g.end;xe++){var Se=r[xe];if(_e=ge[ge.length-1],u.set(Se,(u.get(Se)||0)+1),Se&o&&u.set(o,(u.get(o)||0)+1),Se&v){if(Se&(se|oe)){p[xe]=_e._level;var Ce=(Se===se?me:pe)(_e._level);Ce<=n&&!ve&&!ye?ge.push({_level:Ce,_override:0,_isolate:0}):ve||ye++}else if(Se&(ae|ie)){p[xe]=_e._level;var we=(Se===ae?me:pe)(_e._level);we<=n&&!ve&&!ye?ge.push({_level:we,_override:Se&ae?C:S,_isolate:0}):ve||ye++}else if(Se&i){Se&de&&(Se=cn(xe+1,!0)===1?ue:le),p[xe]=_e._level,_e._override&&f(xe,_e._override);var Te=(Se===ue?me:pe)(_e._level);Te<=n&&ve===0&&ye===0?(be++,ge.push({_level:Te,_override:0,_isolate:1,_isolInitIndex:xe})):ve++}else if(Se&fe){if(ve>0)ve--;else if(be>0){for(ye=0;!ge[ge.length-1]._isolate;)ge.pop();var Ee=ge[ge.length-1]._isolInitIndex;Ee!=null&&(m.set(Ee,xe),m.set(xe,Ee)),ge.pop(),be--}_e=ge[ge.length-1],p[xe]=_e._level,_e._override&&f(xe,_e._override)}else Se&ce?(ve===0&&(ye>0?ye--:!_e._isolate&&ge.length>1&&(ge.pop(),_e=ge[ge.length-1])),p[xe]=_e._level):Se&k&&(p[xe]=g.level)}else p[xe]=_e._level,_e._override&&Se!==te&&f(xe,_e._override)}for(var De=[],Oe=null,ke=g.start;ke<=g.end;ke++){var Ae=r[ke];if(!(Ae&s)){var je=p[ke],j=Ae&i,Me=Ae===fe;Oe&&je===Oe._level?(Oe._end=ke,Oe._endsWithIsolInit=j):De.push(Oe={_start:ke,_end:ke,_level:je,_startsWithPDI:Me,_endsWithIsolInit:j})}}for(var Ne=[],Pe=0;Pe<De.length;Pe++){var Fe=De[Pe];if(!Fe._startsWithPDI||Fe._startsWithPDI&&!m.has(Fe._start)){for(var Ie=[Oe=Fe],Le=void 0;Oe&&Oe._endsWithIsolInit&&(Le=m.get(Oe._end))!=null;)for(var Re=Pe+1;Re<De.length;Re++)if(De[Re]._start===Le){Ie.push(Oe=De[Re]);break}for(var ze=[],Be=0;Be<Ie.length;Be++)for(var Ve=Ie[Be],He=Ve._start;He<=Ve._end;He++)ze.push(He);for(var Ue=p[ze[0]],We=g.level,Ge=ze[0]-1;Ge>=0;Ge--)if(!(r[Ge]&s)){We=p[Ge];break}var Ke=ze[ze.length-1],qe=p[Ke],Je=g.level;if(!(r[Ke]&i)){for(var Ye=Ke+1;Ye<=g.end;Ye++)if(!(r[Ye]&s)){Je=p[Ye];break}}Ne.push({_seqIndices:ze,_sosType:Math.max(We,Ue)%2?C:S,_eosType:Math.max(Je,qe)%2?C:S})}}for(var Xe=0;Xe<Ne.length;Xe++){var Ze=Ne[Xe],M=Ze._seqIndices,Qe=Ze._sosType,$e=Ze._eosType,et=p[M[0]]&1?C:S;if(u.get(ne))for(var tt=0;tt<M.length;tt++){var nt=M[tt];if(r[nt]&ne){for(var rt=Qe,it=tt-1;it>=0;it--)if(!(r[M[it]]&s)){rt=r[M[it]];break}f(nt,rt&(i|fe)?ee:rt)}}if(u.get(w))for(var at=0;at<M.length;at++){var ot=M[at];if(r[ot]&w)for(var st=at-1;st>=-1;st--){var ct=st===-1?Qe:r[M[st]];if(ct&a){ct===re&&f(ot,D);break}}}if(u.get(re))for(var lt=0;lt<M.length;lt++){var ut=M[lt];r[ut]&re&&f(ut,C)}if(u.get(T)||u.get(O))for(var dt=1;dt<M.length-1;dt++){var ft=M[dt];if(r[ft]&(T|O)){for(var pt=0,mt=0,ht=dt-1;ht>=0&&(pt=r[M[ht]],pt&s);ht--);for(var gt=dt+1;gt<M.length&&(mt=r[M[gt]],mt&s);gt++);pt===mt&&(r[ft]===T?pt===w:pt&(w|D))&&f(ft,pt)}}if(u.get(w)){for(var _t=0;_t<M.length;_t++)if(r[M[_t]]&w){for(var vt=_t-1;vt>=0&&r[M[vt]]&(E|s);vt--)f(M[vt],w);for(_t++;_t<M.length&&r[M[_t]]&(E|s|w);_t++)r[M[_t]]!==w&&f(M[_t],w)}}if(u.get(E)||u.get(T)||u.get(O))for(var yt=0;yt<M.length;yt++){var bt=M[yt];if(r[bt]&(E|T|O)){f(bt,ee);for(var xt=yt-1;xt>=0&&r[M[xt]]&s;xt--)f(M[xt],ee);for(var St=yt+1;St<M.length&&r[M[St]]&s;St++)f(M[St],ee)}}if(u.get(w))for(var Ct=0,wt=Qe;Ct<M.length;Ct++){var Tt=M[Ct],Et=r[Tt];Et&w?wt===S&&f(Tt,S):Et&a&&(wt=Et)}if(u.get(o)){for(var Dt=C|w|D,Ot=Dt|S,kt=[],At=[],jt=0;jt<M.length;jt++)if(r[M[jt]]&o){var Mt=e[M[jt]],Nt=void 0;if(y(Mt)!==null){if(At.length<63)At.push({char:Mt,seqIndex:jt});else break}else if((Nt=b(Mt))!==null)for(var Pt=At.length-1;Pt>=0;Pt--){var Ft=At[Pt].char;if(Ft===Nt||Ft===b(x(Mt))||y(x(Ft))===Mt){kt.push([At[Pt].seqIndex,jt]),At.length=Pt;break}}}kt.sort(function(e,t){return e[0]-t[0]});for(var It=0;It<kt.length;It++){for(var Lt=kt[It],Rt=Lt[0],zt=Lt[1],Bt=!1,Vt=0,Ht=Rt+1;Ht<zt;Ht++){var Ut=M[Ht];if(r[Ut]&Ot){Bt=!0;var Wt=r[Ut]&Dt?C:S;if(Wt===et){Vt=Wt;break}}}if(Bt&&!Vt){Vt=Qe;for(var Gt=Rt-1;Gt>=0;Gt--){var Kt=M[Gt];if(r[Kt]&Ot){var qt=r[Kt]&Dt?C:S;Vt=qt===et?et:qt;break}}}if(Vt){if(r[M[Rt]]=r[M[zt]]=Vt,Vt!==et){for(var Jt=Rt+1;Jt<M.length;Jt++)if(!(r[M[Jt]]&s)){d(e[M[Jt]])&ne&&(r[M[Jt]]=Vt);break}}if(Vt!==et){for(var Yt=zt+1;Yt<M.length;Yt++)if(!(r[M[Yt]]&s)){d(e[M[Yt]])&ne&&(r[M[Yt]]=Vt);break}}}}for(var Xt=0;Xt<M.length;Xt++)if(r[M[Xt]]&o){for(var Zt=Xt,Qt=Xt,$t=Qe,en=Xt-1;en>=0;en--)if(r[M[en]]&s)Zt=en;else{$t=r[M[en]]&Dt?C:S;break}for(var N=$e,tn=Xt+1;tn<M.length;tn++)if(r[M[tn]]&(o|s))Qt=tn;else{N=r[M[tn]]&Dt?C:S;break}for(var nn=Zt;nn<=Qt;nn++)r[M[nn]]=$t===N?$t:et;Xt=Qt}}}for(var rn=g.start;rn<=g.end;rn++){var an=p[rn],on=r[rn];if(an&1?on&(S|w|D)&&p[rn]++:on&C?p[rn]++:on&(D|w)&&(p[rn]+=2),on&s&&(p[rn]=rn===0?g.level:p[rn-1]),rn===g.end||d(e[rn])&(A|k))for(var sn=rn;sn>=0&&d(e[sn])&c;sn--)p[sn]=g.level}}return{levels:p,paragraphs:h};function cn(t,n){for(var a=t;a<e.length;a++){var o=r[a];if(o&(C|re))return 1;if(o&(k|S)||n&&o===fe)return 0;if(o&i){var s=ln(a);a=s===-1?e.length:s}}return 0}function ln(t){for(var n=1,a=t+1;a<e.length;a++){var o=r[a];if(o&k)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 ge(){if(!he){var e=m(me,!0),t=e.map;e.reverseMap.forEach(function(e,n){t.set(n,e)}),he=t}}function _e(e){return ge(),he.get(e)||null}function ve(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=_e(e[o]);s!==null&&a.set(o,s)}return a}function ye(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 be(e,t,n,r){var i=xe(e,t,n,r),a=[].concat(e);return i.forEach(function(n,r){a[r]=(t.levels[n]&1?_e(e[n]):null)||e[n]}),a.join(``)}function xe(e,t,n,r){for(var i=ye(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=_e,e.getMirroredCharactersMap=ve,e.getReorderSegments=ye,e.getReorderedIndices=xe,e.getReorderedString=be,e.openingToClosingBracket=y,Object.defineProperty(e,"__esModule",{value:!0}),e})({})}var W_=U_(),G_=/[\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/,K_=new Set([`WS`,`FSI`,`LRI`,`RLI`,`PDI`]),q_=new Set([`S`,`B`]);function J_(e,t,n,r){let i=[],a=n;for(let o of x_(e.slice(n,r)))i.push({index:a,text:o,level:t[a]}),a+=o.length;return i}function Y_(e,t){let n=!0;for(let r=e.length-1;r>=0;r--){let i=W_.getBidiCharTypeName(e[r].text[0]);q_.has(i)?(e[r].level=t,n=!0):n&&K_.has(i)?e[r].level=t:n=!1}}function X_(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 Z_(e){return e.level%2==0?e.text:W_.getMirroredCharacter(e.text)??e.text}function Q_(e,t){return e.find(e=>t>=e.start&&t<=e.end)?.level??0}function $_(e,t,n,r,i){let a=J_(e,t,r,i);Y_(a,n);let o=``,s=[];for(let e of X_(a,n)){if(G_.test(e.text))continue;let t=Z_(e);o+=t,s.push(...Array(t.length).fill(e.index))}return{text:o,sourceIndices:s}}function ev(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 tv(e,t){let{levels:n,paragraphs:r}=W_.getEmbeddingLevels(e);return ev(e,t.concat(r.map(e=>e.start))).map(([t,i])=>$_(e,n,Q_(r,t),t,i))}function nv(e,t){return tv(e,t).map(e=>e.text)}function rv(e,t,n){return tv(e,n).map(e=>[e.text,e.sourceIndices.map(e=>t[e]??0)])}var iv=4294967296,av=typeof TextDecoder>`u`?null:new TextDecoder(`utf-8`),ov=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)*iv;return this.pos+=8,e}readSFixed64(){let e=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*iv;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,sv(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&&av?av.decode(this.buf.subarray(t,e)):lv(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}`)}};function sv(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 cv(e,i,t);throw Error(`Expected varint not more than 10 bytes`)}function cv(e,t,n){return n?t*4294967296+(e>>>0):(t>>>0)*4294967296+(e>>>0)}function lv(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 uv(e,t,n){e===1&&n.readMessage(dv,t)}function dv(e,t,n){if(e===3){let{id:e,bitmap:r,width:i,height:a,left:o,top:s,advance:c}=n.readMessage(fv,{});t.push({id:e,bitmap:new bp({width:i+6,height:a+6},r),metrics:{width:i,height:a,left:o,top:s,advance:c}})}}function fv(e,t,n){e===1?t.id=n.readVarint():e===2?t.bitmap=n.readBytes():e===3?t.width=n.readVarint():e===4?t.height=n.readVarint():e===5?t.left=n.readSVarint():e===6?t.top=n.readSVarint():e===7&&(t.advance=n.readVarint())}function pv(e){return new ov(e).readFields(uv,[])}function mv(e){return typeof e?.renderWithWebGL==`function`}function hv(e){let{userImage:t}=e;return!t?.render||!t.render()?!1:(mv(t.data)||e.data.replace(new Uint8Array(t.data.buffer)),!0)}function gv(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 _v=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]}},vv=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}=gv(i),s=new xp({width:a||1,height:o||1});for(let t in e){let r=e[t];if(r.isWebGLImage)continue;let i=n[t].paddedRect;xp.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;xp.copy(n.data,s,{x:0,y:0},{x:a,y:o},n.data),xp.copy(n.data,s,{x:0,y:l-1},{x:a,y:o-1},{width:c,height:1}),xp.copy(n.data,s,{x:0,y:0},{x:a,y:o+l},{width:c,height:1}),xp.copy(n.data,s,{x:c-1,y:0},{x:a-1,y:o},{width:1,height:l}),xp.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 _v(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(!mv(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()}};K(`ImagePosition`,_v),K(`ImageAtlas`,vv);var yv=function(e){return e[e.none=0]=`none`,e[e.horizontal=1]=`horizontal`,e[e.vertical=2]=`vertical`,e[e.horizontalOnly=3]=`horizontalOnly`,e}(yv||{});function bv(e){for(let t of e)if(t.positionedGlyphs.length!==0)return!1;return!0}function xv(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 Sv=/^\p{gc=M}$/u;function Cv(e){let t=[],n=0;for(;n<e.length;){if(!Sv.test(e[n])){t.push(n),n++;continue}let r=n;for(;r<e.length&&Sv.test(e[r]);)r++;let i=e[r];if(i!==void 0&&A_(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 wv(e){let t=[],n=0;for(let r of e.graphemes())t.push(...Array(r.length).fill(e.sectionIndex[n])),n++;return t}function Tv(e,t){let n=t.map(t=>e.toCodeUnitIndex(t)),r=Rg.isParsed()?Rg:null;if(e.sections.length===1)return r?r.processBidirectionalText(e.toString(),n).map(t=>Ov(t,e.sections,[...t].map(()=>0))):nv(e.toString(),n).map(t=>Ev([...t],e.sections,[...t].map(()=>0)));let i=wv(e);return r?r.processStyledBidirectionalText(e.text,i,n).map(([t,n])=>Ov(t,e.sections,n)):rv(e.text,i,n).map(([t,n])=>{let r=[...t];return Ev(r,e.sections,Dv(r).map(e=>n[e]??0))})}function Ev(e,t,n){let r=new H_(e.join(``),t,[]),i=0;for(let e of r.graphemes())r.sectionIndex.push(n[i]??0),i+=[...e].length;return r}function Dv(e){let t=[],n=0;for(let r of e)t.push(n),n+=r.length;return t}function Ov(e,t,n){let r=[...e],i=Dv(r),a=Cv(r);return Ev(a.map(e=>r[e]),t,a.map(e=>n[i[e]]??0))}function kv(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m){let h=H_.fromFeature(e,i);d===2&&h.verticalizePunctuation();let g=h.determineLineBreaks(l,a,t,r,p),_=j_(h.text)?Tv(h,g):xv(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 Hv(y,t,n,r,_,o,s,c,d,l,f,m),!bv(v)&&y}function Av(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 jv(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 Mv(e){switch(e){case`top`:return 0;case`center`:return .5;default:return 1}}function Nv(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 Pv(e,t,n){return!(e===1||!t&&!Ug(n)||t&&(w_(n)||k_(n)))}function Fv(e){return/\p{Nd}/u.test(String.fromCodePoint(e))}function Iv(e){return/\p{Lu}/u.test(String.fromCodePoint(e))}function Lv(e){return/[\p{P}\p{S}]/u.test(String.fromCodePoint(e))}function Rv(e){let t=e.some(Fv)&&e.every(e=>Fv(e)||Lv(e)),n=e.length<=3&&e.every(e=>Iv(e)||Fv(e));return t||n}function zv(e){return(Fv(e)||Iv(e))&&!k_(e)}function Bv(e,t){let n=!1;for(let r=0;r<e.length;r++){if(t[r])continue;let i=M_[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 Vv(e){let t=e.graphemes().slice(),n=t.map(e=>e.codePointAt(0)),r=n.map(Ug),i=t=>!r[t]&&!w_(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(Rv(n.slice(e,t+1)))for(let i=e;i<=t;i++)r[i]=zv(n[i]);e=t}return Bv(t,r)&&(e.text=t.join(``),e._graphemes=null),r}function Hv(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=jv(r,o,_),x=c===2&&!u?Vv(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]:Pv(c,u,h),v=`fontStack`in s&&C_(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=Uv(s,c,g,b,t,n),!m)continue;u.fontStack=s.fontStack}else{if(e.iconsInText=!0,s.scale*=_,m=Wv(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),Gv(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}=Av(o);Kv(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 Uv(e,t,n,r,i,a){let o=a[e.fontStack]?.default?.[t],s=Nv(o,i,e,t);if(s===null)return null;let c;if(n)c=r.verticalLineContentWidth-e.scale*24;else{let t=Mv(e.verticalAlign);c=(r.horizontalLineContentHeight-e.scale*24)*t}return{rect:s.rect,metrics:s.metrics,baselineOffset:c}}function Wv(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=Mv(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 Gv(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 Kv(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 qv(e,t,n){let{horizontalAlign:r,verticalAlign:i}=Av(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 Jv(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 Yv(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 Xv=32640;function Zv(e,t){let{expression:n}=t;if(n.kind===`constant`)return{kind:`constant`,layoutSize:n.evaluate(new gu(e+1))};if(n.kind===`source`)return{kind:`source`};if(n.kind===`composite`){let{minZoom:t,maxZoom:r}=Qv(n.zoomStops,e);return{kind:`composite`,minZoom:t,maxZoom:r,interpolationType:n.interpolationType}}{let t=$v(n),r=n.evaluate(new gu(e+1));return{kind:`camera`,zoomStops:n.zoomStops,sizes:t,layoutSize:r,interpolationType:n.interpolationType}}}function Qv(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 $v(e){return e.zoomStops.map(t=>e.evaluate(new gu(t===-1/0?e.zoomStops[1]-1:t)))}function ey(e,{uSize:t,uSizeT:n},{lowerSize:r,upperSize:i}){return e.kind===`source`?r/128:e.kind===`composite`?Ua.number(r/128,i/128,n):t}function ty(e,t){let n=0,r=0;return e.kind===`constant`?r=e.layoutSize:e.kind===`camera`?r=ny(e,t):e.kind===`composite`&&(n=ry(e,t)),{uSizeT:n,uSize:r}}function ny({zoomStops:e,sizes:t,layoutSize:n,interpolationType:r},i){let a=e.length-1;for(;a>0&&e[a]>i;)a--;let o=Math.min(a+1,e.length-1),s=r?P(Va.interpolationFactor(r,i,e[a],e[o]),0,1):0;return Math.min(Ua.number(t[a],t[o],s),n)}function ry({interpolationType:e,minZoom:t,maxZoom:n},r){return e?P(Va.interpolationFactor(e,r,t,n),0,1):0}var iy=class e extends j{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)}};K(`Anchor`,iy);function ay(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 oy(e){let t=0;for(let n=0;n<e.length-1;n++)t+=e[n].dist(e[n+1]);return t}function sy(e,t,n){return e?3/5*t*n:0}function cy(e,t){return Math.max(e?e.right-e.left:0,t?t.right-t.left:0)}function ly(e,t,n,r,i,a){let o=sy(n,i,a),s=cy(n,r)*a,c=0,l=oy(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 iy(Ua.number(r.x,i.x,u),Ua.number(r.y,i.y,u),i.angleTo(r),n);return d._round(),!o||ay(e,d,s,o,t)?d:void 0}c+=a}}function uy(e,t,n,r,i,a,o,s,c){let l=sy(r,a,o),u=cy(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 dy(e,f?t/2*s%t:(u/2+p)*o*s%t,t,l,n,d,f,!1,c)}function dy(e,t,n,r,i,a,o,s,c){let l=a/2,u=oy(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,_=Ua.number(o.x,s.x,g),v=Ua.number(o.y,s.y,g);if(_>=0&&_<c&&v>=0&&v<c&&f-l>=0&&f+l<=u){let n=new iy(_,v,h,t);n._round(),(!r||ay(e,n,a,r,i))&&p.push(n)}}d+=m}return!s&&!p.length&&!o&&(p=dy(e,d/2,n,r,i,a,o,!0,c)),p}function fy(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],l=o[s+1];c.x<t&&l.x<t||(c.x<t?c=new j(t,c.y+(l.y-c.y)*((t-c.x)/(l.x-c.x)))._round():l.x<t&&(l=new j(t,c.y+(l.y-c.y)*((t-c.x)/(l.x-c.x)))._round()),!(c.y<n&&l.y<n)&&(c.y<n?c=new j(c.x+(l.x-c.x)*((n-c.y)/(l.y-c.y)),n)._round():l.y<n&&(l=new j(c.x+(l.x-c.x)*((n-c.y)/(l.y-c.y)),n)._round()),!(c.x>=r&&l.x>=r)&&(c.x>=r?c=new j(r,c.y+(l.y-c.y)*((r-c.x)/(l.x-c.x)))._round():l.x>=r&&(l=new j(r,c.y+(l.y-c.y)*((r-c.x)/(l.x-c.x)))._round()),!(c.y>=i&&l.y>=i)&&(c.y>=i?c=new j(c.x+(l.x-c.x)*((i-c.y)/(l.y-c.y)),i)._round():l.y>=i&&(l=new j(c.x+(l.x-c.x)*((i-c.y)/(l.y-c.y)),i)._round()),(!e||!c.equals(e[e.length-1]))&&(e=[c],a.push(e)),e.push(l)))))}}return a}function py(e,t,n,r){let i=[],a=e.image,o=a.pixelRatio,s=a.paddedRect.w-2,c=a.paddedRect.h-2,l={x1:e.left,y1:e.top,x2:e.right,y2:e.bottom},u=a.stretchX||[[0,s]],d=a.stretchY||[[0,c]],f=(e,t)=>e+t[1]-t[0],p=u.reduce(f,0),m=d.reduce(f,0),h=s-p,g=c-m,_=0,v=p,y=0,b=m,x=0,S=h,C=0,w=g;if(a.content&&r){let t=a.content,n=t[2]-t[0],r=t[3]-t[1];(a.textFitWidth||a.textFitHeight)&&(l=Jv(e)),_=my(u,0,t[0]),y=my(d,0,t[1]),v=my(u,t[0],t[2]),b=my(d,t[1],t[3]),x=t[0]-_,C=t[1]-y,S=n-v,w=r-b}let T=l.x1,E=l.y1,D=l.x2-T,O=l.y2-E,k=(e,r,i,s)=>{let c=gy(e.stretch-_,v,D,T),l=_y(e.fixed-x,S,e.stretch,p),u=gy(r.stretch-y,b,O,E),d=_y(r.fixed-C,w,r.stretch,m),f=gy(i.stretch-_,v,D,T),h=_y(i.fixed-x,S,i.stretch,p),g=gy(s.stretch-y,b,O,E),k=_y(s.fixed-C,w,s.stretch,m),A=new j(c,u),ee=new j(f,u),te=new j(f,g),ne=new j(c,g),re=new j(l/o,d/o),ie=new j(h/o,k/o),ae=t*Math.PI/180;if(ae){let e=Math.sin(ae),t=Math.cos(ae),n=[t,-e,e,t];A._matMult(n),ee._matMult(n),ne._matMult(n),te._matMult(n)}let oe=e.stretch+e.fixed,se=i.stretch+i.fixed,ce=r.stretch+r.fixed,le=s.stretch+s.fixed;return{tl:A,tr:ee,bl:ne,br:te,tex:{x:a.paddedRect.x+1+oe,y:a.paddedRect.y+1+ce,w:se-oe,h:le-ce},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:re,pixelOffsetBR:ie,minFontScaleX:S/o/D,minFontScaleY:w/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=hy(u,h,p),t=hy(d,g,m);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 my(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 hy(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 gy(e,t,n,r){return e/t*n+r}function _y(e,t,n,r){return e-t*n/r}function vy(e,t,n,r,i,a,o,s){let c=r.layout.get(`text-rotate`).evaluate(a,{})*Math.PI/180,l=[];for(let e of t.positionedLines)for(let r of e.positionedGlyphs){if(!r.rect)continue;let a=r.rect||{},u=4,d=!0,f=1,p=0,m=(i||s)&&r.vertical,h=r.metrics.advance*r.scale/2;if(s&&t.verticalizable){let t=(r.scale-1)*24,n=(24-r.metrics.width*r.scale)/2;p=e.lineOffset/2-(r.imageName?-n:t)}if(r.imageName){let e=o[r.imageName];d=e.sdf,f=e.pixelRatio,u=1/f}let g=i?[r.x+h,r.y]:[0,0],_=i?[0,0]:[r.x+h+n[0],r.y+n[1]-p],v=[0,0];m&&(v=_,_=[0,0]);let y=r.metrics.isDoubleResolution?2:1,b=(r.metrics.left-u)*r.scale-h+_[0],x=(-r.metrics.top-u)*r.scale+_[1],S=b+a.w/y*r.scale/f,C=x+a.h/y*r.scale/f,w=new j(b,x),T=new j(S,x),E=new j(b,C),D=new j(S,C);if(m){let e=new j(-h,h- -17),t=-Math.PI/2,n=12-h,i=r.imageName?n:0,a=new j(22-n,-i),o=new j(...v);w._rotateAround(t,e)._add(a)._add(o),T._rotateAround(t,e)._add(a)._add(o),E._rotateAround(t,e)._add(a)._add(o),D._rotateAround(t,e)._add(a)._add(o)}if(c){let e=Math.sin(c),t=Math.cos(c),n=[t,-e,e,t];w._matMult(n),T._matMult(n),E._matMult(n),D._matMult(n)}let O=new j(0,0),k=new j(0,0);l.push({tl:w,tr:T,bl:E,br:D,tex:a,writingMode:t.writingMode,glyphOffset:g,sectionIndex:r.sectionIndex,isSDF:d,pixelOffsetTL:O,pixelOffsetBR:k,minFontScaleX:0,minFontScaleY:0})}return l}var yy=class{constructor(e,t,n,r,i,a,o,s,c,l){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)?Jv(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 u=a.collisionPadding;if(u&&(c.x1-=u[0]*o,c.y1-=u[1]*o,c.x2+=u[2]*o,c.y2+=u[3]*o),l){let e=new j(c.x1,c.y1),t=new j(c.x2,c.y1),n=new j(c.x1,c.y2),r=new j(c.x2,c.y2),i=l*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}},by=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 xy(e,t=1){let n=ph.fromPoints(e[0]),r=Math.min(n.width(),n.height()),i=r/2,a=new by([],Sy),{minX:o,minY:s,maxX:c,maxY:l}=n;if(r===0)return new j(o,s);for(let t=o;t<c;t+=r)for(let n=s;n<l;n+=r)a.push(new Cy(t+i,n+i,i,e));let u=Ty(e),d=u;for(;a.length;){let n=a.pop();(n.d>d.d||!d.d)&&(d=n),!(n.max-d.d<=t)&&(i=n.h/2,a.push(new Cy(n.p.x-i,n.p.y-i,i,e)),a.push(new Cy(n.p.x+i,n.p.y-i,i,e)),a.push(new Cy(n.p.x-i,n.p.y+i,i,e)),a.push(new Cy(n.p.x+i,n.p.y+i,i,e)))}return u.d>0&&d.d-u.d<=t?u.p:d.p}function Sy(e,t){return t.max-e.max}var Cy=class{constructor(e,t,n,r){this.p=new j(e,t),this.h=n,this.d=wy(this.p,r),this.max=this.d+this.h*Math.SQRT2}};function wy(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,Uf(e,a,s))}return(n?1:-1)*Math.sqrt(r)}function Ty(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 Cy(n/t,r/t,0,e)}var Ey=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}({}),Dy=1/0;function Oy(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]===Dy?n(e,t[0]):r(e,t[0],t[1])}function ky(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 Da(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,Dy];let o=[];for(let e of a)o.push(e,Oy(e,i));return new Da(o)}return null}function Ay(e){e.bucket.createArrays();let t=512*e.bucket.overscaling;e.bucket.tilePixelRatio=N/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 gu(e.bucket.zoom+1),e.canonical),layoutTextSize:i[`text-size`].possiblyEvaluate(new gu(e.bucket.zoom+1),e.canonical),textMaxSize:i[`text-size`].possiblyEvaluate(new gu(18))};if(e.bucket.textSizeData.kind===`composite`){let{minZoom:t,maxZoom:n}=e.bucket.textSizeData;a.compositeTextSizes=[i[`text-size`].possiblyEvaluate(new gu(t),e.canonical),i[`text-size`].possiblyEvaluate(new gu(n),e.canonical)]}if(e.bucket.iconSizeData.kind===`composite`){let{minZoom:t,maxZoom:n}=e.bucket.iconSizeData;a.compositeIconSizes=[i[`icon-size`].possiblyEvaluate(new gu(t),e.canonical),i[`icon-size`].possiblyEvaluate(new gu(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=E_(a)?l:0,g=r.get(`text-anchor`).evaluate(t,{},e.canonical),_=ky(n,t,e.canonical);if(!_){let n=r.get(`text-radial-offset`).evaluate(t,{},e.canonical);h=n?Oy(g,[n*24,Dy]):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&&T_(a)&&(p.vertical=kv(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(jy(_.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=kv(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=jy(g));let t=kv(m,e.glyphMap,e.glyphPositions,e.imagePositions,i,y,o,g,v,f,h,1,!1,d,u);t&&(p.horizontal[v]=t),b(),T_(a)&&s&&c&&(p.vertical=kv(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=qv(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!==_&&Rn(`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=Fy(p.horizontal)||p.vertical;e.bucket.iconsInText||=v?v.iconsInText:!1,(v||g)&&My(e.bucket,t,p,g,e.imageMap,a,d,f,h,_,e.canonical,e.subdivisionGranularity,e.hasPromoteId)}e.showCollisionBoxes&&e.bucket.generateCollisionDebugBuffers()}function jy(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 My(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=Fy(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=nb(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`),O=x/2,k=m.get(`icon-text-fit`),A;r&&k!==`none`&&(e.allowVerticalPlacement&&n.vertical&&(A=Yv(r,n.vertical,k,m.get(`icon-text-fit-padding`),h,_)),g&&(r=Yv(r,g,k,m.get(`icon-text-fit-padding`),h,_)));let ee=u?d.line.getGranularityForZoomLevel(u.z):1,te=(s,d)=>{d.x<0||d.x>=8192||d.y<0||d.y>=8192||Iy(e,d,s,n,r,i,A,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 fy(t.geometry,0,0,N,N)){let t=Km(i,ee),a=uy(t,x,w,n.vertical||g,r,24,y,e.overscaling,N);for(let n of a){let r=g;(!r||!Ly(e,r.text,O,n))&&te(t,n)}}else if(D===`line-center`){for(let e of t.geometry)if(e.length>1){let t=Km(e,ee),i=ly(t,w,n.vertical||g,r,24,y);i&&te(t,i)}}else if(t.type===`Polygon`)for(let e of Ja(t.geometry,0)){let t=xy(e,16);te(Km(e[0],ee,!0),new iy(t.x,t.y,0))}else if(t.type===`LineString`)for(let e of t.geometry){let t=Km(e,ee);te(t,new iy(t[0].x,t[0].y,0))}else if(t.type===`Point`)for(let e of t.geometry)for(let t of e)te([t],new iy(t.x,t.y,0))}function Ny(e,t){let n=e.length,r=t?.values;if(r?.length>0)for(let t=0;t<r.length;t+=2){let n=Ey[r[t]],i=r[t+1];e.emplaceBack(n,i[0],i[1])}return[n,e.length]}function Py(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){let g=vy(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&&Rn(`${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)&&Rn(`${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 Fy(e){for(let t in e)return e[t];return null}function Iy(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 O,k,A,ee,te=0,ne=0,re=0,ie=0,ae=-1,oe=-1,se={},ce=(0,tf.default)(``);if(e.allowVerticalPlacement&&r.vertical){let e=s.layout.get(`text-rotate`).evaluate(b,{},C)+90,n=r.vertical;A=new yy(c,t,l,u,d,n,f,p,m,e),o&&(ee=new yy(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=py(i,n,S,r),f=o?py(o,n,S,r):void 0;k=new yy(c,t,l,u,d,i,g,_,!1,n),te=a.length*4;let p=e.iconSizeData,m=null;p.kind===`source`?(m=[128*s.layout.get(`icon-size`).evaluate(b,{})],m[0]>32640&&Rn(`${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)&&Rn(`${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&&(ne=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];O||=(ce=(0,tf.default)(i.text),new yy(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+=Py(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+=Py(e,t,r.vertical,a,s,m,b,h,D,E,2,[`vertical`],se,oe,x,C));let ue=O?O.boxStartIndex:e.collisionBoxArray.length,de=O?O.boxEndIndex:e.collisionBoxArray.length,fe=A?A.boxStartIndex:e.collisionBoxArray.length,pe=A?A.boxEndIndex:e.collisionBoxArray.length,me=k?k.boxStartIndex:e.collisionBoxArray.length,he=k?k.boxEndIndex:e.collisionBoxArray.length,ge=ee?ee.boxStartIndex:e.collisionBoxArray.length,_e=ee?ee.boxEndIndex:e.collisionBoxArray.length,ve=-1,ye=(e,t)=>e?.circleDiameter?Math.max(e.circleDiameter,t):t;ve=ye(O,ve),ve=ye(A,ve),ve=ye(k,ve),ve=ye(ee,ve);let be=+(ve>-1);be&&(ve*=w/24),e.glyphOffsetArray.length>=e.maxGlyphs&&Rn(`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 xe=ky(s,b,C),[Se,Ce]=Ny(e.textAnchorOffsets,xe);T&&(ce=Ry(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,ge,_e,l,re,ie,te,ne,be,0,f,ve,Se,Ce,D)}function Ly(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 Ry(e,t){return t.id==null||t.properties?.cluster?e:(0,tf.default)(String(t.id),e)}function zy(e,t,n){let r=`never`,i=e.get(t);return i?r=i:e.get(n)&&(r=`always`),r}var By=[{name:`a_fade_opacity`,components:1,type:`Uint8`,offset:0}];function Vy(e,t,n,r,i,a,o,s,c,l,u,d,f,p){let m=s?Math.min(Xv,Math.round(s[0])):0,h=s?Math.min(Xv,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 Hy(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 Uy(e){for(let t of e.sections)if(j_(t.text))return!0;return!1}var Wy=class{constructor(e){this.layoutVertexArray=new Ld,this.indexArray=new Wd,this.programConfigurations=e,this.segments=new Yd,this.dynamicLayoutVertexArray=new Rd,this.opacityVertexArray=new zd,this.hasVisibleVertices=!1,this.placedSymbolArray=new vd}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,Mg.members),this.indexBuffer=e.createIndexBuffer(this.indexArray,t),this.dynamicLayoutVertexBuffer=e.createVertexBuffer(this.dynamicLayoutVertexArray,Ng.members,!0),this.opacityVertexBuffer=e.createVertexBuffer(this.opacityVertexArray,By,!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())}};K(`SymbolBuffers`,Wy);var Gy=class{constructor(e,t,n){this.layoutVertexArray=new e,this.layoutAttributes=t,this.indexArray=new n,this.segments=new Yd,this.collisionVertexArray=new Hd}upload(e){this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=e.createVertexBuffer(this.collisionVertexArray,Pg.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())}};K(`CollisionBuffers`,Gy);var Ky=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=Zv(this.zoom,t[`text-size`]),this.iconSizeData=Zv(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=zy(n,`text-overlap`,`text-allow-overlap`)!==`never`||zy(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=>yv[e])),this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id),this.sourceID=e.sourceID}createArrays(){this.text=new Wy(new wf(this.layers,this.zoom,e=>e.startsWith(`text`))),this.icon=new Wy(new wf(this.layers,this.zoom,e=>e.startsWith(`icon`))),this.glyphOffsetArray=new xd,this.lineVertexArray=new Sd,this.symbolInstances=new bd,this.textAnchorOffsets=new wd}calculateGlyphDependencies(e,t,n,r,i){let a=(r||this.allowVerticalPlacement)&&i,o=H_.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];C_(i)&&(r[i]=!0);for(let e of i){if(r[e]=!0,!a)continue;let t=M_[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 xa&&!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 gu(this.zoom);for(let{feature:t,id:o,index:s,sourceLayerIndex:h}of e){let e=r._featureFilter.needGeometry,g=jf(t,e);if(!r._featureFilter.filter(m,g,n))continue;e||(g.geometry=Af(t));let _;if(c){let e=r.getValueAndResolveTokens(`text-field`,g,n,p),t=xa.factory(e);this.hasRTLText||=Uy(t),_=f_(t,r,g)}let v;if(l){let e=r.getValueAndResolveTokens(`icon-image`,g,n,p);v=e instanceof Oa?e:Oa.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:_h.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=T_(_.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=__(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}){Ay({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];Vy(m,s.x,s.y,i.x,E+i.y,u.x,u.y,n,C,g.x,g.y,b,x,f),Vy(m,s.x,s.y,o.x,E+o.y,u.x+u.w,u.y,n,C,_.x,g.y,b,x,f),Vy(m,s.x,s.y,c.x,E+c.y,u.x,u.y+u.h,n,C,g.x,_.y,b,x,f),Vy(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),Hy(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,l=i.layoutVertexArray,u=i.collisionVertexArray,d=o.anchorX,f=o.anchorY;this._addCollisionDebugVertex(l,u,a,d,f,new j(e,t)),this._addCollisionDebugVertex(l,u,a,d,f,new j(n,t)),this._addCollisionDebugVertex(l,u,a,d,f,new j(n,r)),this._addCollisionDebugVertex(l,u,a,d,f,new j(e,r)),s.vertexLength+=4;let p=i.indexArray;p.emplaceBack(c,c+1),p.emplaceBack(c+1,c+2),p.emplaceBack(c+2,c+3),p.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 Gy(Bd,Fg.members,Gd),this.iconCollisionBox=new Gy(Bd,Fg.members,Gd);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)}}};K(`SymbolBucket`,Ky,{omit:[`layers`,`collisionBoxArray`,`features`,`compareText`]});function qy(e,t){return t.replace(/{([^{}]+)}/g,(t,n)=>e&&n in e?String(e[n]):``)}var Jy,Yy=()=>Jy||=new Au({"symbol-placement":new q(B.layout_symbol[`symbol-placement`],`symbol-placement`),"symbol-spacing":new q(B.layout_symbol[`symbol-spacing`],`symbol-spacing`),"symbol-avoid-edges":new q(B.layout_symbol[`symbol-avoid-edges`],`symbol-avoid-edges`),"symbol-sort-key":new J(B.layout_symbol[`symbol-sort-key`],`symbol-sort-key`),"symbol-z-order":new q(B.layout_symbol[`symbol-z-order`],`symbol-z-order`),"icon-allow-overlap":new q(B.layout_symbol[`icon-allow-overlap`],`icon-allow-overlap`),"icon-overlap":new q(B.layout_symbol[`icon-overlap`],`icon-overlap`),"icon-ignore-placement":new q(B.layout_symbol[`icon-ignore-placement`],`icon-ignore-placement`),"icon-optional":new q(B.layout_symbol[`icon-optional`],`icon-optional`),"icon-rotation-alignment":new J(B.layout_symbol[`icon-rotation-alignment`],`icon-rotation-alignment`),"icon-size":new J(B.layout_symbol[`icon-size`],`icon-size`),"icon-text-fit":new q(B.layout_symbol[`icon-text-fit`],`icon-text-fit`),"icon-text-fit-padding":new q(B.layout_symbol[`icon-text-fit-padding`],`icon-text-fit-padding`),"icon-image":new J(B.layout_symbol[`icon-image`],`icon-image`),"icon-rotate":new J(B.layout_symbol[`icon-rotate`],`icon-rotate`),"icon-padding":new J(B.layout_symbol[`icon-padding`],`icon-padding`),"icon-keep-upright":new q(B.layout_symbol[`icon-keep-upright`],`icon-keep-upright`),"icon-offset":new J(B.layout_symbol[`icon-offset`],`icon-offset`),"icon-anchor":new J(B.layout_symbol[`icon-anchor`],`icon-anchor`),"icon-pitch-alignment":new q(B.layout_symbol[`icon-pitch-alignment`],`icon-pitch-alignment`),"text-pitch-alignment":new q(B.layout_symbol[`text-pitch-alignment`],`text-pitch-alignment`),"text-rotation-alignment":new q(B.layout_symbol[`text-rotation-alignment`],`text-rotation-alignment`),"text-field":new J(B.layout_symbol[`text-field`],`text-field`),"text-font":new J(B.layout_symbol[`text-font`],`text-font`),"text-size":new J(B.layout_symbol[`text-size`],`text-size`),"text-max-width":new J(B.layout_symbol[`text-max-width`],`text-max-width`),"text-line-height":new q(B.layout_symbol[`text-line-height`],`text-line-height`),"text-letter-spacing":new J(B.layout_symbol[`text-letter-spacing`],`text-letter-spacing`),"text-justify":new J(B.layout_symbol[`text-justify`],`text-justify`),"text-radial-offset":new J(B.layout_symbol[`text-radial-offset`],`text-radial-offset`),"text-variable-anchor":new q(B.layout_symbol[`text-variable-anchor`],`text-variable-anchor`),"text-variable-anchor-offset":new J(B.layout_symbol[`text-variable-anchor-offset`],`text-variable-anchor-offset`),"text-anchor":new J(B.layout_symbol[`text-anchor`],`text-anchor`),"text-max-angle":new q(B.layout_symbol[`text-max-angle`],`text-max-angle`),"text-writing-mode":new q(B.layout_symbol[`text-writing-mode`],`text-writing-mode`),"text-rotate":new J(B.layout_symbol[`text-rotate`],`text-rotate`),"text-padding":new q(B.layout_symbol[`text-padding`],`text-padding`),"text-keep-upright":new q(B.layout_symbol[`text-keep-upright`],`text-keep-upright`),"text-transform":new J(B.layout_symbol[`text-transform`],`text-transform`),"text-offset":new J(B.layout_symbol[`text-offset`],`text-offset`),"text-allow-overlap":new q(B.layout_symbol[`text-allow-overlap`],`text-allow-overlap`),"text-overlap":new q(B.layout_symbol[`text-overlap`],`text-overlap`),"text-ignore-placement":new q(B.layout_symbol[`text-ignore-placement`],`text-ignore-placement`),"text-optional":new q(B.layout_symbol[`text-optional`],`text-optional`),"symbol-height-offset":new J(B.layout_symbol[`symbol-height-offset`],`symbol-height-offset`),"symbol-height-anchor":new q(B.layout_symbol[`symbol-height-anchor`],`symbol-height-anchor`)}),Xy,Zy=()=>Xy||=new Au({"icon-opacity":new J(B.paint_symbol[`icon-opacity`],`icon-opacity`),"icon-color":new J(B.paint_symbol[`icon-color`],`icon-color`),"icon-halo-color":new J(B.paint_symbol[`icon-halo-color`],`icon-halo-color`),"icon-halo-width":new J(B.paint_symbol[`icon-halo-width`],`icon-halo-width`),"icon-halo-blur":new J(B.paint_symbol[`icon-halo-blur`],`icon-halo-blur`),"icon-translate":new q(B.paint_symbol[`icon-translate`],`icon-translate`),"icon-translate-anchor":new q(B.paint_symbol[`icon-translate-anchor`],`icon-translate-anchor`),"text-opacity":new J(B.paint_symbol[`text-opacity`],`text-opacity`),"text-color":new J(B.paint_symbol[`text-color`],`text-color`,{runtimeType:Di,getOverride:e=>e.textColor,hasOverride:e=>!!e.textColor}),"text-halo-color":new J(B.paint_symbol[`text-halo-color`],`text-halo-color`),"text-halo-width":new J(B.paint_symbol[`text-halo-width`],`text-halo-width`),"text-halo-blur":new J(B.paint_symbol[`text-halo-blur`],`text-halo-blur`),"text-translate":new q(B.paint_symbol[`text-translate`],`text-translate`),"text-translate-anchor":new q(B.paint_symbol[`text-translate-anchor`],`text-translate-anchor`)}),Qy={get paint(){return Zy()},get layout(){return Yy()}},$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:Ti,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}};K(`FormatSectionOverride`,$y,{omit:[`defaultValue`]});var eb=e=>e.type===`symbol`,tb=class e extends Nu{constructor(e,t){super(e,Qy,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 Cu(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()&&!Sc(a.value)&&i?qy(t.properties,i):i}createBucket(e){return new Ky(e)}queryRadius(){return 0}queryIntersectsFeature(){throw Error(`Should take a different path in FeatureIndex`)}_setPaintOverrides(){for(let t of Qy.paint.overridableProperties){if(!e.hasPaintOverride(this.layout,t))continue;let n=this.paint.get(t),r=new yc(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 wc(`source`,r):new Tc(`composite`,r,n.value.zoomStops),this.paint._values[t]=new Cu(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=Qy.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 xa)a(n.value.value.sections);else if(n.value.kind===`source`||n.value.kind===`composite`){let e=t=>{if(!i){if(t instanceof Fa&&Na(t.value)===Mi){let e=t.value;a(e.sections)}else t instanceof Wa?a(t.sections):t.eachChild(e)}},t=n.value;t._styleExpression&&e(t._styleExpression.expression)}return i}};function nb(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 rb,ib=()=>rb||=new Au({"background-color":new q(B.paint_background[`background-color`],`background-color`),"background-pattern":new Ou(B.paint_background[`background-pattern`],`background-pattern`),"background-opacity":new q(B.paint_background[`background-opacity`],`background-opacity`)}),ab={get paint(){return ib()}},ob=e=>e.type===`background`,sb=class extends Nu{constructor(e,t){super(e,ab,t)}};function cb(e){let t=[],n=e.id;return n===void 0&&t.push(new V(`layers.${n}`,null,`missing required property "id"`)),e.render===void 0&&t.push(new V(`layers.${n}`,null,`missing required method "render"`)),e.renderingMode&&e.renderingMode!==`2d`&&e.renderingMode!==`3d`&&t.push(new V(`layers.${n}`,null,`property "renderingMode" must be either "2d" or "3d"`)),t}var lb=e=>e.type===`custom`,ub=class extends Nu{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 db(e,t){if(e.type===`custom`)return new ub(e,t);switch(e.type){case`background`:return new sb(e,t);case`circle`:return new fp(e,t);case`color-relief`:return new Bp(e,t);case`fill`:return new lh(e,t);case`fill-extrusion`:return new cg(e,t);case`heatmap`:return new Ep(e,t);case`hillshade`:return new jp(e,t);case`line`:return new Ag(e,t);case`raster`:return new Ru(e,t);case`symbol`:return new tb(e,t)}}function fb(e){let t=[];if(typeof e==`string`)t.push({id:`default`,url:e});else if(e&&e.length>0){let n=[];for(let{id:r,url:i}of e){let e=`${r}${i}`;n.includes(e)||(n.push(e),t.push({id:r,url:i}))}}return t}function pb(e,t,n){try{let r=new URL(e);return r.pathname+=`${t}${n}`,r.toString()}catch{throw Error(`Invalid sprite URL "${e}", must be absolute. Modify style specification directly or use TransformStyleFunction to correct the issue dynamically`)}}async function mb(e,t,n,r){let i=fb(e),a=n>1?`@2x`:``,o={},s={};for(let{id:e,url:n}of i){o[e]=Br(await t.transformRequest(pb(n,a,`.json`),`SpriteJSON`),r);let i=await t.transformRequest(pb(n,a,`.png`),`SpriteImage`);s[e]=Wr.getImage(i,r)}return await Promise.all([...Object.values(o),...Object.values(s)]),hb(o,s)}async function hb(e,t){let n={};for(let r in e){n[r]={};let i=(await t[r]).data;if(!i)throw Error(`Could not load sprite image for ${r}: the response is empty`);let a=_r.getImageCanvasContext(i),o=(await e[r]).data;for(let e in o){let{width:t,height:i,x:s,y:c,sdf:l,pixelRatio:u,stretchX:d,stretchY:f,content:p,textFitWidth:m,textFitHeight:h}=o[e],g={width:t,height:i,x:s,y:c,context:a};n[r][e]={data:null,pixelRatio:u,sdf:l,stretchX:d,stretchY:f,content:p,textFitWidth:m,textFitHeight:h,spriteData:g}}}return n}var gb=class extends Yr{constructor(){super(),this.images={},this.updateVersion=0,this.loaded=!1,this.requestors=[],this.missingImageResolver=null,this._spriteImagesIds={},this._imagesIds=null,this._renderCallbacksDispatchedThisFrame={}}destroy(){for(let e of Object.keys(this.images))this.removeImage(e);this._spriteImagesIds={}}isLoaded(){return this.loaded}setLoaded(e){if(this.loaded!==e&&(this.loaded=e,e)){for(let{ids:e,promiseResolve:t}of this.requestors)t(this._getImagesForIds(e));this.requestors=[]}}getImage(e){let t=this.images[e];if(t&&!t.data&&t.spriteData){let e=t.spriteData;t.data=new xp({width:e.width,height:e.height},e.context.getImageData(e.x,e.y,e.width,e.height).data),t.spriteData=null}return t}addImage(e,t){if(this.images[e])throw Error(`Image id ${e} already exist, use updateImage instead`);this._validate(e,t)&&(this.images[e]=t,this._imagesIds=null,t.isWebGLImage&&this.updateImage(e,t,!1))}_validate(e,t){let n=!0,r=t.data||t.spriteData;return this._validateStretch(t.stretchX,r?.width)||(this.fire(new R(Error(`Image "${e}" has invalid "stretchX" value`))),n=!1),this._validateStretch(t.stretchY,r?.height)||(this.fire(new R(Error(`Image "${e}" has invalid "stretchY" value`))),n=!1),this._validateContent(t.content,t)||(this.fire(new R(Error(`Image "${e}" has invalid "content" value`))),n=!1),n}_validateStretch(e,t){if(!e)return!0;let n=0;for(let r of e){if(r[0]<n||r[1]<r[0]||t<r[1])return!1;n=r[1]}return!0}_validateContent(e,t){if(!e)return!0;if(e.length!==4)return!1;let n=t.spriteData,r=n?.width||t.data.width,i=n?.height||t.data.height;return e[0]<0||r<e[0]||e[1]<0||i<e[1]||e[2]<0||r<e[2]||e[3]<0||i<e[3]||e[2]<e[0]?!1:e[3]>=e[1]}updateImage(e,t,n=!0){let r=this.images[e];if(n){let e=r.data||r.spriteData;if(e.width!==t.data.width||e.height!==t.data.height)throw Error(`size mismatch between old image (${e.width}x${e.height}) and new image (${t.data.width}x${t.data.height}).`)}t.version=(r.version??0)+1,this.images[e]=t,this.updateVersion++}removeImage(e){let t=this.images[e];t&&(delete this.images[e],this._imagesIds=null,t.userImage?.onRemove&&t.userImage.onRemove())}listImages(){return this._imagesIds??=Object.keys(this.images),this._imagesIds}_getSpriteImageId(e,t){return e==="default"?t:`${e}:${t}`}setSpriteImages(e,t){let n=this._spriteImagesIds[e]??[],r=[];for(let n in t){let i=this._getSpriteImageId(e,n);r.push(i),i in this.images?this.updateImage(i,t[n],!1):this.addImage(i,t[n])}let i=new Set(r),a=n.filter(e=>!i.has(e));for(let e of a)this.removeImage(e);return this._spriteImagesIds[e]=r,{loaded:r,removed:a}}removeSpriteImages(e){let t=this._spriteImagesIds[e]??[];for(let e of t)this.removeImage(e);return delete this._spriteImagesIds[e],t}removeAllSpriteImages(){let e=Object.values(this._spriteImagesIds).flat();for(let t of e)this.removeImage(t);return this._spriteImagesIds={},e}setMissingImageResolver(e){this.missingImageResolver=e}getImages(e){return new Promise((t,n)=>{let r=!0;if(!this.isLoaded())for(let t of e)this.images[t]||(r=!1);this.isLoaded()||r?t(this._getImagesForIds(e)):this.requestors.push({ids:e,promiseResolve:t})})}async _getImagesForIds(e){let t=new Set(e.filter(e=>!this.getImage(e))),n=this.missingImageResolver;n&&await Promise.allSettled(Array.from(t,e=>n(e)));let r={};for(let n of e){let e=this.getImage(n);e&&(t.delete(n),r[n]={data:e.data.clone(),pixelRatio:e.pixelRatio,sdf:e.sdf,version:e.version,stretchX:e.stretchX,stretchY:e.stretchY,content:e.content,textFitWidth:e.textFitWidth,textFitHeight:e.textFitHeight,hasRenderCallback:!!e.userImage?.render,isWebGLImage:e.isWebGLImage})}for(let e of t)this.fire(new si({id:e})),Rn(`Image "${e}" could not be loaded. Please make sure you have added the image before it is needed with map.addImage(), resolved it with map.setMissingStyleImageResolver(), or included it in a "sprite" property in your style.`);return r}beginFrame(){this._renderCallbacksDispatchedThisFrame={}}dispatchRenderCallbacks(e){for(let t of e){if(this._renderCallbacksDispatchedThisFrame[t])continue;this._renderCallbacksDispatchedThisFrame[t]=!0;let e=this.getImage(t);e||Rn(`Image with ID: "${t}" was not found`),hv(e)&&this.updateImage(t,e)}}cloneImages(){let e={};for(let t in this.images){let n=this.images[t];e[t]={...n,data:n.data?n.data.clone():null}}return e}},_b=class{constructor(e){this._imageManager=e,this._entries={},this._image=new xp({width:1,height:1}),this._dirty=!0}destroy(){this._texture&&=(this._texture.destroy(),null),this._entries={},this._image=new xp({width:1,height:1}),this._dirty=!0}getPixelSize(){let{width:e,height:t}=this._image;return{width:e,height:t}}getPattern(e){let t=this._imageManager.getImage(e);if(!t)return null;let n=this._entries[e];if(n?.image!==t){let n={w:t.data.width+2,h:t.data.height+2,x:0,y:0};this._entries[e]={bin:n,position:new _v(n,t),image:t}}else if(n.position.version!==t.version)n.position.version=t.version;else return n.position;return this._update(),this._entries[e].position}isPatternMissing(e){if(!e)return!1;if(!e.from||!e.to)return!0;let t=this.getPattern(e.from.toString()),n=this.getPattern(e.to.toString());return!t||!n}bind(e){let t=e.gl;this._texture?this._dirty&&=(this._texture.update(this._image),!1):(this._texture=new Ip(e,this._image,t.RGBA),this._dirty=!1),this._texture.bind(t.LINEAR,t.CLAMP_TO_EDGE)}_update(){for(let e in this._entries)this._imageManager.getImage(e)||delete this._entries[e];let e=[];for(let t in this._entries)e.push(this._entries[t].bin);let{w:t,h:n}=gv(e),r=this._image;r.resize({width:t||1,height:n||1});for(let e in this._entries){let{bin:t}=this._entries[e],n=t.x+1,i=t.y+1,a=this._entries[e].image.data,o=a.width,s=a.height;xp.copy(a,r,{x:0,y:0},{x:n,y:i},{width:o,height:s}),xp.copy(a,r,{x:0,y:s-1},{x:n,y:i-1},{width:o,height:1}),xp.copy(a,r,{x:0,y:0},{x:n,y:i+s},{width:o,height:1}),xp.copy(a,r,{x:o-1,y:0},{x:n-1,y:i},{width:1,height:s}),xp.copy(a,r,{x:0,y:0},{x:n+o,y:i},{width:1,height:s})}this._dirty=!0}},vb=1114111,yb={start:0,end:vb},bb=0;function xb(e){let t=/^u\+([0-9a-f]*)(\?+)$/i.exec(e);if(t){let[,e,n]=t;return e.length+n.length>6?null:Sb(parseInt(`${e}${`0`.repeat(n.length)}`,16),parseInt(`${e}${`f`.repeat(n.length)}`,16))}let n=/^u\+([0-9a-f]{1,6})(?:-([0-9a-f]{1,6}))?$/i.exec(e);if(!n)return null;let r=parseInt(n[1],16);return Sb(r,n[2]===void 0?r:parseInt(n[2],16))}function Sb(e,t){return e>t||e>vb?null:{start:e,end:Math.min(t,vb)}}function Cb(e,t){return e.ranges.some(({start:e,end:n})=>t>=e&&t<=n)}var wb=class{constructor(e){this.requestManager=e,this._faces={},this._registered=new Set}setFontFaces(e){this._unregisterAll(),this._faces={};for(let[t,n]of Object.entries(e??{})){let e=Array.isArray(n)?n:[n];this._faces[t]=e.map(e=>this._declareFontFace(t,e)).filter(e=>e!==null)}}hasFontFaces(){return Object.keys(this._faces).length>0}async getFontFamily(e,t){for(let n of e.split(`,`))for(let e of this._faces[n.trim()]??[])if(Cb(e,t)&&(e.loaded??=this._loadFontFace(e),await e.loaded))return e.family;return null}_declareFontFace(e,t){let n=typeof t==`string`?{url:t}:t;if(typeof n?.url!=`string`)return Rn(`Ignoring the font face declared for "${e}": it has no URL.`),null;let r=`maplibre-gl-font-face-${bb++}`,i=n[`unicode-range`];if(!i?.length)return{url:n.url,ranges:[yb],family:r};let a=[];for(let e of i){let t=xb(e);if(!t){Rn(`Ignoring the unicode range "${e}" of the font face at ${n.url}: it is not a valid range.`);continue}a.push(t)}return a.length?{url:n.url,ranges:a,family:r}:null}async _loadFontFace(e){if(typeof FontFace>`u`||typeof document>`u`||!document.fonts)return Rn(`Ignoring the font face at ${e.url}: this environment has no CSS Font Loading API.`),!1;let t;try{return t=new FontFace(e.family,await this._downloadFontFile(e.url)),Object.values(this._faces).some(t=>t.includes(e))?(document.fonts.add(t),this._registered.add(t),await t.load(),!0):!1}catch(n){return t&&this._unregister(t),Rn(`Ignoring the font face at ${e.url}: ${nn(n).message}`),!1}}async _downloadFontFile(e){let t=await Vr(await this.requestManager.transformRequest(e,`Glyphs`),new AbortController);if(!t?.data)throw Error(`the response was empty for the font file at ${e}`);return t.data}_unregister(e){document.fonts?.delete(e),this._registered.delete(e)}_unregisterAll(){for(let e of this._registered)document.fonts?.delete(e);this._registered.clear()}destroy(){this._unregisterAll(),this._faces={}}},Tb=0x56bc75e2d63100000,Eb=new Float64Array(256);for(let e=0;e<256;e++){let t=.5-(e/255)**(1/2.2);Eb[e]=t*Math.abs(t)}Eb[255]=-0x56bc75e2d63100000;var Db=class{constructor({fontSize:e=24,buffer:t=3,radius:n=8,cutoff:r=.25,fontFamily:i=`sans-serif`,fontWeight:a=`normal`,fontStyle:o=`normal`,lang:s=null}={}){this.buffer=t,this.radius=n,this.cutoff=r,this.lang=s;let c=this.size=e+t*4,l=this._createCanvas(c),u=this.ctx=l.getContext(`2d`,{willReadFrequently:!0});u.font=`${o} ${a} ${e}px ${i}`,u.textBaseline=`alphabetic`,u.textAlign=`left`,u.fillStyle=`black`,this.gridOuter=new Float64Array(c*c),this.gridInner=new Float64Array(c*c),this.f=new Float64Array(c),this.z=new Float64Array(c+1),this.v=new Uint16Array(c)}_createCanvas(e){if(typeof OffscreenCanvas<`u`)return new OffscreenCanvas(e,e);let t=document.createElement(`canvas`);return t.width=t.height=e,t}draw(e){let{width:t,actualBoundingBoxAscent:n,actualBoundingBoxDescent:r,actualBoundingBoxLeft:i,actualBoundingBoxRight:a}=this.ctx.measureText(e),o=Math.ceil(n),s=Math.floor(-i),c=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(a)-s)),l=Math.max(0,Math.min(this.size-this.buffer,o+Math.ceil(r))),u=c+2*this.buffer,d=l+2*this.buffer,f=Math.max(u*d,0),p=new Uint8ClampedArray(f),m={data:p,width:u,height:d,glyphWidth:c,glyphHeight:l,glyphTop:o,glyphLeft:s,glyphAdvance:t};if(c===0||l===0)return m;let{ctx:h,buffer:g,gridInner:_,gridOuter:v}=this;this.lang&&(h.lang=this.lang),h.clearRect(g,g,c,l),h.fillText(e,g-s,g+o);let y=h.getImageData(g,g,c,l);v.fill(Tb,0,f),_.fill(0,0,f);let b=3;for(let e=0;e<l;e++){let t=(e+g)*u+g;for(let e=0;e<c;e++,b+=4,t++){let e=y.data[b];if(e===0)continue;let n=Eb[e];v[t]=Math.max(0,n),_[t]=Math.max(0,-n)}}Ob(v,0,0,u,d,u,this.f,this.v,this.z);let x=Math.min(g,1);Ob(_,g-x,g-x,c+2*x,l+2*x,u,this.f,this.v,this.z);let S=255/this.radius,C=255*(1-this.cutoff);for(let e=0;e<f;e++){let t=Math.sqrt(v[e])-Math.sqrt(_[e]);p[e]=Math.round(C-S*t)}return m}};function Ob(e,t,n,r,i,a,o,s,c){for(let l=t;l<t+r;l++)kb(e,n*a+l,a,i,o,s,c);for(let l=n;l<n+i;l++)kb(e,l*a+t,1,r,o,s,c)}function kb(e,t,n,r,i,a,o){a[0]=0,o[0]=-0x56bc75e2d63100000,o[1]=Tb,i[0]=e[t];for(let s=1,c=0,l=0;s<r;s++){i[s]=e[t+s*n];let r=s*s;do{let e=a[c];l=(i[s]-i[e]+r-e*e)/(s-e)/2}while(l<=o[c]&&--c>-1);c++,a[c]=s,o[c]=l,o[c+1]=Tb}for(let s=0,c=0;s<r;s++){for(;o[c+1]<s;)c++;let r=a[c],l=s-r;e[t+s*n]=i[r]+l*l}}var Ab=B.layout_symbol[`text-font`].default.join(`,`),jb=(e,t)=>{let n=new Db(e);return n.buffer=t,n},Mb=class{constructor(e,t,n,r=jb){this.requestManager=e,this.localIdeographFontFamily=t,this.entries={},this.lang=n,this.fontFaceManager=new wb(e),this.createRasterizer=r}setURL(e){this.url=e}setFontFaces(e){this.fontFaceManager.setFontFaces(e),this.entries={}}async getGlyphs(e){let t=[];for(let n in e)for(let r in e[n])for(let i of e[n][r])t.push(this._getAndCacheGlyphsPromise(n,i,r));let n=await Promise.all(t),r={};for(let{stack:e,id:t,variant:i,glyph:a}of n)r[e]||={},r[e][i]||={},r[e][i][t]=a&&{id:a.id,bitmap:a.bitmap.clone(),metrics:a.metrics};return r}async _getAndCacheGlyphsPromise(e,t,n){this.entries[e]??={glyphs:{default:{}},requests:{},ranges:{}};let r=this.entries[e],i=r.glyphs[n]||={},a=i[t];if(a!==void 0)return{stack:e,id:t,variant:n,glyph:a};if(n!=="default")return i[t]=null,{stack:e,id:t,variant:n,glyph:null};let o=t.codePointAt(0),s=this.fontFaceManager.hasFontFaces()?await this.fontFaceManager.getFontFamily(e,o):null;return s?(a=i[t]=await this._drawGlyph(r,e,t,s),{stack:e,id:t,variant:n,glyph:a}):!this.url||C_(t)||this._charUsesLocalIdeographFontFamily(o)?(a=i[t]=await this._drawGlyph(r,e,t),{stack:e,id:t,variant:n,glyph:a}):{...await this._downloadAndCacheRangePromise(e,t),variant:n}}async _downloadAndCacheRangePromise(e,t){let n=t.codePointAt(0),r=this.entries[e],i=Math.floor(n/256);if(r.ranges[i])return{stack:e,id:t,glyph:null};r.requests[i]||=this._loadGlyphRange(e,i);try{let a=await r.requests[i];for(let e in a)r.glyphs.default[String.fromCodePoint(+e)]=a[+e];return r.ranges[i]=!0,{stack:e,id:t,glyph:a[n]||null}}catch(a){let o=r.glyphs.default[t]=await this._drawGlyph(r,e,t);return this._warnOnMissingGlyphRange(o,i,n,nn(a)),{stack:e,id:t,glyph:o}}}async _loadGlyphRange(e,t){let n=t*256,r=n+255,i=await Vr(await this.requestManager.transformRequest(this.url.replace(`{fontstack}`,e).replace(`{range}`,`${n}-${r}`),`Glyphs`),new AbortController);if(!i?.data)throw Error(`Could not load glyph range. range: ${t}, ${n}-${r}`);let a={};for(let e of pv(i.data))a[e.id]=e;return a}_warnOnMissingGlyphRange(e,t,n,r){let i=t*256;Rn(`Unable to load glyph range ${t}, ${i}-${i+255}. Rendering codepoint U+${n.toString(16).padStart(4,`0`).toUpperCase()} locally instead. ${r}`)}_charUsesLocalIdeographFontFamily(e){return!!this.localIdeographFontFamily&&Vg(e)}async _drawGlyph(e,t,n,r){let i=(await this._getTinySDF(e,t,n,r)).draw(n),a=/^\p{gc=Cf}+$/u.test(n);return{id:n.codePointAt(0),bitmap:new bp({width:i.width||60,height:i.height||60},i.data),metrics:{width:a?0:i.glyphWidth/2||24,height:i.glyphHeight/2||24,left:i.glyphLeft/2+.5||0,top:i.glyphTop/2-27.5||-8,advance:a?0:i.glyphAdvance/2||24,isDoubleResolution:!0}}}_getTinySDF(e,t,n,r){let i=C_(n);if(r){let t=i?`clusterTinySDFs`:`fontFaceTinySDFs`;return e[t]??={},e[t][r]||=this._createTinySDF(r,!1,i?3:1),e[t][r]}let a=t===Ab&&this.localIdeographFontFamily!==``&&this._charUsesLocalIdeographFontFamily(n.codePointAt(0)),o=a?this.localIdeographFontFamily:t;if(i)return e.clusterTinySDFs??={},e.clusterTinySDFs[o]||=this._createTinySDF(o,!0,3),e.clusterTinySDFs[o];let s=a?`ideographTinySDF`:`tinySDF`;return e[s]||=this._createTinySDF(o),e[s]}async _createTinySDF(e,t=!0,n=1){let r=e?e.split(`,`):[];r.push(`sans-serif`);let i=r.map(e=>/[-\w]+/.test(e)?e:`'${CSS.escape(e)}'`).join(`,`),a=t?this._fontWeight(r[0]):void 0,o=t?this._fontStyle(r[0]):`normal`;if(typeof document<`u`&&document.fonts?.load)try{await document.fonts.load(`${o} ${a||`normal`} 48px ${i}`)}catch(e){Rn(`Failed to load font "${i}": ${nn(e).message}`)}return this.createRasterizer({fontSize:48,buffer:Math.max(6,Math.ceil(48*(n-1)/4)),radius:16,cutoff:.25,fontFamily:i,fontWeight:a,fontStyle:o,lang:this.lang},6)}_fontStyle(e){return/italic/i.test(e)?`italic`:/oblique/i.test(e)?`oblique`:`normal`}_fontWeight(e){let t={thin:100,hairline:100,"extra light":200,"ultra light":200,light:300,normal:400,regular:400,medium:500,semibold:600,demibold:600,bold:700,"extra bold":800,"ultra bold":800,black:900,heavy:900,"extra black":950,"ultra black":950},n;for(let[r,i]of Object.entries(t))RegExp(`\\b${r}\\b`,`i`).test(e)&&(n=`${i}`);return n}destroy(){for(let e in this.entries){let t=this.entries[e];t.tinySDF=null,t.ideographTinySDF=null,t.fontFaceTinySDFs={},t.glyphs={default:{}},t.requests={},t.ranges={}}this.entries={},this.fontFaceManager.destroy()}},Nb,Pb=()=>Nb||=new Au({anchor:new q(B.light.anchor,`anchor`),position:new q(B.light.position,`position`),color:new q(B.light.color,`color`),intensity:new q(B.light.intensity,`intensity`)}),Fb=class extends Yr{constructor(e,t){super(),this._transitionable=new yu(Pb(),`light`,t),this.setLight(e),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new gu(0))}getLight(){return this._transitionable.serialize()}getEvaluated(){return{anchor:this.properties.get(`anchor`),position:this.properties.get(`position`),color:this.properties.get(`color`),intensity:this.properties.get(`intensity`)}}setLight(e,t={}){this._validate(tu.light,e,t)||this._transitionable.setValues(e)}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}applyGlobalStateChange(e,t,n){this._transitioning=this._transitionable.applyGlobalStateChange(e,t,this._transitioning,n)}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}_validate(e,t,n){return ou(this,e,{value:t},n)}},Ib,Lb=()=>Ib||=new Au({"sky-color":new q(B.sky[`sky-color`],`sky-color`),"horizon-color":new q(B.sky[`horizon-color`],`horizon-color`),"fog-color":new q(B.sky[`fog-color`],`fog-color`),"fog-ground-blend":new q(B.sky[`fog-ground-blend`],`fog-ground-blend`),"horizon-fog-blend":new q(B.sky[`horizon-fog-blend`],`horizon-fog-blend`),"sky-horizon-blend":new q(B.sky[`sky-horizon-blend`],`sky-horizon-blend`),"atmosphere-blend":new q(B.sky[`atmosphere-blend`],`atmosphere-blend`)}),Rb=class extends Yr{constructor(e,t){super(),this._transitionable=new yu(Lb(),`sky`,t),this.setSky(e),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new gu(0))}setSky(e,t={}){return!this._validate(tu.sky,e,t)&&(e||={"sky-color":`transparent`,"horizon-color":`transparent`,"fog-color":`transparent`,"fog-ground-blend":1,"atmosphere-blend":0},this._transitionable.setValues(e),!0)}getSky(){return this._transitionable.serialize()}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}applyGlobalStateChange(e,t,n){this._transitioning=this._transitionable.applyGlobalStateChange(e,t,this._transitioning,n)}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}_validate(e,t,n={}){return ou(this,e,{value:t},n)}getEvaluated(){return{"sky-color":this.properties.get(`sky-color`),"horizon-color":this.properties.get(`horizon-color`),"fog-color":this.properties.get(`fog-color`),"fog-ground-blend":this.properties.get(`fog-ground-blend`),"horizon-fog-blend":this.properties.get(`horizon-fog-blend`),"sky-horizon-blend":this.properties.get(`sky-horizon-blend`),"atmosphere-blend":this.properties.get(`atmosphere-blend`)}}};function zb(e){return e<60?0:e<70?(e-60)/10:1}var Bb=class{constructor(e,t){this.width=e,this.height=t,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(e,t){let n=e.join(`,`)+String(t);return this.dashEntry[n]||=this.addDash(e,t),this.dashEntry[n]}getDashRanges(e,t,n){let r=e.length%2==1,i=[],a=r?-e[e.length-1]*n:0,o=e[0]*n,s=!0;i.push({left:a,right:o,isDash:s,zeroLength:e[0]===0});let c=e[0];for(let t=1;t<e.length;t++){s=!s;let r=e[t];a=c*n,c+=r,o=c*n,i.push({left:a,right:o,isDash:s,zeroLength:r===0})}return i}addRoundDash(e,t,n){let r=t/2;for(let t=-n;t<=n;t++){let i=this.nextRow+n+t,a=this.width*i,o=0,s=e[o];for(let i=0;i<this.width;i++){i/s.right>1&&(s=e[++o]);let c=Math.abs(i-s.left),l=Math.abs(i-s.right),u=Math.min(c,l),d,f=t/n*(r+1);if(s.isDash){let e=r-Math.abs(f);d=Math.sqrt(u*u+e*e)}else d=r-Math.sqrt(u*u+f*f);this.data[a+i]=Math.max(0,Math.min(255,d+128))}}}addRegularDash(e){for(let t=e.length-1;t>=0;--t){let n=e[t],r=e[t+1];n.zeroLength?e.splice(t,1):r?.isDash===n.isDash&&(r.left=n.left,e.splice(t,1))}let t=e[0],n=e[e.length-1];t.isDash===n.isDash&&(t.left=n.left-this.width,n.right=t.right+this.width);let r=this.width*this.nextRow,i=0,a=e[i];for(let t=0;t<this.width;t++){t/a.right>1&&(a=e[++i]);let n=Math.abs(t-a.left),o=Math.abs(t-a.right),s=Math.min(n,o),c=a.isDash?s:-s;this.data[r+t]=Math.max(0,Math.min(255,c+128))}}addDash(e,t){let n=t?7:0,r=2*n+1;if(this.nextRow+r>this.height)return Rn(`LineAtlas out of space`),null;let i=0;for(let t of e)i+=t;if(i!==0){let r=this.width/i,a=this.getDashRanges(e,this.width,r);t?this.addRoundDash(a,r,n):this.addRegularDash(a)}let a={y:this.nextRow+n,height:2*n,width:i};return this.nextRow+=r,this.dirty=!0,a}bind(e){let t=e.gl;this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.ALPHA,t.UNSIGNED_BYTE,this.data))):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,this.width,this.height,0,t.ALPHA,t.UNSIGNED_BYTE,this.data))}},Vb=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=()=>{}}},Hb={once:!0},Ub=class{constructor(e,t){this.target=e,this.mapId=t,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Vb(()=>this.process()),this.subscription=Zn(this.target,`message`,e=>this.receive(e),!1),this.globalScope=Hn(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?Zn(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 dr(t.signal.reason))},Hb):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:pu(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(Hn(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(nn(mu(t.error))):n.resolve(mu(t.data));return}if(!this.messageHandlers[t.type]){this.completeTask(e,null,null);return}let n=mu(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,nn(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?pu(t):null,data:pu(n,r)};this.target.postMessage(i,{transfer:r})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}};function Wb(e){if(!e)return!1;let t=globalThis.location;if(!t)return!1;try{return new URL(e,t.href).origin!==t.origin}catch{return!1}}function Gb(){let e=import.meta.url;if(!/^https?:/.test(e))return``;let t=e.endsWith(`-dev.mjs`)?`maplibre-gl-worker-dev.mjs`:`maplibre-gl-worker.mjs`,n=new URL(`./${t}`,e);return n.searchParams.set(`v`,je),n.href}function Kb(e){return e.split(/[?#]/)[0].endsWith(`.cjs`)}function qb(e,t){if(t)try{return new Worker(e,{type:`module`})}catch(e){console.warn(`Module worker not supported, falling back to classic worker`,e)}return new Worker(e)}async function Jb(e){let t=await fetch(e);if(!t.ok)throw Error(`Failed to fetch worker script (${t.status}): ${e}`);let n=await t.text(),r=new Blob([n],{type:`text/javascript`});return URL.createObjectURL(r)}function Yb(e){let t=new Blob([`import ${JSON.stringify(new URL(e,import.meta.url).href)}`],{type:`text/javascript`});return URL.createObjectURL(t)}async function Xb(){let e=kr.WORKER_URL||Gb(),t=!Kb(e);if(!Wb(e))return qb(e,t);if(t){let n=Yb(e);try{return qb(n,t)}finally{URL.revokeObjectURL(n)}}let n=await Jb(e);try{return qb(n,t)}finally{URL.revokeObjectURL(n)}}var Zb=`maplibre_preloaded_worker_pool`,Qb=class e{constructor(){this.active={},this.workersPromise=null}async acquire(t){if(this.active[t]=!0,!this.workersPromise){let t=[];for(;t.length<e.workerCount;)t.push(Xb());this.workersPromise=Promise.all(t)}return(await this.workersPromise).slice()}release(e){if(delete this.active[e],this.numActive()===0&&this.workersPromise){let e=this.workersPromise;this.workersPromise=null,e.then(e=>{for(let t of e)t.terminate()})}}isPreloaded(){return!!this.active[Zb]}numActive(){return Object.keys(this.active).length}},$b=Math.floor(_r.hardwareConcurrency/2);Qb.workerCount=Gn(globalThis)?Math.max(Math.min($b,3),1):1;var ex;function tx(){return ex||=new Qb,ex}function nx(){tx().acquire(Zb)}function rx(){let e=ex;e&&(e.isPreloaded()&&e.numActive()===1?(e.release(Zb),ex=null):console.warn(`Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()`))}var ix=class extends Yr{constructor(e,t){super(),this.workerPool=e,this.actors=[],this.currentActor=0,this.id=t,this.removed=!1,this.workerErrorSubscriptions=[],this.actorsPromise=this.initActors(t)}async initActors(e){let t=await this.workerPool.acquire(e);if(this.removed)return[];if(this.actors=t.map((t,n)=>{this.workerErrorSubscriptions.push(Zn(t,`error`,()=>{this.fire(new R(Error(`Worker failed to load. Check that the worker URL is correct.`)))},!1));let r=new Ub(t,e);return r.name=`Worker ${n}`,r}),!this.actors.length)throw Error(`No actors found`);return this.actors}async broadcast(e,t){let n=await this.actorsPromise;return Promise.all(n.map(n=>n.sendAsync({type:e,data:t})))}async getActor(){let e=await this.actorsPromise;return this.currentActor=(this.currentActor+1)%e.length,e[this.currentActor]}async waitForInitComplete(){this.actors.length===0&&await this.actorsPromise}getReadyActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(e=!0){this.removed=!0;for(let e of this.actors)e.remove();for(let e of this.workerErrorSubscriptions)e.unsubscribe();this.actors=[],this.workerErrorSubscriptions=[],this.setEventedParent(null),e&&this.workerPool.release(this.id)}async registerMessageHandler(e,t){let n=await this.actorsPromise;for(let r of n)r.registerMessageHandler(e,t)}async unregisterMessageHandler(e){let t=await this.actorsPromise;for(let n of t)n.unregisterMessageHandler(e)}},ax;function ox(){return ax||(ax=new ix(tx(),Nr),ax.registerMessageHandler(`GR`,(e,t,n)=>zr(t,n))),ax}function sx(e,t){let n=Ke();M(n,n,[1,1,0]),Qe(n,n,[e.width*.5,e.height*.5,1]);let r=e.getFastPathSimpleProjectionMatrix(t);return r?Ze(n,n,r):n}function cx(e,t,n){if(e)for(let r of e){let e=t[r];if(e?.source===n&&e.type===`fill-extrusion`)return!0}else for(let e in t){let r=t[e];if(r.source===n&&r.type===`fill-extrusion`)return!0}return!1}function lx(e,t,n,r,i,a,o){let s=cx(i?.layers??null,t,e.id),c=a.maxPitchScaleFactor(),l=e.tilesIn(r,c,s);l.sort(fx);let u=[];for(let r of l)u.push({wrappedTileID:r.tileID.wrapped().key,queryResults:r.tile.queryRenderedFeatures(t,n,e.getState(),r.queryGeometry,r.cameraQueryGeometry,r.scale,i,a,c,sx(a,r.tileID),o?(e,t)=>o(r.tileID,e,t):void 0)});return mx(px(u),e)}function ux(e,t,n,r,i,a,o){let s={},c=a.queryRenderedSymbols(r),l=[];for(let e of Object.keys(c).map(Number))l.push(o[e]);l.sort(fx);for(let n of l){let r=n.featureIndex.lookupSymbolFeatures(c[n.bucketInstanceId],t,n.bucketIndex,n.sourceLayerIndex,{filterSpec:i.filter,globalState:i.globalState},i.layers,i.availableImages,e);for(let e in r){s[e]||=[];let t=r[e];t.sort((e,t)=>{let r=n.featureSortOrder;if(r){let n=r.indexOf(e.featureIndex);return r.indexOf(t.featureIndex)-n}return t.featureIndex-e.featureIndex});for(let n of t)s[e].push(n)}}return hx(s,e,n)}function dx(e,t){let n=e.getRenderableIds().map(t=>e.getTileByID(t)),r=[],i={};for(let e of n){let n=e.tileID.canonical.key;i[n]||(i[n]=!0,e.querySourceFeatures(r,t))}return r}function fx(e,t){let n=e.tileID,r=t.tileID;return n.overscaledZ-r.overscaledZ||n.canonical.y-r.canonical.y||n.wrap-r.wrap||n.canonical.x-r.canonical.x}function px(e){let t={},n={};for(let{queryResults:r,wrappedTileID:i}of e){n[i]||={};let e=n[i];for(let n in r){let i=r[n];e[n]||={};let a=e[n];t[n]||=[];for(let e of i)a[e.featureIndex]||(a[e.featureIndex]=!0,t[n].push(e))}}return t}function mx(e,t){for(let n in e)for(let r of e[n])gx(r,t);return e}function hx(e,t,n){for(let r in e)for(let i of e[r]){let e=n[t[r].source];gx(i,e)}return e}function gx(e,t){let n=e.feature,r=t.getFeatureState(n.layer[`source-layer`],n.id);n.source=n.layer.source,n.layer[`source-layer`]&&(n.sourceLayer=n.layer[`source-layer`]),n.state=r}async function _x(e,t,n,r){let i=e;if(e.url?i=(await Br(await t.transformRequest(e.url,`Source`),n)).data:await _r.frameAsync(n,r),!i)return null;let a=Tn(F(i,e),[`tiles`,`minzoom`,`maxzoom`,`attribution`,`bounds`,`scheme`,`tileSize`,`encoding`]);return`vector_layers`in i&&i.vector_layers&&(a.vectorLayerIds=i.vector_layers.map(e=>e.id)),a}var vx=class e{constructor(e,t){e&&(t?this.setSouthWest(e).setNorthEast(t):Array.isArray(e)&&(e.length===4?this.setSouthWest([e[0],e[1]]).setNorthEast([e[2],e[3]]):this.setSouthWest(e[0]).setNorthEast(e[1])))}setNorthEast(e){return this._ne=e instanceof Q?new Q(e.lng,e.lat):Q.convert(e),this}setSouthWest(e){return this._sw=e instanceof Q?new Q(e.lng,e.lat):Q.convert(e),this}extend(t){let n=this._sw,r=this._ne,i,a;if(t instanceof Q)i=t,a=t;else if(t instanceof e){if(i=t._sw,a=t._ne,!i||!a)return this}else{if(Array.isArray(t)){if(t.length===4||t.every(Array.isArray)){let n=t;return this.extend(e.convert(n))}{let e=t;return this.extend(Q.convert(e))}}return t&&(`lng`in t||`lon`in t)&&`lat`in t?this.extend(Q.convert(t)):this}return!n&&!r?(this._sw=new Q(i.lng,i.lat),this._ne=new Q(a.lng,a.lat)):(n.lng=Math.min(i.lng,n.lng),n.lat=Math.min(i.lat,n.lat),r.lng=Math.max(a.lng,r.lng),r.lat=Math.max(a.lat,r.lat)),this}getCenter(){return new Q((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new Q(this.getWest(),this.getNorth())}getSouthEast(){return new Q(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(e){let{lng:t,lat:n}=Q.convert(e),r=this._sw.lat<=n&&n<=this._ne.lat,i=this._sw.lng<=t&&t<=this._ne.lng;return this._sw.lng>this._ne.lng&&(i=this._sw.lng>=t&&t>=this._ne.lng),r&&i}intersects(t){if(t=e.convert(t),!(t.getNorth()>=this.getSouth()&&t.getSouth()<=this.getNorth()))return!1;let n=Math.abs(this.getEast()-this.getWest()),r=Math.abs(t.getEast()-t.getWest());if(n>=360||r>=360)return!0;let i=wn(this.getWest(),-180,180),a=wn(this.getEast(),-180,180),o=wn(t.getWest(),-180,180),s=wn(t.getEast(),-180,180),c=i>a,l=o>s;return c&&l?!0:c?s>=i||o<=a:l?a>=o||i<=s:o<=a&&s>=i}static convert(t){return t instanceof e||!t?t:new e(t)}static fromLngLat(t,n=0){let r=360*n/40075017,i=r/Math.cos(Math.PI/180*t.lat);return new e(new Q(t.lng-i,t.lat-r),new Q(t.lng+i,t.lat+r))}adjustAntiMeridian(){let t=new Q(this._sw.lng,this._sw.lat),n=new Q(this._ne.lng,this._ne.lat);return t.lng>n.lng?new e(t,new Q(n.lng+360,n.lat)):new e(t,n)}},yx=class{constructor(e,t,n){this.bounds=vx.convert(this.validateBounds(e)),this.minzoom=t||0,this.maxzoom=n||24}validateBounds(e){return!Array.isArray(e)||e.length!==4?[-180,-90,180,90]:[Math.max(-180,e[0]),Math.max(-90,e[1]),Math.min(180,e[2]),Math.min(90,e[3])]}contains(e){let t=2**e.z,n={minX:Math.floor(Eh(this.bounds.getWest())*t),minY:Math.floor(Dh(this.bounds.getNorth())*t),maxX:Math.ceil(Eh(this.bounds.getEast())*t),maxY:Math.ceil(Dh(this.bounds.getSouth())*t)};return e.x>=n.minX&&e.x<n.maxX&&e.y>=n.minY&&e.y<n.maxY}},bx=class extends Yr{constructor(e,t,n,r){if(super(),this.id=e,this.dispatcher=n,this.type=`vector`,this.minzoom=0,this.maxzoom=22,this.scheme=`xyz`,this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,F(this,Tn(t,[`url`,`scheme`,`tileSize`,`promoteId`,`encoding`])),this._options=F({type:`vector`},t),this._collectResourceTiming=t.collectResourceTiming,this.tileSize!==512)throw Error(`vector tile sources must have a tileSize of 512`);this.setEventedParent(r)}async load(e=!1){this._loaded=!1,this.fire(new $r(`dataloading`)),this._tileJSONRequest=new AbortController;try{let t=await _x(this._options,this.map._requestManager,this._tileJSONRequest,this.map._ownerWindow);this._tileJSONRequest=null,this._loaded=!0,t&&(F(this,t),t.bounds&&(this.tileBounds=new yx(t.bounds,this.minzoom,this.maxzoom)),this.fire(new $r(`data`,{sourceDataType:`metadata`})),this.fire(new $r(`data`,{sourceDataType:`content`,sourceDataChanged:e})))}catch(e){this._tileJSONRequest=null,this._loaded=!0,fr(e)||this.fire(new R(nn(e)))}}loaded(){return this._loaded}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}onAdd(e){this.map=e,this.load()}setSourceProperty(e){this._tileJSONRequest&&this._tileJSONRequest.abort(),e(),this.load(!0)}setTiles(e){return this.setSourceProperty(()=>{this.tiles=e,this._options.tiles=e}),this}setUrl(e){return this.setSourceProperty(()=>{this.url=e,this._options.url=e}),this}onRemove(){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null)}serialize(){return F({},this._options)}async loadTile(e){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n={request:await this.map._requestManager.transformRequest(t,`Tile`),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,subdivisionGranularity:this.map.style.projection.subdivisionGranularity,encoding:this.encoding,overzoomParameters:await this._getOverzoomParameters(e),etag:e.etag};if(n.request.collectResourceTiming=this._collectResourceTiming,await this.dispatcher.waitForInitComplete(),e.aborted)return;let r=`RT`;if(!e.actor||e.state===`expired`)e.actor=this.dispatcher.getReadyActor(),r=`LT`;else if(e.state===`loading`)return new Promise((t,n)=>{e.reloadPromise={resolve:t,reject:n}});e.abortController=new AbortController;try{let t=await e.actor.sendAsync({type:r,data:n},e.abortController);if(delete e.abortController,e.aborted)return;this._afterTileLoadWorkerResponse(e,t);let i={};return t?.etagUnmodified&&(i.unmodified=!0),i}catch(t){if(delete e.abortController,e.aborted||fr(t))return;if(t&&t.status!==404)throw t;this._afterTileLoadWorkerResponse(e,null)}}async _getOverzoomParameters(e){if(e.tileID.canonical.z<=this.maxzoom||this.map._zoomLevelsToOverscale===void 0)return;let t=e.tileID.scaledTo(this.maxzoom).canonical,n=t.url(this.tiles,this.map.getPixelRatio(),this.scheme);return{maxZoomTileID:t,overzoomRequest:await this.map._requestManager.transformRequest(n,`Tile`)}}_afterTileLoadWorkerResponse(e,t){if(t?.resourceTiming&&(e.resourceTiming=t.resourceTiming),t&&this.map._refreshExpiredTiles&&e.setExpiryData(t),e.etag=t?.etag,e.loadVectorData(t,this.map.style),e.reloadPromise){let t=e.reloadPromise;e.reloadPromise=null,this.loadTile(e).then(t.resolve).catch(t.reject)}}async abortTile(e){e.abortController&&(e.abortController.abort(),delete e.abortController),e.actor&&await e.actor.sendAsync({type:`AT`,data:{uid:e.uid,type:this.type,source:this.id}})}async unloadTile(e){e.unloadVectorData(),e.actor&&await e.actor.sendAsync({type:`RMT`,data:{uid:e.uid,type:this.type,source:this.id}})}hasTransition(){return!1}},xx=class extends Yr{constructor(e,t,n,r){super(),this.id=e,this.dispatcher=n,this.setEventedParent(r),this.type=`raster`,this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=`xyz`,this.tileSize=512,this._loaded=!1,this._premultiplyAlpha=!0,this._options=F({type:`raster`},t),F(this,Tn(t,[`url`,`scheme`,`tileSize`]))}async load(e=!1){this._loaded=!1,this.fire(new $r(`dataloading`)),this._tileJSONRequest=new AbortController;try{let t=await _x(this._options,this.map._requestManager,this._tileJSONRequest,this.map._ownerWindow);this._tileJSONRequest=null,this._loaded=!0,t&&(F(this,t),t.bounds&&(this.tileBounds=new yx(t.bounds,this.minzoom,this.maxzoom)),this.fire(new $r(`data`,{sourceDataType:`metadata`})),this.fire(new $r(`data`,{sourceDataType:`content`,sourceDataChanged:e})))}catch(e){this._tileJSONRequest=null,this._loaded=!0,fr(e)||this.fire(new R(nn(e)))}}loaded(){return this._loaded}onAdd(e){this.map=e,this.load()}onRemove(){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null)}setSourceProperty(e){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null),e(),this.load(!0)}setTiles(e){return this.setSourceProperty(()=>{this.tiles=e,this._options.tiles=e}),this}setUrl(e){return this.setSourceProperty(()=>{this.url=e,this._options.url=e}),this}serialize(){return F({},this._options)}setPremultiplyAlpha(e){return this._premultiplyAlpha===e||this.setSourceProperty(()=>{this._premultiplyAlpha=e}),this}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}async loadTile(e){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n=this._premultiplyAlpha,r=n?void 0:{premultiplyAlpha:`none`};e.abortController=new AbortController;try{let i=await Wr.transformAndGetImage(this.map._requestManager,t,`Tile`,e.abortController,this.map._refreshExpiredTiles,r);if(delete e.abortController,e.aborted){e.state=`unloaded`;return}if(i){this.map._refreshExpiredTiles&&(i.cacheControl||i.expires)&&e.setExpiryData({cacheControl:i.cacheControl,expires:i.expires});let t=this.map.painter.context,r=t.gl,a=i.data??new xp({width:1,height:1},new Uint8Array(4));e.texture=this.map.painter.getTileTexture(a.width),e.texture?e.texture.update(a,{useMipmap:!0,premultiply:n}):(e.texture=new Ip(t,a,r.RGBA,{useMipmap:!0,premultiply:n}),e.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE,r.LINEAR_MIPMAP_NEAREST)),e.state=`loaded`}}catch(t){if(delete e.abortController,e.aborted)e.state=`unloaded`;else if(t)throw e.state=`errored`,t}}async abortTile(e){e.abortController&&(e.abortController.abort(),delete e.abortController)}async unloadTile(e){e.texture&&this.map.painter.saveTileTexture(e.texture)}hasTransition(){return!1}};function Sx(e,t,n){return!(e<0||e>25||n<0||n>=2**e||t<0||t>=2**e)}function Cx(e,t){let{x:n,y:r}=Nh.fromLngLat(t);return!(e<0||e>25||r<0||r>=1||n<0||n>=1)}var wx=class{constructor(e,t,n){if(!Sx(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=Dx(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=kx(this.x,this.y,this.z),i=jx(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 j((e.x*t-this.x)*N,(e.y*t-this.y)*N)}toString(){return`${this.z}/${this.x}/${this.y}`}},Tx=class{constructor(e,t){this.wrap=e,this.canonical=t,this.key=Dx(e,t.z,t.z,t.x,t.y)}},Ex=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 wx(n,+r,+i),this.key=Dx(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?Dx(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y):Dx(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 Tx(this.wrap,this.canonical)}toString(){return`${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`}getTilePoint(e){return this.canonical.getTilePoint(new Nh(e.x-this.wrap,e.y))}normalizeCoordinates(t,n,r=N){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 Dx(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 Ox=Math.PI*6378137;function kx(e,t,n){t=2**n-t-1;let r=Ax(e*256,t*256,n),i=Ax((e+1)*256,(t+1)*256,n);return`${r[0]},${r[1]},${i[0]},${i[1]}`}function Ax(e,t,n){let r=2*Ox/256/2**n;return[e*r-Ox,t*r-Ox]}function jx(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}function Mx(e,t){let n=Math.abs(e.wrap*2)-+(e.wrap<0),r=Math.abs(t.wrap*2)-+(t.wrap<0);return e.overscaledZ-t.overscaledZ||r-n||t.canonical.y-e.canonical.y||t.canonical.x-e.canonical.x}K(`CanonicalTileID`,wx),K(`OverscaledTileID`,Ex,{omit:[`terrainRttPosMatrix32f`]});var Nx=class extends xx{constructor(e,t,n,r){super(e,t,n,r),this.type=`raster-dem`,this.maxzoom=22,this._options=F({type:`raster-dem`},t),this.encoding=t.encoding||`mapbox`,this.redFactor=t.redFactor,this.greenFactor=t.greenFactor,this.blueFactor=t.blueFactor,this.baseShift=t.baseShift}async loadTile(e){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.neighboringTiles=this._getNeighboringTiles(e.tileID),e.abortController=new AbortController;try{let n=await Wr.transformAndGetImage(this.map._requestManager,t,`Tile`,e.abortController,this.map._refreshExpiredTiles,{colorSpaceConversion:`none`});if(delete e.abortController,e.aborted){e.state=`unloaded`;return}if(n){if(this.map._refreshExpiredTiles&&(n.cacheControl||n.expires)&&e.setExpiryData({cacheControl:n.cacheControl,expires:n.expires}),!n.data){e.state=`loaded`;return}let t=n.data,r=Kn(t)&&Pe()?t:await this.readImageNow(t),i={type:this.type,uid:e.uid,source:this.id,rawImageData:r,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(e.actor&&e.state!==`expired`&&e.state!==`reloading`)return;await this.dispatcher.waitForInitComplete(),(!e.actor||e.state===`expired`)&&(e.actor=this.dispatcher.getReadyActor()),e.dem=await e.actor.sendAsync({type:`LDT`,data:i}),e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.needsColorReliefPrepare=!0,e.state=`loaded`}}catch(t){if(delete e.abortController,e.aborted)e.state=`unloaded`;else if(t)throw e.state=`errored`,t}}async readImageNow(e){if(typeof VideoFrame<`u`&&Ie()){let t=e.width+4,n=e.height+4;try{return new xp({width:t,height:n},await Xn(e,-2,-2,t,n))}catch{}}return _r.getImageData(e,2)}_getNeighboringTiles(e){let t=e.canonical,n=2**t.z,r=(t.x-1+n)%n,i=t.x===0?e.wrap-1:e.wrap,a=(t.x+1+n)%n,o=t.x+1===n?e.wrap+1:e.wrap,s={};return s[new Ex(e.overscaledZ,i,t.z,r,t.y).key]={backfilled:!1},s[new Ex(e.overscaledZ,o,t.z,a,t.y).key]={backfilled:!1},t.y>0&&(s[new Ex(e.overscaledZ,i,t.z,r,t.y-1).key]={backfilled:!1},s[new Ex(e.overscaledZ,e.wrap,t.z,t.x,t.y-1).key]={backfilled:!1},s[new Ex(e.overscaledZ,o,t.z,a,t.y-1).key]={backfilled:!1}),t.y+1<n&&(s[new Ex(e.overscaledZ,i,t.z,r,t.y+1).key]={backfilled:!1},s[new Ex(e.overscaledZ,e.wrap,t.z,t.x,t.y+1).key]={backfilled:!1},s[new Ex(e.overscaledZ,o,t.z,a,t.y+1).key]={backfilled:!1}),s}async unloadTile(e){e.demTexture&&this.map.painter.saveTileTexture(e.demTexture),e.fbo&&(e.fbo.destroy(),delete e.fbo),e.dem&&delete e.dem,delete e.neighboringTiles,e.state=`unloaded`,e.actor&&await e.actor.sendAsync({type:`RDT`,data:{type:this.type,uid:e.uid,source:this.id}})}};function Px(e,t){return t?e.properties[t]:e.id}function Fx(e,t){let n=new Map;if(e==null||e.type==null)return n;if(e.type===`Feature`){let r=Px(e,t);return r==null?void 0:(n.set(r,e),n)}if(e.type===`FeatureCollection`){let r=new Set;for(let i of e.features){let e=Px(i,t);if(e==null||r.has(e))return;r.add(e),n.set(e,i)}return n}}function Ix(e,t,n){let r=[];if(t.removeAll)e.clear();else if(t.remove)for(let n of t.remove){let t=e.get(n);t&&(r.push(t.geometry),e.delete(n))}if(t.add)for(let i of t.add){let t=Px(i,n);if(t==null)continue;let a=e.get(t);a&&r.push(a.geometry),r.push(i.geometry),e.set(t,i)}if(t.update)for(let n of t.update){let t=e.get(n.id);if(!t)continue;let i=!!n.newGeometry,a=n.removeAllProperties||n.removeProperties?.length>0||n.addOrUpdateProperties?.length>0;if(!i&&!a)continue;r.push(t.geometry);let o={...t};if(e.set(n.id,o),i&&(r.push(n.newGeometry),o.geometry=n.newGeometry),a){if(o.properties=n.removeAllProperties?{}:{...o.properties||{}},n.removeProperties)for(let e of n.removeProperties)delete o.properties[e];if(n.addOrUpdateProperties)for(let{key:e,value:t}of n.addOrUpdateProperties)o.properties[e]=t}}return r}function Lx(e,t,n){if(!e)return t||{};if(!t)return e||{};let r=Bx(e,n),i=Bx(t,n);Rx(r,i);let a={};if((r.removeAll||i.removeAll)&&(a.removeAll=!0),a.remove=new Set([...r.remove,...i.remove]),a.add=new Map([...r.add,...i.add]),a.update=new Map([...r.update,...i.update]),a.remove.size&&a.add.size)for(let e of a.add.keys())a.remove.delete(e);return Vx(a)}function Rx(e,t){t.removeAll&&(e.add.clear(),e.update.clear(),e.remove.clear(),t.remove.clear());for(let n of t.remove)e.add.delete(n),e.update.delete(n);for(let[n,r]of t.update){let i=e.update.get(n);i&&(t.update.set(n,zx(i,r)),e.update.delete(n))}}function zx(e,t){let n={id:e.id};if(t.removeAllProperties&&(delete e.removeProperties,delete e.addOrUpdateProperties,delete t.removeProperties),t.removeProperties&&e.addOrUpdateProperties){let n=new Set(t.removeProperties);e.addOrUpdateProperties=e.addOrUpdateProperties.filter(e=>!n.has(e.key))}return(e.removeAllProperties||t.removeAllProperties)&&(n.removeAllProperties=!0),(e.removeProperties||t.removeProperties)&&(n.removeProperties=[...e.removeProperties||[],...t.removeProperties||[]]),(e.addOrUpdateProperties||t.addOrUpdateProperties)&&(n.addOrUpdateProperties=[...e.addOrUpdateProperties||[],...t.addOrUpdateProperties||[]]),(e.newGeometry||t.newGeometry)&&(n.newGeometry=t.newGeometry||e.newGeometry),n}function Bx(e,t){if(!e)return{};let n={};return n.removeAll=e.removeAll,n.remove=new Set(e.remove||[]),n.add=new Map(e.add?.map(e=>[Px(e,t),e])),n.update=new Map(e.update?.map(e=>[e.id,e])),n}function Vx(e){let t={};return e.removeAll&&(t.removeAll=e.removeAll),e.remove&&(t.remove=Array.from(e.remove)),e.add&&(t.add=Array.from(e.add.values())),e.update&&(t.update=Array.from(e.update.values())),t}function Hx(e){return!e||e.length===0?[]:typeof e[0]==`number`?[e]:e.flatMap(e=>Hx(e))}function Ux(e){return e.type===`GeometryCollection`?e.geometries.flatMap(e=>Ux(e)):Hx(e.coordinates)}function Wx(e){let t=new vx,n;switch(e.type){case`FeatureCollection`:n=e.features.flatMap(e=>Ux(e.geometry));break;case`Feature`:n=Ux(e.geometry);break;default:n=Ux(e)}if(n.length===0)return t;for(let e of n){let[n,r]=e;t.extend([n,r])}return t}function Gx({x:e,y:t,z:n},r=0){let i=kh((e-r)/2**n),a=Ah((t+1+r)/2**n),o=kh((e+1+r)/2**n),s=Ah((t-r)/2**n);return new vx([i,a],[o,s])}var Kx=class{constructor(e){this._waiting=[],this._sending=!1,this._replacedWhileSending=!1,this._handlers=e}isIdle(){return!this._sending&&this._waiting.length===0}top(){return this._waiting.length?this._waiting[this._waiting.length-1]:void 0}some(e){return this._waiting.some(e)}enqueue(e){this._waiting.push(e)}replace(e){this._waiting=[e],this._replacedWhileSending=this._sending}clear(){this._waiting=[]}flush(){if(this.isIdle())return Promise.resolve();if(!this._flushing){let e,t=new Promise(t=>{e=t});this._flushing={promise:t,resolve:e}}let{promise:e}=this._flushing;return this._next(),e}_next(){if(this._sending)return;let e=this._waiting.shift();if(e===void 0){this._flushing?.resolve(),this._flushing=void 0;return}this._sending=!0,this._replacedWhileSending=!1,this._send(e).finally(()=>this._next())}async _send(e){let t;try{t=await this._handlers.send(e)}catch(t){this._sending=!1,this._handlers.onError(e,t);return}this._sending=!1;try{this._handlers.onResult(e,t,this._replacedWhileSending)}catch(t){this._handlers.onError(e,t)}}},qx=class extends Yr{constructor(e,t,n,r){super(),this.id=e,this.type=`geojson`,this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._workerUpdates=new Kx({send:e=>this._sendWorkerUpdate(e),onResult:(e,t,n)=>this._onWorkerUpdateResult(e,t,n),onError:(e,t)=>this._onWorkerUpdateError(t)}),t.data!==void 0&&this._workerUpdates.enqueue({data:t.data}),this.actorPromise=n.getActor(),this.setEventedParent(r),this._data=typeof t.data==`string`?{url:t.data}:{geojson:t.data},this._options=F({},t),this._collectResourceTiming=t.collectResourceTiming,t.maxzoom!==void 0&&(this.maxzoom=t.maxzoom),t.type&&(this.type=t.type),t.attribution&&(this.attribution=t.attribution),this.promoteId=t.promoteId,t.clusterMaxZoom!==void 0&&this.maxzoom<=t.clusterMaxZoom&&Rn(`The maxzoom value "${this.maxzoom}" is expected to be greater than the clusterMaxZoom value "${t.clusterMaxZoom}".`),this.workerOptions=F({source:this.id,geojsonVtOptions:{buffer:this._pixelsToTileUnits(t.buffer===void 0?128:t.buffer),tolerance:this._pixelsToTileUnits(t.tolerance===void 0?.375:t.tolerance),extent:N,maxZoom:this.maxzoom,lineMetrics:t.lineMetrics||!1,generateId:t.generateId||!1,promoteId:this._promoteIdKey,cluster:t.cluster||!1,clusterOptions:{maxZoom:this._getClusterMaxZoom(t.clusterMaxZoom),minPoints:Math.max(2,t.clusterMinPoints||2),extent:N,radius:this._pixelsToTileUnits(t.clusterRadius||50),log:!1,generateId:t.generateId||!1}},clusterProperties:t.clusterProperties,filter:t.filter},t.workerOptions)}get _promoteIdKey(){return typeof this.promoteId==`string`?this.promoteId:void 0}_pixelsToTileUnits(e){return e*(N/this.tileSize)}_tileUnitsToPixels(e){return e/(N/this.tileSize)}_getClusterMaxZoom(e){let t=e?Math.round(e):this.maxzoom-1;return Number.isInteger(e)||e===void 0||Rn(`Integer expected for option 'clusterMaxZoom': provided value "${e}" rounded to "${t}"`),t}async load(){if(this._workerUpdates.isIdle()){Rn(`No pending worker updates for GeoJSONSource ${this.id}.`);return}await this._workerUpdates.flush()}onAdd(e){this.map=e,this.load()}setData(e){return this._data=typeof e==`string`?{url:e}:{geojson:e},this._workerUpdates.replace({data:e}),this._workerUpdates.flush()}updateData(e){let t=this._getWaitingWorkerChange();return t?t.diff=Lx(t.diff,e,this._promoteIdKey):this._workerUpdates.enqueue({diff:e}),this._workerUpdates.flush()}async getData(){for(;this._data.url;)await this.once(`data`);return this._data.geojson?this._data.geojson:{type:`FeatureCollection`,features:Array.from(this._data.updateable.values())}}async getBounds(){return Wx(await this.getData())}setClusterOptions(e){if(this.workerOptions.geojsonVtOptions.cluster=e.cluster,e.clusterRadius!==void 0&&(this.workerOptions.geojsonVtOptions.clusterOptions.radius=this._pixelsToTileUnits(e.clusterRadius)),e.clusterMaxZoom!==void 0&&(this.workerOptions.geojsonVtOptions.clusterOptions.maxZoom=this._getClusterMaxZoom(e.clusterMaxZoom)),!this._workerUpdates.some(e=>`data`in e)){let e=this._getWaitingWorkerChange();e?e.updateCluster=!0:this._workerUpdates.enqueue({updateCluster:!0})}return this._workerUpdates.flush()}_getWaitingWorkerChange(){let e=this._workerUpdates.top();return e&&!(`data`in e)?e:void 0}getClusterOptions(){let{cluster:e,clusterOptions:t}=this.workerOptions.geojsonVtOptions;return{cluster:e,clusterMaxZoom:t.maxZoom,clusterRadius:this._tileUnitsToPixels(t.radius)}}async getClusterExpansionZoom(e){return(await this.actorPromise).sendAsync({type:`GCEZ`,data:{type:this.type,clusterId:e,source:this.id}})}async getClusterChildren(e){return(await this.actorPromise).sendAsync({type:`GCC`,data:{type:this.type,clusterId:e,source:this.id}})}async getClusterLeaves(e,t,n){return(await this.actorPromise).sendAsync({type:`GCL`,data:{type:this.type,source:this.id,clusterId:e,limit:t,offset:n}})}async _getLoadGeoJSONParameters(e){let t=F({type:this.type,source:this.id},this.workerOptions);return`data`in e?typeof e.data==`string`?(t.request=await this.map._requestManager.transformRequest(_r.resolveURL(e.data),`Source`),t.request.collectResourceTiming=this._collectResourceTiming,t):(t.data=e.data,t):(e.diff&&(t.dataDiff=e.diff),e.updateCluster&&(t.updateCluster=!0),t)}async _sendWorkerUpdate(e){this.fire(new $r(`dataloading`));let t=await this._getLoadGeoJSONParameters(e);return(await this.actorPromise).sendAsync({type:`LD`,data:t})}_onWorkerUpdateResult(e,t,n){if(this._removed||t.abandoned){this.fire(new $r(`dataabort`));return}t.data&&!n&&(this._data={geojson:t.data});let r=`data`in e||n?void 0:e.diff,i=this._applyDiffToSource(r),a=!(`data`in e)&&e.updateCluster?void 0:this._getShouldReloadTileOptions(i),o={};this._applyResourceTiming(o,t),this.fire(new $r(`data`,{...o,sourceDataType:`metadata`})),this.fire(new $r(`data`,{...o,sourceDataType:`content`,shouldReloadTileOptions:a}))}_onWorkerUpdateError(e){if(this._removed){this.fire(new $r(`dataabort`));return}this.fire(new R(nn(e)))}_applyResourceTiming(e,t){if(!this._collectResourceTiming)return;let n=t.resourceTiming?.[this.id];if(!n)return;let r=n.slice(0);r?.length&&F(e,{resourceTiming:r})}_applyDiffToSource(e){if(!e)return;let t=this._promoteIdKey;if(!this._data.url&&!this._data.updateable){let e=Fx(this._data.geojson,t);if(!e)throw Error(`GeoJSONSource "${this.id}": GeoJSON data is not compatible with updateData`);this._data={updateable:e}}if(!this._data.updateable)return;let n=Ix(this._data.updateable,e,t);if(!(e.removeAll||this.workerOptions.geojsonVtOptions.cluster))return n}_getShouldReloadTileOptions(e){if(e)return{affectedBounds:e.filter(Boolean).map(e=>Wx(e))}}shouldReloadTile(e,{affectedBounds:t}){if(e.state===`loading`)return!0;if(e.state===`unloaded`)return!1;let{buffer:n,extent:r}=this.workerOptions.geojsonVtOptions,i=Gx(e.tileID.canonical,n/r);for(let e of t)if(i.intersects(e))return!0;return!1}loaded(){return this._workerUpdates.isIdle()}async loadTile(e){let t=e.actor?`RT`:`LT`;e.actor=await this.actorPromise;let n={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,subdivisionGranularity:this.map.style.projection.subdivisionGranularity};e.abortController=new AbortController;try{let r=await(await this.actorPromise).sendAsync({type:t,data:n},e.abortController);delete e.abortController,e.unloadVectorData(),e.aborted||e.loadVectorData(r,this.map.style,t===`RT`)}catch(t){if(delete e.abortController,e.aborted||fr(t))return;throw t}}async abortTile(e){e.abortController&&(e.abortController.abort(),delete e.abortController),e.aborted=!0}async unloadTile(e){e.unloadVectorData(),await(await this.actorPromise).sendAsync({type:`RMT`,data:{uid:e.uid,type:this.type,source:this.id}})}onRemove(){this._removed=!0,this._workerUpdates.clear(),this.actorPromise.then(e=>e.sendAsync({type:`RS`,data:{type:this.type,source:this.id}}))}serialize(){return F({},this._options,{type:this.type,data:this._data.updateable?{type:`FeatureCollection`,features:Array.from(this._data.updateable.values())}:this._data.url||this._data.geojson})}hasTransition(){return!1}},Jx=[0,0,1],Yx=(e,t)=>({u_tl_parent:new Z(e,t.u_tl_parent),u_scale_parent:new X(e,t.u_scale_parent),u_buffer_scale:new X(e,t.u_buffer_scale),u_image_warp:new cf(e,t.u_image_warp),u_fade_t:new X(e,t.u_fade_t),u_opacity:new X(e,t.u_opacity),u_image0:new Y(e,t.u_image0),u_image1:new Y(e,t.u_image1),u_brightness_low:new X(e,t.u_brightness_low),u_brightness_high:new X(e,t.u_brightness_high),u_saturation_factor:new X(e,t.u_saturation_factor),u_contrast_factor:new X(e,t.u_contrast_factor),u_spin_weights:new cf(e,t.u_spin_weights),u_coords_top:new lf(e,t.u_coords_top),u_coords_bottom:new lf(e,t.u_coords_bottom)}),Xx=(e,t,n,r,i,a)=>({u_tl_parent:e,u_scale_parent:t,u_buffer_scale:1,u_image_warp:a,u_fade_t:n.mix,u_opacity:n.opacity*r.paint.get(`raster-opacity`),u_image0:0,u_image1:1,u_brightness_low:r.paint.get(`raster-brightness-min`),u_brightness_high:r.paint.get(`raster-brightness-max`),u_saturation_factor:$x(r.paint.get(`raster-saturation`)),u_contrast_factor:Qx(r.paint.get(`raster-contrast`)),u_spin_weights:Zx(r.paint.get(`raster-hue-rotate`)),u_coords_top:[i[0].x,i[0].y,i[1].x,i[1].y],u_coords_bottom:[i[3].x,i[3].y,i[2].x,i[2].y]});function Zx(e){e*=Math.PI/180;let t=Math.sin(e),n=Math.cos(e);return[(2*n+1)/3,(-Math.sqrt(3)*t-n+1)/3,(Math.sqrt(3)*t-n+1)/3]}function Qx(e){return e>0?1/(1-e):1+e}function $x(e){return e>0?1-1/(1.001-e):-e}var eS=class{constructor(e,t,n){this.vertexBuffer=e,this.indexBuffer=t,this.segments=n}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}},tS=Hu([{name:`a_pos`,type:`Int16`,components:2}]);function nS(e,t){let n=rS(t,`16bit`),r=Dd.deserialize({arrayBuffer:n.vertices,length:n.vertices.byteLength/2/2}),i=Wd.deserialize({arrayBuffer:n.indices,length:n.indices.byteLength/2/3});return new eS(e.createVertexBuffer(r,tS.members),e.createIndexBuffer(i),Yd.simpleSegment(0,0,r.length,i.length))}function rS(e,t){let n=e.granularity===void 0?1:Math.max(e.granularity,1),r=n+(e.generateBorders?2:0),i=n+(e.extendToNorthPole||e.generateBorders?1:0)+(e.extendToSouthPole||e.generateBorders?1:0),a=r+1,o=i+1,s=e.generateBorders?-1:0,c=e.generateBorders||e.extendToNorthPole?-1:0,l=n+ +!!e.generateBorders,u=n+(e.generateBorders||e.extendToSouthPole?1:0),d=a*o,f=r*i*6,p=a*o>65536;if(p&&t===`16bit`)throw Error(`Granularity is too large and meshes would not fit inside 16 bit vertex indices.`);let m=p||t===`32bit`,h=new Int16Array(d*2),g=0;for(let t=c;t<=u;t++)for(let r=s;r<=l;r++){let i=r/n*N;r===-1&&(i=-64),r===n+1&&(i=8256);let a=t/n*N;t===-1&&(a=e.extendToNorthPole?Hm:-64),t===n+1&&(a=e.extendToSouthPole?Um:8256),h[g++]=i,h[g++]=a}let _=m?new Uint32Array(f):new Uint16Array(f),v=0;for(let e=0;e<i;e++)for(let t=0;t<r;t++){let n=t+e*a,r=t+1+e*a,i=t+(e+1)*a,o=t+1+(e+1)*a;_[v++]=n,_[v++]=i,_[v++]=r,_[v++]=r,_[v++]=i,_[v++]=o}return{vertices:h.buffer.slice(0),indices:_.buffer.slice(0),uses32bitIndices:m}}var iS=class extends Yr{constructor(e,t,n,r){super(),this.imageWarp=Jx,this.flippedWindingOrder=!1,this._warp=`auto`,this._imageDirty=!1,this._subdividedQuad=!1,this._subdividedMesh=null,this.id=e,this.dispatcher=n,this.coordinates=t.coordinates,this.type=`image`,this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(r),this.options=t}async load(e){if(this.options.url===void 0){this._loaded=!0,this._finishLoading();return}this._loaded=!1,this.fire(new $r(`dataloading`)),this.url=this.options.url,this._abortController=new AbortController;try{let t=await Wr.transformAndGetImage(this.map._requestManager,this.url,`Image`,this._abortController);this._abortController=null,this._loaded=!0,t?.data?(this._setImage(t.data),e&&(this.coordinates=e),this._finishLoading()):this.fire(new R(Error(`Could not load image ${this.url}: the response is empty`)))}catch(e){if(fr(e))return;this._abortController=null,this._loaded=!0,this.fire(new R(nn(e)))}}loaded(){return this._loaded}updateImage(e){return this._abortController&&=(this._abortController.abort(),null),`image`in e?(this._loaded=!0,this._setImage(e.image),e.coordinates&&(this.coordinates=e.coordinates),this._finishLoading(),this):e.url?(this.options.url=e.url,this.load(e.coordinates),this):this}_setImage(e){this.image=e,this._imageDirty=!0}getMesh(e,t){return!this._subdividedQuad||t?null:(this._subdividedMesh??=nS(e,{granularity:16}),this._subdividedMesh)}_disposeTexture(){this.texture?.destroy(),this.texture=null}_finishLoading(){if(this.map)try{this.setCoordinates(this.coordinates),this.fire(new $r(`data`,{sourceDataType:`metadata`}))}catch(e){this.fire(new R(nn(e)))}}onAdd(e){this.map=e,this.load()}onRemove(){this._abortController&&=(this._abortController.abort(),null),this._disposeTexture(),this._subdividedMesh?.destroy(),this._subdividedMesh=null,this.image=null,this.tiles={}}setWarp(e){return this._warp===e?this:(this._warp=e,this.tileCoords&&this.setCoordinates(this.coordinates),this)}getWarp(){return this._warp}setCoordinates(e){this.coordinates=e;let t=e.map(Nh.fromLngLat);return this.tileID=aS(t),this.terrainTileRanges=this._getOverlappingTileRanges(t),this.minzoom=this.maxzoom=this.tileID.z,this.tileCoords=t.map(e=>this.tileID.getTilePoint(e)._round()),this.imageWarp=sS(this.tileCoords,this._warp),this._subdividedQuad=this.imageWarp[2]>0&&!lS(this.tileCoords),this.flippedWindingOrder=oS(this.tileCoords),this.fire(new $r(`data`,{sourceDataType:`content`})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let e=this.map.painter.context,t=e.gl;this.texture?this._imageDirty&&(this.texture.update(this.image),this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE)):(this.texture=new Ip(e,this.image,t.RGBA),this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE)),this._imageDirty=!1;let n=!1;for(let e in this.tiles){let t=this.tiles[e];t.state!==`loaded`&&(t.state=`loaded`,t.texture=this.texture,n=!0)}n&&this.fire(new $r(`data`,{sourceDataType:`idle`,sourceId:this.id}))}async loadTile(e){this.tileID?.equals(e.tileID.canonical)?(this.tiles[String(e.tileID.wrap)]=e,e.buckets={}):e.state=`errored`}serialize(){let e={type:`image`,coordinates:this.coordinates};return this.options.url!==void 0&&(e.url=this.options.url),e}hasTransition(){return!1}_getOverlappingTileRanges(e){let{minX:t,minY:n,maxX:r,maxY:i}=ph.fromPoints(e),a={};for(let e=0;e<=25;e++){let o=2**e,s=Math.floor(t*o),c=Math.floor(n*o),l=Math.floor(r*o),u=Math.floor(i*o),d=(s%o+o)%o,f=l%o,p=Math.floor(s/o),m=Math.floor(l/o);a[e]={minWrap:p,maxWrap:m,minTileXWrapped:d,maxTileXWrapped:f,minTileY:c,maxTileY:u}}return a}};function aS(e){let t=ph.fromPoints(e),n=t.width(),r=t.height(),i=Math.max(0,Math.floor(-Math.log(Math.max(n,r))/Math.LN2)),a=2**i;return new wx(i,Math.floor((t.minX+t.maxX)/2*a),Math.floor((t.minY+t.maxY)/2*a))}function oS(e){let t=e[1].x-e[0].x,n=e[1].y-e[0].y,r=e[2].x-e[0].x;return t*(e[2].y-e[0].y)-n*r<0}function sS(e,t){if(t===`flat`||lS(e))return Jx;let[n,r,i,a]=e,o=n.x-r.x+i.x-a.x,s=n.y-r.y+i.y-a.y,c=[r.x-i.x,r.y-i.y,a.x-i.x,a.y-i.y],[l,u,d,f]=c,p=Be(c),m=(o*f-d*s)/p,h=(l*s-o*u)/p,g=[1,1+m,1+m+h,1+h],_=Math.max(...g)/Math.min(...g),v=t===`perspective`?0:cS(_);return!(_>=1&&_<=512)||v>=1?Jx:[m,h,v]}function cS(e){let t=(1-4/e)/(1-4/512);return Math.max(0,t)}function lS(e){let[t,n,r,i]=e;return t.x+r.x===n.x+i.x&&t.y+r.y===n.y+i.y}var uS=class extends iS{constructor(e,t,n,r){super(e,t,n,r),this._onPlayingHandler=()=>{this.map?.triggerRepaint()},this.roundZoom=!0,this.type=`video`,this.options=t}async load(){this._loaded=!1;let e=this.options;this.urls=[];for(let t of e.urls)this.urls.push((await this.map._requestManager.transformRequest(t,`Source`)).url);try{let e=await Ur(this.urls);if(this._loaded=!0,!e)return;this.video=e,this.video.loop=!0,this.video.addEventListener(`playing`,this._onPlayingHandler),this.map&&this.video.play(),this._finishLoading()}catch(e){this.fire(new R(nn(e)))}}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(e){if(this.video){let t=this.video.seekable;e<t.start(0)||e>t.end(0)?this.fire(new R(new V(`sources.${this.id}`,null,`Playback for this video can be set only between the ${t.start(0)} and ${t.end(0)}-second mark.`))):this.video.currentTime=e}}getVideo(){return this.video}onAdd(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}onRemove(){super.onRemove(),this.video&&(this.video.removeEventListener(`playing`,this._onPlayingHandler),this.video.pause())}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let e=this.map.painter.context,t=e.gl;this.texture?this.video.paused||(this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE),t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,this.video)):(this.texture=new Ip(e,this.video,t.RGBA),this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE));let n=!1;for(let e in this.tiles){let t=this.tiles[e];t.state!==`loaded`&&(t.state=`loaded`,t.texture=this.texture,n=!0)}n&&this.fire(new $r(`data`,{sourceDataType:`idle`,sourceId:this.id}))}serialize(){return{type:`video`,urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}},dS=class extends iS{constructor(e,t,n,r){super(e,t,n,r),t.coordinates?(!Array.isArray(t.coordinates)||t.coordinates.length!==4||t.coordinates.some(e=>!Array.isArray(e)||e.length!==2||e.some(e=>typeof e!=`number`)))&&this.fire(new R(new V(`sources.${e}`,null,`"coordinates" property must be an array of 4 longitude/latitude array pairs`))):this.fire(new R(new V(`sources.${e}`,null,`missing required property "coordinates"`))),t.animate&&typeof t.animate!=`boolean`&&this.fire(new R(new V(`sources.${e}`,null,`optional "animate" property must be a boolean value`))),t.canvas?typeof t.canvas!=`string`&&!(t.canvas instanceof HTMLCanvasElement)&&this.fire(new R(new V(`sources.${e}`,null,`"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance`))):this.fire(new R(new V(`sources.${e}`,null,`missing required property "canvas"`))),this.options=t,this.animate=t.animate===void 0||t.animate}async load(){if(this._loaded=!0,this.canvas||=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()){this.fire(new R(Error(`Canvas dimensions cannot be less than or equal to zero.`)));return}this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&=(this.prepare(),!1)},this._finishLoading()}getCanvas(){return this.canvas}onAdd(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this._playing=!1,super.onRemove()}prepare(){let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let t=this.map.painter.context,n=t.gl;this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):(this.texture=new Ip(t,this.canvas,n.RGBA,{premultiply:!0}),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE));let r=!1;for(let e in this.tiles){let t=this.tiles[e];t.state!==`loaded`&&(t.state=`loaded`,t.texture=this.texture,r=!0)}r&&this.fire(new $r(`data`,{sourceDataType:`idle`,sourceId:this.id}))}serialize(){return{type:`canvas`,animate:this.animate,canvas:this.options.canvas,coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let e of[this.canvas.width,this.canvas.height])if(isNaN(e)||e<=0)return!0;return!1}},fS={},pS=(e,t,n,r)=>{let i=new(mS(t.type))(e,t,n,r);if(i.id!==e)throw Error(`Expected Source id to be ${e} instead of ${i.id}`);return i},mS=e=>{switch(e){case`geojson`:return qx;case`image`:return iS;case`raster`:return xx;case`raster-dem`:return Nx;case`vector`:return bx;case`video`:return uS;case`canvas`:return dS}return fS[e]},hS=(e,t)=>{fS[e]=t},gS=async(e,t)=>{if(mS(e))throw Error(`A source type called "${e}" already exists.`);hS(e,t)};function _S(e,t){let n={};if(!t)return n;for(let r of e){let e=r.layerIds.map(e=>t.getLayer(e)).filter(Boolean);if(e.length!==0){r.layers=e,r.stateDependentLayerIds&&(r.stateDependentLayers=r.stateDependentLayerIds.map(t=>e.filter(e=>e.id===t)[0]));for(let t of e)n[t.id]=r}}return n}var vS=`_geojsonTileLayer`,yS=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]}},bS=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=vh(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}},xS=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}},SS=class extends xS{},CS=class extends SS{getValueFromBuffer(e){return this.dataBuffer[e]}},wS=class extends SS{getValueFromBuffer(e){return this.dataBuffer[e]}},TS=class extends xS{constructor(e,t,n,r){super(e,t,r),this.delta=n}},ES=class extends TS{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}},DS=class extends xS{constructor(e,t,n,r){super(e,r?Int32Array.of(t):Uint32Array.of(t),n)}getValueFromBuffer(e){return this.dataBuffer[0]}},OS=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 CS||e instanceof DS||e instanceof ES||e instanceof wS}},kS={FEATURE:0,VERTEX:1},AS={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},jS={GEOMETRY:0,STRUCT:1,MAP:2},MS={ID:0},NS=class{constructor(e){this.value=e}get(){return this.value}set(e){this.value=e}increment(){return this.value++}add(e){this.value+=e}},$;(function(e){e.NONE=`NONE`,e.DELTA=`DELTA`,e.COMPONENTWISE_DELTA=`COMPONENTWISE_DELTA`,e.RLE=`RLE`,e.MORTON=`MORTON`})($||={});var PS;(function(e){e.NONE=`NONE`,e.FAST_PFOR=`FAST_PFOR`,e.VARINT=`VARINT`})(PS||={});var FS=new Uint32Array(33);FS[0]=0;for(let e=1;e<=32;e++)FS[e]=e===32?4294967295:4294967295>>>32-e;var IS=FS,LS=65536;function RS(e,t){return e-e%t}function zS(e){return RS(e+31,32)}function BS(e){if(!Number.isFinite(e)||e<=0)return LS;let t=RS(Math.floor(e),256);return t===0?256:t}function VS(e){let t=e>>>0;return((t&255)<<24|(t&65280)<<8|t>>>8&65280|t>>>24&255)>>>0}function HS(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 US(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 WS(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 GS(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 KS(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 qS(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 JS(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 YS(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 XS(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 ZS(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 QS(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 $S(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 eC(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 tC(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 nC(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 rC(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 iC(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 aC(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 oC(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 sC(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 cC(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 lC(e,t,n,r,i){let a=IS[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 uC=BS(LS),dC=3*uC/256+uC|0;function fC(){let e=new Uint8Array(dC);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 pC(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:fC()}}function mC(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 hC(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 gC(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=zS(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)EC(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 _C(e,t,n,r,i){switch(i){case 1:eC(e,t,n,r);break;case 2:tC(e,t,n,r);break;case 3:nC(e,t,n,r);break;case 4:rC(e,t,n,r);break;case 5:iC(e,t,n,r);break;case 6:aC(e,t,n,r);break;case 7:oC(e,t,n,r);break;case 8:sC(e,t,n,r);break;case 16:cC(e,t,n,r);break;default:lC(e,t,n,r,i)}return t+(i<<3)|0}function vC(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 yC(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 bC(e,t,n,r,i,a,o,s,c){let{maxBits:l,exceptionBitWidth:u,bytePosIn:d}=yC(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 xC(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=vC(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=_C(e,u,i,f,r)}o>0&&(d=bC(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 SC(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=hC(e,f,u,a),h=u,g=gC(e,p,a);return a.dataPointers.fill(0),xC(e,o,c,l,t,r|0,i/256|0,m,h,a),g}function CC(e,t,n,r,i,a){let o=r+RS(i,256),s=r,c=n;for(;s!==o;){let n=Math.min(uC,o-s);c=SC(e,t,c,s,n,a),s=s+n|0}return c}function wC(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 TC(e,t,n){let r=0,i=0,a=new Uint32Array(t),o=n??fC();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=CC(e,a,r,i,t,o),i=i+t|0}let s=e.length-r|0,c=t-i|0;return wC(e,r,s,a,i,c),a}function EC(e,t,n,r,i){switch(i){case 2:HS(e,t,n,r);return;case 3:US(e,t,n,r);return;case 4:WS(e,t,n,r);return;case 5:GS(e,t,n,r);return;case 6:KS(e,t,n,r);return;case 7:qS(e,t,n,r);return;case 8:JS(e,t,n,r);return;case 9:YS(e,t,n,r);return;case 10:XS(e,t,n,r);return;case 11:ZS(e,t,n,r);return;case 12:QS(e,t,n,r);return;case 16:$S(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=IS[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=IS[i-l]>>>0,f=(u|(c&d)<<l)&a;n[r+t]=f|0,s=i-l}}function DC(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]=VS(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 OC(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 kC(e,t,n){let r=new BigUint64Array(n);for(let n=0;n<r.length;n++)r[n]=AC(e,t);return r}function AC(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 jC(e,t,n){let r=new Float64Array(n);for(let i=0;i<n;i++)r[i]=MC(e,t);return r}function MC(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,NC(n,e,t))}function NC(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 PC(e,t,n,r){return FC(e,t,n,r,pC(n>>>2))}function FC(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=mC(i,o);DC(e,a,n,s);let c=TC(s.subarray(0,o),t,i.decoderWorkspace);return r.add(n),c}function IC(e){return e>>>1^-(e&1)}function LC(e){return e>>1n^-(e&1n)}function RC(e){return e%2==1?(e+1)/-2:e/2}function zC(e){let t=new Int32Array(e.length);for(let n=0;n<e.length;n++)t[n]=IC(e[n]);return t}function BC(e){let t=new BigInt64Array(e.length);for(let n=0;n<e.length;n++)t[n]=LC(e[n]);return t}function VC(e){for(let t=0;t<e.length;t++)e[t]=RC(e[t])}function HC(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 UC(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 WC(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 GC(e){let t=new Int32Array(e.length);t[0]=IC(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]=IC(n)+t[r-1],t[r+1]=IC(i)+t[r],t[r+2]=IC(a)+t[r+1],t[r+3]=IC(o)+t[r+2]}for(;r!==e.length;++r)t[r]=IC(e[r])+t[r-1];return t}function KC(e){let t=new BigInt64Array(e.length);t[0]=LC(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]=LC(n)+t[r-1],t[r+1]=LC(i)+t[r],t[r+2]=LC(a)+t[r+1],t[r+3]=LC(o)+t[r+2]}for(;r!==t.length;++r)t[r]=LC(e[r])+t[r-1];return t}function qC(e){e[0]=RC(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]=RC(t)+e[n-1],e[n+1]=RC(r)+e[n],e[n+2]=RC(i)+e[n+1],e[n+3]=RC(a)+e[n+2]}for(;n!==e.length;++n)e[n]=RC(e[n])+e[n-1]}function JC(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=IC(o),r.fill(o,i,i+a),i+=a}return r}function YC(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=LC(o),r.fill(o,i,i+a),i+=a}return r}function XC(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=RC(o),r.fill(o,i,i+a),i+=a}return r}function ZC(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 QC(e){let t=0;for(let n=0;n<e.length;n++)e[n]+=t,t=e[n]}function $C(e){if(e.length<2)return new Int32Array(e);let t=new Int32Array(e.length);t[0]=IC(e[0]),t[1]=IC(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]=IC(n)+t[r-2],t[r+1]=IC(i)+t[r-1],t[r+2]=IC(a)+t[r],t[r+3]=IC(o)+t[r+1]}for(;r!==e.length;r+=2)t[r]=IC(e[r])+t[r-2],t[r+1]=IC(e[r+1])+t[r-1];return t}function ew(e,t,n,r){if(e.length<2)return new Int32Array(e);let i=new Int32Array(e.length),a=IC(e[0]),o=IC(e[1]);i[0]=tw(Math.round(a*t),n,r),i[1]=tw(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=IC(s)+a,d=IC(l)+o;i[c]=tw(Math.round(u*t),n,r),i[c+1]=tw(Math.round(d*t),n,r);let f=e[c+2],p=e[c+3];a=IC(f)+u,o=IC(p)+d,i[c+2]=tw(Math.round(a*t),n,r),i[c+3]=tw(Math.round(o*t),n,r)}for(;c!==e.length;c+=2)a+=IC(e[c]),o+=IC(e[c+1]),i[c]=tw(Math.round(a*t),n,r),i[c+1]=tw(Math.round(o*t),n,r);return i}function tw(e,t,n){return Math.min(n,Math.max(t,e))}function nw(e){let t=new Int32Array(e.length+1);t[0]=0,t[1]=IC(e[0]);let n=t[1];for(let r=2;r!==t.length;++r){let i=e[r-1],a=IC(i);n+=a,t[r]=t[r-1]+n}return new Uint32Array(t)}function rw(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=IC(s);for(let e=i;e<i+o;e++)r[e]=s+a,a=r[e];i+=o}return r}function iw(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 aw(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=IC(s);for(let e=0;e<o;e++)a+=c,r[i++]=a}return r}function ow(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=LC(s);for(let e=0;e<o;e++)a+=c,r[i++]=a}return r}function sw(e){let t=new Uint32Array(e.length);t[0]=IC(e[0])>>>0;for(let n=1;n<e.length;n++)t[n]=t[n-1]+IC(e[n])>>>0;return t}function cw(e){let t=new BigUint64Array(e.length);t[0]=BigInt.asUintN(64,LC(e[0]));for(let n=1;n<e.length;n++)t[n]=BigInt.asUintN(64,t[n-1]+LC(e[n]));return t}function lw(e){if(e.length<2)return new Uint32Array(e);let t=new Uint32Array(e.length);t[0]=IC(e[0])>>>0,t[1]=IC(e[1])>>>0;for(let n=2;n<e.length;n+=2)t[n]=t[n-2]+IC(e[n])>>>0,t[n+1]=t[n-1]+IC(e[n+1])>>>0;return t}function uw(e,t,n,r){let i=ew(e,t,n,r);return new Uint32Array(i)}function dw(e){return e[1]}function fw(e){return IC(e[1])}function pw(e){if(e.length===2){let t=IC(e[1]);return[t,t]}return[IC(e[2]),IC(e[3])]}function mw(e){return e[1]}function hw(e){return LC(e[1])}function gw(e){if(e.length===2){let t=LC(e[1]);return[t,t]}return[LC(e[2]),LC(e[3])]}var _w;(function(e){e.PRESENT=`PRESENT`,e.DATA=`DATA`,e.OFFSET=`OFFSET`,e.LENGTH=`LENGTH`})(_w||={});var vw;(function(e){e.NONE=`NONE`,e.SINGLE=`SINGLE`,e.SHARED=`SHARED`,e.VERTEX=`VERTEX`,e.MORTON=`MORTON`,e.FSST=`FSST`})(vw||={});var yw;(function(e){e.VERTEX=`VERTEX`,e.INDEX=`INDEX`,e.STRING=`STRING`,e.KEY=`KEY`})(yw||={});var bw;(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`})(bw||={});var xw=[_w.PRESENT,_w.DATA,_w.OFFSET,_w.LENGTH],Sw=[$.NONE,$.DELTA,$.COMPONENTWISE_DELTA,$.RLE,$.MORTON],Cw=[PS.NONE,PS.FAST_PFOR,PS.VARINT],ww=[vw.NONE,vw.SINGLE,vw.SHARED,vw.VERTEX,vw.MORTON,vw.FSST],Tw=[yw.VERTEX,yw.INDEX,yw.STRING,yw.KEY],Ew=[bw.VAR_BINARY,bw.GEOMETRIES,bw.PARTS,bw.RINGS,bw.TRIANGLES,bw.SYMBOL,bw.DICTIONARY];function Dw(e,t){let n=Aw(e,t);return n.logicalLevelTechnique1===$.MORTON?Ow(n,e,t):($.RLE===n.logicalLevelTechnique1||$.RLE===n.logicalLevelTechnique2)&&PS.NONE!==n.physicalLevelTechnique?kw(n,e,t):n}function Ow(e,t,n){let r=OC(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 kw(e,t,n){let r=OC(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 Aw(e,t){let n=e[t.get()],r=xw[n>>4],i={};switch(r){case _w.DATA:i={dictionaryType:ww[n&15]};break;case _w.OFFSET:i={offsetType:Tw[n&15]};break;case _w.LENGTH:i={lengthType:Ew[n&15]}}t.increment();let a=e[t.get()],o=Sw[a>>5],s=Sw[a>>2&7],c=Cw[a&3];t.increment();let l=OC(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 jw;(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`})(jw||={});var Mw=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 Nw(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 Pw(e,t,n){if(!n)return e;let r=n.size(),i=new Mw(e,t),a=new Mw(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 Fw(e,t,n){for(let r=0;r<e;r++){let e=Dw(t,n);n.add(e.byteLength)}}function Iw(e,t,n,r,i){let a=Lw(e,Math.ceil(t/8),n,r);return i?Pw(a,t,i):a}function Lw(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 Rw(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?Nw(s,r,0):s}function zw(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?Nw(s,r,0):s}function Bw(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 Vw(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 Hw=new TextDecoder;function Uw(e,t,n){return n-t>=12?Hw.decode(e.subarray(t,n)):Ww(e,t,n)}function Ww(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 Gw(e,t,n,r,i){return oT(Jw(e,t,n),n,r,i)}function Kw(e,t,n,r,i){return sT(Jw(e,t,n),n,r,i)}function qw(e,t,n){return dT(Jw(e,t,n),n)}function Jw(e,t,n){let r=n.physicalLevelTechnique;switch(r){case PS.FAST_PFOR:return PC(e,n.numValues,n.byteLength,t);case PS.VARINT:return OC(e,t,n.numValues);case PS.NONE:return Bw(e,t,n.numValues);default:throw Error(`Specified physicalLevelTechnique ${r} is not supported (yet).`)}}function Yw(e,t,n){let r=n.physicalLevelTechnique;switch(r){case PS.VARINT:return kC(e,t,n.numValues);case PS.NONE:return Vw(e,t,n.numValues);default:throw Error(`Specified physicalLevelTechnique ${r} is not supported (yet).`)}}function Xw(e,t,n){let r=Jw(e,t,n);return r.length===1?IC(r[0]):fw(r)}function Zw(e,t,n){let r=Jw(e,t,n);return r.length===1?n.logicalLevelTechnique1===$.DELTA?IC(r[0]):r[0]:dw(r)}function Qw(e,t,n){return pw(Jw(e,t,n))}function $w(e,t,n){return gw(kC(e,t,n.numValues))}function eT(e,t,n,r){return cT(Yw(e,t,n),n,r)}function tT(e,t,n,r){return lT(Yw(e,t,n),n,r)}function nT(e,t,n,r){let i=rT(e,t,n,!1);return r?Nw(i,r,0):i}function rT(e,t,n,r){if(n.physicalLevelTechnique===PS.VARINT)return uT(jC(e,t,n.numValues),n,r);let i=Yw(e,t,n),a=r?cT(i,n):lT(i,n);return Float64Array.from(a,Number)}function iT(e,t,n){let r=Yw(e,t,n);return r.length===1?LC(r[0]):hw(r)}function aT(e,t,n){let r=Yw(e,t,n);return r.length===1?n.logicalLevelTechnique1===$.DELTA?LC(r[0]):r[0]:mw(r)}function oT(e,t,n,r){let i;switch(t.logicalLevelTechnique1){case $.DELTA:if(t.logicalLevelTechnique2===$.RLE){let n=t;if(!r)return aw(e,n.runs,n.numRleValues);e=HC(e,n.runs,n.numRleValues),i=GC(e)}else i=GC(e);break;case $.RLE:i=JC(e,t.runs,t.numRleValues);break;case $.MORTON:ZC(e),i=new Int32Array(e);break;case $.COMPONENTWISE_DELTA:if(n&&!r)return ew(e,n.scale,n.min,n.max);i=$C(e);break;case $.NONE:i=zC(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?Nw(i,r,0):i}function sT(e,t,n,r){let i;switch(t.logicalLevelTechnique1){case $.DELTA:if(t.logicalLevelTechnique2===$.RLE){let n=t;i=sw(HC(e,n.runs,n.numRleValues))}else i=sw(e);break;case $.RLE:i=HC(e,t.runs,t.numRleValues);break;case $.MORTON:ZC(e),i=e;break;case $.COMPONENTWISE_DELTA:i=n&&!r?uw(e,n.scale,n.min,n.max):lw(e);break;case $.NONE:i=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?Nw(i,r,0):i}function cT(e,t,n){let r;switch(t.logicalLevelTechnique1){case $.DELTA:if(t.logicalLevelTechnique2===$.RLE){let i=t;if(!n)return ow(e,i.runs,i.numRleValues);e=UC(e,i.runs,i.numRleValues),r=KC(e)}else r=KC(e);break;case $.RLE:r=YC(e,t.runs,t.numRleValues);break;case $.NONE:r=BC(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return n?Nw(r,n,0n):r}function lT(e,t,n){let r;switch(t.logicalLevelTechnique1){case $.DELTA:if(t.logicalLevelTechnique2===$.RLE){let n=t;r=cw(UC(e,n.runs,n.numRleValues))}else r=cw(e);break;case $.RLE:r=UC(e,t.runs,t.numRleValues);break;case $.NONE:r=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return n?Nw(r,n,0n):r}function uT(e,t,n){switch(t.logicalLevelTechnique1){case $.DELTA:if(t.logicalLevelTechnique2===$.RLE){let n=t;e=WC(e,n.runs,n.numRleValues)}return qC(e),e;case $.RLE:return mT(e,t,n);case $.NONE:return n&&VC(e),e;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}}function dT(e,t){if(t.logicalLevelTechnique1===$.DELTA&&t.logicalLevelTechnique2===$.NONE)return nw(e);if(t.logicalLevelTechnique1===$.RLE&&t.logicalLevelTechnique2===$.NONE){let n=t;return iw(e,n.runs,n.numRleValues)}if(t.logicalLevelTechnique1===$.NONE&&t.logicalLevelTechnique2===$.NONE){QC(e);let n=new Uint32Array(t.numValues+1);return n[0]=0,n.set(e,1),n}if(t.logicalLevelTechnique1===$.DELTA&&t.logicalLevelTechnique2===$.RLE){let n=t,r=rw(e,n.runs,n.numRleValues);return ZC(r),new Uint32Array(r)}throw Error(`Only delta encoding is supported for transforming length to offset streams yet.`)}function fT(e,t,n,r,i=`int32`){let a=e.logicalLevelTechnique1;if(a===$.RLE)return e.runs===1?jw.CONST:jw.FLAT;if(a!==$.DELTA||e.logicalLevelTechnique2!==$.RLE)return e.numValues===1?jw.CONST:jw.FLAT;let o=t instanceof Mw?t.size():t,s=e;if(s.numRleValues!==o)return jw.FLAT;if(s.runs===1)return jw.SEQUENCE;if(s.runs!==2)return e.numValues===1?jw.CONST:jw.FLAT;let c=r.get();if(e.physicalLevelTechnique===PS.VARINT)return pT(n,r,i)?jw.SEQUENCE:e.numValues===1?jw.CONST:jw.FLAT;let l=r.get(),u=new Int32Array(n.buffer,n.byteOffset+l,4);return r.set(c),u[2]===2&&u[3]===2?jw.SEQUENCE:e.numValues===1?jw.CONST:jw.FLAT}function pT(e,t,n){let r=new NS(t.get());if(n===`int64`){let t=kC(e,r,4);return t[2]===2n&&t[3]===2n}let i=OC(e,r,4);return i[2]===2&&i[3]===2}function mT(e,t,n){return n?XC(e,t.runs,t.numRleValues):WC(e,t.runs,t.numRleValues)}var hT=class extends SS{getValueFromBuffer(e){return this.dataBuffer[e]}},gT=class extends TS{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 _T(e,t,n){return{x:vT(e,t)-n,y:vT(e>>1,t)-n}}function vT(e,t){let n=0;for(let r=0;r<t;r++)n|=(e&1<<2*r)>>r;return n}var yT;(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`})(yT||={});var bT;(function(e){e[e.POINT=0]=`POINT`,e[e.LINESTRING=1]=`LINESTRING`,e[e.POLYGON=2]=`POLYGON`})(bT||={});var xT;(function(e){e[e.MORTON=0]=`MORTON`,e[e.VEC_2=1]=`VEC_2`,e[e.VEC_3=2]=`VEC_3`})(xT||={});function ST(e){let t=Array(e.numGeometries),n=1,r=1,i=1,a=0,o=0,s=0,c=e.mortonSettings,l=e.topologyVector,u=l.geometryOffsets,d=l.partOffsets,f=l.ringOffsets,p=e.vertexOffsets,m=!p||p.length===0,h=e.containsPolygonGeometry(),g=e.vertexBuffer;for(let l=0;l<e.numGeometries;l++){let _=e.geometryType(l);switch(_){case yT.POINT:{let l,h;if(m)l=g[o++],h=g[o++];else if(e.vertexBufferType===xT.MORTON){let e=g[p[s++]],t=_T(e,c.numBits,c.coordinateShift);l=t.x,h=t.y}else{let e=p[s++]*2;l=g[e],h=g[e+1]}t[a++]=[[new j(l,h)]],u&&i++,d&&n++,f&&r++}break;case yT.MULTIPOINT:{let l=u[i]-u[i-1];i++;let d;if(m){d=Array(l);for(let e=0;e<l;e++){let t=g[o++],n=g[o++];d[e]=new j(t,n)}}else d=CT(e.vertexBufferType,g,p,s,l,!1,c),s+=l;t[a++]=d.map(e=>[e]),n+=l,r+=l}break;case yT.LINESTRING:{let l;h?(l=f[r]-f[r-1],r++):l=d[n]-d[n-1],n++;let _;m?(_=wT(g,o,l,!1),o+=l*2):(_=CT(e.vertexBufferType,g,p,s,l,!1,c),s+=l),t[a++]=[_],u&&i++}break;case yT.POLYGON:{let l=d[n]-d[n-1];n++;let h=Array(l-1),_,v=f[r]-f[r-1];if(r++,m){_=wT(g,o,v,!0),o+=v*2;for(let e=0;e<h.length;e++)v=f[r]-f[r-1],r++,h[e]=wT(g,o,v,!0),o+=v*2}else{_=CT(e.vertexBufferType,g,p,s,v,!0,c),s+=v;for(let t=0;t<h.length;t++)v=f[r]-f[r-1],r++,h[t]=CT(e.vertexBufferType,g,p,s,v,!0,c),s+=v}t[a++]=[_].concat(h),u&&i++}break;case yT.MULTILINESTRING:{let l=u[i]-u[i-1];i++;let _=Array(l);for(let t=0;t<l;t++){let i;if(h?(i=f[r]-f[r-1],r++):i=d[n]-d[n-1],n++,m)_[t]=wT(g,o,i,!1),o+=i*2;else{let n=CT(e.vertexBufferType,g,p,s,i,!1,c);_[t]=n,s+=i}}t[a++]=_}break;case yT.MULTIPOLYGON:{let l=u[i]-u[i-1];i++;let h=Array(l);for(let t=0;t<l;t++){let i=d[n]-d[n-1];n++;let a,l=Array(i-1),u=f[r]-f[r-1];r++,m?(a=wT(g,o,u,!0),o+=u*2):(a=CT(e.vertexBufferType,g,p,s,u,!0,c),s+=u);for(let t=0;t<l.length;t++){let n=f[r]-f[r-1];r++,m?(l[t]=wT(g,o,n,!0),o+=n*2):(l[t]=CT(e.vertexBufferType,g,p,s,n,!0,c),s+=n)}h[t]=[a].concat(l)}t[a++]=h.flat()}break;default:throw Error(`The specified geometry type (${_}) is currently not supported.`)}}return t}function CT(e,t,n,r,i,a,o){return e===xT.MORTON?ET(t,n,r,i,a,o):TT(t,n,r,i,a)}function wT(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 j(n,a)}return r&&(i[i.length-1]=i[0]),i}function TT(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 j(o,s)}return i&&(a[a.length-1]=a[0]),a}function ET(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=_T(r,a.numBits,a.coordinateShift);o[i]=new j(s.x,s.y)}return i&&(o[o.length-1]=o[0]),o}var DT=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=_T(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 ST(this)}get mortonSettings(){return this._mortonSettings}};function OT(e,t,n,r,i){return new AT(e,t,xT.VEC_2,n,r,i)}function kT(e,t,n,r,i,a){return new AT(e,t,xT.MORTON,n,r,i,a)}var AT=class extends DT{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===yT.POLYGON||this._geometryType===yT.MULTIPOLYGON}containsSingleGeometryType(){return!0}};function jT(e,t,n,r){return new NT(xT.VEC_2,e,t,n,r)}function MT(e,t,n,r,i){return new NT(xT.MORTON,e,t,n,r,i)}var NT=class extends DT{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)===yT.POLYGON||this.geometryType(e)===yT.MULTIPOLYGON)return!0;return!1}containsSingleGeometryType(){return!1}},PT=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 jT(e,this._topologyVector,void 0,this._vertexBuffer).getGeometries()}[Symbol.iterator](){return null}};function FT(e,t,n,r,i,a){return new IT(e,t,n,r,i,a)}var IT=class extends PT{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 LT(e,t,n,r,i){return new RT(e,t,n,r,i)}var RT=class extends PT{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 zT(e,t,n,r,i){let a=Dw(e,n),o=fT(a,r,e,n),s,c,l,u;if(o===jw.CONST){let o=Zw(e,n,a),d,f,p,m;for(let r=0;r<t-1;r++){let t=Dw(e,n);switch(t.physicalStreamType){case _w.LENGTH:switch(t.logicalStreamType.lengthType){case bw.GEOMETRIES:d=qw(e,n,t);break;case bw.PARTS:f=qw(e,n,t);break;case bw.RINGS:p=qw(e,n,t);break;case bw.TRIANGLES:m=qw(e,n,t)}break;case _w.OFFSET:switch(t.logicalStreamType.offsetType){case yw.VERTEX:s=Kw(e,n,t);break;case yw.INDEX:u=Kw(e,n,t)}break;case _w.DATA:if(vw.VERTEX===t.logicalStreamType.dictionaryType)c=Gw(e,n,t,i);else{let r=t;l={numBits:r.numBits,coordinateShift:r.coordinateShift},c=Kw(e,n,t,i)}}}return u?d!==void 0||f!==void 0?FT(r,o,m,u,c,{geometryOffsets:d,partOffsets:f,ringOffsets:p}):FT(r,o,m,u,c):l===void 0?OT(r,o,{geometryOffsets:d,partOffsets:f,ringOffsets:p},s,c):kT(r,o,{geometryOffsets:d,partOffsets:f,ringOffsets:p},s,c,l)}let d=Kw(e,n,a),f,p,m,h;for(let r=0;r<t-1;r++){let t=Dw(e,n);switch(t.physicalStreamType){case _w.LENGTH:switch(t.logicalStreamType.lengthType){case bw.GEOMETRIES:f=Kw(e,n,t);break;case bw.PARTS:p=Kw(e,n,t);break;case bw.RINGS:m=Kw(e,n,t);break;case bw.TRIANGLES:h=qw(e,n,t)}break;case _w.OFFSET:switch(t.logicalStreamType.offsetType){case yw.VERTEX:s=Kw(e,n,t);break;case yw.INDEX:u=Kw(e,n,t)}break;case _w.DATA:if(vw.VERTEX===t.logicalStreamType.dictionaryType)c=Gw(e,n,t,i);else{let r=t;l={numBits:r.numBits,coordinateShift:r.coordinateShift},c=Kw(e,n,t,i)}}}let g,_,v;return f?(g=BT(d,f,2),p&&m?(_=VT(d,g,p,!1),v=UT(d,g,_,m)):p&&(_=HT(d,g,p))):p&&m?(_=BT(d,p,1),v=VT(d,_,m,!0)):p&&(_=BT(d,p,0)),u&&!_?LT(d,h,u,c):u?LT(d,h,u,c,{geometryOffsets:g,partOffsets:_,ringOffsets:v}):l===void 0?jT(d,{geometryOffsets:g,partOffsets:_,ringOffsets:v},s,c):MT(d,{geometryOffsets:g,partOffsets:_,ringOffsets:v},s,c,l)}function BT(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 VT(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 HT(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 UT(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 WT=class extends xS{constructor(e,t,n){super(e,t.getBuffer(),n),this.dataVector=t}getValueFromBuffer(e){return this.dataVector.get(e)}},GT=class extends SS{getValueFromBuffer(e){return this.dataBuffer[e]}},KT=class extends xS{constructor(e,t,n,r){super(e,r?BigInt64Array.of(t):BigUint64Array.of(t),n)}getValueFromBuffer(e){return this.dataBuffer[0]}},qT=class extends xS{constructor(e,t,n,r){super(e,n,r),this.offsetBuffer=t}},JT=class extends qT{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 Uw(this.dataBuffer,t,n)}},YT=class extends qT{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 Uw(this.dataBuffer,n,r)}};function XT(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 ZT(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(XT(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 QT=class extends qT{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 Uw(this.decodedDictionary,n,r)}decodeDictionary(){return this.symbolLengthBuffer??=this.offsetToLengthBuffer(this.symbolOffsetBuffer),ZT(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 $T(e,t,n,r,i){let a,o,s,c,l,u=i,d,f;for(let e=0;e<r;e++){let e=Dw(t,n);switch(e.physicalStreamType){case _w.PRESENT:{let r=new Mw(Iw(t,e.numValues,e.byteLength,n),e.numValues);u=i??r;break}case _w.OFFSET:o=Kw(t,n,e,void 0,u);break;case _w.LENGTH:{let r=qw(t,n,e);bw.DICTIONARY===e.logicalStreamType.lengthType?a=r:bw.SYMBOL===e.logicalStreamType.lengthType?c=r:d=r;break}case _w.DATA:{let r=t.subarray(n.get(),n.get()+e.byteLength);n.add(e.byteLength);let i=e.logicalStreamType.dictionaryType;vw.FSST===i?l=r:vw.SINGLE===i||vw.SHARED===i?s=r:vw.NONE===i&&(f=r);break}}}return eE(e,l,o,a,s,c,u)??tE(e,s,o,a,u)??nE(e,d,f,o,u)}function eE(e,t,n,r,i,a,o){if(t){if(!n||!r||!i||!a)throw Error(`Incomplete FSST dictionary string column "${e}"`);return new QT(e,n,r,i,a,t,o)}}function tE(e,t,n,r,i){if(t){if(!n||!r)throw Error(`Incomplete dictionary string column "${e}"`);return i?new YT(e,n,r,t,i):new YT(e,n,r,t)}}function nE(e,t,n,r,i){if(t&&n){if(r)return i?new YT(e,r,t,n,i):new YT(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 YT(e,r,t,n,i)}return i?new JT(e,t,n,i):new JT(e,t,n)}}function rE(e,t,n,r){let i,a,o,s,c=!1;for(;!c;){let n=Dw(e,t);switch(n.physicalStreamType){case _w.LENGTH:bw.DICTIONARY===n.logicalStreamType.lengthType?i=qw(e,t,n):o=qw(e,t,n);break;case _w.DATA:vw.SINGLE===n.logicalStreamType.dictionaryType||vw.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=OC(e,t,1)[0];if(l===0)continue;let p=c.name?`${n.name}${c.name}`:n.name;if(r&&!r.has(p)){Fw(l,e,t);continue}if(c.type!==`scalarField`||c.scalarField.physicalType!==AS.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=Dw(e,t);m=new Mw(Iw(e,n.numValues,n.byteLength,t),n.numValues)}let h=Kw(e,t,Dw(e,t),void 0,m);if(s){if(!o)throw Error(`Incomplete shared FSST dictionary for column "${p}"`);u[f++]=new QT(p,h,i,a,o,s,m,d)}else u[f++]=new YT(p,h,i,a,m)}return u}var iE=class extends xS{constructor(e,t,n){super(e,new Uint8Array,n??t.length),this.values=t}getValueFromBuffer(e){return this.values[e]}},aE;(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`})(aE||={});var oE;(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`})(oE||={});function sE(e,t,n,r){let i=cE(n);if(r===0)return i.map(e=>new iE(e,[]));let a=lE(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=mE(a,e,o,c,l);s.push(new iE(i[e],t.value,t.nullabilityBuffer)),c=t.countsEnd,l=t.valuesEnd}return s}function cE(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 lE(e,t,n){let r=e[t.get()];t.add(1);let i=Kw(e,t,Dw(e,t)),a=n-1,o=[];r&aE.STRING&&(a-=uE(e,t,o)),a-=dE(e,t,r,o),a-=fE(e,t,r,o);let s,c=0;if(r&aE.PRESENCE){let n=pE(e,t);s=n.value,c=n.count,a--}let l=new Uint32Array;if(a>0&&(l=Kw(e,t,Dw(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 uE(e,t,n){let r=e[t.get()];t.add(1);let i=$T(``,e,t,r);if(i)for(let e=0;e<i.size;e++)n.push(i.getValue(e));return r}function dE(e,t,n,r){let i=0;return n&aE.INT32?(bE(r,Gw(e,t,Dw(e,t))),i++):n&aE.INT64&&(bE(r,eT(e,t,Dw(e,t))),i++),n&aE.UINT32?(bE(r,Kw(e,t,Dw(e,t))),i++):n&aE.UINT64&&(bE(r,tT(e,t,Dw(e,t))),i++),i}function fE(e,t,n,r){let i=0;return n&aE.FLOAT&&(bE(r,Rw(e,t,Dw(e,t).numValues)),i++),n&aE.DOUBLE&&(bE(r,zw(e,t,Dw(e,t).numValues)),i++),i}function pE(e,t){let n=Dw(e,t);if(n.physicalStreamType!==_w.PRESENT)throw Error(`Expected PRESENT stream for map column but found: ${n.physicalStreamType}`);let r=n.numValues,i=t.get(),a=new Mw(Iw(e,r,n.byteLength,t),r);return t.set(i+n.byteLength),{value:a,count:r}}function mE(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 Mw(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=hE(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 hE(e,t,n,r){return n-t===1||e[t]===oE.START_LIST?_E(e,t,n,r):gE(e,t,n,r)}function gE(e,t,n,r){let i=Object.create(null),a=t;for(;a<n;){let t=yE(e[a++],r);if(typeof t!=`string`)throw Error(`Map key dictionary index does not resolve to a string: ${t}`);let o=_E(e,a,n,r);i[t]=o.value,a=o.nextIndex}return{value:i,nextIndex:a}}function _E(e,t,n,r){if(t>=n)throw Error(`Unexpected end of map value stream`);let i=e[t];if(i===oE.FALSE)return{value:!1,nextIndex:t+1};if(i===oE.TRUE)return{value:!0,nextIndex:t+1};if(i===oE.START_MAP){let i=vE(e,t,n);return{value:gE(e,t+2,i,r).value,nextIndex:i}}if(i===oE.START_LIST){let i=vE(e,t,n),a=[],o=t+2;for(;o<i;){let t=_E(e,o,i,r);a.push(t.value),o=t.nextIndex}return{value:a,nextIndex:i}}return{value:yE(i,r),nextIndex:t+1}}function vE(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 yE(e,t){let n=e-oE.COUNT;if(n<0||n>=t.length)throw Error(`Scalar dictionary index out of range: ${e}`);return t[n]}function bE(e,t){for(let n of t)e.push(n)}function xE(e,t,n,r,i,a){return n.type===`scalarType`?a&&!a.has(n.name)?(Fw(r,e,t),null):SE(r,e,t,i,n.scalarType,n):n.complexType?.physicalType===jS.MAP?sE(e,t,n,r):r===0?null:rE(e,t,n,a)}function SE(e,t,n,r,i,a){let o;if(e===0)return null;if(a.nullable){let e=Dw(t,n),r=e.numValues,i=n.get(),a=Iw(t,r,e.byteLength,n);n.set(i+e.byteLength),o=new Mw(a,e.numValues)}let s=o??r;switch(i.physicalType){case AS.UINT_32:case AS.INT_32:return DE(t,n,a,i,s);case AS.STRING:{let r=a.nullable?e-1:e;return $T(a.name,t,n,r,o)??null}case AS.BOOLEAN:return CE(t,n,a,r,s);case AS.UINT_64:case AS.INT_64:return EE(t,n,a,s,i);case AS.FLOAT:return wE(t,n,a,s);case AS.DOUBLE:return TE(t,n,a,s);default:throw Error(`The specified data type for the field is currently not supported: ${i}`)}}function CE(e,t,n,r,i){let a=Dw(e,t),o=a.numValues,s=t.get(),c=OE(i)?i:void 0,l=Iw(e,o,a.byteLength,t,c);t.set(s+a.byteLength);let u=new Mw(l,o);return new WT(n.name,u,i)}function wE(e,t,n,r){let i=Dw(e,t),a=OE(r)?r:void 0,o=Rw(e,t,i.numValues,a);return new GT(n.name,o,r)}function TE(e,t,n,r){let i=Dw(e,t),a=OE(r)?r:void 0,o=zw(e,t,i.numValues,a);return new wS(n.name,o,r)}function EE(e,t,n,r,i){let a=Dw(e,t),o=fT(a,r,e,t,`int64`),s=i.physicalType===AS.INT_64;if(o===jw.FLAT){let i=OE(r)?r:void 0,o=s?eT(e,t,a,i):tT(e,t,a,i);return new hT(n.name,o,r)}if(o===jw.SEQUENCE){let r=$w(e,t,a);return new gT(n.name,r[0],r[1],a.numRleValues,s)}let c=s?iT(e,t,a):aT(e,t,a);return new KT(n.name,c,r,s)}function DE(e,t,n,r,i){let a=Dw(e,t),o=fT(a,i,e,t),s=r.physicalType===AS.INT_32;if(o===jw.FLAT){let r=OE(i)?i:void 0,o=s?Gw(e,t,a,void 0,r):Kw(e,t,a,void 0,r);return new CS(n.name,o,i)}if(o===jw.SEQUENCE){let r=Qw(e,t,a);return new ES(n.name,r[0],r[1],a.numRleValues,s)}let c=s?Xw(e,t,a):Zw(e,t,a);return new DS(n.name,c,i,s)}function OE(e){return e instanceof Mw}var kE={ID:0,ID_NULLABLE:1,ID_LONG:2,GEOMETRY:4,SCALAR_BASE:10,STRUCT:30,MAP:31};function AE(e){switch(e){case kE.ID:case kE.ID|kE.ID_NULLABLE:case kE.ID|kE.ID_LONG:case kE.ID|kE.ID_LONG|kE.ID_NULLABLE:return{nullable:(e&kE.ID_NULLABLE)!==0,columnScope:kS.FEATURE,type:`scalarType`,scalarType:{longID:(e&kE.ID_LONG)!==0,type:`logicalType`,logicalType:MS.ID}};case kE.GEOMETRY:return{nullable:!1,columnScope:kS.FEATURE,type:`complexType`,complexType:{type:`physicalType`,physicalType:jS.GEOMETRY,children:[]}};case kE.STRUCT:return{nullable:!1,columnScope:kS.FEATURE,type:`complexType`,complexType:{type:`physicalType`,physicalType:jS.STRUCT,children:[]}};case kE.MAP:return{nullable:!0,columnScope:kS.FEATURE,type:`complexType`,complexType:{type:`physicalType`,physicalType:jS.MAP,children:[]}};default:return IE(e)}}function jE(e){return e>=kE.SCALAR_BASE}function ME(e){return e===kE.STRUCT||e===kE.MAP}function NE(e){if(e.type===`scalarType`){let t=e.scalarType;if(t.type===`physicalType`)switch(t.physicalType){case AS.BOOLEAN:case AS.INT_8:case AS.UINT_8:case AS.INT_32:case AS.UINT_32:case AS.INT_64:case AS.UINT_64:case AS.FLOAT:case AS.DOUBLE:return!1;case AS.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 jS.GEOMETRY:case jS.STRUCT:case jS.MAP:return!0;default:return!1}}return console.warn(`Unexpected column type in hasStreamCount`,e),!1}function PE(e){return e.type===`scalarType`&&e.scalarType?.type===`logicalType`&&e.scalarType.logicalType===MS.ID}function FE(e){return e.type===`complexType`&&e.complexType?.type===`physicalType`&&e.complexType.physicalType===jS.GEOMETRY}function IE(e){let t;switch(e){case 10:case 11:t=AS.BOOLEAN;break;case 12:case 13:t=AS.INT_8;break;case 14:case 15:t=AS.UINT_8;break;case 16:case 17:t=AS.INT_32;break;case 18:case 19:t=AS.UINT_32;break;case 20:case 21:t=AS.INT_64;break;case 22:case 23:t=AS.UINT_64;break;case 24:case 25:t=AS.FLOAT;break;case 26:case 27:t=AS.DOUBLE;break;case 28:case 29:t=AS.STRING;break;default:return null}return{nullable:!!(e&1),columnScope:kS.FEATURE,type:`scalarType`,scalarType:{longID:!1,type:`physicalType`,physicalType:t}}}var LE=new TextDecoder,RE=`0-3(ID), 4(GEOMETRY), 10-29(scalars), 30(STRUCT), 31(MAP)`;function zE(e,t){let n=OC(e,t,1)[0];if(n===0)return``;let r=t.get(),i=r+n,a=e.subarray(r,i);return t.add(n),LE.decode(a)}function BE(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 VE(e,t){let n=OC(e,t,1)[0]>>>0,r=n>=kE.SCALAR_BASE?AE(n):null;if(!r)throw Error(`Unsupported field type code ${n}. Supported: 10-29(scalars), 30(STRUCT), 31(MAP)`);let i={...r,name:zE(e,t)};if(i.type===`complexType`&&ME(n)){let n=i.complexType,r=OC(e,t,1)[0]>>>0;n.children=Array(r);for(let i=0;i<r;i++)n.children[i]=VE(e,t)}return BE(i)}function HE(e,t){let n=OC(e,t,1)[0]>>>0,r=AE(n);if(!r)throw Error(`Unsupported column type code ${n}. Supported: ${RE}`);let i;if(jE(n))i=zE(e,t);else if(n<kE.GEOMETRY)i=`id`;else if(n===kE.GEOMETRY)i=`geometry`;else throw Error(`Unsupported column type code ${n}. Supported: ${RE}`);let a={...r,name:i};if(a.type===`complexType`&&ME(n)){let n=OC(e,t,1)[0]>>>0,r=a.complexType;r.children=Array(n);for(let i=0;i<n;i++)r.children[i]=VE(e,t)}return a}function UE(e,t){let n={};n.featureTables=[];let r={};if(r.name=zE(e,t),r.name.length===0)throw Error(`Missing layer name`);let i=OC(e,t,1)[0]>>>0,a=OC(e,t,1)[0]>>>0;r.columns=Array(a);for(let n=0;n<a;n++)r.columns[n]=HE(e,t);return n.featureTables.push(r),[n,i]}function WE(e,t,n=!0){let r=new NS(0),i=[];for(;r.get()<e.length;){let a=OC(e,r,1)[0]>>>0,o=r.get()+a;if(o>e.length)throw Error(`Block overruns tile: ${o} > ${e.length}`);let s=OC(e,r,1)[0]>>>0;if(s!==1&&s!==2){r.set(o);continue}let[c,l]=UE(e,r),u=c.featureTables[0],d=null,f=null,p=[],m=0;for(let i of u.columns){let a=i.name;if(PE(i)){let t=null;if(i.nullable){let n=Dw(e,r),i=r.get(),a=Iw(e,n.numValues,n.byteLength,r);r.set(i+n.byteLength),t=new Mw(a,n.numValues)}let o=Dw(e,r);m=t?t.size():o.decompressedCount,d=GE(e,i,r,a,o,t??m,n)}else if(FE(i)){let n=OC(e,r,1)[0];if(m===0){let t=r.get();m=Dw(e,r).decompressedCount,r.set(t)}t&&(t.scale=t.extent/l),f=zT(e,n,r,m,t)}else{let t=NE(i)?OC(e,r,1)[0]:1;if(t===0)continue;let n=xE(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 OS(u.name,f,d,p,l);i.push(h),r.set(o)}return i}function GE(e,t,n,r,i,a,o=!1){let s=t.scalarType?.longID?AS.UINT_64:AS.UINT_32,c=typeof a==`number`?void 0:a,l=fT(i,a,e,n,s===AS.UINT_64?`int64`:`int32`);if(s===AS.UINT_32)switch(l){case jw.FLAT:return new CS(r,Kw(e,n,i,void 0,c),a);case jw.SEQUENCE:{let t=Qw(e,n,i);return new ES(r,t[0],t[1],i.numRleValues,!1)}case jw.CONST:return new DS(r,Zw(e,n,i),a,!1)}switch(l){case jw.FLAT:return o?new wS(r,nT(e,n,i,c),a):new hT(r,tT(e,n,i,c),a);case jw.SEQUENCE:{let t=$w(e,n,i);return new gT(r,t[0],t[1],i.numRleValues,!1)}case jw.CONST:return new KT(r,aT(e,n,i),a,!1)}throw Error(`Vector type not supported for id column.`)}var KE=BS(LS);KE/32*4,3*KE/256+KE|0;var qE=class{constructor(e,t){switch(this._featureData=e,this.properties=this._featureData.properties||{},this._featureData.geometry?.type){case yT.POINT:case yT.MULTIPOINT:this.type=1;break;case yT.LINESTRING:case yT.MULTILINESTRING:this.type=2;break;case yT.POLYGON:case yT.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 j(e.x,e.y));e.push(n)}return e}},JE=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 qE(this.features[e],this.extent)}},YE=class{constructor(e){this.layers={};let t=WE(new Uint8Array(e));this.layers=t.reduce((e,t)=>({...e,[t.name]:new JE(t)}),{})}};K(`FeatureIndex`,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 su(N,16,0),this.grid3D=new su(N,16,0),this.featureIndexArray=new Ed,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 YE(this.rawTileData).layers;break;default:this.vtLayers=new Sh(new ov(this.rawTileData)).layers}this.sourceLayerCoder=new yS(this.vtLayers?Object.keys(this.vtLayers).sort():[vS])}return this.vtLayers}query(e,t,n,r){this.loadVTLayers();let i=e.params,a=N/e.tileSize/e.scale,o=Gc(i.filter,`queryRenderedFeatures filter`,i.globalState),s=e.queryGeometry,c=e.queryPadding*a,l=ph.fromPoints(s),u=this.grid.query(l.minX-c,l.minY-c,l.maxX+c,l.maxY+c),d=ph.fromPoints(e.cameraQueryGeometry).expandBy(c),f=this.grid3D.query(d.minX,d.minY,d.maxX,d.maxY,(t,n,r,i)=>Kf(e.cameraQueryGeometry,t-c,n-c,r+c,i+c));for(let e of f)u.push(e);u.sort(QE);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||=Af(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=jf(p,!0);if(!i.filter(new gu(this.tileID.overscaledZ),e,this.tileID.canonical))return}else if(!i.filter(new gu(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=F({},c[t]);d.paint=ZE(d.paint,n.paint,p,i,o),d.layout=ZE(d.layout,n.layout,p,i,o);let f=!u||u(p,n,i);if(!f)continue;let h=new bS(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=Gc(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}},{omit:[`rawTileData`,`sourceLayerCoder`]});function XE(e){return typeof e==`object`&&!!e&&`evaluate`in e}function ZE(e,t,n,r,i){return Nn(e,(e,a)=>{let o=t instanceof wu?t.get(a):null;return XE(o)?o.evaluate(n,r,void 0,i):o})}function QE(e,t){return t-e}var $E=`RTLPluginLoaded`,eD=class extends Yr{constructor(...e){super(...e),this.status=`unavailable`,this.url=null,this.dispatcher=ox()}_syncState(e){return this.status=e,this.dispatcher.broadcast(`SRPS`,{pluginStatus:e,pluginURL:this.url}).catch(e=>{throw this.status=`error`,e})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status=`unavailable`,this.url=null}async setRTLTextPlugin(e,t=!1){if(this.url)throw Error(`setRTLTextPlugin cannot be called multiple times.`);if(this.url=_r.resolveURL(e),!this.url)throw Error(`requested url ${e} is invalid`);if(this.status===`unavailable`){if(t)this.status=`deferred`,this._syncState(this.status);else return this._requestImport()}else if(this.status===`requested`)return this._requestImport()}async _requestImport(){await this._syncState(`loading`),this.status=`loaded`,this.fire(new Jr($E))}lazyLoad(){this.status===`unavailable`?this.status=`requested`:this.status===`deferred`&&this._requestImport()}},tD=null;function nD(){return tD||=new eD,tD}var rD=class{constructor(e,t){this.timeAdded=0,this.fadeEndTime=0,this.fadeOpacity=1,this.tileID=e,this.uid=Dn(),this.uses=0,this.tileSize=t,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rttObjects=[],this.rttFingerprint={},this.expiredRequestCount=0,this.state=`loading`,this.featureStateRevision=-1}isRenderable(e){return this.hasData()&&(!this.fadeEndTime||this.fadingDirection!==0||this.fadeOpacity>0)&&(e||!this.holdingForSymbolFade())}setCrossFadeLogic({fadingRole:e,fadingDirection:t,fadingParentID:n,fadeEndTime:r}){this.resetFadeLogic(),this.fadingRole=e,this.fadingDirection=t,this.fadingParentID=n,this.fadeEndTime=r}setSelfFadeLogic(e){this.resetFadeLogic(),this.selfFading=!0,this.fadeEndTime=e}resetFadeLogic(){this.fadingRole=null,this.fadingDirection=null,this.fadingParentID=null,this.selfFading=!1,this.timeAdded=yr(),this.fadeEndTime=0,this.fadeOpacity=1}wasRequested(){return this.state===`errored`||this.state===`loaded`||this.state===`reloading`}clearTextures(e){this.demTexture&&e.saveTileTexture(this.demTexture),this.demTexture=null}getRTT(e){return this.rttObjects[e]}acquireRTT(e,t,n){return this.rttObjects[t]=e.acquireRTT(n)}releaseRTT(e){if(this.rttObjects.length!==0){for(let t of this.rttObjects)t&&e.releaseRTT(t);this.rttObjects.length=0}}loadVectorData(e,t,n){if(e?.etagUnmodified===!0){this.state=`loaded`;return}if(this.hasData()&&this.unloadVectorData(),this.state=`loaded`,!e){this.collisionBoxArray=new gd;return}e.featureIndex&&(this.latestFeatureIndex=e.featureIndex,e.rawTileData?(this.latestRawTileData=e.rawTileData,this.latestEncoding=e.encoding,this.latestFeatureIndex.rawTileData=e.rawTileData,this.latestFeatureIndex.encoding=e.encoding):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData,this.latestFeatureIndex.encoding=this.latestEncoding)),this.collisionBoxArray=e.collisionBoxArray,this.buckets=_S(e.buckets,t),this.hasSymbolBuckets=!1;for(let e in this.buckets){let t=this.buckets[e];if(t instanceof Ky){if(this.hasSymbolBuckets=!0,n)t.justReloaded=!0;else break}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let e in this.buckets){let t=this.buckets[e];if(t instanceof Ky&&t.hasRTLText){this.hasRTLText=!0,nD().lazyLoad();break}}this.queryPadding=0;for(let e in this.buckets){let n=this.buckets[e];this.queryPadding=Math.max(this.queryPadding,t.getLayer(e).queryRadius(n))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage),this.dashPositions=e.dashPositions}unloadVectorData(){for(let e in this.buckets)this.buckets[e].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.imageAtlas=null,this.dashPositions=null,this.latestFeatureIndex=null,this.state=`unloaded`}getBucket(e){return this.buckets[e.id]}upload(e){for(let t in this.buckets){let n=this.buckets[t];n.uploadPending()&&n.upload(e)}let t=e.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new Ip(e,this.imageAtlas.image,t.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&=(this.glyphAtlasTexture=new Ip(e,this.glyphAtlasImage,t.ALPHA),null)}prepare(e){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(e,this.imageAtlasTexture)}queryRenderedFeatures(e,t,n,r,i,a,o,s,c,l,u){return this.latestFeatureIndex?.rawTileData?this.latestFeatureIndex.query({queryGeometry:r,cameraQueryGeometry:i,scale:a,tileSize:this.tileSize,pixelPosMatrix:l,transform:s,params:o,queryPadding:this.queryPadding*c,getElevation:u},e,t,n):{}}querySourceFeatures(e,t){let n=this.latestFeatureIndex;if(!n?.rawTileData)return;let r=n.loadVTLayers(),i=t?.sourceLayer?t.sourceLayer:``,a=r._geojsonTileLayer||r[i];if(!a)return;let o=Gc(t?.filter,`querySourceFeatures[${i}].filter`,t?.globalState),{z:s,x:c,y:l}=this.tileID.canonical,u={z:s,x:c,y:l};for(let t=0;t<a.length;t++){let r=a.feature(t);if(o.needGeometry){let e=jf(r,!0);if(!o.filter(new gu(this.tileID.overscaledZ),e,this.tileID.canonical))continue}else if(!o.filter(new gu(this.tileID.overscaledZ),r))continue;let d=new bS(r,s,c,l,n.getId(r,i));d.tile=u,e.push(d)}}hasData(){return this.state===`loaded`||this.state===`reloading`||this.state===`expired`}patternsLoaded(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length}setExpiryData(e){let t=this.expirationTime;if(e.cacheControl){let t=Un(e.cacheControl);t[`max-age`]&&(this.expirationTime=Date.now()+t[`max-age`]*1e3)}else e.expires&&(this.expirationTime=new Date(e.expires).getTime());if(this.expirationTime){let e=Date.now(),n=!1;if(this.expirationTime>e)n=!1;else if(!t)n=!0;else if(this.expirationTime<t)n=!0;else{let r=this.expirationTime-t;r?this.expirationTime=e+Math.max(r,3e4):n=!0}n?(this.expiredRequestCount++,this.state=`expired`):this.expiredRequestCount=0}}getExpiryTimeout(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-new Date().getTime(),2**31-1)}setFeatureState(e,t,n){if(!this.latestFeatureIndex?.rawTileData||Object.keys(e).length===0||this.featureStateRevision===n)return;this.featureStateRevision=n;let r=this.latestFeatureIndex.loadVTLayers();for(let n in this.buckets){if(!t.hasLayer(n))continue;let i=this.buckets[n],a=i.layers[0].sourceLayer||`_geojsonTileLayer`,o=r[a],s=e[a];if(!o||!s||s.length===0)continue;i.update(s,o,this.imageAtlas?.patternPositions||{},this.dashPositions||{});let c=t.getLayer(n);c&&(this.queryPadding=Math.max(this.queryPadding,c.queryRadius(i)))}}holdingForSymbolFade(){return this.symbolFadeHoldUntil!==void 0}symbolFadeFinished(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<yr()}clearSymbolFadeHold(){this.symbolFadeHoldUntil=void 0}setSymbolHoldDuration(e){this.symbolFadeHoldUntil=yr()+e}setDependencies(e,t){let n={};for(let e of t)n[e]=!0;this.dependencies[e]=n}hasDependency(e,t){for(let n of e){let e=this.dependencies[n];if(e){for(let n of t)if(e[n])return!0}}return!1}},iD=class{constructor(e,t){this.max=e,this.onRemove=t,this.reset()}reset(){for(let e in this.data)for(let t of this.data[e])t.timeout&&clearTimeout(t.timeout),this.onRemove(t.value);return this.data={},this.order=[],this}add(e,t,n){let r=e.wrapped().key;this.data[r]===void 0&&(this.data[r]=[]);let i={value:t,timeout:void 0};if(n!==void 0&&(i.timeout=setTimeout(()=>{this.remove(e,i)},n)),this.data[r].push(i),this.order.push(r),this.order.length>this.max){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}has(e){return e.wrapped().key in this.data}getAndRemove(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null}_getAndRemoveByKey(e){let t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),this.data[e].length===0&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value}getByKey(e){let t=this.data[e];return t?t[0].value:null}get(e){return this.has(e)?this.data[e.wrapped().key][0].value:null}remove(e,t){if(!this.has(e))return this;let n=e.wrapped().key,r=t===void 0?0:this.data[n].indexOf(t),i=this.data[n][r];return this.data[n].splice(r,1),i.timeout&&clearTimeout(i.timeout),this.data[n].length===0&&delete this.data[n],this.onRemove(i.value),this.order.splice(this.order.indexOf(n),1),this}setMaxSize(e){for(this.max=e;this.order.length>this.max;){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}filter(e){let t=[];for(let n in this.data)for(let r of this.data[n])e(r.value)||t.push(r);for(let e of t)this.remove(e.value.tileID,e)}};function aD(e){let t=[];for(let n in e)t.push({id:n,state:e[n]});return t}var oD=class{constructor(){this.state={},this.stateChanges={},this.deletedStates={},this.revision=0}updateState(e,t,n){let r=String(t);if(this.stateChanges[e]||={},this.stateChanges[e][r]||={},F(this.stateChanges[e][r],n),this.deletedStates[e]===null){this.deletedStates[e]={};for(let t in this.state[e])if(t===r){this.deletedStates[e][r]={};for(let i in this.state[e][t])n[i]===void 0&&(this.deletedStates[e][r][i]=null)}else this.deletedStates[e][t]=null}else if(this.deletedStates[e]?.[r]===null){this.deletedStates[e][r]={};for(let t in this.state[e][r])n[t]===void 0&&(this.deletedStates[e][r][t]=null)}else for(let t in n)this.deletedStates[e]?.[r]?.[t]===null&&delete this.deletedStates[e][r][t]}removeFeatureState(e,t,n){if(this.deletedStates[e]===null)return;let r=String(t);if(this.deletedStates[e]||={},n&&t!==void 0)this.deletedStates[e][r]!==null&&(this.deletedStates[e][r]||={},this.deletedStates[e][r][n]=null);else if(t!==void 0){if(this.stateChanges[e]?.[r])for(n in this.deletedStates[e][r]={},this.stateChanges[e][r])this.deletedStates[e][r][n]=null;else this.deletedStates[e][r]=null}else this.deletedStates[e]=null}getState(e,t){let n=String(t),r=this.state[e]||{},i=this.stateChanges[e]||{},a=F({},r[n],i[n]);if(this.deletedStates[e]===null)return{};if(this.deletedStates[e]){let n=this.deletedStates[e][t];if(n===null)return{};for(let e in n)delete a[e]}return a}initializeTileState(e,t){let n={};for(let e in this.state)n[e]=aD(this.state[e]);e.setFeatureState(n,t,this.revision)}coalesceChanges(e,t){let n={};for(let e in this.stateChanges){this.state[e]||={},n[e]||={};for(let t in this.stateChanges[e])this.state[e][t]||={},F(this.state[e][t],this.stateChanges[e][t]),n[e][t]=this.state[e][t]}for(let e in this.deletedStates)if(this.state[e]||={},n[e]||={},this.deletedStates[e]===null)for(let t in this.state[e])this.state[e][t]={},n[e][t]={};else for(let t in this.deletedStates[e]){if(this.deletedStates[e][t]===null)this.state[e][t]={};else if(this.state[e][t])for(let n of Object.keys(this.deletedStates[e][t]))delete this.state[e][t][n];else continue;n[e][t]=this.state[e][t]}if(this.stateChanges={},this.deletedStates={},Object.keys(n).length===0)return;this.revision++;let r={};for(let e in n)r[e]=aD(n[e]);e.setFeatureState(r,t,this.revision)}},sD=class e{constructor(e,t){this.min=e,this.max=t,this.center=ht([],pt([],this.min,this.max),.5)}quadrant(t){let n=[t%2==0,t<2],r=ut(this.min),i=ut(this.max);for(let e=0;e<n.length;e++)r[e]=n[e]?this.min[e]:this.center[e],i[e]=n[e]?this.center[e]:this.max[e];return i[2]=this.max[2],new e(r,i)}distanceX(e){return Math.max(Math.min(this.max[0],e[0]),this.min[0])-e[0]}distanceY(e){return Math.max(Math.min(this.max[1],e[1]),this.min[1])-e[1]}intersectsFrustum(e){let t=!0;for(let n of e.planes){let e=this.intersectsPlane(n);if(e===0)return 0;e===1&&(t=!1)}return t?2:e.aabb.min[0]>this.max[0]||e.aabb.min[1]>this.max[1]||e.aabb.min[2]>this.max[2]||e.aabb.max[0]<this.min[0]||e.aabb.max[1]<this.min[1]||e.aabb.max[2]<this.min[2]?0:1}intersectsPlane(e){let t=e[3],n=e[3];for(let r=0;r<3;r++)e[r]>0?(t+=e[r]*this.min[r],n+=e[r]*this.max[r]):(n+=e[r]*this.min[r],t+=e[r]*this.max[r]);return t>=0?2:n<0?0:1}},cD=class e{constructor(e,t,n){this.points=e,this.planes=t,this.aabb=n}static fromInvProjectionMatrix(t,n=1,r=0,i,a){let o=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]],s=a?[[6,5,4],[0,1,2],[0,3,7],[2,1,5],[3,2,6],[0,4,5]]:[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],c=2**r,l=o.map(e=>lD(e,t,n,c));i&&uD(l,s[0],i,a);let u=s.map(e=>{let t=yt([],xt([],At([],l[e[0]],l[e[1]]),At([],l[e[2]],l[e[1]]))),n=-bt(t,l[e[1]]);return t.concat(n)}),d=[1/0,1/0,1/0],f=[-1/0,-1/0,-1/0];for(let e of l)for(let t=0;t<3;t++)d[t]=Math.min(d[t],e[t]),f[t]=Math.max(f[t],e[t]);return new e(l,u,new sD(d,f))}};function lD(e,t,n,r){let i=Lt([],e,t),a=1/i[3]/n*r;return Rt(i,i,[a,a,1/i[3],a])}function uD(e,t,n,r){let i=r?4:0,a=r?0:4,o=0,s=[],c=[];for(let t=0;t<4;t++){let n=At([],e[t+a],e[t+i]),r=dt(n);ht(n,n,1/r),s.push(r),c.push(n)}for(let t=0;t<4;t++){let r=fn(e[t+i],c[t],n);o=r!==null&&r>=0?Math.max(o,r):Math.max(o,s[t])}let l=dD(e,t),u=fD(n,l);if(u!==null){let e=u/bt(c[0],l);o=Math.min(o,e)}for(let t=0;t<4;t++){let n=Math.min(o,s[t]);e[t+a]=[e[t+i][0]+c[t][0]*n,e[t+i][1]+c[t][1]*n,e[t+i][2]+c[t][2]*n,1]}}function dD(e,t){let n=At([],e[t[0]],e[t[1]]),r=At([],e[t[2]],e[t[1]]),i=[0,0,0,0];return yt(i,xt([],n,r)),i[3]=-bt(i,e[t[0]]),i}function fD(e,t){let n=Ft([],e,1/jt(e)),r=At([],t,ht([],n,bt(t,n))),i=jt(r);if(i>0){let e=Math.sqrt(1-n[3]*n[3]);return un(t,pt([],ht([],n,-n[3]),ht([],r,e/i)))}return null}function pD(e,t,n){let r=t.intersectsFrustum(e);if(!n||r===0)return r;let i=t.intersectsPlane(n);return i===0?0:r===2&&i===2?2:1}function mD(e,t,n){let r=0,i=(n-t)/10;for(let a=0;a<10;a++){let o=t+(a+.5)/10*(n-t);r+=i*Math.cos(o)**+e}return r}function hD(e,t){return function(n,r,i,a,o){let s=2*((e-1)/jn(Math.cos(Qn(Ph-o))/Math.cos(Qn(Ph)))-1),c=Math.acos(i/a),l=2*mD(s-1,0,Qn(o/2)),u=Math.min(Qn(Ph),c+Qn(o/2)),d=Math.min(u,c-Qn(o/2)),f=mD(s-1,d,u),p=Math.atan(r/i),m=Math.hypot(r,i),h=n;return h+=jn(a/m/Math.max(.5,Math.cos(Qn(o/2)))),h+=s*jn(Math.cos(p))/2,h-=jn(Math.max(1,f/l/t))/2,h}}var gD=hD(9.314,3);function _D(e,t){let n=(t.roundZoom?Math.round:Math.floor)(e.zoom+jn(e.tileSize/t.tileSize));return Math.max(0,n)}function vD(e,t){let n=P((15-(Ph-e.pitch-e.fov/2))/15,0,1),r=Math.max(500,t??0);return e.elevation+n*r}function yD(e,t,n){let r=e.planes[1],i=e.points.map(e=>{let i=r[0]*e[0]+r[1]*e[1]+r[2]*e[2]+r[3];if(Math.abs(i)>1e-6)return e;let a=[e[0]-n[0],e[1]-n[1],e[2]-n[2]],o=r[0]*a[0]+r[1]*a[1]+r[2]*a[2];if(o>=-1e-9)return e;let s=t/-o;return[e[0]+a[0]*s,e[1]+a[1]*s,e[2]+a[2]*s,e[3]]}),a=e.planes.map((e,n)=>n===1?[e[0],e[1],e[2],e[3]+t]:e),o=[1/0,1/0,1/0],s=[-1/0,-1/0,-1/0];for(let e of i)for(let t=0;t<3;t++)o[t]=Math.min(o[t],e[t]),s[t]=Math.max(s[t],e[t]);return new cD(i,a,new sD(o,s))}function bD(e,t,n,r){let i=Math.hypot(t[0],t[1],t[2]);if(i===0)return{frustum:e,plane:t};let a=1+r/Ch,o=P(-t[3]/i,-1,1),s=Math.cos(Math.acos(o)+Math.acos(1/a));return{frustum:yD(e,Math.sqrt(a*a-1),n),plane:[t[0],t[1],t[2],-s*i]}}function xD(e,t){let n=e.getCameraFrustum(),r=e.getClippingPlane();r&&t.maxContentElevation>0&&({frustum:n,plane:r}=bD(n,r,e.cameraPosition,t.maxContentElevation));let i=e.getCoveringTilesDetailsProvider(),a=i.getCenter(e),o=Hh(e,a),s=Nh.fromLngLat(a,e.elevation),c=vD(e,t.maxContentElevation),l=i.allowVariableZoom(e,t),u=_D(e,t),d=t.minzoom||0,f=t.maxzoom===void 0?e.maxZoom:t.maxzoom,p=Math.min(Math.max(0,u),f),m=2**p,h=[m*o.x,m*o.y,0],g=[m*s.x,m*s.y,0],_=Math.hypot(s.x-o.x,s.y-o.y),v=Math.abs(s.z-o.z),y=Math.hypot(_,v),b=e=>({zoom:0,x:0,y:0,wrap:e,fullyVisible:!1}),x=[],S=[];if(e.renderWorldCopies&&i.allowWorldCopies())for(let e=1;e<=3;e++)x.push(b(-e)),x.push(b(e));for(x.push(b(0));x.length>0;){let a=x.pop(),m=a.x,_=a.y,b=a.fullyVisible,C={x:m,y:_,z:a.zoom},w=i.getTileBoundingVolume(C,a.wrap,c,t);if(!b){let e=pD(n,w,r);if(e===0)continue;b=e===2}let T=i.distanceToTile2d(o.x,o.y,C,w),E=u;l&&(E=(t.calculateTileZoom||gD)(e.zoom+jn(e.tileSize/t.tileSize),T,v,y,e.fov)),E=(t.roundZoom?Math.round:Math.floor)(E),E=Math.max(0,E);let D=Math.min(E,f);if(a.wrap=i.getWrap(s,C,a.wrap),a.zoom>=D){if(a.zoom<d)continue;let e=p-a.zoom,n=h[0]-.5-(m<<e),r=h[1]-.5-(_<<e),i=t.reparseOverscaled?Math.max(a.zoom,E):a.zoom;S.push({tileID:new Ex(a.zoom===f?i:a.zoom,a.wrap,a.zoom,m,_),distanceSq:en([g[0]-.5-m,g[1]-.5-_]),tileDistanceToCamera:Math.sqrt(n*n+r*r)});continue}for(let e=0;e<4;e++){let t=(m<<1)+e%2,n=(_<<1)+(e>>1),r=a.zoom+1;x.push({zoom:r,x:t,y:n,wrap:a.wrap,fullyVisible:b})}}return S.sort((e,t)=>e.distanceSq-t.distanceSq).map(e=>e.tileID)}function SD(e){return e===`raster`||e===`image`||e===`video`}function CD(e,t,n,r,i,a,o){let s=yr(),c=bn(t);for(let l of t){let t=e.getTileById(l.key);(t.fadingDirection===0||t.fadeOpacity===0)&&t.resetFadeLogic(),!wD(e,t,n,s,r,i,o)&&(TD(e,t,n,s,a,o)||DD(t,c,s,o)||t.resetFadeLogic())}}function wD(e,t,n,r,i,a,o){if(!t.hasData())return!1;let{tileID:s,fadingRole:c,fadingDirection:l,fadingParentID:u}=t;if(c===0&&l===1&&u)return n[u.key]=u,!0;let d=Math.max(s.overscaledZ-i,a);for(let i=s.overscaledZ-1;i>=d;i--){let a=s.scaledTo(i),c=e.getLoadedTile(a);if(c)return t.setCrossFadeLogic({fadingRole:0,fadingDirection:1,fadingParentID:c.tileID,fadeEndTime:r+o}),c.setCrossFadeLogic({fadingRole:1,fadingDirection:0,fadeEndTime:r+o}),n[a.key]=a,!0}return!1}function TD(e,t,n,r,i,a){if(!t.hasData())return!1;let o=t.tileID.children(i),s=ED(e,t,o,n,r,i,a);if(s)return!0;for(let c of o)ED(e,t,c.children(i),n,r,i,a)&&(s=!0);return s}function ED(e,t,n,r,i,a,o){if(n[0].overscaledZ>a)return!1;let s=!1;for(let a of n){let n=e.getLoadedTile(a);if(!n)continue;let{fadingRole:c,fadingDirection:l,fadingParentID:u}=n;(c!==0||l!==0||!u)&&(n.setCrossFadeLogic({fadingRole:0,fadingDirection:0,fadingParentID:t.tileID,fadeEndTime:i+o}),t.setCrossFadeLogic({fadingRole:1,fadingDirection:1,fadeEndTime:i+o})),r[a.key]=a,s=!0}return s}function DD(e,t,n,r){let i=e.tileID;if(e.selfFading)return!0;if(e.hasData())return!1;if(t.has(i)){let t=n+r;return e.setSelfFadeLogic(t),!0}return!1}function OD(e,t){if(t<=0)return!1;let n=yr();for(let t of e.getAllTiles())if(t.fadeEndTime>=n)return!0;return!1}function kD(e,t){let n=t.getRenderableIds();for(let r of n){if(!e.neighboringTiles?.[r])continue;let n=t.getTileById(r);e.neighboringTiles[r].backfilled||AD(e,n),!n.neighboringTiles?.[e.tileID.key]?.backfilled&&AD(n,e)}}function AD(e,t){e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.needsColorReliefPrepare=!0;let n=t.tileID.canonical.x-e.tileID.canonical.x,r=t.tileID.canonical.y-e.tileID.canonical.y,i=2**e.tileID.canonical.z,a=t.tileID.key;(n!==0||r!==0)&&(Math.abs(r)>1||(Math.abs(n)>1&&(Math.abs(n+i)===1?n+=i:Math.abs(n-i)===1&&(n-=i)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,n,r),e.neighboringTiles?.[a]&&(e.neighboringTiles[a].backfilled=!0))))}var jD=class{constructor(){this._tiles={}}handleWrapJump(e){let t={};for(let n in this._tiles){let r=this._tiles[n];r.tileID=r.tileID.unwrapTo(r.tileID.wrap+e),t[r.tileID.key]=r}this._tiles=t}setFeatureState(e,t,n){for(let r in this._tiles)this._tiles[r].setFeatureState(e,t,n)}getAllTiles(){return Object.values(this._tiles)}getAllIds(e=!1){return e?Object.values(this._tiles).map(e=>e.tileID).sort(Mx).map(e=>e.key):Object.keys(this._tiles)}getTileById(e){return this._tiles[e]}setTile(e,t){this._tiles[e]=t}deleteTileById(e){delete this._tiles[e]}getLoadedTile(e){let t=this.getTileById(e.key);return t?.hasData()?t:null}isIdRenderable(e,t=!1){return this.getTileById(e)?.isRenderable(t)}getRenderableIds(e=0,t){let n=[];for(let e of this.getAllIds())this.isIdRenderable(e,t)&&n.push(this.getTileById(e));return t?n.sort((t,n)=>{let r=t.tileID,i=n.tileID,a=new j(r.canonical.x,r.canonical.y)._rotate(-e),o=new j(i.canonical.x,i.canonical.y)._rotate(-e);return r.overscaledZ-i.overscaledZ||o.y-a.y||o.x-a.x}).map(e=>e.tileID.key):n.map(e=>e.tileID).sort(Mx).map(e=>e.key)}},MD=class e extends Yr{static{this.maxUnderzooming=10}static{this.maxOverzooming=3}constructor(e,t,n){super(),this._maxContentElevationSeen=0,this.id=e,this.dispatcher=n,this.on(`data`,e=>{this._dataHandler(e)}),this.on(`dataloading`,()=>{this._sourceErrored=!1}),this.on(`error`,()=>{this._sourceErrored=this._source.loaded()}),this._source=pS(e,t,n,this),this._inViewTiles=new jD,this._outOfViewCache=new iD(0,e=>this._unloadTile(e)),this._timers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._rasterFadeDuration=0,this._maxFadingAncestorLevels=5,this._state=new oD,this._didEmitContent=!1,this._updated=!1}onAdd(e){this.map=e,this._maxTileCacheSize=e?e._maxTileCacheSize:null,this._maxTileCacheZoomLevels=e?e._maxTileCacheZoomLevels:null,this._source?.onAdd&&this._source.onAdd(e)}onRemove(e){for(let e of this._inViewTiles.getAllTiles())e.unloadVectorData();this.clearTiles(),this._source?.onRemove&&this._source.onRemove(e),this._inViewTiles=new jD}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if((this.used!==void 0||this.usedForTerrain!==void 0)&&!this.used&&!this.usedForTerrain)return!0;if(!this._updated)return!1;for(let e of this._inViewTiles.getAllTiles())if(e.state!==`loaded`&&e.state!==`errored`)return!1;return!0}getSource(){return this._source}getState(){return this._state}pause(){this._paused=!0}resume(){if(!this._paused)return;let e=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,e&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}async _loadTile(e,t,n,r){try{let i=await this._source.loadTile(e);this._tileLoaded(e,t,n,r,i)}catch(t){e.state=`errored`,t.status===404?this.update(this.transform,this.terrain):this._source.fire(new R(nn(t),{tile:e}))}}_unloadTile(e){this._source.unloadTile&&this._source.unloadTile(e)}_abortTile(e){this._source.abortTile&&this._source.abortTile(e),this._source.fire(new $r(`dataabort`,{tile:e,coord:e.tileID}))}serialize(){return this._source.serialize()}prepare(e){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._inViewTiles,this.style);for(let t of this._inViewTiles.getAllTiles())t.upload(e),t.prepare(this.map.style.imageManager)}getIds(){return this._inViewTiles.getAllIds(!0)}getRenderableIds(e){return this._inViewTiles.getRenderableIds(this.transform?.bearingInRadians,e)}hasRenderableParent(e){let t=e.overscaledZ-1;if(t>=this._source.minzoom){let n=this.getLoadedTile(e.scaledTo(t));if(n)return this._inViewTiles.isIdRenderable(n.tileID.key)}return!1}reload(e,t=void 0){if(this._paused){this._shouldReloadOnResume=!0;return}this._outOfViewCache.reset();for(let n of this._inViewTiles.getAllIds()){let r=this._inViewTiles.getTileById(n);(!t||this._source.shouldReloadTile(r,t))&&(e?this._reloadTile(n,r.state===`errored`?`loading`:`expired`):r.state!==`errored`&&this._reloadTile(n,`reloading`))}}async _reloadTile(e,t){let n=this._inViewTiles.getTileById(e);if(!n)return;let r=n.hasData();n.state!==`loading`&&(n.state=t),await this._loadTile(n,e,t,r)}_tileLoaded(e,t,n,r,i){r||(e.timeAdded=yr(),e.selfFading&&(e.fadeEndTime=e.timeAdded+this._rasterFadeDuration)),n===`expired`&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(t,e),!i?.unmodified&&(this.getSource().type===`raster-dem`&&e.dem&&kD(e,this._inViewTiles),e.featureStateRevision=-1,this._state.initializeTileState(e,this.style),e.aborted||this._source.fire(new $r(`data`,{tile:e,coord:e.tileID})))}getTile(e){return this.getTileByID(e.key)}getTileByID(e){return this._inViewTiles.getTileById(e)}_retainLoadedChildren(t,n){let r=this._getLoadedDescendents(n),i=new Set;for(let a of n){let n=r[a.key];if(!n?.length){i.add(a);continue}let o=a.overscaledZ+e.maxOverzooming,s=n.filter(e=>e.tileID.overscaledZ<=o);if(!s.length){i.add(a);continue}let c=Math.min(...s.map(e=>e.tileID.overscaledZ)),l=s.filter(e=>e.tileID.overscaledZ===c).map(e=>e.tileID);for(let e of l)t[e.key]=e;this._areDescendentsComplete(l,c,a.overscaledZ)||i.add(a)}return i}_getLoadedDescendents(e){let t={};for(let n of this._inViewTiles.getAllTiles().filter(e=>e.hasData()))for(let r of e)n.tileID.isChildOf(r)&&(t[r.key]||=[],t[r.key].push(n));return t}_areDescendentsComplete(e,t,n){return e.length===1&&e[0].isOverscaled()?e[0].overscaledZ===t:4**(t-n)===e.length}getLoadedTile(e){return this._inViewTiles.getLoadedTile(e)}updateCacheSize(e){let t=(Math.ceil(e.width/this._source.tileSize)+1)*(Math.ceil(e.height/this._source.tileSize)+1),n=this._maxTileCacheZoomLevels===null?kr.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels,r=Math.floor(t*n),i=typeof this._maxTileCacheSize==`number`?Math.min(this._maxTileCacheSize,r):r;this._outOfViewCache.setMaxSize(i)}handleWrapJump(e){let t=(e-(this._prevLng===void 0?e:this._prevLng))/360,n=Math.round(t);this._prevLng=e,n&&(this._inViewTiles.handleWrapJump(n),this._resetTileReloadTimers())}_updateMaxContentElevation(){let e=this._maxContentElevationSeen,t=this.map?.style?._layers;if(!t)return e;let n=this._inViewTiles.getAllTiles();for(let r in t){let i=t[r];if(i.type!==`symbol`||i.source!==this.id||i.isHidden(this.transform.zoom))continue;let a=i;if(!a.layout)continue;let o=a.layout.get(`symbol-height-offset`);if(e=Math.max(e,o.constantOr(0)),!o.isConstant())for(let t of n){let n=t.getBucket(i);n&&n.maxHeightOffset>e&&(e=n.maxHeightOffset)}}return this._maxContentElevationSeen=e,e}update(e,t){if(!this._sourceLoaded||this._paused)return;this.transform=e,this.terrain=t,this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng);let n;!this.used&&!this.usedForTerrain?n=[]:this._source.tileID?n=e.getVisibleUnwrappedCoordinates(this._source.tileID).map(e=>new Ex(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)):(n=xD(e,{tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.type===`vector`&&this.map._zoomLevelsToOverscale!==void 0?Math.max(this._source.maxzoom,e.maxZoom-this.map._zoomLevelsToOverscale):this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:t,calculateTileZoom:this._source.calculateTileZoom,maxContentElevation:this._updateMaxContentElevation()}),this._source.hasTile&&(n=n.filter(e=>this._source.hasTile(e)))),this.usedForTerrain&&(n=this._addTerrainIdealTiles(n));let r=n.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,r&&this.fire(new $r(`data`,{sourceDataType:`idle`,sourceId:this.id}));let i=_D(e,this._source),a=this._updateRetainedTiles(n,i),o=SD(this._source.type);o&&this._rasterFadeDuration>0&&!t&&CD(this._inViewTiles,n,a,this._maxFadingAncestorLevels,this._source.minzoom,this._source.maxzoom,this._rasterFadeDuration),o?this._cleanUpRasterTiles(a):this._cleanUpVectorTiles(a)}_cleanUpRasterTiles(e){for(let t of this._inViewTiles.getAllIds())e[t]||this._removeTile(t)}_cleanUpVectorTiles(e){for(let t of this._inViewTiles.getAllIds()){let n=this._inViewTiles.getTileById(t);if(e[t]){n.clearSymbolFadeHold();continue}if(!n.hasSymbolBuckets){this._removeTile(t);continue}n.holdingForSymbolFade()?n.symbolFadeFinished()&&this._removeTile(t):n.setSymbolHoldDuration(this.map._fadeDuration)}}_addTerrainIdealTiles(e){let t=[];for(let n of e)if(n.canonical.z>this._source.minzoom){let e=n.scaledTo(n.canonical.z-1);t.push(e);let r=n.scaledTo(Math.max(this._source.minzoom,Math.min(n.canonical.z,5)));t.push(r)}return e.concat(t)}releaseSymbolFadeTiles(){for(let e of this._inViewTiles.getAllIds())this._inViewTiles.getTileById(e).holdingForSymbolFade()&&this._removeTile(e)}_updateRetainedTiles(t,n){let r=new Set;for(let e of t)this._addTile(e).hasData()||r.add(e);let i=t.reduce((e,t)=>(e[t.key]=t,e),{}),a=this._retainLoadedChildren(i,r),o={},s=Math.max(n-e.maxUnderzooming,this._source.minzoom);for(let e of a){let t=this._inViewTiles.getTileById(e.key),n=t?.wasRequested();for(let r=e.overscaledZ-1;r>=s;--r){let a=e.scaledTo(r);if(o[a.key])break;if(o[a.key]=!0,t=this.getTile(a),!t&&n&&(t=this._addTile(a)),t){let e=t.hasData();if((e||!this.map?.cancelPendingTileRequestsWhileZooming||n)&&(i[a.key]=a),n=t.wasRequested(),e)break}}}return i}_addTile(e){let t=this._inViewTiles.getTileById(e.key);if(t)return t;t=this._outOfViewCache.getAndRemove(e),t&&(t.resetFadeLogic(),this._setTileReloadTimer(e.key,t),t.tileID=e,this._state.initializeTileState(t,this.style));let n=t;return t||(t=new rD(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(t,e.key,t.state,!1)),t.uses++,this._inViewTiles.setTile(e.key,t),n||this._source.fire(new $r(`dataloading`,{tile:t,coord:t.tileID})),t}_setTileReloadTimer(e,t){this._clearTileReloadTimer(e);let n=t.getExpiryTimeout();if(n){let t=()=>{this._reloadTile(e,`expired`),delete this._timers[e]};this._timers[e]=setTimeout(t,n)}}_clearTileReloadTimer(e){let t=this._timers[e];t&&(clearTimeout(t),delete this._timers[e])}_resetTileReloadTimers(){for(let e in this._timers)clearTimeout(this._timers[e]),delete this._timers[e];for(let e of this._inViewTiles.getAllIds()){let t=this._inViewTiles.getTileById(e);this._setTileReloadTimer(e,t)}}refreshTiles(e){for(let t of this._inViewTiles.getAllIds()){let n=this._inViewTiles.getTileById(t);(this._inViewTiles.isIdRenderable(t)||n.state==`errored`)&&e.some(e=>e.equals(n.tileID.canonical))&&this._reloadTile(t,`expired`)}}_removeTile(e){let t=this._inViewTiles.getTileById(e);t&&(t.uses--,this._inViewTiles.deleteTileById(e),this._clearTileReloadTimer(e),!(t.uses>0)&&(t.hasData()&&t.state!==`reloading`?this._outOfViewCache.add(t.tileID,t,t.getExpiryTimeout()):(t.aborted=!0,this._abortTile(t),this._unloadTile(t))))}_dataHandler(e){if(e.dataType===`source`){if(e.sourceDataType===`metadata`){this._sourceLoaded=!0;return}e.sourceDataType===`content`&&this._sourceLoaded&&!this._paused&&(this.reload(e.sourceDataChanged,e.shouldReloadTileOptions),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}}resetMaxContentElevation(){this._maxContentElevationSeen=0}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1,this.resetMaxContentElevation();for(let e of this._inViewTiles.getAllIds())this._removeTile(e);this._outOfViewCache.reset()}tilesIn(e,t,n){let r=[],i=this.transform;if(!i)return r;let a=i.getCoveringTilesDetailsProvider().allowWorldCopies(),o=n?i.getCameraQueryGeometry(e):e,s=e=>i.screenPointToMercatorCoordinate(e,this.terrain),c=this.transformBbox(e,s,!a),l=this.transformBbox(o,s,!a),u=this.getIds(),d=ph.fromPoints(l);for(let e of u){let n=this._inViewTiles.getTileById(e);if(n.holdingForSymbolFade())continue;let o=a?[n.tileID]:[n.tileID.unwrapTo(-1),n.tileID.unwrapTo(0)],s=2**(i.zoom-n.tileID.overscaledZ),u=t*n.queryPadding*N/n.tileSize/s;for(let e of o){let t=d.map(t=>e.getTilePoint(new Nh(t.x,t.y)));if(t.expandBy(u),t.intersects(mh)){let t=c.map(t=>e.getTilePoint(t)),i=l.map(t=>e.getTilePoint(t));r.push({tile:n,tileID:a?e:e.unwrapTo(0),queryGeometry:t,cameraQueryGeometry:i,scale:s})}}}return r}transformBbox(e,t,n){let r=e.map(t);if(n){let n=ph.fromPoints(e);n.shrinkBy(Math.min(n.width(),n.height())*.001);let i=n.map(t);ph.fromPoints(r).covers(i)||(r=r.map(e=>e.x>.5?new Nh(e.x-1,e.y,e.z):e))}return r}getVisibleCoordinates(e){let t=this.getRenderableIds(e).map(e=>this._inViewTiles.getTileById(e).tileID);return this.transform&&this.transform.populateCache(t),t}hasTransition(){return this._source.hasTransition()?!0:SD(this._source.type)&&OD(this._inViewTiles,this._rasterFadeDuration)}setRasterFadeDuration(e){this._rasterFadeDuration=e}setFeatureState(e,t,n){e||=vS,this._state.updateState(e,t,n)}removeFeatureState(e,t,n){e||=vS,this._state.removeFeatureState(e,t,n)}getFeatureState(e,t){return e||=vS,this._state.getState(e,t)}setDependencies(e,t,n){let r=this._inViewTiles.getTileById(e);r&&r.setDependencies(t,n)}reloadTilesForDependencies(e,t){for(let n of this._inViewTiles.getAllIds())this._inViewTiles.getTileById(n).hasDependency(e,t)&&this._reloadTile(n,`reloading`);this._outOfViewCache.filter(n=>!n.hasDependency(e,t))}areTilesLoaded(){for(let e of this._inViewTiles.getAllTiles())if(e.state!==`loaded`&&e.state!==`errored`)return!1;return!0}},ND=class{constructor(e,t){this.reset(e,t)}reset(e,t){this.points=e||[],this._distances=[0];for(let e=1;e<this.points.length;e++)this._distances[e]=this._distances[e-1]+this.points[e].dist(this.points[e-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(t||0,this.length*.5),this.paddedLength=this.length-this.padding*2}lerp(e){if(this.points.length===1)return this.points[0];e=P(e,0,1);let t=1,n=this._distances[t],r=e*this.paddedLength+this.padding;for(;n<r&&t<this._distances.length;)n=this._distances[++t];let i=t-1,a=this._distances[i],o=n-a,s=o>0?(r-a)/o:0;return this.points[i].mult(1-s).add(this.points[t].mult(s))}};function PD(e,t,n,r,i){return i?e?e(t,n)+r:r===0?void 0:r:r}function FD(e,t){let n=!0;return e===`always`||(e===`never`||t===`never`)&&(n=!1),n}var ID=class{constructor(e,t,n){let r=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(e/n),this.yCellCount=Math.ceil(t/n);for(let e=0;e<this.xCellCount*this.yCellCount;e++)r.push([]),i.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=e,this.height=t,this.xScale=this.xCellCount/e,this.yScale=this.yCellCount/t,this.boxUid=0,this.circleUid=0}keysLength(){return this.boxKeys.length+this.circleKeys.length}insert(e,t,n,r,i){this._forEachCell(t,n,r,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(e),this.bboxes.push(t),this.bboxes.push(n),this.bboxes.push(r),this.bboxes.push(i)}insertCircle(e,t,n,r){this._forEachCell(t-r,n-r,t+r,n+r,this._insertCircleCell,this.circleUid++),this.circleKeys.push(e),this.circles.push(t),this.circles.push(n),this.circles.push(r)}_insertBoxCell(e,t,n,r,i,a){this.boxCells[i].push(a)}_insertCircleCell(e,t,n,r,i,a){this.circleCells[i].push(a)}_query(e,t,n,r,i,a,o){if(n<0||e>this.width||r<0||t>this.height)return[];let s=[];if(e<=0&&t<=0&&this.width<=n&&this.height<=r){if(i)return[{key:null,x1:e,y1:t,x2:n,y2:r}];for(let e=0;e<this.boxKeys.length;e++)s.push({key:this.boxKeys[e],x1:this.bboxes[e*4],y1:this.bboxes[e*4+1],x2:this.bboxes[e*4+2],y2:this.bboxes[e*4+3]});for(let e=0;e<this.circleKeys.length;e++){let t=this.circles[e*3],n=this.circles[e*3+1],r=this.circles[e*3+2];s.push({key:this.circleKeys[e],x1:t-r,y1:n-r,x2:t+r,y2:n+r})}}else{let c={hitTest:i,overlapMode:a,seenUids:{box:{},circle:{}}};this._forEachCell(e,t,n,r,this._queryCell,s,c,o)}return s}query(e,t,n,r){return this._query(e,t,n,r,!1,null)}hitTest(e,t,n,r,i,a){return this._query(e,t,n,r,!0,i,a).length>0}hitTestCircle(e,t,n,r,i){let a=e-n,o=e+n,s=t-n,c=t+n;if(o<0||a>this.width||c<0||s>this.height)return!1;let l=[],u={hitTest:!0,overlapMode:r,circle:{x:e,y:t,radius:n},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,c,this._queryCellCircle,l,u,i),l.length>0}_queryCell(e,t,n,r,i,a,o,s){let{seenUids:c,hitTest:l,overlapMode:u}=o,d=this.boxCells[i],f=1e-6;if(d!==null){let i=this.bboxes;for(let o of d)if(!c.box[o]){c.box[o]=!0;let d=o*4,p=this.boxKeys[o];if(e<=i[d+2]+f&&t<=i[d+3]+f&&n>=i[d+0]-f&&r>=i[d+1]-f&&(!s||s(p))&&(!l||!FD(u,p.overlapMode))&&(a.push({key:p,x1:i[d],y1:i[d+1],x2:i[d+2],y2:i[d+3]}),l))return!0}}let p=this.circleCells[i];if(p!==null){let i=this.circles;for(let o of p)if(!c.circle[o]){c.circle[o]=!0;let d=o*3,f=this.circleKeys[o];if(this._circleAndRectCollide(i[d],i[d+1],i[d+2],e,t,n,r)&&(!s||s(f))&&(!l||!FD(u,f.overlapMode))){let e=i[d],t=i[d+1],n=i[d+2];if(a.push({key:f,x1:e-n,y1:t-n,x2:e+n,y2:t+n}),l)return!0}}}return!1}_queryCellCircle(e,t,n,r,i,a,o,s){let{circle:c,seenUids:l,overlapMode:u}=o,d=this.boxCells[i];if(d!==null){let e=this.bboxes;for(let t of d)if(!l.box[t]){l.box[t]=!0;let n=t*4,r=this.boxKeys[t];if(this._circleAndRectCollide(c.x,c.y,c.radius,e[n+0],e[n+1],e[n+2],e[n+3])&&(!s||s(r))&&!FD(u,r.overlapMode))return a.push(!0),!0}}let f=this.circleCells[i];if(f!==null){let e=this.circles;for(let t of f)if(!l.circle[t]){l.circle[t]=!0;let n=t*3,r=this.circleKeys[t];if(this._circlesCollide(e[n],e[n+1],e[n+2],c.x,c.y,c.radius)&&(!s||s(r))&&!FD(u,r.overlapMode))return a.push(!0),!0}}}_forEachCell(e,t,n,r,i,a,o,s){let c=this._convertToXCellCoord(e),l=this._convertToYCellCoord(t),u=this._convertToXCellCoord(n),d=this._convertToYCellCoord(r);for(let f=c;f<=u;f++)for(let c=l;c<=d;c++){let l=this.xCellCount*c+f;if(i.call(this,e,t,n,r,l,a,o,s))return}}_convertToXCellCoord(e){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(e*this.xScale)))}_convertToYCellCoord(e){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(e*this.yScale)))}_circlesCollide(e,t,n,r,i,a){let o=r-e,s=i-t,c=n+a;return c*c>o*o+s*s}_circleAndRectCollide(e,t,n,r,i,a,o){let s=(a-r)/2,c=Math.abs(e-(r+s));if(c>s+n)return!1;let l=(o-i)/2,u=Math.abs(t-(i+l));if(u>l+n)return!1;if(c<=s||u<=l)return!0;let d=c-s,f=u-l;return d*d+f*f<=n*n}};function LD(e,t){let n=1/(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]),r=1/(t[8]*t[8]+t[9]*t[9]+t[10]*t[10]),i=t[0]*n,a=t[4]*n,o=t[8]*r,s=t[1]*n,c=t[5]*n,l=t[9]*r,u=t[2]*n,d=t[6]*n,f=t[10]*r;e[0]=i,e[1]=a,e[2]=o,e[4]=s,e[5]=c,e[6]=l,e[8]=u,e[9]=d,e[10]=f;let p=t[12],m=t[13],h=t[14];return e[12]=-i*p-s*m-u*h,e[13]=-a*p-c*m-d*h,e[14]=-o*p-l*m-f*h,e[3]=0,e[7]=0,e[11]=0,e[15]=1,e}function RD(e,t){return e[0]=1/t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1/t[5],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=0,e[11]=1/t[14],e[12]=0,e[13]=0,e[14]=-1,e[15]=t[10]/t[14],e}function zD(e,t){let n=1/(t[0]*t[5]-t[1]*t[4]);return e[0]=t[5]*n,e[1]=-t[1]*n,e[2]=0,e[3]=0,e[4]=-t[4]*n,e[5]=t[0]*n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1/t[10],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1/t[15],e}var BD=Ke();function VD(e,t,n){let r=Ke();if(!e){let{vecSouth:e,vecEast:n}=UD(t),i=Re();i[0]=n[0],i[1]=n[1],i[2]=e[0],i[3]=e[1],ze(i,i),r[0]=i[0],r[1]=i[1],r[4]=i[2],r[5]=i[3]}return Qe(r,r,[1/n,1/n,1]),r}function HD(e,t,n,r){if(e){let e=Ke();if(!t){let{vecSouth:t,vecEast:r}=UD(n);e[0]=r[0],e[1]=r[1],e[4]=t[0],e[5]=t[1]}return Qe(e,e,[r,r,1]),e}return n.pixelsToClipSpaceMatrix}function UD(e){let t=Math.cos(e.rollInRadians),n=Math.sin(e.rollInRadians),r=Math.cos(e.pitchInRadians),i=Math.cos(e.bearingInRadians),a=Math.sin(e.bearingInRadians),o=qt();o[0]=-i*r*n-a*t,o[1]=-a*r*n+i*t;let s=Xt(o);s<1e-9?$t(o):Yt(o,o,1/s);let c=qt();c[0]=i*r*t-a*n,c[1]=a*r*t+i*n;let l=Xt(c);return l<1e-9?$t(c):Yt(c,c,1/l),{vecEast:c,vecSouth:o}}function WD(e,t,n){return PD(e.getElevation,t,n,e.heightOffset??0,e.heightAnchorGround??!0)}function GD(e,t,n,r){let i;r==null?(i=[e,t,0,1],cO(i,i,n)):(i=[e,t,r,1],Lt(i,i,n));let a=i[3];return{point:new j(i[0]/a,i[1]/a),signedDistanceFromCamera:a,isOccluded:!1}}function KD(e,t){return .5+e/t*.5}function qD(e,t){return e.x>=-t[0]&&e.x<=t[0]&&e.y>=-t[1]&&e.y<=t[1]}function JD(e,t,n,r,i,a,o,s,c,l,u,d){let f=r?e.textSizeData:e.iconSizeData,p=ty(f,n.zoom),m=[256/t.width*2+1,256/t.height*2+1],h=r?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;h.clear();let g=e.lineVertexArray,_=r?e.text.placedSymbolArray:e.icon.placedSymbolArray,v=n.width/n.height,y=!1;for(let t=0;t<_.length;t++){let r=_.get(t);if(r.hidden||r.writingMode===2&&!y){sO(r.numGlyphs,h);continue}y=!1;let b={getElevation:d,pitchedLabelPlaneMatrix:i,lineVertexArray:g,pitchWithMap:o,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},transform:n,tileAnchorPoint:new j(r.anchorX,r.anchorY),unwrappedTileID:l,width:n.width,height:n.height,translation:u},x=nO(r.anchorX,r.anchorY,b);if(!qD(x.point,m)){sO(r.numGlyphs,h);continue}let S=x.signedDistanceFromCamera,C=KD(n.cameraToCenterDistance,S),w=ey(f,p,r),T=o?w*n.getPitchedTextCorrection(r.anchorX,r.anchorY,l)/C:w*C,E=ZD({projectionContext:b,pitchedLabelPlaneMatrixInverse:a,symbol:r,fontSize:T,flip:!1,keepUpright:s,glyphOffsetArray:e.glyphOffsetArray,dynamicLayoutVertexArray:h,aspectRatio:v,rotateToLine:c});y=E.useVertical,(E.notEnoughRoom||y||E.needsFlipping&&ZD({projectionContext:b,pitchedLabelPlaneMatrixInverse:a,symbol:r,fontSize:T,flip:!0,keepUpright:s,glyphOffsetArray:e.glyphOffsetArray,dynamicLayoutVertexArray:h,aspectRatio:v,rotateToLine:c}).notEnoughRoom)&&sO(r.numGlyphs,h)}r?e.text.dynamicLayoutVertexBuffer.updateData(h):e.icon.dynamicLayoutVertexBuffer.updateData(h)}function YD(e,t,n,r,i,a,o,s){let c=a.glyphStartIndex+a.numGlyphs,l=a.lineStartIndex,u=a.lineStartIndex+a.lineLength,d=t.getoffsetX(a.glyphStartIndex),f=t.getoffsetX(c-1),p=aO(e*d,n,r,i,a.segment,l,u,s,o);if(!p)return null;let m=aO(e*f,n,r,i,a.segment,l,u,s,o);return!m||s.projectionCache.anyProjectionOccluded?null:{first:p,last:m}}function XD(e,t,n,r){return e===1&&Math.abs(n.y-t.y)>Math.abs(n.x-t.x)*r?{useVertical:!0}:(e===2?t.y<n.y:t.x>n.x)?{needsFlipping:!0}:null}function ZD(e){let{projectionContext:t,pitchedLabelPlaneMatrixInverse:n,symbol:r,fontSize:i,flip:a,keepUpright:o,glyphOffsetArray:s,dynamicLayoutVertexArray:c,aspectRatio:l,rotateToLine:u}=e,d=i/24,f=r.lineOffsetX*d,p=r.lineOffsetY*d,m;if(r.numGlyphs>1){let e=r.glyphStartIndex+r.numGlyphs,i=r.lineStartIndex,c=r.lineStartIndex+r.lineLength,h=YD(d,s,f,p,a,r,u,t);if(!h)return{notEnoughRoom:!0};let g=tO(h.first.point.x,h.first.point.y,t,n),_=tO(h.last.point.x,h.last.point.y,t,n);if(o&&!a){let e=XD(r.writingMode,g,_,l);if(e)return e}m=[h.first];for(let n=r.glyphStartIndex+1;n<e-1;n++){let e=aO(d*s.getoffsetX(n),f,p,a,r.segment,i,c,t,u);if(!e)return{notEnoughRoom:!0};m.push(e)}m.push(h.last)}else{if(o&&!a){let e=eO(t.tileAnchorPoint.x,t.tileAnchorPoint.y,t).point,i=r.lineStartIndex+r.segment+1,a=new j(t.lineVertexArray.getx(i),t.lineVertexArray.gety(i)),o=eO(a.x,a.y,t),s=o.signedDistanceFromCamera>0?o.point:QD(t.tileAnchorPoint,a,e,1,t),c=tO(e.x,e.y,t,n),u=tO(s.x,s.y,t,n),d=XD(r.writingMode,c,u,l);if(d)return d}let e=aO(d*s.getoffsetX(r.glyphStartIndex),f,p,a,r.segment,r.lineStartIndex,r.lineStartIndex+r.lineLength,t,u);if(!e||t.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};m=[e]}for(let e of m)Hy(c,e.point,e.angle);return{}}function QD(e,t,n,r,i){let a=e.add(e.sub(t)._unit()),o=eO(a.x,a.y,i).point,s=n.sub(o);return n.add(s._mult(r/s.mag()))}function $D(e,t,n){let r=t.projectionCache;if(r.projections[e])return r.projections[e];let i=new j(t.lineVertexArray.getx(e),t.lineVertexArray.gety(e)),a=eO(i.x,i.y,t);if(a.signedDistanceFromCamera>0)return r.projections[e]=a.point,r.anyProjectionOccluded||=a.isOccluded,a.point;let o=e-n.direction,s=n.distanceFromAnchor===0?t.tileAnchorPoint:new j(t.lineVertexArray.getx(o),t.lineVertexArray.gety(o)),c=n.absOffsetX-n.distanceFromAnchor+1;return QD(s,i,n.previousVertex,c,t)}function eO(e,t,n){let r=e+n.translation[0],i=t+n.translation[1],a;return n.pitchWithMap?(a=GD(r,i,n.pitchedLabelPlaneMatrix,WD(n,r,i)),a.isOccluded=!1):(a=n.transform.projectTileCoordinates(r,i,n.unwrappedTileID,WD(n,r,i)),a.point.x=(a.point.x*.5+.5)*n.width,a.point.y=(-a.point.y*.5+.5)*n.height),a}function tO(e,t,n,r){if(n.pitchWithMap){let i=[e,t,0,1];Lt(i,i,r);let a=i[0]/i[3],o=i[1]/i[3];return n.transform.projectTileCoordinates(a,o,n.unwrappedTileID,WD(n,a,o)).point}return{x:e/n.width*2-1,y:1-t/n.height*2}}function nO(e,t,n){return n.transform.projectTileCoordinates(e,t,n.unwrappedTileID,WD(n,e,t))}function rO(e,t,n){return e._unit()._perp()._mult(t*n)}function iO(e,t,n,r,i,a,o,s,c){if(s.projectionCache.offsets[e])return s.projectionCache.offsets[e];let l=n.add(t);if(e+c.direction<r||e+c.direction>=i)return s.projectionCache.offsets[e]=l,l;let u=$D(e+c.direction,s,c),d=rO(u.sub(n),o,c.direction),f=n.add(d),p=u.add(d);return s.projectionCache.offsets[e]=Bn(a,l,f,p)||l,s.projectionCache.offsets[e]}function aO(e,t,n,r,i,a,o,s,c){let l=r?e-t:e+t,u=l>0?1:-1,d=0;r&&(u*=-1,d=Math.PI),u<0&&(d+=Math.PI);let f=u>0?a+i:a+i+1,p;s.projectionCache.cachedAnchorPoint?p=s.projectionCache.cachedAnchorPoint:(p=eO(s.tileAnchorPoint.x,s.tileAnchorPoint.y,s).point,s.projectionCache.cachedAnchorPoint=p);let m=p,h=p,g,_,v=0,y=0,b=Math.abs(l),x=[],S;for(;v+y<=b;){if(f+=u,f<a||f>=o)return null;v+=y,h=m,_=g;let e={absOffsetX:b,direction:u,distanceFromAnchor:v,previousVertex:h};if(m=$D(f,s,e),n===0)x.push(h),S=m.sub(h);else{let t,r=m.sub(h);t=r.mag()===0?rO($D(f+u,s,e).sub(m),n,u):rO(r,n,u),_||=h.add(t),g=iO(f,t,m,a,o,_,n,s,e),x.push(_),S=g.sub(_)}y=S.mag()}let C=(b-v)/y,w=S._mult(C)._add(_||h),T=d+Math.atan2(m.y-h.y,m.x-h.x);return x.push(w),{point:w,angle:c?T:0,path:x}}var oO=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function sO(e,t){for(let n=0;n<e;n++){let e=t.length;t.resize(e+4),t.float32.set(oO,e*3)}}function cO(e,t,n){let r=t[0],i=t[1];return e[0]=n[0]*r+n[4]*i+n[12],e[1]=n[1]*r+n[5]*i+n[13],e[3]=n[3]*r+n[7]*i+n[15],e}function lO(e,t){let n=BD;return zD(n,t.pitchedLabelPlaneMatrix),e.map(e=>{let r=GD(e.x,e.y,n,WD(t,e.x,e.y)),i=t.transform.projectTileCoordinates(r.point.x,r.point.y,t.unwrappedTileID,WD(t,r.point.x,r.point.y));return i.point.x=(i.point.x*.5+.5)*t.width,i.point.y=(-i.point.y*.5+.5)*t.height,i})}function uO(e){let t=0,n=0,r=0,i=0;for(let a=0;a<e.length;a++)e[a].isOccluded?(r=a+1,i=0):(i++,i>n&&(n=i,t=r));return e.slice(t,t+n)}var dO=class{constructor(e,t=new ID(e.width+200,e.height+200,25),n=new ID(e.width+200,e.height+200,25)){this.transform=e,this.grid=t,this.ignoredGrid=n,this.pitchFactor=Math.cos(e.pitch*Math.PI/180)*e.cameraToCenterDistance,this.screenRightBoundary=e.width+100,this.screenBottomBoundary=e.height+100,this.gridRightBoundary=e.width+200,this.gridBottomBoundary=e.height+200,this.perspectiveRatioCutoff=.6}placeCollisionBox(e,t,n,r,i,a,o,s,c,l,u,d,f=0,p=!0){let m=e.anchorPointX+s[0],h=e.anchorPointY+s[1],g=this.projectAndGetPerspectiveRatio(m,h,i,PD(l,m,h,f,p),d),_=n*g.perspectiveRatio,v;if(!a&&!o){let t=g.x+(u?u.x*_:0),n=g.y+(u?u.y*_:0);v={allPointsOccluded:!1,box:[t+e.x1*_,n+e.y1*_,t+e.x2*_,n+e.y2*_]}}else v=this._projectCollisionBox(e,_,r,i,a,o,s,g,l,u,d,f,p);let[y,b,x,S]=v.box,C=a?v.allPointsOccluded:g.isOccluded,w=C;return w||=g.perspectiveRatio<this.perspectiveRatioCutoff,w||=!this.isInsideGrid(y,b,x,S),w||t!==`always`&&this.grid.hitTest(y,b,x,S,t,c)?{box:[y,b,x,S],placeable:!1,offscreen:!1,occluded:C}:{box:[y,b,x,S],placeable:!0,offscreen:this.isOffscreen(y,b,x,S),occluded:C}}placeCollisionCircles(e,t,n,r,i,a,o,s,c,l,u,d,f,p){let m=[],h=new j(t.anchorX,t.anchorY),g=this.getPerspectiveRatio(h.x,h.y,a,p?.(h.x,h.y)),_=(c?i*this.transform.getPitchedTextCorrection(t.anchorX,t.anchorY,a)/g:i*g)/24,v={projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},y=t.lineOffsetX*_,b=t.lineOffsetY*_,x={getElevation:p,pitchedLabelPlaneMatrix:o,lineVertexArray:n,pitchWithMap:c,projectionCache:v,transform:this.transform,tileAnchorPoint:h,unwrappedTileID:a,width:this.transform.width,height:this.transform.height,translation:f},S=YD(_,r,y,b,!1,t,!1,x),C=!1,w=!1,T=!0;if(S){let t=u*.5*g+d,n=new j(-100,-100),r=new j(this.screenRightBoundary,this.screenBottomBoundary),i=new ND,a=S.first,o=S.last,f=[];for(let e=a.path.length-1;e>=1;e--)f.push(a.path[e]);for(let e=1;e<o.path.length;e++)f.push(o.path[e]);let p=t*2.5;if(c){let e=this.projectPathToScreenSpace(f,x);f=e.some(e=>e.signedDistanceFromCamera<=0)?[]:e.map(e=>e.point)}let h=[];if(f.length>0){let e=f[0].clone(),t=f[0].clone();for(let n=1;n<f.length;n++)e.x=Math.min(e.x,f[n].x),e.y=Math.min(e.y,f[n].y),t.x=Math.max(t.x,f[n].x),t.y=Math.max(t.y,f[n].y);h=e.x>=n.x&&t.x<=r.x&&e.y>=n.y&&t.y<=r.y?[f]:t.x<n.x||e.x>r.x||t.y<n.y||e.y>r.y?[]:fy([f],n.x,n.y,r.x,r.y)}for(let n of h){i.reset(n,t*.25);let r=0;r=i.length<=.5*t?1:Math.ceil(i.paddedLength/p)+1;for(let n=0;n<r;n++){let a=n/Math.max(r-1,1),o=i.lerp(a),c=o.x+100,u=o.y+100;m.push(c,u,t,0);let d=c-t,f=u-t,p=c+t,h=u+t;if(T&&=this.isOffscreen(d,f,p,h),w||=this.isInsideGrid(d,f,p,h),e!==`always`&&this.grid.hitTestCircle(c,u,t,e,l)&&(C=!0,!s))return{circles:[],offscreen:!1,collisionDetected:C}}}}return{circles:!s&&C||!w||g<this.perspectiveRatioCutoff?[]:m,offscreen:T,collisionDetected:C}}projectPathToScreenSpace(e,t){return uO(lO(e,t))}queryRenderedSymbols(e){if(e.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let t=[],n=new ph;for(let r of e){let e=new j(r.x+100,r.y+100);n.extend(e),t.push(e)}let{minX:r,minY:i,maxX:a,maxY:o}=n,s=this.grid.query(r,i,a,o).concat(this.ignoredGrid.query(r,i,a,o)),c={},l={};for(let e of s){let n=e.key;c[n.bucketInstanceId]===void 0&&(c[n.bucketInstanceId]={}),!c[n.bucketInstanceId][n.featureIndex]&&Ff(t,[new j(e.x1,e.y1),new j(e.x2,e.y1),new j(e.x2,e.y2),new j(e.x1,e.y2)])&&(c[n.bucketInstanceId][n.featureIndex]=!0,l[n.bucketInstanceId]===void 0&&(l[n.bucketInstanceId]=[]),l[n.bucketInstanceId].push(n.featureIndex))}return l}insertCollisionBox(e,t,n,r,i,a){let o=n?this.ignoredGrid:this.grid,s={bucketInstanceId:r,featureIndex:i,collisionGroupID:a,overlapMode:t};o.insert(s,e[0],e[1],e[2],e[3])}insertCollisionCircles(e,t,n,r,i,a){let o=n?this.ignoredGrid:this.grid,s={bucketInstanceId:r,featureIndex:i,collisionGroupID:a,overlapMode:t};for(let t=0;t<e.length;t+=4)o.insertCircle(s,e[t],e[t+1],e[t+2])}projectAndGetPerspectiveRatio(e,t,n,r,i){if(i){let n;r==null?(n=[e,t,0,1],cO(n,n,i)):(n=[e,t,r,1],Lt(n,n,i));let a=n[3];return{x:(n[0]/a+1)/2*this.transform.width+100,y:(-n[1]/a+1)/2*this.transform.height+100,perspectiveRatio:.5+.5*(this.transform.cameraToCenterDistance/a),isOccluded:!1,signedDistanceFromCamera:a}}{let i=this.transform.projectTileCoordinates(e,t,n,r);return{x:(i.point.x+1)/2*this.transform.width+100,y:(-i.point.y+1)/2*this.transform.height+100,perspectiveRatio:.5+.5*(this.transform.cameraToCenterDistance/i.signedDistanceFromCamera),isOccluded:i.isOccluded,signedDistanceFromCamera:i.signedDistanceFromCamera}}}getPerspectiveRatio(e,t,n,r){let i=this.transform.projectTileCoordinates(e,t,n,r);return .5+.5*(this.transform.cameraToCenterDistance/i.signedDistanceFromCamera)}isOffscreen(e,t,n,r){return n<100||e>=this.screenRightBoundary||r<100||t>this.screenBottomBoundary}isInsideGrid(e,t,n,r){return n>=0&&e<this.gridRightBoundary&&r>=0&&t<this.gridBottomBoundary}getViewportMatrix(){let e=Ye([]);return M(e,e,[-100,-100,0]),e}_projectCollisionBox(e,t,n,r,i,a,o,s,c,l,u,d=0,f=!0){let p=1,m=0,h=0,g=1,_=e.anchorPointX+o[0],v=e.anchorPointY+o[1];if(a&&!i){let e=this.projectAndGetPerspectiveRatio(_+1,v,r,PD(c,_+1,v,d,f),u),t=e.x-s.x,n=e.y-s.y,i=Math.atan(n/t)+(t<0?Math.PI:0),a=Math.sin(i),o=Math.cos(i);p=o,m=a,h=-a,g=o}else if(!a&&i){let e=UD(this.transform);p=e.vecEast[0],m=e.vecEast[1],h=e.vecSouth[0],g=e.vecSouth[1]}let y=s.x,b=s.y,x=t;if(i&&(y=_,b=v,x=2**-(this.transform.zoom-n.overscaledZ),x*=this.transform.getPitchedTextCorrection(_,v,r),!l)){let e=P(.5+.5*(s.signedDistanceFromCamera/this.transform.cameraToCenterDistance),0,4);x*=e}l&&(y+=p*l.x*x+h*l.y*x,b+=m*l.x*x+g*l.y*x);let S=e.x1*x,C=e.x2*x,w=(S+C)/2,T=e.y1*x,E=e.y2*x,D=(T+E)/2,O=[{offsetX:S,offsetY:T},{offsetX:w,offsetY:T},{offsetX:C,offsetY:T},{offsetX:C,offsetY:D},{offsetX:C,offsetY:E},{offsetX:w,offsetY:E},{offsetX:S,offsetY:E},{offsetX:S,offsetY:D}],k=[];for(let{offsetX:e,offsetY:t}of O)k.push(new j(y+p*e+h*t,b+m*e+g*t));let A=!1;if(i){let e=k.map(e=>this.projectAndGetPerspectiveRatio(e.x,e.y,r,PD(c,e.x,e.y,d,f),u));A=e.some(e=>!e.isOccluded),k=e.map(e=>new j(e.x,e.y))}else A=!0;return{box:yn(k),allPointsOccluded:!A}}},fO=class{constructor(e,t,n,r){this.opacity=e?Math.max(0,Math.min(1,e.opacity+(e.placed?t:-t))):r&&n?1:0,this.placed=n}isHidden(){return this.opacity===0&&!this.placed}},pO=class{constructor(e,t,n,r,i){this.text=new fO(e?e.text:null,t,n,i),this.icon=new fO(e?e.icon:null,t,r,i)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}},mO=class{constructor(e,t,n){this.text=e,this.icon=t,this.skipFade=n}},hO=class{constructor(e,t,n,r,i){this.bucketInstanceId=e,this.featureIndex=t,this.sourceLayerIndex=n,this.bucketIndex=r,this.tileID=i}},gO=class{constructor(e){this.crossSourceCollisions=e,this.maxGroupID=0,this.collisionGroups={}}get(e){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[e]){let t=++this.maxGroupID;this.collisionGroups[e]={ID:t,predicate:e=>e.collisionGroupID===t}}return this.collisionGroups[e]}};function _O(e,t,n,r,i){let{horizontalAlign:a,verticalAlign:o}=Av(e),s=-(a-.5)*t,c=-(o-.5)*n;return new j(s+r[0]*i,c+r[1]*i)}var vO=Lg.members.find(e=>e.name===`crossTileID`).offset/4,yO=class{constructor(e,t,n,r,i){this.transform=e.clone(),this.terrain=t,this.collisionIndex=new dO(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=n,this.retainedQueryData={},this.collisionGroups=new gO(r),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.lastOpacityInputs=new WeakMap,this.prevPlacement=i,i&&(i.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(e){let t=this.terrain;if(t)return(n,r)=>t.getElevation(e,n,r)}getBucketParts(e,t,n,r){let i=n.getBucket(t),a=n.latestFeatureIndex;if(!i||!a||t.id!==i.layerIds[0])return;let o=n.collisionBoxArray,s=i.layers[0].layout,c=i.layers[0].paint,l=2**(this.transform.zoom-n.tileID.overscaledZ),u=n.tileSize/N,d=n.tileID.toUnwrapped(),f=s.get(`text-rotation-alignment`)===`map`,p=tn(n,1,this.transform.zoom),m=ln(this.collisionIndex.transform,n,c.get(`text-translate`),c.get(`text-translate-anchor`)),h=ln(this.collisionIndex.transform,n,c.get(`icon-translate`),c.get(`icon-translate-anchor`)),g=VD(f,this.transform,p);this.retainedQueryData[i.bucketInstanceId]=new hO(i.bucketInstanceId,a,i.sourceLayerIndex,i.index,n.tileID);let _={bucket:i,layout:s,translationText:m,translationIcon:h,unwrappedTileID:d,pitchedLabelPlaneMatrix:g,scale:l,textPixelRatio:u,holdingForFade:n.holdingForSymbolFade(),collisionBoxArray:o,partiallyEvaluatedTextSize:ty(i.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(i.sourceID)};if(r)for(let t of i.sortKeyRanges){let{sortKey:n,symbolInstanceStart:r,symbolInstanceEnd:i}=t;e.push({sortKey:n,symbolInstanceStart:r,symbolInstanceEnd:i,parameters:_})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:i.symbolInstances.length,parameters:_})}attemptAnchorPlacement(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x){let S=Ey[e.textAnchor],C=[e.textOffset0,e.textOffset1],w=_O(S,n,r,C,i),T=this.collisionIndex.placeCollisionBox(t,d,s,c,l,o,a,h,u.predicate,v,w,y,b,x);if((!_||this.collisionIndex.placeCollisionBox(_,d,s,c,l,o,a,g,u.predicate,v,w,y,b,x).placeable)&&T.placeable){let e;if(this.prevPlacement?.variableOffsets[f.crossTileID]&&this.prevPlacement?.placements[f.crossTileID]?.text&&(e=this.prevPlacement.variableOffsets[f.crossTileID].anchor),f.crossTileID===0)throw Error(`symbolInstance.crossTileID can't be 0`);return this.variableOffsets[f.crossTileID]={textOffset:C,width:n,height:r,anchor:S,textBoxScale:i,prevAnchor:e},this.markUsedJustification(p,S,f,m),p.allowVerticalPlacement&&(this.markUsedOrientation(p,m,f),this.placedOrientations[f.crossTileID]=m),{shift:w,placedGlyphBoxes:T}}}placeLayerBucketPart(e,t,n){let{bucket:r,layout:i,translationText:a,translationIcon:o,unwrappedTileID:s,pitchedLabelPlaneMatrix:c,textPixelRatio:l,holdingForFade:u,collisionBoxArray:d,partiallyEvaluatedTextSize:f,collisionGroup:p}=e.parameters,m=i.get(`text-optional`),h=i.get(`icon-optional`),g=zy(i,`text-overlap`,`text-allow-overlap`),_=g===`always`,v=zy(i,`icon-overlap`,`icon-allow-overlap`),y=v===`always`,b=i.get(`text-rotation-alignment`)===`map`,x=i.get(`text-pitch-alignment`)===`map`,S=i.get(`icon-text-fit`)!==`none`,C=i.get(`symbol-z-order`)===`viewport-y`,w=i.get(`symbol-height-anchor`)===`ground`,T=_&&(y||!r.hasIconData()||h),E=y&&(_||!r.hasTextData()||m);!r.collisionArrays&&d&&r.deserializeCollisionBoxes(d);let D=this.retainedQueryData[r.bucketInstanceId].tileID,O=this._getTerrainElevationFunc(D),k=this.transform.getFastPathSimpleProjectionMatrix(D),A=(e,d,y)=>{if(t[e.crossTileID])return;if(u){this.placements[e.crossTileID]=new mO(!1,!1,!1);return}let C=e.heightOffset,A=!1,ee=!1,te=!0,ne=null,re={box:null,placeable:!1,offscreen:null,occluded:!1},ie={box:null,placeable:!1,offscreen:null},ae=null,oe=null,se=null,ce=0,le=0,ue=0;d.textFeatureIndex?ce=d.textFeatureIndex:e.useRuntimeCollisionCircles&&(ce=e.featureIndex),d.verticalTextFeatureIndex&&(le=d.verticalTextFeatureIndex);let de=d.textBox;if(de){let t=t=>{let n=1;if(r.allowVerticalPlacement&&!t&&this.prevPlacement){let t=this.prevPlacement.placedOrientations[e.crossTileID];t&&(this.placedOrientations[e.crossTileID]=t,n=t,this.markUsedOrientation(r,n,e))}return n},i=(t,n)=>{if(r.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&d.verticalTextBox){for(let e of r.writingModes)if(e===2?(re=n(),ie=re):re=t(),re?.placeable)break}else re=t()},c=e.textAnchorOffsetStartIndex,u=e.textAnchorOffsetEndIndex;if(u===c){let n=(t,n)=>{let i=this.collisionIndex.placeCollisionBox(t,g,l,D,s,x,b,a,p.predicate,O,void 0,k,C,w);return i?.placeable&&(this.markUsedOrientation(r,n,e),this.placedOrientations[e.crossTileID]=n),i};i(()=>n(de,1),()=>{let t=d.verticalTextBox;return r.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&t?n(t,2):{box:null,offscreen:null}}),t(re?.placeable)}else{let f=Ey[this.prevPlacement?.variableOffsets[e.crossTileID]?.anchor],m=(t,i,d)=>{let m=t.x2-t.x1,h=t.y2-t.y1,_=e.textBoxScale,y=S&&v===`never`?i:null,T=null,E=g===`never`?1:2,ee=`never`;f&&E++;for(let n=0;n<E;n++){for(let n=c;n<u;n++){let i=r.textAnchorOffsets.get(n);if(f&&i.textAnchor!==f)continue;let c=this.attemptAnchorPlacement(i,t,m,h,_,b,x,l,D,s,p,ee,e,r,d,a,o,y,O,k,C,w);if(c&&(T=c.placedGlyphBoxes,T?.placeable))return A=!0,ne=c.shift,T}f?f=null:ee=g}return n&&!T&&(T={box:this.collisionIndex.placeCollisionBox(de,`always`,l,D,s,x,b,a,p.predicate,O,void 0,k,C,w).box,offscreen:!1,placeable:!1,occluded:!1}),T};i(()=>m(de,d.iconBox,1),()=>{let t=d.verticalTextBox,n=re?.placeable;return r.allowVerticalPlacement&&!n&&e.numVerticalGlyphVertices>0&&t?m(t,d.verticalIconBox,2):{box:null,occluded:!0,offscreen:null}}),re&&(A=re.placeable,te=re.offscreen);let h=t(re?.placeable);if(!A&&this.prevPlacement){let t=this.prevPlacement.variableOffsets[e.crossTileID];t&&(this.variableOffsets[e.crossTileID]=t,this.markUsedJustification(r,t.anchor,e,h))}}}if(ae=re,A=ae?.placeable,te=ae?.offscreen,e.useRuntimeCollisionCircles&&e.centerJustifiedTextSymbolIndex>=0){let t=r.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),o=ey(r.textSizeData,f,t),l=i.get(`text-padding`),u=e.collisionCircleDiameter;oe=this.collisionIndex.placeCollisionCircles(g,t,r.lineVertexArray,r.glyphOffsetArray,o,s,c,n,x,p.predicate,u,l,a,O),oe.circles.length&&oe.collisionDetected&&!n&&Rn(`Collisions detected, but collision boxes are not shown`),A=_||oe.circles.length>0&&!oe.collisionDetected,te&&=oe.offscreen}if(d.iconFeatureIndex&&(ue=d.iconFeatureIndex),d.iconBox){let e=e=>this.collisionIndex.placeCollisionBox(e,v,l,D,s,x,b,o,p.predicate,O,S&&ne?ne:void 0,k,C,w);ie&&ie.placeable&&d.verticalIconBox?(se=e(d.verticalIconBox),ee=se.placeable):(se=e(d.iconBox),ee=se.placeable),te&&=se.offscreen}let fe=m||e.numHorizontalGlyphVertices===0&&e.numVerticalGlyphVertices===0,pe=h||e.numIconVertices===0;!fe&&!pe?ee=A=ee&&A:pe?fe||(ee&&=A):A=ee&&A;let me=A&&ae.placeable,he=ee&&se.placeable;if(me&&(ie&&ie.placeable&&le?this.collisionIndex.insertCollisionBox(ae.box,g,i.get(`text-ignore-placement`),r.bucketInstanceId,le,p.ID):this.collisionIndex.insertCollisionBox(ae.box,g,i.get(`text-ignore-placement`),r.bucketInstanceId,ce,p.ID)),he&&this.collisionIndex.insertCollisionBox(se.box,v,i.get(`icon-ignore-placement`),r.bucketInstanceId,ue,p.ID),oe&&A&&this.collisionIndex.insertCollisionCircles(oe.circles,g,i.get(`text-ignore-placement`),r.bucketInstanceId,ce,p.ID),n&&this.storeCollisionData(r.bucketInstanceId,y,d,ae,se,oe),e.crossTileID===0)throw Error(`symbolInstance.crossTileID can't be 0`);if(r.bucketInstanceId===0)throw Error(`bucket.bucketInstanceId can't be 0`);let ge=(A||T)&&!ae?.occluded,_e=(ee||E)&&!se?.occluded;this.placements[e.crossTileID]=new mO(ge,_e,te||r.justReloaded),t[e.crossTileID]=!0};if(C){if(e.symbolInstanceStart!==0)throw Error(`bucket.bucketInstanceId should be 0`);let t=r.getSortedSymbolIndexes(-this.transform.bearingInRadians);for(let e=t.length-1;e>=0;--e){let n=t[e];A(r.symbolInstances.get(n),r.collisionArrays[n],n)}}else for(let t=e.symbolInstanceStart;t<e.symbolInstanceEnd;t++)A(r.symbolInstances.get(t),r.collisionArrays[t],t);r.justReloaded=!1}storeCollisionData(e,t,n,r,i,a){if(n.textBox||n.iconBox){let a;this.collisionBoxArrays.has(e)?a=this.collisionBoxArrays.get(e):(a=new Map,this.collisionBoxArrays.set(e,a));let o;a.has(t)?o=a.get(t):(o={text:null,icon:null},a.set(t,o)),n.textBox&&(o.text=r.box),n.iconBox&&(o.icon=i.box)}if(a){let t=this.collisionCircleArrays[e];t===void 0&&(t=this.collisionCircleArrays[e]=[]);for(let e=0;e<a.circles.length;e+=4)t.push(a.circles[e+0]-100),t.push(a.circles[e+1]-100),t.push(a.circles[e+2]),t.push(+!!a.collisionDetected)}}markUsedJustification(e,t,n,r){let i={left:n.leftJustifiedTextSymbolIndex,center:n.centerJustifiedTextSymbolIndex,right:n.rightJustifiedTextSymbolIndex},a;a=r===2?n.verticalPlacedTextSymbolIndex:i[jy(t)];let o=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex,n.verticalPlacedTextSymbolIndex];for(let t of o)t>=0&&(a>=0&&t!==a?e.text.placedSymbolArray.get(t).crossTileID=0:e.text.placedSymbolArray.get(t).crossTileID=n.crossTileID)}markUsedOrientation(e,t,n){let r=t===1||t===3?t:0,i=t===2?t:0,a=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];for(let t of a)e.text.placedSymbolArray.get(t).placedOrientation=r;n.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation=i)}commit(e){this.commitTime=e,this.zoomAtLastRecencyCheck=this.transform.zoom;let t=this.prevPlacement,n=!1;this.prevZoomAdjustment=t?t.zoomAdjustment(this.transform.zoom):0;let r=t?t.symbolFadeChange(e):1,i=t?t.opacities:{},a=t?t.variableOffsets:{},o=t?t.placedOrientations:{};for(let e in this.placements){let t=this.placements[e],a=i[e];a?(this.opacities[e]=new pO(a,r,t.text,t.icon),n||=t.text!==a.text.placed,n||=t.icon!==a.icon.placed):(this.opacities[e]=new pO(null,r,t.text,t.icon,t.skipFade),n||=t.text||t.icon)}for(let e in i){let t=i[e];if(!this.opacities[e]){let i=new pO(t,r,!1,!1);i.isHidden()||(this.opacities[e]=i,n||=t.text.placed,n||=t.icon.placed)}}for(let e in a)!this.variableOffsets[e]&&this.opacities[e]&&!this.opacities[e].isHidden()&&(this.variableOffsets[e]=a[e]);for(let e in o)!this.placedOrientations[e]&&this.opacities[e]&&!this.opacities[e].isHidden()&&(this.placedOrientations[e]=o[e]);if(t&&t.lastPlacementChangeTime===void 0)throw Error(`Last placement time for previous placement is not defined`);n?this.lastPlacementChangeTime=e:typeof this.lastPlacementChangeTime!=`number`&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)}updateLayerOpacities(e,t){let n={};for(let r of t){let t=r.getBucket(e);if(!t||!r.latestFeatureIndex||e.id!==t.layerIds[0])continue;let{duplicates:i,changed:a}=this._markDuplicates(t,n),o=!!t.hasDebugData()||t.bucketInstanceId in this.collisionCircleArrays;(a||o)&&this.updateBucketOpacities(t,r.tileID,i,r.collisionBoxArray),t.sortFeatures(-this.transform.bearingInRadians),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder)}}_markDuplicates(e,t){let n=e.symbolInstances.length,r=this.lastOpacityInputs.get(e),i=!1;r||(r={crossTileIDs:Array(n).fill(0),duplicates:Array(n).fill(!1)},this.lastOpacityInputs.set(e,r),i=!0);let{crossTileIDs:a,duplicates:o}=r,s=e.symbolInstances.uint32,c=e.symbolInstances.bytesPerElement/4;for(let e=0;e<n;e++){let n=s[e*c+vO],r=!!t[n];t[n]=!0,(a[e]!==n||o[e]!==r)&&(a[e]=n,o[e]=r,i=!0)}return{duplicates:o,changed:i}}updateBucketOpacities(e,t,n,r){e.hasTextData()&&(e.text.opacityVertexArray.clear(),e.text.hasVisibleVertices=!1),e.hasIconData()&&(e.icon.opacityVertexArray.clear(),e.icon.hasVisibleVertices=!1),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();let i=e.layers[0],a=i.layout,o=new pO(null,0,!1,!1,!0),s=a.get(`text-allow-overlap`),c=a.get(`icon-allow-overlap`),l=i._unevaluatedLayout.hasValue(`text-variable-anchor`)||i._unevaluatedLayout.hasValue(`text-variable-anchor-offset`),u=a.get(`text-rotation-alignment`)===`map`,d=a.get(`text-pitch-alignment`)===`map`,f=a.get(`icon-text-fit`)!==`none`,p=new pO(null,0,s&&(c||!e.hasIconData()||a.get(`icon-optional`)),c&&(s||!e.hasTextData()||a.get(`text-optional`)),!0);!e.collisionArrays&&r&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(r);let m=(e,t,n)=>{for(let r=0;r<t/4;r++)e.opacityVertexArray.emplaceBack(n);e.hasVisibleVertices||=n!==0},h=this.collisionBoxArrays.get(e.bucketInstanceId);for(let t=0;t<e.symbolInstances.length;t++){let r=e.symbolInstances.get(t),{numHorizontalGlyphVertices:i,numVerticalGlyphVertices:a,crossTileID:s}=r,c=n[t],g=this.opacities[s];c?g=o:g||(g=p,this.opacities[s]=g);let _=i>0||a>0,v=r.numIconVertices>0,y=this.placedOrientations[r.crossTileID],b=y===2,x=y===1||y===3;if(_){let t=TO(g.text),n=b?0:t;m(e.text,i,n);let o=x?0:t;m(e.text,a,o);let s=g.text.isHidden(),c=[r.rightJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.leftJustifiedTextSymbolIndex];for(let t of c)t>=0&&(e.text.placedSymbolArray.get(t).hidden=s||b?1:0);r.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(r.verticalPlacedTextSymbolIndex).hidden=s||x?1:0);let l=this.variableOffsets[r.crossTileID];l&&this.markUsedJustification(e,l.anchor,r,y);let u=this.placedOrientations[r.crossTileID];u&&(this.markUsedJustification(e,`left`,r,u),this.markUsedOrientation(e,u,r))}if(v){let t=TO(g.icon),n=!(f&&r.verticalPlacedIconSymbolIndex&&b);if(r.placedIconSymbolIndex>=0){let i=n?t:0;m(e.icon,r.numIconVertices,i),e.icon.placedSymbolArray.get(r.placedIconSymbolIndex).hidden=g.icon.isHidden()}if(r.verticalPlacedIconSymbolIndex>=0){let i=n?0:t;m(e.icon,r.numVerticalIconVertices,i),e.icon.placedSymbolArray.get(r.verticalPlacedIconSymbolIndex).hidden=g.icon.isHidden()}}let S=h?.has(t)?h.get(t):{text:null,icon:null};if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){let n=e.collisionArrays[t];if(n){let t=new j(0,0);if(n.textBox||n.verticalTextBox){let r=!0;if(l){let e=this.variableOffsets[s];e?(t=_O(e.anchor,e.width,e.height,e.textOffset,e.textBoxScale),u&&t._rotate(d?-this.transform.bearingInRadians:this.transform.bearingInRadians)):r=!1}if(n.textBox||n.verticalTextBox){let i;n.textBox&&(i=b),n.verticalTextBox&&(i=x),bO(e.textCollisionBox.collisionVertexArray,g.text.placed,!r||i,S.text,t.x,t.y)}}if(n.iconBox||n.verticalIconBox){let r=!(x||!n.verticalIconBox),i;n.iconBox&&(i=r),n.verticalIconBox&&(i=!r),bO(e.iconCollisionBox.collisionVertexArray,g.icon.placed,i,S.icon,f?t.x:0,f?t.y:0)}}}}if(e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.text.opacityVertexArray.length!==e.text.layoutVertexArray.length/4)throw Error(`bucket.text.opacityVertexArray.length (= ${e.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${e.text.layoutVertexArray.length}) / 4`);if(e.icon.opacityVertexArray.length!==e.icon.layoutVertexArray.length/4)throw Error(`bucket.icon.opacityVertexArray.length (= ${e.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${e.icon.layoutVertexArray.length}) / 4`);e.bucketInstanceId in this.collisionCircleArrays&&(e.collisionCircleArray=this.collisionCircleArrays[e.bucketInstanceId],delete this.collisionCircleArrays[e.bucketInstanceId])}symbolFadeChange(e){return this.fadeDuration===0?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(e){return Math.max(0,(this.transform.zoom-e)/1.5)}hasTransitions(e){return this.stale||e-this.lastPlacementChangeTime<this.fadeDuration}stillRecent(e,t){let n=this.zoomAtLastRecencyCheck===t?1-this.zoomAdjustment(t):1;return this.zoomAtLastRecencyCheck=t,this.commitTime+this.fadeDuration*n>e}setStale(){this.stale=!0}};function bO(e,t,n,r,i,a){(!r||r.length===0)&&(r=[0,0,0,0]);let o=r[0]-100,s=r[1]-100,c=r[2]-100,l=r[3]-100;e.emplaceBack(+!!t,+!!n,i||0,a||0,o,s),e.emplaceBack(+!!t,+!!n,i||0,a||0,c,s),e.emplaceBack(+!!t,+!!n,i||0,a||0,c,l),e.emplaceBack(+!!t,+!!n,i||0,a||0,o,l)}var xO=2**25,SO=2**24,CO=2**17,wO=2**16;function TO(e){if(e.opacity===0&&!e.placed)return 0;if(e.opacity===1&&e.placed)return EO;let t=+!!e.placed,n=Math.floor(e.opacity*127);return n*xO+t*SO+n*CO+t*wO+n*512+t*256+n*2+t}var EO=4294967295,DO=class{constructor(e){this._sortAcrossTiles=e.layout.get(`symbol-z-order`)!==`viewport-y`&&!e.layout.get(`symbol-sort-key`).isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(e,t,n,r,i){let a=this._bucketParts;for(;this._currentTileIndex<e.length;){let n=e[this._currentTileIndex];if(t.getBucketParts(a,r,n,this._sortAcrossTiles),this._currentTileIndex++,i())return!0}for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,a.sort((e,t)=>e.sortKey-t.sortKey));this._currentPartIndex<a.length;){let e=a[this._currentPartIndex];if(t.placeLayerBucketPart(e,this._seenCrossTileIDs,n),this._currentPartIndex++,i())return!0}return!1}},OO=class{constructor(e,t,n,r,i,a,o,s){this.placement=new yO(e,t,a,o,s),this._currentPlacementIndex=n.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=i,this._done=!1}isDone(){return this._done}continuePlacement(e,t,n){let r=yr(),i=()=>!this._forceFullPlacement&&yr()-r>2;for(;this._currentPlacementIndex>=0;){let r=t[e[this._currentPlacementIndex]],a=this.placement.collisionIndex.transform.zoom;if(eb(r)&&r.layout&&(!r.minzoom||r.minzoom<=a)&&(!r.maxzoom||r.maxzoom>a)){if(this._inProgressLayer||=new DO(r),this._inProgressLayer.continuePlacement(n[r.source],this.placement,this._showCollisionBoxes,r,i))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(e){return this.placement.commit(e),this.placement}},kO=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],AO=new Uint32Array(96),jO=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=kO[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=kO.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 MO(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;AO[0]=0,AO[1]=i.length-1,AO[2]=0;let s=3,c=[];for(;s>0;){let l=AO[--s],u=AO[--s],d=AO[--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)&&(AO[s++]=d,AO[s++]=f-1,AO[s++]=1-l),(l===0?n>=p:r>=m)&&(AO[s++]=f+1,AO[s++]=u,AO[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;AO[0]=0,AO[1]=i.length-1,AO[2]=0;let s=3,c=0,l=n*n;for(;s>0;){let u=AO[--s],d=AO[--s],f=AO[--s];if(d-f<=o){for(let n=f;n<=d;n++)IO(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];IO(m,h,e,t)<=l&&(r[c++]=i[p]),(u===0?e-n<=m:t-n<=h)&&(AO[s++]=f,AO[s++]=p-1,AO[s++]=1-u),(u===0?e+n>=m:t+n>=h)&&(AO[s++]=p+1,AO[s++]=d,AO[s++]=1-u)}return c}};function MO(e,t,n,r,i,a){if(i-r<=n)return;let o=r+i>>1;NO(e,t,o,r,i,a),MO(e,t,n,r,o-1,1-a),MO(e,t,n,o+1,i,1-a)}function NO(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);NO(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(PO(e,t,r,n),t[2*i+a]>o&&PO(e,t,r,i);s<c;){for(PO(e,t,s,c),s++,c--;t[2*s+a]<o;)s++;for(;t[2*c+a]>o;)c--}t[2*r+a]===o?PO(e,t,r,c):(c++,PO(e,t,c,i)),c<=n&&(r=c+1),n<=c&&(i=c-1)}}function PO(e,t,n,r){FO(e,n,r),FO(t,2*n,2*r),FO(t,2*n+1,2*r+1)}function FO(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function IO(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}var LO=512/N/2,RO=class{constructor(e,t,n){this.tileID=e,this.bucketInstanceId=n,this._symbolsByKey={};let r=new Map;for(let e=0;e<t.length;e++){let n=t.get(e),i=n.key,a=r.get(i);a?a.push(n):r.set(i,[n])}for(let[e,t]of r){let n={positions:t.map(e=>({x:Math.floor(e.anchorX*LO),y:Math.floor(e.anchorY*LO)})),crossTileIDs:t.map(e=>e.crossTileID)};if(n.positions.length>128){let e=new jO(n.positions.length,16,Uint16Array);for(let{x:t,y:r}of n.positions)e.add(t,r);e.finish(),delete n.positions,n.index=e}this._symbolsByKey[e]=n}}getScaledCoordinates(e,t){let{x:n,y:r,z:i}=this.tileID.canonical,{x:a,y:o,z:s}=t.canonical,c=LO/2**(s-i),l=(a*N+e.anchorX)*c,u=(o*N+e.anchorY)*c,d=n*N*LO,f=r*N*LO;return{x:Math.floor(l-d),y:Math.floor(u-f)}}findMatches(e,t,n){let r=this.tileID.canonical.z<t.canonical.z?1:2**(this.tileID.canonical.z-t.canonical.z);for(let i=0;i<e.length;i++){let a=e.get(i);if(a.crossTileID)continue;let o=this._symbolsByKey[a.key];if(!o)continue;let s=this.getScaledCoordinates(a,t);o.index?this.findMatchesForIndexedEntry(o,a,s,r,n):o.positions&&this.findMatchesForNonIndexedEntry(o,a,s,r,n)}}findMatchesForIndexedEntry(e,t,n,r,i){let a=e.index.range(n.x-r,n.y-r,n.x+r,n.y+r),o=1/0;for(let t of a)t<o&&!i[e.crossTileIDs[t]]&&(o=t);if(o!==1/0){let n=e.crossTileIDs[o];i[n]=!0,t.crossTileID=n}}findMatchesForNonIndexedEntry(e,t,n,r,i){for(let a=0;a<e.positions.length;a++){let o=e.positions[a],s=e.crossTileIDs[a];if(Math.abs(o.x-n.x)<=r&&Math.abs(o.y-n.y)<=r&&!i[s]){i[s]=!0,t.crossTileID=s;break}}}getCrossTileIDsLists(){return Object.values(this._symbolsByKey).map(({crossTileIDs:e})=>e)}},zO=class{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}},BO=class{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(e){let t=Math.round((e-this.lng)/360);if(t!==0)for(let e in this.indexes){let n=this.indexes[e],r={};for(let e in n){let i=n[e];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+t),r[i.tileID.key]=i}this.indexes[e]=r}this.lng=e}addBucket(e,t,n){if(this.indexes[e.overscaledZ]?.[e.key]){if(this.indexes[e.overscaledZ][e.key].bucketInstanceId===t.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(e.overscaledZ,this.indexes[e.overscaledZ][e.key])}for(let e=0;e<t.symbolInstances.length;e++){let n=t.symbolInstances.get(e);n.crossTileID=0}this.usedCrossTileIDs[e.overscaledZ]||={};let r=this.usedCrossTileIDs[e.overscaledZ];for(let n in this.indexes){let i=this.indexes[n];if(Number(n)>e.overscaledZ)for(let n in i){let a=i[n];a.tileID.isChildOf(e)&&a.findMatches(t.symbolInstances,e,r)}else{let a=i[e.scaledTo(Number(n)).key];a&&a.findMatches(t.symbolInstances,e,r)}}for(let e=0;e<t.symbolInstances.length;e++){let i=t.symbolInstances.get(e);i.crossTileID||(i.crossTileID=n.generate(),r[i.crossTileID]=!0)}return this.indexes[e.overscaledZ]===void 0&&(this.indexes[e.overscaledZ]={}),this.indexes[e.overscaledZ][e.key]=new RO(e,t.symbolInstances,t.bucketInstanceId),!0}removeBucketCrossTileIDs(e,t){for(let n of t.getCrossTileIDsLists())for(let t of n)delete this.usedCrossTileIDs[e][t]}removeStaleBuckets(e){let t=!1;for(let n in this.indexes){let r=this.indexes[n];for(let i in r)e[r[i].bucketInstanceId]||(this.removeBucketCrossTileIDs(n,r[i]),delete r[i],t=!0)}return t}},VO=class{constructor(){this.layerIndexes={},this.crossTileIDs=new zO,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}}addLayer(e,t,n){let r=this.layerIndexes[e.id];r===void 0&&(r=this.layerIndexes[e.id]=new BO);let i=!1,a={};r.handleWrapJump(n);for(let n of t){let t=n.getBucket(e);e.id===t?.layerIds[0]&&(t.bucketInstanceId||=(this.maxBucketInstanceId+=1,this.maxBucketInstanceId),r.addBucket(n.tileID,t,this.crossTileIDs)&&(i=!0),a[t.bucketInstanceId]=!0)}return r.removeStaleBuckets(a)&&(i=!0),i}pruneUnusedLayers(e){let t={};for(let n of e)t[n]=!0;for(let e in this.layerIndexes)t[e]||delete this.layerIndexes[e]}},HO=`#ifdef GL_ES
1
+ import{n as e,r as t}from"./rolldown-runtime-hePW80VL.js";import{t as n}from"./react-Cvdyeg_0.js";import{t as r}from"./react-dom-B-VxWsjA.js";import{a as i,n as a,o,r as s,t as c}from"./preload-helper-BZ3hrQDD.js";import{t as l}from"./jsx-runtime-NZYk81nU.js";var u={name:`map-pin`,size:24,node:[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`,key:`1r0f0z`}],[`circle`,{cx:`12`,cy:`10`,r:`3`,key:`ilqhr7`}]]};u.node;var d=o(u),f=t(n(),1),p=t(r(),1),m=t(l(),1),h=Uint8Array,g=Uint16Array,_=Int32Array,v=new h([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),y=new h([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),b=new h([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),x=function(e,t){for(var n=new g(31),r=0;r<31;++r)n[r]=t+=1<<e[r-1];for(var i=new _(n[30]),r=1;r<30;++r)for(var a=n[r];a<n[r+1];++a)i[a]=a-n[r]<<5|r;return{b:n,r:i}},S=x(v,2),C=S.b,w=S.r;C[28]=258,w[258]=28;var T=x(y,0),E=T.b;T.r;for(var D=new g(32768),O=0;O<32768;++O){var k=(O&43690)>>1|(O&21845)<<1;k=(k&52428)>>2|(k&13107)<<2,k=(k&61680)>>4|(k&3855)<<4,D[O]=((k&65280)>>8|(k&255)<<8)>>1}for(var A=(function(e,t,n){for(var r=e.length,i=0,a=new g(t);i<r;++i)e[i]&&++a[e[i]-1];var o=new g(t);for(i=1;i<t;++i)o[i]=o[i-1]+a[i-1]<<1;var s;if(n){s=new g(1<<t);var c=15-t;for(i=0;i<r;++i)if(e[i])for(var l=i<<4|e[i],u=t-e[i],d=o[e[i]-1]++<<u,f=d|(1<<u)-1;d<=f;++d)s[D[d]>>c]=l}else for(s=new g(r),i=0;i<r;++i)e[i]&&(s[i]=D[o[e[i]-1]++]>>15-e[i]);return s}),ee=new h(288),O=0;O<144;++O)ee[O]=8;for(var O=144;O<256;++O)ee[O]=9;for(var O=256;O<280;++O)ee[O]=7;for(var O=280;O<288;++O)ee[O]=8;for(var te=new h(32),O=0;O<32;++O)te[O]=5;var ne=A(ee,9,1),re=A(te,5,1),ie=function(e){for(var t=e[0],n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},ae=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(t&7)&n},oe=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(t&7)},se=function(e){return(e+7)/8|0},ce=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new h(e.subarray(t,n))},le=[`unexpected EOF`,`invalid block type`,`invalid length/literal`,`invalid distance`,`stream finished`,`no stream handler`,,`no callback`,`invalid UTF-8 data`,`extra field too long`,`date not in range 1980-2099`,`filename too long`,`stream finishing`,`invalid zip data`],ue=function(e,t,n){var r=Error(t||le[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,ue),!n)throw r;return r},de=function(e,t,n,r){var i=e.length,a=r?r.length:0;if(!i||t.f&&!t.l)return n||new h(0);var o=!n,s=o||t.i!=2,c=t.i;o&&(n=new h(i*3));var l=function(e){var t=n.length;if(e>t){var r=new h(Math.max(t*2,e));r.set(n),n=r}},u=t.f||0,d=t.p||0,f=t.b||0,p=t.l,m=t.d,g=t.m,_=t.n,x=i*8;do{if(!p){u=ae(e,d,1);var S=ae(e,d+1,3);if(d+=3,!S){var w=se(d)+4,T=e[w-4]|e[w-3]<<8,D=w+T;if(D>i){c&&ue(0);break}s&&l(f+T),n.set(e.subarray(w,D),f),t.b=f+=T,t.p=d=D*8,t.f=u;continue}if(S==1)p=ne,m=re,g=9,_=5;else if(S==2){var O=ae(e,d,31)+257,k=ae(e,d+10,15)+4,ee=O+ae(e,d+5,31)+1;d+=14;for(var te=new h(ee),le=new h(19),de=0;de<k;++de)le[b[de]]=ae(e,d+de*3,7);d+=k*3;for(var fe=ie(le),pe=(1<<fe)-1,me=A(le,fe,1),de=0;de<ee;){var he=me[ae(e,d,pe)];d+=he&15;var w=he>>4;if(w<16)te[de++]=w;else{var ge=0,_e=0;for(w==16?(_e=3+ae(e,d,3),d+=2,ge=te[de-1]):w==17?(_e=3+ae(e,d,7),d+=3):w==18&&(_e=11+ae(e,d,127),d+=7);_e--;)te[de++]=ge}}var ve=te.subarray(0,O),ye=te.subarray(O);g=ie(ve),_=ie(ye),p=A(ve,g,1),m=A(ye,_,1)}else ue(1);if(d>x){c&&ue(0);break}}s&&l(f+131072);for(var be=(1<<g)-1,xe=(1<<_)-1,Se=d;;Se=d){var ge=p[oe(e,d)&be],Ce=ge>>4;if(d+=ge&15,d>x){c&&ue(0);break}if(ge||ue(2),Ce<256)n[f++]=Ce;else if(Ce==256){Se=d,p=null;break}else{var we=Ce-254;if(Ce>264){var de=Ce-257,Te=v[de];we=ae(e,d,(1<<Te)-1)+C[de],d+=Te}var Ee=m[oe(e,d)&xe],De=Ee>>4;Ee||ue(3),d+=Ee&15;var ye=E[De];if(De>3){var Te=y[De];ye+=oe(e,d)&(1<<Te)-1,d+=Te}if(d>x){c&&ue(0);break}s&&l(f+131072);var Oe=f+we;if(f<ye){var ke=a-ye,Ae=Math.min(ye,Oe);for(ke+f<0&&ue(3);f<Ae;++f)n[f]=r[ke+f]}for(;f<Oe;++f)n[f]=n[f-ye]}}t.l=p,t.p=Se,t.b=f,t.f=u,p&&(u=1,t.m=g,t.d=m,t.n=_)}while(!u);return f!=n.length&&o?ce(n,0,f):n.subarray(0,f)},fe=new h(0),pe=function(e){(e[0]!=31||e[1]!=139||e[2]!=8)&&ue(6,`invalid gzip data`);var t=e[3],n=10;t&4&&(n+=(e[10]|e[11]<<8)+2);for(var r=(t>>3&1)+(t>>4&1);r>0;r-=!e[n++]);return n+(t&2)},me=function(e){var t=e.length;return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0},he=function(e,t){return((e[0]&15)!=8||e[0]>>4>7||(e[0]<<8|e[1])%31)&&ue(6,`invalid zlib data`),(e[1]>>5&1)==+!t&&ue(6,`invalid zlib data: `+(e[1]&32?`need`:`unexpected`)+` dictionary`),(e[1]>>3&4)+2};function ge(e,t){return de(e,{i:2},t&&t.out,t&&t.dictionary)}function _e(e,t){var n=pe(e);return n+8>e.length&&ue(6,`invalid gzip data`),de(e.subarray(n,-8),{i:2},t&&t.out||new h(me(e)),t&&t.dictionary)}function ve(e,t){return de(e.subarray(he(e,t&&t.dictionary),-4),{i:2},t&&t.out,t&&t.dictionary)}function ye(e,t){return e[0]==31&&e[1]==139&&e[2]==8?_e(e,t):(e[0]&15)!=8||e[0]>>4>7||(e[0]<<8|e[1])%31?ge(e,t):ve(e,t)}var be=typeof TextDecoder<`u`&&new TextDecoder;try{be.decode(fe,{stream:!0})}catch{}var xe=e({AJAXError:()=>Pr,AttributionControl:()=>MF,BoxZoomHandler:()=>RP,CanvasSource:()=>dS,CooperativeGesturesHandler:()=>SF,DoubleClickZoomHandler:()=>gF,DragPanHandler:()=>yF,DragRotateHandler:()=>bF,EXTENT:()=>N,EdgeInsets:()=>nk,ErrorEvent:()=>R,Event:()=>Jr,Evented:()=>Yr,FullscreenControl:()=>TI,FullscreenEvent:()=>wI,GPUInitializationError:()=>wP,GeoJSONSource:()=>qx,GeolocateControl:()=>_I,GeolocateErrorEvent:()=>gI,GeolocateEvent:()=>mI,GeolocatePositionEvent:()=>hI,GlobeControl:()=>DI,Hash:()=>EP,ImageSource:()=>iS,KeyboardHandler:()=>fF,LngLat:()=>Q,LngLatBounds:()=>vx,LogoControl:()=>NF,Map:()=>qF,MapBoxZoomEvent:()=>ri,MapContextEvent:()=>oi,MapLibreEvent:()=>Xr,MapLibreMap:()=>qF,MapMouseEvent:()=>ei,MapMovementEvent:()=>z,MapProjectionEvent:()=>ai,MapSourceDataEvent:()=>$r,MapStyleDataEvent:()=>Qr,MapStyleImageMissingEvent:()=>si,MapStyleLoadEvent:()=>Zr,MapTerrainEvent:()=>ii,MapTouchEvent:()=>ti,MapWheelEvent:()=>ni,Marker:()=>uI,MarkerClickEvent:()=>lI,MarkerDragEvent:()=>cI,MercatorCoordinate:()=>Nh,NavigationControl:()=>YF,Point:()=>j,Popup:()=>jI,PopupEvent:()=>AI,RasterDEMTileSource:()=>Nx,RasterTileSource:()=>xx,ScaleControl:()=>yI,ScrollZoomHandler:()=>hF,Style:()=>yA,TerrainControl:()=>EI,TwoFingersTouchPitchHandler:()=>uF,TwoFingersTouchRotateHandler:()=>cF,TwoFingersTouchZoomHandler:()=>oF,TwoFingersTouchZoomRotateHandler:()=>xF,VectorTileSource:()=>bx,VideoSource:()=>uS,addProtocol:()=>jr,addSourceType:()=>gS,clearPrewarmedResources:()=>rx,config:()=>kr,createTileMesh:()=>rS,getGlobalDispatcher:()=>ox,getMaxParallelImageRequests:()=>BI,getRTLTextPluginStatus:()=>II,getVersion:()=>LI,getWorkerCount:()=>RI,getWorkerUrl:()=>HI,importScriptInWorkers:()=>WI,isTimeFrozen:()=>Sr,now:()=>yr,prewarm:()=>nx,removeProtocol:()=>Mr,restoreNow:()=>xr,setMaxParallelImageRequests:()=>VI,setNow:()=>br,setRTLTextPlugin:()=>FI,setWorkerCount:()=>zI,setWorkerUrl:()=>UI}),Se=Object.create,Ce=Object.defineProperty,we=Object.getOwnPropertyDescriptor,Te=Object.getOwnPropertyNames,Ee=Object.getPrototypeOf,De=Object.prototype.hasOwnProperty,Oe=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),ke=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=Te(t),a=0,o=i.length,s;a<o;a++)s=i[a],!De.call(e,s)&&s!==n&&Ce(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=we(t,s))||r.enumerable});return e},Ae=(e,t,n)=>(n=e==null?{}:Se(Ee(e)),ke(t||!e||!e.__esModule||!De.call(e,`default`)?Ce(n,`default`,{value:e,enumerable:!0}):n,e)),je=`6.14.0`;function j(e,t){this.x=e,this.y=t}j.prototype={clone(){return new j(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:j},j.convert=function(e){if(e instanceof j)return e;if(Array.isArray(e))return new j(+e[0],+e[1]);if(e.x!==void 0&&e.y!==void 0)return new j(+e.x,+e.y);throw Error(`Expected [x, y] or {x, y} point format`)};function Me(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 Ne;function Pe(){return Ne??=typeof OffscreenCanvas<`u`&&!!new OffscreenCanvas(1,1).getContext(`2d`)&&typeof createImageBitmap==`function`,Ne}var Fe;function Ie(){if(Fe==null&&(Fe=!1,Pe())){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){Fe=!0;break}}}return Fe||!1}var Le=typeof Float32Array<`u`?Float32Array:Array;function Re(){var e=new Le(4);return Le!=Float32Array&&(e[1]=0,e[2]=0),e[0]=1,e[3]=1,e}function ze(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=n*a-i*r;return o?(o=1/o,e[0]=a*o,e[1]=-r*o,e[2]=-i*o,e[3]=n*o,e):null}function Be(e){return e[0]*e[3]-e[2]*e[1]}function Ve(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(n),c=Math.cos(n);return e[0]=r*c+a*s,e[1]=i*c+o*s,e[2]=r*-s+a*c,e[3]=i*-s+o*c,e}function He(){var e=new Le(9);return Le!=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 Ue(e){var t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],o=e[5],s=e[6],c=e[7],l=e[8];return t*(l*a-o*c)+n*(-l*i+o*s)+r*(c*i-a*s)}function We(e,t){var n=Math.sin(t),r=Math.cos(t);return e[0]=r,e[1]=n,e[2]=0,e[3]=-n,e[4]=r,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e}function Ge(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=n+n,s=r+r,c=i+i,l=n*o,u=r*o,d=r*s,f=i*o,p=i*s,m=i*c,h=a*o,g=a*s,_=a*c;return e[0]=1-d-m,e[3]=u-_,e[6]=f+g,e[1]=u+_,e[4]=1-l-m,e[7]=p-h,e[2]=f-g,e[5]=p+h,e[8]=1-l-d,e}function Ke(){var e=new Le(16);return Le!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function qe(e){var t=new Le(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Je(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Ye(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Xe(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10],p=t[11],m=t[12],h=t[13],g=t[14],_=t[15],v=n*s-r*o,y=n*c-i*o,b=n*l-a*o,x=r*c-i*s,S=r*l-a*s,C=i*l-a*c,w=u*h-d*m,T=u*g-f*m,E=u*_-p*m,D=d*g-f*h,O=d*_-p*h,k=f*_-p*g,A=v*k-y*O+b*D+x*E-S*T+C*w;return A?(A=1/A,e[0]=(s*k-c*O+l*D)*A,e[1]=(i*O-r*k-a*D)*A,e[2]=(h*C-g*S+_*x)*A,e[3]=(f*S-d*C-p*x)*A,e[4]=(c*E-o*k-l*T)*A,e[5]=(n*k-i*E+a*T)*A,e[6]=(g*b-m*C-_*y)*A,e[7]=(u*C-f*b+p*y)*A,e[8]=(o*O-s*E+l*w)*A,e[9]=(r*E-n*O-a*w)*A,e[10]=(m*S-h*b+_*v)*A,e[11]=(d*b-u*S-p*v)*A,e[12]=(s*T-o*D-c*w)*A,e[13]=(n*D-r*T+i*w)*A,e[14]=(h*y-m*x-g*v)*A,e[15]=(u*x-d*y+f*v)*A,e):null}function Ze(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],c=t[5],l=t[6],u=t[7],d=t[8],f=t[9],p=t[10],m=t[11],h=t[12],g=t[13],_=t[14],v=t[15],y=n[0],b=n[1],x=n[2],S=n[3];return e[0]=y*r+b*s+x*d+S*h,e[1]=y*i+b*c+x*f+S*g,e[2]=y*a+b*l+x*p+S*_,e[3]=y*o+b*u+x*m+S*v,y=n[4],b=n[5],x=n[6],S=n[7],e[4]=y*r+b*s+x*d+S*h,e[5]=y*i+b*c+x*f+S*g,e[6]=y*a+b*l+x*p+S*_,e[7]=y*o+b*u+x*m+S*v,y=n[8],b=n[9],x=n[10],S=n[11],e[8]=y*r+b*s+x*d+S*h,e[9]=y*i+b*c+x*f+S*g,e[10]=y*a+b*l+x*p+S*_,e[11]=y*o+b*u+x*m+S*v,y=n[12],b=n[13],x=n[14],S=n[15],e[12]=y*r+b*s+x*d+S*h,e[13]=y*i+b*c+x*f+S*g,e[14]=y*a+b*l+x*p+S*_,e[15]=y*o+b*u+x*m+S*v,e}function M(e,t,n){var r=n[0],i=n[1],a=n[2],o,s,c,l,u,d,f,p,m,h,g,_;return t===e?(e[12]=t[0]*r+t[4]*i+t[8]*a+t[12],e[13]=t[1]*r+t[5]*i+t[9]*a+t[13],e[14]=t[2]*r+t[6]*i+t[10]*a+t[14],e[15]=t[3]*r+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],c=t[2],l=t[3],u=t[4],d=t[5],f=t[6],p=t[7],m=t[8],h=t[9],g=t[10],_=t[11],e[0]=o,e[1]=s,e[2]=c,e[3]=l,e[4]=u,e[5]=d,e[6]=f,e[7]=p,e[8]=m,e[9]=h,e[10]=g,e[11]=_,e[12]=o*r+u*i+m*a+t[12],e[13]=s*r+d*i+h*a+t[13],e[14]=c*r+f*i+g*a+t[14],e[15]=l*r+p*i+_*a+t[15]),e}function Qe(e,t,n){var r=n[0],i=n[1],a=n[2];return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function $e(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10],f=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+l*r,e[5]=o*i+u*r,e[6]=s*i+d*r,e[7]=c*i+f*r,e[8]=l*i-a*r,e[9]=u*i-o*r,e[10]=d*i-s*r,e[11]=f*i-c*r,e}function et(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[0],o=t[1],s=t[2],c=t[3],l=t[8],u=t[9],d=t[10],f=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-l*r,e[1]=o*i-u*r,e[2]=s*i-d*r,e[3]=c*i-f*r,e[8]=a*r+l*i,e[9]=o*r+u*i,e[10]=s*r+d*i,e[11]=c*r+f*i,e}function tt(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[0],o=t[1],s=t[2],c=t[3],l=t[4],u=t[5],d=t[6],f=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+l*r,e[1]=o*i+u*r,e[2]=s*i+d*r,e[3]=c*i+f*r,e[4]=l*i-a*r,e[5]=u*i-o*r,e[6]=d*i-s*r,e[7]=f*i-c*r,e}function nt(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function rt(e,t,n,r,i){var a=1/Math.tan(t/2);if(e[0]=a/n,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){var o=1/(r-i);e[10]=(i+r)*o,e[14]=2*i*r*o}else e[10]=-1,e[14]=-2*r;return e}var it=rt;function at(e,t,n,r,i,a,o){var s=1/(t-n),c=1/(r-i),l=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+n)*s,e[13]=(i+r)*c,e[14]=(o+a)*l,e[15]=1,e}var ot=at;function st(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function ct(e,t){var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],s=e[5],c=e[6],l=e[7],u=e[8],d=e[9],f=e[10],p=e[11],m=e[12],h=e[13],g=e[14],_=e[15],v=t[0],y=t[1],b=t[2],x=t[3],S=t[4],C=t[5],w=t[6],T=t[7],E=t[8],D=t[9],O=t[10],k=t[11],A=t[12],ee=t[13],te=t[14],ne=t[15];return Math.abs(n-v)<=1e-6*Math.max(1,Math.abs(n),Math.abs(v))&&Math.abs(r-y)<=1e-6*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(i-b)<=1e-6*Math.max(1,Math.abs(i),Math.abs(b))&&Math.abs(a-x)<=1e-6*Math.max(1,Math.abs(a),Math.abs(x))&&Math.abs(o-S)<=1e-6*Math.max(1,Math.abs(o),Math.abs(S))&&Math.abs(s-C)<=1e-6*Math.max(1,Math.abs(s),Math.abs(C))&&Math.abs(c-w)<=1e-6*Math.max(1,Math.abs(c),Math.abs(w))&&Math.abs(l-T)<=1e-6*Math.max(1,Math.abs(l),Math.abs(T))&&Math.abs(u-E)<=1e-6*Math.max(1,Math.abs(u),Math.abs(E))&&Math.abs(d-D)<=1e-6*Math.max(1,Math.abs(d),Math.abs(D))&&Math.abs(f-O)<=1e-6*Math.max(1,Math.abs(f),Math.abs(O))&&Math.abs(p-k)<=1e-6*Math.max(1,Math.abs(p),Math.abs(k))&&Math.abs(m-A)<=1e-6*Math.max(1,Math.abs(m),Math.abs(A))&&Math.abs(h-ee)<=1e-6*Math.max(1,Math.abs(h),Math.abs(ee))&&Math.abs(g-te)<=1e-6*Math.max(1,Math.abs(g),Math.abs(te))&&Math.abs(_-ne)<=1e-6*Math.max(1,Math.abs(_),Math.abs(ne))}function lt(){var e=new Le(3);return Le!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function ut(e){var t=new Le(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function dt(e){var t=e[0],n=e[1],r=e[2];return Math.sqrt(t*t+n*n+r*r)}function ft(e,t,n){var r=new Le(3);return r[0]=e,r[1]=t,r[2]=n,r}function pt(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e}function mt(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2],e}function ht(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e}function gt(e,t,n,r){return e[0]=t[0]+n[0]*r,e[1]=t[1]+n[1]*r,e[2]=t[2]+n[2]*r,e}function _t(e,t){var n=t[0]-e[0],r=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(n*n+r*r+i*i)}function vt(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function yt(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 bt(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function xt(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}function St(e,t,n,r){var i=t[0],a=t[1],o=t[2];return e[0]=i+r*(n[0]-i),e[1]=a+r*(n[1]-a),e[2]=o+r*(n[2]-o),e}function Ct(e,t,n){var r=t[0],i=t[1],a=t[2],o=n[3]*r+n[7]*i+n[11]*a+n[15];return o||=1,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}function wt(e,t,n){var r=t[0],i=t[1],a=t[2];return e[0]=r*n[0]+i*n[3]+a*n[6],e[1]=r*n[1]+i*n[4]+a*n[7],e[2]=r*n[2]+i*n[5]+a*n[8],e}function Tt(e,t,n){var r=n[0],i=n[1],a=n[2],o=n[3],s=t[0],c=t[1],l=t[2],u=i*l-a*c,d=a*s-r*l,f=r*c-i*s;return u+=u,d+=d,f+=f,e[0]=s+o*u+i*f-a*d,e[1]=c+o*d+a*u-r*f,e[2]=l+o*f+r*d-i*u,e}function Et(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[0],a[1]=i[1]*Math.cos(r)-i[2]*Math.sin(r),a[2]=i[1]*Math.sin(r)+i[2]*Math.cos(r),e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function Dt(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[2]*Math.sin(r)+i[0]*Math.cos(r),a[1]=i[1],a[2]=i[2]*Math.cos(r)-i[0]*Math.sin(r),e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function Ot(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[0]*Math.cos(r)-i[1]*Math.sin(r),a[1]=i[0]*Math.sin(r)+i[1]*Math.cos(r),a[2]=i[2],e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function kt(e){return e[0]=0,e[1]=0,e[2]=0,e}var At=mt,jt=dt;(function(){var e=lt();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 Mt(){var e=new Le(4);return Le!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Nt(e,t,n,r){var i=new Le(4);return i[0]=e,i[1]=t,i[2]=n,i[3]=r,i}function Pt(e,t,n){return e[0]=t[0]*n[0],e[1]=t[1]*n[1],e[2]=t[2]*n[2],e[3]=t[3]*n[3],e}function Ft(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e}function It(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 Lt(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}var Rt=Pt;(function(){var e=Mt();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 zt(){var e=new Le(4);return Le!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function Bt(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 Vt(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=n[0],c=n[1],l=n[2],u=n[3];return e[0]=r*u+o*s+i*l-a*c,e[1]=i*u+o*c+a*s-r*l,e[2]=a*u+o*l+r*c-i*s,e[3]=o*u-r*s-i*c-a*l,e}function Ht(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 Ut(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}function Wt(e,t,n,r){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:`zyx`,a=Math.PI/360;t*=a,r*=a,n*=a;var o=Math.sin(t),s=Math.cos(t),c=Math.sin(n),l=Math.cos(n),u=Math.sin(r),d=Math.cos(r);switch(i){case`xyz`:e[0]=o*l*d+s*c*u,e[1]=s*c*d-o*l*u,e[2]=s*l*u+o*c*d,e[3]=s*l*d-o*c*u;break;case`xzy`:e[0]=o*l*d-s*c*u,e[1]=s*c*d-o*l*u,e[2]=s*l*u+o*c*d,e[3]=s*l*d+o*c*u;break;case`yxz`:e[0]=o*l*d+s*c*u,e[1]=s*c*d-o*l*u,e[2]=s*l*u-o*c*d,e[3]=s*l*d+o*c*u;break;case`yzx`:e[0]=o*l*d+s*c*u,e[1]=s*c*d+o*l*u,e[2]=s*l*u-o*c*d,e[3]=s*l*d-o*c*u;break;case`zxy`:e[0]=o*l*d-s*c*u,e[1]=s*c*d+o*l*u,e[2]=s*l*u+o*c*d,e[3]=s*l*d-o*c*u;break;case`zyx`:e[0]=o*l*d-s*c*u,e[1]=s*c*d+o*l*u,e[2]=s*l*u-o*c*d,e[3]=s*l*d+o*c*u;break;default:throw Error(`Unknown angle order `+i)}return e}var Gt=Nt,Kt=It;(function(){var e=lt(),t=ft(1,0,0),n=ft(0,1,0);return function(r,i,a){var o=bt(i,a);return o<-.999999?(xt(e,t,i),jt(e)<1e-6&&xt(e,n,i),yt(e,e),Bt(r,e,Math.PI),r):o>.999999?(r[0]=0,r[1]=0,r[2]=0,r[3]=1,r):(xt(e,i,a),r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=1+o,Kt(r,r))}})(),function(){var e=zt(),t=zt();return function(n,r,i,a,o,s){return Ht(e,r,o,s),Ht(t,i,a,s),Ht(n,e,t,2*s*(1-s)),n}}(),function(){var e=He();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],Kt(t,Ut(t,e))}}();function qt(){var e=new Le(2);return Le!=Float32Array&&(e[0]=0,e[1]=0),e}function Jt(e,t){var n=new Le(2);return n[0]=e,n[1]=t,n}function Yt(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e}function Xt(e){var t=e[0],n=e[1];return Math.sqrt(t*t+n*n)}function Zt(e){var t=e[0],n=e[1];return t*t+n*n}function Qt(e,t){return e[0]*t[0]+e[1]*t[1]}function $t(e){return e[0]=0,e[1]=0,e}var en=Zt;(function(){var e=qt();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 N=8192;function tn(e,t,n){return t*(N/(e.tileSize*2**(n-e.tileID.overscaledZ)))}function nn(e){return e instanceof Error?e:Error(typeof e==`string`?e:String(e))}function rn(){return new Float64Array(4)}function an(){return new Float64Array(3)}function on(){return new Float64Array(16)}function sn(){let e=new Float64Array(16);return Ye(e),e}function cn(){let e=new Float32Array(16);return Ye(e),e}function ln(e,t,n,r,i=!1){if(!n[0]&&!n[1])return[0,0];let a=i?r===`map`?-e.bearingInRadians:0:r===`viewport`?e.bearingInRadians:0;if(a){let e=Math.sin(a),t=Math.cos(a);n=[n[0]*t-n[1]*e,n[0]*e+n[1]*t]}return[i?n[0]:tn(t,n[0],e.zoom),i?n[1]:tn(t,n[1],e.zoom)]}function un(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]}function dn(e,t,n){let r=Ue([e[0],e[1],e[2],t[0],t[1],t[2],n[0],n[1],n[2]]);if(r===0)return null;let i=xt([],[t[0],t[1],t[2]],[n[0],n[1],n[2]]),a=xt([],[n[0],n[1],n[2]],[e[0],e[1],e[2]]),o=xt([],[e[0],e[1],e[2]],[t[0],t[1],t[2]]),s=ht([],i,-e[3]);return pt(s,s,ht([],a,-t[3])),pt(s,s,ht([],o,-n[3])),ht(s,s,1/r),s}function fn(e,t,n){let r=e[0]*n[0]+e[1]*n[1]+e[2]*n[2],i=t[0]*n[0]+t[1]*n[1]+t[2]*n[2];return i===0?null:(-r-n[3])/i}function pn(e,t,n,r){let i=Math.sqrt(e*e+t*t),a=Math.sqrt(n*n+r*r);e/=i,t/=i,n/=a,r/=a;let o=e*n+t*r,s=Math.acos(o);return-t*n+e*r>0?s:-s}function mn(e,t){let n=gn(e,360),r=gn(t,360),i=r-n,a=r>n?i-360:i+360;return Math.abs(i)<Math.abs(a)?i:a}function hn(e,t){let n=gn(e,Math.PI*2),r=gn(t,Math.PI*2);return Math.min(Math.abs(n-r),Math.abs(n-r+Math.PI*2),Math.abs(n-r-Math.PI*2))}function gn(e,t){return(e%t+t)%t}function _n(e,t,n,r,i){return vn(r,i,P((e-t)/(n-t),0,1))}function vn(e,t,n){return e*(1-n)+t*n}function yn(e){let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),n=Math.min(n,a.y),r=Math.max(r,a.x),i=Math.max(i,a.y);return[t,n,r,i]}function bn(e){if(!e.length)return new Set;let t=Math.max(...e.map(e=>e.canonical.z)),n=1/0,r=-1/0,i=1/0,a=-1/0,o=[];for(let s of e){let{x:e,y:c,z:l}=s.canonical,u=2**(t-l),d=e*u,f=c*u;o.push({id:s,x:d,y:f}),d<n&&(n=d),d>r&&(r=d),f<i&&(i=f),f>a&&(a=f)}let s=new Set;for(let e of o)(e.x===n||e.x===r||e.y===i||e.y===a)&&s.add(e.id);return s}function xn(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 Sn(e,t,n,r){return Me(e,t,n,r)}var Cn=Sn(.25,.1,.25,1);function P(e,t,n){return Math.min(n,Math.max(t,e))}function wn(e,t,n){let r=n-t,i=((e-t)%r+r)%r+t;return i===t?n:i}function F(e,...t){for(let n of t)for(let t in n)e[t]=n[t];return e}function Tn(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}var En=1;function Dn(){return En++}function On(e){return Math.log(e)/Math.LN2%1==0}function kn(e){return e<=1?1:2**Math.ceil(Math.log(e)/Math.LN2)}function An(e){return 2**e}function jn(e){return Math.log(e)/Math.LN2}function Mn(e,t,n){if(t<=0)return e;let r=1/t;return n===void 0||Math.abs(n)<1e-10?Math.round(e*r)/r:(n>0?Math.ceil(e*r-1e-9):Math.floor(e*r+1e-10))/r}function Nn(e,t,n){let r={};for(let i in e)r[i]=t.call(n||this,e[i],i,e);return r}function Pn(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 Fn(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(!Fn(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(!Fn(e[n],t[n]))return!1;return!0}return e===t}function In(e){return Array.isArray(e)?e.map(In):typeof e==`object`&&e?Nn(e,In):e}var Ln={};function Rn(e){Ln[e]||(typeof console<`u`&&console.warn(e),Ln[e]=!0)}function zn(e,t,n){return(n.y-e.y)*(t.x-e.x)>(t.y-e.y)*(n.x-e.x)}function Bn(e,t,n,r){let i=t.y-e.y,a=t.x-e.x,o=r.y-n.y,s=r.x-n.x,c=o*a-s*i;if(c===0)return null;let l=e.y-n.y,u=e.x-n.x,d=(s*l-o*u)/c;return new j(e.x+d*a,e.y+d*i)}function Vn([e,t,n]){return t+=90,t*=Math.PI/180,n*=Math.PI/180,[e*Math.cos(t)*Math.sin(n),e*Math.sin(t)*Math.sin(n),e*Math.cos(n)]}function Hn(e){return typeof WorkerGlobalScope<`u`&&e!==void 0&&e instanceof WorkerGlobalScope}function Un(e){let t=/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,n={};if(e.replace(t,(e,t,r,i)=>{let a=r||i;return n[t]=!a||a.toLowerCase(),``}),n[`max-age`]){let e=parseInt(n[`max-age`],10);isNaN(e)?delete n[`max-age`]:n[`max-age`]=e}return n}var Wn=null;function Gn(e){if(Wn==null){let t=e.navigator?e.navigator.userAgent:null;Wn=!!e.safari||!!(t&&(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match(`Safari`)&&!t.match(`Chrome`)))}return Wn}function Kn(e){return typeof ImageBitmap<`u`&&e instanceof ImageBitmap}var qn=async(e,t)=>{let n=new Blob([new Uint8Array(e)],{type:`image/png`});try{return createImageBitmap(n,t)}catch(e){throw Error(`Could not load image because of ${nn(e).message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}},Jn=e=>new Promise((t,n)=>{let r=new Image;r.onload=()=>{t(r),URL.revokeObjectURL(r.src),r.onload=null,window.requestAnimationFrame(()=>r.src=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=`)},r.onerror=()=>n(Error(`Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`));let i=new Blob([new Uint8Array(e)],{type:`image/png`});r.src=URL.createObjectURL(i)});function Yn(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 Xn(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,Yn(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()}}function Zn(e,t,n,r){return e.addEventListener(t,n,r),{unsubscribe:()=>{e.removeEventListener(t,n,r)}}}function Qn(e){return e*Math.PI/180}function $n(e){return e/Math.PI*180}function er(e,t){return e.roll==t.roll&&e.pitch==t.pitch&&e.bearing==t.bearing}function tr(e){let t=new Float64Array(9);Ge(t,e);let n=$n(-Math.asin(P(t[2],-1,1))),r,i;return Math.hypot(t[5],t[8])<.001?(r=0,i=-$n(Math.atan2(t[3],t[4]))):(r=$n(t[5]===0&&t[8]===0?0:Math.atan2(t[5],t[8])),i=$n(t[1]===0&&t[0]===0?0:Math.atan2(t[1],t[0]))),{roll:r,pitch:n+90,bearing:i}}function nr(e,t,n){let r=Jt(t.x-n.x,t.y-n.y),i=Jt(e.x-n.x,e.y-n.y),a=r[0]*i[1]-r[1]*i[0];return $n(Math.atan2(a,Qt(r,i)))}function rr(e,t,n){let r=new Float64Array(4);return Wt(r,e,t-90,n),r}var ir=85.051129,ar={touchstart:!0,touchmove:!0,touchmoveWindow:!0,touchend:!0,touchcancel:!0},or={dblclick:!0,click:!0,mouseover:!0,mouseout:!0,mousedown:!0,mousemove:!0,mousemoveWindow:!0,mouseup:!0,mouseupWindow:!0,contextmenu:!0,wheel:!0};function sr(e,t){return ar[t]&&`touches`in e}function cr(e,t){if(!or[t])return!1;let n=e,r=(n?.target)?.ownerDocument?.defaultView||window;return n instanceof r.MouseEvent||n instanceof r.WheelEvent}function lr(e){return ar[e]||or[e]}var ur=`AbortError`,dr=class extends Error{constructor(e=ur){super(e instanceof Error?e.message:e),this.name=ur,e instanceof Error&&e.stack&&(this.stack=e.stack)}};function fr(e){return e instanceof Error&&e.name===`AbortError`}function pr(e){if(e.aborted)throw new dr(e.reason)}var mr,hr,gr,_r={frame(e,t,n,r){let i=r||window,a=i.requestAnimationFrame(e=>{o(),t(e)}),{unsubscribe:o}=Zn(e.signal,`abort`,()=>{o(),i.cancelAnimationFrame(a),n(new dr(e.signal.reason))},!1)},frameAsync(e,t){return new Promise((n,r)=>{this.frame(e,n,r,t)})},getImageData(e,t=0){return this.getImageCanvasContext(e).getImageData(-t,-t,e.width+2*t,e.height+2*t)},getImageCanvasContext(e){let t;if(Pe()&&!Ie())t=new OffscreenCanvas(e.width,e.height).getContext(`2d`,{willReadFrequently:!0});else{let n=window.document.createElement(`canvas`);n.width=e.width,n.height=e.height,t=n.getContext(`2d`,{willReadFrequently:!0})}if(!t)throw Error(`failed to create canvas 2d context`);return t.drawImage(e,0,0,e.width,e.height),t},resolveURL(e){return mr||=document.createElement(`a`),mr.href=e,mr.href},get hardwareConcurrency(){return typeof navigator<`u`&&navigator.hardwareConcurrency||4},get prefersReducedMotion(){return gr===void 0?matchMedia?(hr??=matchMedia(`(prefers-reduced-motion: reduce)`),hr.matches):!1:gr},set prefersReducedMotion(e){gr=e}},vr=new class{constructor(){this._frozenAt=null}getCurrentTime(){return this._frozenAt===null?performance.now():this._frozenAt}setNow(e){this._frozenAt=e}restoreNow(){this._frozenAt=null}isFrozen(){return this._frozenAt!==null}};function yr(){return vr.getCurrentTime()}function br(e){vr.setNow(e)}function xr(){vr.restoreNow()}function Sr(){return vr.isFrozen()}var Cr=new Set(`a.abbr.b.bdi.bdo.br.cite.code.del.div.em.i.img.ins.kbd.li.mark.ol.p.q.s.samp.small.span.strong.sub.sup.time.u.ul.var.wbr`.split(`.`)),wr=new Set([`alt`,`class`,`datetime`,`dir`,`height`,`href`,`hreflang`,`lang`,`referrerpolicy`,`rel`,`role`,`src`,`target`,`title`,`translate`,`type`,`width`]),Tr=new Set([`href`,`src`]),Er=new Set([`http:`,`https:`,`mailto:`]),Dr;function Or(){return Dr??={getAttribute:Element.prototype.getAttribute,getAttributeNames:Element.prototype.getAttributeNames,querySelectorAll:Element.prototype.querySelectorAll,remove:Element.prototype.remove,removeAttribute:Element.prototype.removeAttribute,localName:Object.getOwnPropertyDescriptor(Element.prototype,`localName`).get,namespaceURI:Object.getOwnPropertyDescriptor(Element.prototype,`namespaceURI`).get},Dr}var I=class e{static{this.docStyle=typeof window<`u`&&window.document?.documentElement.style}static{this.selectProp=!e.docStyle||`userSelect`in e.docStyle?`userSelect`:`webkitUserSelect`}static create(e,t,n){let r=window.document.createElement(e);return t!==void 0&&(r.className=t),n&&n.appendChild(r),r}static createNS(e,t){return window.document.createElementNS(e,t)}static disableDrag(){e.docStyle&&e.selectProp&&(e.userSelect=e.docStyle[e.selectProp],e.docStyle[e.selectProp]=`none`)}static enableDrag(){e.docStyle&&e.selectProp&&(e.docStyle[e.selectProp]=e.userSelect)}static suppressClickInternal(t){t.preventDefault(),t.stopPropagation(),window.removeEventListener(`click`,e.suppressClickInternal,!0)}static suppressClick(){window.addEventListener(`click`,e.suppressClickInternal,!0),window.setTimeout(()=>{window.removeEventListener(`click`,e.suppressClickInternal,!0)},0)}static getScale(e){let t=e.getBoundingClientRect();return{x:t.width/e.offsetWidth||1,y:t.height/e.offsetHeight||1,boundingClientRect:t}}static getPoint(e,t,n){let r=t.boundingClientRect;return new j((n.clientX-r.left)/t.x-e.clientLeft,(n.clientY-r.top)/t.y-e.clientTop)}static mousePos(t,n){let r=e.getScale(t);return e.getPoint(t,r,n)}static touchPos(t,n){let r=[],i=e.getScale(t);for(let a of n)r.push(e.getPoint(t,i,a));return r}static sanitize(t){let n=new DOMParser().parseFromString(t,`text/html`).body,{querySelectorAll:r,remove:i}=Or();for(let t of Array.from(r.call(n,`*`)))e.isAllowedElement(t)?e.removeDisallowedAttributes(t):i.call(t);let a=document.createDocumentFragment();return a.append(...n.childNodes),a}static isAllowedElement(e){let{namespaceURI:t,localName:n}=Or();return t.call(e)===`http://www.w3.org/1999/xhtml`&&Cr.has(n.call(e))}static removeDisallowedAttributes(t){let{getAttributeNames:n,getAttribute:r,removeAttribute:i}=Or();for(let a of n.call(t))e.isAllowedAttribute(a,r.call(t,a))||i.call(t,a)}static isAllowedAttribute(e,t){if(!wr.has(e)&&!e.startsWith(`aria-`))return!1;if(!Tr.has(e))return!0;try{return Er.has(new URL(t,`https://maplibre.invalid/`).protocol)}catch{return!1}}},kr={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:``};function Ar(e){return kr.REGISTERED_PROTOCOLS[e.substring(0,e.indexOf(`://`))]}function jr(e,t){kr.REGISTERED_PROTOCOLS[e]=t}function Mr(e){delete kr.REGISTERED_PROTOCOLS[e]}var Nr=`global-dispatcher`,Pr=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 Fr(){if(Hn(self))return self.worker?.referrer;if(window.location.protocol===`blob:`)try{return window.parent.location.href}catch{}return window.location.href}var Ir=e=>e.startsWith(`file:`)||Fr()?.startsWith(`file:`)&&!/^\w+:/.test(e);async function Lr(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:Fr(),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 fr(t)?t:new Pr(0,nn(t).message,e.url,new Blob)}if(!r.ok){let t=await r.blob();throw new Pr(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 pr(t.signal),{data:a,cacheControl:r.headers.get(`Cache-Control`),expires:r.headers.get(`Expires`),etag:r.headers.get(`ETag`)}}function Rr(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 Pr(i.status,i.statusText,e.url,t))}}},t.signal.addEventListener(`abort`,()=>{i.abort(),r(new dr(t.signal.reason))}),i.send(e.body)})}var zr=async function(e,t){if(e.url.includes(`://`)&&!/^https?:|^file:/.test(e.url)){let n=Ar(e.url);if(n){let r=await n(e,t);return!r.data&&e.type===`arrayBuffer`?F(r,{data:new ArrayBuffer(0)}):r}if(Hn(self)&&self.worker?.actor)return self.worker.actor.sendAsync({type:`GR`,data:e,targetMapId:Nr},t)}if(!Ir(e.url)){if(fetch&&Request&&AbortController&&Object.hasOwn(Request.prototype,`signal`))return Lr(e,t);if(Hn(self)&&self.worker?.actor)return self.worker.actor.sendAsync({type:`GR`,data:e,mustQueue:!0,targetMapId:Nr},t)}return Rr(e,t)},Br=(e,t)=>zr(F(e,{type:`json`}),t),Vr=(e,t)=>zr(F(e,{type:`arrayBuffer`}),t);function Hr(e){if(!e||e.startsWith(`data:image/`))return!0;if(e.startsWith(`blob:`)&&(e=e.slice(5),e.startsWith(`null`)))return!1;if(e.indexOf(`://`)<=0)return!0;let t=new URL(e),n=window.location;return t.protocol===n.protocol&&t.host===n.host}var Ur=e=>{let t=window.document.createElement(`video`);return t.muted=!0,new Promise(n=>{t.onloadstart=()=>{n(t)};for(let n of e){let e=window.document.createElement(`source`);Hr(n)||(t.crossOrigin=`Anonymous`),e.src=n,t.appendChild(e)}})},Wr;(function(e){let t,n,r,i;e.resetRequestQueue=()=>{t=[],n=0,r=0,i={}},e.addThrottleControl=e=>{let t=r++;return i[t]=e,t},e.removeThrottleControl=e=>{delete i[e],l()};let a=()=>{for(let e of Object.keys(i))if(i[e]())return!0;return!1};async function o(e,t,n,r,i=!0,a){let o=await e.transformRequest(t,n);return pr(r.signal),Wr.getImage(o,r,i,a)}e.transformAndGetImage=o,e.getImage=(e,n,r=!0,i)=>new Promise((a,o)=>{e.headers||={},e.headers.accept=`image/webp,*/*`,F(e,{type:`image`});let s={abortController:n,requestParameters:e,supportImageRefresh:r,imageBitmapOptions:i,state:`queued`,onError:e=>{o(e)},onSuccess:e=>{a(e)}};t.push(s),l()});let s=(e,t)=>typeof createImageBitmap==`function`?qn(e,t):Jn(e),c=async e=>{e.state=`running`;let{requestParameters:t,supportImageRefresh:r,imageBitmapOptions:i,onError:a,onSuccess:o,abortController:c}=e,d=r===!1&&!i&&!Hn(self)&&!Ar(t.url)&&(!t.headers||Object.keys(t.headers).reduce((e,t)=>e&&t===`accept`,!0));n++;let f=d?u(t,c):zr(t,c);try{let t=await f;delete e.abortController,e.state=`completed`,t.data instanceof HTMLImageElement||Kn(t.data)?o(t):!t.data||t.data.byteLength===0?o({data:null,cacheControl:t.cacheControl,expires:t.expires}):o({data:await s(t.data,i),cacheControl:t.cacheControl,expires:t.expires})}catch(t){delete e.abortController,a(nn(t))}finally{n--,l()}},l=()=>{let e=a()?kr.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:kr.MAX_PARALLEL_IMAGE_REQUESTS;for(let r=n;r<e&&t.length>0;r++){let e=t.shift();if(e.abortController.signal.aborted){r--;continue}c(e)}},u=(e,t)=>new Promise((n,r)=>{let i=new Image,a=e.url,o=e.credentials;o&&o===`include`?i.crossOrigin=`use-credentials`:(o&&o===`same-origin`||!Hr(a))&&(i.crossOrigin=`anonymous`),t.signal.addEventListener(`abort`,()=>{i.src=``,r(new dr(t.signal.reason))}),i.fetchPriority=`high`,i.onload=()=>{i.onerror=i.onload=null,n({data:i})},i.onerror=()=>{i.onerror=i.onload=null,!t.signal.aborted&&r(Error(`Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))},i.src=a})})(Wr||={}),Wr.resetRequestQueue();var Gr=class{constructor(e){this._transformRequestFn=e??null}transformRequest(e,t){return this._transformRequestFn&&this._transformRequestFn(e,t)||{url:e}}setTransformRequest(e){this._transformRequestFn=e}};function Kr(e,t,n){n[e]?.includes(t)||(n[e]||=[],n[e].push(t))}function qr(e,t,n){if(n?.[e]){let r=n[e].indexOf(t);r!==-1&&n[e].splice(r,1)}}var Jr=class{constructor(e,t={}){F(this,t),this.type=e}},R=class extends Jr{constructor(e,t={}){super(`error`,F({error:e},t))}},Yr=class{on(e,t){return this._listeners||={},Kr(e,t,this._listeners),{unsubscribe:()=>{this.off(e,t)}}}off(e,t){return qr(e,t,this._listeners),qr(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners||={},Kr(e,t,this._oneTimeListeners),this):new Promise(t=>this.once(e,t))}fire(e,t){let n=typeof e==`string`?new Jr(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)qr(r,e,this._oneTimeListeners),e.call(this,n);let i=this._eventedParent;i&&(F(n,typeof this._eventedParentData==`function`?this._eventedParentData():this._eventedParentData),i.fire(n))}else n instanceof R&&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}},Xr=class extends Jr{},z=class extends Xr{},Zr=class extends Xr{constructor(e={}){super(`style.load`,e)}},Qr=class extends Xr{constructor(e,t={}){super(e,t),this.dataType=`style`}},$r=class extends Xr{constructor(e,t={}){super(e,t),this.dataType=`source`}},ei=class extends Xr{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,n,r={}){n=n instanceof MouseEvent?n:new MouseEvent(e,n);let i=I.mousePos(t.getCanvas(),n),a=t.unproject(i);super(e,F({point:i,lngLat:a,originalEvent:n},r)),this._defaultPrevented=!1,this.target=t}},ti=class extends Xr{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,n){let r=e===`touchend`?n.changedTouches:n.touches,i=I.touchPos(t.getCanvasContainer(),r),a=i.map(e=>t.unproject(e)),o=i.reduce((e,t,n,r)=>e.add(t.div(r.length)),new j(0,0)),s=t.unproject(o);super(e,{points:i,point:o,lngLats:a,lngLat:s,originalEvent:n}),this._defaultPrevented=!1}},ni=class extends Xr{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t){super(`wheel`,{originalEvent:t}),this._defaultPrevented=!1}},ri=class extends Xr{},ii=class extends Xr{constructor(e={}){super(`terrain`,e)}},ai=class extends Xr{constructor(e={}){super(`projectiontransition`,e)}},oi=class extends Xr{},si=class extends Xr{constructor(e={}){super(`styleimagemissing`,e)}},ci={$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`}]}}}}},B=ci,li=[`type`,`source`,`source-layer`,`minzoom`,`maxzoom`,`filter`,`layout`];function ui(e,t){let n={};for(let t in e)t!==`ref`&&(n[t]=e[t]);return li.forEach(e=>{e in t&&(n[e]=t[e])}),n}function di(e){e=e.slice();let t=Object.create(null);for(let n=0;n<e.length;n++)t[e[n].id]=e[n];for(let n=0;n<e.length;n++)`ref`in e[n]&&(e[n]=ui(e[n],t[e[n].ref]));return e}function fi(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(!fi(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(!fi(e[n],t[n]))return!1;return!0}return e===t}function pi(e,t){e.push(t)}function mi(e,t,n){pi(n,{command:`addSource`,args:[e,t[e]]})}function hi(e,t,n){pi(t,{command:`removeSource`,args:[e]}),n[e]=!0}function gi(e,t,n,r){hi(e,n,r),mi(e,t,n)}function _i(e,t,n){let r;for(r in e[n])if(Object.prototype.hasOwnProperty.call(e[n],r)&&r!==`data`&&!fi(e[n][r],t[n][r]))return!1;for(r in t[n])if(Object.prototype.hasOwnProperty.call(t[n],r)&&r!==`data`&&!fi(e[n][r],t[n][r]))return!1;return!0}function vi(e,t,n,r){e||={},t||={};let i;for(i in e)Object.prototype.hasOwnProperty.call(e,i)&&(Object.prototype.hasOwnProperty.call(t,i)||hi(i,n,r));for(i in t)Object.prototype.hasOwnProperty.call(t,i)&&(Object.prototype.hasOwnProperty.call(e,i)?fi(e[i],t[i])||(e[i].type===`geojson`&&t[i].type===`geojson`&&_i(e,t,i)?pi(n,{command:`setGeoJSONSourceData`,args:[i,t[i].data]}):gi(i,t,n,r)):mi(i,t,n))}function yi(e,t,n,r,i){pi(t,{command:i,args:[n,r,e[r]]})}function bi(e,t,n,r,i){e||={},t||={};for(let a in e)Object.prototype.hasOwnProperty.call(e,a)&&(fi(e[a],t[a])||yi(t,n,r,a,i));for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&!Object.prototype.hasOwnProperty.call(e,a)&&(fi(e[a],t[a])||yi(t,n,r,a,i))}function xi(e){return e.id}function Si(e,t){return e[t.id]=t,e}function Ci(e,t,n){e||=[],t||=[];let r=e.map(xi),i=t.map(xi),a=e.reduce(Si,{}),o=t.reduce(Si,{}),s=r.slice(),c=Object.create(null),l,u,d,f,p;for(let e=0,t=0;e<r.length;e++)l=r[e],Object.prototype.hasOwnProperty.call(o,l)?t++:(pi(n,{command:`removeLayer`,args:[l]}),s.splice(s.indexOf(l,t),1));for(let e=0,t=0;e<i.length;e++)l=i[i.length-1-e],s[s.length-1-e]!==l&&(Object.prototype.hasOwnProperty.call(a,l)?(pi(n,{command:`removeLayer`,args:[l]}),s.splice(s.lastIndexOf(l,s.length-t),1)):t++,f=s[s.length-e],pi(n,{command:`addLayer`,args:[o[l],f]}),s.splice(s.length-e,0,l),c[l]=!0);for(let e=0;e<i.length;e++)if(l=i[e],u=a[l],d=o[l],!(c[l]||fi(u,d))){if(!fi(u.source,d.source)||!fi(u[`source-layer`],d[`source-layer`])||!fi(u.type,d.type)){pi(n,{command:`removeLayer`,args:[l]}),f=s[s.lastIndexOf(l)+1],pi(n,{command:`addLayer`,args:[d,f]});continue}for(p in bi(u.layout,d.layout,n,l,`setLayoutProperty`),bi(u.paint,d.paint,n,l,`setPaintProperty`),fi(u.filter,d.filter)||pi(n,{command:`setFilter`,args:[l,d.filter]}),(!fi(u.minzoom,d.minzoom)||!fi(u.maxzoom,d.maxzoom))&&pi(n,{command:`setLayerZoomRange`,args:[l,d.minzoom,d.maxzoom]}),u)Object.prototype.hasOwnProperty.call(u,p)&&p!==`layout`&&p!==`paint`&&p!==`filter`&&p!==`metadata`&&p!==`minzoom`&&p!==`maxzoom`&&(p.indexOf(`paint.`)===0?bi(u[p],d[p],n,l,`setPaintProperty`):fi(u[p],d[p])||pi(n,{command:`setLayerProperty`,args:[l,p,d[p]]}));for(p in d)Object.prototype.hasOwnProperty.call(d,p)&&!Object.prototype.hasOwnProperty.call(u,p)&&p!==`layout`&&p!==`paint`&&p!==`filter`&&p!==`metadata`&&p!==`minzoom`&&p!==`maxzoom`&&(p.indexOf(`paint.`)===0?bi(u[p],d[p],n,l,`setPaintProperty`):fi(u[p],d[p])||pi(n,{command:`setLayerProperty`,args:[l,p,d[p]]}))}}function wi(e,t){if(!e)return[{command:`setStyle`,args:[t]}];let n=[];try{if(!fi(e.version,t.version))return[{command:`setStyle`,args:[t]}];fi(e.center,t.center)||n.push({command:`setCenter`,args:[t.center]}),fi(e.state,t.state)||n.push({command:`setGlobalState`,args:[t.state]}),fi(e.centerAltitude,t.centerAltitude)||n.push({command:`setCenterAltitude`,args:[t.centerAltitude]}),fi(e.zoom,t.zoom)||n.push({command:`setZoom`,args:[t.zoom]}),fi(e.bearing,t.bearing)||n.push({command:`setBearing`,args:[t.bearing]}),fi(e.pitch,t.pitch)||n.push({command:`setPitch`,args:[t.pitch]}),fi(e.roll,t.roll)||n.push({command:`setRoll`,args:[t.roll]}),fi(e.sprite,t.sprite)||n.push({command:`setSprite`,args:[t.sprite]}),fi(e.glyphs,t.glyphs)||n.push({command:`setGlyphs`,args:[t.glyphs]}),fi(e[`font-faces`],t[`font-faces`])||n.push({command:`setFontFaces`,args:[t[`font-faces`]]}),fi(e.transition,t.transition)||n.push({command:`setTransition`,args:[t.transition]}),fi(e.light,t.light)||n.push({command:`setLight`,args:[t.light]});let r=!fi(e.terrain,t.terrain);r&&!t.terrain&&n.push({command:`setTerrain`,args:[void 0]}),fi(e.sky,t.sky)||n.push({command:`setSky`,args:[t.sky]}),fi(e.projection,t.projection)||n.push({command:`setProjection`,args:[t.projection]});let i={},a=[];vi(e.sources,t.sources,a,i);let o=[];e.layers&&e.layers.forEach(e=>{`source`in e&&i[e.source]?n.push({command:`removeLayer`,args:[e.id]}):o.push(e)}),n=n.concat(a),Ci(o,t.layers,n),r&&t.terrain&&n.push({command:`setTerrain`,args:[t.terrain]})}catch(e){console.warn(`Unable to compute style diff:`,e),n=[{command:`setStyle`,args:[t]}]}return n}var V=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__)}},Ti={kind:`null`},H={kind:`number`},U={kind:`string`},Ei={kind:`boolean`},Di={kind:`color`},Oi={kind:`projectionDefinition`},ki={kind:`object`},W={kind:`value`},Ai={kind:`error`},ji={kind:`collator`},Mi={kind:`formatted`},Ni={kind:`padding`},Pi={kind:`colorArray`},Fi={kind:`numberArray`},Ii={kind:`resolvedImage`},Li={kind:`variableAnchorOffsetCollection`};function Ri(e,t){return{kind:`array`,itemType:e,N:t}}function zi(e){if(e.kind===`array`){let t=zi(e.itemType);return typeof e.N==`number`?`array<${t}, ${e.N}>`:e.itemType.kind===`value`?`array`:`array<${t}>`}return e.kind}var Bi=[Ti,H,U,Ei,Di,Oi,Mi,ki,Ri(W),Ni,Fi,Pi,Ii,Li];function Vi(e,t){if(t.kind===`error`)return null;if(e.kind===`array`){if(t.kind===`array`&&(t.N===0&&t.itemType.kind===`value`||!Vi(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 Bi)if(!Vi(e,t))return null}return`Expected ${zi(e)} but found ${zi(t)} instead.`}function Hi(e,t){return t.some(t=>t.kind===e.kind)}function Ui(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 Wi(e,t){return e.kind===`array`&&t.kind===`array`?e.itemType.kind===t.itemType.kind&&typeof e.N==`number`:e.kind===t.kind}var Gi=.96422,Ki=.82521,qi=4/29,Ji=6/29,Yi=3*Ji*Ji,Xi=Math.PI/180,Zi=180/Math.PI;function Qi(e){return e%=360,e<0&&(e+=360),e}function $i([e,t,n,r]){e=ea(e),t=ea(t),n=ea(n);let i,a,o=ta((.2225045*e+.7168786*t+.0606169*n)/1);e===t&&t===n?i=a=o:(i=ta((.4360747*e+.3850649*t+.1430804*n)/Gi),a=ta((.0139322*e+.0971045*t+.7141733*n)/Ki));let s=116*o-16;return[s<0?0:s,500*(i-o),200*(o-a),r]}function ea(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function ta(e){return e>.008856451679035631?e**(1/3):e/Yi+qi}function na([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*ia(i),a=Gi*ia(a),o=Ki*ia(o),[ra(3.1338561*a-1.6168667*i-.4906146*o),ra(-.9787684*a+1.9161415*i+.033454*o),ra(.0719453*a-.2289914*i+1.4052427*o),r]}function ra(e){return e=e<=.00304?12.92*e:1.055*e**(1/2.4)-.055,e<0?0:e>1?1:e}function ia(e){return e>Ji?e*e*e:Yi*(e-qi)}function aa(e){let[t,n,r,i]=$i(e),a=Math.sqrt(n*n+r*r);return[Math.round(a*1e4)?Qi(Math.atan2(r,n)*Zi):NaN,a,t,i]}function oa([e,t,n,r]){return e=isNaN(e)?0:e*Xi,na([n,Math.cos(e)*t,Math.sin(e)*t,r])}function sa([e,t,n,r]){e=Qi(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 ca=Object.hasOwn||function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};function la(e,t){return ca(e,t)?e[t]:void 0}function ua(e){if(e=e.toLowerCase().trim(),e===`transparent`)return[0,0,0,0];let t=la(ha,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[da(e.slice(n,n+=t)),da(e.slice(n,n+=t)),da(e.slice(n,n+=t)),da(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=[pa(+n/t,0,1),pa(+a/t,0,1),pa(+c/t,0,1),d?fa(+d,f):1];if(ma(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,pa(+i,0,100),pa(+o,0,100),c?fa(+c,l):1];if(ma(e))return sa(e)}}}function da(e){return parseInt(e.padEnd(2,e),16)/255}function fa(e,t){return pa(t?e/100:e,0,1)}function pa(e,t,n){return Math.min(Math.max(t,e),n)}function ma(e){return!e.some(Number.isNaN)}var ha={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 ga(e,t,n){return e+n*(t-e)}function _a(e,t,n){return e.map((e,r)=>ga(e,t[r],n))}function va(e){return e===`rgb`||e===`hcl`||e===`lab`}var G=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=ua(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`,aa(this.rgb))}get lab(){return this.overwriteGetter(`lab`,$i(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]=_a(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,_]=oa([f,p??ga(a,l,r),ga(o,u,r),ga(s,d,r)]);return new e(m,h,g,_,!1)}case`lab`:{let[i,a,o,s]=na(_a(t.lab,n.lab,r));return new e(i,a,o,s,!1)}}}},ya=[`bottom`,`center`,`top`],ba=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}},xa=class e{constructor(e){this.sections=e}static fromString(t){return new e([new ba(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(``)}},Sa=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(_a(t.values,n.values,r))}},Ca=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(_a(t.values,n.values,r))}},wa=class e{constructor(e){this.values=e.slice()}static parse(t){if(t instanceof e)return t;if(typeof t==`string`){let n=G.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=G.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(G.interpolate(t.values[e],n.values[e],r,i));return new e(a)}},Ta=class extends Error{constructor(e,t){super(e),this.name=`RuntimeError`,this.path=t}toJSON(){return this.message}},Ea=new Set([`center`,`left`,`right`,`top`,`bottom`,`top-left`,`top-right`,`bottom-left`,`bottom-right`]),Da=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`||!Ea.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 Ta(`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 Ta(`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([ga(t,c,r),ga(n,l,r)])}return new e(s)}},Oa=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}},ka=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)}},Aa=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 ja(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 Ma(e){if(e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`||e instanceof ka||e instanceof G||e instanceof Aa||e instanceof xa||e instanceof Sa||e instanceof Ca||e instanceof wa||e instanceof Da||e instanceof Oa)return!0;if(Array.isArray(e)){for(let t of e)if(!Ma(t))return!1;return!0}if(typeof e==`object`){for(let t in e)if(!Ma(e[t]))return!1;return!0}return!1}function Na(e){if(e===null)return Ti;if(typeof e==`string`)return U;if(typeof e==`boolean`)return Ei;if(typeof e==`number`)return H;if(e instanceof G)return Di;if(e instanceof ka)return Oi;if(e instanceof Aa)return ji;if(e instanceof xa)return Mi;if(e instanceof Sa)return Ni;if(e instanceof Ca)return Fi;if(e instanceof wa)return Pi;if(e instanceof Da)return Li;if(e instanceof Oa)return Ii;if(Array.isArray(e)){let t=e.length,n;for(let t of e){let e=Na(t);if(!n)n=e;else if(n===e)continue;else{n=W;break}}return Ri(n||W,t)}return ki}function Pa(e){let t=typeof e;return e===null?``:t===`string`||t===`number`||t===`boolean`?String(e):e instanceof G||e instanceof ka||e instanceof xa||e instanceof Sa||e instanceof Ca||e instanceof wa||e instanceof Da||e instanceof Oa?e.toString():JSON.stringify(e)}var Fa=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(!Ma(t[1]))return n.error(`invalid value of type "${typeof t[1]}"`);let r=t[1],i=Na(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}},Ia=[`Unknown`,`Point`,`LineString`,`Polygon`],La=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`?Ia[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=G.parse(e),this._parseColorCache.set(e,t)),t}};function Ra(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 Ta(`Input is not a number.`,n);return 0}var za=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,H);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[Ra(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 Ba(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 Va=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=Ha(t,e.base,n,r);else if(e.name===`linear`)i=Ha(t,1,n,r);else if(e.name===`cubic-bezier`){let a=e.controlPoints;i=Ba(a[0],a[1],a[2],a[3])(Ha(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,H),!a)return null;let s=[],c=null;(r===`interpolate-hcl`||r===`interpolate-lab`)&&n.expectedType!=Pi?c=Di: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!Wi(c,H)&&!Wi(c,Oi)&&!Wi(c,Di)&&!Wi(c,Ni)&&!Wi(c,Fi)&&!Wi(c,Pi)&&!Wi(c,Li)&&!Wi(c,Ri(H))?n.error(`Type ${zi(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=Ra(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 ga(u,d,l);case`color`:return G.interpolate(u,d,l);case`padding`:return Sa.interpolate(u,d,l);case`colorArray`:return wa.interpolate(u,d,l);case`numberArray`:return Ca.interpolate(u,d,l);case`variableAnchorOffsetCollection`:return Da.interpolate(u,d,l,this.key);case`array`:return _a(u,d,l);case`projectionDefinition`:return ka.interpolate(u,d,l)}case`interpolate-hcl`:switch(this.type.kind){case`color`:return G.interpolate(u,d,l,`hcl`);case`colorArray`:return wa.interpolate(u,d,l,`hcl`)}case`interpolate-lab`:switch(this.type.kind){case`color`:return G.interpolate(u,d,l,`lab`);case`colorArray`:return wa.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 Ha(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 Ua={color:G.interpolate,number:ga,padding:Sa.interpolate,numberArray:Ca.interpolate,colorArray:wa.interpolate,variableAnchorOffsetCollection:Da.interpolate,array:_a},Wa=class e{constructor(e){this.type=Mi,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,H),!e))return null;let t=null;if(r[`text-font`]&&(t=n.parse(r[`text-font`],1,Ri(U)),!t))return null;let o=null;if(r[`text-color`]&&(o=n.parse(r[`text-color`],1,Di),!o))return null;let s=null;if(r[`vertical-align`]){if(typeof r[`vertical-align`]==`string`&&!ya.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,U),!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,W);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 xa(this.sections.map(t=>{let n=t.content.evaluate(e);return Na(n)===Ii?new ba(``,n,null,null,null,t.verticalAlign?t.verticalAlign.evaluate(e):null):new ba(Pa(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 Ga(e,t,n=0,r=e.length-1,i=qa){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);Ga(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(Ka(e,n,t),i(e[r],a)>0&&Ka(e,n,r);o<s;){for(Ka(e,o,s),o++,s--;i(e[o],a)<0;)o++;for(;i(e[s],a)>0;)s--}i(e[n],a)===0?Ka(e,n,s):(s++,Ka(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}}function Ka(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function qa(e,t){return e<t?-1:+(e>t)}function Ja(e,t){if(e.length<=1)return[e];let n=[],r,i;for(let t of e){let e=Xa(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||(Ga(n[e],t,1,n[e].length-1,Ya),n[e]=n[e].slice(0,t));return n}function Ya(e,t){return t.area-e.area}function Xa(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 Za={string:U,number:H,boolean:Ei,object:ki},Qa=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 Za)||i===`object`)return n.error(`The item type argument of "array" must be one of string, number, boolean`,1);e=Za[i],r++}else e=W;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=Ri(e,a)}else{if(!Za[a])throw Error(`Types doesn't contain name = ${a}`);i=Za[a]}let o=[];for(;r<t.length;r++){let e=n.parse(t[r],r,W);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(!Vi(this.type,Na(n)))return n;if(t===this.args.length-1)throw new Ta(`Expected value to be of type ${zi(this.type)}, but found ${zi(Na(n))} instead.`,this.key)}throw Error()}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}},$a={"to-boolean":Ei,"to-color":Di,"to-number":H,"to-string":U},eo=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(!$a[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=$a[r],a=[];for(let e=1;e<t.length;e++){let r=n.parse(t[e],e,W);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 G)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.`:ja(t[0],t[1],t[2],t[3]),!n))return new G(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new Ta(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=Sa.parse(t);if(r)return r}throw new Ta(`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=Ca.parse(t);if(r)return r}throw new Ta(`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=wa.parse(t);if(r)return r}throw new Ta(`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=Da.parse(t);if(r)return r}throw new Ta(`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 Ta(`Could not convert ${JSON.stringify(t)} to number.`,this.key)}case`formatted`:return xa.fromString(Pa(this.args[0].evaluate(e)));case`resolvedImage`:return Oa.fromString(Pa(this.args[0].evaluate(e)));case`projectionDefinition`:{let t=this.args[0].evaluate(e);if(ka.parse(t))return t;throw new Ta(`Could not parse projectionDefinition from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}default:return Pa(this.args[0].evaluate(e))}}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}},to=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()}},no=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}},ro=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,H),i=n.parse(t[2],2,Ri(n.expectedType||W));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 Ta(`Array index out of bounds: ${t} < 0.`,this.key);if(t>=n.length)throw new Ta(`Array index out of bounds: ${t} > ${n.length-1}.`,this.key);if(t!==Math.floor(t))throw new Ta(`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}},io=class e{constructor(e,t,n){this.needle=e,this.haystack=t,this.key=n,this.type=Ei}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,W),i=n.parse(t[2],2,W);return!r||!i?null:Hi(r.type,[Ei,U,H,Ti,W])?new e(r,i,n.key):n.error(`Expected first argument to be of type boolean, string, number or null, but found ${zi(r.type)} instead`)}evaluate(e){let t=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!n)return!1;if(!Ui(t,[`boolean`,`string`,`number`,`null`]))throw new Ta(`Expected first argument to be of type boolean, string, number or null, but found ${zi(Na(t))} instead.`,this.key);if(!Ui(n,[`string`,`array`]))throw new Ta(`Expected second argument to be of type array or string, but found ${zi(Na(n))} instead.`,this.key);return n.indexOf(t)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}},ao=class e{constructor(e,t,n,r){this.needle=e,this.haystack=t,this.key=n,this.fromIndex=r,this.type=H}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,W),i=n.parse(t[2],2,W);if(!r||!i)return null;if(!Hi(r.type,[Ei,U,H,Ti,W]))return n.error(`Expected first argument to be of type boolean, string, number or null, but found ${zi(r.type)} instead`);if(t.length===4){let a=n.parse(t[3],3,H);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(!Ui(t,[`boolean`,`string`,`number`,`null`]))throw new Ta(`Expected first argument to be of type boolean, string, number or null, but found ${zi(Na(t))} instead.`,this.key);let r;if(this.fromIndex&&(r=this.fromIndex.evaluate(e)),Ui(n,[`string`])){let e=n.indexOf(t,r);return e===-1?-1:[...n.slice(0,e)].length}if(Ui(n,[`array`]))return n.indexOf(t,r);throw new Ta(`Expected second argument to be of type array or string, but found ${zi(Na(n))} instead.`,this.key)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}},oo=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=Na(e);else if(l.checkSubtype(r,Na(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,W);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(Na(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()}},so=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,Ei);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()}},co=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,W),i=n.parse(t[2],2,H);if(!r||!i)return null;if(!Hi(r.type,[Ri(W),U,W]))return n.error(`Expected first argument to be of type array or string, but found ${zi(r.type)} instead`);if(t.length===4){let a=n.parse(t[3],3,H);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)),Ui(t,[`string`]))return[...t].slice(n,r).join(``);if(Ui(t,[`array`]))return t.slice(n,r);throw new Ta(`Expected first argument to be of type array or string, but found ${zi(Na(t))} instead.`,this.key)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}},lo=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=>Vi(i,e.type))?new e(W,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 Oa&&!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 uo(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 fo(e,t,n){return t===n}function po(e,t,n){return t!==n}function mo(e,t,n){return t<n}function ho(e,t,n){return t>n}function go(e,t,n){return t<=n}function _o(e,t,n){return t>=n}function vo(e,t,n,r){return r.compare(t,n)===0}function yo(e,t,n,r){return!vo(e,t,n,r)}function bo(e,t,n,r){return r.compare(t,n)<0}function xo(e,t,n,r){return r.compare(t,n)>0}function So(e,t,n,r){return r.compare(t,n)<=0}function Co(e,t,n,r){return r.compare(t,n)>=0}function wo(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=Ei,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,W);if(!a)return null;if(!uo(n,a.type))return t.concat(1).error(`"${n}" comparisons are not supported for type '${zi(a.type)}'.`);let o=t.parse(e[2],2,W);if(!o)return null;if(!uo(n,o.type))return t.concat(2).error(`"${n}" comparisons are not supported for type '${zi(o.type)}'.`);if(a.type.kind!==o.type.kind&&a.type.kind!==`value`&&o.type.kind!==`value`)return t.error(`Cannot compare types '${zi(a.type)}' and '${zi(o.type)}'.`);r&&(a.type.kind===`value`&&o.type.kind!==`value`?a=new Qa(o.type,[a],t.key):a.type.kind!==`value`&&o.type.kind===`value`&&(o=new Qa(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,ji),!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=Na(a),n=Na(o);if(t.kind!==n.kind||t.kind!==`string`&&t.kind!==`number`)throw new Ta(`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=Na(a),n=Na(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 To=wo(`==`,fo,vo),Eo=wo(`!=`,po,yo),Do=wo(`<`,mo,bo),Oo=wo(`>`,ho,xo),ko=wo(`<=`,go,So),Ao=wo(`>=`,_o,Co),jo=class e{constructor(e,t,n){this.type=ji,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,Ei);if(!i)return null;let a=n.parse(r[`diacritic-sensitive`]!==void 0&&r[`diacritic-sensitive`],1,Ei);if(!a)return null;let o=null;return r.locale&&(o=n.parse(r.locale,1,U),!o)?null:new e(i,a,o)}evaluate(e){return new Aa(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}},Mo=class e{constructor(e,t,n,r,i,a){this.type=U,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,H);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,U),!a))return null;let o=null;if(i.currency&&(o=n.parse(i.currency,1,U),!o))return null;let s=null;if(i.unit&&(s=n.parse(i.unit,1,U),!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,H),!c))return null;let l=null;return i[`max-fraction-digits`]&&(l=n.parse(i[`max-fraction-digits`],1,H),!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}},No=class e{constructor(e){this.type=Ii,this.input=e}static parse(t,n){if(t.length!==2)return n.error(`Expected two arguments.`);let r=n.parse(t[1],1,U);return r?new e(r):n.error(`No image name provided.`)}evaluate(e){let t=this.input.evaluate(e),n=Oa.fromString(t);return n&&e.availableImages&&(n.available=e.availableImages.indexOf(t)>-1),n}eachChild(e){e(this.input)}outputDefined(){return!1}},Po=class e{constructor(e,t){this.input=e,this.key=t,this.type=H}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 ${zi(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 Ta(`Expected value to be of type string or array, but found ${zi(Na(t))} instead.`,this.key)}eachChild(e){e(this.input)}outputDefined(){return!1}},Fo=8192;function Io(e,t){let n=Ro(e[0]),r=Bo(e[1]),i=2**t.z;return[Math.round(n*i*Fo),Math.round(r*i*Fo)]}function Lo(e,t){let n=2**t.z,r=(e[0]/Fo+t.x)/n,i=(e[1]/Fo+t.y)/n;return[zo(r),Vo(i)]}function Ro(e){return(180+e)/360}function zo(e){return e*360-180}function Bo(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function Vo(e){return 360/Math.PI*Math.atan(Math.exp((180-e*360)*Math.PI/180))-90}function Ho(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 Uo(e,t){return!(e[0]<=t[0]||e[2]>=t[2]||e[1]<=t[1]||e[3]>=t[3])}function Wo(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 Go(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 Ko(e,t,n,r){let i=[t[0]-e[0],t[1]-e[1]];return Qo([r[0]-n[0],r[1]-n[1]],i)!==0&&!!($o(e,t,n,r)&&$o(n,r,e,t))}function qo(e,t,n){for(let r of n)for(let n=0;n<r.length-1;++n)if(Ko(e,t,r[n],r[n+1]))return!0;return!1}function Jo(e,t,n=!1){let r=!1;for(let i of t)for(let t=0;t<i.length-1;t++){if(Go(e,i[t],i[t+1]))return n;Wo(e,i[t],i[t+1])&&(r=!r)}return r}function Yo(e,t){for(let n of t)if(Jo(e,n))return!0;return!1}function Xo(e,t){for(let n of e)if(!Jo(n,t))return!1;for(let n=0;n<e.length-1;++n)if(qo(e[n],e[n+1],t))return!1;return!0}function Zo(e,t){for(let n of t)if(Xo(e,n))return!0;return!1}function Qo(e,t){return e[0]*t[1]-e[1]*t[0]}function $o(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 es(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=Io(e[i][r],n);Ho(t,o),a.push(o)}r.push(a)}return r}function ts(e,t,n){let r=[];for(let i=0;i<e.length;i++){let a=es(e[i],t,n);r.push(a)}return r}function ns(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}Ho(t,e)}function rs(e){e[0]=e[1]=1/0,e[2]=e[3]=-1/0}function is(e,t,n,r){let i=2**r.z*Fo,a=[r.x*Fo,r.y*Fo],o=[];for(let r of e)for(let e of r){let r=[e.x+a[0],e.y+a[1]];ns(r,t,n,i),o.push(r)}return o}function as(e,t,n,r){let i=2**r.z*Fo,a=[r.x*Fo,r.y*Fo],o=[];for(let n of e){let e=[];for(let r of n){let n=[r.x+a[0],r.y+a[1]];Ho(t,n),e.push(n)}o.push(e)}if(t[2]-t[0]<=i/2){rs(t);for(let e of o)for(let r of e)ns(r,t,n,i)}return o}function os(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=es(t.coordinates,r,i),o=is(e.geometry(),n,r,i);if(!Uo(n,r))return!1;for(let e of o)if(!Jo(e,a))return!1}if(t.type===`MultiPolygon`){let a=ts(t.coordinates,r,i),o=is(e.geometry(),n,r,i);if(!Uo(n,r))return!1;for(let e of o)if(!Yo(e,a))return!1}return!0}function ss(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=es(t.coordinates,r,i),o=as(e.geometry(),n,r,i);if(!Uo(n,r))return!1;for(let e of o)if(!Xo(e,a))return!1}if(t.type===`MultiPolygon`){let a=ts(t.coordinates,r,i),o=as(e.geometry(),n,r,i);if(!Uo(n,r))return!1;for(let e of o)if(!Zo(e,a))return!1}return!0}var cs=class e{constructor(e,t){this.type=Ei,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(Ma(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 os(e,this.geometries);if(e.geometryType()===`LineString`)return ss(e,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}},ls=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}},us=Math.PI/180,ds=class{constructor(e){let t=us*6378.137*1e3,n=Math.cos(e*us),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 fs(e,t){return t[0]-e[0]}function ps(e){return e[1]-e[0]+1}function ms(e,t){return e[1]>=e[0]&&e[1]<t}function hs(e,t){if(e[0]>e[1])return[null,null];let n=ps(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 gs(e,t){if(!ms(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)Ho(n,e[r]);return n}function _s(e){let t=[1/0,1/0,-1/0,-1/0];for(let n of e)for(let e of n)Ho(t,e);return t}function vs(e){return e[0]!==-1/0&&e[1]!==-1/0&&e[2]!==1/0&&e[3]!==1/0}function ys(e,t,n){if(!vs(e)||!vs(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 bs(e,t,n){let r=n.pointOnLine(t,e);return n.distance(e,r.point)}function xs(e,t,n,r,i){let a=Math.min(bs(e,[n,r],i),bs(t,[n,r],i)),o=Math.min(bs(n,[e,t],i),bs(r,[e,t],i));return Math.min(a,o)}function Ss(e,t,n,r,i){if(!(ms(t,e.length)&&ms(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(Ko(t,s,r,o))return 0;a=Math.min(a,xs(t,s,r,o,i))}}return a}function Cs(e,t,n,r,i){if(!(ms(t,e.length)&&ms(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 ws(e,t,n){if(Jo(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,bs(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 Ts(e,t,n,r){if(!ms(t,e.length))return NaN;for(let r=t[0];r<=t[1];++r)if(Jo(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(Ko(t,o,a,c))return 0;i=Math.min(i,xs(t,o,a,c,r))}}return i}function Es(e,t){for(let n of e)for(let e of n)if(Jo(e,t,!0))return!0;return!1}function Ds(e,t,n,r=1/0){let i=_s(e),a=_s(t);if(r!==1/0&&ys(i,a,n)>=r)return r;if(Uo(i,a)){if(Es(e,t))return 0}else if(Es(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(Ko(i,s,r,c))return 0;o=Math.min(o,xs(i,s,r,c,n))}}return o}function Os(e,t,n,r,i,a){if(!a)return;let o=ys(gs(r,a),i,n);o<t&&e.push([o,a,[0,0]])}function ks(e,t,n,r,i,a,o){if(!a||!o)return;let s=ys(gs(r,a),gs(i,o),n);s<t&&e.push([s,a,o])}function As(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 ls([[0,[0,e.length-1],[0,0]]],fs),s=_s(n);for(;o.length>0;){let i=o.pop();if(i[0]>=a)continue;let c=i[1],l=t?50:100;if(ps(c)<=l){if(!ms(c,e.length))return NaN;if(t){let t=Ts(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=ws(e[t],n,r);if(a=Math.min(a,i),a===0)return 0}}else{let n=hs(c,t);Os(o,a,r,e,s,n[0]),Os(o,a,r,e,s,n[1])}}return a}function js(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 ls([[0,[0,e.length-1],[0,n.length-1]]],fs);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(ps(c)<=u&&ps(l)<=d){if(!ms(c,e.length)&&ms(l,n.length))return NaN;let a;if(t&&r)a=Ss(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=bs(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=bs(e[n],t,i),o=Math.min(o,a),o===0)return o}else a=Cs(e,c,n,l,i),o=Math.min(o,a)}else{let a=hs(c,t),u=hs(l,r);ks(s,o,i,e,n,a[0],u[0]),ks(s,o,i,e,n,a[0],u[1]),ks(s,o,i,e,n,a[1],u[0]),ks(s,o,i,e,n,a[1],u[1])}}return o}function Ms(e,t){let n=e.geometry(),r=n.flat().map(t=>Lo([t.x,t.y],e.canonical));if(n.length===0)return NaN;let i=new ds(r[0][1]),a=1/0;for(let e of t){switch(e.type){case`Point`:a=Math.min(a,js(r,!1,[e.coordinates],!1,i,a));break;case`LineString`:a=Math.min(a,js(r,!1,e.coordinates,!0,i,a));break;case`Polygon`:a=Math.min(a,As(r,!1,e.coordinates,i,a))}if(a===0)return a}return a}function Ns(e,t){let n=e.geometry(),r=n.flat().map(t=>Lo([t.x,t.y],e.canonical));if(n.length===0)return NaN;let i=new ds(r[0][1]),a=1/0;for(let e of t){switch(e.type){case`Point`:a=Math.min(a,js(r,!0,[e.coordinates],!1,i,a));break;case`LineString`:a=Math.min(a,js(r,!0,e.coordinates,!0,i,a));break;case`Polygon`:a=Math.min(a,As(r,!0,e.coordinates,i,a))}if(a===0)return a}return a}function Ps(e,t){let n=e.geometry();if(n.length===0||n[0].length===0)return NaN;let r=Ja(n,0).map(t=>t.map(t=>t.map(t=>Lo([t.x,t.y],e.canonical)))),i=new ds(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,As([e.coordinates],!1,t,i,a));break;case`LineString`:a=Math.min(a,As(e.coordinates,!0,t,i,a));break;case`Polygon`:a=Math.min(a,Ds(t,e.coordinates,i,a))}if(a===0)return a}return a}function Fs(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 Is=class e{constructor(e,t){this.type=H,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(Ma(t[1])){let n=t[1];if(n.type===`FeatureCollection`)return new e(n,n.features.map(e=>Fs(e.geometry)).flat());if(n.type===`Feature`)return new e(n,Fs(n.geometry));if(`type`in n&&`coordinates`in n)return new e(n,Fs(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 Ms(e,this.geometries);if(e.geometryType()===`LineString`)return Ns(e,this.geometries);if(e.geometryType()===`Polygon`)return Ps(e,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}},Ls=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=W;break}this.type=Ri(t??W,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(!Ma(t[1]))return n.error(`invalid value of type "${typeof t[1]}"`);let r=t[1],i=Na(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,W);if(!n)return null;a.push(n)}return new e(a)}return new Fa(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())}},Rs=class e{constructor(e){this.key=e,this.type=W}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:la(t,this.key)??null}eachChild(){}outputDefined(){return!1}},zs={"==":To,"!=":Eo,">":Oo,"<":Do,">=":Ao,"<=":ko,array:Qa,at:ro,boolean:Qa,case:so,coalesce:lo,collator:jo,format:Wa,image:No,in:io,"index-of":ao,interpolate:Va,"interpolate-hcl":Va,"interpolate-lab":Va,length:Po,let:to,literal:Fa,match:oo,number:Qa,"number-format":Mo,object:Qa,semiliteral:Ls,slice:co,step:za,string:Qa,"to-boolean":eo,"to-color":eo,"to-number":eo,"to-string":eo,var:no,within:cs,distance:Is,"global-state":Rs},Bs=class extends Error{constructor(e,t){super(t),this.message=t,this.key=e}},Vs=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}},Hs=class e{constructor(e,t,n=[],r,i=new Vs,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 Qa(t,[e],n):r===`coerce`?new eo(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 Fa)&&n.type.kind!==`resolvedImage`&&this._isConstant(n)){let e=new La;try{n=new Fa(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 Bs(n,e))}checkSubtype(e,t){let n=Vi(e,t);return n&&this.error(n),n}},Us=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 Hs(n.registry,Xs,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])=>Ys(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(zi(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 Ws(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=ja(t,n,r,o);if(s)throw new Ta(s,a);return new G(t/255,n/255,r/255,o,!1)}function Gs(e,t){return e in t&&t[e]!==void 0}function Ks(e,t){let n=t[e];return n===void 0?null:n}function qs(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 Js(e){return{type:e}}Us.register(zs,{error:[Ai,[U],(e,[t],n)=>{throw new Ta(t.evaluate(e),n)}],typeof:[U,[W],(e,[t])=>zi(Na(t.evaluate(e)))],"to-rgba":[Ri(H,4),[Di],(e,[t])=>{let[n,r,i,a]=t.evaluate(e).rgb;return[n*255,r*255,i*255,a]}],rgb:[Di,[H,H,H],Ws],rgba:[Di,[H,H,H,H],Ws],has:{type:Ei,overloads:[[[U],(e,[t])=>Gs(t.evaluate(e),e.properties())],[[U,ki],(e,[t,n])=>Gs(t.evaluate(e),n.evaluate(e))]]},get:{type:W,overloads:[[[U],(e,[t])=>Ks(t.evaluate(e),e.properties())],[[U,ki],(e,[t,n])=>Ks(t.evaluate(e),n.evaluate(e))]]},"feature-state":[W,[U],(e,[t])=>Ks(t.evaluate(e),e.featureState||{})],properties:[ki,[],e=>e.properties()],"geometry-type":[U,[],e=>e.geometryType()],id:[W,[],e=>e.id()],zoom:[H,[],e=>e.globals.zoom],"heatmap-density":[H,[],e=>e.globals.heatmapDensity||0],elevation:[H,[],e=>e.globals.elevation||0],"line-progress":[H,[],e=>e.globals.lineProgress||0],accumulated:[W,[],e=>e.globals.accumulated===void 0?null:e.globals.accumulated],"+":[H,Js(H),(e,t)=>{let n=0;for(let r of t)n+=r.evaluate(e);return n}],"*":[H,Js(H),(e,t)=>{let n=1;for(let r of t)n*=r.evaluate(e);return n}],"-":{type:H,overloads:[[[H,H],(e,[t,n])=>t.evaluate(e)-n.evaluate(e)],[[H],(e,[t])=>-t.evaluate(e)]]},"/":[H,[H,H],(e,[t,n])=>t.evaluate(e)/n.evaluate(e)],"%":[H,[H,H],(e,[t,n])=>t.evaluate(e)%n.evaluate(e)],ln2:[H,[],()=>Math.LN2],pi:[H,[],()=>Math.PI],e:[H,[],()=>Math.E],"^":[H,[H,H],(e,[t,n])=>t.evaluate(e)**+n.evaluate(e)],sqrt:[H,[H],(e,[t])=>Math.sqrt(t.evaluate(e))],log10:[H,[H],(e,[t])=>Math.log(t.evaluate(e))/Math.LN10],ln:[H,[H],(e,[t])=>Math.log(t.evaluate(e))],log2:[H,[H],(e,[t])=>Math.log(t.evaluate(e))/Math.LN2],sin:[H,[H],(e,[t])=>Math.sin(t.evaluate(e))],cos:[H,[H],(e,[t])=>Math.cos(t.evaluate(e))],tan:[H,[H],(e,[t])=>Math.tan(t.evaluate(e))],asin:[H,[H],(e,[t])=>Math.asin(t.evaluate(e))],acos:[H,[H],(e,[t])=>Math.acos(t.evaluate(e))],atan:[H,[H],(e,[t])=>Math.atan(t.evaluate(e))],min:[H,Js(H),(e,t)=>Math.min(...t.map(t=>t.evaluate(e)))],max:[H,Js(H),(e,t)=>Math.max(...t.map(t=>t.evaluate(e)))],abs:[H,[H],(e,[t])=>Math.abs(t.evaluate(e))],round:[H,[H],(e,[t])=>{let n=t.evaluate(e);return n<0?-Math.round(-n):Math.round(n)}],floor:[H,[H],(e,[t])=>Math.floor(t.evaluate(e))],ceil:[H,[H],(e,[t])=>Math.ceil(t.evaluate(e))],"filter-==":[Ei,[U,W],(e,[t,n])=>e.properties()[t.value]===n.value],"filter-id-==":[Ei,[W],(e,[t])=>e.id()===t.value],"filter-type-==":[Ei,[U],(e,[t])=>e.geometryType()===t.value],"filter-<":[Ei,[U,W],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r<i}],"filter-id-<":[Ei,[W],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n<r}],"filter->":[Ei,[U,W],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r>i}],"filter-id->":[Ei,[W],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n>r}],"filter-<=":[Ei,[U,W],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r<=i}],"filter-id-<=":[Ei,[W],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n<=r}],"filter->=":[Ei,[U,W],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r>=i}],"filter-id->=":[Ei,[W],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n>=r}],"filter-has":[Ei,[W],(e,[t])=>{let n=t.value,r=e.properties();return n in r&&r[n]!==void 0}],"filter-has-id":[Ei,[],e=>e.id()!==null&&e.id()!==void 0],"filter-type-in":[Ei,[Ri(U)],(e,[t])=>t.value.indexOf(e.geometryType())>=0],"filter-id-in":[Ei,[Ri(W)],(e,[t])=>t.value.indexOf(e.id())>=0],"filter-in-small":[Ei,[U,Ri(W)],(e,[t,n])=>n.value.indexOf(e.properties()[t.value])>=0],"filter-in-large":[Ei,[U,Ri(W)],(e,[t,n])=>qs(e.properties()[t.value],n.value,0,n.value.length-1)],all:{type:Ei,overloads:[[[Ei,Ei],(e,[t,n])=>t.evaluate(e)&&n.evaluate(e)],[Js(Ei),(e,t)=>{for(let n of t)if(!n.evaluate(e))return!1;return!0}]]},any:{type:Ei,overloads:[[[Ei,Ei],(e,[t,n])=>t.evaluate(e)||n.evaluate(e)],[Js(Ei),(e,t)=>{for(let n of t)if(n.evaluate(e))return!0;return!1}]]},"!":[Ei,[Ei],(e,[t])=>!t.evaluate(e)],"is-supported-script":[Ei,[U],(e,[t])=>{let n=e.globals&&e.globals.isSupportedScript;return!n||n(t.evaluate(e))}],upcase:[U,[U],(e,[t])=>t.evaluate(e).toUpperCase()],downcase:[U,[U],(e,[t])=>t.evaluate(e).toLowerCase()],concat:[U,Js(W),(e,t)=>t.map(t=>Pa(t.evaluate(e))).join(``)],split:[Ri(U),[U,U],(e,[t,n])=>t.evaluate(e).split(n.evaluate(e))],join:[U,[Ri(U),U],(e,[t,n])=>t.evaluate(e).join(n.evaluate(e))],"resolved-locale":[U,[ji],(e,[t])=>t.evaluate(e).resolvedLocale()]});function Ys(e){return Array.isArray(e)?`(${e.map(zi).join(`, `)})`:`(${zi(e.type)}...)`}function Xs(e){if(e instanceof no)return Xs(e.boundExpression);if(e instanceof Us&&e.name===`error`||e instanceof jo||e instanceof cs||e instanceof Is||e instanceof Rs)return!1;let t=e instanceof eo||e instanceof Qa,n=!0;return e.eachChild(e=>{n&&=t?Xs(e):e instanceof Fa}),n?Zs(e)&&$s(e,[`zoom`,`heatmap-density`,`elevation`,`line-progress`,`accumulated`,`is-supported-script`]):!1}function Zs(e){if(e instanceof Us&&(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 cs||e instanceof Is)return!1;let t=!0;return e.eachChild(e=>{t&&!Zs(e)&&(t=!1)}),t}function Qs(e){if(e instanceof Us&&e.name===`feature-state`)return!1;let t=!0;return e.eachChild(e=>{t&&!Qs(e)&&(t=!1)}),t}function $s(e,t){if(e instanceof Us&&t.indexOf(e.name)>=0)return!1;let n=!0;return e.eachChild(e=>{n&&!$s(e,t)&&(n=!1)}),n}function ec(e){return e[`property-type`]===`data-driven`||e[`property-type`]===`cross-faded-data-driven`}function tc(e){return!!e.expression&&e.expression.parameters.indexOf(`zoom`)>-1}function nc(e){return!!e.expression&&e.expression.interpolated}var rc=/^(.*)-transition$/;function ic(e,...t){for(let n of t)for(let t in n)e[t]=n[t];return e}function ac(e){return e instanceof Number?`number`:e instanceof String?`string`:e instanceof Boolean?`boolean`:Array.isArray(e)?`array`:e===null?`null`:typeof e}function oc(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Na(e)===ki}function sc(e){return e}function cc(e){switch(e.type){case`color`:return G.parse;case`padding`:return Sa.parse;case`numberArray`:return Ca.parse;case`colorArray`:return wa.parse;default:return null}}function lc(e){switch(e){case`exponential`:return mc;case`interval`:return pc;case`categorical`:return fc;case`identity`:return hc;default:throw Error(`Unknown function type "${e}"`)}}function uc(e,t){let n=e.stops&&typeof e.stops[0][0]==`object`,r=n||e.property!==void 0,i=n||!r,a=e.type||(nc(t)?`exponential`:`interval`),o=cc(t);if(o&&(e=ic({},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&&!va(e.colorSpace))throw Error(`Unknown color space: "${e.colorSpace}"`);let s=lc(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,uc(n[e],t)]);let a={name:`linear`};return{kind:`composite`,interpolationType:a,interpolationFactor:Va.interpolationFactor.bind(void 0,a),zoomStops:i.map(e=>e[0]),evaluate({zoom:n},r){return mc({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:Va.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?dc(e.default,t.default):s(e,t,i,c,l)}}}function dc(e,t,n){if(e!==void 0)return e;if(t!==void 0)return t;if(n!==void 0)return n}function fc(e,t,n,r,i){return dc(typeof n===i?r[n]:void 0,e.default,t.default)}function pc(e,t,n){if(ac(n)!==`number`)return dc(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=Ra(e.stops.map(e=>e[0]),n,``);return e.stops[i][1]}function mc(e,t,n){let r=e.base===void 0?1:e.base;if(ac(n)!==`number`)return dc(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=Ra(e.stops.map(e=>e[0]),n,``),o=gc(n,r,e.stops[a][0],e.stops[a+1][0]),s=e.stops[a][1],c=e.stops[a+1][1],l=Ua[t.type]||sc;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 hc(e,t,n){switch(t.type){case`color`:n=G.parse(n);break;case`formatted`:n=xa.fromString(n.toString());break;case`resolvedImage`:n=Oa.fromString(n.toString());break;case`padding`:n=Sa.parse(n);break;case`colorArray`:n=wa.parse(n);break;case`numberArray`:n=Ca.parse(n);break;default:ac(n)!==t.type&&(t.type!==`enum`||!t.values[n])&&(n=void 0)}return dc(n,e.default,t.default)}function gc(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 _c(e){return{result:`success`,value:e}}function vc(e){return{result:`error`,value:e}}var yc=class{constructor(e,t,n,r){this.expression=e,this._warningHistory={},this._evaluator=new La,this._defaultValue=n?Nc(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=Pc(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=Pc(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 Ta(`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 Ta?e.path:``,n=`${t}|${e.message}`;return this._warningHistory[n]||(this._warningHistory[n]=!0,typeof console<`u`&&console.warn(bc(this._rootKey,t,e.message,this._defaultValue))),this._defaultValue}}};function bc(e,t,n,r){return`${e}${t}: ${n}${r==null?``:` Falling back to ${String(r)}.`}`}function xc(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 Sc(e){return Array.isArray(e)&&e.length>0&&typeof e[0]==`string`&&e[0]in zs}function Cc(e,t,n,r){xc(t);let i=new Hs(zs,Xs,[],n?Mc(n):void 0),a=i.parse(e,void 0,void 0,void 0,n&&n.type===`string`?{typeAnnotation:`coerce`}:void 0);return a?_c(new yc(a,t,n,r)):vc(i.errors)}var wc=class{constructor(e,t,n){this.kind=e,this._styleExpression=t,this.isStateDependent=e!==`constant`&&!Qs(t.expression),this.globalStateRefs=jc(t.expression),this._globalState=n}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._globalState&&(e=Pc(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,n,r,i,a)}evaluate(e,t,n,r,i,a){return this._globalState&&(e=Pc(e,this._globalState)),this._styleExpression.evaluate(e,t,n,r,i,a)}},Tc=class{constructor(e,t,n,r,i){this.kind=e,this.zoomStops=n,this._styleExpression=t,this.isStateDependent=e!==`camera`&&!Qs(t.expression),this.globalStateRefs=jc(t.expression),this.interpolationType=r,this._globalState=i}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._globalState&&(e=Pc(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,n,r,i,a)}evaluate(e,t,n,r,i,a){return this._globalState&&(e=Pc(e,this._globalState)),this._styleExpression.evaluate(e,t,n,r,i,a)}interpolationFactor(e,t,n){return this.interpolationType?Va.interpolationFactor(this.interpolationType,e,t,n):0}};function Ec(e){return e._styleExpression!==void 0}function Dc(e,t,n,r){let i=Cc(e,t,n,r);if(i.result===`error`)return i;let a=i.value.expression,o=Zs(a);if(!o&&!ec(n))return vc([new Bs(``,`data expressions not supported`)]);let s=$s(a,[`zoom`]);if(!s&&!tc(n))return vc([new Bs(``,`zoom expressions not supported`)]);let c=Ac(a);if(!c&&!s)return vc([new Bs(``,`"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.`)]);if(c instanceof Bs)return vc([c]);if(c instanceof Va&&!nc(n))return vc([new Bs(``,`"interpolate" expressions cannot be used with this property`)]);if(!c)return _c(o?new wc(`constant`,i.value,r):new wc(`source`,i.value,r));let l=c instanceof Va?c.interpolation:void 0;return _c(o?new Tc(`camera`,i.value,c.labels,l,r):new Tc(`composite`,i.value,c.labels,l,r))}var Oc=class e{constructor(e,t,n){this.isStateDependent=!1,this.globalStateRefs=new Set,this._globalState=null,xc(t),this._parameters=e,this._specification=n,this._rootKey=t,this._defaultValue=Nc(n),this._warningHistory={};let r=uc(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(bc(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 kc(e,t,n,r){if(oc(e))return new Oc(e,t,n);if(Sc(e)){let i=Dc(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=G.parse(e):n.type===`padding`&&(typeof e==`number`||Array.isArray(e))?t=Sa.parse(e):n.type===`numberArray`&&(typeof e==`number`||Array.isArray(e))?t=Ca.parse(e):n.type===`colorArray`&&(typeof e==`string`||Array.isArray(e))?t=wa.parse(e):n.type===`variableAnchorOffsetCollection`&&Array.isArray(e)?t=Da.parse(e):n.type===`projectionDefinition`&&typeof e==`string`&&(t=ka.parse(e)),{globalStateRefs:new Set,_globalState:null,kind:`constant`,evaluate:()=>t}}}function Ac(e){let t=null;if(e instanceof to)t=Ac(e.result);else if(e instanceof lo){for(let n of e.args)if(t=Ac(n),t)break}else(e instanceof za||e instanceof Va)&&e.input instanceof Us&&e.input.name===`zoom`&&(t=e);return t instanceof Bs||e.eachChild(e=>{let n=Ac(e);n instanceof Bs?t=n:!t&&n?t=new Bs(``,`"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.`):t&&n&&t!==n&&(t=new Bs(``,`Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.`))}),t}function jc(e,t=new Set){return e instanceof Rs&&t.add(e.key),e.eachChild(e=>{jc(e,t)}),t}function Mc(e){let t={color:Di,string:U,number:H,enum:U,boolean:Ei,formatted:Mi,padding:Ni,numberArray:Fi,colorArray:Pi,projectionDefinition:Oi,resolvedImage:Ii,variableAnchorOffsetCollection:Li};return e.type===`array`?Ri(t[e.value]||W,e.length):t[e.type]}function Nc(e){if(e.type===`color`&&oc(e.default))return new G(0,0,0,0);switch(e.type){case`color`:return G.parse(e.default)||null;case`padding`:return Sa.parse(e.default)||null;case`numberArray`:return Ca.parse(e.default)||null;case`colorArray`:return wa.parse(e.default)||null;case`variableAnchorOffsetCollection`:return Da.parse(e.default)||null;case`projectionDefinition`:return ka.parse(e.default)||null;default:return e.default===void 0?null:e.default}}function Pc(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 Fc(e){let t=!1;for(let n of e){let e=Ic(n);if(e===`expression`)return`expression`;e===`legacy`&&(t=!0)}return t?`legacy`:`neutral`}function Ic(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 Fc(e.slice(1));default:return`expression`}}function Lc(e){return Ic(e)!==`legacy`}function Rc(e){return e===`$type`?[`geometry-type`]:e===`$id`?[`id`]:[`get`,e]}function zc(e){switch(e[0]){case`==`:case`!=`:case`<`:case`<=`:case`>`:case`>=`:return e.length!==3||typeof e[1]!=`string`?null:[e[0],Rc(e[1]),e[2]];case`in`:case`!in`:{if(e.length<2||typeof e[1]!=`string`)return null;let t=[`in`,Rc(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 Bc(e){if((e[0]===`<`||e[0]===`<=`||e[0]===`>`||e[0]===`>=`)&&e[1]===`$type`)return`"$type" cannot be use with operator "${e[0]}"`;let t=zc(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 Vc(e,t,n){let r=n[e];return Array.isArray(r)?Lc(r)?Hc(r,t.concat(e)):{path:t.concat(e),legacyFilter:r}:null}function Hc(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=Vc(n,t,e);if(r)return r}break;case`!`:{let n=Vc(1,t,e);if(n)return n;break}case`case`:for(let n=1;n<e.length-1;n+=2){let r=Vc(n,t,e);if(r)return r}}return null}function Uc(e,t){let n=Hc(e);if(!n||typeof console>`u`)return;let r=n.path.map(e=>`[${e}]`).join(``);console.warn(`${t}${r}: ${Bc(n.legacyFilter)}`)}var Wc={type:`boolean`,default:!1,transition:!1,"property-type":`data-driven`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]}};function Gc(e,t,n){if(e==null)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};Lc(e)?Uc(e,t):e=Jc(e);let r=Cc(e,t,Wc,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:qc(e),getGlobalStateRefs:()=>jc(r.value.expression)}}function Kc(e,t){return e<t?-1:+(e>t)}function qc(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(qc(e[t]))return!0;return!1}function Jc(e){if(!e)return!0;let t=e[0];return e.length<=1?t!==`any`:t===`==`?Yc(e[1],e[2],`==`):t===`!=`?$c(Yc(e[1],e[2],`==`)):t===`<`||t===`>`||t===`<=`||t===`>=`?Yc(e[1],e[2],t):t===`any`?Xc(e.slice(1)):t===`all`?[`all`].concat(e.slice(1).map(Jc)):t===`none`?[`all`].concat(e.slice(1).map(Jc).map($c)):t===`in`?Zc(e[1],e.slice(2)):t===`!in`?$c(Zc(e[1],e.slice(2))):t===`has`?Qc(e[1]):t!==`!has`||$c(Qc(e[1]))}function Yc(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 Xc(e){return[`any`].concat(e.map(Jc))}function Zc(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(Kc)]]:[`filter-in-small`,e,[`literal`,t]]}}function Qc(e){switch(e){case`$type`:return!0;case`$id`:return[`filter-has-id`];default:return[`filter-has`,e]}}function $c(e){return[`!`,e]}function el(){let e={},t=B.$version;for(let n in B.$root){let r=B.$root[n];if(r.required){let i=null;i=n===`version`?t:r.type===`array`?[]:{},i!=null&&(e[n]=i)}}return e}function tl(e){let t=e.key,n=e.value;return n?[new V(t,n,`constants have been deprecated as of v8`)]:[]}function nl(e){return e instanceof Number||e instanceof String||e instanceof Boolean?e.valueOf():e}function rl(e){if(Array.isArray(e))return e.map(rl);if(e instanceof Object&&!(e instanceof Number||e instanceof String||e instanceof Boolean)){let t={};for(let n in e)t[n]=rl(e[n]);return t}return nl(e)}function il(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=ac(n);if(l!==`object`)return[new V(t,n,`object expected, ${l} found`)];for(let e in n){let l=e.split(`.`)[0],u=la(r,l)||r[`*`],d;if(la(i,l))d=i[l];else if(la(r,l)){if(n[e]===void 0)continue;d=s}else if(i[`*`])d=i[`*`];else if(r[`*`])d=s;else{c.push(new V(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 V(t,n,`missing required property "${e}"`));return c}function al(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(ac(t)!==`array`)return[new V(o,t,`array expected, ${ac(t)} found`)];if(n.length&&t.length!==n.length)return[new V(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),ac(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 ol(e){let t=e.key,n=e.value,r=e.valueSpec,i=ac(n);return i===`number`&&n!==n&&(i=`NaN`),i===`number`?`minimum`in r&&n<r.minimum?[new V(t,n,`${n} is less than the minimum value ${r.minimum}`)]:`maximum`in r&&n>r.maximum?[new V(t,n,`${n} is greater than the maximum value ${r.maximum}`)]:[]:[new V(t,n,`number expected, ${i} found`)]}function sl(e){let t=e.valueSpec,n=nl(e.value.type),r,i={},a,o,s=n!==`categorical`&&e.value.property===void 0,c=!s,l=ac(e.value.stops)===`array`&&ac(e.value.stops[0])===`array`&&ac(e.value.stops[0][0])===`object`,u=il({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 V(e.key,e.value,`missing required property "property"`)),n!==`identity`&&!e.value.stops&&u.push(new V(e.key,e.value,`missing required property "stops"`)),n===`exponential`&&e.valueSpec.expression&&!nc(e.valueSpec)&&u.push(new V(e.key,e.value,`exponential functions not supported`)),e.styleSpec.$version>=8&&(c&&!ec(e.valueSpec)?u.push(new V(e.key,e.value,`property functions not supported`)):s&&!tc(e.valueSpec)&&u.push(new V(e.key,e.value,`zoom functions not supported`))),(n===`categorical`||l)&&e.value.property===void 0&&u.push(new V(e.key,e.value,`"property" property is required`)),u;function d(e){if(n===`identity`)return[new V(e.key,e.value,`identity function may not have a "stops" property`)];let t=[],r=e.value;return t=t.concat(al({key:e.key,value:r,valueSpec:e.valueSpec,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,arrayElementValidator:f})),ac(r)===`array`&&r.length===0&&t.push(new V(e.key,r,`array must have at least one stop`)),t}function f(e){let n=[],r=e.value,s=e.key;if(ac(r)!==`array`)return[new V(s,r,`array expected, ${ac(r)} found`)];if(r.length!==2)return[new V(s,r,`array length 2 expected, length ${r.length} found`)];if(l){if(ac(r[0])!==`object`)return[new V(s,r,`object expected, ${ac(r[0])} found`)];if(r[0].zoom===void 0)return[new V(s,r,`object stop key must have zoom`)];if(r[0].value===void 0)return[new V(s,r,`object stop key must have value`)];if(o&&o>nl(r[0].zoom))return[new V(s,r[0].zoom,`stop zoom values must appear in ascending order`)];nl(r[0].zoom)!==o&&(o=nl(r[0].zoom),a=void 0,i={}),n=n.concat(il({key:`${s}[0]`,value:r[0],valueSpec:{zoom:{}},validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:ol,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 Sc(rl(r[1]))?n.concat([new V(`${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=ac(e.value),c=nl(e.value),l=e.value===null?o:e.value;if(!r)r=s;else if(s!==r)return[new V(e.key,l,`${s} stop domain type must match previous stop domain type ${r}`)];if(s!==`number`&&s!==`string`&&s!==`boolean`)return[new V(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 ec(t)&&n===void 0&&(r+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new V(e.key,l,r)]}return n===`categorical`&&s===`number`&&(!isFinite(c)||Math.floor(c)!==c)?[new V(e.key,l,`integer expected, found ${c}`)]:n!==`categorical`&&s===`number`&&a!==void 0&&c<a?[new V(e.key,l,`stop domain values must appear in ascending order`)]:(a=c,n===`categorical`&&c in i?[new V(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 cl(e){let t=(e.expressionContext===`property`?Dc:Cc)(rl(e.value),e.key,e.valueSpec);if(t.result===`error`)return t.value.map(t=>new V(`${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 V(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`&&!Qs(n))return[new V(e.key,e.value,`"feature-state" data expressions are not supported with layout properties.`)];if(e.expressionContext===`filter`&&!Qs(n))return[new V(e.key,e.value,`"feature-state" data expressions are not supported with filters.`)];if(e.expressionContext&&e.expressionContext.indexOf(`cluster`)===0){if(!$s(n,[`zoom`,`feature-state`]))return[new V(e.key,e.value,`"zoom" and "feature-state" expressions are not supported with cluster properties.`)];if(e.expressionContext===`cluster-initial`&&!Zs(n))return[new V(e.key,e.value,`Feature data expressions are not supported with initial expression part of cluster properties.`)]}return[]}function ll(e){let t=e.value,n=e.key,r=ac(t);return r===`boolean`?[]:[new V(n,t,`boolean expected, ${r} found`)]}function ul(e){let t=e.key,n=e.value,r=ac(n);return r===`string`?G.parse(String(n))?[]:[new V(t,n,`color expected, "${n}" found`)]:[new V(t,n,`color expected, ${r} found`)]}function dl(e){let t=e.key,n=e.value,r=e.valueSpec,i=[];return Array.isArray(r.values)?r.values.indexOf(nl(n))===-1&&i.push(new V(t,n,`expected one of [${r.values.join(`, `)}], ${JSON.stringify(n)} found`)):Object.keys(r.values).indexOf(nl(n))===-1&&i.push(new V(t,n,`expected one of [${Object.keys(r.values).join(`, `)}], ${JSON.stringify(n)} found`)),i}function fl(e,t){let n=e;for(let e of t)n=n[e];return n}function pl(e,t){let n=Hc(t);return n?[new V(`${e.key}${n.path.map(e=>`[${e}]`).join(``)}`,fl(e.value,n.path),Bc(n.legacyFilter),null,`warning`)]:[]}function ml(e){let t=rl(e.value);return Lc(t)?[...pl(e,t),...cl(ic({},e,{expressionContext:`filter`,valueSpec:{value:`boolean`}}))]:hl(e)}function hl(e){let t=e.value,n=e.key;if(ac(t)!==`array`)return[new V(n,t,`array expected, ${ac(t)} found`)];let r=e.styleSpec,i,a=[];if(t.length<1)return[new V(n,t,`filter array must have at least 1 element`)];switch(a=a.concat(dl({key:`${n}[0]`,value:t[0],valueSpec:r.filter_operator,style:e.style,styleSpec:e.styleSpec})),nl(t[0])){case`<`:case`<=`:case`>`:case`>=`:t.length>=2&&nl(t[1])===`$type`&&a.push(new V(n,t,`"$type" cannot be use with operator "${t[0]}"`));case`==`:case`!=`:t.length!==3&&a.push(new V(n,t,`filter array for operator "${t[0]}" must have 3 elements`));case`in`:case`!in`:t.length>=2&&(i=ac(t[1]),i!==`string`&&a.push(new V(`${n}[1]`,t[1],`string expected, ${i} found`)));for(let o=2;o<t.length;o++)i=ac(t[o]),nl(t[1])===`$type`?a=a.concat(dl({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 V(`${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(hl({key:`${n}[${r}]`,value:t[r],style:e.style,styleSpec:e.styleSpec}));break;case`has`:case`!has`:i=ac(t[1]),t.length===2?i!==`string`&&a.push(new V(`${n}[1]`,t[1],`string expected, ${i} found`)):a.push(new V(n,t,`filter array for "${t[0]}" operator must have 2 elements`))}return a}function gl(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(rc);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 V(n,o,`unknown property "${s}"`)];let d;if(ac(o)===`string`&&ec(u)&&!u.tokens&&(d=/^{([^}]+)}$/.exec(o)))return[new V(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`&&oc(rl(o))&&nl(o.type)===`identity`&&f.push(new V(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 _l(e){return gl(e,`paint`)}function vl(e){return gl(e,`layout`)}function yl(e){let t=[],n=e.value,r=e.key,i=e.style,a=e.styleSpec;if(ac(n)!==`object`)return[new V(r,n,`object expected, ${ac(n)} found`)];!n.type&&!n.ref&&t.push(new V(r,n,`either "type" or "ref" is required`));let o=nl(n.type),s=nl(n.ref);if(n.id){let a=nl(n.id);for(let o=0;o<e.arrayIndex;o++){let e=i.layers[o];nl(e.id)===a&&t.push(new V(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 V(r,n[e],`"${e}" is prohibited for ref layers`))});let e;i.layers.forEach(t=>{nl(t.id)===s&&(e=t)}),e?e.ref?t.push(new V(r,n.ref,`ref cannot reference another ref layer`)):o=nl(e.type):t.push(new V(r,n.ref,`ref layer "${s}" not found`))}else if(o!==`background`){if(!n.source)t.push(new V(r,n,`missing required property "source"`));else{let e=i.sources&&i.sources[n.source],a=e&&nl(e.type);e?a===`vector`&&o===`raster`?t.push(new V(r,n.source,`layer "${n.id}" requires a raster source`)):a!==`raster-dem`&&o===`hillshade`||a!==`raster-dem`&&o===`color-relief`?t.push(new V(r,n.source,`layer "${n.id}" requires a raster-dem source`)):a===`raster`&&o!==`raster`?t.push(new V(r,n.source,`layer "${n.id}" requires a vector source`)):a===`vector`&&!n[`source-layer`]?t.push(new V(r,n,`layer "${n.id}" must specify a "source-layer"`)):a===`raster-dem`&&o!==`hillshade`&&o!==`color-relief`?t.push(new V(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 V(r,n,`layer "${n.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):t.push(new V(r,n.source,`source "${n.source}" not found`))}}return o===`raster`&&n.paint?.resampling&&n.paint?.[`raster-resampling`]&&t.push(new V(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(il({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:ml,layout(e){return il({layer:n,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*"(e){return vl(ic({layerType:o},e))}}})},paint(e){return il({layer:n,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*"(e){return _l(ic({layerType:o},e))}}})}}})),t}function bl(e){let t=e.value,n=e.key,r=ac(t);return r===`string`?[]:[new V(n,t,`string expected, ${r} found`)]}function xl(e){let t=e.sourceName??``,n=e.value,r=e.styleSpec,i=r.source_raster_dem,a=e.style,o=[],s=ac(n);if(n===void 0)return o;if(s!==`object`)return o.push(new V(`source_raster_dem`,n,`object expected, ${s} found`)),o;let c=nl(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 V(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 V(s,n[s],`unknown property "${s}"`));return o}var Sl={promoteId:wl};function Cl(e){let t=e.value,n=e.key,r=e.styleSpec,i=e.style,a=e.validateSpec;if(!t.type)return[new V(n,t,`"type" is required`)];let o=nl(t.type),s;switch(o){case`vector`:case`raster`:return s=il({key:n,value:t,valueSpec:r[`source_${o.replace(`-`,`_`)}`],style:e.style,styleSpec:r,objectElementValidators:Sl,validateSpec:a}),s;case`raster-dem`:return s=xl({sourceName:n,value:t,style:e.style,styleSpec:r,validateSpec:a}),s;case`geojson`:if(s=il({key:n,value:t,valueSpec:r.source_geojson,style:i,styleSpec:r,validateSpec:a,objectElementValidators:Sl}),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(...cl({key:`${n}.${e}.map`,value:i,validateSpec:a,expressionContext:`cluster-map`})),s.push(...cl({key:`${n}.${e}.reduce`,value:o,validateSpec:a,expressionContext:`cluster-reduce`}))}return s;case`video`:return il({key:n,value:t,valueSpec:r.source_video,style:i,validateSpec:a,styleSpec:r});case`image`:return il({key:n,value:t,valueSpec:r.source_image,style:i,validateSpec:a,styleSpec:r});case`canvas`:return[new V(n,null,`Please use runtime APIs to add canvas sources, rather than including them in stylesheets.`,`source.canvas`)];default:return dl({key:`${n}.type`,value:t.type,valueSpec:{values:[`vector`,`raster`,`raster-dem`,`geojson`,`video`,`image`]},style:i,validateSpec:a,styleSpec:r})}}function wl({key:e,value:t}){if(ac(t)===`string`)return bl({key:e,value:t});{let n=[];for(let r in t)n.push(...bl({key:`${e}.${r}`,value:t[r]}));return n}}function Tl(e){let t=e.value,n=e.styleSpec,r=n.light,i=e.style,a=[],o=ac(t);if(t===void 0)return a;if(o!==`object`)return a=a.concat([new V(`light`,t,`object expected, ${o} found`)]),a;for(let o in t){let s=o.match(rc);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 V(o,t[o],`unknown property "${o}"`)])}return a}function El(e){let t=e.value,n=e.styleSpec,r=n.sky,i=e.style,a=ac(t);if(t===void 0)return[];if(a!==`object`)return[new V(`sky`,t,`object expected, ${a} found`)];let o=[];for(let a in t){let s=a.match(rc);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 V(a,t[a],`unknown property "${a}"`)])}return o}function Dl(e){let t=e.value,n=e.styleSpec,r=n.terrain,i=e.style,a=[],o=ac(t);if(t===void 0)return a;if(o!==`object`)return a=a.concat([new V(`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 V(o,t[o],`unknown property "${o}"`)]);return a}function Ol(e){return bl(e).length===0?[]:cl(e)}function kl(e){return bl(e).length===0?[]:cl(e)}function Al(e){let t=e.key,n=e.value;if(ac(n)===`array`){if(n.length<1||n.length>4)return[new V(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 ol({key:t,value:n,valueSpec:{}})}function jl(e){let t=e.key,n=e.value;if(ac(n)===`array`){let r={type:`number`};if(n.length<1)return[new V(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 ol({key:t,value:n,valueSpec:{}})}function Ml(e){let t=e.key,n=e.value;if(ac(n)===`array`){if(n.length<1)return[new V(t,n,`array length at least 1 expected, length 0 found`)];let e=[];for(let r=0;r<n.length;r++)e=e.concat(ul({key:`${t}[${r}]`,value:n[r],valueSpec:{}}));return e}return ul({key:t,value:n,valueSpec:{}})}function Nl(e){let t=e.key,n=e.value,r=ac(n),i=e.styleSpec;if(r!==`array`||n.length<1||n.length%2!=0)return[new V(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(dl({key:`${t}[${r}]`,value:n[r],valueSpec:i.layout_symbol[`text-anchor`]})),a=a.concat(al({key:`${t}[${r+1}]`,value:n[r+1],valueSpec:{length:2,value:`number`},validateSpec:e.validateSpec,style:e.style,styleSpec:i}));return a}function Pl(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 V(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 V(r,n,`all the sprites' URLs must be unique, but ${n[o].url} is duplicated`)),a.push(n[o].url),t=t.concat(il({key:`${r}[${o}]`,value:n[o],valueSpec:{id:{type:`string`,required:!0},url:{type:`string`,required:!0}},validateSpec:e.validateSpec}));return t}return bl({key:r,value:n})}function Fl(e){let t=e.value,n=e.styleSpec,r=n.projection,i=e.style,a=ac(t);if(t===void 0)return[];if(a!==`object`)return[new V(`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 V(a,t[a],`unknown property "${a}"`)]);return o}function Il(e){let t=e.key,n=e.value;n=n instanceof String?n.valueOf():n;let r=ac(n);return r===`array`&&!Rl(n)&&!Ll(n)?[new V(t,n,`projection expected, invalid array ${JSON.stringify(n)} found`)]:[`array`,`string`].includes(r)?[]:[new V(t,n,`projection expected, invalid type "${r}" found`)]}function Ll(e){return!![`interpolate`,`step`,`literal`].includes(e[0])}function Rl(e){return Array.isArray(e)&&e.length===3&&typeof e[0]==`string`&&typeof e[1]==`string`&&typeof e[2]==`number`}function zl(e){return!!e&&e.constructor===Object}function Bl(e){return zl(e.value)?[]:[new V(e.key,e.value,`object expected, ${ac(e.value)} found`)]}var Vl=1114111,Hl=/^u\+(?:([0-9a-f]{1,6})(?:-([0-9a-f]{1,6}))?|([0-9a-f]{0,5}\?{1,6}))$/i;function Ul(e,t){if(ac(t)!==`string`)return[];let n=`${t}`,r=()=>[new V(e,t,`invalid unicode range, expected a value such as "U+26", "U+0-10FFFF" or "U+4??"`)],i=n.match(Hl);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>Vl||l>Vl?[new V(e,t,`unicode range is out of bounds, the maximum code point is U+10FFFF`)]:c>l?[new V(e,t,`unicode range start must not be greater than its end, but ${n} is`)]:[]}function Wl(e){let t=e.key??`font-faces`,n=e.value,r=e.validateSpec,i=e.styleSpec??ci,a=e.style;if(!zl(n))return[new V(t,n,`object expected, ${ac(n)} found`)];let o=[];for(let e in n){let s=n[e],c=ac(s);if(c===`string`)o.push(...bl({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(...il({key:s,value:l,valueSpec:n,styleSpec:i,style:a,validateSpec:r}));let u=zl(l)?l[`unicode-range`]:void 0;if(ac(u)===`array`)for(let[e,t]of u.entries())o.push(...Ul(`${s}.unicode-range[${e}]`,t))}}else o.push(new V(`${t}.${e}`,s,`string or array expected, ${c} found`))}return o}var Gl={"*"(){return[]},array:al,boolean:ll,number:ol,color:ul,constants:tl,enum:dl,filter:ml,function:sl,layer:yl,object:il,source:Cl,light:Tl,sky:El,terrain:Dl,projection:Fl,projectionDefinition:Il,string:bl,formatted:Ol,resolvedImage:kl,padding:Al,numberArray:jl,colorArray:Ml,variableAnchorOffsetCollection:Nl,sprite:Pl,state:Bl,fontFaces:Wl};function Kl(e){let t=e.value,n=e.valueSpec,r=e.styleSpec;return e.validateSpec=Kl,n.expression&&oc(nl(t))?sl(e):n.expression&&Sc(rl(t))?cl(e):n.type&&Gl[n.type]?Gl[n.type](e):il(ic({},e,{valueSpec:n.type?r[n.type]:n}))}function ql(e){let t=e.value,n=e.key,r=bl(e);return r.length?r:(t.indexOf(`{fontstack}`)===-1&&r.push(new V(n,t,`"glyphs" url must include a "{fontstack}" token`)),t.indexOf(`{range}`)===-1&&r.push(new V(n,t,`"glyphs" url must include a "{range}" token`)),r)}function Jl(e,t=B){let n=[];return n=n.concat(Kl({key:``,value:e,valueSpec:t.$root,styleSpec:t,style:e,validateSpec:Kl,objectElementValidators:{glyphs:ql,"*"(){return[]}}})),e.constants&&(n=n.concat(tl({key:`constants`,value:e.constants,style:e,styleSpec:t,validateSpec:Kl}))),Xl(n)}Jl.source=Zl(Yl(Cl)),Jl.sprite=Zl(Yl(Pl)),Jl.glyphs=Zl(Yl(ql)),Jl.fontFaces=Zl(Yl(Wl)),Jl.light=Zl(Yl(Tl)),Jl.sky=Zl(Yl(El)),Jl.terrain=Zl(Yl(Dl)),Jl.state=Zl(Yl(Bl)),Jl.layer=Zl(Yl(yl)),Jl.filter=Zl(Yl(ml)),Jl.paintProperty=Zl(Yl(_l)),Jl.layoutProperty=Zl(Yl(vl));function Yl(e){return function(t){return e(Object.assign({},t,{validateSpec:Kl}))}}function Xl(e){return[].concat(e).sort((e,t)=>e.line-t.line)}function Zl(e){return function(...t){return Xl(e.apply(this,t))}}var Ql={type:`enum`,"property-type":`data-constant`,expression:{interpolated:!1,parameters:[`global-state`]},values:{visible:{},none:{}},transition:!1,default:`visible`},$l=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=Cc(e,this._rootKey,Ql,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=jc(t.value.expression)}getGlobalStateRefs(){return this._globalStateRefs}};function eu(e,t,n){return new $l(e,t,n)}var tu=Jl,nu=new Set(Object.keys(B).filter(e=>e.startsWith(`source_`)).map(e=>e.slice(7).replaceAll(`_`,`-`)));function ru(e){return Object.entries(e.sources??{}).filter(([,e])=>!nu.has(e.type)).map(([e])=>`sources.${e}`)}function iu(e,t){let n=ru(t);return au(e,tu(t).filter(({message:e})=>!n.some(t=>e.startsWith(`${t}:`)||e.startsWith(`${t}.`))))}function au(e,t){let n=!1;for(let r of t){if(r.severity===`warning`){Rn(r.message);continue}e.fire(new R(Error(r.message))),n=!0}return n}function ou(e,t,n,r){return r?.validate!==!1&&au(e,t({styleSpec:B,...n}))}var su=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)}},cu={};function K(e,t,n={}){if(cu[e])throw Error(`${e} is already registered.`);Object.defineProperty(t,"_classRegistryKey",{value:e,writeable:!1}),cu[e]={klass:t,omit:n.omit||[],shallow:n.shallow||[]}}K(`Object`,Object),K(`Set`,Set),K(`TransferableGridIndex`,su),K(`Color`,G),K(`Error`,Error),K(`AJAXError`,Pr),K(`ResolvedImage`,Oa),K(`StylePropertyFunction`,Oc),K(`StyleExpression`,yc,{omit:[`_evaluator`]}),K(`ZoomDependentExpression`,Tc),K(`ZoomConstantExpression`,wc),K(`CompoundExpression`,Us,{omit:[`_evaluate`]});for(let e in zs)zs[e]._classRegistryKey||K(`Expression_${e}`,zs[e]);function lu(e){return e&&typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||e.constructor?.name===`ArrayBuffer`)}function uu(e){let t=e.constructor;return e.$name||t._classRegistryKey}function du(e){if(typeof e!=`object`||!e)return!1;let t=uu(e);return t&&t!==`Object`}function fu(e){return!du(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||lu(e)||Kn(e)||ArrayBuffer.isView(e)||e instanceof ImageData)}function pu(e,t){if(fu(e))return(lu(e)||Kn(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(pu(r,t));return n}if(typeof e!=`object`)throw Error(`can't serialize object of type ${typeof e}`);let n=uu(e);if(!n)throw Error(`can't serialize object of unregistered class ${e.constructor.name}`);if(!cu[n])throw Error(`${n} is not registered.`);let{klass:r}=cu[n],i=r.serialize?r.serialize(e,t):{};if(!r.serialize){for(let r in e){if(!e.hasOwnProperty(r)||cu[n].omit.includes(r))continue;let a=e[r];a!==void 0&&(i[r]=cu[n].shallow.includes(r)?a:pu(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 mu(e){if(fu(e))return e;if(Array.isArray(e))return e.map(mu);if(typeof e!=`object`)throw Error(`can't deserialize object of type ${typeof e}`);let t=uu(e)||`Object`;if(!cu[t])throw Error(`can't deserialize unregistered class ${t}`);let{klass:n}=cu[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]=cu[t].shallow.includes(n)?i:mu(i)}return r}var hu=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))}},gu=class{constructor(e,t){this.zoom=e,t?(this.now=t.now||0,this.fadeDuration=t.fadeDuration||0,this.zoomHistory=t.zoomHistory||new hu,this.transition=t.transition||{}):(this.now=0,this.fadeDuration=0,this.zoomHistory=new hu,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}}},_u=class{constructor(e,t,n,r){this.property=e,this.value=t,this.expression=kc(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)}},vu=class{constructor(e,t,n){this.property=e,this.value=new _u(e,void 0,t,n)}transitioned(e,t){return t.value===this.value?t:new bu(this.property,this.value,t,F({},e.transition,this.transition),e.now)}untransitioned(){return new bu(this.property,this.value,null,{},0)}},yu=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 In(this._values[e].value.value)}setValue(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new vu(this._values[e].property,this._propertyRootKey(e),this._globalState)),this._values[e].value=new _u(this._values[e].property,t===null?void 0:In(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):Fn(this._values[t].value.value,n)||this.setValue(t,n)}}getTransition(e){return In(this._values[e].transition)}setTransition(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new vu(this._values[e].property,this._propertyRootKey(e),this._globalState)),this._values[e].transition=In(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 _u(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 xu(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 xu(this._properties);for(let t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}},bu=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,xn(o))}}},xu=class{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)}possiblyEvaluate(e,t,n){let r=new wu(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}},Su=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 In(this._values[e].value)}setValue(e,t){this._values[e]=new _u(this._values[e].property,t===null?void 0:In(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 wu(this._properties);for(let i of Object.keys(this._values))r._values[i]=this._values[i].possiblyEvaluate(e,t,n);return r}},Cu=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)}},wu=class{constructor(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)}get(e){return this._values[e]}};function Tu(e){if(Array.isArray(e))return e.length;let t=e?.values;return Array.isArray(t)?t.length:void 0}function Eu(e,t){let n=Tu(e),r=Tu(t);return n!==void 0&&r!==void 0&&n!==r}var q=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(Eu(e,t))return Rn(`Property "${this.name}" is trying to interpolate arrays of different lengths. Rendering may 'jump'.`),t;let r=Ua[this.specification.type];return r?r(e,t,n):e}},J=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 Cu(this,{kind:`constant`,value:e.expression.evaluate(t,null,{},n,r)},t):new Cu(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 Cu(this,{kind:`constant`,value:void 0},e.parameters);if(Eu(e.value.value,t.value.value))return Rn(`Property "${this.name}" is trying to interpolate arrays of different lengths. Rendering may 'jump'.`),t;let r=Ua[this.specification.type];if(r){let i=r(e.value.value,t.value.value,n);return new Cu(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)}},Du=class extends J{possiblyEvaluate(e,t,n,r){if(e.value===void 0)return new Cu(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 Cu(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 Cu(this,{kind:`constant`,value:n},t)}return new Cu(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}},Ou=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 gu(Math.floor(t.zoom-1),t)),e.expression.evaluate(new gu(Math.floor(t.zoom),t)),e.expression.evaluate(new gu(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}},ku=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}},Au=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 _u(n,void 0,n.name,void 0),i=this.defaultTransitionablePropertyValues[t]=new vu(n,n.name,void 0);this.defaultTransitioningPropertyValues[t]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=r.possiblyEvaluate({})}}};K(`DataDrivenProperty`,J),K(`DataConstantProperty`,q),K(`CrossFadedDataDrivenProperty`,Du),K(`CrossFadedProperty`,Ou),K(`ColorRampProperty`,ku);var ju=` is a PAINT property not a LAYOUT property. Use get/setPaintProperty instead?`,Mu=` is a LAYOUT property not a PAINT property. Use get/setLayoutProperty instead?`,Nu=class extends Yr{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=eu(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=Gc(e.filter,`layers[${this.id}].filter`,n)),t.layout&&(this._unevaluatedLayout=new Su(t.layout,`layers[${this.id}].layout`,n)),t.paint)){this._transitionablePaint=new yu(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 wu(t.paint)}}setFilter(e){this.filter=e,this._featureFilter=Gc(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+ju);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 R(Error(e+ju)));return}t!=null&&this._validate(tu.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+Mu);return this._transitionablePaint.getTransition(t)}if(e===`visibility`||this._unevaluatedLayout?.hasProperty(e))throw Error(e+Mu);return this._transitionablePaint.getValue(e)}setPaintProperty(e,t,n={}){if(e===`visibility`||this._unevaluatedLayout?.hasProperty(e))return this.fire(new R(Error(e+Mu))),!1;if(t!=null&&this._validate(tu.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),Pn(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 ou(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 Cu&&ec(t.property.specification)&&(t.value.kind===`source`||t.value.kind===`composite`)&&t.value.isStateDependent)return!0}return!1}},Pu,Fu=()=>Pu||=new Au({"raster-opacity":new q(B.paint_raster[`raster-opacity`],`raster-opacity`),"raster-hue-rotate":new q(B.paint_raster[`raster-hue-rotate`],`raster-hue-rotate`),"raster-brightness-min":new q(B.paint_raster[`raster-brightness-min`],`raster-brightness-min`),"raster-brightness-max":new q(B.paint_raster[`raster-brightness-max`],`raster-brightness-max`),"raster-saturation":new q(B.paint_raster[`raster-saturation`],`raster-saturation`),"raster-contrast":new q(B.paint_raster[`raster-contrast`],`raster-contrast`),resampling:new q(B.paint_raster.resampling,`resampling`),"raster-resampling":new q(B.paint_raster[`raster-resampling`],`raster-resampling`),"raster-fade-duration":new q(B.paint_raster[`raster-fade-duration`],`raster-fade-duration`)}),Iu={get paint(){return Fu()}},Lu=e=>e.type===`raster`,Ru=class extends Nu{constructor(e,t){super(e,Iu,t)}},zu={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Bu=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}},Vu=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 Hu(e,t=1){let n=0,r=0;return{members:e.map(e=>{let i=Uu(e.type),a=n=Wu(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:Wu(n,Math.max(r,t)),alignment:t}}function Uu(e){return zu[e].BYTES_PER_ELEMENT}function Wu(e,t){return Math.ceil(e/t)*t}var Gu=class extends Vu{_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}};Gu.prototype.bytesPerElement=4,K(`StructArrayLayout2i4`,Gu);var Ku=class extends Vu{_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}};Ku.prototype.bytesPerElement=6,K(`StructArrayLayout3i6`,Ku);var qu=class extends Vu{_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}};qu.prototype.bytesPerElement=8,K(`StructArrayLayout4i8`,qu);var Ju=class extends Vu{_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}};Ju.prototype.bytesPerElement=12,K(`StructArrayLayout2i4i12`,Ju);var Yu=class extends Vu{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.int8=new Int8Array(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*5,u=e*10;return this.int16[l+0]=t,this.int16[l+1]=n,this.uint8[u+4]=r,this.uint8[u+5]=i,this.uint8[u+6]=a,this.uint8[u+7]=o,this.int8[u+8]=s,this.int8[u+9]=c,e}};Yu.prototype.bytesPerElement=10,K(`StructArrayLayout2i4ub2b10`,Yu);var Xu=class extends Vu{_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}};Xu.prototype.bytesPerElement=8,K(`StructArrayLayout2f8`,Xu);var Zu=class extends Vu{_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}};Zu.prototype.bytesPerElement=20,K(`StructArrayLayout10ui20`,Zu);var Qu=class extends Vu{_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}};Qu.prototype.bytesPerElement=16,K(`StructArrayLayout8ui16`,Qu);var $u=class extends Vu{_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}};$u.prototype.bytesPerElement=28,K(`StructArrayLayout4i4ui4i1f28`,$u);var ed=class extends Vu{_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}};ed.prototype.bytesPerElement=12,K(`StructArrayLayout3f12`,ed);var td=class extends Vu{_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}};td.prototype.bytesPerElement=4,K(`StructArrayLayout1ul4`,td);var nd=class extends Vu{_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}};nd.prototype.bytesPerElement=20,K(`StructArrayLayout6i1ul2ui20`,nd);var rd=class extends Vu{_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}};rd.prototype.bytesPerElement=12,K(`StructArrayLayout2i2i2i12`,rd);var id=class extends Vu{_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}};id.prototype.bytesPerElement=16,K(`StructArrayLayout2f1f2i16`,id);var ad=class extends Vu{_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}};ad.prototype.bytesPerElement=16,K(`StructArrayLayout2ub2f2i16`,ad);var od=class extends Vu{_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}};od.prototype.bytesPerElement=6,K(`StructArrayLayout3ui6`,od);var sd=class extends Vu{_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}};sd.prototype.bytesPerElement=52,K(`StructArrayLayout2i2ui3ul3ui2f3ub1ul1i1f52`,sd);var cd=class extends Vu{_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,O){let k=this.length;return this.resize(k+1),this.emplace(k,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,O)}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,O,k){let A=e*34,ee=e*17;return this.int16[A+0]=t,this.int16[A+1]=n,this.int16[A+2]=r,this.int16[A+3]=i,this.int16[A+4]=a,this.int16[A+5]=o,this.int16[A+6]=s,this.int16[A+7]=c,this.uint16[A+8]=l,this.uint16[A+9]=u,this.uint16[A+10]=d,this.uint16[A+11]=f,this.uint16[A+12]=p,this.uint16[A+13]=m,this.uint16[A+14]=h,this.uint16[A+15]=g,this.uint16[A+16]=_,this.uint16[A+17]=v,this.uint16[A+18]=y,this.uint16[A+19]=b,this.uint16[A+20]=x,this.uint16[A+21]=S,this.uint16[A+22]=C,this.uint32[ee+12]=w,this.float32[ee+13]=T,this.float32[ee+14]=E,this.uint16[A+30]=D,this.uint16[A+31]=O,this.float32[ee+16]=k,e}};cd.prototype.bytesPerElement=68,K(`StructArrayLayout8i15ui1ul2f2ui1f68`,cd);var ld=class extends Vu{_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}};ld.prototype.bytesPerElement=4,K(`StructArrayLayout1f4`,ld);var ud=class extends Vu{_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}};ud.prototype.bytesPerElement=12,K(`StructArrayLayout1ui2f12`,ud);var dd=class extends Vu{_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}};dd.prototype.bytesPerElement=8,K(`StructArrayLayout1ul2ui8`,dd);var fd=class extends Vu{_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}};fd.prototype.bytesPerElement=4,K(`StructArrayLayout2ui4`,fd);var pd=class extends Vu{_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}};pd.prototype.bytesPerElement=2,K(`StructArrayLayout1ui2`,pd);var md=class extends Vu{_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}};md.prototype.bytesPerElement=16,K(`StructArrayLayout4f16`,md);var hd=class extends Bu{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 j(this.anchorPointX,this.anchorPointY)}};hd.prototype.size=20;var gd=class extends nd{get(e){return new hd(this,e)}};K(`CollisionBoxArray`,gd);var _d=class extends Bu{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]}};_d.prototype.size=52;var vd=class extends sd{get(e){return new _d(this,e)}};K(`PlacedSymbolArray`,vd);var yd=class extends Bu{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]}};yd.prototype.size=68;var bd=class extends cd{get(e){return new yd(this,e)}};K(`SymbolInstanceArray`,bd);var xd=class extends ld{getoffsetX(e){return this.float32[e*1+0]}};K(`GlyphOffsetArray`,xd);var Sd=class extends Ku{getx(e){return this.int16[e*3+0]}gety(e){return this.int16[e*3+1]}gettileUnitDistanceFromAnchor(e){return this.int16[e*3+2]}};K(`SymbolLineVertexArray`,Sd);var Cd=class extends Bu{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]}};Cd.prototype.size=12;var wd=class extends ud{get(e){return new Cd(this,e)}};K(`TextAnchorOffsetArray`,wd);var Td=class extends Bu{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]}};Td.prototype.size=8;var Ed=class extends dd{get(e){return new Td(this,e)}};K(`FeatureIndexArray`,Ed);var Dd=class extends Gu{},Od=class extends Ku{},kd=class extends qu{},Ad=class extends Gu{},jd=class extends Gu{},Md=class extends Ju{},Nd=class extends Yu{},Pd=class extends Xu{},Fd=class extends Zu{},Id=class extends Qu{},Ld=class extends $u{},Rd=class extends ed{},zd=class extends td{},Bd=class extends rd{},Vd=class extends id{},Hd=class extends ad{},Ud=class extends od{},Wd=class extends od{},Gd=class extends fd{},Kd=class extends pd{},qd=Hu([{name:`a_pos`,components:2,type:`Int16`}],4),Jd=qd.members;qd.size,qd.alignment;var Yd=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&&Rn(`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}])}};Yd.MAX_VERTEX_ARRAY_LENGTH=2**16-1,K(`SegmentVector`,Yd);function Xd(e,t){return e=P(Math.floor(e),0,255),t=P(Math.floor(t),0,255),256*e+t}var Zd=Hu([{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`}]),Qd=Hu([{name:`a_dasharray_from`,components:4,type:`Uint16`},{name:`a_dasharray_to`,components:4,type:`Uint16`}]),$d=Oe(((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)})),ef=Oe(((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})),tf=Ae(Oe(((e,t)=>{var n=$d(),r=ef();t.exports=n,t.exports.murmur3=n,t.exports.murmur2=r}))(),1),nf=class e{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(e,t,n,r){this.ids.push(rf(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=rf(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 af(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 rf(e){let t=+e;return!isNaN(t)&&t<=2**53-1?t:(0,tf.default)(String(e))}function af(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;of(e,a,o),of(t,3*a,3*o),of(t,3*a+1,3*o+1),of(t,3*a+2,3*o+2)}o-n<r-o?(af(e,t,n,o),n=o+1):(af(e,t,o+1,r),r=o)}}function of(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}K(`FeaturePositionMap`,nf);var sf=class{constructor(e,t){this.gl=e.gl,this.location=t}},Y=class extends sf{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1i(this.location,e))}},X=class extends sf{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1f(this.location,e))}},Z=class extends sf{constructor(e,t){super(e,t),this.current=[0,0]}set(e){(e[0]!==this.current[0]||e[1]!==this.current[1])&&(this.current=e,this.gl.uniform2f(this.location,e[0],e[1]))}},cf=class extends sf{constructor(e,t){super(e,t),this.current=[0,0,0]}set(e){(e[0]!==this.current[0]||e[1]!==this.current[1]||e[2]!==this.current[2])&&(this.current=e,this.gl.uniform3f(this.location,e[0],e[1],e[2]))}},lf=class extends sf{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]))}},uf=class extends sf{constructor(e,t){super(e,t),this.current=G.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))}},df=class extends sf{constructor(e,t){super(e,t),this.current=[]}set(e){if(e!=this.current){this.current=e;let t=new Float32Array(e.length*4);for(let n=0;n<e.length;n++)t[4*n]=e[n].r,t[4*n+1]=e[n].g,t[4*n+2]=e[n].b,t[4*n+3]=e[n].a;this.gl.uniform4fv(this.location,t)}}},ff=class extends sf{constructor(e,t){super(e,t),this.current=[]}set(e){if(e!=this.current){this.current=e;let t=new Float32Array(e);this.gl.uniform1fv(this.location,t)}}},pf=new Float32Array(16),mf=class extends sf{constructor(e,t){super(e,t),this.current=pf}set(e){if(e[12]!==this.current[12]||e[0]!==this.current[0]){this.current=e,this.gl.uniformMatrix4fv(this.location,!1,e);return}for(let t=1;t<16;t++)if(e[t]!==this.current[t]){this.current=e,this.gl.uniformMatrix4fv(this.location,!1,e);break}}};function hf(e){return[Xd(255*e.r,255*e.g),Xd(255*e.b,255*e.a)]}var gf=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 uf(e,t):new X(e,t)}},_f=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 lf(e,t):new X(e,t)}},vf=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 gu(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 gu(0,i),n,r);this._setPaintValue(e,t,a)}_setPaintValue(e,t,n){if(this.type===`color`){let r=hf(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()}},yf=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 gu(this.zoom,n),t,{},n.canonical,[],n.formattedSection),i=this.expression.evaluate(new gu(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 gu(this.zoom,i),n,r),o=this.expression.evaluate(new gu(this.zoom+1,i),n,r);this._setPaintValue(e,t,a,o)}_setPaintValue(e,t,n,r){if(this.type===`color`){let i=hf(n),a=hf(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=P(this.expression.interpolationFactor(n,this.zoom,this.zoom+1),0,1);e.set(r)}getBinding(e,t,n){return new X(e,t)}},bf=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()}},xf=class extends bf{getPositions(e){return e.imagePositions}getPositionIds(e){return e.patterns?.[this.layerId]}getVertexAttributes(){return Zd.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)}},Sf=class extends bf{getPositions(e){return e.dashPositions}getPositionIds(e){return e.dashes?.[this.layerId]}getVertexAttributes(){return Qd.members}emplace(e,t,n,r){e.emplace(t,0,n.y,n.height,n.width,0,r.y,r.height,r.width)}},Cf=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 Cu)||!ec(a.property.specification))continue;let o=Tf(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 _f(s.value,o):new gf(s.value,o,c),r.push(`/u_${i}`);else if(s.kind===`source`||d){let n=Df(i,c,`source`);this.binders[i]=d?i===`line-dasharray`?new Sf(s,c,l,t,n,e.id):new xf(s,c,l,t,n,e.id):new vf(s,o,c,n),r.push(`/a_${i}`)}else{let e=Df(i,c,`composite`);this.binders[i]=new yf(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 vf||t instanceof yf?t.maxValue:0}populatePaintArrays(e,t,n){for(let r in this.binders){let i=this.binders[r];(i instanceof vf||i instanceof yf||i instanceof bf)&&i.populatePaintArray(e,t,n)}}setConstantPatternPositions(e,t){for(let n in this.binders){let r=this.binders[n];r instanceof _f&&r.setConstantPatternPositions(e,t)}}setConstantDashPositions(e,t){for(let n in this.binders){let r=this.binders[n];r instanceof _f&&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 vf||s instanceof yf||s instanceof bf)&&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 gf||n instanceof _f)&&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 vf||n instanceof yf)for(let t of n.paintVertexAttributes)e.push(t.name);else if(n instanceof bf){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 gf||n instanceof _f||n instanceof yf)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 gf||i instanceof _f||i instanceof yf){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 bf){let t=e.fromScale===2?n.zoomInPaintVertexBuffer:n.zoomOutPaintVertexBuffer;t&&this._buffers.push(t)}else(n instanceof vf||n instanceof yf)&&n.paintVertexBuffer&&this._buffers.push(n.paintVertexBuffer)}}upload(e){for(let t in this.binders){let n=this.binders[t];(n instanceof vf||n instanceof yf||n instanceof bf)&&n.upload(e)}this.updatePaintBuffers()}destroy(){for(let e in this.binders){let t=this.binders[e];(t instanceof vf||t instanceof yf||t instanceof bf)&&t.destroy()}}},wf=class{constructor(e,t,n=()=>!0){this.programConfigurations={};for(let r of e)this.programConfigurations[r.id]=new Cf(r,t,n);this.needsUpload=!1,this._featureMap=new nf,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 Tf(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 Ef(e){return{"line-pattern":{source:Fd,composite:Fd},"fill-pattern":{source:Fd,composite:Fd},"fill-extrusion-pattern":{source:Fd,composite:Fd},"line-dasharray":{source:Id,composite:Id}}[e]}function Df(e,t,n){let r={color:{source:Xu,composite:md},number:{source:ld,composite:Xu}};return Ef(e)?.[n]||r[t][n]}K(`ConstantBinder`,gf),K(`CrossFadedConstantBinder`,_f),K(`SourceExpressionBinder`,vf),K(`CrossFadedPatternBinder`,xf),K(`CrossFadedDasharrayBinder`,Sf),K(`CompositeExpressionBinder`,yf),K(`ProgramConfiguration`,Cf,{omit:[`_buffers`]}),K(`ProgramConfigurationSet`,wf);var Of=2**14-1,kf=-Of-1;function Af(e){let t=N/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=P(e,kf,Of),n.y=P(r,kf,Of),(e<n.x||e>n.x+1||r<n.y||r>n.y+1)&&Rn(`Geometry exceeds allowed extent, reduce your vector tile buffer size`)}return n}function jf(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?Af(e):[]}}var Mf=-32768;function Nf(e,t,n,r,i){e.emplaceBack(Mf+t*8+r,Mf+n*8+i)}var Pf=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 Ad,this.indexArray=new Wd,this.segments=new Yd,this.programConfigurations=new wf(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 gu(this.zoom),u=this.layers[0]._featureFilter.needGeometry;for(let{feature:t,id:r,index:s,sourceLayerIndex:c}of e){let e=jf(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:Af(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,Jd),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++)Nf(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})}};K(`CircleBucket`,Pf,{omit:[`layers`]});function Ff(e,t){for(let n of e)if(Gf(t,n))return!0;for(let n of t)if(Gf(e,n))return!0;return Bf(e,t)}function If(e,t,n){return Gf(e,t)?!0:Hf(t,e,n)}function Lf(e,t){if(e.length===1)return Wf(t,e[0]);for(let n of t)for(let t of n)if(Gf(e,t))return!0;for(let n of e)if(Wf(t,n))return!0;for(let n of t)if(Bf(e,n))return!0;return!1}function Rf(e,t,n){for(let r of t){if(e.length>=3){for(let t of r)if(Gf(e,t))return!0}if(zf(e,r,n))return!0}return!1}function zf(e,t,n){if(e.length>1){if(Bf(e,t))return!0;for(let r of t)if(Hf(r,e,n))return!0}for(let r of e)if(Hf(r,t,n))return!0;return!1}function Bf(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(Vf(r,i,n,a))return!0}}return!1}function Vf(e,t,n,r){return zn(e,n,r)!==zn(t,n,r)&&zn(e,t,n)!==zn(e,t,r)}function Hf(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(Uf(e,i,a)<r)return!0}return!1}function Uf(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 Wf(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 Gf(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 Kf(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 j(t,n),new j(t,i),new j(r,i),new j(r,n)];if(e.length>2){for(let t of a)if(Gf(e,t))return!0}for(let t=0;t<e.length-1;t++){let n=e[t],r=e[t+1];if(qf(n,r,a))return!0}return!1}function qf(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=zn(e,t,n[0]);return a!==zn(e,t,n[1])||a!==zn(e,t,n[2])||a!==zn(e,t,n[3])}function Jf(e,t,n){let r=t.paint.get(e).value;return r.kind===`constant`?r.value:n.programConfigurations.get(t.id).getMaxValue(e)}function Yf(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function Xf(e,t,n,r,i){if(!t[0]&&!t[1])return e;let a=j.convert(t)._mult(i);n===`viewport`&&a._rotate(-r);let o=[];for(let t of e)o.push(t.sub(a));return o}function Zf(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 Qf(e,t){let n=[];for(let r of e){let e=Zf(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 j(0,0):r.sub(a)._unit()._perp(),c=n===e.length-1?new j(0,0):o.sub(r)._unit()._perp(),l=s._add(c)._unit(),u=l.x*c.x+l.y*c.y;u!==0&&l._mult(1/u),i.push(l._mult(t)._add(r))}n.push(i)}return n}function $f({queryGeometry:e,size:t},n){return If(e,n,t)}function ep({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i},a){return If(e,a,t*(n.projectTileCoordinates(a.x,a.y,r,i?.(a.x,a.y)).signedDistanceFromCamera/n.cameraToCenterDistance))}function tp({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 If(e,ip(a,n,r,i),s)}function np({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i},a){return If(e,ip(a,n,r,i),t)}function rp({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i,pitchAlignment:a=`map`,pitchScale:o=`map`},s){let c=a===`map`?o===`map`?$f:ep:o===`map`?tp:np,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 ip(e,t,n,r){let i=t.projectTileCoordinates(e.x,e.y,n,r?.(e.x,e.y)).point;return new j((i.x*.5+.5)*t.width,(-i.y*.5+.5)*t.height)}function ap(e,t,n,r){return e.map(e=>ip(e,t,n,r))}var op,sp=()=>op||=new Au({"circle-sort-key":new J(B.layout_circle[`circle-sort-key`],`circle-sort-key`)}),cp,lp=()=>cp||=new Au({"circle-radius":new J(B.paint_circle[`circle-radius`],`circle-radius`),"circle-color":new J(B.paint_circle[`circle-color`],`circle-color`),"circle-blur":new J(B.paint_circle[`circle-blur`],`circle-blur`),"circle-opacity":new J(B.paint_circle[`circle-opacity`],`circle-opacity`),"circle-translate":new q(B.paint_circle[`circle-translate`],`circle-translate`),"circle-translate-anchor":new q(B.paint_circle[`circle-translate-anchor`],`circle-translate-anchor`),"circle-pitch-scale":new q(B.paint_circle[`circle-pitch-scale`],`circle-pitch-scale`),"circle-pitch-alignment":new q(B.paint_circle[`circle-pitch-alignment`],`circle-pitch-alignment`),"circle-stroke-width":new J(B.paint_circle[`circle-stroke-width`],`circle-stroke-width`),"circle-stroke-color":new J(B.paint_circle[`circle-stroke-color`],`circle-stroke-color`),"circle-stroke-opacity":new J(B.paint_circle[`circle-stroke-opacity`],`circle-stroke-opacity`)}),up={get paint(){return lp()},get layout(){return sp()}},dp=e=>e.type===`circle`,fp=class extends Nu{constructor(e,t){super(e,up,t)}createBucket(e){return new Pf(e)}queryRadius(e){let t=e;return Jf(`circle-radius`,this,t)+Jf(`circle-stroke-width`,this,t)+Yf(this.paint.get(`circle-translate`))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,unwrappedTileID:o,getElevation:s}){let c=Xf(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=ap(c,i,o,s),p=l),rp({queryGeometry:f,size:p,transform:i,unwrappedTileID:o,getElevation:s,pitchAlignment:d,pitchScale:u},r)}},pp=class extends Pf{};K(`HeatmapBucket`,pp,{omit:[`layers`]});var mp,hp=()=>mp||=new Au({"heatmap-radius":new J(B.paint_heatmap[`heatmap-radius`],`heatmap-radius`),"heatmap-weight":new J(B.paint_heatmap[`heatmap-weight`],`heatmap-weight`),"heatmap-intensity":new q(B.paint_heatmap[`heatmap-intensity`],`heatmap-intensity`),"heatmap-color":new ku(B.paint_heatmap[`heatmap-color`],`heatmap-color`),"heatmap-opacity":new q(B.paint_heatmap[`heatmap-opacity`],`heatmap-opacity`)}),gp={get paint(){return hp()}};function _p(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 vp(e,{width:t,height:n},r){if(t===e.width&&n===e.height)return;let i=_p({},{width:t,height:n},r);yp(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 yp(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 bp=class e{constructor(e,t){_p(this,e,1,t)}resize(e){vp(this,e,1)}clone(){return new e({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(e,t,n,r,i){yp(e,t,n,r,i,1)}},xp=class e{constructor(e,t){_p(this,e,4,t)}resize(e){vp(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){yp(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 Sp(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}K(`AlphaImage`,bp),K(`RGBAImage`,xp);function Cp(e){let t={},n=e.resolution||256,r=e.clips?e.clips.length:1,i=e.image||new xp({width:n,height:r});if(!On(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 wp=`big-fb`,Tp=e=>e.type===`heatmap`,Ep=class extends Nu{createBucket(e){return new pp(e)}constructor(e,t){super(e,gp,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=Cp({expression:e,evaluationKey:`heatmapDensity`,image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbos.has(`big-fb`)&&this.heatmapFbos.delete(wp)}queryRadius(e){return Jf(`heatmap-radius`,this,e)}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,unwrappedTileID:o,getElevation:s}){return rp({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()}},Dp,Op=()=>Dp||=new Au({"hillshade-illumination-direction":new q(B.paint_hillshade[`hillshade-illumination-direction`],`hillshade-illumination-direction`),"hillshade-illumination-altitude":new q(B.paint_hillshade[`hillshade-illumination-altitude`],`hillshade-illumination-altitude`),"hillshade-illumination-anchor":new q(B.paint_hillshade[`hillshade-illumination-anchor`],`hillshade-illumination-anchor`),"hillshade-exaggeration":new q(B.paint_hillshade[`hillshade-exaggeration`],`hillshade-exaggeration`),"hillshade-shadow-color":new q(B.paint_hillshade[`hillshade-shadow-color`],`hillshade-shadow-color`),"hillshade-highlight-color":new q(B.paint_hillshade[`hillshade-highlight-color`],`hillshade-highlight-color`),"hillshade-accent-color":new q(B.paint_hillshade[`hillshade-accent-color`],`hillshade-accent-color`),"hillshade-method":new q(B.paint_hillshade[`hillshade-method`],`hillshade-method`),resampling:new q(B.paint_hillshade.resampling,`resampling`)}),kp={get paint(){return Op()}},Ap=e=>e.type===`hillshade`,jp=class extends Nu{constructor(e,t){super(e,kp,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(Qn);return{directionRadians:e.map(Qn),altitudeRadians:a,shadowColor:r,highlightColor:n}}hasOffscreenPass(){return this.paint.get(`hillshade-exaggeration`)!==0&&!this.isHidden()}},Mp,Np=()=>Mp||=new Au({"color-relief-opacity":new q(B[`paint_color-relief`][`color-relief-opacity`],`color-relief-opacity`),"color-relief-color":new ku(B[`paint_color-relief`][`color-relief-color`],`color-relief-color`),resampling:new q(B[`paint_color-relief`].resampling,`resampling`)}),Pp={get paint(){return Np()}};function Fp(e){return`data`in e}var Ip=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),Fp(e)){o.pixelStoreUnpackPremultiplyAlpha.set(!1);let{data:t}=e;c&&t&&(t=Sp(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 Fp(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};Fp(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&&!(Fp(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=Sp(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=Sp(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}},Lp=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)){Rn(`"${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 Rp(e,this.getUnpackVector())}getPixels(){return new xp({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 Rp(e,t){let n=t[0],r=t[1],i=t[2],a=t[3],o=[n,r,i].filter(e=>e!==0);if(o.length===0)return{r:0,g:0,b:0};let s=Math.min(...o),c=Math.round((e+a)/s),l=e=>e===0?0:Math.floor(c*s/e)%256;return{r:l(n),g:l(r),b:l(i)}}K(`DEMData`,Lp);var zp=e=>e.type===`color-relief`,Bp=class extends Nu{constructor(e,t){super(e,Pp,t)}_createColorRamp(e){let t={elevationStops:[],colorStops:[]},n=this._transitionablePaint._values[`color-relief-color`].value.expression;if(n instanceof wc&&n._styleExpression.expression instanceof Va){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=[G.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 Rn(`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 xp({width:r.colorStops.length,height:1}),a=new xp({width:r.colorStops.length,height:1});for(let e=0;e<r.elevationStops.length;e++){let t=Rp(r.elevationStops[e],n);a.setPixel(0,e,new G(t.r/255,t.g/255,t.b/255,1)),i.setPixel(0,e,r.colorStops[e])}return this.colorRampTextures={elevationTexture:new Ip(e,a,e.gl.RGBA),colorTexture:new Ip(e,i,e.gl.RGBA)},this.colorRampTextures}hasOffscreenPass(){return!this.isHidden()&&!!this.colorRampTextures}},Vp=Hu([{name:`a_pos`,components:2,type:`Int16`}],4),Hp=Vp.members;Vp.size,Vp.alignment;function Up(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 Wp(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 Gp=new Set,Kp=!1;function qp(e,t,n=2){let r=t&&t.length,i=r?t[0]*n:e.length;Gp.size&&Gp.clear();let a=Jp(e,0,i,n,!0),o=[];if(!a||a.next===a.prev)return o;let s=0,c=0,l=0;if(r&&(a=nm(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 Xp(a,o,s,c,l),o}function Jp(e,t,n,r,i){let a=null;if(i===zm(e,t,n,r)>0)for(let i=t;i<n;i+=r)a=Im(i/r|0,e[i],e[i+1],a);else for(let i=n-r;i>=t;i-=r)a=Im(i/r|0,e[i],e[i+1],a);return a&&km(a,a.next)&&(Lm(a),a=a.next),a}function Yp(e,t=e){let n=t===e,r=e,i;do i=!1,r!==r.next&&(Gp.size===0||!Gp.has(r))&&(km(r,r.next)||Om(r.prev,r,r.next)===0)?((n||r===t)&&(t=r.prev),Kp=!0,Lm(r),r=r.prev,i=!0):(n||r!==t)&&(r=r.next,i=!n);while(i||r!==t);return t}function Xp(e,t,n,r,i){i&&xm(e,n,r,i);let a=e,o=!1;for(;e.prev!==e.next;){let s=e.prev,c=e.next;if(Om(s,e,c)<0&&(i?Qp(e,n,r,i):Zp(e))){t.push(s.i,e.i,c.i),Lm(e),e=c,a=c;continue}if(e=c,e===a){if(Kp=!1,e=Yp(e),Kp){a=e;continue}if(!o){e=$p(e,t),a=e,o=!0;continue}em(e,t,n,r,i);break}}}function Zp(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)&&Em(i,s,a,c,o,l,m.x,m.y)&&Om(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function Qp(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),_=wm(p,m,t,n,r),v=wm(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)&&Em(s,u,c,d,l,f,y.x,y.y)&&Om(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)&&Em(s,u,c,d,l,f,b.x,b.y)&&Om(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function $p(e,t){let n=e,r=!1;do{let i=n.prev,a=n.next.next;Am(i,n,n.next,a,!1)&&Nm(i,a)&&Nm(a,i)&&(t.push(i.i,n.i,a.i),Lm(n),Lm(n.next),n=e=a,r=!0),n=n.next}while(n!==e);return r?Yp(n):n}function em(e,t,n,r,i){let a=e;do{let e=a.next.next;for(;e!==a.prev;){if(a.i!==e.i&&Dm(a,e)){let o=Fm(a,e);a=Yp(a,a.next),o=Yp(o,o.next),Xp(a,t,n,r,i),Xp(o,t,n,r,i);return}e=e.next}a=a.next}while(a!==e)}var tm=!1;function nm(e,t,n,r){let i=[];for(let n=0,a=t.length;n<a;n++){let o=Jp(e,t[n]*r,n<a-1?t[n+1]*r:e.length,r,!1);o===o.next&&Gp.add(o),i.push(Tm(o))}i.sort(rm),lm(e.length/r,t.length),um(n,n),tm=!0;for(let e=0;e<i.length;e++)n=im(i[e],n);return tm=!1,Yp(n)}function rm(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 im(e,t){let n=mm(e,t);if(!n)return t;let r=Fm(n,e),i=r.next;return um(n,i.next),Yp(r,r.next),Yp(n,n.next)}var am=new Float64Array,om=0,sm=[],cm=[];function lm(e,t){let n=Math.ceil((e+2*t)/16)+t+2;am.length<n*4&&(am=new Float64Array(n*4)),om=0}function um(e,t){let n=e;do{let e=om++;sm[e]=n;let r=n.x,i=n.y,a=n.x,o=n.y,s=0;do{let t=n.next;n.z=e,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);cm[e]=n;let c=e*4;am[c]=r,am[c+1]=i,am[c+2]=a,am[c+3]=o}while(n!==t)}function dm(e,t){let n=e.z*4;t.x<am[n]&&(am[n]=t.x),t.y<am[n+1]&&(am[n+1]=t.y),t.x>am[n+2]&&(am[n+2]=t.x),t.y>am[n+3]&&(am[n+3]=t.y)}function fm(e){let t=cm[e];for(;t.prev.next!==t;)t=t.next;return cm[e]=t,t}function pm(e){let t=sm[e];for(;t.prev.next!==t;)t=t.next;return sm[e]=t,t}function mm(e,t){let n=t,r=e.x,i=e.y,a=-1/0,o;if(km(e,n))return n;for(let t=0,s=0;t<om;t++,s+=4){if(i<am[s+1]||i>am[s+3]||am[s]>r||am[s+2]<=a)continue;let c=fm(t);n=pm(t);do{if(n.prev.next===n){if(km(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<om;t++,f+=4){if(am[f+2]<s||am[f]>r||am[f+3]<l||am[f+1]>u)continue;let p=fm(t);n=pm(t);do{if(n.prev.next===n&&r>=n.x&&n.x>=s&&r!==n.x&&Em(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);(Nm(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&&hm(o,n)))&&(o=n,d=t)}n=n.next}while(n!==p)}return o}function hm(e,t){return Om(e.prev,e,t.prev)<0&&Om(t.next,e,e.next)<0}var gm=[],_m=[],vm=new Uint32Array,ym=new Uint32Array,bm=new Uint32Array(256);function xm(e,t,n,r){let i=e,a=0;do i.z=wm(i.x,i.y,t,n,r),gm[a++]=i,i=i.next;while(i!==e);Sm(a);let o=null;for(let e=0;e<a;e++){let t=gm[e];t.prevZ=o,o&&(o.nextZ=t),o=t}o.nextZ=null,gm.fill(null,0,a),_m.fill(null,0,a)}function Sm(e){if(e<=32){for(let t=1;t<e;t++){let e=gm[t],n=e.z,r=t-1;for(;r>=0&&gm[r].z>n;)gm[r+1]=gm[r],r--;gm[r+1]=e}return}vm.length<e&&(vm=new Uint32Array(e),ym=new Uint32Array(e),_m=Array(e));for(let t=0;t<e;t++)vm[t]=gm[t].z;Cm(e,gm,vm,_m,ym,0),Cm(e,_m,ym,gm,vm,8),Cm(e,gm,vm,_m,ym,16),Cm(e,_m,ym,gm,vm,24)}function Cm(e,t,n,r,i,a){bm.fill(0);for(let t=0;t<e;t++)bm[n[t]>>>a&255]++;let o=0;for(let e=0;e<256;e++){let t=bm[e];bm[e]=o,o+=t}for(let o=0;o<e;o++){let e=n[o],s=bm[e>>>a&255]++;r[s]=t[o],i[s]=e}}function wm(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 Tm(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 Em(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 Dm(e,t){let n=km(e,t)&&Om(e.prev,e,e.next)>0&&Om(t.prev,t,t.next)>0;return e.next.i!==t.i&&(n||Nm(e,t)&&Nm(t,e)&&(Om(e.prev,e,t.prev)!==0||Om(e,t.prev,t)!==0))&&!Mm(e,t)&&(n||Pm(e,t))}function Om(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function km(e,t){return e.x===t.x&&e.y===t.y}function Am(e,t,n,r,i=!0){let a=Om(e,t,n),o=Om(e,t,r),s=Om(n,r,e),c=Om(n,r,t);return(a>0&&o<0||a<0&&o>0)&&(s>0&&c<0||s<0&&c>0)?!0:i?!!(a===0&&jm(e,n,t)||o===0&&jm(e,r,t)||s===0&&jm(n,e,r)||c===0&&jm(n,t,r)):!1}function jm(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 Mm(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&&Am(o,s,e,t))return!0;o=s}while(o!==e);return!1}function Nm(e,t){return Om(e.prev,e,e.next)<0?Om(e,t,e.next)>=0&&Om(e,e.prev,t)>=0:Om(e,t,e.prev)<0||Om(e,e.next,t)<0}function Pm(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 Fm(e,t){let n=Rm(e.i,e.x,e.y),r=Rm(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 Im(e,t,n,r){let i=Rm(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 Lm(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),tm&&dm(e.prev,e.next)}function Rm(e,t,n){return{i:e,x:t,y:n,prev:null,next:null,z:0,prevZ:null,nextZ:null}}function zm(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 Bm=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)}},Vm=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 Bm(0,0),line:new Bm(0,0),tile:new Bm(0,0),stencil:new Bm(0,0),circle:1})}};K(`SubdivisionGranularityExpression`,Bm),K(`SubdivisionGranularitySetting`,Vm);var Hm=-32768,Um=32767,Wm=class{constructor(e,t){this._vertexBuffer=[],this._vertexDictionary=new Map,this._used=!1,this._granularity=e,this._granularityCellSize=N/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 Xm(this._vertexBuffer,Ym(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);Zm(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(Km(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&&qm(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=N,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,Hm),f===0&&m===0&&this._generatePoleQuad(e,s,c,d,p,Hm),m===0&&u===0&&this._generatePoleQuad(e,c,a,p,l,Hm)),n&&(u===i&&f===i&&this._generatePoleQuad(e,a,s,l,d,Um),f===i&&m===i&&this._generatePoleQuad(e,s,c,d,p,Um),m===i&&u===i&&this._generatePoleQuad(e,c,a,p,l,Um))}}_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}=Jm(e),i=this._initializeVertices(n),a;try{let e=qp(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 Gm(e,t,n,r=!0){return new Wm(n,t).subdividePolygonInternal(e,r)}function Km(e,t,n=!1){if(!e||e.length<1||e.length<2)return[];let r=n&&qm(e);if(t<2)return r?[...e,e[0]]:[...e];let i=Math.floor(N/t),a=[];a.push(new j(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,l=r.x,u=r.y,d=s!==l,f=c!==u;if(!d&&!f)continue;let p=l-s,m=u-c,h=Math.abs(p),g=Math.abs(m),_=s,v=c;for(;;){let e=p>0?(Math.floor(_/i)+1)*i:(Math.ceil(_/i)-1)*i,t=m>0?(Math.floor(v/i)+1)*i:(Math.ceil(v/i)-1)*i,n=Math.abs(_-e),r=Math.abs(v-t),o=Math.abs(_-l),s=Math.abs(v-u),c=d?n/h:1/0,y=f?r/g:1/0;if((o<=n||!d)&&(s<=r||!f))break;if(c<y&&d||!f){_=e,v+=m*c;let t=new j(_,Math.round(v));(a[a.length-1].x!==t.x||a[a.length-1].y!==t.y)&&a.push(t)}else{_+=p*y,v=t;let e=new j(Math.round(_),v);(a[a.length-1].x!==e.x||a[a.length-1].y!==e.y)&&a.push(e)}}let y=new j(l,u);(a[a.length-1].x!==y.x||a[a.length-1].y!==y.y)&&a.push(y)}return a}function qm(e){return!e[0].equals(e[e.length-1])}function Jm(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 Ym(e,t){let n=Array(e.length);for(let r=0;r<e.length;r++)n[r]=t[e[r]];return n}function Xm(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 Zm(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 Qm(e,t,n,r,i,a,o,s,c){let l=i.length/2,u=o&&s&&c;if(l<Yd.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 eh(t,n,r,i,a,e),u&&th(o,n,s,i,c,e),t.forceNewSegmentOnNextPrepare(),o?.forceNewSegmentOnNextPrepare()}function $m(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 eh(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>Yd.MAX_VERTEX_ARRAY_LENGTH&&(l=e.createNewSegment(t,n),c=s.count,h=!0,g=!0,_=!0,u=0);let y=$m(o,r,a,s,f,h,l),b=$m(o,r,a,s,p,g,l),x=$m(o,r,a,s,m,_,l);n.emplaceBack(u+y-c,u+b-c,u+x-c),l.primitiveLength++}}function th(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>Yd.MAX_VERTEX_ARRAY_LENGTH&&(l=e.createNewSegment(t,n),c=s.count,m=!0,h=!0,u=0);let _=$m(o,r,a,s,f,m,l),v=$m(o,r,a,s,p,h,l);n.emplaceBack(u+_-c,u+v-c),l.primitiveLength++}}var nh=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 jd,this.indexArray=new Wd,this.indexArray2=new Gd,this.programConfigurations=new wf(e.layers,e.zoom),this.segments=new Yd,this.segments2=new Yd,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){this.hasDependencies=Up(`fill`,this.layers,t);let r=this.layers[0].layout.get(`fill-sort-key`),i=!r.isConstant(),a=[],o=new gu(this.zoom),s=this.layers[0]._featureFilter.needGeometry;for(let{feature:c,id:l,index:u,sourceLayerIndex:d}of e){let e=jf(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:Af(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=Wp(`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&&Rn(`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,Hp),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 Ja(t,500)){let t=Gm(e,r,a.fill.getGranularityForZoomLevel(r.z)),n=this.layoutVertexArray;Qm((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})}};K(`FillBucket`,nh,{omit:[`layers`,`patternFeatures`]});var rh,ih=()=>rh||=new Au({"fill-sort-key":new J(B.layout_fill[`fill-sort-key`],`fill-sort-key`)}),ah,oh=()=>ah||=new Au({"fill-antialias":new q(B.paint_fill[`fill-antialias`],`fill-antialias`),"fill-opacity":new J(B.paint_fill[`fill-opacity`],`fill-opacity`),"fill-layer-opacity":new q(B.paint_fill[`fill-layer-opacity`],`fill-layer-opacity`),"fill-color":new J(B.paint_fill[`fill-color`],`fill-color`),"fill-outline-color":new J(B.paint_fill[`fill-outline-color`],`fill-outline-color`),"fill-translate":new q(B.paint_fill[`fill-translate`],`fill-translate`),"fill-translate-anchor":new q(B.paint_fill[`fill-translate-anchor`],`fill-translate-anchor`),"fill-pattern":new Du(B.paint_fill[`fill-pattern`],`fill-pattern`)}),sh={get paint(){return oh()},get layout(){return ih()}},ch=e=>e.type===`fill`,lh=class extends Nu{constructor(e,t){super(e,sh,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 nh(e)}queryRadius(){return Yf(this.paint.get(`fill-translate`))}queryIntersectsFeature({queryGeometry:e,geometry:t,transform:n,pixelsToTileUnits:r}){return Lf(Xf(e,this.paint.get(`fill-translate`),this.paint.get(`fill-translate-anchor`),-n.bearingInRadians,r),t)}isTileClipped(){return!0}},uh=Hu([{name:`a_pos`,components:2,type:`Int16`},{name:`a_normal_ed`,components:4,type:`Int16`}],4),dh=Hu([{name:`a_centroid`,components:2,type:`Int16`}],4),fh=uh.members;uh.size,uh.alignment;var ph=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 j(this.minX,this.minY))),n.extend(t(new j(this.maxX,this.minY))),n.extend(t(new j(this.minX,this.maxY))),n.extend(t(new j(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}},mh=ph.fromPoints([new j(0,0),new j(N,N)]);function hh(e,t){return e.x===t.x&&(e.x<0||e.x>8192)||e.y===t.y&&(e.y<0||e.y>8192)}function gh(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 _h=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 j(o,s)];else if(i===2)o+=e.readSVarint(),s+=e.readSVarint(),r&&r.push(new j(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=vh(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}};_h.types=[`Unknown`,`Point`,`LineString`,`Polygon`];function vh(e){let t=e.length;if(t<=1)return[e];let n=[],r,i;for(let a=0;a<t;a++){let t=yh(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 yh(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 bh=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(xh(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 _h(this._pbf,t,this.extent,this._keys,this._values)}};function xh(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 Sh=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 bh(e,e.readVarint()+e.pos);t.length&&(n[t.name]=t)}else e.skip(t)}this.layers=n}},Ch=6371008.8,Q=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(wn(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 Ch*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>]")}},wh=2*Math.PI*Ch;function Th(e){return wh*Math.cos(e*Math.PI/180)}function Eh(e){return(180+e)/360}function Dh(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function Oh(e,t){return e/Th(t)}function kh(e){return e*360-180}function Ah(e){let t=180-e*360;return 360/Math.PI*Math.atan(Math.exp(t*Math.PI/180))-90}function jh(e,t){return e*Th(Ah(t))}function Mh(e){return 1/Math.cos(e*Math.PI/180)}var Nh=class e{constructor(e,t,n=0){this.x=+e,this.y=+t,this.z=+n}static fromLngLat(t,n=0){let r=Q.convert(t);return new e(Eh(r.lng),Dh(r.lat),Oh(n,r.lat))}toLngLat(){return new Q(kh(this.x),Ah(this.y))}toAltitude(){return jh(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/wh*Mh(Ah(this.y))}},Ph=89.25;function Fh(e,t,n){let r=1/(1<<n.z);return new Nh(e/N*r+n.x*r,t/N*r+n.y*r)}function Ih(e,t,n){return Fh(e,t,n).toLngLat()}function Lh(e,t){let n=P(t.lat,-85.051129,ir);return new j(Eh(t.lng)*e,Dh(n)*e)}function Rh(e,t){return new Nh(t.x/e,t.y/e).toLngLat()}function zh(e){return e.cameraToCenterDistance*Math.min(Math.tan(Qn(90-e.pitch))*.85,Math.tan(Qn(Ph-e.pitch)))}function Bh(e,t){let n=e.canonical,r=t/An(n.z),i=n.x+2**n.z*e.wrap,a=new Float64Array(16);return Ye(a),M(a,a,[i*r,n.y*r,0]),Qe(a,a,[r/N,r/N,1]),a}function Vh(e,t,n,r,i){let a=Nh.fromLngLat(e,t),o=i*Oh(1,e.lat),{x:s,y:c,z:l}=Uh(n,r),u=o*-s,d=o*-c,f=o*l;return new Nh(a.x+u,a.y+d,a.z+f)}function Hh(e,t=e.center){let n=Oh(1,t.lat)*e.worldSize;return Vh(t,e.elevation,e.pitch,e.bearing,e.cameraToCenterDistance/n)}function Uh(e,t){let n=Qn(e),r=Qn(t),i=Math.cos(-n),a=Math.sin(n);return{x:a*Math.sin(r),y:-a*Math.cos(r),z:i}}function Wh(e,t){return t<=0||!e||e.length===0?e:e.map(e=>Yh(e,t))}function Gh(e,t){let n=Ih(N/2,N/2,t),r=Nh.fromLngLat(n).meterInMercatorCoordinateUnits(),i=(1<<t.z)*N;return e*r*i}var Kh=Math.cos(35*Math.PI/180);function qh(e){let t=[null];for(let n=1;n<e.length;n++){let r=e[n].sub(e[n-1]),i=!hh(e[n],e[n-1])&&r.mag()>0;t.push(i?r._perp():null)}let n=e.length-1,r=n>1&&e[0].equals(e[n]),i=[null];for(let e=1;e<=n;e++){let a=t[e];if(!a){i.push(null);continue}let o=r&&e===1?t[n]:t[e-1],s=r&&e===n?t[1]:t[e+1];i.push({start:Jh(a,o),end:Jh(a,s)})}return i}function Jh(e,t){if(!t)return e.unit();let n=e.mag(),r=t.mag();return e.x*t.x+e.y*t.y<Kh*n*r||n>=2*r?e.unit():r>=2*n?t.unit():e.add(t)._unit()}function Yh(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=hh(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=hh(s,c);a||l?i.push(s.clone()):Zh(i,o,s,c,t),a=l}let o=Xh(i);return o.length<3?e:(n&&o.push(o[0].clone()),o)}function Xh(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 Zh(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 Qh=8192;function $h(e,t,n,r,i,a,o,s){e.emplaceBack(t,n,Math.floor(r*Qh)*2+o,i*Qh*2,a*Qh*2,Math.round(s))}var eg=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 Md,this.centroidVertexArray=new Dd,this.indexArray=new Wd,this.programConfigurations=new wf(e.layers,e.zoom),this.segments=new Yd,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){this.features=[],this.hasDependencies=Up(`fill-extrusion`,this.layers,t);let r=new gu(this.zoom),i=this.layers[0],a=i.layout.get(`fill-extrusion-rounded-corner-distance`),o=a>0?Gh(a,n):0,s=i._featureFilter.needGeometry;for(let{feature:a,id:c,index:l,sourceLayerIndex:u}of e){let e=jf(a,s);if(!i._featureFilter.filter(r,e,n))continue;let d={id:c,sourceLayerIndex:u,index:l,geometry:Wh(s?e.geometry:Af(a),o),properties:a.properties,type:a.type,patterns:{}};this.hasDependencies?this.features.push(Wp(`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,fh),this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,dh.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 Ja(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||gh(r[0]))return;for(let t of r)t.length!==0&&tg(e,t);let a={segment:this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray)},o=i.fill.getGranularityForZoomLevel(t.z),s=_h.types[n.type]===`Polygon`;for(let e of r){if(e.length===0||gh(e))continue;let t=Km(e,o,s);this._generateSideFaces(t,a)}if(!s)return;let c=Gm(r,t,o,!1),l=this.layoutVertexArray;Qm((e,t)=>{$h(l,e,t,0,0,1,1,0)},this.segments,this.layoutVertexArray,this.indexArray,c.verticesFlattened,c.indicesTriangles)}_generateSideFaces(e,t){let n=0,r=this.layers[0].layout.get(`fill-extrusion-rounded-corner-distance`)>0?qh(e):null;for(let i=1;i<e.length;i++){let a=e[i],o=e[i-1];if(hh(a,o)||r&&!r[i])continue;t.segment.vertexLength+4>Yd.MAX_VERTEX_ARRAY_LENGTH&&(t.segment=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let s=a.sub(o)._perp()._unit(),{start:c,end:l}=r?r[i]:{start:s,end:s},u=o.dist(a);n+u>32768&&(n=0),$h(this.layoutVertexArray,a.x,a.y,l.x,l.y,0,0,n),$h(this.layoutVertexArray,a.x,a.y,l.x,l.y,0,1,n),n+=u,$h(this.layoutVertexArray,o.x,o.y,c.x,c.y,0,0,n),$h(this.layoutVertexArray,o.x,o.y,c.x,c.y,0,1,n);let d=t.segment.vertexLength;this.indexArray.emplaceBack(d,d+2,d+1),this.indexArray.emplaceBack(d+1,d+2,d+3),t.segment.vertexLength+=4,t.segment.primitiveLength+=2}}};function tg(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++)}}K(`FillExtrusionBucket`,eg,{omit:[`layers`,`features`]});var ng,rg=()=>ng||=new Au({"fill-extrusion-rounded-corner-distance":new q(B[`layout_fill-extrusion`][`fill-extrusion-rounded-corner-distance`],`fill-extrusion-rounded-corner-distance`)}),ig,ag=()=>ig||=new Au({"fill-extrusion-opacity":new q(B[`paint_fill-extrusion`][`fill-extrusion-opacity`],`fill-extrusion-opacity`),"fill-extrusion-color":new J(B[`paint_fill-extrusion`][`fill-extrusion-color`],`fill-extrusion-color`),"fill-extrusion-translate":new q(B[`paint_fill-extrusion`][`fill-extrusion-translate`],`fill-extrusion-translate`),"fill-extrusion-translate-anchor":new q(B[`paint_fill-extrusion`][`fill-extrusion-translate-anchor`],`fill-extrusion-translate-anchor`),"fill-extrusion-pattern":new Du(B[`paint_fill-extrusion`][`fill-extrusion-pattern`],`fill-extrusion-pattern`),"fill-extrusion-height":new J(B[`paint_fill-extrusion`][`fill-extrusion-height`],`fill-extrusion-height`),"fill-extrusion-base":new J(B[`paint_fill-extrusion`][`fill-extrusion-base`],`fill-extrusion-base`),"fill-extrusion-vertical-gradient":new q(B[`paint_fill-extrusion`][`fill-extrusion-vertical-gradient`],`fill-extrusion-vertical-gradient`)}),og={get paint(){return ag()},get layout(){return rg()}},sg=e=>e.type===`fill-extrusion`,cg=class extends Nu{constructor(e,t){super(e,og,t)}createBucket(e){return new eg(e)}queryRadius(){return Yf(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=Xf(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=pg(s,o,0),d=fg(r,l,c,o),f=d[0],p=d[1];return dg(f,p,u)}};function lg(e,t){return e.x*t.x+e.y*t.y}function ug(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=lg(s,s),d=lg(s,c),f=lg(c,c),p=lg(l,s),m=lg(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 dg(e,t,n){let r=1/0;Lf(n,t)&&(r=ug(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];Ff(n,c)&&(r=Math.min(r,ug(n,c)))}}return r!==1/0&&r}function fg(e,t,n,r){let i=[],a=[],o=r[8]*t,s=r[9]*t,c=r[10]*t,l=r[11]*t,u=r[8]*n,d=r[9]*n,f=r[10]*n,p=r[11]*n;for(let t of e){let e=[],n=[];for(let i of t){let t=i.x,a=i.y,m=r[0]*t+r[4]*a+r[12],h=r[1]*t+r[5]*a+r[13],g=r[2]*t+r[6]*a+r[14],_=r[3]*t+r[7]*a+r[15],v=m+o,y=h+s,b=g+c,x=_+l,S=m+u,C=h+d,w=g+f,T=_+p,E=new j(v/x,y/x);E.z=b/x,e.push(E);let D=new j(S/T,C/T);D.z=w/T,n.push(D)}i.push(e),a.push(n)}return[i,a]}function pg(e,t,n){let r=[];for(let i of e){let e=[i.x,i.y,n,1];Lt(e,e,t),r.push(new j(e[0]/e[3],e[1]/e[3]))}return r}var mg=Hu([{name:`a_pos_normal`,components:2,type:`Int16`},{name:`a_data`,components:4,type:`Uint8`},{name:`a_offset_normal`,components:2,type:`Int8`}],2),hg=mg.members;mg.size,mg.alignment;var gg=Hu([{name:`a_uv_x`,components:1,type:`Float32`},{name:`a_split_index`,components:1,type:`Float32`}]),_g=gg.members;gg.size,gg.alignment;var vg=Math.cos(75/2*(Math.PI/180)),yg=1/2,bg=2**14/yg,xg=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 Nd,this.layoutVertexArray2=new Pd,this.indexArray=new Wd,this.programConfigurations=new wf(e.layers,e.zoom),this.segments=new Yd,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){this.hasDependencies=Up(`line`,this.layers,t)||this.hasLineDasharray(this.layers);let r=this.layers[0].layout.get(`line-sort-key`),i=!r.isConstant(),a=[],o=new gu(this.zoom),s=this.layers[0]._featureFilter.needGeometry;for(let{feature:t,id:c,index:l,sourceLayerIndex:u}of e){let e=jf(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:Af(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?(Up(`line`,this.layers,t)?Wp(`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,_g)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,hg),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.geojsonvt_clip_start,end:+e.properties.geojsonvt_clip_end}}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=Km(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=_h.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*N/(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<vg&&h&&g,S=_.x*v.y-_.y*v.x>0,C=o.mult(Math.min(y,2)),w=P((y-3)/5,0,1);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 T=h&&g,E=T?n:l?`butt`:r;if(T&&E===`round`&&(y<a?E=`miter`:y<=2&&(E=`fakeround`)),E===`miter`&&y>i&&(E=`bevel`),E===`bevel`&&(y>2&&(E=`flipbevel`),y<i&&(E=`miter`)),h&&this.updateDistance(h,m),E===`miter`)o._mult(y),this.addCurrentVertex(m,o,0,0,p,!1,C);else if(E===`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,!1,C,w),this.addCurrentVertex(m,o.mult(-1),0,0,p,!1,C,w)}else if(E===`bevel`||E===`fakeround`){let e=-Math.sqrt(y*y-1),t=S?e:0,n=S?0:e;if(h&&this.addCurrentVertex(m,_,t,n,p,!1,C),E===`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,S?-C.x:C.x,S?-C.y:C.y,!1,S,p)}}g&&this.addCurrentVertex(m,v,-t,-n,p,!1,C)}else if(E===`butt`)this.addCurrentVertex(m,o,0,0,p,!1,C);else if(E===`square`){let e=h?1:-1;this.addCurrentVertex(m,o,e,e,p,!1,C)}else E===`round`&&(h&&(this.addCurrentVertex(m,_,0,0,p,!1,C,w),this.addCurrentVertex(m,_,1,1,p,!0,C,w)),g&&(this.addCurrentVertex(m,v,-1,-1,p,!0,C,w),this.addCurrentVertex(m,v,0,0,p,!1,C,w)));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,o=t,s=0){let c=t.x+t.y*n,l=t.y-t.x*n,u=-t.x+t.y*r,d=-t.y-t.x*r,f=o.x+(t.x-o.x)*s,p=o.y+(t.y-o.y)*s;this.addHalfVertex(e,c,l,f,p,a,!1,i),this.addHalfVertex(e,u,d,-f,-p,a,!0,i),this.distance>bg/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(e,t,n,r,i,a,o,s))}addHalfVertex({x:e,y:t},n,r,i,a,o,s,c){let l=(this.lineClips?this.scaledDistance*(bg-1):this.scaledDistance)*yg;if(this.layoutVertexArray.emplaceBack((e<<1)+ +!!o,(t<<1)+ +!!s,Math.round(63*n)+128,Math.round(63*r)+128,(l&63)<<2,l>>6,Math.round(63*i),Math.round(63*a)),this.lineClips){let e=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(e,this.lineClipsArray.length)}let u=c.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,u,this.e2),c.primitiveLength++),s?this.e2=u:this.e1=u}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}}}};K(`LineBucket`,xg,{omit:[`layers`,`patternFeatures`]});var Sg,Cg=()=>Sg||=new Au({"line-cap":new J(B.layout_line[`line-cap`],`line-cap`),"line-join":new J(B.layout_line[`line-join`],`line-join`),"line-miter-limit":new J(B.layout_line[`line-miter-limit`],`line-miter-limit`),"line-round-limit":new J(B.layout_line[`line-round-limit`],`line-round-limit`),"line-sort-key":new J(B.layout_line[`line-sort-key`],`line-sort-key`)}),wg,Tg=()=>wg||=new Au({"line-opacity":new J(B.paint_line[`line-opacity`],`line-opacity`),"line-layer-opacity":new q(B.paint_line[`line-layer-opacity`],`line-layer-opacity`),"line-color":new J(B.paint_line[`line-color`],`line-color`),"line-translate":new q(B.paint_line[`line-translate`],`line-translate`),"line-translate-anchor":new q(B.paint_line[`line-translate-anchor`],`line-translate-anchor`),"line-width":new J(B.paint_line[`line-width`],`line-width`),"line-gap-width":new J(B.paint_line[`line-gap-width`],`line-gap-width`),"line-offset":new J(B.paint_line[`line-offset`],`line-offset`),"line-blur":new J(B.paint_line[`line-blur`],`line-blur`),"line-dasharray":new Du(B.paint_line[`line-dasharray`],`line-dasharray`),"line-pattern":new Du(B.paint_line[`line-pattern`],`line-pattern`),"line-gradient":new ku(B.paint_line[`line-gradient`],`line-gradient`)}),Eg={get paint(){return Tg()},get layout(){return Cg()}},Dg=class extends J{possiblyEvaluate(e,t){return t=new gu(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=F({},t,{zoom:Math.floor(t.zoom)}),super.evaluate(e,t,n,r)}},Og,kg=e=>e.type===`line`,Ag=class extends Nu{constructor(e,t){super(e,Eg,t),this.gradientVersion=0,Og||(Og=new Dg(Eg.paint.properties[`line-width`].specification,`line-floorwidth`),Og.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(e){if(e===`line-gradient`){let e=this.gradientExpression();this.stepInterpolant=Ec(e)?e._styleExpression.expression instanceof za:!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`]=Og.possiblyEvaluate(this._transitioningPaint._values[`line-width`].value,e)}createBucket(e){return new xg(e)}queryRadius(e){let t=e,n=jg(Jf(`line-width`,this,t),Jf(`line-gap-width`,this,t)),r=Jf(`line-offset`,this,t);return n/2+Math.abs(r)+Yf(this.paint.get(`line-translate`))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a}){let o=Xf(e,this.paint.get(`line-translate`),this.paint.get(`line-translate-anchor`),-i.bearingInRadians,a),s=a/2*jg(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=Qf(r,c*a)),Rf(o,r,s)}isTileClipped(){return!0}};function jg(e,t){return t>0?t+2*e:e}var Mg=Hu([{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),Ng=Hu([{name:`a_projected_pos`,components:3,type:`Float32`}],4);Hu([{name:`a_fade_opacity`,components:1,type:`Uint32`}],4);var Pg=Hu([{name:`a_placed`,components:2,type:`Uint8`},{name:`a_shift`,components:2,type:`Float32`},{name:`a_box_real`,components:2,type:`Int16`}]);Hu([{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 Fg=Hu([{name:`a_pos`,components:2,type:`Int16`},{name:`a_anchor_pos`,components:2,type:`Int16`},{name:`a_extrude`,components:2,type:`Int16`}],4),Ig=Hu([{name:`a_pos`,components:2,type:`Float32`},{name:`a_radius`,components:1,type:`Float32`},{name:`a_flags`,components:2,type:`Int16`}],4);Hu([{name:`triangle`,components:3,type:`Uint16`}]),Hu([{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`}]);var Lg=Hu([{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`}]);Hu([{type:`Float32`,name:`offsetX`}]),Hu([{type:`Int16`,name:`x`},{type:`Int16`,name:`y`},{type:`Int16`,name:`tileUnitDistanceFromAnchor`}]),Hu([{type:`Uint16`,name:`textAnchor`},{type:`Float32`,components:2,name:`textOffset`}]);var Rg=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(Rg.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 zg(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 Bg(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 Vg(e){return/[\u02EA\u02EB\u1100-\u11FF\u2E80-\u2FDF\u3000-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFE10-\uFE1F\uFE30-\uFE4F\uFF00-\uFFEF]|\uD81B[\uDFE0-\uDFFF]|[\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFFF]|\uD82C[\uDC00-\uDEFB]|\uD83C[\uDE00-\uDEFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]/gim.test(String.fromCodePoint(e))}function Hg(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 Ug(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 Wg(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 Gg(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 Kg(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 qg(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 Jg={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`},Yg={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]},Xg={لآ:[65269,65270],لأ:[65271,65272],لإ:[65273,65274],لا:[65275,65276]},Zg=1604,Qg=/[\u0600-\u06ff\u0750-\u077f\u0870-\u089f\u08a0-\u08ff\ufb50-\ufdff\ufe70-\ufeff]/;function $g(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 e_=new Map;for(let[e,t]of Object.entries(Jg))$g(t,e,e_);function t_(e){return e_.get(e)??`U`}function n_(e){return e===`D`||e===`L`||e===`C`}function r_(e){return e===`D`||e===`R`||e===`C`}function i_(e,t,n){return e===`D`?t&&n?3:t?1:n?2:0:e===`R`?+!!t:e===`L`?n?2:0:null}function a_(e){return[...e].map(e=>{let t=e.codePointAt(0);return{codePoint:t,type:t_(t),form:null}})}function o_(e){let t=e.filter(e=>e.type!==`T`);for(let e=0;e<t.length;e++){let n=t[e],r=e>0&&n_(t[e-1].type),i=e+1<t.length&&r_(t[e+1].type);n.form=i_(n.type,r,i)}}function s_(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 c_(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.codePoint!==Zg){t.push(r);continue}let i=n+1;for(;i<e.length&&e[i].type===`T`;)i++;let a=e[i],o=a&&Xg[String.fromCodePoint(Zg,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 l_(e){if(e.form===null)return e.codePoint;let t=Yg[e.codePoint];return t&&(t[e.form]||t[0])||e.codePoint}function u_(e){if(!Qg.test(e))return e;let t=a_(e);return o_(t),s_(t),c_(t).map(e=>String.fromCodePoint(l_(e))).join(``)}function d_(e,t,n){let r=t.layout.get(`text-transform`).evaluate(n,{});return r===`uppercase`?e=e.toLocaleUpperCase():r===`lowercase`&&(e=e.toLocaleLowerCase()),(Rg.applyArabicShaping??u_)(e)}function f_(e,t,n){for(let r of e.sections)r.text=d_(r.text,t,n);return e}function p_(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 m_(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 h_(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 g_(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 __(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=p_(e,o),c=p_(e,o,!0);if(s in n&&c in t&&n[s]!==t[c]){let i=g_(r,t,s,c,o),a=h_(r,n,s,c,r[i]);delete t[s],delete n[c],n[p_(e,r[a],!0)]=a,r[i].feature.geometry=null}else if(s in n)h_(r,n,s,c,o);else if(c in t)g_(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]=m_(e)),i.push(t))}return i}var v_=typeof Intl<`u`&&`Segmenter`in Intl,y_,b_;function x_(e){if(!v_||!Gg(e))return[...e];y_??=new Intl.Segmenter(void 0,{granularity:`grapheme`});let t=[];for(let{segment:n}of y_.segment(e)){let e=t.length-1;e>=0&&qg(t[e],n)?t[e]+=n:t.push(n)}return t}function S_(e){let t=new Set;if(v_){b_??=new Intl.Segmenter(void 0,{granularity:`word`});for(let{index:n}of b_.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 C_(e){let t=e.codePointAt(0);return e.length>(t>65535?2:1)}function w_(e){return/\s/u.test(String.fromCodePoint(e))}function T_(e){for(let t of e)if(Ug(t.codePointAt(0)))return!0;return!1}function E_(e){for(let t of e)if(!D_(t.codePointAt(0)))return!1;return!0}function D_(e){return!zg(e)}function O_(e){return!(Ug(e)||Wg(e))}function k_(e){return/\p{sc=Arab}/u.test(String.fromCodePoint(e))}function A_(e){return Bg(e)}function j_(e){for(let t of e)if(A_(t.codePointAt(0)))return!0;return!1}var M_={"!":`︕`,"#":`#`,$:`$`,"%":`%`,"&":`&`,"(":`︵`,")":`︶`,"*":`*`,"+":`+`,",":`︐`,"-":`︲`,".":`・`,"/":`/`,":":`︓`,";":`︔`,"<":`︿`,"=":`=`,">":`﹀`,"?":`︖`,"@":`@`,"[":`﹇`,"\\":`\`,"]":`﹈`,"^":`^`,_:`︳`,"`":```,"{":`︷`,"|":`―`,"}":`︸`,"~":`~`,"¢":`¢`,"£":`£`,"¥":`¥`,"¦":`¦`,"¬":`¬`,"¯":` ̄`,"–":`︲`,"—":`︱`,"‘":`﹃`,"’":`﹄`,"“":`﹁`,"”":`﹂`,"…":`︙`,"⋯":`︙`,"‧":`・`,"₩":`₩`,"、":`︑`,"。":`︒`,"〈":`︿`,"〉":`﹀`,"《":`︽`,"》":`︾`,"「":`﹁`,"」":`﹂`,"『":`﹃`,"』":`﹄`,"【":`︻`,"】":`︼`,"〔":`︹`,"〕":`︺`,"〖":`︗`,"〗":`︘`,"!":`︕`,"(":`︵`,")":`︶`,",":`︐`,"-":`︲`,".":`・`,":":`︓`,";":`︔`,"<":`︿`,">":`﹀`,"?":`︖`,"[":`﹇`,"]":`﹈`,"_":`︳`,"{":`︷`,"|":`―`,"}":`︸`,"⦅":`︵`,"⦆":`︶`,"。":`︒`,"「":`﹁`,"」":`﹂`};function N_(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||!O_(o.value.codePointAt(0))||M_[o.value])&&(n.premature||!O_(n.value.codePointAt(0))||M_[n.value])&&M_[i.value]?t+=M_[i.value]:t+=i.value,n={value:i.value,premature:!1},i=r.next(),o=a.next();return t}var P_={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},F_={40:!0};function I_(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 L_(e,t,n,r){let i=(e-t)**2;return r?e<t?i/2:i*2:i+Math.abs(n)*n}function R_(e){return/^\s+$/u.test(e)}function z_(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 B_(e,t,n,r,i,a){let o=null,s=L_(t,n,i,a);for(let e of r){let r=L_(t-e.x,n,i,a)+e.badness;r<=s&&(o=e,s=r)}return{index:e,x:t,priorBreak:o,badness:s}}function V_(e){return e?V_(e.priorBreak).concat(e.index):[]}var H_=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??=x_(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=N_(this.text),this._graphemes=null}hasZeroWidthSpaces(){return this.text.includes(`​`)}trim(){let e=this.graphemes(),t=0;for(;t<e.length&&R_(e[t]);)t++;let n=e.length;for(;n>t&&R_(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=x_(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){Rn(`Can't add FormattedSection with an empty image.`);return}let n=this.getNextImageSectionCharCode();if(!n){Rn(`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=this.determineTotalWidth(e,n,r,i);if(e>=0&&a>0&&a<=t&&!/[\n\r]/.test(this.text))return[this.length()];let o=[],s=a/Math.max(1,Math.ceil(a/t)),c=this.hasZeroWidthSpaces(),l=this.graphemes(),u=null,d=0,f=0;for(let t=0;t<l.length;t++){let a=l[t];if(t>0){let e=l[t-1].codePointAt(0),n=a.codePointAt(0),r=Hg(e),i=Kg(e)&&Kg(n);(P_[e]||r||`imageName`in this.getSection(t-1)||l[t+1]!==void 0&&F_[n]||i&&(u??=S_(this.text)).has(f))&&o.push(B_(t,d,s,o,z_(e,n,r&&c),!1))}w_(a.codePointAt(0))||(d+=I_(a,this.getSection(t),n,r,e,i)),f+=a.length}return V_(B_(this.length(),d,s,o,0,!0))}determineTotalWidth(e,t,n,r){let i=0,a=0;for(let o of this.graphemes()){let s=this.getSection(a);i+=I_(o,s,t,n,e,r),a++}return i}};function U_(){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,O=n.CS,k=n.B,A=n.S,ee=n.ON,te=n.BN,ne=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:cn(_,!1)}),r[_]&k&&(g.end=_,g=null);for(var v=se|oe|ae|ie|i|fe|ce|k,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 ge=[{_level:g.level,_override:0,_isolate:0}],_e=void 0,ve=0,ye=0,be=0;u.clear();for(var xe=g.start;xe<=g.end;xe++){var Se=r[xe];if(_e=ge[ge.length-1],u.set(Se,(u.get(Se)||0)+1),Se&o&&u.set(o,(u.get(o)||0)+1),Se&v){if(Se&(se|oe)){p[xe]=_e._level;var Ce=(Se===se?me:pe)(_e._level);Ce<=n&&!ve&&!ye?ge.push({_level:Ce,_override:0,_isolate:0}):ve||ye++}else if(Se&(ae|ie)){p[xe]=_e._level;var we=(Se===ae?me:pe)(_e._level);we<=n&&!ve&&!ye?ge.push({_level:we,_override:Se&ae?C:S,_isolate:0}):ve||ye++}else if(Se&i){Se&de&&(Se=cn(xe+1,!0)===1?ue:le),p[xe]=_e._level,_e._override&&f(xe,_e._override);var Te=(Se===ue?me:pe)(_e._level);Te<=n&&ve===0&&ye===0?(be++,ge.push({_level:Te,_override:0,_isolate:1,_isolInitIndex:xe})):ve++}else if(Se&fe){if(ve>0)ve--;else if(be>0){for(ye=0;!ge[ge.length-1]._isolate;)ge.pop();var Ee=ge[ge.length-1]._isolInitIndex;Ee!=null&&(m.set(Ee,xe),m.set(xe,Ee)),ge.pop(),be--}_e=ge[ge.length-1],p[xe]=_e._level,_e._override&&f(xe,_e._override)}else Se&ce?(ve===0&&(ye>0?ye--:!_e._isolate&&ge.length>1&&(ge.pop(),_e=ge[ge.length-1])),p[xe]=_e._level):Se&k&&(p[xe]=g.level)}else p[xe]=_e._level,_e._override&&Se!==te&&f(xe,_e._override)}for(var De=[],Oe=null,ke=g.start;ke<=g.end;ke++){var Ae=r[ke];if(!(Ae&s)){var je=p[ke],j=Ae&i,Me=Ae===fe;Oe&&je===Oe._level?(Oe._end=ke,Oe._endsWithIsolInit=j):De.push(Oe={_start:ke,_end:ke,_level:je,_startsWithPDI:Me,_endsWithIsolInit:j})}}for(var Ne=[],Pe=0;Pe<De.length;Pe++){var Fe=De[Pe];if(!Fe._startsWithPDI||Fe._startsWithPDI&&!m.has(Fe._start)){for(var Ie=[Oe=Fe],Le=void 0;Oe&&Oe._endsWithIsolInit&&(Le=m.get(Oe._end))!=null;)for(var Re=Pe+1;Re<De.length;Re++)if(De[Re]._start===Le){Ie.push(Oe=De[Re]);break}for(var ze=[],Be=0;Be<Ie.length;Be++)for(var Ve=Ie[Be],He=Ve._start;He<=Ve._end;He++)ze.push(He);for(var Ue=p[ze[0]],We=g.level,Ge=ze[0]-1;Ge>=0;Ge--)if(!(r[Ge]&s)){We=p[Ge];break}var Ke=ze[ze.length-1],qe=p[Ke],Je=g.level;if(!(r[Ke]&i)){for(var Ye=Ke+1;Ye<=g.end;Ye++)if(!(r[Ye]&s)){Je=p[Ye];break}}Ne.push({_seqIndices:ze,_sosType:Math.max(We,Ue)%2?C:S,_eosType:Math.max(Je,qe)%2?C:S})}}for(var Xe=0;Xe<Ne.length;Xe++){var Ze=Ne[Xe],M=Ze._seqIndices,Qe=Ze._sosType,$e=Ze._eosType,et=p[M[0]]&1?C:S;if(u.get(ne))for(var tt=0;tt<M.length;tt++){var nt=M[tt];if(r[nt]&ne){for(var rt=Qe,it=tt-1;it>=0;it--)if(!(r[M[it]]&s)){rt=r[M[it]];break}f(nt,rt&(i|fe)?ee:rt)}}if(u.get(w))for(var at=0;at<M.length;at++){var ot=M[at];if(r[ot]&w)for(var st=at-1;st>=-1;st--){var ct=st===-1?Qe:r[M[st]];if(ct&a){ct===re&&f(ot,D);break}}}if(u.get(re))for(var lt=0;lt<M.length;lt++){var ut=M[lt];r[ut]&re&&f(ut,C)}if(u.get(T)||u.get(O))for(var dt=1;dt<M.length-1;dt++){var ft=M[dt];if(r[ft]&(T|O)){for(var pt=0,mt=0,ht=dt-1;ht>=0&&(pt=r[M[ht]],pt&s);ht--);for(var gt=dt+1;gt<M.length&&(mt=r[M[gt]],mt&s);gt++);pt===mt&&(r[ft]===T?pt===w:pt&(w|D))&&f(ft,pt)}}if(u.get(w)){for(var _t=0;_t<M.length;_t++)if(r[M[_t]]&w){for(var vt=_t-1;vt>=0&&r[M[vt]]&(E|s);vt--)f(M[vt],w);for(_t++;_t<M.length&&r[M[_t]]&(E|s|w);_t++)r[M[_t]]!==w&&f(M[_t],w)}}if(u.get(E)||u.get(T)||u.get(O))for(var yt=0;yt<M.length;yt++){var bt=M[yt];if(r[bt]&(E|T|O)){f(bt,ee);for(var xt=yt-1;xt>=0&&r[M[xt]]&s;xt--)f(M[xt],ee);for(var St=yt+1;St<M.length&&r[M[St]]&s;St++)f(M[St],ee)}}if(u.get(w))for(var Ct=0,wt=Qe;Ct<M.length;Ct++){var Tt=M[Ct],Et=r[Tt];Et&w?wt===S&&f(Tt,S):Et&a&&(wt=Et)}if(u.get(o)){for(var Dt=C|w|D,Ot=Dt|S,kt=[],At=[],jt=0;jt<M.length;jt++)if(r[M[jt]]&o){var Mt=e[M[jt]],Nt=void 0;if(y(Mt)!==null){if(At.length<63)At.push({char:Mt,seqIndex:jt});else break}else if((Nt=b(Mt))!==null)for(var Pt=At.length-1;Pt>=0;Pt--){var Ft=At[Pt].char;if(Ft===Nt||Ft===b(x(Mt))||y(x(Ft))===Mt){kt.push([At[Pt].seqIndex,jt]),At.length=Pt;break}}}kt.sort(function(e,t){return e[0]-t[0]});for(var It=0;It<kt.length;It++){for(var Lt=kt[It],Rt=Lt[0],zt=Lt[1],Bt=!1,Vt=0,Ht=Rt+1;Ht<zt;Ht++){var Ut=M[Ht];if(r[Ut]&Ot){Bt=!0;var Wt=r[Ut]&Dt?C:S;if(Wt===et){Vt=Wt;break}}}if(Bt&&!Vt){Vt=Qe;for(var Gt=Rt-1;Gt>=0;Gt--){var Kt=M[Gt];if(r[Kt]&Ot){var qt=r[Kt]&Dt?C:S;Vt=qt===et?et:qt;break}}}if(Vt){if(r[M[Rt]]=r[M[zt]]=Vt,Vt!==et){for(var Jt=Rt+1;Jt<M.length;Jt++)if(!(r[M[Jt]]&s)){d(e[M[Jt]])&ne&&(r[M[Jt]]=Vt);break}}if(Vt!==et){for(var Yt=zt+1;Yt<M.length;Yt++)if(!(r[M[Yt]]&s)){d(e[M[Yt]])&ne&&(r[M[Yt]]=Vt);break}}}}for(var Xt=0;Xt<M.length;Xt++)if(r[M[Xt]]&o){for(var Zt=Xt,Qt=Xt,$t=Qe,en=Xt-1;en>=0;en--)if(r[M[en]]&s)Zt=en;else{$t=r[M[en]]&Dt?C:S;break}for(var N=$e,tn=Xt+1;tn<M.length;tn++)if(r[M[tn]]&(o|s))Qt=tn;else{N=r[M[tn]]&Dt?C:S;break}for(var nn=Zt;nn<=Qt;nn++)r[M[nn]]=$t===N?$t:et;Xt=Qt}}}for(var rn=g.start;rn<=g.end;rn++){var an=p[rn],on=r[rn];if(an&1?on&(S|w|D)&&p[rn]++:on&C?p[rn]++:on&(D|w)&&(p[rn]+=2),on&s&&(p[rn]=rn===0?g.level:p[rn-1]),rn===g.end||d(e[rn])&(A|k))for(var sn=rn;sn>=0&&d(e[sn])&c;sn--)p[sn]=g.level}}return{levels:p,paragraphs:h};function cn(t,n){for(var a=t;a<e.length;a++){var o=r[a];if(o&(C|re))return 1;if(o&(k|S)||n&&o===fe)return 0;if(o&i){var s=ln(a);a=s===-1?e.length:s}}return 0}function ln(t){for(var n=1,a=t+1;a<e.length;a++){var o=r[a];if(o&k)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 ge(){if(!he){var e=m(me,!0),t=e.map;e.reverseMap.forEach(function(e,n){t.set(n,e)}),he=t}}function _e(e){return ge(),he.get(e)||null}function ve(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=_e(e[o]);s!==null&&a.set(o,s)}return a}function ye(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 be(e,t,n,r){var i=xe(e,t,n,r),a=[].concat(e);return i.forEach(function(n,r){a[r]=(t.levels[n]&1?_e(e[n]):null)||e[n]}),a.join(``)}function xe(e,t,n,r){for(var i=ye(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=_e,e.getMirroredCharactersMap=ve,e.getReorderSegments=ye,e.getReorderedIndices=xe,e.getReorderedString=be,e.openingToClosingBracket=y,Object.defineProperty(e,"__esModule",{value:!0}),e})({})}var W_=U_(),G_=/[\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/,K_=new Set([`WS`,`FSI`,`LRI`,`RLI`,`PDI`]),q_=new Set([`S`,`B`]);function J_(e,t,n,r){let i=[],a=n;for(let o of x_(e.slice(n,r)))i.push({index:a,text:o,level:t[a]}),a+=o.length;return i}function Y_(e,t){let n=!0;for(let r=e.length-1;r>=0;r--){let i=W_.getBidiCharTypeName(e[r].text[0]);q_.has(i)?(e[r].level=t,n=!0):n&&K_.has(i)?e[r].level=t:n=!1}}function X_(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 Z_(e){return e.level%2==0?e.text:W_.getMirroredCharacter(e.text)??e.text}function Q_(e,t){return e.find(e=>t>=e.start&&t<=e.end)?.level??0}function $_(e,t,n,r,i){let a=J_(e,t,r,i);Y_(a,n);let o=``,s=[];for(let e of X_(a,n)){if(G_.test(e.text))continue;let t=Z_(e);o+=t,s.push(...Array(t.length).fill(e.index))}return{text:o,sourceIndices:s}}function ev(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 tv(e,t){let{levels:n,paragraphs:r}=W_.getEmbeddingLevels(e);return ev(e,t.concat(r.map(e=>e.start))).map(([t,i])=>$_(e,n,Q_(r,t),t,i))}function nv(e,t){return tv(e,t).map(e=>e.text)}function rv(e,t,n){return tv(e,n).map(e=>[e.text,e.sourceIndices.map(e=>t[e]??0)])}var iv=4294967296,av=typeof TextDecoder>`u`?null:new TextDecoder(`utf-8`),ov=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)*iv;return this.pos+=8,e}readSFixed64(){let e=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*iv;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,sv(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&&av?av.decode(this.buf.subarray(t,e)):lv(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}`)}};function sv(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 cv(e,i,t);throw Error(`Expected varint not more than 10 bytes`)}function cv(e,t,n){return n?t*4294967296+(e>>>0):(t>>>0)*4294967296+(e>>>0)}function lv(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 uv(e,t,n){e===1&&n.readMessage(dv,t)}function dv(e,t,n){if(e===3){let{id:e,bitmap:r,width:i,height:a,left:o,top:s,advance:c}=n.readMessage(fv,{});t.push({id:e,bitmap:new bp({width:i+6,height:a+6},r),metrics:{width:i,height:a,left:o,top:s,advance:c}})}}function fv(e,t,n){e===1?t.id=n.readVarint():e===2?t.bitmap=n.readBytes():e===3?t.width=n.readVarint():e===4?t.height=n.readVarint():e===5?t.left=n.readSVarint():e===6?t.top=n.readSVarint():e===7&&(t.advance=n.readVarint())}function pv(e){return new ov(e).readFields(uv,[])}function mv(e){return typeof e?.renderWithWebGL==`function`}function hv(e){let{userImage:t}=e;return!t?.render||!t.render()?!1:(mv(t.data)||e.data.replace(new Uint8Array(t.data.buffer)),!0)}function gv(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 _v=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]}},vv=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}=gv(i),s=new xp({width:a||1,height:o||1});for(let t in e){let r=e[t];if(r.isWebGLImage)continue;let i=n[t].paddedRect;xp.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;xp.copy(n.data,s,{x:0,y:0},{x:a,y:o},n.data),xp.copy(n.data,s,{x:0,y:l-1},{x:a,y:o-1},{width:c,height:1}),xp.copy(n.data,s,{x:0,y:0},{x:a,y:o+l},{width:c,height:1}),xp.copy(n.data,s,{x:c-1,y:0},{x:a-1,y:o},{width:1,height:l}),xp.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 _v(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(!mv(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()}};K(`ImagePosition`,_v),K(`ImageAtlas`,vv);var yv=function(e){return e[e.none=0]=`none`,e[e.horizontal=1]=`horizontal`,e[e.vertical=2]=`vertical`,e[e.horizontalOnly=3]=`horizontalOnly`,e}(yv||{});function bv(e){for(let t of e)if(t.positionedGlyphs.length!==0)return!1;return!0}function xv(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 Sv=/^\p{gc=M}$/u;function Cv(e){let t=[],n=0;for(;n<e.length;){if(!Sv.test(e[n])){t.push(n),n++;continue}let r=n;for(;r<e.length&&Sv.test(e[r]);)r++;let i=e[r];if(i!==void 0&&A_(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 wv(e){let t=[],n=0;for(let r of e.graphemes())t.push(...Array(r.length).fill(e.sectionIndex[n])),n++;return t}function Tv(e,t){let n=t.map(t=>e.toCodeUnitIndex(t)),r=Rg.isParsed()?Rg:null;if(e.sections.length===1)return r?r.processBidirectionalText(e.toString(),n).map(t=>Ov(t,e.sections,[...t].map(()=>0))):nv(e.toString(),n).map(t=>Ev([...t],e.sections,[...t].map(()=>0)));let i=wv(e);return r?r.processStyledBidirectionalText(e.text,i,n).map(([t,n])=>Ov(t,e.sections,n)):rv(e.text,i,n).map(([t,n])=>{let r=[...t];return Ev(r,e.sections,Dv(r).map(e=>n[e]??0))})}function Ev(e,t,n){let r=new H_(e.join(``),t,[]),i=0;for(let e of r.graphemes())r.sectionIndex.push(n[i]??0),i+=[...e].length;return r}function Dv(e){let t=[],n=0;for(let r of e)t.push(n),n+=r.length;return t}function Ov(e,t,n){let r=[...e],i=Dv(r),a=Cv(r);return Ev(a.map(e=>r[e]),t,a.map(e=>n[i[e]]??0))}function kv(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m){let h=H_.fromFeature(e,i);d===2&&h.verticalizePunctuation();let g=h.determineLineBreaks(l,a,t,r,p),_=j_(h.text)?Tv(h,g):xv(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 Hv(y,t,n,r,_,o,s,c,d,l,f,m),!bv(v)&&y}function Av(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 jv(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 Mv(e){switch(e){case`top`:return 0;case`center`:return .5;default:return 1}}function Nv(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 Pv(e,t,n){return!(e===1||!t&&!Ug(n)||t&&(w_(n)||k_(n)))}function Fv(e){return/\p{Nd}/u.test(String.fromCodePoint(e))}function Iv(e){return/\p{Lu}/u.test(String.fromCodePoint(e))}function Lv(e){return/[\p{P}\p{S}]/u.test(String.fromCodePoint(e))}function Rv(e){let t=e.some(Fv)&&e.every(e=>Fv(e)||Lv(e)),n=e.length<=3&&e.every(e=>Iv(e)||Fv(e));return t||n}function zv(e){return(Fv(e)||Iv(e))&&!k_(e)}function Bv(e,t){let n=!1;for(let r=0;r<e.length;r++){if(t[r])continue;let i=M_[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 Vv(e){let t=e.graphemes().slice(),n=t.map(e=>e.codePointAt(0)),r=n.map(Ug),i=t=>!r[t]&&!w_(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(Rv(n.slice(e,t+1)))for(let i=e;i<=t;i++)r[i]=zv(n[i]);e=t}return Bv(t,r)&&(e.text=t.join(``),e._graphemes=null),r}function Hv(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=jv(r,o,_),x=c===2&&!u?Vv(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]:Pv(c,u,h),v=`fontStack`in s&&C_(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=Uv(s,c,g,b,t,n),!m)continue;u.fontStack=s.fontStack}else{if(e.iconsInText=!0,s.scale*=_,m=Wv(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),Gv(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}=Av(o);Kv(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 Uv(e,t,n,r,i,a){let o=a[e.fontStack]?.default?.[t],s=Nv(o,i,e,t);if(s===null)return null;let c;if(n)c=r.verticalLineContentWidth-e.scale*24;else{let t=Mv(e.verticalAlign);c=(r.horizontalLineContentHeight-e.scale*24)*t}return{rect:s.rect,metrics:s.metrics,baselineOffset:c}}function Wv(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=Mv(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 Gv(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 Kv(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 qv(e,t,n){let{horizontalAlign:r,verticalAlign:i}=Av(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 Jv(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 Yv(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 Xv=32640;function Zv(e,t){let{expression:n}=t;if(n.kind===`constant`)return{kind:`constant`,layoutSize:n.evaluate(new gu(e+1))};if(n.kind===`source`)return{kind:`source`};if(n.kind===`composite`){let{minZoom:t,maxZoom:r}=Qv(n.zoomStops,e);return{kind:`composite`,minZoom:t,maxZoom:r,interpolationType:n.interpolationType}}{let t=$v(n),r=n.evaluate(new gu(e+1));return{kind:`camera`,zoomStops:n.zoomStops,sizes:t,layoutSize:r,interpolationType:n.interpolationType}}}function Qv(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 $v(e){return e.zoomStops.map(t=>e.evaluate(new gu(t===-1/0?e.zoomStops[1]-1:t)))}function ey(e,{uSize:t,uSizeT:n},{lowerSize:r,upperSize:i}){return e.kind===`source`?r/128:e.kind===`composite`?Ua.number(r/128,i/128,n):t}function ty(e,t){let n=0,r=0;return e.kind===`constant`?r=e.layoutSize:e.kind===`camera`?r=ny(e,t):e.kind===`composite`&&(n=ry(e,t)),{uSizeT:n,uSize:r}}function ny({zoomStops:e,sizes:t,layoutSize:n,interpolationType:r},i){let a=e.length-1;for(;a>0&&e[a]>i;)a--;let o=Math.min(a+1,e.length-1),s=r?P(Va.interpolationFactor(r,i,e[a],e[o]),0,1):0;return Math.min(Ua.number(t[a],t[o],s),n)}function ry({interpolationType:e,minZoom:t,maxZoom:n},r){return e?P(Va.interpolationFactor(e,r,t,n),0,1):0}var iy=class e extends j{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)}};K(`Anchor`,iy);function ay(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 oy(e){let t=0;for(let n=0;n<e.length-1;n++)t+=e[n].dist(e[n+1]);return t}function sy(e,t,n){return e?3/5*t*n:0}function cy(e,t){return Math.max(e?e.right-e.left:0,t?t.right-t.left:0)}function ly(e,t,n,r,i,a){let o=sy(n,i,a),s=cy(n,r)*a,c=0,l=oy(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 iy(Ua.number(r.x,i.x,u),Ua.number(r.y,i.y,u),i.angleTo(r),n);return d._round(),!o||ay(e,d,s,o,t)?d:void 0}c+=a}}function uy(e,t,n,r,i,a,o,s,c){let l=sy(r,a,o),u=cy(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 dy(e,f?t/2*s%t:(u/2+p)*o*s%t,t,l,n,d,f,!1,c)}function dy(e,t,n,r,i,a,o,s,c){let l=a/2,u=oy(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,_=Ua.number(o.x,s.x,g),v=Ua.number(o.y,s.y,g);if(_>=0&&_<c&&v>=0&&v<c&&f-l>=0&&f+l<=u){let n=new iy(_,v,h,t);n._round(),(!r||ay(e,n,a,r,i))&&p.push(n)}}d+=m}return!s&&!p.length&&!o&&(p=dy(e,d/2,n,r,i,a,o,!0,c)),p}function fy(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],l=o[s+1];c.x<t&&l.x<t||(c.x<t?c=new j(t,c.y+(l.y-c.y)*((t-c.x)/(l.x-c.x)))._round():l.x<t&&(l=new j(t,c.y+(l.y-c.y)*((t-c.x)/(l.x-c.x)))._round()),!(c.y<n&&l.y<n)&&(c.y<n?c=new j(c.x+(l.x-c.x)*((n-c.y)/(l.y-c.y)),n)._round():l.y<n&&(l=new j(c.x+(l.x-c.x)*((n-c.y)/(l.y-c.y)),n)._round()),!(c.x>=r&&l.x>=r)&&(c.x>=r?c=new j(r,c.y+(l.y-c.y)*((r-c.x)/(l.x-c.x)))._round():l.x>=r&&(l=new j(r,c.y+(l.y-c.y)*((r-c.x)/(l.x-c.x)))._round()),!(c.y>=i&&l.y>=i)&&(c.y>=i?c=new j(c.x+(l.x-c.x)*((i-c.y)/(l.y-c.y)),i)._round():l.y>=i&&(l=new j(c.x+(l.x-c.x)*((i-c.y)/(l.y-c.y)),i)._round()),(!e||!c.equals(e[e.length-1]))&&(e=[c],a.push(e)),e.push(l)))))}}return a}function py(e,t,n,r){let i=[],a=e.image,o=a.pixelRatio,s=a.paddedRect.w-2,c=a.paddedRect.h-2,l={x1:e.left,y1:e.top,x2:e.right,y2:e.bottom},u=a.stretchX||[[0,s]],d=a.stretchY||[[0,c]],f=(e,t)=>e+t[1]-t[0],p=u.reduce(f,0),m=d.reduce(f,0),h=s-p,g=c-m,_=0,v=p,y=0,b=m,x=0,S=h,C=0,w=g;if(a.content&&r){let t=a.content,n=t[2]-t[0],r=t[3]-t[1];(a.textFitWidth||a.textFitHeight)&&(l=Jv(e)),_=my(u,0,t[0]),y=my(d,0,t[1]),v=my(u,t[0],t[2]),b=my(d,t[1],t[3]),x=t[0]-_,C=t[1]-y,S=n-v,w=r-b}let T=l.x1,E=l.y1,D=l.x2-T,O=l.y2-E,k=(e,r,i,s)=>{let c=gy(e.stretch-_,v,D,T),l=_y(e.fixed-x,S,e.stretch,p),u=gy(r.stretch-y,b,O,E),d=_y(r.fixed-C,w,r.stretch,m),f=gy(i.stretch-_,v,D,T),h=_y(i.fixed-x,S,i.stretch,p),g=gy(s.stretch-y,b,O,E),k=_y(s.fixed-C,w,s.stretch,m),A=new j(c,u),ee=new j(f,u),te=new j(f,g),ne=new j(c,g),re=new j(l/o,d/o),ie=new j(h/o,k/o),ae=t*Math.PI/180;if(ae){let e=Math.sin(ae),t=Math.cos(ae),n=[t,-e,e,t];A._matMult(n),ee._matMult(n),ne._matMult(n),te._matMult(n)}let oe=e.stretch+e.fixed,se=i.stretch+i.fixed,ce=r.stretch+r.fixed,le=s.stretch+s.fixed;return{tl:A,tr:ee,bl:ne,br:te,tex:{x:a.paddedRect.x+1+oe,y:a.paddedRect.y+1+ce,w:se-oe,h:le-ce},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:re,pixelOffsetBR:ie,minFontScaleX:S/o/D,minFontScaleY:w/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=hy(u,h,p),t=hy(d,g,m);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 my(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 hy(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 gy(e,t,n,r){return e/t*n+r}function _y(e,t,n,r){return e-t*n/r}function vy(e,t,n,r,i,a,o,s){let c=r.layout.get(`text-rotate`).evaluate(a,{})*Math.PI/180,l=[];for(let e of t.positionedLines)for(let r of e.positionedGlyphs){if(!r.rect)continue;let a=r.rect||{},u=4,d=!0,f=1,p=0,m=(i||s)&&r.vertical,h=r.metrics.advance*r.scale/2;if(s&&t.verticalizable){let t=(r.scale-1)*24,n=(24-r.metrics.width*r.scale)/2;p=e.lineOffset/2-(r.imageName?-n:t)}if(r.imageName){let e=o[r.imageName];d=e.sdf,f=e.pixelRatio,u=1/f}let g=i?[r.x+h,r.y]:[0,0],_=i?[0,0]:[r.x+h+n[0],r.y+n[1]-p],v=[0,0];m&&(v=_,_=[0,0]);let y=r.metrics.isDoubleResolution?2:1,b=(r.metrics.left-u)*r.scale-h+_[0],x=(-r.metrics.top-u)*r.scale+_[1],S=b+a.w/y*r.scale/f,C=x+a.h/y*r.scale/f,w=new j(b,x),T=new j(S,x),E=new j(b,C),D=new j(S,C);if(m){let e=new j(-h,h- -17),t=-Math.PI/2,n=12-h,i=r.imageName?n:0,a=new j(22-n,-i),o=new j(...v);w._rotateAround(t,e)._add(a)._add(o),T._rotateAround(t,e)._add(a)._add(o),E._rotateAround(t,e)._add(a)._add(o),D._rotateAround(t,e)._add(a)._add(o)}if(c){let e=Math.sin(c),t=Math.cos(c),n=[t,-e,e,t];w._matMult(n),T._matMult(n),E._matMult(n),D._matMult(n)}let O=new j(0,0),k=new j(0,0);l.push({tl:w,tr:T,bl:E,br:D,tex:a,writingMode:t.writingMode,glyphOffset:g,sectionIndex:r.sectionIndex,isSDF:d,pixelOffsetTL:O,pixelOffsetBR:k,minFontScaleX:0,minFontScaleY:0})}return l}var yy=class{constructor(e,t,n,r,i,a,o,s,c,l){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)?Jv(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 u=a.collisionPadding;if(u&&(c.x1-=u[0]*o,c.y1-=u[1]*o,c.x2+=u[2]*o,c.y2+=u[3]*o),l){let e=new j(c.x1,c.y1),t=new j(c.x2,c.y1),n=new j(c.x1,c.y2),r=new j(c.x2,c.y2),i=l*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}},by=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 xy(e,t=1){let n=ph.fromPoints(e[0]),r=Math.min(n.width(),n.height()),i=r/2,a=new by([],Sy),{minX:o,minY:s,maxX:c,maxY:l}=n;if(r===0)return new j(o,s);for(let t=o;t<c;t+=r)for(let n=s;n<l;n+=r)a.push(new Cy(t+i,n+i,i,e));let u=Ty(e),d=u;for(;a.length;){let n=a.pop();(n.d>d.d||!d.d)&&(d=n),!(n.max-d.d<=t)&&(i=n.h/2,a.push(new Cy(n.p.x-i,n.p.y-i,i,e)),a.push(new Cy(n.p.x+i,n.p.y-i,i,e)),a.push(new Cy(n.p.x-i,n.p.y+i,i,e)),a.push(new Cy(n.p.x+i,n.p.y+i,i,e)))}return u.d>0&&d.d-u.d<=t?u.p:d.p}function Sy(e,t){return t.max-e.max}var Cy=class{constructor(e,t,n,r){this.p=new j(e,t),this.h=n,this.d=wy(this.p,r),this.max=this.d+this.h*Math.SQRT2}};function wy(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,Uf(e,a,s))}return(n?1:-1)*Math.sqrt(r)}function Ty(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 Cy(n/t,r/t,0,e)}var Ey=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}({}),Dy=1/0;function Oy(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]===Dy?n(e,t[0]):r(e,t[0],t[1])}function ky(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 Da(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,Dy];let o=[];for(let e of a)o.push(e,Oy(e,i));return new Da(o)}return null}function Ay(e){e.bucket.createArrays();let t=512*e.bucket.overscaling;e.bucket.tilePixelRatio=N/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 gu(e.bucket.zoom+1),e.canonical),layoutTextSize:i[`text-size`].possiblyEvaluate(new gu(e.bucket.zoom+1),e.canonical),textMaxSize:i[`text-size`].possiblyEvaluate(new gu(18))};if(e.bucket.textSizeData.kind===`composite`){let{minZoom:t,maxZoom:n}=e.bucket.textSizeData;a.compositeTextSizes=[i[`text-size`].possiblyEvaluate(new gu(t),e.canonical),i[`text-size`].possiblyEvaluate(new gu(n),e.canonical)]}if(e.bucket.iconSizeData.kind===`composite`){let{minZoom:t,maxZoom:n}=e.bucket.iconSizeData;a.compositeIconSizes=[i[`icon-size`].possiblyEvaluate(new gu(t),e.canonical),i[`icon-size`].possiblyEvaluate(new gu(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=E_(a)?l:0,g=r.get(`text-anchor`).evaluate(t,{},e.canonical),_=ky(n,t,e.canonical);if(!_){let n=r.get(`text-radial-offset`).evaluate(t,{},e.canonical);h=n?Oy(g,[n*24,Dy]):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&&T_(a)&&(p.vertical=kv(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(jy(_.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=kv(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=jy(g));let t=kv(m,e.glyphMap,e.glyphPositions,e.imagePositions,i,y,o,g,v,f,h,1,!1,d,u);t&&(p.horizontal[v]=t),b(),T_(a)&&s&&c&&(p.vertical=kv(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=qv(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!==_&&Rn(`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=Fy(p.horizontal)||p.vertical;e.bucket.iconsInText||=v?v.iconsInText:!1,(v||g)&&My(e.bucket,t,p,g,e.imageMap,a,d,f,h,_,e.canonical,e.subdivisionGranularity,e.hasPromoteId)}e.showCollisionBoxes&&e.bucket.generateCollisionDebugBuffers()}function jy(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 My(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=Fy(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=nb(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`),O=x/2,k=m.get(`icon-text-fit`),A;r&&k!==`none`&&(e.allowVerticalPlacement&&n.vertical&&(A=Yv(r,n.vertical,k,m.get(`icon-text-fit-padding`),h,_)),g&&(r=Yv(r,g,k,m.get(`icon-text-fit-padding`),h,_)));let ee=u?d.line.getGranularityForZoomLevel(u.z):1,te=(s,d)=>{d.x<0||d.x>=8192||d.y<0||d.y>=8192||Iy(e,d,s,n,r,i,A,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 fy(t.geometry,0,0,N,N)){let t=Km(i,ee),a=uy(t,x,w,n.vertical||g,r,24,y,e.overscaling,N);for(let n of a){let r=g;(!r||!Ly(e,r.text,O,n))&&te(t,n)}}else if(D===`line-center`){for(let e of t.geometry)if(e.length>1){let t=Km(e,ee),i=ly(t,w,n.vertical||g,r,24,y);i&&te(t,i)}}else if(t.type===`Polygon`)for(let e of Ja(t.geometry,0)){let t=xy(e,16);te(Km(e[0],ee,!0),new iy(t.x,t.y,0))}else if(t.type===`LineString`)for(let e of t.geometry){let t=Km(e,ee);te(t,new iy(t[0].x,t[0].y,0))}else if(t.type===`Point`)for(let e of t.geometry)for(let t of e)te([t],new iy(t.x,t.y,0))}function Ny(e,t){let n=e.length,r=t?.values;if(r?.length>0)for(let t=0;t<r.length;t+=2){let n=Ey[r[t]],i=r[t+1];e.emplaceBack(n,i[0],i[1])}return[n,e.length]}function Py(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){let g=vy(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&&Rn(`${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)&&Rn(`${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 Fy(e){for(let t in e)return e[t];return null}function Iy(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 O,k,A,ee,te=0,ne=0,re=0,ie=0,ae=-1,oe=-1,se={},ce=(0,tf.default)(``);if(e.allowVerticalPlacement&&r.vertical){let e=s.layout.get(`text-rotate`).evaluate(b,{},C)+90,n=r.vertical;A=new yy(c,t,l,u,d,n,f,p,m,e),o&&(ee=new yy(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=py(i,n,S,r),f=o?py(o,n,S,r):void 0;k=new yy(c,t,l,u,d,i,g,_,!1,n),te=a.length*4;let p=e.iconSizeData,m=null;p.kind===`source`?(m=[128*s.layout.get(`icon-size`).evaluate(b,{})],m[0]>32640&&Rn(`${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)&&Rn(`${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&&(ne=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];O||=(ce=(0,tf.default)(i.text),new yy(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+=Py(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+=Py(e,t,r.vertical,a,s,m,b,h,D,E,2,[`vertical`],se,oe,x,C));let ue=O?O.boxStartIndex:e.collisionBoxArray.length,de=O?O.boxEndIndex:e.collisionBoxArray.length,fe=A?A.boxStartIndex:e.collisionBoxArray.length,pe=A?A.boxEndIndex:e.collisionBoxArray.length,me=k?k.boxStartIndex:e.collisionBoxArray.length,he=k?k.boxEndIndex:e.collisionBoxArray.length,ge=ee?ee.boxStartIndex:e.collisionBoxArray.length,_e=ee?ee.boxEndIndex:e.collisionBoxArray.length,ve=-1,ye=(e,t)=>e?.circleDiameter?Math.max(e.circleDiameter,t):t;ve=ye(O,ve),ve=ye(A,ve),ve=ye(k,ve),ve=ye(ee,ve);let be=+(ve>-1);be&&(ve*=w/24),e.glyphOffsetArray.length>=e.maxGlyphs&&Rn(`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 xe=ky(s,b,C),[Se,Ce]=Ny(e.textAnchorOffsets,xe);T&&(ce=Ry(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,ge,_e,l,re,ie,te,ne,be,0,f,ve,Se,Ce,D)}function Ly(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 Ry(e,t){return t.id==null||t.properties?.cluster?e:(0,tf.default)(String(t.id),e)}function zy(e,t,n){let r=`never`,i=e.get(t);return i?r=i:e.get(n)&&(r=`always`),r}var By=[{name:`a_fade_opacity`,components:1,type:`Uint8`,offset:0}];function Vy(e,t,n,r,i,a,o,s,c,l,u,d,f,p){let m=s?Math.min(Xv,Math.round(s[0])):0,h=s?Math.min(Xv,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 Hy(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 Uy(e){for(let t of e.sections)if(j_(t.text))return!0;return!1}var Wy=class{constructor(e){this.layoutVertexArray=new Ld,this.indexArray=new Wd,this.programConfigurations=e,this.segments=new Yd,this.dynamicLayoutVertexArray=new Rd,this.opacityVertexArray=new zd,this.hasVisibleVertices=!1,this.placedSymbolArray=new vd}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,Mg.members),this.indexBuffer=e.createIndexBuffer(this.indexArray,t),this.dynamicLayoutVertexBuffer=e.createVertexBuffer(this.dynamicLayoutVertexArray,Ng.members,!0),this.opacityVertexBuffer=e.createVertexBuffer(this.opacityVertexArray,By,!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())}};K(`SymbolBuffers`,Wy);var Gy=class{constructor(e,t,n){this.layoutVertexArray=new e,this.layoutAttributes=t,this.indexArray=new n,this.segments=new Yd,this.collisionVertexArray=new Hd}upload(e){this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=e.createVertexBuffer(this.collisionVertexArray,Pg.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())}};K(`CollisionBuffers`,Gy);var Ky=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=Zv(this.zoom,t[`text-size`]),this.iconSizeData=Zv(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=zy(n,`text-overlap`,`text-allow-overlap`)!==`never`||zy(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=>yv[e])),this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id),this.sourceID=e.sourceID}createArrays(){this.text=new Wy(new wf(this.layers,this.zoom,e=>e.startsWith(`text`))),this.icon=new Wy(new wf(this.layers,this.zoom,e=>e.startsWith(`icon`))),this.glyphOffsetArray=new xd,this.lineVertexArray=new Sd,this.symbolInstances=new bd,this.textAnchorOffsets=new wd}calculateGlyphDependencies(e,t,n,r,i){let a=(r||this.allowVerticalPlacement)&&i,o=H_.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];C_(i)&&(r[i]=!0);for(let e of i){if(r[e]=!0,!a)continue;let t=M_[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 xa&&!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 gu(this.zoom);for(let{feature:t,id:o,index:s,sourceLayerIndex:h}of e){let e=r._featureFilter.needGeometry,g=jf(t,e);if(!r._featureFilter.filter(m,g,n))continue;e||(g.geometry=Af(t));let _;if(c){let e=r.getValueAndResolveTokens(`text-field`,g,n,p),t=xa.factory(e);this.hasRTLText||=Uy(t),_=f_(t,r,g)}let v;if(l){let e=r.getValueAndResolveTokens(`icon-image`,g,n,p);v=e instanceof Oa?e:Oa.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:_h.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=T_(_.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=__(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}){Ay({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];Vy(m,s.x,s.y,i.x,E+i.y,u.x,u.y,n,C,g.x,g.y,b,x,f),Vy(m,s.x,s.y,o.x,E+o.y,u.x+u.w,u.y,n,C,_.x,g.y,b,x,f),Vy(m,s.x,s.y,c.x,E+c.y,u.x,u.y+u.h,n,C,g.x,_.y,b,x,f),Vy(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),Hy(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,l=i.layoutVertexArray,u=i.collisionVertexArray,d=o.anchorX,f=o.anchorY;this._addCollisionDebugVertex(l,u,a,d,f,new j(e,t)),this._addCollisionDebugVertex(l,u,a,d,f,new j(n,t)),this._addCollisionDebugVertex(l,u,a,d,f,new j(n,r)),this._addCollisionDebugVertex(l,u,a,d,f,new j(e,r)),s.vertexLength+=4;let p=i.indexArray;p.emplaceBack(c,c+1),p.emplaceBack(c+1,c+2),p.emplaceBack(c+2,c+3),p.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 Gy(Bd,Fg.members,Gd),this.iconCollisionBox=new Gy(Bd,Fg.members,Gd);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)}}};K(`SymbolBucket`,Ky,{omit:[`layers`,`collisionBoxArray`,`features`,`compareText`]});function qy(e,t){return t.replace(/{([^{}]+)}/g,(t,n)=>e&&n in e?String(e[n]):``)}var Jy,Yy=()=>Jy||=new Au({"symbol-placement":new q(B.layout_symbol[`symbol-placement`],`symbol-placement`),"symbol-spacing":new q(B.layout_symbol[`symbol-spacing`],`symbol-spacing`),"symbol-avoid-edges":new q(B.layout_symbol[`symbol-avoid-edges`],`symbol-avoid-edges`),"symbol-sort-key":new J(B.layout_symbol[`symbol-sort-key`],`symbol-sort-key`),"symbol-z-order":new q(B.layout_symbol[`symbol-z-order`],`symbol-z-order`),"icon-allow-overlap":new q(B.layout_symbol[`icon-allow-overlap`],`icon-allow-overlap`),"icon-overlap":new q(B.layout_symbol[`icon-overlap`],`icon-overlap`),"icon-ignore-placement":new q(B.layout_symbol[`icon-ignore-placement`],`icon-ignore-placement`),"icon-optional":new q(B.layout_symbol[`icon-optional`],`icon-optional`),"icon-rotation-alignment":new J(B.layout_symbol[`icon-rotation-alignment`],`icon-rotation-alignment`),"icon-size":new J(B.layout_symbol[`icon-size`],`icon-size`),"icon-text-fit":new q(B.layout_symbol[`icon-text-fit`],`icon-text-fit`),"icon-text-fit-padding":new q(B.layout_symbol[`icon-text-fit-padding`],`icon-text-fit-padding`),"icon-image":new J(B.layout_symbol[`icon-image`],`icon-image`),"icon-rotate":new J(B.layout_symbol[`icon-rotate`],`icon-rotate`),"icon-padding":new J(B.layout_symbol[`icon-padding`],`icon-padding`),"icon-keep-upright":new q(B.layout_symbol[`icon-keep-upright`],`icon-keep-upright`),"icon-offset":new J(B.layout_symbol[`icon-offset`],`icon-offset`),"icon-anchor":new J(B.layout_symbol[`icon-anchor`],`icon-anchor`),"icon-pitch-alignment":new q(B.layout_symbol[`icon-pitch-alignment`],`icon-pitch-alignment`),"text-pitch-alignment":new q(B.layout_symbol[`text-pitch-alignment`],`text-pitch-alignment`),"text-rotation-alignment":new q(B.layout_symbol[`text-rotation-alignment`],`text-rotation-alignment`),"text-field":new J(B.layout_symbol[`text-field`],`text-field`),"text-font":new J(B.layout_symbol[`text-font`],`text-font`),"text-size":new J(B.layout_symbol[`text-size`],`text-size`),"text-max-width":new J(B.layout_symbol[`text-max-width`],`text-max-width`),"text-line-height":new q(B.layout_symbol[`text-line-height`],`text-line-height`),"text-letter-spacing":new J(B.layout_symbol[`text-letter-spacing`],`text-letter-spacing`),"text-justify":new J(B.layout_symbol[`text-justify`],`text-justify`),"text-radial-offset":new J(B.layout_symbol[`text-radial-offset`],`text-radial-offset`),"text-variable-anchor":new q(B.layout_symbol[`text-variable-anchor`],`text-variable-anchor`),"text-variable-anchor-offset":new J(B.layout_symbol[`text-variable-anchor-offset`],`text-variable-anchor-offset`),"text-anchor":new J(B.layout_symbol[`text-anchor`],`text-anchor`),"text-max-angle":new q(B.layout_symbol[`text-max-angle`],`text-max-angle`),"text-writing-mode":new q(B.layout_symbol[`text-writing-mode`],`text-writing-mode`),"text-rotate":new J(B.layout_symbol[`text-rotate`],`text-rotate`),"text-padding":new q(B.layout_symbol[`text-padding`],`text-padding`),"text-keep-upright":new q(B.layout_symbol[`text-keep-upright`],`text-keep-upright`),"text-transform":new J(B.layout_symbol[`text-transform`],`text-transform`),"text-offset":new J(B.layout_symbol[`text-offset`],`text-offset`),"text-allow-overlap":new q(B.layout_symbol[`text-allow-overlap`],`text-allow-overlap`),"text-overlap":new q(B.layout_symbol[`text-overlap`],`text-overlap`),"text-ignore-placement":new q(B.layout_symbol[`text-ignore-placement`],`text-ignore-placement`),"text-optional":new q(B.layout_symbol[`text-optional`],`text-optional`),"symbol-height-offset":new J(B.layout_symbol[`symbol-height-offset`],`symbol-height-offset`),"symbol-height-anchor":new q(B.layout_symbol[`symbol-height-anchor`],`symbol-height-anchor`)}),Xy,Zy=()=>Xy||=new Au({"icon-opacity":new J(B.paint_symbol[`icon-opacity`],`icon-opacity`),"icon-color":new J(B.paint_symbol[`icon-color`],`icon-color`),"icon-halo-color":new J(B.paint_symbol[`icon-halo-color`],`icon-halo-color`),"icon-halo-width":new J(B.paint_symbol[`icon-halo-width`],`icon-halo-width`),"icon-halo-blur":new J(B.paint_symbol[`icon-halo-blur`],`icon-halo-blur`),"icon-translate":new q(B.paint_symbol[`icon-translate`],`icon-translate`),"icon-translate-anchor":new q(B.paint_symbol[`icon-translate-anchor`],`icon-translate-anchor`),"text-opacity":new J(B.paint_symbol[`text-opacity`],`text-opacity`),"text-color":new J(B.paint_symbol[`text-color`],`text-color`,{runtimeType:Di,getOverride:e=>e.textColor,hasOverride:e=>!!e.textColor}),"text-halo-color":new J(B.paint_symbol[`text-halo-color`],`text-halo-color`),"text-halo-width":new J(B.paint_symbol[`text-halo-width`],`text-halo-width`),"text-halo-blur":new J(B.paint_symbol[`text-halo-blur`],`text-halo-blur`),"text-translate":new q(B.paint_symbol[`text-translate`],`text-translate`),"text-translate-anchor":new q(B.paint_symbol[`text-translate-anchor`],`text-translate-anchor`)}),Qy={get paint(){return Zy()},get layout(){return Yy()}},$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:Ti,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}};K(`FormatSectionOverride`,$y,{omit:[`defaultValue`]});var eb=e=>e.type===`symbol`,tb=class e extends Nu{constructor(e,t){super(e,Qy,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 Cu(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()&&!Sc(a.value)&&i?qy(t.properties,i):i}createBucket(e){return new Ky(e)}queryRadius(){return 0}queryIntersectsFeature(){throw Error(`Should take a different path in FeatureIndex`)}_setPaintOverrides(){for(let t of Qy.paint.overridableProperties){if(!e.hasPaintOverride(this.layout,t))continue;let n=this.paint.get(t),r=new yc(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 wc(`source`,r):new Tc(`composite`,r,n.value.zoomStops),this.paint._values[t]=new Cu(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=Qy.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 xa)a(n.value.value.sections);else if(n.value.kind===`source`||n.value.kind===`composite`){let e=t=>{if(!i){if(t instanceof Fa&&Na(t.value)===Mi){let e=t.value;a(e.sections)}else t instanceof Wa?a(t.sections):t.eachChild(e)}},t=n.value;t._styleExpression&&e(t._styleExpression.expression)}return i}};function nb(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 rb,ib=()=>rb||=new Au({"background-color":new q(B.paint_background[`background-color`],`background-color`),"background-pattern":new Ou(B.paint_background[`background-pattern`],`background-pattern`),"background-opacity":new q(B.paint_background[`background-opacity`],`background-opacity`)}),ab={get paint(){return ib()}},ob=e=>e.type===`background`,sb=class extends Nu{constructor(e,t){super(e,ab,t)}};function cb(e){let t=[],n=e.id;return n===void 0&&t.push(new V(`layers.${n}`,null,`missing required property "id"`)),e.render===void 0&&t.push(new V(`layers.${n}`,null,`missing required method "render"`)),e.renderingMode&&e.renderingMode!==`2d`&&e.renderingMode!==`3d`&&t.push(new V(`layers.${n}`,null,`property "renderingMode" must be either "2d" or "3d"`)),t}var lb=e=>e.type===`custom`,ub=class extends Nu{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 db(e,t){if(e.type===`custom`)return new ub(e,t);switch(e.type){case`background`:return new sb(e,t);case`circle`:return new fp(e,t);case`color-relief`:return new Bp(e,t);case`fill`:return new lh(e,t);case`fill-extrusion`:return new cg(e,t);case`heatmap`:return new Ep(e,t);case`hillshade`:return new jp(e,t);case`line`:return new Ag(e,t);case`raster`:return new Ru(e,t);case`symbol`:return new tb(e,t)}}function fb(e){let t=[];if(typeof e==`string`)t.push({id:`default`,url:e});else if(e&&e.length>0){let n=[];for(let{id:r,url:i}of e){let e=`${r}${i}`;n.includes(e)||(n.push(e),t.push({id:r,url:i}))}}return t}function pb(e,t,n){try{let r=new URL(e);return r.pathname+=`${t}${n}`,r.toString()}catch{throw Error(`Invalid sprite URL "${e}", must be absolute. Modify style specification directly or use TransformStyleFunction to correct the issue dynamically`)}}async function mb(e,t,n,r){let i=fb(e),a=n>1?`@2x`:``,o={},s={};for(let{id:e,url:n}of i){o[e]=Br(await t.transformRequest(pb(n,a,`.json`),`SpriteJSON`),r);let i=await t.transformRequest(pb(n,a,`.png`),`SpriteImage`);s[e]=Wr.getImage(i,r)}return await Promise.all([...Object.values(o),...Object.values(s)]),hb(o,s)}async function hb(e,t){let n={};for(let r in e){n[r]={};let i=(await t[r]).data;if(!i)throw Error(`Could not load sprite image for ${r}: the response is empty`);let a=_r.getImageCanvasContext(i),o=(await e[r]).data;for(let e in o){let{width:t,height:i,x:s,y:c,sdf:l,pixelRatio:u,stretchX:d,stretchY:f,content:p,textFitWidth:m,textFitHeight:h}=o[e],g={width:t,height:i,x:s,y:c,context:a};n[r][e]={data:null,pixelRatio:u,sdf:l,stretchX:d,stretchY:f,content:p,textFitWidth:m,textFitHeight:h,spriteData:g}}}return n}var gb=class extends Yr{constructor(){super(),this.images={},this.updateVersion=0,this.loaded=!1,this.requestors=[],this.missingImageResolver=null,this._spriteImagesIds={},this._imagesIds=null,this._renderCallbacksDispatchedThisFrame={}}destroy(){for(let e of Object.keys(this.images))this.removeImage(e);this._spriteImagesIds={}}isLoaded(){return this.loaded}setLoaded(e){if(this.loaded!==e&&(this.loaded=e,e)){for(let{ids:e,promiseResolve:t}of this.requestors)t(this._getImagesForIds(e));this.requestors=[]}}getImage(e){let t=this.images[e];if(t&&!t.data&&t.spriteData){let e=t.spriteData;t.data=new xp({width:e.width,height:e.height},e.context.getImageData(e.x,e.y,e.width,e.height).data),t.spriteData=null}return t}addImage(e,t){if(this.images[e])throw Error(`Image id ${e} already exist, use updateImage instead`);this._validate(e,t)&&(this.images[e]=t,this._imagesIds=null,t.isWebGLImage&&this.updateImage(e,t,!1))}_validate(e,t){let n=!0,r=t.data||t.spriteData;return this._validateStretch(t.stretchX,r?.width)||(this.fire(new R(Error(`Image "${e}" has invalid "stretchX" value`))),n=!1),this._validateStretch(t.stretchY,r?.height)||(this.fire(new R(Error(`Image "${e}" has invalid "stretchY" value`))),n=!1),this._validateContent(t.content,t)||(this.fire(new R(Error(`Image "${e}" has invalid "content" value`))),n=!1),n}_validateStretch(e,t){if(!e)return!0;let n=0;for(let r of e){if(r[0]<n||r[1]<r[0]||t<r[1])return!1;n=r[1]}return!0}_validateContent(e,t){if(!e)return!0;if(e.length!==4)return!1;let n=t.spriteData,r=n?.width||t.data.width,i=n?.height||t.data.height;return e[0]<0||r<e[0]||e[1]<0||i<e[1]||e[2]<0||r<e[2]||e[3]<0||i<e[3]||e[2]<e[0]?!1:e[3]>=e[1]}updateImage(e,t,n=!0){let r=this.images[e];if(n){let e=r.data||r.spriteData;if(e.width!==t.data.width||e.height!==t.data.height)throw Error(`size mismatch between old image (${e.width}x${e.height}) and new image (${t.data.width}x${t.data.height}).`)}t.version=(r.version??0)+1,this.images[e]=t,this.updateVersion++}removeImage(e){let t=this.images[e];t&&(delete this.images[e],this._imagesIds=null,t.userImage?.onRemove&&t.userImage.onRemove())}listImages(){return this._imagesIds??=Object.keys(this.images),this._imagesIds}_getSpriteImageId(e,t){return e==="default"?t:`${e}:${t}`}setSpriteImages(e,t){let n=this._spriteImagesIds[e]??[],r=[];for(let n in t){let i=this._getSpriteImageId(e,n);r.push(i),i in this.images?this.updateImage(i,t[n],!1):this.addImage(i,t[n])}let i=new Set(r),a=n.filter(e=>!i.has(e));for(let e of a)this.removeImage(e);return this._spriteImagesIds[e]=r,{loaded:r,removed:a}}removeSpriteImages(e){let t=this._spriteImagesIds[e]??[];for(let e of t)this.removeImage(e);return delete this._spriteImagesIds[e],t}removeAllSpriteImages(){let e=Object.values(this._spriteImagesIds).flat();for(let t of e)this.removeImage(t);return this._spriteImagesIds={},e}setMissingImageResolver(e){this.missingImageResolver=e}getImages(e){return new Promise((t,n)=>{let r=!0;if(!this.isLoaded())for(let t of e)this.images[t]||(r=!1);this.isLoaded()||r?t(this._getImagesForIds(e)):this.requestors.push({ids:e,promiseResolve:t})})}async _getImagesForIds(e){let t=new Set(e.filter(e=>!this.getImage(e))),n=this.missingImageResolver;n&&await Promise.allSettled(Array.from(t,e=>n(e)));let r={};for(let n of e){let e=this.getImage(n);e&&(t.delete(n),r[n]={data:e.data.clone(),pixelRatio:e.pixelRatio,sdf:e.sdf,version:e.version,stretchX:e.stretchX,stretchY:e.stretchY,content:e.content,textFitWidth:e.textFitWidth,textFitHeight:e.textFitHeight,hasRenderCallback:!!e.userImage?.render,isWebGLImage:e.isWebGLImage})}for(let e of t)this.fire(new si({id:e})),Rn(`Image "${e}" could not be loaded. Please make sure you have added the image before it is needed with map.addImage(), resolved it with map.setMissingStyleImageResolver(), or included it in a "sprite" property in your style.`);return r}beginFrame(){this._renderCallbacksDispatchedThisFrame={}}dispatchRenderCallbacks(e){for(let t of e){if(this._renderCallbacksDispatchedThisFrame[t])continue;this._renderCallbacksDispatchedThisFrame[t]=!0;let e=this.getImage(t);e||Rn(`Image with ID: "${t}" was not found`),hv(e)&&this.updateImage(t,e)}}cloneImages(){let e={};for(let t in this.images){let n=this.images[t];e[t]={...n,data:n.data?n.data.clone():null}}return e}},_b=class{constructor(e){this._imageManager=e,this._entries={},this._image=new xp({width:1,height:1}),this._dirty=!0}destroy(){this._texture&&=(this._texture.destroy(),null),this._entries={},this._image=new xp({width:1,height:1}),this._dirty=!0}getPixelSize(){let{width:e,height:t}=this._image;return{width:e,height:t}}getPattern(e){let t=this._imageManager.getImage(e);if(!t)return null;let n=this._entries[e];if(n?.image!==t){let n={w:t.data.width+2,h:t.data.height+2,x:0,y:0};this._entries[e]={bin:n,position:new _v(n,t),image:t}}else if(n.position.version!==t.version)n.position.version=t.version;else return n.position;return this._update(),this._entries[e].position}isPatternMissing(e){if(!e)return!1;if(!e.from||!e.to)return!0;let t=this.getPattern(e.from.toString()),n=this.getPattern(e.to.toString());return!t||!n}bind(e){let t=e.gl;this._texture?this._dirty&&=(this._texture.update(this._image),!1):(this._texture=new Ip(e,this._image,t.RGBA),this._dirty=!1),this._texture.bind(t.LINEAR,t.CLAMP_TO_EDGE)}_update(){for(let e in this._entries)this._imageManager.getImage(e)||delete this._entries[e];let e=[];for(let t in this._entries)e.push(this._entries[t].bin);let{w:t,h:n}=gv(e),r=this._image;r.resize({width:t||1,height:n||1});for(let e in this._entries){let{bin:t}=this._entries[e],n=t.x+1,i=t.y+1,a=this._entries[e].image.data,o=a.width,s=a.height;xp.copy(a,r,{x:0,y:0},{x:n,y:i},{width:o,height:s}),xp.copy(a,r,{x:0,y:s-1},{x:n,y:i-1},{width:o,height:1}),xp.copy(a,r,{x:0,y:0},{x:n,y:i+s},{width:o,height:1}),xp.copy(a,r,{x:o-1,y:0},{x:n-1,y:i},{width:1,height:s}),xp.copy(a,r,{x:0,y:0},{x:n+o,y:i},{width:1,height:s})}this._dirty=!0}},vb=1114111,yb={start:0,end:vb},bb=0;function xb(e){let t=/^u\+([0-9a-f]*)(\?+)$/i.exec(e);if(t){let[,e,n]=t;return e.length+n.length>6?null:Sb(parseInt(`${e}${`0`.repeat(n.length)}`,16),parseInt(`${e}${`f`.repeat(n.length)}`,16))}let n=/^u\+([0-9a-f]{1,6})(?:-([0-9a-f]{1,6}))?$/i.exec(e);if(!n)return null;let r=parseInt(n[1],16);return Sb(r,n[2]===void 0?r:parseInt(n[2],16))}function Sb(e,t){return e>t||e>vb?null:{start:e,end:Math.min(t,vb)}}function Cb(e,t){return e.ranges.some(({start:e,end:n})=>t>=e&&t<=n)}var wb=class{constructor(e){this.requestManager=e,this._faces={},this._registered=new Set}setFontFaces(e){this._unregisterAll(),this._faces={};for(let[t,n]of Object.entries(e??{})){let e=Array.isArray(n)?n:[n];this._faces[t]=e.map(e=>this._declareFontFace(t,e)).filter(e=>e!==null)}}hasFontFaces(){return Object.keys(this._faces).length>0}async getFontFamily(e,t){for(let n of e.split(`,`))for(let e of this._faces[n.trim()]??[])if(Cb(e,t)&&(e.loaded??=this._loadFontFace(e),await e.loaded))return e.family;return null}_declareFontFace(e,t){let n=typeof t==`string`?{url:t}:t;if(typeof n?.url!=`string`)return Rn(`Ignoring the font face declared for "${e}": it has no URL.`),null;let r=`maplibre-gl-font-face-${bb++}`,i=n[`unicode-range`];if(!i?.length)return{url:n.url,ranges:[yb],family:r};let a=[];for(let e of i){let t=xb(e);if(!t){Rn(`Ignoring the unicode range "${e}" of the font face at ${n.url}: it is not a valid range.`);continue}a.push(t)}return a.length?{url:n.url,ranges:a,family:r}:null}async _loadFontFace(e){if(typeof FontFace>`u`||typeof document>`u`||!document.fonts)return Rn(`Ignoring the font face at ${e.url}: this environment has no CSS Font Loading API.`),!1;let t;try{return t=new FontFace(e.family,await this._downloadFontFile(e.url)),Object.values(this._faces).some(t=>t.includes(e))?(document.fonts.add(t),this._registered.add(t),await t.load(),!0):!1}catch(n){return t&&this._unregister(t),Rn(`Ignoring the font face at ${e.url}: ${nn(n).message}`),!1}}async _downloadFontFile(e){let t=await Vr(await this.requestManager.transformRequest(e,`Glyphs`),new AbortController);if(!t?.data)throw Error(`the response was empty for the font file at ${e}`);return t.data}_unregister(e){document.fonts?.delete(e),this._registered.delete(e)}_unregisterAll(){for(let e of this._registered)document.fonts?.delete(e);this._registered.clear()}destroy(){this._unregisterAll(),this._faces={}}},Tb=0x56bc75e2d63100000,Eb=new Float64Array(256);for(let e=0;e<256;e++){let t=.5-(e/255)**(1/2.2);Eb[e]=t*Math.abs(t)}Eb[255]=-0x56bc75e2d63100000;var Db=class{constructor({fontSize:e=24,buffer:t=3,radius:n=8,cutoff:r=.25,fontFamily:i=`sans-serif`,fontWeight:a=`normal`,fontStyle:o=`normal`,lang:s=null}={}){this.buffer=t,this.radius=n,this.cutoff=r,this.lang=s;let c=this.size=e+t*4,l=this._createCanvas(c),u=this.ctx=l.getContext(`2d`,{willReadFrequently:!0});u.font=`${o} ${a} ${e}px ${i}`,u.textBaseline=`alphabetic`,u.textAlign=`left`,u.fillStyle=`black`,this.gridOuter=new Float64Array(c*c),this.gridInner=new Float64Array(c*c),this.f=new Float64Array(c),this.z=new Float64Array(c+1),this.v=new Uint16Array(c)}_createCanvas(e){if(typeof OffscreenCanvas<`u`)return new OffscreenCanvas(e,e);let t=document.createElement(`canvas`);return t.width=t.height=e,t}draw(e){let{width:t,actualBoundingBoxAscent:n,actualBoundingBoxDescent:r,actualBoundingBoxLeft:i,actualBoundingBoxRight:a}=this.ctx.measureText(e),o=Math.ceil(n),s=Math.floor(-i),c=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(a)-s)),l=Math.max(0,Math.min(this.size-this.buffer,o+Math.ceil(r))),u=c+2*this.buffer,d=l+2*this.buffer,f=Math.max(u*d,0),p=new Uint8ClampedArray(f),m={data:p,width:u,height:d,glyphWidth:c,glyphHeight:l,glyphTop:o,glyphLeft:s,glyphAdvance:t};if(c===0||l===0)return m;let{ctx:h,buffer:g,gridInner:_,gridOuter:v}=this;this.lang&&(h.lang=this.lang),h.clearRect(g,g,c,l),h.fillText(e,g-s,g+o);let y=h.getImageData(g,g,c,l);v.fill(Tb,0,f),_.fill(0,0,f);let b=3;for(let e=0;e<l;e++){let t=(e+g)*u+g;for(let e=0;e<c;e++,b+=4,t++){let e=y.data[b];if(e===0)continue;let n=Eb[e];v[t]=Math.max(0,n),_[t]=Math.max(0,-n)}}Ob(v,0,0,u,d,u,this.f,this.v,this.z);let x=Math.min(g,1);Ob(_,g-x,g-x,c+2*x,l+2*x,u,this.f,this.v,this.z);let S=255/this.radius,C=255*(1-this.cutoff);for(let e=0;e<f;e++){let t=Math.sqrt(v[e])-Math.sqrt(_[e]);p[e]=Math.round(C-S*t)}return m}};function Ob(e,t,n,r,i,a,o,s,c){for(let l=t;l<t+r;l++)kb(e,n*a+l,a,i,o,s,c);for(let l=n;l<n+i;l++)kb(e,l*a+t,1,r,o,s,c)}function kb(e,t,n,r,i,a,o){a[0]=0,o[0]=-0x56bc75e2d63100000,o[1]=Tb,i[0]=e[t];for(let s=1,c=0,l=0;s<r;s++){i[s]=e[t+s*n];let r=s*s;do{let e=a[c];l=(i[s]-i[e]+r-e*e)/(s-e)/2}while(l<=o[c]&&--c>-1);c++,a[c]=s,o[c]=l,o[c+1]=Tb}for(let s=0,c=0;s<r;s++){for(;o[c+1]<s;)c++;let r=a[c],l=s-r;e[t+s*n]=i[r]+l*l}}var Ab=B.layout_symbol[`text-font`].default.join(`,`),jb=(e,t)=>{let n=new Db(e);return n.buffer=t,n},Mb=class{constructor(e,t,n,r=jb){this.requestManager=e,this.localIdeographFontFamily=t,this.entries={},this.lang=n,this.fontFaceManager=new wb(e),this.createRasterizer=r}setURL(e){this.url=e}setFontFaces(e){this.fontFaceManager.setFontFaces(e),this.entries={}}async getGlyphs(e){let t=[];for(let n in e)for(let r in e[n])for(let i of e[n][r])t.push(this._getAndCacheGlyphsPromise(n,i,r));let n=await Promise.all(t),r={};for(let{stack:e,id:t,variant:i,glyph:a}of n)r[e]||={},r[e][i]||={},r[e][i][t]=a&&{id:a.id,bitmap:a.bitmap.clone(),metrics:a.metrics};return r}async _getAndCacheGlyphsPromise(e,t,n){this.entries[e]??={glyphs:{default:{}},requests:{},ranges:{}};let r=this.entries[e],i=r.glyphs[n]||={},a=i[t];if(a!==void 0)return{stack:e,id:t,variant:n,glyph:a};if(n!=="default")return i[t]=null,{stack:e,id:t,variant:n,glyph:null};let o=t.codePointAt(0),s=this.fontFaceManager.hasFontFaces()?await this.fontFaceManager.getFontFamily(e,o):null;return s?(a=i[t]=await this._drawGlyph(r,e,t,s),{stack:e,id:t,variant:n,glyph:a}):!this.url||C_(t)||this._charUsesLocalIdeographFontFamily(o)?(a=i[t]=await this._drawGlyph(r,e,t),{stack:e,id:t,variant:n,glyph:a}):{...await this._downloadAndCacheRangePromise(e,t),variant:n}}async _downloadAndCacheRangePromise(e,t){let n=t.codePointAt(0),r=this.entries[e],i=Math.floor(n/256);if(r.ranges[i])return{stack:e,id:t,glyph:null};r.requests[i]||=this._loadGlyphRange(e,i);try{let a=await r.requests[i];for(let e in a)r.glyphs.default[String.fromCodePoint(+e)]=a[+e];return r.ranges[i]=!0,{stack:e,id:t,glyph:a[n]||null}}catch(a){let o=r.glyphs.default[t]=await this._drawGlyph(r,e,t);return this._warnOnMissingGlyphRange(o,i,n,nn(a)),{stack:e,id:t,glyph:o}}}async _loadGlyphRange(e,t){let n=t*256,r=n+255,i=await Vr(await this.requestManager.transformRequest(this.url.replace(`{fontstack}`,e).replace(`{range}`,`${n}-${r}`),`Glyphs`),new AbortController);if(!i?.data)throw Error(`Could not load glyph range. range: ${t}, ${n}-${r}`);let a={};for(let e of pv(i.data))a[e.id]=e;return a}_warnOnMissingGlyphRange(e,t,n,r){let i=t*256;Rn(`Unable to load glyph range ${t}, ${i}-${i+255}. Rendering codepoint U+${n.toString(16).padStart(4,`0`).toUpperCase()} locally instead. ${r}`)}_charUsesLocalIdeographFontFamily(e){return!!this.localIdeographFontFamily&&Vg(e)}async _drawGlyph(e,t,n,r){let i=(await this._getTinySDF(e,t,n,r)).draw(n),a=/^\p{gc=Cf}+$/u.test(n);return{id:n.codePointAt(0),bitmap:new bp({width:i.width||60,height:i.height||60},i.data),metrics:{width:a?0:i.glyphWidth/2||24,height:i.glyphHeight/2||24,left:i.glyphLeft/2+.5||0,top:i.glyphTop/2-27.5||-8,advance:a?0:i.glyphAdvance/2||24,isDoubleResolution:!0}}}_getTinySDF(e,t,n,r){let i=C_(n);if(r){let t=i?`clusterTinySDFs`:`fontFaceTinySDFs`;return e[t]??={},e[t][r]||=this._createTinySDF(r,!1,i?3:1),e[t][r]}let a=t===Ab&&this.localIdeographFontFamily!==``&&this._charUsesLocalIdeographFontFamily(n.codePointAt(0)),o=a?this.localIdeographFontFamily:t;if(i)return e.clusterTinySDFs??={},e.clusterTinySDFs[o]||=this._createTinySDF(o,!0,3),e.clusterTinySDFs[o];let s=a?`ideographTinySDF`:`tinySDF`;return e[s]||=this._createTinySDF(o),e[s]}async _createTinySDF(e,t=!0,n=1){let r=e?e.split(`,`):[];r.push(`sans-serif`);let i=r.map(e=>/[-\w]+/.test(e)?e:`'${CSS.escape(e)}'`).join(`,`),a=t?this._fontWeight(r[0]):void 0,o=t?this._fontStyle(r[0]):`normal`;if(typeof document<`u`&&document.fonts?.load)try{await document.fonts.load(`${o} ${a||`normal`} 48px ${i}`)}catch(e){Rn(`Failed to load font "${i}": ${nn(e).message}`)}return this.createRasterizer({fontSize:48,buffer:Math.max(6,Math.ceil(48*(n-1)/4)),radius:16,cutoff:.25,fontFamily:i,fontWeight:a,fontStyle:o,lang:this.lang},6)}_fontStyle(e){return/italic/i.test(e)?`italic`:/oblique/i.test(e)?`oblique`:`normal`}_fontWeight(e){let t={thin:100,hairline:100,"extra light":200,"ultra light":200,light:300,normal:400,regular:400,medium:500,semibold:600,demibold:600,bold:700,"extra bold":800,"ultra bold":800,black:900,heavy:900,"extra black":950,"ultra black":950},n;for(let[r,i]of Object.entries(t))RegExp(`\\b${r}\\b`,`i`).test(e)&&(n=`${i}`);return n}destroy(){for(let e in this.entries){let t=this.entries[e];t.tinySDF=null,t.ideographTinySDF=null,t.fontFaceTinySDFs={},t.glyphs={default:{}},t.requests={},t.ranges={}}this.entries={},this.fontFaceManager.destroy()}},Nb,Pb=()=>Nb||=new Au({anchor:new q(B.light.anchor,`anchor`),position:new q(B.light.position,`position`),color:new q(B.light.color,`color`),intensity:new q(B.light.intensity,`intensity`)}),Fb=class extends Yr{constructor(e,t){super(),this._transitionable=new yu(Pb(),`light`,t),this.setLight(e),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new gu(0))}getLight(){return this._transitionable.serialize()}getEvaluated(){return{anchor:this.properties.get(`anchor`),position:this.properties.get(`position`),color:this.properties.get(`color`),intensity:this.properties.get(`intensity`)}}setLight(e,t={}){this._validate(tu.light,e,t)||this._transitionable.setValues(e)}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}applyGlobalStateChange(e,t,n){this._transitioning=this._transitionable.applyGlobalStateChange(e,t,this._transitioning,n)}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}_validate(e,t,n){return ou(this,e,{value:t},n)}},Ib,Lb=()=>Ib||=new Au({"sky-color":new q(B.sky[`sky-color`],`sky-color`),"horizon-color":new q(B.sky[`horizon-color`],`horizon-color`),"fog-color":new q(B.sky[`fog-color`],`fog-color`),"fog-ground-blend":new q(B.sky[`fog-ground-blend`],`fog-ground-blend`),"horizon-fog-blend":new q(B.sky[`horizon-fog-blend`],`horizon-fog-blend`),"sky-horizon-blend":new q(B.sky[`sky-horizon-blend`],`sky-horizon-blend`),"atmosphere-blend":new q(B.sky[`atmosphere-blend`],`atmosphere-blend`)}),Rb=class extends Yr{constructor(e,t){super(),this._transitionable=new yu(Lb(),`sky`,t),this.setSky(e),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new gu(0))}setSky(e,t={}){return!this._validate(tu.sky,e,t)&&(e||={"sky-color":`transparent`,"horizon-color":`transparent`,"fog-color":`transparent`,"fog-ground-blend":1,"atmosphere-blend":0},this._transitionable.setValues(e),!0)}getSky(){return this._transitionable.serialize()}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}applyGlobalStateChange(e,t,n){this._transitioning=this._transitionable.applyGlobalStateChange(e,t,this._transitioning,n)}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}_validate(e,t,n={}){return ou(this,e,{value:t},n)}getEvaluated(){return{"sky-color":this.properties.get(`sky-color`),"horizon-color":this.properties.get(`horizon-color`),"fog-color":this.properties.get(`fog-color`),"fog-ground-blend":this.properties.get(`fog-ground-blend`),"horizon-fog-blend":this.properties.get(`horizon-fog-blend`),"sky-horizon-blend":this.properties.get(`sky-horizon-blend`),"atmosphere-blend":this.properties.get(`atmosphere-blend`)}}};function zb(e){return e<60?0:e<70?(e-60)/10:1}var Bb=class{constructor(e,t){this.width=e,this.height=t,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(e,t){let n=e.join(`,`)+String(t);return this.dashEntry[n]||=this.addDash(e,t),this.dashEntry[n]}getDashRanges(e,t,n){let r=e.length%2==1,i=[],a=r?-e[e.length-1]*n:0,o=e[0]*n,s=!0;i.push({left:a,right:o,isDash:s,zeroLength:e[0]===0});let c=e[0];for(let t=1;t<e.length;t++){s=!s;let r=e[t];a=c*n,c+=r,o=c*n,i.push({left:a,right:o,isDash:s,zeroLength:r===0})}return i}addRoundDash(e,t,n){let r=t/2;for(let t=-n;t<=n;t++){let i=this.nextRow+n+t,a=this.width*i,o=0,s=e[o];for(let i=0;i<this.width;i++){i/s.right>1&&(s=e[++o]);let c=Math.abs(i-s.left),l=Math.abs(i-s.right),u=Math.min(c,l),d,f=t/n*(r+1);if(s.isDash){let e=r-Math.abs(f);d=Math.sqrt(u*u+e*e)}else d=r-Math.sqrt(u*u+f*f);this.data[a+i]=Math.max(0,Math.min(255,d+128))}}}addRegularDash(e){for(let t=e.length-1;t>=0;--t){let n=e[t],r=e[t+1];n.zeroLength?e.splice(t,1):r?.isDash===n.isDash&&(r.left=n.left,e.splice(t,1))}let t=e[0],n=e[e.length-1];t.isDash===n.isDash&&(t.left=n.left-this.width,n.right=t.right+this.width);let r=this.width*this.nextRow,i=0,a=e[i];for(let t=0;t<this.width;t++){t/a.right>1&&(a=e[++i]);let n=Math.abs(t-a.left),o=Math.abs(t-a.right),s=Math.min(n,o),c=a.isDash?s:-s;this.data[r+t]=Math.max(0,Math.min(255,c+128))}}addDash(e,t){let n=t?7:0,r=2*n+1;if(this.nextRow+r>this.height)return Rn(`LineAtlas out of space`),null;let i=0;for(let t of e)i+=t;if(i!==0){let r=this.width/i,a=this.getDashRanges(e,this.width,r);t?this.addRoundDash(a,r,n):this.addRegularDash(a)}let a={y:this.nextRow+n,height:2*n,width:i};return this.nextRow+=r,this.dirty=!0,a}bind(e){let t=e.gl;this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.ALPHA,t.UNSIGNED_BYTE,this.data))):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,this.width,this.height,0,t.ALPHA,t.UNSIGNED_BYTE,this.data))}},Vb=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=()=>{}}},Hb={once:!0},Ub=class{constructor(e,t){this.target=e,this.mapId=t,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Vb(()=>this.process()),this.subscription=Zn(this.target,`message`,e=>this.receive(e),!1),this.globalScope=Hn(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?Zn(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 dr(t.signal.reason))},Hb):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:pu(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(Hn(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(nn(mu(t.error))):n.resolve(mu(t.data));return}if(!this.messageHandlers[t.type]){this.completeTask(e,null,null);return}let n=mu(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,nn(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?pu(t):null,data:pu(n,r)};this.target.postMessage(i,{transfer:r})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}};function Wb(e){if(!e)return!1;let t=globalThis.location;if(!t)return!1;try{return new URL(e,t.href).origin!==t.origin}catch{return!1}}function Gb(){let e=import.meta.url;if(!/^https?:/.test(e))return``;let t=e.endsWith(`-dev.mjs`)?`maplibre-gl-worker-dev.mjs`:`maplibre-gl-worker.mjs`,n=new URL(`./${t}`,e);return n.searchParams.set(`v`,je),n.href}function Kb(e){return e.split(/[?#]/)[0].endsWith(`.cjs`)}function qb(e,t){if(t)try{return new Worker(e,{type:`module`})}catch(e){console.warn(`Module worker not supported, falling back to classic worker`,e)}return new Worker(e)}async function Jb(e){let t=await fetch(e);if(!t.ok)throw Error(`Failed to fetch worker script (${t.status}): ${e}`);let n=await t.text(),r=new Blob([n],{type:`text/javascript`});return URL.createObjectURL(r)}function Yb(e){let t=new Blob([`import ${JSON.stringify(new URL(e,import.meta.url).href)}`],{type:`text/javascript`});return URL.createObjectURL(t)}async function Xb(){let e=kr.WORKER_URL||Gb(),t=!Kb(e);if(!Wb(e))return qb(e,t);if(t){let n=Yb(e);try{return qb(n,t)}finally{URL.revokeObjectURL(n)}}let n=await Jb(e);try{return qb(n,t)}finally{URL.revokeObjectURL(n)}}var Zb=`maplibre_preloaded_worker_pool`,Qb=class e{constructor(){this.active={},this.workersPromise=null}async acquire(t){if(this.active[t]=!0,!this.workersPromise){let t=[];for(;t.length<e.workerCount;)t.push(Xb());this.workersPromise=Promise.all(t)}return(await this.workersPromise).slice()}release(e){if(delete this.active[e],this.numActive()===0&&this.workersPromise){let e=this.workersPromise;this.workersPromise=null,e.then(e=>{for(let t of e)t.terminate()})}}isPreloaded(){return!!this.active[Zb]}numActive(){return Object.keys(this.active).length}},$b=Math.floor(_r.hardwareConcurrency/2);Qb.workerCount=Gn(globalThis)?Math.max(Math.min($b,3),1):1;var ex;function tx(){return ex||=new Qb,ex}function nx(){tx().acquire(Zb)}function rx(){let e=ex;e&&(e.isPreloaded()&&e.numActive()===1?(e.release(Zb),ex=null):console.warn(`Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()`))}var ix=class extends Yr{constructor(e,t){super(),this.workerPool=e,this.actors=[],this.currentActor=0,this.id=t,this.removed=!1,this.workerErrorSubscriptions=[],this.actorsPromise=this.initActors(t)}async initActors(e){let t=await this.workerPool.acquire(e);if(this.removed)return[];if(this.actors=t.map((t,n)=>{this.workerErrorSubscriptions.push(Zn(t,`error`,()=>{this.fire(new R(Error(`Worker failed to load. Check that the worker URL is correct.`)))},!1));let r=new Ub(t,e);return r.name=`Worker ${n}`,r}),!this.actors.length)throw Error(`No actors found`);return this.actors}async broadcast(e,t){let n=await this.actorsPromise;return Promise.all(n.map(n=>n.sendAsync({type:e,data:t})))}async getActor(){let e=await this.actorsPromise;return this.currentActor=(this.currentActor+1)%e.length,e[this.currentActor]}async waitForInitComplete(){this.actors.length===0&&await this.actorsPromise}getReadyActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(e=!0){this.removed=!0;for(let e of this.actors)e.remove();for(let e of this.workerErrorSubscriptions)e.unsubscribe();this.actors=[],this.workerErrorSubscriptions=[],this.setEventedParent(null),e&&this.workerPool.release(this.id)}async registerMessageHandler(e,t){let n=await this.actorsPromise;for(let r of n)r.registerMessageHandler(e,t)}async unregisterMessageHandler(e){let t=await this.actorsPromise;for(let n of t)n.unregisterMessageHandler(e)}},ax;function ox(){return ax||(ax=new ix(tx(),Nr),ax.registerMessageHandler(`GR`,(e,t,n)=>zr(t,n))),ax}function sx(e,t){let n=Ke();M(n,n,[1,1,0]),Qe(n,n,[e.width*.5,e.height*.5,1]);let r=e.getFastPathSimpleProjectionMatrix(t);return r?Ze(n,n,r):n}function cx(e,t,n){if(e)for(let r of e){let e=t[r];if(e?.source===n&&e.type===`fill-extrusion`)return!0}else for(let e in t){let r=t[e];if(r.source===n&&r.type===`fill-extrusion`)return!0}return!1}function lx(e,t,n,r,i,a,o){let s=cx(i?.layers??null,t,e.id),c=a.maxPitchScaleFactor(),l=e.tilesIn(r,c,s);l.sort(fx);let u=[];for(let r of l)u.push({wrappedTileID:r.tileID.wrapped().key,queryResults:r.tile.queryRenderedFeatures(t,n,e.getState(),r.queryGeometry,r.cameraQueryGeometry,r.scale,i,a,c,sx(a,r.tileID),o?(e,t)=>o(r.tileID,e,t):void 0)});return mx(px(u),e)}function ux(e,t,n,r,i,a,o){let s={},c=a.queryRenderedSymbols(r),l=[];for(let e of Object.keys(c).map(Number))l.push(o[e]);l.sort(fx);for(let n of l){let r=n.featureIndex.lookupSymbolFeatures(c[n.bucketInstanceId],t,n.bucketIndex,n.sourceLayerIndex,{filterSpec:i.filter,globalState:i.globalState},i.layers,i.availableImages,e);for(let e in r){s[e]||=[];let t=r[e];t.sort((e,t)=>{let r=n.featureSortOrder;if(r){let n=r.indexOf(e.featureIndex);return r.indexOf(t.featureIndex)-n}return t.featureIndex-e.featureIndex});for(let n of t)s[e].push(n)}}return hx(s,e,n)}function dx(e,t){let n=e.getRenderableIds().map(t=>e.getTileByID(t)),r=[],i={};for(let e of n){let n=e.tileID.canonical.key;i[n]||(i[n]=!0,e.querySourceFeatures(r,t))}return r}function fx(e,t){let n=e.tileID,r=t.tileID;return n.overscaledZ-r.overscaledZ||n.canonical.y-r.canonical.y||n.wrap-r.wrap||n.canonical.x-r.canonical.x}function px(e){let t={},n={};for(let{queryResults:r,wrappedTileID:i}of e){n[i]||={};let e=n[i];for(let n in r){let i=r[n];e[n]||={};let a=e[n];t[n]||=[];for(let e of i)a[e.featureIndex]||(a[e.featureIndex]=!0,t[n].push(e))}}return t}function mx(e,t){for(let n in e)for(let r of e[n])gx(r,t);return e}function hx(e,t,n){for(let r in e)for(let i of e[r]){let e=n[t[r].source];gx(i,e)}return e}function gx(e,t){let n=e.feature,r=t.getFeatureState(n.layer[`source-layer`],n.id);n.source=n.layer.source,n.layer[`source-layer`]&&(n.sourceLayer=n.layer[`source-layer`]),n.state=r}async function _x(e,t,n,r){let i=e;if(e.url?i=(await Br(await t.transformRequest(e.url,`Source`),n)).data:await _r.frameAsync(n,r),!i)return null;let a=Tn(F(i,e),[`tiles`,`minzoom`,`maxzoom`,`attribution`,`bounds`,`scheme`,`tileSize`,`encoding`]);return`vector_layers`in i&&i.vector_layers&&(a.vectorLayerIds=i.vector_layers.map(e=>e.id)),a}var vx=class e{constructor(e,t){e&&(t?this.setSouthWest(e).setNorthEast(t):Array.isArray(e)&&(e.length===4?this.setSouthWest([e[0],e[1]]).setNorthEast([e[2],e[3]]):this.setSouthWest(e[0]).setNorthEast(e[1])))}setNorthEast(e){return this._ne=e instanceof Q?new Q(e.lng,e.lat):Q.convert(e),this}setSouthWest(e){return this._sw=e instanceof Q?new Q(e.lng,e.lat):Q.convert(e),this}extend(t){let n=this._sw,r=this._ne,i,a;if(t instanceof Q)i=t,a=t;else if(t instanceof e){if(i=t._sw,a=t._ne,!i||!a)return this}else{if(Array.isArray(t)){if(t.length===4||t.every(Array.isArray)){let n=t;return this.extend(e.convert(n))}{let e=t;return this.extend(Q.convert(e))}}return t&&(`lng`in t||`lon`in t)&&`lat`in t?this.extend(Q.convert(t)):this}return!n&&!r?(this._sw=new Q(i.lng,i.lat),this._ne=new Q(a.lng,a.lat)):(n.lng=Math.min(i.lng,n.lng),n.lat=Math.min(i.lat,n.lat),r.lng=Math.max(a.lng,r.lng),r.lat=Math.max(a.lat,r.lat)),this}getCenter(){return new Q((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new Q(this.getWest(),this.getNorth())}getSouthEast(){return new Q(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(e){let{lng:t,lat:n}=Q.convert(e),r=this._sw.lat<=n&&n<=this._ne.lat,i=this._sw.lng<=t&&t<=this._ne.lng;return this._sw.lng>this._ne.lng&&(i=this._sw.lng>=t&&t>=this._ne.lng),r&&i}intersects(t){if(t=e.convert(t),!(t.getNorth()>=this.getSouth()&&t.getSouth()<=this.getNorth()))return!1;let n=Math.abs(this.getEast()-this.getWest()),r=Math.abs(t.getEast()-t.getWest());if(n>=360||r>=360)return!0;let i=wn(this.getWest(),-180,180),a=wn(this.getEast(),-180,180),o=wn(t.getWest(),-180,180),s=wn(t.getEast(),-180,180),c=i>a,l=o>s;return c&&l?!0:c?s>=i||o<=a:l?a>=o||i<=s:o<=a&&s>=i}static convert(t){return t instanceof e||!t?t:new e(t)}static fromLngLat(t,n=0){let r=360*n/40075017,i=r/Math.cos(Math.PI/180*t.lat);return new e(new Q(t.lng-i,t.lat-r),new Q(t.lng+i,t.lat+r))}adjustAntiMeridian(){let t=new Q(this._sw.lng,this._sw.lat),n=new Q(this._ne.lng,this._ne.lat);return t.lng>n.lng?new e(t,new Q(n.lng+360,n.lat)):new e(t,n)}},yx=class{constructor(e,t,n){this.bounds=vx.convert(this.validateBounds(e)),this.minzoom=t||0,this.maxzoom=n||24}validateBounds(e){return!Array.isArray(e)||e.length!==4?[-180,-90,180,90]:[Math.max(-180,e[0]),Math.max(-90,e[1]),Math.min(180,e[2]),Math.min(90,e[3])]}contains(e){let t=2**e.z,n={minX:Math.floor(Eh(this.bounds.getWest())*t),minY:Math.floor(Dh(this.bounds.getNorth())*t),maxX:Math.ceil(Eh(this.bounds.getEast())*t),maxY:Math.ceil(Dh(this.bounds.getSouth())*t)};return e.x>=n.minX&&e.x<n.maxX&&e.y>=n.minY&&e.y<n.maxY}},bx=class extends Yr{constructor(e,t,n,r){if(super(),this.id=e,this.dispatcher=n,this.type=`vector`,this.minzoom=0,this.maxzoom=22,this.scheme=`xyz`,this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,F(this,Tn(t,[`url`,`scheme`,`tileSize`,`promoteId`,`encoding`])),this._options=F({type:`vector`},t),this._collectResourceTiming=t.collectResourceTiming,this.tileSize!==512)throw Error(`vector tile sources must have a tileSize of 512`);this.setEventedParent(r)}async load(e=!1){this._loaded=!1,this.fire(new $r(`dataloading`)),this._tileJSONRequest=new AbortController;try{let t=await _x(this._options,this.map._requestManager,this._tileJSONRequest,this.map._ownerWindow);this._tileJSONRequest=null,this._loaded=!0,t&&(F(this,t),t.bounds&&(this.tileBounds=new yx(t.bounds,this.minzoom,this.maxzoom)),this.fire(new $r(`data`,{sourceDataType:`metadata`})),this.fire(new $r(`data`,{sourceDataType:`content`,sourceDataChanged:e})))}catch(e){this._tileJSONRequest=null,this._loaded=!0,fr(e)||this.fire(new R(nn(e)))}}loaded(){return this._loaded}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}onAdd(e){this.map=e,this.load()}setSourceProperty(e){this._tileJSONRequest&&this._tileJSONRequest.abort(),e(),this.load(!0)}setTiles(e){return this.setSourceProperty(()=>{this.tiles=e,this._options.tiles=e}),this}setUrl(e){return this.setSourceProperty(()=>{this.url=e,this._options.url=e}),this}onRemove(){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null)}serialize(){return F({},this._options)}async loadTile(e){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n={request:await this.map._requestManager.transformRequest(t,`Tile`),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,subdivisionGranularity:this.map.style.projection.subdivisionGranularity,encoding:this.encoding,overzoomParameters:await this._getOverzoomParameters(e),etag:e.etag};if(n.request.collectResourceTiming=this._collectResourceTiming,await this.dispatcher.waitForInitComplete(),e.aborted)return;let r=`RT`;if(!e.actor||e.state===`expired`)e.actor=this.dispatcher.getReadyActor(),r=`LT`;else if(e.state===`loading`)return new Promise((t,n)=>{e.reloadPromise={resolve:t,reject:n}});e.abortController=new AbortController;try{let t=await e.actor.sendAsync({type:r,data:n},e.abortController);if(delete e.abortController,e.aborted)return;this._afterTileLoadWorkerResponse(e,t);let i={};return t?.etagUnmodified&&(i.unmodified=!0),i}catch(t){if(delete e.abortController,e.aborted||fr(t))return;if(t&&t.status!==404)throw t;this._afterTileLoadWorkerResponse(e,null)}}async _getOverzoomParameters(e){if(e.tileID.canonical.z<=this.maxzoom||this.map._zoomLevelsToOverscale===void 0)return;let t=e.tileID.scaledTo(this.maxzoom).canonical,n=t.url(this.tiles,this.map.getPixelRatio(),this.scheme);return{maxZoomTileID:t,overzoomRequest:await this.map._requestManager.transformRequest(n,`Tile`)}}_afterTileLoadWorkerResponse(e,t){if(t?.resourceTiming&&(e.resourceTiming=t.resourceTiming),t&&this.map._refreshExpiredTiles&&e.setExpiryData(t),e.etag=t?.etag,e.loadVectorData(t,this.map.style),e.reloadPromise){let t=e.reloadPromise;e.reloadPromise=null,this.loadTile(e).then(t.resolve).catch(t.reject)}}async abortTile(e){e.abortController&&(e.abortController.abort(),delete e.abortController),e.actor&&await e.actor.sendAsync({type:`AT`,data:{uid:e.uid,type:this.type,source:this.id}})}async unloadTile(e){e.unloadVectorData(),e.actor&&await e.actor.sendAsync({type:`RMT`,data:{uid:e.uid,type:this.type,source:this.id}})}hasTransition(){return!1}},xx=class extends Yr{constructor(e,t,n,r){super(),this.id=e,this.dispatcher=n,this.setEventedParent(r),this.type=`raster`,this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=`xyz`,this.tileSize=512,this._loaded=!1,this._premultiplyAlpha=!0,this._options=F({type:`raster`},t),F(this,Tn(t,[`url`,`scheme`,`tileSize`]))}async load(e=!1){this._loaded=!1,this.fire(new $r(`dataloading`)),this._tileJSONRequest=new AbortController;try{let t=await _x(this._options,this.map._requestManager,this._tileJSONRequest,this.map._ownerWindow);this._tileJSONRequest=null,this._loaded=!0,t&&(F(this,t),t.bounds&&(this.tileBounds=new yx(t.bounds,this.minzoom,this.maxzoom)),this.fire(new $r(`data`,{sourceDataType:`metadata`})),this.fire(new $r(`data`,{sourceDataType:`content`,sourceDataChanged:e})))}catch(e){this._tileJSONRequest=null,this._loaded=!0,fr(e)||this.fire(new R(nn(e)))}}loaded(){return this._loaded}onAdd(e){this.map=e,this.load()}onRemove(){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null)}setSourceProperty(e){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null),e(),this.load(!0)}setTiles(e){return this.setSourceProperty(()=>{this.tiles=e,this._options.tiles=e}),this}setUrl(e){return this.setSourceProperty(()=>{this.url=e,this._options.url=e}),this}serialize(){return F({},this._options)}setPremultiplyAlpha(e){return this._premultiplyAlpha===e||this.setSourceProperty(()=>{this._premultiplyAlpha=e}),this}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}async loadTile(e){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n=this._premultiplyAlpha,r=n?void 0:{premultiplyAlpha:`none`};e.abortController=new AbortController;try{let i=await Wr.transformAndGetImage(this.map._requestManager,t,`Tile`,e.abortController,this.map._refreshExpiredTiles,r);if(delete e.abortController,e.aborted){e.state=`unloaded`;return}if(i){this.map._refreshExpiredTiles&&(i.cacheControl||i.expires)&&e.setExpiryData({cacheControl:i.cacheControl,expires:i.expires});let t=this.map.painter.context,r=t.gl,a=i.data??new xp({width:1,height:1},new Uint8Array(4));e.texture=this.map.painter.getTileTexture(a.width),e.texture?e.texture.update(a,{useMipmap:!0,premultiply:n}):(e.texture=new Ip(t,a,r.RGBA,{useMipmap:!0,premultiply:n}),e.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE,r.LINEAR_MIPMAP_NEAREST)),e.state=`loaded`}}catch(t){if(delete e.abortController,e.aborted)e.state=`unloaded`;else if(t)throw e.state=`errored`,t}}async abortTile(e){e.abortController&&(e.abortController.abort(),delete e.abortController)}async unloadTile(e){e.texture&&this.map.painter.saveTileTexture(e.texture)}hasTransition(){return!1}};function Sx(e,t,n){return!(e<0||e>25||n<0||n>=2**e||t<0||t>=2**e)}function Cx(e,t){let{x:n,y:r}=Nh.fromLngLat(t);return!(e<0||e>25||r<0||r>=1||n<0||n>=1)}var wx=class{constructor(e,t,n){if(!Sx(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=Dx(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=kx(this.x,this.y,this.z),i=jx(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 j((e.x*t-this.x)*N,(e.y*t-this.y)*N)}toString(){return`${this.z}/${this.x}/${this.y}`}},Tx=class{constructor(e,t){this.wrap=e,this.canonical=t,this.key=Dx(e,t.z,t.z,t.x,t.y)}},Ex=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 wx(n,+r,+i),this.key=Dx(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?Dx(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y):Dx(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 Tx(this.wrap,this.canonical)}toString(){return`${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`}getTilePoint(e){return this.canonical.getTilePoint(new Nh(e.x-this.wrap,e.y))}normalizeCoordinates(t,n,r=N){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 Dx(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 Ox=Math.PI*6378137;function kx(e,t,n){t=2**n-t-1;let r=Ax(e*256,t*256,n),i=Ax((e+1)*256,(t+1)*256,n);return`${r[0]},${r[1]},${i[0]},${i[1]}`}function Ax(e,t,n){let r=2*Ox/256/2**n;return[e*r-Ox,t*r-Ox]}function jx(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}function Mx(e,t){let n=Math.abs(e.wrap*2)-+(e.wrap<0),r=Math.abs(t.wrap*2)-+(t.wrap<0);return e.overscaledZ-t.overscaledZ||r-n||t.canonical.y-e.canonical.y||t.canonical.x-e.canonical.x}K(`CanonicalTileID`,wx),K(`OverscaledTileID`,Ex,{omit:[`terrainRttPosMatrix32f`]});var Nx=class extends xx{constructor(e,t,n,r){super(e,t,n,r),this.type=`raster-dem`,this.maxzoom=22,this._options=F({type:`raster-dem`},t),this.encoding=t.encoding||`mapbox`,this.redFactor=t.redFactor,this.greenFactor=t.greenFactor,this.blueFactor=t.blueFactor,this.baseShift=t.baseShift}async loadTile(e){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.neighboringTiles=this._getNeighboringTiles(e.tileID),e.abortController=new AbortController;try{let n=await Wr.transformAndGetImage(this.map._requestManager,t,`Tile`,e.abortController,this.map._refreshExpiredTiles,{colorSpaceConversion:`none`});if(delete e.abortController,e.aborted){e.state=`unloaded`;return}if(n){if(this.map._refreshExpiredTiles&&(n.cacheControl||n.expires)&&e.setExpiryData({cacheControl:n.cacheControl,expires:n.expires}),!n.data){e.state=`loaded`;return}let t=n.data,r=Kn(t)&&Pe()?t:await this.readImageNow(t),i={type:this.type,uid:e.uid,source:this.id,rawImageData:r,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(e.actor&&e.state!==`expired`&&e.state!==`reloading`)return;await this.dispatcher.waitForInitComplete(),(!e.actor||e.state===`expired`)&&(e.actor=this.dispatcher.getReadyActor()),e.dem=await e.actor.sendAsync({type:`LDT`,data:i}),e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.needsColorReliefPrepare=!0,e.state=`loaded`}}catch(t){if(delete e.abortController,e.aborted)e.state=`unloaded`;else if(t)throw e.state=`errored`,t}}async readImageNow(e){if(typeof VideoFrame<`u`&&Ie()){let t=e.width+4,n=e.height+4;try{return new xp({width:t,height:n},await Xn(e,-2,-2,t,n))}catch{}}return _r.getImageData(e,2)}_getNeighboringTiles(e){let t=e.canonical,n=2**t.z,r=(t.x-1+n)%n,i=t.x===0?e.wrap-1:e.wrap,a=(t.x+1+n)%n,o=t.x+1===n?e.wrap+1:e.wrap,s={};return s[new Ex(e.overscaledZ,i,t.z,r,t.y).key]={backfilled:!1},s[new Ex(e.overscaledZ,o,t.z,a,t.y).key]={backfilled:!1},t.y>0&&(s[new Ex(e.overscaledZ,i,t.z,r,t.y-1).key]={backfilled:!1},s[new Ex(e.overscaledZ,e.wrap,t.z,t.x,t.y-1).key]={backfilled:!1},s[new Ex(e.overscaledZ,o,t.z,a,t.y-1).key]={backfilled:!1}),t.y+1<n&&(s[new Ex(e.overscaledZ,i,t.z,r,t.y+1).key]={backfilled:!1},s[new Ex(e.overscaledZ,e.wrap,t.z,t.x,t.y+1).key]={backfilled:!1},s[new Ex(e.overscaledZ,o,t.z,a,t.y+1).key]={backfilled:!1}),s}async unloadTile(e){e.demTexture&&this.map.painter.saveTileTexture(e.demTexture),e.fbo&&(e.fbo.destroy(),delete e.fbo),e.dem&&delete e.dem,delete e.neighboringTiles,e.state=`unloaded`,e.actor&&await e.actor.sendAsync({type:`RDT`,data:{type:this.type,uid:e.uid,source:this.id}})}};function Px(e,t){return t?e.properties[t]:e.id}function Fx(e,t){let n=new Map;if(e==null||e.type==null)return n;if(e.type===`Feature`){let r=Px(e,t);return r==null?void 0:(n.set(r,e),n)}if(e.type===`FeatureCollection`){let r=new Set;for(let i of e.features){let e=Px(i,t);if(e==null||r.has(e))return;r.add(e),n.set(e,i)}return n}}function Ix(e,t,n){let r=[];if(t.removeAll)e.clear();else if(t.remove)for(let n of t.remove){let t=e.get(n);t&&(r.push(t.geometry),e.delete(n))}if(t.add)for(let i of t.add){let t=Px(i,n);if(t==null)continue;let a=e.get(t);a&&r.push(a.geometry),r.push(i.geometry),e.set(t,i)}if(t.update)for(let n of t.update){let t=e.get(n.id);if(!t)continue;let i=!!n.newGeometry,a=n.removeAllProperties||n.removeProperties?.length>0||n.addOrUpdateProperties?.length>0;if(!i&&!a)continue;r.push(t.geometry);let o={...t};if(e.set(n.id,o),i&&(r.push(n.newGeometry),o.geometry=n.newGeometry),a){if(o.properties=n.removeAllProperties?{}:{...o.properties||{}},n.removeProperties)for(let e of n.removeProperties)delete o.properties[e];if(n.addOrUpdateProperties)for(let{key:e,value:t}of n.addOrUpdateProperties)o.properties[e]=t}}return r}function Lx(e,t,n){if(!e)return t||{};if(!t)return e||{};let r=Bx(e,n),i=Bx(t,n);Rx(r,i);let a={};if((r.removeAll||i.removeAll)&&(a.removeAll=!0),a.remove=new Set([...r.remove,...i.remove]),a.add=new Map([...r.add,...i.add]),a.update=new Map([...r.update,...i.update]),a.remove.size&&a.add.size)for(let e of a.add.keys())a.remove.delete(e);return Vx(a)}function Rx(e,t){t.removeAll&&(e.add.clear(),e.update.clear(),e.remove.clear(),t.remove.clear());for(let n of t.remove)e.add.delete(n),e.update.delete(n);for(let[n,r]of t.update){let i=e.update.get(n);i&&(t.update.set(n,zx(i,r)),e.update.delete(n))}}function zx(e,t){let n={id:e.id};if(t.removeAllProperties&&(delete e.removeProperties,delete e.addOrUpdateProperties,delete t.removeProperties),t.removeProperties&&e.addOrUpdateProperties){let n=new Set(t.removeProperties);e.addOrUpdateProperties=e.addOrUpdateProperties.filter(e=>!n.has(e.key))}return(e.removeAllProperties||t.removeAllProperties)&&(n.removeAllProperties=!0),(e.removeProperties||t.removeProperties)&&(n.removeProperties=[...e.removeProperties||[],...t.removeProperties||[]]),(e.addOrUpdateProperties||t.addOrUpdateProperties)&&(n.addOrUpdateProperties=[...e.addOrUpdateProperties||[],...t.addOrUpdateProperties||[]]),(e.newGeometry||t.newGeometry)&&(n.newGeometry=t.newGeometry||e.newGeometry),n}function Bx(e,t){if(!e)return{};let n={};return n.removeAll=e.removeAll,n.remove=new Set(e.remove||[]),n.add=new Map(e.add?.map(e=>[Px(e,t),e])),n.update=new Map(e.update?.map(e=>[e.id,e])),n}function Vx(e){let t={};return e.removeAll&&(t.removeAll=e.removeAll),e.remove&&(t.remove=Array.from(e.remove)),e.add&&(t.add=Array.from(e.add.values())),e.update&&(t.update=Array.from(e.update.values())),t}function Hx(e){return!e||e.length===0?[]:typeof e[0]==`number`?[e]:e.flatMap(e=>Hx(e))}function Ux(e){return e.type===`GeometryCollection`?e.geometries.flatMap(e=>Ux(e)):Hx(e.coordinates)}function Wx(e){let t=new vx,n;switch(e.type){case`FeatureCollection`:n=e.features.flatMap(e=>Ux(e.geometry));break;case`Feature`:n=Ux(e.geometry);break;default:n=Ux(e)}if(n.length===0)return t;for(let e of n){let[n,r]=e;t.extend([n,r])}return t}function Gx({x:e,y:t,z:n},r=0){let i=kh((e-r)/2**n),a=Ah((t+1+r)/2**n),o=kh((e+1+r)/2**n),s=Ah((t-r)/2**n);return new vx([i,a],[o,s])}var Kx=class{constructor(e){this._waiting=[],this._sending=!1,this._replacedWhileSending=!1,this._handlers=e}isIdle(){return!this._sending&&this._waiting.length===0}top(){return this._waiting.length?this._waiting[this._waiting.length-1]:void 0}some(e){return this._waiting.some(e)}enqueue(e){this._waiting.push(e)}replace(e){this._waiting=[e],this._replacedWhileSending=this._sending}clear(){this._waiting=[]}flush(){if(this.isIdle())return Promise.resolve();if(!this._flushing){let e,t=new Promise(t=>{e=t});this._flushing={promise:t,resolve:e}}let{promise:e}=this._flushing;return this._next(),e}_next(){if(this._sending)return;let e=this._waiting.shift();if(e===void 0){this._flushing?.resolve(),this._flushing=void 0;return}this._sending=!0,this._replacedWhileSending=!1,this._send(e).finally(()=>this._next())}async _send(e){let t;try{t=await this._handlers.send(e)}catch(t){this._sending=!1,this._handlers.onError(e,t);return}this._sending=!1;try{this._handlers.onResult(e,t,this._replacedWhileSending)}catch(t){this._handlers.onError(e,t)}}},qx=class extends Yr{constructor(e,t,n,r){super(),this.id=e,this.type=`geojson`,this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._workerUpdates=new Kx({send:e=>this._sendWorkerUpdate(e),onResult:(e,t,n)=>this._onWorkerUpdateResult(e,t,n),onError:(e,t)=>this._onWorkerUpdateError(t)}),t.data!==void 0&&this._workerUpdates.enqueue({data:t.data}),this.actorPromise=n.getActor(),this.setEventedParent(r),this._data=typeof t.data==`string`?{url:t.data}:{geojson:t.data},this._options=F({},t),this._collectResourceTiming=t.collectResourceTiming,t.maxzoom!==void 0&&(this.maxzoom=t.maxzoom),t.type&&(this.type=t.type),t.attribution&&(this.attribution=t.attribution),this.promoteId=t.promoteId,t.clusterMaxZoom!==void 0&&this.maxzoom<=t.clusterMaxZoom&&Rn(`The maxzoom value "${this.maxzoom}" is expected to be greater than the clusterMaxZoom value "${t.clusterMaxZoom}".`),this.workerOptions=F({source:this.id,geojsonVtOptions:{buffer:this._pixelsToTileUnits(t.buffer===void 0?128:t.buffer),tolerance:this._pixelsToTileUnits(t.tolerance===void 0?.375:t.tolerance),extent:N,maxZoom:this.maxzoom,lineMetrics:t.lineMetrics||!1,generateId:t.generateId||!1,promoteId:this._promoteIdKey,cluster:t.cluster||!1,clusterOptions:{maxZoom:this._getClusterMaxZoom(t.clusterMaxZoom),minPoints:Math.max(2,t.clusterMinPoints||2),extent:N,radius:this._pixelsToTileUnits(t.clusterRadius||50),log:!1,generateId:t.generateId||!1}},clusterProperties:t.clusterProperties,filter:t.filter},t.workerOptions)}get _promoteIdKey(){return typeof this.promoteId==`string`?this.promoteId:void 0}_pixelsToTileUnits(e){return e*(N/this.tileSize)}_tileUnitsToPixels(e){return e/(N/this.tileSize)}_getClusterMaxZoom(e){let t=e?Math.round(e):this.maxzoom-1;return Number.isInteger(e)||e===void 0||Rn(`Integer expected for option 'clusterMaxZoom': provided value "${e}" rounded to "${t}"`),t}async load(){if(this._workerUpdates.isIdle()){Rn(`No pending worker updates for GeoJSONSource ${this.id}.`);return}await this._workerUpdates.flush()}onAdd(e){this.map=e,this.load()}setData(e){return this._data=typeof e==`string`?{url:e}:{geojson:e},this._workerUpdates.replace({data:e}),this._workerUpdates.flush()}updateData(e){let t=this._getWaitingWorkerChange();return t?t.diff=Lx(t.diff,e,this._promoteIdKey):this._workerUpdates.enqueue({diff:e}),this._workerUpdates.flush()}async getData(){for(;this._data.url;)await this.once(`data`);return this._data.geojson?this._data.geojson:{type:`FeatureCollection`,features:Array.from(this._data.updateable.values())}}async getBounds(){return Wx(await this.getData())}setClusterOptions(e){if(this.workerOptions.geojsonVtOptions.cluster=e.cluster,e.clusterRadius!==void 0&&(this.workerOptions.geojsonVtOptions.clusterOptions.radius=this._pixelsToTileUnits(e.clusterRadius)),e.clusterMaxZoom!==void 0&&(this.workerOptions.geojsonVtOptions.clusterOptions.maxZoom=this._getClusterMaxZoom(e.clusterMaxZoom)),!this._workerUpdates.some(e=>`data`in e)){let e=this._getWaitingWorkerChange();e?e.updateCluster=!0:this._workerUpdates.enqueue({updateCluster:!0})}return this._workerUpdates.flush()}_getWaitingWorkerChange(){let e=this._workerUpdates.top();return e&&!(`data`in e)?e:void 0}getClusterOptions(){let{cluster:e,clusterOptions:t}=this.workerOptions.geojsonVtOptions;return{cluster:e,clusterMaxZoom:t.maxZoom,clusterRadius:this._tileUnitsToPixels(t.radius)}}async getClusterExpansionZoom(e){return(await this.actorPromise).sendAsync({type:`GCEZ`,data:{type:this.type,clusterId:e,source:this.id}})}async getClusterChildren(e){return(await this.actorPromise).sendAsync({type:`GCC`,data:{type:this.type,clusterId:e,source:this.id}})}async getClusterLeaves(e,t,n){return(await this.actorPromise).sendAsync({type:`GCL`,data:{type:this.type,source:this.id,clusterId:e,limit:t,offset:n}})}async _getLoadGeoJSONParameters(e){let t=F({type:this.type,source:this.id},this.workerOptions);return`data`in e?typeof e.data==`string`?(t.request=await this.map._requestManager.transformRequest(_r.resolveURL(e.data),`Source`),t.request.collectResourceTiming=this._collectResourceTiming,t):(t.data=e.data,t):(e.diff&&(t.dataDiff=e.diff),e.updateCluster&&(t.updateCluster=!0),t)}async _sendWorkerUpdate(e){this.fire(new $r(`dataloading`));let t=await this._getLoadGeoJSONParameters(e);return(await this.actorPromise).sendAsync({type:`LD`,data:t})}_onWorkerUpdateResult(e,t,n){if(this._removed||t.abandoned){this.fire(new $r(`dataabort`));return}t.data&&!n&&(this._data={geojson:t.data});let r=`data`in e||n?void 0:e.diff,i=this._applyDiffToSource(r),a=!(`data`in e)&&e.updateCluster?void 0:this._getShouldReloadTileOptions(i),o={};this._applyResourceTiming(o,t),this.fire(new $r(`data`,{...o,sourceDataType:`metadata`})),this.fire(new $r(`data`,{...o,sourceDataType:`content`,shouldReloadTileOptions:a}))}_onWorkerUpdateError(e){if(this._removed){this.fire(new $r(`dataabort`));return}this.fire(new R(nn(e)))}_applyResourceTiming(e,t){if(!this._collectResourceTiming)return;let n=t.resourceTiming?.[this.id];if(!n)return;let r=n.slice(0);r?.length&&F(e,{resourceTiming:r})}_applyDiffToSource(e){if(!e)return;let t=this._promoteIdKey;if(!this._data.url&&!this._data.updateable){let e=Fx(this._data.geojson,t);if(!e)throw Error(`GeoJSONSource "${this.id}": GeoJSON data is not compatible with updateData`);this._data={updateable:e}}if(!this._data.updateable)return;let n=Ix(this._data.updateable,e,t);if(!(e.removeAll||this.workerOptions.geojsonVtOptions.cluster))return n}_getShouldReloadTileOptions(e){if(e)return{affectedBounds:e.filter(Boolean).map(e=>Wx(e))}}shouldReloadTile(e,{affectedBounds:t}){if(e.state===`loading`)return!0;if(e.state===`unloaded`)return!1;let{buffer:n,extent:r}=this.workerOptions.geojsonVtOptions,i=Gx(e.tileID.canonical,n/r);for(let e of t)if(i.intersects(e))return!0;return!1}loaded(){return this._workerUpdates.isIdle()}async loadTile(e){let t=e.actor?`RT`:`LT`;e.actor=await this.actorPromise;let n={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,subdivisionGranularity:this.map.style.projection.subdivisionGranularity};e.abortController=new AbortController;try{let r=await(await this.actorPromise).sendAsync({type:t,data:n},e.abortController);delete e.abortController,e.unloadVectorData(),e.aborted||e.loadVectorData(r,this.map.style,t===`RT`)}catch(t){if(delete e.abortController,e.aborted||fr(t))return;throw t}}async abortTile(e){e.abortController&&(e.abortController.abort(),delete e.abortController),e.aborted=!0}async unloadTile(e){e.unloadVectorData(),await(await this.actorPromise).sendAsync({type:`RMT`,data:{uid:e.uid,type:this.type,source:this.id}})}onRemove(){this._removed=!0,this._workerUpdates.clear(),this.actorPromise.then(e=>e.sendAsync({type:`RS`,data:{type:this.type,source:this.id}}))}serialize(){return F({},this._options,{type:this.type,data:this._data.updateable?{type:`FeatureCollection`,features:Array.from(this._data.updateable.values())}:this._data.url||this._data.geojson})}hasTransition(){return!1}},Jx=[0,0,1],Yx=(e,t)=>({u_tl_parent:new Z(e,t.u_tl_parent),u_scale_parent:new X(e,t.u_scale_parent),u_buffer_scale:new X(e,t.u_buffer_scale),u_image_warp:new cf(e,t.u_image_warp),u_fade_t:new X(e,t.u_fade_t),u_opacity:new X(e,t.u_opacity),u_image0:new Y(e,t.u_image0),u_image1:new Y(e,t.u_image1),u_brightness_low:new X(e,t.u_brightness_low),u_brightness_high:new X(e,t.u_brightness_high),u_saturation_factor:new X(e,t.u_saturation_factor),u_contrast_factor:new X(e,t.u_contrast_factor),u_spin_weights:new cf(e,t.u_spin_weights),u_coords_top:new lf(e,t.u_coords_top),u_coords_bottom:new lf(e,t.u_coords_bottom)}),Xx=(e,t,n,r,i,a)=>({u_tl_parent:e,u_scale_parent:t,u_buffer_scale:1,u_image_warp:a,u_fade_t:n.mix,u_opacity:n.opacity*r.paint.get(`raster-opacity`),u_image0:0,u_image1:1,u_brightness_low:r.paint.get(`raster-brightness-min`),u_brightness_high:r.paint.get(`raster-brightness-max`),u_saturation_factor:$x(r.paint.get(`raster-saturation`)),u_contrast_factor:Qx(r.paint.get(`raster-contrast`)),u_spin_weights:Zx(r.paint.get(`raster-hue-rotate`)),u_coords_top:[i[0].x,i[0].y,i[1].x,i[1].y],u_coords_bottom:[i[3].x,i[3].y,i[2].x,i[2].y]});function Zx(e){e*=Math.PI/180;let t=Math.sin(e),n=Math.cos(e);return[(2*n+1)/3,(-Math.sqrt(3)*t-n+1)/3,(Math.sqrt(3)*t-n+1)/3]}function Qx(e){return e>0?1/(1-e):1+e}function $x(e){return e>0?1-1/(1.001-e):-e}var eS=class{constructor(e,t,n){this.vertexBuffer=e,this.indexBuffer=t,this.segments=n}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}},tS=Hu([{name:`a_pos`,type:`Int16`,components:2}]);function nS(e,t){let n=rS(t,`16bit`),r=Dd.deserialize({arrayBuffer:n.vertices,length:n.vertices.byteLength/2/2}),i=Wd.deserialize({arrayBuffer:n.indices,length:n.indices.byteLength/2/3});return new eS(e.createVertexBuffer(r,tS.members),e.createIndexBuffer(i),Yd.simpleSegment(0,0,r.length,i.length))}function rS(e,t){let n=e.granularity===void 0?1:Math.max(e.granularity,1),r=n+(e.generateBorders?2:0),i=n+(e.extendToNorthPole||e.generateBorders?1:0)+(e.extendToSouthPole||e.generateBorders?1:0),a=r+1,o=i+1,s=e.generateBorders?-1:0,c=e.generateBorders||e.extendToNorthPole?-1:0,l=n+ +!!e.generateBorders,u=n+(e.generateBorders||e.extendToSouthPole?1:0),d=a*o,f=r*i*6,p=a*o>65536;if(p&&t===`16bit`)throw Error(`Granularity is too large and meshes would not fit inside 16 bit vertex indices.`);let m=p||t===`32bit`,h=new Int16Array(d*2),g=0;for(let t=c;t<=u;t++)for(let r=s;r<=l;r++){let i=r/n*N;r===-1&&(i=-64),r===n+1&&(i=8256);let a=t/n*N;t===-1&&(a=e.extendToNorthPole?Hm:-64),t===n+1&&(a=e.extendToSouthPole?Um:8256),h[g++]=i,h[g++]=a}let _=m?new Uint32Array(f):new Uint16Array(f),v=0;for(let e=0;e<i;e++)for(let t=0;t<r;t++){let n=t+e*a,r=t+1+e*a,i=t+(e+1)*a,o=t+1+(e+1)*a;_[v++]=n,_[v++]=i,_[v++]=r,_[v++]=r,_[v++]=i,_[v++]=o}return{vertices:h.buffer.slice(0),indices:_.buffer.slice(0),uses32bitIndices:m}}var iS=class extends Yr{constructor(e,t,n,r){super(),this.imageWarp=Jx,this.flippedWindingOrder=!1,this._warp=`auto`,this._imageDirty=!1,this._subdividedQuad=!1,this._subdividedMesh=null,this.id=e,this.dispatcher=n,this.coordinates=t.coordinates,this.type=`image`,this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(r),this.options=t}async load(e){if(this.options.url===void 0){this._loaded=!0,this._finishLoading();return}this._loaded=!1,this.fire(new $r(`dataloading`)),this.url=this.options.url,this._abortController=new AbortController;try{let t=await Wr.transformAndGetImage(this.map._requestManager,this.url,`Image`,this._abortController);this._abortController=null,this._loaded=!0,t?.data?(this._setImage(t.data),e&&(this.coordinates=e),this._finishLoading()):this.fire(new R(Error(`Could not load image ${this.url}: the response is empty`)))}catch(e){if(fr(e))return;this._abortController=null,this._loaded=!0,this.fire(new R(nn(e)))}}loaded(){return this._loaded}updateImage(e){return this._abortController&&=(this._abortController.abort(),null),`image`in e?(this._loaded=!0,this._setImage(e.image),e.coordinates&&(this.coordinates=e.coordinates),this._finishLoading(),this):e.url?(this.options.url=e.url,this.load(e.coordinates),this):this}_setImage(e){this.image=e,this._imageDirty=!0}getMesh(e,t){return!this._subdividedQuad||t?null:(this._subdividedMesh??=nS(e,{granularity:16}),this._subdividedMesh)}_disposeTexture(){this.texture?.destroy(),this.texture=null}_finishLoading(){if(this.map)try{this.setCoordinates(this.coordinates),this.fire(new $r(`data`,{sourceDataType:`metadata`}))}catch(e){this.fire(new R(nn(e)))}}onAdd(e){this.map=e,this.load()}onRemove(){this._abortController&&=(this._abortController.abort(),null),this._disposeTexture(),this._subdividedMesh?.destroy(),this._subdividedMesh=null,this.image=null,this.tiles={}}setWarp(e){return this._warp===e?this:(this._warp=e,this.tileCoords&&this.setCoordinates(this.coordinates),this)}getWarp(){return this._warp}setCoordinates(e){this.coordinates=e;let t=e.map(Nh.fromLngLat);return this.tileID=aS(t),this.terrainTileRanges=this._getOverlappingTileRanges(t),this.minzoom=this.maxzoom=this.tileID.z,this.tileCoords=t.map(e=>this.tileID.getTilePoint(e)._round()),this.imageWarp=sS(this.tileCoords,this._warp),this._subdividedQuad=this.imageWarp[2]>0&&!lS(this.tileCoords),this.flippedWindingOrder=oS(this.tileCoords),this.fire(new $r(`data`,{sourceDataType:`content`})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let e=this.map.painter.context,t=e.gl;this.texture?this._imageDirty&&(this.texture.update(this.image),this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE)):(this.texture=new Ip(e,this.image,t.RGBA),this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE)),this._imageDirty=!1;let n=!1;for(let e in this.tiles){let t=this.tiles[e];t.state!==`loaded`&&(t.state=`loaded`,t.texture=this.texture,n=!0)}n&&this.fire(new $r(`data`,{sourceDataType:`idle`,sourceId:this.id}))}async loadTile(e){this.tileID?.equals(e.tileID.canonical)?(this.tiles[String(e.tileID.wrap)]=e,e.buckets={}):e.state=`errored`}serialize(){let e={type:`image`,coordinates:this.coordinates};return this.options.url!==void 0&&(e.url=this.options.url),e}hasTransition(){return!1}_getOverlappingTileRanges(e){let{minX:t,minY:n,maxX:r,maxY:i}=ph.fromPoints(e),a={};for(let e=0;e<=25;e++){let o=2**e,s=Math.floor(t*o),c=Math.floor(n*o),l=Math.floor(r*o),u=Math.floor(i*o),d=(s%o+o)%o,f=l%o,p=Math.floor(s/o),m=Math.floor(l/o);a[e]={minWrap:p,maxWrap:m,minTileXWrapped:d,maxTileXWrapped:f,minTileY:c,maxTileY:u}}return a}};function aS(e){let t=ph.fromPoints(e),n=t.width(),r=t.height(),i=Math.max(0,Math.floor(-Math.log(Math.max(n,r))/Math.LN2)),a=2**i;return new wx(i,Math.floor((t.minX+t.maxX)/2*a),Math.floor((t.minY+t.maxY)/2*a))}function oS(e){let t=e[1].x-e[0].x,n=e[1].y-e[0].y,r=e[2].x-e[0].x;return t*(e[2].y-e[0].y)-n*r<0}function sS(e,t){if(t===`flat`||lS(e))return Jx;let[n,r,i,a]=e,o=n.x-r.x+i.x-a.x,s=n.y-r.y+i.y-a.y,c=[r.x-i.x,r.y-i.y,a.x-i.x,a.y-i.y],[l,u,d,f]=c,p=Be(c),m=(o*f-d*s)/p,h=(l*s-o*u)/p,g=[1,1+m,1+m+h,1+h],_=Math.max(...g)/Math.min(...g),v=t===`perspective`?0:cS(_);return!(_>=1&&_<=512)||v>=1?Jx:[m,h,v]}function cS(e){let t=(1-4/e)/(1-4/512);return Math.max(0,t)}function lS(e){let[t,n,r,i]=e;return t.x+r.x===n.x+i.x&&t.y+r.y===n.y+i.y}var uS=class extends iS{constructor(e,t,n,r){super(e,t,n,r),this._onPlayingHandler=()=>{this.map?.triggerRepaint()},this.roundZoom=!0,this.type=`video`,this.options=t}async load(){this._loaded=!1;let e=this.options;this.urls=[];for(let t of e.urls)this.urls.push((await this.map._requestManager.transformRequest(t,`Source`)).url);try{let e=await Ur(this.urls);if(this._loaded=!0,!e)return;this.video=e,this.video.loop=!0,this.video.addEventListener(`playing`,this._onPlayingHandler),this.map&&this.video.play(),this._finishLoading()}catch(e){this.fire(new R(nn(e)))}}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(e){if(this.video){let t=this.video.seekable;e<t.start(0)||e>t.end(0)?this.fire(new R(new V(`sources.${this.id}`,null,`Playback for this video can be set only between the ${t.start(0)} and ${t.end(0)}-second mark.`))):this.video.currentTime=e}}getVideo(){return this.video}onAdd(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}onRemove(){super.onRemove(),this.video&&(this.video.removeEventListener(`playing`,this._onPlayingHandler),this.video.pause())}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let e=this.map.painter.context,t=e.gl;this.texture?this.video.paused||(this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE),t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,this.video)):(this.texture=new Ip(e,this.video,t.RGBA),this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE));let n=!1;for(let e in this.tiles){let t=this.tiles[e];t.state!==`loaded`&&(t.state=`loaded`,t.texture=this.texture,n=!0)}n&&this.fire(new $r(`data`,{sourceDataType:`idle`,sourceId:this.id}))}serialize(){return{type:`video`,urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}},dS=class extends iS{constructor(e,t,n,r){super(e,t,n,r),t.coordinates?(!Array.isArray(t.coordinates)||t.coordinates.length!==4||t.coordinates.some(e=>!Array.isArray(e)||e.length!==2||e.some(e=>typeof e!=`number`)))&&this.fire(new R(new V(`sources.${e}`,null,`"coordinates" property must be an array of 4 longitude/latitude array pairs`))):this.fire(new R(new V(`sources.${e}`,null,`missing required property "coordinates"`))),t.animate&&typeof t.animate!=`boolean`&&this.fire(new R(new V(`sources.${e}`,null,`optional "animate" property must be a boolean value`))),t.canvas?typeof t.canvas!=`string`&&!(t.canvas instanceof HTMLCanvasElement)&&this.fire(new R(new V(`sources.${e}`,null,`"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance`))):this.fire(new R(new V(`sources.${e}`,null,`missing required property "canvas"`))),this.options=t,this.animate=t.animate===void 0||t.animate}async load(){if(this._loaded=!0,this.canvas||=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()){this.fire(new R(Error(`Canvas dimensions cannot be less than or equal to zero.`)));return}this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&=(this.prepare(),!1)},this._finishLoading()}getCanvas(){return this.canvas}onAdd(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this._playing=!1,super.onRemove()}prepare(){let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let t=this.map.painter.context,n=t.gl;this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):(this.texture=new Ip(t,this.canvas,n.RGBA,{premultiply:!0}),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE));let r=!1;for(let e in this.tiles){let t=this.tiles[e];t.state!==`loaded`&&(t.state=`loaded`,t.texture=this.texture,r=!0)}r&&this.fire(new $r(`data`,{sourceDataType:`idle`,sourceId:this.id}))}serialize(){return{type:`canvas`,animate:this.animate,canvas:this.options.canvas,coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let e of[this.canvas.width,this.canvas.height])if(isNaN(e)||e<=0)return!0;return!1}},fS={},pS=(e,t,n,r)=>{let i=new(mS(t.type))(e,t,n,r);if(i.id!==e)throw Error(`Expected Source id to be ${e} instead of ${i.id}`);return i},mS=e=>{switch(e){case`geojson`:return qx;case`image`:return iS;case`raster`:return xx;case`raster-dem`:return Nx;case`vector`:return bx;case`video`:return uS;case`canvas`:return dS}return fS[e]},hS=(e,t)=>{fS[e]=t},gS=async(e,t)=>{if(mS(e))throw Error(`A source type called "${e}" already exists.`);hS(e,t)};function _S(e,t){let n={};if(!t)return n;for(let r of e){let e=r.layerIds.map(e=>t.getLayer(e)).filter(Boolean);if(e.length!==0){r.layers=e,r.stateDependentLayerIds&&(r.stateDependentLayers=r.stateDependentLayerIds.map(t=>e.filter(e=>e.id===t)[0]));for(let t of e)n[t.id]=r}}return n}var vS=`_geojsonTileLayer`,yS=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]}},bS=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=vh(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}},xS=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}},SS=class extends xS{},CS=class extends SS{getValueFromBuffer(e){return this.dataBuffer[e]}},wS=class extends SS{getValueFromBuffer(e){return this.dataBuffer[e]}},TS=class extends xS{constructor(e,t,n,r){super(e,t,r),this.delta=n}},ES=class extends TS{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}},DS=class extends xS{constructor(e,t,n,r){super(e,r?Int32Array.of(t):Uint32Array.of(t),n)}getValueFromBuffer(e){return this.dataBuffer[0]}},OS=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 CS||e instanceof DS||e instanceof ES||e instanceof wS}},kS={FEATURE:0,VERTEX:1},AS={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},jS={GEOMETRY:0,STRUCT:1,MAP:2},MS={ID:0},NS=class{constructor(e){this.value=e}get(){return this.value}set(e){this.value=e}increment(){return this.value++}add(e){this.value+=e}},$;(function(e){e.NONE=`NONE`,e.DELTA=`DELTA`,e.COMPONENTWISE_DELTA=`COMPONENTWISE_DELTA`,e.RLE=`RLE`,e.MORTON=`MORTON`})($||={});var PS;(function(e){e.NONE=`NONE`,e.FAST_PFOR=`FAST_PFOR`,e.VARINT=`VARINT`})(PS||={});var FS=new Uint32Array(33);FS[0]=0;for(let e=1;e<=32;e++)FS[e]=e===32?4294967295:4294967295>>>32-e;var IS=FS,LS=65536;function RS(e,t){return e-e%t}function zS(e){return RS(e+31,32)}function BS(e){if(!Number.isFinite(e)||e<=0)return LS;let t=RS(Math.floor(e),256);return t===0?256:t}function VS(e){let t=e>>>0;return((t&255)<<24|(t&65280)<<8|t>>>8&65280|t>>>24&255)>>>0}function HS(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 US(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 WS(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 GS(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 KS(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 qS(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 JS(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 YS(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 XS(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 ZS(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 QS(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 $S(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 eC(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 tC(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 nC(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 rC(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 iC(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 aC(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 oC(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 sC(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 cC(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 lC(e,t,n,r,i){let a=IS[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 uC=BS(LS),dC=3*uC/256+uC|0;function fC(){let e=new Uint8Array(dC);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 pC(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:fC()}}function mC(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 hC(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 gC(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=zS(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)EC(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 _C(e,t,n,r,i){switch(i){case 1:eC(e,t,n,r);break;case 2:tC(e,t,n,r);break;case 3:nC(e,t,n,r);break;case 4:rC(e,t,n,r);break;case 5:iC(e,t,n,r);break;case 6:aC(e,t,n,r);break;case 7:oC(e,t,n,r);break;case 8:sC(e,t,n,r);break;case 16:cC(e,t,n,r);break;default:lC(e,t,n,r,i)}return t+(i<<3)|0}function vC(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 yC(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 bC(e,t,n,r,i,a,o,s,c){let{maxBits:l,exceptionBitWidth:u,bytePosIn:d}=yC(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 xC(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=vC(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=_C(e,u,i,f,r)}o>0&&(d=bC(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 SC(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=hC(e,f,u,a),h=u,g=gC(e,p,a);return a.dataPointers.fill(0),xC(e,o,c,l,t,r|0,i/256|0,m,h,a),g}function CC(e,t,n,r,i,a){let o=r+RS(i,256),s=r,c=n;for(;s!==o;){let n=Math.min(uC,o-s);c=SC(e,t,c,s,n,a),s=s+n|0}return c}function wC(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 TC(e,t,n){let r=0,i=0,a=new Uint32Array(t),o=n??fC();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=CC(e,a,r,i,t,o),i=i+t|0}let s=e.length-r|0,c=t-i|0;return wC(e,r,s,a,i,c),a}function EC(e,t,n,r,i){switch(i){case 2:HS(e,t,n,r);return;case 3:US(e,t,n,r);return;case 4:WS(e,t,n,r);return;case 5:GS(e,t,n,r);return;case 6:KS(e,t,n,r);return;case 7:qS(e,t,n,r);return;case 8:JS(e,t,n,r);return;case 9:YS(e,t,n,r);return;case 10:XS(e,t,n,r);return;case 11:ZS(e,t,n,r);return;case 12:QS(e,t,n,r);return;case 16:$S(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=IS[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=IS[i-l]>>>0,f=(u|(c&d)<<l)&a;n[r+t]=f|0,s=i-l}}function DC(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]=VS(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 OC(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 kC(e,t,n){let r=new BigUint64Array(n);for(let n=0;n<r.length;n++)r[n]=AC(e,t);return r}function AC(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 jC(e,t,n){let r=new Float64Array(n);for(let i=0;i<n;i++)r[i]=MC(e,t);return r}function MC(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,NC(n,e,t))}function NC(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 PC(e,t,n,r){return FC(e,t,n,r,pC(n>>>2))}function FC(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=mC(i,o);DC(e,a,n,s);let c=TC(s.subarray(0,o),t,i.decoderWorkspace);return r.add(n),c}function IC(e){return e>>>1^-(e&1)}function LC(e){return e>>1n^-(e&1n)}function RC(e){return e%2==1?(e+1)/-2:e/2}function zC(e){let t=new Int32Array(e.length);for(let n=0;n<e.length;n++)t[n]=IC(e[n]);return t}function BC(e){let t=new BigInt64Array(e.length);for(let n=0;n<e.length;n++)t[n]=LC(e[n]);return t}function VC(e){for(let t=0;t<e.length;t++)e[t]=RC(e[t])}function HC(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 UC(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 WC(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 GC(e){let t=new Int32Array(e.length);t[0]=IC(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]=IC(n)+t[r-1],t[r+1]=IC(i)+t[r],t[r+2]=IC(a)+t[r+1],t[r+3]=IC(o)+t[r+2]}for(;r!==e.length;++r)t[r]=IC(e[r])+t[r-1];return t}function KC(e){let t=new BigInt64Array(e.length);t[0]=LC(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]=LC(n)+t[r-1],t[r+1]=LC(i)+t[r],t[r+2]=LC(a)+t[r+1],t[r+3]=LC(o)+t[r+2]}for(;r!==t.length;++r)t[r]=LC(e[r])+t[r-1];return t}function qC(e){e[0]=RC(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]=RC(t)+e[n-1],e[n+1]=RC(r)+e[n],e[n+2]=RC(i)+e[n+1],e[n+3]=RC(a)+e[n+2]}for(;n!==e.length;++n)e[n]=RC(e[n])+e[n-1]}function JC(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=IC(o),r.fill(o,i,i+a),i+=a}return r}function YC(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=LC(o),r.fill(o,i,i+a),i+=a}return r}function XC(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=RC(o),r.fill(o,i,i+a),i+=a}return r}function ZC(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 QC(e){let t=0;for(let n=0;n<e.length;n++)e[n]+=t,t=e[n]}function $C(e){if(e.length<2)return new Int32Array(e);let t=new Int32Array(e.length);t[0]=IC(e[0]),t[1]=IC(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]=IC(n)+t[r-2],t[r+1]=IC(i)+t[r-1],t[r+2]=IC(a)+t[r],t[r+3]=IC(o)+t[r+1]}for(;r!==e.length;r+=2)t[r]=IC(e[r])+t[r-2],t[r+1]=IC(e[r+1])+t[r-1];return t}function ew(e,t,n,r){if(e.length<2)return new Int32Array(e);let i=new Int32Array(e.length),a=IC(e[0]),o=IC(e[1]);i[0]=tw(Math.round(a*t),n,r),i[1]=tw(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=IC(s)+a,d=IC(l)+o;i[c]=tw(Math.round(u*t),n,r),i[c+1]=tw(Math.round(d*t),n,r);let f=e[c+2],p=e[c+3];a=IC(f)+u,o=IC(p)+d,i[c+2]=tw(Math.round(a*t),n,r),i[c+3]=tw(Math.round(o*t),n,r)}for(;c!==e.length;c+=2)a+=IC(e[c]),o+=IC(e[c+1]),i[c]=tw(Math.round(a*t),n,r),i[c+1]=tw(Math.round(o*t),n,r);return i}function tw(e,t,n){return Math.min(n,Math.max(t,e))}function nw(e){let t=new Int32Array(e.length+1);t[0]=0,t[1]=IC(e[0]);let n=t[1];for(let r=2;r!==t.length;++r){let i=e[r-1],a=IC(i);n+=a,t[r]=t[r-1]+n}return new Uint32Array(t)}function rw(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=IC(s);for(let e=i;e<i+o;e++)r[e]=s+a,a=r[e];i+=o}return r}function iw(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 aw(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=IC(s);for(let e=0;e<o;e++)a+=c,r[i++]=a}return r}function ow(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=LC(s);for(let e=0;e<o;e++)a+=c,r[i++]=a}return r}function sw(e){let t=new Uint32Array(e.length);t[0]=IC(e[0])>>>0;for(let n=1;n<e.length;n++)t[n]=t[n-1]+IC(e[n])>>>0;return t}function cw(e){let t=new BigUint64Array(e.length);t[0]=BigInt.asUintN(64,LC(e[0]));for(let n=1;n<e.length;n++)t[n]=BigInt.asUintN(64,t[n-1]+LC(e[n]));return t}function lw(e){if(e.length<2)return new Uint32Array(e);let t=new Uint32Array(e.length);t[0]=IC(e[0])>>>0,t[1]=IC(e[1])>>>0;for(let n=2;n<e.length;n+=2)t[n]=t[n-2]+IC(e[n])>>>0,t[n+1]=t[n-1]+IC(e[n+1])>>>0;return t}function uw(e,t,n,r){let i=ew(e,t,n,r);return new Uint32Array(i)}function dw(e){return e[1]}function fw(e){return IC(e[1])}function pw(e){if(e.length===2){let t=IC(e[1]);return[t,t]}return[IC(e[2]),IC(e[3])]}function mw(e){return e[1]}function hw(e){return LC(e[1])}function gw(e){if(e.length===2){let t=LC(e[1]);return[t,t]}return[LC(e[2]),LC(e[3])]}var _w;(function(e){e.PRESENT=`PRESENT`,e.DATA=`DATA`,e.OFFSET=`OFFSET`,e.LENGTH=`LENGTH`})(_w||={});var vw;(function(e){e.NONE=`NONE`,e.SINGLE=`SINGLE`,e.SHARED=`SHARED`,e.VERTEX=`VERTEX`,e.MORTON=`MORTON`,e.FSST=`FSST`})(vw||={});var yw;(function(e){e.VERTEX=`VERTEX`,e.INDEX=`INDEX`,e.STRING=`STRING`,e.KEY=`KEY`})(yw||={});var bw;(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`})(bw||={});var xw=[_w.PRESENT,_w.DATA,_w.OFFSET,_w.LENGTH],Sw=[$.NONE,$.DELTA,$.COMPONENTWISE_DELTA,$.RLE,$.MORTON],Cw=[PS.NONE,PS.FAST_PFOR,PS.VARINT],ww=[vw.NONE,vw.SINGLE,vw.SHARED,vw.VERTEX,vw.MORTON,vw.FSST],Tw=[yw.VERTEX,yw.INDEX,yw.STRING,yw.KEY],Ew=[bw.VAR_BINARY,bw.GEOMETRIES,bw.PARTS,bw.RINGS,bw.TRIANGLES,bw.SYMBOL,bw.DICTIONARY];function Dw(e,t){let n=Aw(e,t);return n.logicalLevelTechnique1===$.MORTON?Ow(n,e,t):($.RLE===n.logicalLevelTechnique1||$.RLE===n.logicalLevelTechnique2)&&PS.NONE!==n.physicalLevelTechnique?kw(n,e,t):n}function Ow(e,t,n){let r=OC(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 kw(e,t,n){let r=OC(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 Aw(e,t){let n=e[t.get()],r=xw[n>>4],i={};switch(r){case _w.DATA:i={dictionaryType:ww[n&15]};break;case _w.OFFSET:i={offsetType:Tw[n&15]};break;case _w.LENGTH:i={lengthType:Ew[n&15]}}t.increment();let a=e[t.get()],o=Sw[a>>5],s=Sw[a>>2&7],c=Cw[a&3];t.increment();let l=OC(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 jw;(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`})(jw||={});var Mw=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 Nw(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 Pw(e,t,n){if(!n)return e;let r=n.size(),i=new Mw(e,t),a=new Mw(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 Fw(e,t,n){for(let r=0;r<e;r++){let e=Dw(t,n);n.add(e.byteLength)}}function Iw(e,t,n,r,i){let a=Lw(e,Math.ceil(t/8),n,r);return i?Pw(a,t,i):a}function Lw(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 Rw(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?Nw(s,r,0):s}function zw(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?Nw(s,r,0):s}function Bw(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 Vw(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 Hw=new TextDecoder;function Uw(e,t,n){return n-t>=12?Hw.decode(e.subarray(t,n)):Ww(e,t,n)}function Ww(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 Gw(e,t,n,r,i){return oT(Jw(e,t,n),n,r,i)}function Kw(e,t,n,r,i){return sT(Jw(e,t,n),n,r,i)}function qw(e,t,n){return dT(Jw(e,t,n),n)}function Jw(e,t,n){let r=n.physicalLevelTechnique;switch(r){case PS.FAST_PFOR:return PC(e,n.numValues,n.byteLength,t);case PS.VARINT:return OC(e,t,n.numValues);case PS.NONE:return Bw(e,t,n.numValues);default:throw Error(`Specified physicalLevelTechnique ${r} is not supported (yet).`)}}function Yw(e,t,n){let r=n.physicalLevelTechnique;switch(r){case PS.VARINT:return kC(e,t,n.numValues);case PS.NONE:return Vw(e,t,n.numValues);default:throw Error(`Specified physicalLevelTechnique ${r} is not supported (yet).`)}}function Xw(e,t,n){let r=Jw(e,t,n);return r.length===1?IC(r[0]):fw(r)}function Zw(e,t,n){let r=Jw(e,t,n);return r.length===1?n.logicalLevelTechnique1===$.DELTA?IC(r[0]):r[0]:dw(r)}function Qw(e,t,n){return pw(Jw(e,t,n))}function $w(e,t,n){return gw(kC(e,t,n.numValues))}function eT(e,t,n,r){return cT(Yw(e,t,n),n,r)}function tT(e,t,n,r){return lT(Yw(e,t,n),n,r)}function nT(e,t,n,r){let i=rT(e,t,n,!1);return r?Nw(i,r,0):i}function rT(e,t,n,r){if(n.physicalLevelTechnique===PS.VARINT)return uT(jC(e,t,n.numValues),n,r);let i=Yw(e,t,n),a=r?cT(i,n):lT(i,n);return Float64Array.from(a,Number)}function iT(e,t,n){let r=Yw(e,t,n);return r.length===1?LC(r[0]):hw(r)}function aT(e,t,n){let r=Yw(e,t,n);return r.length===1?n.logicalLevelTechnique1===$.DELTA?LC(r[0]):r[0]:mw(r)}function oT(e,t,n,r){let i;switch(t.logicalLevelTechnique1){case $.DELTA:if(t.logicalLevelTechnique2===$.RLE){let n=t;if(!r)return aw(e,n.runs,n.numRleValues);e=HC(e,n.runs,n.numRleValues),i=GC(e)}else i=GC(e);break;case $.RLE:i=JC(e,t.runs,t.numRleValues);break;case $.MORTON:ZC(e),i=new Int32Array(e);break;case $.COMPONENTWISE_DELTA:if(n&&!r)return ew(e,n.scale,n.min,n.max);i=$C(e);break;case $.NONE:i=zC(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?Nw(i,r,0):i}function sT(e,t,n,r){let i;switch(t.logicalLevelTechnique1){case $.DELTA:if(t.logicalLevelTechnique2===$.RLE){let n=t;i=sw(HC(e,n.runs,n.numRleValues))}else i=sw(e);break;case $.RLE:i=HC(e,t.runs,t.numRleValues);break;case $.MORTON:ZC(e),i=e;break;case $.COMPONENTWISE_DELTA:i=n&&!r?uw(e,n.scale,n.min,n.max):lw(e);break;case $.NONE:i=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?Nw(i,r,0):i}function cT(e,t,n){let r;switch(t.logicalLevelTechnique1){case $.DELTA:if(t.logicalLevelTechnique2===$.RLE){let i=t;if(!n)return ow(e,i.runs,i.numRleValues);e=UC(e,i.runs,i.numRleValues),r=KC(e)}else r=KC(e);break;case $.RLE:r=YC(e,t.runs,t.numRleValues);break;case $.NONE:r=BC(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return n?Nw(r,n,0n):r}function lT(e,t,n){let r;switch(t.logicalLevelTechnique1){case $.DELTA:if(t.logicalLevelTechnique2===$.RLE){let n=t;r=cw(UC(e,n.runs,n.numRleValues))}else r=cw(e);break;case $.RLE:r=UC(e,t.runs,t.numRleValues);break;case $.NONE:r=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return n?Nw(r,n,0n):r}function uT(e,t,n){switch(t.logicalLevelTechnique1){case $.DELTA:if(t.logicalLevelTechnique2===$.RLE){let n=t;e=WC(e,n.runs,n.numRleValues)}return qC(e),e;case $.RLE:return mT(e,t,n);case $.NONE:return n&&VC(e),e;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}}function dT(e,t){if(t.logicalLevelTechnique1===$.DELTA&&t.logicalLevelTechnique2===$.NONE)return nw(e);if(t.logicalLevelTechnique1===$.RLE&&t.logicalLevelTechnique2===$.NONE){let n=t;return iw(e,n.runs,n.numRleValues)}if(t.logicalLevelTechnique1===$.NONE&&t.logicalLevelTechnique2===$.NONE){QC(e);let n=new Uint32Array(t.numValues+1);return n[0]=0,n.set(e,1),n}if(t.logicalLevelTechnique1===$.DELTA&&t.logicalLevelTechnique2===$.RLE){let n=t,r=rw(e,n.runs,n.numRleValues);return ZC(r),new Uint32Array(r)}throw Error(`Only delta encoding is supported for transforming length to offset streams yet.`)}function fT(e,t,n,r,i=`int32`){let a=e.logicalLevelTechnique1;if(a===$.RLE)return e.runs===1?jw.CONST:jw.FLAT;if(a!==$.DELTA||e.logicalLevelTechnique2!==$.RLE)return e.numValues===1?jw.CONST:jw.FLAT;let o=t instanceof Mw?t.size():t,s=e;if(s.numRleValues!==o)return jw.FLAT;if(s.runs===1)return jw.SEQUENCE;if(s.runs!==2)return e.numValues===1?jw.CONST:jw.FLAT;let c=r.get();if(e.physicalLevelTechnique===PS.VARINT)return pT(n,r,i)?jw.SEQUENCE:e.numValues===1?jw.CONST:jw.FLAT;let l=r.get(),u=new Int32Array(n.buffer,n.byteOffset+l,4);return r.set(c),u[2]===2&&u[3]===2?jw.SEQUENCE:e.numValues===1?jw.CONST:jw.FLAT}function pT(e,t,n){let r=new NS(t.get());if(n===`int64`){let t=kC(e,r,4);return t[2]===2n&&t[3]===2n}let i=OC(e,r,4);return i[2]===2&&i[3]===2}function mT(e,t,n){return n?XC(e,t.runs,t.numRleValues):WC(e,t.runs,t.numRleValues)}var hT=class extends SS{getValueFromBuffer(e){return this.dataBuffer[e]}},gT=class extends TS{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 _T(e,t,n){return{x:vT(e,t)-n,y:vT(e>>1,t)-n}}function vT(e,t){let n=0;for(let r=0;r<t;r++)n|=(e&1<<2*r)>>r;return n}var yT;(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`})(yT||={});var bT;(function(e){e[e.POINT=0]=`POINT`,e[e.LINESTRING=1]=`LINESTRING`,e[e.POLYGON=2]=`POLYGON`})(bT||={});var xT;(function(e){e[e.MORTON=0]=`MORTON`,e[e.VEC_2=1]=`VEC_2`,e[e.VEC_3=2]=`VEC_3`})(xT||={});function ST(e){let t=Array(e.numGeometries),n=1,r=1,i=1,a=0,o=0,s=0,c=e.mortonSettings,l=e.topologyVector,u=l.geometryOffsets,d=l.partOffsets,f=l.ringOffsets,p=e.vertexOffsets,m=!p||p.length===0,h=e.containsPolygonGeometry(),g=e.vertexBuffer;for(let l=0;l<e.numGeometries;l++){let _=e.geometryType(l);switch(_){case yT.POINT:{let l,h;if(m)l=g[o++],h=g[o++];else if(e.vertexBufferType===xT.MORTON){let e=g[p[s++]],t=_T(e,c.numBits,c.coordinateShift);l=t.x,h=t.y}else{let e=p[s++]*2;l=g[e],h=g[e+1]}t[a++]=[[new j(l,h)]],u&&i++,d&&n++,f&&r++}break;case yT.MULTIPOINT:{let l=u[i]-u[i-1];i++;let d;if(m){d=Array(l);for(let e=0;e<l;e++){let t=g[o++],n=g[o++];d[e]=new j(t,n)}}else d=CT(e.vertexBufferType,g,p,s,l,!1,c),s+=l;t[a++]=d.map(e=>[e]),n+=l,r+=l}break;case yT.LINESTRING:{let l;h?(l=f[r]-f[r-1],r++):l=d[n]-d[n-1],n++;let _;m?(_=wT(g,o,l,!1),o+=l*2):(_=CT(e.vertexBufferType,g,p,s,l,!1,c),s+=l),t[a++]=[_],u&&i++}break;case yT.POLYGON:{let l=d[n]-d[n-1];n++;let h=Array(l-1),_,v=f[r]-f[r-1];if(r++,m){_=wT(g,o,v,!0),o+=v*2;for(let e=0;e<h.length;e++)v=f[r]-f[r-1],r++,h[e]=wT(g,o,v,!0),o+=v*2}else{_=CT(e.vertexBufferType,g,p,s,v,!0,c),s+=v;for(let t=0;t<h.length;t++)v=f[r]-f[r-1],r++,h[t]=CT(e.vertexBufferType,g,p,s,v,!0,c),s+=v}t[a++]=[_].concat(h),u&&i++}break;case yT.MULTILINESTRING:{let l=u[i]-u[i-1];i++;let _=Array(l);for(let t=0;t<l;t++){let i;if(h?(i=f[r]-f[r-1],r++):i=d[n]-d[n-1],n++,m)_[t]=wT(g,o,i,!1),o+=i*2;else{let n=CT(e.vertexBufferType,g,p,s,i,!1,c);_[t]=n,s+=i}}t[a++]=_}break;case yT.MULTIPOLYGON:{let l=u[i]-u[i-1];i++;let h=Array(l);for(let t=0;t<l;t++){let i=d[n]-d[n-1];n++;let a,l=Array(i-1),u=f[r]-f[r-1];r++,m?(a=wT(g,o,u,!0),o+=u*2):(a=CT(e.vertexBufferType,g,p,s,u,!0,c),s+=u);for(let t=0;t<l.length;t++){let n=f[r]-f[r-1];r++,m?(l[t]=wT(g,o,n,!0),o+=n*2):(l[t]=CT(e.vertexBufferType,g,p,s,n,!0,c),s+=n)}h[t]=[a].concat(l)}t[a++]=h.flat()}break;default:throw Error(`The specified geometry type (${_}) is currently not supported.`)}}return t}function CT(e,t,n,r,i,a,o){return e===xT.MORTON?ET(t,n,r,i,a,o):TT(t,n,r,i,a)}function wT(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 j(n,a)}return r&&(i[i.length-1]=i[0]),i}function TT(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 j(o,s)}return i&&(a[a.length-1]=a[0]),a}function ET(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=_T(r,a.numBits,a.coordinateShift);o[i]=new j(s.x,s.y)}return i&&(o[o.length-1]=o[0]),o}var DT=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=_T(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 ST(this)}get mortonSettings(){return this._mortonSettings}};function OT(e,t,n,r,i){return new AT(e,t,xT.VEC_2,n,r,i)}function kT(e,t,n,r,i,a){return new AT(e,t,xT.MORTON,n,r,i,a)}var AT=class extends DT{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===yT.POLYGON||this._geometryType===yT.MULTIPOLYGON}containsSingleGeometryType(){return!0}};function jT(e,t,n,r){return new NT(xT.VEC_2,e,t,n,r)}function MT(e,t,n,r,i){return new NT(xT.MORTON,e,t,n,r,i)}var NT=class extends DT{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)===yT.POLYGON||this.geometryType(e)===yT.MULTIPOLYGON)return!0;return!1}containsSingleGeometryType(){return!1}},PT=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 jT(e,this._topologyVector,void 0,this._vertexBuffer).getGeometries()}[Symbol.iterator](){return null}};function FT(e,t,n,r,i,a){return new IT(e,t,n,r,i,a)}var IT=class extends PT{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 LT(e,t,n,r,i){return new RT(e,t,n,r,i)}var RT=class extends PT{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 zT(e,t,n,r,i){let a=Dw(e,n),o=fT(a,r,e,n),s,c,l,u;if(o===jw.CONST){let o=Zw(e,n,a),d,f,p,m;for(let r=0;r<t-1;r++){let t=Dw(e,n);switch(t.physicalStreamType){case _w.LENGTH:switch(t.logicalStreamType.lengthType){case bw.GEOMETRIES:d=qw(e,n,t);break;case bw.PARTS:f=qw(e,n,t);break;case bw.RINGS:p=qw(e,n,t);break;case bw.TRIANGLES:m=qw(e,n,t)}break;case _w.OFFSET:switch(t.logicalStreamType.offsetType){case yw.VERTEX:s=Kw(e,n,t);break;case yw.INDEX:u=Kw(e,n,t)}break;case _w.DATA:if(vw.VERTEX===t.logicalStreamType.dictionaryType)c=Gw(e,n,t,i);else{let r=t;l={numBits:r.numBits,coordinateShift:r.coordinateShift},c=Kw(e,n,t,i)}}}return u?d!==void 0||f!==void 0?FT(r,o,m,u,c,{geometryOffsets:d,partOffsets:f,ringOffsets:p}):FT(r,o,m,u,c):l===void 0?OT(r,o,{geometryOffsets:d,partOffsets:f,ringOffsets:p},s,c):kT(r,o,{geometryOffsets:d,partOffsets:f,ringOffsets:p},s,c,l)}let d=Kw(e,n,a),f,p,m,h;for(let r=0;r<t-1;r++){let t=Dw(e,n);switch(t.physicalStreamType){case _w.LENGTH:switch(t.logicalStreamType.lengthType){case bw.GEOMETRIES:f=Kw(e,n,t);break;case bw.PARTS:p=Kw(e,n,t);break;case bw.RINGS:m=Kw(e,n,t);break;case bw.TRIANGLES:h=qw(e,n,t)}break;case _w.OFFSET:switch(t.logicalStreamType.offsetType){case yw.VERTEX:s=Kw(e,n,t);break;case yw.INDEX:u=Kw(e,n,t)}break;case _w.DATA:if(vw.VERTEX===t.logicalStreamType.dictionaryType)c=Gw(e,n,t,i);else{let r=t;l={numBits:r.numBits,coordinateShift:r.coordinateShift},c=Kw(e,n,t,i)}}}let g,_,v;return f?(g=BT(d,f,2),p&&m?(_=VT(d,g,p,!1),v=UT(d,g,_,m)):p&&(_=HT(d,g,p))):p&&m?(_=BT(d,p,1),v=VT(d,_,m,!0)):p&&(_=BT(d,p,0)),u&&!_?LT(d,h,u,c):u?LT(d,h,u,c,{geometryOffsets:g,partOffsets:_,ringOffsets:v}):l===void 0?jT(d,{geometryOffsets:g,partOffsets:_,ringOffsets:v},s,c):MT(d,{geometryOffsets:g,partOffsets:_,ringOffsets:v},s,c,l)}function BT(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 VT(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 HT(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 UT(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 WT=class extends xS{constructor(e,t,n){super(e,t.getBuffer(),n),this.dataVector=t}getValueFromBuffer(e){return this.dataVector.get(e)}},GT=class extends SS{getValueFromBuffer(e){return this.dataBuffer[e]}},KT=class extends xS{constructor(e,t,n,r){super(e,r?BigInt64Array.of(t):BigUint64Array.of(t),n)}getValueFromBuffer(e){return this.dataBuffer[0]}},qT=class extends xS{constructor(e,t,n,r){super(e,n,r),this.offsetBuffer=t}},JT=class extends qT{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 Uw(this.dataBuffer,t,n)}},YT=class extends qT{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 Uw(this.dataBuffer,n,r)}};function XT(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 ZT(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(XT(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 QT=class extends qT{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 Uw(this.decodedDictionary,n,r)}decodeDictionary(){return this.symbolLengthBuffer??=this.offsetToLengthBuffer(this.symbolOffsetBuffer),ZT(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 $T(e,t,n,r,i){let a,o,s,c,l,u=i,d,f;for(let e=0;e<r;e++){let e=Dw(t,n);switch(e.physicalStreamType){case _w.PRESENT:{let r=new Mw(Iw(t,e.numValues,e.byteLength,n),e.numValues);u=i??r;break}case _w.OFFSET:o=Kw(t,n,e,void 0,u);break;case _w.LENGTH:{let r=qw(t,n,e);bw.DICTIONARY===e.logicalStreamType.lengthType?a=r:bw.SYMBOL===e.logicalStreamType.lengthType?c=r:d=r;break}case _w.DATA:{let r=t.subarray(n.get(),n.get()+e.byteLength);n.add(e.byteLength);let i=e.logicalStreamType.dictionaryType;vw.FSST===i?l=r:vw.SINGLE===i||vw.SHARED===i?s=r:vw.NONE===i&&(f=r);break}}}return eE(e,l,o,a,s,c,u)??tE(e,s,o,a,u)??nE(e,d,f,o,u)}function eE(e,t,n,r,i,a,o){if(t){if(!n||!r||!i||!a)throw Error(`Incomplete FSST dictionary string column "${e}"`);return new QT(e,n,r,i,a,t,o)}}function tE(e,t,n,r,i){if(t){if(!n||!r)throw Error(`Incomplete dictionary string column "${e}"`);return i?new YT(e,n,r,t,i):new YT(e,n,r,t)}}function nE(e,t,n,r,i){if(t&&n){if(r)return i?new YT(e,r,t,n,i):new YT(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 YT(e,r,t,n,i)}return i?new JT(e,t,n,i):new JT(e,t,n)}}function rE(e,t,n,r){let i,a,o,s,c=!1;for(;!c;){let n=Dw(e,t);switch(n.physicalStreamType){case _w.LENGTH:bw.DICTIONARY===n.logicalStreamType.lengthType?i=qw(e,t,n):o=qw(e,t,n);break;case _w.DATA:vw.SINGLE===n.logicalStreamType.dictionaryType||vw.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=OC(e,t,1)[0];if(l===0)continue;let p=c.name?`${n.name}${c.name}`:n.name;if(r&&!r.has(p)){Fw(l,e,t);continue}if(c.type!==`scalarField`||c.scalarField.physicalType!==AS.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=Dw(e,t);m=new Mw(Iw(e,n.numValues,n.byteLength,t),n.numValues)}let h=Kw(e,t,Dw(e,t),void 0,m);if(s){if(!o)throw Error(`Incomplete shared FSST dictionary for column "${p}"`);u[f++]=new QT(p,h,i,a,o,s,m,d)}else u[f++]=new YT(p,h,i,a,m)}return u}var iE=class extends xS{constructor(e,t,n){super(e,new Uint8Array,n??t.length),this.values=t}getValueFromBuffer(e){return this.values[e]}},aE;(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`})(aE||={});var oE;(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`})(oE||={});function sE(e,t,n,r){let i=cE(n);if(r===0)return i.map(e=>new iE(e,[]));let a=lE(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=mE(a,e,o,c,l);s.push(new iE(i[e],t.value,t.nullabilityBuffer)),c=t.countsEnd,l=t.valuesEnd}return s}function cE(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 lE(e,t,n){let r=e[t.get()];t.add(1);let i=Kw(e,t,Dw(e,t)),a=n-1,o=[];r&aE.STRING&&(a-=uE(e,t,o)),a-=dE(e,t,r,o),a-=fE(e,t,r,o);let s,c=0;if(r&aE.PRESENCE){let n=pE(e,t);s=n.value,c=n.count,a--}let l=new Uint32Array;if(a>0&&(l=Kw(e,t,Dw(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 uE(e,t,n){let r=e[t.get()];t.add(1);let i=$T(``,e,t,r);if(i)for(let e=0;e<i.size;e++)n.push(i.getValue(e));return r}function dE(e,t,n,r){let i=0;return n&aE.INT32?(bE(r,Gw(e,t,Dw(e,t))),i++):n&aE.INT64&&(bE(r,eT(e,t,Dw(e,t))),i++),n&aE.UINT32?(bE(r,Kw(e,t,Dw(e,t))),i++):n&aE.UINT64&&(bE(r,tT(e,t,Dw(e,t))),i++),i}function fE(e,t,n,r){let i=0;return n&aE.FLOAT&&(bE(r,Rw(e,t,Dw(e,t).numValues)),i++),n&aE.DOUBLE&&(bE(r,zw(e,t,Dw(e,t).numValues)),i++),i}function pE(e,t){let n=Dw(e,t);if(n.physicalStreamType!==_w.PRESENT)throw Error(`Expected PRESENT stream for map column but found: ${n.physicalStreamType}`);let r=n.numValues,i=t.get(),a=new Mw(Iw(e,r,n.byteLength,t),r);return t.set(i+n.byteLength),{value:a,count:r}}function mE(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 Mw(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=hE(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 hE(e,t,n,r){return n-t===1||e[t]===oE.START_LIST?_E(e,t,n,r):gE(e,t,n,r)}function gE(e,t,n,r){let i=Object.create(null),a=t;for(;a<n;){let t=yE(e[a++],r);if(typeof t!=`string`)throw Error(`Map key dictionary index does not resolve to a string: ${t}`);let o=_E(e,a,n,r);i[t]=o.value,a=o.nextIndex}return{value:i,nextIndex:a}}function _E(e,t,n,r){if(t>=n)throw Error(`Unexpected end of map value stream`);let i=e[t];if(i===oE.FALSE)return{value:!1,nextIndex:t+1};if(i===oE.TRUE)return{value:!0,nextIndex:t+1};if(i===oE.START_MAP){let i=vE(e,t,n);return{value:gE(e,t+2,i,r).value,nextIndex:i}}if(i===oE.START_LIST){let i=vE(e,t,n),a=[],o=t+2;for(;o<i;){let t=_E(e,o,i,r);a.push(t.value),o=t.nextIndex}return{value:a,nextIndex:i}}return{value:yE(i,r),nextIndex:t+1}}function vE(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 yE(e,t){let n=e-oE.COUNT;if(n<0||n>=t.length)throw Error(`Scalar dictionary index out of range: ${e}`);return t[n]}function bE(e,t){for(let n of t)e.push(n)}function xE(e,t,n,r,i,a){return n.type===`scalarType`?a&&!a.has(n.name)?(Fw(r,e,t),null):SE(r,e,t,i,n.scalarType,n):n.complexType?.physicalType===jS.MAP?sE(e,t,n,r):r===0?null:rE(e,t,n,a)}function SE(e,t,n,r,i,a){let o;if(e===0)return null;if(a.nullable){let e=Dw(t,n),r=e.numValues,i=n.get(),a=Iw(t,r,e.byteLength,n);n.set(i+e.byteLength),o=new Mw(a,e.numValues)}let s=o??r;switch(i.physicalType){case AS.UINT_32:case AS.INT_32:return DE(t,n,a,i,s);case AS.STRING:{let r=a.nullable?e-1:e;return $T(a.name,t,n,r,o)??null}case AS.BOOLEAN:return CE(t,n,a,r,s);case AS.UINT_64:case AS.INT_64:return EE(t,n,a,s,i);case AS.FLOAT:return wE(t,n,a,s);case AS.DOUBLE:return TE(t,n,a,s);default:throw Error(`The specified data type for the field is currently not supported: ${i}`)}}function CE(e,t,n,r,i){let a=Dw(e,t),o=a.numValues,s=t.get(),c=OE(i)?i:void 0,l=Iw(e,o,a.byteLength,t,c);t.set(s+a.byteLength);let u=new Mw(l,o);return new WT(n.name,u,i)}function wE(e,t,n,r){let i=Dw(e,t),a=OE(r)?r:void 0,o=Rw(e,t,i.numValues,a);return new GT(n.name,o,r)}function TE(e,t,n,r){let i=Dw(e,t),a=OE(r)?r:void 0,o=zw(e,t,i.numValues,a);return new wS(n.name,o,r)}function EE(e,t,n,r,i){let a=Dw(e,t),o=fT(a,r,e,t,`int64`),s=i.physicalType===AS.INT_64;if(o===jw.FLAT){let i=OE(r)?r:void 0,o=s?eT(e,t,a,i):tT(e,t,a,i);return new hT(n.name,o,r)}if(o===jw.SEQUENCE){let r=$w(e,t,a);return new gT(n.name,r[0],r[1],a.numRleValues,s)}let c=s?iT(e,t,a):aT(e,t,a);return new KT(n.name,c,r,s)}function DE(e,t,n,r,i){let a=Dw(e,t),o=fT(a,i,e,t),s=r.physicalType===AS.INT_32;if(o===jw.FLAT){let r=OE(i)?i:void 0,o=s?Gw(e,t,a,void 0,r):Kw(e,t,a,void 0,r);return new CS(n.name,o,i)}if(o===jw.SEQUENCE){let r=Qw(e,t,a);return new ES(n.name,r[0],r[1],a.numRleValues,s)}let c=s?Xw(e,t,a):Zw(e,t,a);return new DS(n.name,c,i,s)}function OE(e){return e instanceof Mw}var kE={ID:0,ID_NULLABLE:1,ID_LONG:2,GEOMETRY:4,SCALAR_BASE:10,STRUCT:30,MAP:31};function AE(e){switch(e){case kE.ID:case kE.ID|kE.ID_NULLABLE:case kE.ID|kE.ID_LONG:case kE.ID|kE.ID_LONG|kE.ID_NULLABLE:return{nullable:(e&kE.ID_NULLABLE)!==0,columnScope:kS.FEATURE,type:`scalarType`,scalarType:{longID:(e&kE.ID_LONG)!==0,type:`logicalType`,logicalType:MS.ID}};case kE.GEOMETRY:return{nullable:!1,columnScope:kS.FEATURE,type:`complexType`,complexType:{type:`physicalType`,physicalType:jS.GEOMETRY,children:[]}};case kE.STRUCT:return{nullable:!1,columnScope:kS.FEATURE,type:`complexType`,complexType:{type:`physicalType`,physicalType:jS.STRUCT,children:[]}};case kE.MAP:return{nullable:!0,columnScope:kS.FEATURE,type:`complexType`,complexType:{type:`physicalType`,physicalType:jS.MAP,children:[]}};default:return IE(e)}}function jE(e){return e>=kE.SCALAR_BASE}function ME(e){return e===kE.STRUCT||e===kE.MAP}function NE(e){if(e.type===`scalarType`){let t=e.scalarType;if(t.type===`physicalType`)switch(t.physicalType){case AS.BOOLEAN:case AS.INT_8:case AS.UINT_8:case AS.INT_32:case AS.UINT_32:case AS.INT_64:case AS.UINT_64:case AS.FLOAT:case AS.DOUBLE:return!1;case AS.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 jS.GEOMETRY:case jS.STRUCT:case jS.MAP:return!0;default:return!1}}return console.warn(`Unexpected column type in hasStreamCount`,e),!1}function PE(e){return e.type===`scalarType`&&e.scalarType?.type===`logicalType`&&e.scalarType.logicalType===MS.ID}function FE(e){return e.type===`complexType`&&e.complexType?.type===`physicalType`&&e.complexType.physicalType===jS.GEOMETRY}function IE(e){let t;switch(e){case 10:case 11:t=AS.BOOLEAN;break;case 12:case 13:t=AS.INT_8;break;case 14:case 15:t=AS.UINT_8;break;case 16:case 17:t=AS.INT_32;break;case 18:case 19:t=AS.UINT_32;break;case 20:case 21:t=AS.INT_64;break;case 22:case 23:t=AS.UINT_64;break;case 24:case 25:t=AS.FLOAT;break;case 26:case 27:t=AS.DOUBLE;break;case 28:case 29:t=AS.STRING;break;default:return null}return{nullable:!!(e&1),columnScope:kS.FEATURE,type:`scalarType`,scalarType:{longID:!1,type:`physicalType`,physicalType:t}}}var LE=new TextDecoder,RE=`0-3(ID), 4(GEOMETRY), 10-29(scalars), 30(STRUCT), 31(MAP)`;function zE(e,t){let n=OC(e,t,1)[0];if(n===0)return``;let r=t.get(),i=r+n,a=e.subarray(r,i);return t.add(n),LE.decode(a)}function BE(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 VE(e,t){let n=OC(e,t,1)[0]>>>0,r=n>=kE.SCALAR_BASE?AE(n):null;if(!r)throw Error(`Unsupported field type code ${n}. Supported: 10-29(scalars), 30(STRUCT), 31(MAP)`);let i={...r,name:zE(e,t)};if(i.type===`complexType`&&ME(n)){let n=i.complexType,r=OC(e,t,1)[0]>>>0;n.children=Array(r);for(let i=0;i<r;i++)n.children[i]=VE(e,t)}return BE(i)}function HE(e,t){let n=OC(e,t,1)[0]>>>0,r=AE(n);if(!r)throw Error(`Unsupported column type code ${n}. Supported: ${RE}`);let i;if(jE(n))i=zE(e,t);else if(n<kE.GEOMETRY)i=`id`;else if(n===kE.GEOMETRY)i=`geometry`;else throw Error(`Unsupported column type code ${n}. Supported: ${RE}`);let a={...r,name:i};if(a.type===`complexType`&&ME(n)){let n=OC(e,t,1)[0]>>>0,r=a.complexType;r.children=Array(n);for(let i=0;i<n;i++)r.children[i]=VE(e,t)}return a}function UE(e,t){let n={};n.featureTables=[];let r={};if(r.name=zE(e,t),r.name.length===0)throw Error(`Missing layer name`);let i=OC(e,t,1)[0]>>>0,a=OC(e,t,1)[0]>>>0;r.columns=Array(a);for(let n=0;n<a;n++)r.columns[n]=HE(e,t);return n.featureTables.push(r),[n,i]}function WE(e,t,n=!0){let r=new NS(0),i=[];for(;r.get()<e.length;){let a=OC(e,r,1)[0]>>>0,o=r.get()+a;if(o>e.length)throw Error(`Block overruns tile: ${o} > ${e.length}`);let s=OC(e,r,1)[0]>>>0;if(s!==1&&s!==2){r.set(o);continue}let[c,l]=UE(e,r),u=c.featureTables[0],d=null,f=null,p=[],m=0;for(let i of u.columns){let a=i.name;if(PE(i)){let t=null;if(i.nullable){let n=Dw(e,r),i=r.get(),a=Iw(e,n.numValues,n.byteLength,r);r.set(i+n.byteLength),t=new Mw(a,n.numValues)}let o=Dw(e,r);m=t?t.size():o.decompressedCount,d=GE(e,i,r,a,o,t??m,n)}else if(FE(i)){let n=OC(e,r,1)[0];if(m===0){let t=r.get();m=Dw(e,r).decompressedCount,r.set(t)}t&&(t.scale=t.extent/l),f=zT(e,n,r,m,t)}else{let t=NE(i)?OC(e,r,1)[0]:1;if(t===0)continue;let n=xE(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 OS(u.name,f,d,p,l);i.push(h),r.set(o)}return i}function GE(e,t,n,r,i,a,o=!1){let s=t.scalarType?.longID?AS.UINT_64:AS.UINT_32,c=typeof a==`number`?void 0:a,l=fT(i,a,e,n,s===AS.UINT_64?`int64`:`int32`);if(s===AS.UINT_32)switch(l){case jw.FLAT:return new CS(r,Kw(e,n,i,void 0,c),a);case jw.SEQUENCE:{let t=Qw(e,n,i);return new ES(r,t[0],t[1],i.numRleValues,!1)}case jw.CONST:return new DS(r,Zw(e,n,i),a,!1)}switch(l){case jw.FLAT:return o?new wS(r,nT(e,n,i,c),a):new hT(r,tT(e,n,i,c),a);case jw.SEQUENCE:{let t=$w(e,n,i);return new gT(r,t[0],t[1],i.numRleValues,!1)}case jw.CONST:return new KT(r,aT(e,n,i),a,!1)}throw Error(`Vector type not supported for id column.`)}var KE=BS(LS);KE/32*4,3*KE/256+KE|0;var qE=class{constructor(e,t){switch(this._featureData=e,this.properties=this._featureData.properties||{},this._featureData.geometry?.type){case yT.POINT:case yT.MULTIPOINT:this.type=1;break;case yT.LINESTRING:case yT.MULTILINESTRING:this.type=2;break;case yT.POLYGON:case yT.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 j(e.x,e.y));e.push(n)}return e}},JE=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 qE(this.features[e],this.extent)}},YE=class{constructor(e){this.layers={};let t=WE(new Uint8Array(e));this.layers=t.reduce((e,t)=>({...e,[t.name]:new JE(t)}),{})}};K(`FeatureIndex`,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 su(N,16,0),this.grid3D=new su(N,16,0),this.featureIndexArray=new Ed,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 YE(this.rawTileData).layers;break;default:this.vtLayers=new Sh(new ov(this.rawTileData)).layers}this.sourceLayerCoder=new yS(this.vtLayers?Object.keys(this.vtLayers).sort():[vS])}return this.vtLayers}query(e,t,n,r){this.loadVTLayers();let i=e.params,a=N/e.tileSize/e.scale,o=Gc(i.filter,`queryRenderedFeatures filter`,i.globalState),s=e.queryGeometry,c=e.queryPadding*a,l=ph.fromPoints(s),u=this.grid.query(l.minX-c,l.minY-c,l.maxX+c,l.maxY+c),d=ph.fromPoints(e.cameraQueryGeometry).expandBy(c),f=this.grid3D.query(d.minX,d.minY,d.maxX,d.maxY,(t,n,r,i)=>Kf(e.cameraQueryGeometry,t-c,n-c,r+c,i+c));for(let e of f)u.push(e);u.sort(QE);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||=Af(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=jf(p,!0);if(!i.filter(new gu(this.tileID.overscaledZ),e,this.tileID.canonical))return}else if(!i.filter(new gu(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=F({},c[t]);d.paint=ZE(d.paint,n.paint,p,i,o),d.layout=ZE(d.layout,n.layout,p,i,o);let f=!u||u(p,n,i);if(!f)continue;let h=new bS(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=Gc(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}},{omit:[`rawTileData`,`sourceLayerCoder`]});function XE(e){return typeof e==`object`&&!!e&&`evaluate`in e}function ZE(e,t,n,r,i){return Nn(e,(e,a)=>{let o=t instanceof wu?t.get(a):null;return XE(o)?o.evaluate(n,r,void 0,i):o})}function QE(e,t){return t-e}var $E=`RTLPluginLoaded`,eD=class extends Yr{constructor(...e){super(...e),this.status=`unavailable`,this.url=null,this.dispatcher=ox()}_syncState(e){return this.status=e,this.dispatcher.broadcast(`SRPS`,{pluginStatus:e,pluginURL:this.url}).catch(e=>{throw this.status=`error`,e})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status=`unavailable`,this.url=null}async setRTLTextPlugin(e,t=!1){if(this.url)throw Error(`setRTLTextPlugin cannot be called multiple times.`);if(this.url=_r.resolveURL(e),!this.url)throw Error(`requested url ${e} is invalid`);if(this.status===`unavailable`){if(t)this.status=`deferred`,this._syncState(this.status);else return this._requestImport()}else if(this.status===`requested`)return this._requestImport()}async _requestImport(){await this._syncState(`loading`),this.status=`loaded`,this.fire(new Jr($E))}lazyLoad(){this.status===`unavailable`?this.status=`requested`:this.status===`deferred`&&this._requestImport()}},tD=null;function nD(){return tD||=new eD,tD}var rD=class{constructor(e,t){this.timeAdded=0,this.fadeEndTime=0,this.fadeOpacity=1,this.tileID=e,this.uid=Dn(),this.uses=0,this.tileSize=t,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rttObjects=[],this.rttFingerprint={},this.expiredRequestCount=0,this.state=`loading`,this.featureStateRevision=-1}isRenderable(e){return this.hasData()&&(!this.fadeEndTime||this.fadingDirection!==0||this.fadeOpacity>0)&&(e||!this.holdingForSymbolFade())}setCrossFadeLogic({fadingRole:e,fadingDirection:t,fadingParentID:n,fadeEndTime:r}){this.resetFadeLogic(),this.fadingRole=e,this.fadingDirection=t,this.fadingParentID=n,this.fadeEndTime=r}setSelfFadeLogic(e){this.resetFadeLogic(),this.selfFading=!0,this.fadeEndTime=e}resetFadeLogic(){this.fadingRole=null,this.fadingDirection=null,this.fadingParentID=null,this.selfFading=!1,this.timeAdded=yr(),this.fadeEndTime=0,this.fadeOpacity=1}wasRequested(){return this.state===`errored`||this.state===`loaded`||this.state===`reloading`}clearTextures(e){this.demTexture&&e.saveTileTexture(this.demTexture),this.demTexture=null}getRTT(e){return this.rttObjects[e]}acquireRTT(e,t,n){return this.rttObjects[t]=e.acquireRTT(n)}releaseRTT(e){if(this.rttObjects.length!==0){for(let t of this.rttObjects)t&&e.releaseRTT(t);this.rttObjects.length=0}}loadVectorData(e,t,n){if(e?.etagUnmodified===!0){this.state=`loaded`;return}if(this.hasData()&&this.unloadVectorData(),this.state=`loaded`,!e){this.collisionBoxArray=new gd;return}e.featureIndex&&(this.latestFeatureIndex=e.featureIndex,e.rawTileData?(this.latestRawTileData=e.rawTileData,this.latestEncoding=e.encoding,this.latestFeatureIndex.rawTileData=e.rawTileData,this.latestFeatureIndex.encoding=e.encoding):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData,this.latestFeatureIndex.encoding=this.latestEncoding)),this.collisionBoxArray=e.collisionBoxArray,this.buckets=_S(e.buckets,t),this.hasSymbolBuckets=!1;for(let e in this.buckets){let t=this.buckets[e];if(t instanceof Ky){if(this.hasSymbolBuckets=!0,n)t.justReloaded=!0;else break}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let e in this.buckets){let t=this.buckets[e];if(t instanceof Ky&&t.hasRTLText){this.hasRTLText=!0,nD().lazyLoad();break}}this.queryPadding=0;for(let e in this.buckets){let n=this.buckets[e];this.queryPadding=Math.max(this.queryPadding,t.getLayer(e).queryRadius(n))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage),this.dashPositions=e.dashPositions}unloadVectorData(){for(let e in this.buckets)this.buckets[e].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.imageAtlas=null,this.dashPositions=null,this.latestFeatureIndex=null,this.state=`unloaded`}getBucket(e){return this.buckets[e.id]}upload(e){for(let t in this.buckets){let n=this.buckets[t];n.uploadPending()&&n.upload(e)}let t=e.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new Ip(e,this.imageAtlas.image,t.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&=(this.glyphAtlasTexture=new Ip(e,this.glyphAtlasImage,t.ALPHA),null)}prepare(e){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(e,this.imageAtlasTexture)}queryRenderedFeatures(e,t,n,r,i,a,o,s,c,l,u){return this.latestFeatureIndex?.rawTileData?this.latestFeatureIndex.query({queryGeometry:r,cameraQueryGeometry:i,scale:a,tileSize:this.tileSize,pixelPosMatrix:l,transform:s,params:o,queryPadding:this.queryPadding*c,getElevation:u},e,t,n):{}}querySourceFeatures(e,t){let n=this.latestFeatureIndex;if(!n?.rawTileData)return;let r=n.loadVTLayers(),i=t?.sourceLayer?t.sourceLayer:``,a=r._geojsonTileLayer||r[i];if(!a)return;let o=Gc(t?.filter,`querySourceFeatures[${i}].filter`,t?.globalState),{z:s,x:c,y:l}=this.tileID.canonical,u={z:s,x:c,y:l};for(let t=0;t<a.length;t++){let r=a.feature(t);if(o.needGeometry){let e=jf(r,!0);if(!o.filter(new gu(this.tileID.overscaledZ),e,this.tileID.canonical))continue}else if(!o.filter(new gu(this.tileID.overscaledZ),r))continue;let d=new bS(r,s,c,l,n.getId(r,i));d.tile=u,e.push(d)}}hasData(){return this.state===`loaded`||this.state===`reloading`||this.state===`expired`}patternsLoaded(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length}setExpiryData(e){let t=this.expirationTime;if(e.cacheControl){let t=Un(e.cacheControl);t[`max-age`]&&(this.expirationTime=Date.now()+t[`max-age`]*1e3)}else e.expires&&(this.expirationTime=new Date(e.expires).getTime());if(this.expirationTime){let e=Date.now(),n=!1;if(this.expirationTime>e)n=!1;else if(!t)n=!0;else if(this.expirationTime<t)n=!0;else{let r=this.expirationTime-t;r?this.expirationTime=e+Math.max(r,3e4):n=!0}n?(this.expiredRequestCount++,this.state=`expired`):this.expiredRequestCount=0}}getExpiryTimeout(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-new Date().getTime(),2**31-1)}setFeatureState(e,t,n){if(!this.latestFeatureIndex?.rawTileData||Object.keys(e).length===0||this.featureStateRevision===n)return;this.featureStateRevision=n;let r=this.latestFeatureIndex.loadVTLayers();for(let n in this.buckets){if(!t.hasLayer(n))continue;let i=this.buckets[n],a=i.layers[0].sourceLayer||`_geojsonTileLayer`,o=r[a],s=e[a];if(!o||!s||s.length===0)continue;i.update(s,o,this.imageAtlas?.patternPositions||{},this.dashPositions||{});let c=t.getLayer(n);c&&(this.queryPadding=Math.max(this.queryPadding,c.queryRadius(i)))}}holdingForSymbolFade(){return this.symbolFadeHoldUntil!==void 0}symbolFadeFinished(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<yr()}clearSymbolFadeHold(){this.symbolFadeHoldUntil=void 0}setSymbolHoldDuration(e){this.symbolFadeHoldUntil=yr()+e}setDependencies(e,t){let n={};for(let e of t)n[e]=!0;this.dependencies[e]=n}hasDependency(e,t){for(let n of e){let e=this.dependencies[n];if(e){for(let n of t)if(e[n])return!0}}return!1}},iD=class{constructor(e,t){this.max=e,this.onRemove=t,this.reset()}reset(){for(let e in this.data)for(let t of this.data[e])t.timeout&&clearTimeout(t.timeout),this.onRemove(t.value);return this.data={},this.order=[],this}add(e,t,n){let r=e.wrapped().key;this.data[r]===void 0&&(this.data[r]=[]);let i={value:t,timeout:void 0};if(n!==void 0&&(i.timeout=setTimeout(()=>{this.remove(e,i)},n)),this.data[r].push(i),this.order.push(r),this.order.length>this.max){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}has(e){return e.wrapped().key in this.data}getAndRemove(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null}_getAndRemoveByKey(e){let t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),this.data[e].length===0&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value}getByKey(e){let t=this.data[e];return t?t[0].value:null}get(e){return this.has(e)?this.data[e.wrapped().key][0].value:null}remove(e,t){if(!this.has(e))return this;let n=e.wrapped().key,r=t===void 0?0:this.data[n].indexOf(t),i=this.data[n][r];return this.data[n].splice(r,1),i.timeout&&clearTimeout(i.timeout),this.data[n].length===0&&delete this.data[n],this.onRemove(i.value),this.order.splice(this.order.indexOf(n),1),this}setMaxSize(e){for(this.max=e;this.order.length>this.max;){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}filter(e){let t=[];for(let n in this.data)for(let r of this.data[n])e(r.value)||t.push(r);for(let e of t)this.remove(e.value.tileID,e)}};function aD(e){let t=[];for(let n in e)t.push({id:n,state:e[n]});return t}var oD=class{constructor(){this.state={},this.stateChanges={},this.deletedStates={},this.revision=0}updateState(e,t,n){let r=String(t);if(this.stateChanges[e]||={},this.stateChanges[e][r]||={},F(this.stateChanges[e][r],n),this.deletedStates[e]===null){this.deletedStates[e]={};for(let t in this.state[e])if(t===r){this.deletedStates[e][r]={};for(let i in this.state[e][t])n[i]===void 0&&(this.deletedStates[e][r][i]=null)}else this.deletedStates[e][t]=null}else if(this.deletedStates[e]?.[r]===null){this.deletedStates[e][r]={};for(let t in this.state[e][r])n[t]===void 0&&(this.deletedStates[e][r][t]=null)}else for(let t in n)this.deletedStates[e]?.[r]?.[t]===null&&delete this.deletedStates[e][r][t]}removeFeatureState(e,t,n){if(this.deletedStates[e]===null)return;let r=String(t);if(this.deletedStates[e]||={},n&&t!==void 0)this.deletedStates[e][r]!==null&&(this.deletedStates[e][r]||={},this.deletedStates[e][r][n]=null);else if(t!==void 0){if(this.stateChanges[e]?.[r])for(n in this.deletedStates[e][r]={},this.stateChanges[e][r])this.deletedStates[e][r][n]=null;else this.deletedStates[e][r]=null}else this.deletedStates[e]=null}getState(e,t){let n=String(t),r=this.state[e]||{},i=this.stateChanges[e]||{},a=F({},r[n],i[n]);if(this.deletedStates[e]===null)return{};if(this.deletedStates[e]){let n=this.deletedStates[e][t];if(n===null)return{};for(let e in n)delete a[e]}return a}initializeTileState(e,t){let n={};for(let e in this.state)n[e]=aD(this.state[e]);e.setFeatureState(n,t,this.revision)}coalesceChanges(e,t){let n={};for(let e in this.stateChanges){this.state[e]||={},n[e]||={};for(let t in this.stateChanges[e])this.state[e][t]||={},F(this.state[e][t],this.stateChanges[e][t]),n[e][t]=this.state[e][t]}for(let e in this.deletedStates)if(this.state[e]||={},n[e]||={},this.deletedStates[e]===null)for(let t in this.state[e])this.state[e][t]={},n[e][t]={};else for(let t in this.deletedStates[e]){if(this.deletedStates[e][t]===null)this.state[e][t]={};else if(this.state[e][t])for(let n of Object.keys(this.deletedStates[e][t]))delete this.state[e][t][n];else continue;n[e][t]=this.state[e][t]}if(this.stateChanges={},this.deletedStates={},Object.keys(n).length===0)return;this.revision++;let r={};for(let e in n)r[e]=aD(n[e]);e.setFeatureState(r,t,this.revision)}},sD=class e{constructor(e,t){this.min=e,this.max=t,this.center=ht([],pt([],this.min,this.max),.5)}quadrant(t){let n=[t%2==0,t<2],r=ut(this.min),i=ut(this.max);for(let e=0;e<n.length;e++)r[e]=n[e]?this.min[e]:this.center[e],i[e]=n[e]?this.center[e]:this.max[e];return i[2]=this.max[2],new e(r,i)}distanceX(e){return Math.max(Math.min(this.max[0],e[0]),this.min[0])-e[0]}distanceY(e){return Math.max(Math.min(this.max[1],e[1]),this.min[1])-e[1]}intersectsFrustum(e){let t=!0;for(let n of e.planes){let e=this.intersectsPlane(n);if(e===0)return 0;e===1&&(t=!1)}return t?2:e.aabb.min[0]>this.max[0]||e.aabb.min[1]>this.max[1]||e.aabb.min[2]>this.max[2]||e.aabb.max[0]<this.min[0]||e.aabb.max[1]<this.min[1]||e.aabb.max[2]<this.min[2]?0:1}intersectsPlane(e){let t=e[3],n=e[3];for(let r=0;r<3;r++)e[r]>0?(t+=e[r]*this.min[r],n+=e[r]*this.max[r]):(n+=e[r]*this.min[r],t+=e[r]*this.max[r]);return t>=0?2:n<0?0:1}},cD=class e{constructor(e,t,n){this.points=e,this.planes=t,this.aabb=n}static fromInvProjectionMatrix(t,n=1,r=0,i,a){let o=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]],s=a?[[6,5,4],[0,1,2],[0,3,7],[2,1,5],[3,2,6],[0,4,5]]:[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],c=2**r,l=o.map(e=>lD(e,t,n,c));i&&uD(l,s[0],i,a);let u=s.map(e=>{let t=yt([],xt([],At([],l[e[0]],l[e[1]]),At([],l[e[2]],l[e[1]]))),n=-bt(t,l[e[1]]);return t.concat(n)}),d=[1/0,1/0,1/0],f=[-1/0,-1/0,-1/0];for(let e of l)for(let t=0;t<3;t++)d[t]=Math.min(d[t],e[t]),f[t]=Math.max(f[t],e[t]);return new e(l,u,new sD(d,f))}};function lD(e,t,n,r){let i=Lt([],e,t),a=1/i[3]/n*r;return Rt(i,i,[a,a,1/i[3],a])}function uD(e,t,n,r){let i=r?4:0,a=r?0:4,o=0,s=[],c=[];for(let t=0;t<4;t++){let n=At([],e[t+a],e[t+i]),r=dt(n);ht(n,n,1/r),s.push(r),c.push(n)}for(let t=0;t<4;t++){let r=fn(e[t+i],c[t],n);o=r!==null&&r>=0?Math.max(o,r):Math.max(o,s[t])}let l=dD(e,t),u=fD(n,l);if(u!==null){let e=u/bt(c[0],l);o=Math.min(o,e)}for(let t=0;t<4;t++){let n=Math.min(o,s[t]);e[t+a]=[e[t+i][0]+c[t][0]*n,e[t+i][1]+c[t][1]*n,e[t+i][2]+c[t][2]*n,1]}}function dD(e,t){let n=At([],e[t[0]],e[t[1]]),r=At([],e[t[2]],e[t[1]]),i=[0,0,0,0];return yt(i,xt([],n,r)),i[3]=-bt(i,e[t[0]]),i}function fD(e,t){let n=Ft([],e,1/jt(e)),r=At([],t,ht([],n,bt(t,n))),i=jt(r);if(i>0){let e=Math.sqrt(1-n[3]*n[3]);return un(t,pt([],ht([],n,-n[3]),ht([],r,e/i)))}return null}function pD(e,t,n){let r=t.intersectsFrustum(e);if(!n||r===0)return r;let i=t.intersectsPlane(n);return i===0?0:r===2&&i===2?2:1}function mD(e,t,n){let r=0,i=(n-t)/10;for(let a=0;a<10;a++){let o=t+(a+.5)/10*(n-t);r+=i*Math.cos(o)**+e}return r}function hD(e,t){return function(n,r,i,a,o){let s=2*((e-1)/jn(Math.cos(Qn(Ph-o))/Math.cos(Qn(Ph)))-1),c=Math.acos(i/a),l=2*mD(s-1,0,Qn(o/2)),u=Math.min(Qn(Ph),c+Qn(o/2)),d=Math.min(u,c-Qn(o/2)),f=mD(s-1,d,u),p=Math.atan(r/i),m=Math.hypot(r,i),h=n;return h+=jn(a/m/Math.max(.5,Math.cos(Qn(o/2)))),h+=s*jn(Math.cos(p))/2,h-=jn(Math.max(1,f/l/t))/2,h}}var gD=hD(9.314,3);function _D(e,t){let n=(t.roundZoom?Math.round:Math.floor)(e.zoom+jn(e.tileSize/t.tileSize));return Math.max(0,n)}function vD(e,t){let n=P((15-(Ph-e.pitch-e.fov/2))/15,0,1),r=Math.max(500,t??0);return e.elevation+n*r}function yD(e,t,n){let r=e.planes[1],i=e.points.map(e=>{let i=r[0]*e[0]+r[1]*e[1]+r[2]*e[2]+r[3];if(Math.abs(i)>1e-6)return e;let a=[e[0]-n[0],e[1]-n[1],e[2]-n[2]],o=r[0]*a[0]+r[1]*a[1]+r[2]*a[2];if(o>=-1e-9)return e;let s=t/-o;return[e[0]+a[0]*s,e[1]+a[1]*s,e[2]+a[2]*s,e[3]]}),a=e.planes.map((e,n)=>n===1?[e[0],e[1],e[2],e[3]+t]:e),o=[1/0,1/0,1/0],s=[-1/0,-1/0,-1/0];for(let e of i)for(let t=0;t<3;t++)o[t]=Math.min(o[t],e[t]),s[t]=Math.max(s[t],e[t]);return new cD(i,a,new sD(o,s))}function bD(e,t,n,r){let i=Math.hypot(t[0],t[1],t[2]);if(i===0)return{frustum:e,plane:t};let a=1+r/Ch,o=P(-t[3]/i,-1,1),s=Math.cos(Math.acos(o)+Math.acos(1/a));return{frustum:yD(e,Math.sqrt(a*a-1),n),plane:[t[0],t[1],t[2],-s*i]}}function xD(e,t){let n=e.getCameraFrustum(),r=e.getClippingPlane();r&&t.maxContentElevation>0&&({frustum:n,plane:r}=bD(n,r,e.cameraPosition,t.maxContentElevation));let i=e.getCoveringTilesDetailsProvider(),a=i.getCenter(e),o=Hh(e,a),s=Nh.fromLngLat(a,e.elevation),c=vD(e,t.maxContentElevation),l=i.allowVariableZoom(e,t),u=_D(e,t),d=t.minzoom||0,f=t.maxzoom===void 0?e.maxZoom:t.maxzoom,p=Math.min(Math.max(0,u),f),m=2**p,h=[m*o.x,m*o.y,0],g=[m*s.x,m*s.y,0],_=Math.hypot(s.x-o.x,s.y-o.y),v=Math.abs(s.z-o.z),y=Math.hypot(_,v),b=e=>({zoom:0,x:0,y:0,wrap:e,fullyVisible:!1}),x=[],S=[];if(e.renderWorldCopies&&i.allowWorldCopies())for(let e=1;e<=3;e++)x.push(b(-e)),x.push(b(e));for(x.push(b(0));x.length>0;){let a=x.pop(),m=a.x,_=a.y,b=a.fullyVisible,C={x:m,y:_,z:a.zoom},w=i.getTileBoundingVolume(C,a.wrap,c,t);if(!b){let e=pD(n,w,r);if(e===0)continue;b=e===2}let T=i.distanceToTile2d(o.x,o.y,C,w),E=u;l&&(E=(t.calculateTileZoom||gD)(e.zoom+jn(e.tileSize/t.tileSize),T,v,y,e.fov)),E=(t.roundZoom?Math.round:Math.floor)(E),E=Math.max(0,E);let D=Math.min(E,f);if(a.wrap=i.getWrap(s,C,a.wrap),a.zoom>=D){if(a.zoom<d)continue;let e=p-a.zoom,n=h[0]-.5-(m<<e),r=h[1]-.5-(_<<e),i=t.reparseOverscaled?Math.max(a.zoom,E):a.zoom;S.push({tileID:new Ex(a.zoom===f?i:a.zoom,a.wrap,a.zoom,m,_),distanceSq:en([g[0]-.5-m,g[1]-.5-_]),tileDistanceToCamera:Math.sqrt(n*n+r*r)});continue}for(let e=0;e<4;e++){let t=(m<<1)+e%2,n=(_<<1)+(e>>1),r=a.zoom+1;x.push({zoom:r,x:t,y:n,wrap:a.wrap,fullyVisible:b})}}return S.sort((e,t)=>e.distanceSq-t.distanceSq).map(e=>e.tileID)}function SD(e){return e===`raster`||e===`image`||e===`video`}function CD(e,t,n,r,i,a,o){let s=yr(),c=bn(t);for(let l of t){let t=e.getTileById(l.key);(t.fadingDirection===0||t.fadeOpacity===0)&&t.resetFadeLogic(),!wD(e,t,n,s,r,i,o)&&(TD(e,t,n,s,a,o)||DD(t,c,s,o)||t.resetFadeLogic())}}function wD(e,t,n,r,i,a,o){if(!t.hasData())return!1;let{tileID:s,fadingRole:c,fadingDirection:l,fadingParentID:u}=t;if(c===0&&l===1&&u)return n[u.key]=u,!0;let d=Math.max(s.overscaledZ-i,a);for(let i=s.overscaledZ-1;i>=d;i--){let a=s.scaledTo(i),c=e.getLoadedTile(a);if(c)return t.setCrossFadeLogic({fadingRole:0,fadingDirection:1,fadingParentID:c.tileID,fadeEndTime:r+o}),c.setCrossFadeLogic({fadingRole:1,fadingDirection:0,fadeEndTime:r+o}),n[a.key]=a,!0}return!1}function TD(e,t,n,r,i,a){if(!t.hasData())return!1;let o=t.tileID.children(i),s=ED(e,t,o,n,r,i,a);if(s)return!0;for(let c of o)ED(e,t,c.children(i),n,r,i,a)&&(s=!0);return s}function ED(e,t,n,r,i,a,o){if(n[0].overscaledZ>a)return!1;let s=!1;for(let a of n){let n=e.getLoadedTile(a);if(!n)continue;let{fadingRole:c,fadingDirection:l,fadingParentID:u}=n;(c!==0||l!==0||!u)&&(n.setCrossFadeLogic({fadingRole:0,fadingDirection:0,fadingParentID:t.tileID,fadeEndTime:i+o}),t.setCrossFadeLogic({fadingRole:1,fadingDirection:1,fadeEndTime:i+o})),r[a.key]=a,s=!0}return s}function DD(e,t,n,r){let i=e.tileID;if(e.selfFading)return!0;if(e.hasData())return!1;if(t.has(i)){let t=n+r;return e.setSelfFadeLogic(t),!0}return!1}function OD(e,t){if(t<=0)return!1;let n=yr();for(let t of e.getAllTiles())if(t.fadeEndTime>=n)return!0;return!1}function kD(e,t){let n=t.getRenderableIds();for(let r of n){if(!e.neighboringTiles?.[r])continue;let n=t.getTileById(r);e.neighboringTiles[r].backfilled||AD(e,n),!n.neighboringTiles?.[e.tileID.key]?.backfilled&&AD(n,e)}}function AD(e,t){e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.needsColorReliefPrepare=!0;let n=t.tileID.canonical.x-e.tileID.canonical.x,r=t.tileID.canonical.y-e.tileID.canonical.y,i=2**e.tileID.canonical.z,a=t.tileID.key;(n!==0||r!==0)&&(Math.abs(r)>1||(Math.abs(n)>1&&(Math.abs(n+i)===1?n+=i:Math.abs(n-i)===1&&(n-=i)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,n,r),e.neighboringTiles?.[a]&&(e.neighboringTiles[a].backfilled=!0))))}var jD=class{constructor(){this._tiles={}}handleWrapJump(e){let t={};for(let n in this._tiles){let r=this._tiles[n];r.tileID=r.tileID.unwrapTo(r.tileID.wrap+e),t[r.tileID.key]=r}this._tiles=t}setFeatureState(e,t,n){for(let r in this._tiles)this._tiles[r].setFeatureState(e,t,n)}getAllTiles(){return Object.values(this._tiles)}getAllIds(e=!1){return e?Object.values(this._tiles).map(e=>e.tileID).sort(Mx).map(e=>e.key):Object.keys(this._tiles)}getTileById(e){return this._tiles[e]}setTile(e,t){this._tiles[e]=t}deleteTileById(e){delete this._tiles[e]}getLoadedTile(e){let t=this.getTileById(e.key);return t?.hasData()?t:null}isIdRenderable(e,t=!1){return this.getTileById(e)?.isRenderable(t)}getRenderableIds(e=0,t){let n=[];for(let e of this.getAllIds())this.isIdRenderable(e,t)&&n.push(this.getTileById(e));return t?n.sort((t,n)=>{let r=t.tileID,i=n.tileID,a=new j(r.canonical.x,r.canonical.y)._rotate(-e),o=new j(i.canonical.x,i.canonical.y)._rotate(-e);return r.overscaledZ-i.overscaledZ||o.y-a.y||o.x-a.x}).map(e=>e.tileID.key):n.map(e=>e.tileID).sort(Mx).map(e=>e.key)}},MD=class e extends Yr{static{this.maxUnderzooming=10}static{this.maxOverzooming=3}constructor(e,t,n){super(),this._maxContentElevationSeen=0,this.id=e,this.dispatcher=n,this.on(`data`,e=>{this._dataHandler(e)}),this.on(`dataloading`,()=>{this._sourceErrored=!1}),this.on(`error`,()=>{this._sourceErrored=this._source.loaded()}),this._source=pS(e,t,n,this),this._inViewTiles=new jD,this._outOfViewCache=new iD(0,e=>this._unloadTile(e)),this._timers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._rasterFadeDuration=0,this._maxFadingAncestorLevels=5,this._state=new oD,this._didEmitContent=!1,this._updated=!1}onAdd(e){this.map=e,this._maxTileCacheSize=e?e._maxTileCacheSize:null,this._maxTileCacheZoomLevels=e?e._maxTileCacheZoomLevels:null,this._source?.onAdd&&this._source.onAdd(e)}onRemove(e){for(let e of this._inViewTiles.getAllTiles())e.unloadVectorData();this.clearTiles(),this._source?.onRemove&&this._source.onRemove(e),this._inViewTiles=new jD}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if((this.used!==void 0||this.usedForTerrain!==void 0)&&!this.used&&!this.usedForTerrain)return!0;if(!this._updated)return!1;for(let e of this._inViewTiles.getAllTiles())if(e.state!==`loaded`&&e.state!==`errored`)return!1;return!0}getSource(){return this._source}getState(){return this._state}pause(){this._paused=!0}resume(){if(!this._paused)return;let e=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,e&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}async _loadTile(e,t,n,r){try{let i=await this._source.loadTile(e);this._tileLoaded(e,t,n,r,i)}catch(t){e.state=`errored`,t.status===404?this.update(this.transform,this.terrain):this._source.fire(new R(nn(t),{tile:e}))}}_unloadTile(e){this._source.unloadTile&&this._source.unloadTile(e)}_abortTile(e){this._source.abortTile&&this._source.abortTile(e),this._source.fire(new $r(`dataabort`,{tile:e,coord:e.tileID}))}serialize(){return this._source.serialize()}prepare(e){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._inViewTiles,this.style);for(let t of this._inViewTiles.getAllTiles())t.upload(e),t.prepare(this.map.style.imageManager)}getIds(){return this._inViewTiles.getAllIds(!0)}getRenderableIds(e){return this._inViewTiles.getRenderableIds(this.transform?.bearingInRadians,e)}hasRenderableParent(e){let t=e.overscaledZ-1;if(t>=this._source.minzoom){let n=this.getLoadedTile(e.scaledTo(t));if(n)return this._inViewTiles.isIdRenderable(n.tileID.key)}return!1}reload(e,t=void 0){if(this._paused){this._shouldReloadOnResume=!0;return}this._outOfViewCache.reset();for(let n of this._inViewTiles.getAllIds()){let r=this._inViewTiles.getTileById(n);(!t||this._source.shouldReloadTile(r,t))&&(e?this._reloadTile(n,r.state===`errored`?`loading`:`expired`):r.state!==`errored`&&this._reloadTile(n,`reloading`))}}async _reloadTile(e,t){let n=this._inViewTiles.getTileById(e);if(!n)return;let r=n.hasData();n.state!==`loading`&&(n.state=t),await this._loadTile(n,e,t,r)}_tileLoaded(e,t,n,r,i){r||(e.timeAdded=yr(),e.selfFading&&(e.fadeEndTime=e.timeAdded+this._rasterFadeDuration)),n===`expired`&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(t,e),!i?.unmodified&&(this.getSource().type===`raster-dem`&&e.dem&&kD(e,this._inViewTiles),e.featureStateRevision=-1,this._state.initializeTileState(e,this.style),e.aborted||this._source.fire(new $r(`data`,{tile:e,coord:e.tileID})))}getTile(e){return this.getTileByID(e.key)}getTileByID(e){return this._inViewTiles.getTileById(e)}_retainLoadedChildren(t,n){let r=this._getLoadedDescendents(n),i=new Set;for(let a of n){let n=r[a.key];if(!n?.length){i.add(a);continue}let o=a.overscaledZ+e.maxOverzooming,s=n.filter(e=>e.tileID.overscaledZ<=o);if(!s.length){i.add(a);continue}let c=Math.min(...s.map(e=>e.tileID.overscaledZ)),l=s.filter(e=>e.tileID.overscaledZ===c).map(e=>e.tileID);for(let e of l)t[e.key]=e;this._areDescendentsComplete(l,c,a.overscaledZ)||i.add(a)}return i}_getLoadedDescendents(e){let t={};for(let n of this._inViewTiles.getAllTiles().filter(e=>e.hasData()))for(let r of e)n.tileID.isChildOf(r)&&(t[r.key]||=[],t[r.key].push(n));return t}_areDescendentsComplete(e,t,n){return e.length===1&&e[0].isOverscaled()?e[0].overscaledZ===t:4**(t-n)===e.length}getLoadedTile(e){return this._inViewTiles.getLoadedTile(e)}updateCacheSize(e){let t=(Math.ceil(e.width/this._source.tileSize)+1)*(Math.ceil(e.height/this._source.tileSize)+1),n=this._maxTileCacheZoomLevels===null?kr.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels,r=Math.floor(t*n),i=typeof this._maxTileCacheSize==`number`?Math.min(this._maxTileCacheSize,r):r;this._outOfViewCache.setMaxSize(i)}handleWrapJump(e){let t=(e-(this._prevLng===void 0?e:this._prevLng))/360,n=Math.round(t);this._prevLng=e,n&&(this._inViewTiles.handleWrapJump(n),this._resetTileReloadTimers())}_updateMaxContentElevation(){let e=this._maxContentElevationSeen,t=this.map?.style?._layers;if(!t)return e;let n=this._inViewTiles.getAllTiles();for(let r in t){let i=t[r];if(i.type!==`symbol`||i.source!==this.id||i.isHidden(this.transform.zoom))continue;let a=i;if(!a.layout)continue;let o=a.layout.get(`symbol-height-offset`);if(e=Math.max(e,o.constantOr(0)),!o.isConstant())for(let t of n){let n=t.getBucket(i);n&&n.maxHeightOffset>e&&(e=n.maxHeightOffset)}}return this._maxContentElevationSeen=e,e}update(e,t){if(!this._sourceLoaded||this._paused)return;this.transform=e,this.terrain=t,this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng);let n;!this.used&&!this.usedForTerrain?n=[]:this._source.tileID?n=e.getVisibleUnwrappedCoordinates(this._source.tileID).map(e=>new Ex(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)):(n=xD(e,{tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.type===`vector`&&this.map._zoomLevelsToOverscale!==void 0?Math.max(this._source.maxzoom,e.maxZoom-this.map._zoomLevelsToOverscale):this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:t,calculateTileZoom:this._source.calculateTileZoom,maxContentElevation:this._updateMaxContentElevation()}),this._source.hasTile&&(n=n.filter(e=>this._source.hasTile(e)))),this.usedForTerrain&&(n=this._addTerrainIdealTiles(n));let r=n.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,r&&this.fire(new $r(`data`,{sourceDataType:`idle`,sourceId:this.id}));let i=_D(e,this._source),a=this._updateRetainedTiles(n,i),o=SD(this._source.type);o&&this._rasterFadeDuration>0&&!t&&CD(this._inViewTiles,n,a,this._maxFadingAncestorLevels,this._source.minzoom,this._source.maxzoom,this._rasterFadeDuration),o?this._cleanUpRasterTiles(a):this._cleanUpVectorTiles(a)}_cleanUpRasterTiles(e){for(let t of this._inViewTiles.getAllIds())e[t]||this._removeTile(t)}_cleanUpVectorTiles(e){for(let t of this._inViewTiles.getAllIds()){let n=this._inViewTiles.getTileById(t);if(e[t]){n.clearSymbolFadeHold();continue}if(!n.hasSymbolBuckets){this._removeTile(t);continue}n.holdingForSymbolFade()?n.symbolFadeFinished()&&this._removeTile(t):n.setSymbolHoldDuration(this.map._fadeDuration)}}_addTerrainIdealTiles(e){let t=[];for(let n of e)if(n.canonical.z>this._source.minzoom){let e=n.scaledTo(n.canonical.z-1);t.push(e);let r=n.scaledTo(Math.max(this._source.minzoom,Math.min(n.canonical.z,5)));t.push(r)}return e.concat(t)}releaseSymbolFadeTiles(){for(let e of this._inViewTiles.getAllIds())this._inViewTiles.getTileById(e).holdingForSymbolFade()&&this._removeTile(e)}_updateRetainedTiles(t,n){let r=new Set;for(let e of t)this._addTile(e).hasData()||r.add(e);let i=t.reduce((e,t)=>(e[t.key]=t,e),{}),a=this._retainLoadedChildren(i,r),o={},s=Math.max(n-e.maxUnderzooming,this._source.minzoom);for(let e of a){let t=this._inViewTiles.getTileById(e.key),n=t?.wasRequested();for(let r=e.overscaledZ-1;r>=s;--r){let a=e.scaledTo(r);if(o[a.key])break;if(o[a.key]=!0,t=this.getTile(a),!t&&n&&(t=this._addTile(a)),t){let e=t.hasData();if((e||!this.map?.cancelPendingTileRequestsWhileZooming||n)&&(i[a.key]=a),n=t.wasRequested(),e)break}}}return i}_addTile(e){let t=this._inViewTiles.getTileById(e.key);if(t)return t;t=this._outOfViewCache.getAndRemove(e),t&&(t.resetFadeLogic(),this._setTileReloadTimer(e.key,t),t.tileID=e,this._state.initializeTileState(t,this.style));let n=t;return t||(t=new rD(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(t,e.key,t.state,!1)),t.uses++,this._inViewTiles.setTile(e.key,t),n||this._source.fire(new $r(`dataloading`,{tile:t,coord:t.tileID})),t}_setTileReloadTimer(e,t){this._clearTileReloadTimer(e);let n=t.getExpiryTimeout();if(n){let t=()=>{this._reloadTile(e,`expired`),delete this._timers[e]};this._timers[e]=setTimeout(t,n)}}_clearTileReloadTimer(e){let t=this._timers[e];t&&(clearTimeout(t),delete this._timers[e])}_resetTileReloadTimers(){for(let e in this._timers)clearTimeout(this._timers[e]),delete this._timers[e];for(let e of this._inViewTiles.getAllIds()){let t=this._inViewTiles.getTileById(e);this._setTileReloadTimer(e,t)}}refreshTiles(e){for(let t of this._inViewTiles.getAllIds()){let n=this._inViewTiles.getTileById(t);(this._inViewTiles.isIdRenderable(t)||n.state==`errored`)&&e.some(e=>e.equals(n.tileID.canonical))&&this._reloadTile(t,`expired`)}}_removeTile(e){let t=this._inViewTiles.getTileById(e);t&&(t.uses--,this._inViewTiles.deleteTileById(e),this._clearTileReloadTimer(e),!(t.uses>0)&&(t.hasData()&&t.state!==`reloading`?this._outOfViewCache.add(t.tileID,t,t.getExpiryTimeout()):(t.aborted=!0,this._abortTile(t),this._unloadTile(t))))}_dataHandler(e){if(e.dataType===`source`){if(e.sourceDataType===`metadata`){this._sourceLoaded=!0;return}e.sourceDataType===`content`&&this._sourceLoaded&&!this._paused&&(this.reload(e.sourceDataChanged,e.shouldReloadTileOptions),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}}resetMaxContentElevation(){this._maxContentElevationSeen=0}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1,this.resetMaxContentElevation();for(let e of this._inViewTiles.getAllIds())this._removeTile(e);this._outOfViewCache.reset()}tilesIn(e,t,n){let r=[],i=this.transform;if(!i)return r;let a=i.getCoveringTilesDetailsProvider().allowWorldCopies(),o=n?i.getCameraQueryGeometry(e):e,s=e=>i.screenPointToMercatorCoordinate(e,this.terrain),c=this.transformBbox(e,s,!a),l=this.transformBbox(o,s,!a),u=this.getIds(),d=ph.fromPoints(l);for(let e of u){let n=this._inViewTiles.getTileById(e);if(n.holdingForSymbolFade())continue;let o=a?[n.tileID]:[n.tileID.unwrapTo(-1),n.tileID.unwrapTo(0)],s=2**(i.zoom-n.tileID.overscaledZ),u=t*n.queryPadding*N/n.tileSize/s;for(let e of o){let t=d.map(t=>e.getTilePoint(new Nh(t.x,t.y)));if(t.expandBy(u),t.intersects(mh)){let t=c.map(t=>e.getTilePoint(t)),i=l.map(t=>e.getTilePoint(t));r.push({tile:n,tileID:a?e:e.unwrapTo(0),queryGeometry:t,cameraQueryGeometry:i,scale:s})}}}return r}transformBbox(e,t,n){let r=e.map(t);if(n){let n=ph.fromPoints(e);n.shrinkBy(Math.min(n.width(),n.height())*.001);let i=n.map(t);ph.fromPoints(r).covers(i)||(r=r.map(e=>e.x>.5?new Nh(e.x-1,e.y,e.z):e))}return r}getVisibleCoordinates(e){let t=this.getRenderableIds(e).map(e=>this._inViewTiles.getTileById(e).tileID);return this.transform&&this.transform.populateCache(t),t}hasTransition(){return this._source.hasTransition()?!0:SD(this._source.type)&&OD(this._inViewTiles,this._rasterFadeDuration)}setRasterFadeDuration(e){this._rasterFadeDuration=e}setFeatureState(e,t,n){e||=vS,this._state.updateState(e,t,n)}removeFeatureState(e,t,n){e||=vS,this._state.removeFeatureState(e,t,n)}getFeatureState(e,t){return e||=vS,this._state.getState(e,t)}setDependencies(e,t,n){let r=this._inViewTiles.getTileById(e);r&&r.setDependencies(t,n)}reloadTilesForDependencies(e,t){for(let n of this._inViewTiles.getAllIds())this._inViewTiles.getTileById(n).hasDependency(e,t)&&this._reloadTile(n,`reloading`);this._outOfViewCache.filter(n=>!n.hasDependency(e,t))}areTilesLoaded(){for(let e of this._inViewTiles.getAllTiles())if(e.state!==`loaded`&&e.state!==`errored`)return!1;return!0}},ND=class{constructor(e,t){this.reset(e,t)}reset(e,t){this.points=e||[],this._distances=[0];for(let e=1;e<this.points.length;e++)this._distances[e]=this._distances[e-1]+this.points[e].dist(this.points[e-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(t||0,this.length*.5),this.paddedLength=this.length-this.padding*2}lerp(e){if(this.points.length===1)return this.points[0];e=P(e,0,1);let t=1,n=this._distances[t],r=e*this.paddedLength+this.padding;for(;n<r&&t<this._distances.length;)n=this._distances[++t];let i=t-1,a=this._distances[i],o=n-a,s=o>0?(r-a)/o:0;return this.points[i].mult(1-s).add(this.points[t].mult(s))}};function PD(e,t,n,r,i){return i?e?e(t,n)+r:r===0?void 0:r:r}function FD(e,t){let n=!0;return e===`always`||(e===`never`||t===`never`)&&(n=!1),n}var ID=class{constructor(e,t,n){let r=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(e/n),this.yCellCount=Math.ceil(t/n);for(let e=0;e<this.xCellCount*this.yCellCount;e++)r.push([]),i.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=e,this.height=t,this.xScale=this.xCellCount/e,this.yScale=this.yCellCount/t,this.boxUid=0,this.circleUid=0}keysLength(){return this.boxKeys.length+this.circleKeys.length}insert(e,t,n,r,i){this._forEachCell(t,n,r,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(e),this.bboxes.push(t),this.bboxes.push(n),this.bboxes.push(r),this.bboxes.push(i)}insertCircle(e,t,n,r){this._forEachCell(t-r,n-r,t+r,n+r,this._insertCircleCell,this.circleUid++),this.circleKeys.push(e),this.circles.push(t),this.circles.push(n),this.circles.push(r)}_insertBoxCell(e,t,n,r,i,a){this.boxCells[i].push(a)}_insertCircleCell(e,t,n,r,i,a){this.circleCells[i].push(a)}_query(e,t,n,r,i,a,o){if(n<0||e>this.width||r<0||t>this.height)return[];let s=[];if(e<=0&&t<=0&&this.width<=n&&this.height<=r){if(i)return[{key:null,x1:e,y1:t,x2:n,y2:r}];for(let e=0;e<this.boxKeys.length;e++)s.push({key:this.boxKeys[e],x1:this.bboxes[e*4],y1:this.bboxes[e*4+1],x2:this.bboxes[e*4+2],y2:this.bboxes[e*4+3]});for(let e=0;e<this.circleKeys.length;e++){let t=this.circles[e*3],n=this.circles[e*3+1],r=this.circles[e*3+2];s.push({key:this.circleKeys[e],x1:t-r,y1:n-r,x2:t+r,y2:n+r})}}else{let c={hitTest:i,overlapMode:a,seenUids:{box:{},circle:{}}};this._forEachCell(e,t,n,r,this._queryCell,s,c,o)}return s}query(e,t,n,r){return this._query(e,t,n,r,!1,null)}hitTest(e,t,n,r,i,a){return this._query(e,t,n,r,!0,i,a).length>0}hitTestCircle(e,t,n,r,i){let a=e-n,o=e+n,s=t-n,c=t+n;if(o<0||a>this.width||c<0||s>this.height)return!1;let l=[],u={hitTest:!0,overlapMode:r,circle:{x:e,y:t,radius:n},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,c,this._queryCellCircle,l,u,i),l.length>0}_queryCell(e,t,n,r,i,a,o,s){let{seenUids:c,hitTest:l,overlapMode:u}=o,d=this.boxCells[i],f=1e-6;if(d!==null){let i=this.bboxes;for(let o of d)if(!c.box[o]){c.box[o]=!0;let d=o*4,p=this.boxKeys[o];if(e<=i[d+2]+f&&t<=i[d+3]+f&&n>=i[d+0]-f&&r>=i[d+1]-f&&(!s||s(p))&&(!l||!FD(u,p.overlapMode))&&(a.push({key:p,x1:i[d],y1:i[d+1],x2:i[d+2],y2:i[d+3]}),l))return!0}}let p=this.circleCells[i];if(p!==null){let i=this.circles;for(let o of p)if(!c.circle[o]){c.circle[o]=!0;let d=o*3,f=this.circleKeys[o];if(this._circleAndRectCollide(i[d],i[d+1],i[d+2],e,t,n,r)&&(!s||s(f))&&(!l||!FD(u,f.overlapMode))){let e=i[d],t=i[d+1],n=i[d+2];if(a.push({key:f,x1:e-n,y1:t-n,x2:e+n,y2:t+n}),l)return!0}}}return!1}_queryCellCircle(e,t,n,r,i,a,o,s){let{circle:c,seenUids:l,overlapMode:u}=o,d=this.boxCells[i];if(d!==null){let e=this.bboxes;for(let t of d)if(!l.box[t]){l.box[t]=!0;let n=t*4,r=this.boxKeys[t];if(this._circleAndRectCollide(c.x,c.y,c.radius,e[n+0],e[n+1],e[n+2],e[n+3])&&(!s||s(r))&&!FD(u,r.overlapMode))return a.push(!0),!0}}let f=this.circleCells[i];if(f!==null){let e=this.circles;for(let t of f)if(!l.circle[t]){l.circle[t]=!0;let n=t*3,r=this.circleKeys[t];if(this._circlesCollide(e[n],e[n+1],e[n+2],c.x,c.y,c.radius)&&(!s||s(r))&&!FD(u,r.overlapMode))return a.push(!0),!0}}}_forEachCell(e,t,n,r,i,a,o,s){let c=this._convertToXCellCoord(e),l=this._convertToYCellCoord(t),u=this._convertToXCellCoord(n),d=this._convertToYCellCoord(r);for(let f=c;f<=u;f++)for(let c=l;c<=d;c++){let l=this.xCellCount*c+f;if(i.call(this,e,t,n,r,l,a,o,s))return}}_convertToXCellCoord(e){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(e*this.xScale)))}_convertToYCellCoord(e){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(e*this.yScale)))}_circlesCollide(e,t,n,r,i,a){let o=r-e,s=i-t,c=n+a;return c*c>o*o+s*s}_circleAndRectCollide(e,t,n,r,i,a,o){let s=(a-r)/2,c=Math.abs(e-(r+s));if(c>s+n)return!1;let l=(o-i)/2,u=Math.abs(t-(i+l));if(u>l+n)return!1;if(c<=s||u<=l)return!0;let d=c-s,f=u-l;return d*d+f*f<=n*n}};function LD(e,t){let n=1/(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]),r=1/(t[8]*t[8]+t[9]*t[9]+t[10]*t[10]),i=t[0]*n,a=t[4]*n,o=t[8]*r,s=t[1]*n,c=t[5]*n,l=t[9]*r,u=t[2]*n,d=t[6]*n,f=t[10]*r;e[0]=i,e[1]=a,e[2]=o,e[4]=s,e[5]=c,e[6]=l,e[8]=u,e[9]=d,e[10]=f;let p=t[12],m=t[13],h=t[14];return e[12]=-i*p-s*m-u*h,e[13]=-a*p-c*m-d*h,e[14]=-o*p-l*m-f*h,e[3]=0,e[7]=0,e[11]=0,e[15]=1,e}function RD(e,t){return e[0]=1/t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1/t[5],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=0,e[11]=1/t[14],e[12]=0,e[13]=0,e[14]=-1,e[15]=t[10]/t[14],e}function zD(e,t){let n=1/(t[0]*t[5]-t[1]*t[4]);return e[0]=t[5]*n,e[1]=-t[1]*n,e[2]=0,e[3]=0,e[4]=-t[4]*n,e[5]=t[0]*n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1/t[10],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1/t[15],e}var BD=Ke();function VD(e,t,n){let r=Ke();if(!e){let{vecSouth:e,vecEast:n}=UD(t),i=Re();i[0]=n[0],i[1]=n[1],i[2]=e[0],i[3]=e[1],ze(i,i),r[0]=i[0],r[1]=i[1],r[4]=i[2],r[5]=i[3]}return Qe(r,r,[1/n,1/n,1]),r}function HD(e,t,n,r){if(e){let e=Ke();if(!t){let{vecSouth:t,vecEast:r}=UD(n);e[0]=r[0],e[1]=r[1],e[4]=t[0],e[5]=t[1]}return Qe(e,e,[r,r,1]),e}return n.pixelsToClipSpaceMatrix}function UD(e){let t=Math.cos(e.rollInRadians),n=Math.sin(e.rollInRadians),r=Math.cos(e.pitchInRadians),i=Math.cos(e.bearingInRadians),a=Math.sin(e.bearingInRadians),o=qt();o[0]=-i*r*n-a*t,o[1]=-a*r*n+i*t;let s=Xt(o);s<1e-9?$t(o):Yt(o,o,1/s);let c=qt();c[0]=i*r*t-a*n,c[1]=a*r*t+i*n;let l=Xt(c);return l<1e-9?$t(c):Yt(c,c,1/l),{vecEast:c,vecSouth:o}}function WD(e,t,n){return PD(e.getElevation,t,n,e.heightOffset??0,e.heightAnchorGround??!0)}function GD(e,t,n,r){let i;r==null?(i=[e,t,0,1],cO(i,i,n)):(i=[e,t,r,1],Lt(i,i,n));let a=i[3];return{point:new j(i[0]/a,i[1]/a),signedDistanceFromCamera:a,isOccluded:!1}}function KD(e,t){return .5+e/t*.5}function qD(e,t){return e.x>=-t[0]&&e.x<=t[0]&&e.y>=-t[1]&&e.y<=t[1]}function JD(e,t,n,r,i,a,o,s,c,l,u,d){let f=r?e.textSizeData:e.iconSizeData,p=ty(f,n.zoom),m=[256/t.width*2+1,256/t.height*2+1],h=r?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;h.clear();let g=e.lineVertexArray,_=r?e.text.placedSymbolArray:e.icon.placedSymbolArray,v=n.width/n.height,y=!1;for(let t=0;t<_.length;t++){let r=_.get(t);if(r.hidden||r.writingMode===2&&!y){sO(r.numGlyphs,h);continue}y=!1;let b={getElevation:d,pitchedLabelPlaneMatrix:i,lineVertexArray:g,pitchWithMap:o,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},transform:n,tileAnchorPoint:new j(r.anchorX,r.anchorY),unwrappedTileID:l,width:n.width,height:n.height,translation:u},x=nO(r.anchorX,r.anchorY,b);if(!qD(x.point,m)){sO(r.numGlyphs,h);continue}let S=x.signedDistanceFromCamera,C=KD(n.cameraToCenterDistance,S),w=ey(f,p,r),T=o?w*n.getPitchedTextCorrection(r.anchorX,r.anchorY,l)/C:w*C,E=ZD({projectionContext:b,pitchedLabelPlaneMatrixInverse:a,symbol:r,fontSize:T,flip:!1,keepUpright:s,glyphOffsetArray:e.glyphOffsetArray,dynamicLayoutVertexArray:h,aspectRatio:v,rotateToLine:c});y=E.useVertical,(E.notEnoughRoom||y||E.needsFlipping&&ZD({projectionContext:b,pitchedLabelPlaneMatrixInverse:a,symbol:r,fontSize:T,flip:!0,keepUpright:s,glyphOffsetArray:e.glyphOffsetArray,dynamicLayoutVertexArray:h,aspectRatio:v,rotateToLine:c}).notEnoughRoom)&&sO(r.numGlyphs,h)}r?e.text.dynamicLayoutVertexBuffer.updateData(h):e.icon.dynamicLayoutVertexBuffer.updateData(h)}function YD(e,t,n,r,i,a,o,s){let c=a.glyphStartIndex+a.numGlyphs,l=a.lineStartIndex,u=a.lineStartIndex+a.lineLength,d=t.getoffsetX(a.glyphStartIndex),f=t.getoffsetX(c-1),p=aO(e*d,n,r,i,a.segment,l,u,s,o);if(!p)return null;let m=aO(e*f,n,r,i,a.segment,l,u,s,o);return!m||s.projectionCache.anyProjectionOccluded?null:{first:p,last:m}}function XD(e,t,n,r){return e===1&&Math.abs(n.y-t.y)>Math.abs(n.x-t.x)*r?{useVertical:!0}:(e===2?t.y<n.y:t.x>n.x)?{needsFlipping:!0}:null}function ZD(e){let{projectionContext:t,pitchedLabelPlaneMatrixInverse:n,symbol:r,fontSize:i,flip:a,keepUpright:o,glyphOffsetArray:s,dynamicLayoutVertexArray:c,aspectRatio:l,rotateToLine:u}=e,d=i/24,f=r.lineOffsetX*d,p=r.lineOffsetY*d,m;if(r.numGlyphs>1){let e=r.glyphStartIndex+r.numGlyphs,i=r.lineStartIndex,c=r.lineStartIndex+r.lineLength,h=YD(d,s,f,p,a,r,u,t);if(!h)return{notEnoughRoom:!0};let g=tO(h.first.point.x,h.first.point.y,t,n),_=tO(h.last.point.x,h.last.point.y,t,n);if(o&&!a){let e=XD(r.writingMode,g,_,l);if(e)return e}m=[h.first];for(let n=r.glyphStartIndex+1;n<e-1;n++){let e=aO(d*s.getoffsetX(n),f,p,a,r.segment,i,c,t,u);if(!e)return{notEnoughRoom:!0};m.push(e)}m.push(h.last)}else{if(o&&!a){let e=eO(t.tileAnchorPoint.x,t.tileAnchorPoint.y,t).point,i=r.lineStartIndex+r.segment+1,a=new j(t.lineVertexArray.getx(i),t.lineVertexArray.gety(i)),o=eO(a.x,a.y,t),s=o.signedDistanceFromCamera>0?o.point:QD(t.tileAnchorPoint,a,e,1,t),c=tO(e.x,e.y,t,n),u=tO(s.x,s.y,t,n),d=XD(r.writingMode,c,u,l);if(d)return d}let e=aO(d*s.getoffsetX(r.glyphStartIndex),f,p,a,r.segment,r.lineStartIndex,r.lineStartIndex+r.lineLength,t,u);if(!e||t.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};m=[e]}for(let e of m)Hy(c,e.point,e.angle);return{}}function QD(e,t,n,r,i){let a=e.add(e.sub(t)._unit()),o=eO(a.x,a.y,i).point,s=n.sub(o);return n.add(s._mult(r/s.mag()))}function $D(e,t,n){let r=t.projectionCache;if(r.projections[e])return r.projections[e];let i=new j(t.lineVertexArray.getx(e),t.lineVertexArray.gety(e)),a=eO(i.x,i.y,t);if(a.signedDistanceFromCamera>0)return r.projections[e]=a.point,r.anyProjectionOccluded||=a.isOccluded,a.point;let o=e-n.direction,s=n.distanceFromAnchor===0?t.tileAnchorPoint:new j(t.lineVertexArray.getx(o),t.lineVertexArray.gety(o)),c=n.absOffsetX-n.distanceFromAnchor+1;return QD(s,i,n.previousVertex,c,t)}function eO(e,t,n){let r=e+n.translation[0],i=t+n.translation[1],a;return n.pitchWithMap?(a=GD(r,i,n.pitchedLabelPlaneMatrix,WD(n,r,i)),a.isOccluded=!1):(a=n.transform.projectTileCoordinates(r,i,n.unwrappedTileID,WD(n,r,i)),a.point.x=(a.point.x*.5+.5)*n.width,a.point.y=(-a.point.y*.5+.5)*n.height),a}function tO(e,t,n,r){if(n.pitchWithMap){let i=[e,t,0,1];Lt(i,i,r);let a=i[0]/i[3],o=i[1]/i[3];return n.transform.projectTileCoordinates(a,o,n.unwrappedTileID,WD(n,a,o)).point}return{x:e/n.width*2-1,y:1-t/n.height*2}}function nO(e,t,n){return n.transform.projectTileCoordinates(e,t,n.unwrappedTileID,WD(n,e,t))}function rO(e,t,n){return e._unit()._perp()._mult(t*n)}function iO(e,t,n,r,i,a,o,s,c){if(s.projectionCache.offsets[e])return s.projectionCache.offsets[e];let l=n.add(t);if(e+c.direction<r||e+c.direction>=i)return s.projectionCache.offsets[e]=l,l;let u=$D(e+c.direction,s,c),d=rO(u.sub(n),o,c.direction),f=n.add(d),p=u.add(d);return s.projectionCache.offsets[e]=Bn(a,l,f,p)||l,s.projectionCache.offsets[e]}function aO(e,t,n,r,i,a,o,s,c){let l=r?e-t:e+t,u=l>0?1:-1,d=0;r&&(u*=-1,d=Math.PI),u<0&&(d+=Math.PI);let f=u>0?a+i:a+i+1,p;s.projectionCache.cachedAnchorPoint?p=s.projectionCache.cachedAnchorPoint:(p=eO(s.tileAnchorPoint.x,s.tileAnchorPoint.y,s).point,s.projectionCache.cachedAnchorPoint=p);let m=p,h=p,g,_,v=0,y=0,b=Math.abs(l),x=[],S;for(;v+y<=b;){if(f+=u,f<a||f>=o)return null;v+=y,h=m,_=g;let e={absOffsetX:b,direction:u,distanceFromAnchor:v,previousVertex:h};if(m=$D(f,s,e),n===0)x.push(h),S=m.sub(h);else{let t,r=m.sub(h);t=r.mag()===0?rO($D(f+u,s,e).sub(m),n,u):rO(r,n,u),_||=h.add(t),g=iO(f,t,m,a,o,_,n,s,e),x.push(_),S=g.sub(_)}y=S.mag()}let C=(b-v)/y,w=S._mult(C)._add(_||h),T=d+Math.atan2(m.y-h.y,m.x-h.x);return x.push(w),{point:w,angle:c?T:0,path:x}}var oO=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function sO(e,t){for(let n=0;n<e;n++){let e=t.length;t.resize(e+4),t.float32.set(oO,e*3)}}function cO(e,t,n){let r=t[0],i=t[1];return e[0]=n[0]*r+n[4]*i+n[12],e[1]=n[1]*r+n[5]*i+n[13],e[3]=n[3]*r+n[7]*i+n[15],e}function lO(e,t){let n=BD;return zD(n,t.pitchedLabelPlaneMatrix),e.map(e=>{let r=GD(e.x,e.y,n,WD(t,e.x,e.y)),i=t.transform.projectTileCoordinates(r.point.x,r.point.y,t.unwrappedTileID,WD(t,r.point.x,r.point.y));return i.point.x=(i.point.x*.5+.5)*t.width,i.point.y=(-i.point.y*.5+.5)*t.height,i})}function uO(e){let t=0,n=0,r=0,i=0;for(let a=0;a<e.length;a++)e[a].isOccluded?(r=a+1,i=0):(i++,i>n&&(n=i,t=r));return e.slice(t,t+n)}var dO=class{constructor(e,t=new ID(e.width+200,e.height+200,25),n=new ID(e.width+200,e.height+200,25)){this.transform=e,this.grid=t,this.ignoredGrid=n,this.pitchFactor=Math.cos(e.pitch*Math.PI/180)*e.cameraToCenterDistance,this.screenRightBoundary=e.width+100,this.screenBottomBoundary=e.height+100,this.gridRightBoundary=e.width+200,this.gridBottomBoundary=e.height+200,this.perspectiveRatioCutoff=.6}placeCollisionBox(e,t,n,r,i,a,o,s,c,l,u,d,f=0,p=!0){let m=e.anchorPointX+s[0],h=e.anchorPointY+s[1],g=this.projectAndGetPerspectiveRatio(m,h,i,PD(l,m,h,f,p),d),_=n*g.perspectiveRatio,v;if(!a&&!o){let t=g.x+(u?u.x*_:0),n=g.y+(u?u.y*_:0);v={allPointsOccluded:!1,box:[t+e.x1*_,n+e.y1*_,t+e.x2*_,n+e.y2*_]}}else v=this._projectCollisionBox(e,_,r,i,a,o,s,g,l,u,d,f,p);let[y,b,x,S]=v.box,C=a?v.allPointsOccluded:g.isOccluded,w=C;return w||=g.perspectiveRatio<this.perspectiveRatioCutoff,w||=!this.isInsideGrid(y,b,x,S),w||t!==`always`&&this.grid.hitTest(y,b,x,S,t,c)?{box:[y,b,x,S],placeable:!1,offscreen:!1,occluded:C}:{box:[y,b,x,S],placeable:!0,offscreen:this.isOffscreen(y,b,x,S),occluded:C}}placeCollisionCircles(e,t,n,r,i,a,o,s,c,l,u,d,f,p){let m=[],h=new j(t.anchorX,t.anchorY),g=this.getPerspectiveRatio(h.x,h.y,a,p?.(h.x,h.y)),_=(c?i*this.transform.getPitchedTextCorrection(t.anchorX,t.anchorY,a)/g:i*g)/24,v={projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},y=t.lineOffsetX*_,b=t.lineOffsetY*_,x={getElevation:p,pitchedLabelPlaneMatrix:o,lineVertexArray:n,pitchWithMap:c,projectionCache:v,transform:this.transform,tileAnchorPoint:h,unwrappedTileID:a,width:this.transform.width,height:this.transform.height,translation:f},S=YD(_,r,y,b,!1,t,!1,x),C=!1,w=!1,T=!0;if(S){let t=u*.5*g+d,n=new j(-100,-100),r=new j(this.screenRightBoundary,this.screenBottomBoundary),i=new ND,a=S.first,o=S.last,f=[];for(let e=a.path.length-1;e>=1;e--)f.push(a.path[e]);for(let e=1;e<o.path.length;e++)f.push(o.path[e]);let p=t*2.5;if(c){let e=this.projectPathToScreenSpace(f,x);f=e.some(e=>e.signedDistanceFromCamera<=0)?[]:e.map(e=>e.point)}let h=[];if(f.length>0){let e=f[0].clone(),t=f[0].clone();for(let n=1;n<f.length;n++)e.x=Math.min(e.x,f[n].x),e.y=Math.min(e.y,f[n].y),t.x=Math.max(t.x,f[n].x),t.y=Math.max(t.y,f[n].y);h=e.x>=n.x&&t.x<=r.x&&e.y>=n.y&&t.y<=r.y?[f]:t.x<n.x||e.x>r.x||t.y<n.y||e.y>r.y?[]:fy([f],n.x,n.y,r.x,r.y)}for(let n of h){i.reset(n,t*.25);let r=0;r=i.length<=.5*t?1:Math.ceil(i.paddedLength/p)+1;for(let n=0;n<r;n++){let a=n/Math.max(r-1,1),o=i.lerp(a),c=o.x+100,u=o.y+100;m.push(c,u,t,0);let d=c-t,f=u-t,p=c+t,h=u+t;if(T&&=this.isOffscreen(d,f,p,h),w||=this.isInsideGrid(d,f,p,h),e!==`always`&&this.grid.hitTestCircle(c,u,t,e,l)&&(C=!0,!s))return{circles:[],offscreen:!1,collisionDetected:C}}}}return{circles:!s&&C||!w||g<this.perspectiveRatioCutoff?[]:m,offscreen:T,collisionDetected:C}}projectPathToScreenSpace(e,t){return uO(lO(e,t))}queryRenderedSymbols(e){if(e.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let t=[],n=new ph;for(let r of e){let e=new j(r.x+100,r.y+100);n.extend(e),t.push(e)}let{minX:r,minY:i,maxX:a,maxY:o}=n,s=this.grid.query(r,i,a,o).concat(this.ignoredGrid.query(r,i,a,o)),c={},l={};for(let e of s){let n=e.key;c[n.bucketInstanceId]===void 0&&(c[n.bucketInstanceId]={}),!c[n.bucketInstanceId][n.featureIndex]&&Ff(t,[new j(e.x1,e.y1),new j(e.x2,e.y1),new j(e.x2,e.y2),new j(e.x1,e.y2)])&&(c[n.bucketInstanceId][n.featureIndex]=!0,l[n.bucketInstanceId]===void 0&&(l[n.bucketInstanceId]=[]),l[n.bucketInstanceId].push(n.featureIndex))}return l}insertCollisionBox(e,t,n,r,i,a){let o=n?this.ignoredGrid:this.grid,s={bucketInstanceId:r,featureIndex:i,collisionGroupID:a,overlapMode:t};o.insert(s,e[0],e[1],e[2],e[3])}insertCollisionCircles(e,t,n,r,i,a){let o=n?this.ignoredGrid:this.grid,s={bucketInstanceId:r,featureIndex:i,collisionGroupID:a,overlapMode:t};for(let t=0;t<e.length;t+=4)o.insertCircle(s,e[t],e[t+1],e[t+2])}projectAndGetPerspectiveRatio(e,t,n,r,i){if(i){let n;r==null?(n=[e,t,0,1],cO(n,n,i)):(n=[e,t,r,1],Lt(n,n,i));let a=n[3];return{x:(n[0]/a+1)/2*this.transform.width+100,y:(-n[1]/a+1)/2*this.transform.height+100,perspectiveRatio:.5+.5*(this.transform.cameraToCenterDistance/a),isOccluded:!1,signedDistanceFromCamera:a}}{let i=this.transform.projectTileCoordinates(e,t,n,r);return{x:(i.point.x+1)/2*this.transform.width+100,y:(-i.point.y+1)/2*this.transform.height+100,perspectiveRatio:.5+.5*(this.transform.cameraToCenterDistance/i.signedDistanceFromCamera),isOccluded:i.isOccluded,signedDistanceFromCamera:i.signedDistanceFromCamera}}}getPerspectiveRatio(e,t,n,r){let i=this.transform.projectTileCoordinates(e,t,n,r);return .5+.5*(this.transform.cameraToCenterDistance/i.signedDistanceFromCamera)}isOffscreen(e,t,n,r){return n<100||e>=this.screenRightBoundary||r<100||t>this.screenBottomBoundary}isInsideGrid(e,t,n,r){return n>=0&&e<this.gridRightBoundary&&r>=0&&t<this.gridBottomBoundary}getViewportMatrix(){let e=Ye([]);return M(e,e,[-100,-100,0]),e}_projectCollisionBox(e,t,n,r,i,a,o,s,c,l,u,d=0,f=!0){let p=1,m=0,h=0,g=1,_=e.anchorPointX+o[0],v=e.anchorPointY+o[1];if(a&&!i){let e=this.projectAndGetPerspectiveRatio(_+1,v,r,PD(c,_+1,v,d,f),u),t=e.x-s.x,n=e.y-s.y,i=Math.atan(n/t)+(t<0?Math.PI:0),a=Math.sin(i),o=Math.cos(i);p=o,m=a,h=-a,g=o}else if(!a&&i){let e=UD(this.transform);p=e.vecEast[0],m=e.vecEast[1],h=e.vecSouth[0],g=e.vecSouth[1]}let y=s.x,b=s.y,x=t;if(i&&(y=_,b=v,x=2**-(this.transform.zoom-n.overscaledZ),x*=this.transform.getPitchedTextCorrection(_,v,r),!l)){let e=P(.5+.5*(s.signedDistanceFromCamera/this.transform.cameraToCenterDistance),0,4);x*=e}l&&(y+=p*l.x*x+h*l.y*x,b+=m*l.x*x+g*l.y*x);let S=e.x1*x,C=e.x2*x,w=(S+C)/2,T=e.y1*x,E=e.y2*x,D=(T+E)/2,O=[{offsetX:S,offsetY:T},{offsetX:w,offsetY:T},{offsetX:C,offsetY:T},{offsetX:C,offsetY:D},{offsetX:C,offsetY:E},{offsetX:w,offsetY:E},{offsetX:S,offsetY:E},{offsetX:S,offsetY:D}],k=[];for(let{offsetX:e,offsetY:t}of O)k.push(new j(y+p*e+h*t,b+m*e+g*t));let A=!1;if(i){let e=k.map(e=>this.projectAndGetPerspectiveRatio(e.x,e.y,r,PD(c,e.x,e.y,d,f),u));A=e.some(e=>!e.isOccluded),k=e.map(e=>new j(e.x,e.y))}else A=!0;return{box:yn(k),allPointsOccluded:!A}}},fO=class{constructor(e,t,n,r){this.opacity=e?Math.max(0,Math.min(1,e.opacity+(e.placed?t:-t))):r&&n?1:0,this.placed=n}isHidden(){return this.opacity===0&&!this.placed}},pO=class{constructor(e,t,n,r,i){this.text=new fO(e?e.text:null,t,n,i),this.icon=new fO(e?e.icon:null,t,r,i)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}},mO=class{constructor(e,t,n){this.text=e,this.icon=t,this.skipFade=n}},hO=class{constructor(e,t,n,r,i){this.bucketInstanceId=e,this.featureIndex=t,this.sourceLayerIndex=n,this.bucketIndex=r,this.tileID=i}},gO=class{constructor(e){this.crossSourceCollisions=e,this.maxGroupID=0,this.collisionGroups={}}get(e){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[e]){let t=++this.maxGroupID;this.collisionGroups[e]={ID:t,predicate:e=>e.collisionGroupID===t}}return this.collisionGroups[e]}};function _O(e,t,n,r,i){let{horizontalAlign:a,verticalAlign:o}=Av(e),s=-(a-.5)*t,c=-(o-.5)*n;return new j(s+r[0]*i,c+r[1]*i)}var vO=Lg.members.find(e=>e.name===`crossTileID`).offset/4,yO=class{constructor(e,t,n,r,i){this.transform=e.clone(),this.terrain=t,this.collisionIndex=new dO(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=n,this.retainedQueryData={},this.collisionGroups=new gO(r),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.lastOpacityInputs=new WeakMap,this.prevPlacement=i,i&&(i.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(e){let t=this.terrain;if(t)return(n,r)=>t.getElevation(e,n,r)}getBucketParts(e,t,n,r){let i=n.getBucket(t),a=n.latestFeatureIndex;if(!i||!a||t.id!==i.layerIds[0])return;let o=n.collisionBoxArray,s=i.layers[0].layout,c=i.layers[0].paint,l=2**(this.transform.zoom-n.tileID.overscaledZ),u=n.tileSize/N,d=n.tileID.toUnwrapped(),f=s.get(`text-rotation-alignment`)===`map`,p=tn(n,1,this.transform.zoom),m=ln(this.collisionIndex.transform,n,c.get(`text-translate`),c.get(`text-translate-anchor`)),h=ln(this.collisionIndex.transform,n,c.get(`icon-translate`),c.get(`icon-translate-anchor`)),g=VD(f,this.transform,p);this.retainedQueryData[i.bucketInstanceId]=new hO(i.bucketInstanceId,a,i.sourceLayerIndex,i.index,n.tileID);let _={bucket:i,layout:s,translationText:m,translationIcon:h,unwrappedTileID:d,pitchedLabelPlaneMatrix:g,scale:l,textPixelRatio:u,holdingForFade:n.holdingForSymbolFade(),collisionBoxArray:o,partiallyEvaluatedTextSize:ty(i.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(i.sourceID)};if(r)for(let t of i.sortKeyRanges){let{sortKey:n,symbolInstanceStart:r,symbolInstanceEnd:i}=t;e.push({sortKey:n,symbolInstanceStart:r,symbolInstanceEnd:i,parameters:_})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:i.symbolInstances.length,parameters:_})}attemptAnchorPlacement(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x){let S=Ey[e.textAnchor],C=[e.textOffset0,e.textOffset1],w=_O(S,n,r,C,i),T=this.collisionIndex.placeCollisionBox(t,d,s,c,l,o,a,h,u.predicate,v,w,y,b,x);if((!_||this.collisionIndex.placeCollisionBox(_,d,s,c,l,o,a,g,u.predicate,v,w,y,b,x).placeable)&&T.placeable){let e;if(this.prevPlacement?.variableOffsets[f.crossTileID]&&this.prevPlacement?.placements[f.crossTileID]?.text&&(e=this.prevPlacement.variableOffsets[f.crossTileID].anchor),f.crossTileID===0)throw Error(`symbolInstance.crossTileID can't be 0`);return this.variableOffsets[f.crossTileID]={textOffset:C,width:n,height:r,anchor:S,textBoxScale:i,prevAnchor:e},this.markUsedJustification(p,S,f,m),p.allowVerticalPlacement&&(this.markUsedOrientation(p,m,f),this.placedOrientations[f.crossTileID]=m),{shift:w,placedGlyphBoxes:T}}}placeLayerBucketPart(e,t,n){let{bucket:r,layout:i,translationText:a,translationIcon:o,unwrappedTileID:s,pitchedLabelPlaneMatrix:c,textPixelRatio:l,holdingForFade:u,collisionBoxArray:d,partiallyEvaluatedTextSize:f,collisionGroup:p}=e.parameters,m=i.get(`text-optional`),h=i.get(`icon-optional`),g=zy(i,`text-overlap`,`text-allow-overlap`),_=g===`always`,v=zy(i,`icon-overlap`,`icon-allow-overlap`),y=v===`always`,b=i.get(`text-rotation-alignment`)===`map`,x=i.get(`text-pitch-alignment`)===`map`,S=i.get(`icon-text-fit`)!==`none`,C=i.get(`symbol-z-order`)===`viewport-y`,w=i.get(`symbol-height-anchor`)===`ground`,T=_&&(y||!r.hasIconData()||h),E=y&&(_||!r.hasTextData()||m);!r.collisionArrays&&d&&r.deserializeCollisionBoxes(d);let D=this.retainedQueryData[r.bucketInstanceId].tileID,O=this._getTerrainElevationFunc(D),k=this.transform.getFastPathSimpleProjectionMatrix(D),A=(e,d,y)=>{if(t[e.crossTileID])return;if(u){this.placements[e.crossTileID]=new mO(!1,!1,!1);return}let C=e.heightOffset,A=!1,ee=!1,te=!0,ne=null,re={box:null,placeable:!1,offscreen:null,occluded:!1},ie={box:null,placeable:!1,offscreen:null},ae=null,oe=null,se=null,ce=0,le=0,ue=0;d.textFeatureIndex?ce=d.textFeatureIndex:e.useRuntimeCollisionCircles&&(ce=e.featureIndex),d.verticalTextFeatureIndex&&(le=d.verticalTextFeatureIndex);let de=d.textBox;if(de){let t=t=>{let n=1;if(r.allowVerticalPlacement&&!t&&this.prevPlacement){let t=this.prevPlacement.placedOrientations[e.crossTileID];t&&(this.placedOrientations[e.crossTileID]=t,n=t,this.markUsedOrientation(r,n,e))}return n},i=(t,n)=>{if(r.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&d.verticalTextBox){for(let e of r.writingModes)if(e===2?(re=n(),ie=re):re=t(),re?.placeable)break}else re=t()},c=e.textAnchorOffsetStartIndex,u=e.textAnchorOffsetEndIndex;if(u===c){let n=(t,n)=>{let i=this.collisionIndex.placeCollisionBox(t,g,l,D,s,x,b,a,p.predicate,O,void 0,k,C,w);return i?.placeable&&(this.markUsedOrientation(r,n,e),this.placedOrientations[e.crossTileID]=n),i};i(()=>n(de,1),()=>{let t=d.verticalTextBox;return r.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&t?n(t,2):{box:null,offscreen:null}}),t(re?.placeable)}else{let f=Ey[this.prevPlacement?.variableOffsets[e.crossTileID]?.anchor],m=(t,i,d)=>{let m=t.x2-t.x1,h=t.y2-t.y1,_=e.textBoxScale,y=S&&v===`never`?i:null,T=null,E=g===`never`?1:2,ee=`never`;f&&E++;for(let n=0;n<E;n++){for(let n=c;n<u;n++){let i=r.textAnchorOffsets.get(n);if(f&&i.textAnchor!==f)continue;let c=this.attemptAnchorPlacement(i,t,m,h,_,b,x,l,D,s,p,ee,e,r,d,a,o,y,O,k,C,w);if(c&&(T=c.placedGlyphBoxes,T?.placeable))return A=!0,ne=c.shift,T}f?f=null:ee=g}return n&&!T&&(T={box:this.collisionIndex.placeCollisionBox(de,`always`,l,D,s,x,b,a,p.predicate,O,void 0,k,C,w).box,offscreen:!1,placeable:!1,occluded:!1}),T};i(()=>m(de,d.iconBox,1),()=>{let t=d.verticalTextBox,n=re?.placeable;return r.allowVerticalPlacement&&!n&&e.numVerticalGlyphVertices>0&&t?m(t,d.verticalIconBox,2):{box:null,occluded:!0,offscreen:null}}),re&&(A=re.placeable,te=re.offscreen);let h=t(re?.placeable);if(!A&&this.prevPlacement){let t=this.prevPlacement.variableOffsets[e.crossTileID];t&&(this.variableOffsets[e.crossTileID]=t,this.markUsedJustification(r,t.anchor,e,h))}}}if(ae=re,A=ae?.placeable,te=ae?.offscreen,e.useRuntimeCollisionCircles&&e.centerJustifiedTextSymbolIndex>=0){let t=r.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),o=ey(r.textSizeData,f,t),l=i.get(`text-padding`),u=e.collisionCircleDiameter;oe=this.collisionIndex.placeCollisionCircles(g,t,r.lineVertexArray,r.glyphOffsetArray,o,s,c,n,x,p.predicate,u,l,a,O),oe.circles.length&&oe.collisionDetected&&!n&&Rn(`Collisions detected, but collision boxes are not shown`),A=_||oe.circles.length>0&&!oe.collisionDetected,te&&=oe.offscreen}if(d.iconFeatureIndex&&(ue=d.iconFeatureIndex),d.iconBox){let e=e=>this.collisionIndex.placeCollisionBox(e,v,l,D,s,x,b,o,p.predicate,O,S&&ne?ne:void 0,k,C,w);ie&&ie.placeable&&d.verticalIconBox?(se=e(d.verticalIconBox),ee=se.placeable):(se=e(d.iconBox),ee=se.placeable),te&&=se.offscreen}let fe=m||e.numHorizontalGlyphVertices===0&&e.numVerticalGlyphVertices===0,pe=h||e.numIconVertices===0;!fe&&!pe?ee=A=ee&&A:pe?fe||(ee&&=A):A=ee&&A;let me=A&&ae.placeable,he=ee&&se.placeable;if(me&&(ie&&ie.placeable&&le?this.collisionIndex.insertCollisionBox(ae.box,g,i.get(`text-ignore-placement`),r.bucketInstanceId,le,p.ID):this.collisionIndex.insertCollisionBox(ae.box,g,i.get(`text-ignore-placement`),r.bucketInstanceId,ce,p.ID)),he&&this.collisionIndex.insertCollisionBox(se.box,v,i.get(`icon-ignore-placement`),r.bucketInstanceId,ue,p.ID),oe&&A&&this.collisionIndex.insertCollisionCircles(oe.circles,g,i.get(`text-ignore-placement`),r.bucketInstanceId,ce,p.ID),n&&this.storeCollisionData(r.bucketInstanceId,y,d,ae,se,oe),e.crossTileID===0)throw Error(`symbolInstance.crossTileID can't be 0`);if(r.bucketInstanceId===0)throw Error(`bucket.bucketInstanceId can't be 0`);let ge=(A||T)&&!ae?.occluded,_e=(ee||E)&&!se?.occluded;this.placements[e.crossTileID]=new mO(ge,_e,te||r.justReloaded),t[e.crossTileID]=!0};if(C){if(e.symbolInstanceStart!==0)throw Error(`bucket.bucketInstanceId should be 0`);let t=r.getSortedSymbolIndexes(-this.transform.bearingInRadians);for(let e=t.length-1;e>=0;--e){let n=t[e];A(r.symbolInstances.get(n),r.collisionArrays[n],n)}}else for(let t=e.symbolInstanceStart;t<e.symbolInstanceEnd;t++)A(r.symbolInstances.get(t),r.collisionArrays[t],t);r.justReloaded=!1}storeCollisionData(e,t,n,r,i,a){if(n.textBox||n.iconBox){let a;this.collisionBoxArrays.has(e)?a=this.collisionBoxArrays.get(e):(a=new Map,this.collisionBoxArrays.set(e,a));let o;a.has(t)?o=a.get(t):(o={text:null,icon:null},a.set(t,o)),n.textBox&&(o.text=r.box),n.iconBox&&(o.icon=i.box)}if(a){let t=this.collisionCircleArrays[e];t===void 0&&(t=this.collisionCircleArrays[e]=[]);for(let e=0;e<a.circles.length;e+=4)t.push(a.circles[e+0]-100),t.push(a.circles[e+1]-100),t.push(a.circles[e+2]),t.push(+!!a.collisionDetected)}}markUsedJustification(e,t,n,r){let i={left:n.leftJustifiedTextSymbolIndex,center:n.centerJustifiedTextSymbolIndex,right:n.rightJustifiedTextSymbolIndex},a;a=r===2?n.verticalPlacedTextSymbolIndex:i[jy(t)];let o=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex,n.verticalPlacedTextSymbolIndex];for(let t of o)t>=0&&(a>=0&&t!==a?e.text.placedSymbolArray.get(t).crossTileID=0:e.text.placedSymbolArray.get(t).crossTileID=n.crossTileID)}markUsedOrientation(e,t,n){let r=t===1||t===3?t:0,i=t===2?t:0,a=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];for(let t of a)e.text.placedSymbolArray.get(t).placedOrientation=r;n.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation=i)}commit(e){this.commitTime=e,this.zoomAtLastRecencyCheck=this.transform.zoom;let t=this.prevPlacement,n=!1;this.prevZoomAdjustment=t?t.zoomAdjustment(this.transform.zoom):0;let r=t?t.symbolFadeChange(e):1,i=t?t.opacities:{},a=t?t.variableOffsets:{},o=t?t.placedOrientations:{};for(let e in this.placements){let t=this.placements[e],a=i[e];a?(this.opacities[e]=new pO(a,r,t.text,t.icon),n||=t.text!==a.text.placed,n||=t.icon!==a.icon.placed):(this.opacities[e]=new pO(null,r,t.text,t.icon,t.skipFade),n||=t.text||t.icon)}for(let e in i){let t=i[e];if(!this.opacities[e]){let i=new pO(t,r,!1,!1);i.isHidden()||(this.opacities[e]=i,n||=t.text.placed,n||=t.icon.placed)}}for(let e in a)!this.variableOffsets[e]&&this.opacities[e]&&!this.opacities[e].isHidden()&&(this.variableOffsets[e]=a[e]);for(let e in o)!this.placedOrientations[e]&&this.opacities[e]&&!this.opacities[e].isHidden()&&(this.placedOrientations[e]=o[e]);if(t&&t.lastPlacementChangeTime===void 0)throw Error(`Last placement time for previous placement is not defined`);n?this.lastPlacementChangeTime=e:typeof this.lastPlacementChangeTime!=`number`&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)}updateLayerOpacities(e,t){let n={};for(let r of t){let t=r.getBucket(e);if(!t||!r.latestFeatureIndex||e.id!==t.layerIds[0])continue;let{duplicates:i,changed:a}=this._markDuplicates(t,n),o=!!t.hasDebugData()||t.bucketInstanceId in this.collisionCircleArrays;(a||o)&&this.updateBucketOpacities(t,r.tileID,i,r.collisionBoxArray),t.sortFeatures(-this.transform.bearingInRadians),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder)}}_markDuplicates(e,t){let n=e.symbolInstances.length,r=this.lastOpacityInputs.get(e),i=!1;r||(r={crossTileIDs:Array(n).fill(0),duplicates:Array(n).fill(!1)},this.lastOpacityInputs.set(e,r),i=!0);let{crossTileIDs:a,duplicates:o}=r,s=e.symbolInstances.uint32,c=e.symbolInstances.bytesPerElement/4;for(let e=0;e<n;e++){let n=s[e*c+vO],r=!!t[n];t[n]=!0,(a[e]!==n||o[e]!==r)&&(a[e]=n,o[e]=r,i=!0)}return{duplicates:o,changed:i}}updateBucketOpacities(e,t,n,r){e.hasTextData()&&(e.text.opacityVertexArray.clear(),e.text.hasVisibleVertices=!1),e.hasIconData()&&(e.icon.opacityVertexArray.clear(),e.icon.hasVisibleVertices=!1),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();let i=e.layers[0],a=i.layout,o=new pO(null,0,!1,!1,!0),s=a.get(`text-allow-overlap`),c=a.get(`icon-allow-overlap`),l=i._unevaluatedLayout.hasValue(`text-variable-anchor`)||i._unevaluatedLayout.hasValue(`text-variable-anchor-offset`),u=a.get(`text-rotation-alignment`)===`map`,d=a.get(`text-pitch-alignment`)===`map`,f=a.get(`icon-text-fit`)!==`none`,p=new pO(null,0,s&&(c||!e.hasIconData()||a.get(`icon-optional`)),c&&(s||!e.hasTextData()||a.get(`text-optional`)),!0);!e.collisionArrays&&r&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(r);let m=(e,t,n)=>{for(let r=0;r<t/4;r++)e.opacityVertexArray.emplaceBack(n);e.hasVisibleVertices||=n!==0},h=this.collisionBoxArrays.get(e.bucketInstanceId);for(let t=0;t<e.symbolInstances.length;t++){let r=e.symbolInstances.get(t),{numHorizontalGlyphVertices:i,numVerticalGlyphVertices:a,crossTileID:s}=r,c=n[t],g=this.opacities[s];c?g=o:g||(g=p,this.opacities[s]=g);let _=i>0||a>0,v=r.numIconVertices>0,y=this.placedOrientations[r.crossTileID],b=y===2,x=y===1||y===3;if(_){let t=TO(g.text),n=b?0:t;m(e.text,i,n);let o=x?0:t;m(e.text,a,o);let s=g.text.isHidden(),c=[r.rightJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.leftJustifiedTextSymbolIndex];for(let t of c)t>=0&&(e.text.placedSymbolArray.get(t).hidden=s||b?1:0);r.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(r.verticalPlacedTextSymbolIndex).hidden=s||x?1:0);let l=this.variableOffsets[r.crossTileID];l&&this.markUsedJustification(e,l.anchor,r,y);let u=this.placedOrientations[r.crossTileID];u&&(this.markUsedJustification(e,`left`,r,u),this.markUsedOrientation(e,u,r))}if(v){let t=TO(g.icon),n=!(f&&r.verticalPlacedIconSymbolIndex&&b);if(r.placedIconSymbolIndex>=0){let i=n?t:0;m(e.icon,r.numIconVertices,i),e.icon.placedSymbolArray.get(r.placedIconSymbolIndex).hidden=g.icon.isHidden()}if(r.verticalPlacedIconSymbolIndex>=0){let i=n?0:t;m(e.icon,r.numVerticalIconVertices,i),e.icon.placedSymbolArray.get(r.verticalPlacedIconSymbolIndex).hidden=g.icon.isHidden()}}let S=h?.has(t)?h.get(t):{text:null,icon:null};if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){let n=e.collisionArrays[t];if(n){let t=new j(0,0);if(n.textBox||n.verticalTextBox){let r=!0;if(l){let e=this.variableOffsets[s];e?(t=_O(e.anchor,e.width,e.height,e.textOffset,e.textBoxScale),u&&t._rotate(d?-this.transform.bearingInRadians:this.transform.bearingInRadians)):r=!1}if(n.textBox||n.verticalTextBox){let i;n.textBox&&(i=b),n.verticalTextBox&&(i=x),bO(e.textCollisionBox.collisionVertexArray,g.text.placed,!r||i,S.text,t.x,t.y)}}if(n.iconBox||n.verticalIconBox){let r=!(x||!n.verticalIconBox),i;n.iconBox&&(i=r),n.verticalIconBox&&(i=!r),bO(e.iconCollisionBox.collisionVertexArray,g.icon.placed,i,S.icon,f?t.x:0,f?t.y:0)}}}}if(e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.text.opacityVertexArray.length!==e.text.layoutVertexArray.length/4)throw Error(`bucket.text.opacityVertexArray.length (= ${e.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${e.text.layoutVertexArray.length}) / 4`);if(e.icon.opacityVertexArray.length!==e.icon.layoutVertexArray.length/4)throw Error(`bucket.icon.opacityVertexArray.length (= ${e.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${e.icon.layoutVertexArray.length}) / 4`);e.bucketInstanceId in this.collisionCircleArrays&&(e.collisionCircleArray=this.collisionCircleArrays[e.bucketInstanceId],delete this.collisionCircleArrays[e.bucketInstanceId])}symbolFadeChange(e){return this.fadeDuration===0?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(e){return Math.max(0,(this.transform.zoom-e)/1.5)}hasTransitions(e){return this.stale||e-this.lastPlacementChangeTime<this.fadeDuration}stillRecent(e,t){let n=this.zoomAtLastRecencyCheck===t?1-this.zoomAdjustment(t):1;return this.zoomAtLastRecencyCheck=t,this.commitTime+this.fadeDuration*n>e}setStale(){this.stale=!0}};function bO(e,t,n,r,i,a){(!r||r.length===0)&&(r=[0,0,0,0]);let o=r[0]-100,s=r[1]-100,c=r[2]-100,l=r[3]-100;e.emplaceBack(+!!t,+!!n,i||0,a||0,o,s),e.emplaceBack(+!!t,+!!n,i||0,a||0,c,s),e.emplaceBack(+!!t,+!!n,i||0,a||0,c,l),e.emplaceBack(+!!t,+!!n,i||0,a||0,o,l)}var xO=2**25,SO=2**24,CO=2**17,wO=2**16;function TO(e){if(e.opacity===0&&!e.placed)return 0;if(e.opacity===1&&e.placed)return EO;let t=+!!e.placed,n=Math.floor(e.opacity*127);return n*xO+t*SO+n*CO+t*wO+n*512+t*256+n*2+t}var EO=4294967295,DO=class{constructor(e){this._sortAcrossTiles=e.layout.get(`symbol-z-order`)!==`viewport-y`&&!e.layout.get(`symbol-sort-key`).isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(e,t,n,r,i){let a=this._bucketParts;for(;this._currentTileIndex<e.length;){let n=e[this._currentTileIndex];if(t.getBucketParts(a,r,n,this._sortAcrossTiles),this._currentTileIndex++,i())return!0}for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,a.sort((e,t)=>e.sortKey-t.sortKey));this._currentPartIndex<a.length;){let e=a[this._currentPartIndex];if(t.placeLayerBucketPart(e,this._seenCrossTileIDs,n),this._currentPartIndex++,i())return!0}return!1}},OO=class{constructor(e,t,n,r,i,a,o,s){this.placement=new yO(e,t,a,o,s),this._currentPlacementIndex=n.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=i,this._done=!1}isDone(){return this._done}continuePlacement(e,t,n){let r=yr(),i=()=>!this._forceFullPlacement&&yr()-r>2;for(;this._currentPlacementIndex>=0;){let r=t[e[this._currentPlacementIndex]],a=this.placement.collisionIndex.transform.zoom;if(eb(r)&&r.layout&&(!r.minzoom||r.minzoom<=a)&&(!r.maxzoom||r.maxzoom>a)){if(this._inProgressLayer||=new DO(r),this._inProgressLayer.continuePlacement(n[r.source],this.placement,this._showCollisionBoxes,r,i))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(e){return this.placement.commit(e),this.placement}},kO=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],AO=new Uint32Array(96),jO=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=kO[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=kO.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 MO(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;AO[0]=0,AO[1]=i.length-1,AO[2]=0;let s=3,c=[];for(;s>0;){let l=AO[--s],u=AO[--s],d=AO[--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)&&(AO[s++]=d,AO[s++]=f-1,AO[s++]=1-l),(l===0?n>=p:r>=m)&&(AO[s++]=f+1,AO[s++]=u,AO[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;AO[0]=0,AO[1]=i.length-1,AO[2]=0;let s=3,c=0,l=n*n;for(;s>0;){let u=AO[--s],d=AO[--s],f=AO[--s];if(d-f<=o){for(let n=f;n<=d;n++)IO(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];IO(m,h,e,t)<=l&&(r[c++]=i[p]),(u===0?e-n<=m:t-n<=h)&&(AO[s++]=f,AO[s++]=p-1,AO[s++]=1-u),(u===0?e+n>=m:t+n>=h)&&(AO[s++]=p+1,AO[s++]=d,AO[s++]=1-u)}return c}};function MO(e,t,n,r,i,a){if(i-r<=n)return;let o=r+i>>1;NO(e,t,o,r,i,a),MO(e,t,n,r,o-1,1-a),MO(e,t,n,o+1,i,1-a)}function NO(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);NO(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(PO(e,t,r,n),t[2*i+a]>o&&PO(e,t,r,i);s<c;){for(PO(e,t,s,c),s++,c--;t[2*s+a]<o;)s++;for(;t[2*c+a]>o;)c--}t[2*r+a]===o?PO(e,t,r,c):(c++,PO(e,t,c,i)),c<=n&&(r=c+1),n<=c&&(i=c-1)}}function PO(e,t,n,r){FO(e,n,r),FO(t,2*n,2*r),FO(t,2*n+1,2*r+1)}function FO(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function IO(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}var LO=512/N/2,RO=class{constructor(e,t,n){this.tileID=e,this.bucketInstanceId=n,this._symbolsByKey={};let r=new Map;for(let e=0;e<t.length;e++){let n=t.get(e),i=n.key,a=r.get(i);a?a.push(n):r.set(i,[n])}for(let[e,t]of r){let n={positions:t.map(e=>({x:Math.floor(e.anchorX*LO),y:Math.floor(e.anchorY*LO)})),crossTileIDs:t.map(e=>e.crossTileID)};if(n.positions.length>128){let e=new jO(n.positions.length,16,Uint16Array);for(let{x:t,y:r}of n.positions)e.add(t,r);e.finish(),delete n.positions,n.index=e}this._symbolsByKey[e]=n}}getScaledCoordinates(e,t){let{x:n,y:r,z:i}=this.tileID.canonical,{x:a,y:o,z:s}=t.canonical,c=LO/2**(s-i),l=(a*N+e.anchorX)*c,u=(o*N+e.anchorY)*c,d=n*N*LO,f=r*N*LO;return{x:Math.floor(l-d),y:Math.floor(u-f)}}findMatches(e,t,n){let r=this.tileID.canonical.z<t.canonical.z?1:2**(this.tileID.canonical.z-t.canonical.z);for(let i=0;i<e.length;i++){let a=e.get(i);if(a.crossTileID)continue;let o=this._symbolsByKey[a.key];if(!o)continue;let s=this.getScaledCoordinates(a,t);o.index?this.findMatchesForIndexedEntry(o,a,s,r,n):o.positions&&this.findMatchesForNonIndexedEntry(o,a,s,r,n)}}findMatchesForIndexedEntry(e,t,n,r,i){let a=e.index.range(n.x-r,n.y-r,n.x+r,n.y+r),o=1/0;for(let t of a)t<o&&!i[e.crossTileIDs[t]]&&(o=t);if(o!==1/0){let n=e.crossTileIDs[o];i[n]=!0,t.crossTileID=n}}findMatchesForNonIndexedEntry(e,t,n,r,i){for(let a=0;a<e.positions.length;a++){let o=e.positions[a],s=e.crossTileIDs[a];if(Math.abs(o.x-n.x)<=r&&Math.abs(o.y-n.y)<=r&&!i[s]){i[s]=!0,t.crossTileID=s;break}}}getCrossTileIDsLists(){return Object.values(this._symbolsByKey).map(({crossTileIDs:e})=>e)}},zO=class{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}},BO=class{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(e){let t=Math.round((e-this.lng)/360);if(t!==0)for(let e in this.indexes){let n=this.indexes[e],r={};for(let e in n){let i=n[e];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+t),r[i.tileID.key]=i}this.indexes[e]=r}this.lng=e}addBucket(e,t,n){if(this.indexes[e.overscaledZ]?.[e.key]){if(this.indexes[e.overscaledZ][e.key].bucketInstanceId===t.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(e.overscaledZ,this.indexes[e.overscaledZ][e.key])}for(let e=0;e<t.symbolInstances.length;e++){let n=t.symbolInstances.get(e);n.crossTileID=0}this.usedCrossTileIDs[e.overscaledZ]||={};let r=this.usedCrossTileIDs[e.overscaledZ];for(let n in this.indexes){let i=this.indexes[n];if(Number(n)>e.overscaledZ)for(let n in i){let a=i[n];a.tileID.isChildOf(e)&&a.findMatches(t.symbolInstances,e,r)}else{let a=i[e.scaledTo(Number(n)).key];a&&a.findMatches(t.symbolInstances,e,r)}}for(let e=0;e<t.symbolInstances.length;e++){let i=t.symbolInstances.get(e);i.crossTileID||(i.crossTileID=n.generate(),r[i.crossTileID]=!0)}return this.indexes[e.overscaledZ]===void 0&&(this.indexes[e.overscaledZ]={}),this.indexes[e.overscaledZ][e.key]=new RO(e,t.symbolInstances,t.bucketInstanceId),!0}removeBucketCrossTileIDs(e,t){for(let n of t.getCrossTileIDsLists())for(let t of n)delete this.usedCrossTileIDs[e][t]}removeStaleBuckets(e){let t=!1;for(let n in this.indexes){let r=this.indexes[n];for(let i in r)e[r[i].bucketInstanceId]||(this.removeBucketCrossTileIDs(n,r[i]),delete r[i],t=!0)}return t}},VO=class{constructor(){this.layerIndexes={},this.crossTileIDs=new zO,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}}addLayer(e,t,n){let r=this.layerIndexes[e.id];r===void 0&&(r=this.layerIndexes[e.id]=new BO);let i=!1,a={};r.handleWrapJump(n);for(let n of t){let t=n.getBucket(e);e.id===t?.layerIds[0]&&(t.bucketInstanceId||=(this.maxBucketInstanceId+=1,this.maxBucketInstanceId),r.addBucket(n.tileID,t,this.crossTileIDs)&&(i=!0),a[t.bucketInstanceId]=!0)}return r.removeStaleBuckets(a)&&(i=!0),i}pruneUnusedLayers(e){let t={};for(let n of e)t[n]=!0;for(let e in this.layerIndexes)t[e]||delete this.layerIndexes[e]}},HO=`#ifdef GL_ES
2
2
  precision mediump float;
3
3
  #else
4
4
  #if !defined(lowp)