wafields 0.20.0 → 0.22.0

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 (90) hide show
  1. package/dist/attributes/{components/AttributeDisplay.d.ts → AttributeDisplay.d.ts} +1 -2
  2. package/dist/attributes/index.d.ts +4 -2
  3. package/dist/attributes/{components/profile → profile}/collection/pets/breed/AttributeCollectionPetBreedDisplay.d.ts +1 -1
  4. package/dist/attributes/{components/profile → profile}/collection/pets/breed/AttributeCollectionPetBreedEditing.d.ts +1 -1
  5. package/dist/attributes/{components/profile → profile}/collection/pets/breed/AttributeCollectionPetBreedNonEdit.d.ts +1 -1
  6. package/dist/attributes/{components/profile → profile}/collection/pets/height/AttributeCollectionPetHeightDisplay.d.ts +1 -1
  7. package/dist/attributes/{components/profile → profile}/collection/pets/height/AttributeCollectionPetHeightNonEdit.d.ts +1 -1
  8. package/dist/attributes/{components/profile → profile}/collection/pets/weight/AttributeCollectionPetWeightDisplay.d.ts +1 -1
  9. package/dist/attributes/{components/profile → profile}/collection/pets/weight/AttributeCollectionPetWeightNonEdit.d.ts +1 -1
  10. package/dist/attributes/{components/profile → profile}/common/dob/AttributeCommonDobDisplay.d.ts +1 -1
  11. package/dist/attributes/{components/profile → profile}/common/dob/AttributeCommonDobEditing.d.ts +1 -1
  12. package/dist/attributes/{components/profile → profile}/common/dob/AttributeCommonDobNonEdit.d.ts +1 -1
  13. package/dist/attributes/{components/profile → profile}/common/gender/AttributeCommonGenderDisplay.d.ts +1 -1
  14. package/dist/attributes/{components/profile → profile}/common/gender/AttributeCommonGenderEditing.d.ts +1 -1
  15. package/dist/attributes/{components/profile → profile}/common/gender/AttributeCommonGenderNonEdit.d.ts +1 -1
  16. package/dist/attributes/{components/profile → profile}/common/handedness/AttributeCommonHandednessDisplay.d.ts +1 -1
  17. package/dist/attributes/{components/profile → profile}/common/handedness/AttributeCommonHandednessEditing.d.ts +1 -1
  18. package/dist/attributes/{components/profile → profile}/common/handedness/AttributeCommonHandednessNonEdit.d.ts +1 -1
  19. package/dist/attributes/{components/profile → profile}/uoi/sports/basketball/positions/AttributeUoiSportsBasketballPositionsDisplay.d.ts +1 -1
  20. package/dist/attributes/{components/profile → profile}/uoi/sports/basketball/positions/AttributeUoiSportsBasketballPositionsEditing.d.ts +1 -1
  21. package/dist/attributes/{components/profile → profile}/uoi/sports/basketball/positions/AttributeUoiSportsBasketballPositionsNonEdit.d.ts +1 -1
  22. package/dist/attributes/{components/profile → profile}/uoi/sports/tennis/backhand/AttributeUoiSportsTennisBackhandDisplay.d.ts +1 -1
  23. package/dist/attributes/{components/profile → profile}/uoi/sports/tennis/backhand/AttributeUoiSportsTennisBackhandEditing.d.ts +1 -1
  24. package/dist/attributes/{components/profile → profile}/uoi/sports/tennis/backhand/AttributeUoiSportsTennisBackhandNonEdit.d.ts +1 -1
  25. package/dist/attributes/{components/profile → profile}/uoi/sports/tennis/level/AttributeUoiSportsTennisLevelDisplay.d.ts +1 -1
  26. package/dist/attributes/{components/profile → profile}/uoi/sports/tennis/level/AttributeUoiSportsTennisLevelEditing.d.ts +1 -1
  27. package/dist/attributes/{components/profile → profile}/uoi/sports/tennis/level/AttributeUoiSportsTennisLevelNonEdit.d.ts +1 -1
  28. package/dist/index-C1X97b3g.js +253 -0
  29. package/dist/{index-DMmtmZH6.mjs → index-Csi5IbXD.mjs} +16659 -14100
  30. package/dist/main/components/profile/collection/CollectionTypePicker.d.ts +2 -1
  31. package/dist/{mapbox-gl-Dj0yjhsn-CWieB-Rp.mjs → mapbox-gl-Ca3xHA73-D3ZJpvo-.mjs} +1 -1
  32. package/dist/{mapbox-gl-Dj0yjhsn-IWBq8C50.js → mapbox-gl-Ca3xHA73-DhwA72Lv.js} +2 -2
  33. package/dist/{maplibre-gl-BG4yUERR-Bibg3G3o.js → maplibre-gl-CaKSugoo-BUjVPctB.js} +2 -2
  34. package/dist/{maplibre-gl-BG4yUERR-xWBcf1G5.mjs → maplibre-gl-CaKSugoo-ClaCNq9-.mjs} +1 -1
  35. package/dist/wafields.cjs.js +1 -1
  36. package/dist/wafields.css +1 -1
  37. package/dist/wafields.es.js +44 -57
  38. package/package.json +4 -4
  39. package/dist/attributes/components/index.d.ts +0 -4
  40. package/dist/attributes/constants/collection/index.d.ts +0 -3
  41. package/dist/attributes/constants/collection/label.d.ts +0 -2
  42. package/dist/attributes/constants/collection/pets/index.d.ts +0 -2
  43. package/dist/attributes/constants/collection/pets/label.d.ts +0 -2
  44. package/dist/attributes/constants/collection/pets/type.d.ts +0 -9
  45. package/dist/attributes/constants/collection/type.d.ts +0 -2
  46. package/dist/attributes/constants/common/index.d.ts +0 -2
  47. package/dist/attributes/constants/common/label.d.ts +0 -2
  48. package/dist/attributes/constants/common/type.d.ts +0 -5
  49. package/dist/attributes/constants/index.d.ts +0 -6
  50. package/dist/attributes/constants/label.d.ts +0 -2
  51. package/dist/attributes/constants/type.d.ts +0 -4
  52. package/dist/attributes/constants/uoi/index.d.ts +0 -3
  53. package/dist/attributes/constants/uoi/label.d.ts +0 -2
  54. package/dist/attributes/constants/uoi/sports/basketball/index.d.ts +0 -2
  55. package/dist/attributes/constants/uoi/sports/basketball/label.d.ts +0 -2
  56. package/dist/attributes/constants/uoi/sports/basketball/type.d.ts +0 -3
  57. package/dist/attributes/constants/uoi/sports/index.d.ts +0 -4
  58. package/dist/attributes/constants/uoi/sports/label.d.ts +0 -2
  59. package/dist/attributes/constants/uoi/sports/tennis/index.d.ts +0 -2
  60. package/dist/attributes/constants/uoi/sports/tennis/label.d.ts +0 -2
  61. package/dist/attributes/constants/uoi/sports/tennis/type.d.ts +0 -5
  62. package/dist/attributes/constants/uoi/sports/type.d.ts +0 -3
  63. package/dist/attributes/constants/uoi/type.d.ts +0 -2
  64. package/dist/attributes/constants/util.d.ts +0 -8
  65. package/dist/index-CrjWLqTb.js +0 -253
  66. /package/dist/attributes/{components/AttributeUnspecified.d.ts → AttributeUnspecified.d.ts} +0 -0
  67. /package/dist/attributes/{components/AttributeUpdater.d.ts → AttributeUpdater.d.ts} +0 -0
  68. /package/dist/attributes/{components/profile → profile}/collection/index.d.ts +0 -0
  69. /package/dist/attributes/{components/profile → profile}/collection/pets/breed/index.d.ts +0 -0
  70. /package/dist/attributes/{components/profile → profile}/collection/pets/height/index.d.ts +0 -0
  71. /package/dist/attributes/{components/profile → profile}/collection/pets/index.d.ts +0 -0
  72. /package/dist/attributes/{components/profile → profile}/collection/pets/weight/index.d.ts +0 -0
  73. /package/dist/attributes/{components/profile → profile}/common/dob/index.d.ts +0 -0
  74. /package/dist/attributes/{components/profile → profile}/common/gender/index.d.ts +0 -0
  75. /package/dist/attributes/{components/profile → profile}/common/gender/util.d.ts +0 -0
  76. /package/dist/attributes/{components/profile → profile}/common/handedness/index.d.ts +0 -0
  77. /package/dist/attributes/{components/profile → profile}/common/handedness/util.d.ts +0 -0
  78. /package/dist/attributes/{components/profile → profile}/common/index.d.ts +0 -0
  79. /package/dist/attributes/{components/profile → profile}/index.d.ts +0 -0
  80. /package/dist/attributes/{components/profile → profile}/uoi/index.d.ts +0 -0
  81. /package/dist/attributes/{components/profile → profile}/uoi/sports/basketball/index.d.ts +0 -0
  82. /package/dist/attributes/{components/profile → profile}/uoi/sports/basketball/positions/BasketballPositionIcon.d.ts +0 -0
  83. /package/dist/attributes/{components/profile → profile}/uoi/sports/basketball/positions/index.d.ts +0 -0
  84. /package/dist/attributes/{components/profile → profile}/uoi/sports/basketball/positions/util.d.ts +0 -0
  85. /package/dist/attributes/{components/profile → profile}/uoi/sports/index.d.ts +0 -0
  86. /package/dist/attributes/{components/profile → profile}/uoi/sports/tennis/backhand/index.d.ts +0 -0
  87. /package/dist/attributes/{components/profile → profile}/uoi/sports/tennis/backhand/util.d.ts +0 -0
  88. /package/dist/attributes/{components/profile → profile}/uoi/sports/tennis/index.d.ts +0 -0
  89. /package/dist/attributes/{components/profile → profile}/uoi/sports/tennis/level/index.d.ts +0 -0
  90. /package/dist/attributes/{components/profile → profile}/uoi/sports/tennis/level/util.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const qT=require("./index-CrjWLqTb.js");function $T(Au,mm){for(var Ta=0;Ta<mm.length;Ta++){const gn=mm[Ta];if(typeof gn!="string"&&!Array.isArray(gn)){for(const Sa in gn)if(Sa!=="default"&&!(Sa in Au)){const Ko=Object.getOwnPropertyDescriptor(gn,Sa);Ko&&Object.defineProperty(Au,Sa,Ko.get?Ko:{enumerable:!0,get:()=>gn[Sa]})}}}return Object.freeze(Object.defineProperty(Au,Symbol.toStringTag,{value:"Module"}))}var pm={exports:{}},HT=pm.exports,Nv;function WT(){return Nv||(Nv=1,(function(Au,mm){(function(Ta,gn){Au.exports=gn()})(HT,(function(){"use strict";var Ta,gn,Sa;function Ko(a,Rr){if(!Ta)Ta=Rr;else if(!gn)gn=Rr;else{var Ei="self.onerror = function() { console.error('An error occurred while parsing the WebWorker bundle. This is most likely due to improper transpilation by Babel; please see https://docs.mapbox.com/mapbox-gl-js/guides/install/#transpiling'); }; var sharedChunk = {}; ("+Ta+")(sharedChunk); ("+gn+")(sharedChunk); self.onerror = null;",yn={};Ta(yn),Sa=Rr(yn),typeof window<"u"&&window&&window.URL&&window.URL.createObjectURL&&(Sa.workerUrl=window.URL.createObjectURL(new Blob([Ei],{type:"text/javascript"})))}}Ko(["exports"],function(a){var Rr=1e-6,Ei=typeof Float32Array<"u"?Float32Array:Array;function yn(r,e){var i=e[0],s=e[1],o=e[2],u=e[3],h=i*u-o*s;return h?(r[0]=u*(h=1/h),r[1]=-s*h,r[2]=-o*h,r[3]=i*h,r):null}function Jl(){var r=new Ei(9);return Ei!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[5]=0,r[6]=0,r[7]=0),r[0]=1,r[4]=1,r[8]=1,r}function Qa(r,e){var i=e[0],s=e[1],o=e[2],u=e[3],h=e[4],f=e[5],_=e[6],g=e[7],v=e[8];return r[0]=h*v-f*g,r[1]=o*g-s*v,r[2]=s*f-o*h,r[3]=f*_-u*v,r[4]=i*v-o*_,r[5]=o*u-i*f,r[6]=u*g-h*_,r[7]=s*_-i*g,r[8]=i*h-s*u,r}function tn(r,e,i){var s=e[0],o=e[1],u=e[2],h=e[3],f=e[4],_=e[5],g=e[6],v=e[7],b=e[8],w=i[0],I=i[1],E=i[2],P=i[3],R=i[4],D=i[5],k=i[6],O=i[7],j=i[8];return r[0]=w*s+I*h+E*g,r[1]=w*o+I*f+E*v,r[2]=w*u+I*_+E*b,r[3]=P*s+R*h+D*g,r[4]=P*o+R*f+D*v,r[5]=P*u+R*_+D*b,r[6]=k*s+O*h+j*g,r[7]=k*o+O*f+j*v,r[8]=k*u+O*_+j*b,r}function Ia(){var r=new Ei(16);return Ei!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=0,r[12]=0,r[13]=0,r[14]=0),r[0]=1,r[5]=1,r[10]=1,r[15]=1,r}function Jt(r){var e=new Ei(16);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e[9]=r[9],e[10]=r[10],e[11]=r[11],e[12]=r[12],e[13]=r[13],e[14]=r[14],e[15]=r[15],e}function Ai(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function Bs(r,e){var i=e[0],s=e[1],o=e[2],u=e[3],h=e[4],f=e[5],_=e[6],g=e[7],v=e[8],b=e[9],w=e[10],I=e[11],E=e[12],P=e[13],R=e[14],D=e[15],k=i*f-s*h,O=i*_-o*h,j=i*g-u*h,H=s*_-o*f,q=s*g-u*f,se=o*g-u*_,K=v*P-b*E,ee=v*R-w*E,te=v*D-I*E,ne=b*R-w*P,_e=b*D-I*P,be=w*D-I*R,we=k*be-O*_e+j*ne+H*te-q*ee+se*K;return we?(r[0]=(f*be-_*_e+g*ne)*(we=1/we),r[1]=(o*_e-s*be-u*ne)*we,r[2]=(P*se-R*q+D*H)*we,r[3]=(w*q-b*se-I*H)*we,r[4]=(_*te-h*be-g*ee)*we,r[5]=(i*be-o*te+u*ee)*we,r[6]=(R*j-E*se-D*O)*we,r[7]=(v*se-w*j+I*O)*we,r[8]=(h*_e-f*te+g*K)*we,r[9]=(s*te-i*_e-u*K)*we,r[10]=(E*q-P*j+D*k)*we,r[11]=(b*j-v*q-I*k)*we,r[12]=(f*ee-h*ne-_*K)*we,r[13]=(i*ne-s*ee+o*K)*we,r[14]=(P*O-E*H-R*k)*we,r[15]=(v*H-b*O+w*k)*we,r):null}function bi(r,e,i){var s=e[0],o=e[1],u=e[2],h=e[3],f=e[4],_=e[5],g=e[6],v=e[7],b=e[8],w=e[9],I=e[10],E=e[11],P=e[12],R=e[13],D=e[14],k=e[15],O=i[0],j=i[1],H=i[2],q=i[3];return r[0]=O*s+j*f+H*b+q*P,r[1]=O*o+j*_+H*w+q*R,r[2]=O*u+j*g+H*I+q*D,r[3]=O*h+j*v+H*E+q*k,r[4]=(O=i[4])*s+(j=i[5])*f+(H=i[6])*b+(q=i[7])*P,r[5]=O*o+j*_+H*w+q*R,r[6]=O*u+j*g+H*I+q*D,r[7]=O*h+j*v+H*E+q*k,r[8]=(O=i[8])*s+(j=i[9])*f+(H=i[10])*b+(q=i[11])*P,r[9]=O*o+j*_+H*w+q*R,r[10]=O*u+j*g+H*I+q*D,r[11]=O*h+j*v+H*E+q*k,r[12]=(O=i[12])*s+(j=i[13])*f+(H=i[14])*b+(q=i[15])*P,r[13]=O*o+j*_+H*w+q*R,r[14]=O*u+j*g+H*I+q*D,r[15]=O*h+j*v+H*E+q*k,r}function es(r,e,i){var s,o,u,h,f,_,g,v,b,w,I,E,P=i[0],R=i[1],D=i[2];return e===r?(r[12]=e[0]*P+e[4]*R+e[8]*D+e[12],r[13]=e[1]*P+e[5]*R+e[9]*D+e[13],r[14]=e[2]*P+e[6]*R+e[10]*D+e[14],r[15]=e[3]*P+e[7]*R+e[11]*D+e[15]):(o=e[1],u=e[2],h=e[3],f=e[4],_=e[5],g=e[6],v=e[7],b=e[8],w=e[9],I=e[10],E=e[11],r[0]=s=e[0],r[1]=o,r[2]=u,r[3]=h,r[4]=f,r[5]=_,r[6]=g,r[7]=v,r[8]=b,r[9]=w,r[10]=I,r[11]=E,r[12]=s*P+f*R+b*D+e[12],r[13]=o*P+_*R+w*D+e[13],r[14]=u*P+g*R+I*D+e[14],r[15]=h*P+v*R+E*D+e[15]),r}function Lr(r,e,i){var s=i[0],o=i[1],u=i[2];return r[0]=e[0]*s,r[1]=e[1]*s,r[2]=e[2]*s,r[3]=e[3]*s,r[4]=e[4]*o,r[5]=e[5]*o,r[6]=e[6]*o,r[7]=e[7]*o,r[8]=e[8]*u,r[9]=e[9]*u,r[10]=e[10]*u,r[11]=e[11]*u,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r}function xn(r,e,i){var s=Math.sin(i),o=Math.cos(i),u=e[4],h=e[5],f=e[6],_=e[7],g=e[8],v=e[9],b=e[10],w=e[11];return e!==r&&(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[4]=u*o+g*s,r[5]=h*o+v*s,r[6]=f*o+b*s,r[7]=_*o+w*s,r[8]=g*o-u*s,r[9]=v*o-h*s,r[10]=b*o-f*s,r[11]=w*o-_*s,r}function ks(r,e,i){var s=Math.sin(i),o=Math.cos(i),u=e[0],h=e[1],f=e[2],_=e[3],g=e[8],v=e[9],b=e[10],w=e[11];return e!==r&&(r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[0]=u*o-g*s,r[1]=h*o-v*s,r[2]=f*o-b*s,r[3]=_*o-w*s,r[8]=u*s+g*o,r[9]=h*s+v*o,r[10]=f*s+b*o,r[11]=_*s+w*o,r}function Ns(r,e,i){var s=Math.sin(i),o=Math.cos(i),u=e[0],h=e[1],f=e[2],_=e[3],g=e[4],v=e[5],b=e[6],w=e[7];return e!==r&&(r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[0]=u*o+g*s,r[1]=h*o+v*s,r[2]=f*o+b*s,r[3]=_*o+w*s,r[4]=g*o-u*s,r[5]=v*o-h*s,r[6]=b*o-f*s,r[7]=w*o-_*s,r}function rn(r,e){return r[0]=e[0],r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e[1],r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e[2],r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function Ea(r,e,i){var s,o,u,h=i[0],f=i[1],_=i[2],g=Math.sqrt(h*h+f*f+_*_);return g<Rr?null:(h*=g=1/g,f*=g,_*=g,s=Math.sin(e),o=Math.cos(e),r[0]=h*h*(u=1-o)+o,r[1]=f*h*u+_*s,r[2]=_*h*u-f*s,r[3]=0,r[4]=h*f*u-_*s,r[5]=f*f*u+o,r[6]=_*f*u+h*s,r[7]=0,r[8]=h*_*u+f*s,r[9]=f*_*u-h*s,r[10]=_*_*u+o,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r)}function Qo(r,e){var i=e[0],s=e[1],o=e[2],u=e[4],h=e[5],f=e[6],_=e[8],g=e[9],v=e[10];return r[0]=Math.sqrt(i*i+s*s+o*o),r[1]=Math.sqrt(u*u+h*h+f*f),r[2]=Math.sqrt(_*_+g*g+v*v),r}function el(r,e){var i=e[0],s=e[1],o=e[2],u=e[3],h=i+i,f=s+s,_=o+o,g=i*h,v=s*h,b=s*f,w=o*h,I=o*f,E=o*_,P=u*h,R=u*f,D=u*_;return r[0]=1-b-E,r[1]=v+D,r[2]=w-R,r[3]=0,r[4]=v-D,r[5]=1-g-E,r[6]=I+P,r[7]=0,r[8]=w+R,r[9]=I-P,r[10]=1-g-b,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}var tl=bi;function Kt(){var r=new Ei(3);return Ei!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0),r}function Kl(r){var e=new Ei(3);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e}function ts(r){var e=r[0],i=r[1],s=r[2];return Math.sqrt(e*e+i*i+s*s)}function ui(r,e,i){var s=new Ei(3);return s[0]=r,s[1]=e,s[2]=i,s}function pi(r,e,i,s){return r[0]=e,r[1]=i,r[2]=s,r}function qi(r,e,i){return r[0]=e[0]+i[0],r[1]=e[1]+i[1],r[2]=e[2]+i[2],r}function sn(r,e,i){return r[0]=e[0]-i[0],r[1]=e[1]-i[1],r[2]=e[2]-i[2],r}function Vs(r,e,i){return r[0]=e[0]*i[0],r[1]=e[1]*i[1],r[2]=e[2]*i[2],r}function nn(r,e,i){return r[0]=Math.min(e[0],i[0]),r[1]=Math.min(e[1],i[1]),r[2]=Math.min(e[2],i[2]),r}function Us(r,e,i){return r[0]=Math.max(e[0],i[0]),r[1]=Math.max(e[1],i[1]),r[2]=Math.max(e[2],i[2]),r}function wi(r,e,i){return r[0]=e[0]*i,r[1]=e[1]*i,r[2]=e[2]*i,r}function ps(r,e,i,s){return r[0]=e[0]+i[0]*s,r[1]=e[1]+i[1]*s,r[2]=e[2]+i[2]*s,r}function Ql(r,e){var i=e[0]-r[0],s=e[1]-r[1],o=e[2]-r[2];return Math.sqrt(i*i+s*s+o*o)}function il(r,e){var i=e[0]-r[0],s=e[1]-r[1],o=e[2]-r[2];return i*i+s*s+o*o}function ec(r){var e=r[0],i=r[1],s=r[2];return e*e+i*i+s*s}function Gn(r,e){return r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r}function oi(r,e){var i=e[0],s=e[1],o=e[2],u=i*i+s*s+o*o;return u>0&&(u=1/Math.sqrt(u)),r[0]=e[0]*u,r[1]=e[1]*u,r[2]=e[2]*u,r}function zi(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]}function Er(r,e,i){var s=e[0],o=e[1],u=e[2],h=i[0],f=i[1],_=i[2];return r[0]=o*_-u*f,r[1]=u*h-s*_,r[2]=s*f-o*h,r}function Aa(r,e,i,s){var o=e[0],u=e[1],h=e[2];return r[0]=o+s*(i[0]-o),r[1]=u+s*(i[1]-u),r[2]=h+s*(i[2]-h),r}function Vi(r,e,i){var s=e[0],o=e[1],u=e[2],h=i[3]*s+i[7]*o+i[11]*u+i[15];return r[0]=(i[0]*s+i[4]*o+i[8]*u+i[12])/(h=h||1),r[1]=(i[1]*s+i[5]*o+i[9]*u+i[13])/h,r[2]=(i[2]*s+i[6]*o+i[10]*u+i[14])/h,r}function qn(r,e,i){var s=e[0],o=e[1],u=e[2];return r[0]=s*i[0]+o*i[3]+u*i[6],r[1]=s*i[1]+o*i[4]+u*i[7],r[2]=s*i[2]+o*i[5]+u*i[8],r}function $n(r,e,i){var s=i[0],o=i[1],u=i[2],h=i[3],f=e[0],_=e[1],g=e[2],v=o*g-u*_,b=u*f-s*g,w=s*_-o*f;return r[0]=f+h*(v+=v)+o*(w+=w)-u*(b+=b),r[1]=_+h*b+u*v-s*w,r[2]=g+h*w+s*b-o*v,r}function Ma(r){return r[0]=0,r[1]=0,r[2]=0,r}function js(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]}var ji=sn,eo=Vs,Hn=ts;function to(){var r=new Ei(4);return Ei!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0,r[3]=0),r}function Ca(r,e,i){return r[0]=e[0]*i,r[1]=e[1]*i,r[2]=e[2]*i,r[3]=e[3]*i,r}function rl(r,e){var i=e[0],s=e[1],o=e[2],u=e[3],h=i*i+s*s+o*o+u*u;return h>0&&(h=1/Math.sqrt(h)),r[0]=i*h,r[1]=s*h,r[2]=o*h,r[3]=u*h,r}function is(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]+r[3]*e[3]}function Wr(r,e,i){var s=e[0],o=e[1],u=e[2],h=e[3];return r[0]=i[0]*s+i[4]*o+i[8]*u+i[12]*h,r[1]=i[1]*s+i[5]*o+i[9]*u+i[13]*h,r[2]=i[2]*s+i[6]*o+i[10]*u+i[14]*h,r[3]=i[3]*s+i[7]*o+i[11]*u+i[15]*h,r}function vn(){var r=new Ei(4);return Ei!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0),r[3]=1,r}function bn(r){return r[0]=0,r[1]=0,r[2]=0,r[3]=1,r}function Wn(r,e,i){i*=.5;var s=e[0],o=e[1],u=e[2],h=e[3],f=Math.sin(i),_=Math.cos(i);return r[0]=s*_+h*f,r[1]=o*_+u*f,r[2]=u*_-o*f,r[3]=h*_-s*f,r}function Pa(r,e,i){i*=.5;var s=e[0],o=e[1],u=e[2],h=e[3],f=Math.sin(i),_=Math.cos(i);return r[0]=s*_-u*f,r[1]=o*_+h*f,r[2]=u*_+s*f,r[3]=h*_-o*f,r}Kt(),to();var Vr,io,ms,sl=rl,wn=(Vr=Kt(),io=ui(1,0,0),ms=ui(0,1,0),function(r,e,i){var s=zi(e,i);return s<-.999999?(Er(Vr,io,e),Hn(Vr)<1e-6&&Er(Vr,ms,e),oi(Vr,Vr),(function(o,u,h){h*=.5;var f=Math.sin(h);o[0]=f*u[0],o[1]=f*u[1],o[2]=f*u[2],o[3]=Math.cos(h)})(r,Vr,Math.PI),r):s>.999999?(r[0]=0,r[1]=0,r[2]=0,r[3]=1,r):(Er(Vr,e,i),r[0]=Vr[0],r[1]=Vr[1],r[2]=Vr[2],r[3]=1+s,sl(r,r))});function Ar(){var r=new Ei(2);return Ei!=Float32Array&&(r[0]=0,r[1]=0),r}function Tn(r,e){var i=new Ei(2);return i[0]=r,i[1]=e,i}function Sn(r,e,i){return r[0]=e,r[1]=i,r}function Zn(r,e,i){return r[0]=e[0]+i[0],r[1]=e[1]+i[1],r}function In(r,e,i){return r[0]=e[0]-i[0],r[1]=e[1]-i[1],r}function Xn(r,e,i){return r[0]=e[0]*i,r[1]=e[1]*i,r}function Yn(r){var e=r[0],i=r[1];return Math.sqrt(e*e+i*i)}function ro(r,e){var i=e[0],s=e[1],o=i*i+s*s;return o>0&&(o=1/Math.sqrt(o)),r[0]=e[0]*o,r[1]=e[1]*o,r}function yi(r,e){return r[0]*e[0]+r[1]*e[1]}vn(),vn(),Jl();var Tr,tc,so=In;function _s(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}Ar();var Mu=(function(){if(tc)return Tr;function r(e,i,s,o){this.cx=3*e,this.bx=3*(s-e)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(o-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=e,this.p1y=i,this.p2x=s,this.p2y=o}return tc=1,Tr=r,r.prototype={sampleCurveX:function(e){return((this.ax*e+this.bx)*e+this.cx)*e},sampleCurveY:function(e){return((this.ay*e+this.by)*e+this.cy)*e},sampleCurveDerivativeX:function(e){return(3*this.ax*e+2*this.bx)*e+this.cx},solveCurveX:function(e,i){if(i===void 0&&(i=1e-6),e<0)return 0;if(e>1)return 1;for(var s=e,o=0;o<8;o++){var u=this.sampleCurveX(s)-e;if(Math.abs(u)<i)return s;var h=this.sampleCurveDerivativeX(s);if(Math.abs(h)<1e-6)break;s-=u/h}var f=0,_=1;for(s=e,o=0;o<20&&(u=this.sampleCurveX(s),!(Math.abs(u-e)<i));o++)e>u?f=s:_=s,s=.5*(_-f)+f;return s},solve:function(e,i){return this.sampleCurveY(this.solveCurveX(e,i))}},Tr})(),no=_s(Mu);function ke(r,e){this.x=r,this.y=e}function En(r,e){if(Array.isArray(r)){if(!Array.isArray(e)||r.length!==e.length)return!1;for(let i=0;i<r.length;i++)if(!En(r[i],e[i]))return!1;return!0}if(typeof r=="object"&&r!==null&&e!==null){if(typeof e!="object"||Object.keys(r).length!==Object.keys(e).length)return!1;for(const i in r)if(!En(r[i],e[i]))return!1;return!0}return r===e}ke.prototype={clone(){return new ke(this.x,this.y)},add(r){return this.clone()._add(r)},sub(r){return this.clone()._sub(r)},multByPoint(r){return this.clone()._multByPoint(r)},divByPoint(r){return this.clone()._divByPoint(r)},mult(r){return this.clone()._mult(r)},div(r){return this.clone()._div(r)},rotate(r){return this.clone()._rotate(r)},rotateAround(r,e){return this.clone()._rotateAround(r,e)},matMult(r){return this.clone()._matMult(r)},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(r){return this.x===r.x&&this.y===r.y},dist(r){return Math.sqrt(this.distSqr(r))},distSqr(r){const e=r.x-this.x,i=r.y-this.y;return e*e+i*i},angle(){return Math.atan2(this.y,this.x)},angleTo(r){return Math.atan2(this.y-r.y,this.x-r.x)},angleWith(r){return this.angleWithSep(r.x,r.y)},angleWithSep(r,e){return Math.atan2(this.x*e-this.y*r,this.x*r+this.y*e)},_matMult(r){const e=r[2]*this.x+r[3]*this.y;return this.x=r[0]*this.x+r[1]*this.y,this.y=e,this},_add(r){return this.x+=r.x,this.y+=r.y,this},_sub(r){return this.x-=r.x,this.y-=r.y,this},_mult(r){return this.x*=r,this.y*=r,this},_div(r){return this.x/=r,this.y/=r,this},_multByPoint(r){return this.x*=r.x,this.y*=r.y,this},_divByPoint(r){return this.x/=r.x,this.y/=r.y,this},_unit(){return this._div(this.mag()),this},_perp(){const r=this.y;return this.y=this.x,this.x=-r,this},_rotate(r){const e=Math.cos(r),i=Math.sin(r),s=i*this.x+e*this.y;return this.x=e*this.x-i*this.y,this.y=s,this},_rotateAround(r,e){const i=Math.cos(r),s=Math.sin(r),o=e.y+s*(this.x-e.x)+i*(this.y-e.y);return this.x=e.x+i*(this.x-e.x)-s*(this.y-e.y),this.y=o,this},_round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},constructor:ke},ke.convert=function(r){if(r instanceof ke)return r;if(Array.isArray(r))return new ke(+r[0],+r[1]);if(r.x!==void 0&&r.y!==void 0)return new ke(+r.x,+r.y);throw new Error("Expected [x, y] or {x, y} point format")};const Cu=Math.PI/180,nl=180/Math.PI;function Lt(r){return r*Cu}function de(r){return r*nl}const B=[[0,0],[1,0],[1,1],[0,1]];function U(r){if(r<=0)return 0;if(r>=1)return 1;const e=r*r,i=e*r;return 4*(r<.5?i:3*(r-e)+i-.75)}function Z(r,e,i,s){const o=new no(r,e,i,s);return function(u){return o.solve(u)}}const ae=Z(.25,.1,.25,1);function X(r,e,i){return Math.min(i,Math.max(e,r))}function he(r,e,i){return(i=X((i-r)/(e-r),0,1))*i*(3-2*i)}function ye(r,e,i){const s=i-e,o=((r-e)%s+s)%s+e;return o===e?i:o}function ue(r,e,i){if(!r.length)return i(null,[]);let s=r.length;const o=new Array(r.length);let u=null;r.forEach((h,f)=>{e(h,(_,g)=>{_&&(u=_),o[f]=g,--s===0&&i(u,o)})})}let xe=1;function Ne(){return xe++}function ze(r){return r<=1?1:Math.pow(2,Math.ceil(Math.log2(r)))}function Ye(r,e){r.forEach(i=>{e[i]&&(e[i]=e[i].bind(e))})}function nt(r,e,i){const s={};for(const o in r)s[o]=e.call(this,r[o],o,r);return s}function _t(r,e,i){const s={};for(const o in r)e.call(this,r[o],o,r)&&(s[o]=r[o]);return s}function xt(r){return Array.isArray(r)?r.map(xt):typeof r=="object"&&r?nt(r,xt):r}function Tt(r,e){for(let i=0;i<r.length;i++)if(e.indexOf(r[i])>=0)return!0;return!1}const pt={};function ht(r){pt[r]||(typeof console<"u"&&console.warn(r),pt[r]=!0)}function ni(r,e,i){return(i.y-r.y)*(e.x-r.x)>(e.y-r.y)*(i.x-r.x)}function Wi(r){let e=0;for(let i,s,o=0,u=r.length,h=u-1;o<u;h=o++)i=r[o],s=r[h],e+=(s.x-i.x)*(i.y+s.y);return e}function Ti([r,e,i]){const s=Lt(e+90),o=Lt(i);return{x:r*Math.cos(s)*Math.sin(o),y:r*Math.sin(s)*Math.sin(o),z:r*Math.cos(o),azimuthal:e,polar:i}}function Ui(r){return(typeof self<"u"||r!==void 0)&&typeof WorkerGlobalScope<"u"&&(r!==void 0?r:self)instanceof WorkerGlobalScope}function hi(r){const e={};if(r.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(i,s,o,u)=>{const h=o||u;return e[s]=!h||h.toLowerCase(),""}),e["max-age"]){const i=parseInt(e["max-age"],10);isNaN(i)?delete e["max-age"]:e["max-age"]=i}return e}let ii=null;function ai(r,e){return[r[4*e],r[4*e+1],r[4*e+2],r[4*e+3]]}function xi(r,e,i,s){for(;e<i;){const o=e+i>>1;r[o]<s?e=o+1:i=o}return e}function ki(r,e,i,s){for(;e<i;){const o=e+i>>1;r[o]<=s?e=o+1:i=o}return e}function si(r){return r>0?1/(1.001-r):1+r}function Zi(r){return r>0?1-1/(1.001-r):-r}function tr(r,e,i){return(r-e.min)*(i.max-i.min)/(e.max-e.min)+i.min}const Ri={API_URL:"https://api.mapbox.com",get API_URL_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i},get API_TILEJSON_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/v[0-9]*\/.*\.json.*$)/i},get API_SPRITE_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/styles\/v[0-9]*\/)(.*\/sprite.*\..*$)/i},get API_FONTS_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/fonts\/v[0-9]*\/)(.*\.pbf.*$)/i},get API_STYLE_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/styles\/v[0-9]*\/)(.*$)/i},get API_CDN_URL_REGEX(){return/^((https?:)?\/\/)?api\.mapbox\.c(n|om)(\/mapbox-gl-js\/)(.*$)/i},get EVENTS_URL(){if(!Ri.API_URL)return null;try{const r=new URL(Ri.API_URL);return r.hostname==="api.mapbox.cn"?"https://events.mapbox.cn/events/v2":r.hostname==="api.mapbox.com"?"https://events.mapbox.com/events/v2":null}catch{return null}},SESSION_PATH:"/map-sessions/v1",FEEDBACK_URL:"https://apps.mapbox.com/feedback",TILE_URL_VERSION:"v4",RASTER_URL_PREFIX:"raster/v1",RASTERARRAYS_URL_PREFIX:"rasterarrays/v1",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,DEFAULT_STYLE:"mapbox://styles/mapbox/standard",MAX_PARALLEL_IMAGE_REQUESTS:16,DRACO_URL:"https://api.mapbox.com/mapbox-gl-js/draco_decoder_gltf_v1.5.6.wasm",MESHOPT_URL:"https://api.mapbox.com/mapbox-gl-js/meshopt_base_v0.20.wasm",MESHOPT_SIMD_URL:"https://api.mapbox.com/mapbox-gl-js/meshopt_simd_v0.20.wasm",BUILDING_GEN_URL:"https://api.mapbox.com/mapbox-gl-js/building-gen/building_gen_v1.2.4.wasm",GLYPHS_URL:"mapbox://fonts/mapbox/{fontstack}/{range}.pbf",TILES3D_URL_PREFIX:"3dtiles/v1"};function gs(r){return Ri.API_URL_REGEX.test(r)}function Or(r){return Ri.API_SPRITE_REGEX.test(r)}let Zr,ys,Ur,An,jr,Gs;function Mn(){return Zr==null&&(Zr=self.OffscreenCanvas&&new OffscreenCanvas(1,1).getContext("2d")&&typeof self.createImageBitmap=="function"),Zr}const xs={now:()=>An!==void 0?An:performance.now(),setNow(r){An=r},restoreNow(){An=void 0},frame(r){const e=requestAnimationFrame(r);return{cancel:()=>cancelAnimationFrame(e)}},getImageData(r,e=0){const{width:i,height:s}=r;jr||(jr=document.createElement("canvas"));const o=jr.getContext("2d",{willReadFrequently:!0});if(!o)throw new Error("failed to create canvas 2d context");return(i>jr.width||s>jr.height)&&(jr.width=i,jr.height=s),o.clearRect(-e,-e,i+2*e,s+2*e),o.drawImage(r,0,0,i,s),o.getImageData(-e,-e,i+2*e,s+2*e)},resolveURL:r=>(ys||(ys=document.createElement("a")),ys.href=r,ys.href),get devicePixelRatio(){return window.devicePixelRatio},get prefersReducedMotion(){return!!window.matchMedia&&(Ur==null&&(Ur=window.matchMedia("(prefers-reduced-motion: reduce)")),Ur.matches)},hasCanvasFingerprintNoise(){if(Gs!==void 0)return Gs;if(!Mn())return Gs=!1,!1;const r=new OffscreenCanvas(85,1),e=r.getContext("2d",{willReadFrequently:!0});let i=0;for(let o=0;o<r.width;++o)e.fillStyle=`rgba(${i++},${i++},${i++}, 255)`,e.fillRect(o,0,1,1);const s=e.getImageData(0,0,r.width,r.height);i=0;for(let o=0;o<s.data.length;++o)if(o%4!=3&&i++!==s.data[o])return Gs=!0,!0;return Gs=!1,!1}};function Pu(r,e){const i=r.indexOf("?");if(i<0)return`${r}?${new URLSearchParams(e).toString()}`;const s=new URLSearchParams(r.slice(i));for(const o in e)s.set(o,e[o]);return`${r.slice(0,i)}?${s.toString()}`}function Du(r,e={persistentParams:[]}){const i=r.indexOf("?");if(i<0)return r;const s=new URLSearchParams,o=new URLSearchParams(r.slice(i));for(const h of e.persistentParams){const f=o.get(h);f&&s.set(h,f)}const u=s.toString();return`${r.slice(0,i)}${u.length>0?`?${u}`:""}`}const $d="mapbox-tiles";let Hd=500,zu=50;const Ru=["language","worldview","jobid"];let yr;function qs(){try{return caches}catch{}}function $s(){const r=qs();r&&yr==null&&(yr=r.open($d))}let Ds=1/0;const an={supported:!1,testSupport:function(r){!ic&&Da&&(za?Wd(r):Jn=r)}};let Jn,Da,ic=!1,za=!1;const rc=typeof self<"u"?self:{};function Wd(r){const e=r.createTexture();r.bindTexture(r.TEXTURE_2D,e);try{if(r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,Da),r.isContextLost())return;an.supported=!0}catch{}r.deleteTexture(e),ic=!0}rc.document&&(Da=rc.document.createElement("img"),Da.onload=function(){Jn&&Wd(Jn),Jn=null,za=!0},Da.onerror=function(){ic=!0,Jn=null},Da.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");const al={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Iconset:"Iconset",Image:"Image",Model:"Model"};Object.freeze(al);class rs extends Error{constructor(e,i,s){i===401&&gs(s)&&(e+=": you may have provided an invalid Mapbox access token. See https://docs.mapbox.com/api/overview/#access-tokens-and-token-scopes"),super(e),this.status=i,this.url=s}toString(){return`${this.name}: ${this.message} (${this.status}): ${this.url}`}}const sc=Ui()?()=>self.worker.referrer:()=>(location.protocol==="blob:"?parent:self).location.href,Cn=function(r,e){return/^file:/.test(i=r.url)||/^file:/.test(sc())&&!/^\w+:/.test(i)?(function(s,o){const u=new XMLHttpRequest;u.open(s.method||"GET",s.url,!0),s.type==="arrayBuffer"&&(u.responseType="arraybuffer");for(const h in s.headers)u.setRequestHeader(h,s.headers[h]);return s.type==="json"&&(u.responseType="text",u.setRequestHeader("Accept","application/json")),u.withCredentials=s.credentials==="include",u.onerror=()=>{o(new Error(u.statusText))},u.onload=()=>{if((u.status>=200&&u.status<300||u.status===0)&&u.response!==null){let h=u.response;if(s.type==="json")try{h=JSON.parse(u.response)}catch(_){return o(_)}const f=new Headers;u.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(_=>{const g=_.split(": "),v=g.shift(),b=g.join(": ");f.append(v,b)}),o(null,h,f)}else o(new rs(u.statusText,u.status,s.url))},u.send(s.body),{cancel:()=>u.abort()}})(r,e):(function(s,o){const u=new AbortController,h=new Request(s.url,{method:s.method||"GET",body:s.body,credentials:s.credentials,headers:s.headers,referrer:sc(),referrerPolicy:s.referrerPolicy,signal:u.signal});let f=!1,_=!1;const g=(v=h.url).indexOf("sku=")>0&&gs(v);var v;s.type==="json"&&h.headers.set("Accept","application/json");const b=(I,E,P)=>{if(_)return;if(I&&I.message!=="SecurityError"&&ht(I.toString()),E&&P)return w(E);const R=Date.now();fetch(h).then(D=>{if(D.ok){const k=g?D.clone():null;return w(D,k,R)}return o(new rs(D.statusText,D.status,s.url))}).catch(D=>{D.name!=="AbortError"&&o(new Error(`${D.message} ${s.url}`))})},w=(I,E,P)=>{(s.type==="arrayBuffer"?I.arrayBuffer():s.type==="json"?I.json():I.text()).then(R=>{_||(E&&P&&(function(D,k,O){if($s(),yr==null)return;const j=hi(k.headers.get("cache-control")||"");if(j["no-store"])return;const H={status:k.status,statusText:k.statusText,headers:new Headers};k.headers.forEach((te,ne)=>H.headers.set(ne,te)),j["max-age"]&&H.headers.set("Expires",new Date(O+1e3*j["max-age"]).toUTCString());const q=H.headers.get("expires");if(!q||new Date(q).getTime()-O<42e4)return;let se=Du(D.url,{persistentParams:Ru});if(k.status===206){const te=D.headers.get("Range");if(!te)return;H.status=200,se=Pu(se,{range:te})}const K=new Response((ee=k.status)!==200&&ee!==404&&[101,103,204,205,304].includes(ee)?null:k.body,H);var ee;$s(),yr!=null&&yr.then(te=>te.put(se,K)).catch(te=>ht(te.message))})(h,E,P),f=!0,o(null,R,I.headers))}).catch(R=>{_||o(new Error(R.message))})};return g?(function(I,E){if($s(),yr==null)return E(null);yr.then(P=>{let R=Du(I.url,{persistentParams:Ru});const D=I.headers.get("Range");D&&(R=Pu(R,{range:D})),P.match(R).then(k=>{const O=(function(j){if(!j)return!1;const H=new Date(j.headers.get("expires")||0),q=hi(j.headers.get("cache-control")||"");return Number(H)>Date.now()&&!q["no-cache"]})(k);P.delete(R).catch(E),O&&P.put(R,k.clone()).catch(E),E(null,k,O)}).catch(E)}).catch(E)})(h,b):b(null,null),{cancel:()=>{_=!0,f||u.abort()}}})(r,e);var i},ol=function(r,e){return Cn(Object.assign(r,{type:"arrayBuffer"}),e)};function _m(r){const e=document.createElement("a");return e.href=r,e.protocol===location.protocol&&e.host===location.host}let ll,Ot;ll=[],Ot=0;const nc=function(r,e){if(an.supported&&(r.headers||(r.headers={}),r.headers.accept="image/webp,*/*"),Ot>=Ri.MAX_PARALLEL_IMAGE_REQUESTS){const u={requestParameters:r,callback:e,cancelled:!1,cancel(){this.cancelled=!0}};return ll.push(u),u}Ot++;let i=!1;const s=()=>{if(!i)for(i=!0,Ot--;ll.length&&Ot<Ri.MAX_PARALLEL_IMAGE_REQUESTS;){const u=ll.shift(),{requestParameters:h,callback:f,cancelled:_}=u;_||(u.cancel=nc(h,f).cancel)}},o=ol(r,(u,h,f)=>{s(),u?e(u):h&&(function(_,g){const v=new Blob([new Uint8Array(_)],{type:"image/png"});createImageBitmap(v).then(b=>{g(null,b)}).catch(b=>{g(new Error(`Could not load image because of ${b.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))})})(h,(_,g)=>e(_,g,f))});return{cancel:()=>{o.cancel(),s()}}};var Lu,Zd,Xd,Kn={exports:{}},cl={exports:{}},ul={exports:{}},Ou=(function(){if(Xd)return Kn.exports;Xd=1;var r=(Lu||(Lu=1,cl.exports=function(i,s){var o,u,h,f,_,g,v,b;for(u=i.length-(o=3&i.length),h=s,_=3432918353,g=461845907,b=0;b<u;)v=255&i.charCodeAt(b)|(255&i.charCodeAt(++b))<<8|(255&i.charCodeAt(++b))<<16|(255&i.charCodeAt(++b))<<24,++b,h=27492+(65535&(f=5*(65535&(h=(h^=v=(65535&(v=(v=(65535&v)*_+(((v>>>16)*_&65535)<<16)&4294967295)<<15|v>>>17))*g+(((v>>>16)*g&65535)<<16)&4294967295)<<13|h>>>19))+((5*(h>>>16)&65535)<<16)&4294967295))+(((f>>>16)+58964&65535)<<16);switch(v=0,o){case 3:v^=(255&i.charCodeAt(b+2))<<16;case 2:v^=(255&i.charCodeAt(b+1))<<8;case 1:h^=v=(65535&(v=(v=(65535&(v^=255&i.charCodeAt(b)))*_+(((v>>>16)*_&65535)<<16)&4294967295)<<15|v>>>17))*g+(((v>>>16)*g&65535)<<16)&4294967295}return h^=i.length,h=2246822507*(65535&(h^=h>>>16))+((2246822507*(h>>>16)&65535)<<16)&4294967295,h=3266489909*(65535&(h^=h>>>13))+((3266489909*(h>>>16)&65535)<<16)&4294967295,(h^=h>>>16)>>>0}),cl.exports),e=(Zd||(Zd=1,ul.exports=function(i,s){for(var o,u=i.length,h=s^u,f=0;u>=4;)o=1540483477*(65535&(o=255&i.charCodeAt(f)|(255&i.charCodeAt(++f))<<8|(255&i.charCodeAt(++f))<<16|(255&i.charCodeAt(++f))<<24))+((1540483477*(o>>>16)&65535)<<16),h=1540483477*(65535&h)+((1540483477*(h>>>16)&65535)<<16)^(o=1540483477*(65535&(o^=o>>>24))+((1540483477*(o>>>16)&65535)<<16)),u-=4,++f;switch(u){case 3:h^=(255&i.charCodeAt(f+2))<<16;case 2:h^=(255&i.charCodeAt(f+1))<<8;case 1:h=1540483477*(65535&(h^=255&i.charCodeAt(f)))+((1540483477*(h>>>16)&65535)<<16)}return h=1540483477*(65535&(h^=h>>>13))+((1540483477*(h>>>16)&65535)<<16),(h^=h>>>15)>>>0}),ul.exports);return Kn.exports=r,Kn.exports.murmur3=r,Kn.exports.murmur2=e,Kn.exports})(),ac=_s(Ou);class Hs{constructor(e,...i){Object.assign(this,i[0]||{}),this.type=e}}class oc extends Hs{constructor(e,i={}){super("error",Object.assign({error:e},i))}}function Fu(r,e,i){i[r]&&i[r].indexOf(e)!==-1||(i[r]=i[r]||[],i[r].push(e))}function Bu(r,e,i){if(i&&i[r]){const s=i[r].indexOf(e);s!==-1&&i[r].splice(s,1)}}class Ws{on(e,i){return this._listeners=this._listeners||{},Fu(e,i,this._listeners),this}off(e,i){return Bu(e,i,this._listeners),Bu(e,i,this._oneTimeListeners),this}once(e,i){return i?(this._oneTimeListeners=this._oneTimeListeners||{},Fu(e,i,this._oneTimeListeners),this):new Promise(s=>{this.once(e,s)})}fire(e,i){const s=typeof e=="string"?new Hs(e,i):e,o=s.type;if(this.listens(o)){s.target=this;const u=this._listeners&&this._listeners[o]?this._listeners[o].slice():[];for(const _ of u)_.call(this,s);const h=this._oneTimeListeners&&this._oneTimeListeners[o]?this._oneTimeListeners[o].slice():[];for(const _ of h)Bu(o,_,this._oneTimeListeners),_.call(this,s);const f=this._eventedParent;if(f){const _=typeof this._eventedParentData=="function"?this._eventedParentData():this._eventedParentData;Object.assign(s,_),f.fire(s)}}else s instanceof oc&&console.error(s.error);return this}listens(e){return!!(this._listeners&&this._listeners[e]&&this._listeners[e].length>0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e))}setEventedParent(e,i){return this._eventedParent=e,this._eventedParentData=i,this}}class Xr{constructor(e){typeof e=="string"?this.name=e:(this.name=e.name,this.iconsetId=e.iconsetId)}static from(e){return new Xr(e)}static toString(e){return e.iconsetId?`${e.name}${e.iconsetId}`:e.name}static parse(e){const[i,s]=e.split("");return new Xr({name:i,iconsetId:s})}static isEqual(e,i){return e.name===i.name&&e.iconsetId===i.iconsetId}toString(){return Xr.toString(this)}serialize(){return{name:this.name,iconsetId:this.iconsetId}}}var lc,vs={},ku=(function(){if(lc)return vs;lc=1;var r={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function e(u){return(u=Math.round(u))<0?0:u>255?255:u}function i(u){return e(u[u.length-1]==="%"?parseFloat(u)/100*255:parseInt(u))}function s(u){return(h=u[u.length-1]==="%"?parseFloat(u)/100:parseFloat(u))<0?0:h>1?1:h;var h}function o(u,h,f){return f<0?f+=1:f>1&&(f-=1),6*f<1?u+(h-u)*f*6:2*f<1?h:3*f<2?u+(h-u)*(2/3-f)*6:u}try{vs.parseCSSColor=function(u){var h,f=u.replace(/ /g,"").toLowerCase();if(f in r)return r[f].slice();if(f[0]==="#")return f.length===4?(h=parseInt(f.substr(1),16))>=0&&h<=4095?[(3840&h)>>4|(3840&h)>>8,240&h|(240&h)>>4,15&h|(15&h)<<4,1]:null:f.length===7&&(h=parseInt(f.substr(1),16))>=0&&h<=16777215?[(16711680&h)>>16,(65280&h)>>8,255&h,1]:null;var _=f.indexOf("("),g=f.indexOf(")");if(_!==-1&&g+1===f.length){var v=f.substr(0,_),b=f.substr(_+1,g-(_+1)).split(","),w=1;switch(v){case"rgba":if(b.length!==4)return null;w=s(b.pop());case"rgb":return b.length!==3?null:[i(b[0]),i(b[1]),i(b[2]),w];case"hsla":if(b.length!==4)return null;w=s(b.pop());case"hsl":if(b.length!==3)return null;var I=(parseFloat(b[0])%360+360)%360/360,E=s(b[1]),P=s(b[2]),R=P<=.5?P*(E+1):P+E-P*E,D=2*P-R;return[e(255*o(D,R,I+1/3)),e(255*o(D,R,I)),e(255*o(D,R,I-1/3)),w];default:return null}}return null}}catch{}return vs})();class Zt{constructor(e,i,s,o=1){this.r=e,this.g=i,this.b=s,this.a=o}static parse(e){if(!e)return;if(e instanceof Zt)return e;if(typeof e!="string")return;const i=ku.parseCSSColor(e);return i?new Zt(i[0]/255,i[1]/255,i[2]/255,i[3]):void 0}toString(){const[e,i,s,o]=[this.r,this.g,this.b,this.a];return`rgba(${Math.round(255*e)},${Math.round(255*i)},${Math.round(255*s)},${o})`}toNonPremultipliedRenderColor(e){const{r:i,g:s,b:o,a:u}=this;return new Yd(e,i,s,o,u)}toPremultipliedRenderColor(e){const{r:i,g:s,b:o,a:u}=this;return new Jd(e,i*u,s*u,o*u,u)}clone(){return new Zt(this.r,this.g,this.b,this.a)}}class Nu{constructor(e,i,s,o,u,h=!1){if(this.premultiplied=!1,this.premultiplied=h,e){const f=e.image.height,_=f*f;this.premultiplied?(i=u===0?0:i/u*(f-1),s=u===0?0:s/u*(f-1),o=u===0?0:o/u*(f-1)):(i*=f-1,s*=f-1,o*=f-1),i=Math.max(0,Math.min(f-1,i)),s=Math.max(0,Math.min(f-1,s)),o=Math.max(0,Math.min(f-1,o));const g=Math.floor(i),v=Math.floor(s),b=Math.floor(o),w=Math.ceil(i),I=Math.ceil(s),E=Math.ceil(o),P=i-g,R=s-v,D=o-b,k=e.image.data,O=4*(g+v*_+b*f),j=4*(g+v*_+E*f),H=4*(g+I*_+b*f),q=4*(g+I*_+E*f),se=4*(w+v*_+b*f),K=4*(w+v*_+E*f),ee=4*(w+I*_+b*f),te=4*(w+I*_+E*f);this.r=ut(ut(ut(k[O],k[j],D),ut(k[H],k[q],D),R),ut(ut(k[se],k[K],D),ut(k[ee],k[te],D),R),P)/255*(this.premultiplied?u:1),this.g=ut(ut(ut(k[O+1],k[j+1],D),ut(k[H+1],k[q+1],D),R),ut(ut(k[se+1],k[K+1],D),ut(k[ee+1],k[te+1],D),R),P)/255*(this.premultiplied?u:1),this.b=ut(ut(ut(k[O+2],k[j+2],D),ut(k[H+2],k[q+2],D),R),ut(ut(k[se+2],k[K+2],D),ut(k[ee+2],k[te+2],D),R),P)/255*(this.premultiplied?u:1),this.a=u}else this.r=i,this.g=s,this.b=o,this.a=u}toArray(){const{r:e,g:i,b:s,a:o}=this;return[255*e,255*i,255*s,o]}toHslaArray(){let{r:e,g:i,b:s,a:o}=this;if(this.premultiplied){if(o===0)return[0,0,0,0];const E=1/o;e*=E,i*=E,s*=E}const u=Math.min(Math.max(e,0),1),h=Math.min(Math.max(i,0),1),f=Math.min(Math.max(s,0),1),_=Math.min(u,h,f),g=Math.max(u,h,f),v=g-_,b=.5*(_+g);if(v===0)return[0,0,100*b,o];const w=b>.5?v/(2-g-_):v/(g+_);let I;switch(g){case u:I=60*((h-f)/v+(h<f?6:0));break;case h:I=60*((f-u)/v+2);break;default:I=60*((u-h)/v+4)}return[I,100*w,100*b,o]}toArray01(){const{r:e,g:i,b:s,a:o}=this;return[e,i,s,o]}toArray01Scaled(e){const{r:i,g:s,b:o}=this;return[i*e,s*e,o*e]}toArray01Linear(){const{r:e,g:i,b:s,a:o}=this;return[Math.pow(e,2.2),Math.pow(i,2.2),Math.pow(s,2.2),o]}}class Yd extends Nu{constructor(e,i,s,o,u){super(e,i,s,o,u,!1)}}class Jd extends Nu{constructor(e,i,s,o,u){super(e,i,s,o,u,!0)}}function ut(r,e,i){return r*(1-i)+e*i}function Vu(r,e,i){return r.map((s,o)=>ut(s,e[o],i))}Zt.black=new Zt(0,0,0,1),Zt.white=new Zt(1,1,1,1),Zt.transparent=new Zt(0,0,0,0),Zt.red=new Zt(1,0,0,1),Zt.blue=new Zt(0,0,1,1);var hl=Object.freeze({__proto__:null,array:Vu,color:function(r,e,i){return new Zt(ut(r.r,e.r,i),ut(r.g,e.g,i),ut(r.b,e.b,i),ut(r.a,e.a,i))},number:ut});class ss extends Error{constructor(e,i){super(i),this.message=i,this.key=e}}class Qn{constructor(e,i=[]){this.parent=e,this.bindings={};for(const[s,o]of i)this.bindings[s]=o}concat(e){return new Qn(this,e)}get(e){if(this.bindings[e])return this.bindings[e];if(this.parent)return this.parent.get(e);throw new Error(`${e} not found in scope.`)}has(e){return!!this.bindings[e]||!!this.parent&&this.parent.has(e)}}const Ra={kind:"null"},it={kind:"number"},Ht={kind:"string"},Wt={kind:"boolean"},Mr={kind:"color"},ea={kind:"object"},Xt={kind:"value"},cc={kind:"collator"},dl={kind:"formatted"},ao={kind:"resolvedImage"};function Sr(r,e){return{kind:"array",itemType:r,N:e}}function Xi(r){if(r.kind==="array"){const e=Xi(r.itemType);return typeof r.N=="number"?`array<${e}, ${r.N}>`:r.itemType.kind==="value"?"array":`array<${e}>`}return r.kind}const uc=[Ra,it,Ht,Wt,Mr,dl,ea,Sr(Xt),ao];function fl(r,e){if(e.kind==="error")return null;if(r.kind==="array"){if(e.kind==="array"&&(e.N===0&&e.itemType.kind==="value"||!fl(r.itemType,e.itemType))&&(typeof r.N!="number"||r.N===e.N))return null}else{if(r.kind===e.kind)return null;if(r.kind==="value"){for(const i of uc)if(!fl(i,e))return null}}return`Expected ${Xi(r)} but found ${Xi(e)} instead.`}function Uu(r,e){return e.some(i=>i.kind===r.kind)}function pl(r,e){return e.some(i=>i==="null"?r===null:i==="array"?Array.isArray(r):i==="object"?r&&!Array.isArray(r)&&typeof r=="object":i===typeof r)}function hc(r,e){return r.kind==="array"&&e.kind==="array"?r.N===e.N&&hc(r.itemType,e.itemType):r.kind===e.kind}class ju{constructor(e,i,s){this.sensitivity=e?i?"variant":"case":i?"accent":"base",this.locale=s,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(e,i){return this.collator.compare(e,i)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class dc{constructor(e,i,s,o,u){this.text=e.normalize?e.normalize():e,this.image=i,this.scale=s,this.fontStack=o,this.textColor=u}}class Gr{constructor(e){this.sections=e}static fromString(e){return new Gr([new dc(e,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(e=>e.text.length!==0||!!e.image&&e.image.hasPrimary())}static factory(e){return e instanceof Gr?e:Gr.fromString(e)}toString(){return this.sections.length===0?"":this.sections.map(e=>e.text).join("")}serialize(){const e=["format"];for(const i of this.sections){if(i.image){const o=i.image.getPrimary().id.toString();e.push(["image",o]);continue}e.push(i.text);const s={};i.fontStack&&(s["text-font"]=["literal",i.fontStack.split(",")]),i.scale&&(s["font-scale"]=i.scale),i.textColor&&(s["text-color"]=["rgba"].concat(i.textColor.toNonPremultipliedRenderColor(null).toArray())),e.push(s)}return e}}class bs{constructor(e,i={}){this.id=Xr.from(e),this.params=i.params,this.sx=i.sx||1,this.sy=i.sy||1}toString(){return JSON.stringify(this)}static parse(e){let i,s,o,u;try{({id:i,params:s,sx:o,sy:u}=JSON.parse(e)||{})}catch{return null}return i?new bs(i,{params:s,sx:o,sy:u}):null}scaleSelf(e,i=e){return this.sx*=e,this.sy*=i,this}}class xr{constructor(e,i,s,o,u=!1){this.primaryId=Xr.from(e),this.primaryOptions=i,s&&(this.secondaryId=Xr.from(s)),this.secondaryOptions=o,this.available=u}toString(){return this.primaryId&&this.secondaryId?`[${this.primaryId.name},${this.secondaryId.name}]`:this.primaryId.name}hasPrimary(){return!!this.primaryId}getPrimary(){return new bs(this.primaryId,this.primaryOptions)}hasSecondary(){return!!this.secondaryId}getSecondary(){return this.secondaryId?new bs(this.secondaryId,this.secondaryOptions):null}static from(e){return typeof e=="string"?xr.build({name:e}):e}static build(e,i,s,o){return!e||typeof e=="object"&&!("name"in e)?null:new xr(e,s,i,o)}}function Kd(r,e,i,s){return typeof r=="number"&&r>=0&&r<=255&&typeof e=="number"&&e>=0&&e<=255&&typeof i=="number"&&i>=0&&i<=255?s===void 0||typeof s=="number"&&s>=0&&s<=1?null:`Invalid rgba value [${[r,e,i,s].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof s=="number"?[r,e,i,s]:[r,e,i]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function La(r){if(r===null||typeof r=="string"||typeof r=="boolean"||typeof r=="number"||r instanceof Zt||r instanceof ju||r instanceof Gr||r instanceof xr)return!0;if(Array.isArray(r)){for(const e of r)if(!La(e))return!1;return!0}if(typeof r=="object"){for(const e in r)if(!La(r[e]))return!1;return!0}return!1}function Yi(r){if(r===null)return Ra;if(typeof r=="string")return Ht;if(typeof r=="boolean")return Wt;if(typeof r=="number")return it;if(r instanceof Zt)return Mr;if(r instanceof ju)return cc;if(r instanceof Gr)return dl;if(r instanceof xr)return ao;if(Array.isArray(r)){const e=r.length;let i;for(const s of r){const o=Yi(s);if(i){if(i===o)continue;i=Xt;break}i=o}return Sr(i||Xt,e)}return ea}function on(r){const e=typeof r;return r===null?"":e==="string"||e==="number"||e==="boolean"?String(r):r instanceof Gr||r instanceof xr||r instanceof Zt?r.toString():JSON.stringify(r)}class Pn{constructor(e,i){this.type=e,this.value=i}static parse(e,i){if(e.length!==2)return i.error(`'literal' expression requires exactly one argument, but found ${e.length-1} instead.`);if(!La(e[1]))return i.error("invalid value");const s=e[1];let o=Yi(s);const u=i.expectedType;return o.kind!=="array"||o.N!==0||!u||u.kind!=="array"||typeof u.N=="number"&&u.N!==0||(o=u),new Pn(o,s)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}serialize(){return this.type.kind==="array"||this.type.kind==="object"?["literal",this.value]:this.value instanceof Zt?["rgba"].concat(this.value.toNonPremultipliedRenderColor(null).toArray()):this.value instanceof Gr?this.value.serialize():this.value}}class ir{constructor(e){this.name="ExpressionEvaluationError",this.message=e}toJSON(){return this.message}}const Gu={string:Ht,number:it,boolean:Wt,object:ea};class qr{constructor(e,i){this.type=e,this.args=i}static parse(e,i){if(e.length<2)return i.error("Expected at least one argument.");let s,o=1;const u=e[0];if(u==="array"){let f,_;if(e.length>2){const g=e[1];if(typeof g!="string"||!(g in Gu)||g==="object")return i.error('The item type argument of "array" must be one of string, number, boolean',1);f=Gu[g],o++}else f=Xt;if(e.length>3){if(e[2]!==null&&(typeof e[2]!="number"||e[2]<0||e[2]!==Math.floor(e[2])))return i.error('The length argument to "array" must be a positive integer literal',2);_=e[2],o++}s=Sr(f,_)}else s=Gu[u];const h=[];for(;o<e.length;o++){const f=i.parse(e[o],o,Xt);if(!f)return null;h.push(f)}return new qr(s,h)}evaluate(e){for(let i=0;i<this.args.length;i++){const s=this.args[i].evaluate(e);if(!fl(this.type,Yi(s)))return s;if(i===this.args.length-1)throw new ir(`The expression ${JSON.stringify(this.args[i].serialize())} evaluated to ${Xi(Yi(s))} but was expected to be of type ${Xi(this.type)}.`)}return null}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}serialize(){const e=this.type,i=[e.kind];if(e.kind==="array"){const s=e.itemType;if(s.kind==="string"||s.kind==="number"||s.kind==="boolean"){i.push(s.kind);const o=e.N;(typeof o=="number"||this.args.length>1)&&i.push(o)}}return i.concat(this.args.map(s=>s.serialize()))}}class vt{constructor(e){this.type=dl,this.sections=e}static parse(e,i){if(e.length<2)return i.error("Expected at least one argument.");const s=e[1];if(!Array.isArray(s)&&typeof s=="object")return i.error("First argument must be an image or text section.");const o=[];let u=!1;for(let h=1;h<=e.length-1;++h){const f=e[h];if(u&&typeof f=="object"&&!Array.isArray(f)){u=!1;let _=null;if(f["font-scale"]&&(_=i.parseObjectValue(f["font-scale"],h,"font-scale",it),!_))return null;let g=null;if(f["text-font"]&&(g=i.parseObjectValue(f["text-font"],h,"text-font",Sr(Ht)),!g))return null;let v=null;if(f["text-color"]&&(v=i.parseObjectValue(f["text-color"],h,"text-color",Mr),!v))return null;const b=o[o.length-1];b.scale=_,b.font=g,b.textColor=v}else{const _=i.parse(e[h],h,Xt);if(!_)return null;const g=_.type.kind;if(g!=="string"&&g!=="value"&&g!=="null"&&g!=="resolvedImage")return i.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");u=!0,o.push({content:_,scale:null,font:null,textColor:null})}}return new vt(o)}evaluate(e){return new Gr(this.sections.map(i=>{const s=i.content.evaluate(e);return hc(Yi(s),ao)?new dc("",s,null,null,null):new dc(on(s),null,i.scale?i.scale.evaluate(e):null,i.font?i.font.evaluate(e).join(","):null,i.textColor?i.textColor.evaluate(e):null)}))}eachChild(e){for(const i of this.sections)e(i.content),i.scale&&e(i.scale),i.font&&e(i.font),i.textColor&&e(i.textColor)}outputDefined(){return!1}serialize(){const e=["format"];for(const i of this.sections){e.push(i.content.serialize());const s={};i.scale&&(s["font-scale"]=i.scale.serialize()),i.font&&(s["text-font"]=i.font.serialize()),i.textColor&&(s["text-color"]=i.textColor.serialize()),e.push(s)}return e}}class rt{constructor(e,i,s,o){this._imageWarnHistory={},this.type=ao,this.namePrimary=e,this.nameSecondary=i,s&&(this.paramsPrimary=s.params,this.iconsetIdPrimary=s.iconset?s.iconset.id:void 0),o&&(this.paramsSecondary=o.params,this.iconsetIdSecondary=o.iconset?o.iconset.id:void 0)}static parse(e,i){if(e.length<2)return i.error("Expected two or more arguments.");let s=1;const o=[];function u(){if(s<e.length){const f=i.parse(e[s],s++,Ht);return f?(o.push({image:f,options:{}}),!0):(i.error(o.length?"Secondary image variant is not a string.":"No image name provided."),!1)}return!0}function h(){if(s<e.length){const _=e[s];if((f=_)===null||typeof f!="object"||Array.isArray(f))return!0;const g=_.params,v=_.iconset,b=i.concat(s);if(!g&&!v)return s++,!0;if(g){if(typeof g!="object"||g.constructor!==Object)return b.error('Image options "params" should be an object'),!1;const w={},I=b.concat(void 0,"params");for(const E in g){if(!E)return I.error("Image parameter name should be non-empty"),!1;const P=I.concat(void 0,E).parse(g[E],void 0,Mr,void 0,{typeAnnotation:"coerce"});if(!P)return!1;w[E]=P}o[o.length-1].options.params=w}if(v){if(typeof v!="object"||v.constructor!==Object)return b.error('Image options "iconset" should be an object'),!1;if(!v.id)return b.error('Image options "iconset" should have an "id" property'),!1;o[o.length-1].options.iconset=v}return s++,!0}var f;return!0}for(let f=0;f<2;f++)if(!u()||!h())return;return new rt(o[0].image,o[1]?o[1].image:void 0,o[0].options,o[1]?o[1].options:void 0)}evaluateParams(e,i){const s={};if(i){for(const o in i)if(i[o])try{s[o]=i[o].evaluate(e)}catch{continue}if(Object.keys(s).length!==0)return{params:s}}}evaluate(e){const i={name:this.namePrimary.evaluate(e),iconsetId:this.iconsetIdPrimary},s=this.nameSecondary?{name:this.nameSecondary.evaluate(e),iconsetId:this.iconsetIdSecondary}:void 0,o=xr.build(i,s,this.paramsPrimary?this.evaluateParams(e,this.paramsPrimary):void 0,this.paramsSecondary?this.evaluateParams(e,this.paramsSecondary):void 0);if(o&&e.availableImages){const u=o.getPrimary().id;if(o.available=e.availableImages.some(h=>Xr.isEqual(h,u)),o.available){const h=o.getSecondary()?o.getSecondary().id:null;h&&(o.available=e.availableImages.some(f=>Xr.isEqual(f,h)))}}return o}eachChild(e){if(e(this.namePrimary),this.paramsPrimary)for(const i in this.paramsPrimary)this.paramsPrimary[i]&&e(this.paramsPrimary[i]);if(this.nameSecondary&&(e(this.nameSecondary),this.paramsSecondary))for(const i in this.paramsSecondary)this.paramsSecondary[i]&&e(this.paramsSecondary[i])}outputDefined(){return!1}serializeOptions(e,i){const s={};if(i&&(s.iconset={id:i}),e){s.params={};for(const o in e)e[o]&&(s.params[o]=e[o].serialize())}return Object.keys(s).length>0?s:void 0}serialize(){const e=["image",this.namePrimary.serialize()];if(this.paramsPrimary||this.iconsetIdPrimary){const i=this.serializeOptions(this.paramsPrimary,this.iconsetIdPrimary);i&&e.push(i)}if(this.nameSecondary&&(e.push(this.nameSecondary.serialize()),this.paramsSecondary||this.iconsetIdSecondary)){const i=this.serializeOptions(this.paramsSecondary,this.iconsetIdSecondary);i&&e.push(i)}return e}}function oo(r){return ml(r)?"string":lo(r)?"number":ct(r)?"boolean":Array.isArray(r)?"array":r===null?"null":dt(r)?"object":typeof r}function dt(r){return r!=null&&!Array.isArray(r)&&typeof r!="function"&&!(r instanceof String||r instanceof Number||r instanceof Boolean)&&typeof r=="object"}function ml(r){return typeof r=="string"||r instanceof String}function lo(r){return typeof r=="number"||r instanceof Number}function ct(r){return typeof r=="boolean"||r instanceof Boolean}const Qd={"to-boolean":Wt,"to-color":Mr,"to-number":it,"to-string":Ht};class Zs{constructor(e,i){this.type=e,this.args=i}static parse(e,i){if(e.length<2)return i.error("Expected at least one argument.");const s=e[0],o=[];let u=Ra;if(s==="to-array"){if(!Array.isArray(e[1]))return null;const h=e[1].length;if(i.expectedType){if(i.expectedType.kind!=="array")return i.error(`Expected ${i.expectedType.kind} but found array.`);u=Sr(i.expectedType.itemType,h)}else{if(!(h>0&&La(e[1][0])))return null;u=Sr(Yi(e[1][0]),h)}for(let f=0;f<h;f++){const _=e[1][f];let g;if(Array.isArray(_))g=i.parse(_,void 0,u.itemType);else{const v=oo(_);if(v!==u.itemType.kind)return i.error(`Expected ${u.itemType.kind} but found ${v}.`);g=i.registry.literal.parse(["literal",_===void 0?null:_],i)}if(!g)return null;o.push(g)}}else{if((s==="to-boolean"||s==="to-string")&&e.length!==2)return i.error("Expected one argument.");u=Qd[s];for(let h=1;h<e.length;h++){const f=i.parse(e[h],h,Xt);if(!f)return null;o.push(f)}}return new Zs(u,o)}evaluate(e){if(this.type.kind==="boolean")return!!this.args[0].evaluate(e);if(this.type.kind==="color"){let i,s;for(const o of this.args){if(i=o.evaluate(e),s=null,i instanceof Zt)return i;if(typeof i=="string"){const u=e.parseColor(i);if(u)return u}else if(Array.isArray(i)&&(s=i.length<3||i.length>4?`Invalid rbga value ${JSON.stringify(i)}: expected an array containing either three or four numeric values.`:Kd(i[0],i[1],i[2],i[3]),!s))return new Zt(i[0]/255,i[1]/255,i[2]/255,i[3])}throw new ir(s||`Could not parse color from value '${typeof i=="string"?i:String(JSON.stringify(i))}'`)}if(this.type.kind==="number"){let i=null;for(const s of this.args){if(i=s.evaluate(e),i===null)return 0;const o=Number(i);if(!isNaN(o))return o}throw new ir(`Could not convert ${JSON.stringify(i)} to number.`)}return this.type.kind==="formatted"?Gr.fromString(on(this.args[0].evaluate(e))):this.type.kind==="resolvedImage"?xr.build(on(this.args[0].evaluate(e))):this.type.kind==="array"?this.args.map(i=>i.evaluate(e)):on(this.args[0].evaluate(e))}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}serialize(){if(this.type.kind==="formatted")return new vt([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if(this.type.kind==="resolvedImage")return new rt(this.args[0]).serialize();const e=this.type.kind==="array"?[]:[`to-${this.type.kind}`];return this.eachChild(i=>{e.push(i.serialize())}),e}}const ef=["Unknown","Point","LineString","Polygon"];class fc{constructor(e,i,s){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null,this.featureTileCoord=null,this.featureDistanceData=null,this.scope=e,this.options=i,this.iconImageUseTheme=s}id(){return this.feature&&this.feature.id!==void 0?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type=="number"?ef[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||{}}measureLight(e){return this.globals.brightness||0}distanceFromCenter(){if(this.featureTileCoord&&this.featureDistanceData){const e=this.featureDistanceData.center,i=this.featureDistanceData.scale,{x:s,y:o}=this.featureTileCoord;return this.featureDistanceData.bearing[0]*(s*i-e[0])+this.featureDistanceData.bearing[1]*(o*i-e[1])}return 0}parseColor(e){let i=this._parseColorCache[e];return i||(i=this._parseColorCache[e]=Zt.parse(e)),i}getConfig(e){return this.options?this.options.get(e):null}}class Cr{constructor(e,i,s,o,u){this.name=e,this.type=i,this._evaluate=s,this.args=o,this._overloadIndex=u}evaluate(e){if(!this._evaluate){const i=Cr.definitions[this.name];this._evaluate=Array.isArray(i)?i[2]:i.overloads[this._overloadIndex][1]}return this._evaluate(e,this.args)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}serialize(){return[this.name].concat(this.args.map(e=>e.serialize()))}static parse(e,i){const s=e[0],o=Cr.definitions[s];if(!o)return i.error(`Unknown expression "${s}". If you wanted a literal array, use ["literal", [...]].`,0);const u=Array.isArray(o)?o[0]:o.type,h=Array.isArray(o)?[[o[1],o[2]]]:o.overloads,f=[];let _=null,g=-1;for(const[v,b]of h){if(Array.isArray(v)&&v.length!==e.length-1)continue;f.push(v),g++,_=new Ic(i.registry,i.path,null,i.scope,void 0,i._scope,i.options,i.iconImageUseTheme);const w=[];let I=!1;for(let E=1;E<e.length;E++){const P=e[E],R=Array.isArray(v)?v[E-1]:v.type,D=_.parse(P,1+w.length,R);if(!D){I=!0;break}w.push(D)}if(!I)if(Array.isArray(v)&&v.length!==w.length)_.error(`Expected ${v.length} arguments, but found ${w.length} instead.`);else{for(let E=0;E<w.length;E++){const P=Array.isArray(v)?v[E]:v.type,R=w[E];_.concat(E+1).checkSubtype(P,R.type)}if(_.errors.length===0)return new Cr(s,u,b,w,g)}}if(f.length===1)i.errors.push(..._.errors);else{const v=(f.length?f:h.map(([w])=>w)).map(gm).join(" | "),b=[];for(let w=1;w<e.length;w++){const I=i.parse(e[w],1+b.length);if(!I)return null;b.push(Xi(I.type))}i.error(`Expected arguments of type ${v}, but found (${b.join(", ")}) instead.`)}return null}static register(e,i){Cr.definitions=i;for(const s in i)e[s]=Cr}}function gm(r){return Array.isArray(r)?`(${r.map(Xi).join(", ")})`:`(${Xi(r.type)}...)`}class co{constructor(e,i,s){this.type=cc,this.locale=s,this.caseSensitive=e,this.diacriticSensitive=i}static parse(e,i){if(e.length!==2)return i.error("Expected one argument.");const s=e[1];if(typeof s!="object"||Array.isArray(s))return i.error("Collator options argument must be an object.");const o=s["case-sensitive"]===void 0?i.parse(!1,1,Wt):i.parseObjectValue(s["case-sensitive"],1,"case-sensitive",Wt);if(!o)return null;const u=s["diacritic-sensitive"]===void 0?i.parse(!1,1,Wt):i.parseObjectValue(s["diacritic-sensitive"],1,"diacritic-sensitive",Wt);if(!u)return null;let h=null;return s.locale&&(h=i.parseObjectValue(s.locale,1,"locale",Ht),!h)?null:new co(o,u,h)}evaluate(e){return new ju(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}serialize(){const e={};return e["case-sensitive"]=this.caseSensitive.serialize(),e["diacritic-sensitive"]=this.diacriticSensitive.serialize(),this.locale&&(e.locale=this.locale.serialize()),["collator",e]}}function ta(r,e,i=0,s=r.length-1,o=ia){for(;s>i;){if(s-i>600){const _=s-i+1,g=e-i+1,v=Math.log(_),b=.5*Math.exp(2*v/3),w=.5*Math.sqrt(v*b*(_-b)/_)*(g-_/2<0?-1:1);ta(r,e,Math.max(i,Math.floor(e-g*b/_+w)),Math.min(s,Math.floor(e+(_-g)*b/_+w)),o)}const u=r[e];let h=i,f=s;for(Oa(r,i,e),o(r[s],u)>0&&Oa(r,i,s);h<f;){for(Oa(r,h,f),h++,f--;o(r[h],u)<0;)h++;for(;o(r[f],u)>0;)f--}o(r[i],u)===0?Oa(r,i,f):(f++,Oa(r,f,s)),f<=e&&(i=f+1),e<=f&&(s=f-1)}}function Oa(r,e,i){const s=r[e];r[e]=r[i],r[i]=s}function ia(r,e){return r<e?-1:r>e?1:0}function ra(r){let e=0;for(let i,s,o=0,u=r.length,h=u-1;o<u;h=o++)i=r[o],s=r[h],e+=(s.x-i.x)*(i.y+s.y);return e}function _l(r,e){r[0]=Math.min(r[0],e[0]),r[1]=Math.min(r[1],e[1]),r[2]=Math.max(r[2],e[0]),r[3]=Math.max(r[3],e[1])}function gl(r,e){return!(r[0]<=e[0]||r[2]>=e[2]||r[1]<=e[1]||r[3]>=e[3])}function ym(r,e,i){const s=r[0]-e[0],o=r[1]-e[1],u=r[0]-i[0],h=r[1]-i[1];return s*h-u*o===0&&s*u<=0&&o*h<=0}function pc(r,e,i){return e[1]>r[1]!=i[1]>r[1]&&r[0]<(i[0]-e[0])*(r[1]-e[1])/(i[1]-e[1])+e[0]}function Fa(r,e,i=!1){let s=!1;for(let o=0,u=e.length;o<u;o++){const h=e[o];for(let f=0,_=h.length,g=_-1;f<_;g=f++){const v=h[g],b=h[f];if(ym(r,v,b))return i;pc(r,v,b)&&(s=!s)}}return s}function sa(r,e,i,s){const o=s[0]-i[0],u=s[1]-i[1],h=(r[0]-i[0])*u-o*(r[1]-i[1]),f=(e[0]-i[0])*u-o*(e[1]-i[1]);return h>0&&f<0||h<0&&f>0}function mc(r,e,i,s){return(o=[s[0]-i[0],s[1]-i[1]])[0]*(u=[e[0]-r[0],e[1]-r[1]])[1]-o[1]*u[0]!==0&&!(!sa(r,e,i,s)||!sa(i,s,r,e));var o,u}function qu(r){const e=new ke(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),i=new ke(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);for(const s of r[0])e.x>s.x&&(e.x=s.x),e.y>s.y&&(e.y=s.y),i.x<s.x&&(i.x=s.x),i.y<s.y&&(i.y=s.y);return{min:e,max:i}}const ln=8192;function xm(r,e){const i=(180+r[0])/360,s=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r[1]*Math.PI/360)))/360,o=Math.pow(2,e.z);return[Math.round(i*o*ln),Math.round(s*o*ln)]}function vm(r,e){for(let i=0;i<e.length;i++)if(Fa(r,e[i]))return!0;return!1}function tf(r,e,i){for(const s of i)for(let o=0,u=s.length,h=u-1;o<u;h=o++)if(mc(r,e,s[h],s[o]))return!0;return!1}function rf(r,e){for(let i=0;i<r.length;++i)if(!Fa(r[i],e))return!1;for(let i=0;i<r.length-1;++i)if(tf(r[i],r[i+1],e))return!1;return!0}function bm(r,e){for(let i=0;i<e.length;i++)if(rf(r,e[i]))return!0;return!1}function $u(r,e,i){const s=[];for(let o=0;o<r.length;o++){const u=[];for(let h=0;h<r[o].length;h++){const f=xm(r[o][h],i);_l(e,f),u.push(f)}s.push(u)}return s}function na(r,e,i){const s=[];for(let o=0;o<r.length;o++){const u=$u(r[o],e,i);s.push(u)}return s}function sf(r,e,i,s){if(r[0]<i[0]||r[0]>i[2]){const o=.5*s;let u=r[0]-i[0]>o?-s:i[0]-r[0]>o?s:0;u===0&&(u=r[0]-i[2]>o?-s:i[2]-r[0]>o?s:0),r[0]+=u}_l(e,r)}function nf(r,e,i,s){const o=Math.pow(2,s.z)*ln,u=[s.x*ln,s.y*ln],h=[];if(!r)return h;for(const f of r)for(const _ of f){const g=[_.x+u[0],_.y+u[1]];sf(g,e,i,o),h.push(g)}return h}function _c(r,e,i,s){const o=Math.pow(2,s.z)*ln,u=[s.x*ln,s.y*ln],h=[];if(!r)return h;for(const _ of r){const g=[];for(const v of _){const b=[v.x+u[0],v.y+u[1]];_l(e,b),g.push(b)}h.push(g)}if(e[2]-e[0]<=o/2){(f=e)[0]=f[1]=1/0,f[2]=f[3]=-1/0;for(const _ of h)for(const g of _)sf(g,e,i,o)}var f;return h}class aa{constructor(e,i){this.type=Wt,this.geojson=e,this.geometries=i}static parse(e,i){if(e.length!==2)return i.error(`'within' expression requires exactly one argument, but found ${e.length-1} instead.`);if(La(e[1])){const s=e[1];if(s.type==="FeatureCollection")for(let o=0;o<s.features.length;++o){const u=s.features[o].geometry.type;if(u==="Polygon"||u==="MultiPolygon")return new aa(s,s.features[o].geometry)}else if(s.type==="Feature"){const o=s.geometry.type;if(o==="Polygon"||o==="MultiPolygon")return new aa(s,s.geometry)}else if(s.type==="Polygon"||s.type==="MultiPolygon")return new aa(s,s)}return i.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(function(i,s){const o=[1/0,1/0,-1/0,-1/0],u=[1/0,1/0,-1/0,-1/0],h=i.canonicalID();if(!h)return!1;if(s.type==="Polygon"){const f=$u(s.coordinates,u,h),_=nf(i.geometry(),o,u,h);if(!gl(o,u))return!1;for(const g of _)if(!Fa(g,f))return!1}if(s.type==="MultiPolygon"){const f=na(s.coordinates,u,h),_=nf(i.geometry(),o,u,h);if(!gl(o,u))return!1;for(const g of _)if(!vm(g,f))return!1}return!0})(e,this.geometries);if(e.geometryType()==="LineString")return(function(i,s){const o=[1/0,1/0,-1/0,-1/0],u=[1/0,1/0,-1/0,-1/0],h=i.canonicalID();if(!h)return!1;if(s.type==="Polygon"){const f=$u(s.coordinates,u,h),_=_c(i.geometry(),o,u,h);if(!gl(o,u))return!1;for(const g of _)if(!rf(g,f))return!1}if(s.type==="MultiPolygon"){const f=na(s.coordinates,u,h),_=_c(i.geometry(),o,u,h);if(!gl(o,u))return!1;for(const g of _)if(!bm(g,f))return!1}return!0})(e,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}serialize(){return["within",this.geojson]}}const yl={kilometers:1,miles:1e3/1609.344,nauticalmiles:1e3/1852,meters:1e3,metres:1e3,yards:1e3/.9144,feet:1e3/.3048,inches:1e3/.0254},zs=1/298.257223563,Hu=zs*(2-zs),uo=Math.PI/180;class ho{static fromTile(e,i,s){const o=Math.PI*(1-2*(e+.5)/Math.pow(2,i)),u=Math.atan(.5*(Math.exp(o)-Math.exp(-o)))/uo;return new ho(u,s)}static get units(){return yl}constructor(e,i){if(e===void 0)throw new Error("No latitude given.");if(i&&!yl[i])throw new Error(`Unknown unit ${i}. Use one of: ${Object.keys(yl).join(", ")}`);const s=6378.137*uo*(i?yl[i]:1),o=Math.cos(e*uo),u=1/(1-Hu*(1-o*o)),h=Math.sqrt(u);this.kx=s*h*o,this.ky=s*h*u*(1-Hu)}distance(e,i){const s=ws(e[0]-i[0])*this.kx,o=(e[1]-i[1])*this.ky;return Math.sqrt(s*s+o*o)}bearing(e,i){const s=ws(i[0]-e[0])*this.kx;return Math.atan2(s,(i[1]-e[1])*this.ky)/uo}destination(e,i,s){const o=s*uo;return this.offset(e,Math.sin(o)*i,Math.cos(o)*i)}offset(e,i,s){return[e[0]+i/this.kx,e[1]+s/this.ky]}lineDistance(e){let i=0;for(let s=0;s<e.length-1;s++)i+=this.distance(e[s],e[s+1]);return i}area(e){let i=0;for(let s=0;s<e.length;s++){const o=e[s];for(let u=0,h=o.length,f=h-1;u<h;f=u++)i+=ws(o[u][0]-o[f][0])*(o[u][1]+o[f][1])*(s?-1:1)}return Math.abs(i)/2*this.kx*this.ky}along(e,i){let s=0;if(i<=0)return e[0];for(let o=0;o<e.length-1;o++){const u=e[o],h=e[o+1],f=this.distance(u,h);if(s+=f,s>i)return gc(u,h,(i-(s-f))/f)}return e[e.length-1]}pointToSegmentDistance(e,i,s){let[o,u]=i,h=ws(s[0]-o)*this.kx,f=(s[1]-u)*this.ky;if(h!==0||f!==0){const _=(ws(e[0]-o)*this.kx*h+(e[1]-u)*this.ky*f)/(h*h+f*f);_>1?(o=s[0],u=s[1]):_>0&&(o+=h/this.kx*_,u+=f/this.ky*_)}return h=ws(e[0]-o)*this.kx,f=(e[1]-u)*this.ky,Math.sqrt(h*h+f*f)}pointOnLine(e,i){let s=1/0,o=e[0][0],u=e[0][1],h=0,f=0;for(let _=0;_<e.length-1;_++){let g=e[_][0],v=e[_][1],b=ws(e[_+1][0]-g)*this.kx,w=(e[_+1][1]-v)*this.ky,I=0;b===0&&w===0||(I=(ws(i[0]-g)*this.kx*b+(i[1]-v)*this.ky*w)/(b*b+w*w),I>1?(g=e[_+1][0],v=e[_+1][1]):I>0&&(g+=b/this.kx*I,v+=w/this.ky*I)),b=ws(i[0]-g)*this.kx,w=(i[1]-v)*this.ky;const E=b*b+w*w;E<s&&(s=E,o=g,u=v,h=_,f=I)}return{point:[o,u],index:h,t:Math.max(0,Math.min(1,f))}}lineSlice(e,i,s){let o=this.pointOnLine(s,e),u=this.pointOnLine(s,i);if(o.index>u.index||o.index===u.index&&o.t>u.t){const g=o;o=u,u=g}const h=[o.point],f=o.index+1,_=u.index;!Wu(s[f],h[0])&&f<=_&&h.push(s[f]);for(let g=f+1;g<=_;g++)h.push(s[g]);return Wu(s[_],u.point)||h.push(u.point),h}lineSliceAlong(e,i,s){let o=0;const u=[];for(let h=0;h<s.length-1;h++){const f=s[h],_=s[h+1],g=this.distance(f,_);if(o+=g,o>e&&u.length===0&&u.push(gc(f,_,(e-(o-g))/g)),o>=i)return u.push(gc(f,_,(i-(o-g))/g)),u;o>e&&u.push(_)}return u}bufferPoint(e,i){const s=i/this.ky,o=i/this.kx;return[e[0]-o,e[1]-s,e[0]+o,e[1]+s]}bufferBBox(e,i){const s=i/this.ky,o=i/this.kx;return[e[0]-o,e[1]-s,e[2]+o,e[3]+s]}insideBBox(e,i){return ws(e[0]-i[0])>=0&&ws(e[0]-i[2])<=0&&e[1]>=i[1]&&e[1]<=i[3]}}function Wu(r,e){return r[0]===e[0]&&r[1]===e[1]}function gc(r,e,i){const s=ws(e[0]-r[0]);return[r[0]+s*i,r[1]+(e[1]-r[1])*i]}function ws(r){for(;r<-180;)r+=360;for(;r>180;)r-=360;return r}class xl{constructor(e=[],i=(s,o)=>s<o?-1:s>o?1:0){if(this.data=e,this.length=this.data.length,this.compare=i,this.length>0)for(let s=(this.length>>1)-1;s>=0;s--)this._down(s)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;const e=this.data[0],i=this.data.pop();return--this.length>0&&(this.data[0]=i,this._down(0)),e}peek(){return this.data[0]}_up(e){const{data:i,compare:s}=this,o=i[e];for(;e>0;){const u=e-1>>1,h=i[u];if(s(o,h)>=0)break;i[e]=h,e=u}i[e]=o}_down(e){const{data:i,compare:s}=this,o=this.length>>1,u=i[e];for(;e<o;){let h=1+(e<<1);const f=h+1;if(f<this.length&&s(i[f],i[h])<0&&(h=f),s(i[h],u)>=0)break;i[e]=i[h],e=h}i[e]=u}}var qe=8192;function Zu(r,e){return e.dist-r.dist}function Xu(r){const e=[1/0,1/0,-1/0,-1/0];if(e.length!==r.length)return!1;for(let i=0;i<e.length;i++)if(e[i]!==r[i])return!1;return!0}function vl(r){return r[1]-r[0]+1}function cn(r,e){const i=r[1]>=r[0]&&r[1]<e;return i||console.warn("Distance Expression: Index is out of range"),i}function yc(r,e){if(r[0]>r[1])return[null,null];const i=vl(r);if(e){if(i===2)return[r,null];const s=Math.floor(i/2);return[[r[0],r[0]+s],[r[0]+s,r[1]]]}{if(i===1)return[r,null];const s=Math.floor(i/2)-1;return[[r[0],r[0]+s],[r[0]+s+1,r[1]]]}}function Ba(r,e){const i=[1/0,1/0,-1/0,-1/0];if(!cn(e,r.length))return i;for(let s=e[0];s<=e[1];++s)_l(i,r[s]);return i}function xc(r){const e=[1/0,1/0,-1/0,-1/0];for(let i=0;i<r.length;++i)for(let s=0;s<r[i].length;++s)_l(e,r[i][s]);return e}function Dn(r,e,i){if(Xu(r)||Xu(e))return NaN;let s=0,o=0;return r[2]<e[0]&&(s=e[0]-r[2]),r[0]>e[2]&&(s=r[0]-e[2]),r[1]>e[3]&&(o=r[1]-e[3]),r[3]<e[1]&&(o=e[1]-r[3]),i.distance([0,0],[s,o])}function Yu(r){return 360*r-180}function vc(r){return 360/Math.PI*Math.atan(Math.exp((180-360*r)*Math.PI/180))-90}function bl(r,e,i=8192){const s=Math.pow(2,e.z),o=(r.y/i+e.y)/s;return[Yu((r.x/i+e.x)/s),vc(o)]}function af(r,e){const i=[];for(let s=0;s<r.length;++s)i.push(bl(r[s],e));return i}function of(r,e,i){const s=i.pointOnLine(e,r).point;return i.distance(r,s)}function lf(r,e,i,s,o){const u=i.slice(s[0],s[1]+1);let h=1/0;for(let f=e[0];f<=e[1];++f)if((h=Math.min(h,of(r[f],u,o)))===0)return 0;return h}function bc(r,e,i,s,o){const u=Math.min(o.pointToSegmentDistance(r,i,s),o.pointToSegmentDistance(e,i,s)),h=Math.min(o.pointToSegmentDistance(i,r,e),o.pointToSegmentDistance(s,r,e));return Math.min(u,h)}function fo(r,e,i,s,o){if(!cn(e,r.length)||!cn(s,i.length))return NaN;let u=1/0;for(let h=e[0];h<e[1];++h)for(let f=s[0];f<s[1];++f){if(mc(r[h],r[h+1],i[f],i[f+1]))return 0;u=Math.min(u,bc(r[h],r[h+1],i[f],i[f+1],o))}return u}function Pt(r,e,i,s,o){if(!cn(e,r.length)||!cn(s,i.length))return NaN;let u=1/0;for(let h=e[0];h<=e[1];++h)for(let f=s[0];f<=s[1];++f)if((u=Math.min(u,o.distance(r[h],i[f])))===0)return u;return u}function wm(r,e,i){if(Fa(r,e,!0))return 0;let s=1/0;for(const o of e){const u=o.length;if(u<2)return console.warn("Distance Expression: Invalid polygon!"),NaN;if(o[0]!==o[u-1]&&(s=Math.min(s,i.pointToSegmentDistance(r,o[u-1],o[0])))===0||(s=Math.min(s,of(r,o,i)))===0)return s}return s}function Tm(r,e,i,s){if(!cn(e,r.length))return NaN;for(let u=e[0];u<=e[1];++u)if(Fa(r[u],i,!0))return 0;let o=1/0;for(let u=e[0];u<e[1];++u)for(const h of i)for(let f=0,_=h.length,g=_-1;f<_;g=f++){if(mc(r[u],r[u+1],h[g],h[f]))return 0;o=Math.min(o,bc(r[u],r[u+1],h[g],h[f],s))}return o}function cf(r,e){for(const i of r)for(let s=0;s<=i.length-1;++s)if(Fa(i[s],e,!0))return!0;return!1}function uf(r,e,i,s=1/0){const o=xc(r),u=xc(e);if(s!==1/0&&Dn(o,u,i)>=s)return s;if(gl(o,u)){if(cf(r,e))return 0}else if(cf(e,r))return 0;let h=s;for(const f of r)for(let _=0,g=f.length,v=g-1;_<g;v=_++)for(const b of e)for(let w=0,I=b.length,E=I-1;w<I;E=w++){if(mc(f[v],f[_],b[E],b[w]))return 0;h=Math.min(h,bc(f[v],f[_],b[E],b[w],i))}return h}function wc(r,e,i,s,o,u,h){if(u===null||h===null)return;const f=Dn(Ba(s,u),Ba(o,h),i);f<e&&r.push({dist:f,range1:u,range2:h})}function Si(r,e,i,s,o=1/0){let u=Math.min(s.distance(r[0],i[0][0]),o);if(u===0)return u;const h=new xl([{dist:0,range1:[0,r.length-1],range2:[0,0]}],Zu),f=e?50:100,_=xc(i);for(;h.length;){const g=h.pop();if(g.dist>=u)continue;const v=g.range1;if(vl(v)<=f){if(!cn(v,r.length))return NaN;if(e){const b=Tm(r,v,i,s);if((u=Math.min(u,b))===0)return u}else for(let b=v[0];b<=v[1];++b){const w=wm(r[b],i,s);if((u=Math.min(u,w))===0)return u}}else{const b=yc(v,e);if(b[0]!==null){const w=Dn(Ba(r,b[0]),_,s);w<u&&h.push({dist:w,range1:b[0],range2:[0,0]})}if(b[1]!==null){const w=Dn(Ba(r,b[1]),_,s);w<u&&h.push({dist:w,range1:b[1],range2:[0,0]})}}}return u}function hf(r,e,i,s,o,u=1/0){let h=Math.min(u,o.distance(r[0],i[0]));if(h===0)return h;const f=new xl([{dist:0,range1:[0,r.length-1],range2:[0,i.length-1]}],Zu),_=e?50:100,g=s?50:100;for(;f.length;){const v=f.pop();if(v.dist>=h)continue;const b=v.range1,w=v.range2;if(vl(b)<=_&&vl(w)<=g){if(!cn(b,r.length)||!cn(w,i.length))return NaN;if(e&&s?h=Math.min(h,fo(r,b,i,w,o)):e||s?e&&!s?h=Math.min(h,lf(i,w,r,b,o)):!e&&s&&(h=Math.min(h,lf(r,b,i,w,o))):h=Math.min(h,Pt(r,b,i,w,o)),h===0)return h}else{const I=yc(b,e),E=yc(w,s);wc(f,h,o,r,i,I[0],E[0]),wc(f,h,o,r,i,I[0],E[1]),wc(f,h,o,r,i,I[1],E[0]),wc(f,h,o,r,i,I[1],E[1])}}return h}function Ju(r,e,i,s,o=1/0){let u=o;const h=Ba(r,[0,r.length-1]);for(const f of i)if(!(u!==1/0&&Dn(h,Ba(f,[0,f.length-1]),s)>=u)&&(u=Math.min(u,hf(r,e,f,!0,s,u)),u===0))return u;return u}function Tc(r,e,i,s,o=1/0){let u=o;const h=Ba(r,[0,r.length-1]);for(const f of i){if(u!==1/0&&Dn(h,xc(f),s)>=u)continue;const _=Si(r,e,f,s,u);if(isNaN(_))return _;if((u=Math.min(u,_))===0)return u}return u}function Ku(r){return r==="Point"||r==="MultiPoint"||r==="LineString"||r==="MultiLineString"||r==="Polygon"||r==="MultiPolygon"}class ka{constructor(e,i){this.type=it,this.geojson=e,this.geometries=i}static parse(e,i){if(e.length!==2)return i.error(`'distance' expression requires either one argument, but found ' ${e.length-1} instead.`);if(La(e[1])){const s=e[1];if(s.type==="FeatureCollection"){for(let o=0;o<s.features.length;++o)if(Ku(s.features[o].geometry.type))return new ka(s,s.features[o].geometry)}else if(s.type==="Feature"){if(Ku(s.geometry.type))return new ka(s,s.geometry)}else if(Ku(s.type))return new ka(s,s)}return i.error("'distance' expression needs to be an array with format ['Distance', GeoJSONObj].")}evaluate(e){const i=e.geometry(),s=e.canonicalID();if(i!=null&&s!=null){if(e.geometryType()==="Point")return(function(o,u,h){const f=[];for(const g of o)for(const v of g)f.push(bl(v,u));const _=new ho(f[0][1],"meters");return h.type==="Point"||h.type==="MultiPoint"||h.type==="LineString"?hf(f,!1,h.type==="Point"?[h.coordinates]:h.coordinates,h.type==="LineString",_):h.type==="MultiLineString"?Ju(f,!1,h.coordinates,_):h.type==="Polygon"||h.type==="MultiPolygon"?Tc(f,!1,h.type==="Polygon"?[h.coordinates]:h.coordinates,_):null})(i,s,this.geometries);if(e.geometryType()==="LineString")return(function(o,u,h){const f=[];for(const g of o){const v=[];for(const b of g)v.push(bl(b,u));f.push(v)}const _=new ho(f[0][0][1],"meters");if(h.type==="Point"||h.type==="MultiPoint"||h.type==="LineString")return Ju(h.type==="Point"?[h.coordinates]:h.coordinates,h.type==="LineString",f,_);if(h.type==="MultiLineString"){let g=1/0;for(let v=0;v<h.coordinates.length;v++){const b=Ju(h.coordinates[v],!0,f,_,g);if(isNaN(b))return b;if((g=Math.min(g,b))===0)return g}return g}if(h.type==="Polygon"||h.type==="MultiPolygon"){let g=1/0;for(let v=0;v<f.length;v++){const b=Tc(f[v],!0,h.type==="Polygon"?[h.coordinates]:h.coordinates,_,g);if(isNaN(b))return b;if((g=Math.min(g,b))===0)return g}return g}return null})(i,s,this.geometries);if(e.geometryType()==="Polygon")return(function(o,u,h){const f=[];for(const g of(function(v){const b=v.length;if(b<=1)return[v];const w=[];let I,E;for(let P=0;P<b;P++){const R=ra(v[P]);R!==0&&(v[P].area=Math.abs(R),E===void 0&&(E=R<0),E===R<0?(I&&w.push(I),I=[v[P]]):I.push(v[P]))}return I&&w.push(I),w})(o)){const v=[];for(let b=0;b<g.length;++b)v.push(af(g[b],u));f.push(v)}const _=new ho(f[0][0][0][1],"meters");if(h.type==="Point"||h.type==="MultiPoint"||h.type==="LineString")return Tc(h.type==="Point"?[h.coordinates]:h.coordinates,h.type==="LineString",f,_);if(h.type==="MultiLineString"){let g=1/0;for(let v=0;v<h.coordinates.length;v++){const b=Tc(h.coordinates[v],!0,f,_,g);if(isNaN(b))return b;if((g=Math.min(g,b))===0)return g}return g}return h.type==="Polygon"||h.type==="MultiPolygon"?(function(g,v,b){let w=1/0;for(const I of g)for(const E of v){const P=uf(I,E,b,w);if(isNaN(P))return P;if((w=Math.min(w,P))===0)return w}return w})(h.type==="Polygon"?[h.coordinates]:h.coordinates,f,_):null})(i,s,this.geometries);console.warn("Distance Expression: currently only evaluates valid Point/LineString/Polygon geometries.")}else console.warn("Distance Expression: requires valid feature and canonical information.");return null}eachChild(){}outputDefined(){return!0}serialize(){return["distance",this.geojson]}}function po(r){if(r instanceof Cr&&(r.name==="get"&&r.args.length===1||r.name==="feature-state"||r.name==="has"&&r.args.length===1||r.name==="properties"||r.name==="geometry-type"||r.name==="id"||/^filter-/.test(r.name))||r instanceof aa||r instanceof ka)return!1;if(r instanceof _o)return r.featureConstant;let e=!0;return r.eachChild(i=>{e&&!po(i)&&(e=!1)}),e}function wl(r){if(r instanceof Cr&&r.name==="feature-state")return!1;let e=!0;return r.eachChild(i=>{e&&!wl(i)&&(e=!1)}),e}function mo(r,e){if(r instanceof Cr&&e.indexOf(r.name)>=0)return!1;let i=!0;return r.eachChild(s=>{i&&!mo(s,e)&&(i=!1)}),i}function df(r,e,i){return[r,e,i].filter(Boolean).join("")}function Qu(r,e){switch(r){case"string":return on(e);case"number":return+e;case"boolean":return!!e;case"color":return Zt.parse(e);case"formatted":return Gr.fromString(on(e));case"resolvedImage":return xr.build(on(e))}return e}function ff(r,e,i,s){return s!==void 0&&(r=s*Math.round(r/s)),e!==void 0&&r<e&&(r=e),i!==void 0&&r>i&&(r=i),r}class _o{constructor(e,i,s,o=!1){this.type=e,this.key=i,this.scope=s,this.featureConstant=o}static parse(e,i){let s=i.expectedType;if(s==null&&(s=Xt),e.length<2||e.length>3)return i.error("Invalid number of arguments for 'config' expression.");const o=i.parse(e[1],1);if(!(o instanceof Pn))return i.error("Key name of 'config' expression must be a string literal.");let u,h=!0;const f=on(o.value);if(e.length>=3){const _=i.parse(e[2],2);if(!(_ instanceof Pn))return i.error("Scope of 'config' expression must be a string literal.");u=on(_.value)}if(i.options){const _=df(f,u,i._scope),g=i.options.get(_);g&&(h=po(g.value||g.default))}return new _o(s,f,u,h)}evaluate(e){const i=df(this.key,this.scope,e.scope),s=e.getConfig(i);if(!s)return null;const{type:o,value:u,values:h,minValue:f,maxValue:_,stepValue:g}=s,v=s.default.evaluate(e);let b=v;if(u){const w=e.scope;e.scope=(w||"").split("").slice(1).join(""),b=u.evaluate(e),e.scope=w}return o&&(b=Qu(o,b)),b===void 0||f===void 0&&_===void 0&&g===void 0||(typeof b=="number"?b=ff(b,f,_,g):Array.isArray(b)&&(b=b.map(w=>typeof w=="number"?ff(w,f,_,g):w))),u!==void 0&&b!==void 0&&h&&!h.includes(b)&&(b=v,o&&(b=Qu(o,b))),(o&&o!==this.type||b!==void 0&&!hc(Yi(b),this.type))&&(b=Qu(this.type.kind,b)),b}eachChild(){}outputDefined(){return!1}serialize(){const e=["config",this.key];return this.scope&&e.concat(this.scope),e}}class Sc{constructor(e,i){this.type=i.type,this.name=e,this.boundExpression=i}static parse(e,i){if(e.length!==2||typeof e[1]!="string")return i.error("'var' expression requires exactly one string literal argument.");const s=e[1];return i.scope.has(s)?new Sc(s,i.scope.get(s)):i.error(`Unknown variable "${s}". Make sure "${s}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(e){return this.boundExpression.evaluate(e)}eachChild(){}outputDefined(){return!1}serialize(){return["var",this.name]}}class Ic{constructor(e,i=[],s,o=new Qn,u=[],h,f,_){this.registry=e,this.path=i,this.key=i.map(g=>typeof g=="string"?`['${g}']`:`[${g}]`).join(""),this.scope=o,this.errors=u,this.expectedType=s,this._scope=h,this.options=f,this.iconImageUseTheme=_}parse(e,i,s,o,u={}){return i||s?this.concat(i,null,s,o)._parse(e,u):this._parse(e,u)}parseObjectValue(e,i,s,o,u,h={}){return this.concat(i,s,o,u)._parse(e,h)}_parse(e,i){function s(o,u,h){return h==="assert"?new qr(u,[o]):h==="coerce"?new Zs(u,[o]):o}if(e!==null&&typeof e!="string"&&typeof e!="boolean"&&typeof e!="number"||(e=["literal",e]),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", []].');const o=typeof e[0]=="string"?this.registry[e[0]]:void 0;if(o){let u=o.parse(e,this);if(!u)return null;if(this.expectedType){const h=this.expectedType,f=u.type;if(h.kind!=="string"&&h.kind!=="number"&&h.kind!=="boolean"&&h.kind!=="object"&&h.kind!=="array"||f.kind!=="value")if(h.kind!=="color"&&h.kind!=="formatted"&&h.kind!=="resolvedImage"||f.kind!=="value"&&f.kind!=="string"){if(this.checkSubtype(h,f))return null}else u=s(u,h,i.typeAnnotation||"coerce");else u=s(u,h,i.typeAnnotation||"assert")}if(!(u instanceof Pn)&&u.type.kind!=="resolvedImage"&&eh(u)){const h=new fc(this._scope,this.options,this.iconImageUseTheme);try{u=new Pn(u.type,u.evaluate(h))}catch(f){return this.error(f.message),null}}return u}return Zs.parse(["to-array",e],this)}return this.error(e===void 0?"'undefined' value invalid. Use null instead.":typeof e=="object"?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof e} instead.`)}concat(e,i,s,o){let u=typeof e=="number"?this.path.concat(e):this.path;u=typeof i=="string"?u.concat(i):u;const h=o?this.scope.concat(o):this.scope;return new Ic(this.registry,u,s||null,h,this.errors,this._scope,this.options,this.iconImageUseTheme)}error(e,...i){const s=`${this.key}${i.map(o=>`[${o}]`).join("")}`;this.errors.push(new ss(s,e))}checkSubtype(e,i){const s=fl(e,i);return s&&this.error(s),s}}function eh(r){if(r instanceof Sc)return eh(r.boundExpression);if(r instanceof Cr&&r.name==="error"||r instanceof co||r instanceof aa||r instanceof ka||r instanceof _o)return!1;const e=r instanceof Zs||r instanceof qr;let i=!0;return r.eachChild(s=>{i=e?i&&eh(s):i&&s instanceof Pn}),!!i&&po(r)&&mo(r,["zoom","heatmap-density","worldview","line-progress","raster-value","sky-radial-progress","accumulated","is-supported-script","pitch","distance-from-center","measure-light","raster-particle-speed","is-active-floor"])}function Ec(r,e){const i=r.length-1;let s,o,u=0,h=i,f=0;for(;u<=h;)if(f=Math.floor((u+h)/2),s=r[f],o=r[f+1],s<=e){if(f===i||e<o)return f;u=f+1}else{if(!(s>e))throw new ir("Input is not a number.");h=f-1}return 0}class Tl{constructor(e,i,s){this.type=e,this.input=i,this.labels=[],this.outputs=[];for(const[o,u]of s)this.labels.push(o),this.outputs.push(u)}static parse(e,i){if(e.length-1<4)return i.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return i.error("Expected an even number of arguments.");const s=i.parse(e[1],1,it);if(!s)return null;const o=[];let u=null;i.expectedType&&i.expectedType.kind!=="value"&&(u=i.expectedType);for(let h=1;h<e.length;h+=2){const f=h===1?-1/0:e[h],_=e[h+1],g=h,v=h+1;if(typeof f!="number")return i.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',g);if(o.length&&o[o.length-1][0]>=f)return i.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',g);const b=i.parse(_,v,u);if(!b)return null;u=u||b.type,o.push([f,b])}return new Tl(u,s,o)}evaluate(e){const i=this.labels,s=this.outputs;if(i.length===1)return s[0].evaluate(e);const o=this.input.evaluate(e);if(o<=i[0])return s[0].evaluate(e);const u=i.length;return o>=i[u-1]?s[u-1].evaluate(e):s[Ec(i,o)].evaluate(e)}eachChild(e){e(this.input);for(const i of this.outputs)e(i)}outputDefined(){return this.outputs.every(e=>e.outputDefined())}serialize(){const e=["step",this.input.serialize()];for(let i=0;i<this.labels.length;i++)i>0&&e.push(this.labels[i]),e.push(this.outputs[i].serialize());return e}}const pf=.95047,mf=1.08883,_f=4/29,go=6/29,gf=3*go*go,Sm=go*go*go,Im=Math.PI/180,Em=180/Math.PI;function th(r){return r>Sm?Math.pow(r,1/3):r/gf+_f}function ih(r){return r>go?r*r*r:gf*(r-_f)}function rh(r){return 255*(r<=.0031308?12.92*r:1.055*Math.pow(r,1/2.4)-.055)}function sh(r){return(r/=255)<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}function yf(r){const e=sh(r.r),i=sh(r.g),s=sh(r.b),o=th((.4124564*e+.3575761*i+.1804375*s)/pf),u=th((.2126729*e+.7151522*i+.072175*s)/1);return{l:116*u-16,a:500*(o-u),b:200*(u-th((.0193339*e+.119192*i+.9503041*s)/mf)),alpha:r.a}}function xf(r){let e=(r.l+16)/116,i=isNaN(r.a)?e:e+r.a/500,s=isNaN(r.b)?e:e-r.b/200;return e=1*ih(e),i=pf*ih(i),s=mf*ih(s),new Zt(rh(3.2404542*i-1.5371385*e-.4985314*s),rh(-.969266*i+1.8760108*e+.041556*s),rh(.0556434*i-.2040259*e+1.0572252*s),r.alpha)}function nh(r,e,i){const s=e-r;return r+i*(s>180||s<-180?s-360*Math.round(s/360):s)}const oa={forward:yf,reverse:xf,interpolate:function(r,e,i){return{l:ut(r.l,e.l,i),a:ut(r.a,e.a,i),b:ut(r.b,e.b,i),alpha:ut(r.alpha,e.alpha,i)}}},yo={forward:function(r){const{l:e,a:i,b:s}=yf(r),o=Math.atan2(s,i)*Em;return{h:o<0?o+360:o,c:Math.sqrt(i*i+s*s),l:e,alpha:r.a}},reverse:function(r){const e=r.h*Im,i=r.c;return xf({l:r.l,a:Math.cos(e)*i,b:Math.sin(e)*i,alpha:r.alpha})},interpolate:function(r,e,i){return{h:nh(r.h,e.h,i),c:ut(r.c,e.c,i),l:ut(r.l,e.l,i),alpha:ut(r.alpha,e.alpha,i)}}};var vf=Object.freeze({__proto__:null,hcl:yo,lab:oa});class Ts{constructor(e,i,s,o,u){this.type=e,this.operator=i,this.interpolation=s,this.input=o,this.labels=[],this.outputs=[];for(const[h,f]of u)this.labels.push(h),this.outputs.push(f)}static interpolationFactor(e,i,s,o){let u=0;if(e.name==="exponential")u=ah(i,e.base,s,o);else if(e.name==="linear")u=ah(i,1,s,o);else if(e.name==="cubic-bezier"){const h=e.controlPoints;u=new no(h[0],h[1],h[2],h[3]).solve(ah(i,1,s,o))}return u}static parse(e,i){let[s,o,u,...h]=e;if(!Array.isArray(o)||o.length===0)return i.error("Expected an interpolation type expression.",1);if(o[0]==="linear")o={name:"linear"};else if(o[0]==="exponential"){const g=o[1];if(typeof g!="number")return i.error("Exponential interpolation requires a numeric base.",1,1);o={name:"exponential",base:g}}else{if(o[0]!=="cubic-bezier")return i.error(`Unknown interpolation type ${String(o[0])}`,1,0);{const g=o.slice(1);if(g.length!==4||g.some(v=>typeof v!="number"||v<0||v>1))return i.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);o={name:"cubic-bezier",controlPoints:g}}}if(e.length-1<4)return i.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if(e.length-1>3&&(e.length-1)%2!=0)return i.error("Expected an even number of arguments.");if(u=i.parse(u,2,it),!u)return null;const f=[];let _=null;s==="interpolate-hcl"||s==="interpolate-lab"?_=Mr:i.expectedType&&i.expectedType.kind!=="value"&&(_=i.expectedType);for(let g=0;g<h.length;g+=2){const v=h[g],b=h[g+1],w=g+3,I=g+4;if(typeof v!="number")return i.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.',w);if(f.length&&f[f.length-1][0]>=v)return i.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',w);const E=i.parse(b,I,_);if(!E)return null;_=_||E.type,f.push([v,E])}return _.kind==="number"||_.kind==="color"||_.kind==="array"&&_.itemType.kind==="number"&&typeof _.N=="number"?new Ts(_,s,o,u,f):i.error(`Type ${Xi(_)} is not interpolatable.`)}evaluate(e){const i=this.labels,s=this.outputs;if(i.length===1)return s[0].evaluate(e);const o=this.input.evaluate(e);if(o<=i[0])return s[0].evaluate(e);const u=i.length;if(o>=i[u-1])return s[u-1].evaluate(e);const h=Ec(i,o),f=Ts.interpolationFactor(this.interpolation,o,i[h],i[h+1]),_=s[h].evaluate(e),g=s[h+1].evaluate(e);return this.operator==="interpolate"?hl[this.type.kind.toLowerCase()](_,g,f):this.operator==="interpolate-hcl"?yo.reverse(yo.interpolate(yo.forward(_),yo.forward(g),f)):oa.reverse(oa.interpolate(oa.forward(_),oa.forward(g),f))}eachChild(e){e(this.input);for(const i of this.outputs)e(i)}outputDefined(){return this.outputs.every(e=>e.outputDefined())}serialize(){let e;e=this.interpolation.name==="linear"?["linear"]:this.interpolation.name==="exponential"?this.interpolation.base===1?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier",...this.interpolation.controlPoints];const i=[this.operator,e,this.input.serialize()];for(let s=0;s<this.labels.length;s++)i.push(this.labels[s],this.outputs[s].serialize());return i}}function ah(r,e,i,s){const o=s-i,u=r-i;return o===0?0:e===1?u/o:(Math.pow(e,u)-1)/(Math.pow(e,o)-1)}class Sl{constructor(e,i){this.type=e,this.args=i}static parse(e,i){if(e.length<2)return i.error("Expectected at least one argument.");let s=null;const o=i.expectedType;o&&o.kind!=="value"&&(s=o);const u=[];for(const f of e.slice(1)){const _=i.parse(f,1+u.length,s,void 0,{typeAnnotation:"omit"});if(!_)return null;s=s||_.type,u.push(_)}const h=o&&u.some(f=>fl(o,f.type));return new Sl(h?Xt:s,u)}evaluate(e){let i,s=null,o=0;for(const u of this.args){if(o++,s=u.evaluate(e),s&&s instanceof xr&&!s.available&&(i||(i=s),s=null,o===this.args.length))return i;if(s!==null)break}return s}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}serialize(){const e=["coalesce"];return this.eachChild(i=>{e.push(i.serialize())}),e}}class Il{constructor(e,i){this.type=i.type,this.bindings=[].concat(e),this.result=i}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(const i of this.bindings)e(i[1]);e(this.result)}static parse(e,i){if(e.length<4)return i.error(`Expected at least 3 arguments, but found ${e.length-1} instead.`);const s=[];for(let u=1;u<e.length-1;u+=2){const h=e[u];if(typeof h!="string")return i.error(`Expected string, but found ${typeof h} instead.`,u);if(/[^a-zA-Z0-9_]/.test(h))return i.error("Variable names must contain only alphanumeric characters or '_'.",u);const f=i.parse(e[u+1],u+1);if(!f)return null;s.push([h,f])}const o=i.parse(e[e.length-1],e.length-1,i.expectedType,s);return o?new Il(s,o):null}outputDefined(){return this.result.outputDefined()}serialize(){const e=["let"];for(const[i,s]of this.bindings)e.push(i,s.serialize());return e.push(this.result.serialize()),e}}class la{constructor(e,i,s){this.type=e,this.index=i,this.input=s}static parse(e,i){if(e.length!==3)return i.error(`Expected 2 arguments, but found ${e.length-1} instead.`);const s=i.parse(e[1],1,it),o=i.parse(e[2],2,Sr(i.expectedType||Xt));return s&&o?new la(o.type.itemType,s,o):null}evaluate(e){const i=this.index.evaluate(e),s=this.input.evaluate(e);if(i<0)throw new ir("Array index out of bounds: negative index");if(i>=s.length)throw new ir("Array index out of bounds: index exceeds array size");if(i!==Math.floor(i))throw new ir("Array index must be an integer. Use at-interpolated for fractional indices");return s[i]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}serialize(){return["at",this.index.serialize(),this.input.serialize()]}}class Ac{constructor(e,i,s){this.type=e,this.index=i,this.input=s}static parse(e,i){if(e.length!==3)return i.error(`Expected 2 arguments, but found ${e.length-1} instead.`);const s=i.parse(e[1],1,it),o=i.parse(e[2],2,Sr(i.expectedType||Xt));return s&&o?new Ac(o.type.itemType,s,o):null}evaluate(e){const i=this.index.evaluate(e),s=this.input.evaluate(e);if(i<0)throw new ir(`Array index out of bounds: ${i} < 0.`);if(i>s.length-1)throw new ir(`Array index out of bounds: ${i} > ${s.length-1}.`);if(i===Math.floor(i))return s[i];const o=Math.floor(i),u=Math.ceil(i),h=s[o],f=s[u];if(typeof h!="number"||typeof f!="number")throw new ir(`Cannot interpolate between non-number values at index ${i}.`);const _=i-o;return h*(1-_)+f*_}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}serialize(){return["at-interpolated",this.index.serialize(),this.input.serialize()]}}class Mc{constructor(e,i){this.type=Wt,this.needle=e,this.haystack=i}static parse(e,i){if(e.length!==3)return i.error(`Expected 2 arguments, but found ${e.length-1} instead.`);const s=i.parse(e[1],1,Xt),o=i.parse(e[2],2,Xt);return s&&o?Uu(s.type,[Wt,Ht,it,Ra,Xt])?new Mc(s,o):i.error(`Expected first argument to be of type boolean, string, number or null, but found ${Xi(s.type)} instead`):null}evaluate(e){const i=this.needle.evaluate(e),s=this.haystack.evaluate(e);if(s==null)return!1;if(!pl(i,["boolean","string","number","null"]))throw new ir(`Expected first argument to be of type boolean, string, number or null, but found ${Xi(Yi(i))} instead.`);if(!pl(s,["string","array"]))throw new ir(`Expected second argument to be of type array or string, but found ${Xi(Yi(s))} instead.`);return s.indexOf(i)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}serialize(){return["in",this.needle.serialize(),this.haystack.serialize()]}}class Cc{constructor(e,i,s){this.type=it,this.needle=e,this.haystack=i,this.fromIndex=s}static parse(e,i){if(e.length<=2||e.length>=5)return i.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);const s=i.parse(e[1],1,Xt),o=i.parse(e[2],2,Xt);if(!s||!o)return null;if(!Uu(s.type,[Wt,Ht,it,Ra,Xt]))return i.error(`Expected first argument to be of type boolean, string, number or null, but found ${Xi(s.type)} instead`);if(e.length===4){const u=i.parse(e[3],3,it);return u?new Cc(s,o,u):null}return new Cc(s,o)}evaluate(e){const i=this.needle.evaluate(e),s=this.haystack.evaluate(e);if(!pl(i,["boolean","string","number","null"]))throw new ir(`Expected first argument to be of type boolean, string, number or null, but found ${Xi(Yi(i))} instead.`);if(!pl(s,["string","array"]))throw new ir(`Expected second argument to be of type array or string, but found ${Xi(Yi(s))} instead.`);if(this.fromIndex){const o=this.fromIndex.evaluate(e);return s.indexOf(i,o)}return s.indexOf(i)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}serialize(){if(this.fromIndex!=null&&this.fromIndex!==void 0){const e=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),e]}return["index-of",this.needle.serialize(),this.haystack.serialize()]}}class El{constructor(e,i,s,o,u,h){this.inputType=e,this.type=i,this.input=s,this.cases=o,this.outputs=u,this.otherwise=h}static parse(e,i){if(e.length<5)return i.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if(e.length%2!=1)return i.error("Expected an even number of arguments.");let s,o;i.expectedType&&i.expectedType.kind!=="value"&&(o=i.expectedType);const u={},h=[];for(let g=2;g<e.length-1;g+=2){let v=e[g];const b=e[g+1];Array.isArray(v)||(v=[v]);const w=i.concat(g);if(v.length===0)return w.error("Expected at least one branch label.");for(const E of v){if(typeof E!="number"&&typeof E!="string")return w.error("Branch labels must be numbers or strings.");if(typeof E=="number"&&Math.abs(E)>Number.MAX_SAFE_INTEGER)return w.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof E=="number"&&Math.floor(E)!==E)return w.error("Numeric branch labels must be integer values.");if(s){if(w.checkSubtype(s,Yi(E)))return null}else s=Yi(E);if(u[String(E)]!==void 0)return w.error("Branch labels must be unique.");u[String(E)]=h.length}const I=i.parse(b,g,o);if(!I)return null;o=o||I.type,h.push(I)}const f=i.parse(e[1],1,Xt);if(!f)return null;const _=i.parse(e[e.length-1],e.length-1,o);return _?f.type.kind!=="value"&&i.concat(1).checkSubtype(s,f.type)?null:new El(s,o,f,u,h,_):null}evaluate(e){const i=this.input.evaluate(e);return(hc(Yi(i),this.inputType)&&this.outputs[this.cases[i]]||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()}serialize(){const e=["match",this.input.serialize()],i=Object.keys(this.cases).sort(),s=[],o={};for(const h of i){const f=o[this.cases[h]];f===void 0?(o[this.cases[h]]=s.length,s.push([this.cases[h],[h]])):s[f][1].push(h)}const u=h=>this.inputType.kind==="number"?Number(h):h;for(const[h,f]of s)e.push(f.length===1?u(f[0]):f.map(u)),e.push(this.outputs[h].serialize());return e.push(this.otherwise.serialize()),e}}class Al{constructor(e,i,s){this.type=e,this.branches=i,this.otherwise=s}static parse(e,i){if(e.length<4)return i.error(`Expected at least 3 arguments, but found only ${e.length-1}.`);if(e.length%2!=0)return i.error("Expected an odd number of arguments.");let s;i.expectedType&&i.expectedType.kind!=="value"&&(s=i.expectedType);const o=[];for(let h=1;h<e.length-1;h+=2){const f=i.parse(e[h],h,Wt);if(!f)return null;const _=i.parse(e[h+1],h+1,s);if(!_)return null;o.push([f,_]),s=s||_.type}const u=i.parse(e[e.length-1],e.length-1,s);return u?new Al(s,o,u):null}evaluate(e){for(const[i,s]of this.branches)if(i.evaluate(e))return s.evaluate(e);return this.otherwise.evaluate(e)}eachChild(e){for(const[i,s]of this.branches)e(i),e(s);e(this.otherwise)}outputDefined(){return this.branches.every(([e,i])=>i.outputDefined())&&this.otherwise.outputDefined()}serialize(){const e=["case"];return this.eachChild(i=>{e.push(i.serialize())}),e}}class xo{constructor(e,i,s,o){this.type=e,this.input=i,this.beginIndex=s,this.endIndex=o}static parse(e,i){if(e.length<=2||e.length>=5)return i.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);const s=i.parse(e[1],1,Xt),o=i.parse(e[2],2,it);if(!s||!o)return null;if(!Uu(s.type,[Sr(Xt),Ht,Xt]))return i.error(`Expected first argument to be of type array or string, but found ${Xi(s.type)} instead`);if(e.length===4){const u=i.parse(e[3],3,it);return u?new xo(s.type,s,o,u):null}return new xo(s.type,s,o)}evaluate(e){const i=this.input.evaluate(e),s=this.beginIndex.evaluate(e);if(!pl(i,["string","array"]))throw new ir(`Expected first argument to be of type array or string, but found ${Xi(Yi(i))} instead.`);if(this.endIndex){const o=this.endIndex.evaluate(e);return i.slice(s,o)}return i.slice(s)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}serialize(){if(this.endIndex!=null&&this.endIndex!==void 0){const e=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),e]}return["slice",this.input.serialize(),this.beginIndex.serialize()]}}class oh{constructor(e,i){this.type=Sr(Ht),this.str=e,this.delimiter=i}static parse(e,i){if(e.length!==3)return i.error(`Expected 2 arguments, but found ${e.length-1} instead.`);const s=i.parse(e[1],1,Ht),o=i.parse(e[2],2,Ht);return s&&o?new oh(s,o):void 0}evaluate(e){const i=this.str.evaluate(e),s=this.delimiter.evaluate(e);return i.split(s)}eachChild(e){e(this.str),e(this.delimiter)}outputDefined(){return!1}serialize(){return["split",this.str.serialize(),this.delimiter.serialize()]}}function bf(r,e){return r==="=="||r==="!="?e.kind==="boolean"||e.kind==="string"||e.kind==="number"||e.kind==="null"||e.kind==="value":e.kind==="string"||e.kind==="number"||e.kind==="value"}function lh(r,e,i,s){return s.compare(e,i)===0}function Na(r,e,i){const s=r!=="=="&&r!=="!=";return class Vv{constructor(u,h,f){this.type=Wt,this.lhs=u,this.rhs=h,this.collator=f,this.hasUntypedArgument=u.type.kind==="value"||h.type.kind==="value"}static parse(u,h){if(u.length!==3&&u.length!==4)return h.error("Expected two or three arguments.");const f=u[0];let _=h.parse(u[1],1,Xt);if(!_)return null;if(!bf(f,_.type))return h.concat(1).error(`"${f}" comparisons are not supported for type '${Xi(_.type)}'.`);let g=h.parse(u[2],2,Xt);if(!g)return null;if(!bf(f,g.type))return h.concat(2).error(`"${f}" comparisons are not supported for type '${Xi(g.type)}'.`);if(_.type.kind!==g.type.kind&&_.type.kind!=="value"&&g.type.kind!=="value")return h.error(`Cannot compare types '${Xi(_.type)}' and '${Xi(g.type)}'.`);s&&(_.type.kind==="value"&&g.type.kind!=="value"?_=new qr(g.type,[_]):_.type.kind!=="value"&&g.type.kind==="value"&&(g=new qr(_.type,[g])));let v=null;if(u.length===4){if(_.type.kind!=="string"&&g.type.kind!=="string"&&_.type.kind!=="value"&&g.type.kind!=="value")return h.error("Cannot use collator to compare non-string types.");if(v=h.parse(u[3],3,cc),!v)return null}return new Vv(_,g,v)}evaluate(u){const h=this.lhs.evaluate(u),f=this.rhs.evaluate(u);if(s&&this.hasUntypedArgument){const _=Yi(h),g=Yi(f);if(_.kind!==g.kind||_.kind!=="string"&&_.kind!=="number")throw new ir(`Expected arguments for "${r}" to be (string, string) or (number, number), but found (${_.kind}, ${g.kind}) instead.`)}if(this.collator&&!s&&this.hasUntypedArgument){const _=Yi(h),g=Yi(f);if(_.kind!=="string"||g.kind!=="string")return e(u,h,f)}return this.collator?i(u,h,f,this.collator.evaluate(u)):e(u,h,f)}eachChild(u){u(this.lhs),u(this.rhs),this.collator&&u(this.collator)}outputDefined(){return!0}serialize(){const u=[r];return this.eachChild(h=>{u.push(h.serialize())}),u}}}const Am=Na("==",function(r,e,i){return e===i},lh),Mm=Na("!=",function(r,e,i){return e!==i},function(r,e,i,s){return!lh(0,e,i,s)}),Cm=Na("<",function(r,e,i){return e<i},function(r,e,i,s){return s.compare(e,i)<0}),wf=Na(">",function(r,e,i){return e>i},function(r,e,i,s){return s.compare(e,i)>0}),Tf=Na("<=",function(r,e,i){return e<=i},function(r,e,i,s){return s.compare(e,i)<=0}),Pc=Na(">=",function(r,e,i){return e>=i},function(r,e,i,s){return s.compare(e,i)>=0});class ch{constructor(e,i,s,o,u,h){this.type=Ht,this.number=e,this.locale=i,this.currency=s,this.unit=o,this.minFractionDigits=u,this.maxFractionDigits=h}static parse(e,i){if(e.length!==3)return i.error("Expected two arguments.");const s=i.parse(e[1],1,it);if(!s)return null;const o=e[2];if(typeof o!="object"||Array.isArray(o))return i.error("NumberFormat options argument must be an object.");let u=null;if(o.locale&&(u=i.parseObjectValue(o.locale,2,"locale",Ht),!u))return null;let h=null;if(o.currency&&(h=i.parseObjectValue(o.currency,2,"currency",Ht),!h))return null;let f=null;if(o.unit&&(f=i.parseObjectValue(o.unit,2,"unit",Ht),!f))return null;let _=null;if(o["min-fraction-digits"]&&(_=i.parseObjectValue(o["min-fraction-digits"],2,"min-fraction-digits",it),!_))return null;let g=null;return o["max-fraction-digits"]&&(g=i.parseObjectValue(o["max-fraction-digits"],2,"max-fraction-digits",it),!g)?null:new ch(s,u,h,f,_,g)}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}serialize(){const e={};return this.locale&&(e.locale=this.locale.serialize()),this.currency&&(e.currency=this.currency.serialize()),this.unit&&(e.unit=this.unit.serialize()),this.minFractionDigits&&(e["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(e["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),e]}}class Dc{constructor(e){this.type=it,this.input=e}static parse(e,i){if(e.length!==2)return i.error(`Expected 1 argument, but found ${e.length-1} instead.`);const s=i.parse(e[1],1);return s?s.type.kind!=="array"&&s.type.kind!=="string"&&s.type.kind!=="value"?i.error(`Expected argument of type string or array, but found ${Xi(s.type)} instead.`):new Dc(s):null}evaluate(e){const i=this.input.evaluate(e);if(typeof i=="string"||Array.isArray(i))return i.length;throw new ir(`Expected value to be of type string or array, but found ${Xi(Yi(i))} instead.`)}eachChild(e){e(this.input)}outputDefined(){return!1}serialize(){const e=["length"];return this.eachChild(i=>{e.push(i.serialize())}),e}}function Sf(r){return function(){r=1831565813+(r|=0)|0;let e=Math.imul(r^r>>>15,1|r);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296}}const vo={"==":Am,"!=":Mm,">":wf,"<":Cm,">=":Pc,"<=":Tf,array:qr,at:la,"at-interpolated":Ac,boolean:qr,case:Al,coalesce:Sl,collator:co,format:vt,image:rt,in:Mc,"index-of":Cc,interpolate:Ts,"interpolate-hcl":Ts,"interpolate-lab":Ts,length:Dc,let:Il,literal:Pn,match:El,number:qr,"number-format":ch,object:qr,slice:xo,step:Tl,string:qr,"to-boolean":Zs,"to-color":Zs,"to-number":Zs,"to-string":Zs,var:Sc,within:aa,distance:ka,config:_o,split:oh};function uh(r,[e,i,s,o]){e=e.evaluate(r),i=i.evaluate(r),s=s.evaluate(r);const u=o?o.evaluate(r):1,h=Kd(e,i,s,u);if(h)throw new ir(h);return new Zt(e/255,i/255,s/255,u)}function hh(r,[e,i,s,o]){e=e.evaluate(r),i=i.evaluate(r),s=s.evaluate(r);const u=o?o.evaluate(r):1,h=(function(g,v,b,w){return typeof g=="number"&&g>=0&&g<=360?typeof v=="number"&&v>=0&&v<=100&&typeof b=="number"&&b>=0&&b<=100?w===void 0||typeof w=="number"&&w>=0&&w<=1?null:`Invalid hsla value [${[g,v,b,w].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid hsla value [${(typeof w=="number"?[g,v,b,w]:[g,v,b]).join(", ")}]: 's', and 'l' must be between 0 and 100.`:`Invalid hsla value [${(typeof w=="number"?[g,v,b,w]:[g,v,b]).join(", ")}]: 'h' must be between 0 and 360.`})(e,i,s,u);if(h)throw new ir(h);const f=`hsla(${e}, ${i}%, ${s}%, ${u})`,_=Zt.parse(f);if(!_)throw new ir(`Failed to parse HSLA color: ${f}`);return _}function If(r,e){return r in e}function dh(r,e){const i=e[r];return i===void 0?null:i}function ca(r){return{type:r}}function zc(r){if(r instanceof _o)return new Set([r.key]);let e=new Set;return r.eachChild(i=>{e=new Set([...e,...zc(i)])}),e}function Va(r){if(r instanceof Cr&&r.name==="is-active-floor")return!0;let e=!1;return r.eachChild(i=>{!e&&Va(i)&&(e=!0)}),e}function Ef(r){return{result:"success",value:r}}function ua(r){return{result:"error",value:r}}function fh(r,e){return!!r&&!!r.parameters&&r.parameters.indexOf(e)>-1}function Rc(r){return r["property-type"]==="data-driven"}function Af(r){return fh(r.expression,"measure-light")}function Lc(r){return fh(r.expression,"zoom")}function ph(r){return!!r.expression&&r.expression.interpolated}function mh(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)}function Mf(r){return r}function _h(r,e){const i=e.type==="color",s=r.stops&&typeof r.stops[0][0]=="object",o=s||!(s||r.property!==void 0),u=r.type||(ph(e)?"exponential":"interval");if(i&&((r=Object.assign({},r)).stops&&(r.stops=r.stops.map(g=>[g[0],Zt.parse(g[1])])),r.default=Zt.parse(r.default?r.default:e.default)),r.colorSpace&&r.colorSpace!=="rgb"&&!vf[r.colorSpace])throw new Error(`Unknown color space: ${r.colorSpace}`);let h,f,_;if(u==="exponential")h=Ua;else if(u==="interval")h=Pm;else if(u==="categorical"){h=Cf,f=Object.create(null);for(const g of r.stops)f[g[0]]=g[1];_=typeof r.stops[0][0]}else{if(u!=="identity")throw new Error(`Unknown function type "${u}"`);h=Dm}if(s){const g={},v=[];for(let I=0;I<r.stops.length;I++){const E=r.stops[I],P=E[0].zoom;g[P]===void 0&&(g[P]={zoom:P,type:r.type,property:r.property,default:r.default,stops:[]},v.push(P)),g[P].stops.push([E[0].value,E[1]])}const b=[];for(const I of v)b.push([g[I].zoom,_h(g[I],e)]);const w={name:"linear"};return{kind:"composite",interpolationType:w,interpolationFactor:Ts.interpolationFactor.bind(void 0,w),zoomStops:b.map(I=>I[0]),evaluate:({zoom:I},E)=>Ua({stops:b,base:r.base},e,I).evaluate(I,E)}}if(o){const g=u==="exponential"?{name:"exponential",base:r.base!==void 0?r.base:1}:null;return{kind:"camera",interpolationType:g,interpolationFactor:Ts.interpolationFactor.bind(void 0,g),zoomStops:r.stops.map(v=>v[0]),evaluate:({zoom:v})=>h(r,e,v,f,_)}}return{kind:"source",evaluate(g,v){const b=v&&v.properties?v.properties[r.property]:void 0;return b===void 0?Ml(r.default,e.default):h(r,e,b,f,_)}}}function Ml(r,e,i){return r!==void 0?r:e!==void 0?e:i!==void 0?i:void 0}function Cf(r,e,i,s,o){return Ml(typeof i===o?s[i]:void 0,r.default,e.default)}function Pm(r,e,i){if(!lo(i))return Ml(r.default,e.default);const s=r.stops.length;if(s===1||i<=r.stops[0][0])return r.stops[0][1];if(i>=r.stops[s-1][0])return r.stops[s-1][1];const o=Ec(r.stops.map(u=>u[0]),i);return r.stops[o][1]}function Ua(r,e,i){const s=r.base!==void 0?r.base:1;if(!lo(i))return Ml(r.default,e.default);const o=r.stops.length;if(o===1||i<=r.stops[0][0])return r.stops[0][1];if(i>=r.stops[o-1][0])return r.stops[o-1][1];const u=Ec(r.stops.map(v=>v[0]),i),h=(function(v,b,w,I){const E=I-w,P=v-w;return E===0?0:b===1?P/E:(Math.pow(b,P)-1)/(Math.pow(b,E)-1)})(i,s,r.stops[u][0],r.stops[u+1][0]),f=r.stops[u][1],_=r.stops[u+1][1];let g=hl[e.type]||Mf;if(r.colorSpace&&r.colorSpace!=="rgb"){const v=vf[r.colorSpace];g=(b,w)=>v.reverse(v.interpolate(v.forward(b),v.forward(w),h))}return typeof f.evaluate=="function"?{evaluate(...v){const b=f.evaluate.apply(void 0,v),w=_.evaluate.apply(void 0,v);if(b!==void 0&&w!==void 0)return g(b,w,h)}}:g(f,_,h)}function Dm(r,e,i){return e.type==="color"?i=Zt.parse(i):e.type==="formatted"?i=Gr.fromString(i.toString()):e.type==="resolvedImage"?i=xr.build(i.toString()):oo(i)===e.type||e.type==="enum"&&e.values[i]||(i=void 0),Ml(i,r.default,e.default)}Cr.register(vo,{error:[{kind:"error"},[Ht],(r,[e])=>{throw new ir(e.evaluate(r))}],typeof:[Ht,[Xt],(r,[e])=>Xi(Yi(e.evaluate(r)))],"to-rgba":[Sr(it,4),[Mr],(r,[e])=>e.evaluate(r).toNonPremultipliedRenderColor(null).toArray()],"to-hsla":[Sr(it,4),[Mr],(r,[e])=>e.evaluate(r).toNonPremultipliedRenderColor(null).toHslaArray()],rgb:[Mr,[it,it,it],uh],rgba:[Mr,[it,it,it,it],uh],hsl:[Mr,[it,it,it],hh],hsla:[Mr,[it,it,it,it],hh],has:{type:Wt,overloads:[[[Ht],(r,[e])=>If(e.evaluate(r),r.properties())],[[Ht,ea],(r,[e,i])=>If(e.evaluate(r),i.evaluate(r))]]},get:{type:Xt,overloads:[[[Ht],(r,[e])=>dh(e.evaluate(r),r.properties())],[[Ht,ea],(r,[e,i])=>dh(e.evaluate(r),i.evaluate(r))]]},"feature-state":[Xt,[Ht],(r,[e])=>dh(e.evaluate(r),r.featureState||{})],properties:[ea,[],r=>r.properties()],"geometry-type":[Ht,[],r=>r.geometryType()],worldview:[Ht,[],r=>r.globals.worldview||""],"is-active-floor":[Wt,ca(Ht),(r,e)=>{if(!(r.globals&&r.globals.activeFloors&&r.globals.activeFloors.size>0))return!1;if(e.length===0)return!0;const i=r.globals.activeFloors;return e.some(s=>{const o=s.evaluate(r);return i.has(o)})}],id:[Xt,[],r=>r.id()],zoom:[it,[],r=>r.globals.zoom],pitch:[it,[],r=>r.globals.pitch||0],"distance-from-center":[it,[],r=>r.distanceFromCenter()],"measure-light":[it,[Ht],(r,[e])=>r.measureLight(e.evaluate(r))],"heatmap-density":[it,[],r=>r.globals.heatmapDensity||0],"line-progress":[it,[],r=>r.globals.lineProgress||0],"raster-value":[it,[],r=>r.globals.rasterValue||0],"raster-particle-speed":[it,[],r=>r.globals.rasterParticleSpeed||0],"sky-radial-progress":[it,[],r=>r.globals.skyRadialProgress||0],accumulated:[Xt,[],r=>r.globals.accumulated===void 0?null:r.globals.accumulated],"+":[it,ca(it),(r,e)=>{let i=0;for(const s of e)i+=s.evaluate(r);return i}],"*":[it,ca(it),(r,e)=>{let i=1;for(const s of e)i*=s.evaluate(r);return i}],"-":{type:it,overloads:[[[it,it],(r,[e,i])=>e.evaluate(r)-i.evaluate(r)],[[it],(r,[e])=>-e.evaluate(r)]]},"/":[it,[it,it],(r,[e,i])=>e.evaluate(r)/i.evaluate(r)],"%":[it,[it,it],(r,[e,i])=>e.evaluate(r)%i.evaluate(r)],ln2:[it,[],()=>Math.LN2],pi:[it,[],()=>Math.PI],e:[it,[],()=>Math.E],"^":[it,[it,it],(r,[e,i])=>Math.pow(e.evaluate(r),i.evaluate(r))],sqrt:[it,[it],(r,[e])=>Math.sqrt(e.evaluate(r))],log10:[it,[it],(r,[e])=>Math.log(e.evaluate(r))/Math.LN10],ln:[it,[it],(r,[e])=>Math.log(e.evaluate(r))],log2:[it,[it],(r,[e])=>Math.log2(e.evaluate(r))],sin:[it,[it],(r,[e])=>Math.sin(e.evaluate(r))],cos:[it,[it],(r,[e])=>Math.cos(e.evaluate(r))],tan:[it,[it],(r,[e])=>Math.tan(e.evaluate(r))],asin:[it,[it],(r,[e])=>Math.asin(e.evaluate(r))],acos:[it,[it],(r,[e])=>Math.acos(e.evaluate(r))],atan:[it,[it],(r,[e])=>Math.atan(e.evaluate(r))],min:[it,ca(it),(r,e)=>Math.min(...e.map(i=>i.evaluate(r)))],max:[it,ca(it),(r,e)=>Math.max(...e.map(i=>i.evaluate(r)))],abs:[it,[it],(r,[e])=>Math.abs(e.evaluate(r))],round:[it,[it],(r,[e])=>{const i=e.evaluate(r);return i<0?-Math.round(-i):Math.round(i)}],floor:[it,[it],(r,[e])=>Math.floor(e.evaluate(r))],ceil:[it,[it],(r,[e])=>Math.ceil(e.evaluate(r))],"filter-==":[Wt,[Ht,Xt],(r,[e,i])=>r.properties()[e.value]===i.value],"filter-id-==":[Wt,[Xt],(r,[e])=>r.id()===e.value],"filter-type-==":[Wt,[Ht],(r,[e])=>r.geometryType()===e.value],"filter-<":[Wt,[Ht,Xt],(r,[e,i])=>{const s=r.properties()[e.value],o=i.value;return typeof s==typeof o&&s<o}],"filter-id-<":[Wt,[Xt],(r,[e])=>{const i=r.id(),s=e.value;return typeof i==typeof s&&i<s}],"filter->":[Wt,[Ht,Xt],(r,[e,i])=>{const s=r.properties()[e.value],o=i.value;return typeof s==typeof o&&s>o}],"filter-id->":[Wt,[Xt],(r,[e])=>{const i=r.id(),s=e.value;return typeof i==typeof s&&i>s}],"filter-<=":[Wt,[Ht,Xt],(r,[e,i])=>{const s=r.properties()[e.value],o=i.value;return typeof s==typeof o&&s<=o}],"filter-id-<=":[Wt,[Xt],(r,[e])=>{const i=r.id(),s=e.value;return typeof i==typeof s&&i<=s}],"filter->=":[Wt,[Ht,Xt],(r,[e,i])=>{const s=r.properties()[e.value],o=i.value;return typeof s==typeof o&&s>=o}],"filter-id->=":[Wt,[Xt],(r,[e])=>{const i=r.id(),s=e.value;return typeof i==typeof s&&i>=s}],"filter-has":[Wt,[Xt],(r,[e])=>e.value in r.properties()],"filter-has-id":[Wt,[],r=>r.id()!==null&&r.id()!==void 0],"filter-type-in":[Wt,[Sr(Ht)],(r,[e])=>e.value.indexOf(r.geometryType())>=0],"filter-id-in":[Wt,[Sr(Xt)],(r,[e])=>e.value.indexOf(r.id())>=0],"filter-in-small":[Wt,[Ht,Sr(Xt)],(r,[e,i])=>i.value.indexOf(r.properties()[e.value])>=0],"filter-in-large":[Wt,[Ht,Sr(Xt)],(r,[e,i])=>(function(s,o,u,h){for(;u<=h;){const f=u+h>>1;if(o[f]===s)return!0;o[f]>s?h=f-1:u=f+1}return!1})(r.properties()[e.value],i.value,0,i.value.length-1)],all:{type:Wt,overloads:[[[Wt,Wt],(r,[e,i])=>e.evaluate(r)&&i.evaluate(r)],[ca(Wt),(r,e)=>{for(const i of e)if(!i.evaluate(r))return!1;return!0}]]},any:{type:Wt,overloads:[[[Wt,Wt],(r,[e,i])=>e.evaluate(r)||i.evaluate(r)],[ca(Wt),(r,e)=>{for(const i of e)if(i.evaluate(r))return!0;return!1}]]},"!":[Wt,[Wt],(r,[e])=>!e.evaluate(r)],"is-supported-script":[Wt,[Ht],(r,[e])=>{const i=r.globals&&r.globals.isSupportedScript;return!i||i(e.evaluate(r))}],upcase:[Ht,[Ht],(r,[e])=>e.evaluate(r).toUpperCase()],downcase:[Ht,[Ht],(r,[e])=>e.evaluate(r).toLowerCase()],concat:[Ht,ca(Xt),(r,e)=>e.map(i=>on(i.evaluate(r))).join("")],"resolved-locale":[Ht,[cc],(r,[e])=>e.evaluate(r).resolvedLocale()],random:[it,[it,it,Xt],(r,e)=>{const[i,s,o]=e.map(h=>h.evaluate(r));if(i>s||i===s)return i;let u;if(typeof o=="string")u=(function(h){let f=0;if(h.length===0)return f;for(let _=0;_<h.length;_++)f=(f<<5)-f+h.charCodeAt(_),f&=f;return f})(o);else{if(typeof o!="number")throw new ir(`Invalid seed input: ${o}`);u=o}return i+Sf(u)()*(s-i)}]});class gh{constructor(e,i,s,o,u){this.expression=e,this._warningHistory={},this._scope=s,this._options=o,this._iconImageUseTheme=u,this._evaluator=new fc(s,o,u),this._defaultValue=i?(function(h){return h.type==="color"&&(mh(h.default)||Array.isArray(h.default))?new Zt(0,0,0,0):h.type==="color"?Zt.parse(h.default)||null:h.default===void 0?null:h.default})(i):null,this._enumValues=i&&i.type==="enum"?i.values:null,this.configDependencies=zc(e),this.isIndoorDependent=Va(e)}evaluateWithoutErrorHandling(e,i,s,o,u,h,f,_){return this._evaluator.globals=e,this._evaluator.feature=i,this._evaluator.featureState=s,this._evaluator.canonical=o||null,this._evaluator.availableImages=u||null,this._evaluator.formattedSection=h,this._evaluator.featureTileCoord=f||null,this._evaluator.featureDistanceData=_||null,this.expression.evaluate(this._evaluator)}evaluate(e,i,s,o,u,h,f,_,g){this._evaluator||(this._evaluator=new fc(this._scope,this._options,this._iconImageUseTheme)),this._evaluator.globals=e,this._evaluator.feature=i||null,this._evaluator.featureState=s||null,this._evaluator.canonical=o||null,this._evaluator.availableImages=u||null,this._evaluator.formattedSection=h||null,this._evaluator.featureTileCoord=f||null,this._evaluator.featureDistanceData=_||null,this._evaluator.iconImageUseTheme=g||null;try{const v=this.expression.evaluate(this._evaluator);if(v==null||typeof v=="number"&&v!=v)return this._defaultValue;if(this._enumValues&&!(v in this._enumValues))throw new ir(`Expected value to be one of ${Object.keys(this._enumValues).map(b=>JSON.stringify(b)).join(", ")}, but found ${JSON.stringify(v)} instead.`);return v}catch(v){const b=v;return this._warningHistory[b.message]||(this._warningHistory[b.message]=!0,typeof console<"u"&&console.warn(`Failed to evaluate expression "${JSON.stringify(this.expression.serialize())}". ${b.message}`)),this._defaultValue}}}function Oc(r){return Array.isArray(r)&&r.length>0&&typeof r[0]=="string"&&r[0]in vo}function ha(r,e,i,s,o){const u=new Ic(vo,[],e?(function(f){const _={color:Mr,string:Ht,number:it,enum:Ht,boolean:Wt,formatted:dl,resolvedImage:ao};return f.type==="array"?Sr(_[f.value]||Xt,f.length):_[f.type]})(e):void 0,void 0,void 0,i,s,o),h=u.parse(r,void 0,void 0,void 0,e&&e.type==="string"?{typeAnnotation:"coerce"}:void 0);return h?Ef(new gh(h,e,i,s,o)):ua(u.errors)}class Cl{constructor(e,i,s,o){this.kind=e,this._styleExpression=i,this.isLightConstant=s,this.isLineProgressConstant=o,this.isStateDependent=e!=="constant"&&!wl(i.expression),this.configDependencies=zc(i.expression),this.isIndoorDependent=Va(i.expression)}evaluateWithoutErrorHandling(e,i,s,o,u,h){return this._styleExpression.evaluateWithoutErrorHandling(e,i,s,o,u,h)}evaluate(e,i,s,o,u,h,f){return this._styleExpression.evaluate(e,i,s,o,u,h,void 0,void 0,f)}}class bo{constructor(e,i,s,o,u,h){this.kind=e,this.zoomStops=s,this._styleExpression=i,this.isStateDependent=e!=="camera"&&!wl(i.expression),this.isIndoorDependent=Va(i.expression),this.isLightConstant=u,this.isLineProgressConstant=h,this.configDependencies=zc(i.expression),this.interpolationType=o}evaluateWithoutErrorHandling(e,i,s,o,u,h){return this._styleExpression.evaluateWithoutErrorHandling(e,i,s,o,u,h)}evaluate(e,i,s,o,u,h){return this._styleExpression.evaluate(e,i,s,o,u,h)}interpolationFactor(e,i,s){return this.interpolationType?Ts.interpolationFactor(this.interpolationType,e,i,s):0}}function yh(r,e,i,s,o){if((r=ha(r,e,i,s,o)).result==="error")return r;const u=r.value.expression,h=po(u);if(!h&&!Rc(e))return ua([new ss("","data expressions not supported")]);const f=mo(u,["zoom","pitch","distance-from-center"]);if(!f&&!Lc(e))return ua([new ss("","zoom expressions not supported")]);const _=mo(u,["measure-light"]);if(!_&&!Af(e))return ua([new ss("","measure-light expression not supported")]);const g=mo(u,["line-progress"]);if(!g&&!(function(w){return fh(w.expression,"line-progress")})(e))return ua([new ss("","line-progress expression not supported")]);const v=e.expression&&e.expression.relaxZoomRestriction,b=To(u);return b||f||v?b instanceof ss?ua([b]):b instanceof Ts&&!ph(e)?ua([new ss("",'"interpolate" expressions cannot be used with this property')]):Ef(b?new bo(h&&g?"camera":"composite",r.value,b.labels,b instanceof Ts?b.interpolation:void 0,_,g):new Cl(h&&g?"constant":"source",r.value,_,g)):ua([new ss("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression, or in the properties of atmosphere.')])}class wo{constructor(e,i){this._parameters=e,this._specification=i,Object.assign(this,_h(this._parameters,this._specification))}static deserialize(e){return new wo(e._parameters,e._specification)}static serialize(e){return{_parameters:e._parameters,_specification:e._specification}}}function To(r){let e=null;if(r instanceof Il)e=To(r.result);else if(r instanceof Sl){for(const i of r.args)if(e=To(i),e)break}else(r instanceof Tl||r instanceof Ts)&&r.input instanceof Cr&&r.input.name==="zoom"&&(e=r);return e instanceof ss||r.eachChild(i=>{const s=To(i);s instanceof ss?e=s:e&&s&&e!==s&&(e=new ss("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),e}var Fc,Pf,da=(function(){if(Pf)return Fc;Pf=1,Fc=e;var r=3;function e(i,s,o){var u=this.cells=[];if(i instanceof ArrayBuffer){this.arrayBuffer=i;var h=new Int32Array(this.arrayBuffer);i=h[0],this.d=(s=h[1])+2*(o=h[2]);for(var f=0;f<this.d*this.d;f++){var _=h[r+f],g=h[r+f+1];u.push(_===g?null:h.subarray(_,g))}var v=h[r+u.length+1];this.keys=h.subarray(h[r+u.length],v),this.bboxes=h.subarray(v),this.insert=this._insertReadonly}else{this.d=s+2*o;for(var b=0;b<this.d*this.d;b++)u.push([]);this.keys=[],this.bboxes=[]}this.n=s,this.extent=i,this.padding=o,this.scale=s/i,this.uid=0;var w=o/s*i;this.min=-w,this.max=i+w}return e.prototype.insert=function(i,s,o,u,h){this._forEachCell(s,o,u,h,this._insertCell,this.uid++),this.keys.push(i),this.bboxes.push(s),this.bboxes.push(o),this.bboxes.push(u),this.bboxes.push(h)},e.prototype._insertReadonly=function(){throw"Cannot insert into a GridIndex created from an ArrayBuffer."},e.prototype._insertCell=function(i,s,o,u,h,f){this.cells[h].push(f)},e.prototype.query=function(i,s,o,u,h){var f=this.min,_=this.max;if(i<=f&&s<=f&&_<=o&&_<=u&&!h)return Array.prototype.slice.call(this.keys);var g=[];return this._forEachCell(i,s,o,u,this._queryCell,g,{},h),g},e.prototype._queryCell=function(i,s,o,u,h,f,_,g){var v=this.cells[h];if(v!==null)for(var b=this.keys,w=this.bboxes,I=0;I<v.length;I++){var E=v[I];if(_[E]===void 0){var P=4*E;(g?g(w[P+0],w[P+1],w[P+2],w[P+3]):i<=w[P+2]&&s<=w[P+3]&&o>=w[P+0]&&u>=w[P+1])?(_[E]=!0,f.push(b[E])):_[E]=!1}}},e.prototype._forEachCell=function(i,s,o,u,h,f,_,g){for(var v=this._convertToCellCoord(i),b=this._convertToCellCoord(s),w=this._convertToCellCoord(o),I=this._convertToCellCoord(u),E=v;E<=w;E++)for(var P=b;P<=I;P++){var R=this.d*P+E;if((!g||g(this._convertFromCellCoord(E),this._convertFromCellCoord(P),this._convertFromCellCoord(E+1),this._convertFromCellCoord(P+1)))&&h.call(this,i,s,o,u,R,f,_,g))return}},e.prototype._convertFromCellCoord=function(i){return(i-this.padding)/this.scale},e.prototype._convertToCellCoord=function(i){return Math.max(0,Math.min(this.d-1,Math.floor(i*this.scale)+this.padding))},e.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var i=this.cells,s=r+this.cells.length+1+1,o=0,u=0;u<this.cells.length;u++)o+=this.cells[u].length;var h=new Int32Array(s+o+this.keys.length+this.bboxes.length);h[0]=this.extent,h[1]=this.n,h[2]=this.padding;for(var f=s,_=0;_<i.length;_++){var g=i[_];h[r+_]=f,h.set(g,f),f+=g.length}return h[r+i.length]=f,h.set(this.keys,f),h[r+i.length+1]=f+=this.keys.length,h.set(this.bboxes,f),f+=this.bboxes.length,h.buffer},Fc})(),So=_s(da);const Bc={};function Qe(r,e,i={}){Object.defineProperty(r,"_classRegistryKey",{value:e,writable:!1}),Bc[e]={klass:r,omit:i.omit||[]}}Qe(Object,"Object"),So.serialize=function(r,e){const i=r.toArrayBuffer();return e&&e.add(i),{buffer:i}},So.deserialize=function(r){return new So(r.buffer)},Object.defineProperty(So,"name",{value:"Grid"}),Qe(So,"Grid"),delete ke.prototype.constructor,Qe(Zt,"Color"),Qe(Error,"Error"),Qe(Gr,"Formatted"),Qe(dc,"FormattedSection"),Qe(rs,"AJAXError"),Qe(xr,"ResolvedImage"),Qe(wo,"StylePropertyFunction"),Qe(gh,"StyleExpression",{omit:["_evaluator"]}),Qe(Xr,"ImageId"),Qe(bs,"ImageVariant"),Qe(bo,"ZoomDependentExpression"),Qe(Cl,"ZoomConstantExpression"),Qe(Cr,"CompoundExpression",{omit:["_evaluate"]});for(const r in vo)Bc[vo[r]._classRegistryKey]||Qe(vo[r],`Expression${r}`);function Df(r){return r&&(r instanceof ArrayBuffer||r.constructor&&r.constructor.name==="ArrayBuffer")}function Xs(r,e){if(r==null||typeof r=="boolean"||typeof r=="number"||typeof r=="string"||r instanceof Boolean||r instanceof Number||r instanceof String||r instanceof Date||r instanceof RegExp)return r;if(Df(r)||r instanceof ImageBitmap)return e&&e.add(r),r;if(ArrayBuffer.isView(r))return e&&e.add(r.buffer),r;if(r instanceof ImageData)return e&&e.add(r.data.buffer),r;if(Array.isArray(r)){const i=[];for(const s of r)i.push(Xs(s,e));return i}if(r instanceof Map){const i={$name:"Map",entries:[]};for(const[s,o]of r.entries())i.entries.push(Xs(s),Xs(o,e));return i}if(r instanceof Set){const i={$name:"Set"};let s=0;for(const o of r.values())i[++s]=Xs(o);return i}if(typeof r=="bigint")return{$name:"BigInt",value:r.toString()};if(typeof r=="object"){const i=r.constructor,s=i._classRegistryKey;if(!s)throw new Error(`Can't serialize object of unregistered class "${i.name}".`);const o=i.serialize?i.serialize(r,e):{};if(!i.serialize){for(const u in r)r.hasOwnProperty(u)&&(Bc[s].omit.indexOf(u)>=0||(o[u]=Xs(r[u],e)));r instanceof Error&&(o.message=r.message)}if(o.$name)throw new Error("$name property is reserved for worker serialization logic.");return s!=="Object"&&(o.$name=s),o}throw new Error("can't serialize object of type "+typeof r)}function zn(r){if(r==null||typeof r=="boolean"||typeof r=="number"||typeof r=="string"||r instanceof Boolean||r instanceof Number||r instanceof String||r instanceof Date||r instanceof RegExp||Df(r)||r instanceof ImageBitmap||ArrayBuffer.isView(r)||r instanceof ImageData)return r;if(Array.isArray(r))return r.map(zn);if(typeof r=="object"){const e=r.$name||"Object";if(e==="Map"){const o=r.entries||[],u=new Map;for(let h=0;h<o.length;h+=2)u.set(zn(o[h]),zn(o[h+1]));return u}if(e==="Set"){const o=new Set;for(const u of Object.keys(r))u!=="$name"&&o.add(zn(r[u]));return o}if(e==="BigInt")return BigInt(r.value);const{klass:i}=Bc[e];if(!i)throw new Error(`Can't deserialize unregistered class "${e}".`);if(i.deserialize)return i.deserialize(r);const s=Object.create(i.prototype);for(const o of Object.keys(r))o!=="$name"&&(s[o]=zn(r[o]));return s}throw new Error("can't deserialize object of type "+typeof r)}const Pl=r=>r>=1536&&r<=1791,xh=r=>r>=1872&&r<=1919,zf=r=>r>=2208&&r<=2303,Rf=r=>r>=11904&&r<=12031,kc=r=>r>=12032&&r<=12255,Nc=r=>r>=12272&&r<=12287,Dl=r=>r>=12288&&r<=12351,Vc=r=>r>=12352&&r<=12447,Io=r=>r>=12448&&r<=12543,zl=r=>r>=12544&&r<=12591,vh=r=>r>=12704&&r<=12735,un=r=>r>=12736&&r<=12783,Lf=r=>r>=12784&&r<=12799,Of=r=>r>=12800&&r<=13055,Ff=r=>r>=13056&&r<=13311,bh=r=>r>=13312&&r<=19903,Uc=r=>r>=19968&&r<=40959,Rl=r=>r>=40960&&r<=42127,wh=r=>r>=42128&&r<=42191,Th=r=>r>=44032&&r<=55215,jc=r=>r>=63744&&r<=64255,Sh=r=>r>=64336&&r<=65023,Bf=r=>r>=65040&&r<=65055,Ih=r=>r>=65072&&r<=65103,kf=r=>r>=65104&&r<=65135,Eh=r=>r>=65136&&r<=65279,Ah=r=>r>=65280&&r<=65519;function Mh(r){for(const e of r)if(Ch(e.charCodeAt(0)))return!0;return!1}function zm(r){for(const e of r)if(!Rm(e.charCodeAt(0)))return!1;return!0}function Rm(r){return!(Pl(r)||xh(r)||zf(r)||Sh(r)||Eh(r))}function Lm(r){return!(r<11904||!(vh(r)||zl(r)||Ih(r)||jc(r)||Ff(r)||Rf(r)||un(r)||Dl(r)||bh(r)||Uc(r)||Of(r)||Ah(r)||Vc(r)||Nc(r)||kc(r)||Lf(r)||Io(r)||Bf(r)||wh(r)||Rl(r)))}function Ch(r){return!(r!==746&&r!==747&&(r<4352||!(vh(r)||zl(r)||Ih(r)&&!(r>=65097&&r<=65103)||jc(r)||Ff(r)||Rf(r)||un(r)||!(!Dl(r)||r>=12296&&r<=12305||r>=12308&&r<=12319||r===12336)||bh(r)||Uc(r)||Of(r)||(e=>e>=12592&&e<=12687)(r)||(e=>e>=43360&&e<=43391)(r)||(e=>e>=55216&&e<=55295)(r)||(e=>e>=4352&&e<=4607)(r)||Th(r)||Vc(r)||Nc(r)||(e=>e>=12688&&e<=12703)(r)||kc(r)||Lf(r)||Io(r)&&r!==12540||!(!Ah(r)||r===65288||r===65289||r===65293||r>=65306&&r<=65310||r===65339||r===65341||r===65343||r>=65371&&r<=65503||r===65507||r>=65512&&r<=65519)||!(!kf(r)||r>=65112&&r<=65118||r>=65123&&r<=65126)||(e=>e>=5120&&e<=5759)(r)||(e=>e>=6320&&e<=6399)(r)||Bf(r)||(e=>e>=19904&&e<=19967)(r)||Rl(r)||wh(r))))}function Nf(r){return r===12312||r===12313||r===12316||r===12540||r===12448}function ja(r){return!(Ch(r)||(function(e){return!!((i=>i>=128&&i<=255)(e)&&(e===167||e===169||e===174||e===177||e===188||e===189||e===190||e===215||e===247)||(i=>i>=8192&&i<=8303)(e)&&(e===8214||e===8224||e===8225||e===8240||e===8241||e===8251||e===8252||e===8258||e===8263||e===8264||e===8265||e===8273)||(i=>i>=8448&&i<=8527)(e)||(i=>i>=8528&&i<=8591)(e)||(i=>i>=8960&&i<=9215)(e)&&(e>=8960&&e<=8967||e>=8972&&e<=8991||e>=8996&&e<=9e3||e===9003||e>=9085&&e<=9114||e>=9150&&e<=9165||e===9167||e>=9169&&e<=9179||e>=9186&&e<=9215)||(i=>i>=9216&&i<=9279)(e)&&e!==9251||(i=>i>=9280&&i<=9311)(e)||(i=>i>=9312&&i<=9471)(e)||(i=>i>=9632&&i<=9727)(e)||(i=>i>=9728&&i<=9983)(e)&&!(e>=9754&&e<=9759)||(i=>i>=11008&&i<=11263)(e)&&(e>=11026&&e<=11055||e>=11088&&e<=11097||e>=11192&&e<=11243)||Dl(e)||Io(e)||(i=>i>=57344&&i<=63743)(e)||Ih(e)||kf(e)||Ah(e)||e===8734||e===8756||e===8757||e>=9984&&e<=10087||e>=10102&&e<=10131||e===65532||e===65533)})(r))}function Vf(r){return Pl(r)||xh(r)||zf(r)||Sh(r)||Eh(r)}function Ph(r){return r>=1424&&r<=2303||Sh(r)||Eh(r)}function Gc(r,e){return!(!e&&Ph(r)||r>=2304&&r<=3583||r>=3840&&r<=4255||(i=>i>=6016&&i<=6143)(r))}function Om(r){for(const e of r)if(Ph(e.charCodeAt(0)))return!0;return!1}const ns={unavailable:"unavailable",deferred:"deferred",loading:"loading",parsing:"parsing",parsed:"parsed",loaded:"loaded",error:"error"};let hn=null,Fr=ns.unavailable,Ss=null;const Uf=function(r){r&&typeof r=="string"&&r.indexOf("NetworkError")>-1&&(Fr=ns.error),hn&&hn(r)};function Dh(){zh.fire(new Hs("pluginStateChange",{pluginStatus:Fr,pluginURL:Ss}))}const zh=new Ws,Rh=function(){return Fr},jf=function(){if(Fr!==ns.deferred||!Ss)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");Fr=ns.loading,Dh(),Ss&&ol({url:Ss},r=>{r?Uf(r):(Fr=ns.loaded,Dh())})},Rn={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>Fr===ns.loaded||Rn.applyArabicShaping!=null,isLoading:()=>Fr===ns.loading,setState(r){Fr=r.pluginStatus,Ss=r.pluginURL},isParsing:()=>Fr===ns.parsing,isParsed:()=>Fr===ns.parsed,getPluginURL:()=>Ss};class ei{constructor(e,i){this.zoom=e,i?(this.now=i.now,this.fadeDuration=i.fadeDuration,this.transition=i.transition,this.pitch=i.pitch,this.brightness=i.brightness,this.worldview=i.worldview,this.activeFloors=i.activeFloors):(this.now=0,this.fadeDuration=0,this.transition={},this.pitch=0,this.brightness=0)}isSupportedScript(e){return(function(i,s){for(const o of i)if(!Gc(o.charCodeAt(0),s))return!1;return!0})(e,Rn.isLoaded())}}class Eo{constructor(e,i,s,o,u){this.property=e,this.value=i,this.expression=(function(h,f,_,g,v){if(mh(h))return new wo(h,f);if(Oc(h)||Array.isArray(h)&&h.length>0){const b=yh(h,f,_,g,v);if(b.result==="error")throw new Error(b.value.map(w=>`${w.key}: ${w.message}`).join(", "));return b.value}{let b=h;return typeof h=="string"&&f.type==="color"&&(b=Zt.parse(h)),{kind:"constant",configDependencies:new Set,isIndoorDependent:!1,evaluate:()=>b}}})(i===void 0?e.specification.default:i,e.specification,s,o,u)}isIndoorDependent(){return this.expression.isIndoorDependent}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}possiblyEvaluate(e,i,s,o){return this.property.possiblyEvaluate(this,e,i,s,o)}}class Ll{constructor(e,i,s,o){this.property=e,this.value=new Eo(e,void 0,i,s,o)}transitioned(e,i){return new qc(this.property,this.value,i,Object.assign({},e.transition,this.transition),e.now)}untransitioned(){return new qc(this.property,this.value,null,{},0)}}class Lh{constructor(e,i,s,o){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues),this._scope=i,this._options=s,this._iconImageUseTheme=o,this._isIndoorDependent=!1,this.configDependencies=new Set}getValue(e){return xt(this._values[e].value.value)}setValue(e,i){this._values.hasOwnProperty(e)||(this._values[e]=new Ll(this._values[e].property,this._scope,this._options,this._iconImageUseTheme)),this._values[e].value=new Eo(this._values[e].property,i===null?void 0:xt(i),this._scope,this._options,this._iconImageUseTheme),this._values[e].value.expression.configDependencies&&(this.configDependencies=new Set([...this.configDependencies,...this._values[e].value.expression.configDependencies]),this._isIndoorDependent=this._isIndoorDependent||this._values[e].value.isIndoorDependent())}setTransitionOrValue(e,i){i&&(this._options=i);const s=this._properties.properties;if(e)for(const o in e){const u=e[o];if(o.endsWith("-transition")){const h=o.slice(0,-11);s[h]&&this.setTransition(h,u)}else s.hasOwnProperty(o)&&this.setValue(o,u)}}getTransition(e){return xt(this._values[e].transition)}setTransition(e,i){this._values.hasOwnProperty(e)||(this._values[e]=new Ll(this._values[e].property)),this._values[e].transition=xt(i)||void 0}serialize(){const e={};for(const i of Object.keys(this._values)){const s=this.getValue(i);s!==void 0&&(e[i]=s);const o=this.getTransition(i);o!==void 0&&(e[`${i}-transition`]=o)}return e}transitioned(e,i){const s=new Ao(this._properties);for(const o of Object.keys(this._values))s._values[o]=this._values[o].transitioned(e,i._values[o]);return s}untransitioned(){const e=new Ao(this._properties);for(const i of Object.keys(this._values))e._values[i]=this._values[i].untransitioned();return e}isIndoorDependent(){return this._isIndoorDependent}}class qc{constructor(e,i,s,o,u){const h=o.delay||0,f=o.duration||0;u=u||0,this.property=e,this.value=i,this.begin=u+h,this.end=this.begin+f,e.specification.transition&&(o.delay||o.duration)&&(this.prior=s)}possiblyEvaluate(e,i,s){const o=e.now||0,u=this.value.possiblyEvaluate(e,i,s),h=this.prior;if(h){if(o>this.end)return this.prior=null,u;if(this.value.isDataDriven())return this.prior=null,u;if(o<this.begin)return h.possiblyEvaluate(e,i,s);{const f=(o-this.begin)/(this.end-this.begin);return this.property.interpolate(h.possiblyEvaluate(e,i,s),u,U(f))}}return u}}class Ao{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)}possiblyEvaluate(e,i,s){const o=new qa(this._properties);for(const u of Object.keys(this._values))o._values[u]=this._values[u].possiblyEvaluate(e,i,s);return o}hasTransition(){for(const e of Object.keys(this._values))if(this._values[e].prior)return!0;return!1}}class Oh{constructor(e,i,s,o){this._properties=e,this._values=Object.create(e.defaultPropertyValues),this._scope=i,this._options=s,this._iconImageUseTheme=o,this._isIndoorDependent=!1,this.configDependencies=new Set}getValue(e){return xt(this._values[e].value)}setValue(e,i){this._values[e]=new Eo(this._values[e].property,i===null?void 0:xt(i),this._scope,this._options,this._iconImageUseTheme),this._values[e].expression.configDependencies&&(this.configDependencies=new Set([...this.configDependencies,...this._values[e].expression.configDependencies]),this._isIndoorDependent=this._isIndoorDependent||this._values[e].isIndoorDependent())}serialize(){const e={};for(const i of Object.keys(this._values)){const s=this.getValue(i);s!==void 0&&(e[i]=s)}return e}possiblyEvaluate(e,i,s,o){const u=new qa(this._properties);for(const h of Object.keys(this._values))u._values[h]=this._values[h].possiblyEvaluate(e,i,s,o);return u}isIndoorDependent(){return this._isIndoorDependent}}class Ga{constructor(e,i,s,o){this.property=e,this.value=i,this.parameters=s,this.iconImageUseTheme=o}isConstant(){return this.value.kind==="constant"}constantOr(e){return this.value.kind==="constant"?this.value.value:e}evaluate(e,i,s,o){return this.property.evaluate(this.value,this.parameters,e,i,s,o,this.iconImageUseTheme)}}class qa{constructor(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)}get(e){return this._values[e]}}class Ve{constructor(e){this.specification=e}possiblyEvaluate(e,i){return e.expression.evaluate(i)}interpolate(e,i,s){const o=hl[this.specification.type];return o?o(e,i,s):e}}class He{constructor(e,i){this.specification=e,this.overrides=i}possiblyEvaluate(e,i,s,o,u){return e.expression.kind==="constant"||e.expression.kind==="camera"?new Ga(this,{kind:"constant",value:e.expression.evaluate(i,null,{},s,o,void 0,u)},i):new Ga(this,e.expression,i,u)}interpolate(e,i,s){if(e.value.kind!=="constant"||i.value.kind!=="constant")return e;if(e.value.value===void 0||i.value.value===void 0)return new Ga(this,{kind:"constant",value:void 0},e.parameters);const o=hl[this.specification.type];return o?new Ga(this,{kind:"constant",value:o(e.value.value,i.value.value,s)},e.parameters):e}evaluate(e,i,s,o,u,h,f){return e.kind==="constant"?e.value:e.evaluate(i,s,o,u,h,void 0,f)}}class Yr{constructor(e){this.specification=e}possiblyEvaluate(e,i,s,o){return!!e.expression.evaluate(i,null,{},s,o)}interpolate(){return!1}}class Mi{constructor(e){this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];const i=new ei(0,{});for(const s in e){const o=e[s];o.specification.overridable&&this.overridableProperties.push(s);const u=this.defaultPropertyValues[s]=new Eo(o,void 0),h=this.defaultTransitionablePropertyValues[s]=new Ll(o);this.defaultTransitioningPropertyValues[s]=h.untransitioned(),this.defaultPossiblyEvaluatedValues[s]=u.possiblyEvaluate(i)}}}Qe(He,"DataDrivenProperty"),Qe(Ve,"DataConstantProperty"),Qe(Yr,"ColorRampProperty");var fe=JSON.parse('{"$version":8,"$root":{"version":{"type":"enum","values":[8]},"fragment":{"type":"boolean"},"name":{"type":"string"},"metadata":{"type":"*"},"center":{"type":"array","value":"number"},"zoom":{"type":"number"},"bearing":{"type":"number","default":0,"period":360},"pitch":{"type":"number","default":0},"light":{"type":"light"},"lights":{"type":"array","value":"light-3d"},"terrain":{"type":"terrain","optional":true},"fog":{"type":"fog"},"snow":{"type":"snow"},"rain":{"type":"rain"},"camera":{"type":"camera"},"color-theme":{"type":"colorTheme"},"indoor":{"type":"indoor"},"imports":{"type":"array","value":"import"},"iconsets":{"type":"iconsets"},"schema":{"type":"schema"},"sources":{"type":"sources"},"sprite":{"type":"string"},"glyphs":{"type":"string","default":"mapbox://fonts/mapbox/{fontstack}/{range}.pbf"},"transition":{"type":"transition"},"projection":{"type":"projection"},"layers":{"type":"array","value":"layer"},"models":{"type":"models"},"featuresets":{"type":"featuresets"}},"featuresets":{"*":{"type":"featureset"}},"featureset":{"metadata":{"type":"*"},"selectors":{"type":"array","value":"selector"}},"selector":{"layer":{"type":"string"},"properties":{"type":"selectorProperty"},"featureNamespace":{"type":"string"},"_uniqueFeatureID":{"type":"boolean"}},"selectorProperty":{"*":{"type":"*"}},"model":{"type":"string"},"import":{"id":{"type":"string"},"url":{"type":"string"},"config":{"type":"config"},"data":{"type":"$root"},"color-theme":{"type":"colorTheme","optional":true}},"config":{"*":{"type":"*"}},"schema":{"*":{"type":"option"}},"option":{"default":{"type":"*","expression":{}},"type":{"type":"enum","values":{"string":1,"number":1,"boolean":1,"color":1}},"array":{"type":"boolean"},"minValue":{"type":"number"},"maxValue":{"type":"number"},"stepValue":{"type":"number"},"values":{"type":"array","value":"*"},"metadata":{"type":"*"}},"models":{"*":{"type":"model"}},"light-3d":{"id":{"type":"string"},"properties":{"type":"properties"},"type":{"type":"enum","values":{"ambient":{},"directional":{},"flat":{}}}},"properties":["properties_light_directional","properties_light_ambient","properties_light_flat"],"properties_light_directional":{"direction":{"type":"array","default":[210,30],"minimum":[0,0],"maximum":[360,90],"length":2,"value":"number","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"color":{"type":"color","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom"]},"use-theme":true,"transition":true},"intensity":{"type":"number","default":0.5,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"cast-shadows":{"type":"boolean","default":false},"shadow-quality":{"type":"number","default":1,"minimum":0,"maximum":1,"expression":{"parameters":["zoom"]}},"shadow-intensity":{"type":"number","default":1,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"shadow-draw-before-layer":{"type":"string"}},"properties_light_ambient":{"color":{"type":"color","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom"]},"use-theme":true,"transition":true},"intensity":{"type":"number","default":0.5,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"properties_light_flat":{"anchor":{"type":"enum","default":"viewport","values":{"map":1,"viewport":1},"expression":{"parameters":["zoom"]}},"position":{"type":"array","default":[1.15,210,30],"length":3,"value":"number","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"color":{"type":"color","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom"]},"use-theme":true,"transition":true},"intensity":{"type":"number","default":0.5,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"iconsets":{"*":{"type":"iconset"}},"iconset":["iconset_sprite","iconset_source"],"iconset_sprite":{"type":{"type":"enum","values":{"sprite":1}},"url":{"type":"string"}},"iconset_source":{"type":{"type":"enum","values":{"source":1}},"source":{"type":"string"}},"sources":{"*":{"type":"source"}},"source":["source_vector","source_raster","source_raster_dem","source_raster_array","source_geojson","source_video","source_image","source_model"],"source_vector":{"type":{"type":"enum","values":{"vector":1}},"url":{"type":"string"},"tiles":{"type":"array","value":"string"},"bounds":{"type":"array","value":"number","length":4,"default":[-180,-85.051129,180,85.051129]},"extra_bounds":{"type":"array","value":{"type":"array","value":"number","length":4}},"scheme":{"type":"enum","values":{"xyz":1,"tms":1},"default":"xyz"},"minzoom":{"type":"number","default":0},"maxzoom":{"type":"number","default":22},"attribution":{"type":"string"},"promoteId":{"type":"promoteId"},"volatile":{"type":"boolean","default":false},"*":{"type":"*"}},"source_raster":{"type":{"type":"enum","values":{"raster":1}},"url":{"type":"string"},"tiles":{"type":"array","value":"string"},"bounds":{"type":"array","value":"number","length":4,"default":[-180,-85.051129,180,85.051129]},"extra_bounds":{"type":"array","value":{"type":"array","value":"number","length":4}},"minzoom":{"type":"number","default":0},"maxzoom":{"type":"number","default":22},"tileSize":{"type":"number","default":512},"scheme":{"type":"enum","values":{"xyz":1,"tms":1},"default":"xyz"},"attribution":{"type":"string"},"volatile":{"type":"boolean","default":false},"*":{"type":"*"}},"source_raster_dem":{"type":{"type":"enum","values":{"raster-dem":1}},"url":{"type":"string"},"tiles":{"type":"array","value":"string"},"bounds":{"type":"array","value":"number","length":4,"default":[-180,-85.051129,180,85.051129]},"extra_bounds":{"type":"array","value":{"type":"array","value":"number","length":4}},"minzoom":{"type":"number","default":0},"maxzoom":{"type":"number","default":22},"tileSize":{"type":"number","default":512},"attribution":{"type":"string"},"encoding":{"type":"enum","values":{"terrarium":1,"mapbox":1},"default":"mapbox"},"volatile":{"type":"boolean","default":false},"*":{"type":"*"}},"source_raster_array":{"type":{"type":"enum","values":{"raster-array":1}},"url":{"type":"string"},"tiles":{"type":"array","value":"string"},"bounds":{"type":"array","value":"number","length":4,"default":[-180,-85.051129,180,85.051129]},"extra_bounds":{"type":"array","value":{"type":"array","value":"number","length":4}},"minzoom":{"type":"number","default":0},"maxzoom":{"type":"number","default":22},"tileSize":{"type":"number","default":512},"attribution":{"type":"string"},"rasterLayers":{"type":"*"},"volatile":{"type":"boolean","default":false},"*":{"type":"*"}},"source_geojson":{"type":{"type":"enum","values":{"geojson":1}},"data":{"type":"*"},"maxzoom":{"type":"number","default":18},"minzoom":{"type":"number","default":0},"attribution":{"type":"string"},"buffer":{"type":"number","default":128,"maximum":512,"minimum":0},"filter":{"type":"*"},"tolerance":{"type":"number","default":0.375},"cluster":{"type":"boolean","default":false},"clusterRadius":{"type":"number","default":50,"minimum":0},"clusterMaxZoom":{"type":"number"},"clusterMinPoints":{"type":"number"},"clusterProperties":{"type":"*"},"lineMetrics":{"type":"boolean","default":false},"generateId":{"type":"boolean","default":false},"promoteId":{"type":"promoteId"},"dynamic":{"type":"boolean","default":false}},"source_video":{"type":{"type":"enum","values":{"video":1}},"urls":{"type":"array","value":"string"},"coordinates":{"type":"array","length":4,"value":{"type":"array","length":2,"value":"number"}}},"source_image":{"type":{"type":"enum","values":{"image":1}},"url":{"type":"string"},"coordinates":{"type":"array","length":4,"value":{"type":"array","length":2,"value":"number"}}},"modelNodeOverride":{"orientation":{"type":"array","value":"number","length":3,"default":[0,0,0],"period":360}},"modelNodeOverrides":{"*":{"type":"modelNodeOverride"}},"modelMaterialOverride":{"model-color":{"type":"color"},"model-color-mix-intensity":{"type":"number"},"model-opacity":{"type":"number"},"model-emissive-strength":{"type":"number"}},"modelMaterialOverrides":{"*":{"type":"modelMaterialOverride"}},"modelSourceModel":{"uri":{"type":"string"},"position":{"type":"array","value":"number","length":2,"default":[0,0],"minimum":[-180,-90],"maximum":[180,90]},"orientation":{"type":"array","value":"number","length":3,"default":[0,0,0],"period":360},"nodeOverrides":{"type":"modelNodeOverrides"},"materialOverrides":{"type":"modelMaterialOverrides"},"nodeOverrideNames":{"type":"array","value":"string"},"materialOverrideNames":{"type":"array","value":"string"},"featureProperties":{"type":"*"}},"modelSourceModels":{"*":{"type":"modelSourceModel"}},"source_model":{"type":{"type":"enum","values":{"model":1,"batched-model":1}},"url":{"type":"string"},"maxzoom":{"type":"number","default":18},"minzoom":{"type":"number","default":0},"tiles":{"type":"array","value":"string"},"models":{"type":"modelSourceModels"}},"layer":{"id":{"type":"string"},"type":{"type":"enum","values":{"fill":{},"line":{},"symbol":{},"circle":{},"heatmap":{},"fill-extrusion":{},"building":{},"raster":{},"raster-particle":{},"hillshade":{},"model":{},"background":{},"sky":{},"slot":{},"clip":{}}},"metadata":{"type":"*"},"source":{"type":"string"},"source-layer":{"type":"string"},"slot":{"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"},"appearances":{"type":"array","value":"appearance","supported-layer-types":["symbol"]}},"appearance":{"condition":{"type":"boolean","expression":{"interpolated":true,"parameters":["zoom","pitch","feature","feature-state","measure-light","distance-from-center"]},"property-type":"data-driven"},"name":{"type":"string"},"properties":{"type":"*"}},"layout":["layout_clip","layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_building","layout_symbol","layout_raster","layout_raster-particle","layout_hillshade","layout_background","layout_sky","layout_model"],"layout_background":{"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}}},"layout_sky":{"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}}},"layout_model":{"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}},"model-id":{"type":"string","default":"","property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"model-allow-density-reduction":{"type":"boolean","default":true}},"layout_clip":{"clip-layer-types":{"type":"array","value":"enum","values":{"model":1,"symbol":1},"default":[],"expression":{}},"clip-layer-scope":{"type":"array","value":"string","default":[],"expression":{}},"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}}},"layout_fill":{"fill-sort-key":{"type":"number","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}},"fill-elevation-reference":{"type":"enum","values":{"none":1,"hd-road-base":1,"hd-road-markup":1},"default":"none","expression":{}},"fill-construct-bridge-guard-rail":{"type":"boolean","default":"true","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"}},"layout_circle":{"circle-sort-key":{"type":"number","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"circle-elevation-reference":{"type":"enum","values":{"none":1,"hd-road-markup":1},"default":"none","expression":{}},"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}}},"layout_heatmap":{"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}}},"layout_fill-extrusion":{"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}},"fill-extrusion-edge-radius":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{}}},"layout_building":{"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}},"building-facade":{"type":"boolean","default":false,"expression":{"parameters":["feature"]},"property-type":"data-driven"},"building-facade-floors":{"type":"number","minimum":1,"maximum":200,"default":3,"property-type":"data-driven","expression":{"parameters":["feature"]}},"building-facade-unit-width":{"type":"number","minimum":1,"maximum":20,"default":3.1,"property-type":"data-driven","expression":{"parameters":["feature"]}},"building-facade-window":{"type":"array","length":2,"value":"number","minimum":0.1,"maximum":1,"default":[0.9,0.9],"property-type":"data-driven","expression":{"parameters":["feature"]}},"building-roof-shape":{"type":"enum","values":{"flat":1,"hipped":1,"gabled":1,"parapet":1,"mansard":1,"skillion":1,"pyramidal":1},"default":"flat","expression":{"parameters":["feature"]},"property-type":"data-driven"},"building-height":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{},"property-type":"data-driven"},"building-base":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{},"property-type":"data-driven"},"building-flood-light-wall-radius":{"property-type":"data-driven","type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["feature","feature-state"]}},"building-flood-light-ground-radius":{"property-type":"data-driven","type":"number","default":0,"transition":true,"expression":{"interpolated":true,"parameters":["feature","feature-state"]}},"building-flip-roof-orientation":{"property-type":"data-driven","type":"boolean","default":false,"transition":true,"expression":{"interpolated":true,"parameters":["feature","feature-state"]}}},"layout_line":{"line-cap":{"type":"enum","values":{"butt":1,"round":1,"square":1},"default":"butt","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-join":{"type":"enum","values":{"bevel":1,"round":1,"miter":1,"none":1},"default":"miter","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{"type":"number","default":2,"expression":{"interpolated":true,"parameters":["zoom"]}},"line-round-limit":{"type":"number","default":1.05,"expression":{"interpolated":true,"parameters":["zoom"]}},"line-sort-key":{"type":"number","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-z-offset":{"type":"number","default":0,"expression":{"parameters":["zoom","feature","line-progress"]},"property-type":"data-driven"},"line-elevation-reference":{"type":"enum","values":{"none":1,"sea":1,"ground":1,"hd-road-markup":1},"default":"none","expression":{}},"line-cross-slope":{"type":"number","expression":{}},"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}},"line-width-unit":{"type":"enum","values":{"pixels":1,"meters":1},"default":"pixels","expression":{"parameters":["zoom"]}},"line-elevation-ground-scale":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","feature","line-progress"]},"transition":true,"property-type":"data-driven"}},"layout_symbol":{"symbol-placement":{"type":"enum","values":{"point":1,"line":1,"line-center":1},"default":"point","expression":{"parameters":["zoom"]}},"symbol-spacing":{"type":"number","default":250,"minimum":1,"expression":{"interpolated":true,"parameters":["zoom"]}},"symbol-avoid-edges":{"type":"boolean","default":false,"expression":{"parameters":["zoom"]}},"symbol-sort-key":{"type":"number","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{"type":"enum","values":{"auto":1,"viewport-y":1,"source":1},"default":"auto","expression":{"parameters":["zoom"]}},"symbol-z-elevate":{"type":"boolean","default":false,"expression":{"parameters":["zoom"]}},"symbol-elevation-reference":{"type":"enum","values":{"sea":1,"ground":1,"hd-road-markup":1},"default":"ground","expression":{"parameters":["zoom"]}},"icon-allow-overlap":{"type":"boolean","default":false,"expression":{"parameters":["zoom"]}},"icon-ignore-placement":{"type":"boolean","default":false,"expression":{"parameters":["zoom"]}},"icon-optional":{"type":"boolean","default":false,"expression":{"parameters":["zoom"]}},"icon-rotation-alignment":{"type":"enum","values":{"map":1,"viewport":1,"auto":1},"default":"auto","expression":{"parameters":["zoom"]}},"icon-size":{"type":"number","default":1,"minimum":0,"appearance":true,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-size-scale-range":{"type":"array","value":"number","length":2,"default":[0.8,2],"minimum":[0.1,0.1],"maximum":[10,10],"expression":{}},"icon-text-fit":{"type":"enum","values":{"none":1,"width":1,"height":1,"both":1},"default":"none","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit-padding":{"type":"array","value":"number","length":4,"default":[0,0,0,0],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-image":{"type":"resolvedImage","tokens":true,"appearance":true,"use-theme":true,"expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{"type":"number","default":0,"period":360,"appearance":true,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{"type":"number","default":2,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]}},"icon-keep-upright":{"type":"boolean","default":false,"expression":{"parameters":["zoom"]}},"icon-offset":{"type":"array","value":"number","length":2,"default":[0,0],"appearance":true,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{"type":"enum","values":{"center":1,"left":1,"right":1,"top":1,"bottom":1,"top-left":1,"top-right":1,"bottom-left":1,"bottom-right":1},"default":"center","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{"type":"enum","values":{"map":1,"viewport":1,"auto":1},"default":"auto","expression":{"parameters":["zoom"]}},"text-pitch-alignment":{"type":"enum","values":{"map":1,"viewport":1,"auto":1},"default":"auto","expression":{"parameters":["zoom"]}},"text-rotation-alignment":{"type":"enum","values":{"map":1,"viewport":1,"auto":1},"default":"auto","expression":{"parameters":["zoom"]}},"text-field":{"type":"formatted","default":"","tokens":true,"expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-font":{"type":"array","value":"string","default":["Open Sans Regular","Arial Unicode MS Regular"],"expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-size":{"type":"number","default":16,"minimum":0,"appearance":true,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-size-scale-range":{"type":"array","value":"number","length":2,"default":[0.8,2],"minimum":[0.1,0.1],"maximum":[10,10],"expression":{}},"text-max-width":{"type":"number","default":10,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{"type":"number","default":1.2,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-letter-spacing":{"type":"number","default":0,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-justify":{"type":"enum","values":{"auto":1,"left":1,"center":1,"right":1},"default":"center","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{"type":"number","default":0,"property-type":"data-driven","expression":{"interpolated":true,"parameters":["zoom","feature"]}},"text-variable-anchor":{"type":"array","value":"enum","values":{"center":1,"left":1,"right":1,"top":1,"bottom":1,"top-left":1,"top-right":1,"bottom-left":1,"bottom-right":1},"expression":{"parameters":["zoom"]}},"text-anchor":{"type":"enum","values":{"center":1,"left":1,"right":1,"top":1,"bottom":1,"top-left":1,"top-right":1,"bottom-left":1,"bottom-right":1},"default":"center","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{"type":"number","default":45,"expression":{"interpolated":true,"parameters":["zoom"]}},"text-writing-mode":{"type":"array","value":"enum","values":{"horizontal":1,"vertical":1},"expression":{"parameters":["zoom"]}},"text-rotate":{"type":"number","default":0,"period":360,"appearance":true,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-padding":{"type":"number","default":2,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]}},"text-keep-upright":{"type":"boolean","default":true,"expression":{"parameters":["zoom"]}},"text-transform":{"type":"enum","values":{"none":1,"uppercase":1,"lowercase":1},"default":"none","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-offset":{"type":"array","value":"number","length":2,"default":[0,0],"appearance":true,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{"type":"boolean","default":false,"expression":{"parameters":["zoom"]}},"text-ignore-placement":{"type":"boolean","default":false,"expression":{"parameters":["zoom"]}},"text-optional":{"type":"boolean","default":false,"expression":{"parameters":["zoom"]}},"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}}},"layout_raster":{"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}}},"layout_raster-particle":{"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}}},"layout_hillshade":{"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}}},"filter":{"type":"array","value":"*"},"filter_symbol":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature","pitch","distance-from-center"]}},"filter_fill":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_hillshade":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_raster":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_raster-particle":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_clip":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_model":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_line":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_circle":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_fill-extrusion":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_building":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_heatmap":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_operator":{"type":"enum","values":{"==":1,"!=":1,">":1,">=":1,"<":1,"<=":1,"in":1,"!in":1,"all":1,"any":1,"none":1,"has":1,"!has":1}},"geometry_type":{"type":"enum","values":{"Point":1,"LineString":1,"Polygon":1}},"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":1,"exponential":1,"interval":1,"categorical":1},"default":"exponential"},"colorSpace":{"type":"enum","values":{"rgb":1,"lab":1,"hcl":1},"default":"rgb"},"default":{"type":"*"}},"function_stop":{"type":"array","minimum":0,"maximum":24,"value":["number","color"],"length":2},"expression":{"type":"array","value":"*","minimum":1},"fog":{"range":{"type":"array","default":[0.5,10],"minimum":-20,"maximum":20,"length":2,"value":"number","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true}},"color":{"type":"color","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"use-theme":true,"transition":true},"high-color":{"type":"color","default":"#245cdf","expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"use-theme":true,"transition":true},"space-color":{"type":"color","default":["interpolate",["linear"],["zoom"],4,"#010b19",7,"#367ab9"],"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"use-theme":true,"transition":true},"horizon-blend":{"type":"number","default":["interpolate",["linear"],["zoom"],4,0.2,7,0.1],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"star-intensity":{"type":"number","default":["interpolate",["linear"],["zoom"],5,0.35,6,0],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"vertical-range":{"type":"array","default":[0,0],"minimum":0,"length":2,"value":"number","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true}}},"snow":{"density":{"type":"number","default":["interpolate",["linear"],["zoom"],11,0,13,0.85],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"intensity":{"type":"number","default":1,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"color":{"type":"color","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"use-theme":true,"transition":true},"opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"vignette":{"type":"number","default":["interpolate",["linear"],["zoom"],11,0,13,0.3],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"vignette-color":{"type":"color","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"use-theme":true,"transition":true},"center-thinning":{"type":"number","default":0.4,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"direction":{"type":"array","default":[0,50],"minimum":0,"maximum":360,"length":2,"value":"number","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true}},"flake-size":{"type":"number","default":0.71,"minimum":0,"maximum":5,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true}},"rain":{"density":{"type":"number","default":["interpolate",["linear"],["zoom"],11,0,13,0.5],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"intensity":{"type":"number","default":1,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"color":{"type":"color","default":["interpolate",["linear"],["measure-light","brightness"],0,"#03113d",0.3,"#a8adbc"],"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"use-theme":true,"transition":true},"opacity":{"type":"number","default":["interpolate",["linear"],["measure-light","brightness"],0,0.88,1,0.7],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"vignette":{"type":"number","default":["interpolate",["linear"],["zoom"],11,0,13,1],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"vignette-color":{"type":"color","default":["interpolate",["linear"],["measure-light","brightness"],0,"#001736",0.3,"#464646"],"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"use-theme":true,"transition":true},"center-thinning":{"type":"number","default":0.57,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"direction":{"type":"array","default":[0,80],"minimum":0,"maximum":360,"length":2,"value":"number","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true}},"droplet-size":{"type":"array","default":[2.6,18.2],"minimum":0,"maximum":50,"length":2,"value":"number","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true}},"distortion-strength":{"type":"number","default":0.7,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true}},"camera":{"camera-projection":{"type":"enum","values":{"perspective":1,"orthographic":1},"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"default":"perspective"}},"colorTheme":{"data":{"type":"string","expression":{}}},"indoor_source":{"sourceId":{"type":"string"},"sourceLayers":{"type":"array","value":"string"}},"indoor":{"*":{"type":"indoor_source"}},"light":{"anchor":{"type":"enum","default":"viewport","values":{"map":1,"viewport":1},"expression":{"parameters":["zoom"]}},"position":{"type":"array","default":[1.15,210,30],"length":3,"value":"number","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"color":{"type":"color","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom"]},"use-theme":true,"transition":true},"intensity":{"type":"number","default":0.5,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"projection":{"name":{"type":"enum","values":{"albers":1,"equalEarth":1,"equirectangular":1,"lambertConformalConic":1,"mercator":1,"naturalEarth":1,"winkelTripel":1,"globe":1},"default":"mercator"},"center":{"type":"array","length":2,"value":"number","minimum":[-180,-90],"maximum":[180,90]},"parallels":{"type":"array","length":2,"value":"number","minimum":[-90,-90],"maximum":[90,90]}},"terrain":{"source":{"type":"string"},"exaggeration":{"type":"number","default":1,"minimum":0,"maximum":1000,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"paint":["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_building","paint_symbol","paint_raster","paint_raster-particle","paint_hillshade","paint_background","paint_sky","paint_model"],"paint_fill":{"fill-antialias":{"type":"boolean","default":true,"expression":{"parameters":["zoom"]}},"fill-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"fill-color":{"type":"color","default":"#000000","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"fill-outline-color":{"type":"color","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"fill-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"fill-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]}},"fill-pattern":{"type":"resolvedImage","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"fill-pattern-cross-fade":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"fill-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"fill-z-offset":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"fill-bridge-guard-rail-color":{"type":"color","default":"rgba(241, 236, 225, 255)","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light","feature"]},"property-type":"data-driven"},"fill-tunnel-structure-color":{"type":"color","default":"rgba(241, 236, 225, 255)","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light","feature"]},"property-type":"data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"fill-extrusion-color":{"type":"color","default":"#000000","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"fill-extrusion-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"fill-extrusion-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]}},"fill-extrusion-pattern":{"type":"resolvedImage","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"fill-extrusion-pattern-cross-fade":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"fill-extrusion-height":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-height-alignment":{"type":"enum","values":{"terrain":1,"flat":1},"default":"flat"},"fill-extrusion-base-alignment":{"type":"enum","values":{"terrain":1,"flat":1},"default":"terrain"},"fill-extrusion-vertical-gradient":{"type":"boolean","default":true,"expression":{"parameters":["zoom"]}},"fill-extrusion-ambient-occlusion-intensity":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"fill-extrusion-ambient-occlusion-radius":{"type":"number","default":3,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"fill-extrusion-ambient-occlusion-wall-radius":{"type":"number","default":3,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"fill-extrusion-ambient-occlusion-ground-radius":{"type":"number","default":3,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"fill-extrusion-ambient-occlusion-ground-attenuation":{"type":"number","default":0.69,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"fill-extrusion-flood-light-color":{"type":"color","default":"#ffffff","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"fill-extrusion-flood-light-intensity":{"type":"number","default":0,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"fill-extrusion-flood-light-wall-radius":{"property-type":"data-driven","type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["feature","feature-state"]}},"fill-extrusion-flood-light-ground-radius":{"property-type":"data-driven","type":"number","default":0,"transition":true,"expression":{"interpolated":true,"parameters":["feature","feature-state"]}},"fill-extrusion-flood-light-ground-attenuation":{"type":"number","default":0.69,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"fill-extrusion-vertical-scale":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"fill-extrusion-rounded-roof":{"type":"boolean","default":true,"expression":{"parameters":["zoom"]}},"fill-extrusion-cutoff-fade-range":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{}},"fill-extrusion-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light","feature-state"]},"property-type":"data-driven"},"fill-extrusion-line-width":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"fill-extrusion-cast-shadows":{"type":"boolean","default":true}},"paint_building":{"building-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"building-ambient-occlusion-intensity":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{"parameters":[]},"transition":true},"building-ambient-occlusion-ground-intensity":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"building-ambient-occlusion-ground-radius":{"type":"number","default":3,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"building-ambient-occlusion-ground-attenuation":{"type":"number","default":0.69,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"building-vertical-scale":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"building-cast-shadows":{"type":"boolean","default":true},"building-color":{"type":"color","default":"rgba(193, 154, 127, 1)","use-theme":true,"expression":{"interpolated":true,"parameters":["feature","feature-state","measure-light"]},"property-type":"data-driven"},"building-emissive-strength":{"type":"number","default":0,"minimum":0,"maximum":5,"expression":{"interpolated":true,"parameters":["feature","feature-state","measure-light"]},"property-type":"data-driven"},"building-facade-emissive-chance":{"type":"number","default":0.35,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["measure-light","zoom"]}},"building-cutoff-fade-range":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{}},"building-flood-light-color":{"type":"color","default":"#ffffff","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"building-flood-light-intensity":{"type":"number","default":0,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"building-flood-light-ground-attenuation":{"type":"number","default":0.69,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}}},"paint_line":{"line-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-color":{"type":"color","default":"#000000","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"line-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]}},"line-width":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light","line-progress"]},"property-type":"data-driven"},"line-gap-width":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-offset":{"type":"number","default":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-blur":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-dasharray":{"type":"array","value":"number","minimum":0,"expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-pattern":{"type":"resolvedImage","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-pattern-cross-fade":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"line-gradient":{"type":"color","use-theme":true,"expression":{"interpolated":true,"parameters":["line-progress"]}},"line-trim-offset":{"type":"array","value":"number","length":2,"default":[0,0],"minimum":[0,0],"maximum":[1,1]},"line-trim-fade-range":{"type":"array","value":"number","length":2,"default":[0,0],"minimum":[0,0],"maximum":[1,1],"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"line-trim-color":{"type":"color","default":"transparent","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"line-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-driven"},"line-border-width":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-border-color":{"type":"color","default":"rgba(0, 0, 0, 0)","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-occlusion-opacity":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"paint_circle":{"circle-radius":{"type":"number","default":5,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-color":{"type":"color","default":"#000000","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-blur":{"type":"number","default":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"circle-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]}},"circle-pitch-scale":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]}},"circle-pitch-alignment":{"type":"enum","values":{"map":1,"viewport":1},"default":"viewport","expression":{"parameters":["zoom"]}},"circle-stroke-width":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-stroke-color":{"type":"color","default":"#000000","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-stroke-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}}},"paint_heatmap":{"heatmap-radius":{"type":"number","default":30,"minimum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"heatmap-weight":{"type":"number","default":1,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"heatmap-intensity":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"heatmap-color":{"type":"color","default":["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",0.1,"royalblue",0.3,"cyan",0.5,"lime",0.7,"yellow",1,"red"],"use-theme":true,"expression":{"interpolated":true,"parameters":["heatmap-density"]}},"heatmap-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}}},"paint_symbol":{"icon-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-occlusion-opacity":{"type":"number","minimum":0,"maximum":1,"default":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-emissive-strength":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light","feature-state"]},"property-type":"data-driven"},"text-emissive-strength":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light","feature-state"]},"property-type":"data-driven"},"icon-color":{"type":"color","default":"#000000","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-halo-width":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-halo-blur":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"icon-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]}},"icon-image-cross-fade":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"text-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-occlusion-opacity":{"type":"number","minimum":0,"maximum":1,"default":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-color":{"type":"color","default":"#000000","use-theme":true,"transition":true,"overridable":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-halo-width":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-halo-blur":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"text-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]}},"icon-color-saturation":{"type":"number","default":0,"minimum":-1,"maximum":1,"expression":{}},"icon-color-contrast":{"type":"number","default":0,"minimum":-1,"maximum":1,"expression":{}},"icon-color-brightness-min":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{}},"icon-color-brightness-max":{"type":"number","default":1,"minimum":0,"maximum":1,"expression":{}},"symbol-z-offset":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"}},"paint_raster":{"raster-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-color":{"type":"color","use-theme":true,"expression":{"interpolated":true,"parameters":["raster-value"]}},"raster-color-mix":{"type":"array","default":[0.2126,0.7152,0.0722,0],"length":4,"value":"number","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-color-range":{"type":"array","length":2,"value":"number","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-hue-rotate":{"type":"number","default":0,"period":360,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-brightness-min":{"type":"number","default":0,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-brightness-max":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-saturation":{"type":"number","default":0,"minimum":-1,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-contrast":{"type":"number","default":0,"minimum":-1,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-resampling":{"type":"enum","values":{"linear":1,"nearest":1},"default":"linear","expression":{"parameters":["zoom"]}},"raster-fade-duration":{"type":"number","default":300,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"raster-array-band":{"type":"string"},"raster-elevation":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-elevation-reference":{"type":"enum","values":{"sea":1,"ground":1},"default":"sea","expression":{}}},"paint_raster-particle":{"raster-particle-array-band":{"type":"string"},"raster-particle-count":{"type":"number","default":512,"minimum":1},"raster-particle-color":{"type":"color","use-theme":true,"expression":{"interpolated":true,"parameters":["raster-particle-speed"]}},"raster-particle-max-speed":{"type":"number","default":1,"minimum":1},"raster-particle-speed-factor":{"type":"number","default":0.2,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-particle-fade-opacity-factor":{"type":"number","default":0.98,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-particle-reset-rate-factor":{"type":"number","default":0.8,"minimum":0,"maximum":1},"raster-particle-elevation":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}}},"paint_hillshade":{"hillshade-illumination-direction":{"type":"number","default":335,"minimum":0,"maximum":359,"expression":{"interpolated":true,"parameters":["zoom"]}},"hillshade-illumination-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"viewport","expression":{"parameters":["zoom"]}},"hillshade-exaggeration":{"type":"number","default":0.5,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"hillshade-shadow-color":{"type":"color","default":"#000000","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"hillshade-highlight-color":{"type":"color","default":"#FFFFFF","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"hillshade-accent-color":{"type":"color","default":"#000000","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"hillshade-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}}},"paint_background":{"background-pitch-alignment":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":[]}},"background-color":{"type":"color","default":"#000000","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"background-pattern":{"type":"resolvedImage","expression":{"parameters":["zoom"]}},"background-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"background-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}}},"paint_sky":{"sky-type":{"type":"enum","values":{"gradient":1,"atmosphere":1},"default":"atmosphere","expression":{"parameters":["zoom"]}},"sky-atmosphere-sun":{"type":"array","value":"number","length":2,"minimum":[0,0],"maximum":[360,180],"expression":{"parameters":["zoom"]}},"sky-atmosphere-sun-intensity":{"type":"number","default":10,"minimum":0,"maximum":100},"sky-gradient-center":{"type":"array","value":"number","default":[0,0],"length":2,"minimum":[0,0],"maximum":[360,180],"expression":{"parameters":["zoom"]}},"sky-gradient-radius":{"type":"number","default":90,"minimum":0,"maximum":180,"expression":{"parameters":["zoom"]}},"sky-gradient":{"type":"color","default":["interpolate",["linear"],["sky-radial-progress"],0.8,"#87ceeb",1,"white"],"use-theme":true,"expression":{"interpolated":true,"parameters":["sky-radial-progress"]}},"sky-atmosphere-halo-color":{"type":"color","default":"white","use-theme":true},"sky-atmosphere-color":{"type":"color","default":"white","use-theme":true},"sky-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}}},"paint_model":{"model-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["feature","feature-state","zoom"]},"property-type":"data-driven"},"model-rotation":{"type":"array","value":"number","length":3,"default":[0,0,0],"period":360,"property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state","zoom"]},"transition":true},"model-scale":{"type":"array","value":"number","length":3,"default":[1,1,1],"property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state","zoom"]},"transition":true},"model-translation":{"type":"array","value":"number","length":3,"default":[0,0,0],"property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state","zoom"]},"transition":true},"model-color":{"type":"color","default":"#ffffff","property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state","measure-light","zoom"]},"use-theme":true,"transition":true},"model-color-mix-intensity":{"type":"number","property-type":"data-driven","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["feature","feature-state","measure-light"]},"transition":true},"model-type":{"type":"enum","values":{"common-3d":1,"location-indicator":1},"default":"common-3d"},"model-cast-shadows":{"type":"boolean","default":true},"model-receive-shadows":{"type":"boolean","default":true},"model-ambient-occlusion-intensity":{"type":"number","default":1,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"model-emissive-strength":{"type":"number","property-type":"data-driven","default":0,"minimum":0,"maximum":5,"expression":{"interpolated":true,"parameters":["feature","feature-state","measure-light"]},"transition":true},"model-roughness":{"type":"number","default":1,"minimum":0,"maximum":1,"property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state"]},"transition":true},"model-height-based-emissive-strength-multiplier":{"type":"array","default":[1,1,1,1,0],"length":5,"value":"number","property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state","measure-light"]},"transition":true},"model-cutoff-fade-range":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{}},"model-front-cutoff":{"type":"array","value":"number","expression":{"interpolated":true,"parameters":["zoom"]},"length":3,"default":[0,0,1],"minimum":[0,0,0],"maximum":[1,1,1]},"model-elevation-reference":{"type":"enum","values":{"sea":1,"ground":1,"hd-road-markup":1},"default":"ground","expression":{}}},"transition":{"duration":{"type":"number","default":300,"minimum":0},"delay":{"type":"number","default":0,"minimum":0}},"promoteId":{"*":{"type":"*"}}}');function Gf(r){return r instanceof Number||r instanceof String||r instanceof Boolean?r.valueOf():r}function $c(r){if(Array.isArray(r))return r.map($c);if(r instanceof Object&&!(r instanceof Number||r instanceof String||r instanceof Boolean)){const e={};for(const i in r)e[i]=$c(r[i]);return e}return Gf(r)}function Fh(r){if(r===!0||r===!1)return!0;if(!Array.isArray(r)||r.length===0)return!1;switch(r[0]){case"has":return r.length>=2&&r[1]!=="$id"&&r[1]!=="$type";case"in":return r.length>=3&&(typeof r[1]!="string"||Array.isArray(r[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return r.length!==3||Array.isArray(r[1])||Array.isArray(r[2]);case"any":case"all":for(const e of r.slice(1))if(!Fh(e)&&typeof e!="boolean")return!1;return!0;default:return!0}}function Bh(r,e="",i=null,s="fill"){if(r==null)return{filter:()=>!0,needGeometry:!1,needFeature:!1};Fh(r)||(r=Hc(r));const o=r;let u=!0;try{u=(function(v){if(!Mo(v))return v;let b=$c(v);return $f(b),b=qf(b),b})(o)}catch{console.warn(`Failed to extract static filter. Filter will continue working, but at higher memory usage and slower framerate.
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const qT=require("./index-C1X97b3g.js");function $T(Au,mm){for(var Ta=0;Ta<mm.length;Ta++){const gn=mm[Ta];if(typeof gn!="string"&&!Array.isArray(gn)){for(const Sa in gn)if(Sa!=="default"&&!(Sa in Au)){const Ko=Object.getOwnPropertyDescriptor(gn,Sa);Ko&&Object.defineProperty(Au,Sa,Ko.get?Ko:{enumerable:!0,get:()=>gn[Sa]})}}}return Object.freeze(Object.defineProperty(Au,Symbol.toStringTag,{value:"Module"}))}var pm={exports:{}},HT=pm.exports,Nv;function WT(){return Nv||(Nv=1,(function(Au,mm){(function(Ta,gn){Au.exports=gn()})(HT,(function(){"use strict";var Ta,gn,Sa;function Ko(a,Rr){if(!Ta)Ta=Rr;else if(!gn)gn=Rr;else{var Ei="self.onerror = function() { console.error('An error occurred while parsing the WebWorker bundle. This is most likely due to improper transpilation by Babel; please see https://docs.mapbox.com/mapbox-gl-js/guides/install/#transpiling'); }; var sharedChunk = {}; ("+Ta+")(sharedChunk); ("+gn+")(sharedChunk); self.onerror = null;",yn={};Ta(yn),Sa=Rr(yn),typeof window<"u"&&window&&window.URL&&window.URL.createObjectURL&&(Sa.workerUrl=window.URL.createObjectURL(new Blob([Ei],{type:"text/javascript"})))}}Ko(["exports"],function(a){var Rr=1e-6,Ei=typeof Float32Array<"u"?Float32Array:Array;function yn(r,e){var i=e[0],s=e[1],o=e[2],u=e[3],h=i*u-o*s;return h?(r[0]=u*(h=1/h),r[1]=-s*h,r[2]=-o*h,r[3]=i*h,r):null}function Jl(){var r=new Ei(9);return Ei!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[5]=0,r[6]=0,r[7]=0),r[0]=1,r[4]=1,r[8]=1,r}function Qa(r,e){var i=e[0],s=e[1],o=e[2],u=e[3],h=e[4],f=e[5],_=e[6],g=e[7],v=e[8];return r[0]=h*v-f*g,r[1]=o*g-s*v,r[2]=s*f-o*h,r[3]=f*_-u*v,r[4]=i*v-o*_,r[5]=o*u-i*f,r[6]=u*g-h*_,r[7]=s*_-i*g,r[8]=i*h-s*u,r}function tn(r,e,i){var s=e[0],o=e[1],u=e[2],h=e[3],f=e[4],_=e[5],g=e[6],v=e[7],b=e[8],w=i[0],I=i[1],E=i[2],P=i[3],R=i[4],D=i[5],k=i[6],O=i[7],j=i[8];return r[0]=w*s+I*h+E*g,r[1]=w*o+I*f+E*v,r[2]=w*u+I*_+E*b,r[3]=P*s+R*h+D*g,r[4]=P*o+R*f+D*v,r[5]=P*u+R*_+D*b,r[6]=k*s+O*h+j*g,r[7]=k*o+O*f+j*v,r[8]=k*u+O*_+j*b,r}function Ia(){var r=new Ei(16);return Ei!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=0,r[12]=0,r[13]=0,r[14]=0),r[0]=1,r[5]=1,r[10]=1,r[15]=1,r}function Jt(r){var e=new Ei(16);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e[9]=r[9],e[10]=r[10],e[11]=r[11],e[12]=r[12],e[13]=r[13],e[14]=r[14],e[15]=r[15],e}function Ai(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function Bs(r,e){var i=e[0],s=e[1],o=e[2],u=e[3],h=e[4],f=e[5],_=e[6],g=e[7],v=e[8],b=e[9],w=e[10],I=e[11],E=e[12],P=e[13],R=e[14],D=e[15],k=i*f-s*h,O=i*_-o*h,j=i*g-u*h,H=s*_-o*f,q=s*g-u*f,se=o*g-u*_,K=v*P-b*E,ee=v*R-w*E,te=v*D-I*E,ne=b*R-w*P,_e=b*D-I*P,be=w*D-I*R,we=k*be-O*_e+j*ne+H*te-q*ee+se*K;return we?(r[0]=(f*be-_*_e+g*ne)*(we=1/we),r[1]=(o*_e-s*be-u*ne)*we,r[2]=(P*se-R*q+D*H)*we,r[3]=(w*q-b*se-I*H)*we,r[4]=(_*te-h*be-g*ee)*we,r[5]=(i*be-o*te+u*ee)*we,r[6]=(R*j-E*se-D*O)*we,r[7]=(v*se-w*j+I*O)*we,r[8]=(h*_e-f*te+g*K)*we,r[9]=(s*te-i*_e-u*K)*we,r[10]=(E*q-P*j+D*k)*we,r[11]=(b*j-v*q-I*k)*we,r[12]=(f*ee-h*ne-_*K)*we,r[13]=(i*ne-s*ee+o*K)*we,r[14]=(P*O-E*H-R*k)*we,r[15]=(v*H-b*O+w*k)*we,r):null}function bi(r,e,i){var s=e[0],o=e[1],u=e[2],h=e[3],f=e[4],_=e[5],g=e[6],v=e[7],b=e[8],w=e[9],I=e[10],E=e[11],P=e[12],R=e[13],D=e[14],k=e[15],O=i[0],j=i[1],H=i[2],q=i[3];return r[0]=O*s+j*f+H*b+q*P,r[1]=O*o+j*_+H*w+q*R,r[2]=O*u+j*g+H*I+q*D,r[3]=O*h+j*v+H*E+q*k,r[4]=(O=i[4])*s+(j=i[5])*f+(H=i[6])*b+(q=i[7])*P,r[5]=O*o+j*_+H*w+q*R,r[6]=O*u+j*g+H*I+q*D,r[7]=O*h+j*v+H*E+q*k,r[8]=(O=i[8])*s+(j=i[9])*f+(H=i[10])*b+(q=i[11])*P,r[9]=O*o+j*_+H*w+q*R,r[10]=O*u+j*g+H*I+q*D,r[11]=O*h+j*v+H*E+q*k,r[12]=(O=i[12])*s+(j=i[13])*f+(H=i[14])*b+(q=i[15])*P,r[13]=O*o+j*_+H*w+q*R,r[14]=O*u+j*g+H*I+q*D,r[15]=O*h+j*v+H*E+q*k,r}function es(r,e,i){var s,o,u,h,f,_,g,v,b,w,I,E,P=i[0],R=i[1],D=i[2];return e===r?(r[12]=e[0]*P+e[4]*R+e[8]*D+e[12],r[13]=e[1]*P+e[5]*R+e[9]*D+e[13],r[14]=e[2]*P+e[6]*R+e[10]*D+e[14],r[15]=e[3]*P+e[7]*R+e[11]*D+e[15]):(o=e[1],u=e[2],h=e[3],f=e[4],_=e[5],g=e[6],v=e[7],b=e[8],w=e[9],I=e[10],E=e[11],r[0]=s=e[0],r[1]=o,r[2]=u,r[3]=h,r[4]=f,r[5]=_,r[6]=g,r[7]=v,r[8]=b,r[9]=w,r[10]=I,r[11]=E,r[12]=s*P+f*R+b*D+e[12],r[13]=o*P+_*R+w*D+e[13],r[14]=u*P+g*R+I*D+e[14],r[15]=h*P+v*R+E*D+e[15]),r}function Lr(r,e,i){var s=i[0],o=i[1],u=i[2];return r[0]=e[0]*s,r[1]=e[1]*s,r[2]=e[2]*s,r[3]=e[3]*s,r[4]=e[4]*o,r[5]=e[5]*o,r[6]=e[6]*o,r[7]=e[7]*o,r[8]=e[8]*u,r[9]=e[9]*u,r[10]=e[10]*u,r[11]=e[11]*u,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r}function xn(r,e,i){var s=Math.sin(i),o=Math.cos(i),u=e[4],h=e[5],f=e[6],_=e[7],g=e[8],v=e[9],b=e[10],w=e[11];return e!==r&&(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[4]=u*o+g*s,r[5]=h*o+v*s,r[6]=f*o+b*s,r[7]=_*o+w*s,r[8]=g*o-u*s,r[9]=v*o-h*s,r[10]=b*o-f*s,r[11]=w*o-_*s,r}function ks(r,e,i){var s=Math.sin(i),o=Math.cos(i),u=e[0],h=e[1],f=e[2],_=e[3],g=e[8],v=e[9],b=e[10],w=e[11];return e!==r&&(r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[0]=u*o-g*s,r[1]=h*o-v*s,r[2]=f*o-b*s,r[3]=_*o-w*s,r[8]=u*s+g*o,r[9]=h*s+v*o,r[10]=f*s+b*o,r[11]=_*s+w*o,r}function Ns(r,e,i){var s=Math.sin(i),o=Math.cos(i),u=e[0],h=e[1],f=e[2],_=e[3],g=e[4],v=e[5],b=e[6],w=e[7];return e!==r&&(r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[0]=u*o+g*s,r[1]=h*o+v*s,r[2]=f*o+b*s,r[3]=_*o+w*s,r[4]=g*o-u*s,r[5]=v*o-h*s,r[6]=b*o-f*s,r[7]=w*o-_*s,r}function rn(r,e){return r[0]=e[0],r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e[1],r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e[2],r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function Ea(r,e,i){var s,o,u,h=i[0],f=i[1],_=i[2],g=Math.sqrt(h*h+f*f+_*_);return g<Rr?null:(h*=g=1/g,f*=g,_*=g,s=Math.sin(e),o=Math.cos(e),r[0]=h*h*(u=1-o)+o,r[1]=f*h*u+_*s,r[2]=_*h*u-f*s,r[3]=0,r[4]=h*f*u-_*s,r[5]=f*f*u+o,r[6]=_*f*u+h*s,r[7]=0,r[8]=h*_*u+f*s,r[9]=f*_*u-h*s,r[10]=_*_*u+o,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r)}function Qo(r,e){var i=e[0],s=e[1],o=e[2],u=e[4],h=e[5],f=e[6],_=e[8],g=e[9],v=e[10];return r[0]=Math.sqrt(i*i+s*s+o*o),r[1]=Math.sqrt(u*u+h*h+f*f),r[2]=Math.sqrt(_*_+g*g+v*v),r}function el(r,e){var i=e[0],s=e[1],o=e[2],u=e[3],h=i+i,f=s+s,_=o+o,g=i*h,v=s*h,b=s*f,w=o*h,I=o*f,E=o*_,P=u*h,R=u*f,D=u*_;return r[0]=1-b-E,r[1]=v+D,r[2]=w-R,r[3]=0,r[4]=v-D,r[5]=1-g-E,r[6]=I+P,r[7]=0,r[8]=w+R,r[9]=I-P,r[10]=1-g-b,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}var tl=bi;function Kt(){var r=new Ei(3);return Ei!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0),r}function Kl(r){var e=new Ei(3);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e}function ts(r){var e=r[0],i=r[1],s=r[2];return Math.sqrt(e*e+i*i+s*s)}function ui(r,e,i){var s=new Ei(3);return s[0]=r,s[1]=e,s[2]=i,s}function pi(r,e,i,s){return r[0]=e,r[1]=i,r[2]=s,r}function qi(r,e,i){return r[0]=e[0]+i[0],r[1]=e[1]+i[1],r[2]=e[2]+i[2],r}function sn(r,e,i){return r[0]=e[0]-i[0],r[1]=e[1]-i[1],r[2]=e[2]-i[2],r}function Vs(r,e,i){return r[0]=e[0]*i[0],r[1]=e[1]*i[1],r[2]=e[2]*i[2],r}function nn(r,e,i){return r[0]=Math.min(e[0],i[0]),r[1]=Math.min(e[1],i[1]),r[2]=Math.min(e[2],i[2]),r}function Us(r,e,i){return r[0]=Math.max(e[0],i[0]),r[1]=Math.max(e[1],i[1]),r[2]=Math.max(e[2],i[2]),r}function wi(r,e,i){return r[0]=e[0]*i,r[1]=e[1]*i,r[2]=e[2]*i,r}function ps(r,e,i,s){return r[0]=e[0]+i[0]*s,r[1]=e[1]+i[1]*s,r[2]=e[2]+i[2]*s,r}function Ql(r,e){var i=e[0]-r[0],s=e[1]-r[1],o=e[2]-r[2];return Math.sqrt(i*i+s*s+o*o)}function il(r,e){var i=e[0]-r[0],s=e[1]-r[1],o=e[2]-r[2];return i*i+s*s+o*o}function ec(r){var e=r[0],i=r[1],s=r[2];return e*e+i*i+s*s}function Gn(r,e){return r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r}function oi(r,e){var i=e[0],s=e[1],o=e[2],u=i*i+s*s+o*o;return u>0&&(u=1/Math.sqrt(u)),r[0]=e[0]*u,r[1]=e[1]*u,r[2]=e[2]*u,r}function zi(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]}function Er(r,e,i){var s=e[0],o=e[1],u=e[2],h=i[0],f=i[1],_=i[2];return r[0]=o*_-u*f,r[1]=u*h-s*_,r[2]=s*f-o*h,r}function Aa(r,e,i,s){var o=e[0],u=e[1],h=e[2];return r[0]=o+s*(i[0]-o),r[1]=u+s*(i[1]-u),r[2]=h+s*(i[2]-h),r}function Vi(r,e,i){var s=e[0],o=e[1],u=e[2],h=i[3]*s+i[7]*o+i[11]*u+i[15];return r[0]=(i[0]*s+i[4]*o+i[8]*u+i[12])/(h=h||1),r[1]=(i[1]*s+i[5]*o+i[9]*u+i[13])/h,r[2]=(i[2]*s+i[6]*o+i[10]*u+i[14])/h,r}function qn(r,e,i){var s=e[0],o=e[1],u=e[2];return r[0]=s*i[0]+o*i[3]+u*i[6],r[1]=s*i[1]+o*i[4]+u*i[7],r[2]=s*i[2]+o*i[5]+u*i[8],r}function $n(r,e,i){var s=i[0],o=i[1],u=i[2],h=i[3],f=e[0],_=e[1],g=e[2],v=o*g-u*_,b=u*f-s*g,w=s*_-o*f;return r[0]=f+h*(v+=v)+o*(w+=w)-u*(b+=b),r[1]=_+h*b+u*v-s*w,r[2]=g+h*w+s*b-o*v,r}function Ma(r){return r[0]=0,r[1]=0,r[2]=0,r}function js(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]}var ji=sn,eo=Vs,Hn=ts;function to(){var r=new Ei(4);return Ei!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0,r[3]=0),r}function Ca(r,e,i){return r[0]=e[0]*i,r[1]=e[1]*i,r[2]=e[2]*i,r[3]=e[3]*i,r}function rl(r,e){var i=e[0],s=e[1],o=e[2],u=e[3],h=i*i+s*s+o*o+u*u;return h>0&&(h=1/Math.sqrt(h)),r[0]=i*h,r[1]=s*h,r[2]=o*h,r[3]=u*h,r}function is(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]+r[3]*e[3]}function Wr(r,e,i){var s=e[0],o=e[1],u=e[2],h=e[3];return r[0]=i[0]*s+i[4]*o+i[8]*u+i[12]*h,r[1]=i[1]*s+i[5]*o+i[9]*u+i[13]*h,r[2]=i[2]*s+i[6]*o+i[10]*u+i[14]*h,r[3]=i[3]*s+i[7]*o+i[11]*u+i[15]*h,r}function vn(){var r=new Ei(4);return Ei!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0),r[3]=1,r}function bn(r){return r[0]=0,r[1]=0,r[2]=0,r[3]=1,r}function Wn(r,e,i){i*=.5;var s=e[0],o=e[1],u=e[2],h=e[3],f=Math.sin(i),_=Math.cos(i);return r[0]=s*_+h*f,r[1]=o*_+u*f,r[2]=u*_-o*f,r[3]=h*_-s*f,r}function Pa(r,e,i){i*=.5;var s=e[0],o=e[1],u=e[2],h=e[3],f=Math.sin(i),_=Math.cos(i);return r[0]=s*_-u*f,r[1]=o*_+h*f,r[2]=u*_+s*f,r[3]=h*_-o*f,r}Kt(),to();var Vr,io,ms,sl=rl,wn=(Vr=Kt(),io=ui(1,0,0),ms=ui(0,1,0),function(r,e,i){var s=zi(e,i);return s<-.999999?(Er(Vr,io,e),Hn(Vr)<1e-6&&Er(Vr,ms,e),oi(Vr,Vr),(function(o,u,h){h*=.5;var f=Math.sin(h);o[0]=f*u[0],o[1]=f*u[1],o[2]=f*u[2],o[3]=Math.cos(h)})(r,Vr,Math.PI),r):s>.999999?(r[0]=0,r[1]=0,r[2]=0,r[3]=1,r):(Er(Vr,e,i),r[0]=Vr[0],r[1]=Vr[1],r[2]=Vr[2],r[3]=1+s,sl(r,r))});function Ar(){var r=new Ei(2);return Ei!=Float32Array&&(r[0]=0,r[1]=0),r}function Tn(r,e){var i=new Ei(2);return i[0]=r,i[1]=e,i}function Sn(r,e,i){return r[0]=e,r[1]=i,r}function Zn(r,e,i){return r[0]=e[0]+i[0],r[1]=e[1]+i[1],r}function In(r,e,i){return r[0]=e[0]-i[0],r[1]=e[1]-i[1],r}function Xn(r,e,i){return r[0]=e[0]*i,r[1]=e[1]*i,r}function Yn(r){var e=r[0],i=r[1];return Math.sqrt(e*e+i*i)}function ro(r,e){var i=e[0],s=e[1],o=i*i+s*s;return o>0&&(o=1/Math.sqrt(o)),r[0]=e[0]*o,r[1]=e[1]*o,r}function yi(r,e){return r[0]*e[0]+r[1]*e[1]}vn(),vn(),Jl();var Tr,tc,so=In;function _s(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}Ar();var Mu=(function(){if(tc)return Tr;function r(e,i,s,o){this.cx=3*e,this.bx=3*(s-e)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(o-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=e,this.p1y=i,this.p2x=s,this.p2y=o}return tc=1,Tr=r,r.prototype={sampleCurveX:function(e){return((this.ax*e+this.bx)*e+this.cx)*e},sampleCurveY:function(e){return((this.ay*e+this.by)*e+this.cy)*e},sampleCurveDerivativeX:function(e){return(3*this.ax*e+2*this.bx)*e+this.cx},solveCurveX:function(e,i){if(i===void 0&&(i=1e-6),e<0)return 0;if(e>1)return 1;for(var s=e,o=0;o<8;o++){var u=this.sampleCurveX(s)-e;if(Math.abs(u)<i)return s;var h=this.sampleCurveDerivativeX(s);if(Math.abs(h)<1e-6)break;s-=u/h}var f=0,_=1;for(s=e,o=0;o<20&&(u=this.sampleCurveX(s),!(Math.abs(u-e)<i));o++)e>u?f=s:_=s,s=.5*(_-f)+f;return s},solve:function(e,i){return this.sampleCurveY(this.solveCurveX(e,i))}},Tr})(),no=_s(Mu);function ke(r,e){this.x=r,this.y=e}function En(r,e){if(Array.isArray(r)){if(!Array.isArray(e)||r.length!==e.length)return!1;for(let i=0;i<r.length;i++)if(!En(r[i],e[i]))return!1;return!0}if(typeof r=="object"&&r!==null&&e!==null){if(typeof e!="object"||Object.keys(r).length!==Object.keys(e).length)return!1;for(const i in r)if(!En(r[i],e[i]))return!1;return!0}return r===e}ke.prototype={clone(){return new ke(this.x,this.y)},add(r){return this.clone()._add(r)},sub(r){return this.clone()._sub(r)},multByPoint(r){return this.clone()._multByPoint(r)},divByPoint(r){return this.clone()._divByPoint(r)},mult(r){return this.clone()._mult(r)},div(r){return this.clone()._div(r)},rotate(r){return this.clone()._rotate(r)},rotateAround(r,e){return this.clone()._rotateAround(r,e)},matMult(r){return this.clone()._matMult(r)},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(r){return this.x===r.x&&this.y===r.y},dist(r){return Math.sqrt(this.distSqr(r))},distSqr(r){const e=r.x-this.x,i=r.y-this.y;return e*e+i*i},angle(){return Math.atan2(this.y,this.x)},angleTo(r){return Math.atan2(this.y-r.y,this.x-r.x)},angleWith(r){return this.angleWithSep(r.x,r.y)},angleWithSep(r,e){return Math.atan2(this.x*e-this.y*r,this.x*r+this.y*e)},_matMult(r){const e=r[2]*this.x+r[3]*this.y;return this.x=r[0]*this.x+r[1]*this.y,this.y=e,this},_add(r){return this.x+=r.x,this.y+=r.y,this},_sub(r){return this.x-=r.x,this.y-=r.y,this},_mult(r){return this.x*=r,this.y*=r,this},_div(r){return this.x/=r,this.y/=r,this},_multByPoint(r){return this.x*=r.x,this.y*=r.y,this},_divByPoint(r){return this.x/=r.x,this.y/=r.y,this},_unit(){return this._div(this.mag()),this},_perp(){const r=this.y;return this.y=this.x,this.x=-r,this},_rotate(r){const e=Math.cos(r),i=Math.sin(r),s=i*this.x+e*this.y;return this.x=e*this.x-i*this.y,this.y=s,this},_rotateAround(r,e){const i=Math.cos(r),s=Math.sin(r),o=e.y+s*(this.x-e.x)+i*(this.y-e.y);return this.x=e.x+i*(this.x-e.x)-s*(this.y-e.y),this.y=o,this},_round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},constructor:ke},ke.convert=function(r){if(r instanceof ke)return r;if(Array.isArray(r))return new ke(+r[0],+r[1]);if(r.x!==void 0&&r.y!==void 0)return new ke(+r.x,+r.y);throw new Error("Expected [x, y] or {x, y} point format")};const Cu=Math.PI/180,nl=180/Math.PI;function Lt(r){return r*Cu}function de(r){return r*nl}const B=[[0,0],[1,0],[1,1],[0,1]];function U(r){if(r<=0)return 0;if(r>=1)return 1;const e=r*r,i=e*r;return 4*(r<.5?i:3*(r-e)+i-.75)}function Z(r,e,i,s){const o=new no(r,e,i,s);return function(u){return o.solve(u)}}const ae=Z(.25,.1,.25,1);function X(r,e,i){return Math.min(i,Math.max(e,r))}function he(r,e,i){return(i=X((i-r)/(e-r),0,1))*i*(3-2*i)}function ye(r,e,i){const s=i-e,o=((r-e)%s+s)%s+e;return o===e?i:o}function ue(r,e,i){if(!r.length)return i(null,[]);let s=r.length;const o=new Array(r.length);let u=null;r.forEach((h,f)=>{e(h,(_,g)=>{_&&(u=_),o[f]=g,--s===0&&i(u,o)})})}let xe=1;function Ne(){return xe++}function ze(r){return r<=1?1:Math.pow(2,Math.ceil(Math.log2(r)))}function Ye(r,e){r.forEach(i=>{e[i]&&(e[i]=e[i].bind(e))})}function nt(r,e,i){const s={};for(const o in r)s[o]=e.call(this,r[o],o,r);return s}function _t(r,e,i){const s={};for(const o in r)e.call(this,r[o],o,r)&&(s[o]=r[o]);return s}function xt(r){return Array.isArray(r)?r.map(xt):typeof r=="object"&&r?nt(r,xt):r}function Tt(r,e){for(let i=0;i<r.length;i++)if(e.indexOf(r[i])>=0)return!0;return!1}const pt={};function ht(r){pt[r]||(typeof console<"u"&&console.warn(r),pt[r]=!0)}function ni(r,e,i){return(i.y-r.y)*(e.x-r.x)>(e.y-r.y)*(i.x-r.x)}function Wi(r){let e=0;for(let i,s,o=0,u=r.length,h=u-1;o<u;h=o++)i=r[o],s=r[h],e+=(s.x-i.x)*(i.y+s.y);return e}function Ti([r,e,i]){const s=Lt(e+90),o=Lt(i);return{x:r*Math.cos(s)*Math.sin(o),y:r*Math.sin(s)*Math.sin(o),z:r*Math.cos(o),azimuthal:e,polar:i}}function Ui(r){return(typeof self<"u"||r!==void 0)&&typeof WorkerGlobalScope<"u"&&(r!==void 0?r:self)instanceof WorkerGlobalScope}function hi(r){const e={};if(r.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(i,s,o,u)=>{const h=o||u;return e[s]=!h||h.toLowerCase(),""}),e["max-age"]){const i=parseInt(e["max-age"],10);isNaN(i)?delete e["max-age"]:e["max-age"]=i}return e}let ii=null;function ai(r,e){return[r[4*e],r[4*e+1],r[4*e+2],r[4*e+3]]}function xi(r,e,i,s){for(;e<i;){const o=e+i>>1;r[o]<s?e=o+1:i=o}return e}function ki(r,e,i,s){for(;e<i;){const o=e+i>>1;r[o]<=s?e=o+1:i=o}return e}function si(r){return r>0?1/(1.001-r):1+r}function Zi(r){return r>0?1-1/(1.001-r):-r}function tr(r,e,i){return(r-e.min)*(i.max-i.min)/(e.max-e.min)+i.min}const Ri={API_URL:"https://api.mapbox.com",get API_URL_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i},get API_TILEJSON_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/v[0-9]*\/.*\.json.*$)/i},get API_SPRITE_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/styles\/v[0-9]*\/)(.*\/sprite.*\..*$)/i},get API_FONTS_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/fonts\/v[0-9]*\/)(.*\.pbf.*$)/i},get API_STYLE_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/styles\/v[0-9]*\/)(.*$)/i},get API_CDN_URL_REGEX(){return/^((https?:)?\/\/)?api\.mapbox\.c(n|om)(\/mapbox-gl-js\/)(.*$)/i},get EVENTS_URL(){if(!Ri.API_URL)return null;try{const r=new URL(Ri.API_URL);return r.hostname==="api.mapbox.cn"?"https://events.mapbox.cn/events/v2":r.hostname==="api.mapbox.com"?"https://events.mapbox.com/events/v2":null}catch{return null}},SESSION_PATH:"/map-sessions/v1",FEEDBACK_URL:"https://apps.mapbox.com/feedback",TILE_URL_VERSION:"v4",RASTER_URL_PREFIX:"raster/v1",RASTERARRAYS_URL_PREFIX:"rasterarrays/v1",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,DEFAULT_STYLE:"mapbox://styles/mapbox/standard",MAX_PARALLEL_IMAGE_REQUESTS:16,DRACO_URL:"https://api.mapbox.com/mapbox-gl-js/draco_decoder_gltf_v1.5.6.wasm",MESHOPT_URL:"https://api.mapbox.com/mapbox-gl-js/meshopt_base_v0.20.wasm",MESHOPT_SIMD_URL:"https://api.mapbox.com/mapbox-gl-js/meshopt_simd_v0.20.wasm",BUILDING_GEN_URL:"https://api.mapbox.com/mapbox-gl-js/building-gen/building_gen_v1.2.4.wasm",GLYPHS_URL:"mapbox://fonts/mapbox/{fontstack}/{range}.pbf",TILES3D_URL_PREFIX:"3dtiles/v1"};function gs(r){return Ri.API_URL_REGEX.test(r)}function Or(r){return Ri.API_SPRITE_REGEX.test(r)}let Zr,ys,Ur,An,jr,Gs;function Mn(){return Zr==null&&(Zr=self.OffscreenCanvas&&new OffscreenCanvas(1,1).getContext("2d")&&typeof self.createImageBitmap=="function"),Zr}const xs={now:()=>An!==void 0?An:performance.now(),setNow(r){An=r},restoreNow(){An=void 0},frame(r){const e=requestAnimationFrame(r);return{cancel:()=>cancelAnimationFrame(e)}},getImageData(r,e=0){const{width:i,height:s}=r;jr||(jr=document.createElement("canvas"));const o=jr.getContext("2d",{willReadFrequently:!0});if(!o)throw new Error("failed to create canvas 2d context");return(i>jr.width||s>jr.height)&&(jr.width=i,jr.height=s),o.clearRect(-e,-e,i+2*e,s+2*e),o.drawImage(r,0,0,i,s),o.getImageData(-e,-e,i+2*e,s+2*e)},resolveURL:r=>(ys||(ys=document.createElement("a")),ys.href=r,ys.href),get devicePixelRatio(){return window.devicePixelRatio},get prefersReducedMotion(){return!!window.matchMedia&&(Ur==null&&(Ur=window.matchMedia("(prefers-reduced-motion: reduce)")),Ur.matches)},hasCanvasFingerprintNoise(){if(Gs!==void 0)return Gs;if(!Mn())return Gs=!1,!1;const r=new OffscreenCanvas(85,1),e=r.getContext("2d",{willReadFrequently:!0});let i=0;for(let o=0;o<r.width;++o)e.fillStyle=`rgba(${i++},${i++},${i++}, 255)`,e.fillRect(o,0,1,1);const s=e.getImageData(0,0,r.width,r.height);i=0;for(let o=0;o<s.data.length;++o)if(o%4!=3&&i++!==s.data[o])return Gs=!0,!0;return Gs=!1,!1}};function Pu(r,e){const i=r.indexOf("?");if(i<0)return`${r}?${new URLSearchParams(e).toString()}`;const s=new URLSearchParams(r.slice(i));for(const o in e)s.set(o,e[o]);return`${r.slice(0,i)}?${s.toString()}`}function Du(r,e={persistentParams:[]}){const i=r.indexOf("?");if(i<0)return r;const s=new URLSearchParams,o=new URLSearchParams(r.slice(i));for(const h of e.persistentParams){const f=o.get(h);f&&s.set(h,f)}const u=s.toString();return`${r.slice(0,i)}${u.length>0?`?${u}`:""}`}const $d="mapbox-tiles";let Hd=500,zu=50;const Ru=["language","worldview","jobid"];let yr;function qs(){try{return caches}catch{}}function $s(){const r=qs();r&&yr==null&&(yr=r.open($d))}let Ds=1/0;const an={supported:!1,testSupport:function(r){!ic&&Da&&(za?Wd(r):Jn=r)}};let Jn,Da,ic=!1,za=!1;const rc=typeof self<"u"?self:{};function Wd(r){const e=r.createTexture();r.bindTexture(r.TEXTURE_2D,e);try{if(r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,Da),r.isContextLost())return;an.supported=!0}catch{}r.deleteTexture(e),ic=!0}rc.document&&(Da=rc.document.createElement("img"),Da.onload=function(){Jn&&Wd(Jn),Jn=null,za=!0},Da.onerror=function(){ic=!0,Jn=null},Da.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");const al={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Iconset:"Iconset",Image:"Image",Model:"Model"};Object.freeze(al);class rs extends Error{constructor(e,i,s){i===401&&gs(s)&&(e+=": you may have provided an invalid Mapbox access token. See https://docs.mapbox.com/api/overview/#access-tokens-and-token-scopes"),super(e),this.status=i,this.url=s}toString(){return`${this.name}: ${this.message} (${this.status}): ${this.url}`}}const sc=Ui()?()=>self.worker.referrer:()=>(location.protocol==="blob:"?parent:self).location.href,Cn=function(r,e){return/^file:/.test(i=r.url)||/^file:/.test(sc())&&!/^\w+:/.test(i)?(function(s,o){const u=new XMLHttpRequest;u.open(s.method||"GET",s.url,!0),s.type==="arrayBuffer"&&(u.responseType="arraybuffer");for(const h in s.headers)u.setRequestHeader(h,s.headers[h]);return s.type==="json"&&(u.responseType="text",u.setRequestHeader("Accept","application/json")),u.withCredentials=s.credentials==="include",u.onerror=()=>{o(new Error(u.statusText))},u.onload=()=>{if((u.status>=200&&u.status<300||u.status===0)&&u.response!==null){let h=u.response;if(s.type==="json")try{h=JSON.parse(u.response)}catch(_){return o(_)}const f=new Headers;u.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(_=>{const g=_.split(": "),v=g.shift(),b=g.join(": ");f.append(v,b)}),o(null,h,f)}else o(new rs(u.statusText,u.status,s.url))},u.send(s.body),{cancel:()=>u.abort()}})(r,e):(function(s,o){const u=new AbortController,h=new Request(s.url,{method:s.method||"GET",body:s.body,credentials:s.credentials,headers:s.headers,referrer:sc(),referrerPolicy:s.referrerPolicy,signal:u.signal});let f=!1,_=!1;const g=(v=h.url).indexOf("sku=")>0&&gs(v);var v;s.type==="json"&&h.headers.set("Accept","application/json");const b=(I,E,P)=>{if(_)return;if(I&&I.message!=="SecurityError"&&ht(I.toString()),E&&P)return w(E);const R=Date.now();fetch(h).then(D=>{if(D.ok){const k=g?D.clone():null;return w(D,k,R)}return o(new rs(D.statusText,D.status,s.url))}).catch(D=>{D.name!=="AbortError"&&o(new Error(`${D.message} ${s.url}`))})},w=(I,E,P)=>{(s.type==="arrayBuffer"?I.arrayBuffer():s.type==="json"?I.json():I.text()).then(R=>{_||(E&&P&&(function(D,k,O){if($s(),yr==null)return;const j=hi(k.headers.get("cache-control")||"");if(j["no-store"])return;const H={status:k.status,statusText:k.statusText,headers:new Headers};k.headers.forEach((te,ne)=>H.headers.set(ne,te)),j["max-age"]&&H.headers.set("Expires",new Date(O+1e3*j["max-age"]).toUTCString());const q=H.headers.get("expires");if(!q||new Date(q).getTime()-O<42e4)return;let se=Du(D.url,{persistentParams:Ru});if(k.status===206){const te=D.headers.get("Range");if(!te)return;H.status=200,se=Pu(se,{range:te})}const K=new Response((ee=k.status)!==200&&ee!==404&&[101,103,204,205,304].includes(ee)?null:k.body,H);var ee;$s(),yr!=null&&yr.then(te=>te.put(se,K)).catch(te=>ht(te.message))})(h,E,P),f=!0,o(null,R,I.headers))}).catch(R=>{_||o(new Error(R.message))})};return g?(function(I,E){if($s(),yr==null)return E(null);yr.then(P=>{let R=Du(I.url,{persistentParams:Ru});const D=I.headers.get("Range");D&&(R=Pu(R,{range:D})),P.match(R).then(k=>{const O=(function(j){if(!j)return!1;const H=new Date(j.headers.get("expires")||0),q=hi(j.headers.get("cache-control")||"");return Number(H)>Date.now()&&!q["no-cache"]})(k);P.delete(R).catch(E),O&&P.put(R,k.clone()).catch(E),E(null,k,O)}).catch(E)}).catch(E)})(h,b):b(null,null),{cancel:()=>{_=!0,f||u.abort()}}})(r,e);var i},ol=function(r,e){return Cn(Object.assign(r,{type:"arrayBuffer"}),e)};function _m(r){const e=document.createElement("a");return e.href=r,e.protocol===location.protocol&&e.host===location.host}let ll,Ot;ll=[],Ot=0;const nc=function(r,e){if(an.supported&&(r.headers||(r.headers={}),r.headers.accept="image/webp,*/*"),Ot>=Ri.MAX_PARALLEL_IMAGE_REQUESTS){const u={requestParameters:r,callback:e,cancelled:!1,cancel(){this.cancelled=!0}};return ll.push(u),u}Ot++;let i=!1;const s=()=>{if(!i)for(i=!0,Ot--;ll.length&&Ot<Ri.MAX_PARALLEL_IMAGE_REQUESTS;){const u=ll.shift(),{requestParameters:h,callback:f,cancelled:_}=u;_||(u.cancel=nc(h,f).cancel)}},o=ol(r,(u,h,f)=>{s(),u?e(u):h&&(function(_,g){const v=new Blob([new Uint8Array(_)],{type:"image/png"});createImageBitmap(v).then(b=>{g(null,b)}).catch(b=>{g(new Error(`Could not load image because of ${b.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))})})(h,(_,g)=>e(_,g,f))});return{cancel:()=>{o.cancel(),s()}}};var Lu,Zd,Xd,Kn={exports:{}},cl={exports:{}},ul={exports:{}},Ou=(function(){if(Xd)return Kn.exports;Xd=1;var r=(Lu||(Lu=1,cl.exports=function(i,s){var o,u,h,f,_,g,v,b;for(u=i.length-(o=3&i.length),h=s,_=3432918353,g=461845907,b=0;b<u;)v=255&i.charCodeAt(b)|(255&i.charCodeAt(++b))<<8|(255&i.charCodeAt(++b))<<16|(255&i.charCodeAt(++b))<<24,++b,h=27492+(65535&(f=5*(65535&(h=(h^=v=(65535&(v=(v=(65535&v)*_+(((v>>>16)*_&65535)<<16)&4294967295)<<15|v>>>17))*g+(((v>>>16)*g&65535)<<16)&4294967295)<<13|h>>>19))+((5*(h>>>16)&65535)<<16)&4294967295))+(((f>>>16)+58964&65535)<<16);switch(v=0,o){case 3:v^=(255&i.charCodeAt(b+2))<<16;case 2:v^=(255&i.charCodeAt(b+1))<<8;case 1:h^=v=(65535&(v=(v=(65535&(v^=255&i.charCodeAt(b)))*_+(((v>>>16)*_&65535)<<16)&4294967295)<<15|v>>>17))*g+(((v>>>16)*g&65535)<<16)&4294967295}return h^=i.length,h=2246822507*(65535&(h^=h>>>16))+((2246822507*(h>>>16)&65535)<<16)&4294967295,h=3266489909*(65535&(h^=h>>>13))+((3266489909*(h>>>16)&65535)<<16)&4294967295,(h^=h>>>16)>>>0}),cl.exports),e=(Zd||(Zd=1,ul.exports=function(i,s){for(var o,u=i.length,h=s^u,f=0;u>=4;)o=1540483477*(65535&(o=255&i.charCodeAt(f)|(255&i.charCodeAt(++f))<<8|(255&i.charCodeAt(++f))<<16|(255&i.charCodeAt(++f))<<24))+((1540483477*(o>>>16)&65535)<<16),h=1540483477*(65535&h)+((1540483477*(h>>>16)&65535)<<16)^(o=1540483477*(65535&(o^=o>>>24))+((1540483477*(o>>>16)&65535)<<16)),u-=4,++f;switch(u){case 3:h^=(255&i.charCodeAt(f+2))<<16;case 2:h^=(255&i.charCodeAt(f+1))<<8;case 1:h=1540483477*(65535&(h^=255&i.charCodeAt(f)))+((1540483477*(h>>>16)&65535)<<16)}return h=1540483477*(65535&(h^=h>>>13))+((1540483477*(h>>>16)&65535)<<16),(h^=h>>>15)>>>0}),ul.exports);return Kn.exports=r,Kn.exports.murmur3=r,Kn.exports.murmur2=e,Kn.exports})(),ac=_s(Ou);class Hs{constructor(e,...i){Object.assign(this,i[0]||{}),this.type=e}}class oc extends Hs{constructor(e,i={}){super("error",Object.assign({error:e},i))}}function Fu(r,e,i){i[r]&&i[r].indexOf(e)!==-1||(i[r]=i[r]||[],i[r].push(e))}function Bu(r,e,i){if(i&&i[r]){const s=i[r].indexOf(e);s!==-1&&i[r].splice(s,1)}}class Ws{on(e,i){return this._listeners=this._listeners||{},Fu(e,i,this._listeners),this}off(e,i){return Bu(e,i,this._listeners),Bu(e,i,this._oneTimeListeners),this}once(e,i){return i?(this._oneTimeListeners=this._oneTimeListeners||{},Fu(e,i,this._oneTimeListeners),this):new Promise(s=>{this.once(e,s)})}fire(e,i){const s=typeof e=="string"?new Hs(e,i):e,o=s.type;if(this.listens(o)){s.target=this;const u=this._listeners&&this._listeners[o]?this._listeners[o].slice():[];for(const _ of u)_.call(this,s);const h=this._oneTimeListeners&&this._oneTimeListeners[o]?this._oneTimeListeners[o].slice():[];for(const _ of h)Bu(o,_,this._oneTimeListeners),_.call(this,s);const f=this._eventedParent;if(f){const _=typeof this._eventedParentData=="function"?this._eventedParentData():this._eventedParentData;Object.assign(s,_),f.fire(s)}}else s instanceof oc&&console.error(s.error);return this}listens(e){return!!(this._listeners&&this._listeners[e]&&this._listeners[e].length>0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e))}setEventedParent(e,i){return this._eventedParent=e,this._eventedParentData=i,this}}class Xr{constructor(e){typeof e=="string"?this.name=e:(this.name=e.name,this.iconsetId=e.iconsetId)}static from(e){return new Xr(e)}static toString(e){return e.iconsetId?`${e.name}${e.iconsetId}`:e.name}static parse(e){const[i,s]=e.split("");return new Xr({name:i,iconsetId:s})}static isEqual(e,i){return e.name===i.name&&e.iconsetId===i.iconsetId}toString(){return Xr.toString(this)}serialize(){return{name:this.name,iconsetId:this.iconsetId}}}var lc,vs={},ku=(function(){if(lc)return vs;lc=1;var r={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function e(u){return(u=Math.round(u))<0?0:u>255?255:u}function i(u){return e(u[u.length-1]==="%"?parseFloat(u)/100*255:parseInt(u))}function s(u){return(h=u[u.length-1]==="%"?parseFloat(u)/100:parseFloat(u))<0?0:h>1?1:h;var h}function o(u,h,f){return f<0?f+=1:f>1&&(f-=1),6*f<1?u+(h-u)*f*6:2*f<1?h:3*f<2?u+(h-u)*(2/3-f)*6:u}try{vs.parseCSSColor=function(u){var h,f=u.replace(/ /g,"").toLowerCase();if(f in r)return r[f].slice();if(f[0]==="#")return f.length===4?(h=parseInt(f.substr(1),16))>=0&&h<=4095?[(3840&h)>>4|(3840&h)>>8,240&h|(240&h)>>4,15&h|(15&h)<<4,1]:null:f.length===7&&(h=parseInt(f.substr(1),16))>=0&&h<=16777215?[(16711680&h)>>16,(65280&h)>>8,255&h,1]:null;var _=f.indexOf("("),g=f.indexOf(")");if(_!==-1&&g+1===f.length){var v=f.substr(0,_),b=f.substr(_+1,g-(_+1)).split(","),w=1;switch(v){case"rgba":if(b.length!==4)return null;w=s(b.pop());case"rgb":return b.length!==3?null:[i(b[0]),i(b[1]),i(b[2]),w];case"hsla":if(b.length!==4)return null;w=s(b.pop());case"hsl":if(b.length!==3)return null;var I=(parseFloat(b[0])%360+360)%360/360,E=s(b[1]),P=s(b[2]),R=P<=.5?P*(E+1):P+E-P*E,D=2*P-R;return[e(255*o(D,R,I+1/3)),e(255*o(D,R,I)),e(255*o(D,R,I-1/3)),w];default:return null}}return null}}catch{}return vs})();class Zt{constructor(e,i,s,o=1){this.r=e,this.g=i,this.b=s,this.a=o}static parse(e){if(!e)return;if(e instanceof Zt)return e;if(typeof e!="string")return;const i=ku.parseCSSColor(e);return i?new Zt(i[0]/255,i[1]/255,i[2]/255,i[3]):void 0}toString(){const[e,i,s,o]=[this.r,this.g,this.b,this.a];return`rgba(${Math.round(255*e)},${Math.round(255*i)},${Math.round(255*s)},${o})`}toNonPremultipliedRenderColor(e){const{r:i,g:s,b:o,a:u}=this;return new Yd(e,i,s,o,u)}toPremultipliedRenderColor(e){const{r:i,g:s,b:o,a:u}=this;return new Jd(e,i*u,s*u,o*u,u)}clone(){return new Zt(this.r,this.g,this.b,this.a)}}class Nu{constructor(e,i,s,o,u,h=!1){if(this.premultiplied=!1,this.premultiplied=h,e){const f=e.image.height,_=f*f;this.premultiplied?(i=u===0?0:i/u*(f-1),s=u===0?0:s/u*(f-1),o=u===0?0:o/u*(f-1)):(i*=f-1,s*=f-1,o*=f-1),i=Math.max(0,Math.min(f-1,i)),s=Math.max(0,Math.min(f-1,s)),o=Math.max(0,Math.min(f-1,o));const g=Math.floor(i),v=Math.floor(s),b=Math.floor(o),w=Math.ceil(i),I=Math.ceil(s),E=Math.ceil(o),P=i-g,R=s-v,D=o-b,k=e.image.data,O=4*(g+v*_+b*f),j=4*(g+v*_+E*f),H=4*(g+I*_+b*f),q=4*(g+I*_+E*f),se=4*(w+v*_+b*f),K=4*(w+v*_+E*f),ee=4*(w+I*_+b*f),te=4*(w+I*_+E*f);this.r=ut(ut(ut(k[O],k[j],D),ut(k[H],k[q],D),R),ut(ut(k[se],k[K],D),ut(k[ee],k[te],D),R),P)/255*(this.premultiplied?u:1),this.g=ut(ut(ut(k[O+1],k[j+1],D),ut(k[H+1],k[q+1],D),R),ut(ut(k[se+1],k[K+1],D),ut(k[ee+1],k[te+1],D),R),P)/255*(this.premultiplied?u:1),this.b=ut(ut(ut(k[O+2],k[j+2],D),ut(k[H+2],k[q+2],D),R),ut(ut(k[se+2],k[K+2],D),ut(k[ee+2],k[te+2],D),R),P)/255*(this.premultiplied?u:1),this.a=u}else this.r=i,this.g=s,this.b=o,this.a=u}toArray(){const{r:e,g:i,b:s,a:o}=this;return[255*e,255*i,255*s,o]}toHslaArray(){let{r:e,g:i,b:s,a:o}=this;if(this.premultiplied){if(o===0)return[0,0,0,0];const E=1/o;e*=E,i*=E,s*=E}const u=Math.min(Math.max(e,0),1),h=Math.min(Math.max(i,0),1),f=Math.min(Math.max(s,0),1),_=Math.min(u,h,f),g=Math.max(u,h,f),v=g-_,b=.5*(_+g);if(v===0)return[0,0,100*b,o];const w=b>.5?v/(2-g-_):v/(g+_);let I;switch(g){case u:I=60*((h-f)/v+(h<f?6:0));break;case h:I=60*((f-u)/v+2);break;default:I=60*((u-h)/v+4)}return[I,100*w,100*b,o]}toArray01(){const{r:e,g:i,b:s,a:o}=this;return[e,i,s,o]}toArray01Scaled(e){const{r:i,g:s,b:o}=this;return[i*e,s*e,o*e]}toArray01Linear(){const{r:e,g:i,b:s,a:o}=this;return[Math.pow(e,2.2),Math.pow(i,2.2),Math.pow(s,2.2),o]}}class Yd extends Nu{constructor(e,i,s,o,u){super(e,i,s,o,u,!1)}}class Jd extends Nu{constructor(e,i,s,o,u){super(e,i,s,o,u,!0)}}function ut(r,e,i){return r*(1-i)+e*i}function Vu(r,e,i){return r.map((s,o)=>ut(s,e[o],i))}Zt.black=new Zt(0,0,0,1),Zt.white=new Zt(1,1,1,1),Zt.transparent=new Zt(0,0,0,0),Zt.red=new Zt(1,0,0,1),Zt.blue=new Zt(0,0,1,1);var hl=Object.freeze({__proto__:null,array:Vu,color:function(r,e,i){return new Zt(ut(r.r,e.r,i),ut(r.g,e.g,i),ut(r.b,e.b,i),ut(r.a,e.a,i))},number:ut});class ss extends Error{constructor(e,i){super(i),this.message=i,this.key=e}}class Qn{constructor(e,i=[]){this.parent=e,this.bindings={};for(const[s,o]of i)this.bindings[s]=o}concat(e){return new Qn(this,e)}get(e){if(this.bindings[e])return this.bindings[e];if(this.parent)return this.parent.get(e);throw new Error(`${e} not found in scope.`)}has(e){return!!this.bindings[e]||!!this.parent&&this.parent.has(e)}}const Ra={kind:"null"},it={kind:"number"},Ht={kind:"string"},Wt={kind:"boolean"},Mr={kind:"color"},ea={kind:"object"},Xt={kind:"value"},cc={kind:"collator"},dl={kind:"formatted"},ao={kind:"resolvedImage"};function Sr(r,e){return{kind:"array",itemType:r,N:e}}function Xi(r){if(r.kind==="array"){const e=Xi(r.itemType);return typeof r.N=="number"?`array<${e}, ${r.N}>`:r.itemType.kind==="value"?"array":`array<${e}>`}return r.kind}const uc=[Ra,it,Ht,Wt,Mr,dl,ea,Sr(Xt),ao];function fl(r,e){if(e.kind==="error")return null;if(r.kind==="array"){if(e.kind==="array"&&(e.N===0&&e.itemType.kind==="value"||!fl(r.itemType,e.itemType))&&(typeof r.N!="number"||r.N===e.N))return null}else{if(r.kind===e.kind)return null;if(r.kind==="value"){for(const i of uc)if(!fl(i,e))return null}}return`Expected ${Xi(r)} but found ${Xi(e)} instead.`}function Uu(r,e){return e.some(i=>i.kind===r.kind)}function pl(r,e){return e.some(i=>i==="null"?r===null:i==="array"?Array.isArray(r):i==="object"?r&&!Array.isArray(r)&&typeof r=="object":i===typeof r)}function hc(r,e){return r.kind==="array"&&e.kind==="array"?r.N===e.N&&hc(r.itemType,e.itemType):r.kind===e.kind}class ju{constructor(e,i,s){this.sensitivity=e?i?"variant":"case":i?"accent":"base",this.locale=s,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(e,i){return this.collator.compare(e,i)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class dc{constructor(e,i,s,o,u){this.text=e.normalize?e.normalize():e,this.image=i,this.scale=s,this.fontStack=o,this.textColor=u}}class Gr{constructor(e){this.sections=e}static fromString(e){return new Gr([new dc(e,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(e=>e.text.length!==0||!!e.image&&e.image.hasPrimary())}static factory(e){return e instanceof Gr?e:Gr.fromString(e)}toString(){return this.sections.length===0?"":this.sections.map(e=>e.text).join("")}serialize(){const e=["format"];for(const i of this.sections){if(i.image){const o=i.image.getPrimary().id.toString();e.push(["image",o]);continue}e.push(i.text);const s={};i.fontStack&&(s["text-font"]=["literal",i.fontStack.split(",")]),i.scale&&(s["font-scale"]=i.scale),i.textColor&&(s["text-color"]=["rgba"].concat(i.textColor.toNonPremultipliedRenderColor(null).toArray())),e.push(s)}return e}}class bs{constructor(e,i={}){this.id=Xr.from(e),this.params=i.params,this.sx=i.sx||1,this.sy=i.sy||1}toString(){return JSON.stringify(this)}static parse(e){let i,s,o,u;try{({id:i,params:s,sx:o,sy:u}=JSON.parse(e)||{})}catch{return null}return i?new bs(i,{params:s,sx:o,sy:u}):null}scaleSelf(e,i=e){return this.sx*=e,this.sy*=i,this}}class xr{constructor(e,i,s,o,u=!1){this.primaryId=Xr.from(e),this.primaryOptions=i,s&&(this.secondaryId=Xr.from(s)),this.secondaryOptions=o,this.available=u}toString(){return this.primaryId&&this.secondaryId?`[${this.primaryId.name},${this.secondaryId.name}]`:this.primaryId.name}hasPrimary(){return!!this.primaryId}getPrimary(){return new bs(this.primaryId,this.primaryOptions)}hasSecondary(){return!!this.secondaryId}getSecondary(){return this.secondaryId?new bs(this.secondaryId,this.secondaryOptions):null}static from(e){return typeof e=="string"?xr.build({name:e}):e}static build(e,i,s,o){return!e||typeof e=="object"&&!("name"in e)?null:new xr(e,s,i,o)}}function Kd(r,e,i,s){return typeof r=="number"&&r>=0&&r<=255&&typeof e=="number"&&e>=0&&e<=255&&typeof i=="number"&&i>=0&&i<=255?s===void 0||typeof s=="number"&&s>=0&&s<=1?null:`Invalid rgba value [${[r,e,i,s].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof s=="number"?[r,e,i,s]:[r,e,i]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function La(r){if(r===null||typeof r=="string"||typeof r=="boolean"||typeof r=="number"||r instanceof Zt||r instanceof ju||r instanceof Gr||r instanceof xr)return!0;if(Array.isArray(r)){for(const e of r)if(!La(e))return!1;return!0}if(typeof r=="object"){for(const e in r)if(!La(r[e]))return!1;return!0}return!1}function Yi(r){if(r===null)return Ra;if(typeof r=="string")return Ht;if(typeof r=="boolean")return Wt;if(typeof r=="number")return it;if(r instanceof Zt)return Mr;if(r instanceof ju)return cc;if(r instanceof Gr)return dl;if(r instanceof xr)return ao;if(Array.isArray(r)){const e=r.length;let i;for(const s of r){const o=Yi(s);if(i){if(i===o)continue;i=Xt;break}i=o}return Sr(i||Xt,e)}return ea}function on(r){const e=typeof r;return r===null?"":e==="string"||e==="number"||e==="boolean"?String(r):r instanceof Gr||r instanceof xr||r instanceof Zt?r.toString():JSON.stringify(r)}class Pn{constructor(e,i){this.type=e,this.value=i}static parse(e,i){if(e.length!==2)return i.error(`'literal' expression requires exactly one argument, but found ${e.length-1} instead.`);if(!La(e[1]))return i.error("invalid value");const s=e[1];let o=Yi(s);const u=i.expectedType;return o.kind!=="array"||o.N!==0||!u||u.kind!=="array"||typeof u.N=="number"&&u.N!==0||(o=u),new Pn(o,s)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}serialize(){return this.type.kind==="array"||this.type.kind==="object"?["literal",this.value]:this.value instanceof Zt?["rgba"].concat(this.value.toNonPremultipliedRenderColor(null).toArray()):this.value instanceof Gr?this.value.serialize():this.value}}class ir{constructor(e){this.name="ExpressionEvaluationError",this.message=e}toJSON(){return this.message}}const Gu={string:Ht,number:it,boolean:Wt,object:ea};class qr{constructor(e,i){this.type=e,this.args=i}static parse(e,i){if(e.length<2)return i.error("Expected at least one argument.");let s,o=1;const u=e[0];if(u==="array"){let f,_;if(e.length>2){const g=e[1];if(typeof g!="string"||!(g in Gu)||g==="object")return i.error('The item type argument of "array" must be one of string, number, boolean',1);f=Gu[g],o++}else f=Xt;if(e.length>3){if(e[2]!==null&&(typeof e[2]!="number"||e[2]<0||e[2]!==Math.floor(e[2])))return i.error('The length argument to "array" must be a positive integer literal',2);_=e[2],o++}s=Sr(f,_)}else s=Gu[u];const h=[];for(;o<e.length;o++){const f=i.parse(e[o],o,Xt);if(!f)return null;h.push(f)}return new qr(s,h)}evaluate(e){for(let i=0;i<this.args.length;i++){const s=this.args[i].evaluate(e);if(!fl(this.type,Yi(s)))return s;if(i===this.args.length-1)throw new ir(`The expression ${JSON.stringify(this.args[i].serialize())} evaluated to ${Xi(Yi(s))} but was expected to be of type ${Xi(this.type)}.`)}return null}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}serialize(){const e=this.type,i=[e.kind];if(e.kind==="array"){const s=e.itemType;if(s.kind==="string"||s.kind==="number"||s.kind==="boolean"){i.push(s.kind);const o=e.N;(typeof o=="number"||this.args.length>1)&&i.push(o)}}return i.concat(this.args.map(s=>s.serialize()))}}class vt{constructor(e){this.type=dl,this.sections=e}static parse(e,i){if(e.length<2)return i.error("Expected at least one argument.");const s=e[1];if(!Array.isArray(s)&&typeof s=="object")return i.error("First argument must be an image or text section.");const o=[];let u=!1;for(let h=1;h<=e.length-1;++h){const f=e[h];if(u&&typeof f=="object"&&!Array.isArray(f)){u=!1;let _=null;if(f["font-scale"]&&(_=i.parseObjectValue(f["font-scale"],h,"font-scale",it),!_))return null;let g=null;if(f["text-font"]&&(g=i.parseObjectValue(f["text-font"],h,"text-font",Sr(Ht)),!g))return null;let v=null;if(f["text-color"]&&(v=i.parseObjectValue(f["text-color"],h,"text-color",Mr),!v))return null;const b=o[o.length-1];b.scale=_,b.font=g,b.textColor=v}else{const _=i.parse(e[h],h,Xt);if(!_)return null;const g=_.type.kind;if(g!=="string"&&g!=="value"&&g!=="null"&&g!=="resolvedImage")return i.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");u=!0,o.push({content:_,scale:null,font:null,textColor:null})}}return new vt(o)}evaluate(e){return new Gr(this.sections.map(i=>{const s=i.content.evaluate(e);return hc(Yi(s),ao)?new dc("",s,null,null,null):new dc(on(s),null,i.scale?i.scale.evaluate(e):null,i.font?i.font.evaluate(e).join(","):null,i.textColor?i.textColor.evaluate(e):null)}))}eachChild(e){for(const i of this.sections)e(i.content),i.scale&&e(i.scale),i.font&&e(i.font),i.textColor&&e(i.textColor)}outputDefined(){return!1}serialize(){const e=["format"];for(const i of this.sections){e.push(i.content.serialize());const s={};i.scale&&(s["font-scale"]=i.scale.serialize()),i.font&&(s["text-font"]=i.font.serialize()),i.textColor&&(s["text-color"]=i.textColor.serialize()),e.push(s)}return e}}class rt{constructor(e,i,s,o){this._imageWarnHistory={},this.type=ao,this.namePrimary=e,this.nameSecondary=i,s&&(this.paramsPrimary=s.params,this.iconsetIdPrimary=s.iconset?s.iconset.id:void 0),o&&(this.paramsSecondary=o.params,this.iconsetIdSecondary=o.iconset?o.iconset.id:void 0)}static parse(e,i){if(e.length<2)return i.error("Expected two or more arguments.");let s=1;const o=[];function u(){if(s<e.length){const f=i.parse(e[s],s++,Ht);return f?(o.push({image:f,options:{}}),!0):(i.error(o.length?"Secondary image variant is not a string.":"No image name provided."),!1)}return!0}function h(){if(s<e.length){const _=e[s];if((f=_)===null||typeof f!="object"||Array.isArray(f))return!0;const g=_.params,v=_.iconset,b=i.concat(s);if(!g&&!v)return s++,!0;if(g){if(typeof g!="object"||g.constructor!==Object)return b.error('Image options "params" should be an object'),!1;const w={},I=b.concat(void 0,"params");for(const E in g){if(!E)return I.error("Image parameter name should be non-empty"),!1;const P=I.concat(void 0,E).parse(g[E],void 0,Mr,void 0,{typeAnnotation:"coerce"});if(!P)return!1;w[E]=P}o[o.length-1].options.params=w}if(v){if(typeof v!="object"||v.constructor!==Object)return b.error('Image options "iconset" should be an object'),!1;if(!v.id)return b.error('Image options "iconset" should have an "id" property'),!1;o[o.length-1].options.iconset=v}return s++,!0}var f;return!0}for(let f=0;f<2;f++)if(!u()||!h())return;return new rt(o[0].image,o[1]?o[1].image:void 0,o[0].options,o[1]?o[1].options:void 0)}evaluateParams(e,i){const s={};if(i){for(const o in i)if(i[o])try{s[o]=i[o].evaluate(e)}catch{continue}if(Object.keys(s).length!==0)return{params:s}}}evaluate(e){const i={name:this.namePrimary.evaluate(e),iconsetId:this.iconsetIdPrimary},s=this.nameSecondary?{name:this.nameSecondary.evaluate(e),iconsetId:this.iconsetIdSecondary}:void 0,o=xr.build(i,s,this.paramsPrimary?this.evaluateParams(e,this.paramsPrimary):void 0,this.paramsSecondary?this.evaluateParams(e,this.paramsSecondary):void 0);if(o&&e.availableImages){const u=o.getPrimary().id;if(o.available=e.availableImages.some(h=>Xr.isEqual(h,u)),o.available){const h=o.getSecondary()?o.getSecondary().id:null;h&&(o.available=e.availableImages.some(f=>Xr.isEqual(f,h)))}}return o}eachChild(e){if(e(this.namePrimary),this.paramsPrimary)for(const i in this.paramsPrimary)this.paramsPrimary[i]&&e(this.paramsPrimary[i]);if(this.nameSecondary&&(e(this.nameSecondary),this.paramsSecondary))for(const i in this.paramsSecondary)this.paramsSecondary[i]&&e(this.paramsSecondary[i])}outputDefined(){return!1}serializeOptions(e,i){const s={};if(i&&(s.iconset={id:i}),e){s.params={};for(const o in e)e[o]&&(s.params[o]=e[o].serialize())}return Object.keys(s).length>0?s:void 0}serialize(){const e=["image",this.namePrimary.serialize()];if(this.paramsPrimary||this.iconsetIdPrimary){const i=this.serializeOptions(this.paramsPrimary,this.iconsetIdPrimary);i&&e.push(i)}if(this.nameSecondary&&(e.push(this.nameSecondary.serialize()),this.paramsSecondary||this.iconsetIdSecondary)){const i=this.serializeOptions(this.paramsSecondary,this.iconsetIdSecondary);i&&e.push(i)}return e}}function oo(r){return ml(r)?"string":lo(r)?"number":ct(r)?"boolean":Array.isArray(r)?"array":r===null?"null":dt(r)?"object":typeof r}function dt(r){return r!=null&&!Array.isArray(r)&&typeof r!="function"&&!(r instanceof String||r instanceof Number||r instanceof Boolean)&&typeof r=="object"}function ml(r){return typeof r=="string"||r instanceof String}function lo(r){return typeof r=="number"||r instanceof Number}function ct(r){return typeof r=="boolean"||r instanceof Boolean}const Qd={"to-boolean":Wt,"to-color":Mr,"to-number":it,"to-string":Ht};class Zs{constructor(e,i){this.type=e,this.args=i}static parse(e,i){if(e.length<2)return i.error("Expected at least one argument.");const s=e[0],o=[];let u=Ra;if(s==="to-array"){if(!Array.isArray(e[1]))return null;const h=e[1].length;if(i.expectedType){if(i.expectedType.kind!=="array")return i.error(`Expected ${i.expectedType.kind} but found array.`);u=Sr(i.expectedType.itemType,h)}else{if(!(h>0&&La(e[1][0])))return null;u=Sr(Yi(e[1][0]),h)}for(let f=0;f<h;f++){const _=e[1][f];let g;if(Array.isArray(_))g=i.parse(_,void 0,u.itemType);else{const v=oo(_);if(v!==u.itemType.kind)return i.error(`Expected ${u.itemType.kind} but found ${v}.`);g=i.registry.literal.parse(["literal",_===void 0?null:_],i)}if(!g)return null;o.push(g)}}else{if((s==="to-boolean"||s==="to-string")&&e.length!==2)return i.error("Expected one argument.");u=Qd[s];for(let h=1;h<e.length;h++){const f=i.parse(e[h],h,Xt);if(!f)return null;o.push(f)}}return new Zs(u,o)}evaluate(e){if(this.type.kind==="boolean")return!!this.args[0].evaluate(e);if(this.type.kind==="color"){let i,s;for(const o of this.args){if(i=o.evaluate(e),s=null,i instanceof Zt)return i;if(typeof i=="string"){const u=e.parseColor(i);if(u)return u}else if(Array.isArray(i)&&(s=i.length<3||i.length>4?`Invalid rbga value ${JSON.stringify(i)}: expected an array containing either three or four numeric values.`:Kd(i[0],i[1],i[2],i[3]),!s))return new Zt(i[0]/255,i[1]/255,i[2]/255,i[3])}throw new ir(s||`Could not parse color from value '${typeof i=="string"?i:String(JSON.stringify(i))}'`)}if(this.type.kind==="number"){let i=null;for(const s of this.args){if(i=s.evaluate(e),i===null)return 0;const o=Number(i);if(!isNaN(o))return o}throw new ir(`Could not convert ${JSON.stringify(i)} to number.`)}return this.type.kind==="formatted"?Gr.fromString(on(this.args[0].evaluate(e))):this.type.kind==="resolvedImage"?xr.build(on(this.args[0].evaluate(e))):this.type.kind==="array"?this.args.map(i=>i.evaluate(e)):on(this.args[0].evaluate(e))}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}serialize(){if(this.type.kind==="formatted")return new vt([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if(this.type.kind==="resolvedImage")return new rt(this.args[0]).serialize();const e=this.type.kind==="array"?[]:[`to-${this.type.kind}`];return this.eachChild(i=>{e.push(i.serialize())}),e}}const ef=["Unknown","Point","LineString","Polygon"];class fc{constructor(e,i,s){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null,this.featureTileCoord=null,this.featureDistanceData=null,this.scope=e,this.options=i,this.iconImageUseTheme=s}id(){return this.feature&&this.feature.id!==void 0?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type=="number"?ef[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||{}}measureLight(e){return this.globals.brightness||0}distanceFromCenter(){if(this.featureTileCoord&&this.featureDistanceData){const e=this.featureDistanceData.center,i=this.featureDistanceData.scale,{x:s,y:o}=this.featureTileCoord;return this.featureDistanceData.bearing[0]*(s*i-e[0])+this.featureDistanceData.bearing[1]*(o*i-e[1])}return 0}parseColor(e){let i=this._parseColorCache[e];return i||(i=this._parseColorCache[e]=Zt.parse(e)),i}getConfig(e){return this.options?this.options.get(e):null}}class Cr{constructor(e,i,s,o,u){this.name=e,this.type=i,this._evaluate=s,this.args=o,this._overloadIndex=u}evaluate(e){if(!this._evaluate){const i=Cr.definitions[this.name];this._evaluate=Array.isArray(i)?i[2]:i.overloads[this._overloadIndex][1]}return this._evaluate(e,this.args)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}serialize(){return[this.name].concat(this.args.map(e=>e.serialize()))}static parse(e,i){const s=e[0],o=Cr.definitions[s];if(!o)return i.error(`Unknown expression "${s}". If you wanted a literal array, use ["literal", [...]].`,0);const u=Array.isArray(o)?o[0]:o.type,h=Array.isArray(o)?[[o[1],o[2]]]:o.overloads,f=[];let _=null,g=-1;for(const[v,b]of h){if(Array.isArray(v)&&v.length!==e.length-1)continue;f.push(v),g++,_=new Ic(i.registry,i.path,null,i.scope,void 0,i._scope,i.options,i.iconImageUseTheme);const w=[];let I=!1;for(let E=1;E<e.length;E++){const P=e[E],R=Array.isArray(v)?v[E-1]:v.type,D=_.parse(P,1+w.length,R);if(!D){I=!0;break}w.push(D)}if(!I)if(Array.isArray(v)&&v.length!==w.length)_.error(`Expected ${v.length} arguments, but found ${w.length} instead.`);else{for(let E=0;E<w.length;E++){const P=Array.isArray(v)?v[E]:v.type,R=w[E];_.concat(E+1).checkSubtype(P,R.type)}if(_.errors.length===0)return new Cr(s,u,b,w,g)}}if(f.length===1)i.errors.push(..._.errors);else{const v=(f.length?f:h.map(([w])=>w)).map(gm).join(" | "),b=[];for(let w=1;w<e.length;w++){const I=i.parse(e[w],1+b.length);if(!I)return null;b.push(Xi(I.type))}i.error(`Expected arguments of type ${v}, but found (${b.join(", ")}) instead.`)}return null}static register(e,i){Cr.definitions=i;for(const s in i)e[s]=Cr}}function gm(r){return Array.isArray(r)?`(${r.map(Xi).join(", ")})`:`(${Xi(r.type)}...)`}class co{constructor(e,i,s){this.type=cc,this.locale=s,this.caseSensitive=e,this.diacriticSensitive=i}static parse(e,i){if(e.length!==2)return i.error("Expected one argument.");const s=e[1];if(typeof s!="object"||Array.isArray(s))return i.error("Collator options argument must be an object.");const o=s["case-sensitive"]===void 0?i.parse(!1,1,Wt):i.parseObjectValue(s["case-sensitive"],1,"case-sensitive",Wt);if(!o)return null;const u=s["diacritic-sensitive"]===void 0?i.parse(!1,1,Wt):i.parseObjectValue(s["diacritic-sensitive"],1,"diacritic-sensitive",Wt);if(!u)return null;let h=null;return s.locale&&(h=i.parseObjectValue(s.locale,1,"locale",Ht),!h)?null:new co(o,u,h)}evaluate(e){return new ju(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}serialize(){const e={};return e["case-sensitive"]=this.caseSensitive.serialize(),e["diacritic-sensitive"]=this.diacriticSensitive.serialize(),this.locale&&(e.locale=this.locale.serialize()),["collator",e]}}function ta(r,e,i=0,s=r.length-1,o=ia){for(;s>i;){if(s-i>600){const _=s-i+1,g=e-i+1,v=Math.log(_),b=.5*Math.exp(2*v/3),w=.5*Math.sqrt(v*b*(_-b)/_)*(g-_/2<0?-1:1);ta(r,e,Math.max(i,Math.floor(e-g*b/_+w)),Math.min(s,Math.floor(e+(_-g)*b/_+w)),o)}const u=r[e];let h=i,f=s;for(Oa(r,i,e),o(r[s],u)>0&&Oa(r,i,s);h<f;){for(Oa(r,h,f),h++,f--;o(r[h],u)<0;)h++;for(;o(r[f],u)>0;)f--}o(r[i],u)===0?Oa(r,i,f):(f++,Oa(r,f,s)),f<=e&&(i=f+1),e<=f&&(s=f-1)}}function Oa(r,e,i){const s=r[e];r[e]=r[i],r[i]=s}function ia(r,e){return r<e?-1:r>e?1:0}function ra(r){let e=0;for(let i,s,o=0,u=r.length,h=u-1;o<u;h=o++)i=r[o],s=r[h],e+=(s.x-i.x)*(i.y+s.y);return e}function _l(r,e){r[0]=Math.min(r[0],e[0]),r[1]=Math.min(r[1],e[1]),r[2]=Math.max(r[2],e[0]),r[3]=Math.max(r[3],e[1])}function gl(r,e){return!(r[0]<=e[0]||r[2]>=e[2]||r[1]<=e[1]||r[3]>=e[3])}function ym(r,e,i){const s=r[0]-e[0],o=r[1]-e[1],u=r[0]-i[0],h=r[1]-i[1];return s*h-u*o===0&&s*u<=0&&o*h<=0}function pc(r,e,i){return e[1]>r[1]!=i[1]>r[1]&&r[0]<(i[0]-e[0])*(r[1]-e[1])/(i[1]-e[1])+e[0]}function Fa(r,e,i=!1){let s=!1;for(let o=0,u=e.length;o<u;o++){const h=e[o];for(let f=0,_=h.length,g=_-1;f<_;g=f++){const v=h[g],b=h[f];if(ym(r,v,b))return i;pc(r,v,b)&&(s=!s)}}return s}function sa(r,e,i,s){const o=s[0]-i[0],u=s[1]-i[1],h=(r[0]-i[0])*u-o*(r[1]-i[1]),f=(e[0]-i[0])*u-o*(e[1]-i[1]);return h>0&&f<0||h<0&&f>0}function mc(r,e,i,s){return(o=[s[0]-i[0],s[1]-i[1]])[0]*(u=[e[0]-r[0],e[1]-r[1]])[1]-o[1]*u[0]!==0&&!(!sa(r,e,i,s)||!sa(i,s,r,e));var o,u}function qu(r){const e=new ke(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),i=new ke(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);for(const s of r[0])e.x>s.x&&(e.x=s.x),e.y>s.y&&(e.y=s.y),i.x<s.x&&(i.x=s.x),i.y<s.y&&(i.y=s.y);return{min:e,max:i}}const ln=8192;function xm(r,e){const i=(180+r[0])/360,s=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r[1]*Math.PI/360)))/360,o=Math.pow(2,e.z);return[Math.round(i*o*ln),Math.round(s*o*ln)]}function vm(r,e){for(let i=0;i<e.length;i++)if(Fa(r,e[i]))return!0;return!1}function tf(r,e,i){for(const s of i)for(let o=0,u=s.length,h=u-1;o<u;h=o++)if(mc(r,e,s[h],s[o]))return!0;return!1}function rf(r,e){for(let i=0;i<r.length;++i)if(!Fa(r[i],e))return!1;for(let i=0;i<r.length-1;++i)if(tf(r[i],r[i+1],e))return!1;return!0}function bm(r,e){for(let i=0;i<e.length;i++)if(rf(r,e[i]))return!0;return!1}function $u(r,e,i){const s=[];for(let o=0;o<r.length;o++){const u=[];for(let h=0;h<r[o].length;h++){const f=xm(r[o][h],i);_l(e,f),u.push(f)}s.push(u)}return s}function na(r,e,i){const s=[];for(let o=0;o<r.length;o++){const u=$u(r[o],e,i);s.push(u)}return s}function sf(r,e,i,s){if(r[0]<i[0]||r[0]>i[2]){const o=.5*s;let u=r[0]-i[0]>o?-s:i[0]-r[0]>o?s:0;u===0&&(u=r[0]-i[2]>o?-s:i[2]-r[0]>o?s:0),r[0]+=u}_l(e,r)}function nf(r,e,i,s){const o=Math.pow(2,s.z)*ln,u=[s.x*ln,s.y*ln],h=[];if(!r)return h;for(const f of r)for(const _ of f){const g=[_.x+u[0],_.y+u[1]];sf(g,e,i,o),h.push(g)}return h}function _c(r,e,i,s){const o=Math.pow(2,s.z)*ln,u=[s.x*ln,s.y*ln],h=[];if(!r)return h;for(const _ of r){const g=[];for(const v of _){const b=[v.x+u[0],v.y+u[1]];_l(e,b),g.push(b)}h.push(g)}if(e[2]-e[0]<=o/2){(f=e)[0]=f[1]=1/0,f[2]=f[3]=-1/0;for(const _ of h)for(const g of _)sf(g,e,i,o)}var f;return h}class aa{constructor(e,i){this.type=Wt,this.geojson=e,this.geometries=i}static parse(e,i){if(e.length!==2)return i.error(`'within' expression requires exactly one argument, but found ${e.length-1} instead.`);if(La(e[1])){const s=e[1];if(s.type==="FeatureCollection")for(let o=0;o<s.features.length;++o){const u=s.features[o].geometry.type;if(u==="Polygon"||u==="MultiPolygon")return new aa(s,s.features[o].geometry)}else if(s.type==="Feature"){const o=s.geometry.type;if(o==="Polygon"||o==="MultiPolygon")return new aa(s,s.geometry)}else if(s.type==="Polygon"||s.type==="MultiPolygon")return new aa(s,s)}return i.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(function(i,s){const o=[1/0,1/0,-1/0,-1/0],u=[1/0,1/0,-1/0,-1/0],h=i.canonicalID();if(!h)return!1;if(s.type==="Polygon"){const f=$u(s.coordinates,u,h),_=nf(i.geometry(),o,u,h);if(!gl(o,u))return!1;for(const g of _)if(!Fa(g,f))return!1}if(s.type==="MultiPolygon"){const f=na(s.coordinates,u,h),_=nf(i.geometry(),o,u,h);if(!gl(o,u))return!1;for(const g of _)if(!vm(g,f))return!1}return!0})(e,this.geometries);if(e.geometryType()==="LineString")return(function(i,s){const o=[1/0,1/0,-1/0,-1/0],u=[1/0,1/0,-1/0,-1/0],h=i.canonicalID();if(!h)return!1;if(s.type==="Polygon"){const f=$u(s.coordinates,u,h),_=_c(i.geometry(),o,u,h);if(!gl(o,u))return!1;for(const g of _)if(!rf(g,f))return!1}if(s.type==="MultiPolygon"){const f=na(s.coordinates,u,h),_=_c(i.geometry(),o,u,h);if(!gl(o,u))return!1;for(const g of _)if(!bm(g,f))return!1}return!0})(e,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}serialize(){return["within",this.geojson]}}const yl={kilometers:1,miles:1e3/1609.344,nauticalmiles:1e3/1852,meters:1e3,metres:1e3,yards:1e3/.9144,feet:1e3/.3048,inches:1e3/.0254},zs=1/298.257223563,Hu=zs*(2-zs),uo=Math.PI/180;class ho{static fromTile(e,i,s){const o=Math.PI*(1-2*(e+.5)/Math.pow(2,i)),u=Math.atan(.5*(Math.exp(o)-Math.exp(-o)))/uo;return new ho(u,s)}static get units(){return yl}constructor(e,i){if(e===void 0)throw new Error("No latitude given.");if(i&&!yl[i])throw new Error(`Unknown unit ${i}. Use one of: ${Object.keys(yl).join(", ")}`);const s=6378.137*uo*(i?yl[i]:1),o=Math.cos(e*uo),u=1/(1-Hu*(1-o*o)),h=Math.sqrt(u);this.kx=s*h*o,this.ky=s*h*u*(1-Hu)}distance(e,i){const s=ws(e[0]-i[0])*this.kx,o=(e[1]-i[1])*this.ky;return Math.sqrt(s*s+o*o)}bearing(e,i){const s=ws(i[0]-e[0])*this.kx;return Math.atan2(s,(i[1]-e[1])*this.ky)/uo}destination(e,i,s){const o=s*uo;return this.offset(e,Math.sin(o)*i,Math.cos(o)*i)}offset(e,i,s){return[e[0]+i/this.kx,e[1]+s/this.ky]}lineDistance(e){let i=0;for(let s=0;s<e.length-1;s++)i+=this.distance(e[s],e[s+1]);return i}area(e){let i=0;for(let s=0;s<e.length;s++){const o=e[s];for(let u=0,h=o.length,f=h-1;u<h;f=u++)i+=ws(o[u][0]-o[f][0])*(o[u][1]+o[f][1])*(s?-1:1)}return Math.abs(i)/2*this.kx*this.ky}along(e,i){let s=0;if(i<=0)return e[0];for(let o=0;o<e.length-1;o++){const u=e[o],h=e[o+1],f=this.distance(u,h);if(s+=f,s>i)return gc(u,h,(i-(s-f))/f)}return e[e.length-1]}pointToSegmentDistance(e,i,s){let[o,u]=i,h=ws(s[0]-o)*this.kx,f=(s[1]-u)*this.ky;if(h!==0||f!==0){const _=(ws(e[0]-o)*this.kx*h+(e[1]-u)*this.ky*f)/(h*h+f*f);_>1?(o=s[0],u=s[1]):_>0&&(o+=h/this.kx*_,u+=f/this.ky*_)}return h=ws(e[0]-o)*this.kx,f=(e[1]-u)*this.ky,Math.sqrt(h*h+f*f)}pointOnLine(e,i){let s=1/0,o=e[0][0],u=e[0][1],h=0,f=0;for(let _=0;_<e.length-1;_++){let g=e[_][0],v=e[_][1],b=ws(e[_+1][0]-g)*this.kx,w=(e[_+1][1]-v)*this.ky,I=0;b===0&&w===0||(I=(ws(i[0]-g)*this.kx*b+(i[1]-v)*this.ky*w)/(b*b+w*w),I>1?(g=e[_+1][0],v=e[_+1][1]):I>0&&(g+=b/this.kx*I,v+=w/this.ky*I)),b=ws(i[0]-g)*this.kx,w=(i[1]-v)*this.ky;const E=b*b+w*w;E<s&&(s=E,o=g,u=v,h=_,f=I)}return{point:[o,u],index:h,t:Math.max(0,Math.min(1,f))}}lineSlice(e,i,s){let o=this.pointOnLine(s,e),u=this.pointOnLine(s,i);if(o.index>u.index||o.index===u.index&&o.t>u.t){const g=o;o=u,u=g}const h=[o.point],f=o.index+1,_=u.index;!Wu(s[f],h[0])&&f<=_&&h.push(s[f]);for(let g=f+1;g<=_;g++)h.push(s[g]);return Wu(s[_],u.point)||h.push(u.point),h}lineSliceAlong(e,i,s){let o=0;const u=[];for(let h=0;h<s.length-1;h++){const f=s[h],_=s[h+1],g=this.distance(f,_);if(o+=g,o>e&&u.length===0&&u.push(gc(f,_,(e-(o-g))/g)),o>=i)return u.push(gc(f,_,(i-(o-g))/g)),u;o>e&&u.push(_)}return u}bufferPoint(e,i){const s=i/this.ky,o=i/this.kx;return[e[0]-o,e[1]-s,e[0]+o,e[1]+s]}bufferBBox(e,i){const s=i/this.ky,o=i/this.kx;return[e[0]-o,e[1]-s,e[2]+o,e[3]+s]}insideBBox(e,i){return ws(e[0]-i[0])>=0&&ws(e[0]-i[2])<=0&&e[1]>=i[1]&&e[1]<=i[3]}}function Wu(r,e){return r[0]===e[0]&&r[1]===e[1]}function gc(r,e,i){const s=ws(e[0]-r[0]);return[r[0]+s*i,r[1]+(e[1]-r[1])*i]}function ws(r){for(;r<-180;)r+=360;for(;r>180;)r-=360;return r}class xl{constructor(e=[],i=(s,o)=>s<o?-1:s>o?1:0){if(this.data=e,this.length=this.data.length,this.compare=i,this.length>0)for(let s=(this.length>>1)-1;s>=0;s--)this._down(s)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;const e=this.data[0],i=this.data.pop();return--this.length>0&&(this.data[0]=i,this._down(0)),e}peek(){return this.data[0]}_up(e){const{data:i,compare:s}=this,o=i[e];for(;e>0;){const u=e-1>>1,h=i[u];if(s(o,h)>=0)break;i[e]=h,e=u}i[e]=o}_down(e){const{data:i,compare:s}=this,o=this.length>>1,u=i[e];for(;e<o;){let h=1+(e<<1);const f=h+1;if(f<this.length&&s(i[f],i[h])<0&&(h=f),s(i[h],u)>=0)break;i[e]=i[h],e=h}i[e]=u}}var qe=8192;function Zu(r,e){return e.dist-r.dist}function Xu(r){const e=[1/0,1/0,-1/0,-1/0];if(e.length!==r.length)return!1;for(let i=0;i<e.length;i++)if(e[i]!==r[i])return!1;return!0}function vl(r){return r[1]-r[0]+1}function cn(r,e){const i=r[1]>=r[0]&&r[1]<e;return i||console.warn("Distance Expression: Index is out of range"),i}function yc(r,e){if(r[0]>r[1])return[null,null];const i=vl(r);if(e){if(i===2)return[r,null];const s=Math.floor(i/2);return[[r[0],r[0]+s],[r[0]+s,r[1]]]}{if(i===1)return[r,null];const s=Math.floor(i/2)-1;return[[r[0],r[0]+s],[r[0]+s+1,r[1]]]}}function Ba(r,e){const i=[1/0,1/0,-1/0,-1/0];if(!cn(e,r.length))return i;for(let s=e[0];s<=e[1];++s)_l(i,r[s]);return i}function xc(r){const e=[1/0,1/0,-1/0,-1/0];for(let i=0;i<r.length;++i)for(let s=0;s<r[i].length;++s)_l(e,r[i][s]);return e}function Dn(r,e,i){if(Xu(r)||Xu(e))return NaN;let s=0,o=0;return r[2]<e[0]&&(s=e[0]-r[2]),r[0]>e[2]&&(s=r[0]-e[2]),r[1]>e[3]&&(o=r[1]-e[3]),r[3]<e[1]&&(o=e[1]-r[3]),i.distance([0,0],[s,o])}function Yu(r){return 360*r-180}function vc(r){return 360/Math.PI*Math.atan(Math.exp((180-360*r)*Math.PI/180))-90}function bl(r,e,i=8192){const s=Math.pow(2,e.z),o=(r.y/i+e.y)/s;return[Yu((r.x/i+e.x)/s),vc(o)]}function af(r,e){const i=[];for(let s=0;s<r.length;++s)i.push(bl(r[s],e));return i}function of(r,e,i){const s=i.pointOnLine(e,r).point;return i.distance(r,s)}function lf(r,e,i,s,o){const u=i.slice(s[0],s[1]+1);let h=1/0;for(let f=e[0];f<=e[1];++f)if((h=Math.min(h,of(r[f],u,o)))===0)return 0;return h}function bc(r,e,i,s,o){const u=Math.min(o.pointToSegmentDistance(r,i,s),o.pointToSegmentDistance(e,i,s)),h=Math.min(o.pointToSegmentDistance(i,r,e),o.pointToSegmentDistance(s,r,e));return Math.min(u,h)}function fo(r,e,i,s,o){if(!cn(e,r.length)||!cn(s,i.length))return NaN;let u=1/0;for(let h=e[0];h<e[1];++h)for(let f=s[0];f<s[1];++f){if(mc(r[h],r[h+1],i[f],i[f+1]))return 0;u=Math.min(u,bc(r[h],r[h+1],i[f],i[f+1],o))}return u}function Pt(r,e,i,s,o){if(!cn(e,r.length)||!cn(s,i.length))return NaN;let u=1/0;for(let h=e[0];h<=e[1];++h)for(let f=s[0];f<=s[1];++f)if((u=Math.min(u,o.distance(r[h],i[f])))===0)return u;return u}function wm(r,e,i){if(Fa(r,e,!0))return 0;let s=1/0;for(const o of e){const u=o.length;if(u<2)return console.warn("Distance Expression: Invalid polygon!"),NaN;if(o[0]!==o[u-1]&&(s=Math.min(s,i.pointToSegmentDistance(r,o[u-1],o[0])))===0||(s=Math.min(s,of(r,o,i)))===0)return s}return s}function Tm(r,e,i,s){if(!cn(e,r.length))return NaN;for(let u=e[0];u<=e[1];++u)if(Fa(r[u],i,!0))return 0;let o=1/0;for(let u=e[0];u<e[1];++u)for(const h of i)for(let f=0,_=h.length,g=_-1;f<_;g=f++){if(mc(r[u],r[u+1],h[g],h[f]))return 0;o=Math.min(o,bc(r[u],r[u+1],h[g],h[f],s))}return o}function cf(r,e){for(const i of r)for(let s=0;s<=i.length-1;++s)if(Fa(i[s],e,!0))return!0;return!1}function uf(r,e,i,s=1/0){const o=xc(r),u=xc(e);if(s!==1/0&&Dn(o,u,i)>=s)return s;if(gl(o,u)){if(cf(r,e))return 0}else if(cf(e,r))return 0;let h=s;for(const f of r)for(let _=0,g=f.length,v=g-1;_<g;v=_++)for(const b of e)for(let w=0,I=b.length,E=I-1;w<I;E=w++){if(mc(f[v],f[_],b[E],b[w]))return 0;h=Math.min(h,bc(f[v],f[_],b[E],b[w],i))}return h}function wc(r,e,i,s,o,u,h){if(u===null||h===null)return;const f=Dn(Ba(s,u),Ba(o,h),i);f<e&&r.push({dist:f,range1:u,range2:h})}function Si(r,e,i,s,o=1/0){let u=Math.min(s.distance(r[0],i[0][0]),o);if(u===0)return u;const h=new xl([{dist:0,range1:[0,r.length-1],range2:[0,0]}],Zu),f=e?50:100,_=xc(i);for(;h.length;){const g=h.pop();if(g.dist>=u)continue;const v=g.range1;if(vl(v)<=f){if(!cn(v,r.length))return NaN;if(e){const b=Tm(r,v,i,s);if((u=Math.min(u,b))===0)return u}else for(let b=v[0];b<=v[1];++b){const w=wm(r[b],i,s);if((u=Math.min(u,w))===0)return u}}else{const b=yc(v,e);if(b[0]!==null){const w=Dn(Ba(r,b[0]),_,s);w<u&&h.push({dist:w,range1:b[0],range2:[0,0]})}if(b[1]!==null){const w=Dn(Ba(r,b[1]),_,s);w<u&&h.push({dist:w,range1:b[1],range2:[0,0]})}}}return u}function hf(r,e,i,s,o,u=1/0){let h=Math.min(u,o.distance(r[0],i[0]));if(h===0)return h;const f=new xl([{dist:0,range1:[0,r.length-1],range2:[0,i.length-1]}],Zu),_=e?50:100,g=s?50:100;for(;f.length;){const v=f.pop();if(v.dist>=h)continue;const b=v.range1,w=v.range2;if(vl(b)<=_&&vl(w)<=g){if(!cn(b,r.length)||!cn(w,i.length))return NaN;if(e&&s?h=Math.min(h,fo(r,b,i,w,o)):e||s?e&&!s?h=Math.min(h,lf(i,w,r,b,o)):!e&&s&&(h=Math.min(h,lf(r,b,i,w,o))):h=Math.min(h,Pt(r,b,i,w,o)),h===0)return h}else{const I=yc(b,e),E=yc(w,s);wc(f,h,o,r,i,I[0],E[0]),wc(f,h,o,r,i,I[0],E[1]),wc(f,h,o,r,i,I[1],E[0]),wc(f,h,o,r,i,I[1],E[1])}}return h}function Ju(r,e,i,s,o=1/0){let u=o;const h=Ba(r,[0,r.length-1]);for(const f of i)if(!(u!==1/0&&Dn(h,Ba(f,[0,f.length-1]),s)>=u)&&(u=Math.min(u,hf(r,e,f,!0,s,u)),u===0))return u;return u}function Tc(r,e,i,s,o=1/0){let u=o;const h=Ba(r,[0,r.length-1]);for(const f of i){if(u!==1/0&&Dn(h,xc(f),s)>=u)continue;const _=Si(r,e,f,s,u);if(isNaN(_))return _;if((u=Math.min(u,_))===0)return u}return u}function Ku(r){return r==="Point"||r==="MultiPoint"||r==="LineString"||r==="MultiLineString"||r==="Polygon"||r==="MultiPolygon"}class ka{constructor(e,i){this.type=it,this.geojson=e,this.geometries=i}static parse(e,i){if(e.length!==2)return i.error(`'distance' expression requires either one argument, but found ' ${e.length-1} instead.`);if(La(e[1])){const s=e[1];if(s.type==="FeatureCollection"){for(let o=0;o<s.features.length;++o)if(Ku(s.features[o].geometry.type))return new ka(s,s.features[o].geometry)}else if(s.type==="Feature"){if(Ku(s.geometry.type))return new ka(s,s.geometry)}else if(Ku(s.type))return new ka(s,s)}return i.error("'distance' expression needs to be an array with format ['Distance', GeoJSONObj].")}evaluate(e){const i=e.geometry(),s=e.canonicalID();if(i!=null&&s!=null){if(e.geometryType()==="Point")return(function(o,u,h){const f=[];for(const g of o)for(const v of g)f.push(bl(v,u));const _=new ho(f[0][1],"meters");return h.type==="Point"||h.type==="MultiPoint"||h.type==="LineString"?hf(f,!1,h.type==="Point"?[h.coordinates]:h.coordinates,h.type==="LineString",_):h.type==="MultiLineString"?Ju(f,!1,h.coordinates,_):h.type==="Polygon"||h.type==="MultiPolygon"?Tc(f,!1,h.type==="Polygon"?[h.coordinates]:h.coordinates,_):null})(i,s,this.geometries);if(e.geometryType()==="LineString")return(function(o,u,h){const f=[];for(const g of o){const v=[];for(const b of g)v.push(bl(b,u));f.push(v)}const _=new ho(f[0][0][1],"meters");if(h.type==="Point"||h.type==="MultiPoint"||h.type==="LineString")return Ju(h.type==="Point"?[h.coordinates]:h.coordinates,h.type==="LineString",f,_);if(h.type==="MultiLineString"){let g=1/0;for(let v=0;v<h.coordinates.length;v++){const b=Ju(h.coordinates[v],!0,f,_,g);if(isNaN(b))return b;if((g=Math.min(g,b))===0)return g}return g}if(h.type==="Polygon"||h.type==="MultiPolygon"){let g=1/0;for(let v=0;v<f.length;v++){const b=Tc(f[v],!0,h.type==="Polygon"?[h.coordinates]:h.coordinates,_,g);if(isNaN(b))return b;if((g=Math.min(g,b))===0)return g}return g}return null})(i,s,this.geometries);if(e.geometryType()==="Polygon")return(function(o,u,h){const f=[];for(const g of(function(v){const b=v.length;if(b<=1)return[v];const w=[];let I,E;for(let P=0;P<b;P++){const R=ra(v[P]);R!==0&&(v[P].area=Math.abs(R),E===void 0&&(E=R<0),E===R<0?(I&&w.push(I),I=[v[P]]):I.push(v[P]))}return I&&w.push(I),w})(o)){const v=[];for(let b=0;b<g.length;++b)v.push(af(g[b],u));f.push(v)}const _=new ho(f[0][0][0][1],"meters");if(h.type==="Point"||h.type==="MultiPoint"||h.type==="LineString")return Tc(h.type==="Point"?[h.coordinates]:h.coordinates,h.type==="LineString",f,_);if(h.type==="MultiLineString"){let g=1/0;for(let v=0;v<h.coordinates.length;v++){const b=Tc(h.coordinates[v],!0,f,_,g);if(isNaN(b))return b;if((g=Math.min(g,b))===0)return g}return g}return h.type==="Polygon"||h.type==="MultiPolygon"?(function(g,v,b){let w=1/0;for(const I of g)for(const E of v){const P=uf(I,E,b,w);if(isNaN(P))return P;if((w=Math.min(w,P))===0)return w}return w})(h.type==="Polygon"?[h.coordinates]:h.coordinates,f,_):null})(i,s,this.geometries);console.warn("Distance Expression: currently only evaluates valid Point/LineString/Polygon geometries.")}else console.warn("Distance Expression: requires valid feature and canonical information.");return null}eachChild(){}outputDefined(){return!0}serialize(){return["distance",this.geojson]}}function po(r){if(r instanceof Cr&&(r.name==="get"&&r.args.length===1||r.name==="feature-state"||r.name==="has"&&r.args.length===1||r.name==="properties"||r.name==="geometry-type"||r.name==="id"||/^filter-/.test(r.name))||r instanceof aa||r instanceof ka)return!1;if(r instanceof _o)return r.featureConstant;let e=!0;return r.eachChild(i=>{e&&!po(i)&&(e=!1)}),e}function wl(r){if(r instanceof Cr&&r.name==="feature-state")return!1;let e=!0;return r.eachChild(i=>{e&&!wl(i)&&(e=!1)}),e}function mo(r,e){if(r instanceof Cr&&e.indexOf(r.name)>=0)return!1;let i=!0;return r.eachChild(s=>{i&&!mo(s,e)&&(i=!1)}),i}function df(r,e,i){return[r,e,i].filter(Boolean).join("")}function Qu(r,e){switch(r){case"string":return on(e);case"number":return+e;case"boolean":return!!e;case"color":return Zt.parse(e);case"formatted":return Gr.fromString(on(e));case"resolvedImage":return xr.build(on(e))}return e}function ff(r,e,i,s){return s!==void 0&&(r=s*Math.round(r/s)),e!==void 0&&r<e&&(r=e),i!==void 0&&r>i&&(r=i),r}class _o{constructor(e,i,s,o=!1){this.type=e,this.key=i,this.scope=s,this.featureConstant=o}static parse(e,i){let s=i.expectedType;if(s==null&&(s=Xt),e.length<2||e.length>3)return i.error("Invalid number of arguments for 'config' expression.");const o=i.parse(e[1],1);if(!(o instanceof Pn))return i.error("Key name of 'config' expression must be a string literal.");let u,h=!0;const f=on(o.value);if(e.length>=3){const _=i.parse(e[2],2);if(!(_ instanceof Pn))return i.error("Scope of 'config' expression must be a string literal.");u=on(_.value)}if(i.options){const _=df(f,u,i._scope),g=i.options.get(_);g&&(h=po(g.value||g.default))}return new _o(s,f,u,h)}evaluate(e){const i=df(this.key,this.scope,e.scope),s=e.getConfig(i);if(!s)return null;const{type:o,value:u,values:h,minValue:f,maxValue:_,stepValue:g}=s,v=s.default.evaluate(e);let b=v;if(u){const w=e.scope;e.scope=(w||"").split("").slice(1).join(""),b=u.evaluate(e),e.scope=w}return o&&(b=Qu(o,b)),b===void 0||f===void 0&&_===void 0&&g===void 0||(typeof b=="number"?b=ff(b,f,_,g):Array.isArray(b)&&(b=b.map(w=>typeof w=="number"?ff(w,f,_,g):w))),u!==void 0&&b!==void 0&&h&&!h.includes(b)&&(b=v,o&&(b=Qu(o,b))),(o&&o!==this.type||b!==void 0&&!hc(Yi(b),this.type))&&(b=Qu(this.type.kind,b)),b}eachChild(){}outputDefined(){return!1}serialize(){const e=["config",this.key];return this.scope&&e.concat(this.scope),e}}class Sc{constructor(e,i){this.type=i.type,this.name=e,this.boundExpression=i}static parse(e,i){if(e.length!==2||typeof e[1]!="string")return i.error("'var' expression requires exactly one string literal argument.");const s=e[1];return i.scope.has(s)?new Sc(s,i.scope.get(s)):i.error(`Unknown variable "${s}". Make sure "${s}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(e){return this.boundExpression.evaluate(e)}eachChild(){}outputDefined(){return!1}serialize(){return["var",this.name]}}class Ic{constructor(e,i=[],s,o=new Qn,u=[],h,f,_){this.registry=e,this.path=i,this.key=i.map(g=>typeof g=="string"?`['${g}']`:`[${g}]`).join(""),this.scope=o,this.errors=u,this.expectedType=s,this._scope=h,this.options=f,this.iconImageUseTheme=_}parse(e,i,s,o,u={}){return i||s?this.concat(i,null,s,o)._parse(e,u):this._parse(e,u)}parseObjectValue(e,i,s,o,u,h={}){return this.concat(i,s,o,u)._parse(e,h)}_parse(e,i){function s(o,u,h){return h==="assert"?new qr(u,[o]):h==="coerce"?new Zs(u,[o]):o}if(e!==null&&typeof e!="string"&&typeof e!="boolean"&&typeof e!="number"||(e=["literal",e]),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", []].');const o=typeof e[0]=="string"?this.registry[e[0]]:void 0;if(o){let u=o.parse(e,this);if(!u)return null;if(this.expectedType){const h=this.expectedType,f=u.type;if(h.kind!=="string"&&h.kind!=="number"&&h.kind!=="boolean"&&h.kind!=="object"&&h.kind!=="array"||f.kind!=="value")if(h.kind!=="color"&&h.kind!=="formatted"&&h.kind!=="resolvedImage"||f.kind!=="value"&&f.kind!=="string"){if(this.checkSubtype(h,f))return null}else u=s(u,h,i.typeAnnotation||"coerce");else u=s(u,h,i.typeAnnotation||"assert")}if(!(u instanceof Pn)&&u.type.kind!=="resolvedImage"&&eh(u)){const h=new fc(this._scope,this.options,this.iconImageUseTheme);try{u=new Pn(u.type,u.evaluate(h))}catch(f){return this.error(f.message),null}}return u}return Zs.parse(["to-array",e],this)}return this.error(e===void 0?"'undefined' value invalid. Use null instead.":typeof e=="object"?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof e} instead.`)}concat(e,i,s,o){let u=typeof e=="number"?this.path.concat(e):this.path;u=typeof i=="string"?u.concat(i):u;const h=o?this.scope.concat(o):this.scope;return new Ic(this.registry,u,s||null,h,this.errors,this._scope,this.options,this.iconImageUseTheme)}error(e,...i){const s=`${this.key}${i.map(o=>`[${o}]`).join("")}`;this.errors.push(new ss(s,e))}checkSubtype(e,i){const s=fl(e,i);return s&&this.error(s),s}}function eh(r){if(r instanceof Sc)return eh(r.boundExpression);if(r instanceof Cr&&r.name==="error"||r instanceof co||r instanceof aa||r instanceof ka||r instanceof _o)return!1;const e=r instanceof Zs||r instanceof qr;let i=!0;return r.eachChild(s=>{i=e?i&&eh(s):i&&s instanceof Pn}),!!i&&po(r)&&mo(r,["zoom","heatmap-density","worldview","line-progress","raster-value","sky-radial-progress","accumulated","is-supported-script","pitch","distance-from-center","measure-light","raster-particle-speed","is-active-floor"])}function Ec(r,e){const i=r.length-1;let s,o,u=0,h=i,f=0;for(;u<=h;)if(f=Math.floor((u+h)/2),s=r[f],o=r[f+1],s<=e){if(f===i||e<o)return f;u=f+1}else{if(!(s>e))throw new ir("Input is not a number.");h=f-1}return 0}class Tl{constructor(e,i,s){this.type=e,this.input=i,this.labels=[],this.outputs=[];for(const[o,u]of s)this.labels.push(o),this.outputs.push(u)}static parse(e,i){if(e.length-1<4)return i.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return i.error("Expected an even number of arguments.");const s=i.parse(e[1],1,it);if(!s)return null;const o=[];let u=null;i.expectedType&&i.expectedType.kind!=="value"&&(u=i.expectedType);for(let h=1;h<e.length;h+=2){const f=h===1?-1/0:e[h],_=e[h+1],g=h,v=h+1;if(typeof f!="number")return i.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',g);if(o.length&&o[o.length-1][0]>=f)return i.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',g);const b=i.parse(_,v,u);if(!b)return null;u=u||b.type,o.push([f,b])}return new Tl(u,s,o)}evaluate(e){const i=this.labels,s=this.outputs;if(i.length===1)return s[0].evaluate(e);const o=this.input.evaluate(e);if(o<=i[0])return s[0].evaluate(e);const u=i.length;return o>=i[u-1]?s[u-1].evaluate(e):s[Ec(i,o)].evaluate(e)}eachChild(e){e(this.input);for(const i of this.outputs)e(i)}outputDefined(){return this.outputs.every(e=>e.outputDefined())}serialize(){const e=["step",this.input.serialize()];for(let i=0;i<this.labels.length;i++)i>0&&e.push(this.labels[i]),e.push(this.outputs[i].serialize());return e}}const pf=.95047,mf=1.08883,_f=4/29,go=6/29,gf=3*go*go,Sm=go*go*go,Im=Math.PI/180,Em=180/Math.PI;function th(r){return r>Sm?Math.pow(r,1/3):r/gf+_f}function ih(r){return r>go?r*r*r:gf*(r-_f)}function rh(r){return 255*(r<=.0031308?12.92*r:1.055*Math.pow(r,1/2.4)-.055)}function sh(r){return(r/=255)<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}function yf(r){const e=sh(r.r),i=sh(r.g),s=sh(r.b),o=th((.4124564*e+.3575761*i+.1804375*s)/pf),u=th((.2126729*e+.7151522*i+.072175*s)/1);return{l:116*u-16,a:500*(o-u),b:200*(u-th((.0193339*e+.119192*i+.9503041*s)/mf)),alpha:r.a}}function xf(r){let e=(r.l+16)/116,i=isNaN(r.a)?e:e+r.a/500,s=isNaN(r.b)?e:e-r.b/200;return e=1*ih(e),i=pf*ih(i),s=mf*ih(s),new Zt(rh(3.2404542*i-1.5371385*e-.4985314*s),rh(-.969266*i+1.8760108*e+.041556*s),rh(.0556434*i-.2040259*e+1.0572252*s),r.alpha)}function nh(r,e,i){const s=e-r;return r+i*(s>180||s<-180?s-360*Math.round(s/360):s)}const oa={forward:yf,reverse:xf,interpolate:function(r,e,i){return{l:ut(r.l,e.l,i),a:ut(r.a,e.a,i),b:ut(r.b,e.b,i),alpha:ut(r.alpha,e.alpha,i)}}},yo={forward:function(r){const{l:e,a:i,b:s}=yf(r),o=Math.atan2(s,i)*Em;return{h:o<0?o+360:o,c:Math.sqrt(i*i+s*s),l:e,alpha:r.a}},reverse:function(r){const e=r.h*Im,i=r.c;return xf({l:r.l,a:Math.cos(e)*i,b:Math.sin(e)*i,alpha:r.alpha})},interpolate:function(r,e,i){return{h:nh(r.h,e.h,i),c:ut(r.c,e.c,i),l:ut(r.l,e.l,i),alpha:ut(r.alpha,e.alpha,i)}}};var vf=Object.freeze({__proto__:null,hcl:yo,lab:oa});class Ts{constructor(e,i,s,o,u){this.type=e,this.operator=i,this.interpolation=s,this.input=o,this.labels=[],this.outputs=[];for(const[h,f]of u)this.labels.push(h),this.outputs.push(f)}static interpolationFactor(e,i,s,o){let u=0;if(e.name==="exponential")u=ah(i,e.base,s,o);else if(e.name==="linear")u=ah(i,1,s,o);else if(e.name==="cubic-bezier"){const h=e.controlPoints;u=new no(h[0],h[1],h[2],h[3]).solve(ah(i,1,s,o))}return u}static parse(e,i){let[s,o,u,...h]=e;if(!Array.isArray(o)||o.length===0)return i.error("Expected an interpolation type expression.",1);if(o[0]==="linear")o={name:"linear"};else if(o[0]==="exponential"){const g=o[1];if(typeof g!="number")return i.error("Exponential interpolation requires a numeric base.",1,1);o={name:"exponential",base:g}}else{if(o[0]!=="cubic-bezier")return i.error(`Unknown interpolation type ${String(o[0])}`,1,0);{const g=o.slice(1);if(g.length!==4||g.some(v=>typeof v!="number"||v<0||v>1))return i.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);o={name:"cubic-bezier",controlPoints:g}}}if(e.length-1<4)return i.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if(e.length-1>3&&(e.length-1)%2!=0)return i.error("Expected an even number of arguments.");if(u=i.parse(u,2,it),!u)return null;const f=[];let _=null;s==="interpolate-hcl"||s==="interpolate-lab"?_=Mr:i.expectedType&&i.expectedType.kind!=="value"&&(_=i.expectedType);for(let g=0;g<h.length;g+=2){const v=h[g],b=h[g+1],w=g+3,I=g+4;if(typeof v!="number")return i.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.',w);if(f.length&&f[f.length-1][0]>=v)return i.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',w);const E=i.parse(b,I,_);if(!E)return null;_=_||E.type,f.push([v,E])}return _.kind==="number"||_.kind==="color"||_.kind==="array"&&_.itemType.kind==="number"&&typeof _.N=="number"?new Ts(_,s,o,u,f):i.error(`Type ${Xi(_)} is not interpolatable.`)}evaluate(e){const i=this.labels,s=this.outputs;if(i.length===1)return s[0].evaluate(e);const o=this.input.evaluate(e);if(o<=i[0])return s[0].evaluate(e);const u=i.length;if(o>=i[u-1])return s[u-1].evaluate(e);const h=Ec(i,o),f=Ts.interpolationFactor(this.interpolation,o,i[h],i[h+1]),_=s[h].evaluate(e),g=s[h+1].evaluate(e);return this.operator==="interpolate"?hl[this.type.kind.toLowerCase()](_,g,f):this.operator==="interpolate-hcl"?yo.reverse(yo.interpolate(yo.forward(_),yo.forward(g),f)):oa.reverse(oa.interpolate(oa.forward(_),oa.forward(g),f))}eachChild(e){e(this.input);for(const i of this.outputs)e(i)}outputDefined(){return this.outputs.every(e=>e.outputDefined())}serialize(){let e;e=this.interpolation.name==="linear"?["linear"]:this.interpolation.name==="exponential"?this.interpolation.base===1?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier",...this.interpolation.controlPoints];const i=[this.operator,e,this.input.serialize()];for(let s=0;s<this.labels.length;s++)i.push(this.labels[s],this.outputs[s].serialize());return i}}function ah(r,e,i,s){const o=s-i,u=r-i;return o===0?0:e===1?u/o:(Math.pow(e,u)-1)/(Math.pow(e,o)-1)}class Sl{constructor(e,i){this.type=e,this.args=i}static parse(e,i){if(e.length<2)return i.error("Expectected at least one argument.");let s=null;const o=i.expectedType;o&&o.kind!=="value"&&(s=o);const u=[];for(const f of e.slice(1)){const _=i.parse(f,1+u.length,s,void 0,{typeAnnotation:"omit"});if(!_)return null;s=s||_.type,u.push(_)}const h=o&&u.some(f=>fl(o,f.type));return new Sl(h?Xt:s,u)}evaluate(e){let i,s=null,o=0;for(const u of this.args){if(o++,s=u.evaluate(e),s&&s instanceof xr&&!s.available&&(i||(i=s),s=null,o===this.args.length))return i;if(s!==null)break}return s}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}serialize(){const e=["coalesce"];return this.eachChild(i=>{e.push(i.serialize())}),e}}class Il{constructor(e,i){this.type=i.type,this.bindings=[].concat(e),this.result=i}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(const i of this.bindings)e(i[1]);e(this.result)}static parse(e,i){if(e.length<4)return i.error(`Expected at least 3 arguments, but found ${e.length-1} instead.`);const s=[];for(let u=1;u<e.length-1;u+=2){const h=e[u];if(typeof h!="string")return i.error(`Expected string, but found ${typeof h} instead.`,u);if(/[^a-zA-Z0-9_]/.test(h))return i.error("Variable names must contain only alphanumeric characters or '_'.",u);const f=i.parse(e[u+1],u+1);if(!f)return null;s.push([h,f])}const o=i.parse(e[e.length-1],e.length-1,i.expectedType,s);return o?new Il(s,o):null}outputDefined(){return this.result.outputDefined()}serialize(){const e=["let"];for(const[i,s]of this.bindings)e.push(i,s.serialize());return e.push(this.result.serialize()),e}}class la{constructor(e,i,s){this.type=e,this.index=i,this.input=s}static parse(e,i){if(e.length!==3)return i.error(`Expected 2 arguments, but found ${e.length-1} instead.`);const s=i.parse(e[1],1,it),o=i.parse(e[2],2,Sr(i.expectedType||Xt));return s&&o?new la(o.type.itemType,s,o):null}evaluate(e){const i=this.index.evaluate(e),s=this.input.evaluate(e);if(i<0)throw new ir("Array index out of bounds: negative index");if(i>=s.length)throw new ir("Array index out of bounds: index exceeds array size");if(i!==Math.floor(i))throw new ir("Array index must be an integer. Use at-interpolated for fractional indices");return s[i]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}serialize(){return["at",this.index.serialize(),this.input.serialize()]}}class Ac{constructor(e,i,s){this.type=e,this.index=i,this.input=s}static parse(e,i){if(e.length!==3)return i.error(`Expected 2 arguments, but found ${e.length-1} instead.`);const s=i.parse(e[1],1,it),o=i.parse(e[2],2,Sr(i.expectedType||Xt));return s&&o?new Ac(o.type.itemType,s,o):null}evaluate(e){const i=this.index.evaluate(e),s=this.input.evaluate(e);if(i<0)throw new ir(`Array index out of bounds: ${i} < 0.`);if(i>s.length-1)throw new ir(`Array index out of bounds: ${i} > ${s.length-1}.`);if(i===Math.floor(i))return s[i];const o=Math.floor(i),u=Math.ceil(i),h=s[o],f=s[u];if(typeof h!="number"||typeof f!="number")throw new ir(`Cannot interpolate between non-number values at index ${i}.`);const _=i-o;return h*(1-_)+f*_}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}serialize(){return["at-interpolated",this.index.serialize(),this.input.serialize()]}}class Mc{constructor(e,i){this.type=Wt,this.needle=e,this.haystack=i}static parse(e,i){if(e.length!==3)return i.error(`Expected 2 arguments, but found ${e.length-1} instead.`);const s=i.parse(e[1],1,Xt),o=i.parse(e[2],2,Xt);return s&&o?Uu(s.type,[Wt,Ht,it,Ra,Xt])?new Mc(s,o):i.error(`Expected first argument to be of type boolean, string, number or null, but found ${Xi(s.type)} instead`):null}evaluate(e){const i=this.needle.evaluate(e),s=this.haystack.evaluate(e);if(s==null)return!1;if(!pl(i,["boolean","string","number","null"]))throw new ir(`Expected first argument to be of type boolean, string, number or null, but found ${Xi(Yi(i))} instead.`);if(!pl(s,["string","array"]))throw new ir(`Expected second argument to be of type array or string, but found ${Xi(Yi(s))} instead.`);return s.indexOf(i)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}serialize(){return["in",this.needle.serialize(),this.haystack.serialize()]}}class Cc{constructor(e,i,s){this.type=it,this.needle=e,this.haystack=i,this.fromIndex=s}static parse(e,i){if(e.length<=2||e.length>=5)return i.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);const s=i.parse(e[1],1,Xt),o=i.parse(e[2],2,Xt);if(!s||!o)return null;if(!Uu(s.type,[Wt,Ht,it,Ra,Xt]))return i.error(`Expected first argument to be of type boolean, string, number or null, but found ${Xi(s.type)} instead`);if(e.length===4){const u=i.parse(e[3],3,it);return u?new Cc(s,o,u):null}return new Cc(s,o)}evaluate(e){const i=this.needle.evaluate(e),s=this.haystack.evaluate(e);if(!pl(i,["boolean","string","number","null"]))throw new ir(`Expected first argument to be of type boolean, string, number or null, but found ${Xi(Yi(i))} instead.`);if(!pl(s,["string","array"]))throw new ir(`Expected second argument to be of type array or string, but found ${Xi(Yi(s))} instead.`);if(this.fromIndex){const o=this.fromIndex.evaluate(e);return s.indexOf(i,o)}return s.indexOf(i)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}serialize(){if(this.fromIndex!=null&&this.fromIndex!==void 0){const e=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),e]}return["index-of",this.needle.serialize(),this.haystack.serialize()]}}class El{constructor(e,i,s,o,u,h){this.inputType=e,this.type=i,this.input=s,this.cases=o,this.outputs=u,this.otherwise=h}static parse(e,i){if(e.length<5)return i.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if(e.length%2!=1)return i.error("Expected an even number of arguments.");let s,o;i.expectedType&&i.expectedType.kind!=="value"&&(o=i.expectedType);const u={},h=[];for(let g=2;g<e.length-1;g+=2){let v=e[g];const b=e[g+1];Array.isArray(v)||(v=[v]);const w=i.concat(g);if(v.length===0)return w.error("Expected at least one branch label.");for(const E of v){if(typeof E!="number"&&typeof E!="string")return w.error("Branch labels must be numbers or strings.");if(typeof E=="number"&&Math.abs(E)>Number.MAX_SAFE_INTEGER)return w.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof E=="number"&&Math.floor(E)!==E)return w.error("Numeric branch labels must be integer values.");if(s){if(w.checkSubtype(s,Yi(E)))return null}else s=Yi(E);if(u[String(E)]!==void 0)return w.error("Branch labels must be unique.");u[String(E)]=h.length}const I=i.parse(b,g,o);if(!I)return null;o=o||I.type,h.push(I)}const f=i.parse(e[1],1,Xt);if(!f)return null;const _=i.parse(e[e.length-1],e.length-1,o);return _?f.type.kind!=="value"&&i.concat(1).checkSubtype(s,f.type)?null:new El(s,o,f,u,h,_):null}evaluate(e){const i=this.input.evaluate(e);return(hc(Yi(i),this.inputType)&&this.outputs[this.cases[i]]||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()}serialize(){const e=["match",this.input.serialize()],i=Object.keys(this.cases).sort(),s=[],o={};for(const h of i){const f=o[this.cases[h]];f===void 0?(o[this.cases[h]]=s.length,s.push([this.cases[h],[h]])):s[f][1].push(h)}const u=h=>this.inputType.kind==="number"?Number(h):h;for(const[h,f]of s)e.push(f.length===1?u(f[0]):f.map(u)),e.push(this.outputs[h].serialize());return e.push(this.otherwise.serialize()),e}}class Al{constructor(e,i,s){this.type=e,this.branches=i,this.otherwise=s}static parse(e,i){if(e.length<4)return i.error(`Expected at least 3 arguments, but found only ${e.length-1}.`);if(e.length%2!=0)return i.error("Expected an odd number of arguments.");let s;i.expectedType&&i.expectedType.kind!=="value"&&(s=i.expectedType);const o=[];for(let h=1;h<e.length-1;h+=2){const f=i.parse(e[h],h,Wt);if(!f)return null;const _=i.parse(e[h+1],h+1,s);if(!_)return null;o.push([f,_]),s=s||_.type}const u=i.parse(e[e.length-1],e.length-1,s);return u?new Al(s,o,u):null}evaluate(e){for(const[i,s]of this.branches)if(i.evaluate(e))return s.evaluate(e);return this.otherwise.evaluate(e)}eachChild(e){for(const[i,s]of this.branches)e(i),e(s);e(this.otherwise)}outputDefined(){return this.branches.every(([e,i])=>i.outputDefined())&&this.otherwise.outputDefined()}serialize(){const e=["case"];return this.eachChild(i=>{e.push(i.serialize())}),e}}class xo{constructor(e,i,s,o){this.type=e,this.input=i,this.beginIndex=s,this.endIndex=o}static parse(e,i){if(e.length<=2||e.length>=5)return i.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);const s=i.parse(e[1],1,Xt),o=i.parse(e[2],2,it);if(!s||!o)return null;if(!Uu(s.type,[Sr(Xt),Ht,Xt]))return i.error(`Expected first argument to be of type array or string, but found ${Xi(s.type)} instead`);if(e.length===4){const u=i.parse(e[3],3,it);return u?new xo(s.type,s,o,u):null}return new xo(s.type,s,o)}evaluate(e){const i=this.input.evaluate(e),s=this.beginIndex.evaluate(e);if(!pl(i,["string","array"]))throw new ir(`Expected first argument to be of type array or string, but found ${Xi(Yi(i))} instead.`);if(this.endIndex){const o=this.endIndex.evaluate(e);return i.slice(s,o)}return i.slice(s)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}serialize(){if(this.endIndex!=null&&this.endIndex!==void 0){const e=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),e]}return["slice",this.input.serialize(),this.beginIndex.serialize()]}}class oh{constructor(e,i){this.type=Sr(Ht),this.str=e,this.delimiter=i}static parse(e,i){if(e.length!==3)return i.error(`Expected 2 arguments, but found ${e.length-1} instead.`);const s=i.parse(e[1],1,Ht),o=i.parse(e[2],2,Ht);return s&&o?new oh(s,o):void 0}evaluate(e){const i=this.str.evaluate(e),s=this.delimiter.evaluate(e);return i.split(s)}eachChild(e){e(this.str),e(this.delimiter)}outputDefined(){return!1}serialize(){return["split",this.str.serialize(),this.delimiter.serialize()]}}function bf(r,e){return r==="=="||r==="!="?e.kind==="boolean"||e.kind==="string"||e.kind==="number"||e.kind==="null"||e.kind==="value":e.kind==="string"||e.kind==="number"||e.kind==="value"}function lh(r,e,i,s){return s.compare(e,i)===0}function Na(r,e,i){const s=r!=="=="&&r!=="!=";return class Vv{constructor(u,h,f){this.type=Wt,this.lhs=u,this.rhs=h,this.collator=f,this.hasUntypedArgument=u.type.kind==="value"||h.type.kind==="value"}static parse(u,h){if(u.length!==3&&u.length!==4)return h.error("Expected two or three arguments.");const f=u[0];let _=h.parse(u[1],1,Xt);if(!_)return null;if(!bf(f,_.type))return h.concat(1).error(`"${f}" comparisons are not supported for type '${Xi(_.type)}'.`);let g=h.parse(u[2],2,Xt);if(!g)return null;if(!bf(f,g.type))return h.concat(2).error(`"${f}" comparisons are not supported for type '${Xi(g.type)}'.`);if(_.type.kind!==g.type.kind&&_.type.kind!=="value"&&g.type.kind!=="value")return h.error(`Cannot compare types '${Xi(_.type)}' and '${Xi(g.type)}'.`);s&&(_.type.kind==="value"&&g.type.kind!=="value"?_=new qr(g.type,[_]):_.type.kind!=="value"&&g.type.kind==="value"&&(g=new qr(_.type,[g])));let v=null;if(u.length===4){if(_.type.kind!=="string"&&g.type.kind!=="string"&&_.type.kind!=="value"&&g.type.kind!=="value")return h.error("Cannot use collator to compare non-string types.");if(v=h.parse(u[3],3,cc),!v)return null}return new Vv(_,g,v)}evaluate(u){const h=this.lhs.evaluate(u),f=this.rhs.evaluate(u);if(s&&this.hasUntypedArgument){const _=Yi(h),g=Yi(f);if(_.kind!==g.kind||_.kind!=="string"&&_.kind!=="number")throw new ir(`Expected arguments for "${r}" to be (string, string) or (number, number), but found (${_.kind}, ${g.kind}) instead.`)}if(this.collator&&!s&&this.hasUntypedArgument){const _=Yi(h),g=Yi(f);if(_.kind!=="string"||g.kind!=="string")return e(u,h,f)}return this.collator?i(u,h,f,this.collator.evaluate(u)):e(u,h,f)}eachChild(u){u(this.lhs),u(this.rhs),this.collator&&u(this.collator)}outputDefined(){return!0}serialize(){const u=[r];return this.eachChild(h=>{u.push(h.serialize())}),u}}}const Am=Na("==",function(r,e,i){return e===i},lh),Mm=Na("!=",function(r,e,i){return e!==i},function(r,e,i,s){return!lh(0,e,i,s)}),Cm=Na("<",function(r,e,i){return e<i},function(r,e,i,s){return s.compare(e,i)<0}),wf=Na(">",function(r,e,i){return e>i},function(r,e,i,s){return s.compare(e,i)>0}),Tf=Na("<=",function(r,e,i){return e<=i},function(r,e,i,s){return s.compare(e,i)<=0}),Pc=Na(">=",function(r,e,i){return e>=i},function(r,e,i,s){return s.compare(e,i)>=0});class ch{constructor(e,i,s,o,u,h){this.type=Ht,this.number=e,this.locale=i,this.currency=s,this.unit=o,this.minFractionDigits=u,this.maxFractionDigits=h}static parse(e,i){if(e.length!==3)return i.error("Expected two arguments.");const s=i.parse(e[1],1,it);if(!s)return null;const o=e[2];if(typeof o!="object"||Array.isArray(o))return i.error("NumberFormat options argument must be an object.");let u=null;if(o.locale&&(u=i.parseObjectValue(o.locale,2,"locale",Ht),!u))return null;let h=null;if(o.currency&&(h=i.parseObjectValue(o.currency,2,"currency",Ht),!h))return null;let f=null;if(o.unit&&(f=i.parseObjectValue(o.unit,2,"unit",Ht),!f))return null;let _=null;if(o["min-fraction-digits"]&&(_=i.parseObjectValue(o["min-fraction-digits"],2,"min-fraction-digits",it),!_))return null;let g=null;return o["max-fraction-digits"]&&(g=i.parseObjectValue(o["max-fraction-digits"],2,"max-fraction-digits",it),!g)?null:new ch(s,u,h,f,_,g)}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}serialize(){const e={};return this.locale&&(e.locale=this.locale.serialize()),this.currency&&(e.currency=this.currency.serialize()),this.unit&&(e.unit=this.unit.serialize()),this.minFractionDigits&&(e["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(e["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),e]}}class Dc{constructor(e){this.type=it,this.input=e}static parse(e,i){if(e.length!==2)return i.error(`Expected 1 argument, but found ${e.length-1} instead.`);const s=i.parse(e[1],1);return s?s.type.kind!=="array"&&s.type.kind!=="string"&&s.type.kind!=="value"?i.error(`Expected argument of type string or array, but found ${Xi(s.type)} instead.`):new Dc(s):null}evaluate(e){const i=this.input.evaluate(e);if(typeof i=="string"||Array.isArray(i))return i.length;throw new ir(`Expected value to be of type string or array, but found ${Xi(Yi(i))} instead.`)}eachChild(e){e(this.input)}outputDefined(){return!1}serialize(){const e=["length"];return this.eachChild(i=>{e.push(i.serialize())}),e}}function Sf(r){return function(){r=1831565813+(r|=0)|0;let e=Math.imul(r^r>>>15,1|r);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296}}const vo={"==":Am,"!=":Mm,">":wf,"<":Cm,">=":Pc,"<=":Tf,array:qr,at:la,"at-interpolated":Ac,boolean:qr,case:Al,coalesce:Sl,collator:co,format:vt,image:rt,in:Mc,"index-of":Cc,interpolate:Ts,"interpolate-hcl":Ts,"interpolate-lab":Ts,length:Dc,let:Il,literal:Pn,match:El,number:qr,"number-format":ch,object:qr,slice:xo,step:Tl,string:qr,"to-boolean":Zs,"to-color":Zs,"to-number":Zs,"to-string":Zs,var:Sc,within:aa,distance:ka,config:_o,split:oh};function uh(r,[e,i,s,o]){e=e.evaluate(r),i=i.evaluate(r),s=s.evaluate(r);const u=o?o.evaluate(r):1,h=Kd(e,i,s,u);if(h)throw new ir(h);return new Zt(e/255,i/255,s/255,u)}function hh(r,[e,i,s,o]){e=e.evaluate(r),i=i.evaluate(r),s=s.evaluate(r);const u=o?o.evaluate(r):1,h=(function(g,v,b,w){return typeof g=="number"&&g>=0&&g<=360?typeof v=="number"&&v>=0&&v<=100&&typeof b=="number"&&b>=0&&b<=100?w===void 0||typeof w=="number"&&w>=0&&w<=1?null:`Invalid hsla value [${[g,v,b,w].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid hsla value [${(typeof w=="number"?[g,v,b,w]:[g,v,b]).join(", ")}]: 's', and 'l' must be between 0 and 100.`:`Invalid hsla value [${(typeof w=="number"?[g,v,b,w]:[g,v,b]).join(", ")}]: 'h' must be between 0 and 360.`})(e,i,s,u);if(h)throw new ir(h);const f=`hsla(${e}, ${i}%, ${s}%, ${u})`,_=Zt.parse(f);if(!_)throw new ir(`Failed to parse HSLA color: ${f}`);return _}function If(r,e){return r in e}function dh(r,e){const i=e[r];return i===void 0?null:i}function ca(r){return{type:r}}function zc(r){if(r instanceof _o)return new Set([r.key]);let e=new Set;return r.eachChild(i=>{e=new Set([...e,...zc(i)])}),e}function Va(r){if(r instanceof Cr&&r.name==="is-active-floor")return!0;let e=!1;return r.eachChild(i=>{!e&&Va(i)&&(e=!0)}),e}function Ef(r){return{result:"success",value:r}}function ua(r){return{result:"error",value:r}}function fh(r,e){return!!r&&!!r.parameters&&r.parameters.indexOf(e)>-1}function Rc(r){return r["property-type"]==="data-driven"}function Af(r){return fh(r.expression,"measure-light")}function Lc(r){return fh(r.expression,"zoom")}function ph(r){return!!r.expression&&r.expression.interpolated}function mh(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)}function Mf(r){return r}function _h(r,e){const i=e.type==="color",s=r.stops&&typeof r.stops[0][0]=="object",o=s||!(s||r.property!==void 0),u=r.type||(ph(e)?"exponential":"interval");if(i&&((r=Object.assign({},r)).stops&&(r.stops=r.stops.map(g=>[g[0],Zt.parse(g[1])])),r.default=Zt.parse(r.default?r.default:e.default)),r.colorSpace&&r.colorSpace!=="rgb"&&!vf[r.colorSpace])throw new Error(`Unknown color space: ${r.colorSpace}`);let h,f,_;if(u==="exponential")h=Ua;else if(u==="interval")h=Pm;else if(u==="categorical"){h=Cf,f=Object.create(null);for(const g of r.stops)f[g[0]]=g[1];_=typeof r.stops[0][0]}else{if(u!=="identity")throw new Error(`Unknown function type "${u}"`);h=Dm}if(s){const g={},v=[];for(let I=0;I<r.stops.length;I++){const E=r.stops[I],P=E[0].zoom;g[P]===void 0&&(g[P]={zoom:P,type:r.type,property:r.property,default:r.default,stops:[]},v.push(P)),g[P].stops.push([E[0].value,E[1]])}const b=[];for(const I of v)b.push([g[I].zoom,_h(g[I],e)]);const w={name:"linear"};return{kind:"composite",interpolationType:w,interpolationFactor:Ts.interpolationFactor.bind(void 0,w),zoomStops:b.map(I=>I[0]),evaluate:({zoom:I},E)=>Ua({stops:b,base:r.base},e,I).evaluate(I,E)}}if(o){const g=u==="exponential"?{name:"exponential",base:r.base!==void 0?r.base:1}:null;return{kind:"camera",interpolationType:g,interpolationFactor:Ts.interpolationFactor.bind(void 0,g),zoomStops:r.stops.map(v=>v[0]),evaluate:({zoom:v})=>h(r,e,v,f,_)}}return{kind:"source",evaluate(g,v){const b=v&&v.properties?v.properties[r.property]:void 0;return b===void 0?Ml(r.default,e.default):h(r,e,b,f,_)}}}function Ml(r,e,i){return r!==void 0?r:e!==void 0?e:i!==void 0?i:void 0}function Cf(r,e,i,s,o){return Ml(typeof i===o?s[i]:void 0,r.default,e.default)}function Pm(r,e,i){if(!lo(i))return Ml(r.default,e.default);const s=r.stops.length;if(s===1||i<=r.stops[0][0])return r.stops[0][1];if(i>=r.stops[s-1][0])return r.stops[s-1][1];const o=Ec(r.stops.map(u=>u[0]),i);return r.stops[o][1]}function Ua(r,e,i){const s=r.base!==void 0?r.base:1;if(!lo(i))return Ml(r.default,e.default);const o=r.stops.length;if(o===1||i<=r.stops[0][0])return r.stops[0][1];if(i>=r.stops[o-1][0])return r.stops[o-1][1];const u=Ec(r.stops.map(v=>v[0]),i),h=(function(v,b,w,I){const E=I-w,P=v-w;return E===0?0:b===1?P/E:(Math.pow(b,P)-1)/(Math.pow(b,E)-1)})(i,s,r.stops[u][0],r.stops[u+1][0]),f=r.stops[u][1],_=r.stops[u+1][1];let g=hl[e.type]||Mf;if(r.colorSpace&&r.colorSpace!=="rgb"){const v=vf[r.colorSpace];g=(b,w)=>v.reverse(v.interpolate(v.forward(b),v.forward(w),h))}return typeof f.evaluate=="function"?{evaluate(...v){const b=f.evaluate.apply(void 0,v),w=_.evaluate.apply(void 0,v);if(b!==void 0&&w!==void 0)return g(b,w,h)}}:g(f,_,h)}function Dm(r,e,i){return e.type==="color"?i=Zt.parse(i):e.type==="formatted"?i=Gr.fromString(i.toString()):e.type==="resolvedImage"?i=xr.build(i.toString()):oo(i)===e.type||e.type==="enum"&&e.values[i]||(i=void 0),Ml(i,r.default,e.default)}Cr.register(vo,{error:[{kind:"error"},[Ht],(r,[e])=>{throw new ir(e.evaluate(r))}],typeof:[Ht,[Xt],(r,[e])=>Xi(Yi(e.evaluate(r)))],"to-rgba":[Sr(it,4),[Mr],(r,[e])=>e.evaluate(r).toNonPremultipliedRenderColor(null).toArray()],"to-hsla":[Sr(it,4),[Mr],(r,[e])=>e.evaluate(r).toNonPremultipliedRenderColor(null).toHslaArray()],rgb:[Mr,[it,it,it],uh],rgba:[Mr,[it,it,it,it],uh],hsl:[Mr,[it,it,it],hh],hsla:[Mr,[it,it,it,it],hh],has:{type:Wt,overloads:[[[Ht],(r,[e])=>If(e.evaluate(r),r.properties())],[[Ht,ea],(r,[e,i])=>If(e.evaluate(r),i.evaluate(r))]]},get:{type:Xt,overloads:[[[Ht],(r,[e])=>dh(e.evaluate(r),r.properties())],[[Ht,ea],(r,[e,i])=>dh(e.evaluate(r),i.evaluate(r))]]},"feature-state":[Xt,[Ht],(r,[e])=>dh(e.evaluate(r),r.featureState||{})],properties:[ea,[],r=>r.properties()],"geometry-type":[Ht,[],r=>r.geometryType()],worldview:[Ht,[],r=>r.globals.worldview||""],"is-active-floor":[Wt,ca(Ht),(r,e)=>{if(!(r.globals&&r.globals.activeFloors&&r.globals.activeFloors.size>0))return!1;if(e.length===0)return!0;const i=r.globals.activeFloors;return e.some(s=>{const o=s.evaluate(r);return i.has(o)})}],id:[Xt,[],r=>r.id()],zoom:[it,[],r=>r.globals.zoom],pitch:[it,[],r=>r.globals.pitch||0],"distance-from-center":[it,[],r=>r.distanceFromCenter()],"measure-light":[it,[Ht],(r,[e])=>r.measureLight(e.evaluate(r))],"heatmap-density":[it,[],r=>r.globals.heatmapDensity||0],"line-progress":[it,[],r=>r.globals.lineProgress||0],"raster-value":[it,[],r=>r.globals.rasterValue||0],"raster-particle-speed":[it,[],r=>r.globals.rasterParticleSpeed||0],"sky-radial-progress":[it,[],r=>r.globals.skyRadialProgress||0],accumulated:[Xt,[],r=>r.globals.accumulated===void 0?null:r.globals.accumulated],"+":[it,ca(it),(r,e)=>{let i=0;for(const s of e)i+=s.evaluate(r);return i}],"*":[it,ca(it),(r,e)=>{let i=1;for(const s of e)i*=s.evaluate(r);return i}],"-":{type:it,overloads:[[[it,it],(r,[e,i])=>e.evaluate(r)-i.evaluate(r)],[[it],(r,[e])=>-e.evaluate(r)]]},"/":[it,[it,it],(r,[e,i])=>e.evaluate(r)/i.evaluate(r)],"%":[it,[it,it],(r,[e,i])=>e.evaluate(r)%i.evaluate(r)],ln2:[it,[],()=>Math.LN2],pi:[it,[],()=>Math.PI],e:[it,[],()=>Math.E],"^":[it,[it,it],(r,[e,i])=>Math.pow(e.evaluate(r),i.evaluate(r))],sqrt:[it,[it],(r,[e])=>Math.sqrt(e.evaluate(r))],log10:[it,[it],(r,[e])=>Math.log(e.evaluate(r))/Math.LN10],ln:[it,[it],(r,[e])=>Math.log(e.evaluate(r))],log2:[it,[it],(r,[e])=>Math.log2(e.evaluate(r))],sin:[it,[it],(r,[e])=>Math.sin(e.evaluate(r))],cos:[it,[it],(r,[e])=>Math.cos(e.evaluate(r))],tan:[it,[it],(r,[e])=>Math.tan(e.evaluate(r))],asin:[it,[it],(r,[e])=>Math.asin(e.evaluate(r))],acos:[it,[it],(r,[e])=>Math.acos(e.evaluate(r))],atan:[it,[it],(r,[e])=>Math.atan(e.evaluate(r))],min:[it,ca(it),(r,e)=>Math.min(...e.map(i=>i.evaluate(r)))],max:[it,ca(it),(r,e)=>Math.max(...e.map(i=>i.evaluate(r)))],abs:[it,[it],(r,[e])=>Math.abs(e.evaluate(r))],round:[it,[it],(r,[e])=>{const i=e.evaluate(r);return i<0?-Math.round(-i):Math.round(i)}],floor:[it,[it],(r,[e])=>Math.floor(e.evaluate(r))],ceil:[it,[it],(r,[e])=>Math.ceil(e.evaluate(r))],"filter-==":[Wt,[Ht,Xt],(r,[e,i])=>r.properties()[e.value]===i.value],"filter-id-==":[Wt,[Xt],(r,[e])=>r.id()===e.value],"filter-type-==":[Wt,[Ht],(r,[e])=>r.geometryType()===e.value],"filter-<":[Wt,[Ht,Xt],(r,[e,i])=>{const s=r.properties()[e.value],o=i.value;return typeof s==typeof o&&s<o}],"filter-id-<":[Wt,[Xt],(r,[e])=>{const i=r.id(),s=e.value;return typeof i==typeof s&&i<s}],"filter->":[Wt,[Ht,Xt],(r,[e,i])=>{const s=r.properties()[e.value],o=i.value;return typeof s==typeof o&&s>o}],"filter-id->":[Wt,[Xt],(r,[e])=>{const i=r.id(),s=e.value;return typeof i==typeof s&&i>s}],"filter-<=":[Wt,[Ht,Xt],(r,[e,i])=>{const s=r.properties()[e.value],o=i.value;return typeof s==typeof o&&s<=o}],"filter-id-<=":[Wt,[Xt],(r,[e])=>{const i=r.id(),s=e.value;return typeof i==typeof s&&i<=s}],"filter->=":[Wt,[Ht,Xt],(r,[e,i])=>{const s=r.properties()[e.value],o=i.value;return typeof s==typeof o&&s>=o}],"filter-id->=":[Wt,[Xt],(r,[e])=>{const i=r.id(),s=e.value;return typeof i==typeof s&&i>=s}],"filter-has":[Wt,[Xt],(r,[e])=>e.value in r.properties()],"filter-has-id":[Wt,[],r=>r.id()!==null&&r.id()!==void 0],"filter-type-in":[Wt,[Sr(Ht)],(r,[e])=>e.value.indexOf(r.geometryType())>=0],"filter-id-in":[Wt,[Sr(Xt)],(r,[e])=>e.value.indexOf(r.id())>=0],"filter-in-small":[Wt,[Ht,Sr(Xt)],(r,[e,i])=>i.value.indexOf(r.properties()[e.value])>=0],"filter-in-large":[Wt,[Ht,Sr(Xt)],(r,[e,i])=>(function(s,o,u,h){for(;u<=h;){const f=u+h>>1;if(o[f]===s)return!0;o[f]>s?h=f-1:u=f+1}return!1})(r.properties()[e.value],i.value,0,i.value.length-1)],all:{type:Wt,overloads:[[[Wt,Wt],(r,[e,i])=>e.evaluate(r)&&i.evaluate(r)],[ca(Wt),(r,e)=>{for(const i of e)if(!i.evaluate(r))return!1;return!0}]]},any:{type:Wt,overloads:[[[Wt,Wt],(r,[e,i])=>e.evaluate(r)||i.evaluate(r)],[ca(Wt),(r,e)=>{for(const i of e)if(i.evaluate(r))return!0;return!1}]]},"!":[Wt,[Wt],(r,[e])=>!e.evaluate(r)],"is-supported-script":[Wt,[Ht],(r,[e])=>{const i=r.globals&&r.globals.isSupportedScript;return!i||i(e.evaluate(r))}],upcase:[Ht,[Ht],(r,[e])=>e.evaluate(r).toUpperCase()],downcase:[Ht,[Ht],(r,[e])=>e.evaluate(r).toLowerCase()],concat:[Ht,ca(Xt),(r,e)=>e.map(i=>on(i.evaluate(r))).join("")],"resolved-locale":[Ht,[cc],(r,[e])=>e.evaluate(r).resolvedLocale()],random:[it,[it,it,Xt],(r,e)=>{const[i,s,o]=e.map(h=>h.evaluate(r));if(i>s||i===s)return i;let u;if(typeof o=="string")u=(function(h){let f=0;if(h.length===0)return f;for(let _=0;_<h.length;_++)f=(f<<5)-f+h.charCodeAt(_),f&=f;return f})(o);else{if(typeof o!="number")throw new ir(`Invalid seed input: ${o}`);u=o}return i+Sf(u)()*(s-i)}]});class gh{constructor(e,i,s,o,u){this.expression=e,this._warningHistory={},this._scope=s,this._options=o,this._iconImageUseTheme=u,this._evaluator=new fc(s,o,u),this._defaultValue=i?(function(h){return h.type==="color"&&(mh(h.default)||Array.isArray(h.default))?new Zt(0,0,0,0):h.type==="color"?Zt.parse(h.default)||null:h.default===void 0?null:h.default})(i):null,this._enumValues=i&&i.type==="enum"?i.values:null,this.configDependencies=zc(e),this.isIndoorDependent=Va(e)}evaluateWithoutErrorHandling(e,i,s,o,u,h,f,_){return this._evaluator.globals=e,this._evaluator.feature=i,this._evaluator.featureState=s,this._evaluator.canonical=o||null,this._evaluator.availableImages=u||null,this._evaluator.formattedSection=h,this._evaluator.featureTileCoord=f||null,this._evaluator.featureDistanceData=_||null,this.expression.evaluate(this._evaluator)}evaluate(e,i,s,o,u,h,f,_,g){this._evaluator||(this._evaluator=new fc(this._scope,this._options,this._iconImageUseTheme)),this._evaluator.globals=e,this._evaluator.feature=i||null,this._evaluator.featureState=s||null,this._evaluator.canonical=o||null,this._evaluator.availableImages=u||null,this._evaluator.formattedSection=h||null,this._evaluator.featureTileCoord=f||null,this._evaluator.featureDistanceData=_||null,this._evaluator.iconImageUseTheme=g||null;try{const v=this.expression.evaluate(this._evaluator);if(v==null||typeof v=="number"&&v!=v)return this._defaultValue;if(this._enumValues&&!(v in this._enumValues))throw new ir(`Expected value to be one of ${Object.keys(this._enumValues).map(b=>JSON.stringify(b)).join(", ")}, but found ${JSON.stringify(v)} instead.`);return v}catch(v){const b=v;return this._warningHistory[b.message]||(this._warningHistory[b.message]=!0,typeof console<"u"&&console.warn(`Failed to evaluate expression "${JSON.stringify(this.expression.serialize())}". ${b.message}`)),this._defaultValue}}}function Oc(r){return Array.isArray(r)&&r.length>0&&typeof r[0]=="string"&&r[0]in vo}function ha(r,e,i,s,o){const u=new Ic(vo,[],e?(function(f){const _={color:Mr,string:Ht,number:it,enum:Ht,boolean:Wt,formatted:dl,resolvedImage:ao};return f.type==="array"?Sr(_[f.value]||Xt,f.length):_[f.type]})(e):void 0,void 0,void 0,i,s,o),h=u.parse(r,void 0,void 0,void 0,e&&e.type==="string"?{typeAnnotation:"coerce"}:void 0);return h?Ef(new gh(h,e,i,s,o)):ua(u.errors)}class Cl{constructor(e,i,s,o){this.kind=e,this._styleExpression=i,this.isLightConstant=s,this.isLineProgressConstant=o,this.isStateDependent=e!=="constant"&&!wl(i.expression),this.configDependencies=zc(i.expression),this.isIndoorDependent=Va(i.expression)}evaluateWithoutErrorHandling(e,i,s,o,u,h){return this._styleExpression.evaluateWithoutErrorHandling(e,i,s,o,u,h)}evaluate(e,i,s,o,u,h,f){return this._styleExpression.evaluate(e,i,s,o,u,h,void 0,void 0,f)}}class bo{constructor(e,i,s,o,u,h){this.kind=e,this.zoomStops=s,this._styleExpression=i,this.isStateDependent=e!=="camera"&&!wl(i.expression),this.isIndoorDependent=Va(i.expression),this.isLightConstant=u,this.isLineProgressConstant=h,this.configDependencies=zc(i.expression),this.interpolationType=o}evaluateWithoutErrorHandling(e,i,s,o,u,h){return this._styleExpression.evaluateWithoutErrorHandling(e,i,s,o,u,h)}evaluate(e,i,s,o,u,h){return this._styleExpression.evaluate(e,i,s,o,u,h)}interpolationFactor(e,i,s){return this.interpolationType?Ts.interpolationFactor(this.interpolationType,e,i,s):0}}function yh(r,e,i,s,o){if((r=ha(r,e,i,s,o)).result==="error")return r;const u=r.value.expression,h=po(u);if(!h&&!Rc(e))return ua([new ss("","data expressions not supported")]);const f=mo(u,["zoom","pitch","distance-from-center"]);if(!f&&!Lc(e))return ua([new ss("","zoom expressions not supported")]);const _=mo(u,["measure-light"]);if(!_&&!Af(e))return ua([new ss("","measure-light expression not supported")]);const g=mo(u,["line-progress"]);if(!g&&!(function(w){return fh(w.expression,"line-progress")})(e))return ua([new ss("","line-progress expression not supported")]);const v=e.expression&&e.expression.relaxZoomRestriction,b=To(u);return b||f||v?b instanceof ss?ua([b]):b instanceof Ts&&!ph(e)?ua([new ss("",'"interpolate" expressions cannot be used with this property')]):Ef(b?new bo(h&&g?"camera":"composite",r.value,b.labels,b instanceof Ts?b.interpolation:void 0,_,g):new Cl(h&&g?"constant":"source",r.value,_,g)):ua([new ss("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression, or in the properties of atmosphere.')])}class wo{constructor(e,i){this._parameters=e,this._specification=i,Object.assign(this,_h(this._parameters,this._specification))}static deserialize(e){return new wo(e._parameters,e._specification)}static serialize(e){return{_parameters:e._parameters,_specification:e._specification}}}function To(r){let e=null;if(r instanceof Il)e=To(r.result);else if(r instanceof Sl){for(const i of r.args)if(e=To(i),e)break}else(r instanceof Tl||r instanceof Ts)&&r.input instanceof Cr&&r.input.name==="zoom"&&(e=r);return e instanceof ss||r.eachChild(i=>{const s=To(i);s instanceof ss?e=s:e&&s&&e!==s&&(e=new ss("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),e}var Fc,Pf,da=(function(){if(Pf)return Fc;Pf=1,Fc=e;var r=3;function e(i,s,o){var u=this.cells=[];if(i instanceof ArrayBuffer){this.arrayBuffer=i;var h=new Int32Array(this.arrayBuffer);i=h[0],this.d=(s=h[1])+2*(o=h[2]);for(var f=0;f<this.d*this.d;f++){var _=h[r+f],g=h[r+f+1];u.push(_===g?null:h.subarray(_,g))}var v=h[r+u.length+1];this.keys=h.subarray(h[r+u.length],v),this.bboxes=h.subarray(v),this.insert=this._insertReadonly}else{this.d=s+2*o;for(var b=0;b<this.d*this.d;b++)u.push([]);this.keys=[],this.bboxes=[]}this.n=s,this.extent=i,this.padding=o,this.scale=s/i,this.uid=0;var w=o/s*i;this.min=-w,this.max=i+w}return e.prototype.insert=function(i,s,o,u,h){this._forEachCell(s,o,u,h,this._insertCell,this.uid++),this.keys.push(i),this.bboxes.push(s),this.bboxes.push(o),this.bboxes.push(u),this.bboxes.push(h)},e.prototype._insertReadonly=function(){throw"Cannot insert into a GridIndex created from an ArrayBuffer."},e.prototype._insertCell=function(i,s,o,u,h,f){this.cells[h].push(f)},e.prototype.query=function(i,s,o,u,h){var f=this.min,_=this.max;if(i<=f&&s<=f&&_<=o&&_<=u&&!h)return Array.prototype.slice.call(this.keys);var g=[];return this._forEachCell(i,s,o,u,this._queryCell,g,{},h),g},e.prototype._queryCell=function(i,s,o,u,h,f,_,g){var v=this.cells[h];if(v!==null)for(var b=this.keys,w=this.bboxes,I=0;I<v.length;I++){var E=v[I];if(_[E]===void 0){var P=4*E;(g?g(w[P+0],w[P+1],w[P+2],w[P+3]):i<=w[P+2]&&s<=w[P+3]&&o>=w[P+0]&&u>=w[P+1])?(_[E]=!0,f.push(b[E])):_[E]=!1}}},e.prototype._forEachCell=function(i,s,o,u,h,f,_,g){for(var v=this._convertToCellCoord(i),b=this._convertToCellCoord(s),w=this._convertToCellCoord(o),I=this._convertToCellCoord(u),E=v;E<=w;E++)for(var P=b;P<=I;P++){var R=this.d*P+E;if((!g||g(this._convertFromCellCoord(E),this._convertFromCellCoord(P),this._convertFromCellCoord(E+1),this._convertFromCellCoord(P+1)))&&h.call(this,i,s,o,u,R,f,_,g))return}},e.prototype._convertFromCellCoord=function(i){return(i-this.padding)/this.scale},e.prototype._convertToCellCoord=function(i){return Math.max(0,Math.min(this.d-1,Math.floor(i*this.scale)+this.padding))},e.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var i=this.cells,s=r+this.cells.length+1+1,o=0,u=0;u<this.cells.length;u++)o+=this.cells[u].length;var h=new Int32Array(s+o+this.keys.length+this.bboxes.length);h[0]=this.extent,h[1]=this.n,h[2]=this.padding;for(var f=s,_=0;_<i.length;_++){var g=i[_];h[r+_]=f,h.set(g,f),f+=g.length}return h[r+i.length]=f,h.set(this.keys,f),h[r+i.length+1]=f+=this.keys.length,h.set(this.bboxes,f),f+=this.bboxes.length,h.buffer},Fc})(),So=_s(da);const Bc={};function Qe(r,e,i={}){Object.defineProperty(r,"_classRegistryKey",{value:e,writable:!1}),Bc[e]={klass:r,omit:i.omit||[]}}Qe(Object,"Object"),So.serialize=function(r,e){const i=r.toArrayBuffer();return e&&e.add(i),{buffer:i}},So.deserialize=function(r){return new So(r.buffer)},Object.defineProperty(So,"name",{value:"Grid"}),Qe(So,"Grid"),delete ke.prototype.constructor,Qe(Zt,"Color"),Qe(Error,"Error"),Qe(Gr,"Formatted"),Qe(dc,"FormattedSection"),Qe(rs,"AJAXError"),Qe(xr,"ResolvedImage"),Qe(wo,"StylePropertyFunction"),Qe(gh,"StyleExpression",{omit:["_evaluator"]}),Qe(Xr,"ImageId"),Qe(bs,"ImageVariant"),Qe(bo,"ZoomDependentExpression"),Qe(Cl,"ZoomConstantExpression"),Qe(Cr,"CompoundExpression",{omit:["_evaluate"]});for(const r in vo)Bc[vo[r]._classRegistryKey]||Qe(vo[r],`Expression${r}`);function Df(r){return r&&(r instanceof ArrayBuffer||r.constructor&&r.constructor.name==="ArrayBuffer")}function Xs(r,e){if(r==null||typeof r=="boolean"||typeof r=="number"||typeof r=="string"||r instanceof Boolean||r instanceof Number||r instanceof String||r instanceof Date||r instanceof RegExp)return r;if(Df(r)||r instanceof ImageBitmap)return e&&e.add(r),r;if(ArrayBuffer.isView(r))return e&&e.add(r.buffer),r;if(r instanceof ImageData)return e&&e.add(r.data.buffer),r;if(Array.isArray(r)){const i=[];for(const s of r)i.push(Xs(s,e));return i}if(r instanceof Map){const i={$name:"Map",entries:[]};for(const[s,o]of r.entries())i.entries.push(Xs(s),Xs(o,e));return i}if(r instanceof Set){const i={$name:"Set"};let s=0;for(const o of r.values())i[++s]=Xs(o);return i}if(typeof r=="bigint")return{$name:"BigInt",value:r.toString()};if(typeof r=="object"){const i=r.constructor,s=i._classRegistryKey;if(!s)throw new Error(`Can't serialize object of unregistered class "${i.name}".`);const o=i.serialize?i.serialize(r,e):{};if(!i.serialize){for(const u in r)r.hasOwnProperty(u)&&(Bc[s].omit.indexOf(u)>=0||(o[u]=Xs(r[u],e)));r instanceof Error&&(o.message=r.message)}if(o.$name)throw new Error("$name property is reserved for worker serialization logic.");return s!=="Object"&&(o.$name=s),o}throw new Error("can't serialize object of type "+typeof r)}function zn(r){if(r==null||typeof r=="boolean"||typeof r=="number"||typeof r=="string"||r instanceof Boolean||r instanceof Number||r instanceof String||r instanceof Date||r instanceof RegExp||Df(r)||r instanceof ImageBitmap||ArrayBuffer.isView(r)||r instanceof ImageData)return r;if(Array.isArray(r))return r.map(zn);if(typeof r=="object"){const e=r.$name||"Object";if(e==="Map"){const o=r.entries||[],u=new Map;for(let h=0;h<o.length;h+=2)u.set(zn(o[h]),zn(o[h+1]));return u}if(e==="Set"){const o=new Set;for(const u of Object.keys(r))u!=="$name"&&o.add(zn(r[u]));return o}if(e==="BigInt")return BigInt(r.value);const{klass:i}=Bc[e];if(!i)throw new Error(`Can't deserialize unregistered class "${e}".`);if(i.deserialize)return i.deserialize(r);const s=Object.create(i.prototype);for(const o of Object.keys(r))o!=="$name"&&(s[o]=zn(r[o]));return s}throw new Error("can't deserialize object of type "+typeof r)}const Pl=r=>r>=1536&&r<=1791,xh=r=>r>=1872&&r<=1919,zf=r=>r>=2208&&r<=2303,Rf=r=>r>=11904&&r<=12031,kc=r=>r>=12032&&r<=12255,Nc=r=>r>=12272&&r<=12287,Dl=r=>r>=12288&&r<=12351,Vc=r=>r>=12352&&r<=12447,Io=r=>r>=12448&&r<=12543,zl=r=>r>=12544&&r<=12591,vh=r=>r>=12704&&r<=12735,un=r=>r>=12736&&r<=12783,Lf=r=>r>=12784&&r<=12799,Of=r=>r>=12800&&r<=13055,Ff=r=>r>=13056&&r<=13311,bh=r=>r>=13312&&r<=19903,Uc=r=>r>=19968&&r<=40959,Rl=r=>r>=40960&&r<=42127,wh=r=>r>=42128&&r<=42191,Th=r=>r>=44032&&r<=55215,jc=r=>r>=63744&&r<=64255,Sh=r=>r>=64336&&r<=65023,Bf=r=>r>=65040&&r<=65055,Ih=r=>r>=65072&&r<=65103,kf=r=>r>=65104&&r<=65135,Eh=r=>r>=65136&&r<=65279,Ah=r=>r>=65280&&r<=65519;function Mh(r){for(const e of r)if(Ch(e.charCodeAt(0)))return!0;return!1}function zm(r){for(const e of r)if(!Rm(e.charCodeAt(0)))return!1;return!0}function Rm(r){return!(Pl(r)||xh(r)||zf(r)||Sh(r)||Eh(r))}function Lm(r){return!(r<11904||!(vh(r)||zl(r)||Ih(r)||jc(r)||Ff(r)||Rf(r)||un(r)||Dl(r)||bh(r)||Uc(r)||Of(r)||Ah(r)||Vc(r)||Nc(r)||kc(r)||Lf(r)||Io(r)||Bf(r)||wh(r)||Rl(r)))}function Ch(r){return!(r!==746&&r!==747&&(r<4352||!(vh(r)||zl(r)||Ih(r)&&!(r>=65097&&r<=65103)||jc(r)||Ff(r)||Rf(r)||un(r)||!(!Dl(r)||r>=12296&&r<=12305||r>=12308&&r<=12319||r===12336)||bh(r)||Uc(r)||Of(r)||(e=>e>=12592&&e<=12687)(r)||(e=>e>=43360&&e<=43391)(r)||(e=>e>=55216&&e<=55295)(r)||(e=>e>=4352&&e<=4607)(r)||Th(r)||Vc(r)||Nc(r)||(e=>e>=12688&&e<=12703)(r)||kc(r)||Lf(r)||Io(r)&&r!==12540||!(!Ah(r)||r===65288||r===65289||r===65293||r>=65306&&r<=65310||r===65339||r===65341||r===65343||r>=65371&&r<=65503||r===65507||r>=65512&&r<=65519)||!(!kf(r)||r>=65112&&r<=65118||r>=65123&&r<=65126)||(e=>e>=5120&&e<=5759)(r)||(e=>e>=6320&&e<=6399)(r)||Bf(r)||(e=>e>=19904&&e<=19967)(r)||Rl(r)||wh(r))))}function Nf(r){return r===12312||r===12313||r===12316||r===12540||r===12448}function ja(r){return!(Ch(r)||(function(e){return!!((i=>i>=128&&i<=255)(e)&&(e===167||e===169||e===174||e===177||e===188||e===189||e===190||e===215||e===247)||(i=>i>=8192&&i<=8303)(e)&&(e===8214||e===8224||e===8225||e===8240||e===8241||e===8251||e===8252||e===8258||e===8263||e===8264||e===8265||e===8273)||(i=>i>=8448&&i<=8527)(e)||(i=>i>=8528&&i<=8591)(e)||(i=>i>=8960&&i<=9215)(e)&&(e>=8960&&e<=8967||e>=8972&&e<=8991||e>=8996&&e<=9e3||e===9003||e>=9085&&e<=9114||e>=9150&&e<=9165||e===9167||e>=9169&&e<=9179||e>=9186&&e<=9215)||(i=>i>=9216&&i<=9279)(e)&&e!==9251||(i=>i>=9280&&i<=9311)(e)||(i=>i>=9312&&i<=9471)(e)||(i=>i>=9632&&i<=9727)(e)||(i=>i>=9728&&i<=9983)(e)&&!(e>=9754&&e<=9759)||(i=>i>=11008&&i<=11263)(e)&&(e>=11026&&e<=11055||e>=11088&&e<=11097||e>=11192&&e<=11243)||Dl(e)||Io(e)||(i=>i>=57344&&i<=63743)(e)||Ih(e)||kf(e)||Ah(e)||e===8734||e===8756||e===8757||e>=9984&&e<=10087||e>=10102&&e<=10131||e===65532||e===65533)})(r))}function Vf(r){return Pl(r)||xh(r)||zf(r)||Sh(r)||Eh(r)}function Ph(r){return r>=1424&&r<=2303||Sh(r)||Eh(r)}function Gc(r,e){return!(!e&&Ph(r)||r>=2304&&r<=3583||r>=3840&&r<=4255||(i=>i>=6016&&i<=6143)(r))}function Om(r){for(const e of r)if(Ph(e.charCodeAt(0)))return!0;return!1}const ns={unavailable:"unavailable",deferred:"deferred",loading:"loading",parsing:"parsing",parsed:"parsed",loaded:"loaded",error:"error"};let hn=null,Fr=ns.unavailable,Ss=null;const Uf=function(r){r&&typeof r=="string"&&r.indexOf("NetworkError")>-1&&(Fr=ns.error),hn&&hn(r)};function Dh(){zh.fire(new Hs("pluginStateChange",{pluginStatus:Fr,pluginURL:Ss}))}const zh=new Ws,Rh=function(){return Fr},jf=function(){if(Fr!==ns.deferred||!Ss)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");Fr=ns.loading,Dh(),Ss&&ol({url:Ss},r=>{r?Uf(r):(Fr=ns.loaded,Dh())})},Rn={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>Fr===ns.loaded||Rn.applyArabicShaping!=null,isLoading:()=>Fr===ns.loading,setState(r){Fr=r.pluginStatus,Ss=r.pluginURL},isParsing:()=>Fr===ns.parsing,isParsed:()=>Fr===ns.parsed,getPluginURL:()=>Ss};class ei{constructor(e,i){this.zoom=e,i?(this.now=i.now,this.fadeDuration=i.fadeDuration,this.transition=i.transition,this.pitch=i.pitch,this.brightness=i.brightness,this.worldview=i.worldview,this.activeFloors=i.activeFloors):(this.now=0,this.fadeDuration=0,this.transition={},this.pitch=0,this.brightness=0)}isSupportedScript(e){return(function(i,s){for(const o of i)if(!Gc(o.charCodeAt(0),s))return!1;return!0})(e,Rn.isLoaded())}}class Eo{constructor(e,i,s,o,u){this.property=e,this.value=i,this.expression=(function(h,f,_,g,v){if(mh(h))return new wo(h,f);if(Oc(h)||Array.isArray(h)&&h.length>0){const b=yh(h,f,_,g,v);if(b.result==="error")throw new Error(b.value.map(w=>`${w.key}: ${w.message}`).join(", "));return b.value}{let b=h;return typeof h=="string"&&f.type==="color"&&(b=Zt.parse(h)),{kind:"constant",configDependencies:new Set,isIndoorDependent:!1,evaluate:()=>b}}})(i===void 0?e.specification.default:i,e.specification,s,o,u)}isIndoorDependent(){return this.expression.isIndoorDependent}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}possiblyEvaluate(e,i,s,o){return this.property.possiblyEvaluate(this,e,i,s,o)}}class Ll{constructor(e,i,s,o){this.property=e,this.value=new Eo(e,void 0,i,s,o)}transitioned(e,i){return new qc(this.property,this.value,i,Object.assign({},e.transition,this.transition),e.now)}untransitioned(){return new qc(this.property,this.value,null,{},0)}}class Lh{constructor(e,i,s,o){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues),this._scope=i,this._options=s,this._iconImageUseTheme=o,this._isIndoorDependent=!1,this.configDependencies=new Set}getValue(e){return xt(this._values[e].value.value)}setValue(e,i){this._values.hasOwnProperty(e)||(this._values[e]=new Ll(this._values[e].property,this._scope,this._options,this._iconImageUseTheme)),this._values[e].value=new Eo(this._values[e].property,i===null?void 0:xt(i),this._scope,this._options,this._iconImageUseTheme),this._values[e].value.expression.configDependencies&&(this.configDependencies=new Set([...this.configDependencies,...this._values[e].value.expression.configDependencies]),this._isIndoorDependent=this._isIndoorDependent||this._values[e].value.isIndoorDependent())}setTransitionOrValue(e,i){i&&(this._options=i);const s=this._properties.properties;if(e)for(const o in e){const u=e[o];if(o.endsWith("-transition")){const h=o.slice(0,-11);s[h]&&this.setTransition(h,u)}else s.hasOwnProperty(o)&&this.setValue(o,u)}}getTransition(e){return xt(this._values[e].transition)}setTransition(e,i){this._values.hasOwnProperty(e)||(this._values[e]=new Ll(this._values[e].property)),this._values[e].transition=xt(i)||void 0}serialize(){const e={};for(const i of Object.keys(this._values)){const s=this.getValue(i);s!==void 0&&(e[i]=s);const o=this.getTransition(i);o!==void 0&&(e[`${i}-transition`]=o)}return e}transitioned(e,i){const s=new Ao(this._properties);for(const o of Object.keys(this._values))s._values[o]=this._values[o].transitioned(e,i._values[o]);return s}untransitioned(){const e=new Ao(this._properties);for(const i of Object.keys(this._values))e._values[i]=this._values[i].untransitioned();return e}isIndoorDependent(){return this._isIndoorDependent}}class qc{constructor(e,i,s,o,u){const h=o.delay||0,f=o.duration||0;u=u||0,this.property=e,this.value=i,this.begin=u+h,this.end=this.begin+f,e.specification.transition&&(o.delay||o.duration)&&(this.prior=s)}possiblyEvaluate(e,i,s){const o=e.now||0,u=this.value.possiblyEvaluate(e,i,s),h=this.prior;if(h){if(o>this.end)return this.prior=null,u;if(this.value.isDataDriven())return this.prior=null,u;if(o<this.begin)return h.possiblyEvaluate(e,i,s);{const f=(o-this.begin)/(this.end-this.begin);return this.property.interpolate(h.possiblyEvaluate(e,i,s),u,U(f))}}return u}}class Ao{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)}possiblyEvaluate(e,i,s){const o=new qa(this._properties);for(const u of Object.keys(this._values))o._values[u]=this._values[u].possiblyEvaluate(e,i,s);return o}hasTransition(){for(const e of Object.keys(this._values))if(this._values[e].prior)return!0;return!1}}class Oh{constructor(e,i,s,o){this._properties=e,this._values=Object.create(e.defaultPropertyValues),this._scope=i,this._options=s,this._iconImageUseTheme=o,this._isIndoorDependent=!1,this.configDependencies=new Set}getValue(e){return xt(this._values[e].value)}setValue(e,i){this._values[e]=new Eo(this._values[e].property,i===null?void 0:xt(i),this._scope,this._options,this._iconImageUseTheme),this._values[e].expression.configDependencies&&(this.configDependencies=new Set([...this.configDependencies,...this._values[e].expression.configDependencies]),this._isIndoorDependent=this._isIndoorDependent||this._values[e].isIndoorDependent())}serialize(){const e={};for(const i of Object.keys(this._values)){const s=this.getValue(i);s!==void 0&&(e[i]=s)}return e}possiblyEvaluate(e,i,s,o){const u=new qa(this._properties);for(const h of Object.keys(this._values))u._values[h]=this._values[h].possiblyEvaluate(e,i,s,o);return u}isIndoorDependent(){return this._isIndoorDependent}}class Ga{constructor(e,i,s,o){this.property=e,this.value=i,this.parameters=s,this.iconImageUseTheme=o}isConstant(){return this.value.kind==="constant"}constantOr(e){return this.value.kind==="constant"?this.value.value:e}evaluate(e,i,s,o){return this.property.evaluate(this.value,this.parameters,e,i,s,o,this.iconImageUseTheme)}}class qa{constructor(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)}get(e){return this._values[e]}}class Ve{constructor(e){this.specification=e}possiblyEvaluate(e,i){return e.expression.evaluate(i)}interpolate(e,i,s){const o=hl[this.specification.type];return o?o(e,i,s):e}}class He{constructor(e,i){this.specification=e,this.overrides=i}possiblyEvaluate(e,i,s,o,u){return e.expression.kind==="constant"||e.expression.kind==="camera"?new Ga(this,{kind:"constant",value:e.expression.evaluate(i,null,{},s,o,void 0,u)},i):new Ga(this,e.expression,i,u)}interpolate(e,i,s){if(e.value.kind!=="constant"||i.value.kind!=="constant")return e;if(e.value.value===void 0||i.value.value===void 0)return new Ga(this,{kind:"constant",value:void 0},e.parameters);const o=hl[this.specification.type];return o?new Ga(this,{kind:"constant",value:o(e.value.value,i.value.value,s)},e.parameters):e}evaluate(e,i,s,o,u,h,f){return e.kind==="constant"?e.value:e.evaluate(i,s,o,u,h,void 0,f)}}class Yr{constructor(e){this.specification=e}possiblyEvaluate(e,i,s,o){return!!e.expression.evaluate(i,null,{},s,o)}interpolate(){return!1}}class Mi{constructor(e){this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];const i=new ei(0,{});for(const s in e){const o=e[s];o.specification.overridable&&this.overridableProperties.push(s);const u=this.defaultPropertyValues[s]=new Eo(o,void 0),h=this.defaultTransitionablePropertyValues[s]=new Ll(o);this.defaultTransitioningPropertyValues[s]=h.untransitioned(),this.defaultPossiblyEvaluatedValues[s]=u.possiblyEvaluate(i)}}}Qe(He,"DataDrivenProperty"),Qe(Ve,"DataConstantProperty"),Qe(Yr,"ColorRampProperty");var fe=JSON.parse('{"$version":8,"$root":{"version":{"type":"enum","values":[8]},"fragment":{"type":"boolean"},"name":{"type":"string"},"metadata":{"type":"*"},"center":{"type":"array","value":"number"},"zoom":{"type":"number"},"bearing":{"type":"number","default":0,"period":360},"pitch":{"type":"number","default":0},"light":{"type":"light"},"lights":{"type":"array","value":"light-3d"},"terrain":{"type":"terrain","optional":true},"fog":{"type":"fog"},"snow":{"type":"snow"},"rain":{"type":"rain"},"camera":{"type":"camera"},"color-theme":{"type":"colorTheme"},"indoor":{"type":"indoor"},"imports":{"type":"array","value":"import"},"iconsets":{"type":"iconsets"},"schema":{"type":"schema"},"sources":{"type":"sources"},"sprite":{"type":"string"},"glyphs":{"type":"string","default":"mapbox://fonts/mapbox/{fontstack}/{range}.pbf"},"transition":{"type":"transition"},"projection":{"type":"projection"},"layers":{"type":"array","value":"layer"},"models":{"type":"models"},"featuresets":{"type":"featuresets"}},"featuresets":{"*":{"type":"featureset"}},"featureset":{"metadata":{"type":"*"},"selectors":{"type":"array","value":"selector"}},"selector":{"layer":{"type":"string"},"properties":{"type":"selectorProperty"},"featureNamespace":{"type":"string"},"_uniqueFeatureID":{"type":"boolean"}},"selectorProperty":{"*":{"type":"*"}},"model":{"type":"string"},"import":{"id":{"type":"string"},"url":{"type":"string"},"config":{"type":"config"},"data":{"type":"$root"},"color-theme":{"type":"colorTheme","optional":true}},"config":{"*":{"type":"*"}},"schema":{"*":{"type":"option"}},"option":{"default":{"type":"*","expression":{}},"type":{"type":"enum","values":{"string":1,"number":1,"boolean":1,"color":1}},"array":{"type":"boolean"},"minValue":{"type":"number"},"maxValue":{"type":"number"},"stepValue":{"type":"number"},"values":{"type":"array","value":"*"},"metadata":{"type":"*"}},"models":{"*":{"type":"model"}},"light-3d":{"id":{"type":"string"},"properties":{"type":"properties"},"type":{"type":"enum","values":{"ambient":{},"directional":{},"flat":{}}}},"properties":["properties_light_directional","properties_light_ambient","properties_light_flat"],"properties_light_directional":{"direction":{"type":"array","default":[210,30],"minimum":[0,0],"maximum":[360,90],"length":2,"value":"number","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"color":{"type":"color","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom"]},"use-theme":true,"transition":true},"intensity":{"type":"number","default":0.5,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"cast-shadows":{"type":"boolean","default":false},"shadow-quality":{"type":"number","default":1,"minimum":0,"maximum":1,"expression":{"parameters":["zoom"]}},"shadow-intensity":{"type":"number","default":1,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"shadow-draw-before-layer":{"type":"string"}},"properties_light_ambient":{"color":{"type":"color","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom"]},"use-theme":true,"transition":true},"intensity":{"type":"number","default":0.5,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"properties_light_flat":{"anchor":{"type":"enum","default":"viewport","values":{"map":1,"viewport":1},"expression":{"parameters":["zoom"]}},"position":{"type":"array","default":[1.15,210,30],"length":3,"value":"number","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"color":{"type":"color","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom"]},"use-theme":true,"transition":true},"intensity":{"type":"number","default":0.5,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"iconsets":{"*":{"type":"iconset"}},"iconset":["iconset_sprite","iconset_source"],"iconset_sprite":{"type":{"type":"enum","values":{"sprite":1}},"url":{"type":"string"}},"iconset_source":{"type":{"type":"enum","values":{"source":1}},"source":{"type":"string"}},"sources":{"*":{"type":"source"}},"source":["source_vector","source_raster","source_raster_dem","source_raster_array","source_geojson","source_video","source_image","source_model"],"source_vector":{"type":{"type":"enum","values":{"vector":1}},"url":{"type":"string"},"tiles":{"type":"array","value":"string"},"bounds":{"type":"array","value":"number","length":4,"default":[-180,-85.051129,180,85.051129]},"extra_bounds":{"type":"array","value":{"type":"array","value":"number","length":4}},"scheme":{"type":"enum","values":{"xyz":1,"tms":1},"default":"xyz"},"minzoom":{"type":"number","default":0},"maxzoom":{"type":"number","default":22},"attribution":{"type":"string"},"promoteId":{"type":"promoteId"},"volatile":{"type":"boolean","default":false},"*":{"type":"*"}},"source_raster":{"type":{"type":"enum","values":{"raster":1}},"url":{"type":"string"},"tiles":{"type":"array","value":"string"},"bounds":{"type":"array","value":"number","length":4,"default":[-180,-85.051129,180,85.051129]},"extra_bounds":{"type":"array","value":{"type":"array","value":"number","length":4}},"minzoom":{"type":"number","default":0},"maxzoom":{"type":"number","default":22},"tileSize":{"type":"number","default":512},"scheme":{"type":"enum","values":{"xyz":1,"tms":1},"default":"xyz"},"attribution":{"type":"string"},"volatile":{"type":"boolean","default":false},"*":{"type":"*"}},"source_raster_dem":{"type":{"type":"enum","values":{"raster-dem":1}},"url":{"type":"string"},"tiles":{"type":"array","value":"string"},"bounds":{"type":"array","value":"number","length":4,"default":[-180,-85.051129,180,85.051129]},"extra_bounds":{"type":"array","value":{"type":"array","value":"number","length":4}},"minzoom":{"type":"number","default":0},"maxzoom":{"type":"number","default":22},"tileSize":{"type":"number","default":512},"attribution":{"type":"string"},"encoding":{"type":"enum","values":{"terrarium":1,"mapbox":1},"default":"mapbox"},"volatile":{"type":"boolean","default":false},"*":{"type":"*"}},"source_raster_array":{"type":{"type":"enum","values":{"raster-array":1}},"url":{"type":"string"},"tiles":{"type":"array","value":"string"},"bounds":{"type":"array","value":"number","length":4,"default":[-180,-85.051129,180,85.051129]},"extra_bounds":{"type":"array","value":{"type":"array","value":"number","length":4}},"minzoom":{"type":"number","default":0},"maxzoom":{"type":"number","default":22},"tileSize":{"type":"number","default":512},"attribution":{"type":"string"},"rasterLayers":{"type":"*"},"volatile":{"type":"boolean","default":false},"*":{"type":"*"}},"source_geojson":{"type":{"type":"enum","values":{"geojson":1}},"data":{"type":"*"},"maxzoom":{"type":"number","default":18},"minzoom":{"type":"number","default":0},"attribution":{"type":"string"},"buffer":{"type":"number","default":128,"maximum":512,"minimum":0},"filter":{"type":"*"},"tolerance":{"type":"number","default":0.375},"cluster":{"type":"boolean","default":false},"clusterRadius":{"type":"number","default":50,"minimum":0},"clusterMaxZoom":{"type":"number"},"clusterMinPoints":{"type":"number"},"clusterProperties":{"type":"*"},"lineMetrics":{"type":"boolean","default":false},"generateId":{"type":"boolean","default":false},"promoteId":{"type":"promoteId"},"dynamic":{"type":"boolean","default":false}},"source_video":{"type":{"type":"enum","values":{"video":1}},"urls":{"type":"array","value":"string"},"coordinates":{"type":"array","length":4,"value":{"type":"array","length":2,"value":"number"}}},"source_image":{"type":{"type":"enum","values":{"image":1}},"url":{"type":"string"},"coordinates":{"type":"array","length":4,"value":{"type":"array","length":2,"value":"number"}}},"modelNodeOverride":{"orientation":{"type":"array","value":"number","length":3,"default":[0,0,0],"period":360}},"modelNodeOverrides":{"*":{"type":"modelNodeOverride"}},"modelMaterialOverride":{"model-color":{"type":"color"},"model-color-mix-intensity":{"type":"number"},"model-opacity":{"type":"number"},"model-emissive-strength":{"type":"number"}},"modelMaterialOverrides":{"*":{"type":"modelMaterialOverride"}},"modelSourceModel":{"uri":{"type":"string"},"position":{"type":"array","value":"number","length":2,"default":[0,0],"minimum":[-180,-90],"maximum":[180,90]},"orientation":{"type":"array","value":"number","length":3,"default":[0,0,0],"period":360},"nodeOverrides":{"type":"modelNodeOverrides"},"materialOverrides":{"type":"modelMaterialOverrides"},"nodeOverrideNames":{"type":"array","value":"string"},"materialOverrideNames":{"type":"array","value":"string"},"featureProperties":{"type":"*"}},"modelSourceModels":{"*":{"type":"modelSourceModel"}},"source_model":{"type":{"type":"enum","values":{"model":1,"batched-model":1}},"url":{"type":"string"},"maxzoom":{"type":"number","default":18},"minzoom":{"type":"number","default":0},"tiles":{"type":"array","value":"string"},"models":{"type":"modelSourceModels"}},"layer":{"id":{"type":"string"},"type":{"type":"enum","values":{"fill":{},"line":{},"symbol":{},"circle":{},"heatmap":{},"fill-extrusion":{},"building":{},"raster":{},"raster-particle":{},"hillshade":{},"model":{},"background":{},"sky":{},"slot":{},"clip":{}}},"metadata":{"type":"*"},"source":{"type":"string"},"source-layer":{"type":"string"},"slot":{"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"},"appearances":{"type":"array","value":"appearance","supported-layer-types":["symbol"]}},"appearance":{"condition":{"type":"boolean","expression":{"interpolated":true,"parameters":["zoom","pitch","feature","feature-state","measure-light","distance-from-center"]},"property-type":"data-driven"},"name":{"type":"string"},"properties":{"type":"*"}},"layout":["layout_clip","layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_building","layout_symbol","layout_raster","layout_raster-particle","layout_hillshade","layout_background","layout_sky","layout_model"],"layout_background":{"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}}},"layout_sky":{"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}}},"layout_model":{"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}},"model-id":{"type":"string","default":"","property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"model-allow-density-reduction":{"type":"boolean","default":true}},"layout_clip":{"clip-layer-types":{"type":"array","value":"enum","values":{"model":1,"symbol":1},"default":[],"expression":{}},"clip-layer-scope":{"type":"array","value":"string","default":[],"expression":{}},"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}}},"layout_fill":{"fill-sort-key":{"type":"number","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}},"fill-elevation-reference":{"type":"enum","values":{"none":1,"hd-road-base":1,"hd-road-markup":1},"default":"none","expression":{}},"fill-construct-bridge-guard-rail":{"type":"boolean","default":"true","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"}},"layout_circle":{"circle-sort-key":{"type":"number","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"circle-elevation-reference":{"type":"enum","values":{"none":1,"hd-road-markup":1},"default":"none","expression":{}},"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}}},"layout_heatmap":{"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}}},"layout_fill-extrusion":{"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}},"fill-extrusion-edge-radius":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{}}},"layout_building":{"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}},"building-facade":{"type":"boolean","default":false,"expression":{"parameters":["feature"]},"property-type":"data-driven"},"building-facade-floors":{"type":"number","minimum":1,"maximum":200,"default":3,"property-type":"data-driven","expression":{"parameters":["feature"]}},"building-facade-unit-width":{"type":"number","minimum":1,"maximum":20,"default":3.1,"property-type":"data-driven","expression":{"parameters":["feature"]}},"building-facade-window":{"type":"array","length":2,"value":"number","minimum":0.1,"maximum":1,"default":[0.9,0.9],"property-type":"data-driven","expression":{"parameters":["feature"]}},"building-roof-shape":{"type":"enum","values":{"flat":1,"hipped":1,"gabled":1,"parapet":1,"mansard":1,"skillion":1,"pyramidal":1},"default":"flat","expression":{"parameters":["feature"]},"property-type":"data-driven"},"building-height":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{},"property-type":"data-driven"},"building-base":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{},"property-type":"data-driven"},"building-flood-light-wall-radius":{"property-type":"data-driven","type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["feature","feature-state"]}},"building-flood-light-ground-radius":{"property-type":"data-driven","type":"number","default":0,"transition":true,"expression":{"interpolated":true,"parameters":["feature","feature-state"]}},"building-flip-roof-orientation":{"property-type":"data-driven","type":"boolean","default":false,"transition":true,"expression":{"interpolated":true,"parameters":["feature","feature-state"]}}},"layout_line":{"line-cap":{"type":"enum","values":{"butt":1,"round":1,"square":1},"default":"butt","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-join":{"type":"enum","values":{"bevel":1,"round":1,"miter":1,"none":1},"default":"miter","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{"type":"number","default":2,"expression":{"interpolated":true,"parameters":["zoom"]}},"line-round-limit":{"type":"number","default":1.05,"expression":{"interpolated":true,"parameters":["zoom"]}},"line-sort-key":{"type":"number","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-z-offset":{"type":"number","default":0,"expression":{"parameters":["zoom","feature","line-progress"]},"property-type":"data-driven"},"line-elevation-reference":{"type":"enum","values":{"none":1,"sea":1,"ground":1,"hd-road-markup":1},"default":"none","expression":{}},"line-cross-slope":{"type":"number","expression":{}},"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}},"line-width-unit":{"type":"enum","values":{"pixels":1,"meters":1},"default":"pixels","expression":{"parameters":["zoom"]}},"line-elevation-ground-scale":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","feature","line-progress"]},"transition":true,"property-type":"data-driven"}},"layout_symbol":{"symbol-placement":{"type":"enum","values":{"point":1,"line":1,"line-center":1},"default":"point","expression":{"parameters":["zoom"]}},"symbol-spacing":{"type":"number","default":250,"minimum":1,"expression":{"interpolated":true,"parameters":["zoom"]}},"symbol-avoid-edges":{"type":"boolean","default":false,"expression":{"parameters":["zoom"]}},"symbol-sort-key":{"type":"number","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{"type":"enum","values":{"auto":1,"viewport-y":1,"source":1},"default":"auto","expression":{"parameters":["zoom"]}},"symbol-z-elevate":{"type":"boolean","default":false,"expression":{"parameters":["zoom"]}},"symbol-elevation-reference":{"type":"enum","values":{"sea":1,"ground":1,"hd-road-markup":1},"default":"ground","expression":{"parameters":["zoom"]}},"icon-allow-overlap":{"type":"boolean","default":false,"expression":{"parameters":["zoom"]}},"icon-ignore-placement":{"type":"boolean","default":false,"expression":{"parameters":["zoom"]}},"icon-optional":{"type":"boolean","default":false,"expression":{"parameters":["zoom"]}},"icon-rotation-alignment":{"type":"enum","values":{"map":1,"viewport":1,"auto":1},"default":"auto","expression":{"parameters":["zoom"]}},"icon-size":{"type":"number","default":1,"minimum":0,"appearance":true,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-size-scale-range":{"type":"array","value":"number","length":2,"default":[0.8,2],"minimum":[0.1,0.1],"maximum":[10,10],"expression":{}},"icon-text-fit":{"type":"enum","values":{"none":1,"width":1,"height":1,"both":1},"default":"none","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit-padding":{"type":"array","value":"number","length":4,"default":[0,0,0,0],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-image":{"type":"resolvedImage","tokens":true,"appearance":true,"use-theme":true,"expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{"type":"number","default":0,"period":360,"appearance":true,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{"type":"number","default":2,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]}},"icon-keep-upright":{"type":"boolean","default":false,"expression":{"parameters":["zoom"]}},"icon-offset":{"type":"array","value":"number","length":2,"default":[0,0],"appearance":true,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{"type":"enum","values":{"center":1,"left":1,"right":1,"top":1,"bottom":1,"top-left":1,"top-right":1,"bottom-left":1,"bottom-right":1},"default":"center","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{"type":"enum","values":{"map":1,"viewport":1,"auto":1},"default":"auto","expression":{"parameters":["zoom"]}},"text-pitch-alignment":{"type":"enum","values":{"map":1,"viewport":1,"auto":1},"default":"auto","expression":{"parameters":["zoom"]}},"text-rotation-alignment":{"type":"enum","values":{"map":1,"viewport":1,"auto":1},"default":"auto","expression":{"parameters":["zoom"]}},"text-field":{"type":"formatted","default":"","tokens":true,"expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-font":{"type":"array","value":"string","default":["Open Sans Regular","Arial Unicode MS Regular"],"expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-size":{"type":"number","default":16,"minimum":0,"appearance":true,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-size-scale-range":{"type":"array","value":"number","length":2,"default":[0.8,2],"minimum":[0.1,0.1],"maximum":[10,10],"expression":{}},"text-max-width":{"type":"number","default":10,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{"type":"number","default":1.2,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-letter-spacing":{"type":"number","default":0,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-justify":{"type":"enum","values":{"auto":1,"left":1,"center":1,"right":1},"default":"center","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{"type":"number","default":0,"property-type":"data-driven","expression":{"interpolated":true,"parameters":["zoom","feature"]}},"text-variable-anchor":{"type":"array","value":"enum","values":{"center":1,"left":1,"right":1,"top":1,"bottom":1,"top-left":1,"top-right":1,"bottom-left":1,"bottom-right":1},"expression":{"parameters":["zoom"]}},"text-anchor":{"type":"enum","values":{"center":1,"left":1,"right":1,"top":1,"bottom":1,"top-left":1,"top-right":1,"bottom-left":1,"bottom-right":1},"default":"center","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{"type":"number","default":45,"expression":{"interpolated":true,"parameters":["zoom"]}},"text-writing-mode":{"type":"array","value":"enum","values":{"horizontal":1,"vertical":1},"expression":{"parameters":["zoom"]}},"text-rotate":{"type":"number","default":0,"period":360,"appearance":true,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-padding":{"type":"number","default":2,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]}},"text-keep-upright":{"type":"boolean","default":true,"expression":{"parameters":["zoom"]}},"text-transform":{"type":"enum","values":{"none":1,"uppercase":1,"lowercase":1},"default":"none","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-offset":{"type":"array","value":"number","length":2,"default":[0,0],"appearance":true,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{"type":"boolean","default":false,"expression":{"parameters":["zoom"]}},"text-ignore-placement":{"type":"boolean","default":false,"expression":{"parameters":["zoom"]}},"text-optional":{"type":"boolean","default":false,"expression":{"parameters":["zoom"]}},"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}}},"layout_raster":{"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}}},"layout_raster-particle":{"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}}},"layout_hillshade":{"visibility":{"type":"enum","values":{"visible":1,"none":1},"default":"visible","expression":{}}},"filter":{"type":"array","value":"*"},"filter_symbol":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature","pitch","distance-from-center"]}},"filter_fill":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_hillshade":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_raster":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_raster-particle":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_clip":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_model":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_line":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_circle":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_fill-extrusion":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_building":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_heatmap":{"type":"boolean","default":false,"property-type":"data-driven","expression":{"parameters":["zoom","feature"]}},"filter_operator":{"type":"enum","values":{"==":1,"!=":1,">":1,">=":1,"<":1,"<=":1,"in":1,"!in":1,"all":1,"any":1,"none":1,"has":1,"!has":1}},"geometry_type":{"type":"enum","values":{"Point":1,"LineString":1,"Polygon":1}},"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":1,"exponential":1,"interval":1,"categorical":1},"default":"exponential"},"colorSpace":{"type":"enum","values":{"rgb":1,"lab":1,"hcl":1},"default":"rgb"},"default":{"type":"*"}},"function_stop":{"type":"array","minimum":0,"maximum":24,"value":["number","color"],"length":2},"expression":{"type":"array","value":"*","minimum":1},"fog":{"range":{"type":"array","default":[0.5,10],"minimum":-20,"maximum":20,"length":2,"value":"number","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true}},"color":{"type":"color","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"use-theme":true,"transition":true},"high-color":{"type":"color","default":"#245cdf","expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"use-theme":true,"transition":true},"space-color":{"type":"color","default":["interpolate",["linear"],["zoom"],4,"#010b19",7,"#367ab9"],"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"use-theme":true,"transition":true},"horizon-blend":{"type":"number","default":["interpolate",["linear"],["zoom"],4,0.2,7,0.1],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"star-intensity":{"type":"number","default":["interpolate",["linear"],["zoom"],5,0.35,6,0],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"vertical-range":{"type":"array","default":[0,0],"minimum":0,"length":2,"value":"number","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true}}},"snow":{"density":{"type":"number","default":["interpolate",["linear"],["zoom"],11,0,13,0.85],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"intensity":{"type":"number","default":1,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"color":{"type":"color","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"use-theme":true,"transition":true},"opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"vignette":{"type":"number","default":["interpolate",["linear"],["zoom"],11,0,13,0.3],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"vignette-color":{"type":"color","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"use-theme":true,"transition":true},"center-thinning":{"type":"number","default":0.4,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"direction":{"type":"array","default":[0,50],"minimum":0,"maximum":360,"length":2,"value":"number","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true}},"flake-size":{"type":"number","default":0.71,"minimum":0,"maximum":5,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true}},"rain":{"density":{"type":"number","default":["interpolate",["linear"],["zoom"],11,0,13,0.5],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"intensity":{"type":"number","default":1,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"color":{"type":"color","default":["interpolate",["linear"],["measure-light","brightness"],0,"#03113d",0.3,"#a8adbc"],"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"use-theme":true,"transition":true},"opacity":{"type":"number","default":["interpolate",["linear"],["measure-light","brightness"],0,0.88,1,0.7],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"vignette":{"type":"number","default":["interpolate",["linear"],["zoom"],11,0,13,1],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"vignette-color":{"type":"color","default":["interpolate",["linear"],["measure-light","brightness"],0,"#001736",0.3,"#464646"],"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"use-theme":true,"transition":true},"center-thinning":{"type":"number","default":0.57,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"direction":{"type":"array","default":[0,80],"minimum":0,"maximum":360,"length":2,"value":"number","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true}},"droplet-size":{"type":"array","default":[2.6,18.2],"minimum":0,"maximum":50,"length":2,"value":"number","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true}},"distortion-strength":{"type":"number","default":0.7,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true}},"camera":{"camera-projection":{"type":"enum","values":{"perspective":1,"orthographic":1},"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"default":"perspective"}},"colorTheme":{"data":{"type":"string","expression":{}}},"indoor_source":{"sourceId":{"type":"string"},"sourceLayers":{"type":"array","value":"string"}},"indoor":{"*":{"type":"indoor_source"}},"light":{"anchor":{"type":"enum","default":"viewport","values":{"map":1,"viewport":1},"expression":{"parameters":["zoom"]}},"position":{"type":"array","default":[1.15,210,30],"length":3,"value":"number","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"color":{"type":"color","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom"]},"use-theme":true,"transition":true},"intensity":{"type":"number","default":0.5,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"projection":{"name":{"type":"enum","values":{"albers":1,"equalEarth":1,"equirectangular":1,"lambertConformalConic":1,"mercator":1,"naturalEarth":1,"winkelTripel":1,"globe":1},"default":"mercator"},"center":{"type":"array","length":2,"value":"number","minimum":[-180,-90],"maximum":[180,90]},"parallels":{"type":"array","length":2,"value":"number","minimum":[-90,-90],"maximum":[90,90]}},"terrain":{"source":{"type":"string"},"exaggeration":{"type":"number","default":1,"minimum":0,"maximum":1000,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"paint":["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_building","paint_symbol","paint_raster","paint_raster-particle","paint_hillshade","paint_background","paint_sky","paint_model"],"paint_fill":{"fill-antialias":{"type":"boolean","default":true,"expression":{"parameters":["zoom"]}},"fill-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"fill-color":{"type":"color","default":"#000000","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"fill-outline-color":{"type":"color","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"fill-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"fill-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]}},"fill-pattern":{"type":"resolvedImage","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"fill-pattern-cross-fade":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"fill-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"fill-z-offset":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"fill-bridge-guard-rail-color":{"type":"color","default":"rgba(241, 236, 225, 255)","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light","feature"]},"property-type":"data-driven"},"fill-tunnel-structure-color":{"type":"color","default":"rgba(241, 236, 225, 255)","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light","feature"]},"property-type":"data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"fill-extrusion-color":{"type":"color","default":"#000000","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"fill-extrusion-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"fill-extrusion-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]}},"fill-extrusion-pattern":{"type":"resolvedImage","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"fill-extrusion-pattern-cross-fade":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"fill-extrusion-height":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-height-alignment":{"type":"enum","values":{"terrain":1,"flat":1},"default":"flat"},"fill-extrusion-base-alignment":{"type":"enum","values":{"terrain":1,"flat":1},"default":"terrain"},"fill-extrusion-vertical-gradient":{"type":"boolean","default":true,"expression":{"parameters":["zoom"]}},"fill-extrusion-ambient-occlusion-intensity":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"fill-extrusion-ambient-occlusion-radius":{"type":"number","default":3,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"fill-extrusion-ambient-occlusion-wall-radius":{"type":"number","default":3,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"fill-extrusion-ambient-occlusion-ground-radius":{"type":"number","default":3,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"fill-extrusion-ambient-occlusion-ground-attenuation":{"type":"number","default":0.69,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"fill-extrusion-flood-light-color":{"type":"color","default":"#ffffff","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"fill-extrusion-flood-light-intensity":{"type":"number","default":0,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"fill-extrusion-flood-light-wall-radius":{"property-type":"data-driven","type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["feature","feature-state"]}},"fill-extrusion-flood-light-ground-radius":{"property-type":"data-driven","type":"number","default":0,"transition":true,"expression":{"interpolated":true,"parameters":["feature","feature-state"]}},"fill-extrusion-flood-light-ground-attenuation":{"type":"number","default":0.69,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"fill-extrusion-vertical-scale":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"fill-extrusion-rounded-roof":{"type":"boolean","default":true,"expression":{"parameters":["zoom"]}},"fill-extrusion-cutoff-fade-range":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{}},"fill-extrusion-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light","feature-state"]},"property-type":"data-driven"},"fill-extrusion-line-width":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"fill-extrusion-cast-shadows":{"type":"boolean","default":true}},"paint_building":{"building-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"building-ambient-occlusion-intensity":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{"parameters":[]},"transition":true},"building-ambient-occlusion-ground-intensity":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"building-ambient-occlusion-ground-radius":{"type":"number","default":3,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"building-ambient-occlusion-ground-attenuation":{"type":"number","default":0.69,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"building-vertical-scale":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"building-cast-shadows":{"type":"boolean","default":true},"building-color":{"type":"color","default":"rgba(193, 154, 127, 1)","use-theme":true,"expression":{"interpolated":true,"parameters":["feature","feature-state","measure-light"]},"property-type":"data-driven"},"building-emissive-strength":{"type":"number","default":0,"minimum":0,"maximum":5,"expression":{"interpolated":true,"parameters":["feature","feature-state","measure-light"]},"property-type":"data-driven"},"building-facade-emissive-chance":{"type":"number","default":0.35,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["measure-light","zoom"]}},"building-cutoff-fade-range":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{}},"building-flood-light-color":{"type":"color","default":"#ffffff","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"building-flood-light-intensity":{"type":"number","default":0,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"building-flood-light-ground-attenuation":{"type":"number","default":0.69,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}}},"paint_line":{"line-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-color":{"type":"color","default":"#000000","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"line-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]}},"line-width":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light","line-progress"]},"property-type":"data-driven"},"line-gap-width":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-offset":{"type":"number","default":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-blur":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-dasharray":{"type":"array","value":"number","minimum":0,"expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-pattern":{"type":"resolvedImage","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-pattern-cross-fade":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"line-gradient":{"type":"color","use-theme":true,"expression":{"interpolated":true,"parameters":["line-progress"]}},"line-trim-offset":{"type":"array","value":"number","length":2,"default":[0,0],"minimum":[0,0],"maximum":[1,1]},"line-trim-fade-range":{"type":"array","value":"number","length":2,"default":[0,0],"minimum":[0,0],"maximum":[1,1],"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"line-trim-color":{"type":"color","default":"transparent","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"line-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-driven"},"line-border-width":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-border-color":{"type":"color","default":"rgba(0, 0, 0, 0)","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-occlusion-opacity":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"paint_circle":{"circle-radius":{"type":"number","default":5,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-color":{"type":"color","default":"#000000","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-blur":{"type":"number","default":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"circle-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]}},"circle-pitch-scale":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]}},"circle-pitch-alignment":{"type":"enum","values":{"map":1,"viewport":1},"default":"viewport","expression":{"parameters":["zoom"]}},"circle-stroke-width":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-stroke-color":{"type":"color","default":"#000000","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-stroke-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}}},"paint_heatmap":{"heatmap-radius":{"type":"number","default":30,"minimum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"heatmap-weight":{"type":"number","default":1,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"heatmap-intensity":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"heatmap-color":{"type":"color","default":["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",0.1,"royalblue",0.3,"cyan",0.5,"lime",0.7,"yellow",1,"red"],"use-theme":true,"expression":{"interpolated":true,"parameters":["heatmap-density"]}},"heatmap-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}}},"paint_symbol":{"icon-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-occlusion-opacity":{"type":"number","minimum":0,"maximum":1,"default":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-emissive-strength":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light","feature-state"]},"property-type":"data-driven"},"text-emissive-strength":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light","feature-state"]},"property-type":"data-driven"},"icon-color":{"type":"color","default":"#000000","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-halo-width":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-halo-blur":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"icon-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]}},"icon-image-cross-fade":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"text-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-occlusion-opacity":{"type":"number","minimum":0,"maximum":1,"default":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-color":{"type":"color","default":"#000000","use-theme":true,"transition":true,"overridable":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-halo-width":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-halo-blur":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"text-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]}},"icon-color-saturation":{"type":"number","default":0,"minimum":-1,"maximum":1,"expression":{}},"icon-color-contrast":{"type":"number","default":0,"minimum":-1,"maximum":1,"expression":{}},"icon-color-brightness-min":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{}},"icon-color-brightness-max":{"type":"number","default":1,"minimum":0,"maximum":1,"expression":{}},"symbol-z-offset":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"}},"paint_raster":{"raster-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-color":{"type":"color","use-theme":true,"expression":{"interpolated":true,"parameters":["raster-value"]}},"raster-color-mix":{"type":"array","default":[0.2126,0.7152,0.0722,0],"length":4,"value":"number","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-color-range":{"type":"array","length":2,"value":"number","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-hue-rotate":{"type":"number","default":0,"period":360,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-brightness-min":{"type":"number","default":0,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-brightness-max":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-saturation":{"type":"number","default":0,"minimum":-1,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-contrast":{"type":"number","default":0,"minimum":-1,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-resampling":{"type":"enum","values":{"linear":1,"nearest":1},"default":"linear","expression":{"parameters":["zoom"]}},"raster-fade-duration":{"type":"number","default":300,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"raster-array-band":{"type":"string"},"raster-elevation":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-elevation-reference":{"type":"enum","values":{"sea":1,"ground":1},"default":"sea","expression":{}}},"paint_raster-particle":{"raster-particle-array-band":{"type":"string"},"raster-particle-count":{"type":"number","default":512,"minimum":1},"raster-particle-color":{"type":"color","use-theme":true,"expression":{"interpolated":true,"parameters":["raster-particle-speed"]}},"raster-particle-max-speed":{"type":"number","default":1,"minimum":1},"raster-particle-speed-factor":{"type":"number","default":0.2,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-particle-fade-opacity-factor":{"type":"number","default":0.98,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-particle-reset-rate-factor":{"type":"number","default":0.8,"minimum":0,"maximum":1},"raster-particle-elevation":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}}},"paint_hillshade":{"hillshade-illumination-direction":{"type":"number","default":335,"minimum":0,"maximum":359,"expression":{"interpolated":true,"parameters":["zoom"]}},"hillshade-illumination-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"viewport","expression":{"parameters":["zoom"]}},"hillshade-exaggeration":{"type":"number","default":0.5,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"hillshade-shadow-color":{"type":"color","default":"#000000","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"hillshade-highlight-color":{"type":"color","default":"#FFFFFF","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"hillshade-accent-color":{"type":"color","default":"#000000","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"hillshade-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}}},"paint_background":{"background-pitch-alignment":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":[]}},"background-color":{"type":"color","default":"#000000","use-theme":true,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"background-pattern":{"type":"resolvedImage","expression":{"parameters":["zoom"]}},"background-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"background-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}}},"paint_sky":{"sky-type":{"type":"enum","values":{"gradient":1,"atmosphere":1},"default":"atmosphere","expression":{"parameters":["zoom"]}},"sky-atmosphere-sun":{"type":"array","value":"number","length":2,"minimum":[0,0],"maximum":[360,180],"expression":{"parameters":["zoom"]}},"sky-atmosphere-sun-intensity":{"type":"number","default":10,"minimum":0,"maximum":100},"sky-gradient-center":{"type":"array","value":"number","default":[0,0],"length":2,"minimum":[0,0],"maximum":[360,180],"expression":{"parameters":["zoom"]}},"sky-gradient-radius":{"type":"number","default":90,"minimum":0,"maximum":180,"expression":{"parameters":["zoom"]}},"sky-gradient":{"type":"color","default":["interpolate",["linear"],["sky-radial-progress"],0.8,"#87ceeb",1,"white"],"use-theme":true,"expression":{"interpolated":true,"parameters":["sky-radial-progress"]}},"sky-atmosphere-halo-color":{"type":"color","default":"white","use-theme":true},"sky-atmosphere-color":{"type":"color","default":"white","use-theme":true},"sky-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}}},"paint_model":{"model-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["feature","feature-state","zoom"]},"property-type":"data-driven"},"model-rotation":{"type":"array","value":"number","length":3,"default":[0,0,0],"period":360,"property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state","zoom"]},"transition":true},"model-scale":{"type":"array","value":"number","length":3,"default":[1,1,1],"property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state","zoom"]},"transition":true},"model-translation":{"type":"array","value":"number","length":3,"default":[0,0,0],"property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state","zoom"]},"transition":true},"model-color":{"type":"color","default":"#ffffff","property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state","measure-light","zoom"]},"use-theme":true,"transition":true},"model-color-mix-intensity":{"type":"number","property-type":"data-driven","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["feature","feature-state","measure-light"]},"transition":true},"model-type":{"type":"enum","values":{"common-3d":1,"location-indicator":1},"default":"common-3d"},"model-cast-shadows":{"type":"boolean","default":true},"model-receive-shadows":{"type":"boolean","default":true},"model-ambient-occlusion-intensity":{"type":"number","default":1,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"model-emissive-strength":{"type":"number","property-type":"data-driven","default":0,"minimum":0,"maximum":5,"expression":{"interpolated":true,"parameters":["feature","feature-state","measure-light"]},"transition":true},"model-roughness":{"type":"number","default":1,"minimum":0,"maximum":1,"property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state"]},"transition":true},"model-height-based-emissive-strength-multiplier":{"type":"array","default":[1,1,1,1,0],"length":5,"value":"number","property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state","measure-light"]},"transition":true},"model-cutoff-fade-range":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{}},"model-front-cutoff":{"type":"array","value":"number","expression":{"interpolated":true,"parameters":["zoom"]},"length":3,"default":[0,0,1],"minimum":[0,0,0],"maximum":[1,1,1]},"model-elevation-reference":{"type":"enum","values":{"sea":1,"ground":1,"hd-road-markup":1},"default":"ground","expression":{}}},"transition":{"duration":{"type":"number","default":300,"minimum":0},"delay":{"type":"number","default":0,"minimum":0}},"promoteId":{"*":{"type":"*"}}}');function Gf(r){return r instanceof Number||r instanceof String||r instanceof Boolean?r.valueOf():r}function $c(r){if(Array.isArray(r))return r.map($c);if(r instanceof Object&&!(r instanceof Number||r instanceof String||r instanceof Boolean)){const e={};for(const i in r)e[i]=$c(r[i]);return e}return Gf(r)}function Fh(r){if(r===!0||r===!1)return!0;if(!Array.isArray(r)||r.length===0)return!1;switch(r[0]){case"has":return r.length>=2&&r[1]!=="$id"&&r[1]!=="$type";case"in":return r.length>=3&&(typeof r[1]!="string"||Array.isArray(r[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return r.length!==3||Array.isArray(r[1])||Array.isArray(r[2]);case"any":case"all":for(const e of r.slice(1))if(!Fh(e)&&typeof e!="boolean")return!1;return!0;default:return!0}}function Bh(r,e="",i=null,s="fill"){if(r==null)return{filter:()=>!0,needGeometry:!1,needFeature:!1};Fh(r)||(r=Hc(r));const o=r;let u=!0;try{u=(function(v){if(!Mo(v))return v;let b=$c(v);return $f(b),b=qf(b),b})(o)}catch{console.warn(`Failed to extract static filter. Filter will continue working, but at higher memory usage and slower framerate.
2
2
  This is most likely a bug, please report this via https://github.com/mapbox/mapbox-gl-js/issues/new?assignees=&labels=&template=Bug_report.md
3
3
  and paste the contents of this message in the report.
4
4
  Thank you!
@@ -3070,4 +3070,4 @@ ${(d?d.defines():[]).concat(m.map(z=>`#define ${z}`)).join(`
3070
3070
  translate(${n.x}px,${n.y}px)
3071
3071
  `}_calculateXYTransform(){const t=this._pos,n=this._map,c=this.getPitchAlignment();if(!n||!t||c!=="map")return"";if(!n._showingGlobe()){const x=n.getPitch();return x?`rotateX(${x}deg)`:""}const d=a.cY(a.f9(n.transform,this._lngLat)),p=t.sub(a.fa(n.transform)),m=Math.abs(p.x)+Math.abs(p.y);if(m===0)return"";const y=d/m;return`rotateX(${-p.y*y}deg) rotateY(${p.x*y}deg)`}_calculateZTransform(){const t=this._pos,n=this._map;if(!n||!t)return"";let c=0;const d=this.getRotationAlignment();if(d==="map")if(n._showingGlobe()){const p=n.project(new a.aU(this._lngLat.lng,this._lngLat.lat+.001),this._altitude),m=n.project(new a.aU(this._lngLat.lng,this._lngLat.lat-.001),this._altitude).sub(p);c=a.cY(Math.atan2(m.y,m.x))-90}else c=-n.getBearing();else if(d==="horizon"){const p=a.ai(4,6,n.getZoom()),m=a.fa(n.transform);m.y+=p*n.transform.height;const y=t.sub(m),x=a.cY(Math.atan2(y.y,y.x));c=(x>90?x-270:x+90)*(1-p)}return c+=this._rotation,c?`rotateZ(${c}deg)`:""}_update(t){cancelAnimationFrame(this._updateFrameId);const n=this._map;n&&(n.transform.renderWorldCopies&&(this._lngLat=$i(this._lngLat,this._pos,n.transform)),this._pos=n.project(this._lngLat,this._altitude),t===!0?this._updateFrameId=requestAnimationFrame(()=>{this._element&&this._pos&&this._anchor&&(this._pos=this._pos.round(),this._updateDOM())}):this._pos=this._pos.round(),n._requestDomTask(()=>{this._map&&(this._element&&this._pos&&this._anchor&&this._updateDOM(),(n._showingGlobe()||n.getTerrain()||n.getFog())&&!this._fadeTimer&&(this._fadeTimer=window.setTimeout(this._evaluateOpacity.bind(this),60)))}))}getOffset(){return this._offset}setOffset(t){return this._offset=a.P.convert(t),this._update(),this}addClassName(t){return this._element.classList.add(t),this}removeClassName(t){return this._element.classList.remove(t),this}toggleClassName(t){return this._element.classList.toggle(t)}_onMove(t){const n=this._map;if(!n)return;const c=this._pointerdownPos,d=this._positionDelta;if(c&&d){if(!this._isDragging){const p=this._clickTolerance||n._clickTolerance;if(t.point.dist(c)<p)return;this._isDragging=!0}this._pos=t.point.sub(d),this._lngLat=n.unproject(this._pos,this._altitude),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none",this._state==="pending"&&(this._state="active",this.fire(new a.A("dragstart"))),this.fire(new a.A("drag"))}}_onUp(){this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1;const t=this._map;t&&(t.off("mousemove",this._onMove),t.off("touchmove",this._onMove)),this._state==="active"&&this.fire(new a.A("dragend")),this._state="inactive"}_addDragHandler(t){const n=this._map,c=this._pos;n&&c&&this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(c),this._pointerdownPos=t.point,this._state="pending",n.on("mousemove",this._onMove),n.on("touchmove",this._onMove),n.once("mouseup",this._onUp),n.once("touchend",this._onUp))}setDraggable(t){this._draggable=!!t;const n=this._map;return n&&(t?(n.on("mousedown",this._addDragHandler),n.on("touchstart",this._addDragHandler)):(n.off("mousedown",this._addDragHandler),n.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(t){return this._rotation=t||os.rotation,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(t){return this._rotationAlignment=t||os.rotationAlignment,this._update(),this}getRotationAlignment(){return this._rotationAlignment==="auto"||this._rotationAlignment==="horizon"&&this._map&&!this._map._showingGlobe()?"viewport":this._rotationAlignment}setPitchAlignment(t){return this._pitchAlignment=t||os.pitchAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment==="auto"?this.getRotationAlignment():this._pitchAlignment}setOccludedOpacity(t){return this._occludedOpacity=t||os.occludedOpacity,this._update(),this}getOccludedOpacity(){return this._occludedOpacity}}const Qh={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0,showUserHeading:!1,showButton:!0,followUserLocation:!0},qm={maxWidth:100,unit:"metric"},Nl={kilometer:"km",meter:"m",mile:"mi",foot:"ft","nautical-mile":"nm"},$m={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",altitude:0},Hm=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function ru(l=new a.P(0,0),t="bottom"){if(typeof l=="number"){const n=Math.round(Math.sqrt(.5*Math.pow(l,2)));switch(t){case"top":return new a.P(0,l);case"top-left":return new a.P(n,n);case"top-right":return new a.P(-n,n);case"bottom":return new a.P(0,-l);case"bottom-left":return new a.P(n,-n);case"bottom-right":return new a.P(-n,-n);case"left":return new a.P(l,0);case"right":return new a.P(-l,0)}return new a.P(0,0)}return l instanceof a.P||Array.isArray(l)?a.P.convert(l):a.P.convert(l[t]||[0,0])}return{version:Rr,supported:Ia.supported,setRTLTextPlugin:a.fe,getRTLTextPluginStatus:a.fd,Map:class extends Um{constructor(l){yn.mark(Ei.create);const t=l;if((l=Object.assign({},tu,l)).minZoom!=null&&l.maxZoom!=null&&l.minZoom>l.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(l.minPitch!=null&&l.maxPitch!=null&&l.minPitch>l.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(l.minPitch!=null&&l.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(l.maxPitch!=null&&l.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(l.antialias&&a.f6(window)&&(l.antialias=!1,a.w("Antialiasing is disabled for this WebGL context to avoid browser bug: https://github.com/mapbox/mapbox-gl-js/issues/11609")),super(new Oa(l.minZoom,l.maxZoom,l.minPitch,l.maxPitch,l.renderWorldCopies,null,null),l),this._repaint=!!l.repaint,this._interactive=l.interactive,this._minTileCacheSize=l.minTileCacheSize,this._maxTileCacheSize=l.maxTileCacheSize,this._failIfMajorPerformanceCaveat=l.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=l.preserveDrawingBuffer,this._antialias=l.antialias,this._trackResize=l.trackResize,this._bearingSnap=l.bearingSnap,this._refreshExpiredTiles=l.refreshExpiredTiles,this._fadeDuration=l.fadeDuration,this._isInitialLoad=!0,this._crossSourceCollisions=l.crossSourceCollisions,this._collectResourceTiming=l.collectResourceTiming,this._language=this._parseLanguage(l.language),this._worldview=l.worldview,this._renderTaskQueue=new cp,this._domRenderTaskQueue=new cp,this._controls=[],this._markers=[],this._popups=[],this._mapId=a.b3(),this._locale=Object.assign({},Gm,l.locale),this._clickTolerance=l.clickTolerance,this._cooperativeGestures=l.cooperativeGestures,this._performanceMetricsCollection=l.performanceMetricsCollection,this._tessellationStep=l.tessellationStep,this._containerWidth=0,this._containerHeight=0,this._showParseStatus=!0,this._precompilePrograms=l.precompilePrograms,this._averageElevationLastSampledAt=-1/0,this._averageElevationExaggeration=0,this._averageElevation=new jm(0),this._interactionRange=[1/0,-1/0],this._visibilityHidden=0,this._useExplicitProjection=!1,this._frameId=0,this._scaleFactor=l.scaleFactor,this._requestManager=new Kl(l.transformRequest,l.accessToken,l.testMode),this._silenceAuthErrors=!!l.testMode,this._contextCreateOptions=l.contextCreateOptions?Object.assign({},l.contextCreateOptions):{},typeof l.container=="string"){const n=document.getElementById(l.container);if(!n)throw new Error(`Container '${l.container.toString()}' not found.`);this._container=n}else{if(!(l.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=l.container}if(this._container.childNodes.length>0&&a.w("The map container element should be empty, otherwise the map's interactivity will be negatively impacted. If you want to display a message when WebGL is not supported, use the Mapbox GL Supported plugin instead."),l.maxBounds&&this.setMaxBounds(l.maxBounds),this._spriteFormat=l.spriteFormat,a.aZ(["_onWindowOnline","_onWindowResize","_onVisibilityChange","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),this.painter===void 0)throw new Error("Failed to initialize WebGL.");if(this.on("move",()=>this._update(!1)),this.on("moveend",()=>this._update(!1)),this.on("zoom",()=>this._update(!0)),this._fullscreenchangeEvent="onfullscreenchange"in document?"fullscreenchange":"webkitfullscreenchange",window.addEventListener("online",this._onWindowOnline,!1),window.addEventListener("resize",this._onWindowResize,!1),window.addEventListener("orientationchange",this._onWindowResize,!1),window.addEventListener(this._fullscreenchangeEvent,this._onWindowResize,!1),window.addEventListener("visibilitychange",this._onVisibilityChange,!1),this.handlers=new Vm(this,l),this._localFontFamily=l.localFontFamily,this._localIdeographFontFamily=l.localIdeographFontFamily,(l.style||!l.testMode)&&this.setStyle(l.style||a.e.DEFAULT_STYLE,{config:l.config,localFontFamily:this._localFontFamily,localIdeographFontFamily:this._localIdeographFontFamily}),l.projection&&this.setProjection(l.projection),l.hash&&(this._hash=new Nm(typeof l.hash=="string"&&l.hash||void 0).addTo(this)),!this._hash||!this._hash._onHashChange()){t.center==null&&t.zoom==null||(this.transform._unmodified=!1),this.jumpTo({center:l.center,zoom:l.zoom,bearing:l.bearing,pitch:l.pitch});const n=l.bounds;n&&(this.resize(),this.fitBounds(n,Object.assign({},l.fitBoundsOptions,{duration:0})))}this.resize(),l.attributionControl&&this.addControl(new mi({customAttribution:l.customAttribution})),this._logoControl=new Jh,this.addControl(this._logoControl,l.logoPosition),this.on("style.load",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this._postStyleLoadEvent(),this._postStyleWithAppearanceEvent()}),this.on("data",n=>{this._update(n.dataType==="style"),this.fire(new a.A(`${n.dataType}data`,n))}),this.on("dataloading",n=>{this.fire(new a.A(`${n.dataType}dataloading`,n))}),this._interactions=new up(this)}_getMapId(){return this._mapId}addControl(l,t){if(t===void 0&&(t=l.getDefaultPosition?l.getDefaultPosition():"top-right"),!l||!l.onAdd)return this.fire(new a.z(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const n=l.onAdd(this);this._controls.push(l);const c=this._controlPositions[t];return t.indexOf("bottom")!==-1?c.insertBefore(n,c.firstChild):c.appendChild(n),this}removeControl(l){if(!l||!l.onRemove)return this.fire(new a.z(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const t=this._controls.indexOf(l);return t>-1&&this._controls.splice(t,1),l.onRemove(this),this}hasControl(l){return this._controls.indexOf(l)>-1}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}resize(l){if(this._updateContainerDimensions(),this._containerWidth===this.transform.width&&this._containerHeight===this.transform.height)return this;this._resizeCanvas(this._containerWidth,this._containerHeight),this.transform.resize(this._containerWidth,this._containerHeight),this.painter.resize(Math.ceil(this._containerWidth),Math.ceil(this._containerHeight));const t=!this._moving;return t&&this.fire(new a.A("movestart",l)).fire(new a.A("move",l)),this.fire(new a.A("resize",l)),t&&this.fire(new a.A("moveend",l)),this}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()||null}setMaxBounds(l){return this.transform.setMaxBounds(a.aJ.convert(l)),this._update()}setMinZoom(l){if((l=l??-2)>=-2&&l<=this.transform.maxZoom)return this.transform.minZoom=l,this._update(),this.getZoom()<l?this.setZoom(l):this.fire(new a.A("zoomstart")).fire(new a.A("zoom")).fire(new a.A("zoomend")),this;throw new Error("minZoom must be between -2 and the current maxZoom, inclusive")}getMinZoom(){return this.transform.minZoom}setMaxZoom(l){if((l=l??22)>=this.transform.minZoom)return this.transform.maxZoom=l,this._update(),this.getZoom()>l?this.setZoom(l):this.fire(new a.A("zoomstart")).fire(new a.A("zoom")).fire(new a.A("zoomend")),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(l){if((l=l??0)<0)throw new Error("minPitch must be greater than or equal to 0");if(l>=0&&l<=this.transform.maxPitch)return this.transform.minPitch=l,this._update(),this.getPitch()<l?this.setPitch(l):this.fire(new a.A("pitchstart")).fire(new a.A("pitch")).fire(new a.A("pitchend")),this;throw new Error("minPitch must be between 0 and the current maxPitch, inclusive")}getMinPitch(){return this.transform.minPitch}setMaxPitch(l){if((l=l??85)>85)throw new Error("maxPitch must be less than or equal to 85");if(l>=this.transform.minPitch)return this.transform.maxPitch=l,this._update(),this.getPitch()>l?this.setPitch(l):this.fire(new a.A("pitchstart")).fire(new a.A("pitch")).fire(new a.A("pitchend")),this;throw new Error("maxPitch must be greater than or equal to minPitch")}getMaxPitch(){return this.transform.maxPitch}getScaleFactor(){return this._scaleFactor}setScaleFactor(l){return this._scaleFactor=l,this.painter.scaleFactor=l,this.style&&this.style._setLabelPlacementStale(),this.style._updateFilteredLayers(t=>t.type==="symbol"),this._update(!0),this}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(l){return this.transform.renderWorldCopies=l,this.transform.renderWorldCopies||this._forceMarkerAndPopupUpdate(!0),this._update()}getLanguage(){return this._language}_parseLanguage(l){return l==="auto"?navigator.language:Array.isArray(l)?l.length===0?void 0:l.map(t=>t==="auto"?navigator.language:t):l}setLanguage(l){const t=this._parseLanguage(l);if(!this.style||t===this._language)return this;this._language=t,this.style.reloadSources();for(const n of this._controls)n._setLanguage&&n._setLanguage(this._language);return this}getWorldview(){return this._worldview}setWorldview(l){return this.style&&l!==this._worldview?(this._worldview=l,this._styleDirty=!0,this.style.reloadSources(),this):this}getProjection(){return this.transform.mercatorFromTransition?{name:"globe",center:[0,0]}:this.transform.getProjection()}_showingGlobe(){return this.transform.projection.name==="globe"}setProjection(l){return this._lazyInitEmptyStyle(),l?typeof l=="string"&&(l={name:l}):l=null,this._useExplicitProjection=!!l,this._prioritizeAndUpdateProjection(l,this.style.projection)}_updateProjectionTransition(){if(this.getProjection().name!=="globe")return;const l=this.transform,t=l.projection.name;let n;t==="globe"&&l.zoom>=a.cM?(l.setMercatorFromTransition(),n=!0):t==="mercator"&&l.zoom<a.cM&&(l.setProjection({name:"globe"}),n=!0),n&&(this.style.applyProjectionUpdate(),this.style._forceSymbolLayerUpdate(),this._update(!0))}_prioritizeAndUpdateProjection(l,t){return this._updateProjection(l||t||{name:"mercator"})}_updateProjection(l){let t;const n=this.transform.mercatorFromTransition;t=l.name==="globe"&&this.transform.zoom>=a.cM?this.transform.setMercatorFromTransition():this.transform.setProjection(l),this.style.applyProjectionUpdate();const c=this.transform.getProjection().name==="mercator"&&n!==this.transform.mercatorFromTransition;return(t||c)&&(this.painter.clearBackgroundTiles(),this.style.clearSources(),this._update(!0),this._forceMarkerAndPopupUpdate(!0)),this}project(l,t){return this.transform.locationPoint3D(a.aU.convert(l),t)}unproject(l,t){return this.transform.pointLocation3D(a.P.convert(l),t)}isMoving(){return this._moving||this.handlers&&this.handlers.isMoving()||!1}isZooming(){return this._zooming||this.handlers&&this.handlers.isZooming()||!1}isRotating(){return this._rotating||this.handlers&&this.handlers.isRotating()||!1}_isDragging(){return this.handlers&&this.handlers._isDragging()||!1}_createDelegatedListener(l,t,n){const c=d=>{let p=[];if(Array.isArray(t)){const m=t.filter(y=>this.getLayer(y));p=m.length?this.queryRenderedFeatures(d,{layers:m}):[]}else p=this.queryRenderedFeatures(d,{target:t});return p};if(l==="mouseenter"||l==="mouseover"){let d=!1;return{listener:n,targets:t,delegates:{mousemove:p=>{const m=c(p.point);m.length?d||(d=!0,n.call(this,new Jr(l,this,p.originalEvent,{features:m}))):d=!1},mouseout:()=>{d=!1}}}}if(l==="mouseleave"||l==="mouseout"){let d=!1;return{listener:n,targets:t,delegates:{mousemove:p=>{c(p.point).length?d=!0:d&&(d=!1,n.call(this,new Jr(l,this,p.originalEvent)))},mouseout:p=>{d&&(d=!1,n.call(this,new Jr(l,this,p.originalEvent)))}}}}{const d=p=>{const m=c(p.point);m.length&&(p.features=m,n.call(this,p),delete p.features)};return{listener:n,targets:t,delegates:{[l]:d}}}}on(l,t,n){if(typeof t=="function"||n===void 0)return super.on(l,t);if(typeof t=="string"&&(t=[t]),!this._areTargetsValid(t))return this;const c=this._createDelegatedListener(l,t,n);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[l]=this._delegatedListeners[l]||[],this._delegatedListeners[l].push(c);for(const d in c.delegates)this.on(d,c.delegates[d]);return this}once(l,t,n){if(typeof t=="function"||n===void 0)return super.once(l,t);if(typeof t=="string"&&(t=[t]),!this._areTargetsValid(t))return this;const c=this._createDelegatedListener(l,t,n);for(const d in c.delegates)this.once(d,c.delegates[d]);return this}off(l,t,n){if(typeof t=="function"||n===void 0)return super.off(l,t);if(typeof t=="string"&&(t=[t]),!this._areTargetsValid(t))return this;const c=this._delegatedListeners?this._delegatedListeners[l]:void 0;return c&&(d=>{for(let p=0;p<d.length;p++){const m=d[p];if(m.listener===n&&Kh(m.targets,t)){for(const y in m.delegates)this.off(y,m.delegates[y]);return d.splice(p,1),this}}})(c),this}queryRenderedFeatures(l,t){if(!this.style)return[];if(l===void 0||l instanceof a.P||Array.isArray(l)||t!==void 0||(t=l,l=void 0),l=l||[[0,0],[this.transform.width,this.transform.height]],!t){const p=this.style.queryRenderedFeatures(l,void 0,this.transform),m=this.style.queryRenderedFeatureset(l,void 0,this.transform);return p.concat(m)}let n=!0;if(t.target&&(n=this._isTargetValid(t.target),n&&!t.layers))return this.style.queryRenderedFeatureset(l,t,this.transform);let c=!0;if(t.layers&&Array.isArray(t.layers)){for(const p of t.layers)if(!this._isValidId(p)){c=!1;break}if(c&&!t.target)return this.style.queryRenderedFeatures(l,t,this.transform)}let d=[];return c&&(d=d.concat(this.style.queryRenderedFeatures(l,t,this.transform))),n&&(d=d.concat(this.style.queryRenderedFeatureset(l,t,this.transform))),d}querySourceFeatures(l,t){return!l||typeof l=="string"&&!this._isValidId(l)?[]:this.style.querySourceFeatures(l,t)}queryRasterValue(l,t,n){return this._isValidId(l)?this.style.queryRasterValue(l,t,n):Promise.resolve(null)}isPointOnSurface(l){const{name:t}=this.transform.projection;return t!=="globe"&&t!=="mercator"&&a.w(`${t} projection does not support isPointOnSurface, this API may behave unexpectedly.`),this.transform.isPointOnSurface(a.P.convert(l))}addInteraction(l,t){return this._interactions.add(l,t),this}removeInteraction(l){return this._interactions.remove(l),this}getCooperativeGestures(){return this._cooperativeGestures}setCooperativeGestures(l){return this._cooperativeGestures=l,this}setStyle(l,t){return t=Object.assign({},{localIdeographFontFamily:this._localIdeographFontFamily,localFontFamily:this._localFontFamily},t),this.style&&l&&t.diff!==!1&&t.localFontFamily===this._localFontFamily&&t.localIdeographFontFamily===this._localIdeographFontFamily&&!t.config?(this.style._diffStyle(l,(n,c)=>{if(n){const d=typeof n=="string"?n:n instanceof Error?n.message:n.error;a.w(`Unable to perform style diff: ${d}. Rebuilding the style from scratch.`),this._updateStyle(l,t)}else c&&this._update(!0)},()=>this._postStyleLoadEvent()),this):(this._localIdeographFontFamily=t.localIdeographFontFamily,this._localFontFamily=t.localFontFamily,this._updateStyle(l,t))}_getUIString(l){const t=this._locale[l];if(t==null)throw new Error(`Missing UI string '${l}'`);return t}_updateStyle(l,t){if(this.style&&(this.style.setEventedParent(null),this.style._remove(),this.style=void 0),l){const n=Object.assign({},t);t&&t.config&&(n.initialConfig=t.config,delete n.config),this.style=new zs(this,n).load(l),this.style.setEventedParent(this,{style:this.style})}return this._updateTerrain(),this}_lazyInitEmptyStyle(){this.style||(this.style=new zs(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():(a.w("There is no style added to the map."),!1)}_isValidId(l){return l==null?(this.fire(new a.z(new Error("IDs can't be empty."))),!1):!a.du(l)||(this.fire(new a.z(new Error(`IDs can't contain special symbols: "${l}".`))),!1)}_isTargetValid(l){return"featuresetId"in l?this._isValidId("importId"in l?l.importId:l.featuresetId):"layerId"in l&&this._isValidId(l.layerId)}_areTargetsValid(l){if(Array.isArray(l)){for(const t of l)if(!this._isValidId(t))return!1;return!0}return this._isTargetValid(l)}addSource(l,t){return this._isValidId(l)?(this._lazyInitEmptyStyle(),this.style.addSource(l,t),this._update(!0)):this}isSourceLoaded(l){return!!this._isValidId(l)&&!!this.style&&this.style._isSourceCacheLoaded(l)}areTilesLoaded(){return this.style.areTilesLoaded()}addSourceType(l,t,n){this._lazyInitEmptyStyle(),this.style.addSourceType(l,t,n)}removeSource(l){return this._isValidId(l)?(this.style.removeSource(l),this._updateTerrain(),this._update(!0)):this}getSource(l){return this._isValidId(l)?this.style.getOwnSource(l):null}addImage(l,t,{pixelRatio:n=1,sdf:c=!1,stretchX:d,stretchY:p,content:m}={}){this._lazyInitEmptyStyle();const y=a.I.from(l);if(t instanceof HTMLImageElement||ImageBitmap&&t instanceof ImageBitmap){const{width:x,height:T,data:S}=a.o.getImageData(t);this.style.addImage(y,{data:new a.q({width:x,height:T},S),pixelRatio:n,stretchX:d,stretchY:p,content:m,sdf:c,version:0,usvg:!1})}else if(t.width===void 0||t.height===void 0)this.fire(new a.z(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));else{const{width:x,height:T}=t,S=t;this.style.addImage(y,{data:new a.q({width:x,height:T},new Uint8Array(S.data)),pixelRatio:n,stretchX:d,stretchY:p,content:m,sdf:c,usvg:!1,version:0,userImage:S}),S.onAdd&&S.onAdd(this,l)}}updateImage(l,t){this._lazyInitEmptyStyle();const n=a.I.from(l),c=this.style.getImage(n);if(!c)return void this.fire(new a.z(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));const d=t instanceof HTMLImageElement||ImageBitmap&&t instanceof ImageBitmap?a.o.getImageData(t):t,{width:p,height:m,data:y}=d;if(p===void 0||m===void 0)return void this.fire(new a.z(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(p!==(c.usvg?c.icon.usvg_tree.width:c.data.width)||m!==(c.usvg?c.icon.usvg_tree.height:c.data.height))return void this.fire(new a.z(new Error(`The width and height of the updated image (${p}, ${m})
3072
3072
  must be that same as the previous version of the image
3073
- (${c.data.width}, ${c.data.height})`)));const x=!(t instanceof HTMLImageElement||ImageBitmap&&t instanceof ImageBitmap);let T=!1;c.usvg?(c.data=new a.q({width:p,height:m},new Uint8Array(y)),c.usvg=!1,c.icon=void 0,T=!0):c.data.replace(y,x),this.style.updateImage(n,c,T)}hasImage(l){return l?!!this.style&&!!this.style.getImage(a.I.from(l)):(this.fire(new a.z(new Error("Missing required image id"))),!1)}removeImage(l){this.style.removeImage(a.I.from(l))}loadImage(l,t){a.n(this._requestManager.transformRequest(l,a.R.Image),(n,c)=>{t(n,c)})}listImages(){return this.style.listImages().map(l=>l.name)}addModel(l,t){this._lazyInitEmptyStyle(),this.style.addModel(l,t)}hasModel(l){return l?this.style.hasModel(l):(this.fire(new a.z(new Error("Missing required model id"))),!1)}removeModel(l){this.style.removeModel(l)}listModels(){return this.style.listModels()}addLayer(l,t){return this._isValidId(l.id)?(this._lazyInitEmptyStyle(),this.style.addLayer(l,t),this._update(!0)):this}getSlot(l){const t=this.getLayer(l);return t&&t.slot||null}setSlot(l,t){return this.style.setSlot(l,t),this.style.mergeLayers(),this._update(!0)}addImport(l,t){return this.style.addImport(l,t).catch(n=>this.fire(new a.z(new Error("Failed to add import",n)))),this}updateImport(l,t){return typeof t!="string"&&t.id!==l?(this.removeImport(l),this.addImport(t)):(this.style.updateImport(l,t),this._update(!0))}removeImport(l){return this.style.removeImport(l),this}moveImport(l,t){return this.style.moveImport(l,t),this._update(!0)}moveLayer(l,t){return this._isValidId(l)?(this.style.moveLayer(l,t),this._update(!0)):this}removeLayer(l){return this._isValidId(l)?(this.style.removeLayer(l),this._update(!0)):this}getLayer(l){if(!this._isValidId(l))return null;const t=this.style.getOwnLayer(l);return t?t.type==="custom"?t.implementation:t.serialize():void 0}getSlots(){return this.style.getSlots()}setLayerZoomRange(l,t,n){return this._isValidId(l)?(this.style.setLayerZoomRange(l,t,n),this._update(!0)):this}setFilter(l,t,n={}){return this._isValidId(l)?(this.style.setFilter(l,t,n),this._update(!0)):this}getFilter(l){return this._isValidId(l)?this.style.getFilter(l):null}setPaintProperty(l,t,n,c={}){return this._isValidId(l)?(this.style.setPaintProperty(l,t,n,c),this._update(!0)):this}getPaintProperty(l,t){return this._isValidId(l)?this.style.getPaintProperty(l,t):null}setLayoutProperty(l,t,n,c={}){return this._isValidId(l)?(this.style.setLayoutProperty(l,t,n,c),this._update(!0)):this}getLayoutProperty(l,t){return this._isValidId(l)?this.style.getLayoutProperty(l,t):null}setLayerProperty(l,t,n,c={}){return this._isValidId(l)?(t==="appearances"&&this._postAddingAppearancesToStyleEvent(),this.style.setLayerProperty(l,t,n,c),this._update(!0)):this}getGlyphsUrl(){return this.style.getGlyphsUrl()}setGlyphsUrl(l){return this.style.setGlyphsUrl(l),this._update(!0)}getSchema(l){return this.style.getSchema(l)}setSchema(l,t){return this.style.setSchema(l,t),this._update(!0)}getConfig(l){return this.style.getConfig(l)}setConfig(l,t){return this.style.setConfig(l,t),this._update(!0)}getConfigProperty(l,t){return this.style.getConfigProperty(l,t)}setConfigProperty(l,t,n){return this.style.setConfigProperty(l,t,n),this._update(!0)}getFeaturesetDescriptors(l){return this.style.getFeaturesetDescriptors(l)}setLights(l){if(this._lazyInitEmptyStyle(),l&&l.length===1&&l[0].type==="flat"){const t=l[0];t.properties?this.style.setFlatLight(t.properties,t.id,{}):this.style.setFlatLight({},"flat")}else this.style.setLights(l),this.painter.terrain&&(this.painter.terrain.invalidateRenderCache=!0);return this._update(!0)}getLights(){const l=this.style.getLights()||[];return l.length===0&&l.push({id:this.style.light.id,type:"flat",properties:this.style.getFlatLight()}),l}setLight(l,t={}){return console.log("The `map.setLight` function is deprecated, prefer using `map.setLights` with `flat` light type instead."),this.setLights([{id:"flat",type:"flat",properties:l}])}getLight(){return console.log("The `map.getLight` function is deprecated, prefer using `map.getLights` instead."),this.style.getFlatLight()}setTerrain(l){return this._lazyInitEmptyStyle(),!l&&this.transform.projection.requiresDraping?this.style.setTerrainForDraping():this.style.setTerrain(l),this._averageElevationLastSampledAt=-1/0,this._update(!0)}getTerrain(){return this.style?this.style.getTerrain():null}setFog(l){return this._lazyInitEmptyStyle(),this.style.setFog(l),this._update(!0)}getFog(){return this.style?this.style.getFog():null}setSnow(l){return this._lazyInitEmptyStyle(),this.style.setSnow(l),this._update(!0)}getSnow(){return this.style?this.style.getSnow():null}setRain(l){return this._lazyInitEmptyStyle(),this.style.setRain(l),this._update(!0)}getRain(){return this.style?this.style.getRain():null}setColorTheme(l){return this._lazyInitEmptyStyle(),this.style.setColorTheme(l),this._update(!0)}setImportColorTheme(l,t){return this._lazyInitEmptyStyle(),this.style.setImportColorTheme(l,t),this._update(!0)}setCamera(l){return this.style.setCamera(l),this._triggerCameraUpdate(l)}getNearClipOffset(){return this.transform.nearClipOffset}setNearClipOffset(l){const t=this.transform.nearClipOffset!==l;return this.transform.nearClipOffset=l,this._update(t)}_triggerCameraUpdate(l){return this._update(this.transform.setOrthographicProjectionAtLowPitch(l["camera-projection"]==="orthographic"))}getCamera(){return this.style.camera}_queryFogOpacity(l){return this.style&&this.style.fog?this.style.fog.getOpacityAtLatLng(a.aU.convert(l),this.transform):0}setFeatureState(l,t){return l.source&&!this._isValidId(l.source)?this:(this.style.setFeatureState(l,t),this._update())}removeFeatureState(l,t){return l.source&&!this._isValidId(l.source)?this:(this.style.removeFeatureState(l,t),this._update())}getFeatureState(l){return l.source&&!this._isValidId(l.source)?null:this.style.getFeatureState(l)}_selectIndoorFloor(l){this.style.indoorManager.selectFloor(l)}_setIndoorActiveFloorsVisibility(l){this.style.indoorManager.setActiveFloorsVisibility(l)}getIndoorTileOptions(l,t){return this.style.isIndoorEnabled()?this.style.indoorManager.getIndoorTileOptions(l,t):null}_updateContainerDimensions(){if(!this._container)return;const l=this._container.getBoundingClientRect().width||400,t=this._container.getBoundingClientRect().height||300;let n,c,d,p=this._container;for(;p&&(!c||!d);){const m=window.getComputedStyle(p).transform;m&&m!=="none"&&(n=m.match(/matrix.*\((.+)\)/)[1].split(", "),n[0]&&n[0]!=="0"&&n[0]!=="1"&&(c=n[0]),n[3]&&n[3]!=="0"&&n[3]!=="1"&&(d=n[3])),p=p.parentElement}this._containerWidth=c?Math.abs(l/c):l,this._containerHeight=d?Math.abs(t/d):t}_detectMissingCSS(){window.getComputedStyle(this._missingCSSCanary).getPropertyValue("background-color")!=="rgb(250, 128, 114)"&&a.w("This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.")}_setupContainer(){const l=this._container;l.classList.add("mapboxgl-map"),(this._missingCSSCanary=Jt("div","mapboxgl-canary",l)).style.visibility="hidden",this._detectMissingCSS();const t=this._canvasContainer=Jt("div","mapboxgl-canvas-container",l);this._canvas=Jt("canvas","mapboxgl-canvas",t),this._interactive&&(t.classList.add("mapboxgl-interactive"),this._canvas.setAttribute("tabindex","0")),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region"),this._updateContainerDimensions(),this._resizeCanvas(this._containerWidth,this._containerHeight);const n=this._controlContainer=Jt("div","mapboxgl-control-container",l),c=this._controlPositions={};["top-left","top","top-right","right","bottom-right","bottom","bottom-left","left"].forEach(d=>{c[d]=Jt("div",`mapboxgl-ctrl-${d}`,n)}),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(l,t){const n=a.o.devicePixelRatio||1;this._canvas.width=n*Math.ceil(l),this._canvas.height=n*Math.ceil(t),this._canvas.style.width=`${l}px`,this._canvas.style.height=`${t}px`}_addMarker(l){this._markers.push(l)}_removeMarker(l){const t=this._markers.indexOf(l);t!==-1&&this._markers.splice(t,1)}_addPopup(l){this._popups.push(l)}_removePopup(l){const t=this._popups.indexOf(l);t!==-1&&this._popups.splice(t,1)}_setupPainter(){const l=Object.assign({},Ia.supported.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),t=this._canvas.getContext("webgl2",l);t?(js(t,!0),this.painter=new km(t,this._contextCreateOptions,this.transform,this._scaleFactor,this._worldview),this.on("data",n=>{if(n.dataType==="source"){const c=this.transform.elevation?this.transform.elevation._source():null;c&&n.sourceCacheId===c.id&&this.style&&this.style._setLabelPlacementStale(),this.painter.setTileLoadedFlag(!0)}}),a.k.testSupport(t)):this.fire(new a.z(new Error("Failed to initialize WebGL")))}_contextLost(l){l.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new a.A("webglcontextlost",{originalEvent:l}))}_contextRestored(l){this._setupPainter(),this.painter.resize(Math.ceil(this._containerWidth),Math.ceil(this._containerHeight)),this._updateTerrain(),this.style&&(this.style.clearLayers(),this.style.imageManager.destroyAtlasTextures(),this.style.imageManager.imageAtlasCache.destroyTextures(),this.style.reloadModels(),this.style.clearSources()),this._update(),this.fire(new a.A("webglcontextrestored",{originalEvent:l}))}_onMapScroll(l){if(l.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1}idle(){return!this.isMoving()&&this.loaded()}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}frameReady(){return this.loaded()&&!this._placementDirty}_update(l){return this.style?(this._styleDirty=this._styleDirty||l,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(l){return this._update(),this._renderTaskQueue.add(l)}_cancelRenderFrame(l){this._renderTaskQueue.remove(l)}_requestDomTask(l){!this.loaded()||this.loaded()&&!this.isMoving()?l():this._domRenderTaskQueue.add(l)}_render(l){let t;this.fire(new a.A("renderstart")),++this._frameId;const n=this.painter.context.extTimerQuery,c=a.o.now(),d=this.painter.context.gl;if(this.listens("gpu-timing-frame")&&(t=d.createQuery(),d.beginQuery(n.TIME_ELAPSED_EXT,t)),this.painter.context.setDirty(),this.painter.setBaseState(),(this.isMoving()||this.isRotating()||this.isZooming())&&(this._interactionRange[0]=Math.min(this._interactionRange[0],performance.now()),this._interactionRange[1]=Math.max(this._interactionRange[1],performance.now())),this._renderTaskQueue.run(l),this._domRenderTaskQueue.run(l),this._removed)return;this._updateProjectionTransition();const p=this._isInitialLoad?0:this._fadeDuration;if(this.style&&this._styleDirty){this._styleDirty=!1;const x=this.transform.zoom,T=this.transform.pitch,S=a.o.now(),M=new a.ad(x,{now:S,fadeDuration:p,pitch:T,transition:this.style.transition,worldview:this._worldview});this.style.update(M)}this.style&&this.style.hasFogTransition()&&(this.style._markersNeedUpdate=!0,this._sourcesDirty=!0);let m=!1;if(this.style&&this._sourcesDirty?(this._sourcesDirty=!1,this.painter._updateFog(this.style),this._updateTerrain(),m=this._updateAverageElevation(c),this.style.updateSources(this.transform),this.style.updateImageProviders(),this.isMoving()||this._forceMarkerAndPopupUpdate()):m=this._updateAverageElevation(c),this.style&&(this._placementDirty=this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,p,this._crossSourceCollisions,this.painter.replacementSource)),this.style&&this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showParseStatus:this.showParseStatus,wireframe:{terrain:this.showTerrainWireframe,layers2D:this.showLayers2DWireframe,layers3D:this.showLayers3DWireframe},showOverdrawInspector:this._showOverdrawInspector,showQueryGeometry:!!this._showQueryGeometry,showTileAABBs:this.showTileAABBs,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:p,isInitialLoad:this._isInitialLoad,showPadding:this.showPadding,gpuTiming:!!this.listens("gpu-timing-layer"),gpuTimingDeferredRender:!!this.listens("gpu-timing-deferred-render"),speedIndexTiming:this.speedIndexTiming}),this.fire(new a.A("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,yn.mark(Ei.load),this.fire(new a.A("load"))),this.style&&this.style.hasTransitions()&&(this._styleDirty=!0),this.style&&(this.style.snow||this.style.rain)&&(this._styleDirty=!0),this.style&&this.style.imageManager.hasPatternsInFlight()&&(this._styleDirty=!0),this.style&&!this.style.modelManager.isLoaded()&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),t){const x=a.o.now()-c;d.endQuery(n.TIME_ELAPSED_EXT),setTimeout(()=>{const T=d.getQueryParameter(t,d.QUERY_RESULT)/1e6;d.deleteQuery(t),this.fire(new a.A("gpu-timing-frame",{cpuTime:x,gpuTime:T}))},50)}if(this.listens("gpu-timing-layer")){const x=this.painter.collectGpuTimers();setTimeout(()=>{const T=this.painter.queryGpuTimers(x);this.fire(new a.A("gpu-timing-layer",{layerTimes:T}))},50)}if(this.listens("gpu-timing-deferred-render")){const x=this.painter.collectDeferredRenderGpuQueries();setTimeout(()=>{const T=this.painter.queryGpuTimeDeferredRender(x);this.fire(new a.A("gpu-timing-deferred-render",{gpuTime:T}))},50)}const y=this._sourcesDirty||this._styleDirty||this._placementDirty||m;if(y||this._repaint)this.triggerRepaint();else{const x=this.idle();if(x&&(m=this._updateAverageElevation(c,!0)),m)this.triggerRepaint();else if(this._triggerFrame(!1),x&&(this.fire(new a.A("idle")),this._isInitialLoad=!1,this.speedIndexTiming)){const T=this._calculateSpeedIndex();this.fire(new a.A("speedindexcompleted",{speedIndex:T})),this.speedIndexTiming=!1}}!this._loaded||this._fullyLoaded||y||(this._fullyLoaded=!0,yn.mark(Ei.fullLoad),this._performanceMetricsCollection&&Vi(this._requestManager._customAccessToken,{width:this.painter.width,height:this.painter.height,interactionRange:this._interactionRange,visibilityHidden:this._visibilityHidden,terrainEnabled:!!this.painter.style.getTerrain(),fogEnabled:!!this.painter.style.getFog(),projection:this.getProjection().name,zoom:this.transform.zoom,renderer:this.painter.context.renderer,vendor:this.painter.context.vendor}),this._authenticate())}_forceMarkerAndPopupUpdate(l){for(const t of this._markers)l&&!this.getRenderWorldCopies()&&(t._lngLat=t._lngLat.wrap()),t._update();for(const t of this._popups)!l||this.getRenderWorldCopies()||t._trackPointer||(t._lngLat=t._lngLat.wrap()),t._update()}_updateAverageElevation(l,t=!1){const n=d=>(this.transform.averageElevation=d,this._update(!1),!0);if(!this.painter.averageElevationNeedsEasing())return this.transform.averageElevation!==0&&n(0);const c=this.transform.elevation&&this.transform.elevation.exaggeration()!==this._averageElevationExaggeration;if(c||(t||l-this._averageElevationLastSampledAt>500)&&!this._averageElevation.isEasing(l)){const d=this.transform.averageElevation;let p=this.transform.sampleAverageElevation();this.transform.elevation!=null&&(this._averageElevationExaggeration=this.transform.elevation.exaggeration()),isNaN(p)?p=0:this._averageElevationLastSampledAt=l;const m=Math.abs(d-p);if(m>1){if(this._isInitialLoad||c)return this._averageElevation.jumpTo(p),n(p);this._averageElevation.easeTo(p,l,300)}else if(m>1e-4)return this._averageElevation.jumpTo(p),n(p)}return!!this._averageElevation.isEasing(l)&&n(this._averageElevation.getValue(l))}_authenticate(){$n(this._getMapId(),this._requestManager._skuToken,this._requestManager._customAccessToken,l=>{if(l&&(l.message===Kt||l.status===401)){const t=this.painter.context.gl;js(t,!1),this._logoControl instanceof Jh&&this._logoControl._updateLogo(),t&&t.clear(t.DEPTH_BUFFER_BIT|t.COLOR_BUFFER_BIT|t.STENCIL_BUFFER_BIT),this._silenceAuthErrors||this.fire(new a.z(new Error("A valid Mapbox access token is required to use Mapbox GL JS. To create an account or a new access token, visit https://account.mapbox.com/")))}}),Ql(this._getMapId(),this._requestManager._skuToken,this._requestManager._customAccessToken,()=>{})}_postStyleLoadEvent(){this.style.globalId&&ec(this._requestManager._customAccessToken,{map:this,style:this.style.globalId,importedStyles:this.style.getImportGlobalIds()})}_postStyleWithAppearanceEvent(){this.style.globalId&&this.style.hasAppearances()&&oi(this._requestManager._customAccessToken)}_postAddingAppearancesToStyleEvent(){Er(this._requestManager._customAccessToken)}_updateTerrain(){const l=this._isDragging();this.painter.updateTerrain(this.style,l)}_calculateSpeedIndex(){const l=this.painter.canvasCopy(),t=this.painter.getCanvasCopiesAndTimestamps();t.timeStamps.push(performance.now());const n=this.painter.context.gl,c=n.createFramebuffer();function d(p){n.framebufferTexture2D(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.TEXTURE_2D,p,0);const m=new Uint8Array(n.drawingBufferWidth*n.drawingBufferHeight*4);return n.readPixels(0,0,n.drawingBufferWidth,n.drawingBufferHeight,n.RGBA,n.UNSIGNED_BYTE,m),m}return n.bindFramebuffer(n.FRAMEBUFFER,c),this._canvasPixelComparison(d(l),t.canvasCopies.map(d),t.timeStamps)}_canvasPixelComparison(l,t,n){let c=n[1]-n[0];const d=l.length/4;for(let p=0;p<t.length;p++){const m=t[p];let y=0;for(let x=0;x<m.length;x+=4)m[x]===l[x]&&m[x+1]===l[x+1]&&m[x+2]===l[x+2]&&m[x+3]===l[x+3]&&(y+=1);c+=(n[p+2]-n[p+1])*(1-y/d)}return c}remove(){this._hash&&this._hash.remove();for(const t of this._controls)t.onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this._domRenderTaskQueue.clear(),this.style&&this.style.destroy(),this.painter.destroy(),this.handlers&&this.handlers.destroy(),this.handlers=void 0,this.setStyle(null),window.removeEventListener("resize",this._onWindowResize,!1),window.removeEventListener("orientationchange",this._onWindowResize,!1),window.removeEventListener(this._fullscreenchangeEvent,this._onWindowResize,!1),window.removeEventListener("online",this._onWindowOnline,!1),window.removeEventListener("visibilitychange",this._onVisibilityChange,!1);const l=this.painter.context.gl.getExtension("WEBGL_lose_context");l&&l.loseContext(),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvasContainer.remove(),this._controlContainer.remove(),this._missingCSSCanary.remove(),this._canvas=void 0,this._canvasContainer=void 0,this._controlContainer=void 0,this._missingCSSCanary=void 0,this._container.classList.remove("mapboxgl-map"),this._container.removeEventListener("scroll",this._onMapScroll,!1),Ma.delete(this.painter.context.gl),qn.remove(),ps.remove(),this._removed=!0,this.fire(new a.A("remove"))}triggerRepaint(){this._triggerFrame(!0)}_triggerFrame(l){this._renderNextFrame=this._renderNextFrame||l,this.style&&!this._frame&&(this._frame=a.o.frame(t=>{const n=!!this._renderNextFrame;this._frame=null,this._renderNextFrame=null,n&&this._render(t)}))}_preloadTiles(l){const t=this.style?this.style.getSourceCaches():[];return a.bx(t,(n,c)=>n._preloadTiles(l,c),()=>{this.triggerRepaint()}),this}_onWindowOnline(){this._update()}_onWindowResize(l){this._trackResize&&this.resize({originalEvent:l})._update()}_onVisibilityChange(){document.visibilityState==="hidden"&&this._visibilityHidden++}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(l){this._showTileBoundaries!==l&&(this._showTileBoundaries=l,this._update())}get showParseStatus(){return!!this._showParseStatus}set showParseStatus(l){this._showParseStatus!==l&&(this._showParseStatus=l,this._update())}get showTerrainWireframe(){return!!this._showTerrainWireframe}set showTerrainWireframe(l){this._showTerrainWireframe!==l&&(this._showTerrainWireframe=l,this._update())}get showLayers2DWireframe(){return!!this._showLayers2DWireframe}set showLayers2DWireframe(l){this._showLayers2DWireframe!==l&&(this._showLayers2DWireframe=l,this._update())}get showLayers3DWireframe(){return!!this._showLayers3DWireframe}set showLayers3DWireframe(l){this._showLayers3DWireframe!==l&&(this._showLayers3DWireframe=l,this._update())}get speedIndexTiming(){return!!this._speedIndexTiming}set speedIndexTiming(l){this._speedIndexTiming!==l&&(this._speedIndexTiming=l,this._update())}get showPadding(){return!!this._showPadding}set showPadding(l){this._showPadding!==l&&(this._showPadding=l,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(l){this._showCollisionBoxes!==l&&(this._showCollisionBoxes=l,this.style&&l?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(l){this._showOverdrawInspector!==l&&(this._showOverdrawInspector=l,this._update())}get repaint(){return!!this._repaint}set repaint(l){this._repaint!==l&&(this._repaint=l,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(l){this._vertices=l,this._update()}get showTileAABBs(){return!!this._showTileAABBs}set showTileAABBs(l){this._showTileAABBs!==l&&(this._showTileAABBs=l,l&&this._update())}_setCacheLimits(l,t){a.f7(l,t)}get version(){return Rr}},NavigationControl:class{constructor(l={}){this.options=Object.assign({},Fn,l),this._container=Jt("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",t=>t.preventDefault()),this.options.showZoom&&(a.aZ(["_setButtonTitle","_updateZoomButtons"],this),this._zoomInButton=this._createButton("mapboxgl-ctrl-zoom-in",t=>{this._map&&this._map.zoomIn({},{originalEvent:t})}),Jt("span","mapboxgl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("mapboxgl-ctrl-zoom-out",t=>{this._map&&this._map.zoomOut({},{originalEvent:t})}),Jt("span","mapboxgl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(a.aZ(["_rotateCompassArrow"],this),this._compass=this._createButton("mapboxgl-ctrl-compass",t=>{const n=this._map;n&&(this.options.visualizePitch?n.resetNorthPitch({},{originalEvent:t}):n.resetNorth({},{originalEvent:t}))}),this._compassIcon=Jt("span","mapboxgl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}_updateZoomButtons(){const l=this._map;if(!l)return;const t=l.getZoom(),n=t===l.getMaxZoom(),c=t===l.getMinZoom();this._zoomInButton.disabled=n,this._zoomOutButton.disabled=c,this._zoomInButton.setAttribute("aria-disabled",n.toString()),this._zoomOutButton.setAttribute("aria-disabled",c.toString())}_rotateCompassArrow(){const l=this._map;if(!l)return;const t=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(l.transform.pitch*(Math.PI/180)),.5)}) rotateX(${l.transform.pitch}deg) rotateZ(${l.transform.angle*(180/Math.PI)}deg)`:`rotate(${l.transform.angle*(180/Math.PI)}deg)`;l._requestDomTask(()=>{this._compassIcon&&(this._compassIcon.style.transform=t)})}onAdd(l){return this._map=l,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),l.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&l.on("pitch",this._rotateCompassArrow),l.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new iu(l,this._compass,this.options.visualizePitch)),this._container}onRemove(){const l=this._map;l&&(this._container.remove(),this.options.showZoom&&l.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&l.off("pitch",this._rotateCompassArrow),l.off("rotate",this._rotateCompassArrow),this._handler&&this._handler.off(),this._handler=void 0),this._map=void 0)}_createButton(l,t){const n=Jt("button",l,this._container);return n.type="button",n.addEventListener("click",t),n}_setButtonTitle(l,t){if(!this._map)return;const n=this._map._getUIString(`NavigationControl.${t}`);l.setAttribute("aria-label",n),l.firstElementChild&&l.firstElementChild.setAttribute("title",n)}},GeolocateControl:class extends a.E{constructor(l={}){super();const t=navigator.geolocation;this.options=Object.assign({geolocation:t},Qh,l),a.aZ(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker","_updateMarkerRotation","_onDeviceOrientation"],this),this._updateMarkerRotationThrottled=Po(this._updateMarkerRotation,20),this._numberOfWatches=0}onAdd(l){return this._map=l,this._container=Jt("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkGeolocationSupport(this._setupUI),this._container}onRemove(){this._clearRequestTimeout(),this._geolocationWatchID!==void 0&&(this.options.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),this._container.remove(),this._map.off("zoom",this._onZoom),this._map=void 0,this._numberOfWatches=0,this._noTimeout=!1}_checkGeolocationSupport(l){const t=(n=!!this.options.geolocation)=>{this._supportsGeolocation=n,l(n)};this._supportsGeolocation!==void 0?l(this._supportsGeolocation):navigator.permissions!==void 0?navigator.permissions.query({name:"geolocation"}).then(n=>t(n.state!=="denied")).catch(()=>t()):t()}_isOutOfMapMaxBounds(l){const t=this._map.getMaxBounds(),n=l.coords;return!!t&&(n.longitude<t.getWest()||n.longitude>t.getEast()||n.latitude<t.getSouth()||n.latitude>t.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}}_onSuccess(l){if(this._map){if(this._clearRequestTimeout(),this._isOutOfMapMaxBounds(l))return this._setErrorState(),this.fire(new a.A("outofmaxbounds",l)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=l,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this.options.followUserLocation?(this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active")):(this._watchState="BACKGROUND",this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"));break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&this._watchState!=="OFF"&&this._updateMarker(l),this.options.followUserLocation&&(!this.options.trackUserLocation||this._watchState==="ACTIVE_LOCK")&&this._updateCamera(l),this.options.showUserLocation&&this._userLocationDotMarker.removeClassName("mapboxgl-user-location-dot-stale"),this.fire(new a.A("geolocate",Object.assign({coords:l.coords,timestamp:l.timestamp},l.toJSON?{toJSON:l.toJSON.bind(l)}:{}))),this._finish()}}_updateCamera(l){const t=new a.aU(l.coords.longitude,l.coords.latitude),n=l.coords.accuracy,c=this._map.getBearing(),d=Object.assign({bearing:c},this.options.fitBoundsOptions);this._map.fitBounds(t.toBounds(n),d,{geolocateSource:!0})}_updateMarker(l){if(l){const t=new a.aU(l.coords.longitude,l.coords.latitude);this._accuracyCircleMarker.setLngLat(t).addTo(this._map),this._userLocationDotMarker.setLngLat(t).addTo(this._map),this._accuracy=l.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()}_updateCircleRadius(){const l=this._map.transform,t=a.cg(1,l._center.lat)*l.worldSize,n=Math.ceil(2*this._accuracy*t);this._circleElement.style.width=`${n}px`,this._circleElement.style.height=`${n}px`}_onZoom(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}_updateMarkerRotation(){this._userLocationDotMarker&&typeof this._heading=="number"?(this._userLocationDotMarker.setRotation(this._heading),this._userLocationDotMarker.addClassName("mapboxgl-user-location-show-heading")):(this._userLocationDotMarker.removeClassName("mapboxgl-user-location-show-heading"),this._userLocationDotMarker.setRotation(0))}_onError(l){if(this._map){if(this._clearRequestTimeout(),this.options.trackUserLocation)if(l.code===1){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const t=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.setAttribute("aria-label",t),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",t),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(l.code===3&&this._noTimeout)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._userLocationDotMarker.addClassName("mapboxgl-user-location-dot-stale"),this.fire(new a.A("error",{code:l.code,message:l.message,PERMISSION_DENIED:l.PERMISSION_DENIED,POSITION_UNAVAILABLE:l.POSITION_UNAVAILABLE,TIMEOUT:l.TIMEOUT})),this._finish()}}_finish(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0}_startRequestTimeout(){this._clearRequestTimeout();const l=this.options.positionOptions.timeout;l&&(this._requestTimeoutId=window.setTimeout(()=>{this._onError({code:3,message:"Geolocation request timed out"})},l))}_clearRequestTimeout(){this._requestTimeoutId!==void 0&&(clearTimeout(this._requestTimeoutId),this._requestTimeoutId=void 0)}_setupUI(l){if(this._map!==void 0){if(this._container.addEventListener("contextmenu",t=>t.preventDefault()),this._geolocateButton=Jt("button","mapboxgl-ctrl-geolocate",this._container),Jt("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",l===!1){a.w("Geolocation support is not available so the GeolocateControl will be disabled.");const t=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.setAttribute("aria-label",t),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",t)}else{const t=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.setAttribute("aria-label",t),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",t)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=Jt("div","mapboxgl-user-location"),this._dotElement.appendChild(Jt("div","mapboxgl-user-location-dot")),this._dotElement.appendChild(Jt("div","mapboxgl-user-location-heading")),this._userLocationDotMarker=new No({element:this._dotElement,rotationAlignment:"map",pitchAlignment:"map"}),this._circleElement=Jt("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new No({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.showButton||(this._container.style.display="none"),this.options.trackUserLocation&&this._map.on("movestart",t=>{t.geolocateSource||this._watchState!=="ACTIVE_LOCK"||t.originalEvent&&t.originalEvent.type==="resize"||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this.fire(new a.A("trackuserlocationend")))})}}_onDeviceOrientation(l){this._userLocationDotMarker&&(l.webkitCompassHeading?this._heading=l.webkitCompassHeading:l.absolute===!0&&(this._heading=-1*l.alpha),this._updateMarkerRotationThrottled())}trigger(){if(!this._setup)return a.w("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new a.A("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":this._numberOfWatches--,this._noTimeout=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new a.A("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new a.A("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if(this._watchState==="OFF"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let l;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),this._numberOfWatches++,this._numberOfWatches>1?(l={maximumAge:6e5,timeout:0},this._noTimeout=!0):(l=this.options.positionOptions,this._noTimeout=!1),this._geolocationWatchID=this.options.geolocation.watchPosition(this._onSuccess,this._onError,l),this._startRequestTimeout(),this.options.showUserHeading&&this._addDeviceOrientationListener()}}else this.options.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._startRequestTimeout(),this._timeoutId=window.setTimeout(this._finish,1e4);return!0}setFollowUserLocation(l){return this.options.followUserLocation=l??Qh.followUserLocation,this.options.trackUserLocation&&this._watchState!=="OFF"&&(this.options.followUserLocation?this._watchState!=="BACKGROUND"&&this._watchState!=="BACKGROUND_ERROR"||(this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new a.A("trackuserlocationstart"))):this._watchState!=="ACTIVE_LOCK"&&this._watchState!=="ACTIVE_ERROR"||(this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),this.fire(new a.A("trackuserlocationend")))),this}_addDeviceOrientationListener(){const l=()=>{const t="ondeviceorientationabsolute"in window?"deviceorientationabsolute":"deviceorientation";window.addEventListener(t,this._onDeviceOrientation)};typeof DeviceOrientationEvent.requestPermission=="function"?DeviceOrientationEvent.requestPermission().then(t=>{t==="granted"&&l()}).catch(console.error):l()}_clearWatch(){this._clearRequestTimeout(),this.options.geolocation.clearWatch(this._geolocationWatchID),window.removeEventListener("deviceorientation",this._onDeviceOrientation),window.removeEventListener("deviceorientationabsolute",this._onDeviceOrientation),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},AttributionControl:mi,ScaleControl:class{constructor(l={}){this.options=Object.assign({},qm,l),a.aZ(["_update","_setScale","setUnit"],this)}getDefaultPosition(){return"bottom-left"}_update(){const l=this.options.maxWidth||100,t=this._map,n=t._containerHeight/2,c=t._containerWidth/2-l/2,d=t.unproject([c,n]),p=t.unproject([c+l,n]),m=d.distanceTo(p);if(this.options.unit==="imperial"){const y=3.2808*m;y>5280?this._setScale(l,y/5280,"mile"):this._setScale(l,y,"foot")}else this.options.unit==="nautical"?this._setScale(l,m/1852,"nautical-mile"):m>=1e3?this._setScale(l,m/1e3,"kilometer"):this._setScale(l,m,"meter")}_setScale(l,t,n){this._map._requestDomTask(()=>{const c=(function(p){const m=Math.pow(10,`${Math.floor(p)}`.length-1);let y=p/m;return y=y>=10?10:y>=5?5:y>=3?3:y>=2?2:y>=1?1:(function(x){const T=Math.pow(10,Math.ceil(-Math.log(x)/Math.LN10));return Math.round(x*T)/T})(y),m*y})(t),d=c/t;this._container.innerHTML=n!=="nautical-mile"?new Intl.NumberFormat(this._language,{style:"unit",unitDisplay:"short",unit:n}).format(c):`${c}&nbsp;${Nl[n]}`,this._container.style.width=l*d+"px"})}onAdd(l){return this._map=l,this._language=l.getLanguage(),this._container=Jt("div","mapboxgl-ctrl mapboxgl-ctrl-scale",l.getContainer()),this._container.dir="auto",this._map.on("move",this._update),this._update(),this._container}onRemove(){this._container.remove(),this._map.off("move",this._update),this._map=void 0}_setLanguage(l){this._language=l,this._update()}setUnit(l){this.options.unit=l,this._update()}},FullscreenControl:class{constructor(l={}){this._fullscreen=!1,l&&l.container&&(l.container instanceof HTMLElement?this._container=l.container:a.w("Full screen control 'container' must be a DOM element.")),a.aZ(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onwebkitfullscreenchange"in document&&(this._fullscreenchange="webkitfullscreenchange")}onAdd(l){return this._map=l,this._container||(this._container=this._map.getContainer()),this._controlContainer=Jt("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",a.w("This device does not support fullscreen mode.")),this._controlContainer}onRemove(){this._controlContainer.remove(),this._map=null,document.removeEventListener(this._fullscreenchange,this._changeIcon)}_checkFullscreenSupport(){return!(!document.fullscreenEnabled&&!document.webkitFullscreenEnabled)}_setupUI(){const l=this._fullscreenButton=Jt("button","mapboxgl-ctrl-fullscreen",this._controlContainer);Jt("span","mapboxgl-ctrl-icon",l).setAttribute("aria-hidden","true"),l.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),document.addEventListener(this._fullscreenchange,this._changeIcon)}_updateTitle(){const l=this._getTitle();this._fullscreenButton.setAttribute("aria-label",l),this._fullscreenButton.firstElementChild&&this._fullscreenButton.firstElementChild.setAttribute("title",l)}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_changeIcon(){(document.fullscreenElement||document.webkitFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())}_onClickFullscreen(){this._isFullscreen()?document.exitFullscreen?document.exitFullscreen():document.webkitCancelFullScreen&&document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()}},IndoorControl:class{constructor(){a.aZ(["_onIndoorUpdate","_onStyleData","_scrollUp","_scrollDown","_toggleIndoor"],this),this._visibleFloorStart=0,this._lastSelectedFloorId=null}onAdd(l){return this._map=l,this._container=Jt("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.style.display="none",this._map.on("styledata",this._onStyleData),this._updateConnection(),this._container}_onStyleData(){this._updateConnection()}_updateConnection(){if(this._map&&this._map.style&&this._map.style.indoorManager){const l=this._map.style.indoorManager;l.off("selector-update",this._onIndoorUpdate),l.on("selector-update",this._onIndoorUpdate),this._onIndoorUpdate(l.getControlState())}}_createButton(l,t){const n=Jt("button",l,this._container);return n.type="button",n.addEventListener("click",t),n}_setButtonTitle(l,t){l.setAttribute("aria-label",t),l.textContent=t}onRemove(){this._container&&this._container.remove(),this._map&&(this._map.off("styledata",this._onStyleData),this._map.style&&this._map.style.indoorManager.off("selector-update",this._onIndoorUpdate),this._map=null)}getDefaultPosition(){return"top-right"}_onIndoorUpdate(l){if(!l||!l.floors||l.floors.length===0)return this._model=l,void(this._container.style.display="none");const t=this._model;this._model=l,this._container.style.display="inline-block";const n=!t||t.floors.length!==l.floors.length||t.floors.some((c,d)=>c.id!==l.floors[d].id);if(n&&(this._visibleFloorStart=0,this._lastSelectedFloorId=null),l.selectedFloorId){if(l.selectedFloorId!==this._lastSelectedFloorId||n){const c=l.floors.findIndex(d=>d.id===l.selectedFloorId);if(c!==-1){const d=l.floors.length;let p,m;d<=5?(p=0,m=d-1):this._visibleFloorStart===0?(p=0,m=3):this._visibleFloorStart>=d-3?(p=d-3-1,m=d-1):(p=this._visibleFloorStart,m=this._visibleFloorStart+3-1),c<p?this._visibleFloorStart=c:c>m&&(this._visibleFloorStart=c-2)}}this._lastSelectedFloorId=l.selectedFloorId}this._render()}_render(){if(!this._container||!this._model||!this._model.floors)return;this._container.innerHTML="";const l=this._createButton("mapboxgl-ctrl-indoor-toggle",this._toggleIndoor);Jt("span","mapboxgl-ctrl-icon",l).setAttribute("aria-hidden","true"),this._model.activeFloorsVisible||l.classList.add("mapboxgl-ctrl-level-button-selected"),this._container.appendChild(l);const t=this._model.floors,n=t.length;if(n<=5)return void t.forEach(m=>this._createFloorButton(m));const c=this._visibleFloorStart===0,d=this._visibleFloorStart>=n-3;if(c)this._createFloorButton(t[0]);else{const m=this._createButton("mapboxgl-ctrl-arrow-up",this._scrollUp);Jt("span","mapboxgl-ctrl-icon",m).setAttribute("aria-hidden","true"),this._container.appendChild(m)}let p=[];if(p=c?t.slice(1,4):d?t.slice(this._visibleFloorStart-1,this._visibleFloorStart+3-1):t.slice(this._visibleFloorStart,this._visibleFloorStart+3),p.forEach(m=>this._createFloorButton(m)),d)this._createFloorButton(t[n-1]);else{const m=this._createButton("mapboxgl-ctrl-arrow-down",this._scrollDown);Jt("span","mapboxgl-ctrl-icon",m).setAttribute("aria-hidden","true"),this._container.appendChild(m)}}_createFloorButton(l){const t=this._createButton("mapboxgl-ctrl-level-button",()=>{const p=l.id;this._model&&this._model.selectedFloorId===p&&this._model.activeFloorsVisible||this._map&&(this._model&&!this._model.activeFloorsVisible&&this._map.style&&this._map.style.indoorManager&&this._map.style.indoorManager.setActiveFloorsVisibility(!0),this._map._selectIndoorFloor(p))}),n=(l.name||"").trim(),c=l.zIndex.toString(),d=n?Array.from(n).slice(0,3).join(""):c;this._setButtonTitle(t,d),this._model&&this._model.activeFloorsVisible&&l.id===this._model.selectedFloorId&&t.classList.add("mapboxgl-ctrl-level-button-selected"),this._container&&this._container.appendChild(t)}_toggleIndoor(){this._map&&this._map.style&&this._map.style.indoorManager&&this._model&&this._model.activeFloorsVisible&&this._map.style.indoorManager.setActiveFloorsVisibility(!1)}_scrollUp(){if(this._visibleFloorStart>0){this._visibleFloorStart--,this._visibleFloorStart===1&&(this._visibleFloorStart=0);const l=this._model&&this._model.floors||[];if(l.length>3){const t=l.length-3;this._visibleFloorStart===t-1&&(this._visibleFloorStart=t-2)}this._render()}}_scrollDown(){if(this._model&&this._model.floors){const l=this._model.floors.length-3;this._visibleFloorStart<l&&(this._visibleFloorStart++,this._visibleFloorStart===1&&(this._visibleFloorStart=2),this._visibleFloorStart===l-1&&(this._visibleFloorStart=l),this._visibleFloorStart>l&&(this._visibleFloorStart=l),this._render())}}},Popup:class extends a.E{constructor(l){super(),this.options=Object.assign(Object.create($m),l),this._altitude=this.options.altitude,a.aZ(["_update","_onClose","remove","_onMouseEvent"],this),this._classList=new Set(l&&l.className?l.className.trim().split(/\s+/):[])}addTo(l){return this._map&&this.remove(),this._map=l,this.options.closeOnClick&&l.on("preclick",this._onClose),this.options.closeOnMove&&l.on("move",this._onClose),l.on("remove",this.remove),this._update(),l._addPopup(this),this._focusFirstElement(),this._trackPointer?(l.on("mousemove",this._onMouseEvent),l.on("mouseup",this._onMouseEvent),l._canvasContainer.classList.add("mapboxgl-track-pointer")):l.on("move",this._update),this.fire(new a.A("open")),this}isOpen(){return!!this._map}remove(){this._content&&this._content.remove(),this._container&&(this._container.remove(),this._container=void 0);const l=this._map;return l&&(l.off("move",this._update),l.off("move",this._onClose),l.off("preclick",this._onClose),l.off("click",this._onClose),l.off("remove",this.remove),l.off("mousemove",this._onMouseEvent),l.off("mouseup",this._onMouseEvent),l.off("drag",this._onMouseEvent),l._canvasContainer&&l._canvasContainer.classList.remove("mapboxgl-track-pointer"),l._removePopup(this),this._map=void 0),this.fire(new a.A("close")),this}getLngLat(){return this._lngLat}setLngLat(l){this._lngLat=a.aU.convert(l),this._pos=null,this._trackPointer=!1,this._update();const t=this._map;return t&&(t.on("move",this._update),t.off("mousemove",this._onMouseEvent),t._canvasContainer.classList.remove("mapboxgl-track-pointer")),this}getAltitude(){return this._altitude}setAltitude(l){return this._altitude=l,this._update(),this}trackPointer(){this._trackPointer=!0,this._pos=null,this._update();const l=this._map;return l&&(l.off("move",this._update),l.on("mousemove",this._onMouseEvent),l.on("drag",this._onMouseEvent),l._canvasContainer.classList.add("mapboxgl-track-pointer")),this}getElement(){return this._container}setText(l){return this.setDOMContent(document.createTextNode(l))}setHTML(l){const t=document.createDocumentFragment(),n=document.createElement("body");let c;for(n.innerHTML=l;c=n.firstChild,c;)t.appendChild(c);return this.setDOMContent(t)}getMaxWidth(){return this._container&&this._container.style.maxWidth}setMaxWidth(l){return this.options.maxWidth=l,this._update(),this}setDOMContent(l){let t=this._content;if(t)for(;t.hasChildNodes();)t.firstChild&&t.removeChild(t.firstChild);else t=this._content=Jt("div","mapboxgl-popup-content",this._container||void 0);if(t.appendChild(l),this.options.closeButton){const n=this._closeButton=Jt("button","mapboxgl-popup-close-button",t);n.type="button",n.setAttribute("aria-label","Close popup"),n.innerHTML='<span aria-hidden="true">&#215;</span>',n.addEventListener("click",this._onClose)}return this._update(),this._focusFirstElement(),this}addClassName(l){return this._classList.add(l),this._updateClassList(),this}removeClassName(l){return this._classList.delete(l),this._updateClassList(),this}setOffset(l){return this.options.offset=l,this._update(),this}toggleClassName(l){let t;return this._classList.delete(l)?t=!1:(this._classList.add(l),t=!0),this._updateClassList(),t}_onMouseEvent(l){this._update(l.point)}_getAnchor(l){if(this.options.anchor)return this.options.anchor;const t=this._map,n=this._container,c=this._pos;if(!t||!n||!c)return"bottom";const d=n.offsetWidth,p=n.offsetHeight,m=c.x<d/2,y=c.x>t.transform.width-d/2;if(c.y+l<p)return m?"top-left":y?"top-right":"top";if(c.y>t.transform.height-p){if(m)return"bottom-left";if(y)return"bottom-right"}return m?"left":y?"right":"bottom"}_updateClassList(){const l=this._container;if(!l)return;const t=[...this._classList];t.push("mapboxgl-popup"),this._anchor&&t.push(`mapboxgl-popup-anchor-${this._anchor}`),this._trackPointer&&t.push("mapboxgl-popup-track-pointer"),l.className=t.join(" ")}_update(l){const t=this._map,n=this._content;if(!t||!this._lngLat&&!this._trackPointer||!n)return;let c=this._container;if(c||(c=this._container=Jt("div","mapboxgl-popup",t.getContainer()),this._tip=Jt("div","mapboxgl-popup-tip",c),c.appendChild(n)),this.options.maxWidth&&c.style.maxWidth!==this.options.maxWidth&&(c.style.maxWidth=this.options.maxWidth),t.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=$i(this._lngLat,this._pos,t.transform)),!this._trackPointer||l){const d=this._pos=this._trackPointer&&l instanceof a.P?l:t.project(this._lngLat,this._altitude),p=ru(this.options.offset),m=this._anchor=this._getAnchor(p.y),y=ru(this.options.offset,m),x=d.add(y).round();t._requestDomTask(()=>{this._container&&m&&(this._container.style.transform=`${as[m]} translate(${x.x}px,${x.y}px)`)})}if(!this._marker&&t._showingGlobe()){const d=a.f8(t.transform,this._lngLat)?0:1;this._setOpacity(d)}this._updateClassList()}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const l=this._container.querySelector(Hm);l&&l.focus()}_onClose(){this.remove()}_setOpacity(l){this._container&&(this._container.style.opacity=`${l}`),this._content&&(this._content.style.pointerEvents=l?"auto":"none")}},Marker:No,Style:zs,LngLat:a.aU,LngLatBounds:a.aJ,Point:a.P,MercatorCoordinate:a.af,FreeCameraOptions:fc,Evented:a.E,config:a.e,prewarm:a.fc,clearPrewarmedResources:a.fb,get accessToken(){return a.e.ACCESS_TOKEN},set accessToken(l){a.e.ACCESS_TOKEN=l},get baseApiUrl(){return a.e.API_URL},set baseApiUrl(l){a.e.API_URL=l},get workerCount(){return a.fl.workerCount},set workerCount(l){a.fl.workerCount=l},get maxParallelImageRequests(){return a.e.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(l){a.e.MAX_PARALLEL_IMAGE_REQUESTS=l},clearStorage(l){a.fk(l)},get workerUrl(){return a.fj.workerUrl},set workerUrl(l){a.fj.workerUrl=l},get workerClass(){return a.fj.workerClass},set workerClass(l){a.fj.workerClass=l},get workerParams(){return a.fj.workerParams},set workerParams(l){a.fj.workerParams=l},get dracoUrl(){return a.fi()},set dracoUrl(l){a.fh(l)},get meshoptUrl(){return a.fg()},set meshoptUrl(l){a.ff(l)},setNow:a.o.setNow,restoreNow:a.o.restoreNow}});var jv=Sa;return jv}))})(pm,pm.exports)),pm.exports}var Uv=WT();const ZT=qT.Cn(Uv),XT=$T({__proto__:null,default:ZT},[Uv]);exports.m=XT;
3073
+ (${c.data.width}, ${c.data.height})`)));const x=!(t instanceof HTMLImageElement||ImageBitmap&&t instanceof ImageBitmap);let T=!1;c.usvg?(c.data=new a.q({width:p,height:m},new Uint8Array(y)),c.usvg=!1,c.icon=void 0,T=!0):c.data.replace(y,x),this.style.updateImage(n,c,T)}hasImage(l){return l?!!this.style&&!!this.style.getImage(a.I.from(l)):(this.fire(new a.z(new Error("Missing required image id"))),!1)}removeImage(l){this.style.removeImage(a.I.from(l))}loadImage(l,t){a.n(this._requestManager.transformRequest(l,a.R.Image),(n,c)=>{t(n,c)})}listImages(){return this.style.listImages().map(l=>l.name)}addModel(l,t){this._lazyInitEmptyStyle(),this.style.addModel(l,t)}hasModel(l){return l?this.style.hasModel(l):(this.fire(new a.z(new Error("Missing required model id"))),!1)}removeModel(l){this.style.removeModel(l)}listModels(){return this.style.listModels()}addLayer(l,t){return this._isValidId(l.id)?(this._lazyInitEmptyStyle(),this.style.addLayer(l,t),this._update(!0)):this}getSlot(l){const t=this.getLayer(l);return t&&t.slot||null}setSlot(l,t){return this.style.setSlot(l,t),this.style.mergeLayers(),this._update(!0)}addImport(l,t){return this.style.addImport(l,t).catch(n=>this.fire(new a.z(new Error("Failed to add import",n)))),this}updateImport(l,t){return typeof t!="string"&&t.id!==l?(this.removeImport(l),this.addImport(t)):(this.style.updateImport(l,t),this._update(!0))}removeImport(l){return this.style.removeImport(l),this}moveImport(l,t){return this.style.moveImport(l,t),this._update(!0)}moveLayer(l,t){return this._isValidId(l)?(this.style.moveLayer(l,t),this._update(!0)):this}removeLayer(l){return this._isValidId(l)?(this.style.removeLayer(l),this._update(!0)):this}getLayer(l){if(!this._isValidId(l))return null;const t=this.style.getOwnLayer(l);return t?t.type==="custom"?t.implementation:t.serialize():void 0}getSlots(){return this.style.getSlots()}setLayerZoomRange(l,t,n){return this._isValidId(l)?(this.style.setLayerZoomRange(l,t,n),this._update(!0)):this}setFilter(l,t,n={}){return this._isValidId(l)?(this.style.setFilter(l,t,n),this._update(!0)):this}getFilter(l){return this._isValidId(l)?this.style.getFilter(l):null}setPaintProperty(l,t,n,c={}){return this._isValidId(l)?(this.style.setPaintProperty(l,t,n,c),this._update(!0)):this}getPaintProperty(l,t){return this._isValidId(l)?this.style.getPaintProperty(l,t):null}setLayoutProperty(l,t,n,c={}){return this._isValidId(l)?(this.style.setLayoutProperty(l,t,n,c),this._update(!0)):this}getLayoutProperty(l,t){return this._isValidId(l)?this.style.getLayoutProperty(l,t):null}setLayerProperty(l,t,n,c={}){return this._isValidId(l)?(t==="appearances"&&this._postAddingAppearancesToStyleEvent(),this.style.setLayerProperty(l,t,n,c),this._update(!0)):this}getGlyphsUrl(){return this.style.getGlyphsUrl()}setGlyphsUrl(l){return this.style.setGlyphsUrl(l),this._update(!0)}getSchema(l){return this.style.getSchema(l)}setSchema(l,t){return this.style.setSchema(l,t),this._update(!0)}getConfig(l){return this.style.getConfig(l)}setConfig(l,t){return this.style.setConfig(l,t),this._update(!0)}getConfigProperty(l,t){return this.style.getConfigProperty(l,t)}setConfigProperty(l,t,n){return this.style.setConfigProperty(l,t,n),this._update(!0)}getFeaturesetDescriptors(l){return this.style.getFeaturesetDescriptors(l)}setLights(l){if(this._lazyInitEmptyStyle(),l&&l.length===1&&l[0].type==="flat"){const t=l[0];t.properties?this.style.setFlatLight(t.properties,t.id,{}):this.style.setFlatLight({},"flat")}else this.style.setLights(l),this.painter.terrain&&(this.painter.terrain.invalidateRenderCache=!0);return this._update(!0)}getLights(){const l=this.style.getLights()||[];return l.length===0&&l.push({id:this.style.light.id,type:"flat",properties:this.style.getFlatLight()}),l}setLight(l,t={}){return console.log("The `map.setLight` function is deprecated, prefer using `map.setLights` with `flat` light type instead."),this.setLights([{id:"flat",type:"flat",properties:l}])}getLight(){return console.log("The `map.getLight` function is deprecated, prefer using `map.getLights` instead."),this.style.getFlatLight()}setTerrain(l){return this._lazyInitEmptyStyle(),!l&&this.transform.projection.requiresDraping?this.style.setTerrainForDraping():this.style.setTerrain(l),this._averageElevationLastSampledAt=-1/0,this._update(!0)}getTerrain(){return this.style?this.style.getTerrain():null}setFog(l){return this._lazyInitEmptyStyle(),this.style.setFog(l),this._update(!0)}getFog(){return this.style?this.style.getFog():null}setSnow(l){return this._lazyInitEmptyStyle(),this.style.setSnow(l),this._update(!0)}getSnow(){return this.style?this.style.getSnow():null}setRain(l){return this._lazyInitEmptyStyle(),this.style.setRain(l),this._update(!0)}getRain(){return this.style?this.style.getRain():null}setColorTheme(l){return this._lazyInitEmptyStyle(),this.style.setColorTheme(l),this._update(!0)}setImportColorTheme(l,t){return this._lazyInitEmptyStyle(),this.style.setImportColorTheme(l,t),this._update(!0)}setCamera(l){return this.style.setCamera(l),this._triggerCameraUpdate(l)}getNearClipOffset(){return this.transform.nearClipOffset}setNearClipOffset(l){const t=this.transform.nearClipOffset!==l;return this.transform.nearClipOffset=l,this._update(t)}_triggerCameraUpdate(l){return this._update(this.transform.setOrthographicProjectionAtLowPitch(l["camera-projection"]==="orthographic"))}getCamera(){return this.style.camera}_queryFogOpacity(l){return this.style&&this.style.fog?this.style.fog.getOpacityAtLatLng(a.aU.convert(l),this.transform):0}setFeatureState(l,t){return l.source&&!this._isValidId(l.source)?this:(this.style.setFeatureState(l,t),this._update())}removeFeatureState(l,t){return l.source&&!this._isValidId(l.source)?this:(this.style.removeFeatureState(l,t),this._update())}getFeatureState(l){return l.source&&!this._isValidId(l.source)?null:this.style.getFeatureState(l)}_selectIndoorFloor(l){this.style.indoorManager.selectFloor(l)}_setIndoorActiveFloorsVisibility(l){this.style.indoorManager.setActiveFloorsVisibility(l)}getIndoorTileOptions(l,t){return this.style.isIndoorEnabled()?this.style.indoorManager.getIndoorTileOptions(l,t):null}_updateContainerDimensions(){if(!this._container)return;const l=this._container.getBoundingClientRect().width||400,t=this._container.getBoundingClientRect().height||300;let n,c,d,p=this._container;for(;p&&(!c||!d);){const m=window.getComputedStyle(p).transform;m&&m!=="none"&&(n=m.match(/matrix.*\((.+)\)/)[1].split(", "),n[0]&&n[0]!=="0"&&n[0]!=="1"&&(c=n[0]),n[3]&&n[3]!=="0"&&n[3]!=="1"&&(d=n[3])),p=p.parentElement}this._containerWidth=c?Math.abs(l/c):l,this._containerHeight=d?Math.abs(t/d):t}_detectMissingCSS(){window.getComputedStyle(this._missingCSSCanary).getPropertyValue("background-color")!=="rgb(250, 128, 114)"&&a.w("This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.")}_setupContainer(){const l=this._container;l.classList.add("mapboxgl-map"),(this._missingCSSCanary=Jt("div","mapboxgl-canary",l)).style.visibility="hidden",this._detectMissingCSS();const t=this._canvasContainer=Jt("div","mapboxgl-canvas-container",l);this._canvas=Jt("canvas","mapboxgl-canvas",t),this._interactive&&(t.classList.add("mapboxgl-interactive"),this._canvas.setAttribute("tabindex","0")),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region"),this._updateContainerDimensions(),this._resizeCanvas(this._containerWidth,this._containerHeight);const n=this._controlContainer=Jt("div","mapboxgl-control-container",l),c=this._controlPositions={};["top-left","top","top-right","right","bottom-right","bottom","bottom-left","left"].forEach(d=>{c[d]=Jt("div",`mapboxgl-ctrl-${d}`,n)}),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(l,t){const n=a.o.devicePixelRatio||1;this._canvas.width=n*Math.ceil(l),this._canvas.height=n*Math.ceil(t),this._canvas.style.width=`${l}px`,this._canvas.style.height=`${t}px`}_addMarker(l){this._markers.push(l)}_removeMarker(l){const t=this._markers.indexOf(l);t!==-1&&this._markers.splice(t,1)}_addPopup(l){this._popups.push(l)}_removePopup(l){const t=this._popups.indexOf(l);t!==-1&&this._popups.splice(t,1)}_setupPainter(){const l=Object.assign({},Ia.supported.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),t=this._canvas.getContext("webgl2",l);t?(js(t,!0),this.painter=new km(t,this._contextCreateOptions,this.transform,this._scaleFactor,this._worldview),this.on("data",n=>{if(n.dataType==="source"){const c=this.transform.elevation?this.transform.elevation._source():null;c&&n.sourceCacheId===c.id&&this.style&&this.style._setLabelPlacementStale(),this.painter.setTileLoadedFlag(!0)}}),a.k.testSupport(t)):this.fire(new a.z(new Error("Failed to initialize WebGL")))}_contextLost(l){l.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new a.A("webglcontextlost",{originalEvent:l}))}_contextRestored(l){this._setupPainter(),this.painter.resize(Math.ceil(this._containerWidth),Math.ceil(this._containerHeight)),this._updateTerrain(),this.style&&(this.style.clearLayers(),this.style.imageManager.destroyAtlasTextures(),this.style.imageManager.imageAtlasCache.destroyTextures(),this.style.reloadModels(),this.style.clearSources()),this._update(),this.fire(new a.A("webglcontextrestored",{originalEvent:l}))}_onMapScroll(l){if(l.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1}idle(){return!this.isMoving()&&this.loaded()}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}frameReady(){return this.loaded()&&!this._placementDirty}_update(l){return this.style?(this._styleDirty=this._styleDirty||l,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(l){return this._update(),this._renderTaskQueue.add(l)}_cancelRenderFrame(l){this._renderTaskQueue.remove(l)}_requestDomTask(l){!this.loaded()||this.loaded()&&!this.isMoving()?l():this._domRenderTaskQueue.add(l)}_render(l){let t;this.fire(new a.A("renderstart")),++this._frameId;const n=this.painter.context.extTimerQuery,c=a.o.now(),d=this.painter.context.gl;if(this.listens("gpu-timing-frame")&&(t=d.createQuery(),d.beginQuery(n.TIME_ELAPSED_EXT,t)),this.painter.context.setDirty(),this.painter.setBaseState(),(this.isMoving()||this.isRotating()||this.isZooming())&&(this._interactionRange[0]=Math.min(this._interactionRange[0],performance.now()),this._interactionRange[1]=Math.max(this._interactionRange[1],performance.now())),this._renderTaskQueue.run(l),this._domRenderTaskQueue.run(l),this._removed)return;this._updateProjectionTransition();const p=this._isInitialLoad?0:this._fadeDuration;if(this.style&&this._styleDirty){this._styleDirty=!1;const x=this.transform.zoom,T=this.transform.pitch,S=a.o.now(),M=new a.ad(x,{now:S,fadeDuration:p,pitch:T,transition:this.style.transition,worldview:this._worldview});this.style.update(M)}this.style&&this.style.hasFogTransition()&&(this.style._markersNeedUpdate=!0,this._sourcesDirty=!0);let m=!1;if(this.style&&this._sourcesDirty?(this._sourcesDirty=!1,this.painter._updateFog(this.style),this._updateTerrain(),m=this._updateAverageElevation(c),this.style.updateSources(this.transform),this.style.updateImageProviders(),this.isMoving()||this._forceMarkerAndPopupUpdate()):m=this._updateAverageElevation(c),this.style&&(this._placementDirty=this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,p,this._crossSourceCollisions,this.painter.replacementSource)),this.style&&this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showParseStatus:this.showParseStatus,wireframe:{terrain:this.showTerrainWireframe,layers2D:this.showLayers2DWireframe,layers3D:this.showLayers3DWireframe},showOverdrawInspector:this._showOverdrawInspector,showQueryGeometry:!!this._showQueryGeometry,showTileAABBs:this.showTileAABBs,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:p,isInitialLoad:this._isInitialLoad,showPadding:this.showPadding,gpuTiming:!!this.listens("gpu-timing-layer"),gpuTimingDeferredRender:!!this.listens("gpu-timing-deferred-render"),speedIndexTiming:this.speedIndexTiming}),this.fire(new a.A("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,yn.mark(Ei.load),this.fire(new a.A("load"))),this.style&&this.style.hasTransitions()&&(this._styleDirty=!0),this.style&&(this.style.snow||this.style.rain)&&(this._styleDirty=!0),this.style&&this.style.imageManager.hasPatternsInFlight()&&(this._styleDirty=!0),this.style&&!this.style.modelManager.isLoaded()&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),t){const x=a.o.now()-c;d.endQuery(n.TIME_ELAPSED_EXT),setTimeout(()=>{const T=d.getQueryParameter(t,d.QUERY_RESULT)/1e6;d.deleteQuery(t),this.fire(new a.A("gpu-timing-frame",{cpuTime:x,gpuTime:T}))},50)}if(this.listens("gpu-timing-layer")){const x=this.painter.collectGpuTimers();setTimeout(()=>{const T=this.painter.queryGpuTimers(x);this.fire(new a.A("gpu-timing-layer",{layerTimes:T}))},50)}if(this.listens("gpu-timing-deferred-render")){const x=this.painter.collectDeferredRenderGpuQueries();setTimeout(()=>{const T=this.painter.queryGpuTimeDeferredRender(x);this.fire(new a.A("gpu-timing-deferred-render",{gpuTime:T}))},50)}const y=this._sourcesDirty||this._styleDirty||this._placementDirty||m;if(y||this._repaint)this.triggerRepaint();else{const x=this.idle();if(x&&(m=this._updateAverageElevation(c,!0)),m)this.triggerRepaint();else if(this._triggerFrame(!1),x&&(this.fire(new a.A("idle")),this._isInitialLoad=!1,this.speedIndexTiming)){const T=this._calculateSpeedIndex();this.fire(new a.A("speedindexcompleted",{speedIndex:T})),this.speedIndexTiming=!1}}!this._loaded||this._fullyLoaded||y||(this._fullyLoaded=!0,yn.mark(Ei.fullLoad),this._performanceMetricsCollection&&Vi(this._requestManager._customAccessToken,{width:this.painter.width,height:this.painter.height,interactionRange:this._interactionRange,visibilityHidden:this._visibilityHidden,terrainEnabled:!!this.painter.style.getTerrain(),fogEnabled:!!this.painter.style.getFog(),projection:this.getProjection().name,zoom:this.transform.zoom,renderer:this.painter.context.renderer,vendor:this.painter.context.vendor}),this._authenticate())}_forceMarkerAndPopupUpdate(l){for(const t of this._markers)l&&!this.getRenderWorldCopies()&&(t._lngLat=t._lngLat.wrap()),t._update();for(const t of this._popups)!l||this.getRenderWorldCopies()||t._trackPointer||(t._lngLat=t._lngLat.wrap()),t._update()}_updateAverageElevation(l,t=!1){const n=d=>(this.transform.averageElevation=d,this._update(!1),!0);if(!this.painter.averageElevationNeedsEasing())return this.transform.averageElevation!==0&&n(0);const c=this.transform.elevation&&this.transform.elevation.exaggeration()!==this._averageElevationExaggeration;if(c||(t||l-this._averageElevationLastSampledAt>500)&&!this._averageElevation.isEasing(l)){const d=this.transform.averageElevation;let p=this.transform.sampleAverageElevation();this.transform.elevation!=null&&(this._averageElevationExaggeration=this.transform.elevation.exaggeration()),isNaN(p)?p=0:this._averageElevationLastSampledAt=l;const m=Math.abs(d-p);if(m>1){if(this._isInitialLoad||c)return this._averageElevation.jumpTo(p),n(p);this._averageElevation.easeTo(p,l,300)}else if(m>1e-4)return this._averageElevation.jumpTo(p),n(p)}return!!this._averageElevation.isEasing(l)&&n(this._averageElevation.getValue(l))}_authenticate(){$n(this._getMapId(),this._requestManager._skuToken,this._requestManager._customAccessToken,l=>{if(l&&(l.message===Kt||l.status===401)){const t=this.painter.context.gl;js(t,!1),this._logoControl instanceof Jh&&this._logoControl._updateLogo(),t&&t.clear(t.DEPTH_BUFFER_BIT|t.COLOR_BUFFER_BIT|t.STENCIL_BUFFER_BIT),this._silenceAuthErrors||this.fire(new a.z(new Error("A valid Mapbox access token is required to use Mapbox GL JS. To create an account or a new access token, visit https://account.mapbox.com/")))}}),Ql(this._getMapId(),this._requestManager._skuToken,this._requestManager._customAccessToken,()=>{})}_postStyleLoadEvent(){this.style.globalId&&ec(this._requestManager._customAccessToken,{map:this,style:this.style.globalId,importedStyles:this.style.getImportGlobalIds()})}_postStyleWithAppearanceEvent(){this.style.globalId&&this.style.hasAppearances()&&oi(this._requestManager._customAccessToken)}_postAddingAppearancesToStyleEvent(){Er(this._requestManager._customAccessToken)}_updateTerrain(){const l=this._isDragging();this.painter.updateTerrain(this.style,l)}_calculateSpeedIndex(){const l=this.painter.canvasCopy(),t=this.painter.getCanvasCopiesAndTimestamps();t.timeStamps.push(performance.now());const n=this.painter.context.gl,c=n.createFramebuffer();function d(p){n.framebufferTexture2D(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.TEXTURE_2D,p,0);const m=new Uint8Array(n.drawingBufferWidth*n.drawingBufferHeight*4);return n.readPixels(0,0,n.drawingBufferWidth,n.drawingBufferHeight,n.RGBA,n.UNSIGNED_BYTE,m),m}return n.bindFramebuffer(n.FRAMEBUFFER,c),this._canvasPixelComparison(d(l),t.canvasCopies.map(d),t.timeStamps)}_canvasPixelComparison(l,t,n){let c=n[1]-n[0];const d=l.length/4;for(let p=0;p<t.length;p++){const m=t[p];let y=0;for(let x=0;x<m.length;x+=4)m[x]===l[x]&&m[x+1]===l[x+1]&&m[x+2]===l[x+2]&&m[x+3]===l[x+3]&&(y+=1);c+=(n[p+2]-n[p+1])*(1-y/d)}return c}remove(){this._hash&&this._hash.remove();for(const t of this._controls)t.onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this._domRenderTaskQueue.clear(),this.style&&this.style.destroy(),this.painter.destroy(),this.handlers&&this.handlers.destroy(),this.handlers=void 0,this.setStyle(null),window.removeEventListener("resize",this._onWindowResize,!1),window.removeEventListener("orientationchange",this._onWindowResize,!1),window.removeEventListener(this._fullscreenchangeEvent,this._onWindowResize,!1),window.removeEventListener("online",this._onWindowOnline,!1),window.removeEventListener("visibilitychange",this._onVisibilityChange,!1);const l=this.painter.context.gl.getExtension("WEBGL_lose_context");l&&l.loseContext(),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvasContainer.remove(),this._controlContainer.remove(),this._missingCSSCanary.remove(),this._canvas=void 0,this._canvasContainer=void 0,this._controlContainer=void 0,this._missingCSSCanary=void 0,this._container.classList.remove("mapboxgl-map"),this._container.removeEventListener("scroll",this._onMapScroll,!1),Ma.delete(this.painter.context.gl),qn.remove(),ps.remove(),this._removed=!0,this.fire(new a.A("remove"))}triggerRepaint(){this._triggerFrame(!0)}_triggerFrame(l){this._renderNextFrame=this._renderNextFrame||l,this.style&&!this._frame&&(this._frame=a.o.frame(t=>{const n=!!this._renderNextFrame;this._frame=null,this._renderNextFrame=null,n&&this._render(t)}))}_preloadTiles(l){const t=this.style?this.style.getSourceCaches():[];return a.bx(t,(n,c)=>n._preloadTiles(l,c),()=>{this.triggerRepaint()}),this}_onWindowOnline(){this._update()}_onWindowResize(l){this._trackResize&&this.resize({originalEvent:l})._update()}_onVisibilityChange(){document.visibilityState==="hidden"&&this._visibilityHidden++}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(l){this._showTileBoundaries!==l&&(this._showTileBoundaries=l,this._update())}get showParseStatus(){return!!this._showParseStatus}set showParseStatus(l){this._showParseStatus!==l&&(this._showParseStatus=l,this._update())}get showTerrainWireframe(){return!!this._showTerrainWireframe}set showTerrainWireframe(l){this._showTerrainWireframe!==l&&(this._showTerrainWireframe=l,this._update())}get showLayers2DWireframe(){return!!this._showLayers2DWireframe}set showLayers2DWireframe(l){this._showLayers2DWireframe!==l&&(this._showLayers2DWireframe=l,this._update())}get showLayers3DWireframe(){return!!this._showLayers3DWireframe}set showLayers3DWireframe(l){this._showLayers3DWireframe!==l&&(this._showLayers3DWireframe=l,this._update())}get speedIndexTiming(){return!!this._speedIndexTiming}set speedIndexTiming(l){this._speedIndexTiming!==l&&(this._speedIndexTiming=l,this._update())}get showPadding(){return!!this._showPadding}set showPadding(l){this._showPadding!==l&&(this._showPadding=l,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(l){this._showCollisionBoxes!==l&&(this._showCollisionBoxes=l,this.style&&l?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(l){this._showOverdrawInspector!==l&&(this._showOverdrawInspector=l,this._update())}get repaint(){return!!this._repaint}set repaint(l){this._repaint!==l&&(this._repaint=l,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(l){this._vertices=l,this._update()}get showTileAABBs(){return!!this._showTileAABBs}set showTileAABBs(l){this._showTileAABBs!==l&&(this._showTileAABBs=l,l&&this._update())}_setCacheLimits(l,t){a.f7(l,t)}get version(){return Rr}},NavigationControl:class{constructor(l={}){this.options=Object.assign({},Fn,l),this._container=Jt("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",t=>t.preventDefault()),this.options.showZoom&&(a.aZ(["_setButtonTitle","_updateZoomButtons"],this),this._zoomInButton=this._createButton("mapboxgl-ctrl-zoom-in",t=>{this._map&&this._map.zoomIn({},{originalEvent:t})}),Jt("span","mapboxgl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("mapboxgl-ctrl-zoom-out",t=>{this._map&&this._map.zoomOut({},{originalEvent:t})}),Jt("span","mapboxgl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(a.aZ(["_rotateCompassArrow"],this),this._compass=this._createButton("mapboxgl-ctrl-compass",t=>{const n=this._map;n&&(this.options.visualizePitch?n.resetNorthPitch({},{originalEvent:t}):n.resetNorth({},{originalEvent:t}))}),this._compassIcon=Jt("span","mapboxgl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}_updateZoomButtons(){const l=this._map;if(!l)return;const t=l.getZoom(),n=t===l.getMaxZoom(),c=t===l.getMinZoom();this._zoomInButton.disabled=n,this._zoomOutButton.disabled=c,this._zoomInButton.setAttribute("aria-disabled",n.toString()),this._zoomOutButton.setAttribute("aria-disabled",c.toString())}_rotateCompassArrow(){const l=this._map;if(!l)return;const t=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(l.transform.pitch*(Math.PI/180)),.5)}) rotateX(${l.transform.pitch}deg) rotateZ(${l.transform.angle*(180/Math.PI)}deg)`:`rotate(${l.transform.angle*(180/Math.PI)}deg)`;l._requestDomTask(()=>{this._compassIcon&&(this._compassIcon.style.transform=t)})}onAdd(l){return this._map=l,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),l.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&l.on("pitch",this._rotateCompassArrow),l.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new iu(l,this._compass,this.options.visualizePitch)),this._container}onRemove(){const l=this._map;l&&(this._container.remove(),this.options.showZoom&&l.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&l.off("pitch",this._rotateCompassArrow),l.off("rotate",this._rotateCompassArrow),this._handler&&this._handler.off(),this._handler=void 0),this._map=void 0)}_createButton(l,t){const n=Jt("button",l,this._container);return n.type="button",n.addEventListener("click",t),n}_setButtonTitle(l,t){if(!this._map)return;const n=this._map._getUIString(`NavigationControl.${t}`);l.setAttribute("aria-label",n),l.firstElementChild&&l.firstElementChild.setAttribute("title",n)}},GeolocateControl:class extends a.E{constructor(l={}){super();const t=navigator.geolocation;this.options=Object.assign({geolocation:t},Qh,l),a.aZ(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker","_updateMarkerRotation","_onDeviceOrientation"],this),this._updateMarkerRotationThrottled=Po(this._updateMarkerRotation,20),this._numberOfWatches=0}onAdd(l){return this._map=l,this._container=Jt("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkGeolocationSupport(this._setupUI),this._container}onRemove(){this._clearRequestTimeout(),this._geolocationWatchID!==void 0&&(this.options.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),this._container.remove(),this._map.off("zoom",this._onZoom),this._map=void 0,this._numberOfWatches=0,this._noTimeout=!1}_checkGeolocationSupport(l){const t=(n=!!this.options.geolocation)=>{this._supportsGeolocation=n,l(n)};this._supportsGeolocation!==void 0?l(this._supportsGeolocation):navigator.permissions!==void 0?navigator.permissions.query({name:"geolocation"}).then(n=>t(n.state!=="denied")).catch(()=>t()):t()}_isOutOfMapMaxBounds(l){const t=this._map.getMaxBounds(),n=l.coords;return!!t&&(n.longitude<t.getWest()||n.longitude>t.getEast()||n.latitude<t.getSouth()||n.latitude>t.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}}_onSuccess(l){if(this._map){if(this._clearRequestTimeout(),this._isOutOfMapMaxBounds(l))return this._setErrorState(),this.fire(new a.A("outofmaxbounds",l)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=l,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this.options.followUserLocation?(this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active")):(this._watchState="BACKGROUND",this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"));break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&this._watchState!=="OFF"&&this._updateMarker(l),this.options.followUserLocation&&(!this.options.trackUserLocation||this._watchState==="ACTIVE_LOCK")&&this._updateCamera(l),this.options.showUserLocation&&this._userLocationDotMarker.removeClassName("mapboxgl-user-location-dot-stale"),this.fire(new a.A("geolocate",Object.assign({coords:l.coords,timestamp:l.timestamp},l.toJSON?{toJSON:l.toJSON.bind(l)}:{}))),this._finish()}}_updateCamera(l){const t=new a.aU(l.coords.longitude,l.coords.latitude),n=l.coords.accuracy,c=this._map.getBearing(),d=Object.assign({bearing:c},this.options.fitBoundsOptions);this._map.fitBounds(t.toBounds(n),d,{geolocateSource:!0})}_updateMarker(l){if(l){const t=new a.aU(l.coords.longitude,l.coords.latitude);this._accuracyCircleMarker.setLngLat(t).addTo(this._map),this._userLocationDotMarker.setLngLat(t).addTo(this._map),this._accuracy=l.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()}_updateCircleRadius(){const l=this._map.transform,t=a.cg(1,l._center.lat)*l.worldSize,n=Math.ceil(2*this._accuracy*t);this._circleElement.style.width=`${n}px`,this._circleElement.style.height=`${n}px`}_onZoom(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}_updateMarkerRotation(){this._userLocationDotMarker&&typeof this._heading=="number"?(this._userLocationDotMarker.setRotation(this._heading),this._userLocationDotMarker.addClassName("mapboxgl-user-location-show-heading")):(this._userLocationDotMarker.removeClassName("mapboxgl-user-location-show-heading"),this._userLocationDotMarker.setRotation(0))}_onError(l){if(this._map){if(this._clearRequestTimeout(),this.options.trackUserLocation)if(l.code===1){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const t=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.setAttribute("aria-label",t),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",t),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(l.code===3&&this._noTimeout)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._userLocationDotMarker.addClassName("mapboxgl-user-location-dot-stale"),this.fire(new a.A("error",{code:l.code,message:l.message,PERMISSION_DENIED:l.PERMISSION_DENIED,POSITION_UNAVAILABLE:l.POSITION_UNAVAILABLE,TIMEOUT:l.TIMEOUT})),this._finish()}}_finish(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0}_startRequestTimeout(){this._clearRequestTimeout();const l=this.options.positionOptions.timeout;l&&(this._requestTimeoutId=window.setTimeout(()=>{this._onError({code:3,message:"Geolocation request timed out"})},l))}_clearRequestTimeout(){this._requestTimeoutId!==void 0&&(clearTimeout(this._requestTimeoutId),this._requestTimeoutId=void 0)}_setupUI(l){if(this._map!==void 0){if(this._container.addEventListener("contextmenu",t=>t.preventDefault()),this._geolocateButton=Jt("button","mapboxgl-ctrl-geolocate",this._container),Jt("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",l===!1){a.w("Geolocation support is not available so the GeolocateControl will be disabled.");const t=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.setAttribute("aria-label",t),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",t)}else{const t=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.setAttribute("aria-label",t),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",t)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=Jt("div","mapboxgl-user-location"),this._dotElement.appendChild(Jt("div","mapboxgl-user-location-dot")),this._dotElement.appendChild(Jt("div","mapboxgl-user-location-heading")),this._userLocationDotMarker=new No({element:this._dotElement,rotationAlignment:"map",pitchAlignment:"map"}),this._circleElement=Jt("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new No({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.showButton||(this._container.style.display="none"),this.options.trackUserLocation&&this._map.on("movestart",t=>{t.geolocateSource||this._watchState!=="ACTIVE_LOCK"||t.originalEvent&&t.originalEvent.type==="resize"||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this.fire(new a.A("trackuserlocationend")))})}}_onDeviceOrientation(l){this._userLocationDotMarker&&(l.webkitCompassHeading?this._heading=l.webkitCompassHeading:l.absolute===!0&&(this._heading=-1*l.alpha),this._updateMarkerRotationThrottled())}trigger(){if(!this._setup)return a.w("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new a.A("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":this._numberOfWatches--,this._noTimeout=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new a.A("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new a.A("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if(this._watchState==="OFF"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let l;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),this._numberOfWatches++,this._numberOfWatches>1?(l={maximumAge:6e5,timeout:0},this._noTimeout=!0):(l=this.options.positionOptions,this._noTimeout=!1),this._geolocationWatchID=this.options.geolocation.watchPosition(this._onSuccess,this._onError,l),this._startRequestTimeout(),this.options.showUserHeading&&this._addDeviceOrientationListener()}}else this.options.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._startRequestTimeout(),this._timeoutId=window.setTimeout(this._finish,1e4);return!0}setFollowUserLocation(l){return this.options.followUserLocation=l??Qh.followUserLocation,this.options.trackUserLocation&&this._watchState!=="OFF"&&(this.options.followUserLocation?this._watchState!=="BACKGROUND"&&this._watchState!=="BACKGROUND_ERROR"||(this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new a.A("trackuserlocationstart"))):this._watchState!=="ACTIVE_LOCK"&&this._watchState!=="ACTIVE_ERROR"||(this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),this.fire(new a.A("trackuserlocationend")))),this}_addDeviceOrientationListener(){const l=()=>{const t="ondeviceorientationabsolute"in window?"deviceorientationabsolute":"deviceorientation";window.addEventListener(t,this._onDeviceOrientation)};typeof DeviceOrientationEvent.requestPermission=="function"?DeviceOrientationEvent.requestPermission().then(t=>{t==="granted"&&l()}).catch(console.error):l()}_clearWatch(){this._clearRequestTimeout(),this.options.geolocation.clearWatch(this._geolocationWatchID),window.removeEventListener("deviceorientation",this._onDeviceOrientation),window.removeEventListener("deviceorientationabsolute",this._onDeviceOrientation),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},AttributionControl:mi,ScaleControl:class{constructor(l={}){this.options=Object.assign({},qm,l),a.aZ(["_update","_setScale","setUnit"],this)}getDefaultPosition(){return"bottom-left"}_update(){const l=this.options.maxWidth||100,t=this._map,n=t._containerHeight/2,c=t._containerWidth/2-l/2,d=t.unproject([c,n]),p=t.unproject([c+l,n]),m=d.distanceTo(p);if(this.options.unit==="imperial"){const y=3.2808*m;y>5280?this._setScale(l,y/5280,"mile"):this._setScale(l,y,"foot")}else this.options.unit==="nautical"?this._setScale(l,m/1852,"nautical-mile"):m>=1e3?this._setScale(l,m/1e3,"kilometer"):this._setScale(l,m,"meter")}_setScale(l,t,n){this._map._requestDomTask(()=>{const c=(function(p){const m=Math.pow(10,`${Math.floor(p)}`.length-1);let y=p/m;return y=y>=10?10:y>=5?5:y>=3?3:y>=2?2:y>=1?1:(function(x){const T=Math.pow(10,Math.ceil(-Math.log(x)/Math.LN10));return Math.round(x*T)/T})(y),m*y})(t),d=c/t;this._container.innerHTML=n!=="nautical-mile"?new Intl.NumberFormat(this._language,{style:"unit",unitDisplay:"short",unit:n}).format(c):`${c}&nbsp;${Nl[n]}`,this._container.style.width=l*d+"px"})}onAdd(l){return this._map=l,this._language=l.getLanguage(),this._container=Jt("div","mapboxgl-ctrl mapboxgl-ctrl-scale",l.getContainer()),this._container.dir="auto",this._map.on("move",this._update),this._update(),this._container}onRemove(){this._container.remove(),this._map.off("move",this._update),this._map=void 0}_setLanguage(l){this._language=l,this._update()}setUnit(l){this.options.unit=l,this._update()}},FullscreenControl:class{constructor(l={}){this._fullscreen=!1,l&&l.container&&(l.container instanceof HTMLElement?this._container=l.container:a.w("Full screen control 'container' must be a DOM element.")),a.aZ(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onwebkitfullscreenchange"in document&&(this._fullscreenchange="webkitfullscreenchange")}onAdd(l){return this._map=l,this._container||(this._container=this._map.getContainer()),this._controlContainer=Jt("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",a.w("This device does not support fullscreen mode.")),this._controlContainer}onRemove(){this._controlContainer.remove(),this._map=null,document.removeEventListener(this._fullscreenchange,this._changeIcon)}_checkFullscreenSupport(){return!(!document.fullscreenEnabled&&!document.webkitFullscreenEnabled)}_setupUI(){const l=this._fullscreenButton=Jt("button","mapboxgl-ctrl-fullscreen",this._controlContainer);Jt("span","mapboxgl-ctrl-icon",l).setAttribute("aria-hidden","true"),l.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),document.addEventListener(this._fullscreenchange,this._changeIcon)}_updateTitle(){const l=this._getTitle();this._fullscreenButton.setAttribute("aria-label",l),this._fullscreenButton.firstElementChild&&this._fullscreenButton.firstElementChild.setAttribute("title",l)}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_changeIcon(){(document.fullscreenElement||document.webkitFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())}_onClickFullscreen(){this._isFullscreen()?document.exitFullscreen?document.exitFullscreen():document.webkitCancelFullScreen&&document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()}},IndoorControl:class{constructor(){a.aZ(["_onIndoorUpdate","_onStyleData","_scrollUp","_scrollDown","_toggleIndoor"],this),this._visibleFloorStart=0,this._lastSelectedFloorId=null}onAdd(l){return this._map=l,this._container=Jt("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.style.display="none",this._map.on("styledata",this._onStyleData),this._updateConnection(),this._container}_onStyleData(){this._updateConnection()}_updateConnection(){if(this._map&&this._map.style&&this._map.style.indoorManager){const l=this._map.style.indoorManager;l.off("selector-update",this._onIndoorUpdate),l.on("selector-update",this._onIndoorUpdate),this._onIndoorUpdate(l.getControlState())}}_createButton(l,t){const n=Jt("button",l,this._container);return n.type="button",n.addEventListener("click",t),n}_setButtonTitle(l,t){l.setAttribute("aria-label",t),l.textContent=t}onRemove(){this._container&&this._container.remove(),this._map&&(this._map.off("styledata",this._onStyleData),this._map.style&&this._map.style.indoorManager.off("selector-update",this._onIndoorUpdate),this._map=null)}getDefaultPosition(){return"top-right"}_onIndoorUpdate(l){if(!l||!l.floors||l.floors.length===0)return this._model=l,void(this._container.style.display="none");const t=this._model;this._model=l,this._container.style.display="inline-block";const n=!t||t.floors.length!==l.floors.length||t.floors.some((c,d)=>c.id!==l.floors[d].id);if(n&&(this._visibleFloorStart=0,this._lastSelectedFloorId=null),l.selectedFloorId){if(l.selectedFloorId!==this._lastSelectedFloorId||n){const c=l.floors.findIndex(d=>d.id===l.selectedFloorId);if(c!==-1){const d=l.floors.length;let p,m;d<=5?(p=0,m=d-1):this._visibleFloorStart===0?(p=0,m=3):this._visibleFloorStart>=d-3?(p=d-3-1,m=d-1):(p=this._visibleFloorStart,m=this._visibleFloorStart+3-1),c<p?this._visibleFloorStart=c:c>m&&(this._visibleFloorStart=c-2)}}this._lastSelectedFloorId=l.selectedFloorId}this._render()}_render(){if(!this._container||!this._model||!this._model.floors)return;this._container.innerHTML="";const l=this._createButton("mapboxgl-ctrl-indoor-toggle",this._toggleIndoor);Jt("span","mapboxgl-ctrl-icon",l).setAttribute("aria-hidden","true"),this._model.activeFloorsVisible||l.classList.add("mapboxgl-ctrl-level-button-selected"),this._container.appendChild(l);const t=this._model.floors,n=t.length;if(n<=5)return void t.forEach(m=>this._createFloorButton(m));const c=this._visibleFloorStart===0,d=this._visibleFloorStart>=n-3;if(c)this._createFloorButton(t[0]);else{const m=this._createButton("mapboxgl-ctrl-arrow-up",this._scrollUp);Jt("span","mapboxgl-ctrl-icon",m).setAttribute("aria-hidden","true"),this._container.appendChild(m)}let p=[];if(p=c?t.slice(1,4):d?t.slice(this._visibleFloorStart-1,this._visibleFloorStart+3-1):t.slice(this._visibleFloorStart,this._visibleFloorStart+3),p.forEach(m=>this._createFloorButton(m)),d)this._createFloorButton(t[n-1]);else{const m=this._createButton("mapboxgl-ctrl-arrow-down",this._scrollDown);Jt("span","mapboxgl-ctrl-icon",m).setAttribute("aria-hidden","true"),this._container.appendChild(m)}}_createFloorButton(l){const t=this._createButton("mapboxgl-ctrl-level-button",()=>{const p=l.id;this._model&&this._model.selectedFloorId===p&&this._model.activeFloorsVisible||this._map&&(this._model&&!this._model.activeFloorsVisible&&this._map.style&&this._map.style.indoorManager&&this._map.style.indoorManager.setActiveFloorsVisibility(!0),this._map._selectIndoorFloor(p))}),n=(l.name||"").trim(),c=l.zIndex.toString(),d=n?Array.from(n).slice(0,3).join(""):c;this._setButtonTitle(t,d),this._model&&this._model.activeFloorsVisible&&l.id===this._model.selectedFloorId&&t.classList.add("mapboxgl-ctrl-level-button-selected"),this._container&&this._container.appendChild(t)}_toggleIndoor(){this._map&&this._map.style&&this._map.style.indoorManager&&this._model&&this._model.activeFloorsVisible&&this._map.style.indoorManager.setActiveFloorsVisibility(!1)}_scrollUp(){if(this._visibleFloorStart>0){this._visibleFloorStart--,this._visibleFloorStart===1&&(this._visibleFloorStart=0);const l=this._model&&this._model.floors||[];if(l.length>3){const t=l.length-3;this._visibleFloorStart===t-1&&(this._visibleFloorStart=t-2)}this._render()}}_scrollDown(){if(this._model&&this._model.floors){const l=this._model.floors.length-3;this._visibleFloorStart<l&&(this._visibleFloorStart++,this._visibleFloorStart===1&&(this._visibleFloorStart=2),this._visibleFloorStart===l-1&&(this._visibleFloorStart=l),this._visibleFloorStart>l&&(this._visibleFloorStart=l),this._render())}}},Popup:class extends a.E{constructor(l){super(),this.options=Object.assign(Object.create($m),l),this._altitude=this.options.altitude,a.aZ(["_update","_onClose","remove","_onMouseEvent"],this),this._classList=new Set(l&&l.className?l.className.trim().split(/\s+/):[])}addTo(l){return this._map&&this.remove(),this._map=l,this.options.closeOnClick&&l.on("preclick",this._onClose),this.options.closeOnMove&&l.on("move",this._onClose),l.on("remove",this.remove),this._update(),l._addPopup(this),this._focusFirstElement(),this._trackPointer?(l.on("mousemove",this._onMouseEvent),l.on("mouseup",this._onMouseEvent),l._canvasContainer.classList.add("mapboxgl-track-pointer")):l.on("move",this._update),this.fire(new a.A("open")),this}isOpen(){return!!this._map}remove(){this._content&&this._content.remove(),this._container&&(this._container.remove(),this._container=void 0);const l=this._map;return l&&(l.off("move",this._update),l.off("move",this._onClose),l.off("preclick",this._onClose),l.off("click",this._onClose),l.off("remove",this.remove),l.off("mousemove",this._onMouseEvent),l.off("mouseup",this._onMouseEvent),l.off("drag",this._onMouseEvent),l._canvasContainer&&l._canvasContainer.classList.remove("mapboxgl-track-pointer"),l._removePopup(this),this._map=void 0),this.fire(new a.A("close")),this}getLngLat(){return this._lngLat}setLngLat(l){this._lngLat=a.aU.convert(l),this._pos=null,this._trackPointer=!1,this._update();const t=this._map;return t&&(t.on("move",this._update),t.off("mousemove",this._onMouseEvent),t._canvasContainer.classList.remove("mapboxgl-track-pointer")),this}getAltitude(){return this._altitude}setAltitude(l){return this._altitude=l,this._update(),this}trackPointer(){this._trackPointer=!0,this._pos=null,this._update();const l=this._map;return l&&(l.off("move",this._update),l.on("mousemove",this._onMouseEvent),l.on("drag",this._onMouseEvent),l._canvasContainer.classList.add("mapboxgl-track-pointer")),this}getElement(){return this._container}setText(l){return this.setDOMContent(document.createTextNode(l))}setHTML(l){const t=document.createDocumentFragment(),n=document.createElement("body");let c;for(n.innerHTML=l;c=n.firstChild,c;)t.appendChild(c);return this.setDOMContent(t)}getMaxWidth(){return this._container&&this._container.style.maxWidth}setMaxWidth(l){return this.options.maxWidth=l,this._update(),this}setDOMContent(l){let t=this._content;if(t)for(;t.hasChildNodes();)t.firstChild&&t.removeChild(t.firstChild);else t=this._content=Jt("div","mapboxgl-popup-content",this._container||void 0);if(t.appendChild(l),this.options.closeButton){const n=this._closeButton=Jt("button","mapboxgl-popup-close-button",t);n.type="button",n.setAttribute("aria-label","Close popup"),n.innerHTML='<span aria-hidden="true">&#215;</span>',n.addEventListener("click",this._onClose)}return this._update(),this._focusFirstElement(),this}addClassName(l){return this._classList.add(l),this._updateClassList(),this}removeClassName(l){return this._classList.delete(l),this._updateClassList(),this}setOffset(l){return this.options.offset=l,this._update(),this}toggleClassName(l){let t;return this._classList.delete(l)?t=!1:(this._classList.add(l),t=!0),this._updateClassList(),t}_onMouseEvent(l){this._update(l.point)}_getAnchor(l){if(this.options.anchor)return this.options.anchor;const t=this._map,n=this._container,c=this._pos;if(!t||!n||!c)return"bottom";const d=n.offsetWidth,p=n.offsetHeight,m=c.x<d/2,y=c.x>t.transform.width-d/2;if(c.y+l<p)return m?"top-left":y?"top-right":"top";if(c.y>t.transform.height-p){if(m)return"bottom-left";if(y)return"bottom-right"}return m?"left":y?"right":"bottom"}_updateClassList(){const l=this._container;if(!l)return;const t=[...this._classList];t.push("mapboxgl-popup"),this._anchor&&t.push(`mapboxgl-popup-anchor-${this._anchor}`),this._trackPointer&&t.push("mapboxgl-popup-track-pointer"),l.className=t.join(" ")}_update(l){const t=this._map,n=this._content;if(!t||!this._lngLat&&!this._trackPointer||!n)return;let c=this._container;if(c||(c=this._container=Jt("div","mapboxgl-popup",t.getContainer()),this._tip=Jt("div","mapboxgl-popup-tip",c),c.appendChild(n)),this.options.maxWidth&&c.style.maxWidth!==this.options.maxWidth&&(c.style.maxWidth=this.options.maxWidth),t.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=$i(this._lngLat,this._pos,t.transform)),!this._trackPointer||l){const d=this._pos=this._trackPointer&&l instanceof a.P?l:t.project(this._lngLat,this._altitude),p=ru(this.options.offset),m=this._anchor=this._getAnchor(p.y),y=ru(this.options.offset,m),x=d.add(y).round();t._requestDomTask(()=>{this._container&&m&&(this._container.style.transform=`${as[m]} translate(${x.x}px,${x.y}px)`)})}if(!this._marker&&t._showingGlobe()){const d=a.f8(t.transform,this._lngLat)?0:1;this._setOpacity(d)}this._updateClassList()}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const l=this._container.querySelector(Hm);l&&l.focus()}_onClose(){this.remove()}_setOpacity(l){this._container&&(this._container.style.opacity=`${l}`),this._content&&(this._content.style.pointerEvents=l?"auto":"none")}},Marker:No,Style:zs,LngLat:a.aU,LngLatBounds:a.aJ,Point:a.P,MercatorCoordinate:a.af,FreeCameraOptions:fc,Evented:a.E,config:a.e,prewarm:a.fc,clearPrewarmedResources:a.fb,get accessToken(){return a.e.ACCESS_TOKEN},set accessToken(l){a.e.ACCESS_TOKEN=l},get baseApiUrl(){return a.e.API_URL},set baseApiUrl(l){a.e.API_URL=l},get workerCount(){return a.fl.workerCount},set workerCount(l){a.fl.workerCount=l},get maxParallelImageRequests(){return a.e.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(l){a.e.MAX_PARALLEL_IMAGE_REQUESTS=l},clearStorage(l){a.fk(l)},get workerUrl(){return a.fj.workerUrl},set workerUrl(l){a.fj.workerUrl=l},get workerClass(){return a.fj.workerClass},set workerClass(l){a.fj.workerClass=l},get workerParams(){return a.fj.workerParams},set workerParams(l){a.fj.workerParams=l},get dracoUrl(){return a.fi()},set dracoUrl(l){a.fh(l)},get meshoptUrl(){return a.fg()},set meshoptUrl(l){a.ff(l)},setNow:a.o.setNow,restoreNow:a.o.restoreNow}});var jv=Sa;return jv}))})(pm,pm.exports)),pm.exports}var Uv=WT();const ZT=qT.pn(Uv),XT=$T({__proto__:null,default:ZT},[Uv]);exports.m=XT;