@idmwx/idmui-gl4 2.2.0 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -200,7 +200,7 @@
200
200
  <path d="M10 2.5V17.5" stroke="#fff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
201
201
  <path d="M5 7.5L10 2.5L15 7.5" stroke="#fff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
202
202
  </svg>`;c.src="data:image/svg+xml;base64,"+window.btoa(h);const d=[c];let g=0;d.forEach(f=>{f.onload=()=>{g++,this.map.hasImage("currentDirIcon")||this.map.addImage("currentDirIcon",c),g===1&&this.map.addLayer({id:this.directionLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","icon-image":"currentDirIcon","icon-size":["interpolate",["linear"],["get","spd"],.5,.3,1,.5,1.5,.7,2,.8,3.5,1],"icon-offset":[0,-20],"icon-allow-overlap":!0,"icon-rotation-alignment":"map","icon-rotate":{property:"val",stops:[[0,0],[360,360]]}},paint:{"icon-opacity":this.opacity}},this.beforeLayer)}}),i=new Date().valueOf()-(a+r),console.log("[current] add elapsed: ",i,", total: ",r+=i)}}},handleClear(){this.map.getLayer(this.speedLayer)&&this.map.removeLayer(this.speedLayer),this.map.getLayer(this.speedLabelLayer)&&this.map.removeLayer(this.speedLabelLayer),this.map.getLayer(this.directionLayer)&&this.map.removeLayer(this.directionLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function ls(o,t,a,r,i,l){return null}const ss=j(rs,[["render",ls]]),qd="",ns={name:"IdmCurrentParticle",props:{simple:{type:Boolean,default:!1},factor:{type:Object},viewport:{type:uo},menuToggle:{type:Object}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new _e,etime:void 0,wrapper:void 0,animation:void 0,particleContext:void 0,particleTexture:void 0,particleOptions:{fadeOpacity:.96,speedFactor:4,dropRate:.005,dropRateBump:.01,uvRange:[-2.5,2.6],sRange:[0,3],scale:.3},paused:!1,initial:!0,right:10}},watch:{"factor.version":{async handler(){var o,t;(o=this.factor)!=null&&o.active?await this.handleRender():this.handleClear(),(t=this.factor)!=null&&t.particle||this.handleClearParticle()},immediate:!0},"factor.particle":{async handler(o,t){o!==t&&t!==void 0&&(o?(this.handleClear(),await this.handleRender()):this.handleClearParticle())}},"menuToggle.v":{handler(){var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)},immediate:!0}},methods:{async handleRender(){if(this.factor){const o=new Date().valueOf();let t=0,a=0;await this.handleDraw(),a=new Date().valueOf()-(o+t),console.log("[current-particle] add elapsed: ",a,", total: ",t+=a)}},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const o=[[0/255,"rgba(95, 143, 197,1)"],[5/255,"rgba(64,127,115,1)"],[10/255,"rgb(58,164,58)"],[15/255,"rgb(191,182,67)"],[20/255,"rgb(197,154,68)"],[30/255,"rgb(160,70,94)"],[40/255,"rgb(138,84,166)"],[45/255,"rgb(82,113,165)"],[50/255,"rgb(84,142,152)"],[65/255,"rgb(150,181,184)"],[80/255,"rgb(195,194,194)"],[254/255,"rgb(195,194,194)"],[1,"rgb(195,194,194)"]];this.rampColor=this.webgl.setup(this.context,o);const{program:t,aPositionBuffer:a}=this.webgl.bind(this.context,K.vertexSchema,K.uvFragmentSchema);this.program=t,this.aPositionBuffer=a}this.handleParticleSetup()},handleParticleSetup(){if(!this.particleContext){this.particleContext=this.viewport.particleCanvas.getContext("webgl");const o=[[0,"rgb(183,224,224)"],[1,"rgb(199,202,202)"],[.6,"rgb(199,202,202)"]];this.wrapper=this.webgl.bindParticle(this.particleContext,ue.vertexSchema,ue.fragmentSchema,ue.quadVertSchema,ue.screenFragmentSchema,ue.updateFragmentSchema),this.wrapper.color=this.webgl.setup(this.particleContext,o,!0,16,16),this.wrapper={...this.wrapper,...this.webgl.setupParticle(this.particleContext,9e3),...this.webgl.resize(this.viewport,this.particleContext)},this.viewport.map.on("resize",this.handleResize),this.viewport.map.on("movestart",this.handlePause),this.viewport.map.on("moveend",this.handlePlay)}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const o=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,o),this.particleTexture=this.webgl.createTexture(this.particleContext,this.particleContext.NEAREST,this.particleContext.LINEAR,this.particleContext.CLAMP_TO_EDGE,o),this.wrapper.image=o}this.initial&&(this.initial=!1,this.handlePlay()),this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer,this.particleOptions),this.viewport.toggle(!0)},handleResize(){this.wrapper={...this.wrapper,...this.webgl.resize(this.viewport,this.particleContext)}},handlePause(){this.paused=!0,this.animation&&(cancelAnimationFrame(this.animation),this.viewport.toggleParticle(!1))},handlePlay(){this.paused=!1,this.animation=requestAnimationFrame(()=>{this.webgl.drawParticle(this.viewport,this.particleContext,this.particleTexture,this.wrapper,this.particleOptions),this.viewport.toggleParticle(!0),this.handlePlay()})},handleClearParticle(){var o,t,a,r,i,l,s;(o=this.viewport)==null||o.toggleParticle(!1),this.particleContext=void 0,this.initial=!0,(a=(t=this.viewport)==null?void 0:t.map)==null||a.off("resize",this.handleResize),(i=(r=this.viewport)==null?void 0:r.map)==null||i.off("movestart",this.handlePause),(s=(l=this.viewport)==null?void 0:l.map)==null||s.off("moveend",this.handlePlay),this.handlePause()},handleClear(){var o;(o=this.viewport)==null||o.toggle(!1),this.context=void 0,this.etime=void 0,this.handleClearParticle()}}},cs={key:0};function ms(o,t,a,r,i,l){var s;return(s=a.factor)!=null&&s.active?(e.openBlock(),e.createElementBlock("div",cs,[e.createElementVNode("div",{class:"legend-bars-gl4 current",style:e.normalizeStyle({right:i.right+"px"})},t[0]||(t[0]=[e.createElementVNode("span",null,"kts",-1),e.createElementVNode("span",null,"0",-1),e.createElementVNode("span",null,"0.4",-1),e.createElementVNode("span",null,"0.8",-1),e.createElementVNode("span",null,"1.6",-1),e.createElementVNode("span",null,"2",-1),e.createElementVNode("span",null,"3.2",-1)]),4)])):e.createCommentVNode("",!0)}const ds=j(ns,[["render",ms]]),Xd="",hs={name:"IdmSigWave",props:{simple:{type:Boolean,default:!1},factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},menuToggle:{type:Object}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new _e,etime:void 0,right:10}},watch:{"factor.version":{handler(){var o;(o=this.factor)!=null&&o.active?this.handleRender():this.handleClear()},immediate:!0},"menuToggle.v":{handler(){var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)},immediate:!0}},methods:{handleRender(){if(this.factor){const o=new Date().valueOf();let t=0,a=0;this.handleDraw(),a=new Date().valueOf()-(o+t),console.log("[sig-wave] add elapsed: ",a,", total: ",t+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const o=[[0,"rgb(50, 158, 186)"],[10/255,"rgb(50, 158, 186)"],[20/255,"rgb(48, 128, 164)"],[30/255,"rgb(48, 99, 142)"],[40/255,"rgb(57, 61, 143)"],[50/255,"rgb(179, 86, 189)"],[60/255,"rgb(154, 45, 123)"],[80/255,"rgb(134, 48, 48)"],[120/255,"rgb(194, 77, 91)"],[150/255,"rgb(192, 118, 105)"],[180/255,"rgb(192, 163, 157)"],[1,"rgb(192, 163, 157)"]];this.rampColor=this.webgl.setup(this.context,o);const{program:t,aPositionBuffer:a}=this.webgl.bind(this.context,K.vertexSchema,K.fragmentSchema);this.program=t,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const o=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,o)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},ps={key:0};function gs(o,t,a,r,i,l){var s;return(s=a.factor)!=null&&s.active?(e.openBlock(),e.createElementBlock("div",ps,[e.createElementVNode("div",{class:"legend-bars-gl4 sig-wave",style:e.normalizeStyle({right:i.right+"px"})},t[0]||(t[0]=[e.createElementVNode("span",null,"m",-1),e.createElementVNode("span",null,"0.5",-1),e.createElementVNode("span",null,"1",-1),e.createElementVNode("span",null,"1.5",-1),e.createElementVNode("span",null,"2",-1),e.createElementVNode("span",null,"6",-1),e.createElementVNode("span",null,"9",-1)]),4)])):e.createCommentVNode("",!0)}const us=j(hs,[["render",gs],["__scopeId","data-v-c6137292"]]),fs={name:"IdmSigWaveHeight",props:{map:{type:Object},sigWaveHeight:{type:Object},beforeLayer:{type:String},menuToggle:{type:Object}},data(){return{right:10,toggle:!1,showCaption:!1,source:"sig-wave-height-source",heightLayer:"sig-wave-height-layer",heightLabelLayer:"sig-wave-height-label-layer",empty:V.featureCollection([])}},watch:{"sigWaveHeight.version":{handler(){var o;(o=this.sigWaveHeight)!=null&&o.active?this.handleRender():this.handleClear()},immediate:!0}},methods:{handleMenuToggle(){this.toggle=!this.toggle,this.showCaption=!this.showCaption},handleRender(){var o,t;if(this.sigWaveHeight){const a=new Date().valueOf();let r=0,i=0,l=this.empty;this.sigWaveHeight.active&&(l=this.sigWaveHeight.data),(o=this.map)!=null&&o.getSource(this.source)?((t=this.map)==null||t.getSource(this.source).setData(l),i=new Date().valueOf()-(a+r),console.log("[sig-wave-height] update elapsed: ",i,", total: ",r+=i)):(this.map.addSource(this.source,{type:"geojson",data:l}),this.map.addLayer({id:this.heightLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-opacity":.8,"fill-color":["step",["get","val"],"rgba(0,235,156,0)",2,"rgba(0,235,156,0.4)",3,"#ffed00",4,"#ff9800",5,"#f77800",6,"#e4711e",7,"#e06128",8,"#dc5132",9,"#d5453c",10,"#cd3a46",12,"#be2c50",14,"#b41a5a"]}},this.beforeLayer),this.map.addLayer({id:this.heightLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","symbol-spacing":100,"text-field":["format",["get","val"],{"font-scale":1}],"text-rotation-alignment":"map","text-line-height":1.3,"text-size":10},paint:{"text-color":["step",["get","val"],"rgba(0, 0, 0, 0.7)",9,"rgba(255,255,255,0.8)"]}},this.beforeLayer),i=new Date().valueOf()-(a+r),console.log("[sig-wave-height] add elapsed: ",i,", total: ",r+=i))}},handleClear(){this.map.getLayer(this.heightLayer)&&this.map.removeLayer(this.heightLayer),this.map.getLayer(this.heightLabelLayer)&&this.map.removeLayer(this.heightLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function ys(o,t,a,r,i,l){return null}const bs=j(fs,[["render",ys]]),Kd="",ws={name:"IdmSwell",props:{simple:{type:Boolean,default:!1},factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},menuToggle:{type:Object}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new _e,etime:void 0,right:10}},watch:{"factor.version":{handler(){var o;(o=this.factor)!=null&&o.active?this.handleRender():this.handleClear()},immediate:!0},"menuToggle.v":{handler(){var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)},immediate:!0}},methods:{handleRender(){if(this.factor){const o=new Date().valueOf();let t=0,a=0;this.handleDraw(),a=new Date().valueOf()-(o+t),console.log("[sig-wave] add elapsed: ",a,", total: ",t+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const o=[[0,"rgb(50, 158, 186)"],[10/255,"rgb(50, 158, 186)"],[20/255,"rgb(48, 128, 164)"],[30/255,"rgb(48, 99, 142)"],[40/255,"rgb(57, 61, 143)"],[50/255,"rgb(179, 86, 189)"],[60/255,"rgb(154, 45, 123)"],[80/255,"rgb(134, 48, 48)"],[120/255,"rgb(194, 77, 91)"],[150/255,"rgb(192, 118, 105)"],[180/255,"rgb(192, 163, 157)"],[1,"rgb(192, 163, 157)"]];this.rampColor=this.webgl.setup(this.context,o);const{program:t,aPositionBuffer:a}=this.webgl.bind(this.context,K.vertexSchema,K.fragmentSchema);this.program=t,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const o=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,o)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},xs={key:0};function _s(o,t,a,r,i,l){var s;return(s=a.factor)!=null&&s.active?(e.openBlock(),e.createElementBlock("div",xs,[e.createElementVNode("div",{class:"legend-bars-gl4 swell",style:e.normalizeStyle({right:i.right+"px"})},t[0]||(t[0]=[e.createElementVNode("span",null,"m",-1),e.createElementVNode("span",null,"0.5",-1),e.createElementVNode("span",null,"1",-1),e.createElementVNode("span",null,"1.5",-1),e.createElementVNode("span",null,"2",-1),e.createElementVNode("span",null,"6",-1),e.createElementVNode("span",null,"9",-1)]),4)])):e.createCommentVNode("",!0)}const ks=j(ws,[["render",_s],["__scopeId","data-v-3c94b068"]]),zs={name:"IdmPrmsl",props:{map:{type:Object},prmsl:{type:Object},beforeLayer:{type:String},showRampColor:{type:Boolean},activeWeatherLayers:{type:Array},theme:{type:String}},data(){return{right:10,toggle:!1,source:"prmsl-source",layer:"prmsl-layer",labelLayer:"prmsl-label-layer",pointLabelLayer:"prmsl-point-label-layer",empty:V.featureCollection([])}},watch:{"prmsl.version":{handler(){var o;(o=this.prmsl)!=null&&o.active?this.handleRender():this.handleClear()},immediate:!0}},methods:{handleMenuToggle(){this.toggle=!this.toggle},handleRender(){var o,t,a;if(this.prmsl){const r=new Date().valueOf();let i=0,l=0,s=this.empty;this.prmsl.active&&(s=this.prmsl.data),(o=this.map)!=null&&o.getSource(this.source)?((t=this.map)==null||t.getSource(this.source).setData(s),l=new Date().valueOf()-(r+i),console.log("[prmsl] update elapsed: ",l,", total: ",i+=l)):(this.map.addSource(this.source,{type:"geojson",data:s}),this.map.addLayer({id:this.layer,type:"line",source:this.source,filter:["==","$type","LineString"],paint:{"line-color":["step",["get","val"],"rgba(162,13,2,1)",920,"rgba(255, 96, 98, 1)",980,"rgba(255, 246, 184, 1)",1100,"rgba(199,171,250,1)"],"line-width":1,"line-opacity":this.theme==="light"?1:.3}},this.beforeLayer),(a=this.map)==null||a.addLayer({id:this.labelLayer,type:"symbol",source:this.source,minzoom:4,filter:["==","$type","LineString"],layout:{"symbol-placement":"line","text-rotation-alignment":"viewport","text-field":"{val}","text-size":10},paint:{"text-color":"black","text-halo-color":"rgba(255,255,255,1)","text-opacity":.7,"text-halo-width":1}},this.beforeLayer),this.map.addLayer({id:this.pointLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","text-allow-overlap":!0,"text-field":["format",["get","type"],{"font-scale":1.03},`
203
- `,["get","val"],{"font-scale":1}],"text-rotation-alignment":"map","text-line-height":1.3,"text-size":12,"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},paint:{"text-color":this.theme==="light"?["step",["get","val"],"rgba(0, 0, 0, 0.5)",920,"rgba(0, 0, 0, 0.5)",980,"rgba(0, 0, 0, 0.7)",1100,"rgba(0, 0, 0, 0.7)"]:["step",["get","val"],"rgba(162,13,2,1)",920,"rgba(255, 96, 98, 1)",980,"rgba(255, 246, 184, 1)",1100,"rgba(199,171,250,1)"],"text-halo-color":["step",["get","val"],"rgba(162,13,2,1)",920,"rgba(255, 96, 98, 1)",980,"rgba(255, 246, 184, 1)",1100,"rgba(199,171,250,1)"],"text-halo-width":this.theme==="light"?1:0}},this.beforeLayer),l=new Date().valueOf()-(r+i),console.log("[prmsl] add elapsed: ",l,", total: ",i+=l))}},handleClear(){this.map.getLayer(this.pointLabelLayer)&&this.map.removeLayer(this.pointLabelLayer),this.map.getLayer(this.labelLayer)&&this.map.removeLayer(this.labelLayer),this.map.getLayer(this.layer)&&this.map.removeLayer(this.layer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function vs(o,t,a,r,i,l){return null}const Ls=j(zs,[["render",vs]]),Jd="",Cs={name:"IdmIceEdge",props:{simple:{type:Boolean,default:!1},factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},menuToggle:{type:Object}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new _e,etime:void 0,right:10}},watch:{"factor.version":{handler(){var o;(o=this.factor)!=null&&o.active?this.handleRender():this.handleClear()},immediate:!0},"menuToggle.v":{handler(){var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)},immediate:!0}},methods:{handleRender(){if(this.factor){const o=new Date().valueOf();let t=0,a=0;this.handleDraw(),a=new Date().valueOf()-(o+t),console.log("[ice-edge] add elapsed: ",a,", total: ",t+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const o=[[0,"rgba(86, 169, 230, 0)"],[1/255,"rgba(86, 169, 230, 0)"],[25/255,"rgba(86, 169, 230, 1)"],[25/255,"rgba(47, 226, 155, 1)"],[100/255,"rgba(47, 226, 155, 1)"],[100/255,"rgba(213, 253, 37, 1)"],[175/255,"rgba(213, 253, 37, 1)"],[175/255,"rgba(230, 176, 39, 1)"],[225/255,"rgba(230, 176, 39, 1)"],[225/255,"rgba(230, 84, 39, 1)"],[250/255,"rgba(230, 84, 39, 1)"],[1,"rgba(230, 84, 39, 1)"]];this.rampColor=this.webgl.setup(this.context,o);const{program:t,aPositionBuffer:a}=this.webgl.bind(this.context,K.vertexSchema,K.fragmentSchema);this.program=t,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const o=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,o)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},Ps={key:0};function Ss(o,t,a,r,i,l){var s;return(s=a.factor)!=null&&s.active?(e.openBlock(),e.createElementBlock("div",Ps,[e.createElementVNode("div",{class:"legend-bars-gl4 ice-edge",style:e.normalizeStyle({right:i.right+"px"})},t[0]||(t[0]=[e.createElementVNode("span",{style:{color:"rgba(var(--v-theme-black), 0.7)"}},"%",-1),e.createElementVNode("span",null,null,-1),e.createElementVNode("span",null,"10",-1),e.createElementVNode("span",null,null,-1),e.createElementVNode("span",null,null,-1),e.createElementVNode("span",null,"40",-1),e.createElementVNode("span",null,null,-1),e.createElementVNode("span",null,null,-1),e.createElementVNode("span",null,"70",-1),e.createElementVNode("span",null,null,-1),e.createElementVNode("span",null,"90",-1),e.createElementVNode("span",null,null,-1)]),4)])):e.createCommentVNode("",!0)}const Ns=j(Cs,[["render",Ss]]),Qd="",Ts={name:"IdmCover",props:{simple:{type:Boolean,default:!1},factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},menuToggle:{type:Object}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new _e,etime:void 0,right:10}},watch:{"factor.version":{handler(){var o;(o=this.factor)!=null&&o.active?this.handleRender():this.handleClear()},immediate:!0},"menuToggle.v":{handler(){var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)},immediate:!0}},methods:{handleRender(){if(this.factor){const o=new Date().valueOf();let t=0,a=0;this.handleDraw(),a=new Date().valueOf()-(o+t),console.log("[ice-cover] add elapsed: ",a,", total: ",t+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const o=[[0,"rgba(68, 1, 84, 0)"],[1/255,"rgba(63, 72, 137, 0)"],[50/255,"rgba(53, 125, 177, 1)"],[100/255,"rgba(33, 145, 140, 1)"],[150/255,"rgba(45, 178, 125, 1)"],[200/255,"rgba(112, 207, 87, 1)"],[250/255,"rgba(253, 231, 37, 0.8)"],[1,"rgba(253, 231, 37, 1)"]];this.rampColor=this.webgl.setup(this.context,o);const{program:t,aPositionBuffer:a}=this.webgl.bind(this.context,K.vertexSchema,K.fragmentSchema);this.program=t,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const o=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,o)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},Ds={key:0};function Es(o,t,a,r,i,l){var s;return(s=a.factor)!=null&&s.active?(e.openBlock(),e.createElementBlock("div",Ds,[e.createElementVNode("div",{class:"legend-bars-gl4 ice-cover",style:e.normalizeStyle({right:i.right+"px"})},t[0]||(t[0]=[e.createElementVNode("span",null,"%",-1),e.createElementVNode("span",null,"20",-1),e.createElementVNode("span",null,"40",-1),e.createElementVNode("span",null,"60",-1),e.createElementVNode("span",null,"80",-1),e.createElementVNode("span",null,"100",-1)]),4)])):e.createCommentVNode("",!0)}const Ms=j(Ts,[["render",Es],["__scopeId","data-v-916b01eb"]]),$d="",Vs={name:"IdmThickness",props:{simple:{type:Boolean,default:!1},factor:{type:Object},viewport:{type:Object},menuToggle:{type:Object},bottom:{type:String,default:"70px"}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new _e,etime:void 0,right:10}},watch:{"factor.version":{handler(){var o;(o=this.factor)!=null&&o.active?this.handleRender():this.handleClear()},immediate:!0},"menuToggle.v":{handler(){var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)},immediate:!0}},methods:{handleRender(){if(this.factor){const o=new Date().valueOf();let t=0,a=0;this.handleDraw(),a=new Date().valueOf()-(o+t),console.log("[ice-thickness] add elapsed: ",a,", total: ",t+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const o=[[0,"rgba(4, 6, 19, 0)"],[1/255,"rgba(4, 6, 19, 0)"],[20/255,"rgba(51, 50, 102, 1)"],[40/255,"rgba(63, 82, 158, 1)"],[50/255,"rgba(66, 123, 183, 1)"],[60/255,"rgba(92, 161, 197, 1)"],[80/255,"rgba(134, 199, 212, 0.7)"],[100/255,"rgba(134, 199, 212, 1)"],[150/255,"rgba(234, 253, 2536, 0.8)"],[250/255,"rgba(234, 253, 2536, 0.9)"],[1,"rgba(234, 253, 2536, 1)"]];this.rampColor=this.webgl.setup(this.context,o);const{program:t,aPositionBuffer:a}=this.webgl.bind(this.context,K.vertexSchema,K.fragmentSchema);this.program=t,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const o=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,o)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},Bs={key:0};function Is(o,t,a,r,i,l){var s;return(s=a.factor)!=null&&s.active?(e.openBlock(),e.createElementBlock("div",Bs,[e.createElementVNode("div",{class:"legend-bars-gl4 ice-thickness",style:e.normalizeStyle({right:i.right+"px"})},t[0]||(t[0]=[e.createElementVNode("span",null,"m",-1),e.createElementVNode("span",null,"0",-1),e.createElementVNode("span",null,"0.6",-1),e.createElementVNode("span",null,"1",-1),e.createElementVNode("span",null,"1.5",-1),e.createElementVNode("span",null,"2",-1),e.createElementVNode("span",null,"3",-1)]),4)])):e.createCommentVNode("",!0)}const Rs=j(Vs,[["render",Is]]),eh="",As={name:"IdmPrecip3h",props:{simple:{type:Boolean,default:!1},factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},menuToggle:{type:Object}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new _e,etime:void 0,right:10}},watch:{"factor.version":{handler(){var o;(o=this.factor)!=null&&o.active?this.handleRender():this.handleClear()},deeimmediate:!0},"menuToggle.v":{handler(){var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)},immediate:!0}},methods:{handleRender(){if(this.factor){const o=new Date().valueOf();let t=0,a=0;this.handleDraw(),a=new Date().valueOf()-(o+t),console.log("[precip3h] add elapsed: ",a,", total: ",t+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const o=[[0,"rgba(59, 126, 162, 0)"],[14/255,"rgba(84,170,230, 0)"],[15/255,"rgba(172, 210, 255, 0.8)"],[20/255,"rgba(51,202,248,0.8)"],[30/255,"rgba(3,248,103,0.8)"],[49/255,"rgba(14,201,3,0.8)"],[57/255,"rgba(190,226,2,0.8)"],[73/255,"rgba(248,1,1,0.8)"],[82/255,"rgba(197,5,58,0.8)"],[1,"rgba(197,5,58,0.8)"]];this.rampColor=this.webgl.setup(this.context,o);const{program:t,aPositionBuffer:a}=this.webgl.bind(this.context,K.vertexSchema,K.fragmentSchema);this.program=t,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const o=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,o)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},Os={key:0};function js(o,t,a,r,i,l){var s;return(s=a.factor)!=null&&s.active?(e.openBlock(),e.createElementBlock("div",Os,[e.createElementVNode("div",{class:"legend-bars-gl4 precip3h",style:e.normalizeStyle({right:i.right+"px"})},t[0]||(t[0]=[e.createElementVNode("span",null,"mm",-1),e.createElementVNode("span",null,"1.5",-1),e.createElementVNode("span",null,"2",-1),e.createElementVNode("span",null,"3",-1),e.createElementVNode("span",null,"7",-1),e.createElementVNode("span",null,"10",-1),e.createElementVNode("span",null,"20",-1),e.createElementVNode("span",null,"30",-1)]),4)])):e.createCommentVNode("",!0)}const Fs=j(As,[["render",js]]),th="",Hs={name:"IdmVisibility",props:{simple:{type:Boolean,default:!1},factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},menuToggle:{type:Object}},data(){return{right:10,program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new _e,etime:void 0}},watch:{"factor.version":{handler(){var o;(o=this.factor)!=null&&o.active?this.handleRender():this.handleClear()},immediate:!0},"menuToggle.v":{handler(){var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)},immediate:!0}},methods:{handleRender(){if(this.factor){const o=new Date().valueOf();let t=0,a=0;this.handleDraw(),a=new Date().valueOf()-(o+t),console.log("[visibility] add elapsed: ",a,", total: ",t+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const o=[[0,"rgba(189,50,160,0.8)"],[8/255,"rgba(208,56,56,0.8)"],[27/255,"rgba(190,226,2,0.8)"],[60/255,"rgba(3,236,118,0.8)"],[160/255,"rgba(172, 210,255,0.8)"],[161/255,"rgba(172, 210,255,0)"],[1,"rgba(144,144,144,0)"]];this.rampColor=this.webgl.setup(this.context,o);const{program:t,aPositionBuffer:a}=this.webgl.bind(this.context,K.vertexSchema,K.fragmentSchema);this.program=t,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const o=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,o)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},Gs={key:0};function Ws(o,t,a,r,i,l){var s;return(s=a.factor)!=null&&s.active?(e.openBlock(),e.createElementBlock("div",Gs,[e.createElementVNode("div",{class:"legend-bars-gl4 visibility",style:e.normalizeStyle({right:i.right+"px"})},t[0]||(t[0]=[e.createElementVNode("span",null,"nm",-1),e.createElementVNode("span",null,"0",-1),e.createElementVNode("span",null,"0.5",-1),e.createElementVNode("span",null,"1.5",-1),e.createElementVNode("span",null,"3",-1),e.createElementVNode("span",null,"9",-1)]),4)])):e.createCommentVNode("",!0)}const Us=j(Hs,[["render",Ws]]),oh="",Ys={name:"IdmWaterTemp",props:{simple:{type:Boolean,default:!1},factor:{type:Object},viewport:{type:Object},menuToggle:{type:Object}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new _e,etime:void 0,right:10}},watch:{"factor.version":{handler(){var o;(o=this.factor)!=null&&o.active?this.handleRender():this.handleClear()},immediate:!0},"menuToggle.v":{handler(){var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)},immediate:!0}},methods:{handleRender(){if(this.factor){const o=new Date().valueOf();let t=0,a=0;this.handleDraw(),a=new Date().valueOf()-(o+t),console.log("[water-temp] add elapsed: ",a,", total: ",t+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const o=[[0,"rgba(95, 143, 197)"],[46/255,"rgba(95, 143, 197)"],[69/255,"rgb(80, 140, 62)"],[92/255,"rgb(121, 146, 28)"],[115/255,"rgb(171, 161, 14)"],[138/255,"rgb(223, 177, 69)"],[161/255,"rgb(243, 150, 6)"],[184/255,"rgb(236, 95, 21)"],[207/255,"rgb(190, 65, 18)"],[230/255,"rgb(138, 43, 10)"],[1,"rgb(138, 43, 10)"]];this.rampColor=this.webgl.setup(this.context,o);const{program:t,aPositionBuffer:a}=this.webgl.bind(this.context,K.vertexSchema,K.fragmentSchema);this.program=t,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const o=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,o)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},Zs={key:0};function qs(o,t,a,r,i,l){var s;return(s=a.factor)!=null&&s.active?(e.openBlock(),e.createElementBlock("div",Zs,[e.createElementVNode("div",{class:"legend-bars-gl4 water-temp",style:e.normalizeStyle({right:i.right+"px"})},t[0]||(t[0]=[e.createElementVNode("span",null,"°C",-1),e.createElementVNode("span",null,"0",-1),e.createElementVNode("span",null,"10",-1),e.createElementVNode("span",null,"20",-1),e.createElementVNode("span",null,"30",-1),e.createElementVNode("span",null,"40",-1)]),4)])):e.createCommentVNode("",!0)}const Xs=j(Ys,[["render",qs]]),ah="",Ks={name:"IdmTemp",props:{simple:{type:Boolean,default:!1},factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},menuToggle:{type:Object}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new _e,etime:void 0,right:10}},watch:{"factor.version":{handler(){var o;(o=this.factor)!=null&&o.active?this.handleRender():this.handleClear()},immediate:!0},"menuToggle.v":{handler(){var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)},immediate:!0}},methods:{handleRender(){if(this.factor){const o=new Date().valueOf();let t=0,a=0;this.handleDraw(),a=new Date().valueOf()-(o+t),console.log("[temp] add elapsed: ",a,", total: ",t+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const o=[[0,"rgb(149, 137, 211)"],[100/255,"rgb(149, 137, 211)"],[110/255,"rgb(150, 209, 216)"],[120/255,"rgb(129, 204, 197)"],[130/255,"rgb(103, 180, 186)"],[140/255,"rgb(95, 143, 197)"],[150/255,"rgb(80, 140, 62)"],[160/255,"rgb(121, 146, 28)"],[170/255,"rgb(171, 161, 14)"],[180/255,"rgb(223, 177, 6)"],[190/255,"rgb(243, 150, 6)"],[200/255,"rgb(236, 95, 21)"],[210/255,"rgb(190, 65, 18)"],[220/255,"rgb(138, 43, 10)"],[1,"rgb(138, 43, 10)"]];this.rampColor=this.webgl.setup(this.context,o);const{program:t,aPositionBuffer:a}=this.webgl.bind(this.context,K.vertexSchema,K.fragmentSchema);this.program=t,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const o=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,o)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},Js={key:0};function Qs(o,t,a,r,i,l){var s;return(s=a.factor)!=null&&s.active?(e.openBlock(),e.createElementBlock("div",Js,[e.createElementVNode("div",{class:"legend-bars-gl4 temp",style:e.normalizeStyle({right:i.right+"px"})},t[0]||(t[0]=[e.createElementVNode("span",null,"°C",-1),e.createElementVNode("span",null,"-20",-1),e.createElementVNode("span",null,"-10",-1),e.createElementVNode("span",null,"0",-1),e.createElementVNode("span",null,"10",-1),e.createElementVNode("span",null,"20",-1),e.createElementVNode("span",null,"30",-1),e.createElementVNode("span",null,"40",-1)]),4)])):e.createCommentVNode("",!0)}const $s=j(Ks,[["render",Qs]]),ih="",en={name:"IdmGlLayer",components:{IdmWindBarb:es,IdmWindParticle:is,IdmCurrentDirection:ss,IdmCurrentParticle:ds,IdmWave:us,IdmSigWaveHeight:bs,IdmSwell:ks,IdmPrmsl:Ls,IdmIceEdge:Ns,IdmIceCover:Ms,IdmIceThickness:Rs,IdmPrecip3h:Fs,IdmVisibility:Us,IdmWaterTemp:Xs,IdmTemp:$s},props:{simple:{type:Boolean,default:!1},isLogin:{type:Boolean,default:!1},theme:{type:String},map:{type:Object},mapFeather:{type:String},gateway:{type:String},assistGateway:{type:Array,default:[]},defaultMeteoToken:{type:String},top:{type:Number,default:60},paddingTop:{type:Number,default:48},menuToggle:{type:Object,default:{}},realTime:{type:String},forecastModel:{type:String},beforeLayer:{type:String}},emits:["forecastModel","menuToggle","weatherCheckList","autoActive"],data(){return{right:10,toggle:!1,autoActive:!0,weatherWeight:0,allLayers:[...Be.LayerHelper.WEATHER_LAYERS],tagLayers:[...Be.LayerHelper.WEATHER_LAYERS.filter(o=>!o.hide)],checkList:[],renderKey:"",iceToggleValue:void 0,waveToggleValue:void 0,weatherLayers:{},activeWeatherLayers:[],cache:{v:"0.0.1",versionKey:"weatherLayerCacheVersionGL4",autoActiveKey:"autoActiveCacheGL4",checkListKey:"weatherCheckListCacheGL4"},models:{},currentModel:localStorage.getItem("forecastModelCacheGL4")==="GFS"?"GFS":"ECMWF",zoom:6,viewport:void 0,particleFactor:void 0,showWindParticle:!0,showCurrentParticle:!0,legendToggle:!1,legend:{barbs:[2,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,0],current:[{label:"0-0.5 kts",size:.3,color:"rgb(58, 164, 58)"},{label:"0.5-1 kts",size:.4,color:"#ffff00"},{label:"1-1.5 kts",size:.6,color:"#ff9500"},{label:"1.5-2 kts",size:.8,color:"#f44336"},{label:">= 2 kts",size:1,color:"#e4711e"}],sigWaveHeight:[{label:"< 2 m",color:"rgba(0,235,156,0)"},{label:"2-3 m",color:"rgba(0,235,156,0.4)"},{label:"3-4 m",color:"#ffed00"},{label:"4-5 m",color:"#ff9800"},{label:"5-6 m",color:"#f77800"},{label:"6-7 m",color:"#e4711e"},{label:"7-8 m",color:"#e06128"},{label:"8-9 m",color:"#dc5132"},{label:"9-10 m",color:"#d5453c"},{label:"10-12 m",color:"#cd3a46"},{label:"12-14 m",color:"#be2c50"},{label:"> 14 m",color:"#aa1a5a"}]}}},computed:{listStyle(){return this.simple?{top:this.top+"px",left:this.toggle?"0px":"-280px"}:{top:this.top+"px",right:this.toggle?"0px":"-280px"}},computeDateZ(){return function(o){var t;if(o){const a=v(o);return`${(t=a==null?void 0:a.utc())==null?void 0:t.format("MMM-DD/HHmm")}Z`}return"-"}},computeDateUpdate(){return function(o){return o?v(o).fromNow():"-"}},overlaysKeys(){return this.tagLayers.filter(o=>o.overlays).map(o=>o.key)},rendersKeys(){return this.allLayers.filter(o=>!o.overlays&&o.enabled).map(o=>o.key)},showTipMenu(){return this.checkList.includes("wind")||this.checkList.includes("current-direction")||this.checkList.includes("sig-wave-height")},barbsIconName(){var t,a,r;const o=[];for(let i=0;i<((a=(t=this.legend)==null?void 0:t.barbs)==null?void 0:a.length);i++){const l=((r=this.legend)==null?void 0:r.barbs[i])||0,s=l<10?`00${l}kts`:l<100?`0${l}kts`:`${l}kts`;o.push("icon-a-"+s)}return o}},watch:{"menuToggle.v":{handler(){this.toggle=this.menuToggle.weatherLayers,this.$nextTick(()=>{var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)})}},currentModel:{handler(o,t){this.$emit("forecastModel",o),localStorage.setItem("forecastModelCacheGL4",o)},immediate:!0},forecastModel:{handler(o,t){o&&o!==t&&this.handleWeatherLayerChange({sourceChanged:!0})}},map:{handler(){this.map&&(this.fetchCache(),this.map.on("move",this.handleMove4Weather),this.viewport=new uo(this.map),this.handleRampColorInitial())},immediate:!0},realTime:{handler(o,t){o&&t&&v(o).utc().format("yyyy-MM-DD HH")!==v(t).utc().format("yyyy-MM-DD HH")&&this.$nextTick(()=>{this.fetchWeatherLayers()})},immediate:!0},renderKey:{handler(o,t){o&&o!==t?o==="wave-group"?this.checkList=["wave-group",this.waveToggleValue||"sig-wave"]:o==="ice-forecast"?this.checkList=["ice-forecast",this.iceToggleValue||"ice-cover"]:this.checkList=[o]:!o&&t&&(this.checkList=this.checkList.filter(a=>a!==t))}},checkList:{handler(o,t){var a,r,i,l,s,n;this.handleCheckListChange(o,t),this.$emit("weatherCheckList",o),this.autoActive&&this.checkList.length?(i=(r=(a=this.$parent)==null?void 0:a.$refs)==null?void 0:r.idmBottomBar)==null||i.handleToggle("weather",!0):(n=(s=(l=this.$parent)==null?void 0:l.$refs)==null?void 0:s.idmBottomBar)==null||n.handleToggle("weather",!1)}},autoActive:{handler(o){var t,a,r,i,l,s;localStorage.setItem(this.cache.autoActiveKey,this.autoActive),this.activeWeatherLayers=this.autoActive?this.allLayers.filter(n=>this.checkList.includes(n.key)):[],this.handleWeatherLayerChange(),this.autoActive&&this.checkList.length?(r=(a=(t=this.$parent)==null?void 0:t.$refs)==null?void 0:a.idmBottomBar)==null||r.handleToggle("weather",!0):(s=(l=(i=this.$parent)==null?void 0:i.$refs)==null?void 0:l.idmBottomBar)==null||s.handleToggle("weather",!1),this.$emit("autoActive",this.autoActive)}},iceToggleValue:{handler(o){o&&(this.checkList=["ice-forecast",this.iceToggleValue])}},waveToggleValue:{handler(o){o&&(this.checkList=["wave-group",this.waveToggleValue])}},showWindParticle:{handler(o){let t="wind-particle";this.weatherLayers[t].particle=o,this.weatherLayers[t].version=Math.random()+1}},showCurrentParticle:{handler(o){let t="current-particle";this.weatherLayers[t].particle=o,this.weatherLayers[t].version=Math.random()+1}},isLogin:{handler(o){o?this.fetchModels():this.models={}},immediate:!0}},mounted(){this.fetchModels()},methods:{arraysEqual(o,t){if((o==null?void 0:o.length)!==(t==null?void 0:t.length))return!1;for(let a=0;a<(o==null?void 0:o.length);a++)if((o==null?void 0:o[a])!==(t==null?void 0:t[a]))return!1;return!0},fetchCache(){var a,r;const o=localStorage.getItem(this.cache.versionKey);this.cache.v!==o&&(localStorage.removeItem(this.cache.autoActiveKey),localStorage.removeItem(this.cache.checkListKey),localStorage.setItem(this.cache.versionKey,this.cache.v));let t=localStorage.getItem(this.cache.autoActiveKey);this.autoActive=t!=="false",localStorage.setItem(this.cache.autoActiveKey,this.autoActive),t=localStorage.getItem(this.cache.checkListKey),this.waveToggleValue=(a=JSON.parse(t))!=null&&a.some(i=>i==="swell")?"swell":void 0,this.iceToggleValue=(r=JSON.parse(t))!=null&&r.some(i=>i==="ice-thickness")?"ice-thickness":void 0,this.checkList=JSON.parse(t||JSON.stringify(["wind","sig-wave-height"])),this.checkList.find(i=>this.rendersKeys.includes(i))&&(this.renderKey=this.checkList.find(i=>this.rendersKeys.includes(i))),localStorage.setItem(this.cache.checkListKey,JSON.stringify(this.checkList))},handleMenuToggle(){this.$emit("menuToggle","weatherLayers")},handleFastWeatherToggle(o){let t=[];this.checkList.includes(o)?t=this.checkList.filter(a=>a!==o):t=[...this.checkList,o],this.handleCheckListChange(t,this.checkList)},handleCheckListChange(o,t){if(this.arraysEqual(o,t))return!1;const a=[...new Set(o)],r=a==null?void 0:a.filter(l=>!(t!=null&&t.includes(l)))[0],i=t==null?void 0:t.filter(l=>!(a!=null&&a.includes(l)))[0];r&&(r==="ice-cover"||r==="ice-thickness"||r==="ice-forecast"?(this.checkList=["ice-forecast",this.iceToggleValue||"ice-cover"],this.iceToggleValue=this.iceToggleValue||"ice-cover"):r==="sig-wave"||r==="swell"||r==="wave-group"?(this.checkList=["wave-group",this.waveToggleValue||"sig-wave"],this.waveToggleValue=this.waveToggleValue||"sig-wave"):this.rendersKeys.includes(r)?this.checkList=[r]:(this.checkList=a.filter(l=>!this.rendersKeys.includes(l)),this.renderKey=void 0)),i&&(i==="ice-forecast"?(this.checkList=a.filter(l=>!["ice-cover","ice-thickness","ice-forecast"].includes(l)),this.iceToggleValue=void 0):i==="wave-group"?(this.checkList=a.filter(l=>!["wave-group","sig-wave","swell"].includes(l)),this.waveToggleValue=void 0):this.checkList=a),this.checkList.includes("wind-particle")&&(this.showWindParticle=!0),this.checkList.includes("current-particle")&&(this.showCurrentParticle=!0),localStorage.setItem(this.cache.checkListKey,JSON.stringify(a)),this.activeWeatherLayers=this.autoActive?this.allLayers.filter(l=>a.includes(l.key)):[],this.handleWeatherLayerChange()},async fetchModels(){this.models={};const o=await Q.get(`${this.gateway}/api/arc/meteo2/models2`,{headers:{Authorization:this.defaultMeteoToken}});(o==null?void 0:o.data.code)===0&&(this.models=o==null?void 0:o.data.data)},async fetchWeatherLayers(o={}){var i,l,s,n,c,h,d,g,f;const t=new Date().valueOf();let a=0,r=0;if(this.map){const w=((i=this.map)==null?void 0:i.getZoom())+1,z=(l=this.map)==null?void 0:l.getBounds(),x=`${z._sw.lng},${z._sw.lat},${z._ne.lng},${z._ne.lat}`;if(this.particleFactor&&((s=this.$refs.layer)!=null&&s.autoActive)){const p=Be.LayerHelper.WEATHER_LAYERS.find(S=>{var L;return((L=S.peer)==null?void 0:L.weight)===this.particleFactor.weight});this.particleFactor.particle&&(this.showWindParticle||this.showCurrentParticle)?this.weatherWeight=this.weatherWeight&p.weight?this.weatherWeight:this.weatherWeight+p.weight:this.weatherWeight=this.weatherWeight&p.weight?this.weatherWeight-p.weight:this.weatherWeight}if(this.weatherWeight>0){let p=this.weatherWeight;if(p>0){const S=this.assistGateway[Math.round(Math.random()*(this.assistGateway.length-1))],L=await Q.get(`${S}/api/arc/weather/layers2/links?l=${p}&v=${this.forecastModel}&z=${w}&bbox=${x}&t=${this.realTime}`,{headers:{Authorization:this.defaultMeteoToken}});if(r=new Date().valueOf()-(t+a),console.log("weather links elapsed: ",r,", total: ",a+=r),((n=L==null?void 0:L.data)==null?void 0:n.code)===0){const _=(c=L==null?void 0:L.data)==null?void 0:c.data,b=[];for(const k in _)b.push(Q.get(_[k],{headers:{Authorization:this.defaultMeteoToken,key:k},responseType:/\.(jpg|png)$/.test(_[k])?"blob":"json"}).catch(y=>{console.log(`[${k}] fetch layer error: ${y}`)}));const u=await Promise.all(b);this.weatherLayers={},u.map(k=>{var E,B,A,O;const y=((E=k==null?void 0:k.data)==null?void 0:E.data)||(k==null?void 0:k.data);let C=(A=(B=k==null?void 0:k.config)==null?void 0:B.headers)==null?void 0:A.key;C&&y&&(this.weatherLayers[C]={raw:y,type:((O=k==null?void 0:k.config)==null?void 0:O.responseType)==="blob"?"image":"json",etime:L.data.etime})})}if(r=new Date().valueOf()-(t+a),console.log("weather layers elapsed: ",r,", total: ",a+=r),this.weatherLayers["swell-direction"]||this.weatherLayers["swell-height"]){const _=(h=this.weatherLayers["swell-direction"])==null?void 0:h.raw,b=(d=this.weatherLayers["swell-height"])==null?void 0:d.raw;delete this.weatherLayers["swell-direction"],delete this.weatherLayers["swell-height"],this.weatherLayers.swell={type:"json",direction:_,height:{raw:b},etime:L.data.etime}}if(this.weatherLayers["current-direction"]||this.weatherLayers["current-speed"]){const _=(g=this.weatherLayers["current-direction"])==null?void 0:g.raw,b=(f=this.weatherLayers["current-speed"])==null?void 0:f.raw;delete this.weatherLayers["current-direction"],delete this.weatherLayers["current-speed"],this.weatherLayers.current={type:"json",direction:_,speed:{raw:b},etime:L.data.etime}}}}this.handleWeatherLayerToggle(),this.handleDrawWeather4Json()}},handleWeatherLayerToggle(){for(const o in this.weatherLayers)this.weatherLayers[o].active=!1,this.weatherLayers[o].version=Math.random()+1;for(const o of this.activeWeatherLayers){let t=o.key;t==="current-direction"&&(t="current"),this.weatherLayers[t]&&(this.weatherLayers[t].active=!0,this.weatherLayers[t].version=Math.random()+1,t==="wind-particle"&&(this.weatherLayers[t].particle=this.showWindParticle),t==="current-particle"&&(this.weatherLayers[t].particle=this.showCurrentParticle))}},handleWeatherLayerChange(o={sourceChanged:!1}){var a;const t=(a=this.activeWeatherLayers)==null?void 0:a.reduce((r,i)=>r+(r&(i==null?void 0:i.weight)?0:i==null?void 0:i.weight),0);o!=null&&o.sourceChanged||this.weatherWeight!==t?(this.weatherWeight=t,this.fetchWeatherLayers()):this.handleWeatherLayerToggle()},handleRampColorInitial(){var o,t,a,r,i,l,s,n,c,h,d,g;this.viewport.map.getSource((o=this.viewport)==null?void 0:o.rampColorSource)||this.viewport.map.addSource((t=this.viewport)==null?void 0:t.rampColorSource,{type:"canvas",canvas:(a=this.viewport)==null?void 0:a.rampColorCanvas,animate:!0,coordinates:this.viewport.getBoundLngLat()}),this.viewport.map.getLayer((r=this.viewport)==null?void 0:r.rampColorLayer)||this.viewport.map.addLayer({type:"raster",id:(i=this.viewport)==null?void 0:i.rampColorLayer,source:(l=this.viewport)==null?void 0:l.rampColorSource,layout:{visibility:"none"}},this.beforeLayer),this.viewport.map.getSource((s=this.viewport)==null?void 0:s.particleSource)||this.viewport.map.addSource((n=this.viewport)==null?void 0:n.particleSource,{type:"canvas",canvas:(c=this.viewport)==null?void 0:c.particleCanvas,animate:!0,coordinates:this.viewport.getBoundLngLat()}),this.viewport.map.getLayer((h=this.viewport)==null?void 0:h.particleLayer)||this.viewport.map.addLayer({type:"raster",id:(d=this.viewport)==null?void 0:d.particleLayer,source:(g=this.viewport)==null?void 0:g.particleSource,layout:{visibility:"none"}},this.beforeLayer)},handleDrawWeather4Json(){var l,s,n,c,h,d,g;const o=new Date().valueOf();let t=0,a=0;const r=(l=this.map)==null?void 0:l.getBounds(),i=(s=this.map)==null?void 0:s.getZoom();if(r&&i){const f=T.LngLatHelper.convertToStdLng(r._sw.lng),w=T.LngLatHelper.convertToStdLng(r._ne.lng),z=Math.floor(r._sw.lat),x=Math.ceil(r._ne.lat);for(const p in this.weatherLayers){let S=!1;if(this.weatherLayers[p].active&&this.weatherLayers[p].type==="json"){let L=[];if(p==="swell"){S=!0;const _=((n=this.weatherLayers[p])==null?void 0:n.direction)||{};for(const u in _)if(u>z&&u<x&&(!(i<=this.zoom)||u%(i<2?10:i<4?5:3)===0)){const k=_[u].lng;f>w?k.forEach((y,C)=>{var E,B,A,O,G,W;if(i<2){if((y>=0&&y<=360||y>=-360&&y<=0)&&y%10===0){const F=V.point([y,u],{val:((E=_[u].val)==null?void 0:E[C])||((B=_[u].dir)==null?void 0:B[C]),spd:(A=_[u].spd)==null?void 0:A[C]});L.push(F)}}else if((y>=f&&y<=180||y>=-180&&y<=w)&&(!(i<=this.zoom)||y%(i<2?10:i<4?5:3)===0)){const F=V.point([y,u],{val:((O=_[u].val)==null?void 0:O[C])||((G=_[u].dir)==null?void 0:G[C]),spd:(W=_[u].spd)==null?void 0:W[C]});L.push(F)}}):k.forEach((y,C)=>{var E,B,A,O,G,W;if(f<2){if((y>=0&&y<=360||y>=-360&&y<=0)&&y%10===0){const F=V.point([y,u],{val:((E=_[u].val)==null?void 0:E[C])||((B=_[u].dir)==null?void 0:B[C]),spd:(A=_[u].spd)==null?void 0:A[C]});L.push(F)}}else if(y>=f&&y<=w&&(!(i<=this.zoom)||y%(i<2?10:i<4?5:3)===0)){const F=V.point([y,u],{val:((O=_[u].val)==null?void 0:O[C])||((G=_[u].dir)==null?void 0:G[C]),spd:(W=_[u].spd)==null?void 0:W[C]});L.push(F)}})}a=new Date().valueOf()-(o+t),console.log("swell direction elapsed: ",a,", total: ",t+=a);const b=this.weatherLayers[p].height;if(b){if(!b.data){const u=[];for(const k in(c=b.raw)==null?void 0:c.LineString){const y=b.raw.LineString[k];for(const C of y)u.push(V.lineString(C,{val:Number(k)}));b.data=V.featureCollection(u)}}if(b.data){const u=this.handleBboxClip(b.data,r);L=L.concat(u)}a=new Date().valueOf()-(o+t),console.log("swell height elapsed: ",a,", total: ",t+=a)}}else if(p==="current"){S=!0;const _=((h=this.weatherLayers[p])==null?void 0:h.direction)||{};for(const u in _)if(u>z&&u<x&&(!(i<=this.zoom)||u%(i<2?10:i<4?5:3)===0)){const k=_[u].lng;f>w?k.forEach((y,C)=>{var E,B,A,O,G,W;if(i<2){if((y>=0&&y<=360||y>=-360&&y<=0)&&y%10===0){const F=V.point([y,u],{val:((E=_[u].val)==null?void 0:E[C])||((B=_[u].dir)==null?void 0:B[C]),spd:(A=_[u].spd)==null?void 0:A[C]});L.push(F)}}else if((y>=f&&y<=180||y>=-180&&y<=w)&&(!(i<=this.zoom)||y%(i<2?10:i<4?5:3)===0)){const F=V.point([y,u],{val:((O=_[u].val)==null?void 0:O[C])||((G=_[u].dir)==null?void 0:G[C]),spd:(W=_[u].spd)==null?void 0:W[C]});L.push(F)}}):k.forEach((y,C)=>{var E,B,A,O,G,W;if(f<2){if((y>=0&&y<=360||y>=-360&&y<=0)&&y%10===0){const F=V.point([y,u],{val:((E=_[u].val)==null?void 0:E[C])||((B=_[u].dir)==null?void 0:B[C]),spd:(A=_[u].spd)==null?void 0:A[C]});L.push(F)}}else if(y>=f&&y<=w&&(!(i<=this.zoom)||y%(i<this.zoom/2?5:3)===0)){const F=V.point([y,u],{val:((O=_[u].val)==null?void 0:O[C])||((G=_[u].dir)==null?void 0:G[C]),spd:(W=_[u].spd)==null?void 0:W[C]});L.push(F)}})}a=new Date().valueOf()-(o+t),console.log("current direction elapsed: ",a,", total: ",t+=a);const b=this.weatherLayers[p].speed;if(b){if(!b.data){const k=[];for(const y in(d=b.raw)==null?void 0:d.Polygon){const C=b.raw.Polygon[y];for(const E of C)k.push(V.polygon(E,{val:Number(y)}))}b.data=V.featureCollection(k)}const u=i<this.zoom?b.data.features.filter(k=>k.properties.val>.5):b.data.features;L=L.concat(u),a=new Date().valueOf()-(o+t),console.log("current speed elapsed: ",a,", total: ",t+=a)}}else if(p==="wind"){S=!0;const _=this.weatherLayers.wind.raw;for(const b in _)if(b>z&&b<x&&(!(i<=this.zoom)||b%(i<2?10:i<4?5:3)===0)){const u=_[b].lng;f>w?u.forEach((k,y)=>{var C,E,B,A;if(i<2){if((k>=0&&k<=360||k>=-360&&k<=0)&&k%10===0){const O=V.point([k,b],{dir:((C=_[b].val)==null?void 0:C[y])||((E=_[b].dir)==null?void 0:E[y]),spd:_[b].spd[y]});L.push(O)}}else if((k>=f&&k<=180||k>=-180&&k<=w)&&(!(i<=this.zoom)||k%(i<2?10:i<4?5:3)===0)){const O=V.point([k,b],{dir:((B=_[b].val)==null?void 0:B[y])||((A=_[b].dir)==null?void 0:A[y]),spd:_[b].spd[y]});L.push(O)}}):u.forEach((k,y)=>{var C,E,B,A;if(i<2){if((k>=0&&k<=360||k>=-360&&k<=0)&&k%10===0){const O=V.point([k,b],{dir:((C=_[b].val)==null?void 0:C[y])||((E=_[b].dir)==null?void 0:E[y]),spd:_[b].spd[y]});L.push(O)}}else if(k>=f&&k<=w&&(!(i<=this.zoom)||k%(i<2?10:i<4?5:3)===0)){const O=V.point([k,b],{dir:((B=_[b].val)==null?void 0:B[y])||((A=_[b].dir)==null?void 0:A[y]),spd:_[b].spd[y]});L.push(O)}})}a=new Date().valueOf()-(o+t),console.log("wind barb elapsed: ",a,", total: ",t+=a)}else if(p==="sig-wave-height"){if(this.weatherLayers[p].data)L=this.weatherLayers[p].data;else{S=!0;const _=this.weatherLayers[p].raw;if(_){const b=[];for(const u in _.Polygon){const k=_.Polygon[u];for(const y of k)b.push(V.polygon(y,{val:Number(u)}))}for(const u in _.MultiPolygon){const k=_.MultiPolygon[u];for(const y of k)b.push(V.multiPolygon(y,{val:Number(u)}))}for(const u in _.Point){const k=_.Point[u];for(let y=0;y<((g=k.lng)==null?void 0:g.length);y++)b.push(V.point([k.lng[y],u],{val:Number(k.val[y])}))}L=L.concat(b)}}a=new Date().valueOf()-(o+t),console.log("sig-wave-height elapsed: ",a,", total: ",t+=a)}else if(p==="prmsl"){if(this.weatherLayers[p].data)L=this.weatherLayers[p].data;else{S=!0;const _=this.weatherLayers[p].raw;if(_){const b=[];for(const u in _.LineString){const k=_.LineString[u];for(const y of k)b.push(V.lineString(y,{val:Number(u)}))}for(const u in _.Point)_.Point[u].lng.forEach((k,y)=>{k=T.LngLatHelper.convertToStdLng(k),b.push(V.point([k,u],{val:_.Point[u].val[y],type:_.Point[u].type[y]}))});L=L.concat(b)}}a=new Date().valueOf()-(o+t),console.log("prmsl elapsed: ",a,", total: ",t+=a)}L.length&&(this.weatherLayers[p].data=V.featureCollection(L)),S&&(this.weatherLayers[p].version=Math.random()+1)}}}},handleMove4Weather(){for(const o in this.weatherLayers)this.weatherLayers[o].active&&this.weatherLayers[o].type==="image"&&(this.weatherLayers[o].active=!0,this.weatherLayers[o].version=Math.random()+1);this.handleDrawWeather4Json()},handleBboxClip(o,t){const a=[],r=T.LngLatHelper.convertToStdLng(t._sw.lng),i=T.LngLatHelper.convertToStdLng(t._ne.lng);return o.features.forEach(l=>{if(l.geometry.type!=="Point")if(r>i){let s=[r,t._sw.lat,180,t._ne.lat],n=V.bboxClip(l,s);n.geometry.coordinates.length&&a.push(n),s=[-180,t._sw.lat,i,t._ne.lat],n=V.bboxClip(l,s),n.geometry.coordinates.length&&a.push(n)}else{const s=[r,t._sw.lat,i,t._ne.lat],n=V.bboxClip(l,s);n.geometry.coordinates.length&&a.push(n)}else a.push(l)}),a}}},tn={class:"idm-gl4-meteo-layers"},on={key:0,class:"legend-tip-btn-gl4"},an={class:"d-flex flex-row justify-center align-center"},rn={class:"text-caption"},ln={class:"d-flex flex-row justify-center align-center"},sn={key:0,style:{width:"24px",height:"12px",border:"1px solid rgba(var(--v-border-color), var(--v-border-opacity))"}},nn={class:"text-caption px-2"},cn={class:"d-flex flex-row justify-start align-center"},mn={class:"d-flex flex-row justify-center align-center",style:{width:"40px"}},dn={class:"text-caption"},hn={class:"header-box d-flex justify-space-between align-center px-4"},pn={class:"d-flex justify-start align-center ga-3"},gn={class:"text-h5 font-weight-medium"},un={key:0,class:"w-100 d-flex justify-space-between align-center ga-1 mb-1 px-4"},fn={key:0,class:"d-flex justify-start align-center ga-4 pl-6"},yn={key:1,class:"d-flex justify-start align-center ga-4 pl-6"},bn={class:"text-body-1 py-2"},wn={class:"text-body-1 font-weight-medium"},xn={class:"text-body-2 text-label"},_n={class:"text-body-2 text-label"},kn={class:"text-body-2 text-label mb-3"},zn={class:"text-body-1 font-weight-medium"},vn={class:"text-body-2 text-label"},Ln={class:"text-body-2 text-label"},Cn={class:"text-body-2 text-label mb-3"},Pn={class:"text-body-1 py-2"},Sn={class:"text-body-1 font-weight-medium"},Nn={class:"text-body-2 text-label"},Tn={class:"text-body-2 text-label"},Dn={class:"text-body-2 text-label mb-3"},En={class:"text-body-1 font-weight-medium"},Mn={class:"text-body-2 text-label"},Vn={class:"text-body-2 text-label"},Bn={class:"text-body-2 text-label mb-3"},In={class:"text-body-1 py-2"},Rn={class:"text-body-1 font-weight-medium"},An={class:"text-body-2 text-label"},On={class:"text-body-2 text-label"},jn={class:"text-body-2 text-label mb-3"};function Fn(o,t,a,r,i,l){var J,q,te,re,oe,ae,P,U,ce,he,fe,ye,pe,we,be;const s=e.resolveComponent("VBtn"),n=e.resolveComponent("VTooltip"),c=e.resolveComponent("VCol"),h=e.resolveComponent("VRow"),d=e.resolveComponent("VCardText"),g=e.resolveComponent("VDivider"),f=e.resolveComponent("VCard"),w=e.resolveComponent("VSwitch"),z=e.resolveComponent("VBtnToggle"),x=e.resolveComponent("VCardTitle"),p=e.resolveComponent("VCardItem"),S=e.resolveComponent("VCheckbox"),L=e.resolveComponent("VRadio"),_=e.resolveComponent("IdmWindBarb"),b=e.resolveComponent("IdmSigWaveHeight"),u=e.resolveComponent("IdmCurrentDirection"),k=e.resolveComponent("IdmPrmsl"),y=e.resolveComponent("IdmWindParticle"),C=e.resolveComponent("IdmCurrentParticle"),E=e.resolveComponent("IdmWave"),B=e.resolveComponent("IdmSwell"),A=e.resolveComponent("IdmIceEdge"),O=e.resolveComponent("IdmIceCover"),G=e.resolveComponent("IdmIceThickness"),W=e.resolveComponent("IdmPrecip3h"),F=e.resolveComponent("IdmVisibility"),$=e.resolveComponent("IdmWaterTemp"),ee=e.resolveComponent("IdmTemp");return e.openBlock(),e.createElementBlock("div",tn,[e.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:e.normalizeStyle({top:this.top+this.paddingTop+46+"px",right:this.right+"px"})},[e.createVNode(n,{text:o.$t("weather.weatherLayers"),location:"left"},{activator:e.withCtx(({props:M})=>[e.createVNode(s,e.mergeProps(M,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:e.withCtx(()=>t[9]||(t[9]=[e.createElementVNode("i",{class:"iconfont icon-Weather text-h4"},null,-1)])),_:2,__:[9]},1040,["class","onClick"])]),_:1},8,["text"])],4),l.showTipMenu?(e.openBlock(),e.createElementBlock("div",on,[e.createElementVNode("div",{class:"menu-bar-box pa-1 rounded",style:e.normalizeStyle({right:i.right+"px"})},[e.createVNode(n,{text:"Legend",location:"left"},{activator:e.withCtx(({props:M})=>[e.createVNode(s,e.mergeProps(M,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.legendToggle?"bg-primary active-border":""],onClick:t[0]||(t[0]=Y=>i.legendToggle=!i.legendToggle)}),{default:e.withCtx(()=>t[10]||(t[10]=[e.createElementVNode("i",{class:"iconfont icon-Legend text-h4"},null,-1)])),_:2,__:[10]},1040,["class"])]),_:1})],4),i.legendToggle?(e.openBlock(),e.createBlock(f,{key:0,elevation:"16",class:"card-info d-flex justify-center align-start",style:e.normalizeStyle({position:"absolute",top:"340px",right:i.right+50+"px"})},{default:e.withCtx(()=>[e.createVNode(d,{class:"d-flex flex-column justify-center align-start text-label px-2",style:{width:"110px"}},{default:e.withCtx(()=>[t[11]||(t[11]=e.createElementVNode("div",{class:"text-body-2 font-weight-600 mb-2"},"Wind Level",-1)),e.createVNode(h,{class:"ma-0 ml-n1 text-body-2"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.legend.barbs,(M,Y)=>(e.openBlock(),e.createBlock(c,{key:M,cols:"6",class:"d-flex flex-row justify-start align-center py-1 px-0 ma-0"},{default:e.withCtx(()=>[e.createElementVNode("div",an,[e.createElementVNode("i",{class:e.normalizeClass(["iconfont",l.barbsIconName[Y]]),style:e.normalizeStyle({color:a.theme==="dark"?"#fff":"#000"})},null,6),e.createElementVNode("span",rn,e.toDisplayString(Number(M)<10?`00${M}kts`:Number(M)<100?`0${M}kts`:`${M}kts`),1)])]),_:2},1024))),128))]),_:1})]),_:1,__:[11]}),e.createVNode(g,{vertical:""}),e.createVNode(d,{class:"d-flex flex-column justify-center align-start text-label px-2",style:{width:"100px"}},{default:e.withCtx(()=>[t[12]||(t[12]=e.createElementVNode("div",{class:"text-body-2 font-weight-600 mb-2"},"Wave Height",-1)),e.createVNode(h,{class:"ma-0"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.legend.sigWaveHeight,(M,Y)=>(e.openBlock(),e.createBlock(c,{key:Y,cols:"12",class:"d-flex flex-row justify-start align-center py-1 px-0 ma-0"},{default:e.withCtx(()=>[e.createElementVNode("div",ln,[Y===0?(e.openBlock(),e.createElementBlock("div",sn)):(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle({width:"24px",height:"12px",background:M.color})},null,4)),e.createElementVNode("div",nn,e.toDisplayString(M.label),1)])]),_:2},1024))),128))]),_:1})]),_:1,__:[12]}),e.createVNode(g,{vertical:""}),e.createVNode(d,{class:"d-flex flex-column justify-center align-start text-label px-2",style:{width:"90px"}},{default:e.withCtx(()=>[t[13]||(t[13]=e.createElementVNode("div",{class:"text-body-2 font-weight-600 mb-2"},"Current",-1)),e.createVNode(h,{class:"ma-0 ml-n4"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.legend.current,(M,Y)=>(e.openBlock(),e.createBlock(c,{key:Y,cols:"12",class:"d-flex flex-row justify-center align-center py-1 px-0 ma-0"},{default:e.withCtx(()=>[e.createElementVNode("div",cn,[e.createElementVNode("div",mn,[e.createElementVNode("i",{class:"iconfont icon-a-direction-arrow text-label",style:e.normalizeStyle({fontSize:40*M.size+"px"})},null,4)]),e.createElementVNode("div",dn,e.toDisplayString(M.label),1)])]),_:2},1024))),128))]),_:1})]),_:1,__:[13]})]),_:1},8,["style"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["available-layers transition flex-center",i.toggle?"right-bar":""]),style:e.normalizeStyle(l.listStyle)},[e.createElementVNode("div",hn,[e.createElementVNode("div",pn,[e.createElementVNode("div",gn,e.toDisplayString(o.$t("weather.weather")),1),e.createVNode(w,{modelValue:i.autoActive,"onUpdate:modelValue":t[1]||(t[1]=M=>i.autoActive=M),class:"small-switch",color:"primary","base-color":"disabled",inset:"","hide-details":""},null,8,["modelValue"])]),e.createVNode(s,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:l.handleMenuToggle},{default:e.withCtx(()=>t[14]||(t[14]=[e.createElementVNode("i",{class:"iconfont icon-close text-label text-h4"},null,-1)])),_:1,__:[14]},8,["onClick"])]),a.simple?(e.openBlock(),e.createElementBlock("div",un,[e.createElementVNode("div",null,e.toDisplayString(o.$t("weather.forecastModel")),1),e.createVNode(z,{modelValue:i.currentModel,"onUpdate:modelValue":t[2]||(t[2]=M=>i.currentModel=M),rounded:"",height:"30",density:"compact",group:""},{default:e.withCtx(()=>[e.createVNode(s,{density:"compact",height:"30",value:"GFS",class:"text-none btn-bg-2 px-1 text-body-1",color:i.currentModel==="GFS"?"primary":"","base-color":""},{default:e.withCtx(()=>t[15]||(t[15]=[e.createTextVNode("NOAA",-1)])),_:1,__:[15]},8,["color"]),e.createVNode(s,{density:"compact",height:"30",class:"text-none btn-bg-2 px-1 text-body-1",color:i.currentModel==="ECMWF"?"primary":"","base-color":"",value:"ECMWF"},{default:e.withCtx(()=>t[16]||(t[16]=[e.createTextVNode("ECMWF",-1)])),_:1,__:[16]},8,["color"])]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["list-box scroll pl-4 pr-2 overflow-y-auto",i.autoActive?"":"cursor-not-allowed"])},[e.createVNode(f,{class:"block-bg mx-auto mb-3",elevation:"0"},{default:e.withCtx(()=>[e.createVNode(p,{class:"border-b-thin"},{default:e.withCtx(()=>[e.createVNode(x,{class:"text-subtitle-1 font-weight-medium",style:{"font-size":"16px !important"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("weather.overlays")),1)]),_:1})]),_:1}),e.createVNode(d,{class:"py-2"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.tagLayers.filter(M=>M.overlays),M=>(e.openBlock(),e.createBlock(S,{key:M.key,modelValue:i.checkList,"onUpdate:modelValue":t[3]||(t[3]=Y=>i.checkList=Y),value:M.key,label:o.$t(`weather.${M.locale}`),disabled:!i.autoActive,color:"primary",density:"compact",style:{height:"36px"},class:"flex-1-0-100 text-body-2","hide-details":""},null,8,["modelValue","value","label","disabled"]))),128))]),_:1})]),_:1}),e.createVNode(f,{class:"block-bg mx-auto mb-3",elevation:"0"},{default:e.withCtx(()=>[e.createVNode(p,{class:"border-b-thin"},{default:e.withCtx(()=>[e.createVNode(x,{class:"text-subtitle-1 font-weight-medium",style:{"font-size":"16px !important"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("weather.renders")),1)]),_:1})]),_:1}),e.createVNode(d,{class:"py-2"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.tagLayers.filter(M=>!M.overlays),M=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:M.key},[e.createVNode(L,{modelValue:i.renderKey,"onUpdate:modelValue":t[4]||(t[4]=Y=>i.renderKey=Y),label:o.$t(`weather.${M.locale}`),value:M.key,disabled:!i.autoActive,color:"primary",density:"compact",style:{height:"36px"},class:"text-body-2 py-1","hide-details":"",onClick:Y=>i.renderKey=i.renderKey===M.key?"":M.key},null,8,["modelValue","label","value","disabled","onClick"]),i.renderKey==="wind-particle"&&M.key==="wind-particle"?(e.openBlock(),e.createElementBlock("div",fn,[e.createElementVNode("span",null,e.toDisplayString(o.$t("weather.particleAnimatiom")),1),e.createVNode(w,{modelValue:i.showWindParticle,"onUpdate:modelValue":t[5]||(t[5]=Y=>i.showWindParticle=Y),label:"",class:"small-switch",color:"primary","base-color":"disabled",density:"compact",inset:"",style:{"font-size":"14px"},"hide-details":""},null,8,["modelValue"])])):e.createCommentVNode("",!0),i.renderKey==="current-particle"&&M.key==="current-particle"?(e.openBlock(),e.createElementBlock("div",yn,[e.createElementVNode("span",null,e.toDisplayString(o.$t("weather.particleAnimatiom")),1),e.createVNode(w,{modelValue:i.showCurrentParticle,"onUpdate:modelValue":t[6]||(t[6]=Y=>i.showCurrentParticle=Y),label:"",class:"small-switch",color:"primary","base-color":"disabled",inset:"",density:"compact",height:"20","hide-details":""},null,8,["modelValue"])])):e.createCommentVNode("",!0),i.renderKey==="wave-group"&&M.key==="wave-group"?(e.openBlock(),e.createBlock(z,{key:2,modelValue:i.waveToggleValue,"onUpdate:modelValue":t[7]||(t[7]=Y=>i.waveToggleValue=Y),class:"w-100 pl-7 rounded",rounded:"0",height:"30",density:"compact",group:"",disabled:!i.autoActive},{default:e.withCtx(()=>[e.createVNode(s,{density:"compact",height:"30",value:"sig-wave",class:"w-50 text-none px-2 text-body-1",color:i.waveToggleValue==="sig-wave"?"primary":"","base-color":"grey-lighten-1",disabled:!i.autoActive},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("weather.significant")),1)]),_:1},8,["color","disabled"]),e.createVNode(s,{density:"compact",height:"30",class:"w-50 text-none px-2 text-body-1",color:i.waveToggleValue==="swell"?"primary":"","base-color":"grey-lighten-1",disabled:!i.autoActive,value:"swell"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("weather.swell")),1)]),_:1},8,["color","disabled"])]),_:1},8,["modelValue","disabled"])):e.createCommentVNode("",!0),i.renderKey==="ice-forecast"&&M.key==="ice-forecast"?(e.openBlock(),e.createBlock(z,{key:3,modelValue:i.iceToggleValue,"onUpdate:modelValue":t[8]||(t[8]=Y=>i.iceToggleValue=Y),class:"w-100 pl-7 rounded",rounded:"0",height:"30",density:"compact",group:"",disabled:!i.autoActive},{default:e.withCtx(()=>[e.createVNode(s,{density:"compact",height:"30",value:"ice-cover",class:"w-50 text-none px-2 text-body-1",color:i.iceToggleValue==="ice-cover"?"primary":"","base-color":"grey-lighten-1",disabled:!i.autoActive},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("weather.coverage")),1)]),_:1},8,["color","disabled"]),e.createVNode(s,{density:"compact",height:"30",class:"w-50 text-none px-2 text-body-1",color:i.iceToggleValue==="ice-thickness"?"primary":"","base-color":"grey-lighten-1",disabled:!i.autoActive,value:"ice-thickness"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("weather.thickness")),1)]),_:1},8,["color","disabled"])]),_:1},8,["modelValue","disabled"])):e.createCommentVNode("",!0)],64))),128))]),_:1})]),_:1}),e.createVNode(f,{class:"block-bg mx-auto mb-3",elevation:"0"},{default:e.withCtx(()=>[e.createVNode(p,{class:"border-b-thin"},{default:e.withCtx(()=>[e.createVNode(x,{class:"text-subtitle-1 font-weight-medium",style:{"font-size":"16px !important"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("weather.forecastModel")),1)]),_:1})]),_:1}),e.createVNode(d,{class:""},{default:e.withCtx(()=>{var M,Y,Pe,ke,se,xe,I,ne,Z,X,ve,Se,Ne,N,me,ze,Le,Ce,D,Te,R,Ee,Me,Ve,ge,Oe,je,Fe,He,Ge,We,Ue,Ye,Ze,qe,Xe,Ke,Je,Qe,$e,et,tt,ot,at,it,rt,lt,st,nt,ct,mt,dt,ht,pt,gt,ut,ft,yt,bt,wt,xt,_t,kt,zt,vt,Lt,Ct,Pt,St,Nt,Tt,Dt,Et,Mt,Vt,Bt,It,Rt,At,Ot,jt,Ft,Ht,Gt,Wt,Ut,Yt,Zt,qt,Xt,Kt,Jt,Qt,eo,to,oo,ao,io,ro,lo,so,no,co,mo,ho;return[e.createElementVNode("div",bn,e.toDisplayString(o.$t("weather.atmospheric")),1),e.createElementVNode("div",wn,e.toDisplayString((Pe=(Y=(M=i.models)==null?void 0:M.weather)==null?void 0:Y.NOAA)==null?void 0:Pe.source)+" "+e.toDisplayString((xe=(se=(ke=i.models)==null?void 0:ke.weather)==null?void 0:se.NOAA)==null?void 0:xe.spatialResolution)+e.toDisplayString(o.$t("units.km"))+" "+e.toDisplayString((X=(Z=(ne=(I=i.models)==null?void 0:I.weather)==null?void 0:ne.NOAA)==null?void 0:Z.meta)==null?void 0:X.days)+e.toDisplayString(o.$t("units.days")),1),e.createElementVNode("div",xn,e.toDisplayString(o.$t("weather.source"))+": NOAA",1),e.createElementVNode("div",_n,e.toDisplayString(o.$t("weather.lastUpdate"))+": "+e.toDisplayString(l.computeDateUpdate((N=(Ne=(Se=(ve=i.models)==null?void 0:ve.weather)==null?void 0:Se.NOAA)==null?void 0:Ne.meta)==null?void 0:N.availabilityTime)),1),e.createElementVNode("div",kn,e.toDisplayString(o.$t("weather.referenceTime"))+": "+e.toDisplayString(l.computeDateZ((Ce=(Le=(ze=(me=i.models)==null?void 0:me.weather)==null?void 0:ze.NOAA)==null?void 0:Le.meta)==null?void 0:Ce.initialisationTime)),1),e.createElementVNode("div",zn,e.toDisplayString((R=(Te=(D=i.models)==null?void 0:D.weather)==null?void 0:Te.ECMWF)==null?void 0:R.source)+" "+e.toDisplayString((Ve=(Me=(Ee=i.models)==null?void 0:Ee.weather)==null?void 0:Me.ECMWF)==null?void 0:Ve.spatialResolution)+e.toDisplayString(o.$t("units.km"))+" "+e.toDisplayString((Fe=(je=(Oe=(ge=i.models)==null?void 0:ge.weather)==null?void 0:Oe.ECMWF)==null?void 0:je.meta)==null?void 0:Fe.days)+e.toDisplayString(o.$t("units.days")),1),e.createElementVNode("div",vn,e.toDisplayString(o.$t("weather.source"))+": ECMWF",1),e.createElementVNode("div",Ln,e.toDisplayString(o.$t("weather.lastUpdate"))+": "+e.toDisplayString(l.computeDateUpdate((Ue=(We=(Ge=(He=i.models)==null?void 0:He.weather)==null?void 0:Ge.ECMWF)==null?void 0:We.meta)==null?void 0:Ue.availabilityTime)),1),e.createElementVNode("div",Cn,e.toDisplayString(o.$t("weather.referenceTime"))+": "+e.toDisplayString(l.computeDateZ((Xe=(qe=(Ze=(Ye=i.models)==null?void 0:Ye.weather)==null?void 0:Ze.ECMWF)==null?void 0:qe.meta)==null?void 0:Xe.initialisationTime)),1),e.createVNode(g),e.createElementVNode("div",Pn,e.toDisplayString(o.$t("weather.wave")),1),e.createElementVNode("div",Sn,e.toDisplayString(($e=(Qe=(Je=(Ke=i.models)==null?void 0:Ke.marine)==null?void 0:Je.wave)==null?void 0:Qe.NOAA)==null?void 0:$e.source)+" "+e.toDisplayString((at=(ot=(tt=(et=i.models)==null?void 0:et.marine)==null?void 0:tt.wave)==null?void 0:ot.NOAA)==null?void 0:at.spatialResolution)+e.toDisplayString(o.$t("units.km"))+" "+e.toDisplayString((nt=(st=(lt=(rt=(it=i.models)==null?void 0:it.marine)==null?void 0:rt.wave)==null?void 0:lt.NOAA)==null?void 0:st.meta)==null?void 0:nt.days)+e.toDisplayString(o.$t("units.days")),1),e.createElementVNode("div",Nn,e.toDisplayString(o.$t("weather.source"))+": NOAA",1),e.createElementVNode("div",Tn,e.toDisplayString(o.$t("weather.lastUpdate"))+": "+e.toDisplayString(l.computeDateUpdate((pt=(ht=(dt=(mt=(ct=i.models)==null?void 0:ct.marine)==null?void 0:mt.wave)==null?void 0:dt.NOAA)==null?void 0:ht.meta)==null?void 0:pt.availabilityTime)),1),e.createElementVNode("div",Dn,e.toDisplayString(o.$t("weather.referenceTime"))+": "+e.toDisplayString(l.computeDateZ((bt=(yt=(ft=(ut=(gt=i.models)==null?void 0:gt.marine)==null?void 0:ut.wave)==null?void 0:ft.NOAA)==null?void 0:yt.meta)==null?void 0:bt.initialisationTime)),1),e.createElementVNode("div",En,e.toDisplayString((kt=(_t=(xt=(wt=i.models)==null?void 0:wt.marine)==null?void 0:xt.wave)==null?void 0:_t.ECMWF)==null?void 0:kt.source)+" "+e.toDisplayString((Ct=(Lt=(vt=(zt=i.models)==null?void 0:zt.marine)==null?void 0:vt.wave)==null?void 0:Lt.ECMWF)==null?void 0:Ct.spatialResolution)+e.toDisplayString(o.$t("units.km"))+" "+e.toDisplayString((Dt=(Tt=(Nt=(St=(Pt=i.models)==null?void 0:Pt.marine)==null?void 0:St.wave)==null?void 0:Nt.ECMWF)==null?void 0:Tt.meta)==null?void 0:Dt.days)+e.toDisplayString(o.$t("units.days")),1),e.createElementVNode("div",Mn,e.toDisplayString(o.$t("weather.source"))+": ECMWF",1),e.createElementVNode("div",Vn,e.toDisplayString(o.$t("weather.lastUpdate"))+": "+e.toDisplayString(l.computeDateUpdate((It=(Bt=(Vt=(Mt=(Et=i.models)==null?void 0:Et.marine)==null?void 0:Mt.wave)==null?void 0:Vt.ECMWF)==null?void 0:Bt.meta)==null?void 0:It.availabilityTime)),1),e.createElementVNode("div",Bn,e.toDisplayString(o.$t("weather.referenceTime"))+": "+e.toDisplayString(l.computeDateZ((Ft=(jt=(Ot=(At=(Rt=i.models)==null?void 0:Rt.marine)==null?void 0:At.wave)==null?void 0:Ot.ECMWF)==null?void 0:jt.meta)==null?void 0:Ft.initialisationTime)),1),e.createVNode(g),e.createElementVNode("div",In,e.toDisplayString(o.$t("weather.currents")),1),e.createElementVNode("div",Rn,e.toDisplayString((Ut=(Wt=(Gt=(Ht=i.models)==null?void 0:Ht.marine)==null?void 0:Gt.current)==null?void 0:Wt.ECMWF)==null?void 0:Ut.source)+" "+e.toDisplayString((Xt=(qt=(Zt=(Yt=i.models)==null?void 0:Yt.marine)==null?void 0:Zt.current)==null?void 0:qt.ECMWF)==null?void 0:Xt.spatialResolution)+e.toDisplayString(o.$t("units.km"))+" "+e.toDisplayString((to=(eo=(Qt=(Jt=(Kt=i.models)==null?void 0:Kt.marine)==null?void 0:Jt.current)==null?void 0:Qt.ECMWF)==null?void 0:eo.meta)==null?void 0:to.days)+e.toDisplayString(o.$t("units.days")),1),e.createElementVNode("div",An,e.toDisplayString(o.$t("weather.source"))+": ECMWF",1),e.createElementVNode("div",On,e.toDisplayString(o.$t("weather.lastUpdate"))+": "+e.toDisplayString(l.computeDateUpdate((lo=(ro=(io=(ao=(oo=i.models)==null?void 0:oo.marine)==null?void 0:ao.current)==null?void 0:io.ECMWF)==null?void 0:ro.meta)==null?void 0:lo.availabilityTime)),1),e.createElementVNode("div",jn,e.toDisplayString(o.$t("weather.referenceTime"))+": "+e.toDisplayString(l.computeDateZ((ho=(mo=(co=(no=(so=i.models)==null?void 0:so.marine)==null?void 0:no.current)==null?void 0:co.ECMWF)==null?void 0:mo.meta)==null?void 0:ho.initialisationTime)),1)]}),_:1})]),_:1})],2)],6),a.map?(e.openBlock(),e.createBlock(_,e.mergeProps({key:1,ref:"windBarb",map:a.map,"map-feather":a.mapFeather,"before-layer":"empty-layer-3",wind:(J=i.weatherLayers)==null?void 0:J.wind,"menu-toggle":a.menuToggle},o.$attrs),null,16,["map","map-feather","wind","menu-toggle"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(b,e.mergeProps({key:2,map:a.map,"before-layer":"empty-layer-2","sig-wave-height":(q=i.weatherLayers)==null?void 0:q["sig-wave-height"],"menu-toggle":a.menuToggle,"active-weather-layers":i.activeWeatherLayers},o.$attrs),null,16,["map","sig-wave-height","menu-toggle","active-weather-layers"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(u,e.mergeProps({key:3,map:a.map,"map-feather":a.mapFeather,"before-layer":"empty-layer-2",current:(te=i.weatherLayers)==null?void 0:te.current,"menu-toggle":a.menuToggle},o.$attrs),null,16,["map","map-feather","current","menu-toggle"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(k,e.mergeProps({key:4,map:a.map,"before-layer":"empty-layer-2",prmsl:(re=i.weatherLayers)==null?void 0:re.prmsl,"menu-toggle":a.menuToggle,"active-weather-layers":i.activeWeatherLayers},o.$attrs,{theme:a.theme}),null,16,["map","prmsl","menu-toggle","active-weather-layers","theme"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(y,e.mergeProps({key:5,viewport:i.viewport,factor:(oe=i.weatherLayers)==null?void 0:oe["wind-particle"],"menu-toggle":a.menuToggle,simple:a.simple},o.$attrs),null,16,["viewport","factor","menu-toggle","simple"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(C,e.mergeProps({key:6,viewport:i.viewport,factor:(ae=i.weatherLayers)==null?void 0:ae["current-particle"],"menu-toggle":a.menuToggle,simple:a.simple},o.$attrs),null,16,["viewport","factor","menu-toggle","simple"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(E,e.mergeProps({key:7,viewport:i.viewport,factor:(P=i.weatherLayers)==null?void 0:P["sig-wave"],"menu-toggle":a.menuToggle,simple:a.simple},o.$attrs),null,16,["viewport","factor","menu-toggle","simple"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(B,e.mergeProps({key:8,map:a.map,viewport:i.viewport,factor:(U=i.weatherLayers)==null?void 0:U.swell,"menu-toggle":a.menuToggle,"active-weather-layers":i.activeWeatherLayers,simple:a.simple},o.$attrs),null,16,["map","viewport","factor","menu-toggle","active-weather-layers","simple"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(A,e.mergeProps({key:9,viewport:i.viewport,factor:(ce=i.weatherLayers)==null?void 0:ce["ice-edge"],"menu-toggle":a.menuToggle,simple:a.simple},o.$attrs),null,16,["viewport","factor","menu-toggle","simple"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(O,e.mergeProps({key:10,viewport:i.viewport,factor:(he=i.weatherLayers)==null?void 0:he["ice-cover"],"menu-toggle":a.menuToggle,simple:a.simple},o.$attrs),null,16,["viewport","factor","menu-toggle","simple"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(G,e.mergeProps({key:11,viewport:i.viewport,factor:(fe=i.weatherLayers)==null?void 0:fe["ice-thickness"],"menu-toggle":a.menuToggle,simple:a.simple},o.$attrs),null,16,["viewport","factor","menu-toggle","simple"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(W,e.mergeProps({key:12,viewport:i.viewport,factor:(ye=i.weatherLayers)==null?void 0:ye.precip3h,"menu-toggle":a.menuToggle,simple:a.simple},o.$attrs),null,16,["viewport","factor","menu-toggle","simple"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(F,e.mergeProps({key:13,viewport:i.viewport,factor:(pe=i.weatherLayers)==null?void 0:pe.visibility,"menu-toggle":a.menuToggle,simple:a.simple},o.$attrs),null,16,["viewport","factor","menu-toggle","simple"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock($,e.mergeProps({key:14,viewport:i.viewport,factor:(we=i.weatherLayers)==null?void 0:we["water-temp"],"menu-toggle":a.menuToggle,simple:a.simple},o.$attrs),null,16,["viewport","factor","menu-toggle","simple"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(ee,e.mergeProps({key:15,viewport:i.viewport,factor:(be=i.weatherLayers)==null?void 0:be.temp,"menu-toggle":a.menuToggle,simple:a.simple},o.$attrs),null,16,["viewport","factor","menu-toggle","simple"])):e.createCommentVNode("",!0)])}const Hn=j(en,[["render",Fn]]),Ie=[{rank:0,name:"Best Match",alias:"BEST MATCH",model:"best_match",models:["best_match"]},{rank:1,name:"GFS",alias:"GFS",model:"gfs_seamless",provider:"NOAA",country:"United States",resolution:25,tips:"3-25km",length:16,frequency:1,models:["gfs_seamless"],categories:"ncep_gfs013,ncep_gfs025,ncep_gfs_graphcast025,ncep_hrrr_conus,ncep_nbm_conus",variables:"temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"},{rank:2,name:"ECMWF",alias:"ECMWF",model:"ecmwf_ifs025",provider:"ECMWF",country:"European Union",resolution:25,tips:"25km",length:15,frequency:6,models:["ecmwf_ifs025","ecmwf_aifs025_single"],categories:"ecmwf_ifs025,ecmwf_aifs025_single",variables:"temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"},{rank:3,disabled:!0,name:"ICON",alias:"ECMWF",model:"icon_seamless",provider:"Deutscher Wetterdienst (DWD)",country:"Germany",resolution:13,tips:"2-13km",length:7.5,frequency:3,models:["icon_seamless","icon_global","icon_eu","icon_d2"],categories:"dwd_icon,dwd_icon_eps,dwd_icon_d2,dwd_icon_d2_eps,dwd_icon_eu,dwd_icon_eu_eps",variables:"temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"},{rank:4,name:"ARPEGE",disabled:!0,alias:"ECMWF",model:"arpege_seamless",provider:"Météo-France",country:"France",resolution:25,tips:"1-25km",length:4,frequency:1,models:["arpege_seamless","arpege_world","arpege_europe"],categories:"meteofrance_arpege_europe,meteofrance_arpege_europe_probabilities,meteofrance_arpege_world025",variables:"temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"},{rank:5,name:"UKMO",disabled:!0,alias:"ECMWF",model:"ukmo_seamless",provider:"UK Met Office",country:"United Kingdom",resolution:10,tips:"2-10km",length:7,frequency:1,models:["ukmo_seamless","ukmo_global_deterministic_10km","ukmo_uk_deterministic_2km"],categories:"ukmo_global_deterministic_10km,ukmo_uk_deterministic_2km",variables:"temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"},{rank:6,name:"JMA",disabled:!0,alias:"GFS",model:"jma_seamless",provider:"JMA",country:"Japan",resolution:55,tips:"5-55km",length:11,frequency:3,models:["jma_seamless","jma_msm","jma_gsm"],categories:"jma_gsm,jma_msm",variables:"temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"},{rank:7,name:"GEM",disabled:!0,alias:"GFS",model:"gem_seamless",provider:"Canadian Weather Service",country:"Canada",resolution:2.5,tips:"2.5km",length:10,frequency:6,models:["gem_seamless","gem_global","gem_regional"],categories:"cmc_gem_gdps,cmc_gem_hrdps,cmc_gem_rdps",variables:"temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"},{rank:8,name:"GRAPES",disabled:!0,alias:"GFS",model:"cma_grapes_global",provider:"China Meteorological Administration (CMA)",country:"China",resolution:15,tips:"15km",length:10,frequency:6,models:["cma_grapes_global"],categories:"cma_grapes_global",variables:"temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"},{rank:9,name:"ACCESS-G",disabled:!0,alias:"GFS",model:"bom_access_global",provider:"Australian Bureau of Meteorology (BOM)",country:"Australia",resolution:15,tips:"15km",length:10,frequency:6,models:["bom_access_global"],categories:"bom_access_global",variables:"temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"}],Re=[{rank:0,name:"Best Match",alias:"BEST MATCH",model:"best_match",models:["best_match"]},{rank:1,name:"MFWAM",alias:"ECMWF",model:"meteofrance_wave",provider:"MeteoFrance",country:"France",resolution:8,tips:"8km",length:10,frequency:12,models:["meteofrance_wave"],categories:"meteofrance_wave",variables:"swell_wave_direction,swell_wave_height,swell_wave_period,swell_wave_peak_period,wave_direction,wave_height,wave_period,wind_wave_direction,wind_wave_height,wind_wave_period,wind_wave_peak_period"},{rank:2,disabled:!0,name:"SMOC",alias:"ECMWF",model:"meteofrance_currents",provider:"MeteoFrance",country:"France",resolution:8,tips:"8km",length:10,frequency:24,models:["meteofrance_currents"],categories:"meteofrance_currents, meteofrance_sea_surface_temperature",variables:"ocean_u_current,ocean_v_current,invert_barometer_height,sea_level_height_msl,sea_surface_temperature"},{rank:3,disabled:!0,name:"EWAM",alias:"ECMWF",model:"ewam",provider:"DWD",country:"Germany",resolution:5,tips:"5km",length:8,frequency:2,models:["ewam"],categories:"dwd_ewam",variables:"swell_wave_direction,swell_wave_height,swell_wave_period,swell_wave_peak_period,wave_direction,wave_height,wave_period,wind_wave_direction,wind_wave_height,wind_wave_period,wind_wave_peak_period"},{rank:4,disabled:!0,name:"GWAM",alias:"ECMWF",model:"gwam",provider:"DWD",country:"Germany",resolution:5,tips:"5km",length:4,frequency:2,models:["gwam"],categories:"dwd_gwam",variables:"swell_wave_direction,swell_wave_height,swell_wave_period,swell_wave_peak_period,wave_direction,wave_height,wave_period,wind_wave_direction,wind_wave_height,wind_wave_period,wind_wave_peak_period"},{rank:5,disabled:!0,name:"ECWAM",alias:"ECMWF",model:"ecmwf_wam025",provider:"ECMWF",country:"Europe",resolution:25,tips:"25km",length:10,frequency:6,models:["ecmwf_wam025"],categories:"ecmwf_wam025",variables:"swell_wave_direction,swell_wave_height,swell_wave_period,swell_wave_peak_period,wave_direction,wave_height,wave_period,wind_wave_direction,wind_wave_height,wind_wave_period,wind_wave_peak_period"},{rank:6,name:"GFSWave",alias:"GFS",model:"ncep_gfswave025",provider:"NCEP",country:"USA",resolution:25,tips:"25km",length:10,frequency:6,models:["ncep_gfswave025","ncep_gfswave016"],categories:"ncep_gfswave025,ncep_gfswave016",variables:"swell_wave_direction,swell_wave_height,swell_wave_period,swell_wave_peak_period,wave_direction,wave_height,wave_period,wind_wave_direction,wind_wave_height,wind_wave_period,wind_wave_peak_period"},{rank:7,disabled:!0,name:"ERA5-Ocean",alias:"ECMWF",model:"era5_ocean",provider:"Copernicus",country:"Europe",resolution:50,tips:"50km",length:-5,frequency:1,models:["era5_ocean"],categories:"copernicus_era5_ocean",variables:"swell_wave_direction,swell_wave_height,swell_wave_period,swell_wave_peak_period,wave_direction,wave_height,wave_period,wind_wave_direction,wind_wave_height,wind_wave_period,wind_wave_peak_period"}];class _o{static standardWeatherModels(){return Ie.filter(t=>!t.disabled&&t.alias)}static standardMarineModels(){return Re.filter(t=>!t.disabled&&t.alias)}static autoPickLayerModel(t,a="copernicus"){return a=a||"copernicus",a=a==null?void 0:a.toLowerCase(),a=["gfs","ecmwf","copernicus"].includes(a)?a:"copernicus",t=t==null?void 0:t.toLowerCase(),t==="gfs"?"gfs":["ec","ecmwf"].includes(t)?"ecmwf":["copernicus","cmems"].includes(t)?"copernicus":a}static autoPickPeerModel(t,a,r="copernicus"){if(a=this.autoPickLayerModel(a,r),ja.LayerHelper.WEATHER_LAYERS.reduce((i,l)=>l.atmos?i+l.weight:i,0)&t.weight){if(a==="copernicus")return"ecmwf"}else if(a==="ecmwf")return"copernicus";return a}static autoPickMeteoModel(t="best_match"){var a,r;t=t==null?void 0:t.toLowerCase(),t=t==="ec"?"ecmwf":t;const i=t.toLowerCase().split(","),l=[],s=[];for(const n of i){let c=Ie.find(d=>{var g,f,w;return((g=d.models)==null?void 0:g.includes(n))||((f=d.alias)==null?void 0:f.toLowerCase())===n||((w=d.name)==null?void 0:w.toLowerCase())===n}),h=Re.find(d=>{var g,f,w;return((g=d.models)==null?void 0:g.includes(n))||((f=d.alias)==null?void 0:f.toLowerCase())===n||((w=d.name)==null?void 0:w.toLowerCase())===n});c=c||Ie.find(d=>{var g,f;return((g=d.alias)==null?void 0:g.toLowerCase())===((f=h==null?void 0:h.alias)==null?void 0:f.toLowerCase())}),h=h||Re.find(d=>{var g,f;return((g=d.alias)==null?void 0:g.toLowerCase())===((f=c==null?void 0:c.alias)==null?void 0:f.toLowerCase())}),c=c||Ie[0],h=h||Re[0],l.push((a=c.models)!=null&&a.includes(n)?n:c.model),s.push((r=h.models)!=null&&r.includes(n)?n:h.model)}return{weatherModels:l.join(","),marineModels:s.join(",")}}static autoPickSubCategories(t){t=t.toUpperCase();const a=Ie.filter(l=>l.alias===t),r=Re.filter(l=>l.alias===t),i=[];return a.forEach(l=>{l.categories&&i.push(...l.categories.split(","))}),r.forEach(l=>{l.categories&&i.push(...l.categories.split(","))}),i}static pickHourly(t,a){var r,i,l,s,n,c,h,d,g,f,w,z,x,p,S,L,_,b,u,k,y,C,E,B,A,O,G,W,F,$,ee,J,q,te,re,oe,ae,P,U,ce,he,fe,ye,pe,we,be,M,Y,Pe,ke,se,xe;const I=typeof a=="string"?v(a):a,ne=t==null?void 0:t.weather,Z=t==null?void 0:t.marine,X=v((i=(r=ne==null?void 0:ne[0])==null?void 0:r.hourly)==null?void 0:i.date).utc(),ve=X.clone().add((n=(s=(l=ne==null?void 0:ne[0])==null?void 0:l.hourly)==null?void 0:s.time)==null?void 0:n.at(0),"h"),Se=X.clone().add((d=(h=(c=ne==null?void 0:ne[0])==null?void 0:c.hourly)==null?void 0:h.time)==null?void 0:d.at(-1),"h"),Ne=[];if(I.isBetween(ve,Se,"millisecond","[]")){const N=I.utc().diff(ve,"h",!1);let me,ze;if(ne){let Le=0,Ce=0,D=0;for(const Te of ne){const R=Te==null?void 0:Te.hourly;for(let ge=N-(N-1)%3;ge<=N;ge++)Le+=(g=R==null?void 0:R.precipitation)==null?void 0:g.at(ge);for(let ge=N-(N-1)%6;ge<=N;ge++)Ce+=(f=R==null?void 0:R.precipitation)==null?void 0:f.at(ge);for(let ge=N-(N-1)%12;ge<=N;ge++)D+=(w=R==null?void 0:R.precipitation)==null?void 0:w.at(ge);me={temp:(z=R==null?void 0:R.temperature_2m)==null?void 0:z.at(N),apparentTemp:(x=R==null?void 0:R.apparent_temperature)==null?void 0:x.at(N),rh:(p=R==null?void 0:R.relative_humidity_2m)==null?void 0:p.at(N),dp:(S=R==null?void 0:R.dew_point_2m)==null?void 0:S.at(N),precip:{probability:(L=R==null?void 0:R.precipitation_probability)==null?void 0:L.at(N),sum:(_=R==null?void 0:R.precipitation)==null?void 0:_.at(N),sum1Hours:(b=R==null?void 0:R.precipitation)==null?void 0:b.at(N),sum3Hours:Math.round(Le*100)/100,sum6Hours:Math.round(Ce*100)/100,sum12Hours:Math.round(D*100)/100},pmsl:(u=R==null?void 0:R.pressure_msl)==null?void 0:u.at(N),psurf:(k=R==null?void 0:R.surface_pressure)==null?void 0:k.at(N),code:(y=R==null?void 0:R.weather_code)==null?void 0:y.at(N),visibility:this.m2nm((C=R==null?void 0:R.visibility)==null?void 0:C.at(N)),wind:{speed:(E=R==null?void 0:R.wind_speed_10m)==null?void 0:E.at(N),kts:(B=R==null?void 0:R.wind_speed_10m)==null?void 0:B.at(N),degree:(A=R==null?void 0:R.wind_direction_10m)==null?void 0:A.at(N),bearing:((O=R==null?void 0:R.wind_direction_10m)==null?void 0:O.at(N))!==null?(((G=R==null?void 0:R.wind_direction_10m)==null?void 0:G.at(N))+180)%360:null,gusts:(W=R==null?void 0:R.wind_gusts_10m)==null?void 0:W.at(N)},isDay:(F=R==null?void 0:R.is_day)==null?void 0:F.at(N)};const{name:Ee,url:Me,bg:Ve}=this.parseWeatherCode(me.code,me.isDay);me.name=Ee,me.url=Me,me.bg=Ve,me.wind.scale=this.beaufort(this.kts2ms(me.wind.kts)),me.wind.direction=this.degree2Direction(me.wind.degree),Ne.push({utc:ve.add(N,"h").format(),model:Te.model,weather:{...me}})}}if(Z){let Le=0;for(const Ce of Z){const D=Ce==null?void 0:Ce.hourly;ze={wave:{sig:{height:($=D==null?void 0:D.wave_height)==null?void 0:$.at(N),degree:(ee=D==null?void 0:D.wave_direction)==null?void 0:ee.at(N),bearing:((J=D==null?void 0:D.wave_direction)==null?void 0:J.at(N))!==null?(((q=D==null?void 0:D.wave_direction)==null?void 0:q.at(N))+180)%360:null,period:(te=D==null?void 0:D.wave_period)==null?void 0:te.at(N)},swell:{height:(re=D==null?void 0:D.swell_wave_height)==null?void 0:re.at(N),degree:(oe=D==null?void 0:D.swell_wave_direction)==null?void 0:oe.at(N),bearing:((ae=D==null?void 0:D.swell_wave_direction)==null?void 0:ae.at(N))!==null?(((P=D==null?void 0:D.swell_wave_direction)==null?void 0:P.at(N))+180)%360:null,period:(U=D==null?void 0:D.swell_wave_period)==null?void 0:U.at(N),peakPeriod:(ce=D==null?void 0:D.swell_wave_peak_period)==null?void 0:ce.at(N)},wd:{height:(he=D==null?void 0:D.wind_wave_height)==null?void 0:he.at(N),degree:(fe=D==null?void 0:D.wind_wave_direction)==null?void 0:fe.at(N),bearing:((ye=D==null?void 0:D.wind_wave_direction)==null?void 0:ye.at(N))!==null?(((pe=D==null?void 0:D.wind_wave_direction)==null?void 0:pe.at(N))+180)%360:null,period:(we=D==null?void 0:D.wind_wave_period)==null?void 0:we.at(N),peakPeriod:(be=D==null?void 0:D.wind_wave_peak_period)==null?void 0:be.at(N)}},current:{speed:(M=D==null?void 0:D.ocean_current_velocity)==null?void 0:M.at(N),kts:(Y=D==null?void 0:D.ocean_current_velocity)==null?void 0:Y.at(N),degree:(Pe=D==null?void 0:D.ocean_current_direction)==null?void 0:Pe.at(N),bearing:((ke=D==null?void 0:D.ocean_current_direction)==null?void 0:ke.at(N))??null},sst:(se=D==null?void 0:D.sea_surface_temperature)==null?void 0:se.at(N),height:(xe=D==null?void 0:D.sea_level_height_msl)==null?void 0:xe.at(N)},ze.wave=this.parseWave(ze.wave,me==null?void 0:me.wind),ze.current.direction=this.degree2Direction(ze.current.degree),Object.assign(Ne[Le],ze),Le++}}}return Ne}static toLegacy(t){var a,r,i,l,s,n,c,h,d,g;return{wind:(a=t==null?void 0:t.weather)==null?void 0:a.wind,visibility:(r=t==null?void 0:t.weather)==null?void 0:r.visibility,temp:(i=t==null?void 0:t.weather)==null?void 0:i.temp,prmsl:(l=t==null?void 0:t.weather)==null?void 0:l.pmsl,gusts:{kts:(n=(s=t==null?void 0:t.weather)==null?void 0:s.wind)==null?void 0:n.gusts},precip:(c=t==null?void 0:t.weather)==null?void 0:c.precip,code:(h=t==null?void 0:t.weather)==null?void 0:h.code,name:(d=t==null?void 0:t.weather)==null?void 0:d.name,url:(g=t==null?void 0:t.weather)==null?void 0:g.url,wave:t==null?void 0:t.wave,current:t==null?void 0:t.current,sst:t==null?void 0:t.sst,height:t==null?void 0:t.height,utc:t==null?void 0:t.utc,source:t==null?void 0:t.model}}static pickDaily(t,a){var r,i,l,s,n,c,h,d,g,f,w,z,x,p,S,L,_,b,u,k,y,C,E,B,A,O,G,W,F,$,ee,J,q,te,re,oe,ae,P,U,ce,he,fe,ye,pe;const we=typeof a=="string"?v(a):a,be=t==null?void 0:t.weather,M=t==null?void 0:t.marine,Y=v((l=(i=(r=be==null?void 0:be[0])==null?void 0:r.daily)==null?void 0:i.time)==null?void 0:l.at(0)),Pe=v((c=(n=(s=be==null?void 0:be[0])==null?void 0:s.daily)==null?void 0:n.time)==null?void 0:c.at(-1)),ke=[];if(we.isBetween(Y,Pe,"millisecond","[]")){let se,xe;const I=we.diff(Y,"d",!1);if(be)for(const ne of be){const Z=ne.daily;se={code:(h=Z.weather_code)==null?void 0:h.at(I),temp:{max:(d=Z.temperature_2m_max)==null?void 0:d.at(I),min:(g=Z.temperature_2m_min)==null?void 0:g.at(I),mean:(f=Z.temperature_2m_mean)==null?void 0:f.at(I)},apparentTemp:{max:(w=Z.apparent_temperature_max)==null?void 0:w.at(I),min:(z=Z.apparent_temperature_min)==null?void 0:z.at(I)},precip:{sum:(x=Z.precipitation_sum)==null?void 0:x.at(I),rainSum:(p=Z.rain_sum)==null?void 0:p.at(I),snowfallSum:(S=Z.snowfall_sum)==null?void 0:S.at(I),showersSum:(L=Z.showers_sum)==null?void 0:L.at(I),hours:(_=Z.precipitation_hours)==null?void 0:_.at(I),probability:(b=Z.precipitation_probability_max)==null?void 0:b.at(I)},rh:{max:(u=Z.relative_humidity_2m_max)==null?void 0:u.at(I),min:(k=Z.relative_humidity_2m_min)==null?void 0:k.at(I),mean:(y=Z.relative_humidity_2m_mean)==null?void 0:y.at(I)},wind:{speed:(C=Z.wind_speed_10m_max)==null?void 0:C.at(I),kts:(E=Z.wind_speed_10m_max)==null?void 0:E.at(I),degree:(B=Z.wind_direction_10m_dominant)==null?void 0:B.at(I),gusts:(A=Z.wind_gusts_10m_max)==null?void 0:A.at(I),bearing:((O=Z.wind_direction_10m_dominant)==null?void 0:O.at(I))!==null?(((G=Z.wind_direction_10m_dominant)==null?void 0:G.at(I))+180)%360:null}};const{name:X,url:ve,bg:Se}=this.parseWeatherCode(se.code,!0);se.name=X,se.url=ve,se.bg=Se,se.wind.scale=this.beaufort(this.kts2ms(se.wind.kts)),se.wind.direction=this.degree2Direction(se.wind.degree),ke.push({utc:Y.add(I,"d").utc().format(),model:ne.model,weather:{...se}})}if(M){let ne=0;for(const Z of M){const X=Z.daily;xe={wave:{sig:{height:(W=X.wave_height_max)==null?void 0:W.at(I),degree:(F=X.wave_direction_dominant)==null?void 0:F.at(I),period:($=X.wave_period_max)==null?void 0:$.at(I),bearing:((ee=X.wave_direction_dominant)==null?void 0:ee.at(I))!==null?(((J=X.wave_direction_dominant)==null?void 0:J.at(I))+180)%360:null},swell:{height:(q=X.swell_wave_height_max)==null?void 0:q.at(I),degree:(te=X.swell_wave_direction_dominant)==null?void 0:te.at(I),period:(re=X.swell_wave_period_max)==null?void 0:re.at(I),peakPeriod:(oe=X.swell_wave_peak_period_max)==null?void 0:oe.at(I),bearing:((ae=X.swell_wave_direction_dominant)==null?void 0:ae.at(I))!==null?((P=X.swell_wave_direction_dominant)==null?void 0:P.at(I))%360:null},wd:{height:(U=X.wind_wave_height_max)==null?void 0:U.at(I),degree:(ce=X.wind_wave_direction_dominant)==null?void 0:ce.at(I),period:(he=X.wind_wave_period_max)==null?void 0:he.at(I),peakPeriod:(fe=X.wind_wave_peak_period_max)==null?void 0:fe.at(I),bearing:((ye=X.wind_wave_direction_dominant)==null?void 0:ye.at(I))!==null?(((pe=X.wind_wave_direction_dominant)==null?void 0:pe.at(I))+180)%360:null}}},xe.wave=this.parseWave(xe.wave,se==null?void 0:se.wind),Object.assign(ke[ne],xe),ne++}}}return ke}static parseWave(t,a){if(t.sig.direction=this.degree2Direction(t.sig.degree),t.swell.direction=this.degree2Direction(t.swell.degree),t.wd.direction=this.degree2Direction(t.wd.degree),t.sig.scale=this.douglas(t.sig.height),t.swell.scale=this.douglas(t.swell.height),t.wd.scale=this.douglas(t.wd.height),t.sig.height===0){const r=Math.sqrt(Math.pow(t.swell.height||0,2)+Math.pow(t.wd.height||0,2));t.sig.height=Math.round(r*100)/100}if(t.swell.height===0)if(t.sig.height>t.wd.height){const r=Math.sqrt(Math.abs(Math.pow(t.sig.height||0,2)-Math.pow(t.wd.height||0,2)));t.swell.height=Math.round(r*100)/100}else{const r=Math.round(.12*this.kts2ms((a==null?void 0:a.kts)||0)*100)/100,i=r>1?r/10:r>.5?r/5:r>.3?r/2:r;t.swell.height=Math.round(i*100)/100}if(t.wd.height===0||t.wd.height>t.sig.height)if(t.sig.height>t.swell.height){const r=Math.sqrt(Math.abs(Math.pow(t.sig.height||0,2)-Math.pow(t.swell.height||0,2))),i=.24*this.kts2ms((a==null?void 0:a.kts)||0);t.wd.height=Math.round(Math.min(r,i)*100)/100}else{const r=.24*this.kts2ms((a==null?void 0:a.kts)||0);t.wd.height=Math.round(r*100)/100}return t.swell.height>t.sig.height&&(t.swell.height=Math.round(t.sig.height*.76*100)/100),t.sig.period||(t.sig.period=Math.round(5*Math.sqrt(t.sig.height))),t.swell.period||(t.swell.period=Math.round(5*Math.sqrt(t.swell.height))),t.wd.period||(t.wd.period=Math.round(5*Math.sqrt(t.wd.height))),t}static parseWeatherCode(t,a){const r=this.weatherCode(t);return(a?r.day:r.night)||{}}static weatherCode(t){const a={code:t};switch(t){case 0:a.day={name:"Sunny",url:"https://osshz.idmwx.com/asset/weather/01d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg1.png"},a.night={name:"Clear",url:"https://osshz.idmwx.com/asset/weather/01n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg1.png"};break;case 1:a.day={name:"Mainly Sunny",url:"https://osshz.idmwx.com/asset/weather/01d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg1.png"},a.night={name:"Mainly Clear",url:"https://osshz.idmwx.com/asset/weather/01n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg1.png"};break;case 2:a.day={name:"Partly Cloudy",url:"https://osshz.idmwx.com/asset/weather/02d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg2.png"},a.night={name:"Partly Cloudy",url:"https://osshz.idmwx.com/asset/weather/02n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg2.png"};break;case 3:a.day={name:"Overcast",url:"https://osshz.idmwx.com/asset/weather/04d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg3.png"},a.night={name:"Overcast",url:"https://osshz.idmwx.com/asset/weather/04n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg3.png"};break;case 45:a.day={name:"Foggy",url:"https://osshz.idmwx.com/asset/weather/50d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg4.png"},a.night={name:"Foggy",url:"https://osshz.idmwx.com/asset/weather/50n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg4.png"};break;case 48:a.day={name:"Rime Fog",url:"https://osshz.idmwx.com/asset/weather/50d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg4.png"},a.night={name:"Rime Fog",url:"https://osshz.idmwx.com/asset/weather/50n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg4.png"};break;case 51:a.day={name:"Light Drizzle",url:"https://osshz.idmwx.com/asset/weather/14d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Drizzle",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 53:a.day={name:"Drizzle",url:"https://osshz.idmwx.com/asset/weather/14d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Drizzle",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 55:a.day={name:"Heavy Drizzle",url:"https://osshz.idmwx.com/asset/weather/15d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Heavy Drizzle",url:"https://osshz.idmwx.com/asset/weather/15n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 56:a.day={name:"Light Freezing Drizzle",url:"https://osshz.idmwx.com/asset/weather/14d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Freezing Drizzle",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 57:a.day={name:"Freezing Drizzle",url:"https://osshz.idmwx.com/asset/weather/14d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Freezing Drizzle",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 61:a.day={name:"Light Rain",url:"https://osshz.idmwx.com/asset/weather/16d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Rain",url:"https://osshz.idmwx.com/asset/weather/10n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 63:a.day={name:"Rain",url:"https://osshz.idmwx.com/asset/weather/16d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Rain",url:"https://osshz.idmwx.com/asset/weather/10n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 65:a.day={name:"Heavy Rain",url:"https://osshz.idmwx.com/asset/weather/16d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Heavy Rain",url:"https://osshz.idmwx.com/asset/weather/10n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 66:a.day={name:"Light Freezing Rain",url:"https://osshz.idmwx.com/asset/weather/16d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Freezing Rain",url:"https://osshz.idmwx.com/asset/weather/10n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 67:a.day={name:"Freezing Rain",url:"https://osshz.idmwx.com/asset/weather/16d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Freezing Rain",url:"https://osshz.idmwx.com/asset/weather/10n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 71:a.day={name:"Light Snow",url:"https://osshz.idmwx.com/asset/weather/17d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Light Snow",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 73:a.day={name:"Snow",url:"https://osshz.idmwx.com/asset/weather/17d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Snow",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 75:a.day={name:"Heavy Snow",url:"https://osshz.idmwx.com/asset/weather/17d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Heavy Snow",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 77:a.day={name:"Snow Grains",url:"https://osshz.idmwx.com/asset/weather/17d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Snow Grains",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 80:a.day={name:"Light Showers",url:"https://osshz.idmwx.com/asset/weather/09d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Showers",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 81:a.day={name:"Showers",url:"https://osshz.idmwx.com/asset/weather/09d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Showers",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 82:a.day={name:"Heavy Showers",url:"https://osshz.idmwx.com/asset/weather/09d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Heavy Showers",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 85:a.day={name:"Light Snow Showers",url:"https://osshz.idmwx.com/asset/weather/13d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Light Snow Showers",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 86:a.day={name:"Snow Showers",url:"https://osshz.idmwx.com/asset/weather/13d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Snow Showers",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 95:a.day={name:"Thunderstorm",url:"https://osshz.idmwx.com/asset/weather/11d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Thunderstorm",url:"https://osshz.idmwx.com/asset/weather/11n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 96:a.day={name:"Light Thunderstorms With Hail",url:"https://osshz.idmwx.com/asset/weather/11d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Thunderstorms With Hail",url:"https://osshz.idmwx.com/asset/weather/11n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 99:a.day={name:"Thunderstorms With Hail",url:"https://osshz.idmwx.com/asset/weather/11d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Thunderstorms With Hail",url:"https://osshz.idmwx.com/asset/weather/11n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break}return a}static kts2ms(t){return isNaN(t)||t===null?t:Math.round(t*1852/3600*1e4)/1e4}static kts2kmh(t){return isNaN(t)||t===null?t:t*1.852}static m2nm(t){return isNaN(t)||t===null?t:Math.round(t/1e3/1.852*1e4)/1e4}static kmh2kts(t){return isNaN(t)||t===null?t:this.ms2kts(t*1e3/3600)}static ms2kts(t){return isNaN(t)||t===null?t:Math.round(t*3600/1852*1e4)/1e4}static degree2Radian(t){if(isNaN(t)||t===null)return t;let a=t%360/360*2*Math.PI;return a=a<0?a+2*Math.PI:a,a}static degree2Direction(t){const a=this.degree2Radian(t);if(isNaN(a)||a===null)return null;let r="N/A";const i=Math.PI/16;return a<i?r="N":a>=i&&a<3*i?r="NNE":a>=3*i&&a<5*i?r="NE":a>=5*i&&a<7*i?r="ENE":a>=7*i&&a<9*i?r="E":a>=9*i&&a<11*i?r="ESE":a>=11*i&&a<13*i?r="SE":a>=13*i&&a<15*i?r="SSE":a>=15*i&&a<17*i?r="S":a>=17*i&&a<19*i?r="SSW":a>=19*i&&a<21*i?r="SW":a>=21*i&&a<23*i?r="WSW":a>=23*i&&a<25*i?r="W":a>=25*i&&a<27*i?r="WNW":a>=27*i&&a<29*i?r="NW":a>=29*i&&a<31*i?r="NNW":a>=31*i&&a<32*i&&(r="N"),r}static beaufort(t){let a=0;return isNaN(t)||(t=Math.round(t*10)/10,t<=.2?a=0:t<=1.5?a=1:t<=3.3?a=2:t<=5.4?a=3:t<=7.9?a=4:t<=10.7?a=5:t<=13.8?a=6:t<=17.1?a=7:t<=20.7?a=8:t<=22.4?a=9:t<=28.4?a=10:t<=32.6?a=11:t<=36.9?a=12:t<=41.4?a=13:t<=46.1?a=14:t<=50.9?a=15:t<=55.9?a=16:t<=61.2?a=17:t>61.2&&(a=18)),a}static douglas(t){let a="Calm";return isNaN(t)||t<=.1?a="Calm":t<=.5?a="Smooth":t<=1.25?a="Slight":t<=2.5?a="Moderate":t<=4?a="Rough":t<=6?a="VeryRough":t<=9?a="High":t<=14?a="VeryHigh":a="Precipitous",a}}const rh="",Gn={name:"IdmTropicals",props:{simple:{type:Boolean,default:!1},permission:{type:Number},locale:{type:String},map:{type:Object},top:{type:Number,default:60},paddingTop:{type:Number,default:48},menuToggle:{type:Object,default:{}},timeZone:{type:Number},token:{type:String},defaultMeteoToken:{type:String},gateway:{type:String,default:"aa"},assistGateway:{type:Array,default:[]},forecastModel:{type:String},realTime:{type:String},beforeLayer:{type:String}},emits:["tropical","tropicalCenterPoints","tropicalProbability","tropicalNotification"],setup(){return{Theme:le.useTheme()}},data(){return{right:10,toggle:!1,helper:Be.CompanyHelper,tropicals:void 0,tropicalCacheKey:"tropicalCacheGL4",source:"tropicals-source",clusterSource:"tropicals-cluster-source",historyLayer:"tropicals-history-layer",forecastLayer:"tropicals-forecast-layer",forecastModelLayer:"tropicals-forecast-model-layer",forecastNameLayer:"tropicals-forecast-name-layer",pointCircleLayer:"tropicals-point-circle-layer",pointLabelLayer:"tropicals-point-label-layer",historyPointCircleLayer:"history-tropicals-point-circle-layer",historyPointLabelLayer:"history-tropicals-point-label-layer",interpolateData:[],interpolateMarkers:[],interpolateSource:"tropicals-interpolate-source",interpolateLineLayer:"tropicals-interpolate-line-layer",showTropicalsInfo:!1,activeTropicals:void 0,activeTropicalsMarker:void 0,empty:V.featureCollection([]),showLegend:!1,showHoverPoint:!1,hoverPoint:void 0,hoverMarker:void 0}},computed:{hoverLayers(){return[this.forecastNameLayer,this.forecastLayer,this.historyLayer,this.pointCircleLayer,this.pointCircleLayer+"-border",this.historyPointCircleLayer,this.historyPointCircleLayer+"-border",this.historyPointCircleLayer+"-inner"]},clickLayers(){return[this.forecastNameLayer,this.historyLayer]},computeTime(){return(o,t)=>{if(o){const a=v(o).utcOffset(t),r=t<0?t:"+"+t;return`${a==null?void 0:a.format("MMM-DD/HHmm")} (UTC${r}) ${a==null?void 0:a.fromNow()} `}return"-"}},computeTzTime(){return(o,t,a="MM-DD HH:mm")=>{var r,i;if(o){const l=t||0,s=(i=(r=v(o))==null?void 0:r.utcOffset(l))==null?void 0:i.format(a),n=`(UTC ${l>=0?"+":""}${l})`;return s+" "+n}return"-"}},computeTimezone(){return this.timeZone<0?this.timeZone:"+"+this.timeZone},computeBF(){return function(o){const t=_o.kts2ms(o);return _o.beaufort(t)}},computeMovement(){return function(o){var t,a;return(a=(t=o==null?void 0:o.forecasts)==null?void 0:t.find(r=>!r.disabled))==null?void 0:a.movement}},computePosition(){return o=>!o||o.lng===null||o.lng===void 0||isNaN(o.lng)||o.lat===null||o.lat===void 0||isNaN(o.lat)?"-":T.LngLatHelper.lat2pretty(o==null?void 0:o.lat,2).pretty+" / "+T.LngLatHelper.lng2pretty(o==null?void 0:o.lng,2).pretty}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)})},immediate:!0},map:{handler(){this.map?(this.toggle=localStorage.getItem(this.tropicalCacheKey)==="true"||!1,localStorage.setItem(this.tropicalCacheKey,this.toggle),this.toggle&&this.fetchTropicals()):this.handleClear()}},showTropicalsInfo:{handler(){this.$emit("tropical",this.showTropicalsInfo)},immediate:!0},"tropicals.version":{handler(){this.handleRefresh()}},timeZone:{handler(o,t){o!==t&&this.handleRefresh()}},realTime:{handler(o){this.map&&o&&this.toggle&&this.handleRender()}},locale:{handler(o){this.map&&this.toggle&&this.handleRefresh()}}},mounted(){},methods:{handleMenuToggle(){var o,t,a;this.toggle=!this.toggle,localStorage.setItem(this.tropicalCacheKey,this.toggle),this.toggle?this.fetchTropicals():(this.handleClear(),(a=(t=(o=this.$parent)==null?void 0:o.$refs)==null?void 0:t.idmBottomBar)==null||a.handleToggle("tropical",!1))},async fetchTropicals(){var i,l,s;const o=new Date().valueOf();let t=0,a=0,r=(i=Be.LayerHelper.WEATHER_LAYERS.find(n=>n.key==="tropicals"))==null?void 0:i.weight;if(r>0){const n=this.assistGateway[Math.round(Math.random()*(this.assistGateway.length-1))],c=await Q.get(`${n}/api/arc/weather/layers2/links?l=${r}&v=${this.forecastModel}&t=${this.realTime}`,{headers:{Authorization:this.defaultMeteoToken}});if(a=new Date().valueOf()-(o+t),console.log("weather links elapsed: ",a,", total: ",t+=a),((l=c==null?void 0:c.data)==null?void 0:l.code)===0){const h=(s=c==null?void 0:c.data)==null?void 0:s.data;await Q.get(h.tropicals,{headers:{Authorization:this.defaultMeteoToken,key:"tropicals"},responseType:/\.(jpg|png)$/.test(h.tropicals)?"blob":"json"}).then(d=>{var w,z,x;const g=T.TropicalHelper.convert2Geojson(((w=d==null?void 0:d.data)==null?void 0:w.data)||(d==null?void 0:d.data));((x=(z=d==null?void 0:d.config)==null?void 0:z.headers)==null?void 0:x.key)&&g&&(this.tropicals={data:g,active:!0,cached:!0,type:"json",etime:c.data.etime,version:Math.random()+1})}).catch(d=>{console.log(`[${key}] fetch layer error: ${d}`)})}a=new Date().valueOf()-(o+t),console.log("tropicals elapsed: ",a,", total: ",t+=a)}},handleRefresh(){var t,a;(((a=(t=this.tropicals)==null?void 0:t.data)==null?void 0:a.features)||[]).forEach(r=>{var i,l,s,n,c,h,d,g,f,w,z,x,p,S,L,_,b,u,k,y;if(((i=r.geometry)==null?void 0:i.type)==="Point"){let C="";switch(!0){case(((l=r.properties.wind)==null?void 0:l.kts)<32||((s=r.properties)==null?void 0:s.kts)<32):C="TD";break;case(((n=r.properties.wind)==null?void 0:n.kts)<47||((c=r.properties)==null?void 0:c.kts)<47):C="TS";break;case(((h=r.properties.wind)==null?void 0:h.kts)<63||((d=r.properties)==null?void 0:d.kts)<63):C="STS";break;case(((g=r.properties.wind)==null?void 0:g.kts)<79||((f=r.properties)==null?void 0:f.kts)<79):C="TY";break;case(((w=r.properties.wind)==null?void 0:w.kts)<94||((z=r.properties)==null?void 0:z.kts)<94):C="STY";break;case(((x=r.properties.wind)==null?void 0:x.kts)>=94||((p=r.properties)==null?void 0:p.kts)>=94):C="Super TY";break;default:C="Super TY";break}r.properties.level=C}((S=r.geometry)==null?void 0:S.type)==="Point"&&((L=r.properties)!=null&&L.important)&&(r.properties.format=(b=(_=v(r.properties.date))==null?void 0:_.utcOffset(this.timeZone))==null?void 0:b.format(`MMM-DD/HHmm [(utc${this.computeTimezone})]`)),((u=r.geometry)==null?void 0:u.type)==="Point"&&(r.properties.Name=((y=(k=r.properties.name)==null?void 0:k.trim())==null?void 0:y.replace(/^./,C=>C.toUpperCase()))||r.properties.nameCn,r.properties.nameCn=r.properties.nameCn||r.properties.Name||"-")}),this.handleInit()},handleInit(){var o,t,a,r,i,l,s,n,c,h,d,g;this.handleClear(),this.tropicals&&this.map&&(this.handleRender(),(o=this.map)==null||o.on("click",this.clickLayers,this.handleClick),(t=this.map)==null||t.on("mousemove",this.hoverLayers,this.handleHover),(a=this.map)==null||a.on("mouseleave",this.hoverLayers,this.handleLeave)),((l=(i=(r=this.tropicals)==null?void 0:r.data)==null?void 0:i.features)==null?void 0:l.length)>0?(c=(n=(s=this.$parent)==null?void 0:s.$refs)==null?void 0:n.idmBottomBar)==null||c.handleToggle("tropical",!0):(g=(d=(h=this.$parent)==null?void 0:h.$refs)==null?void 0:d.idmBottomBar)==null||g.handleToggle("tropical",!1)},handleRender(){var o,t,a,r,i,l,s,n,c,h;if(this.tropicals&&this.map){const d=new Date().valueOf();let g=0,f=0;(o=this.map)!=null&&o.getSource(this.source)?((a=this.map)==null||a.getSource(this.source).setData((t=this.tropicals)!=null&&t.active?this.tropicals.data:this.empty),f=new Date().valueOf()-(d+g),console.log("[tropicals] update elapsed: ",f,", total: ",g+=f)):(this.map.addSource(this.source,{type:"geojson",data:(r=this.tropicals)!=null&&r.active?(i=this.tropicals)==null?void 0:i.data:this.empty}),this.map.addLayer({id:this.historyLayer,type:"line",source:this.source,filter:["all",["==","$type","LineString"],["==","type","history"],["!=","disabled",!0]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.Theme.current.value.colors["on-surface"],"line-width":3,"line-opacity":.7}},this.beforeLayer),this.map.addLayer({id:this.forecastLayer,type:"line",source:this.source,filter:["all",["==","$type","LineString"],["==","type","forecast"],["!=","disabled",!0]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":["match",["get","model"],"cma",this.Theme.current.value.colors["tropicals-cma"],"jma",this.Theme.current.value.colors["tropicals-jma"],"ecmwf",this.Theme.current.value.colors["tropicals-ecmwf"],"ukm",this.Theme.current.value.colors["tropicals-ukm"],"noaa-at",this.Theme.current.value.colors["tropicals-noaa-at"],"noaa-ep",this.Theme.current.value.colors["tropicals-noaa-ep"],this.Theme.current.value.colors["tropicals-noaa-other"]],"line-width":2,"line-opacity":1,"line-dasharray":[1,2]}},this.beforeLayer),this.map.addLayer({id:this.forecastModelLayer,type:"symbol",source:this.source,filter:["all",["==","$type","LineString"],["==","type","forecast"],["!=","disabled",!0]],layout:{"symbol-placement":"line","text-field":"{model}","text-rotation-alignment":"viewport","text-size":12},paint:{"text-color":this.Theme.current.value.dark?"#333":"#fff","text-opacity":1,"text-halo-color":["match",["get","model"],"cma",this.Theme.current.value.colors["tropicals-cma"],"jma",this.Theme.current.value.colors["tropicals-jma"],"ecmwf",this.Theme.current.value.colors["tropicals-ecmwf"],"ukm",this.Theme.current.value.colors["tropicals-ukm"],"noaa-at",this.Theme.current.value.colors["tropicals-noaa-at"],"noaa-ep",this.Theme.current.value.colors["tropicals-noaa-ep"],this.Theme.current.value.colors["tropicals-noaa-other"]],"text-halo-width":4}},this.beforeLayer),f=new Date().valueOf()-(d+g),console.log("[tropical] add elapsed: ",f,", total: ",g+=f)),(l=this.map)!=null&&l.getSource(this.clusterSource)?((n=this.map)==null||n.getSource(this.clusterSource).setData((s=this.tropicals)!=null&&s.active?this.tropicals.data:this.empty),f=new Date().valueOf()-(d+g),console.log("[tropical] update elapsed: ",f,", total: ",g+=f)):(this.map.addSource(this.clusterSource,{type:"geojson",data:(c=this.tropicals)!=null&&c.active?(h=this.tropicals)==null?void 0:h.data:this.empty}),this.map.addLayer({id:this.pointCircleLayer+"-border",type:"circle",source:this.clusterSource,filter:["all",["==","$type","Point"],["==","type","forecast"],["!=","disabled",!0]],paint:{"circle-radius":5,"circle-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer),this.map.addLayer({id:this.pointCircleLayer,type:"circle",source:this.clusterSource,filter:["all",["==","$type","Point"],["==","type","forecast"],["!=","disabled",!0]],paint:{"circle-radius":4,"circle-color":["case",["boolean",["==",["get","kts",["get","wind"]],null]],this.Theme.current.value.colors["tropicals-td"],["boolean",["<",["get","kts",["get","wind"]],32]],this.Theme.current.value.colors["tropicals-td"],["boolean",["<",["get","kts",["get","wind"]],47]],this.Theme.current.value.colors["tropicals-ts"],["boolean",["<",["get","kts",["get","wind"]],63]],this.Theme.current.value.colors["tropicals-sts"],["boolean",["<",["get","kts",["get","wind"]],79]],this.Theme.current.value.colors["tropicals-ty"],["boolean",["<",["get","kts",["get","wind"]],94]],this.Theme.current.value.colors["tropicals-sty"],["boolean",[">=",["get","kts",["get","wind"]],94]],this.Theme.current.value.colors["tropicals-super-ty"],"#fff"]}},this.beforeLayer),this.map.addLayer({id:this.pointLabelLayer,type:"symbol",source:this.clusterSource,minzoom:5,filter:["all",["==","$type","Point"],["==","type","forecast"],["!=","disabled",!0]],layout:{"text-field":["get","format"],"text-offset":[1,0],"text-anchor":"left","text-size":10},paint:{"text-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer),this.map.addLayer({id:this.historyPointCircleLayer+"-border",type:"circle",source:this.clusterSource,filter:["all",["==","$type","Point"],["==","type","history"],["==","important",!0],["!=","disabled",!0]],paint:{"circle-radius":6,"circle-color":"#fff"}},this.beforeLayer),this.map.addLayer({id:this.historyPointCircleLayer,type:"circle",source:this.clusterSource,filter:["all",["==","$type","Point"],["==","type","history"],["==","important",!0],["!=","disabled",!0]],paint:{"circle-radius":5,"circle-color":"rgba(0,0,0,0.7)"}},this.beforeLayer),this.map.addLayer({id:this.historyPointCircleLayer+"-inner",type:"circle",source:this.clusterSource,filter:["all",["==","$type","Point"],["==","type","history"],["==","important",!0],["!=","disabled",!0]],paint:{"circle-radius":3,"circle-color":"#fff"}},this.beforeLayer),this.map.addLayer({id:this.historyPointLabelLayer,type:"symbol",source:this.clusterSource,minzoom:5,filter:["all",["==","$type","Point"],["==","type","history"],["==","important",!0],["!=","disabled",!0]],layout:{"text-field":["get","format"],"text-offset":[1,0],"text-anchor":"left","text-size":10},paint:{"text-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer),this.map.addLayer({id:this.forecastNameLayer,type:"symbol",source:this.clusterSource,filter:["all",["==","$type","Point"],["==","type","forecast"],["==","important",!0]],layout:{"text-field":["get",this.locale==="en"?"Name":"nameCn"],"text-anchor":"bottom","text-size":16,"text-allow-overlap":!0,"text-ignore-placement":!0,"text-font":["DIN Pro Regular","Arial Unicode MS Regular"],"text-offset":[0,2]},paint:{"text-color":this.Theme.current.value.colors["map-blue"],"text-halo-color":"#ffffff","text-halo-width":2}},this.beforeLayer),f=new Date().valueOf()-(d+g),console.log("[tropical] add elapsed: ",f,", total: ",g+=f));const w=T.TropicalHelper.interpolate(this.tropicals,1);this.interpolateData=JSON.parse(JSON.stringify(w)),this.handleDateChange()}},handleClear(){var o,t,a,r;this.map&&(this.map.getLayer(this.historyLayer)&&this.map.removeLayer(this.historyLayer),this.map.getLayer(this.forecastLayer)&&this.map.removeLayer(this.forecastLayer),this.map.getLayer(this.forecastModelLayer)&&this.map.removeLayer(this.forecastModelLayer),this.map.getLayer(this.forecastNameLayer)&&this.map.removeLayer(this.forecastNameLayer),this.map.getLayer(this.pointCircleLayer)&&this.map.removeLayer(this.pointCircleLayer),this.map.getLayer(this.pointCircleLayer+"-border")&&this.map.removeLayer(this.pointCircleLayer+"-border"),this.map.getLayer(this.pointLabelLayer)&&this.map.removeLayer(this.pointLabelLayer),this.map.getLayer(this.historyPointCircleLayer)&&this.map.removeLayer(this.historyPointCircleLayer),this.map.getLayer(this.historyPointCircleLayer+"-border")&&this.map.removeLayer(this.historyPointCircleLayer+"-border"),this.map.getLayer(this.historyPointCircleLayer+"-inner")&&this.map.removeLayer(this.historyPointCircleLayer+"-inner"),this.map.getLayer(this.historyPointLabelLayer)&&this.map.removeLayer(this.historyPointLabelLayer),this.map.getLayer(this.interpolateLineLayer)&&this.map.removeLayer(this.interpolateLineLayer),(o=this.interpolateMarkers)==null||o.forEach(i=>i==null?void 0:i.remove()),this.map.getSource(this.source)&&this.map.removeSource(this.source),this.map.getSource(this.clusterSource)&&this.map.removeSource(this.clusterSource),this.map.getSource(this.interpolateSource)&&this.map.removeSource(this.interpolateSource)),(t=this.map)==null||t.off("click",this.clickLayers,this.handleClick),(a=this.map)==null||a.off("mousemove",this.hoverLayers,this.handleHover),(r=this.map)==null||r.off("mouseleave",this.hoverLayers,this.handleLeave),this.handleCloseInfoMarker()},handleDateChange(){var o,t,a,r,i,l,s,n,c,h,d,g,f,w,z,x,p,S,L,_,b,u,k,y,C,E,B,A,O,G,W,F,$,ee,J;if((o=this.interpolateMarkers)==null||o.forEach(q=>q==null?void 0:q.remove()),(t=this.interpolateData)!=null&&t.length&&this.tropicals.active){const q=v(this.realTime).utc().set({minute:0,second:0,millisecond:0}),te=this.interpolateData.filter(P=>P.properties.date===(q==null?void 0:q.format())&&!P.properties.disabled),re=this.handleComputePolygons(te),oe=V.featureCollection([...te]);re.forEach(P=>{oe.features.push(P)}),(a=this.map)!=null&&a.getSource(this.interpolateSource)?(r=this.map)==null||r.getSource(this.interpolateSource).setData(oe):((i=this.map)==null||i.addSource(this.interpolateSource,{type:"geojson",data:oe}),(l=this.map)==null||l.addLayer({id:this.interpolateLineLayer,type:"line",source:this.interpolateSource,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],paint:{"line-opacity":1,"line-color":["match",["get","level"],7,this.Theme.current.value.colors["tropicals-r7"],10,this.Theme.current.value.colors["tropicals-r10"],this.Theme.current.value.colors["tropicals-r10"]],"line-width":1}},"empty-layer-3")),this.interpolateMarkers=[];const ae=[];for(const P of te)if(!P.properties.disabled){if(!ae.some(ye=>{var pe;return ye.properties.name===((pe=P.properties)==null?void 0:pe.name)})){const ye=((n=(s=this.tropicals.data.features.find(pe=>{var we;return pe.properties.name===((we=P.properties)==null?void 0:we.name)}))==null?void 0:s.properties)==null?void 0:n.nameCn)||((c=P.properties)==null?void 0:c.Name)||"-";P.properties.nameCn=ye,P.properties.Name=((d=(h=P.properties.name)==null?void 0:h.trim())==null?void 0:d.replace(/^./,pe=>pe.toUpperCase()))||P.properties.nameCn,ae.push(P)}let U=this.Theme.current.value.colors["tropicals-ty"];((f=(g=P.properties)==null?void 0:g.wind)==null?void 0:f.kts)<32||!((z=(w=P.properties)==null?void 0:w.wind)!=null&&z.kts)?U=this.Theme.current.value.colors["tropicals-td"]:((p=(x=P.properties)==null?void 0:x.wind)==null?void 0:p.kts)>=32&&((L=(S=P.properties)==null?void 0:S.wind)==null?void 0:L.kts)<47?U=this.Theme.current.value.colors["tropicals-ts"]:((b=(_=P.properties)==null?void 0:_.wind)==null?void 0:b.kts)>=47&&((k=(u=P.properties)==null?void 0:u.wind)==null?void 0:k.kts)<63?U=this.Theme.current.value.colors["tropicals-sts"]:((C=(y=P.properties)==null?void 0:y.wind)==null?void 0:C.kts)>=63&&((B=(E=P.properties)==null?void 0:E.wind)==null?void 0:B.kts)<79?U=this.Theme.current.value.colors["tropicals-ty"]:((O=(A=P.properties)==null?void 0:A.wind)==null?void 0:O.kts)>=79&&((W=(G=P.properties)==null?void 0:G.wind)==null?void 0:W.kts)<94?U=this.Theme.current.value.colors["tropicals-sty"]:(($=(F=P.properties)==null?void 0:F.wind)==null?void 0:$.kts)>=94?U=this.Theme.current.value.colors["tropicals-super-ty"]:U=this.Theme.current.value.colors["tropicals-ty"];const ce=`<svg t="1719918955501"
203
+ `,["get","val"],{"font-scale":1}],"text-rotation-alignment":"map","text-line-height":1.3,"text-size":12,"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},paint:{"text-color":this.theme==="light"?["step",["get","val"],"rgba(0, 0, 0, 0.5)",920,"rgba(0, 0, 0, 0.5)",980,"rgba(0, 0, 0, 0.7)",1100,"rgba(0, 0, 0, 0.7)"]:["step",["get","val"],"rgba(162,13,2,1)",920,"rgba(255, 96, 98, 1)",980,"rgba(255, 246, 184, 1)",1100,"rgba(199,171,250,1)"],"text-halo-color":["step",["get","val"],"rgba(162,13,2,1)",920,"rgba(255, 96, 98, 1)",980,"rgba(255, 246, 184, 1)",1100,"rgba(199,171,250,1)"],"text-halo-width":this.theme==="light"?1:0}},this.beforeLayer),l=new Date().valueOf()-(r+i),console.log("[prmsl] add elapsed: ",l,", total: ",i+=l))}},handleClear(){this.map.getLayer(this.pointLabelLayer)&&this.map.removeLayer(this.pointLabelLayer),this.map.getLayer(this.labelLayer)&&this.map.removeLayer(this.labelLayer),this.map.getLayer(this.layer)&&this.map.removeLayer(this.layer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function vs(o,t,a,r,i,l){return null}const Ls=j(zs,[["render",vs]]),Jd="",Cs={name:"IdmIceEdge",props:{simple:{type:Boolean,default:!1},factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},menuToggle:{type:Object}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new _e,etime:void 0,right:10}},watch:{"factor.version":{handler(){var o;(o=this.factor)!=null&&o.active?this.handleRender():this.handleClear()},immediate:!0},"menuToggle.v":{handler(){var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)},immediate:!0}},methods:{handleRender(){if(this.factor){const o=new Date().valueOf();let t=0,a=0;this.handleDraw(),a=new Date().valueOf()-(o+t),console.log("[ice-edge] add elapsed: ",a,", total: ",t+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const o=[[0,"rgba(86, 169, 230, 0)"],[1/255,"rgba(86, 169, 230, 0)"],[25/255,"rgba(86, 169, 230, 1)"],[25/255,"rgba(47, 226, 155, 1)"],[100/255,"rgba(47, 226, 155, 1)"],[100/255,"rgba(213, 253, 37, 1)"],[175/255,"rgba(213, 253, 37, 1)"],[175/255,"rgba(230, 176, 39, 1)"],[225/255,"rgba(230, 176, 39, 1)"],[225/255,"rgba(230, 84, 39, 1)"],[250/255,"rgba(230, 84, 39, 1)"],[1,"rgba(230, 84, 39, 1)"]];this.rampColor=this.webgl.setup(this.context,o);const{program:t,aPositionBuffer:a}=this.webgl.bind(this.context,K.vertexSchema,K.fragmentSchema);this.program=t,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const o=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,o)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},Ps={key:0};function Ss(o,t,a,r,i,l){var s;return(s=a.factor)!=null&&s.active?(e.openBlock(),e.createElementBlock("div",Ps,[e.createElementVNode("div",{class:"legend-bars-gl4 ice-edge",style:e.normalizeStyle({right:i.right+"px"})},t[0]||(t[0]=[e.createElementVNode("span",{style:{color:"rgba(var(--v-theme-black), 0.7)"}},"%",-1),e.createElementVNode("span",null,null,-1),e.createElementVNode("span",null,"10",-1),e.createElementVNode("span",null,null,-1),e.createElementVNode("span",null,null,-1),e.createElementVNode("span",null,"40",-1),e.createElementVNode("span",null,null,-1),e.createElementVNode("span",null,null,-1),e.createElementVNode("span",null,"70",-1),e.createElementVNode("span",null,null,-1),e.createElementVNode("span",null,"90",-1),e.createElementVNode("span",null,null,-1)]),4)])):e.createCommentVNode("",!0)}const Ns=j(Cs,[["render",Ss]]),Qd="",Ts={name:"IdmCover",props:{simple:{type:Boolean,default:!1},factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},menuToggle:{type:Object}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new _e,etime:void 0,right:10}},watch:{"factor.version":{handler(){var o;(o=this.factor)!=null&&o.active?this.handleRender():this.handleClear()},immediate:!0},"menuToggle.v":{handler(){var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)},immediate:!0}},methods:{handleRender(){if(this.factor){const o=new Date().valueOf();let t=0,a=0;this.handleDraw(),a=new Date().valueOf()-(o+t),console.log("[ice-cover] add elapsed: ",a,", total: ",t+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const o=[[0,"rgba(68, 1, 84, 0)"],[1/255,"rgba(63, 72, 137, 0)"],[50/255,"rgba(53, 125, 177, 1)"],[100/255,"rgba(33, 145, 140, 1)"],[150/255,"rgba(45, 178, 125, 1)"],[200/255,"rgba(112, 207, 87, 1)"],[250/255,"rgba(253, 231, 37, 0.8)"],[1,"rgba(253, 231, 37, 1)"]];this.rampColor=this.webgl.setup(this.context,o);const{program:t,aPositionBuffer:a}=this.webgl.bind(this.context,K.vertexSchema,K.fragmentSchema);this.program=t,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const o=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,o)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},Ds={key:0};function Es(o,t,a,r,i,l){var s;return(s=a.factor)!=null&&s.active?(e.openBlock(),e.createElementBlock("div",Ds,[e.createElementVNode("div",{class:"legend-bars-gl4 ice-cover",style:e.normalizeStyle({right:i.right+"px"})},t[0]||(t[0]=[e.createElementVNode("span",null,"%",-1),e.createElementVNode("span",null,"20",-1),e.createElementVNode("span",null,"40",-1),e.createElementVNode("span",null,"60",-1),e.createElementVNode("span",null,"80",-1),e.createElementVNode("span",null,"100",-1)]),4)])):e.createCommentVNode("",!0)}const Ms=j(Ts,[["render",Es],["__scopeId","data-v-916b01eb"]]),$d="",Vs={name:"IdmThickness",props:{simple:{type:Boolean,default:!1},factor:{type:Object},viewport:{type:Object},menuToggle:{type:Object},bottom:{type:String,default:"70px"}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new _e,etime:void 0,right:10}},watch:{"factor.version":{handler(){var o;(o=this.factor)!=null&&o.active?this.handleRender():this.handleClear()},immediate:!0},"menuToggle.v":{handler(){var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)},immediate:!0}},methods:{handleRender(){if(this.factor){const o=new Date().valueOf();let t=0,a=0;this.handleDraw(),a=new Date().valueOf()-(o+t),console.log("[ice-thickness] add elapsed: ",a,", total: ",t+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const o=[[0,"rgba(4, 6, 19, 0)"],[1/255,"rgba(4, 6, 19, 0)"],[20/255,"rgba(51, 50, 102, 1)"],[40/255,"rgba(63, 82, 158, 1)"],[50/255,"rgba(66, 123, 183, 1)"],[60/255,"rgba(92, 161, 197, 1)"],[80/255,"rgba(134, 199, 212, 0.7)"],[100/255,"rgba(134, 199, 212, 1)"],[150/255,"rgba(234, 253, 2536, 0.8)"],[250/255,"rgba(234, 253, 2536, 0.9)"],[1,"rgba(234, 253, 2536, 1)"]];this.rampColor=this.webgl.setup(this.context,o);const{program:t,aPositionBuffer:a}=this.webgl.bind(this.context,K.vertexSchema,K.fragmentSchema);this.program=t,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const o=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,o)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},Bs={key:0};function Is(o,t,a,r,i,l){var s;return(s=a.factor)!=null&&s.active?(e.openBlock(),e.createElementBlock("div",Bs,[e.createElementVNode("div",{class:"legend-bars-gl4 ice-thickness",style:e.normalizeStyle({right:i.right+"px"})},t[0]||(t[0]=[e.createElementVNode("span",null,"m",-1),e.createElementVNode("span",null,"0",-1),e.createElementVNode("span",null,"0.6",-1),e.createElementVNode("span",null,"1",-1),e.createElementVNode("span",null,"1.5",-1),e.createElementVNode("span",null,"2",-1),e.createElementVNode("span",null,"3",-1)]),4)])):e.createCommentVNode("",!0)}const Rs=j(Vs,[["render",Is]]),eh="",As={name:"IdmPrecip3h",props:{simple:{type:Boolean,default:!1},factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},menuToggle:{type:Object}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new _e,etime:void 0,right:10}},watch:{"factor.version":{handler(){var o;(o=this.factor)!=null&&o.active?this.handleRender():this.handleClear()},deeimmediate:!0},"menuToggle.v":{handler(){var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)},immediate:!0}},methods:{handleRender(){if(this.factor){const o=new Date().valueOf();let t=0,a=0;this.handleDraw(),a=new Date().valueOf()-(o+t),console.log("[precip3h] add elapsed: ",a,", total: ",t+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const o=[[0,"rgba(59, 126, 162, 0)"],[14/255,"rgba(84,170,230, 0)"],[15/255,"rgba(172, 210, 255, 0.8)"],[20/255,"rgba(51,202,248,0.8)"],[30/255,"rgba(3,248,103,0.8)"],[49/255,"rgba(14,201,3,0.8)"],[57/255,"rgba(190,226,2,0.8)"],[73/255,"rgba(248,1,1,0.8)"],[82/255,"rgba(197,5,58,0.8)"],[1,"rgba(197,5,58,0.8)"]];this.rampColor=this.webgl.setup(this.context,o);const{program:t,aPositionBuffer:a}=this.webgl.bind(this.context,K.vertexSchema,K.fragmentSchema);this.program=t,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const o=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,o)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},Os={key:0};function js(o,t,a,r,i,l){var s;return(s=a.factor)!=null&&s.active?(e.openBlock(),e.createElementBlock("div",Os,[e.createElementVNode("div",{class:"legend-bars-gl4 precip3h",style:e.normalizeStyle({right:i.right+"px"})},t[0]||(t[0]=[e.createElementVNode("span",null,"mm",-1),e.createElementVNode("span",null,"1.5",-1),e.createElementVNode("span",null,"2",-1),e.createElementVNode("span",null,"3",-1),e.createElementVNode("span",null,"7",-1),e.createElementVNode("span",null,"10",-1),e.createElementVNode("span",null,"20",-1),e.createElementVNode("span",null,"30",-1)]),4)])):e.createCommentVNode("",!0)}const Fs=j(As,[["render",js]]),th="",Hs={name:"IdmVisibility",props:{simple:{type:Boolean,default:!1},factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},menuToggle:{type:Object}},data(){return{right:10,program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new _e,etime:void 0}},watch:{"factor.version":{handler(){var o;(o=this.factor)!=null&&o.active?this.handleRender():this.handleClear()},immediate:!0},"menuToggle.v":{handler(){var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)},immediate:!0}},methods:{handleRender(){if(this.factor){const o=new Date().valueOf();let t=0,a=0;this.handleDraw(),a=new Date().valueOf()-(o+t),console.log("[visibility] add elapsed: ",a,", total: ",t+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const o=[[0,"rgba(189,50,160,0.8)"],[8/255,"rgba(208,56,56,0.8)"],[27/255,"rgba(190,226,2,0.8)"],[60/255,"rgba(3,236,118,0.8)"],[160/255,"rgba(172, 210,255,0.8)"],[161/255,"rgba(172, 210,255,0)"],[1,"rgba(144,144,144,0)"]];this.rampColor=this.webgl.setup(this.context,o);const{program:t,aPositionBuffer:a}=this.webgl.bind(this.context,K.vertexSchema,K.fragmentSchema);this.program=t,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const o=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,o)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},Gs={key:0};function Ws(o,t,a,r,i,l){var s;return(s=a.factor)!=null&&s.active?(e.openBlock(),e.createElementBlock("div",Gs,[e.createElementVNode("div",{class:"legend-bars-gl4 visibility",style:e.normalizeStyle({right:i.right+"px"})},t[0]||(t[0]=[e.createElementVNode("span",null,"nm",-1),e.createElementVNode("span",null,"0",-1),e.createElementVNode("span",null,"0.5",-1),e.createElementVNode("span",null,"1.5",-1),e.createElementVNode("span",null,"3",-1),e.createElementVNode("span",null,"9",-1)]),4)])):e.createCommentVNode("",!0)}const Us=j(Hs,[["render",Ws]]),oh="",Ys={name:"IdmWaterTemp",props:{simple:{type:Boolean,default:!1},factor:{type:Object},viewport:{type:Object},menuToggle:{type:Object}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new _e,etime:void 0,right:10}},watch:{"factor.version":{handler(){var o;(o=this.factor)!=null&&o.active?this.handleRender():this.handleClear()},immediate:!0},"menuToggle.v":{handler(){var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)},immediate:!0}},methods:{handleRender(){if(this.factor){const o=new Date().valueOf();let t=0,a=0;this.handleDraw(),a=new Date().valueOf()-(o+t),console.log("[water-temp] add elapsed: ",a,", total: ",t+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const o=[[0,"rgba(95, 143, 197)"],[46/255,"rgba(95, 143, 197)"],[69/255,"rgb(80, 140, 62)"],[92/255,"rgb(121, 146, 28)"],[115/255,"rgb(171, 161, 14)"],[138/255,"rgb(223, 177, 69)"],[161/255,"rgb(243, 150, 6)"],[184/255,"rgb(236, 95, 21)"],[207/255,"rgb(190, 65, 18)"],[230/255,"rgb(138, 43, 10)"],[1,"rgb(138, 43, 10)"]];this.rampColor=this.webgl.setup(this.context,o);const{program:t,aPositionBuffer:a}=this.webgl.bind(this.context,K.vertexSchema,K.fragmentSchema);this.program=t,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const o=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,o)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},Zs={key:0};function qs(o,t,a,r,i,l){var s;return(s=a.factor)!=null&&s.active?(e.openBlock(),e.createElementBlock("div",Zs,[e.createElementVNode("div",{class:"legend-bars-gl4 water-temp",style:e.normalizeStyle({right:i.right+"px"})},t[0]||(t[0]=[e.createElementVNode("span",null,"°C",-1),e.createElementVNode("span",null,"0",-1),e.createElementVNode("span",null,"10",-1),e.createElementVNode("span",null,"20",-1),e.createElementVNode("span",null,"30",-1),e.createElementVNode("span",null,"40",-1)]),4)])):e.createCommentVNode("",!0)}const Xs=j(Ys,[["render",qs]]),ah="",Ks={name:"IdmTemp",props:{simple:{type:Boolean,default:!1},factor:{type:Object},viewport:{type:Object},bottom:{type:String,default:"70px"},menuToggle:{type:Object}},data(){return{program:void 0,context:void 0,texture:void 0,rampColor:void 0,aPositionBuffer:void 0,webgl:new _e,etime:void 0,right:10}},watch:{"factor.version":{handler(){var o;(o=this.factor)!=null&&o.active?this.handleRender():this.handleClear()},immediate:!0},"menuToggle.v":{handler(){var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)},immediate:!0}},methods:{handleRender(){if(this.factor){const o=new Date().valueOf();let t=0,a=0;this.handleDraw(),a=new Date().valueOf()-(o+t),console.log("[temp] add elapsed: ",a,", total: ",t+=a)}},handleClear(){this.context=void 0,this.etime=void 0,this.viewport.toggle(!1)},handleSetup(){if(!this.context){this.context=this.viewport.rampColorCanvas.getContext("webgl");const o=[[0,"rgb(149, 137, 211)"],[100/255,"rgb(149, 137, 211)"],[110/255,"rgb(150, 209, 216)"],[120/255,"rgb(129, 204, 197)"],[130/255,"rgb(103, 180, 186)"],[140/255,"rgb(95, 143, 197)"],[150/255,"rgb(80, 140, 62)"],[160/255,"rgb(121, 146, 28)"],[170/255,"rgb(171, 161, 14)"],[180/255,"rgb(223, 177, 6)"],[190/255,"rgb(243, 150, 6)"],[200/255,"rgb(236, 95, 21)"],[210/255,"rgb(190, 65, 18)"],[220/255,"rgb(138, 43, 10)"],[1,"rgb(138, 43, 10)"]];this.rampColor=this.webgl.setup(this.context,o);const{program:t,aPositionBuffer:a}=this.webgl.bind(this.context,K.vertexSchema,K.fragmentSchema);this.program=t,this.aPositionBuffer=a}},async handleDraw(){if(this.handleSetup(),this.etime!==this.factor.etime){this.etime=this.factor.etime;const o=await this.webgl.loadImg(this.factor.raw);this.texture=this.webgl.createTexture(this.context,this.context.NEAREST,this.context.LINEAR,this.context.CLAMP_TO_EDGE,o)}this.webgl.draw(this.viewport,this.context,this.program,this.texture,this.rampColor.texture,this.aPositionBuffer),this.viewport.toggle(!0)}}},Js={key:0};function Qs(o,t,a,r,i,l){var s;return(s=a.factor)!=null&&s.active?(e.openBlock(),e.createElementBlock("div",Js,[e.createElementVNode("div",{class:"legend-bars-gl4 temp",style:e.normalizeStyle({right:i.right+"px"})},t[0]||(t[0]=[e.createElementVNode("span",null,"°C",-1),e.createElementVNode("span",null,"-20",-1),e.createElementVNode("span",null,"-10",-1),e.createElementVNode("span",null,"0",-1),e.createElementVNode("span",null,"10",-1),e.createElementVNode("span",null,"20",-1),e.createElementVNode("span",null,"30",-1),e.createElementVNode("span",null,"40",-1)]),4)])):e.createCommentVNode("",!0)}const $s=j(Ks,[["render",Qs]]),ih="",en={name:"IdmGlLayer",components:{IdmWindBarb:es,IdmWindParticle:is,IdmCurrentDirection:ss,IdmCurrentParticle:ds,IdmWave:us,IdmSigWaveHeight:bs,IdmSwell:ks,IdmPrmsl:Ls,IdmIceEdge:Ns,IdmIceCover:Ms,IdmIceThickness:Rs,IdmPrecip3h:Fs,IdmVisibility:Us,IdmWaterTemp:Xs,IdmTemp:$s},props:{simple:{type:Boolean,default:!1},isLogin:{type:Boolean,default:!1},theme:{type:String},map:{type:Object},mapFeather:{type:String},gateway:{type:String},assistGateway:{type:Array,default:[]},defaultMeteoToken:{type:String},top:{type:Number,default:60},paddingTop:{type:Number,default:48},menuToggle:{type:Object,default:{}},realTime:{type:String},forecastModel:{type:String},beforeLayer:{type:String}},emits:["forecastModel","menuToggle","weatherCheckList","autoActive"],data(){return{right:10,toggle:!1,autoActive:!0,weatherWeight:0,allLayers:[...Be.LayerHelper.WEATHER_LAYERS],tagLayers:[...Be.LayerHelper.WEATHER_LAYERS.filter(o=>!o.hide)],checkList:[],renderKey:"",iceToggleValue:void 0,waveToggleValue:void 0,weatherLayers:{},activeWeatherLayers:[],cache:{v:"0.0.1",versionKey:"weatherLayerCacheVersionGL4",autoActiveKey:"autoActiveCacheGL4",checkListKey:"weatherCheckListCacheGL4"},models:{},currentModel:localStorage.getItem("forecastModelCacheGL4")==="GFS"?"GFS":"ECMWF",zoom:6,viewport:void 0,particleFactor:void 0,showWindParticle:!0,showCurrentParticle:!0,legendToggle:!1,legend:{barbs:[2,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,0],current:[{label:"0-0.5 kts",size:.3,color:"rgb(58, 164, 58)"},{label:"0.5-1 kts",size:.4,color:"#ffff00"},{label:"1-1.5 kts",size:.6,color:"#ff9500"},{label:"1.5-2 kts",size:.8,color:"#f44336"},{label:">= 2 kts",size:1,color:"#e4711e"}],sigWaveHeight:[{label:"< 2 m",color:"rgba(0,235,156,0)"},{label:"2-3 m",color:"rgba(0,235,156,0.4)"},{label:"3-4 m",color:"#ffed00"},{label:"4-5 m",color:"#ff9800"},{label:"5-6 m",color:"#f77800"},{label:"6-7 m",color:"#e4711e"},{label:"7-8 m",color:"#e06128"},{label:"8-9 m",color:"#dc5132"},{label:"9-10 m",color:"#d5453c"},{label:"10-12 m",color:"#cd3a46"},{label:"12-14 m",color:"#be2c50"},{label:"> 14 m",color:"#aa1a5a"}]}}},computed:{listStyle(){return this.simple?{top:this.top+"px",left:this.toggle?"0px":"-280px"}:{top:this.top+"px",right:this.toggle?"0px":"-280px"}},computeDateZ(){return function(o){var t;if(o){const a=v(o);return`${(t=a==null?void 0:a.utc())==null?void 0:t.format("MMM-DD/HHmm")}Z`}return"-"}},computeDateUpdate(){return function(o){return o?v(o).fromNow():"-"}},overlaysKeys(){return this.tagLayers.filter(o=>o.overlays).map(o=>o.key)},rendersKeys(){return this.allLayers.filter(o=>!o.overlays&&o.enabled).map(o=>o.key)},showTipMenu(){return this.checkList.includes("wind")||this.checkList.includes("current-direction")||this.checkList.includes("sig-wave-height")},barbsIconName(){var t,a,r;const o=[];for(let i=0;i<((a=(t=this.legend)==null?void 0:t.barbs)==null?void 0:a.length);i++){const l=((r=this.legend)==null?void 0:r.barbs[i])||0,s=l<10?`00${l}kts`:l<100?`0${l}kts`:`${l}kts`;o.push("icon-a-"+s)}return o}},watch:{"menuToggle.v":{handler(){this.toggle=this.menuToggle.weatherLayers,this.$nextTick(()=>{var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)})}},currentModel:{handler(o,t){this.$emit("forecastModel",o),localStorage.setItem("forecastModelCacheGL4",o)},immediate:!0},forecastModel:{handler(o,t){o&&o!==t&&this.handleWeatherLayerChange({sourceChanged:!0})}},map:{handler(){this.map&&(this.fetchCache(),this.map.on("move",this.handleMove4Weather),this.viewport=new uo(this.map),this.handleRampColorInitial())},immediate:!0},realTime:{handler(o,t){o&&t&&v(o).utc().format("yyyy-MM-DD HH")!==v(t).utc().format("yyyy-MM-DD HH")&&this.$nextTick(()=>{this.fetchWeatherLayers()})},immediate:!0},renderKey:{handler(o,t){o&&o!==t?o==="wave-group"?this.checkList=["wave-group",this.waveToggleValue||"sig-wave"]:o==="ice-forecast"?this.checkList=["ice-forecast",this.iceToggleValue||"ice-cover"]:this.checkList=[o]:!o&&t&&(this.checkList=this.checkList.filter(a=>a!==t))}},checkList:{handler(o,t){var a,r,i,l,s,n;this.handleCheckListChange(o,t),this.$emit("weatherCheckList",o),this.autoActive&&this.checkList.length?(i=(r=(a=this.$parent)==null?void 0:a.$refs)==null?void 0:r.idmBottomBar)==null||i.handleToggle("weather",!0):(n=(s=(l=this.$parent)==null?void 0:l.$refs)==null?void 0:s.idmBottomBar)==null||n.handleToggle("weather",!1)}},autoActive:{handler(o){var t,a,r,i,l,s;localStorage.setItem(this.cache.autoActiveKey,this.autoActive),this.activeWeatherLayers=this.autoActive?this.allLayers.filter(n=>this.checkList.includes(n.key)):[],this.handleWeatherLayerChange(),this.autoActive&&this.checkList.length?(r=(a=(t=this.$parent)==null?void 0:t.$refs)==null?void 0:a.idmBottomBar)==null||r.handleToggle("weather",!0):(s=(l=(i=this.$parent)==null?void 0:i.$refs)==null?void 0:l.idmBottomBar)==null||s.handleToggle("weather",!1),this.$emit("autoActive",this.autoActive)}},iceToggleValue:{handler(o){o&&(this.checkList=["ice-forecast",this.iceToggleValue])}},waveToggleValue:{handler(o){o&&(this.checkList=["wave-group",this.waveToggleValue])}},showWindParticle:{handler(o){let t="wind-particle";this.weatherLayers[t].particle=o,this.weatherLayers[t].version=Math.random()+1}},showCurrentParticle:{handler(o){let t="current-particle";this.weatherLayers[t].particle=o,this.weatherLayers[t].version=Math.random()+1}},isLogin:{handler(o){o?this.fetchModels():this.models={}},immediate:!0}},mounted(){this.fetchModels()},methods:{arraysEqual(o,t){if((o==null?void 0:o.length)!==(t==null?void 0:t.length))return!1;for(let a=0;a<(o==null?void 0:o.length);a++)if((o==null?void 0:o[a])!==(t==null?void 0:t[a]))return!1;return!0},fetchCache(){var a,r;const o=localStorage.getItem(this.cache.versionKey);this.cache.v!==o&&(localStorage.removeItem(this.cache.autoActiveKey),localStorage.removeItem(this.cache.checkListKey),localStorage.setItem(this.cache.versionKey,this.cache.v));let t=localStorage.getItem(this.cache.autoActiveKey);this.autoActive=t!=="false",localStorage.setItem(this.cache.autoActiveKey,this.autoActive),t=localStorage.getItem(this.cache.checkListKey),this.waveToggleValue=(a=JSON.parse(t))!=null&&a.some(i=>i==="swell")?"swell":void 0,this.iceToggleValue=(r=JSON.parse(t))!=null&&r.some(i=>i==="ice-thickness")?"ice-thickness":void 0,this.checkList=JSON.parse(t||JSON.stringify(["wind","sig-wave-height"])),this.checkList.find(i=>this.rendersKeys.includes(i))&&(this.renderKey=this.checkList.find(i=>this.rendersKeys.includes(i))),localStorage.setItem(this.cache.checkListKey,JSON.stringify(this.checkList))},handleMenuToggle(){this.$emit("menuToggle","weatherLayers")},handleFastWeatherToggle(o){let t=[];this.checkList.includes(o)?t=this.checkList.filter(a=>a!==o):t=[...this.checkList,o],this.handleCheckListChange(t,this.checkList)},handleCheckListChange(o,t){if(this.arraysEqual(o,t))return!1;const a=[...new Set(o)],r=a==null?void 0:a.filter(l=>!(t!=null&&t.includes(l)))[0],i=t==null?void 0:t.filter(l=>!(a!=null&&a.includes(l)))[0];r&&(r==="ice-cover"||r==="ice-thickness"||r==="ice-forecast"?(this.checkList=["ice-forecast",this.iceToggleValue||"ice-cover"],this.iceToggleValue=this.iceToggleValue||"ice-cover"):r==="sig-wave"||r==="swell"||r==="wave-group"?(this.checkList=["wave-group",this.waveToggleValue||"sig-wave"],this.waveToggleValue=this.waveToggleValue||"sig-wave"):this.rendersKeys.includes(r)?this.checkList=[r]:(this.checkList=a.filter(l=>!this.rendersKeys.includes(l)),this.renderKey=void 0)),i&&(i==="ice-forecast"?(this.checkList=a.filter(l=>!["ice-cover","ice-thickness","ice-forecast"].includes(l)),this.iceToggleValue=void 0):i==="wave-group"?(this.checkList=a.filter(l=>!["wave-group","sig-wave","swell"].includes(l)),this.waveToggleValue=void 0):this.checkList=a),this.checkList.includes("wind-particle")&&(this.showWindParticle=!0),this.checkList.includes("current-particle")&&(this.showCurrentParticle=!0),localStorage.setItem(this.cache.checkListKey,JSON.stringify(a)),this.activeWeatherLayers=this.autoActive?this.allLayers.filter(l=>a.includes(l.key)):[],this.handleWeatherLayerChange()},async fetchModels(){this.models={};const o=await Q.get(`${this.gateway}/api/arc/meteo2/models2`,{headers:{Authorization:this.defaultMeteoToken}});(o==null?void 0:o.data.code)===0&&(this.models=o==null?void 0:o.data.data)},async fetchWeatherLayers(o={}){var i,l,s,n,c,h,d,g,f;const t=new Date().valueOf();let a=0,r=0;if(this.map){const w=((i=this.map)==null?void 0:i.getZoom())+1,z=(l=this.map)==null?void 0:l.getBounds(),x=`${z._sw.lng},${z._sw.lat},${z._ne.lng},${z._ne.lat}`;if(this.particleFactor&&((s=this.$refs.layer)!=null&&s.autoActive)){const p=Be.LayerHelper.WEATHER_LAYERS.find(S=>{var L;return((L=S.peer)==null?void 0:L.weight)===this.particleFactor.weight});this.particleFactor.particle&&(this.showWindParticle||this.showCurrentParticle)?this.weatherWeight=this.weatherWeight&p.weight?this.weatherWeight:this.weatherWeight+p.weight:this.weatherWeight=this.weatherWeight&p.weight?this.weatherWeight-p.weight:this.weatherWeight}if(this.weatherWeight>0){let p=this.weatherWeight;if(p>0){const S=this.assistGateway[Math.round(Math.random()*(this.assistGateway.length-1))],L=await Q.get(`${S}/api/arc/weather/layers2/links?l=${p}&v=${this.forecastModel}&z=${w}&bbox=${x}&t=${this.realTime}`,{headers:{Authorization:this.defaultMeteoToken}});if(r=new Date().valueOf()-(t+a),console.log("weather links elapsed: ",r,", total: ",a+=r),((n=L==null?void 0:L.data)==null?void 0:n.code)===0){const _=(c=L==null?void 0:L.data)==null?void 0:c.data,b=[];for(const k in _)b.push(Q.get(_[k],{headers:{Authorization:this.defaultMeteoToken,key:k},responseType:/\.(jpg|png)$/.test(_[k])?"blob":"json"}).catch(y=>{console.log(`[${k}] fetch layer error: ${y}`)}));const u=await Promise.all(b);this.weatherLayers={},u.map(k=>{var E,B,A,O;const y=((E=k==null?void 0:k.data)==null?void 0:E.data)||(k==null?void 0:k.data);let C=(A=(B=k==null?void 0:k.config)==null?void 0:B.headers)==null?void 0:A.key;C&&y&&(this.weatherLayers[C]={raw:y,type:((O=k==null?void 0:k.config)==null?void 0:O.responseType)==="blob"?"image":"json",etime:L.data.etime})})}if(r=new Date().valueOf()-(t+a),console.log("weather layers elapsed: ",r,", total: ",a+=r),this.weatherLayers["swell-direction"]||this.weatherLayers["swell-height"]){const _=(h=this.weatherLayers["swell-direction"])==null?void 0:h.raw,b=(d=this.weatherLayers["swell-height"])==null?void 0:d.raw;delete this.weatherLayers["swell-direction"],delete this.weatherLayers["swell-height"],this.weatherLayers.swell={type:"json",direction:_,height:{raw:b},etime:L.data.etime}}if(this.weatherLayers["current-direction"]||this.weatherLayers["current-speed"]){const _=(g=this.weatherLayers["current-direction"])==null?void 0:g.raw,b=(f=this.weatherLayers["current-speed"])==null?void 0:f.raw;delete this.weatherLayers["current-direction"],delete this.weatherLayers["current-speed"],this.weatherLayers.current={type:"json",direction:_,speed:{raw:b},etime:L.data.etime}}}}this.handleWeatherLayerToggle(),this.handleDrawWeather4Json()}},handleWeatherLayerToggle(){for(const o in this.weatherLayers)this.weatherLayers[o].active=!1,this.weatherLayers[o].version=Math.random()+1;for(const o of this.activeWeatherLayers){let t=o.key;t==="current-direction"&&(t="current"),this.weatherLayers[t]&&(this.weatherLayers[t].active=!0,this.weatherLayers[t].version=Math.random()+1,t==="wind-particle"&&(this.weatherLayers[t].particle=this.showWindParticle),t==="current-particle"&&(this.weatherLayers[t].particle=this.showCurrentParticle))}},handleWeatherLayerChange(o={sourceChanged:!1}){var a;const t=(a=this.activeWeatherLayers)==null?void 0:a.reduce((r,i)=>r+(r&(i==null?void 0:i.weight)?0:i==null?void 0:i.weight),0);o!=null&&o.sourceChanged||this.weatherWeight!==t?(this.weatherWeight=t,this.fetchWeatherLayers()):this.handleWeatherLayerToggle()},handleRampColorInitial(){var o,t,a,r,i,l,s,n,c,h,d,g;this.viewport.map.getSource((o=this.viewport)==null?void 0:o.rampColorSource)||this.viewport.map.addSource((t=this.viewport)==null?void 0:t.rampColorSource,{type:"canvas",canvas:(a=this.viewport)==null?void 0:a.rampColorCanvas,animate:!0,coordinates:this.viewport.getBoundLngLat()}),this.viewport.map.getLayer((r=this.viewport)==null?void 0:r.rampColorLayer)||this.viewport.map.addLayer({type:"raster",id:(i=this.viewport)==null?void 0:i.rampColorLayer,source:(l=this.viewport)==null?void 0:l.rampColorSource,layout:{visibility:"none"}},this.beforeLayer),this.viewport.map.getSource((s=this.viewport)==null?void 0:s.particleSource)||this.viewport.map.addSource((n=this.viewport)==null?void 0:n.particleSource,{type:"canvas",canvas:(c=this.viewport)==null?void 0:c.particleCanvas,animate:!0,coordinates:this.viewport.getBoundLngLat()}),this.viewport.map.getLayer((h=this.viewport)==null?void 0:h.particleLayer)||this.viewport.map.addLayer({type:"raster",id:(d=this.viewport)==null?void 0:d.particleLayer,source:(g=this.viewport)==null?void 0:g.particleSource,layout:{visibility:"none"}},this.beforeLayer)},handleDrawWeather4Json(){var l,s,n,c,h,d,g;const o=new Date().valueOf();let t=0,a=0;const r=(l=this.map)==null?void 0:l.getBounds(),i=(s=this.map)==null?void 0:s.getZoom();if(r&&i){const f=T.LngLatHelper.convertToStdLng(r._sw.lng),w=T.LngLatHelper.convertToStdLng(r._ne.lng),z=Math.floor(r._sw.lat),x=Math.ceil(r._ne.lat);for(const p in this.weatherLayers){let S=!1;if(this.weatherLayers[p].active&&this.weatherLayers[p].type==="json"){let L=[];if(p==="swell"){S=!0;const _=((n=this.weatherLayers[p])==null?void 0:n.direction)||{};for(const u in _)if(u>z&&u<x&&(!(i<=this.zoom)||u%(i<2?10:i<4?5:3)===0)){const k=_[u].lng;f>w?k.forEach((y,C)=>{var E,B,A,O,G,W;if(i<2){if((y>=0&&y<=360||y>=-360&&y<=0)&&y%10===0){const F=V.point([y,u],{val:((E=_[u].val)==null?void 0:E[C])||((B=_[u].dir)==null?void 0:B[C]),spd:(A=_[u].spd)==null?void 0:A[C]});L.push(F)}}else if((y>=f&&y<=180||y>=-180&&y<=w)&&(!(i<=this.zoom)||y%(i<2?10:i<4?5:3)===0)){const F=V.point([y,u],{val:((O=_[u].val)==null?void 0:O[C])||((G=_[u].dir)==null?void 0:G[C]),spd:(W=_[u].spd)==null?void 0:W[C]});L.push(F)}}):k.forEach((y,C)=>{var E,B,A,O,G,W;if(f<2){if((y>=0&&y<=360||y>=-360&&y<=0)&&y%10===0){const F=V.point([y,u],{val:((E=_[u].val)==null?void 0:E[C])||((B=_[u].dir)==null?void 0:B[C]),spd:(A=_[u].spd)==null?void 0:A[C]});L.push(F)}}else if(y>=f&&y<=w&&(!(i<=this.zoom)||y%(i<2?10:i<4?5:3)===0)){const F=V.point([y,u],{val:((O=_[u].val)==null?void 0:O[C])||((G=_[u].dir)==null?void 0:G[C]),spd:(W=_[u].spd)==null?void 0:W[C]});L.push(F)}})}a=new Date().valueOf()-(o+t),console.log("swell direction elapsed: ",a,", total: ",t+=a);const b=this.weatherLayers[p].height;if(b){if(!b.data){const u=[];for(const k in(c=b.raw)==null?void 0:c.LineString){const y=b.raw.LineString[k];for(const C of y)u.push(V.lineString(C,{val:Number(k)}));b.data=V.featureCollection(u)}}if(b.data){const u=this.handleBboxClip(b.data,r);L=L.concat(u)}a=new Date().valueOf()-(o+t),console.log("swell height elapsed: ",a,", total: ",t+=a)}}else if(p==="current"){S=!0;const _=((h=this.weatherLayers[p])==null?void 0:h.direction)||{};for(const u in _)if(u>z&&u<x&&(!(i<=this.zoom)||u%(i<2?10:i<4?5:3)===0)){const k=_[u].lng;f>w?k.forEach((y,C)=>{var E,B,A,O,G,W;if(i<2){if((y>=0&&y<=360||y>=-360&&y<=0)&&y%10===0){const F=V.point([y,u],{val:((E=_[u].val)==null?void 0:E[C])||((B=_[u].dir)==null?void 0:B[C]),spd:(A=_[u].spd)==null?void 0:A[C]});L.push(F)}}else if((y>=f&&y<=180||y>=-180&&y<=w)&&(!(i<=this.zoom)||y%(i<2?10:i<4?5:3)===0)){const F=V.point([y,u],{val:((O=_[u].val)==null?void 0:O[C])||((G=_[u].dir)==null?void 0:G[C]),spd:(W=_[u].spd)==null?void 0:W[C]});L.push(F)}}):k.forEach((y,C)=>{var E,B,A,O,G,W;if(f<2){if((y>=0&&y<=360||y>=-360&&y<=0)&&y%10===0){const F=V.point([y,u],{val:((E=_[u].val)==null?void 0:E[C])||((B=_[u].dir)==null?void 0:B[C]),spd:(A=_[u].spd)==null?void 0:A[C]});L.push(F)}}else if(y>=f&&y<=w&&(!(i<=this.zoom)||y%(i<this.zoom/2?5:3)===0)){const F=V.point([y,u],{val:((O=_[u].val)==null?void 0:O[C])||((G=_[u].dir)==null?void 0:G[C]),spd:(W=_[u].spd)==null?void 0:W[C]});L.push(F)}})}a=new Date().valueOf()-(o+t),console.log("current direction elapsed: ",a,", total: ",t+=a);const b=this.weatherLayers[p].speed;if(b){if(!b.data){const k=[];for(const y in(d=b.raw)==null?void 0:d.Polygon){const C=b.raw.Polygon[y];for(const E of C)k.push(V.polygon(E,{val:Number(y)}))}b.data=V.featureCollection(k)}const u=i<this.zoom?b.data.features.filter(k=>k.properties.val>.5):b.data.features;L=L.concat(u),a=new Date().valueOf()-(o+t),console.log("current speed elapsed: ",a,", total: ",t+=a)}}else if(p==="wind"){S=!0;const _=this.weatherLayers.wind.raw;for(const b in _)if(b>z&&b<x&&(!(i<=this.zoom)||b%(i<2?10:i<4?5:3)===0)){const u=_[b].lng;f>w?u.forEach((k,y)=>{var C,E,B,A;if(i<2){if((k>=0&&k<=360||k>=-360&&k<=0)&&k%10===0){const O=V.point([k,b],{dir:((C=_[b].val)==null?void 0:C[y])||((E=_[b].dir)==null?void 0:E[y]),spd:_[b].spd[y]});L.push(O)}}else if((k>=f&&k<=180||k>=-180&&k<=w)&&(!(i<=this.zoom)||k%(i<2?10:i<4?5:3)===0)){const O=V.point([k,b],{dir:((B=_[b].val)==null?void 0:B[y])||((A=_[b].dir)==null?void 0:A[y]),spd:_[b].spd[y]});L.push(O)}}):u.forEach((k,y)=>{var C,E,B,A;if(i<2){if((k>=0&&k<=360||k>=-360&&k<=0)&&k%10===0){const O=V.point([k,b],{dir:((C=_[b].val)==null?void 0:C[y])||((E=_[b].dir)==null?void 0:E[y]),spd:_[b].spd[y]});L.push(O)}}else if(k>=f&&k<=w&&(!(i<=this.zoom)||k%(i<2?10:i<4?5:3)===0)){const O=V.point([k,b],{dir:((B=_[b].val)==null?void 0:B[y])||((A=_[b].dir)==null?void 0:A[y]),spd:_[b].spd[y]});L.push(O)}})}a=new Date().valueOf()-(o+t),console.log("wind barb elapsed: ",a,", total: ",t+=a)}else if(p==="sig-wave-height"){if(this.weatherLayers[p].data)L=this.weatherLayers[p].data;else{S=!0;const _=this.weatherLayers[p].raw;if(_){const b=[];for(const u in _.Polygon){const k=_.Polygon[u];for(const y of k)b.push(V.polygon(y,{val:Number(u)}))}for(const u in _.MultiPolygon){const k=_.MultiPolygon[u];for(const y of k)b.push(V.multiPolygon(y,{val:Number(u)}))}for(const u in _.Point){const k=_.Point[u];for(let y=0;y<((g=k.lng)==null?void 0:g.length);y++)b.push(V.point([k.lng[y],u],{val:Number(k.val[y])}))}L=L.concat(b)}}a=new Date().valueOf()-(o+t),console.log("sig-wave-height elapsed: ",a,", total: ",t+=a)}else if(p==="prmsl"){if(this.weatherLayers[p].data)L=this.weatherLayers[p].data;else{S=!0;const _=this.weatherLayers[p].raw;if(_){const b=[];for(const u in _.LineString){const k=_.LineString[u];for(const y of k)b.push(V.lineString(y,{val:Number(u)}))}for(const u in _.Point)_.Point[u].lng.forEach((k,y)=>{k=T.LngLatHelper.convertToStdLng(k),b.push(V.point([k,u],{val:_.Point[u].val[y],type:_.Point[u].type[y]}))});L=L.concat(b)}}a=new Date().valueOf()-(o+t),console.log("prmsl elapsed: ",a,", total: ",t+=a)}L.length&&(this.weatherLayers[p].data=V.featureCollection(L)),S&&(this.weatherLayers[p].version=Math.random()+1)}}}},handleMove4Weather(){for(const o in this.weatherLayers)this.weatherLayers[o].active&&this.weatherLayers[o].type==="image"&&(this.weatherLayers[o].active=!0,this.weatherLayers[o].version=Math.random()+1);this.handleDrawWeather4Json()},handleBboxClip(o,t){const a=[],r=T.LngLatHelper.convertToStdLng(t._sw.lng),i=T.LngLatHelper.convertToStdLng(t._ne.lng);return o.features.forEach(l=>{if(l.geometry.type!=="Point")if(r>i){let s=[r,t._sw.lat,180,t._ne.lat],n=V.bboxClip(l,s);n.geometry.coordinates.length&&a.push(n),s=[-180,t._sw.lat,i,t._ne.lat],n=V.bboxClip(l,s),n.geometry.coordinates.length&&a.push(n)}else{const s=[r,t._sw.lat,i,t._ne.lat],n=V.bboxClip(l,s);n.geometry.coordinates.length&&a.push(n)}else a.push(l)}),a}}},tn={class:"idm-gl4-meteo-layers"},on={key:0,class:"legend-tip-btn-gl4"},an={class:"d-flex flex-row justify-center align-center"},rn={class:"text-caption"},ln={class:"d-flex flex-row justify-center align-center"},sn={key:0,style:{width:"24px",height:"12px",border:"1px solid rgba(var(--v-border-color), var(--v-border-opacity))"}},nn={class:"text-caption px-2"},cn={class:"d-flex flex-row justify-start align-center"},mn={class:"d-flex flex-row justify-center align-center",style:{width:"40px"}},dn={class:"text-caption"},hn={class:"header-box d-flex justify-space-between align-center px-4"},pn={class:"d-flex justify-start align-center ga-3"},gn={class:"text-h5 font-weight-medium"},un={key:0,class:"w-100 d-flex justify-space-between align-center ga-1 mb-1 px-4"},fn={key:0,class:"d-flex justify-start align-center ga-4 pl-6"},yn={key:1,class:"d-flex justify-start align-center ga-4 pl-6"},bn={class:"text-body-1 py-2"},wn={class:"text-body-1 font-weight-medium"},xn={class:"text-body-2 text-label"},_n={class:"text-body-2 text-label"},kn={class:"text-body-2 text-label mb-3"},zn={class:"text-body-1 font-weight-medium"},vn={class:"text-body-2 text-label"},Ln={class:"text-body-2 text-label"},Cn={class:"text-body-2 text-label mb-3"},Pn={class:"text-body-1 py-2"},Sn={class:"text-body-1 font-weight-medium"},Nn={class:"text-body-2 text-label"},Tn={class:"text-body-2 text-label"},Dn={class:"text-body-2 text-label mb-3"},En={class:"text-body-1 font-weight-medium"},Mn={class:"text-body-2 text-label"},Vn={class:"text-body-2 text-label"},Bn={class:"text-body-2 text-label mb-3"},In={class:"text-body-1 py-2"},Rn={class:"text-body-1 font-weight-medium"},An={class:"text-body-2 text-label"},On={class:"text-body-2 text-label"},jn={class:"text-body-2 text-label mb-3"};function Fn(o,t,a,r,i,l){var J,q,te,re,oe,ae,P,U,ce,he,fe,ye,pe,we,be;const s=e.resolveComponent("VBtn"),n=e.resolveComponent("VTooltip"),c=e.resolveComponent("VCol"),h=e.resolveComponent("VRow"),d=e.resolveComponent("VCardText"),g=e.resolveComponent("VDivider"),f=e.resolveComponent("VCard"),w=e.resolveComponent("VSwitch"),z=e.resolveComponent("VBtnToggle"),x=e.resolveComponent("VCardTitle"),p=e.resolveComponent("VCardItem"),S=e.resolveComponent("VCheckbox"),L=e.resolveComponent("VRadio"),_=e.resolveComponent("IdmWindBarb"),b=e.resolveComponent("IdmSigWaveHeight"),u=e.resolveComponent("IdmCurrentDirection"),k=e.resolveComponent("IdmPrmsl"),y=e.resolveComponent("IdmWindParticle"),C=e.resolveComponent("IdmCurrentParticle"),E=e.resolveComponent("IdmWave"),B=e.resolveComponent("IdmSwell"),A=e.resolveComponent("IdmIceEdge"),O=e.resolveComponent("IdmIceCover"),G=e.resolveComponent("IdmIceThickness"),W=e.resolveComponent("IdmPrecip3h"),F=e.resolveComponent("IdmVisibility"),$=e.resolveComponent("IdmWaterTemp"),ee=e.resolveComponent("IdmTemp");return e.openBlock(),e.createElementBlock("div",tn,[e.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:e.normalizeStyle({top:this.top+this.paddingTop+46+"px",right:this.right+"px"})},[e.createVNode(n,{text:o.$t("weather.weatherLayers"),location:"left",touch:"hover","auto-hide":2e3},{activator:e.withCtx(({props:M})=>[e.createVNode(s,e.mergeProps(M,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:e.withCtx(()=>t[9]||(t[9]=[e.createElementVNode("i",{class:"iconfont icon-Weather text-h4"},null,-1)])),_:2,__:[9]},1040,["class","onClick"])]),_:1},8,["text"])],4),l.showTipMenu?(e.openBlock(),e.createElementBlock("div",on,[e.createElementVNode("div",{class:"menu-bar-box pa-1 rounded",style:e.normalizeStyle({right:i.right+"px"})},[e.createVNode(n,{text:"Legend",location:"left"},{activator:e.withCtx(({props:M})=>[e.createVNode(s,e.mergeProps(M,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.legendToggle?"bg-primary active-border":""],onClick:t[0]||(t[0]=Y=>i.legendToggle=!i.legendToggle)}),{default:e.withCtx(()=>t[10]||(t[10]=[e.createElementVNode("i",{class:"iconfont icon-Legend text-h4"},null,-1)])),_:2,__:[10]},1040,["class"])]),_:1})],4),i.legendToggle?(e.openBlock(),e.createBlock(f,{key:0,elevation:"16",class:"card-info d-flex justify-center align-start",style:e.normalizeStyle({position:"absolute",top:"340px",right:i.right+50+"px"})},{default:e.withCtx(()=>[e.createVNode(d,{class:"d-flex flex-column justify-center align-start text-label px-2",style:{width:"110px"}},{default:e.withCtx(()=>[t[11]||(t[11]=e.createElementVNode("div",{class:"text-body-2 font-weight-600 mb-2"},"Wind Level",-1)),e.createVNode(h,{class:"ma-0 ml-n1 text-body-2"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.legend.barbs,(M,Y)=>(e.openBlock(),e.createBlock(c,{key:M,cols:"6",class:"d-flex flex-row justify-start align-center py-1 px-0 ma-0"},{default:e.withCtx(()=>[e.createElementVNode("div",an,[e.createElementVNode("i",{class:e.normalizeClass(["iconfont",l.barbsIconName[Y]]),style:e.normalizeStyle({color:a.theme==="dark"?"#fff":"#000"})},null,6),e.createElementVNode("span",rn,e.toDisplayString(Number(M)<10?`00${M}kts`:Number(M)<100?`0${M}kts`:`${M}kts`),1)])]),_:2},1024))),128))]),_:1})]),_:1,__:[11]}),e.createVNode(g,{vertical:""}),e.createVNode(d,{class:"d-flex flex-column justify-center align-start text-label px-2",style:{width:"100px"}},{default:e.withCtx(()=>[t[12]||(t[12]=e.createElementVNode("div",{class:"text-body-2 font-weight-600 mb-2"},"Wave Height",-1)),e.createVNode(h,{class:"ma-0"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.legend.sigWaveHeight,(M,Y)=>(e.openBlock(),e.createBlock(c,{key:Y,cols:"12",class:"d-flex flex-row justify-start align-center py-1 px-0 ma-0"},{default:e.withCtx(()=>[e.createElementVNode("div",ln,[Y===0?(e.openBlock(),e.createElementBlock("div",sn)):(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle({width:"24px",height:"12px",background:M.color})},null,4)),e.createElementVNode("div",nn,e.toDisplayString(M.label),1)])]),_:2},1024))),128))]),_:1})]),_:1,__:[12]}),e.createVNode(g,{vertical:""}),e.createVNode(d,{class:"d-flex flex-column justify-center align-start text-label px-2",style:{width:"90px"}},{default:e.withCtx(()=>[t[13]||(t[13]=e.createElementVNode("div",{class:"text-body-2 font-weight-600 mb-2"},"Current",-1)),e.createVNode(h,{class:"ma-0 ml-n4"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.legend.current,(M,Y)=>(e.openBlock(),e.createBlock(c,{key:Y,cols:"12",class:"d-flex flex-row justify-center align-center py-1 px-0 ma-0"},{default:e.withCtx(()=>[e.createElementVNode("div",cn,[e.createElementVNode("div",mn,[e.createElementVNode("i",{class:"iconfont icon-a-direction-arrow text-label",style:e.normalizeStyle({fontSize:40*M.size+"px"})},null,4)]),e.createElementVNode("div",dn,e.toDisplayString(M.label),1)])]),_:2},1024))),128))]),_:1})]),_:1,__:[13]})]),_:1},8,["style"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["available-layers transition flex-center",i.toggle?"right-bar":""]),style:e.normalizeStyle(l.listStyle)},[e.createElementVNode("div",hn,[e.createElementVNode("div",pn,[e.createElementVNode("div",gn,e.toDisplayString(o.$t("weather.weather")),1),e.createVNode(w,{modelValue:i.autoActive,"onUpdate:modelValue":t[1]||(t[1]=M=>i.autoActive=M),class:"small-switch",color:"primary","base-color":"disabled",inset:"","hide-details":""},null,8,["modelValue"])]),e.createVNode(s,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:l.handleMenuToggle},{default:e.withCtx(()=>t[14]||(t[14]=[e.createElementVNode("i",{class:"iconfont icon-close text-label text-h4"},null,-1)])),_:1,__:[14]},8,["onClick"])]),a.simple?(e.openBlock(),e.createElementBlock("div",un,[e.createElementVNode("div",null,e.toDisplayString(o.$t("weather.forecastModel")),1),e.createVNode(z,{modelValue:i.currentModel,"onUpdate:modelValue":t[2]||(t[2]=M=>i.currentModel=M),rounded:"",height:"30",density:"compact",group:""},{default:e.withCtx(()=>[e.createVNode(s,{density:"compact",height:"30",value:"GFS",class:"text-none btn-bg-2 px-1 text-body-1",color:i.currentModel==="GFS"?"primary":"","base-color":""},{default:e.withCtx(()=>t[15]||(t[15]=[e.createTextVNode("NOAA",-1)])),_:1,__:[15]},8,["color"]),e.createVNode(s,{density:"compact",height:"30",class:"text-none btn-bg-2 px-1 text-body-1",color:i.currentModel==="ECMWF"?"primary":"","base-color":"",value:"ECMWF"},{default:e.withCtx(()=>t[16]||(t[16]=[e.createTextVNode("ECMWF",-1)])),_:1,__:[16]},8,["color"])]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["list-box scroll pl-4 pr-2 overflow-y-auto",i.autoActive?"":"cursor-not-allowed"])},[e.createVNode(f,{class:"block-bg mx-auto mb-3",elevation:"0"},{default:e.withCtx(()=>[e.createVNode(p,{class:"border-b-thin"},{default:e.withCtx(()=>[e.createVNode(x,{class:"text-subtitle-1 font-weight-medium",style:{"font-size":"16px !important"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("weather.overlays")),1)]),_:1})]),_:1}),e.createVNode(d,{class:"py-2"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.tagLayers.filter(M=>M.overlays),M=>(e.openBlock(),e.createBlock(S,{key:M.key,modelValue:i.checkList,"onUpdate:modelValue":t[3]||(t[3]=Y=>i.checkList=Y),value:M.key,label:o.$t(`weather.${M.locale}`),disabled:!i.autoActive,color:"primary",density:"compact",style:{height:"36px"},class:"flex-1-0-100 text-body-2","hide-details":""},null,8,["modelValue","value","label","disabled"]))),128))]),_:1})]),_:1}),e.createVNode(f,{class:"block-bg mx-auto mb-3",elevation:"0"},{default:e.withCtx(()=>[e.createVNode(p,{class:"border-b-thin"},{default:e.withCtx(()=>[e.createVNode(x,{class:"text-subtitle-1 font-weight-medium",style:{"font-size":"16px !important"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("weather.renders")),1)]),_:1})]),_:1}),e.createVNode(d,{class:"py-2"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.tagLayers.filter(M=>!M.overlays),M=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:M.key},[e.createVNode(L,{modelValue:i.renderKey,"onUpdate:modelValue":t[4]||(t[4]=Y=>i.renderKey=Y),label:o.$t(`weather.${M.locale}`),value:M.key,disabled:!i.autoActive,color:"primary",density:"compact",style:{height:"36px"},class:"text-body-2 py-1","hide-details":"",onClick:Y=>i.renderKey=i.renderKey===M.key?"":M.key},null,8,["modelValue","label","value","disabled","onClick"]),i.renderKey==="wind-particle"&&M.key==="wind-particle"?(e.openBlock(),e.createElementBlock("div",fn,[e.createElementVNode("span",null,e.toDisplayString(o.$t("weather.particleAnimatiom")),1),e.createVNode(w,{modelValue:i.showWindParticle,"onUpdate:modelValue":t[5]||(t[5]=Y=>i.showWindParticle=Y),label:"",class:"small-switch",color:"primary","base-color":"disabled",density:"compact",inset:"",style:{"font-size":"14px"},"hide-details":""},null,8,["modelValue"])])):e.createCommentVNode("",!0),i.renderKey==="current-particle"&&M.key==="current-particle"?(e.openBlock(),e.createElementBlock("div",yn,[e.createElementVNode("span",null,e.toDisplayString(o.$t("weather.particleAnimatiom")),1),e.createVNode(w,{modelValue:i.showCurrentParticle,"onUpdate:modelValue":t[6]||(t[6]=Y=>i.showCurrentParticle=Y),label:"",class:"small-switch",color:"primary","base-color":"disabled",inset:"",density:"compact",height:"20","hide-details":""},null,8,["modelValue"])])):e.createCommentVNode("",!0),i.renderKey==="wave-group"&&M.key==="wave-group"?(e.openBlock(),e.createBlock(z,{key:2,modelValue:i.waveToggleValue,"onUpdate:modelValue":t[7]||(t[7]=Y=>i.waveToggleValue=Y),class:"w-100 pl-7 rounded",rounded:"0",height:"30",density:"compact",group:"",disabled:!i.autoActive},{default:e.withCtx(()=>[e.createVNode(s,{density:"compact",height:"30",value:"sig-wave",class:"w-50 text-none px-2 text-body-1",color:i.waveToggleValue==="sig-wave"?"primary":"","base-color":"grey-lighten-1",disabled:!i.autoActive},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("weather.significant")),1)]),_:1},8,["color","disabled"]),e.createVNode(s,{density:"compact",height:"30",class:"w-50 text-none px-2 text-body-1",color:i.waveToggleValue==="swell"?"primary":"","base-color":"grey-lighten-1",disabled:!i.autoActive,value:"swell"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("weather.swell")),1)]),_:1},8,["color","disabled"])]),_:1},8,["modelValue","disabled"])):e.createCommentVNode("",!0),i.renderKey==="ice-forecast"&&M.key==="ice-forecast"?(e.openBlock(),e.createBlock(z,{key:3,modelValue:i.iceToggleValue,"onUpdate:modelValue":t[8]||(t[8]=Y=>i.iceToggleValue=Y),class:"w-100 pl-7 rounded",rounded:"0",height:"30",density:"compact",group:"",disabled:!i.autoActive},{default:e.withCtx(()=>[e.createVNode(s,{density:"compact",height:"30",value:"ice-cover",class:"w-50 text-none px-2 text-body-1",color:i.iceToggleValue==="ice-cover"?"primary":"","base-color":"grey-lighten-1",disabled:!i.autoActive},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("weather.coverage")),1)]),_:1},8,["color","disabled"]),e.createVNode(s,{density:"compact",height:"30",class:"w-50 text-none px-2 text-body-1",color:i.iceToggleValue==="ice-thickness"?"primary":"","base-color":"grey-lighten-1",disabled:!i.autoActive,value:"ice-thickness"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("weather.thickness")),1)]),_:1},8,["color","disabled"])]),_:1},8,["modelValue","disabled"])):e.createCommentVNode("",!0)],64))),128))]),_:1})]),_:1}),e.createVNode(f,{class:"block-bg mx-auto mb-3",elevation:"0"},{default:e.withCtx(()=>[e.createVNode(p,{class:"border-b-thin"},{default:e.withCtx(()=>[e.createVNode(x,{class:"text-subtitle-1 font-weight-medium",style:{"font-size":"16px !important"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("weather.forecastModel")),1)]),_:1})]),_:1}),e.createVNode(d,{class:""},{default:e.withCtx(()=>{var M,Y,Pe,ke,se,xe,I,ne,Z,X,ve,Se,Ne,N,me,ze,Le,Ce,D,Te,R,Ee,Me,Ve,ge,Oe,je,Fe,He,Ge,We,Ue,Ye,Ze,qe,Xe,Ke,Je,Qe,$e,et,tt,ot,at,it,rt,lt,st,nt,ct,mt,dt,ht,pt,gt,ut,ft,yt,bt,wt,xt,_t,kt,zt,vt,Lt,Ct,Pt,St,Nt,Tt,Dt,Et,Mt,Vt,Bt,It,Rt,At,Ot,jt,Ft,Ht,Gt,Wt,Ut,Yt,Zt,qt,Xt,Kt,Jt,Qt,eo,to,oo,ao,io,ro,lo,so,no,co,mo,ho;return[e.createElementVNode("div",bn,e.toDisplayString(o.$t("weather.atmospheric")),1),e.createElementVNode("div",wn,e.toDisplayString((Pe=(Y=(M=i.models)==null?void 0:M.weather)==null?void 0:Y.NOAA)==null?void 0:Pe.source)+" "+e.toDisplayString((xe=(se=(ke=i.models)==null?void 0:ke.weather)==null?void 0:se.NOAA)==null?void 0:xe.spatialResolution)+e.toDisplayString(o.$t("units.km"))+" "+e.toDisplayString((X=(Z=(ne=(I=i.models)==null?void 0:I.weather)==null?void 0:ne.NOAA)==null?void 0:Z.meta)==null?void 0:X.days)+e.toDisplayString(o.$t("units.days")),1),e.createElementVNode("div",xn,e.toDisplayString(o.$t("weather.source"))+": NOAA",1),e.createElementVNode("div",_n,e.toDisplayString(o.$t("weather.lastUpdate"))+": "+e.toDisplayString(l.computeDateUpdate((N=(Ne=(Se=(ve=i.models)==null?void 0:ve.weather)==null?void 0:Se.NOAA)==null?void 0:Ne.meta)==null?void 0:N.availabilityTime)),1),e.createElementVNode("div",kn,e.toDisplayString(o.$t("weather.referenceTime"))+": "+e.toDisplayString(l.computeDateZ((Ce=(Le=(ze=(me=i.models)==null?void 0:me.weather)==null?void 0:ze.NOAA)==null?void 0:Le.meta)==null?void 0:Ce.initialisationTime)),1),e.createElementVNode("div",zn,e.toDisplayString((R=(Te=(D=i.models)==null?void 0:D.weather)==null?void 0:Te.ECMWF)==null?void 0:R.source)+" "+e.toDisplayString((Ve=(Me=(Ee=i.models)==null?void 0:Ee.weather)==null?void 0:Me.ECMWF)==null?void 0:Ve.spatialResolution)+e.toDisplayString(o.$t("units.km"))+" "+e.toDisplayString((Fe=(je=(Oe=(ge=i.models)==null?void 0:ge.weather)==null?void 0:Oe.ECMWF)==null?void 0:je.meta)==null?void 0:Fe.days)+e.toDisplayString(o.$t("units.days")),1),e.createElementVNode("div",vn,e.toDisplayString(o.$t("weather.source"))+": ECMWF",1),e.createElementVNode("div",Ln,e.toDisplayString(o.$t("weather.lastUpdate"))+": "+e.toDisplayString(l.computeDateUpdate((Ue=(We=(Ge=(He=i.models)==null?void 0:He.weather)==null?void 0:Ge.ECMWF)==null?void 0:We.meta)==null?void 0:Ue.availabilityTime)),1),e.createElementVNode("div",Cn,e.toDisplayString(o.$t("weather.referenceTime"))+": "+e.toDisplayString(l.computeDateZ((Xe=(qe=(Ze=(Ye=i.models)==null?void 0:Ye.weather)==null?void 0:Ze.ECMWF)==null?void 0:qe.meta)==null?void 0:Xe.initialisationTime)),1),e.createVNode(g),e.createElementVNode("div",Pn,e.toDisplayString(o.$t("weather.wave")),1),e.createElementVNode("div",Sn,e.toDisplayString(($e=(Qe=(Je=(Ke=i.models)==null?void 0:Ke.marine)==null?void 0:Je.wave)==null?void 0:Qe.NOAA)==null?void 0:$e.source)+" "+e.toDisplayString((at=(ot=(tt=(et=i.models)==null?void 0:et.marine)==null?void 0:tt.wave)==null?void 0:ot.NOAA)==null?void 0:at.spatialResolution)+e.toDisplayString(o.$t("units.km"))+" "+e.toDisplayString((nt=(st=(lt=(rt=(it=i.models)==null?void 0:it.marine)==null?void 0:rt.wave)==null?void 0:lt.NOAA)==null?void 0:st.meta)==null?void 0:nt.days)+e.toDisplayString(o.$t("units.days")),1),e.createElementVNode("div",Nn,e.toDisplayString(o.$t("weather.source"))+": NOAA",1),e.createElementVNode("div",Tn,e.toDisplayString(o.$t("weather.lastUpdate"))+": "+e.toDisplayString(l.computeDateUpdate((pt=(ht=(dt=(mt=(ct=i.models)==null?void 0:ct.marine)==null?void 0:mt.wave)==null?void 0:dt.NOAA)==null?void 0:ht.meta)==null?void 0:pt.availabilityTime)),1),e.createElementVNode("div",Dn,e.toDisplayString(o.$t("weather.referenceTime"))+": "+e.toDisplayString(l.computeDateZ((bt=(yt=(ft=(ut=(gt=i.models)==null?void 0:gt.marine)==null?void 0:ut.wave)==null?void 0:ft.NOAA)==null?void 0:yt.meta)==null?void 0:bt.initialisationTime)),1),e.createElementVNode("div",En,e.toDisplayString((kt=(_t=(xt=(wt=i.models)==null?void 0:wt.marine)==null?void 0:xt.wave)==null?void 0:_t.ECMWF)==null?void 0:kt.source)+" "+e.toDisplayString((Ct=(Lt=(vt=(zt=i.models)==null?void 0:zt.marine)==null?void 0:vt.wave)==null?void 0:Lt.ECMWF)==null?void 0:Ct.spatialResolution)+e.toDisplayString(o.$t("units.km"))+" "+e.toDisplayString((Dt=(Tt=(Nt=(St=(Pt=i.models)==null?void 0:Pt.marine)==null?void 0:St.wave)==null?void 0:Nt.ECMWF)==null?void 0:Tt.meta)==null?void 0:Dt.days)+e.toDisplayString(o.$t("units.days")),1),e.createElementVNode("div",Mn,e.toDisplayString(o.$t("weather.source"))+": ECMWF",1),e.createElementVNode("div",Vn,e.toDisplayString(o.$t("weather.lastUpdate"))+": "+e.toDisplayString(l.computeDateUpdate((It=(Bt=(Vt=(Mt=(Et=i.models)==null?void 0:Et.marine)==null?void 0:Mt.wave)==null?void 0:Vt.ECMWF)==null?void 0:Bt.meta)==null?void 0:It.availabilityTime)),1),e.createElementVNode("div",Bn,e.toDisplayString(o.$t("weather.referenceTime"))+": "+e.toDisplayString(l.computeDateZ((Ft=(jt=(Ot=(At=(Rt=i.models)==null?void 0:Rt.marine)==null?void 0:At.wave)==null?void 0:Ot.ECMWF)==null?void 0:jt.meta)==null?void 0:Ft.initialisationTime)),1),e.createVNode(g),e.createElementVNode("div",In,e.toDisplayString(o.$t("weather.currents")),1),e.createElementVNode("div",Rn,e.toDisplayString((Ut=(Wt=(Gt=(Ht=i.models)==null?void 0:Ht.marine)==null?void 0:Gt.current)==null?void 0:Wt.ECMWF)==null?void 0:Ut.source)+" "+e.toDisplayString((Xt=(qt=(Zt=(Yt=i.models)==null?void 0:Yt.marine)==null?void 0:Zt.current)==null?void 0:qt.ECMWF)==null?void 0:Xt.spatialResolution)+e.toDisplayString(o.$t("units.km"))+" "+e.toDisplayString((to=(eo=(Qt=(Jt=(Kt=i.models)==null?void 0:Kt.marine)==null?void 0:Jt.current)==null?void 0:Qt.ECMWF)==null?void 0:eo.meta)==null?void 0:to.days)+e.toDisplayString(o.$t("units.days")),1),e.createElementVNode("div",An,e.toDisplayString(o.$t("weather.source"))+": ECMWF",1),e.createElementVNode("div",On,e.toDisplayString(o.$t("weather.lastUpdate"))+": "+e.toDisplayString(l.computeDateUpdate((lo=(ro=(io=(ao=(oo=i.models)==null?void 0:oo.marine)==null?void 0:ao.current)==null?void 0:io.ECMWF)==null?void 0:ro.meta)==null?void 0:lo.availabilityTime)),1),e.createElementVNode("div",jn,e.toDisplayString(o.$t("weather.referenceTime"))+": "+e.toDisplayString(l.computeDateZ((ho=(mo=(co=(no=(so=i.models)==null?void 0:so.marine)==null?void 0:no.current)==null?void 0:co.ECMWF)==null?void 0:mo.meta)==null?void 0:ho.initialisationTime)),1)]}),_:1})]),_:1})],2)],6),a.map?(e.openBlock(),e.createBlock(_,e.mergeProps({key:1,ref:"windBarb",map:a.map,"map-feather":a.mapFeather,"before-layer":"empty-layer-3",wind:(J=i.weatherLayers)==null?void 0:J.wind,"menu-toggle":a.menuToggle},o.$attrs),null,16,["map","map-feather","wind","menu-toggle"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(b,e.mergeProps({key:2,map:a.map,"before-layer":"empty-layer-2","sig-wave-height":(q=i.weatherLayers)==null?void 0:q["sig-wave-height"],"menu-toggle":a.menuToggle,"active-weather-layers":i.activeWeatherLayers},o.$attrs),null,16,["map","sig-wave-height","menu-toggle","active-weather-layers"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(u,e.mergeProps({key:3,map:a.map,"map-feather":a.mapFeather,"before-layer":"empty-layer-2",current:(te=i.weatherLayers)==null?void 0:te.current,"menu-toggle":a.menuToggle},o.$attrs),null,16,["map","map-feather","current","menu-toggle"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(k,e.mergeProps({key:4,map:a.map,"before-layer":"empty-layer-2",prmsl:(re=i.weatherLayers)==null?void 0:re.prmsl,"menu-toggle":a.menuToggle,"active-weather-layers":i.activeWeatherLayers},o.$attrs,{theme:a.theme}),null,16,["map","prmsl","menu-toggle","active-weather-layers","theme"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(y,e.mergeProps({key:5,viewport:i.viewport,factor:(oe=i.weatherLayers)==null?void 0:oe["wind-particle"],"menu-toggle":a.menuToggle,simple:a.simple},o.$attrs),null,16,["viewport","factor","menu-toggle","simple"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(C,e.mergeProps({key:6,viewport:i.viewport,factor:(ae=i.weatherLayers)==null?void 0:ae["current-particle"],"menu-toggle":a.menuToggle,simple:a.simple},o.$attrs),null,16,["viewport","factor","menu-toggle","simple"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(E,e.mergeProps({key:7,viewport:i.viewport,factor:(P=i.weatherLayers)==null?void 0:P["sig-wave"],"menu-toggle":a.menuToggle,simple:a.simple},o.$attrs),null,16,["viewport","factor","menu-toggle","simple"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(B,e.mergeProps({key:8,map:a.map,viewport:i.viewport,factor:(U=i.weatherLayers)==null?void 0:U.swell,"menu-toggle":a.menuToggle,"active-weather-layers":i.activeWeatherLayers,simple:a.simple},o.$attrs),null,16,["map","viewport","factor","menu-toggle","active-weather-layers","simple"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(A,e.mergeProps({key:9,viewport:i.viewport,factor:(ce=i.weatherLayers)==null?void 0:ce["ice-edge"],"menu-toggle":a.menuToggle,simple:a.simple},o.$attrs),null,16,["viewport","factor","menu-toggle","simple"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(O,e.mergeProps({key:10,viewport:i.viewport,factor:(he=i.weatherLayers)==null?void 0:he["ice-cover"],"menu-toggle":a.menuToggle,simple:a.simple},o.$attrs),null,16,["viewport","factor","menu-toggle","simple"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(G,e.mergeProps({key:11,viewport:i.viewport,factor:(fe=i.weatherLayers)==null?void 0:fe["ice-thickness"],"menu-toggle":a.menuToggle,simple:a.simple},o.$attrs),null,16,["viewport","factor","menu-toggle","simple"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(W,e.mergeProps({key:12,viewport:i.viewport,factor:(ye=i.weatherLayers)==null?void 0:ye.precip3h,"menu-toggle":a.menuToggle,simple:a.simple},o.$attrs),null,16,["viewport","factor","menu-toggle","simple"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(F,e.mergeProps({key:13,viewport:i.viewport,factor:(pe=i.weatherLayers)==null?void 0:pe.visibility,"menu-toggle":a.menuToggle,simple:a.simple},o.$attrs),null,16,["viewport","factor","menu-toggle","simple"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock($,e.mergeProps({key:14,viewport:i.viewport,factor:(we=i.weatherLayers)==null?void 0:we["water-temp"],"menu-toggle":a.menuToggle,simple:a.simple},o.$attrs),null,16,["viewport","factor","menu-toggle","simple"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(ee,e.mergeProps({key:15,viewport:i.viewport,factor:(be=i.weatherLayers)==null?void 0:be.temp,"menu-toggle":a.menuToggle,simple:a.simple},o.$attrs),null,16,["viewport","factor","menu-toggle","simple"])):e.createCommentVNode("",!0)])}const Hn=j(en,[["render",Fn]]),Ie=[{rank:0,name:"Best Match",alias:"BEST MATCH",model:"best_match",models:["best_match"]},{rank:1,name:"GFS",alias:"GFS",model:"gfs_seamless",provider:"NOAA",country:"United States",resolution:25,tips:"3-25km",length:16,frequency:1,models:["gfs_seamless"],categories:"ncep_gfs013,ncep_gfs025,ncep_gfs_graphcast025,ncep_hrrr_conus,ncep_nbm_conus",variables:"temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"},{rank:2,name:"ECMWF",alias:"ECMWF",model:"ecmwf_ifs025",provider:"ECMWF",country:"European Union",resolution:25,tips:"25km",length:15,frequency:6,models:["ecmwf_ifs025","ecmwf_aifs025_single"],categories:"ecmwf_ifs025,ecmwf_aifs025_single",variables:"temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"},{rank:3,disabled:!0,name:"ICON",alias:"ECMWF",model:"icon_seamless",provider:"Deutscher Wetterdienst (DWD)",country:"Germany",resolution:13,tips:"2-13km",length:7.5,frequency:3,models:["icon_seamless","icon_global","icon_eu","icon_d2"],categories:"dwd_icon,dwd_icon_eps,dwd_icon_d2,dwd_icon_d2_eps,dwd_icon_eu,dwd_icon_eu_eps",variables:"temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"},{rank:4,name:"ARPEGE",disabled:!0,alias:"ECMWF",model:"arpege_seamless",provider:"Météo-France",country:"France",resolution:25,tips:"1-25km",length:4,frequency:1,models:["arpege_seamless","arpege_world","arpege_europe"],categories:"meteofrance_arpege_europe,meteofrance_arpege_europe_probabilities,meteofrance_arpege_world025",variables:"temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"},{rank:5,name:"UKMO",disabled:!0,alias:"ECMWF",model:"ukmo_seamless",provider:"UK Met Office",country:"United Kingdom",resolution:10,tips:"2-10km",length:7,frequency:1,models:["ukmo_seamless","ukmo_global_deterministic_10km","ukmo_uk_deterministic_2km"],categories:"ukmo_global_deterministic_10km,ukmo_uk_deterministic_2km",variables:"temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"},{rank:6,name:"JMA",disabled:!0,alias:"GFS",model:"jma_seamless",provider:"JMA",country:"Japan",resolution:55,tips:"5-55km",length:11,frequency:3,models:["jma_seamless","jma_msm","jma_gsm"],categories:"jma_gsm,jma_msm",variables:"temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"},{rank:7,name:"GEM",disabled:!0,alias:"GFS",model:"gem_seamless",provider:"Canadian Weather Service",country:"Canada",resolution:2.5,tips:"2.5km",length:10,frequency:6,models:["gem_seamless","gem_global","gem_regional"],categories:"cmc_gem_gdps,cmc_gem_hrdps,cmc_gem_rdps",variables:"temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"},{rank:8,name:"GRAPES",disabled:!0,alias:"GFS",model:"cma_grapes_global",provider:"China Meteorological Administration (CMA)",country:"China",resolution:15,tips:"15km",length:10,frequency:6,models:["cma_grapes_global"],categories:"cma_grapes_global",variables:"temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"},{rank:9,name:"ACCESS-G",disabled:!0,alias:"GFS",model:"bom_access_global",provider:"Australian Bureau of Meteorology (BOM)",country:"Australia",resolution:15,tips:"15km",length:10,frequency:6,models:["bom_access_global"],categories:"bom_access_global",variables:"temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"}],Re=[{rank:0,name:"Best Match",alias:"BEST MATCH",model:"best_match",models:["best_match"]},{rank:1,name:"MFWAM",alias:"ECMWF",model:"meteofrance_wave",provider:"MeteoFrance",country:"France",resolution:8,tips:"8km",length:10,frequency:12,models:["meteofrance_wave"],categories:"meteofrance_wave",variables:"swell_wave_direction,swell_wave_height,swell_wave_period,swell_wave_peak_period,wave_direction,wave_height,wave_period,wind_wave_direction,wind_wave_height,wind_wave_period,wind_wave_peak_period"},{rank:2,disabled:!0,name:"SMOC",alias:"ECMWF",model:"meteofrance_currents",provider:"MeteoFrance",country:"France",resolution:8,tips:"8km",length:10,frequency:24,models:["meteofrance_currents"],categories:"meteofrance_currents, meteofrance_sea_surface_temperature",variables:"ocean_u_current,ocean_v_current,invert_barometer_height,sea_level_height_msl,sea_surface_temperature"},{rank:3,disabled:!0,name:"EWAM",alias:"ECMWF",model:"ewam",provider:"DWD",country:"Germany",resolution:5,tips:"5km",length:8,frequency:2,models:["ewam"],categories:"dwd_ewam",variables:"swell_wave_direction,swell_wave_height,swell_wave_period,swell_wave_peak_period,wave_direction,wave_height,wave_period,wind_wave_direction,wind_wave_height,wind_wave_period,wind_wave_peak_period"},{rank:4,disabled:!0,name:"GWAM",alias:"ECMWF",model:"gwam",provider:"DWD",country:"Germany",resolution:5,tips:"5km",length:4,frequency:2,models:["gwam"],categories:"dwd_gwam",variables:"swell_wave_direction,swell_wave_height,swell_wave_period,swell_wave_peak_period,wave_direction,wave_height,wave_period,wind_wave_direction,wind_wave_height,wind_wave_period,wind_wave_peak_period"},{rank:5,disabled:!0,name:"ECWAM",alias:"ECMWF",model:"ecmwf_wam025",provider:"ECMWF",country:"Europe",resolution:25,tips:"25km",length:10,frequency:6,models:["ecmwf_wam025"],categories:"ecmwf_wam025",variables:"swell_wave_direction,swell_wave_height,swell_wave_period,swell_wave_peak_period,wave_direction,wave_height,wave_period,wind_wave_direction,wind_wave_height,wind_wave_period,wind_wave_peak_period"},{rank:6,name:"GFSWave",alias:"GFS",model:"ncep_gfswave025",provider:"NCEP",country:"USA",resolution:25,tips:"25km",length:10,frequency:6,models:["ncep_gfswave025","ncep_gfswave016"],categories:"ncep_gfswave025,ncep_gfswave016",variables:"swell_wave_direction,swell_wave_height,swell_wave_period,swell_wave_peak_period,wave_direction,wave_height,wave_period,wind_wave_direction,wind_wave_height,wind_wave_period,wind_wave_peak_period"},{rank:7,disabled:!0,name:"ERA5-Ocean",alias:"ECMWF",model:"era5_ocean",provider:"Copernicus",country:"Europe",resolution:50,tips:"50km",length:-5,frequency:1,models:["era5_ocean"],categories:"copernicus_era5_ocean",variables:"swell_wave_direction,swell_wave_height,swell_wave_period,swell_wave_peak_period,wave_direction,wave_height,wave_period,wind_wave_direction,wind_wave_height,wind_wave_period,wind_wave_peak_period"}];class _o{static standardWeatherModels(){return Ie.filter(t=>!t.disabled&&t.alias)}static standardMarineModels(){return Re.filter(t=>!t.disabled&&t.alias)}static autoPickLayerModel(t,a="copernicus"){return a=a||"copernicus",a=a==null?void 0:a.toLowerCase(),a=["gfs","ecmwf","copernicus"].includes(a)?a:"copernicus",t=t==null?void 0:t.toLowerCase(),t==="gfs"?"gfs":["ec","ecmwf"].includes(t)?"ecmwf":["copernicus","cmems"].includes(t)?"copernicus":a}static autoPickPeerModel(t,a,r="copernicus"){if(a=this.autoPickLayerModel(a,r),ja.LayerHelper.WEATHER_LAYERS.reduce((i,l)=>l.atmos?i+l.weight:i,0)&t.weight){if(a==="copernicus")return"ecmwf"}else if(a==="ecmwf")return"copernicus";return a}static autoPickMeteoModel(t="best_match"){var a,r;t=t==null?void 0:t.toLowerCase(),t=t==="ec"?"ecmwf":t;const i=t.toLowerCase().split(","),l=[],s=[];for(const n of i){let c=Ie.find(d=>{var g,f,w;return((g=d.models)==null?void 0:g.includes(n))||((f=d.alias)==null?void 0:f.toLowerCase())===n||((w=d.name)==null?void 0:w.toLowerCase())===n}),h=Re.find(d=>{var g,f,w;return((g=d.models)==null?void 0:g.includes(n))||((f=d.alias)==null?void 0:f.toLowerCase())===n||((w=d.name)==null?void 0:w.toLowerCase())===n});c=c||Ie.find(d=>{var g,f;return((g=d.alias)==null?void 0:g.toLowerCase())===((f=h==null?void 0:h.alias)==null?void 0:f.toLowerCase())}),h=h||Re.find(d=>{var g,f;return((g=d.alias)==null?void 0:g.toLowerCase())===((f=c==null?void 0:c.alias)==null?void 0:f.toLowerCase())}),c=c||Ie[0],h=h||Re[0],l.push((a=c.models)!=null&&a.includes(n)?n:c.model),s.push((r=h.models)!=null&&r.includes(n)?n:h.model)}return{weatherModels:l.join(","),marineModels:s.join(",")}}static autoPickSubCategories(t){t=t.toUpperCase();const a=Ie.filter(l=>l.alias===t),r=Re.filter(l=>l.alias===t),i=[];return a.forEach(l=>{l.categories&&i.push(...l.categories.split(","))}),r.forEach(l=>{l.categories&&i.push(...l.categories.split(","))}),i}static pickHourly(t,a){var r,i,l,s,n,c,h,d,g,f,w,z,x,p,S,L,_,b,u,k,y,C,E,B,A,O,G,W,F,$,ee,J,q,te,re,oe,ae,P,U,ce,he,fe,ye,pe,we,be,M,Y,Pe,ke,se,xe;const I=typeof a=="string"?v(a):a,ne=t==null?void 0:t.weather,Z=t==null?void 0:t.marine,X=v((i=(r=ne==null?void 0:ne[0])==null?void 0:r.hourly)==null?void 0:i.date).utc(),ve=X.clone().add((n=(s=(l=ne==null?void 0:ne[0])==null?void 0:l.hourly)==null?void 0:s.time)==null?void 0:n.at(0),"h"),Se=X.clone().add((d=(h=(c=ne==null?void 0:ne[0])==null?void 0:c.hourly)==null?void 0:h.time)==null?void 0:d.at(-1),"h"),Ne=[];if(I.isBetween(ve,Se,"millisecond","[]")){const N=I.utc().diff(ve,"h",!1);let me,ze;if(ne){let Le=0,Ce=0,D=0;for(const Te of ne){const R=Te==null?void 0:Te.hourly;for(let ge=N-(N-1)%3;ge<=N;ge++)Le+=(g=R==null?void 0:R.precipitation)==null?void 0:g.at(ge);for(let ge=N-(N-1)%6;ge<=N;ge++)Ce+=(f=R==null?void 0:R.precipitation)==null?void 0:f.at(ge);for(let ge=N-(N-1)%12;ge<=N;ge++)D+=(w=R==null?void 0:R.precipitation)==null?void 0:w.at(ge);me={temp:(z=R==null?void 0:R.temperature_2m)==null?void 0:z.at(N),apparentTemp:(x=R==null?void 0:R.apparent_temperature)==null?void 0:x.at(N),rh:(p=R==null?void 0:R.relative_humidity_2m)==null?void 0:p.at(N),dp:(S=R==null?void 0:R.dew_point_2m)==null?void 0:S.at(N),precip:{probability:(L=R==null?void 0:R.precipitation_probability)==null?void 0:L.at(N),sum:(_=R==null?void 0:R.precipitation)==null?void 0:_.at(N),sum1Hours:(b=R==null?void 0:R.precipitation)==null?void 0:b.at(N),sum3Hours:Math.round(Le*100)/100,sum6Hours:Math.round(Ce*100)/100,sum12Hours:Math.round(D*100)/100},pmsl:(u=R==null?void 0:R.pressure_msl)==null?void 0:u.at(N),psurf:(k=R==null?void 0:R.surface_pressure)==null?void 0:k.at(N),code:(y=R==null?void 0:R.weather_code)==null?void 0:y.at(N),visibility:this.m2nm((C=R==null?void 0:R.visibility)==null?void 0:C.at(N)),wind:{speed:(E=R==null?void 0:R.wind_speed_10m)==null?void 0:E.at(N),kts:(B=R==null?void 0:R.wind_speed_10m)==null?void 0:B.at(N),degree:(A=R==null?void 0:R.wind_direction_10m)==null?void 0:A.at(N),bearing:((O=R==null?void 0:R.wind_direction_10m)==null?void 0:O.at(N))!==null?(((G=R==null?void 0:R.wind_direction_10m)==null?void 0:G.at(N))+180)%360:null,gusts:(W=R==null?void 0:R.wind_gusts_10m)==null?void 0:W.at(N)},isDay:(F=R==null?void 0:R.is_day)==null?void 0:F.at(N)};const{name:Ee,url:Me,bg:Ve}=this.parseWeatherCode(me.code,me.isDay);me.name=Ee,me.url=Me,me.bg=Ve,me.wind.scale=this.beaufort(this.kts2ms(me.wind.kts)),me.wind.direction=this.degree2Direction(me.wind.degree),Ne.push({utc:ve.add(N,"h").format(),model:Te.model,weather:{...me}})}}if(Z){let Le=0;for(const Ce of Z){const D=Ce==null?void 0:Ce.hourly;ze={wave:{sig:{height:($=D==null?void 0:D.wave_height)==null?void 0:$.at(N),degree:(ee=D==null?void 0:D.wave_direction)==null?void 0:ee.at(N),bearing:((J=D==null?void 0:D.wave_direction)==null?void 0:J.at(N))!==null?(((q=D==null?void 0:D.wave_direction)==null?void 0:q.at(N))+180)%360:null,period:(te=D==null?void 0:D.wave_period)==null?void 0:te.at(N)},swell:{height:(re=D==null?void 0:D.swell_wave_height)==null?void 0:re.at(N),degree:(oe=D==null?void 0:D.swell_wave_direction)==null?void 0:oe.at(N),bearing:((ae=D==null?void 0:D.swell_wave_direction)==null?void 0:ae.at(N))!==null?(((P=D==null?void 0:D.swell_wave_direction)==null?void 0:P.at(N))+180)%360:null,period:(U=D==null?void 0:D.swell_wave_period)==null?void 0:U.at(N),peakPeriod:(ce=D==null?void 0:D.swell_wave_peak_period)==null?void 0:ce.at(N)},wd:{height:(he=D==null?void 0:D.wind_wave_height)==null?void 0:he.at(N),degree:(fe=D==null?void 0:D.wind_wave_direction)==null?void 0:fe.at(N),bearing:((ye=D==null?void 0:D.wind_wave_direction)==null?void 0:ye.at(N))!==null?(((pe=D==null?void 0:D.wind_wave_direction)==null?void 0:pe.at(N))+180)%360:null,period:(we=D==null?void 0:D.wind_wave_period)==null?void 0:we.at(N),peakPeriod:(be=D==null?void 0:D.wind_wave_peak_period)==null?void 0:be.at(N)}},current:{speed:(M=D==null?void 0:D.ocean_current_velocity)==null?void 0:M.at(N),kts:(Y=D==null?void 0:D.ocean_current_velocity)==null?void 0:Y.at(N),degree:(Pe=D==null?void 0:D.ocean_current_direction)==null?void 0:Pe.at(N),bearing:((ke=D==null?void 0:D.ocean_current_direction)==null?void 0:ke.at(N))??null},sst:(se=D==null?void 0:D.sea_surface_temperature)==null?void 0:se.at(N),height:(xe=D==null?void 0:D.sea_level_height_msl)==null?void 0:xe.at(N)},ze.wave=this.parseWave(ze.wave,me==null?void 0:me.wind),ze.current.direction=this.degree2Direction(ze.current.degree),Object.assign(Ne[Le],ze),Le++}}}return Ne}static toLegacy(t){var a,r,i,l,s,n,c,h,d,g;return{wind:(a=t==null?void 0:t.weather)==null?void 0:a.wind,visibility:(r=t==null?void 0:t.weather)==null?void 0:r.visibility,temp:(i=t==null?void 0:t.weather)==null?void 0:i.temp,prmsl:(l=t==null?void 0:t.weather)==null?void 0:l.pmsl,gusts:{kts:(n=(s=t==null?void 0:t.weather)==null?void 0:s.wind)==null?void 0:n.gusts},precip:(c=t==null?void 0:t.weather)==null?void 0:c.precip,code:(h=t==null?void 0:t.weather)==null?void 0:h.code,name:(d=t==null?void 0:t.weather)==null?void 0:d.name,url:(g=t==null?void 0:t.weather)==null?void 0:g.url,wave:t==null?void 0:t.wave,current:t==null?void 0:t.current,sst:t==null?void 0:t.sst,height:t==null?void 0:t.height,utc:t==null?void 0:t.utc,source:t==null?void 0:t.model}}static pickDaily(t,a){var r,i,l,s,n,c,h,d,g,f,w,z,x,p,S,L,_,b,u,k,y,C,E,B,A,O,G,W,F,$,ee,J,q,te,re,oe,ae,P,U,ce,he,fe,ye,pe;const we=typeof a=="string"?v(a):a,be=t==null?void 0:t.weather,M=t==null?void 0:t.marine,Y=v((l=(i=(r=be==null?void 0:be[0])==null?void 0:r.daily)==null?void 0:i.time)==null?void 0:l.at(0)),Pe=v((c=(n=(s=be==null?void 0:be[0])==null?void 0:s.daily)==null?void 0:n.time)==null?void 0:c.at(-1)),ke=[];if(we.isBetween(Y,Pe,"millisecond","[]")){let se,xe;const I=we.diff(Y,"d",!1);if(be)for(const ne of be){const Z=ne.daily;se={code:(h=Z.weather_code)==null?void 0:h.at(I),temp:{max:(d=Z.temperature_2m_max)==null?void 0:d.at(I),min:(g=Z.temperature_2m_min)==null?void 0:g.at(I),mean:(f=Z.temperature_2m_mean)==null?void 0:f.at(I)},apparentTemp:{max:(w=Z.apparent_temperature_max)==null?void 0:w.at(I),min:(z=Z.apparent_temperature_min)==null?void 0:z.at(I)},precip:{sum:(x=Z.precipitation_sum)==null?void 0:x.at(I),rainSum:(p=Z.rain_sum)==null?void 0:p.at(I),snowfallSum:(S=Z.snowfall_sum)==null?void 0:S.at(I),showersSum:(L=Z.showers_sum)==null?void 0:L.at(I),hours:(_=Z.precipitation_hours)==null?void 0:_.at(I),probability:(b=Z.precipitation_probability_max)==null?void 0:b.at(I)},rh:{max:(u=Z.relative_humidity_2m_max)==null?void 0:u.at(I),min:(k=Z.relative_humidity_2m_min)==null?void 0:k.at(I),mean:(y=Z.relative_humidity_2m_mean)==null?void 0:y.at(I)},wind:{speed:(C=Z.wind_speed_10m_max)==null?void 0:C.at(I),kts:(E=Z.wind_speed_10m_max)==null?void 0:E.at(I),degree:(B=Z.wind_direction_10m_dominant)==null?void 0:B.at(I),gusts:(A=Z.wind_gusts_10m_max)==null?void 0:A.at(I),bearing:((O=Z.wind_direction_10m_dominant)==null?void 0:O.at(I))!==null?(((G=Z.wind_direction_10m_dominant)==null?void 0:G.at(I))+180)%360:null}};const{name:X,url:ve,bg:Se}=this.parseWeatherCode(se.code,!0);se.name=X,se.url=ve,se.bg=Se,se.wind.scale=this.beaufort(this.kts2ms(se.wind.kts)),se.wind.direction=this.degree2Direction(se.wind.degree),ke.push({utc:Y.add(I,"d").utc().format(),model:ne.model,weather:{...se}})}if(M){let ne=0;for(const Z of M){const X=Z.daily;xe={wave:{sig:{height:(W=X.wave_height_max)==null?void 0:W.at(I),degree:(F=X.wave_direction_dominant)==null?void 0:F.at(I),period:($=X.wave_period_max)==null?void 0:$.at(I),bearing:((ee=X.wave_direction_dominant)==null?void 0:ee.at(I))!==null?(((J=X.wave_direction_dominant)==null?void 0:J.at(I))+180)%360:null},swell:{height:(q=X.swell_wave_height_max)==null?void 0:q.at(I),degree:(te=X.swell_wave_direction_dominant)==null?void 0:te.at(I),period:(re=X.swell_wave_period_max)==null?void 0:re.at(I),peakPeriod:(oe=X.swell_wave_peak_period_max)==null?void 0:oe.at(I),bearing:((ae=X.swell_wave_direction_dominant)==null?void 0:ae.at(I))!==null?((P=X.swell_wave_direction_dominant)==null?void 0:P.at(I))%360:null},wd:{height:(U=X.wind_wave_height_max)==null?void 0:U.at(I),degree:(ce=X.wind_wave_direction_dominant)==null?void 0:ce.at(I),period:(he=X.wind_wave_period_max)==null?void 0:he.at(I),peakPeriod:(fe=X.wind_wave_peak_period_max)==null?void 0:fe.at(I),bearing:((ye=X.wind_wave_direction_dominant)==null?void 0:ye.at(I))!==null?(((pe=X.wind_wave_direction_dominant)==null?void 0:pe.at(I))+180)%360:null}}},xe.wave=this.parseWave(xe.wave,se==null?void 0:se.wind),Object.assign(ke[ne],xe),ne++}}}return ke}static parseWave(t,a){if(t.sig.direction=this.degree2Direction(t.sig.degree),t.swell.direction=this.degree2Direction(t.swell.degree),t.wd.direction=this.degree2Direction(t.wd.degree),t.sig.scale=this.douglas(t.sig.height),t.swell.scale=this.douglas(t.swell.height),t.wd.scale=this.douglas(t.wd.height),t.sig.height===0){const r=Math.sqrt(Math.pow(t.swell.height||0,2)+Math.pow(t.wd.height||0,2));t.sig.height=Math.round(r*100)/100}if(t.swell.height===0)if(t.sig.height>t.wd.height){const r=Math.sqrt(Math.abs(Math.pow(t.sig.height||0,2)-Math.pow(t.wd.height||0,2)));t.swell.height=Math.round(r*100)/100}else{const r=Math.round(.12*this.kts2ms((a==null?void 0:a.kts)||0)*100)/100,i=r>1?r/10:r>.5?r/5:r>.3?r/2:r;t.swell.height=Math.round(i*100)/100}if(t.wd.height===0||t.wd.height>t.sig.height)if(t.sig.height>t.swell.height){const r=Math.sqrt(Math.abs(Math.pow(t.sig.height||0,2)-Math.pow(t.swell.height||0,2))),i=.24*this.kts2ms((a==null?void 0:a.kts)||0);t.wd.height=Math.round(Math.min(r,i)*100)/100}else{const r=.24*this.kts2ms((a==null?void 0:a.kts)||0);t.wd.height=Math.round(r*100)/100}return t.swell.height>t.sig.height&&(t.swell.height=Math.round(t.sig.height*.76*100)/100),t.sig.period||(t.sig.period=Math.round(5*Math.sqrt(t.sig.height))),t.swell.period||(t.swell.period=Math.round(5*Math.sqrt(t.swell.height))),t.wd.period||(t.wd.period=Math.round(5*Math.sqrt(t.wd.height))),t}static parseWeatherCode(t,a){const r=this.weatherCode(t);return(a?r.day:r.night)||{}}static weatherCode(t){const a={code:t};switch(t){case 0:a.day={name:"Sunny",url:"https://osshz.idmwx.com/asset/weather/01d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg1.png"},a.night={name:"Clear",url:"https://osshz.idmwx.com/asset/weather/01n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg1.png"};break;case 1:a.day={name:"Mainly Sunny",url:"https://osshz.idmwx.com/asset/weather/01d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg1.png"},a.night={name:"Mainly Clear",url:"https://osshz.idmwx.com/asset/weather/01n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg1.png"};break;case 2:a.day={name:"Partly Cloudy",url:"https://osshz.idmwx.com/asset/weather/02d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg2.png"},a.night={name:"Partly Cloudy",url:"https://osshz.idmwx.com/asset/weather/02n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg2.png"};break;case 3:a.day={name:"Overcast",url:"https://osshz.idmwx.com/asset/weather/04d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg3.png"},a.night={name:"Overcast",url:"https://osshz.idmwx.com/asset/weather/04n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg3.png"};break;case 45:a.day={name:"Foggy",url:"https://osshz.idmwx.com/asset/weather/50d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg4.png"},a.night={name:"Foggy",url:"https://osshz.idmwx.com/asset/weather/50n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg4.png"};break;case 48:a.day={name:"Rime Fog",url:"https://osshz.idmwx.com/asset/weather/50d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg4.png"},a.night={name:"Rime Fog",url:"https://osshz.idmwx.com/asset/weather/50n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg4.png"};break;case 51:a.day={name:"Light Drizzle",url:"https://osshz.idmwx.com/asset/weather/14d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Drizzle",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 53:a.day={name:"Drizzle",url:"https://osshz.idmwx.com/asset/weather/14d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Drizzle",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 55:a.day={name:"Heavy Drizzle",url:"https://osshz.idmwx.com/asset/weather/15d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Heavy Drizzle",url:"https://osshz.idmwx.com/asset/weather/15n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 56:a.day={name:"Light Freezing Drizzle",url:"https://osshz.idmwx.com/asset/weather/14d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Freezing Drizzle",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 57:a.day={name:"Freezing Drizzle",url:"https://osshz.idmwx.com/asset/weather/14d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Freezing Drizzle",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 61:a.day={name:"Light Rain",url:"https://osshz.idmwx.com/asset/weather/16d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Rain",url:"https://osshz.idmwx.com/asset/weather/10n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 63:a.day={name:"Rain",url:"https://osshz.idmwx.com/asset/weather/16d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Rain",url:"https://osshz.idmwx.com/asset/weather/10n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 65:a.day={name:"Heavy Rain",url:"https://osshz.idmwx.com/asset/weather/16d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Heavy Rain",url:"https://osshz.idmwx.com/asset/weather/10n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 66:a.day={name:"Light Freezing Rain",url:"https://osshz.idmwx.com/asset/weather/16d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Freezing Rain",url:"https://osshz.idmwx.com/asset/weather/10n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 67:a.day={name:"Freezing Rain",url:"https://osshz.idmwx.com/asset/weather/16d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Freezing Rain",url:"https://osshz.idmwx.com/asset/weather/10n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 71:a.day={name:"Light Snow",url:"https://osshz.idmwx.com/asset/weather/17d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Light Snow",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 73:a.day={name:"Snow",url:"https://osshz.idmwx.com/asset/weather/17d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Snow",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 75:a.day={name:"Heavy Snow",url:"https://osshz.idmwx.com/asset/weather/17d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Heavy Snow",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 77:a.day={name:"Snow Grains",url:"https://osshz.idmwx.com/asset/weather/17d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Snow Grains",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 80:a.day={name:"Light Showers",url:"https://osshz.idmwx.com/asset/weather/09d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Showers",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 81:a.day={name:"Showers",url:"https://osshz.idmwx.com/asset/weather/09d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Showers",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 82:a.day={name:"Heavy Showers",url:"https://osshz.idmwx.com/asset/weather/09d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Heavy Showers",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 85:a.day={name:"Light Snow Showers",url:"https://osshz.idmwx.com/asset/weather/13d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Light Snow Showers",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 86:a.day={name:"Snow Showers",url:"https://osshz.idmwx.com/asset/weather/13d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Snow Showers",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 95:a.day={name:"Thunderstorm",url:"https://osshz.idmwx.com/asset/weather/11d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Thunderstorm",url:"https://osshz.idmwx.com/asset/weather/11n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 96:a.day={name:"Light Thunderstorms With Hail",url:"https://osshz.idmwx.com/asset/weather/11d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Thunderstorms With Hail",url:"https://osshz.idmwx.com/asset/weather/11n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 99:a.day={name:"Thunderstorms With Hail",url:"https://osshz.idmwx.com/asset/weather/11d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Thunderstorms With Hail",url:"https://osshz.idmwx.com/asset/weather/11n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break}return a}static kts2ms(t){return isNaN(t)||t===null?t:Math.round(t*1852/3600*1e4)/1e4}static kts2kmh(t){return isNaN(t)||t===null?t:t*1.852}static m2nm(t){return isNaN(t)||t===null?t:Math.round(t/1e3/1.852*1e4)/1e4}static kmh2kts(t){return isNaN(t)||t===null?t:this.ms2kts(t*1e3/3600)}static ms2kts(t){return isNaN(t)||t===null?t:Math.round(t*3600/1852*1e4)/1e4}static degree2Radian(t){if(isNaN(t)||t===null)return t;let a=t%360/360*2*Math.PI;return a=a<0?a+2*Math.PI:a,a}static degree2Direction(t){const a=this.degree2Radian(t);if(isNaN(a)||a===null)return null;let r="N/A";const i=Math.PI/16;return a<i?r="N":a>=i&&a<3*i?r="NNE":a>=3*i&&a<5*i?r="NE":a>=5*i&&a<7*i?r="ENE":a>=7*i&&a<9*i?r="E":a>=9*i&&a<11*i?r="ESE":a>=11*i&&a<13*i?r="SE":a>=13*i&&a<15*i?r="SSE":a>=15*i&&a<17*i?r="S":a>=17*i&&a<19*i?r="SSW":a>=19*i&&a<21*i?r="SW":a>=21*i&&a<23*i?r="WSW":a>=23*i&&a<25*i?r="W":a>=25*i&&a<27*i?r="WNW":a>=27*i&&a<29*i?r="NW":a>=29*i&&a<31*i?r="NNW":a>=31*i&&a<32*i&&(r="N"),r}static beaufort(t){let a=0;return isNaN(t)||(t=Math.round(t*10)/10,t<=.2?a=0:t<=1.5?a=1:t<=3.3?a=2:t<=5.4?a=3:t<=7.9?a=4:t<=10.7?a=5:t<=13.8?a=6:t<=17.1?a=7:t<=20.7?a=8:t<=22.4?a=9:t<=28.4?a=10:t<=32.6?a=11:t<=36.9?a=12:t<=41.4?a=13:t<=46.1?a=14:t<=50.9?a=15:t<=55.9?a=16:t<=61.2?a=17:t>61.2&&(a=18)),a}static douglas(t){let a="Calm";return isNaN(t)||t<=.1?a="Calm":t<=.5?a="Smooth":t<=1.25?a="Slight":t<=2.5?a="Moderate":t<=4?a="Rough":t<=6?a="VeryRough":t<=9?a="High":t<=14?a="VeryHigh":a="Precipitous",a}}const rh="",Gn={name:"IdmTropicals",props:{simple:{type:Boolean,default:!1},permission:{type:Number},locale:{type:String},map:{type:Object},top:{type:Number,default:60},paddingTop:{type:Number,default:48},menuToggle:{type:Object,default:{}},timeZone:{type:Number},token:{type:String},defaultMeteoToken:{type:String},gateway:{type:String,default:"aa"},assistGateway:{type:Array,default:[]},forecastModel:{type:String},realTime:{type:String},beforeLayer:{type:String}},emits:["tropical","tropicalCenterPoints","tropicalProbability","tropicalNotification"],setup(){return{Theme:le.useTheme()}},data(){return{right:10,toggle:!1,helper:Be.CompanyHelper,tropicals:void 0,tropicalCacheKey:"tropicalCacheGL4",source:"tropicals-source",clusterSource:"tropicals-cluster-source",historyLayer:"tropicals-history-layer",forecastLayer:"tropicals-forecast-layer",forecastModelLayer:"tropicals-forecast-model-layer",forecastNameLayer:"tropicals-forecast-name-layer",pointCircleLayer:"tropicals-point-circle-layer",pointLabelLayer:"tropicals-point-label-layer",historyPointCircleLayer:"history-tropicals-point-circle-layer",historyPointLabelLayer:"history-tropicals-point-label-layer",interpolateData:[],interpolateMarkers:[],interpolateSource:"tropicals-interpolate-source",interpolateLineLayer:"tropicals-interpolate-line-layer",showTropicalsInfo:!1,activeTropicals:void 0,activeTropicalsMarker:void 0,empty:V.featureCollection([]),showLegend:!1,showHoverPoint:!1,hoverPoint:void 0,hoverMarker:void 0}},computed:{hoverLayers(){return[this.forecastNameLayer,this.forecastLayer,this.historyLayer,this.pointCircleLayer,this.pointCircleLayer+"-border",this.historyPointCircleLayer,this.historyPointCircleLayer+"-border",this.historyPointCircleLayer+"-inner"]},clickLayers(){return[this.forecastNameLayer,this.historyLayer]},computeTime(){return(o,t)=>{if(o){const a=v(o).utcOffset(t),r=t<0?t:"+"+t;return`${a==null?void 0:a.format("MMM-DD/HHmm")} (UTC${r}) ${a==null?void 0:a.fromNow()} `}return"-"}},computeTzTime(){return(o,t,a="MM-DD HH:mm")=>{var r,i;if(o){const l=t||0,s=(i=(r=v(o))==null?void 0:r.utcOffset(l))==null?void 0:i.format(a),n=`(UTC ${l>=0?"+":""}${l})`;return s+" "+n}return"-"}},computeTimezone(){return this.timeZone<0?this.timeZone:"+"+this.timeZone},computeBF(){return function(o){const t=_o.kts2ms(o);return _o.beaufort(t)}},computeMovement(){return function(o){var t,a;return(a=(t=o==null?void 0:o.forecasts)==null?void 0:t.find(r=>!r.disabled))==null?void 0:a.movement}},computePosition(){return o=>!o||o.lng===null||o.lng===void 0||isNaN(o.lng)||o.lat===null||o.lat===void 0||isNaN(o.lat)?"-":T.LngLatHelper.lat2pretty(o==null?void 0:o.lat,2).pretty+" / "+T.LngLatHelper.lng2pretty(o==null?void 0:o.lng,2).pretty}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)})},immediate:!0},map:{handler(){this.map?(this.toggle=localStorage.getItem(this.tropicalCacheKey)==="true"||!1,localStorage.setItem(this.tropicalCacheKey,this.toggle),this.toggle&&this.fetchTropicals()):this.handleClear()}},showTropicalsInfo:{handler(){this.$emit("tropical",this.showTropicalsInfo)},immediate:!0},"tropicals.version":{handler(){this.handleRefresh()}},timeZone:{handler(o,t){o!==t&&this.handleRefresh()}},realTime:{handler(o){this.map&&o&&this.toggle&&this.handleRender()}},locale:{handler(o){this.map&&this.toggle&&this.handleRefresh()}}},mounted(){},methods:{handleMenuToggle(){var o,t,a;this.toggle=!this.toggle,localStorage.setItem(this.tropicalCacheKey,this.toggle),this.toggle?this.fetchTropicals():(this.handleClear(),(a=(t=(o=this.$parent)==null?void 0:o.$refs)==null?void 0:t.idmBottomBar)==null||a.handleToggle("tropical",!1))},async fetchTropicals(){var i,l,s;const o=new Date().valueOf();let t=0,a=0,r=(i=Be.LayerHelper.WEATHER_LAYERS.find(n=>n.key==="tropicals"))==null?void 0:i.weight;if(r>0){const n=this.assistGateway[Math.round(Math.random()*(this.assistGateway.length-1))],c=await Q.get(`${n}/api/arc/weather/layers2/links?l=${r}&v=${this.forecastModel}&t=${this.realTime}`,{headers:{Authorization:this.defaultMeteoToken}});if(a=new Date().valueOf()-(o+t),console.log("weather links elapsed: ",a,", total: ",t+=a),((l=c==null?void 0:c.data)==null?void 0:l.code)===0){const h=(s=c==null?void 0:c.data)==null?void 0:s.data;await Q.get(h.tropicals,{headers:{Authorization:this.defaultMeteoToken,key:"tropicals"},responseType:/\.(jpg|png)$/.test(h.tropicals)?"blob":"json"}).then(d=>{var w,z,x;const g=T.TropicalHelper.convert2Geojson(((w=d==null?void 0:d.data)==null?void 0:w.data)||(d==null?void 0:d.data));((x=(z=d==null?void 0:d.config)==null?void 0:z.headers)==null?void 0:x.key)&&g&&(this.tropicals={data:g,active:!0,cached:!0,type:"json",etime:c.data.etime,version:Math.random()+1})}).catch(d=>{console.log(`[${key}] fetch layer error: ${d}`)})}a=new Date().valueOf()-(o+t),console.log("tropicals elapsed: ",a,", total: ",t+=a)}},handleRefresh(){var t,a;(((a=(t=this.tropicals)==null?void 0:t.data)==null?void 0:a.features)||[]).forEach(r=>{var i,l,s,n,c,h,d,g,f,w,z,x,p,S,L,_,b,u,k,y;if(((i=r.geometry)==null?void 0:i.type)==="Point"){let C="";switch(!0){case(((l=r.properties.wind)==null?void 0:l.kts)<32||((s=r.properties)==null?void 0:s.kts)<32):C="TD";break;case(((n=r.properties.wind)==null?void 0:n.kts)<47||((c=r.properties)==null?void 0:c.kts)<47):C="TS";break;case(((h=r.properties.wind)==null?void 0:h.kts)<63||((d=r.properties)==null?void 0:d.kts)<63):C="STS";break;case(((g=r.properties.wind)==null?void 0:g.kts)<79||((f=r.properties)==null?void 0:f.kts)<79):C="TY";break;case(((w=r.properties.wind)==null?void 0:w.kts)<94||((z=r.properties)==null?void 0:z.kts)<94):C="STY";break;case(((x=r.properties.wind)==null?void 0:x.kts)>=94||((p=r.properties)==null?void 0:p.kts)>=94):C="Super TY";break;default:C="Super TY";break}r.properties.level=C}((S=r.geometry)==null?void 0:S.type)==="Point"&&((L=r.properties)!=null&&L.important)&&(r.properties.format=(b=(_=v(r.properties.date))==null?void 0:_.utcOffset(this.timeZone))==null?void 0:b.format(`MMM-DD/HHmm [(utc${this.computeTimezone})]`)),((u=r.geometry)==null?void 0:u.type)==="Point"&&(r.properties.Name=((y=(k=r.properties.name)==null?void 0:k.trim())==null?void 0:y.replace(/^./,C=>C.toUpperCase()))||r.properties.nameCn,r.properties.nameCn=r.properties.nameCn||r.properties.Name||"-")}),this.handleInit()},handleInit(){var o,t,a,r,i,l,s,n,c,h,d,g;this.handleClear(),this.tropicals&&this.map&&(this.handleRender(),(o=this.map)==null||o.on("click",this.clickLayers,this.handleClick),(t=this.map)==null||t.on("mousemove",this.hoverLayers,this.handleHover),(a=this.map)==null||a.on("mouseleave",this.hoverLayers,this.handleLeave)),((l=(i=(r=this.tropicals)==null?void 0:r.data)==null?void 0:i.features)==null?void 0:l.length)>0?(c=(n=(s=this.$parent)==null?void 0:s.$refs)==null?void 0:n.idmBottomBar)==null||c.handleToggle("tropical",!0):(g=(d=(h=this.$parent)==null?void 0:h.$refs)==null?void 0:d.idmBottomBar)==null||g.handleToggle("tropical",!1)},handleRender(){var o,t,a,r,i,l,s,n,c,h;if(this.tropicals&&this.map){const d=new Date().valueOf();let g=0,f=0;(o=this.map)!=null&&o.getSource(this.source)?((a=this.map)==null||a.getSource(this.source).setData((t=this.tropicals)!=null&&t.active?this.tropicals.data:this.empty),f=new Date().valueOf()-(d+g),console.log("[tropicals] update elapsed: ",f,", total: ",g+=f)):(this.map.addSource(this.source,{type:"geojson",data:(r=this.tropicals)!=null&&r.active?(i=this.tropicals)==null?void 0:i.data:this.empty}),this.map.addLayer({id:this.historyLayer,type:"line",source:this.source,filter:["all",["==","$type","LineString"],["==","type","history"],["!=","disabled",!0]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.Theme.current.value.colors["on-surface"],"line-width":3,"line-opacity":.7}},this.beforeLayer),this.map.addLayer({id:this.forecastLayer,type:"line",source:this.source,filter:["all",["==","$type","LineString"],["==","type","forecast"],["!=","disabled",!0]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":["match",["get","model"],"cma",this.Theme.current.value.colors["tropicals-cma"],"jma",this.Theme.current.value.colors["tropicals-jma"],"ecmwf",this.Theme.current.value.colors["tropicals-ecmwf"],"ukm",this.Theme.current.value.colors["tropicals-ukm"],"noaa-at",this.Theme.current.value.colors["tropicals-noaa-at"],"noaa-ep",this.Theme.current.value.colors["tropicals-noaa-ep"],this.Theme.current.value.colors["tropicals-noaa-other"]],"line-width":2,"line-opacity":1,"line-dasharray":[1,2]}},this.beforeLayer),this.map.addLayer({id:this.forecastModelLayer,type:"symbol",source:this.source,filter:["all",["==","$type","LineString"],["==","type","forecast"],["!=","disabled",!0]],layout:{"symbol-placement":"line","text-field":"{model}","text-rotation-alignment":"viewport","text-size":12},paint:{"text-color":this.Theme.current.value.dark?"#333":"#fff","text-opacity":1,"text-halo-color":["match",["get","model"],"cma",this.Theme.current.value.colors["tropicals-cma"],"jma",this.Theme.current.value.colors["tropicals-jma"],"ecmwf",this.Theme.current.value.colors["tropicals-ecmwf"],"ukm",this.Theme.current.value.colors["tropicals-ukm"],"noaa-at",this.Theme.current.value.colors["tropicals-noaa-at"],"noaa-ep",this.Theme.current.value.colors["tropicals-noaa-ep"],this.Theme.current.value.colors["tropicals-noaa-other"]],"text-halo-width":4}},this.beforeLayer),f=new Date().valueOf()-(d+g),console.log("[tropical] add elapsed: ",f,", total: ",g+=f)),(l=this.map)!=null&&l.getSource(this.clusterSource)?((n=this.map)==null||n.getSource(this.clusterSource).setData((s=this.tropicals)!=null&&s.active?this.tropicals.data:this.empty),f=new Date().valueOf()-(d+g),console.log("[tropical] update elapsed: ",f,", total: ",g+=f)):(this.map.addSource(this.clusterSource,{type:"geojson",data:(c=this.tropicals)!=null&&c.active?(h=this.tropicals)==null?void 0:h.data:this.empty}),this.map.addLayer({id:this.pointCircleLayer+"-border",type:"circle",source:this.clusterSource,filter:["all",["==","$type","Point"],["==","type","forecast"],["!=","disabled",!0]],paint:{"circle-radius":5,"circle-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer),this.map.addLayer({id:this.pointCircleLayer,type:"circle",source:this.clusterSource,filter:["all",["==","$type","Point"],["==","type","forecast"],["!=","disabled",!0]],paint:{"circle-radius":4,"circle-color":["case",["boolean",["==",["get","kts",["get","wind"]],null]],this.Theme.current.value.colors["tropicals-td"],["boolean",["<",["get","kts",["get","wind"]],32]],this.Theme.current.value.colors["tropicals-td"],["boolean",["<",["get","kts",["get","wind"]],47]],this.Theme.current.value.colors["tropicals-ts"],["boolean",["<",["get","kts",["get","wind"]],63]],this.Theme.current.value.colors["tropicals-sts"],["boolean",["<",["get","kts",["get","wind"]],79]],this.Theme.current.value.colors["tropicals-ty"],["boolean",["<",["get","kts",["get","wind"]],94]],this.Theme.current.value.colors["tropicals-sty"],["boolean",[">=",["get","kts",["get","wind"]],94]],this.Theme.current.value.colors["tropicals-super-ty"],"#fff"]}},this.beforeLayer),this.map.addLayer({id:this.pointLabelLayer,type:"symbol",source:this.clusterSource,minzoom:5,filter:["all",["==","$type","Point"],["==","type","forecast"],["!=","disabled",!0]],layout:{"text-field":["get","format"],"text-offset":[1,0],"text-anchor":"left","text-size":10},paint:{"text-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer),this.map.addLayer({id:this.historyPointCircleLayer+"-border",type:"circle",source:this.clusterSource,filter:["all",["==","$type","Point"],["==","type","history"],["==","important",!0],["!=","disabled",!0]],paint:{"circle-radius":6,"circle-color":"#fff"}},this.beforeLayer),this.map.addLayer({id:this.historyPointCircleLayer,type:"circle",source:this.clusterSource,filter:["all",["==","$type","Point"],["==","type","history"],["==","important",!0],["!=","disabled",!0]],paint:{"circle-radius":5,"circle-color":"rgba(0,0,0,0.7)"}},this.beforeLayer),this.map.addLayer({id:this.historyPointCircleLayer+"-inner",type:"circle",source:this.clusterSource,filter:["all",["==","$type","Point"],["==","type","history"],["==","important",!0],["!=","disabled",!0]],paint:{"circle-radius":3,"circle-color":"#fff"}},this.beforeLayer),this.map.addLayer({id:this.historyPointLabelLayer,type:"symbol",source:this.clusterSource,minzoom:5,filter:["all",["==","$type","Point"],["==","type","history"],["==","important",!0],["!=","disabled",!0]],layout:{"text-field":["get","format"],"text-offset":[1,0],"text-anchor":"left","text-size":10},paint:{"text-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer),this.map.addLayer({id:this.forecastNameLayer,type:"symbol",source:this.clusterSource,filter:["all",["==","$type","Point"],["==","type","forecast"],["==","important",!0]],layout:{"text-field":["get",this.locale==="en"?"Name":"nameCn"],"text-anchor":"bottom","text-size":16,"text-allow-overlap":!0,"text-ignore-placement":!0,"text-font":["DIN Pro Regular","Arial Unicode MS Regular"],"text-offset":[0,2]},paint:{"text-color":this.Theme.current.value.colors["map-blue"],"text-halo-color":"#ffffff","text-halo-width":2}},this.beforeLayer),f=new Date().valueOf()-(d+g),console.log("[tropical] add elapsed: ",f,", total: ",g+=f));const w=T.TropicalHelper.interpolate(this.tropicals,1);this.interpolateData=JSON.parse(JSON.stringify(w)),this.handleDateChange()}},handleClear(){var o,t,a,r;this.map&&(this.map.getLayer(this.historyLayer)&&this.map.removeLayer(this.historyLayer),this.map.getLayer(this.forecastLayer)&&this.map.removeLayer(this.forecastLayer),this.map.getLayer(this.forecastModelLayer)&&this.map.removeLayer(this.forecastModelLayer),this.map.getLayer(this.forecastNameLayer)&&this.map.removeLayer(this.forecastNameLayer),this.map.getLayer(this.pointCircleLayer)&&this.map.removeLayer(this.pointCircleLayer),this.map.getLayer(this.pointCircleLayer+"-border")&&this.map.removeLayer(this.pointCircleLayer+"-border"),this.map.getLayer(this.pointLabelLayer)&&this.map.removeLayer(this.pointLabelLayer),this.map.getLayer(this.historyPointCircleLayer)&&this.map.removeLayer(this.historyPointCircleLayer),this.map.getLayer(this.historyPointCircleLayer+"-border")&&this.map.removeLayer(this.historyPointCircleLayer+"-border"),this.map.getLayer(this.historyPointCircleLayer+"-inner")&&this.map.removeLayer(this.historyPointCircleLayer+"-inner"),this.map.getLayer(this.historyPointLabelLayer)&&this.map.removeLayer(this.historyPointLabelLayer),this.map.getLayer(this.interpolateLineLayer)&&this.map.removeLayer(this.interpolateLineLayer),(o=this.interpolateMarkers)==null||o.forEach(i=>i==null?void 0:i.remove()),this.map.getSource(this.source)&&this.map.removeSource(this.source),this.map.getSource(this.clusterSource)&&this.map.removeSource(this.clusterSource),this.map.getSource(this.interpolateSource)&&this.map.removeSource(this.interpolateSource)),(t=this.map)==null||t.off("click",this.clickLayers,this.handleClick),(a=this.map)==null||a.off("mousemove",this.hoverLayers,this.handleHover),(r=this.map)==null||r.off("mouseleave",this.hoverLayers,this.handleLeave),this.handleCloseInfoMarker()},handleDateChange(){var o,t,a,r,i,l,s,n,c,h,d,g,f,w,z,x,p,S,L,_,b,u,k,y,C,E,B,A,O,G,W,F,$,ee,J;if((o=this.interpolateMarkers)==null||o.forEach(q=>q==null?void 0:q.remove()),(t=this.interpolateData)!=null&&t.length&&this.tropicals.active){const q=v(this.realTime).utc().set({minute:0,second:0,millisecond:0}),te=this.interpolateData.filter(P=>P.properties.date===(q==null?void 0:q.format())&&!P.properties.disabled),re=this.handleComputePolygons(te),oe=V.featureCollection([...te]);re.forEach(P=>{oe.features.push(P)}),(a=this.map)!=null&&a.getSource(this.interpolateSource)?(r=this.map)==null||r.getSource(this.interpolateSource).setData(oe):((i=this.map)==null||i.addSource(this.interpolateSource,{type:"geojson",data:oe}),(l=this.map)==null||l.addLayer({id:this.interpolateLineLayer,type:"line",source:this.interpolateSource,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],paint:{"line-opacity":1,"line-color":["match",["get","level"],7,this.Theme.current.value.colors["tropicals-r7"],10,this.Theme.current.value.colors["tropicals-r10"],this.Theme.current.value.colors["tropicals-r10"]],"line-width":1}},"empty-layer-3")),this.interpolateMarkers=[];const ae=[];for(const P of te)if(!P.properties.disabled){if(!ae.some(ye=>{var pe;return ye.properties.name===((pe=P.properties)==null?void 0:pe.name)})){const ye=((n=(s=this.tropicals.data.features.find(pe=>{var we;return pe.properties.name===((we=P.properties)==null?void 0:we.name)}))==null?void 0:s.properties)==null?void 0:n.nameCn)||((c=P.properties)==null?void 0:c.Name)||"-";P.properties.nameCn=ye,P.properties.Name=((d=(h=P.properties.name)==null?void 0:h.trim())==null?void 0:d.replace(/^./,pe=>pe.toUpperCase()))||P.properties.nameCn,ae.push(P)}let U=this.Theme.current.value.colors["tropicals-ty"];((f=(g=P.properties)==null?void 0:g.wind)==null?void 0:f.kts)<32||!((z=(w=P.properties)==null?void 0:w.wind)!=null&&z.kts)?U=this.Theme.current.value.colors["tropicals-td"]:((p=(x=P.properties)==null?void 0:x.wind)==null?void 0:p.kts)>=32&&((L=(S=P.properties)==null?void 0:S.wind)==null?void 0:L.kts)<47?U=this.Theme.current.value.colors["tropicals-ts"]:((b=(_=P.properties)==null?void 0:_.wind)==null?void 0:b.kts)>=47&&((k=(u=P.properties)==null?void 0:u.wind)==null?void 0:k.kts)<63?U=this.Theme.current.value.colors["tropicals-sts"]:((C=(y=P.properties)==null?void 0:y.wind)==null?void 0:C.kts)>=63&&((B=(E=P.properties)==null?void 0:E.wind)==null?void 0:B.kts)<79?U=this.Theme.current.value.colors["tropicals-ty"]:((O=(A=P.properties)==null?void 0:A.wind)==null?void 0:O.kts)>=79&&((W=(G=P.properties)==null?void 0:G.wind)==null?void 0:W.kts)<94?U=this.Theme.current.value.colors["tropicals-sty"]:(($=(F=P.properties)==null?void 0:F.wind)==null?void 0:$.kts)>=94?U=this.Theme.current.value.colors["tropicals-super-ty"]:U=this.Theme.current.value.colors["tropicals-ty"];const ce=`<svg t="1719918955501"
204
204
  class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" p-id="18382"
205
205
  xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200">
206
206
  <path
@@ -216,4 +216,4 @@
216
216
  fill="#ffffff" p-id="18386"></path>
217
217
  </svg>`,he=document.createElement("div");he.className="idm-tropical-gl4-hourly-marker",he.innerHTML=`<div class="${P.geometry.coordinates[1]>=0?"center north":"center south"}">${ce}</div>`;const fe=new de.Marker(he).setLngLat(P.geometry.coordinates).addTo(this.map);this.interpolateMarkers.push(fe)}this.$emit("tropicalCenterPoints",ae)}else(ee=this.map)!=null&&ee.getSource(this.interpolateSource)&&((J=this.map)==null||J.getSource(this.interpolateSource).setData(this.empty))},handleClick(o){var i,l,s,n,c,h,d,g,f,w,z;const t=o.features[0],a=(l=(i=this.tropicals)==null?void 0:i.data)==null?void 0:l.features.filter(x=>{var p;return x.geometry.type==="LineString"&&x.properties.type==="forecast"&&x.properties.name===((p=t==null?void 0:t.properties)==null?void 0:p.name)}),r=(n=(s=this.tropicals)==null?void 0:s.data)==null?void 0:n.features.filter(x=>{var p;return x.geometry.type==="LineString"&&x.properties.type==="history"&&x.properties.name===((p=t==null?void 0:t.properties)==null?void 0:p.name)});this.activeTropicals={name:((c=t==null?void 0:t.properties)==null?void 0:c.name)||"-",nameCn:((h=t==null?void 0:t.properties)==null?void 0:h.nameCn)||((d=t==null?void 0:t.properties)==null?void 0:d.name)||"-",Name:((g=t==null?void 0:t.properties)==null?void 0:g.Name)||"-",forecasts:a.map(x=>x.properties),history:(f=r[0])==null?void 0:f.properties,showCircle:(z=(w=a[0])==null?void 0:w.properties)==null?void 0:z.showCircle},this.showTropicalsInfo=!0,this.simple||this.drawTropicalsInfoMaker([o.lngLat.lng,o.lngLat.lat])},drawTropicalsInfoMaker(o){this.$nextTick(()=>{const t=document.getElementById("idm-tropical-gl4-info");this.activeTropicalsMarker?this.activeTropicalsMarker.setLngLat(o).setOffset([220,0]):this.activeTropicalsMarker=new de.Marker(t).setLngLat(o).setOffset([220,0]).addTo(this.map)})},handleCloseInfoMarker(){this.showTropicalsInfo=!1,this.$nextTick(()=>{var o;(o=this.activeTropicalsMarker)==null||o.remove(),this.activeTropicalsMarker=void 0})},handleForecastToggle(o){var r,i,l,s,n,c;o.disabled=!o.disabled;const t=`${o.name}-${o.model}`,a=(i=(r=this.map)==null?void 0:r.getSource(this.source)._data)==null?void 0:i.features;a.forEach(h=>{h.properties.category===t&&(h.properties.disabled=o.disabled)}),this.interpolateData.forEach(h=>{h.properties.category===t&&(h.properties.disabled=o.disabled)}),(s=(l=this.map)==null?void 0:l.getSource(this.source))==null||s.setData(V.featureCollection(a)),(c=(n=this.map)==null?void 0:n.getSource(this.clusterSource))==null||c.setData(V.featureCollection(a)),this.handleDateChange()},handleStrikeProbability(o){this.$emit("tropicalProbability",o)},handleToggleCircles(o){var t,a;o.showCircle=!o.showCircle,(a=(t=this.tropicals.data)==null?void 0:t.features)==null||a.forEach(r=>{r.properties.name===o.name&&(r.properties.showCircle=o.showCircle)}),this.handleRender()},handleComputePolygons(o){const t=[];for(const a of o){const r=a.properties.wind,i={ne:r.r7ne>=0?r.r7ne:void 0,se:r.r7se>=0?r.r7se:void 0,sw:r.r7sw>=0?r.r7sw:void 0,nw:r.r7nw>=0?r.r7nw:void 0},l=this.handleComputeArc(a.geometry.coordinates,i,{...a.properties,level:7});t.push(l);const s={ne:r.r10ne>=0?r.r10ne:void 0,se:r.r10se>=0?r.r10se:void 0,sw:r.r10sw>=0?r.r10sw:void 0,nw:r.r10nw>=0?r.r10nw:void 0},n=this.handleComputeArc(a.geometry.coordinates,s,{...a.properties,level:10});t.push(n)}return t},handleComputeArc(o,t,a){var l;const r=[];for(const s in t){const n=t[s]??0;let c;switch(s){case"ne":c=V.lineArc(o,n,0,90,{steps:n>0?32:1,units:"nauticalmiles"});break;case"se":c=V.lineArc(o,n,90,180,{steps:n>0?32:1,units:"nauticalmiles"});break;case"sw":c=V.lineArc(o,n,180,270,{steps:n>0?32:1,units:"nauticalmiles"});break;case"nw":c=V.lineArc(o,n,270,360,{steps:n>0?32:1,units:"nauticalmiles"});break}r.push(...(l=c==null?void 0:c.geometry)==null?void 0:l.coordinates)}const i=V.lineString(r);return V.lineToPolygon(i,{properties:a})},handleNotification(o){this.$emit("tropicalNotification",o)},handleHover(o){var i,l,s,n,c;this.map.getCanvas().style.cursor="pointer";const a=this.map.queryRenderedFeatures(o.point,{layers:[this.pointCircleLayer,this.pointCircleLayer+"-border",this.historyPointCircleLayer,this.historyPointCircleLayer+"-border",this.historyPointCircleLayer+"-inner"]})[0];this.hoverPoint=a==null?void 0:a.properties;const r=(l=(i=this.tropicals)==null?void 0:i.data)==null?void 0:l.features.filter(h=>{var d;return h.geometry.type==="LineString"&&h.properties.type==="forecast"&&h.properties.name===((d=a==null?void 0:a.properties)==null?void 0:d.name)});this.hoverPoint&&(this.hoverPoint.lng=a.geometry.coordinates[0],this.hoverPoint.lat=a.geometry.coordinates[1],this.hoverPoint.update=(n=(s=r==null?void 0:r[0])==null?void 0:s.properties)==null?void 0:n.date,(c=this.hoverMarker)==null||c.remove(),this.showHoverPoint=!0,this.$nextTick(()=>{const h=document.getElementById("tropicalHoverMarkerInfo").cloneNode(!0);this.hoverMarker=new de.Marker(h).setLngLat(a.geometry.coordinates).setOffset([160,0]).addTo(this.map)}))},handleLeave(){var o;this.map.getCanvas().style.cursor="grab",this.showHoverPoint=!1,(o=this.hoverMarker)==null||o.remove(),this.hoverMarker=void 0}}},Wn={class:"idm-tropical-gl4"},Un={class:"pb-1"},Yn={class:"text-h5 font-weight-600"},Zn={key:0,class:"text-h5 font-weight-600"},qn={class:"text-body-1"},Xn={class:"text-label"},Kn={class:"d-flex justify-space-between align-center"},Jn={class:"w-60"},Qn={class:"text-label pr-1"},$n={class:"flex-1-1-0"},ec={class:"text-label pr-1"},tc={class:"py-2 d-flex justify-space-between align-center"},oc={class:"w-60"},ac={class:"text-label pr-1"},ic={class:"flex-1-1-0"},rc={class:"text-label pr-1"},lc={class:"d-flex align-center flex-1-1-100 justify-space-between mt-n1"},sc={class:"text-label pr-1",style:{width:"130px"}},nc={class:"model-box d-flex justify-end align-center flex-wrap ga-1 pa-1"},cc={class:"more"},mc={key:0,class:"w-100 d-flex justify-space-between align-center px-2"},dc={key:1,class:"my-3 w-100",style:{height:"80px"}},hc={class:"pa-1 d-flex justify-space-between align-center"},pc={class:"pa-1 d-flex justify-space-between align-center"},gc={class:"d-flex justify-star align-center"},uc={class:"font-weight-600 mr-1"},fc={class:""},yc={class:"port-box d-flex flex-column justify-center align-start ga-2"},bc={key:0,class:"d-flex justify-start align-center"},wc={class:"text-label pr-1"},xc={key:1,class:"d-flex justify-start align-center"},_c={class:"text-label pr-1"},kc={key:2,class:"d-flex justify-start align-center"},zc={class:"text-label pr-1"},vc={key:3,class:"d-flex justify-start align-center"},Lc={class:"text-label pr-1"},Cc={key:4,class:"d-flex justify-start align-center"},Pc={class:"text-label pr-1"},Sc={key:5,class:"d-flex justify-start align-center"},Nc={class:"text-label pr-1"},Tc={class:"d-flex justify-start align-center"},Dc={class:"text-label pr-1"},Ec={key:6,class:"d-flex justify-start align-center"},Mc={class:"text-label pr-1"},Vc={key:7,class:"d-flex justify-start align-center"},Bc={class:"text-label pr-1"},Ic={class:"d-flex justify-start align-center"},Rc={class:"text-label pr-1"};function Ac(o,t,a,r,i,l){const s=e.resolveComponent("VBtn"),n=e.resolveComponent("VTooltip"),c=e.resolveComponent("v-icon"),h=e.resolveComponent("VCardText"),d=e.resolveComponent("VDivider"),g=e.resolveComponent("VCardActions"),f=e.resolveComponent("VCard"),w=e.resolveComponent("v-card-title"),z=e.resolveComponent("v-divider");return e.openBlock(),e.createElementBlock("div",Wn,[e.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:e.normalizeStyle({top:a.top+a.paddingTop+86+"px",right:i.right+"px"})},[e.createVNode(n,{text:o.$t("tropical.tropicals"),location:"left"},{activator:e.withCtx(({props:x})=>[e.createVNode(s,e.mergeProps(x,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:e.withCtx(()=>t[3]||(t[3]=[e.createElementVNode("i",{class:"iconfont icon-Tropical text-h4"},null,-1)])),_:2,__:[3]},1040,["class","onClick"])]),_:1},8,["text"])],4),i.showTropicalsInfo&&!o.$attrs.hideTropicalsLegend?(e.openBlock(),e.createElementBlock("div",{key:0,id:"idm-tropical-gl4-info",class:e.normalizeClass(["idm-tropical-gl4-info",a.simple?"page":"dialog"])},[e.createVNode(f,{class:e.normalizeClass(["w-100",a.simple?"rounded-t-4 bg-none":""]),elevation:a.simple?0:16},{default:e.withCtx(()=>[e.createVNode(h,null,{default:e.withCtx(()=>{var x,p,S,L,_,b,u,k,y,C,E,B;return[e.createElementVNode("div",Un,[e.createElementVNode("span",Yn,e.toDisplayString(a.locale==="en"?(x=i.activeTropicals)==null?void 0:x.Name:((p=i.activeTropicals)==null?void 0:p.nameCn)||((S=i.activeTropicals)==null?void 0:S.Name)||"-"),1),(_=(L=i.activeTropicals)==null?void 0:L.history)!=null&&_.level?(e.openBlock(),e.createElementBlock("span",Zn,", "+e.toDisplayString((u=(b=i.activeTropicals)==null?void 0:b.history)==null?void 0:u.level),1)):e.createCommentVNode("",!0)]),e.createVNode(s,{icon:"",density:"compact",variant:"plain",class:"close",onClick:e.withModifiers(l.handleCloseInfoMarker,["stop"])},{default:e.withCtx(()=>[e.createVNode(c,{icon:"mdi-close",class:"text-label text-h4"})]),_:1},8,["onClick"]),e.createElementVNode("div",qn,[e.createElementVNode("span",Xn,e.toDisplayString(o.$t("actions.lastUpdate"))+": ",1),e.createElementVNode("span",null,e.toDisplayString(l.computeTime(((y=(k=i.activeTropicals)==null?void 0:k.history)==null?void 0:y.updated)||((B=(E=(C=i.activeTropicals)==null?void 0:C.forecasts)==null?void 0:E.filter(A=>!A.disabled)[0])==null?void 0:B.date),a.timeZone)),1)])]}),_:1}),e.createVNode(d),e.createVNode(h,{class:"text-body-1 py-3"},{default:e.withCtx(()=>{var x,p,S,L,_,b,u,k,y;return[e.createElementVNode("div",Kn,[e.createElementVNode("div",Jn,[e.createElementVNode("label",Qn,e.toDisplayString(o.$t("weather.windSpeed"))+" : ",1),e.createElementVNode("span",null,e.toDisplayString(((p=(x=i.activeTropicals)==null?void 0:x.history)==null?void 0:p.kts)||"-")+" kts",1),e.createElementVNode("span",null,", BF "+e.toDisplayString(l.computeBF(((L=(S=i.activeTropicals)==null?void 0:S.history)==null?void 0:L.kts)||"-")),1)]),e.createElementVNode("div",$n,[e.createElementVNode("label",ec,e.toDisplayString(o.$t("weather.pressure"))+" : ",1),e.createElementVNode("span",null,e.toDisplayString(((b=(_=i.activeTropicals)==null?void 0:_.history)==null?void 0:b.pressure)||"-")+" hPa",1)])]),e.createElementVNode("div",tc,[e.createElementVNode("div",oc,[e.createElementVNode("label",ac,e.toDisplayString(o.$t("tropical.moveSpeed"))+" : ",1),e.createElementVNode("span",null,e.toDisplayString(((u=l.computeMovement(i.activeTropicals))==null?void 0:u.kts)||"-")+" kts",1)]),e.createElementVNode("div",ic,[e.createElementVNode("label",rc,e.toDisplayString(o.$t("tropical.moveDir"))+" : ",1),e.createElementVNode("span",null,e.toDisplayString(((k=l.computeMovement(i.activeTropicals))==null?void 0:k.deg)||"-")+"°",1)])]),e.createElementVNode("div",lc,[e.createElementVNode("label",sc,e.toDisplayString(o.$t("weather.forecastModels"))+" : ",1),e.createElementVNode("div",nc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList((y=i.activeTropicals)==null?void 0:y.forecasts,(C,E)=>(e.openBlock(),e.createBlock(s,{key:E,density:"compact",variant:C.disabled?"text":"flat",color:C.disabled?"":"primary","min-width":30,class:e.normalizeClass(["model text-none text-body-1 px-1",C.disabled?"btn-border-1 btn-bg-1":""]),onClick:e.withModifiers(B=>l.handleForecastToggle(C),["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(C.model),1)]),_:2},1032,["variant","color","class","onClick"]))),128))])])]}),_:1}),e.createVNode(d),a.simple?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(g,{key:0,class:"d-flex justify-space-between"},{default:e.withCtx(()=>[e.createVNode(s,{density:"compact","prepend-icon":"",variant:"text",color:i.showLegend?"primary":"",class:"text-none text-body-1",onClick:t[0]||(t[0]=e.withModifiers(x=>i.showLegend=!i.showLegend,["stop"]))},{prepend:e.withCtx(()=>t[4]||(t[4]=[e.createElementVNode("i",{class:"iconfont icon-Legend text-h4"},null,-1)])),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(o.$t("weather.legend")),1)]),_:1},8,["color"]),e.createElementVNode("div",cc,[a.permission&i.helper.LEVEL.Supper?(e.openBlock(),e.createBlock(s,{key:0,variant:"text",density:"compact",class:"text-none text-body-1",onClick:t[1]||(t[1]=e.withModifiers(x=>l.handleNotification(i.activeTropicals),["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("actions.notify")),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(s,{variant:"text",density:"compact","append-icon":"mdi-chevron-right",class:"text-none text-body-1",onClick:t[2]||(t[2]=e.withModifiers(x=>l.handleStrikeProbability(i.activeTropicals),["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("actions.viewReport")),1)]),_:1})])]),_:1}))]),_:1},8,["class","elevation"]),a.simple?(e.openBlock(),e.createElementBlock("div",mc,t[5]||(t[5]=[e.createStaticVNode('<div class="pa-1"><div class="legend d-flex justify-start align-center py-2"><div class="icon td"></div><div class="label">TD</div></div><div class="legend d-flex justify-start align-center py-2"><div class="icon sts"></div><div class="label">STS</div></div><div class="legend d-flex justify-start align-center py-2"><div class="icon sty"></div><div class="label">STY</div></div></div><div class="pa-1"><div class="legend d-flex justify-start align-center py-2"><div class="icon ts"></div><div class="label">TS</div></div><div class="legend d-flex justify-start align-center py-2"><div class="icon ty"></div><div class="label">TY</div></div><div class="legend d-flex justify-start align-center py-2"><div class="icon supper-ty"></div><div class="label">Super TY</div></div></div><div class="pa-1"><div class="w-100 legend d-flex justify-start align-center py-2 ga-2"><div class="icon history"></div><div class="label">History</div><div class="icon forecast"></div><div class="label">Forecast</div></div><div class="w-100 legend d-flex justify-start align-center py-2"><div class="icon r7"></div><div class="label">35kts Radii</div></div><div class="w-100 legend d-flex justify-start align-center py-2"><div class="icon r10"></div><div class="label">50kts Radii</div></div></div>',3)]))):(e.openBlock(),e.createElementBlock("div",dc,[e.withDirectives(e.createVNode(f,{elevation:"16"},{default:e.withCtx(()=>[e.createVNode(h,null,{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",hc,t[6]||(t[6]=[e.createElementVNode("div",{class:"legend d-flex justify-start align-center"},[e.createElementVNode("div",{class:"icon td"}),e.createElementVNode("div",{class:"label"},"TD")],-1),e.createElementVNode("div",{class:"legend d-flex justify-start align-center"},[e.createElementVNode("div",{class:"icon ts"}),e.createElementVNode("div",{class:"label"},"TS")],-1),e.createElementVNode("div",{class:"legend d-flex justify-start align-center"},[e.createElementVNode("div",{class:"icon sts"}),e.createElementVNode("div",{class:"label"},"STS")],-1),e.createElementVNode("div",{class:"legend d-flex justify-start align-center"},[e.createElementVNode("div",{class:"icon ty"}),e.createElementVNode("div",{class:"label"},"TY")],-1),e.createElementVNode("div",{class:"legend d-flex justify-start align-center"},[e.createElementVNode("div",{class:"icon sty"}),e.createElementVNode("div",{class:"label"},"STY")],-1),e.createElementVNode("div",{class:"legend d-flex justify-start align-center"},[e.createElementVNode("div",{class:"icon supper-ty"}),e.createElementVNode("div",{class:"label"},"Super TY")],-1)]),512),[[e.vShow,i.showLegend]]),e.withDirectives(e.createElementVNode("div",pc,t[7]||(t[7]=[e.createElementVNode("div",{class:"legend d-flex justify-start align-center"},[e.createElementVNode("div",{class:"icon history"}),e.createElementVNode("div",{class:"label"},"History")],-1),e.createElementVNode("div",{class:"legend d-flex justify-start align-center"},[e.createElementVNode("div",{class:"icon forecast"}),e.createElementVNode("div",{class:"label"},"Forecast")],-1),e.createElementVNode("div",{class:"legend d-flex justify-start align-center"},[e.createElementVNode("div",{class:"icon r7"}),e.createElementVNode("div",{class:"label"},"35kts Radii")],-1),e.createElementVNode("div",{class:"legend d-flex justify-start align-center"},[e.createElementVNode("div",{class:"icon r10"}),e.createElementVNode("div",{class:"label"},"50kts Radii")],-1)]),512),[[e.vShow,i.showLegend]])]),_:1})]),_:1},512),[[e.vShow,i.showLegend]])]))],2)):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(f,{id:"tropicalHoverMarkerInfo",elevation:"16","max-width":"280"},{default:e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>{var x,p,S,L;return[e.createElementVNode("div",gc,[e.createElementVNode("span",uc,e.toDisplayString(a.locale==="en"?(x=i.hoverPoint)==null?void 0:x.Name:((p=i.hoverPoint)==null?void 0:p.nameCn)||((S=i.hoverPoint)==null?void 0:S.Name)),1),e.createElementVNode("span",fc,"[ "+e.toDisplayString((L=i.hoverPoint)==null?void 0:L.level)+" ]",1)])]}),_:1}),e.createVNode(z),e.createVNode(h,{class:"text-body-1"},{default:e.withCtx(()=>{var x,p,S,L,_,b,u,k,y,C,E,B,A,O,G,W,F,$,ee,J;return[e.createElementVNode("div",yc,[((x=i.hoverPoint)==null?void 0:x.type)==="forecast"?(e.openBlock(),e.createElementBlock("div",bc,[e.createElementVNode("label",wc,e.toDisplayString(o.$t("tropical.updated"))+" : ",1),e.createElementVNode("span",null,e.toDisplayString(l.computeTzTime((p=i.hoverPoint)==null?void 0:p.update,a.timeZone)),1)])):e.createCommentVNode("",!0),((S=i.hoverPoint)==null?void 0:S.type)==="forecast"?(e.openBlock(),e.createElementBlock("div",xc,[e.createElementVNode("label",_c,e.toDisplayString(o.$t("tropical.forecast"))+" : ",1),e.createElementVNode("span",null,e.toDisplayString(l.computeTzTime((L=i.hoverPoint)==null?void 0:L.date,a.timeZone)),1)])):e.createCommentVNode("",!0),((_=i.hoverPoint)==null?void 0:_.type)==="history"?(e.openBlock(),e.createElementBlock("div",kc,[e.createElementVNode("label",zc,e.toDisplayString(o.$t("tropical.forecast"))+" : ",1),e.createElementVNode("span",null,e.toDisplayString(l.computeTzTime((b=i.hoverPoint)==null?void 0:b.date,a.timeZone)),1)])):e.createCommentVNode("",!0),((u=i.hoverPoint)==null?void 0:u.type)==="forecast"?(e.openBlock(),e.createElementBlock("div",vc,[e.createElementVNode("label",Lc,e.toDisplayString(o.$t("tropical.model"))+" : ",1),e.createElementVNode("span",null,e.toDisplayString(((k=i.hoverPoint)==null?void 0:k.model)??"-"),1)])):e.createCommentVNode("",!0),((y=i.hoverPoint)==null?void 0:y.type)==="forecast"?(e.openBlock(),e.createElementBlock("div",Cc,[e.createElementVNode("label",Pc,e.toDisplayString(o.$t("weather.wind"))+" : ",1),e.createElementVNode("span",null,e.toDisplayString(((E=JSON.parse((C=i.hoverPoint)==null?void 0:C.wind))==null?void 0:E.kts)??"-")+" kts",1)])):e.createCommentVNode("",!0),((B=i.hoverPoint)==null?void 0:B.type)==="history"?(e.openBlock(),e.createElementBlock("div",Sc,[e.createElementVNode("label",Nc,e.toDisplayString(o.$t("weather.wind"))+" : ",1),e.createElementVNode("span",null,e.toDisplayString(((A=i.hoverPoint)==null?void 0:A.kts)??"-")+" kts",1)])):e.createCommentVNode("",!0),e.createElementVNode("div",Tc,[e.createElementVNode("label",Dc,e.toDisplayString(o.$t("weather.pressure"))+" : ",1),e.createElementVNode("span",null,e.toDisplayString(((O=i.hoverPoint)==null?void 0:O.pressure)??"-")+" hPa",1)]),((G=i.hoverPoint)==null?void 0:G.type)==="history"?(e.openBlock(),e.createElementBlock("div",Ec,[e.createElementVNode("label",Mc,e.toDisplayString(o.$t("tropical.moveSpeed"))+" : ",1),e.createElementVNode("span",null,e.toDisplayString(((F=JSON.parse((W=i.hoverPoint)==null?void 0:W.movement))==null?void 0:F.kts)??"-")+" kts",1)])):e.createCommentVNode("",!0),(($=i.hoverPoint)==null?void 0:$.type)==="history"?(e.openBlock(),e.createElementBlock("div",Vc,[e.createElementVNode("label",Bc,e.toDisplayString(o.$t("tropical.moveDir"))+" : ",1),e.createElementVNode("span",null,e.toDisplayString(((J=JSON.parse((ee=i.hoverPoint)==null?void 0:ee.movement))==null?void 0:J.deg)??"-")+" °",1)])):e.createCommentVNode("",!0),e.createElementVNode("div",Ic,[e.createElementVNode("label",Rc,e.toDisplayString(o.$t("tropical.position"))+" : ",1),e.createElementVNode("span",null,e.toDisplayString(l.computePosition(i.hoverPoint)),1)])])]}),_:1})]),_:1},512),[[e.vShow,i.showHoverPoint]])])}const yo=j(Gn,[["render",Ac]]),lh="",sh="",Oc={name:"DateTimePicker",props:{width:{type:Number,default:230},height:{type:Number,default:30},position:{type:String,default:"top"},bgClass:{type:String,default:""},locale:{type:String,default:"en"},style:{type:Object,default:{}},intervalHour:{type:Number,default:3},timeZone:{type:Number},dateTime:{type:String},dayAbout:{type:Object,default:()=>({})},disabled:{type:Boolean,default:!1}},emits:["dateTime","currentTimestamp","currentRealTime","minTimestamp","maxTimestamp"],data(){return{showDatePicker:!1,minDate:void 0,maxDate:void 0,minTimestamp:void 0,maxTimestamp:void 0,currentDate:void 0,currentTime:void 0,currentTimestamp:void 0,currentDateTimeZ:void 0,currentDateTime:void 0,currentRealTime:void 0,timer:null}},computed:{getStyle(){if(this.position==="top")return{bottom:"40px",left:`-${(350-this.width)/2}px`};if(this.position==="bottom")return{top:"40px",left:`-${(350-this.width)/2}px`};if(this.position==="left")return{bottom:"-140px",left:"-358px"};if(this.position==="right")return{bottom:"-140px",right:"-358px"}},currentYear(){return v(this.currentTimestamp).format("YYYY")},hourOptions(){const o=[];for(let t=0;t<24;t++)o.push(t<10?`0${t}:00`:`${t}:00`);return o.filter((t,a)=>(a-this.timeZone)%this.intervalHour===0)},timeZoneNames(){return v.tz.names()},timeZoneName(){var o;return(o=this.timeZoneNames.filter(t=>v.tz(v(),t).utcOffset()===this.timeZone*60))==null?void 0:o[0]},utcTimeZoneName(){return"Africa/Abidjan"},localTimeZoneName(){return Intl.DateTimeFormat().resolvedOptions().timeZone||"Asia/Shanghai"}},watch:{timeZone:{handler(o,t){o!==t&&(this.handleResetDateTime(this.dateTime),this.handleResetMinMax())}},dateTime:{handler(o,t){o&&this.handleResetDateTime(this.dateTime)},immediate:!0},currentTimestamp:{handler(){this.currentDateTimeZ=v(this.currentTimestamp).utc().format("yyyy-MM-DD HH:00[Z]"),this.$emit("dateTime",this.currentDateTimeZ),this.$emit("currentTimestamp",this.currentTimestamp),this.currentDateTime=`${v.tz(this.currentTimestamp,this.timeZoneName).clone().format("yyyy-MM-DD : HH:00")}`},immediate:!0},currentRealTime:{handler(o,t){o!==t&&this.$emit("currentRealTime",this.currentRealTime)}}},mounted(){this.timer=setInterval(()=>{this.currentRealTime=`${v.tz(v().unix()*1e3,this.timeZoneName).clone().format("HH:mm")}`},100),document.addEventListener("click",this.handleClickOutside)},unmounted(){clearInterval(this.timer),this.handleCancelDate(),document.removeEventListener("click",this.handleClickOutside)},methods:{handleReset(){this.handleResetDateTime(),this.handleResetMinMax()},handleResetDateTime(o){var i;const t=v(o).utc().date(),a=Math.ceil(v(o).utc().hour()/3)*3;this.currentTimestamp=((i=v(o))==null?void 0:i.utc().set({date:t,hour:a,minute:0,second:0,millisecond:0}).unix())*1e3;const r=v.tz(this.currentTimestamp,this.timeZoneName).clone();this.currentDate=r.clone().format("YYYY-MM-DD"),this.currentTime=r.clone().format("HH:00"),this.currentDateTime=`${v.tz(this.currentTimestamp,this.timeZoneName).clone().format("yyyy-MM-DD : HH:00")}`,this.currentRealTime=`${v.tz(v().unix()*1e3,this.timeZoneName).clone().format("HH:mm")}`},handleResetMinMax(){var i,l,s,n,c;if(!this.dayAbout.h||!this.dayAbout.f)return;const o=v().utc().date(),t=Math.ceil(v().utc().hour()/3)*3,a=((i=v())==null?void 0:i.utc().set({date:o,hour:t,minute:0,second:0,millisecond:0}).unix())*1e3,r=v.tz(a,this.timeZoneName).clone();this.minDate=r.clone().add(this.dayAbout.h,"day").format("yyyy-MM-DD"),this.maxDate=r.clone().add(this.dayAbout.f,"day").format("yyyy-MM-DD"),this.minTimestamp=((s=(l=v())==null?void 0:l.utc())==null?void 0:s.set({date:o+this.dayAbout.h,hour:0,minute:0,second:0,millisecond:0}).unix())*1e3,this.maxTimestamp=((c=(n=v())==null?void 0:n.utc())==null?void 0:c.set({date:o+this.dayAbout.f,hour:0,minute:0,second:0,millisecond:0}).unix())*1e3,this.$emit("minTimestamp",this.minTimestamp),this.$emit("maxTimestamp",this.maxTimestamp)},handleOpenDatePicker(){this.disabled||(this.showDatePicker=!this.showDatePicker,this.handleUpdateMonth())},handleUpdateMonth(o){const t=o||v.tz(this.currentTimestamp,this.timeZoneName).clone().month(),a=this.locale==="en"?v.tz(this.currentTimestamp,this.timeZoneName).set({month:t}).clone().format("MMM"):v.tz(this.currentTimestamp,this.timeZoneName).set({month:t}).clone().format("M月");this.$nextTick(()=>{const r=document.querySelector(".v-date-picker-controls__month-btn");r.innerText=a})},handleConfirmDate(){const o=v(this.currentDate).format("yyyy-MM-DD"),t=this.currentTime,a=`${o} ${t}`,r=v.tz(a,"YYYY-MM-DD HH:00",this.timeZoneName).clone().tz(this.localTimeZoneName);this.currentTimestamp=r.unix()*1e3,this.showDatePicker=!1},handleCancelDate(){this.showDatePicker=!1;const o=v.tz(this.currentTimestamp,this.timeZoneName).clone();this.currentDate=o.clone().format("YYYY-MM-DD"),this.currentTime=o.clone().format("HH:00")},handleClickOutside(o){const t=this.$refs.idmGl4Timepicker;t&&!t.contains(o.target)&&(this.showDatePicker=!1)}}},jc={class:"idm-gl4-time-picker",ref:"idmGl4Timepicker"},Fc={class:"flex-1-1-0"},Hc={class:"pa-0",style:{width:"250px"}},Gc={class:"h-100 pa-0 d-flex flex-column justify-start align-center",style:{width:"100px"}},Wc={class:"d-flex justify-center align-center text-body-2",style:{height:"56px"}};function Uc(o,t,a,r,i,l){const s=e.resolveComponent("VDatePicker"),n=e.resolveComponent("VDivider"),c=e.resolveComponent("VListItemTitle"),h=e.resolveComponent("VListItem"),d=e.resolveComponent("VList"),g=e.resolveComponent("VCardText"),f=e.resolveComponent("VBtn"),w=e.resolveComponent("VCardActions"),z=e.resolveComponent("VCard");return e.openBlock(),e.createElementBlock("div",jc,[e.createElementVNode("div",{style:e.normalizeStyle({height:a.height+"px",width:a.width+"px"}),class:e.normalizeClass([a.bgClass,"rounded text-body-1 btn-border-1 btn-bg-1 d-flex align-center justify-space-between px-2 cursor-pointer"]),onClick:t[0]||(t[0]=(...x)=>l.handleOpenDatePicker&&l.handleOpenDatePicker(...x))},[e.createElementVNode("span",Fc,e.toDisplayString(i.currentDateTime)+" | UTC "+e.toDisplayString(a.timeZone<0?a.timeZone:"+"+a.timeZone),1)],6),i.showDatePicker?(e.openBlock(),e.createBlock(z,{key:0,class:"card-box d-flex flex-column border",style:e.normalizeStyle(l.getStyle)},{default:e.withCtx(()=>[e.createVNode(g,{class:"w-100 flex-1-1-0 d-flex pa-0"},{default:e.withCtx(()=>[e.createElementVNode("div",Hc,[e.createVNode(s,{modelValue:i.currentDate,"onUpdate:modelValue":t[1]||(t[1]=x=>i.currentDate=x),min:i.minDate,max:i.maxDate,"mode-icon":()=>l.currentYear,"weekday-format":"short",color:"primary",density:"compact",class:"w-100","hide-header":"","onUpdate:month":l.handleUpdateMonth},null,8,["modelValue","min","max","mode-icon","onUpdate:month"])]),e.createVNode(n,{class:"h-100",vertical:""}),e.createElementVNode("div",Gc,[e.createElementVNode("div",Wc,e.toDisplayString(i.currentTime),1),e.createVNode(d,{class:"pa-0 flex-1-1-0 scroll"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.hourOptions,(x,p)=>(e.openBlock(),e.createBlock(h,{key:p,value:x,color:"primary",active:i.currentTime===x,rounded:"",height:"26","min-height":"26"},{default:e.withCtx(()=>[e.createVNode(c,{class:"text-body-2 font-weight-600 text-center",onClick:S=>i.currentTime=x},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x),1)]),_:2},1032,["onClick"])]),_:2},1032,["value","active"]))),128))]),_:1})])]),_:1}),e.createVNode(n),e.createVNode(w,{class:"justify-end pa-0 pr-4",style:{height:"50px"}},{default:e.withCtx(()=>[e.createVNode(f,{size:"small",variant:"tonal",class:"text-none text-body-2",onClick:l.handleCancelDate},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("actions.cancel")),1)]),_:1},8,["onClick"]),e.createVNode(f,{size:"small",variant:"flat",color:"primary",class:"text-none text-body-2",onClick:l.handleConfirmDate},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("actions.confirm")),1)]),_:1},8,["onClick"])]),_:1})]),_:1},8,["style"])):e.createCommentVNode("",!0)],512)}const Ae=j(Oc,[["render",Uc]]),nh="",ch="",Yc={name:"DateRangePicker",props:{width:{type:Number,default:226},height:{type:Number,default:30},position:{type:String,default:"top"},locale:{type:String,default:"en"},timeZone:{type:Number},defaultDays:{type:Number},defaultRange:{type:Array,default:()=>[]},dayAbout:{type:Object,default:()=>({})}},emits:["dateRange"],data(){return{showDatePicker:!1,minDate:void 0,maxDate:void 0,dateRange:[],dateRangeStr:void 0}},computed:{getStyle(){if(this.position==="top")return{bottom:"40px",left:`-${(260-this.width)/2}px`};if(this.position==="bottom")return{top:"40px",left:`-${(260-this.width)/2}px`};if(this.position==="left")return{bottom:"-140px",left:"-278px"};if(this.position==="right")return{bottom:"-140px",right:"-278px"}},currentYear(){return v(this.dateRange[0]).format("YYYY")},timeZoneNames(){return v.tz.names()},timeZoneName(){var o;return(o=this.timeZoneNames.filter(t=>v.tz(v(),t).utcOffset()===this.timeZone*60))==null?void 0:o[0]},utcTimeZoneName(){return"Africa/Abidjan"},localTimeZoneName(){return Intl.DateTimeFormat().resolvedOptions().timeZone||"Asia/Shanghai"},computeTzSimple(){return(o,t,a="yyyy-MM-DD")=>{var r,i;if(o){const l=t||0;return(i=(r=v(o))==null?void 0:r.utcOffset(l))==null?void 0:i.format(a)}return"-"}}},watch:{timeZone:{handler(o,t){o!==t&&(this.handleResetDateRange(),this.handleResetMinMax())}},defaultRange:{handler(o,t){o!==t&&this.handleResetDateRange()},deep:!0},defaultDays:{handler(o,t){o!==t&&this.handleResetDateRange()}}},mounted(){this.handleReset()},unmounted(){this.handleCancelDate()},methods:{handleClearDate(){this.dateRange=[],this.dateRangeStr="",this.$emit("dateRange",[])},handleReset(){this.handleResetDateRange(),this.handleResetMinMax()},handleResetDateRange(){var l,s,n;let o,t;if((l=this.defaultRange)!=null&&l.length?(o=this.defaultRange[0],t=(s=v(v(this.defaultRange[1]).set({hour:23,minute:59,second:59,millisecond:59})))==null?void 0:s.diff(v(this.defaultRange[0]).set({hour:0,minute:0,second:0,millisecond:0}),"d",!0)):t=this.defaultDays,!t){this.dateRange=[],this.dateRangeStr="",this.$emit("dateRange",[]);return}const a=v.tz(o,this.timeZoneName).clone(),r=[];if(t<0)for(let c=t+1;c<=0;c++)r.push(a.clone().add(c,"days").format());else for(let c=0;c<t;c++)r.push(a.clone().add(c,"days").format());this.dateRange=r;const i=[this.dateRange[0],this.dateRange[((n=this.dateRange)==null?void 0:n.length)-1]];this.dateRangeStr=`${v.tz(i[0],this.timeZoneName).format("yyyy-MM-DD")} ~ ${v.tz(i[1],this.timeZoneName).format("yyyy-MM-DD")}`,this.$emit("dateRange",[v.tz(i[0],this.timeZoneName).set({hour:0,minute:0,second:0,millisecond:0}).format(),v.tz(i[1],this.timeZoneName).set({hour:23,minute:59,second:59,millisecond:59}).format()])},handleResetMinMax(){const o=v.tz(v().format(),this.timeZoneName).clone(),{h:t,f:a}=this.dayAbout;t!=null&&typeof Number(t)=="number"&&!isNaN(t)&&(this.minDate=o.clone().add(t,"day").format("yyyy-MM-DD")),a!=null&&typeof Number(a)=="number"&&!isNaN(a)&&(this.maxDate=o.clone().add(a,"day").format("yyyy-MM-DD"))},handleOpenDatePicker(){this.showDatePicker=!this.showDatePicker,this.handleUpdateMonth()},handleUpdateMonth(o){const t=o||v.tz(this.dateRange[0],this.timeZoneName).clone().month(),a=this.locale==="en"?v.tz(this.dateRange[0],this.timeZoneName).set({month:t}).clone().format("MMM"):v.tz(this.dateRange[0],this.timeZoneName).set({month:t}).clone().format("M月");this.$nextTick(()=>{const r=document.querySelector(".v-date-picker-controls__month-btn");r.innerText=a})},handleConfirmDate(){var t;const o=[this.dateRange[0],this.dateRange[((t=this.dateRange)==null?void 0:t.length)-1]];this.dateRangeStr=`${v(o[0]).format("yyyy-MM-DD")} ~ ${v(o[1]).format("yyyy-MM-DD")}`,this.$emit("dateRange",[v.tz(o[0],this.timeZoneName).set({year:v(o[0]).year(),month:v(o[0]).month(),date:v(o[0]).date(),hour:0,minute:0,second:0,millisecond:0}).format(),v.tz(o[1],this.timeZoneName).set({year:v(o[1]).year(),month:v(o[1]).month(),date:v(o[1]).date(),hour:23,minute:59,second:59,millisecond:59}).format()]),this.showDatePicker=!1},handleCancelDate(){this.showDatePicker=!1},handleClickOutside(o){const t=this.$refs.idmGl4Timepicker;t&&!t.contains(o.target)&&(this.showDatePicker=!1)}}},Zc={class:"idm-gl4-date-picker",ref:"idmGl4DatePicker"},qc={class:"flex-1-1-0"},Xc={class:"pa-0"};function Kc(o,t,a,r,i,l){const s=e.resolveComponent("VIcon"),n=e.resolveComponent("VDatePicker"),c=e.resolveComponent("VCardText"),h=e.resolveComponent("VDivider"),d=e.resolveComponent("VBtn"),g=e.resolveComponent("VCardActions"),f=e.resolveComponent("VCard");return e.openBlock(),e.createElementBlock("div",Zc,[e.createElementVNode("div",{style:e.normalizeStyle({height:a.height+"px",width:a.width+"px"}),class:"rounded text-body-1 btn-border-1 btn-bg-1 d-flex align-center justify-space-between px-2 cursor-pointer",onClick:t[0]||(t[0]=(...w)=>l.handleOpenDatePicker&&l.handleOpenDatePicker(...w))},[e.createElementVNode("span",qc,e.toDisplayString(i.dateRangeStr),1),i.dateRangeStr?(e.openBlock(),e.createBlock(s,{key:0,class:"text-h5",icon:"mdi-close-circle text-label",onClick:e.withModifiers(l.handleClearDate,["stop"])},null,8,["onClick"])):e.createCommentVNode("",!0)],4),i.showDatePicker?(e.openBlock(),e.createBlock(f,{key:0,class:"card-box d-flex flex-column border",style:e.normalizeStyle(l.getStyle)},{default:e.withCtx(()=>[e.createVNode(c,{class:"w-100 flex-1-1-0 d-flex pa-0"},{default:e.withCtx(()=>[e.createElementVNode("div",Xc,[e.createVNode(n,{modelValue:i.dateRange,"onUpdate:modelValue":t[1]||(t[1]=w=>i.dateRange=w),min:i.minDate,max:i.maxDate,"mode-icon":()=>l.currentYear,"weekday-format":"short",multiple:"range",color:"primary",density:"compact",class:"w-100","hide-header":"","onUpdate:month":l.handleUpdateMonth},null,8,["modelValue","min","max","mode-icon","onUpdate:month"])])]),_:1}),e.createVNode(h),e.createVNode(g,{class:"justify-end pa-0 pr-4",style:{height:"50px"}},{default:e.withCtx(()=>[e.createVNode(d,{size:"small",variant:"tonal",class:"text-none text-body-2",onClick:l.handleCancelDate},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("actions.cancel")),1)]),_:1},8,["onClick"]),e.createVNode(d,{size:"small",variant:"flat",color:"primary",class:"text-none text-body-2",onClick:l.handleConfirmDate},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("actions.confirm")),1)]),_:1},8,["onClick"])]),_:1})]),_:1},8,["style"])):e.createCommentVNode("",!0)],512)}const bo=j(Yc,[["render",Kc]]),mh="",Jc={name:"IdmPoint",components:{DateTimePicker:Ae,DateRangePicker:bo},props:{simple:{type:Boolean,default:!1},isLogin:{type:Boolean,default:!1},token:{type:String},defaultMeteoToken:{type:String},theme:{type:String,default:"zh"},map:{type:Object},top:{type:Number,default:60},paddingTop:{type:Number,default:48},menuToggle:{type:Object,default:{}},gateway:{type:String},timeZone:{type:Number},forecastModel:{type:String},realTime:{type:String},followList:{type:Array}},emits:["meteoMore","follow","cancelFollow","login"],data(){return{right:10,toggle:!1,showForm:!1,showMeteo:!1,loading:!1,form:{lng:void 0,lngDegree:void 0,lngMinute:void 0,lngDirection:"E",lat:void 0,latDegree:void 0,latMinute:void 0,latDirection:"N",dateTime:void 0,forecastModel:""},formRules:{lngDegree:[o=>o!=null&&o!==""||"required",o=>/^\d{1,3}$/.test(o)||"number",o=>parseInt(o)>=0&&parseInt(o)<=180||"0 ~ 180"],lngMinute:[o=>o===void 0||o===null&&o===""||/^\d{1,2}(\.\d+)?$/.test(o)||"number",o=>o===void 0||o===null&&o===""||parseInt(o)>=0&&parseInt(o)<=59||"0 ~ 59"],latDegree:[o=>o!=null&&o!==""||"required",o=>/^\d{1,2}$/.test(o)||"number",o=>parseInt(o)>=0&&parseInt(o)<=90||"0 ~ 90"],latMinute:[o=>o===void 0||o===null&&o===""||/^\d{1,2}(\.\d+)?$/.test(o)||"number",o=>o===void 0||o===null&&o===""||parseInt(o)>=0&&parseInt(o)<=59||"0 ~ 59"]},meteoData:void 0,currentHourData:{},positionOffset:void 0,positionGmt:void 0,positionMarker:void 0,meteoInfoMarker:void 0}},computed:{timeZoneNames(){return v.tz.names()},timeZoneName(){var o;return(o=this.timeZoneNames.filter(t=>v.tz(v(),t).utcOffset()===this.timeZone*60))==null?void 0:o[0]},computedTzTime(){return o=>v.tz(v(o),this.timeZoneName).clone().format("YYYY-MM-DD HHmm")+" (UTC "+(this.timeZone>=0?"+":"")+this.timeZone+")"},computedLocalTime(){return o=>{var r,i,l;const t=Number((r=this.positionOffset)==null?void 0:r.slice(1,3))*(+(((i=this.positionOffset)==null?void 0:i.slice(1))==="+")?1:-1),a=(l=this.timeZoneNames.filter(s=>v.tz(v(),s).utcOffset()===t*60))==null?void 0:l[0];return o?v.tz(v(o),a).clone().format("YYYY-MM-DD HHmm")+" (UTC "+(t>=0?"+":"")+t+")":"-"}},computePosition(){return function(o){return!o||o.lng===null||o.lng===void 0||isNaN(o.lng)||o.lat===null||o.lat===void 0||isNaN(o.lat)?"-":T.LngLatHelper.lat2pretty(o==null?void 0:o.lat,2).pretty+" / "+T.LngLatHelper.lng2pretty(o==null?void 0:o.lng,2).pretty}},computeRoundPrecision(){return function(o,t=4){return o==null||isNaN(o)||isNaN(t)?"-":T.LngLatHelper.roundPrecision(o,t)}}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)})},immediate:!0},toggle:{handler(){this.toggle?this.showForm=!0:(this.showForm=!1,this.showMeteo=!1),this.map&&this.handleBind()},immediate:!0},map:{handler(){this.toggle=!1,this.map&&this.toggle&&this.handleBind()}},showForm:{handler(){this.showForm?this.$nextTick(()=>{var o;(o=this.$refs.spotForm)==null||o.resetValidation()}):this.handleCloseForm()}},realTime:{handler(){this.realTime&&(this.form.dateTime=this.realTime)}},forecastModel:{handler(){this.form.forecastModel=this.forecastModel},immediate:!0},"form.forecastModel":{handler(o,t){!o&&t&&(this.form.forecastModel=t==="GFS"?"ECMWF":"GFS")}}},methods:{handleMenuToggle(){this.isLogin?this.toggle=!this.toggle:this.$emit("login")},submitForm(){this.handleCloseMeteo(),this.$refs.spotForm.validate().then(async o=>{o!=null&&o.valid&&this.fetchData()})},cancelForm(){var o;(o=this.$refs.spotForm)==null||o.reset(),this.form={lng:void 0,lngDegree:void 0,lngMinute:void 0,lngDirection:"E",lat:void 0,latDegree:void 0,latMinute:void 0,latDirection:"N",dateTime:void 0,forecastModel:this.forecastModel}},handleCloseForm(){this.showForm=!1,this.cancelForm(),this.toggle=!1},async fetchData(){var a;this.form.lat=(Number(this.form.latDegree??0)+Number(this.form.latMinute??0)/60)*(this.form.latDirection==="N"?1:-1),this.form.lng=(Number(this.form.lngDegree??0)+Number(this.form.lngMinute??0)/60)*(this.form.lngDirection==="E"?1:-1);const o=v();((a=v(this.realTime))==null?void 0:a.diff(o,"d",!0))>=0?await this.fetchForecastData(this.form):await this.fetchHistoryData(this.form)},async fetchForecastData(o){this.loading=!0,this.showMeteo=!0,this.form.lng=o.lng,this.form.lat=o.lat,this.form.followId=o.followId,this.handleDrawInfoMarker([o.lng,o.lat]),console.log(111,this.followList),this.meteoData=[];const{weatherModels:t,marineModels:a}=De.Meteo2Assist.autoPickMeteoModel(o.forecastModel);let r={lat:o.lat,lng:o.lng,datetime:v(o.dateTime).utc().format(),forecastDays:o.day??3,weatherModels:t,marineModels:a};await Q.post(`${this.gateway}/api/arc/meteo2/spot/forecast`,r,{headers:{Authorization:this.token||this.defaultMeteoToken}}).then(i=>{(i==null?void 0:i.data.code)===0?(this.meteoData=i==null?void 0:i.data.data,this.meteoData.lng=o.lng,this.meteoData.lat=o.lat,this.initTableData(this.meteoData),this.loading=!1):this.loading=!1}).catch(()=>{this.loading=!1})},async fetchHistoryData(o){this.loading=!0,this.showMeteo=!0,this.form.lng=o.lng,this.form.lat=o.lat,this.form.followId=o.followId,this.handleDrawInfoMarker([o.lng,o.lat]),console.log(222,this.followList),this.meteoData=[];const{weatherModels:t,marineModels:a}=De.Meteo2Assist.autoPickMeteoModel(o.forecastModel),r={lat:o.lat,lng:o.lng,datetime:v(o.dateTime).utc().format(),forecastDays:2,pastDays:1,weatherModels:t,marineModels:a};await Q.post(`${this.gateway}/api/arc/meteo2/spot/forecast`,r,{headers:{Authorization:this.token||this.defaultMeteoToken}}).then(i=>{(i==null?void 0:i.data.code)===0?(this.meteoData=i==null?void 0:i.data.data,this.meteoData.lng=o.lng,this.meteoData.lat=o.lat,this.initTableData(this.meteoData),this.loading=!1):this.loading=!1}).catch(()=>{this.loading=!1}),this.loading=!1},initTableData(o){var a,r,i,l,s,n,c,h,d,g,f,w,z,x,p,S,L,_,b,u,k,y,C,E,B,A,O,G,W,F,$,ee,J,q,te,re,oe,ae,P,U,ce;this.currentHourData={},this.positionGmt=(r=(a=o==null?void 0:o.weather)==null?void 0:a[0])==null?void 0:r.timezone,this.positionOffset=(l=(i=o==null?void 0:o.weather)==null?void 0:i[0])==null?void 0:l.offset;const t=((s=De.Meteo2Assist.pickHourly(o,v(this.form.dateTime)))==null?void 0:s[0])||{};this.currentHourData.utc=t.utc,this.currentHourData.lat=o.lat,this.currentHourData.lng=o.lng,this.currentHourData.temp=this.computeRoundPrecision((n=t==null?void 0:t.weather)==null?void 0:n.temp,0)??"-",this.currentHourData.precipProbability=this.computeRoundPrecision((h=(c=t==null?void 0:t.weather)==null?void 0:c.precip)==null?void 0:h.probability,0)??"-",this.currentHourData.precip1h=this.computeRoundPrecision((g=(d=t==null?void 0:t.weather)==null?void 0:d.precip)==null?void 0:g.sum,0)??"-",this.currentHourData.visibility=this.computeRoundPrecision((f=t==null?void 0:t.weather)==null?void 0:f.visibility,0)??"-",this.currentHourData.windSpeed=this.computeRoundPrecision((z=(w=t==null?void 0:t.weather)==null?void 0:w.wind)==null?void 0:z.kts,1)??"-",this.currentHourData.windDir=((p=(x=t==null?void 0:t.weather)==null?void 0:x.wind)==null?void 0:p.direction)??"-",this.currentHourData.windLevel=this.computeRoundPrecision((L=(S=t==null?void 0:t.weather)==null?void 0:S.wind)==null?void 0:L.scale,0)??"-",this.currentHourData.windGust=this.computeRoundPrecision((b=(_=t==null?void 0:t.weather)==null?void 0:_.wind)==null?void 0:b.gusts,1)??"-",this.currentHourData.sigwaveHeight=this.computeRoundPrecision((k=(u=t==null?void 0:t.wave)==null?void 0:u.sig)==null?void 0:k.height,1)??"-",this.currentHourData.sigwaveDir=(C=(y=t==null?void 0:t.wave)==null?void 0:y.sig)==null?void 0:C.direction,this.currentHourData.sigwavePeriod=this.computeRoundPrecision((B=(E=t==null?void 0:t.wave)==null?void 0:E.sig)==null?void 0:B.period,1)??"-",this.currentHourData.windwaveHeight=this.computeRoundPrecision((O=(A=t==null?void 0:t.wave)==null?void 0:A.wd)==null?void 0:O.height,1)??"-",this.currentHourData.windwaveDir=(W=(G=t==null?void 0:t.wave)==null?void 0:G.wd)==null?void 0:W.direction,this.currentHourData.windwavePeriod=this.computeRoundPrecision(($=(F=t==null?void 0:t.wave)==null?void 0:F.wd)==null?void 0:$.period,1)??"-",this.currentHourData.swellHeight=this.computeRoundPrecision((J=(ee=t==null?void 0:t.wave)==null?void 0:ee.swell)==null?void 0:J.height,1)??"-",this.currentHourData.swellDir=(te=(q=t==null?void 0:t.wave)==null?void 0:q.swell)==null?void 0:te.direction,this.currentHourData.swellPeriod=this.computeRoundPrecision((oe=(re=t==null?void 0:t.wave)==null?void 0:re.swell)==null?void 0:oe.period,1)??"-",this.currentHourData.currentSpeed=this.computeRoundPrecision((ae=t==null?void 0:t.current)==null?void 0:ae.speed,1)??"-",this.currentHourData.currentDir=(P=t==null?void 0:t.current)==null?void 0:P.direction,this.currentHourData.currentSpeed=this.computeRoundPrecision((U=t==null?void 0:t.current)==null?void 0:U.speed,1)??"-",this.currentHourData.seaLevel=this.computeRoundPrecision(t==null?void 0:t.height,1)??"-",this.currentHourData.seaTemp=this.computeRoundPrecision(t==null?void 0:t.sst,0)??"-",this.currentHourData.weatherUrls=(ce=t==null?void 0:t.weather)==null?void 0:ce.url},handleBind(){var o,t;this.toggle?((o=this.map)==null||o.on("click",this.handleClick),this.map&&(this.map.getCanvas().style.cursor="crosshair")):((t=this.map)==null||t.off("click",this.handleClick),this.handleCloseMeteo(),this.map&&(this.map.getCanvas().style.cursor="grab"))},handleClick(o){if(o.originalEvent.stopPropagation(),o.originalEvent.target.className==="mapboxgl-canvas")this.handleGetPosition(o.lngLat),this.$nextTick(()=>{this.fetchData()});else return!1},handleGetPosition(o){this.form.latDegree=Number(T.LngLatHelper.lat2pretty(o.lat).degree),this.form.latMinute=Number(T.LngLatHelper.lat2pretty(o.lat).minute),this.form.latDirection=T.LngLatHelper.lat2pretty(o.lat).direction,this.form.lngDegree=Number(T.LngLatHelper.lng2pretty(o.lng).degree),this.form.lngMinute=Number(T.LngLatHelper.lng2pretty(o.lng).minute),this.form.lngDirection=T.LngLatHelper.lng2pretty(o.lng).direction},handleDrawInfoMarker(o){this.drawPositionMarker(o),this.simple||this.drawMeteoInfoMarker(o)},drawPositionMarker(o){o&&(this.map.flyTo({center:o,duration:300}),this.$nextTick(()=>{var a,r;(a=this.positionMarker)==null||a.remove();const t=(r=document.getElementById("idm-position-icon"))==null?void 0:r.cloneNode(!0);this.positionMarker=new de.Marker(t).setLngLat(o).setOffset([0,-15]).addTo(this.map)}))},drawMeteoInfoMarker(o){this.$nextTick(()=>{var a;const t=document.getElementById("idm-gl4-spot-meteo");this.meteoInfoMarker?(a=this.meteoInfoMarker)==null||a.setLngLat(o):this.meteoInfoMarker=new de.Marker(t).setLngLat(o).setOffset([0,-190]).addTo(this.map)})},handleMeteoMore(){this.form.forecastModel=this.forecastModel,this.$emit("meteoMore",this.form)},handleCloseMeteo(){this.showMeteo=!1,this.$nextTick(()=>{var o,t;(o=this.positionMarker)==null||o.remove(),this.positionMarker=void 0,(t=this.meteoInfoMarker)==null||t.remove(),this.meteoInfoMarker=void 0})},handleFollow(){this.$emit("follow",this.form)},handleCancelFollow(){var t,a,r;const o=((t=this.form)==null?void 0:t.followId)||((r=(a=this.followList)==null?void 0:a.find(i=>{var l,s;return(i==null?void 0:i.id)===this.form.followId||((l=i==null?void 0:i.coordinate)==null?void 0:l.lng)===this.form.lng&&((s=i==null?void 0:i.coordinate)==null?void 0:s.lat)===this.form.lat}))==null?void 0:r.id);this.$emit("cancelFollow",o)}}},Qc={class:"idm-gl4-spot"},$c={class:"d-flex justify-start align-center"},em={class:"text-h6 font-weight-600 mx-2"},tm={class:"d-flex justify-start align-center ga-1 mb-1"},om={class:"multi-color-icon","aria-hidden":"true"},am=["xlink:href"],im={class:"d-flex justify-start align-center ga-1 mb-1"},rm={class:"multi-color-icon","aria-hidden":"true"},lm=["xlink:href"],sm={class:"d-flex justify-start align-center ga-1 mb-1"},nm={class:"multi-color-icon","aria-hidden":"true"},cm=["xlink:href"],mm={class:"d-flex justify-start align-center ga-1 mb-1"},dm={class:"multi-color-icon","aria-hidden":"true"},hm=["xlink:href"],pm={class:"d-flex justify-start align-center"},gm={class:"mx-2"},um={class:"mx-0 py-2 d-flex align-center justify-start"},fm={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},ym={class:"pa-0 px-0"},bm={class:"mx-0 py-2 d-flex align-center justify-start"},wm={cols:"9",class:"pa-0 px-0"},xm={class:"mx-0 py-2 d-flex align-center justify-start"},_m={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},km={style:{width:"150px"},class:"pa-0 text-left"},zm={style:{width:"80px"},class:"pa-0 pr-2 text-right opacity-50"},vm={cols:"3",class:"pa-0 px-0 text-left"},Lm={class:"mx-0 py-2 d-flex align-center justify-start"},Cm={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},Pm={style:{width:"150px"},class:"pa-0 text-left"},Sm={style:{width:"80px"},class:"pa-0 pr-2 text-right opacity-50"},Nm={cols:"3",class:"pa-0 text-left"},Tm={class:"mx-0 py-2 d-flex align-center justify-start"},Dm={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},Em={style:{width:"150px"},class:"pa-0 text-left"},Mm={style:{width:"80px"},class:"pa-0 pr-2 text-right opacity-50"},Vm={class:"pa-0 text-left"},Bm={class:"d-flex justify-space-between align-center"},Im={class:"d-flex justify-start align-center"},Rm={class:"mx-1"},Am={class:"d-flex justify-end align-center"},Om={class:"mx-0 py-1 d-flex align-center justify-start"},jm={style:{width:"60px"},class:"pa-0 pr-2 text-right opacity-50"},Fm={class:"pa-0 px-0"},Hm={class:"mx-0 py-1 d-flex align-center justify-start"},Gm={class:"pa-0 px-0"},Wm={class:"gray-bg-2 mx-4 my-2 py-3 px-2 rounded text-font-13 d-flex align-center justify-space-between"},Um={class:"d-flex flex-column align-start justify-center ga-3"},Ym={class:"text-label pr-2"},Zm={class:"text-label pr-2"},qm={class:"text-label pr-2"},Xm={class:"d-flex flex-column align-start justify-center ga-3"},Km={class:"text-label pr-2"},Jm={class:"text-label pr-2"},Qm={class:"text-label pr-2"},$m={id:"idm-position-icon"},ed={class:"multi-color-icon",style:{height:"30px",width:"30px"},"aria-hidden":"true"},td=["xlink:href"];function od(o,t,a,r,i,l){const s=e.resolveComponent("VBtn"),n=e.resolveComponent("VTooltip"),c=e.resolveComponent("VCardTitle"),h=e.resolveComponent("VDivider"),d=e.resolveComponent("VTextField"),g=e.resolveComponent("VCol"),f=e.resolveComponent("VRow"),w=e.resolveComponent("DateTimePicker"),z=e.resolveComponent("VBtnToggle"),x=e.resolveComponent("VCardText"),p=e.resolveComponent("VCardActions"),S=e.resolveComponent("VForm"),L=e.resolveComponent("VCard"),_=e.resolveComponent("VIcon");return e.openBlock(),e.createElementBlock("div",Qc,[e.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:e.normalizeStyle({top:a.top+a.paddingTop+126+"px",right:i.right+"px"})},[e.createVNode(n,{text:o.$t("spot.spotsMeteo"),location:"left"},{activator:e.withCtx(({props:b})=>[e.createVNode(s,e.mergeProps(b,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:e.withCtx(()=>t[8]||(t[8]=[e.createElementVNode("i",{class:"iconfont icon-a-Spotweather text-h4"},null,-1)])),_:2,__:[8]},1040,["class","onClick"])]),_:1},8,["text"])],4),i.showForm&&!a.simple?(e.openBlock(),e.createBlock(L,{key:0,class:"spot-form-card",style:e.normalizeStyle({top:a.top+a.paddingTop+126+"px",right:i.right+50+"px"})},{default:e.withCtx(()=>[e.createVNode(c,{class:"d-flex justify-space-between align-center"},{default:e.withCtx(()=>[e.createElementVNode("div",$c,[e.createElementVNode("div",em,e.toDisplayString(o.$t("spot.spotWeather")),1)]),e.createVNode(s,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:l.handleCloseForm},{default:e.withCtx(()=>t[9]||(t[9]=[e.createElementVNode("i",{class:"iconfont icon-close text-label text-h4"},null,-1)])),_:1,__:[9]},8,["onClick"])]),_:1}),e.createVNode(h),e.createVNode(S,{ref:"spotForm",autocomplete:"off",class:"form-box",onSubmit:e.withModifiers(l.submitForm,["prevent"])},{default:e.withCtx(()=>[e.createVNode(x,{class:"text-body-1 py-1"},{default:e.withCtx(()=>[e.createElementVNode("div",tm,[(e.openBlock(),e.createElementBlock("svg",om,[e.createElementVNode("use",{"xlink:href":`#icon-lng-${a.theme}`},null,8,am)])),e.createElementVNode("div",null,e.toDisplayString(o.$t("spot.lng")),1)]),e.createVNode(f,{class:"ma-0"},{default:e.withCtx(()=>[e.createVNode(g,{cols:"4",class:"pa-0 d-flex"},{default:e.withCtx(()=>[e.createVNode(d,{modelValue:i.form.lngDegree,"onUpdate:modelValue":t[0]||(t[0]=b=>i.form.lngDegree=b),rules:i.formRules.lngDegree,density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),t[10]||(t[10]=e.createElementVNode("span",{class:"px-1"},"°",-1))]),_:1,__:[10]}),e.createVNode(g,{cols:"6",class:"pa-0 d-flex"},{default:e.withCtx(()=>[e.createVNode(d,{modelValue:i.form.lngMinute,"onUpdate:modelValue":t[1]||(t[1]=b=>i.form.lngMinute=b),rules:i.formRules.lngMinute,label:"",density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),t[11]||(t[11]=e.createElementVNode("span",{class:"px-1"},"'",-1))]),_:1,__:[11]}),e.createVNode(g,{cols:"2",class:"pa-0"},{default:e.withCtx(()=>[e.createVNode(s,{variant:"outlined",density:"compact",width:"32","min-width":"32",height:"32",class:"text-body-1 btn-bg-1",style:{border:"1px solid rgba(var(--v-theme-on-surface), 0.38)"},onClick:t[2]||(t[2]=b=>i.form.lngDirection=i.form.lngDirection==="E"?"W":"E")},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.form.lngDirection),1)]),_:1})]),_:1})]),_:1}),e.createElementVNode("div",im,[(e.openBlock(),e.createElementBlock("svg",rm,[e.createElementVNode("use",{"xlink:href":`#icon-lng-${a.theme}`},null,8,lm)])),e.createElementVNode("div",null,e.toDisplayString(o.$t("spot.lat")),1)]),e.createVNode(f,{class:"ma-0"},{default:e.withCtx(()=>[e.createVNode(g,{cols:"4",class:"pa-0 d-flex"},{default:e.withCtx(()=>[e.createVNode(d,{modelValue:i.form.latDegree,"onUpdate:modelValue":t[3]||(t[3]=b=>i.form.latDegree=b),rules:i.formRules.latDegree,label:"",density:"compact",variant:"outlined",height:"32px","min-height":"32px",required:"",dense:"",class:"text-body-1 input-btn-bg-1"},null,8,["modelValue","rules"]),t[12]||(t[12]=e.createElementVNode("span",{class:"px-1"},"°",-1))]),_:1,__:[12]}),e.createVNode(g,{cols:"6",class:"pa-0 d-flex"},{default:e.withCtx(()=>[e.createVNode(d,{modelValue:i.form.latMinute,"onUpdate:modelValue":t[4]||(t[4]=b=>i.form.latMinute=b),rules:i.formRules.latMinute,label:"",density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),t[13]||(t[13]=e.createElementVNode("span",{class:"px-1"},"'",-1))]),_:1,__:[13]}),e.createVNode(g,{cols:"2",class:"pa-0"},{default:e.withCtx(()=>[e.createVNode(s,{variant:"outlined",density:"compact",width:"32","min-width":"32",height:"32",class:"text-body-1 btn-bg-1",style:{border:"1px solid rgba(var(--v-theme-on-surface), 0.38)"},onClick:t[5]||(t[5]=b=>i.form.latDirection=i.form.latDirection==="N"?"S":"N")},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.form.latDirection),1)]),_:1})]),_:1})]),_:1}),e.createElementVNode("div",sm,[(e.openBlock(),e.createElementBlock("svg",nm,[e.createElementVNode("use",{"xlink:href":`#icon-date-time-${a.theme}`},null,8,cm)])),e.createElementVNode("div",null,e.toDisplayString(o.$t("spot.dateTime")),1)]),e.createVNode(f,{class:"ma-0 mb-4"},{default:e.withCtx(()=>[e.createVNode(g,{cols:"12",class:"pa-0"},{default:e.withCtx(()=>[e.createVNode(w,e.mergeProps({"date-time":i.form.dateTime,"time-zone":a.timeZone},o.$attrs,{onDateTime:t[6]||(t[6]=b=>i.form.dateTime=b)}),null,16,["date-time","time-zone"])]),_:1})]),_:1}),e.createElementVNode("div",mm,[(e.openBlock(),e.createElementBlock("svg",dm,[e.createElementVNode("use",{"xlink:href":`#icon-forecast-model-${a.theme}`},null,8,hm)])),e.createElementVNode("div",null,e.toDisplayString(o.$t("weather.forecastModel")),1)]),e.createVNode(f,{class:"ma-0 mb-2"},{default:e.withCtx(()=>[e.createVNode(g,{cols:"12",class:"pa-0"},{default:e.withCtx(()=>[e.createVNode(z,{modelValue:i.form.forecastModel,"onUpdate:modelValue":t[7]||(t[7]=b=>i.form.forecastModel=b),class:"w-100",rounded:"",height:"30",density:"compact",group:""},{default:e.withCtx(()=>[e.createVNode(s,{density:"compact",height:"30",value:"GFS",class:e.normalizeClass(["text-none flex-1-1-0",i.form.forecastModel==="GFS"?"":"btn-border-1 btn-bg-1"]),color:i.form.forecastModel==="GFS"?"primary":"","base-color":""},{default:e.withCtx(()=>t[14]||(t[14]=[e.createTextVNode("NOAA",-1)])),_:1,__:[14]},8,["class","color"]),e.createVNode(s,{density:"compact",height:"30",class:e.normalizeClass(["text-none flex-1-1-0",i.form.forecastModel==="ECMWF"?"":"btn-border-1 btn-bg-1"]),color:i.form.forecastModel==="ECMWF"?"primary":"","base-color":"",value:"ECMWF"},{default:e.withCtx(()=>t[15]||(t[15]=[e.createTextVNode("ECMWF",-1)])),_:1,__:[15]},8,["class","color"])]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e.createVNode(h),e.createVNode(p,{class:"d-flex justify-end align-center ga-4"},{default:e.withCtx(()=>[e.createVNode(s,{size:"small",variant:"outlined",class:"text-none text-body-1 btn-border-1 btn-bg-1",onClick:l.cancelForm},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("actions.clear")),1)]),_:1},8,["onClick"]),e.createVNode(s,{ref:"submitSpot",loading:i.loading,size:"small",variant:"flat",color:"primary",type:"submit",class:"text-none text-body-1"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("actions.confirm")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["onSubmit"])]),_:1},8,["style"])):e.createCommentVNode("",!0),i.showMeteo?(e.openBlock(),e.createBlock(L,{key:1,id:"idm-gl4-spot-meteo",class:"spot-meteo",style:{width:"490px","z-index":"9"}},{default:e.withCtx(()=>[e.createVNode(c,{class:"d-flex justify-space-between align-center"},{default:e.withCtx(()=>[e.createElementVNode("div",pm,[t[16]||(t[16]=e.createElementVNode("i",{class:"iconfont icon-a-Spotweather text-h5 map-icon-aqua"},null,-1)),e.createElementVNode("div",gm,e.toDisplayString(l.computePosition(i.form||i.currentHourData)),1)]),e.createVNode(s,{class:"mr-n2",density:"comfortable",icon:"",variant:"plain",onClick:e.withModifiers(l.handleCloseMeteo,["stop"])},{default:e.withCtx(()=>t[17]||(t[17]=[e.createElementVNode("i",{class:"iconfont icon-close text-label text-h4"},null,-1)])),_:1,__:[17]},8,["onClick"])]),_:1}),e.createVNode(h),e.createVNode(x,{class:"text-body-1 px-0 py-1"},{default:e.withCtx(()=>{var b,u;return[e.createElementVNode("div",um,[e.createElementVNode("div",fm,e.toDisplayString(o.$t("time.time")),1),e.createElementVNode("div",ym,e.toDisplayString(l.computedTzTime((b=i.currentHourData)==null?void 0:b.utc)),1)]),e.createElementVNode("div",bm,[t[18]||(t[18]=e.createElementVNode("div",{style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},"LT",-1)),e.createElementVNode("div",wm,e.toDisplayString(l.computedLocalTime((u=i.currentHourData)==null?void 0:u.utc)),1)]),e.createElementVNode("div",xm,[e.createElementVNode("div",_m,e.toDisplayString(o.$t("weather.wind")),1),e.createElementVNode("div",km,e.toDisplayString(i.currentHourData.windDir??"-")+"/"+e.toDisplayString(i.currentHourData.windSpeed??"-")+"kts/BF"+e.toDisplayString(i.currentHourData.windLevel??"-"),1),e.createElementVNode("div",zm,e.toDisplayString(o.$t("weather.sigWave")),1),e.createElementVNode("div",vm,e.toDisplayString(i.currentHourData.sigwaveDir??"-")+"/"+e.toDisplayString(i.currentHourData.sigwaveHeight??"-")+"m/"+e.toDisplayString(i.currentHourData.sigwavePeriod??"-")+"s",1)]),e.createElementVNode("div",Lm,[e.createElementVNode("div",Cm,e.toDisplayString(o.$t("weather.windWave")),1),e.createElementVNode("div",Pm,e.toDisplayString(i.currentHourData.windwaveDir??"-")+"/"+e.toDisplayString(i.currentHourData.windwaveHeight??"-")+"m/"+e.toDisplayString(i.currentHourData.windwavePeriod??"-")+"s",1),e.createElementVNode("div",Sm,e.toDisplayString(o.$t("weather.swell")),1),e.createElementVNode("div",Nm,e.toDisplayString(i.currentHourData.swellDir??"-")+"/"+e.toDisplayString(i.currentHourData.swellHeight??"-")+"m/"+e.toDisplayString(i.currentHourData.swellPeriod??"-")+"s",1)]),e.createElementVNode("div",Tm,[e.createElementVNode("div",Dm,e.toDisplayString(o.$t("weather.current")),1),e.createElementVNode("div",Em,e.toDisplayString(i.currentHourData.currentDir??"-")+"/"+e.toDisplayString(i.currentHourData.currentSpeed??"-")+"kts",1),e.createElementVNode("div",Mm,e.toDisplayString(o.$t("weather.visibility")),1),e.createElementVNode("div",Vm,e.toDisplayString(i.currentHourData.visibility??"-")+" nm",1)])]}),_:1}),e.createVNode(h),e.createVNode(p,{class:"d-flex justify-space-between align-center"},{default:e.withCtx(()=>{var b;return[(b=a.followList)!=null&&b.some(u=>{var k,y;return(u==null?void 0:u.id)===i.form.followId||((k=u==null?void 0:u.coordinate)==null?void 0:k.lng)===i.form.lng&&((y=u==null?void 0:u.coordinate)==null?void 0:y.lat)===i.form.lat})?(e.openBlock(),e.createBlock(s,{key:0,class:"text-none text-body-1",id:"idm-gl4-spot-meteo-follow",variant:"text",density:"compact",height:"32","prepend-icon":"mdi-star",onClick:e.withModifiers(l.handleCancelFollow,["stop"])},{prepend:e.withCtx(()=>[e.createVNode(_,{color:"warning",style:{"font-size":"20px","margin-top":"-2px"}})]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(o.$t("actions.unfollow")),1)]),_:1},8,["onClick"])):(e.openBlock(),e.createBlock(s,{key:1,id:"idm-gl4-spot-meteo-unfollow",class:"text-none text-body-1",variant:"text",density:"compact",height:"32","prepend-icon":"mdi-star-outline",onClick:e.withModifiers(l.handleFollow,["stop"])},{prepend:e.withCtx(()=>[e.createVNode(_,{style:{"font-size":"20px","margin-top":"-2px"}})]),default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("actions.follow"))+" ",1)]),_:1},8,["onClick"])),e.createVNode(s,{height:"32",variant:"text",density:"compact","append-icon":"mdi-chevron-right",class:"text-none text-body-1",onClick:e.withModifiers(l.handleMeteoMore,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("spot.forecast")),1)]),_:1},8,["onClick"])]}),_:1})]),_:1})):e.createCommentVNode("",!0),i.showMeteo&&a.simple?(e.openBlock(),e.createBlock(L,{key:2,class:"position-absolute bottom-0 rounded-t-4",style:{width:"100vw","z-index":"1001"}},{default:e.withCtx(()=>[e.createVNode(c,null,{default:e.withCtx(()=>{var b;return[e.createElementVNode("div",Bm,[e.createElementVNode("div",Im,[t[19]||(t[19]=e.createElementVNode("i",{class:"iconfont icon-a-Spotweather text-h5 map-icon-aqua"},null,-1)),e.createElementVNode("div",Rm,e.toDisplayString(l.computePosition(i.form||i.currentHourData)),1)]),e.createElementVNode("div",Am,[(b=a.followList)!=null&&b.some(u=>{var k,y;return(u==null?void 0:u.id)===i.form.followId||((k=u==null?void 0:u.coordinate)==null?void 0:k.lng)===i.form.lng&&((y=u==null?void 0:u.coordinate)==null?void 0:y.lat)===i.form.lat})?(e.openBlock(),e.createBlock(s,{key:0,class:"text-none text-body-1 rounded-circle",variant:"text",density:"compact",height:"32",width:"28","min-width":"28",onClick:e.withModifiers(l.handleCancelFollow,["stop"])},{default:e.withCtx(()=>[e.createVNode(_,{icon:"mdi-star",color:"warning",size:"20"})]),_:1},8,["onClick"])):(e.openBlock(),e.createBlock(s,{key:1,class:"text-none text-body-1 rounded-circle",variant:"text",density:"compact",height:"32",width:"28","min-width":"28",onClick:e.withModifiers(l.handleFollow,["stop"])},{default:e.withCtx(()=>[e.createVNode(_,{icon:"mdi-star-outline",size:"20"})]),_:1},8,["onClick"])),e.createVNode(s,{class:"mr-n2",density:"comfortable",icon:"",variant:"plain",onClick:e.withModifiers(l.handleCloseMeteo,["stop"])},{default:e.withCtx(()=>t[20]||(t[20]=[e.createElementVNode("i",{class:"iconfont icon-close text-label text-h4"},null,-1)])),_:1,__:[20]},8,["onClick"])])]),t[21]||(t[21]=e.createElementVNode("div",{class:"px-5 py-0 text-label text-body-1"},"Spot Weather",-1))]}),_:1,__:[21]}),e.createVNode(h),e.createVNode(x,{class:"text-body-1 px-0 py-2"},{default:e.withCtx(()=>{var b,u;return[e.createElementVNode("div",Om,[e.createElementVNode("div",jm,e.toDisplayString(o.$t("time.time")),1),e.createElementVNode("div",Fm,e.toDisplayString(l.computedTzTime((b=i.currentHourData)==null?void 0:b.utc)),1)]),e.createElementVNode("div",Hm,[t[22]||(t[22]=e.createElementVNode("div",{style:{width:"60px"},class:"pa-0 pr-2 text-right opacity-50"},"LT",-1)),e.createElementVNode("div",Gm,e.toDisplayString(l.computedLocalTime((u=i.currentHourData)==null?void 0:u.utc)),1)]),e.createElementVNode("div",Wm,[e.createElementVNode("div",Um,[e.createElementVNode("div",null,[e.createElementVNode("span",Ym,e.toDisplayString(o.$t("weather.wind")),1),e.createElementVNode("span",null,e.toDisplayString(i.currentHourData.windDir??"-")+"/"+e.toDisplayString(i.currentHourData.windSpeed??"-")+"kts/BF"+e.toDisplayString(i.currentHourData.windLevel??"-"),1)]),e.createElementVNode("div",null,[e.createElementVNode("span",Zm,e.toDisplayString(o.$t("weather.sigWave")),1),e.createElementVNode("span",null,e.toDisplayString(i.currentHourData.sigwaveDir??"-")+"/"+e.toDisplayString(i.currentHourData.sigwaveHeight??"-")+"m/"+e.toDisplayString(i.currentHourData.sigwavePeriod??"-")+"s",1)]),e.createElementVNode("div",null,[e.createElementVNode("span",qm,e.toDisplayString(o.$t("weather.windWave")),1),e.createElementVNode("span",null,e.toDisplayString(i.currentHourData.windwaveDir??"-")+"/"+e.toDisplayString(i.currentHourData.windwaveHeight??"-")+"m/"+e.toDisplayString(i.currentHourData.windwavePeriod??"-")+"s",1)])]),e.createElementVNode("div",Xm,[e.createElementVNode("div",null,[e.createElementVNode("span",Km,e.toDisplayString(o.$t("weather.swell")),1),e.createElementVNode("span",null,e.toDisplayString(i.currentHourData.swellDir??"-")+"/"+e.toDisplayString(i.currentHourData.swellHeight??"-")+"m/"+e.toDisplayString(i.currentHourData.swellPeriod??"-")+"s",1)]),e.createElementVNode("div",null,[e.createElementVNode("span",Jm,e.toDisplayString(o.$t("weather.current")),1),e.createElementVNode("span",null,e.toDisplayString(i.currentHourData.currentDir??"-")+"/"+e.toDisplayString(i.currentHourData.currentSpeed??"-")+"kts",1)]),e.createElementVNode("div",null,[e.createElementVNode("span",Qm,e.toDisplayString(o.$t("weather.visibility")),1),e.createElementVNode("span",null,e.toDisplayString(i.currentHourData.visibility??"-")+" nm",1)])])])]}),_:1})]),_:1})):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",$m,[(e.openBlock(),e.createElementBlock("svg",ed,[e.createElementVNode("use",{"xlink:href":`#icon-spot-${a.theme}`},null,8,td)]))],512),[[e.vShow,i.showMeteo]])])}const ad=j(Jc,[["render",od]]),dh="",id={name:"IdmMeasure",props:{simple:{type:Boolean,default:!1},map:{type:Object},top:{type:Number,default:60},paddingTop:{type:Number,default:48},menuToggle:{type:Object,default:{}}},setup(){return{Theme:le.useTheme()}},data(){return{right:10,toggle:!1,geojson:[],source:"measure-source",layer:"measure-layer",labelLayer:"measure-label-layer",sumLayer:"measure-suml-layer",tmpSource:"measure-tmp-source",tmpLayer:"measure-tmp-layer",tmpLabelLayer:"measure-tmp-label-layer",closeMarkers:{},pointMarkers:{},tipMarker:void 0,contextmenu:void 0,navigation:"RL",currentLineIndex:1}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)})},immediate:!0},toggle:{handler(){var o,t,a;if(this.toggle)this.handleBind();else{(o=this.map)==null||o.getCanvas().removeEventListener("keydown",this.handleKeydown),(t=this.map)==null||t.off("mousemove",this.handleMove),(a=this.map)==null||a.off("dblclick",this.handleDblClick),this.map;let r=this.geojson.find(i=>!i.closed);r&&this.handleClear(r,!0),this.geojson=this.geojson.filter(i=>!!i.closed),r=V.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(r)}},immediate:!0},map:{handler(){this.map&&(this.toggle?this.handleBind():this.handleUnbind())}}},methods:{handleMenuToggle(){this.toggle=!this.toggle},handleBind(){var o,t,a,r,i;(o=this.map)==null||o.getCanvas().addEventListener("keydown",this.handleKeydown),(t=this.map)==null||t.on("mousemove",this.handleMove),(a=this.map)==null||a.on("dblclick",this.handleDblClick),(r=this.map)==null||r.on("click",this.handleClick),(i=this.map)==null||i.on("contextmenu",this.handleContextmenu),this.map&&(this.map.getCanvas().style.cursor="crosshair")},handleUnbind(){var o,t,a,r,i;(o=this.map)==null||o.getCanvas().removeEventListener("keydown",this.handleKeydown),(t=this.map)==null||t.off("mousemove",this.handleMove),(a=this.map)==null||a.off("dblclick",this.handleDblClick),(r=this.map)==null||r.off("click",this.handleClick),(i=this.map)==null||i.off("contextmenu",this.handleContextmenu);for(const l of this.geojson)this.handleClear(l,!0);this.geojson=[],this.map&&(this.map.getCanvas().style.cursor="grab")},handleKeydown(o){if(o.key==="Shift"){this.navigation=this.navigation==="RL"?"GC":"RL";const t=this.geojson.at(-1),a=t.features.filter(r=>r.geometry.type==="Point");a!=null&&a.length&&(a.at(-1).properties.mode=this.navigation),this.handleRender(t)}},handleDrag(o){var a,r,i,l,s,n,c,h,d,g;const t=(r=(a=o.target)==null?void 0:a._element)==null?void 0:r.id;if((t==null?void 0:t.split("-").length)===2){const f=this.geojson.filter(p=>p.id===t.split("-")[0])[0];this.pointMarkers[f.id].filter(p=>{var S;return((S=p._element)==null?void 0:S.id)===t})[0].setLngLat([(l=(i=o.target)==null?void 0:i._lngLat)==null?void 0:l.lng,(n=(s=o.target)==null?void 0:s._lngLat)==null?void 0:n.lat]);let z;f.features.forEach((p,S)=>{if(p.geometry.type==="Point"&&p.properties.id===t.split("-")[1]){z=S;return}});const x=f.features.filter(p=>p.geometry.type==="Point");this.handleTmpPointUpdate(f,x[z-1],{lng:(h=(c=o.target)==null?void 0:c._lngLat)==null?void 0:h.lng,lat:(g=(d=o.target)==null?void 0:d._lngLat)==null?void 0:g.lat,properties:x[z].properties},z===x.length-1?void 0:x[z+1])}},handleDragEnd(o){var a,r,i,l,s,n,c,h,d,g;const t=(r=(a=o.target)==null?void 0:a._element)==null?void 0:r.id;if((t==null?void 0:t.split("-").length)===2){const f=this.geojson.filter(x=>x.id===t.split("-")[0])[0];this.pointMarkers[f.id].filter(x=>{var p;return((p=x._element)==null?void 0:p.id)===t})[0].setLngLat([(l=(i=o.target)==null?void 0:i._lngLat)==null?void 0:l.lng,(n=(s=o.target)==null?void 0:s._lngLat)==null?void 0:n.lat]);const z=f.features.filter(x=>x.geometry.type==="Point"&&x.properties.id===t.split("-")[1])[0];z.geometry.coordinates=[(h=(c=o.target)==null?void 0:c._lngLat)==null?void 0:h.lng,(g=(d=o.target)==null?void 0:d._lngLat)==null?void 0:g.lat],f.features=f.features.filter(x=>x.geometry.type==="Point"),this.handlePointUpdate(f)}},handleContextmenu(o){var a,r,i,l;o.preventDefault(),(a=this.contextmenu)==null||a.remove();const t=(l=(i=(r=o.originalEvent)==null?void 0:r.target)==null?void 0:i.parentElement)==null?void 0:l.id;if((t==null?void 0:t.split("-").length)===2){const n=this.geojson.filter(c=>c.id===t.split("-")[0])[0].features.filter(c=>c.geometry.type==="Point");if(n.length>2&&n.filter(h=>h.properties.id===(t==null?void 0:t.split("-")[1]))[0]){const h=document.createElement("div");h.className="idm-gl4-measure-contextmenu-marker",h.innerHTML=`<span id="del-${t}" class="del-point">${$t("actions.detele")}</span>`,this.contextmenu=new de.Marker(h).setOffset([24,0]).setLngLat([o.lngLat.lng,o.lngLat.lat]).addTo(this.map)}}},handleClick(o){var a,r,i,l,s,n;(a=this.contextmenu)==null||a.remove();const t=o.originalEvent.target.className;if(t==="marker-close"){const c=(i=(r=o.originalEvent)==null?void 0:r.srcElement)==null?void 0:i.id,h=this.geojson.filter(d=>d.id===c)[0];h&&this.handleClear(h,!0),this.geojson=this.geojson.filter(d=>d.id!==c),!this.toggle&&!((l=this.geojson)!=null&&l.some(d=>d.closed))&&this.handleUnbind()}else if(t==="del-point"){const c=(n=(s=o.originalEvent.target.id)==null?void 0:s.replace("del-",""))==null?void 0:n.split("-"),h=this.geojson.filter(d=>d.id===c[0])[0];h.features=h.features.filter(d=>d.geometry.type==="Point"&&d.properties.id!==c[1]),this.handlePointUpdate(h)}else if(t!=="marker-label"&&this.toggle){let c=this.geojson.at(-1);c||(c=V.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(c)),c.features=c.features.filter(d=>d.geometry.type==="Point");const h=V.feature({type:"Point",coordinates:[o.lngLat.lng,o.lngLat.lat]},{id:new Date().getTime().toString(),mode:this.navigation,sumLabel:"Start"});c.features.push(h),this.handlePointUpdate(c)}},handlePointUpdate(o){const t=o.features;if(t.length>1){let a=0;const r=[];for(let i=1;i<t.length;i++){const l=t[i-1],s=t[i],n=l.properties,c={lng:l.geometry.coordinates[0],lat:l.geometry.coordinates[1]},h={lng:s.geometry.coordinates[0],lat:s.geometry.coordinates[1]},d=T.LaneHelper.calculateDistance(c,h,n.mode==="RL",4),g=T.LaneHelper.calculateBearing(c,h,n.mode==="RL",2);a=T.LngLatHelper.roundPrecision(a+d,4);let f;n.mode==="RL"?f=T.LngLatHelper.convertToMonotonicLng([c,h]):f=T.LngLatHelper.convertToMonotonicLng(T.LaneHelper.interpolateCoordinates(c,h,200));const w=V.lineString(f.map(x=>[x.lng,x.lat]));w.properties.dist=d,w.properties.bearing=g,w.properties.total=a,w.properties.name="Line "+this.currentLineIndex,r.push(w);const z=t[i];z.properties.totalDist=T.LngLatHelper.roundPrecision((n.totalDist?n.totalDist:0)+d,4),z.properties.sumLabel=z.properties.totalDist+" nm"}t.push(...r),o.total=a}return this.handleRender(o),o},handleTmpPointUpdate(o,t,a,r){const i=V.featureCollection([]);let l,s;if(t){const c=t.properties,h={lng:t.geometry.coordinates[0],lat:t.geometry.coordinates[1]},d={lng:a.lng,lat:a.lat};l=T.LaneHelper.calculateDistance(h,d,c.mode==="RL",4),s=T.LaneHelper.calculateBearing(h,d,c.mode==="RL",2);let g;c.mode==="RL"?g=T.LngLatHelper.convertToMonotonicLng([h,d]):g=T.LngLatHelper.convertToMonotonicLng(T.LaneHelper.interpolateCoordinates(h,d,200));const f=V.lineString(g.map(w=>[w.lng,w.lat]));f.properties.dist=l,f.properties.bearing=s,i.features.push(f)}if(r){const c=a.properties,h=a,d={lng:r.geometry.coordinates[0],lat:r.geometry.coordinates[1]};l=T.LaneHelper.calculateDistance(h,d,c.mode==="RL",4),s=T.LaneHelper.calculateBearing(h,d,c.mode==="RL",2);let g;c.mode==="RL"?g=T.LngLatHelper.convertToMonotonicLng([h,d]):g=T.LngLatHelper.convertToMonotonicLng(T.LaneHelper.interpolateCoordinates(h,d,200));const f=V.lineString(g.map(w=>[w.lng,w.lat]));f.properties.dist=l,f.properties.bearing=s,i.features.push(f)}this.map.getSource(this.tmpSource)?this.map.getSource(this.tmpSource).setData(i):this.map.addSource(this.tmpSource,{type:"geojson",data:i}),this.map.getLayer(this.tmpLayer)||this.map.addLayer({id:this.tmpLayer,type:"line",source:this.tmpSource,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.Theme.current.value.colors["map-orange"],"line-width":2,"line-opacity":1,"line-dasharray":[3,2]}}),this.map.getLayer(this.tmpLabelLayer)||this.map.addLayer({id:this.tmpLabelLayer,type:"symbol",source:this.tmpSource,filter:["==","$type","LineString"],layout:{"symbol-placement":"line-center","text-field":"{dist} nm","text-rotation-alignment":"map","text-size":10,"text-offset":[0,-1]},paint:{"text-opacity":1,"text-color":this.Theme.current.value.colors["on-surface"]}});let n;if(r)n=`<div class="marker-label">${this.$t("measure.dragTips")}</div>`;else{const c=T.LngLatHelper.roundPrecision((o.total??0)+l,1);n=`<div class="marker-label">${this.$t("measure.totalDistance")}: <b>${c}</b>nm, ${this.$t("measure.bearing")}: <b>${s}</b>°</div><div class="marker-label"> ${this.$t("measure.mode")}${this.navigation==="RL"?"RL":"GC"}, ${this.$t("measure.switchTips")}</div><div class="marker-label">${this.$t("measure.clickTips")}</div>`}if(this.tipMarker)this.tipMarker._element.innerHTML=n,this.tipMarker.setLngLat([a.lng,a.lat]);else{const c=document.createElement("div");c.className="idm-gl4-measure-tip-marker",c.innerHTML=n,this.tipMarker=new de.Marker(c).setOffset([140,0]).setLngLat([a.lng,a.lat]).addTo(this.map)}},handleMove(o){this.map.getCanvas().style.cursor="crosshair";let t=this.geojson.at(-1);t||(t=V.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(t));const a=t.features.filter(r=>r.geometry.type==="Point");a!=null&&a.length&&this.handleTmpPointUpdate(t,a.at(-1),{lng:o.lngLat.lng,lat:o.lngLat.lat})},handleDblClick(o){o.preventDefault();let t=this.geojson.at(-1);t.closed=!0,this.handleRender(t),t=V.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(t),this.currentLineIndex++},handleRender(o){var t;if((t=o==null?void 0:o.features)!=null&&t.length){const a=`${o.id}-${this.source}`,r=`${o.id}-${this.layer}`,i=`${o.id}-${this.labelLayer}`,l=`${o.id}-${this.sumLayer}`;this.map.getSource(a)?this.map.getSource(a).setData(o):this.map.addSource(a,{type:"geojson",data:o}),this.handleClear(o,!1),this.map.addLayer({id:r,type:"line",source:a,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.Theme.current.value.colors["map-orange"],"line-width":2}}),this.map.addLayer({id:i,type:"symbol",source:a,filter:["==","$type","LineString"],layout:{"symbol-placement":"line-center","text-field":"{dist} nm","text-rotation-alignment":"map","text-size":10,"text-offset":[0,-1]},paint:{"text-opacity":1,"text-color":this.Theme.current.value.colors["on-surface"]}}),this.map.addLayer({id:l,type:"symbol",source:a,filter:["==","$type","Point"],layout:{"text-field":"{sumLabel}","text-rotation-alignment":"map","text-size":12,"text-offset":[0,1.5]},paint:{"text-opacity":1,"text-color":this.Theme.current.value.colors["on-surface"]}});const s=o.features.filter(n=>n.geometry.type==="Point");for(const n of s){const c=document.createElement("div");c.id=`${o.id}-${n.properties.id}`,c.className=`${o.closed?"idm-gl4-measure-marker closed":"idm-gl4-measure-marker"}`,c.innerHTML='<div class="marker-circle"></div>';const h=new de.Marker({element:c,draggable:!0,contextmenu:!0}).setLngLat(n.geometry.coordinates).addTo(this.map);h.on("drag",this.handleDrag),h.on("dragend",this.handleDragEnd),this.pointMarkers[o.id]?this.pointMarkers[o.id].push(h):this.pointMarkers[o.id]=[h]}if(o.closed){const n=s.at(-1),h=o.features.filter(g=>g.geometry.type==="LineString").at(-1),d=document.createElement("div");d.className="idm-gl4-measure-summary-marker",d.innerHTML=`<div id="${o.id}" class="marker-close">×</div><div class="marker-label">${h.properties.name}</div>`,this.closeMarkers[o.id]=new de.Marker(d).setOffset([0,-30]).setLngLat(n.geometry.coordinates).addTo(this.map)}}},handleClear(o,t=!0){var s,n,c,h,d,g,f,w,z,x;const a=`${o.id}-${this.source}`,r=`${o.id}-${this.layer}`,i=`${o.id}-${this.labelLayer}`,l=`${o.id}-${this.sumLayer}`;(s=this.map)!=null&&s.getLayer(r)&&this.map.removeLayer(r),(n=this.map)!=null&&n.getLayer(i)&&this.map.removeLayer(i),(c=this.map)!=null&&c.getLayer(l)&&this.map.removeLayer(l),(h=this.map)!=null&&h.getLayer(this.tmpLayer)&&this.map.removeLayer(this.tmpLayer),(d=this.map)!=null&&d.getLayer(this.tmpLabelLayer)&&this.map.removeLayer(this.tmpLabelLayer),(g=this.closeMarkers[o.id])==null||g.remove(),this.closeMarkers[o.id]=void 0,(f=this.pointMarkers[o.id])==null||f.forEach(p=>{p==null||p.remove()}),this.pointMarkers[o.id]=[],(w=this.tipMarker)==null||w.remove(),this.tipMarker=void 0,t&&((z=this.map)!=null&&z.getSource(a))&&this.map.removeSource(a),t&&((x=this.map)!=null&&x.getSource(this.tmpSource))&&this.map.removeSource(this.tmpSource)}}},rd={class:"idm-gl4-measure"};function ld(o,t,a,r,i,l){const s=e.resolveComponent("VBtn"),n=e.resolveComponent("VTooltip");return e.openBlock(),e.createElementBlock("div",rd,[e.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:e.normalizeStyle({top:a.top+a.paddingTop+166+"px",right:i.right+"px"})},[e.createVNode(n,{text:o.$t("measure.measure"),location:"left"},{activator:e.withCtx(({props:c})=>[e.createVNode(s,e.mergeProps(c,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:e.withCtx(()=>t[0]||(t[0]=[e.createElementVNode("i",{class:"iconfont icon-a-Measuredistance text-h4"},null,-1)])),_:2,__:[0]},1040,["class","onClick"])]),_:1},8,["text"])],4)])}const sd=j(id,[["render",ld]]),hh="",nd={name:"IdmBottomBar",components:{DateTimePicker:Ae},props:{menuToggle:{type:Object,default:{}},weatherCheckList:{type:Array}},emits:["forecastModel","realTime","timeZone"],data(){return{right:10,show:{weather:!1,tropical:!1,ship:!1},dayAbout:{h:-7,f:14},currentDateTimeZ:void 0,currentTimestamp:void 0,currentDateTime:void 0,currentRealTime:void 0,minTimestamp:void 0,maxTimestamp:void 0,animation:void 0,startAnimate:0,step:0,frequency:1e3,paused:!0,intervalHour:3,intervalOptions:[3,6,12,24],showTimezone:!1,timeZone:localStorage.getItem("idm-timeZone-gl4")?Number(localStorage.getItem("idm-timeZone-gl4")):v().utcOffset()/60,offsets:[-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12],source:localStorage.getItem("forecastModelCacheGL4")==="undefined"?"ECMWF":localStorage.getItem("forecastModelCacheGL4")}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var o;this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10})},immediate:!0},source:{handler(o,t){o&&o!==t&&(this.$emit("forecastModel",o),localStorage.setItem("forecastModelCacheGL4",o))},immediate:!0},step:{handler(o,t){if(!isNaN(o)&&!isNaN(t)&&o!==t){const a=o-t;let r=this.currentTimestamp;r=r+a*this.intervalHour*3600*1e3,r<=this.minTimestamp||r>=this.maxTimestamp?this.paused?this.currentTimestamp=a<0?this.minTimestamp:this.maxTimestamp:this.handleReset():this.currentTimestamp=r}}},currentTimestamp:{handler(){this.currentDateTimeZ=v(this.currentTimestamp).utc().format("yyyy-MM-DD HH:00[Z]"),this.$emit("realTime",this.currentDateTimeZ),this.currentDateTime=`${v.tz(this.currentTimestamp,this.timeZoneName).clone().format("yyyy-MM-DD : HH:00")}`},immediate:!0},timeZone:{handler(o,t){o!==t&&(this.$emit("timeZone",this.timeZone),localStorage.setItem("idm-timeZone-gl4",this.timeZone),this.showTimezone=!1)},immediate:!0},show:{handler(){var o;Object.values(this.show).includes(!0)||(o=this.$refs.dateTimePicker)==null||o.handleCancelDate()},deep:!0}},mounted(){this.handleReset()},methods:{handleReset(){var o;this.handlePause(),this.startAnimate=0,(o=this.$refs.dateTimePicker)==null||o.handleReset()},changeDayAbout(o,t){this.dayAbout={h:o??-7,f:t??14}},handleToggle(o,t){this.show[o]=t},handleBackward(){this.handlePause(),this.step-=1},handleForward(){this.handlePause(),this.step+=1},handlePlay(){this.paused=!1,this.step=0,this.animateSpeeds()},handlePause(){this.animation&&cancelAnimationFrame(this.animation),this.paused=!0},animateSpeeds(o){const t=o-this.startAnimate;this.step=Math.floor(t/this.frequency),this.animation=requestAnimationFrame(this.animateSpeeds)},handleClickFastWeather(o){this.$parent.$refs.idmWeatherLayers.handleFastWeatherToggle(o)},handleClickFastMore(){this.$parent.$refs.idmWeatherLayers.handleMenuToggle()}}},cd={class:"idm-bottom-bar-gl4"},md={class:"date-box d-flex ga-2 mr-2"},dd={class:"play-btns-box d-flex justify-center align-center cursor-pointer"},hd={class:"fast-weathers-box d-flex justify-center align-center ga-2 cursor-pointer"},pd={class:"model-box d-flex justify-center align-center ga-2 my-2"},gd={key:0,class:"list d-flex flex-wrap pa-2 rounded ga-2"},ud=["onClick"],fd={class:"btn-box d-flex justify-start align-center rounded ga-2 py-1 px-3"},yd={class:"text-body-1"};function bd(o,t,a,r,i,l){const s=e.resolveComponent("DateTimePicker"),n=e.resolveComponent("VListItemTitle"),c=e.resolveComponent("VListItem"),h=e.resolveComponent("VList"),d=e.resolveComponent("VMenu"),g=e.resolveComponent("VBtn"),f=e.resolveComponent("VDivider"),w=e.resolveComponent("VTooltip");return e.openBlock(),e.createElementBlock("div",cd,[e.createElementVNode("div",{class:"timeline-box px-2 d-flex justify-start align-center rounded",style:e.normalizeStyle({right:i.right+146+"px",bottom:Object.values(i.show).includes(!0)?"10px":"-100px"})},[e.createElementVNode("div",md,[e.createVNode(s,e.mergeProps({ref:"dateTimePicker","date-time":i.currentDateTimeZ,"time-zone":i.timeZone,"day-about":i.dayAbout,"interval-hour":i.intervalHour},o.$attrs,{onCurrentTimestamp:t[0]||(t[0]=z=>i.currentTimestamp=z),onCurrentRealTime:t[1]||(t[1]=z=>i.currentRealTime=z),onMinTimestamp:t[2]||(t[2]=z=>i.minTimestamp=z),onMaxTimestamp:t[3]||(t[3]=z=>i.maxTimestamp=z)}),null,16,["date-time","time-zone","day-about","interval-hour"]),e.createVNode(g,{text:"",height:"30",class:"text-none elevation-0 btn-border-1 btn-bg-1 text-body-1","min-width":"30"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.intervalHour)+" h ",1),e.createVNode(d,{activator:"parent"},{default:e.withCtx(()=>[e.createVNode(h,{class:"pa-1"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.intervalOptions,(z,x)=>(e.openBlock(),e.createBlock(c,{key:x,value:z,variant:i.intervalHour===z?"tonal":"text",color:"primary",rounded:"",active:i.intervalHour===z,height:"30","min-height":"30","min-width":"30",class:"pa-0 text-center text-body-1"},{default:e.withCtx(()=>[e.createVNode(n,{onClick:p=>i.intervalHour=z},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(z)+"h",1)]),_:2},1032,["onClick"])]),_:2},1032,["value","variant","active"]))),128))]),_:1})]),_:1})]),_:1})]),e.createVNode(f,{vertical:"",class:"mx-2 my-3",style:{height:"16px"}}),e.createElementVNode("div",dd,[e.createVNode(g,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handleReset},{default:e.withCtx(()=>t[10]||(t[10]=[e.createElementVNode("i",{class:"iconfont icon-Reset"},null,-1)])),_:1,__:[10]},8,["onClick"]),e.createVNode(g,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handleBackward},{default:e.withCtx(()=>t[11]||(t[11]=[e.createElementVNode("i",{class:"iconfont icon-Backward"},null,-1)])),_:1,__:[11]},8,["onClick"]),i.paused?(e.openBlock(),e.createBlock(g,{key:0,icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handlePlay},{default:e.withCtx(()=>t[12]||(t[12]=[e.createElementVNode("i",{class:"iconfont icon-Play"},null,-1)])),_:1,__:[12]},8,["onClick"])):(e.openBlock(),e.createBlock(g,{key:1,icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handlePause},{default:e.withCtx(()=>t[13]||(t[13]=[e.createElementVNode("i",{class:"iconfont icon-Pause"},null,-1)])),_:1,__:[13]},8,["onClick"])),e.createVNode(g,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handleForward},{default:e.withCtx(()=>t[14]||(t[14]=[e.createElementVNode("i",{class:"iconfont icon-Forward"},null,-1)])),_:1,__:[14]},8,["onClick"])]),e.createVNode(f,{vertical:"",class:"mx-2 my-3",style:{height:"16px"}}),e.createElementVNode("div",hd,[e.createVNode(w,{text:o.$t("weather.windBarbs"),location:"top"},{activator:e.withCtx(({props:z})=>{var x,p;return[e.createVNode(g,e.mergeProps(z,{class:"pa-1 d-flex",color:(x=a.weatherCheckList)!=null&&x.includes("wind")?"primary":"",variant:(p=a.weatherCheckList)!=null&&p.includes("wind")?"elevated":"text",height:"24",width:"24","min-width":"24",onClick:t[4]||(t[4]=S=>l.handleClickFastWeather("wind"))}),{default:e.withCtx(()=>t[15]||(t[15]=[e.createElementVNode("i",{class:"iconfont icon-a-WindLevel"},null,-1)])),_:2,__:[15]},1040,["color","variant"])]}),_:1},8,["text"]),e.createVNode(w,{text:o.$t("weather.sigWaveHeight"),location:"top"},{activator:e.withCtx(({props:z})=>{var x,p;return[e.createVNode(g,e.mergeProps(z,{class:"pa-1 d-flex",color:(x=a.weatherCheckList)!=null&&x.includes("sig-wave-height")?"primary":"",variant:(p=a.weatherCheckList)!=null&&p.includes("sig-wave-height")?"elevated":"text",height:"24",width:"24","min-width":"24",onClick:t[5]||(t[5]=S=>l.handleClickFastWeather("sig-wave-height"))}),{default:e.withCtx(()=>[e.createElementVNode("i",e.mergeProps(z,{class:"iconfont icon-a-WaveHeight"}),null,16)]),_:2},1040,["color","variant"])]}),_:1},8,["text"]),e.createVNode(w,{text:o.$t("weather.currentDirection"),location:"top"},{activator:e.withCtx(({props:z})=>{var x,p;return[e.createVNode(g,e.mergeProps(z,{class:"pa-1 d-flex",color:(x=a.weatherCheckList)!=null&&x.includes("current-direction")?"primary":"",variant:(p=a.weatherCheckList)!=null&&p.includes("current-direction")?"elevated":"text",height:"24",width:"24","min-width":"24",onClick:t[6]||(t[6]=S=>l.handleClickFastWeather("current-direction"))}),{default:e.withCtx(()=>[e.createElementVNode("i",e.mergeProps(z,{class:"iconfont icon-Current"}),null,16)]),_:2},1040,["color","variant"])]}),_:1},8,["text"]),e.createVNode(w,{text:o.$t("weather.weatherLayers"),location:"top"},{activator:e.withCtx(({props:z})=>[e.createVNode(g,e.mergeProps(z,{class:"pa-1 d-flex",variant:"text",height:"24",width:"24","min-width":"24",onClick:l.handleClickFastMore}),{default:e.withCtx(()=>[e.createElementVNode("i",e.mergeProps(z,{class:"iconfont icon-dots-align"}),null,16)]),_:2},1040,["onClick"])]),_:1},8,["text"])]),e.createVNode(f,{vertical:"",class:"mx-2 mr-3 my-3",style:{height:"16px"}}),e.createElementVNode("div",pd,[e.createVNode(g,{text:"",height:"30",class:"px-2 elevation-0 text-body-1 btn-border-2 btn-bg-2",color:i.source==="GFS"?"primary":"",onClick:t[7]||(t[7]=z=>i.source="GFS")},{default:e.withCtx(()=>t[16]||(t[16]=[e.createTextVNode("NOAA",-1)])),_:1,__:[16]},8,["color"]),e.createVNode(g,{text:"",height:"30",class:"px-2 elevation-0 text-body-1 btn-border-2 btn-bg-2",color:i.source==="ECMWF"?"primary":"",onClick:t[8]||(t[8]=z=>i.source="ECMWF")},{default:e.withCtx(()=>t[17]||(t[17]=[e.createTextVNode("ECMWF",-1)])),_:1,__:[17]},8,["color"])])],4),e.createElementVNode("div",{class:"timezone-box d-flex flex-column justify-space-between align-end",style:e.normalizeStyle({right:i.right+"px"})},[i.showTimezone?(e.openBlock(),e.createElementBlock("div",gd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.offsets,z=>(e.openBlock(),e.createElementBlock("div",{key:z,class:"item rounded text-body-2 hover-active",onClick:x=>i.timeZone=z},e.toDisplayString(z<0?z:"+"+z),9,ud))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",fd,[e.createVNode(g,{text:"",variant:"flat",height:"28",class:"pa-1 text-body-1",color:"primary",onClick:t[9]||(t[9]=z=>i.showTimezone=!i.showTimezone)},{default:e.withCtx(()=>[e.createTextVNode(" UTC "+e.toDisplayString(i.timeZone<0?i.timeZone:"+"+i.timeZone),1)]),_:1}),e.createElementVNode("span",yd,e.toDisplayString(i.currentRealTime),1)])],4)])}const wd=j(nd,[["render",bd]]),ph="",xd={name:"IdmTimePlayer",components:{DateTimePicker:Ae},props:{menuToggle:{type:Object,default:{}},weatherCheckList:{type:Array},playerBottom:{type:Number,default:10}},emits:["realTime","timeZone"],data(){return{right:10,show:{weather:!1,tropical:!1,ship:!1},dayAbout:{h:-7,f:14},currentDateTimeZ:void 0,currentTimestamp:void 0,currentDateTime:void 0,currentRealTime:void 0,minTimestamp:void 0,maxTimestamp:void 0,animation:void 0,startAnimate:0,step:0,frequency:1e3,paused:!0,intervalHour:3,intervalOptions:[3,6,12,24],showTimezone:!1,timeZone:localStorage.getItem("idm-timeZone-gl4")?Number(localStorage.getItem("idm-timeZone-gl4")):v().utcOffset()/60,offsets:[-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12]}},watch:{step:{handler(o,t){if(!isNaN(o)&&!isNaN(t)&&o!==t){const a=o-t;let r=this.currentTimestamp;r=r+a*this.intervalHour*3600*1e3,r<=this.minTimestamp||r>=this.maxTimestamp?this.paused?this.currentTimestamp=a<0?this.minTimestamp:this.maxTimestamp:this.handleReset():this.currentTimestamp=r}}},currentTimestamp:{handler(){this.currentDateTimeZ=v(this.currentTimestamp).utc().format("yyyy-MM-DD HH:00[Z]"),this.$emit("realTime",this.currentDateTimeZ),this.currentDateTime=`${v.tz(this.currentTimestamp,this.timeZoneName).clone().format("yyyy-MM-DD : HH:00")}`},immediate:!0},timeZone:{handler(o,t){o!==t&&(this.$emit("timeZone",this.timeZone),localStorage.setItem("idm-timeZone-gl4",this.timeZone),this.showTimezone=!1)},immediate:!0},show:{handler(){var o;Object.values(this.show).includes(!0)||(o=this.$refs.dateTimePicker)==null||o.handleCancelDate()},deep:!0}},mounted(){this.handleReset()},methods:{handleReset(){var o;this.handlePause(),this.startAnimate=0,(o=this.$refs.dateTimePicker)==null||o.handleReset()},changeDayAbout(o,t){this.dayAbout={h:o??-7,f:t??14}},handleToggle(o,t){this.show[o]=t},handleBackward(){this.handlePause(),this.step-=1},handleForward(){this.handlePause(),this.step+=1},handlePlay(){this.paused=!1,this.step=0,this.animateSpeeds()},handlePause(){this.animation&&cancelAnimationFrame(this.animation),this.paused=!0},animateSpeeds(o){const t=o-this.startAnimate;this.step=Math.floor(t/this.frequency),this.animation=requestAnimationFrame(this.animateSpeeds)}}},_d={class:"timeline-box px-2 d-flex justify-center align-center rounded ga-1"};function kd(o,t,a,r,i,l){const s=e.resolveComponent("VBtn"),n=e.resolveComponent("DateTimePicker");return e.openBlock(),e.createElementBlock("div",{class:"idm-time-player-gl4 d-flex justify-center align-center",style:e.normalizeStyle({bottom:Object.values(i.show).includes(!0)?a.playerBottom+"px":"-100px"})},[e.createElementVNode("div",_d,[e.createVNode(s,{size:"small",density:"compact",class:"px-1 bg-background btn-border-1",width:"30","min-width":"30",height:"30",onClick:l.handleReset},{default:e.withCtx(()=>t[4]||(t[4]=[e.createElementVNode("i",{class:"iconfont icon-Reset"},null,-1)])),_:1,__:[4]},8,["onClick"]),e.createVNode(s,{size:"small",density:"compact",class:"px-1 bg-background btn-border-1",width:"30","min-width":"30",height:"30",onClick:l.handleBackward},{default:e.withCtx(()=>t[5]||(t[5]=[e.createElementVNode("i",{class:"iconfont icon-Backward"},null,-1)])),_:1,__:[5]},8,["onClick"]),e.createVNode(n,e.mergeProps({ref:"dateTimePicker","date-time":i.currentDateTimeZ,"time-zone":i.timeZone,"day-about":i.dayAbout,"interval-hour":i.intervalHour,height:32},o.$attrs,{onCurrentTimestamp:t[0]||(t[0]=c=>i.currentTimestamp=c),onCurrentRealTime:t[1]||(t[1]=c=>i.currentRealTime=c),onMinTimestamp:t[2]||(t[2]=c=>i.minTimestamp=c),onMaxTimestamp:t[3]||(t[3]=c=>i.maxTimestamp=c)}),null,16,["date-time","time-zone","day-about","interval-hour"]),e.createVNode(s,{size:"small",density:"compact",class:"px-1 bg-background btn-border-1",width:"30","min-width":"30",height:"30",onClick:l.handleForward},{default:e.withCtx(()=>t[6]||(t[6]=[e.createElementVNode("i",{class:"iconfont icon-Forward"},null,-1)])),_:1,__:[6]},8,["onClick"]),i.paused?(e.openBlock(),e.createBlock(s,{key:0,size:"small",density:"compact",class:"px-1 bg-background btn-border-1",width:"30","min-width":"30",height:"30",onClick:l.handlePlay},{default:e.withCtx(()=>t[7]||(t[7]=[e.createElementVNode("i",{class:"iconfont icon-Play"},null,-1)])),_:1,__:[7]},8,["onClick"])):(e.openBlock(),e.createBlock(s,{key:1,size:"small",density:"compact",class:"px-1 bg-background btn-border-1",width:"30","min-width":"30",height:"30",onClick:l.handlePause},{default:e.withCtx(()=>t[8]||(t[8]=[e.createElementVNode("i",{class:"iconfont icon-Pause"},null,-1)])),_:1,__:[8]},8,["onClick"]))])],4)}const wo=j(xd,[["render",kd]]),zd={name:"IdmGL4",components:{IdmOtherLayer:Kl,IdmWeatherLayer:Hn,IdmTropicals:yo,IdmMeasure:sd,IdmSpot:ad,IdmBottomBar:wd,IdmTimePlayer:wo},props:{map:{type:Object},token:{type:String},beforeLayer:{type:String,default:""},forecastModel:{type:String},mapFeather:{type:String},simple:{type:Boolean,default:!1}},emits:[],data(){return{weatherCheckList:[],otherCheckList:[],layerVersion:0,autoActive:!0,tropicals:void 0,gateway:"https://cbe.idmwx.com",assistGateway:["https://assist0.idmwx.com","https://assist1.idmwx.com","https://assist2.idmwx.com","https://assist3.idmwx.com"],defaultMeteoToken:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNtZWliMDg2dTAwMDdmdnV4ZHRhcmFoODIiLCJyb2xlIjoyLCJuYW1lIjoiY2hlbmhlbmdAb3Jtd3guY29tIiwicGxhdElkIjoiZ2QwbXQxZCIsImNvbXBhbnkiOnsiaWQiOm51bGwsImNoaWxkcmVuIjpbXX0sImlhdCI6MTc1NTg1NzQ0NiwiZXhwIjozOTYzMzc3NDQ2fQ.nll8PA8tZEFONV2ydX4Rx_Xya7nMzJQ6vPSL_Sg2dVU"}},watch:{map:{handler(){this.map&&(this.layerVersion=Math.random())},immediate:!0},layerVersion:{handler(){if(this.map){const o=this.autoActive&&this.weatherCheckList.some(r=>["wind-particle","sig-wave","swell","current-particle","water-temp","temp"].some(i=>i===r)),t=this.otherCheckList.some(r=>["navareas","eca-zones","load-lines","voluntary-reporting-area","war-zones","special-area","ice-areas"].some(i=>i===r)),a=o||t;this.mapFeather==="nautical"?o?(this.map.getLayer("country-boundaries")&&this.map.setLayoutProperty("country-boundaries","visibility","visible"),this.map.getLayer("i4")&&this.map.setLayoutProperty("i4","visibility","none"),this.map.getLayer("hi")&&this.map.setLayoutProperty("hi","visibility","none"),this.map.getLayer("admin-0-boundary-bg")&&this.map.setLayoutProperty("admin-0-boundary-bg","visibility","visible"),this.map.getLayer("admin-0-boundary")&&this.map.setLayoutProperty("admin-0-boundary","visibility","visible"),this.map.getLayer("admin-0-boundary-disputed")&&this.map.setLayoutProperty("admin-0-boundary-disputed","visibility","visible"),this.map.getLayer("country-label")&&this.map.setLayoutProperty("country-label","visibility","visible"),this.map.getLayer("continent-label")&&this.map.setLayoutProperty("continent-label","visibility","visible")):(this.map.getLayer("country-boundaries")&&this.map.setLayoutProperty("country-boundaries","visibility","none"),this.map.getLayer("i4")&&this.map.setLayoutProperty("i4","visibility","visible"),this.map.getLayer("hi")&&this.map.setLayoutProperty("hi","visibility","visible"),this.map.getLayer("admin-0-boundary-bg")&&this.map.setLayoutProperty("admin-0-boundary-bg","visibility","none"),this.map.getLayer("admin-0-boundary")&&this.map.setLayoutProperty("admin-0-boundary","visibility","none"),this.map.getLayer("admin-0-boundary-disputed")&&this.map.setLayoutProperty("admin-0-boundary-disputed","visibility","none"),this.map.getLayer("country-label")&&this.map.setLayoutProperty("country-label","visibility","none"),this.map.getLayer("continent-label")&&this.map.setLayoutProperty("continent-label","visibility","none")):this.mapFeather==="satellite"?o?(this.map.getLayer("country-boundaries")&&this.map.setLayoutProperty("country-boundaries","visibility","visible"),this.map.getLayer("water-outline")&&this.map.setLayoutProperty("water-outline","visibility","visible"),this.map.getLayer("ramp-color-layer")&&this.map.moveLayer("ramp-color-layer","country-boundaries"),this.map.getLayer("particle-layer")&&this.map.moveLayer("particle-layer","country-boundaries")):(this.map.getLayer("country-boundaries")&&this.map.setLayoutProperty("country-boundaries","visibility","none"),this.map.getLayer("water-outline")&&this.map.setLayoutProperty("water-outline","visibility","none")):a?(this.map.getLayer("country-boundaries")&&this.map.setLayoutProperty("country-boundaries","visibility","visible"),this.map.getLayer("water-outline2")&&this.map.setLayoutProperty("water-outline2","visibility","visible"),o&&(this.map.getLayer("ramp-color-layer")&&this.map.moveLayer("ramp-color-layer","empty-layer-0"),this.map.getLayer("particle-layer")&&this.map.moveLayer("particle-layer","empty-layer-0"))):(this.map.getLayer("country-boundaries")&&this.map.setLayoutProperty("country-boundaries","visibility","none"),this.map.getLayer("water-outline2")&&this.map.setLayoutProperty("water-outline2","visibility","none"))}},immediate:!0}},methods:{}},vd={ref:"mapHomeGl4",class:"map-gl4-home"};function Ld(o,t,a,r,i,l){const s=e.resolveComponent("IdmOtherLayer"),n=e.resolveComponent("IdmWeatherLayer"),c=e.resolveComponent("IdmTropicals"),h=e.resolveComponent("IdmMeasure"),d=e.resolveComponent("IdmSpot"),g=e.resolveComponent("IdmBottomBar"),f=e.resolveComponent("IdmTimePlayer");return e.openBlock(),e.createElementBlock("div",vd,[e.createVNode(s,e.mergeProps({ref:"idmOtherLayers",simple:a.simple,token:a.token,"default-meteo-token":i.defaultMeteoToken,map:a.map,"before-layer":"empty-layer-1",gateway:i.gateway,"assist-gateway":i.assistGateway,"forecast-model":a.forecastModel,"map-feather":a.mapFeather},o.$attrs,{onOtherCheckList:t[0]||(t[0]=w=>{i.otherCheckList=w,i.layerVersion=i.layerVersion+1})}),null,16,["simple","token","default-meteo-token","map","gateway","assist-gateway","forecast-model","map-feather"]),e.createVNode(n,e.mergeProps({ref:"idmWeatherLayers",simple:a.simple,map:a.map,"before-layer":"empty-layer-2",token:a.token,"default-meteo-token":i.defaultMeteoToken,gateway:i.gateway,"assist-gateway":i.assistGateway,"forecast-model":a.forecastModel,"map-feather":a.mapFeather},o.$attrs,{onAutoActive:t[1]||(t[1]=w=>{i.autoActive=w,i.layerVersion=i.layerVersion+1}),onWeatherCheckList:t[2]||(t[2]=w=>{i.weatherCheckList=w,i.layerVersion=i.layerVersion+1})}),null,16,["simple","map","token","default-meteo-token","gateway","assist-gateway","forecast-model","map-feather"]),e.createVNode(c,e.mergeProps({simple:a.simple,map:a.map,token:a.token,"default-meteo-token":i.defaultMeteoToken,tropicals:i.tropicals,"before-layer":"empty-layer-4",gateway:i.gateway,"assist-gateway":i.assistGateway,"forecast-model":a.forecastModel,"map-feather":a.mapFeather},o.$attrs),null,16,["simple","map","token","default-meteo-token","tropicals","gateway","assist-gateway","forecast-model","map-feather"]),e.createVNode(h,e.mergeProps({simple:a.simple,map:a.map,"map-feather":a.mapFeather},o.$attrs),null,16,["simple","map","map-feather"]),e.createVNode(d,e.mergeProps({ref:"idmSpot",simple:a.simple,map:a.map,token:a.token,"default-meteo-token":i.defaultMeteoToken,gateway:i.gateway,"forecast-model":a.forecastModel,"map-feather":a.mapFeather},o.$attrs),null,16,["simple","map","token","default-meteo-token","gateway","forecast-model","map-feather"]),a.simple?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(g,e.mergeProps({key:0,ref:"idmBottomBar","forecast-model":a.forecastModel,"weather-check-list":i.weatherCheckList,"map-feather":a.mapFeather},o.$attrs),null,16,["forecast-model","weather-check-list","map-feather"])),a.simple?(e.openBlock(),e.createBlock(f,e.mergeProps({key:1,ref:"idmBottomBar","weather-check-list":i.weatherCheckList,"map-feather":a.mapFeather,playerBottom:30},o.$attrs),null,16,["weather-check-list","map-feather"])):e.createCommentVNode("",!0)],512)}const ko=j(zd,[["render",Ld]]),gh="";class zo{constructor(t="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNseTVudHJzYzAwNWUwbHBsZHkyaDRqczMiLCJyb2xlIjoxLCJuYW1lIjoiZmFrZUBvcm13eC5jb20iLCJwbGF0SWQiOiJnZDBtdDFkIiwiY29tcGFueSI6eyJpZCI6bnVsbCwiY2hpbGRyZW4iOltdfSwiaWF0IjoxNzIzMDI0MDI0LCJleHAiOjM5MzA1NDQwMjR9.RrKcdcMnq-FxBLJQ-i6lx2FscDE46y8EvHIemPW4HTg"){ie(this,"originStyle");ie(this,"mapboxStyle");ie(this,"i4");ie(this,"hi");ie(this,"td");ie(this,"windy");var a,r,i,l,s,n,c,h,d,g,f,w,z,x,p,S,L,_,b,u,k,y,C,E,B,A,O,G,W,F,$,ee,J,q,te,re,oe,ae,P,U,ce,he,fe,ye,pe,we,be,M,Y,Pe,ke,se,xe,I,ne,Z,X,ve,Se,Ne,N,me,ze,Le,Ce,D,Te,R,Ee,Me,Ve,ge,Oe,je,Fe,He,Ge,We,Ue,Ye,Ze,qe,Xe,Ke,Je,Qe,$e,et,tt,ot,at,it,rt,lt,st,nt,ct,mt,dt,ht,pt,gt,ut,ft,yt,bt,wt,xt,_t,kt,zt,vt,Lt,Ct,Pt,St,Nt,Tt,Dt,Et,Mt,Vt,Bt,It,Rt,At,Ot,jt,Ft,Ht,Gt,Wt,Ut,Yt,Zt,qt,Xt,Kt,Jt,Qt,eo,to,oo,ao,io,ro,lo,so,no,co,mo,ho,Lo,Co,Po,So,No,To,Do,Eo,Mo,Vo,Bo,Io,Ro,Ao,Oo,jo,Fo,Ho,Go,Wo,Uo,Yo,Zo,qo,Xo,Ko,Jo,Qo,$o,ea,ta,oa,aa,ia,ra,la,sa,na,ca,ma,da,ha,pa,ga,ua,fa,ya,ba,wa,xa,_a,ka,za,va,La,Ca,Pa,Sa,Na,Ta,Da,Ea,Ma,Va,Ba,Ia;this.i4={source:{type:"raster",tiles:["https://osshz.idmwx.com/nautical/{z}/{x}/{y}.png","https://osshz1.idmwx.com/nautical/{z}/{x}/{y}.png","https://osshz2.idmwx.com/nautical/{z}/{x}/{y}.png","https://osshz3.idmwx.com/nautical/{z}/{x}/{y}.png","https://osshz4.idmwx.com/nautical/{z}/{x}/{y}.png","https://osshz5.idmwx.com/nautical/{z}/{x}/{y}.png","https://osshz6.idmwx.com/nautical/{z}/{x}/{y}.png","https://osshz7.idmwx.com/nautical/{z}/{x}/{y}.png"],tileSize:256},layer:{id:"i4",type:"raster",source:"i4",minzoom:1,maxzoom:12,layout:{visibility:"visible"}}},this.hi={source:{type:"raster",tiles:[`https://assist4.idmwx.com/api/arc/hifleets/{z}/{y}/{x}/nauticalmap?tk=${t}`,`https://assist5.idmwx.com/api/arc/hifleets/{z}/{y}/{x}/nauticalmap?tk=${t}`,`https://assist6.idmwx.com/api/arc/hifleets/{z}/{y}/{x}/nauticalmap?tk=${t}`,`https://assist7.idmwx.com/api/arc/hifleets/{z}/{y}/{x}/nauticalmap?tk=${t}`],tileSize:256},layer:{id:"hi",type:"raster",source:"hi",minZoom:1,maxZoom:12,layout:{visibility:"visible"}}},this.originStyle={light:{version:8,name:"light",metadata:{"mapbox:print":{width:8.5,height:11,units:"in",format:"png",resolution:300},"mapbox:type":"default","mapbox:trackposition":!0,"mapbox:autocomposite":!0,"mapbox:sdk-support":{android:"11.0.0",ios:"11.0.0",js:"3.0.0"},"mapbox:origin":"outdoors-v12","mapbox:groups":{"Terrain, terrain-labels":{name:"Terrain, terrain-labels",collapsed:!0},"Administrative boundaries, admin":{name:"Administrative boundaries, admin",collapsed:!0},"Land & water, built":{name:"Land & water, built",collapsed:!0},"Terrain, surface":{name:"Terrain, surface",collapsed:!0},"Land & water, land":{name:"Land & water, land",collapsed:!1},"Natural features, natural-labels":{name:"Natural features, natural-labels",collapsed:!0},e9bb8e77353431519f7918998e9079d9:{name:"Group",collapsed:!1},"Walking, cycling, etc., barriers-bridges":{name:"Walking, cycling, etc., barriers-bridges",collapsed:!0},"Place labels, place-labels":{name:"Place labels, place-labels",collapsed:!1},"Transit, ferries":{name:"Transit, ferries",collapsed:!0},"Transit, elevated":{name:"Transit, elevated",collapsed:!0},"Walking, cycling, etc., tunnels":{name:"Walking, cycling, etc., tunnels",collapsed:!0},"Terrain, land":{name:"Terrain, land",collapsed:!0},"Road network, tunnels-case":{name:"Road network, tunnels-case",collapsed:!0},"Walking, cycling, etc., walking-cycling-labels":{name:"Walking, cycling, etc., walking-cycling-labels",collapsed:!0},"Walking, cycling, etc., surface":{name:"Walking, cycling, etc., surface",collapsed:!0},"Road network, surface-icons":{name:"Road network, surface-icons",collapsed:!0},"Land & water, water":{name:"Land & water, water",collapsed:!1}}},center:[104.01743114258029,17.078999978347557],zoom:1.9133216316430233,bearing:0,pitch:0,lights:[],fog:{range:[.5,10]},sources:{composite:{url:"mapbox://mapbox.mapbox-streets-v8,mapbox.mapbox-terrain-v2,mapbox.mapbox-bathymetry-v2,mapbox.country-boundaries-v1,neatchenheng.d44z21eg,neatchenheng.82kqbc1q,neatchenheng.a4ifbysm,neatchenheng.27issko0,neatchenheng.9uwc9x7l,neatchenheng.7y3kpvvv,neatchenheng.dlkkohie",type:"vector"},i4:this.i4.source},sprite:"mapbox://sprites/neatchenheng/cmd894dwn036m01rf7anc0k0d/bph0p8ithotzwly53az7lwdmv",glyphs:"mapbox://fonts/mapbox/{fontstack}/{range}.pbf",projection:{name:"equirectangular"},layers:[{id:"land",type:"background",layout:{},paint:{"background-color":"#e9ebed"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"}},{layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"},maxzoom:12,type:"fill",source:"composite",id:"landcover",paint:{"fill-color":["match",["get","class"],"wood","hsla(103, 50%, 60%, 0.8)","scrub","hsla(98, 47%, 68%, 0.6)","crop","hsla(68, 55%, 70%, 0.6)","grass","hsla(98, 50%, 74%, 0.6)","snow","hsl(205, 45%, 95%)","hsl(98, 48%, 67%)"],"fill-opacity":["interpolate",["exponential",1.5],["zoom"],8,.8,12,0],"fill-antialias":!1},"source-layer":"landcover"},{minzoom:5,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"},filter:["==",["get","class"],"national_park"],type:"fill",source:"composite",id:"national-park",paint:{"fill-color":"hsl(98, 38%, 68%)","fill-opacity":["interpolate",["linear"],["zoom"],5,0,6,.6,12,.2]},"source-layer":"landuse_overlay"},{minzoom:9,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"},filter:["==",["get","class"],"national_park"],type:"line",source:"composite",id:"national-park_tint-band",paint:{"line-color":"hsl(98, 38%, 68%)","line-width":["interpolate",["exponential",1.5],["zoom"],9,1,14,8],"line-blur":["interpolate",["exponential",1.5],["zoom"],9,1,14,8]},"source-layer":"landuse_overlay"},{minzoom:5,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"},filter:["all",[">=",["to-number",["get","sizerank"]],0],["match",["get","class"],["agriculture","wood","grass","scrub","glacier","pitch","sand"],["step",["zoom"],!1,11,!0],"residential",["step",["zoom"],!0,10,!1],["park","airport"],["step",["zoom"],!1,8,["case",["==",["get","sizerank"],1],!0,!1],10,!0],["facility","industrial"],["step",["zoom"],!1,12,!0],"rock",["step",["zoom"],!1,11,!0],"cemetery",["step",["zoom"],!1,11,!0],"school",["step",["zoom"],!1,11,!0],"hospital",["step",["zoom"],!1,11,!0],"commercial_area",["step",["zoom"],!1,11,!0],!1],["<=",["-",["to-number",["get","sizerank"]],["interpolate",["exponential",1.5],["zoom"],12,0,18,14]],14]],type:"fill",source:"composite",id:"landuse",paint:{"fill-color":["interpolate",["linear"],["zoom"],15,["match",["get","class"],"wood","hsla(103, 50%, 60%, 0.8)","scrub","hsla(98, 47%, 68%, 0.6)","agriculture","hsla(98, 50%, 74%, 0.6)","park",["match",["get","type"],["garden","playground","zoo"],"hsl(98, 38%, 68%)","hsl(98, 55%, 70%)"],"grass","hsla(98, 50%, 74%, 0.6)","airport","hsl(230, 40%, 82%)","cemetery","hsl(98, 45%, 75%)","glacier","hsl(205, 45%, 95%)","hospital","hsl(20, 45%, 82%)","pitch","hsl(88, 65%, 75%)","sand","hsl(69, 60%, 72%)","rock","hsl(60, 0%, 85%)","school","hsl(40, 45%, 78%)","commercial_area","hsl(55, 45%, 85%)","residential","hsl(60, 7%, 87%)",["facility","industrial"],"hsl(230, 20%, 85%)","hsl(60, 12%, 72%)"],16,["match",["get","class"],"wood","hsla(103, 50%, 60%, 0.8)","scrub","hsla(98, 47%, 68%, 0.6)","agriculture","hsla(98, 50%, 74%, 0.6)","park",["match",["get","type"],["garden","playground","zoo"],"hsl(98, 38%, 68%)","hsl(98, 55%, 70%)"],"grass","hsla(98, 50%, 74%, 0.6)","airport","hsl(230, 40%, 82%)","cemetery","hsl(98, 45%, 75%)","glacier","hsl(205, 45%, 95%)","hospital","hsl(20, 45%, 82%)","pitch","hsl(88, 65%, 75%)","sand","hsl(69, 60%, 72%)","rock","hsla(60, 0%, 85%, 0.5)","school","hsl(40, 45%, 78%)","commercial_area","hsla(55, 45%, 85%, 0.5)",["facility","industrial"],"hsl(230, 20%, 85%)","hsl(60, 12%, 72%)"]],"fill-opacity":["interpolate",["linear"],["zoom"],8,["match",["get","class"],"residential",.8,.2],10,["match",["get","class"],"residential",0,1]],"fill-antialias":!1},"source-layer":"landuse"},{minzoom:15,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"},filter:["==",["get","class"],"pitch"],type:"line",source:"composite",id:"pitch-outline",paint:{"line-color":"hsl(0, 0%, 69%)"},"source-layer":"landuse"},{id:"waterway-shadow",type:"line",source:"composite","source-layer":"waterway",minzoom:10,layout:{"line-cap":["step",["zoom"],"butt",11,"round"],"line-join":["step",["zoom"],"miter",11,"round"],visibility:"none"},paint:{"line-color":"hsl(224, 79%, 69%)","line-width":["interpolate",["exponential",1.3],["zoom"],9,["match",["get","class"],["canal","river"],.1,0],20,["match",["get","class"],["canal","river"],8,3]],"line-translate":["interpolate",["exponential",1.2],["zoom"],7,["literal",[0,0]],16,["literal",[-1,-1]]],"line-translate-anchor":"viewport","line-opacity":["interpolate",["linear"],["zoom"],8,0,8.5,1]},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"}},{id:"water-shadow",type:"fill",source:"composite","source-layer":"water",minzoom:10,layout:{visibility:"none"},paint:{"fill-color":"hsl(224, 79%, 69%)","fill-translate":["interpolate",["exponential",1.2],["zoom"],7,["literal",[0,0]],16,["literal",[-1,-1]]],"fill-translate-anchor":"viewport"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"}},{id:"waterway",type:"line",source:"composite","source-layer":"waterway",minzoom:8,layout:{"line-cap":["step",["zoom"],"butt",11,"round"],"line-join":["step",["zoom"],"miter",11,"round"]},paint:{"line-color":"hsl(198, 100%, 37%)","line-width":["interpolate",["exponential",1.3],["zoom"],9,["match",["get","class"],["canal","river"],.1,0],20,["match",["get","class"],["canal","river"],8,3]],"line-opacity":["interpolate",["linear"],["zoom"],8,0,8.5,1]},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"}},{id:"water",type:"fill",source:"composite","source-layer":"water",layout:{},paint:{"fill-color":"hsl(215, 92%, 81%)"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"}},{layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"},maxzoom:8,type:"fill",source:"composite",id:"water-depth",paint:{"fill-antialias":!1,"fill-color":["interpolate",["linear"],["zoom"],6,["interpolate",["linear"],["get","min_depth"],0,"hsla(205, 75%, 70%, 0.35)",200,"hsla(205, 75%, 63%, 0.35)",7e3,"hsla(205, 75%, 56%, 0.35)"],8,["interpolate",["linear"],["get","min_depth"],0,"hsla(205, 75%, 70%, 0)",200,"hsla(205, 75%, 63%, 0)",7e3,"hsla(205, 75%, 53%, 0)"]]},"source-layer":"depth"},{minzoom:5,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"},filter:["match",["get","class"],["wetland","wetland_noveg"],!0,!1],type:"fill",source:"composite",id:"wetland",paint:{"fill-color":"hsl(194, 38%, 74%)","fill-opacity":["interpolate",["linear"],["zoom"],10,.25,10.5,.15]},"source-layer":"landuse_overlay"},{minzoom:5,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"},filter:["match",["get","class"],["wetland","wetland_noveg"],!0,!1],type:"fill",source:"composite",id:"wetland-pattern",paint:{"fill-color":"hsl(194, 38%, 74%)","fill-opacity":["interpolate",["linear"],["zoom"],10,0,10.5,1],"fill-pattern":"wetland","fill-translate-anchor":"viewport"},"source-layer":"landuse_overlay"},{minzoom:13,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, built"},filter:["all",["==",["get","class"],"land"],["==",["geometry-type"],"Polygon"]],type:"fill",source:"composite",id:"land-structure-polygon",paint:{"fill-color":"hsl(0, 0%, 69%)"},"source-layer":"structure"},{minzoom:13,layout:{"line-cap":"square",visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, built"},filter:["all",["==",["get","class"],"land"],["==",["geometry-type"],"LineString"]],type:"line",source:"composite",id:"land-structure-line",paint:{"line-width":["interpolate",["exponential",1.99],["zoom"],14,.75,20,40],"line-color":"hsl(60, 20%, 85%)"},"source-layer":"structure"},{id:"empty-layer-0",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-1",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"country-boundaries",type:"fill",source:"composite","source-layer":"country_boundaries",paint:{"fill-color":"rgb(200, 200, 200)"},layout:{visibility:"none"}},{id:"empty-layer-2",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-3",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-4",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"water-outline2",minzoom:0,maxzoom:22,type:"line",paint:{"line-color":"rgb(150, 150, 150)"},layout:{visibility:"none"},source:"composite","source-layer":"water"},{id:"water-outline",type:"line",paint:{"line-color":"hsl(0, 0%, 70%)","line-width":["interpolate",["linear"],["zoom"],0,1.5,4,1]},source:"composite","source-layer":"water"},{minzoom:1,layout:{},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","admin_level"],0],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-0-boundary-bg",paint:{"line-width":["interpolate",["linear"],["zoom"],3,4,12,8],"line-color":"rgb(173, 169, 170)","line-opacity":["interpolate",["linear"],["zoom"],3,0,4,.5],"line-blur":["interpolate",["linear"],["zoom"],3,0,12,2]},"source-layer":"admin"},{minzoom:1,layout:{},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","admin_level"],0],["==",["get","disputed"],"false"],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-0-boundary",paint:{"line-color":"rgb(143, 143, 143)","line-width":["interpolate",["linear"],["zoom"],3,.5,12,2],"line-dasharray":["step",["zoom"],["literal",[2,0]],7,["literal",[2,2,6,2]]]},"source-layer":"admin"},{minzoom:1,layout:{},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","disputed"],"true"],["==",["get","admin_level"],0],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-0-boundary-disputed",paint:{"line-color":"rgb(95, 93, 94)","line-width":["interpolate",["linear"],["zoom"],3,.5,12,2],"line-dasharray":["step",["zoom"],["literal",[3,2,5]],7,["literal",[2,1.5]]]},"source-layer":"admin"},{minzoom:13,layout:{"text-font":["DIN Pro Italic","Arial Unicode MS Regular"],"text-max-angle":30,"symbol-spacing":["interpolate",["linear",1],["zoom"],15,250,17,400],"text-size":["interpolate",["linear"],["zoom"],13,12,18,18],"symbol-placement":"line","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]]},metadata:{"mapbox:featureComponent":"natural-features","mapbox:group":"Natural features, natural-labels"},filter:["all",["match",["get","class"],["canal","river","stream","disputed_canal","disputed_river","disputed_stream"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],1],60,["<",["distance-from-center"],1.5],70,["<",["distance-from-center"],2]],["==",["geometry-type"],"LineString"]],type:"symbol",source:"composite",id:"waterway-label",paint:{"text-color":"hsl(205, 43%, 90%)","text-halo-color":"hsla(60, 17%, 84%, 0.5)"},"source-layer":"natural_label"},{minzoom:4,layout:{"text-size":["step",["zoom"],["step",["get","sizerank"],18,5,12],17,["step",["get","sizerank"],18,13,12]],"text-max-angle":30,"text-field":["coalesce",["get","name_en"],["get","name"]],"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"symbol-placement":"line-center","text-pitch-alignment":"viewport"},metadata:{"mapbox:featureComponent":"natural-features","mapbox:group":"Natural features, natural-labels"},filter:["all",["match",["get","class"],["glacier","landform","disputed_glacier","disputed_landform"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["<=",["get","filterrank"],4],["step",["pitch"],!0,50,["<",["distance-from-center"],1],60,["<",["distance-from-center"],1.5],70,["<",["distance-from-center"],2]],["==",["geometry-type"],"LineString"]],type:"symbol",source:"composite",id:"natural-line-label",paint:{"text-halo-width":.5,"text-halo-color":"hsl(60, 17%, 84%)","text-halo-blur":.5,"text-color":"hsl(340, 10%, 38%)"},"source-layer":"natural_label"},{minzoom:4,layout:{"text-size":["step",["zoom"],["step",["get","sizerank"],18,5,12],17,["step",["get","sizerank"],18,13,12]],"icon-image":["case",["has","maki_beta"],["coalesce",["image",["get","maki_beta"]],["image",["get","maki"]]],["image",["get","maki"]]],"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-offset":["step",["zoom"],["step",["get","sizerank"],["literal",[0,0]],5,["literal",[0,.8]]],17,["step",["get","sizerank"],["literal",[0,0]],13,["literal",[0,.8]]]],"text-anchor":["step",["zoom"],["step",["get","sizerank"],"center",5,"top"],17,["step",["get","sizerank"],"center",13,"top"]],"text-field":["coalesce",["get","name_en"],["get","name"]]},metadata:{"mapbox:featureComponent":"natural-features","mapbox:group":"Natural features, natural-labels"},filter:["all",["match",["get","class"],["dock","glacier","landform","water_feature","wetland","disputed_dock","disputed_glacier","disputed_landform","disputed_water_feature","disputed_wetland"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["<=",["get","filterrank"],4],["step",["pitch"],!0,50,["<",["distance-from-center"],1],60,["<",["distance-from-center"],1.5],70,["<",["distance-from-center"],2]],["==",["geometry-type"],"Point"]],type:"symbol",source:"composite",id:"natural-point-label",paint:{"icon-opacity":["step",["zoom"],["step",["get","sizerank"],0,5,1],17,["step",["get","sizerank"],0,13,1]],"text-halo-color":"hsl(60, 20%, 98%)","text-halo-width":.5,"text-halo-blur":.5,"text-color":"hsl(340, 10%, 38%)"},"source-layer":"natural_label"},{minzoom:1,layout:{"text-size":["interpolate",["linear"],["zoom"],0,["*",["-",16,["sqrt",["get","sizerank"]]],1],22,["*",["-",22,["sqrt",["get","sizerank"]]],1]],"text-max-angle":30,"text-letter-spacing":["match",["get","class"],"ocean",.25,["sea","bay"],.15,0],"text-font":["DIN Pro Italic","Arial Unicode MS Regular"],"symbol-placement":"line-center","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]]},metadata:{"mapbox:featureComponent":"natural-features","mapbox:group":"Natural features, natural-labels"},filter:["all",["match",["get","class"],["bay","ocean","reservoir","sea","water","disputed_bay","disputed_ocean","disputed_reservoir","disputed_sea","disputed_water"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],1],60,["<",["distance-from-center"],1.5],70,["<",["distance-from-center"],2]],["==",["geometry-type"],"LineString"]],type:"symbol",source:"composite",id:"water-line-label",paint:{"text-color":["match",["get","class"],["bay","ocean","sea"],"hsl(205, 71%, 90%)","hsl(205, 43%, 90%)"],"text-halo-color":"hsla(60, 17%, 84%, 0.5)"},"source-layer":"natural_label"},{minzoom:1,layout:{"text-line-height":1.3,"text-size":["interpolate",["linear"],["zoom"],0,["*",["-",16,["sqrt",["get","sizerank"]]],1],22,["*",["-",22,["sqrt",["get","sizerank"]]],1]],"text-font":["DIN Pro Italic","Arial Unicode MS Regular"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":["match",["get","class"],"ocean",.25,["bay","sea"],.15,.01],"text-max-width":["match",["get","class"],"ocean",4,"sea",5,["bay","water"],7,10]},metadata:{"mapbox:featureComponent":"natural-features","mapbox:group":"Natural features, natural-labels"},filter:["all",["match",["get","class"],["bay","ocean","reservoir","sea","water","disputed_bay","disputed_ocean","disputed_reservoir","disputed_sea","disputed_water"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],1],60,["<",["distance-from-center"],1.5],70,["<",["distance-from-center"],2]],["==",["geometry-type"],"Point"]],type:"symbol",source:"composite",id:"water-point-label",paint:{"text-color":["match",["get","class"],["bay","ocean","sea"],"hsl(205, 71%, 90%)","hsl(205, 43%, 90%)"],"text-halo-color":"hsla(60, 17%, 84%, 0.5)"},"source-layer":"natural_label"},{minzoom:10,layout:{"text-field":["coalesce",["get","name_en"],["get","name"]],"text-transform":"uppercase","text-font":["DIN Pro Regular","Arial Unicode MS Regular"],"text-letter-spacing":["match",["get","type"],"suburb",.15,.05],"text-max-width":7,"text-padding":3,"text-size":["interpolate",["cubic-bezier",.5,0,1,1],["zoom"],11,["match",["get","type"],"suburb",11,10.5],15,["match",["get","type"],"suburb",15,14]],visibility:"none"},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:15,filter:["all",["match",["get","class"],["settlement_subdivision","disputed_settlement_subdivision"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["<=",["get","filterrank"],3],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"settlement-subdivision-label",paint:{"text-halo-color":"hsla(60, 25%, 100%, 0.75)","text-halo-width":1,"text-color":"hsl(230, 29%, 36%)","text-halo-blur":.5},"source-layer":"place_label"},{minzoom:2,layout:{"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],11,9,10],6,["step",["get","symbolrank"],14,9,12,12,10],8,["step",["get","symbolrank"],16,9,14,12,12,15,10],13,["step",["get","symbolrank"],22,9,20,12,16,15,14]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],"border-dot-13",["step",["get","symbolrank"],"dot-11",9,"dot-10",11,"dot-9"]],8,""],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"],"text-justify":"auto",visibility:"none","text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":7},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:13,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["zoom"],[">",["get","symbolrank"],6],4,[">=",["get","symbolrank"],7],6,[">=",["get","symbolrank"],8],7,[">=",["get","symbolrank"],10],10,[">=",["get","symbolrank"],11],11,[">=",["get","symbolrank"],13],12,[">=",["get","symbolrank"],15]],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"settlement-minor-label",paint:{"text-color":"hsl(230, 29%, 0%)","text-halo-color":"hsl(60, 25%, 100%)","text-halo-width":1,"text-halo-blur":1},"source-layer":"place_label"},{minzoom:2,layout:{"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],13,6,11],6,["step",["get","symbolrank"],18,6,16,7,14],8,["step",["get","symbolrank"],20,9,16,10,14],15,["step",["get","symbolrank"],24,9,20,12,16,15,14]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],"border-dot-13",["step",["get","symbolrank"],"dot-11",9,"dot-10",11,"dot-9"]],8,""],"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],8,"center"],visibility:"none","text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":7},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:15,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["zoom"],!1,2,["<=",["get","symbolrank"],6],4,["<",["get","symbolrank"],7],6,["<",["get","symbolrank"],8],7,["<",["get","symbolrank"],10],10,["<",["get","symbolrank"],11],11,["<",["get","symbolrank"],13],12,["<",["get","symbolrank"],15],13,[">=",["get","symbolrank"],11],14,[">=",["get","symbolrank"],15]],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"settlement-major-label",paint:{"text-color":"hsl(230, 29%, 0%)","text-halo-color":"hsl(60, 25%, 100%)","text-halo-width":1,"text-halo-blur":1},"source-layer":"place_label"},{minzoom:3,layout:{"text-size":["interpolate",["cubic-bezier",.85,.7,.65,1],["zoom"],4,["step",["get","symbolrank"],9,6,8,7,7],9,["step",["get","symbolrank"],21,6,16,7,14]],"text-transform":"uppercase","text-font":["DIN Pro Bold","Arial Unicode MS Bold"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.15,"text-max-width":6},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:9,filter:["all",["match",["get","class"],["state","disputed_state"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"state-label",paint:{"text-color":"hsl(230, 29%, 0%)","text-halo-color":"hsl(60, 25%, 100%)","text-halo-width":1,"text-opacity":.5},"source-layer":"place_label"},{minzoom:1,layout:{"text-field":["coalesce",["get","name_en"],["get","name"]],"text-line-height":1.1,"text-max-width":6,"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-radial-offset":["step",["zoom"],.6,8,0],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],7,"auto"],"text-size":["interpolate",["cubic-bezier",.2,0,.7,1],["zoom"],1,["step",["get","symbolrank"],12.100000000000001,4,9.9,5,8.8],9,["step",["get","symbolrank"],24.200000000000003,4,20.900000000000002,5,18.700000000000003]]},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:10,filter:["all",["match",["get","class"],["country","disputed_country"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"country-label",paint:{"icon-opacity":["step",["zoom"],["case",["has","text_anchor"],1,0],7,0],"text-color":"hsl(0, 0.00%, 13.70%)","text-halo-color":["interpolate",["linear"],["zoom"],2,"hsla(60, 25%, 100%, 0.75)",3,"hsl(60, 25%, 100%)"],"text-halo-width":1.25},"source-layer":"place_label"},{minzoom:.75,layout:{"text-field":["coalesce",["get","name_en"],["get","name"]],"text-line-height":1.1,"text-max-width":6,"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-size":["interpolate",["exponential",.5],["zoom"],0,10,2.5,15],"text-transform":"uppercase","text-letter-spacing":.05},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:3,filter:["==",["get","class"],"continent"],type:"symbol",source:"composite",id:"continent-label",paint:{"text-color":"hsl(230, 29%, 0%)","text-halo-color":["interpolate",["linear"],["zoom"],0,"hsla(60, 25%, 100%, 0.75)",3,"hsl(60, 25%, 100%)"],"text-halo-width":1.5,"text-opacity":["interpolate",["linear"],["zoom"],0,.8,1.5,.5,2.5,0]},"source-layer":"natural_label"},{id:"world-12nm-v4-20231025",minzoom:3,type:"line",paint:{"line-color":"hsl(2, 88%, 55%)","line-opacity":.62,"line-width":["interpolate",["linear"],["zoom"],0,2,22,2],"line-translate":[0,0]},source:"composite","source-layer":"eez_12nm_new1-6jzkww",layout:{"line-join":"round",visibility:"none"}},{id:"china-taiwan",type:"line",paint:{"line-color":"hsl(2, 88%, 55%)","line-opacity":.62,"line-width":["interpolate",["linear"],["zoom"],0,2,22,2]},layout:{"line-join":"round",visibility:"none"},source:"composite","source-layer":"eez-d4udtm"},{id:"ne-10m-outline",type:"line",paint:{"line-color":"hsl(172, 0%, 33%)"},source:"composite","source-layer":"ne_10m_geography_marine_polys-3968bv",layout:{visibility:"none"}},{id:"ne-10m-label",type:"symbol",paint:{"text-halo-color":"hsl(0, 0%, 100%)","text-halo-width":1,"text-halo-blur":1},layout:{"text-field":["to-string",["get","name"]],"text-size":12,visibility:"none"},source:"composite","source-layer":"ne_10m_geography_marine_polys-3968bv"},{id:"china-route-line",type:"line",paint:{"line-color":"rgba(119, 239, 157, 1)","line-width":2},source:"composite","source-layer":"china_route-bdtx5d",layout:{visibility:"none"}},{id:"china-route-fill",type:"fill",paint:{"fill-color":"rgba(119, 239, 157, 1)","fill-opacity":.2},source:"composite","source-layer":"china_route-bdtx5d",filter:["match",["get","featureType"],["route"],!0,!1],layout:{visibility:"none"}},{id:"china-route-label",type:"symbol",paint:{"text-color":"rgba(0, 0, 0, 1)"},source:"composite","source-layer":"china_route-bdtx5d",layout:{"text-field":["to-string",["get","RouteName"]],"text-size":10,"text-offset":[0,1.6],visibility:"none"}},{id:"ice-area-fill",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(199, 239, 236, 0.7)"},source:"composite","source-layer":"ICE_AREA-6oqazd",layout:{visibility:"none"}},{id:"ice-area-line",minzoom:0,maxzoom:22,type:"line",paint:{"line-color":"rgba(199, 239, 236, 1)"},layout:{visibility:"none"},source:"composite","source-layer":"ICE_AREA-6oqazd"},{id:"tide-stations",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-color":"rgb(0, 0, 0)","text-opacity":["step",["zoom"],0,4,1]},layout:{visibility:"none","text-field":["to-string",["get","Location_EN"]],"text-size":10,"icon-image":"tide","icon-size":1,"icon-offset":[0,-13],"text-offset":[0,1.6],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},source:"composite","source-layer":"tide_station_cn-8xvt91"},{id:"loadlines-label",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-color":"rgb(0, 0, 0)"},layout:{"text-field":["to-string",["get","name"]],"text-size":10,"text-font":["DIN Pro Regular","Arial Unicode MS Regular"],visibility:"none","text-offset":[0,1]},source:"composite","source-layer":"loadlines-b6mgr8"},{id:"loadlines-fill",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":["match",["get","val"],["LLGreen"],"rgba(164, 214, 217, 0.6)",["LLBlue"],"rgba(53, 121, 194, 0.6)",["LLRed"],"rgba(217, 150, 151, 0.6)",["LLSUMMER"],"rgba(111, 110, 212, 0.6)","rgba(255, 255, 255, 0.6)"],"fill-outline-color":"rgba(255, 255, 255, 0.3)"},layout:{visibility:"none"},source:"composite","source-layer":"loadlines-b6mgr8"}],created:"2025-07-18T03:20:31.079Z",modified:"2025-07-31T03:57:21.238Z",id:"cmd894dwn036m01rf7anc0k0d",owner:"neatchenheng",visibility:"private",protected:!1,draft:!1},dark:{version:8,name:"dark",metadata:{"mapbox:print":{width:8.5,height:11,units:"in",format:"png",resolution:300},"mapbox:type":"default","mapbox:trackposition":!0,"mapbox:autocomposite":!0,"mapbox:sdk-support":{android:"11.0.0",ios:"11.0.0",js:"3.0.0"},"mapbox:origin":"outdoors-v12","mapbox:groups":{"Terrain, terrain-labels":{name:"Terrain, terrain-labels",collapsed:!0},"Administrative boundaries, admin":{name:"Administrative boundaries, admin",collapsed:!1},"Land & water, built":{name:"Land & water, built",collapsed:!0},"Terrain, surface":{name:"Terrain, surface",collapsed:!0},"Land & water, land":{name:"Land & water, land",collapsed:!1},"Natural features, natural-labels":{name:"Natural features, natural-labels",collapsed:!0},e9bb8e77353431519f7918998e9079d9:{name:"Group",collapsed:!1},"Walking, cycling, etc., barriers-bridges":{name:"Walking, cycling, etc., barriers-bridges",collapsed:!0},"Place labels, place-labels":{name:"Place labels, place-labels",collapsed:!1},"Transit, ferries":{name:"Transit, ferries",collapsed:!0},"Transit, elevated":{name:"Transit, elevated",collapsed:!0},"Walking, cycling, etc., tunnels":{name:"Walking, cycling, etc., tunnels",collapsed:!0},"Terrain, land":{name:"Terrain, land",collapsed:!0},"Road network, tunnels-case":{name:"Road network, tunnels-case",collapsed:!0},"Walking, cycling, etc., walking-cycling-labels":{name:"Walking, cycling, etc., walking-cycling-labels",collapsed:!0},"Walking, cycling, etc., surface":{name:"Walking, cycling, etc., surface",collapsed:!0},"Road network, surface-icons":{name:"Road network, surface-icons",collapsed:!0},"Land & water, water":{name:"Land & water, water",collapsed:!1}}},center:[90.22129259388525,-3.2084663486364606],zoom:1.2556266457717493,bearing:0,pitch:0,lights:[],fog:{range:[.5,10]},sources:{composite:{url:"mapbox://mapbox.mapbox-streets-v8,mapbox.mapbox-terrain-v2,mapbox.mapbox-bathymetry-v2,mapbox.country-boundaries-v1,neatchenheng.d44z21eg,neatchenheng.82kqbc1q,neatchenheng.a4ifbysm,neatchenheng.27issko0,neatchenheng.9uwc9x7l,neatchenheng.7y3kpvvv,neatchenheng.dlkkohie",type:"vector"}},sprite:"mapbox://sprites/neatchenheng/cmdqwez32005b01re2w0k3zk4/3w0qcixxrxxonxutm2qkollqi",glyphs:"mapbox://fonts/mapbox/{fontstack}/{range}.pbf",projection:{name:"equirectangular"},layers:[{id:"land",type:"background",layout:{},paint:{"background-color":["interpolate",["linear"],["zoom"],9,"rgb(2, 43, 59)",11,"rgb(36, 36, 36)"]},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"}},{layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"},maxzoom:12,type:"fill",source:"composite",id:"landcover",paint:{"fill-color":["match",["get","class"],"wood","hsla(103, 50%, 60%, 0.8)","scrub","hsla(98, 47%, 68%, 0.6)","crop","hsla(68, 55%, 70%, 0.6)","grass","hsla(98, 50%, 74%, 0.6)","snow","hsl(205, 45%, 95%)","hsl(98, 48%, 67%)"],"fill-opacity":["interpolate",["exponential",1.5],["zoom"],8,.8,12,0],"fill-antialias":!1},"source-layer":"landcover"},{minzoom:5,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"},filter:["==",["get","class"],"national_park"],type:"fill",source:"composite",id:"national-park",paint:{"fill-color":"hsl(98, 38%, 68%)","fill-opacity":["interpolate",["linear"],["zoom"],5,0,6,.6,12,.2]},"source-layer":"landuse_overlay"},{minzoom:9,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"},filter:["==",["get","class"],"national_park"],type:"line",source:"composite",id:"national-park_tint-band",paint:{"line-color":"hsl(98, 38%, 68%)","line-width":["interpolate",["exponential",1.5],["zoom"],9,1,14,8],"line-blur":["interpolate",["exponential",1.5],["zoom"],9,1,14,8]},"source-layer":"landuse_overlay"},{minzoom:5,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"},filter:["all",[">=",["to-number",["get","sizerank"]],0],["match",["get","class"],["agriculture","wood","grass","scrub","glacier","pitch","sand"],["step",["zoom"],!1,11,!0],"residential",["step",["zoom"],!0,10,!1],["park","airport"],["step",["zoom"],!1,8,["case",["==",["get","sizerank"],1],!0,!1],10,!0],["facility","industrial"],["step",["zoom"],!1,12,!0],"rock",["step",["zoom"],!1,11,!0],"cemetery",["step",["zoom"],!1,11,!0],"school",["step",["zoom"],!1,11,!0],"hospital",["step",["zoom"],!1,11,!0],"commercial_area",["step",["zoom"],!1,11,!0],!1],["<=",["-",["to-number",["get","sizerank"]],["interpolate",["exponential",1.5],["zoom"],12,0,18,14]],14]],type:"fill",source:"composite",id:"landuse",paint:{"fill-color":["interpolate",["linear"],["zoom"],15,["match",["get","class"],"wood","hsla(103, 50%, 60%, 0.8)","scrub","hsla(98, 47%, 68%, 0.6)","agriculture","hsla(98, 50%, 74%, 0.6)","park",["match",["get","type"],["garden","playground","zoo"],"hsl(98, 38%, 68%)","hsl(98, 55%, 70%)"],"grass","hsla(98, 50%, 74%, 0.6)","airport","hsl(230, 40%, 82%)","cemetery","hsl(98, 45%, 75%)","glacier","hsl(205, 45%, 95%)","hospital","hsl(20, 45%, 82%)","pitch","hsl(88, 65%, 75%)","sand","hsl(69, 60%, 72%)","rock","hsl(60, 0%, 85%)","school","hsl(40, 45%, 78%)","commercial_area","hsl(55, 45%, 85%)","residential","hsl(60, 7%, 87%)",["facility","industrial"],"hsl(230, 20%, 85%)","hsl(60, 12%, 72%)"],16,["match",["get","class"],"wood","hsla(103, 50%, 60%, 0.8)","scrub","hsla(98, 47%, 68%, 0.6)","agriculture","hsla(98, 50%, 74%, 0.6)","park",["match",["get","type"],["garden","playground","zoo"],"hsl(98, 38%, 68%)","hsl(98, 55%, 70%)"],"grass","hsla(98, 50%, 74%, 0.6)","airport","hsl(230, 40%, 82%)","cemetery","hsl(98, 45%, 75%)","glacier","hsl(205, 45%, 95%)","hospital","hsl(20, 45%, 82%)","pitch","hsl(88, 65%, 75%)","sand","hsl(69, 60%, 72%)","rock","hsla(60, 0%, 85%, 0.5)","school","hsl(40, 45%, 78%)","commercial_area","hsla(55, 45%, 85%, 0.5)",["facility","industrial"],"hsl(230, 20%, 85%)","hsl(60, 12%, 72%)"]],"fill-opacity":["interpolate",["linear"],["zoom"],8,["match",["get","class"],"residential",.8,.2],10,["match",["get","class"],"residential",0,1]],"fill-antialias":!1},"source-layer":"landuse"},{minzoom:15,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"},filter:["==",["get","class"],"pitch"],type:"line",source:"composite",id:"pitch-outline",paint:{"line-color":"hsl(0, 0%, 69%)"},"source-layer":"landuse"},{id:"waterway-shadow",type:"line",source:"composite","source-layer":"waterway",minzoom:10,layout:{"line-cap":["step",["zoom"],"butt",11,"round"],"line-join":["step",["zoom"],"miter",11,"round"],visibility:"none"},paint:{"line-color":"hsl(224, 79%, 69%)","line-width":["interpolate",["exponential",1.3],["zoom"],9,["match",["get","class"],["canal","river"],.1,0],20,["match",["get","class"],["canal","river"],8,3]],"line-translate":["interpolate",["exponential",1.2],["zoom"],7,["literal",[0,0]],16,["literal",[-1,-1]]],"line-translate-anchor":"viewport","line-opacity":["interpolate",["linear"],["zoom"],8,0,8.5,1]},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"}},{id:"water-shadow",type:"fill",source:"composite","source-layer":"water",minzoom:10,layout:{visibility:"none"},paint:{"fill-color":"hsl(224, 79%, 69%)","fill-translate":["interpolate",["exponential",1.2],["zoom"],7,["literal",[0,0]],16,["literal",[-1,-1]]],"fill-translate-anchor":"viewport"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"}},{id:"waterway",type:"line",source:"composite","source-layer":"waterway",minzoom:8,layout:{"line-cap":["step",["zoom"],"butt",11,"round"],"line-join":["step",["zoom"],"miter",11,"round"],visibility:"none"},paint:{"line-color":"rgb(20, 66, 92)","line-width":["interpolate",["exponential",1.3],["zoom"],9,["match",["get","class"],["canal","river"],.1,0],20,["match",["get","class"],["canal","river"],8,3]],"line-opacity":["interpolate",["linear"],["zoom"],8,0,8.5,1]},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"}},{id:"water",type:"fill",source:"composite","source-layer":"water",layout:{},paint:{"fill-color":"rgb(20, 66, 92)"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"}},{layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"},maxzoom:8,type:"fill",source:"composite",id:"water-depth",paint:{"fill-antialias":!1,"fill-color":["interpolate",["linear"],["zoom"],6,["interpolate",["linear"],["get","min_depth"],0,"hsla(205, 75%, 70%, 0.35)",200,"hsla(205, 75%, 63%, 0.35)",7e3,"hsla(205, 75%, 56%, 0.35)"],8,["interpolate",["linear"],["get","min_depth"],0,"hsla(205, 75%, 70%, 0)",200,"hsla(205, 75%, 63%, 0)",7e3,"hsla(205, 75%, 53%, 0)"]]},"source-layer":"depth"},{minzoom:5,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"},filter:["match",["get","class"],["wetland","wetland_noveg"],!0,!1],type:"fill",source:"composite",id:"wetland",paint:{"fill-color":"hsl(194, 38%, 74%)","fill-opacity":["interpolate",["linear"],["zoom"],10,.25,10.5,.15]},"source-layer":"landuse_overlay"},{minzoom:5,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"},filter:["match",["get","class"],["wetland","wetland_noveg"],!0,!1],type:"fill",source:"composite",id:"wetland-pattern",paint:{"fill-color":"hsl(194, 38%, 74%)","fill-opacity":["interpolate",["linear"],["zoom"],10,0,10.5,1],"fill-pattern":"wetland","fill-translate-anchor":"viewport"},"source-layer":"landuse_overlay"},{minzoom:13,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, built"},filter:["all",["==",["get","class"],"land"],["==",["geometry-type"],"Polygon"]],type:"fill",source:"composite",id:"land-structure-polygon",paint:{"fill-color":"hsl(0, 0%, 69%)"},"source-layer":"structure"},{minzoom:13,layout:{"line-cap":"square",visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, built"},filter:["all",["==",["get","class"],"land"],["==",["geometry-type"],"LineString"]],type:"line",source:"composite",id:"land-structure-line",paint:{"line-width":["interpolate",["exponential",1.99],["zoom"],14,.75,20,40],"line-color":"hsl(60, 20%, 85%)"},"source-layer":"structure"},{minzoom:1,layout:{},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","admin_level"],0],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-0-boundary-bg",paint:{"line-width":["interpolate",["linear"],["zoom"],3,4,12,8],"line-color":"rgb(0, 96, 107)","line-opacity":["interpolate",["linear"],["zoom"],3,0,4,.5],"line-blur":["interpolate",["linear"],["zoom"],3,0,12,2]},"source-layer":"admin"},{minzoom:1,layout:{},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","admin_level"],0],["==",["get","disputed"],"false"],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-0-boundary",paint:{"line-color":"rgb(0, 96, 107)","line-width":["interpolate",["linear"],["zoom"],3,.5,12,2],"line-dasharray":["step",["zoom"],["literal",[2,0]],7,["literal",[2,2,6,2]]]},"source-layer":"admin"},{minzoom:1,layout:{},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","disputed"],"true"],["==",["get","admin_level"],0],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-0-boundary-disputed",paint:{"line-color":"rgb(0, 96, 107)","line-width":["interpolate",["linear"],["zoom"],3,.5,12,2],"line-dasharray":["step",["zoom"],["literal",[3,2,5]],7,["literal",[2,1.5]]]},"source-layer":"admin"},{id:"empty-layer-0",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-1",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"country-boundaries",type:"fill",source:"composite","source-layer":"country_boundaries",paint:{"fill-color":["interpolate",["linear"],["zoom"],0,"rgb(2, 45, 62)",22,"rgb(2, 45, 62)"]},layout:{visibility:"none"}},{id:"empty-layer-2",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-3",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-4",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"water-outline",type:"line",paint:{"line-color":"rgb(0, 96, 107)","line-width":["interpolate",["linear"],["zoom"],0,1.5,4,1]},source:"composite","source-layer":"water"},{minzoom:13,layout:{"text-font":["DIN Pro Italic","Arial Unicode MS Regular"],"text-max-angle":30,"symbol-spacing":["interpolate",["linear",1],["zoom"],15,250,17,400],"text-size":["interpolate",["linear"],["zoom"],13,12,18,18],"symbol-placement":"line","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]]},metadata:{"mapbox:featureComponent":"natural-features","mapbox:group":"Natural features, natural-labels"},filter:["all",["match",["get","class"],["canal","river","stream","disputed_canal","disputed_river","disputed_stream"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],1],60,["<",["distance-from-center"],1.5],70,["<",["distance-from-center"],2]],["==",["geometry-type"],"LineString"]],type:"symbol",source:"composite",id:"waterway-label",paint:{"text-color":"hsl(205, 43%, 90%)","text-halo-color":"hsla(60, 17%, 84%, 0.5)"},"source-layer":"natural_label"},{minzoom:4,layout:{"text-size":["step",["zoom"],["step",["get","sizerank"],18,5,12],17,["step",["get","sizerank"],18,13,12]],"text-max-angle":30,"text-field":["coalesce",["get","name_en"],["get","name"]],"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"symbol-placement":"line-center","text-pitch-alignment":"viewport"},metadata:{"mapbox:featureComponent":"natural-features","mapbox:group":"Natural features, natural-labels"},filter:["all",["match",["get","class"],["glacier","landform","disputed_glacier","disputed_landform"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["<=",["get","filterrank"],4],["step",["pitch"],!0,50,["<",["distance-from-center"],1],60,["<",["distance-from-center"],1.5],70,["<",["distance-from-center"],2]],["==",["geometry-type"],"LineString"]],type:"symbol",source:"composite",id:"natural-line-label",paint:{"text-halo-width":.5,"text-halo-color":"hsl(60, 17%, 84%)","text-halo-blur":.5,"text-color":"hsl(340, 10%, 38%)"},"source-layer":"natural_label"},{minzoom:4,layout:{"text-size":["step",["zoom"],["step",["get","sizerank"],18,5,12],17,["step",["get","sizerank"],18,13,12]],"icon-image":["case",["has","maki_beta"],["coalesce",["image",["get","maki_beta"]],["image",["get","maki"]]],["image",["get","maki"]]],"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-offset":["step",["zoom"],["step",["get","sizerank"],["literal",[0,0]],5,["literal",[0,.8]]],17,["step",["get","sizerank"],["literal",[0,0]],13,["literal",[0,.8]]]],"text-anchor":["step",["zoom"],["step",["get","sizerank"],"center",5,"top"],17,["step",["get","sizerank"],"center",13,"top"]],"text-field":["coalesce",["get","name_en"],["get","name"]]},metadata:{"mapbox:featureComponent":"natural-features","mapbox:group":"Natural features, natural-labels"},filter:["all",["match",["get","class"],["dock","glacier","landform","water_feature","wetland","disputed_dock","disputed_glacier","disputed_landform","disputed_water_feature","disputed_wetland"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["<=",["get","filterrank"],4],["step",["pitch"],!0,50,["<",["distance-from-center"],1],60,["<",["distance-from-center"],1.5],70,["<",["distance-from-center"],2]],["==",["geometry-type"],"Point"]],type:"symbol",source:"composite",id:"natural-point-label",paint:{"icon-opacity":["step",["zoom"],["step",["get","sizerank"],0,5,1],17,["step",["get","sizerank"],0,13,1]],"text-halo-color":"hsl(60, 20%, 98%)","text-halo-width":.5,"text-halo-blur":.5,"text-color":"hsl(340, 10%, 38%)"},"source-layer":"natural_label"},{minzoom:1,layout:{"text-size":["interpolate",["linear"],["zoom"],0,["*",["-",16,["sqrt",["get","sizerank"]]],1],22,["*",["-",22,["sqrt",["get","sizerank"]]],1]],"text-max-angle":30,"text-letter-spacing":["match",["get","class"],"ocean",.25,["sea","bay"],.15,0],"text-font":["DIN Pro Italic","Arial Unicode MS Regular"],"symbol-placement":"line-center","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]]},metadata:{"mapbox:featureComponent":"natural-features","mapbox:group":"Natural features, natural-labels"},filter:["all",["match",["get","class"],["bay","ocean","reservoir","sea","water","disputed_bay","disputed_ocean","disputed_reservoir","disputed_sea","disputed_water"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],1],60,["<",["distance-from-center"],1.5],70,["<",["distance-from-center"],2]],["==",["geometry-type"],"LineString"]],type:"symbol",source:"composite",id:"water-line-label",paint:{"text-color":["match",["get","class"],["bay","ocean","sea"],"rgb(1, 121, 137)","rgb(1, 121, 137)"],"text-halo-color":"hsla(60, 17%, 84%, 0.5)"},"source-layer":"natural_label"},{minzoom:1,layout:{"text-line-height":1.3,"text-size":["interpolate",["linear"],["zoom"],0,["*",["-",16,["sqrt",["get","sizerank"]]],1],22,["*",["-",22,["sqrt",["get","sizerank"]]],1]],"text-font":["DIN Pro Italic","Arial Unicode MS Regular"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":["match",["get","class"],"ocean",.25,["bay","sea"],.15,.01],"text-max-width":["match",["get","class"],"ocean",4,"sea",5,["bay","water"],7,10]},metadata:{"mapbox:featureComponent":"natural-features","mapbox:group":"Natural features, natural-labels"},filter:["all",["match",["get","class"],["bay","ocean","reservoir","sea","water","disputed_bay","disputed_ocean","disputed_reservoir","disputed_sea","disputed_water"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],1],60,["<",["distance-from-center"],1.5],70,["<",["distance-from-center"],2]],["==",["geometry-type"],"Point"]],type:"symbol",source:"composite",id:"water-point-label",paint:{"text-color":["match",["get","class"],["bay","ocean","sea"],"rgb(3, 117, 129)","rgb(3, 117, 129)"],"text-halo-color":"hsla(60, 17%, 84%, 0.5)"},"source-layer":"natural_label"},{minzoom:10,layout:{"text-field":["coalesce",["get","name_en"],["get","name"]],"text-transform":"uppercase","text-font":["DIN Pro Regular","Arial Unicode MS Regular"],"text-letter-spacing":["match",["get","type"],"suburb",.15,.05],"text-max-width":7,"text-padding":3,"text-size":["interpolate",["cubic-bezier",.5,0,1,1],["zoom"],11,["match",["get","type"],"suburb",11,10.5],15,["match",["get","type"],"suburb",15,14]],visibility:"none"},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:15,filter:["all",["match",["get","class"],["settlement_subdivision","disputed_settlement_subdivision"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["<=",["get","filterrank"],3],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"settlement-subdivision-label",paint:{"text-halo-color":"hsla(60, 25%, 100%, 0.75)","text-halo-width":1,"text-color":"hsl(230, 29%, 36%)","text-halo-blur":.5},"source-layer":"place_label"},{minzoom:2,layout:{"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],11,9,10],6,["step",["get","symbolrank"],14,9,12,12,10],8,["step",["get","symbolrank"],16,9,14,12,12,15,10],13,["step",["get","symbolrank"],22,9,20,12,16,15,14]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],"border-dot-13",["step",["get","symbolrank"],"dot-11",9,"dot-10",11,"dot-9"]],8,""],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"],"text-justify":"auto",visibility:"none","text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":7},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:13,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["zoom"],[">",["get","symbolrank"],6],4,[">=",["get","symbolrank"],7],6,[">=",["get","symbolrank"],8],7,[">=",["get","symbolrank"],10],10,[">=",["get","symbolrank"],11],11,[">=",["get","symbolrank"],13],12,[">=",["get","symbolrank"],15]],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"settlement-minor-label",paint:{"text-color":"hsl(230, 29%, 0%)","text-halo-color":"hsl(60, 25%, 100%)","text-halo-width":1,"text-halo-blur":1},"source-layer":"place_label"},{minzoom:2,layout:{"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],13,6,11],6,["step",["get","symbolrank"],18,6,16,7,14],8,["step",["get","symbolrank"],20,9,16,10,14],15,["step",["get","symbolrank"],24,9,20,12,16,15,14]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],"border-dot-13",["step",["get","symbolrank"],"dot-11",9,"dot-10",11,"dot-9"]],8,""],"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],8,"center"],visibility:"none","text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":7},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:15,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["zoom"],!1,2,["<=",["get","symbolrank"],6],4,["<",["get","symbolrank"],7],6,["<",["get","symbolrank"],8],7,["<",["get","symbolrank"],10],10,["<",["get","symbolrank"],11],11,["<",["get","symbolrank"],13],12,["<",["get","symbolrank"],15],13,[">=",["get","symbolrank"],11],14,[">=",["get","symbolrank"],15]],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"settlement-major-label",paint:{"text-color":"hsl(230, 29%, 0%)","text-halo-color":"hsl(60, 25%, 100%)","text-halo-width":1,"text-halo-blur":1},"source-layer":"place_label"},{minzoom:3,layout:{"text-size":["interpolate",["cubic-bezier",.85,.7,.65,1],["zoom"],4,["step",["get","symbolrank"],9,6,8,7,7],9,["step",["get","symbolrank"],21,6,16,7,14]],"text-transform":"uppercase","text-font":["DIN Pro Bold","Arial Unicode MS Bold"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.15,"text-max-width":6},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:9,filter:["all",["match",["get","class"],["state","disputed_state"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"state-label",paint:{"text-color":"rgb(0, 170, 189)","text-halo-color":"rgb(3, 3, 3)","text-halo-width":1,"text-opacity":.5},"source-layer":"place_label"},{minzoom:1,layout:{"text-field":["coalesce",["get","name_en"],["get","name"]],"text-line-height":1.1,"text-max-width":6,"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-radial-offset":["step",["zoom"],.6,8,0],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],7,"auto"],"text-size":["interpolate",["cubic-bezier",.2,0,.7,1],["zoom"],1,["step",["get","symbolrank"],12.100000000000001,4,9.9,5,8.8],9,["step",["get","symbolrank"],24.200000000000003,4,20.900000000000002,5,18.700000000000003]]},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:10,filter:["all",["match",["get","class"],["country","disputed_country"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"country-label",paint:{"icon-opacity":["step",["zoom"],["case",["has","text_anchor"],1,0],7,0],"text-color":"rgb(2, 141, 156)","text-halo-color":["interpolate",["linear"],["zoom"],2,"rgb(252, 252, 252)",3,"rgb(250, 250, 250)"]},"source-layer":"place_label"},{minzoom:.75,layout:{"text-field":["coalesce",["get","name_en"],["get","name"]],"text-line-height":1.1,"text-max-width":6,"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-size":["interpolate",["exponential",.5],["zoom"],0,10,2.5,15],"text-transform":"uppercase","text-letter-spacing":.05},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:3,filter:["==",["get","class"],"continent"],type:"symbol",source:"composite",id:"continent-label",paint:{"text-color":"rgb(0, 170, 189)","text-halo-color":["interpolate",["linear"],["zoom"],0,"rgba(0, 0, 0, 0.75)",3,"rgb(5, 5, 5)"],"text-halo-width":1.5,"text-opacity":["interpolate",["linear"],["zoom"],0,.8,1.5,.5,2.5,0]},"source-layer":"natural_label"},{id:"world-12nm-v4-20231025",minzoom:3,type:"line",paint:{"line-color":"hsl(2, 88%, 55%)","line-opacity":.62,"line-width":["interpolate",["linear"],["zoom"],0,2,22,2],"line-translate":[0,0]},source:"composite","source-layer":"eez_12nm_new1-6jzkww",layout:{"line-join":"round",visibility:"none"}},{id:"china-taiwan",type:"line",paint:{"line-color":"hsl(2, 88%, 55%)","line-opacity":.62,"line-width":["interpolate",["linear"],["zoom"],0,2,22,2]},layout:{"line-join":"round",visibility:"none"},source:"composite","source-layer":"eez-d4udtm"},{id:"ne-10m-outline",type:"line",paint:{"line-color":"rgb(1, 119, 132)"},source:"composite","source-layer":"ne_10m_geography_marine_polys-3968bv",layout:{visibility:"none"}},{id:"ne-10m-label",type:"symbol",paint:{"text-halo-color":"hsl(0, 0%, 100%)","text-halo-width":0,"text-halo-blur":0,"text-color":"rgb(1, 119, 132)"},layout:{"text-field":["to-string",["get","name"]],"text-size":12,visibility:"none"},source:"composite","source-layer":"ne_10m_geography_marine_polys-3968bv"},{id:"china-route-line",type:"line",paint:{"line-color":"rgba(119, 239, 157, 1)","line-width":2},source:"composite","source-layer":"china_route-bdtx5d",layout:{visibility:"none"}},{id:"china-route-fill",type:"fill",paint:{"fill-color":"rgba(119, 239, 157, 1)","fill-opacity":.2},source:"composite","source-layer":"china_route-bdtx5d",filter:["match",["get","featureType"],["route"],!0,!1],layout:{visibility:"none"}},{id:"china-route-label",type:"symbol",paint:{"text-color":"rgb(255, 255, 255)"},source:"composite","source-layer":"china_route-bdtx5d",layout:{"text-field":["to-string",["get","RouteName"]],"text-size":10,"text-offset":[0,1.6],visibility:"none"}},{id:"ice-area-fill",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(199, 239, 236, 0.7)"},source:"composite","source-layer":"ICE_AREA-6oqazd",layout:{visibility:"none"}},{id:"ice-area-line",minzoom:0,maxzoom:22,type:"line",paint:{"line-color":"rgba(199, 239, 236, 1)"},layout:{visibility:"none"},source:"composite","source-layer":"ICE_AREA-6oqazd"},{id:"tide-stations",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-color":"rgb(255, 255, 255)","text-opacity":["step",["zoom"],0,4,1]},layout:{visibility:"none","text-field":["to-string",["get","Location_EN"]],"text-size":10,"icon-image":"tide","icon-size":1,"icon-offset":[0,-13],"text-offset":[0,1.6],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},source:"composite","source-layer":"tide_station_cn-8xvt91"},{id:"loadlines-label",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-color":"rgb(255, 255, 255)"},layout:{"text-field":["to-string",["get","name"]],"text-size":10,"text-font":["DIN Pro Regular","Arial Unicode MS Regular"],visibility:"none","text-offset":[0,1]},source:"composite","source-layer":"loadlines-b6mgr8"},{id:"loadlines-fill",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":["match",["get","val"],["LLGreen"],"rgba(164, 214, 217, 0.6)",["LLBlue"],"rgba(53, 121, 194, 0.6)",["LLRed"],"rgba(217, 150, 151, 0.6)",["LLSUMMER"],"rgba(111, 110, 212, 0.6)","rgba(255, 255, 255, 0.6)"],"fill-outline-color":"rgba(255, 255, 255, 0.3)"},layout:{visibility:"none"},source:"composite","source-layer":"loadlines-b6mgr8"}],created:"2025-07-31T04:32:27.422Z",modified:"2025-07-31T04:43:38.610Z",id:"cmdqwez32005b01re2w0k3zk4",owner:"neatchenheng",visibility:"private",protected:!1,draft:!1},satellite:{version:8,name:"satellite",metadata:{"mapbox:type":"default","mapbox:autocomposite":!0,"mapbox:sdk-support":{js:"3.14.0",android:"11.14.0",ios:"11.14.0"},"mapbox:origin":"satellite-streets-v12","mapbox:uiExpandedImports":["basemap"],"mapbox:groups":{"Satellite imagery, land":{name:"Satellite imagery, land",collapsed:!1},"Administrative boundaries, admin":{name:"Administrative boundaries, admin",collapsed:!0},"Place labels, place-labels":{name:"Place labels, place-labels",collapsed:!1}}},center:[55.13,25.12],zoom:12,fog:{range:[1,10],color:["interpolate",["exponential",1.2],["zoom"],5.5,"hsl(240, 12%, 70%)",6,"hsl(0, 0%, 100%)"],"high-color":["interpolate",["exponential",1.2],["zoom"],5.5,"hsl(240, 12%, 7%)",6,"hsl(38, 63%, 84%)"],"space-color":["interpolate",["exponential",1.2],["zoom"],5.5,"hsl(240, 12%, 9%)",6,"hsl(199, 61%, 80%)"],"horizon-blend":["interpolate",["exponential",1.2],["zoom"],5.5,.008,6,.15],"star-intensity":["interpolate",["exponential",1.2],["zoom"],5.5,.1,6,0]},imports:[{id:"basemap",url:"mapbox://styles/mapbox/standard-satellite",config:{lightPreset:"day"},data:{version:8,name:"Mapbox Standard Satellite",metadata:{"mapbox:compatibility":{android:"11.9.0",ios:"11.9.0",js:"3.9.0"},"mapbox:autocomposite":!0,"mapbox:groups":{"road & transit labels":{name:"Road & Transit labels",collapsed:!0},"land & water":{name:"Land & water",collapsed:!0},"road shields":{name:"Road shields",collapsed:!0},"building labels":{name:"Building labels",collapsed:!0},"transit labels":{name:"Transit labels",collapsed:!0},"poi labels":{name:"Poi labels",collapsed:!0},"natural labels":{name:"Natural labels",collapsed:!0},"place labels":{name:"Place labels",collapsed:!0},"administrative boudaries":{name:"Administrative boudaries",collapsed:!0},"roads & transit network":{name:"Roads & transit network",collapsed:!0}}},center:[15.07,48.72],zoom:3.3,bearing:0,pitch:0,lights:[{id:"ambient",type:"ambient",properties:{color:["match",["config","lightPreset"],"dawn","hsl(28, 98%, 93%)","day","hsl(0, 0%, 100%)","dusk","hsl(228, 27%, 29%)","night","hsl(217, 100%, 11%)","hsl(0, 0%, 100%)"],intensity:["match",["config","lightPreset"],"dawn",.75,"day",.8,"dusk",.8,"night",.5,.8]}},{id:"directional",type:"directional",properties:{direction:["match",["config","lightPreset"],"dawn",["literal",[120,50]],"day",["literal",[180,20]],"dusk",["literal",[240,80]],"night",["literal",[270,20]],["literal",[180,20]]],color:["match",["config","lightPreset"],"dawn","hsl(33, 98%, 77%)","day","hsl(0, 0%, 100%)","dusk","hsl(30, 98%, 76%)","night","hsl(0, 0%, 29%)","hsl(0, 0%, 100%)"],intensity:["interpolate",["linear"],["zoom"],12,["match",["config","lightPreset"],"dawn",.5,"day",.2,"dusk",0,"night",0,.2],14,["match",["config","lightPreset"],"dawn",.5,"day",.2,"dusk",.2,"night",.5,.2]],"cast-shadows":!0,"shadow-intensity":["match",["config","lightPreset"],"night",.5,1]}}],terrain:{source:"mapbox-dem",exaggeration:["interpolate",["linear"],["zoom"],6,0,7,1,12,1,13.7,0]},fog:{"vertical-range":[30,120],range:["interpolate",["linear"],["zoom"],13,["literal",[1,20]],15,["literal",[1,4]]],color:["interpolate",["exponential",1.2],["zoom"],5,["interpolate",["linear"],["measure-light","brightness"],.1,"hsla(240, 9%, 55%, 0.2)",.4,"hsla(0, 0%, 100%, 0.2)"],7,["interpolate",["linear"],["measure-light","brightness"],.02,"hsla(213, 63%, 20%, 0.9)",.03,"hsla(30, 65%, 60%, 0.5)",.4,"hsla(10, 79%, 88%, 0.8)",.45,"hsla(200, 60%, 98%, 0.9)"]],"high-color":["interpolate",["exponential",1.2],["zoom"],5,["interpolate",["linear"],["measure-light","brightness"],.1,"hsla(215, 60%, 20%, 1)",.4,"hsla(215, 100%, 80%, 1)"],7,["interpolate",["linear"],["measure-light","brightness"],0,"hsla(228, 38%, 20%, 1)",.05,"hsla(360, 100%, 85%, 1)",.2,"hsla(205, 88%, 86%, 1)",.4,"hsla(270, 65%, 85%, 1)",.45,"hsla(0, 0%, 100%, 1)"]],"space-color":["interpolate",["exponential",1.2],["zoom"],5,"hsl(211, 84%, 0%)",7,["interpolate",["linear"],["measure-light","brightness"],0,"hsl(210, 84%, 5%)",.2,"hsl(210, 40%, 30%)",.4,"hsl(210, 45%, 30%)",.45,"hsl(210, 100%, 80%)"]],"horizon-blend":["interpolate",["exponential",1.2],["zoom"],5,.004,7,["interpolate",["exponential",1.2],["measure-light","brightness"],.35,.03,.4,.07,.45,.03]],"star-intensity":["interpolate",["exponential",1.2],["zoom"],5,.4,7,["interpolate",["exponential",1.2],["measure-light","brightness"],.1,.2,.3,0]]},camera:{"camera-projection":"orthographic"},schema:{roadsBrightness:{default:.7,type:"number",metadata:{"mapbox:title":"Roads brightness","mapbox:description":"Control how bright road network appear in dark styles","mapbox:group":!1}},colorPlaceLabelHighlight:{default:"hsl(5, 80%, 75%)",type:"color",metadata:{"mapbox:title":"Color","mapbox:description":"Place label color used when setting highlight state.","mapbox:group":!1}},colorPlaceLabelSelect:{default:"hsl(5, 95%, 70%)",type:"color",metadata:{"mapbox:title":"Color","mapbox:description":"Place label color used when setting select state.","mapbox:group":!1}},colorMotorways:{default:"hsl(214, 23%, 80%)",type:"color",metadata:{"mapbox:title":"Motorways","mapbox:description":"Set a custom color for motorway roads.","mapbox:group":"Color"}},colorTrunks:{default:"hsl(235, 20%, 80%)",type:"color",metadata:{"mapbox:title":"Trunk roads","mapbox:description":"Set a custom color for trunk roads.","mapbox:group":"Color"}},colorRoads:{default:"hsl(224, 25%, 75%)",type:"color",metadata:{"mapbox:title":"Roads","mapbox:description":"Set a custom color for roads.","mapbox:group":"Color"}},showPlaceLabels:{default:!0,type:"boolean",metadata:{"mapbox:title":"Place labels","mapbox:description":"Shows and hides place label layers.","mapbox:group":"Visibility"}},showRoadsAndTransit:{default:!0,type:"boolean",metadata:{"mapbox:title":"Roads and transit network","mapbox:description":"Shows and hides all roads and transit networks.","mapbox:group":"Visibility"}},showPedestrianRoads:{default:!1,type:"boolean",metadata:{"mapbox:title":"Pedestrian roads, paths, trails","mapbox:description":"Shows and hides all pedestrian roads, paths, trails.","mapbox:group":"Visibility"}},showRoadLabels:{default:!0,type:"boolean",metadata:{"mapbox:title":"Road labels","mapbox:description":"Shows and hides all road labels, including road shields.","mapbox:group":"Visibility"}},showPointOfInterestLabels:{default:!0,type:"boolean",metadata:{"mapbox:title":"POI labels","mapbox:description":"Shows or hides all POI icons and text.","mapbox:group":"Visibility"}},showTransitLabels:{default:!0,type:"boolean",metadata:{"mapbox:title":"Transit labels","mapbox:description":"Shows or hides all transit icons and text.","mapbox:group":"Visibility"}},lightPreset:{default:"day",type:"string",values:["dawn","day","dusk","night"],metadata:{"mapbox:title":"Light preset","mapbox:description":"Switch between 4 time-of-day states: dusk, dawn, day and night.","mapbox:group":"Basemap"}},font:{default:"DIN Pro",type:"string",values:["Alegreya","Alegreya SC","Asap","Barlow","DIN Pro","EB Garamond","Faustina","Frank Ruhl Libre","Heebo","Inter","Lato","League Mono","Montserrat","Manrope","Noto Sans CJK JP","Open Sans","Poppins","Raleway","Roboto","Roboto Mono","Rubik","Source Code Pro","Source Sans Pro","Spectral","Ubuntu"],metadata:{"mapbox:title":"Font","mapbox:description":"Defines font family for the style from predefined options.","mapbox:group":"Typography"}}},sources:{"mapbox-dem":{url:"mapbox://mapbox.mapbox-terrain-dem-v1",type:"raster-dem",tileSize:512},"mapbox://mapbox.satellite":{url:"mapbox://mapbox.satellite",type:"raster",tileSize:256},composite:{url:"mapbox://mapbox.mapbox-bathymetry-v2,mapbox.mapbox-streets-v8-lite,mapbox.mapbox-poi-v2",type:"vector"}},sprite:"mapbox://sprites/mapbox/standard-satellite/46l64mrox16m5svqgseryp8fm",glyphs:"mapbox://fonts/mapbox/{fontstack}/{range}.pbf",projection:{name:"globe"},layers:[{id:"mapbox-satellite",type:"raster",source:"mapbox://mapbox.satellite",layout:{},paint:{"raster-emissive-strength":.5}},{id:"water",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"water",layout:{},paint:{"fill-color":"hsl(200, 35%, 28%)","fill-emissive-strength":.4,"fill-opacity":["interpolate",["linear"],["zoom"],10,.8,16,0]}},{id:"water-depth",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"depth",maxzoom:8,layout:{},paint:{"fill-emissive-strength":.4,"fill-color":["interpolate",["linear"],["zoom"],6,["interpolate",["linear"],["get","min_depth"],0,"hsla(200, 35%, 23%, 0.35)",200,"hsla(200, 35%, 20%, 0.35)",7e3,"hsla(200, 35%, 15%, 0.35)"],8,["interpolate",["linear"],["get","min_depth"],0,"hsla(200, 35%, 30%, 0)",200,"hsla(200, 35%, 25%, 0)",7e3,"hsla(200, 35%, 20%, 0)"]]}},{id:"bottom",type:"slot",metadata:{"mapbox:description":"Above polygons (land, landuse, water, etc.)"}},{id:"tunnel-path-trail",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","class"],"path"],["match",["get","type"],["hiking","mountain_bike","trail"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"]},paint:{"line-opacity":.6,"line-emissive-strength":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":"hsl(295, 11%, 95%)","line-dasharray":[10,0]}},{id:"tunnel-path",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","class"],"path"],["!=",["get","type"],"steps"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":"round","line-join":"round"},paint:{"line-emissive-strength":.6,"line-opacity":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":"hsl(295, 11%, 95%)"}},{id:"tunnel-steps",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","type"],"steps"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":"hsl(295, 11%, 95%)","line-dasharray":["step",["zoom"],["literal",[1,0]],17,["literal",[.2,.2]],19,["literal",[.1,.1]]]}},{id:"tunnel-pedestrian",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","type"],"pedestrian"],["==",["get","class"],"pedestrian"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":"round","line-join":"round"},paint:{"line-opacity":.6,"line-emissive-strength":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":"hsl(295, 11%, 95%)"}},{id:"tunnel-major-link",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"]},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-color":["match",["get","class"],["motorway_link"],["config","colorMotorways"],["config","colorTrunks"]],"line-opacity":["interpolate",["linear"],["zoom"],14,1,15,0]}},{id:"tunnel-primary",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","class"],"primary"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"]},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280],"line-color":["config","colorRoads"],"line-opacity":["interpolate",["linear"],["zoom"],14,1,15,0]}},{id:"tunnel-motorway-trunk",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["motorway","trunk"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"]},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-color":["match",["get","class"],"motorway",["config","colorMotorways"],["config","colorTrunks"]],"line-opacity":["interpolate",["linear"],["zoom"],14,1,15,0]}},{id:"tunnel-path-cycleway-piste",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["path","track"],!0,!1],["match",["get","type"],"cycleway",["step",["zoom"],!1,15,!0],"piste",!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":.6,"line-width":["interpolate",["linear"],["zoom"],12,["match",["get","type"],["piste"],.5,0],18,["match",["get","type"],["piste"],4,2],22,["match",["get","type"],["piste"],40,20]],"line-color":"hsl(125, 50%, 60%)","line-opacity":["interpolate",["linear"],["zoom"],15,["match",["get","type"],["piste"],1,0],16,.5],"line-translate":[0,0],"line-offset":["interpolate",["linear"],["zoom"],12,0,18,["match",["get","type"],["piste"],0,-2],22,["match",["get","type"],["piste"],0,-20]],"line-dasharray":["step",["zoom"],["literal",[1]],16,["literal",[1,1]]]}},{id:"ferry",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:8,filter:["==",["get","type"],"ferry"],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"]},paint:{"line-emissive-strength":.8,"line-color":"hsl(210, 40%, 55%)","line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,20,1],"line-dasharray":["step",["zoom"],["literal",[1,0]],13,["literal",[12,4]]]}},{id:"ferry-auto",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:8,filter:["==",["get","type"],"ferry_auto"],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"]},paint:{"line-emissive-strength":.8,"line-color":"hsl(210, 40%, 55%)","line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,20,1]}},{id:"road-primary-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:6,filter:["all",["==",["get","class"],"primary"],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["-",["config","roadsBrightness"],.3],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,22,1],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],30]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280],"line-opacity":["step",["zoom"],1,14,1,14.5,0]}},{id:"road-major-link-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["-",["config","roadsBrightness"],.3],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,22,1],"line-color":["match",["get","class"],"motorway_link",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],30]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],30]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-opacity":["step",["zoom"],0,11,1,14,1,14.5,0]}},{id:"road-motorway-trunk-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:3,filter:["all",["step",["zoom"],["match",["get","class"],["motorway","trunk"],!0,!1],5,["all",["match",["get","class"],["motorway","trunk"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1]]],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["-",["config","roadsBrightness"],.3],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,22,1],"line-color":["match",["get","class"],"motorway",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],30]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],30]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-opacity":["interpolate",["linear"],["zoom"],3,0,3.5,1,14,1,14.5,0]}},{id:"road-path-trail",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","class"],"path"],["match",["get","type"],["hiking","mountain_bike","trail"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"],"line-join":["step",["zoom"],"miter",16,"round"]},paint:{"line-opacity":.6,"line-emissive-strength":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"],"line-dasharray":[10,0]}},{id:"road-path",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","class"],"path"],["step",["zoom"],["!",["match",["get","type"],["steps","sidewalk","crossing"],!0,!1]],16,["!=",["get","type"],"steps"]],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"],"line-join":["step",["zoom"],"miter",16,"round"]},paint:{"line-emissive-strength":.6,"line-opacity":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"]}},{id:"road-steps",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","type"],"steps"],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-join":"round"},paint:{"line-emissive-strength":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"],"line-dasharray":["step",["zoom"],["literal",[1,0]],17,["literal",[.2,.2]],19,["literal",[.1,.1]]]}},{id:"road-pedestrian",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","class"],"pedestrian"],["match",["get","structure"],["none","ford"],!0,!1],["case",["has","layer"],[">=",["get","layer"],0],!0],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"],"line-join":["step",["zoom"],"miter",16,"round"]},paint:{"line-opacity":.6,"line-emissive-strength":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"]}},{id:"golf-hole-line",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["==",["get","class"],"golf"],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":.6,"line-color":"hsl(110, 29%, 70%)"}},{id:"road-major-link",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":["step",["zoom"],"butt",13,"round"],"line-join":["step",["zoom"],"miter",13,"round"]},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-color":["match",["get","class"],["motorway_link"],["config","colorMotorways"],["config","colorTrunks"]],"line-opacity":["interpolate",["linear"],["zoom"],14,1,15,0]}},{id:"road-primary",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:6,filter:["all",["==",["get","class"],"primary"],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280],"line-color":["config","colorRoads"],"line-opacity":["interpolate",["linear"],["zoom"],14,1,15,0]}},{id:"road-motorway-trunk",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:3,filter:["all",["step",["zoom"],["match",["get","class"],["motorway","trunk"],!0,!1],5,["all",["match",["get","class"],["motorway","trunk"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1]]],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":["step",["zoom"],"butt",13,"round"],"line-join":["step",["zoom"],"miter",13,"round"]},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-color":["match",["get","class"],"motorway",["config","colorMotorways"],["config","colorTrunks"]],"line-opacity":["interpolate",["linear"],["zoom"],3,0,3.5,1,14,1,15,0]}},{id:"road-path-cycleway-piste",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["match",["get","class"],["path","track"],!0,!1],["match",["get","type"],"cycleway",["step",["zoom"],!1,15,!0],"piste",!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":.6,"line-width":["interpolate",["linear"],["zoom"],12,["match",["get","type"],["piste"],.5,0],18,["match",["get","type"],["piste"],4,2],22,["match",["get","type"],["piste"],40,20]],"line-color":"hsl(125, 50%, 60%)","line-translate":[0,0],"line-offset":["interpolate",["linear"],["zoom"],12,0,18,["match",["get","type"],["piste"],0,-2],22,["match",["get","type"],["piste"],0,-20]],"line-opacity":["interpolate",["linear"],["zoom"],15,["match",["get","type"],["piste"],1,0],16,1],"line-dasharray":["step",["zoom"],["literal",[1]],16,["literal",[1,1]]]}},{id:"road-rail",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["major_rail","minor_rail"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"]},paint:{"line-emissive-strength":.6,"line-gap-width":["interpolate",["linear"],["zoom"],15,0,16,1,18,2,22,20],"line-color":"hsl(0, 0%, 20%)","line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,22,2]}},{id:"road-rail-tracks",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["major_rail","minor_rail"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"]},paint:{"line-emissive-strength":.6,"line-color":"hsl(0, 0%, 20%)","line-width":["interpolate",["exponential",1.5],["zoom"],16,2,18,6,20,16,22,32],"line-dasharray":["step",["zoom"],["literal",[.1,15]],16,["literal",[.1,1]],18,["literal",[.05,.5]]],"line-opacity":["interpolate",["linear"],["zoom"],13.75,0,14,1]}},{id:"bridge-path-trail",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"path"],["match",["get","type"],["hiking","mountain_bike","trail"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"]},paint:{"line-opacity":.6,"line-emissive-strength":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"],"line-dasharray":[10,0]}},{id:"bridge-path",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"path"],["!=",["get","type"],"steps"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"]},paint:{"line-emissive-strength":.6,"line-opacity":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"]}},{id:"bridge-steps",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","type"],"steps"],["==",["get","structure"],"bridge"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"],"line-dasharray":["step",["zoom"],["literal",[1,0]],17,["literal",[.2,.2]],19,["literal",[.1,.1]]]}},{id:"bridge-pedestrian",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"pedestrian"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"]},paint:{"line-opacity":.6,"line-emissive-strength":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"]}},{id:"bridge-major-link",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["<=",["get","layer"],1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":"round"},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-color":["match",["get","class"],["motorway_link"],["config","colorMotorways"],["config","colorTrunks"]],"line-opacity":["interpolate",["linear"],["zoom"],14,1,15,0]}},{id:"bridge-primary",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"primary"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":["step",["zoom"],"butt",14,"round"]},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280],"line-color":["config","colorRoads"],"line-opacity":["interpolate",["linear"],["zoom"],14,1,15,0]}},{id:"bridge-motorway-trunk",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["motorway","trunk"],!0,!1],["<=",["get","layer"],1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":"round"},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-color":["match",["get","class"],"motorway",["config","colorMotorways"],["config","colorTrunks"]],"line-opacity":["interpolate",["linear"],["zoom"],14,1,15,0]}},{id:"bridge-major-link-2",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","structure"],"bridge"],[">=",["get","layer"],2],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":"round"},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-color":["match",["get","class"],["motorway_link"],["config","colorMotorways"],["config","colorTrunks"]],"line-opacity":["interpolate",["linear"],["zoom"],14,1,15,0]}},{id:"bridge-motorway-trunk-2",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],[">=",["get","layer"],2],["match",["get","class"],["motorway","trunk"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":["step",["zoom"],"butt",14,"round"]},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-color":["match",["get","class"],"motorway",["config","colorMotorways"],["config","colorTrunks"]],"line-opacity":["interpolate",["linear"],["zoom"],14,1,15,0]}},{id:"bridge-path-cycleway-piste",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["path","track"],!0,!1],["match",["get","type"],"cycleway",["step",["zoom"],!1,15,!0],"piste",!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":.6,"line-color":"hsl(125, 50%, 60%)","line-width":["interpolate",["linear"],["zoom"],12,["match",["get","type"],["piste"],.5,0],18,["match",["get","type"],["piste"],4,2],22,["match",["get","type"],["piste"],40,20]],"line-translate":[0,0],"line-offset":["interpolate",["linear"],["zoom"],12,0,18,["match",["get","type"],["piste"],0,-2],22,["match",["get","type"],["piste"],0,-20]],"line-opacity":["interpolate",["linear"],["zoom"],15,["match",["get","type"],["piste"],1,0],16,1],"line-dasharray":["step",["zoom"],["literal",[1]],16,["literal",[1,1]]]}},{id:"bridge-rail",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["major_rail","minor_rail"],!0,!1]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"]},paint:{"line-gap-width":["interpolate",["linear"],["zoom"],15,0,16,1,18,2,22,20],"line-color":"hsl(0, 0%, 20%)","line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,22,2]}},{id:"bridge-rail-tracks",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["major_rail","minor_rail"],!0,!1]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"]},paint:{"line-color":"hsl(0, 0%, 20%)","line-width":["interpolate",["exponential",1.5],["zoom"],16,2,18,6,20,16,22,32],"line-dasharray":["step",["zoom"],["literal",[.1,15]],16,["literal",[.1,1]],18,["literal",[.05,.5]]],"line-opacity":["interpolate",["linear"],["zoom"],13.75,0,14,1]}},{id:"aerialway",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","class"],"aerialway"],["match",["get","type"],["aerialway:zip_line"],["step",["zoom"],!1,15,!0],!0]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"]},paint:{"line-emissive-strength":1,"line-color":"hsl(225, 60%, 58%)","line-width":["interpolate",["exponential",1.5],["zoom"],14,1,20,2],"line-dasharray":[4,1]}},{id:"admin-1-boundary-bg",type:"line",metadata:{"mapbox:group":"administrative boudaries"},source:"composite","source-layer":"admin",minzoom:7,filter:["all",["==",["get","admin_level"],1],["==",["get","maritime"],"false"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]]],paint:{"line-emissive-strength":1,"line-width":["interpolate",["linear"],["zoom"],3,3,12,6],"line-color":"hsl(345, 100%, 0%)","line-opacity":["interpolate",["linear"],["zoom"],5,0,6,.1],"line-dasharray":[1,0],"line-blur":["interpolate",["linear"],["zoom"],3,0,12,3]}},{id:"admin-0-boundary-bg",type:"line",metadata:{"mapbox:group":"administrative boudaries"},source:"composite","source-layer":"admin",minzoom:1,filter:["all",["==",["get","admin_level"],0],["==",["get","maritime"],"false"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]]],paint:{"line-emissive-strength":1,"line-width":["interpolate",["linear"],["zoom"],3,4,12,8],"line-color":"hsl(345, 100%, 0%)","line-opacity":["interpolate",["linear"],["zoom"],3,0,4,.1],"line-blur":["interpolate",["linear"],["zoom"],3,0,12,2]}},{id:"admin-1-boundary",type:"line",metadata:{"mapbox:group":"administrative boudaries"},source:"composite","source-layer":"admin",minzoom:2,filter:["all",["==",["get","admin_level"],1],["==",["get","maritime"],"false"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]]],layout:{},paint:{"line-emissive-strength":1,"line-dasharray":["step",["zoom"],["literal",[2,0]],7,["literal",[2,2,6,2]]],"line-width":["interpolate",["linear"],["zoom"],3,.5,12,1.5],"line-opacity":["interpolate",["linear"],["zoom"],2,0,3,1],"line-color":"hsl(345, 100%, 75%)"}},{id:"admin-0-boundary",type:"line",metadata:{"mapbox:group":"administrative boudaries"},source:"composite","source-layer":"admin",minzoom:1,filter:["all",["==",["get","admin_level"],0],["==",["get","disputed"],"false"],["==",["get","maritime"],"false"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]]],layout:{},paint:{"line-emissive-strength":1,"line-color":"hsl(345, 100%, 70%)","line-width":["interpolate",["linear"],["zoom"],3,.8,12,2],"line-dasharray":[10,0]}},{id:"admin-0-boundary-disputed",type:"line",metadata:{"mapbox:group":"administrative boudaries"},source:"composite","source-layer":"admin",minzoom:1,filter:["all",["==",["get","disputed"],"true"],["==",["get","admin_level"],0],["==",["get","maritime"],"false"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]]],paint:{"line-emissive-strength":1,"line-color":"hsl(345, 100%, 70%)","line-width":["interpolate",["linear"],["zoom"],3,.8,12,2],"line-dasharray":["step",["zoom"],["literal",[3,2,5]],7,["literal",[2,1.5]]]}},{id:"middle",type:"slot",metadata:{"mapbox:description":"Above lines (roads, etc.) and behind 3D buildings"}},{id:"road-label",type:"symbol",metadata:{"mapbox:group":"road & transit labels"},source:"composite","source-layer":"road",minzoom:10,filter:["all",["has","name"],["step",["zoom"],["match",["get","class"],["motorway","trunk"],!0,!1],12,["match",["get","class"],["motorway","trunk","primary","secondary"],!0,!1],13,["match",["get","class"],["motorway","trunk","primary","secondary","tertiary","street","street_limited"],!0,!1],15,["match",["get","class"],["path","pedestrian","golf","ferry","aerialway"],!1,!0]],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],1],55,["<",["distance-from-center"],0],60,["<=",["distance-from-center"],-.2]]]],layout:{"text-size":["interpolate",["linear"],["zoom"],10,["match",["get","class"],["motorway","trunk","primary","secondary","tertiary"],9,["motorway_link","trunk_link","primary_link","secondary_link","tertiary_link","street","street_limited"],8,6.5],18,["match",["get","class"],["motorway","trunk","primary","secondary","tertiary"],16,["motorway_link","trunk_link","primary_link","secondary_link","tertiary_link","street","street_limited"],14,13]],"text-max-angle":30,"text-transform":"uppercase","text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"symbol-placement":"line","text-padding":1,visibility:["case",["config","showRoadLabels"],"visible","none"],"text-rotation-alignment":"map","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.15},paint:{"text-color":"hsl(0, 0%, 100%)","text-halo-color":"hsl(0, 0%, 20%)","text-halo-width":1.5,"text-halo-blur":1}},{id:"path-pedestrian-label",type:"symbol",metadata:{"mapbox:group":"road & transit labels"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["case",["has","layer"],[">=",["get","layer"],0],!0],["step",["zoom"],["match",["get","class"],["pedestrian"],!0,!1],15,["match",["get","class"],["path","pedestrian"],!0,!1]],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],1],55,["<",["distance-from-center"],0],60,["<=",["distance-from-center"],-.2]]]],layout:{"text-size":["interpolate",["linear"],["zoom"],10,["match",["get","class"],"pedestrian",9,6.5],18,["match",["get","class"],"pedestrian",14,13]],"text-max-angle":30,"text-transform":"uppercase","text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"symbol-placement":"line","text-padding":1,visibility:["case",["config","showRoadLabels"],"visible","none"],"text-rotation-alignment":"map","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.01},paint:{"text-color":"hsl(0, 0%, 100%)","text-halo-color":"hsl(0, 0%, 20%)","text-halo-width":1.5,"text-halo-blur":1}},{id:"golf-hole-label",type:"symbol",metadata:{"mapbox:group":"road & transit labels"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","class"],"golf"],["case",["<=",["pitch"],40],!0,["<=",["distance-from-center"],0]]],layout:{visibility:["case",["config","showPointOfInterestLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-size":12},paint:{"text-emissive-strength":.8,"text-halo-color":"hsl(110, 70%, 28%)","text-halo-width":.5,"text-halo-blur":.5,"text-color":"hsl(110, 40%, 65%)"}},{id:"ferry-aerialway-label",type:"symbol",metadata:{"mapbox:group":"road & transit labels"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],"aerialway",!0,"ferry",!0,!1],["case",["<=",["pitch"],40],!0,["<=",["distance-from-center"],0]]],layout:{"text-size":["interpolate",["linear"],["zoom"],10,6.5,18,13],"text-max-angle":30,"text-transform":"uppercase","text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"symbol-placement":"line","text-padding":1,visibility:["case",["config","showTransitLabels"],"visible","none"],"text-rotation-alignment":"map","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.01},paint:{"text-emissive-strength":.8,"text-color":"hsl(200, 40%, 60%)","text-halo-color":"hsl(225, 60%, 20%)","text-halo-width":1.5,"text-halo-blur":1}},{id:"waterway-label",type:"symbol",metadata:{"mapbox:group":"natural labels"},source:"composite","source-layer":"natural_label",minzoom:13,filter:["all",["match",["get","class"],["canal","river","stream","disputed_canal","disputed_river","disputed_stream"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],0]],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-font":[["concat",["config","font"]," Italic"],"Arial Unicode MS Regular"],"text-max-angle":30,"symbol-spacing":["interpolate",["linear",1],["zoom"],15,250,17,400],"text-size":["interpolate",["linear"],["zoom"],13,12,18,18],"symbol-placement":"line","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]]},paint:{"text-emissive-strength":.8,"text-color":"hsl(210, 96%, 75%)"}},{id:"natural-line-label",type:"symbol",metadata:{"mapbox:group":"natural labels"},source:"composite","source-layer":"natural_label",minzoom:4,filter:["all",["match",["get","class"],["glacier","landform","disputed_glacier","disputed_landform"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["<=",["get","filterrank"],2],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],0]],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-size":["step",["zoom"],["step",["get","sizerank"],18,5,12],17,["step",["get","sizerank"],18,13,12]],"text-max-angle":30,"text-field":["coalesce",["get","name_en"],["get","name"]],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"symbol-placement":"line-center","text-pitch-alignment":"viewport"},paint:{"icon-emissive-strength":.8,"text-emissive-strength":.9,"text-halo-width":1,"text-halo-color":"hsl(210, 20%,20%)","text-halo-blur":.5,"text-color":"hsl(0, 0%, 95%)"}},{id:"natural-point-label",type:"symbol",metadata:{"mapbox:group":"natural labels"},source:"composite","source-layer":"natural_label",minzoom:4,filter:["all",["match",["get","class"],["dock","glacier","landform","water_feature","wetland","disputed_dock","disputed_glacier","disputed_landform","disputed_water_feature","disputed_wetland"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["<=",["get","filterrank"],2],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],0]],["==",["geometry-type"],"Point"]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-size":["step",["zoom"],["step",["get","sizerank"],18,5,12],17,["step",["get","sizerank"],18,13,12]],"icon-image":["image",["string",["get","maki"]]],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-offset":["step",["zoom"],["step",["get","sizerank"],["literal",[0,0]],5,["literal",[0,.75]]],17,["step",["get","sizerank"],["literal",[0,0]],13,["literal",[0,.75]]]],"text-anchor":["step",["zoom"],["step",["get","sizerank"],"center",5,"top"],17,["step",["get","sizerank"],"center",13,"top"]],"text-field":["coalesce",["get","name_en"],["get","name"]]},paint:{"icon-emissive-strength":.8,"text-emissive-strength":.9,"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["step",["zoom"],["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,5,1]],17,["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,13,1]]],"text-halo-color":"hsl(210, 20%,20%)","text-color":"hsl(0, 0%, 95%)","text-halo-width":1}},{id:"water-line-label",type:"symbol",metadata:{"mapbox:group":"natural labels"},source:"composite","source-layer":"natural_label",minzoom:1,filter:["all",["match",["get","class"],["bay","ocean","reservoir","sea","water","disputed_bay","disputed_ocean","disputed_reservoir","disputed_sea","disputed_water"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],0]],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-size":["interpolate",["linear"],["zoom"],0,["*",["-",16,["sqrt",["get","sizerank"]]],1],22,["*",["-",22,["sqrt",["get","sizerank"]]],1]],"text-max-angle":30,"text-letter-spacing":["match",["get","class"],"ocean",.25,["sea","bay"],.15,0],"text-font":[["concat",["config","font"]," Italic"],"Arial Unicode MS Regular"],"symbol-placement":"line-center","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]]},paint:{"text-emissive-strength":.8,"text-color":["match",["get","class"],["bay","ocean","sea"],"hsl(210, 96%, 65%)","hsl(210, 96%, 75%)"]}},{id:"water-point-label",type:"symbol",metadata:{"mapbox:group":"natural labels"},source:"composite","source-layer":"natural_label",minzoom:1,filter:["all",["match",["get","class"],["bay","ocean","reservoir","sea","water","disputed_bay","disputed_ocean","disputed_reservoir","disputed_sea","disputed_water"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],0]],["==",["geometry-type"],"Point"],["!=",["id"],1]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-line-height":1.3,"text-size":["interpolate",["linear"],["zoom"],0,["*",["-",16,["sqrt",["get","sizerank"]]],1],22,["*",["-",22,["sqrt",["get","sizerank"]]],1]],"text-font":[["concat",["config","font"]," Italic"],"Arial Unicode MS Regular"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":["match",["get","class"],"ocean",.25,["bay","sea"],.15,.01],"text-max-width":["match",["get","class"],"ocean",4,"sea",5,["bay","water"],7,10]},paint:{"text-emissive-strength":.8,"text-color":["match",["get","class"],["bay","ocean","sea"],"hsl(210, 96%, 65%)","hsl(210, 96%, 75%)"]}},{id:"road-intersection",type:"symbol",metadata:{"mapbox:group":"road shields"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","class"],"intersection"],["has","name"],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],1]]],layout:{visibility:["case",["config","showRoadLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"icon-image":"intersection","icon-text-fit":"both","icon-text-fit-padding":[1,2,1,2],"text-size":["interpolate",["exponential",1.2],["zoom"],15,9,18,12],"text-font":[["concat",["config","font"]," Bold"],"Arial Unicode MS Bold"]},paint:{"icon-emissive-strength":.8,"text-emissive-strength":.9,"text-color":"hsl(230, 57%, 64%)"}},{id:"road-number-shield",type:"symbol",metadata:{"mapbox:group":"road shields"},source:"composite","source-layer":"road",minzoom:6,filter:["all",["has","reflen"],["<=",["get","reflen"],6],["match",["get","class"],["pedestrian","service"],!1,!0],["step",["zoom"],["==",["geometry-type"],"Point"],11,[">",["coalesce",["get","len"],0],5e3],12,[">",["coalesce",["get","len"],0],2500],13,[">",["coalesce",["get","len"],0],1e3],14,!0],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],1]]],layout:{"text-size":9,"icon-image":["case",["has","shield_beta"],["coalesce",["image",["concat",["get","shield_beta"],"-",["to-string",["get","reflen"]]]],["image",["concat",["get","shield"],"-",["to-string",["get","reflen"]]]],["image",["concat","default-",["to-string",["get","reflen"]]]]],["concat",["get","shield"],"-",["to-string",["get","reflen"]]]],"icon-rotation-alignment":"viewport","text-max-angle":38,"symbol-spacing":["interpolate",["linear"],["zoom"],11,400,14,600],"text-font":[["concat",["config","font"]," Bold"],"Arial Unicode MS Bold"],"symbol-placement":["step",["zoom"],"point",11,"line"],visibility:["case",["config","showRoadLabels"],"visible","none"],"text-rotation-alignment":"viewport","text-field":["get","ref"],"text-letter-spacing":.05},paint:{"icon-emissive-strength":.8,"text-emissive-strength":.9,"text-color":["case",["has","shield_beta"],["case",["all",["has","shield_text_color_beta"],["to-boolean",["coalesce",["image",["concat",["get","shield_beta"],"-",["to-string",["get","reflen"]]]],""]]],["match",["get","shield_text_color_beta"],"white","hsl(0, 0%, 100%)","yellow","hsl(50, 100%, 70%)","orange","hsl(25, 100%, 75%)","blue","hsl(230, 57%, 44%)","red","hsl(0, 87%, 59%)","green","hsl(140, 74%, 37%)","hsl(230, 18%, 13%)"],"hsl(230, 18%, 13%)"],["match",["get","shield_text_color"],"white","hsl(0, 0%, 100%)","yellow","hsl(50, 100%, 70%)","orange","hsl(25, 100%, 75%)","blue","hsl(230, 57%, 44%)","red","hsl(0, 87%, 59%)","green","hsl(140, 74%, 37%)","hsl(230, 18%, 13%)"]]}},{id:"road-exit-shield",type:"symbol",metadata:{"mapbox:group":"road shields"},source:"composite","source-layer":"motorway_junction",minzoom:14,filter:["all",["has","reflen"],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],1]]],layout:{visibility:["case",["config","showRoadLabels"],"visible","none"],"text-field":["get","ref"],"text-size":9,"icon-image":["concat","motorway-exit-",["to-string",["get","reflen"]]],"text-font":[["concat",["config","font"]," Bold"],"Arial Unicode MS Bold"]},paint:{"icon-emissive-strength":.8,"text-emissive-strength":.9,"text-color":"hsl(0, 0%, 100%)","text-translate":[0,0]}},{id:"gate-label",type:"symbol",metadata:{"mapbox:group":"building labels"},source:"composite","source-layer":"structure",minzoom:17,filter:["all",["==",["get","class"],"gate"],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<=",["distance-from-center"],.4],50,["<",["distance-from-center"],.2],55,["<",["distance-from-center"],0],60,["<",["distance-from-center"],-.05]]]],layout:{visibility:["case",["config","showRoadLabels"],"visible","none"],"icon-image":["match",["get","type"],"gate","gate","lift_gate","lift-gate",""]},paint:{"icon-emissive-strength":.8}},{id:"building-entrance",type:"symbol",metadata:{"mapbox:group":"building labels"},source:"composite","source-layer":"structure",minzoom:18,filter:["all",["==",["get","class"],"entrance"],["case",["<=",["pitch"],40],!0,!1]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"icon-image":"marker","text-field":["get","ref"],"text-size":10,"text-offset":[0,-.5],"text-font":[["concat",["config","font"]," Regular"],"Arial Unicode MS Regular"]},paint:{"text-color":"hsl(20, 0%, 60%)","text-halo-color":"hsl(20, 17%, 100%)","icon-opacity":.4}},{id:"building-number-label",type:"symbol",metadata:{"mapbox:group":"building labels"},source:"composite","source-layer":"housenum_label",minzoom:17,filter:["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],.4],50,["<",["distance-from-center"],.2],55,["<",["distance-from-center"],0],60,["<=",["distance-from-center"],-.4]]],layout:{"symbol-z-elevate":!0,visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["get","house_num"],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-max-width":10,"text-size":10,"text-padding":20},paint:{"text-emissive-strength":1.4,"text-color":"hsl(20, 0%, 60%)","text-halo-color":"hsl(20, 17%, 100%)"}},{id:"block-number-label",type:"symbol",metadata:{"mapbox:group":"building labels"},source:"composite","source-layer":"place_label",minzoom:16,filter:["all",["==",["get","class"],"settlement_subdivision"],["==",["get","type"],"block"],["case",["<=",["pitch"],60],!0,["<=",["distance-from-center"],.5]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["get","name"],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-max-width":7,"text-size":11},paint:{"text-color":"hsl(20, 0%, 60%)","text-halo-color":"hsl(20, 17%, 100%)"}},{id:"poi-label",type:"symbol",metadata:{"mapbox:group":"poi labels"},source:"composite","source-layer":"poi",minzoom:6,filter:["all",["has","sub_category"],["case",["<=",["pitch"],15],["<=",["number",["get","filterrank"]],["+",["step",["zoom"],1,16,2,18,3],["match",["get","category"],"park_like",4,"visitor_amenities",2,"store_like",3,"lodging",1,2]]],["<=",["number",["get","filterrank"]],["+",["step",["zoom"],1,16,2,18,3],["match",["get","category"],"park_like",4,["food_and_drink","visitor_amenities","lodging"],1,"religion",0,2]]]],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],1.2],50,["<",["distance-from-center"],1],55,["<",["distance-from-center"],.8],60,["<=",["distance-from-center"],.6]]],["match",["get","category"],["sport_and_leisure","visitor_amenities","commercial_services","general"],[">",["get","reality_score"],.95],["building","lodging","medical","store_like","food_and_drink","food_and_drink_stores","motorist","industrial","education"],[">",["get","reality_score"],.85],!0]],layout:{"text-size":13,"icon-image":["image",["string",["get","icon"]],{params:{"background-stroke":"hsl(0, 0%, 0%)",icon:["case",["==",["get","icon"],"marker"],"hsla(0, 0%, 0%, 0)","hsl(0, 0%, 0%)"],background:["match",["get","category"],"food_and_drink","hsl(40, 100%, 70%)","education","hsl(30, 100%, 65%)","medical","hsl(0, 100%, 80%)","sport_and_leisure","hsl(190, 60%, 70%)",["store_like","food_and_drink_stores"],"hsl(210, 100%, 75%)",["case",["any",["in",["get","icon"],["literal",["communications-tower","museum","zoo"]]],["in",["get","category"],["literal",["arts_and_entertainment","historic","landmark"]]]],"hsl(320, 90%, 80%)",["any",["==",["get","icon"],"car-repair"],["in",["get","category"],["literal",["commercial_services","motorist","lodging"]]]],"hsl(260, 100%, 80%)",["any",["==",["get","icon"],"picnic-site"],["==",["get","category"],"park_like"]],"hsl(110, 65%, 60%)",["==",["get","icon"],"terminal"],"hsl(220, 100%, 70%)","hsl(0, 0%, 90%)"]],"icon-stroke":"hsla(0, 0%, 0%, 0)"}}],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-padding":["interpolate",["linear"],["zoom"],16,6,17,4],visibility:["case",["config","showPointOfInterestLabels"],"visible","none"],"symbol-z-elevate":!0,"text-offset":["case",["match",["get","category"],["building","general","place_like"],!0,!1],["literal",[0,-.6]],["literal",[0,.8]]],"text-anchor":["case",["match",["get","category"],["building","general","place_like"],!0,!1],"bottom","top"],"text-field":["format",["get","name"],{}]},paint:{"text-emissive-strength":["match",["config","theme"],"monochrome",.7,1],"icon-emissive-strength":["match",["config","theme"],"monochrome",.7,1],"text-opacity":1,"icon-opacity":["step",["zoom"],["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,5,1]],17,["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,13,1]]],"text-halo-width":1,"text-halo-color":"hsl(0, 0%, 15%)","text-color":["match",["get","category"],"food_and_drink","hsl(40, 100%, 75%)","park_like","hsl(110, 65%, 65%)","education","hsl(30, 100%, 70%)","medical","hsl(0, 100%, 85%)","sport_and_leisure","hsl(190, 60%, 75%)",["store_like","food_and_drink_stores"],"hsl(210, 100%, 80%)",["commercial_services","motorist","lodging"],"hsl(260, 100%, 85%)",["arts_and_entertainment","historic","landmark"],"hsl(320, 90%, 85%)",["match",["get","maki_beta"],"terminal","hsl(220, 100%, 80%)","hsl(0, 0%, 90%)"]]}},{id:"poi-label-osm",type:"symbol",metadata:{"mapbox:group":"poi labels"},source:"composite","source-layer":"poi",minzoom:6,filter:["all",["!",["has","sub_category"]],["case",["<=",["pitch"],15],["<=",["number",["get","filterrank"]],["+",["step",["zoom"],1,16,2,18,3],["match",["get","class"],"park_like",4,"visitor_amenities",2,"store_like",3,"lodging",1,2]]],["<=",["number",["get","filterrank"]],["+",["step",["zoom"],1,16,2,18,3],["match",["get","class"],"park_like",4,["food_and_drink","visitor_amenities","lodging"],1,"religion",0,2]]]],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],1.2],50,["<",["distance-from-center"],1],55,["<",["distance-from-center"],.8],60,["<=",["distance-from-center"],.6]]],["all",["match",["get","type"],"Toilets",[">=",["zoom"],17],!0]]],layout:{"text-size":["step",["zoom"],["step",["number",["get","sizerank"]],18,5,13],17,["step",["number",["get","sizerank"]],18,13,13]],"icon-image":["case",["has","maki_beta"],["coalesce",["image",["string",["get","maki_beta"]],{params:{"background-stroke":"hsl(0, 0%, 0%)",icon:["case",["==",["get","maki_beta"],"marker"],"hsla(0, 0%, 0%, 0)","hsl(0, 0%, 0%)"],background:["match",["get","class"],"food_and_drink","hsl(40, 100%, 70%)","education","hsl(30, 100%, 65%)","medical","hsl(0, 100%, 80%)","sport_and_leisure","hsl(190, 60%, 70%)",["store_like","food_and_drink_stores"],"hsl(210, 100%, 75%)",["case",["any",["in",["get","maki"],["literal",["communications-tower","museum","zoo"]]],["in",["get","class"],["literal",["arts_and_entertainment","historic","landmark"]]]],"hsl(320, 90%, 80%)",["any",["==",["get","maki"],"car-repair"],["in",["get","class"],["literal",["commercial_services","motorist","lodging"]]]],"hsl(260, 100%, 80%)",["any",["==",["get","maki"],"picnic-site"],["==",["get","class"],"park_like"]],"hsl(110, 65%, 60%)",["==",["get","maki_beta"],"terminal"],"hsl(220, 100%, 70%)","hsl(0, 0%, 90%)"]],"icon-stroke":"hsla(0, 0%, 0%, 0)"}}],["image",["string",["get","maki"]],{params:{"background-stroke":"hsl(0, 0%, 0%)",icon:["case",["==",["get","maki"],"marker"],"hsla(0, 0%, 0%, 0)","hsl(0, 0%, 0%)"],background:["match",["get","class"],"food_and_drink","hsl(40, 100%, 70%)","education","hsl(30, 100%, 65%)","medical","hsl(0, 100%, 80%)","sport_and_leisure","hsl(190, 60%, 70%)",["store_like","food_and_drink_stores"],"hsl(210, 100%, 75%)",["case",["any",["in",["get","maki"],["literal",["communications-tower","museum","zoo"]]],["in",["get","class"],["literal",["arts_and_entertainment","historic","landmark"]]]],"hsl(320, 90%, 80%)",["any",["==",["get","maki"],"car-repair"],["in",["get","class"],["literal",["commercial_services","motorist","lodging"]]]],"hsl(260, 100%, 80%)",["any",["==",["get","maki"],"picnic-site"],["==",["get","class"],"park_like"]],"hsl(110, 65%, 60%)",["==",["get","maki"],"terminal"],"hsl(220, 100%, 70%)","hsl(0, 0%, 90%)"]],"icon-stroke":"hsla(0, 0%, 0%, 0)"}}]],["image",["string",["get","maki"]],{params:{"background-stroke":"hsl(0, 0%, 0%)",icon:["case",["==",["get","maki"],"marker"],"hsla(0, 0%, 0%, 0)","hsl(0, 0%, 0%)"],background:["match",["get","class"],"food_and_drink","hsl(40, 100%, 70%)","education","hsl(30, 100%, 65%)","medical","hsl(0, 100%, 80%)","sport_and_leisure","hsl(190, 60%, 70%)",["store_like","food_and_drink_stores"],"hsl(210, 100%, 75%)",["case",["any",["in",["get","maki"],["literal",["communications-tower","museum","zoo"]]],["in",["get","class"],["literal",["arts_and_entertainment","historic","landmark"]]]],"hsl(320, 90%, 80%)",["any",["==",["get","maki"],"car-repair"],["in",["get","class"],["literal",["commercial_services","motorist","lodging"]]]],"hsl(260, 100%, 80%)",["any",["==",["get","maki"],"picnic-site"],["==",["get","class"],"park_like"]],"hsl(110, 65%, 60%)",["==",["get","maki"],"terminal"],"hsl(220, 100%, 70%)","hsl(0, 0%, 90%)"]],"icon-stroke":"hsla(0, 0%, 0%, 0)"}}]],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-padding":["interpolate",["linear"],["zoom"],16,6,17,4],visibility:["case",["config","showPointOfInterestLabels"],"visible","none"],"symbol-z-elevate":!0,"text-offset":["step",["zoom"],["case",["all",["!=",["get","maki_beta"],"terminal"],["match",["get","class"],["building","general","place_like"],!0,!1]],["literal",[0,-.6]],["step",["number",["get","sizerank"]],["literal",[0,0]],5,["literal",[0,.8]]]],17,["case",["all",["!=",["get","maki_beta"],"terminal"],["match",["get","class"],["building","general","place_like"],!0,!1]],["literal",[0,-.6]],["step",["number",["get","sizerank"]],["literal",[0,0]],13,["literal",[0,.8]]]]],"text-anchor":["step",["zoom"],["case",["all",["!=",["get","maki_beta"],"terminal"],["match",["get","class"],["building","general","place_like"],!0,!1]],"bottom",["step",["number",["get","sizerank"]],"center",5,"top"]],17,["case",["all",["!=",["get","maki_beta"],"terminal"],["match",["get","class"],["building","general","place_like"],!0,!1]],"bottom",["step",["number",["get","sizerank"]],"center",13,"top"]]],"text-field":["format",["coalesce",["get","name_en"],["get","name"]],{}]},paint:{"icon-emissive-strength":.8,"text-emissive-strength":.9,"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["step",["zoom"],["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,5,1]],17,["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,13,1]]],"text-halo-width":1.2,"text-halo-color":"hsl(0, 0%, 15%)","text-color":["match",["get","class"],"food_and_drink","hsl(40, 100%, 75%)","park_like","hsl(110, 65%, 65%)","education","hsl(30, 100%, 70%)","medical","hsl(0, 100%, 85%)","sport_and_leisure","hsl(190, 60%, 75%)",["store_like","food_and_drink_stores"],"hsl(210, 100%, 80%)",["commercial_services","motorist","lodging"],"hsl(260, 100%, 85%)",["arts_and_entertainment","historic","landmark"],"hsl(320, 90%, 85%)",["match",["get","maki_beta"],"terminal","hsl(220, 100%, 80%)","hsl(0, 0%, 90%)"]]}},{id:"top",type:"slot",metadata:{"mapbox:description":"Above POI labels and behind Place and Transit labels"}},{id:"transit-label",type:"symbol",metadata:{"mapbox:group":"transit labels"},source:"composite","source-layer":"transit_stop_label",minzoom:12,filter:["all",["step",["zoom"],["all",["!=",["get","mode"],"bus"],["!=",["get","stop_type"],"entrance"]],17,["!=",["get","stop_type"],"entrance"],19,!0],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],1],50,["<",["distance-from-center"],.8],55,["<",["distance-from-center"],.4],60,["<=",["distance-from-center"],-.1]]]],layout:{"text-size":13,"icon-image":["image",["string",["get","network"]],{params:{background:"hsl(220, 100%, 70%)","background-stroke":"hsl(0, 0%, 0%)",icon:"hsl(0, 0%, 0%)"}}],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-justify":["match",["get","stop_type"],"entrance","left","center"],visibility:["case",["config","showTransitLabels"],"visible","none"],"text-offset":["match",["get","stop_type"],"entrance",["literal",[1,0]],["literal",[0,.6]]],"text-anchor":["match",["get","stop_type"],"entrance","left","top"],"text-field":["step",["zoom"],["format","",{}],13,["match",["get","mode"],["metro_rail","rail"],["format",["coalesce",["get","name_en"],["get","name"]],{}],["format","",{}]],14,["match",["get","mode"],["bicycle","bus"],["format","",{}],["format",["coalesce",["get","name_en"],["get","name"]],{}]],18,["format",["coalesce",["get","name_en"],["get","name"]],{}]],"text-letter-spacing":.01,"text-max-width":["match",["get","stop_type"],"entrance",15,9]},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-emissive-strength":.8,"text-emissive-strength":.9,"text-halo-width":1.2,"text-halo-color":"hsl(0, 0%, 10%)","text-color":["match",["get","network"],"tokyo-metro","hsl(180, 50%, 30%)","mexico-city-metro","hsl(25, 100%, 63%)",["barcelona-metro","delhi-metro","hong-kong-mtr","milan-metro","osaka-subway"],"hsl(0, 90%, 47%)",["boston-t","washington-metro"],"hsl(230, 18%, 20%)",["chongqing-rail-transit","kiev-metro","singapore-mrt","taipei-metro"],"hsl(140, 90%, 25%)","hsl(225, 100%, 82%)"]}},{id:"airport-label",type:"symbol",metadata:{"mapbox:group":"transit labels"},source:"composite","source-layer":"airport_label",minzoom:8,filter:["all",["match",["get","class"],["military","civil","disputed_military","disputed_civil"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{"text-line-height":1.1,"text-size":["step",["get","sizerank"],18,9,13],"icon-image":["image",["string",["get","maki"]],{params:{background:"hsl(220, 100%, 70%)","background-stroke":"hsl(0, 0%, 0%)",icon:"hsl(0, 0%, 0%)"}}],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],visibility:["case",["config","showTransitLabels"],"visible","none"],"text-offset":[0,.8],"text-rotation-alignment":"viewport","text-anchor":"top","text-field":["step",["get","sizerank"],["case",["has","ref"],["concat",["get","ref"],` -
218
218
  `,["coalesce",["get","name_en"],["get","name"]]],["coalesce",["get","name_en"],["get","name"]]],15,["get","ref"]],"text-letter-spacing":.01,"text-max-width":9},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-emissive-strength":.8,"text-emissive-strength":.9,"text-color":"hsl(225, 100%, 82%)","text-halo-color":"hsl(0, 0%, 10%)","text-halo-width":1.2}},{id:"settlement-subdivision-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:10,maxzoom:15,filter:["all",["match",["get","class"],["disputed_settlement_subdivision","settlement_subdivision"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["<=",["number",["get","filterrank"]],3],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],1.5]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-transform":"uppercase","text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-letter-spacing":["match",["get","type"],"suburb",.15,.05],"text-max-width":7,"text-padding":3,"text-size":["interpolate",["cubic-bezier",.5,0,1,1],["zoom"],11,["match",["get","type"],"suburb",12,11.5],15,["match",["get","type"],"suburb",16,15]]},paint:{"text-emissive-strength":["case",["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.8],"text-halo-color":["case",["to-boolean",["feature-state","select"]],"hsl(0, 0%, 15%)",["to-boolean",["feature-state","highlight"]],"hsl(0, 0%, 15%)","hsl(0, 0%, 25%)"],"text-halo-width":1.5,"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],"hsl(0, 0%, 100%)"],"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.8],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1]}},{id:"settlement-minor-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:2,maxzoom:13,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["step",["zoom"],[">",["get","symbolrank"],6],4,[">=",["get","symbolrank"],7],6,[">=",["get","symbolrank"],8],7,[">=",["get","symbolrank"],10],10,[">=",["get","symbolrank"],11],11,[">=",["get","symbolrank"],13],12,[">=",["get","symbolrank"],15]],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],11,9,10],6,["step",["get","symbolrank"],14,9,12,12,10],8,["step",["get","symbolrank"],16,9,14,12,12,15,10],13,["step",["get","symbolrank"],22,9,20,12,16,15,14]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],["image","border-dot-13",{params:{"color-primary":"hsl(0, 0%, 100%)","color-secondary":"hsl(0, 0%, 0%)"}}],["step",["get","symbolrank"],["image","dot-11",{params:{"color-primary":"hsl(0, 0%, 100%)","color-secondary":"hsl(0, 0%, 0%)"}}],9,["image","dot-10",{params:{"color-primary":"hsl(0, 0%, 100%)","color-secondary":"hsl(0, 0%, 0%)"}}],11,["image","dot-9",{params:{"color-primary":"hsl(0, 0%, 100%)","color-secondary":"hsl(0, 0%, 0%)"}}]]],8,""],"text-font":[["concat",["config","font"]," Regular"],"Arial Unicode MS Regular"],"text-justify":"auto",visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.02,"text-max-width":7},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],"hsl(0, 0%, 100%)"],"text-halo-color":["case",["to-boolean",["feature-state","select"]],"hsl(0, 0%, 15%)",["to-boolean",["feature-state","highlight"]],"hsl(0, 0%, 15%)","hsl(0, 0%, 25%)"],"text-halo-width":1.25}},{id:"settlement-major-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:2,maxzoom:15,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["step",["zoom"],!1,2,["<=",["get","symbolrank"],6],4,["<",["get","symbolrank"],7],6,["<",["get","symbolrank"],8],7,["<",["get","symbolrank"],10],10,["<",["get","symbolrank"],11],11,["<",["get","symbolrank"],13],12,["<",["get","symbolrank"],15],13,[">=",["get","symbolrank"],11],14,[">=",["get","symbolrank"],15]],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],13,6,11],6,["step",["get","symbolrank"],18,6,16,7,14],8,["step",["get","symbolrank"],20,9,16,10,14],15,["step",["get","symbolrank"],24,9,20,12,16,15,14]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],["image","border-dot-13",{params:{"color-primary":"hsl(0, 0%, 100%)","color-secondary":"hsl(0, 0%, 0%)"}}],["step",["get","symbolrank"],["image","dot-11",{params:{"color-primary":"hsl(0, 0%, 100%)","color-secondary":"hsl(0, 0%, 0%)"}}],9,["image","dot-10",{params:{"color-primary":"hsl(0, 0%, 100%)","color-secondary":"hsl(0, 0%, 0%)"}}],11,["image","dot-9",{params:{"color-primary":"hsl(0, 0%, 100%)","color-secondary":"hsl(0, 0%, 0%)"}}]]],8,""],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],8,"center"],visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.02,"text-max-width":7},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],"hsl(0, 0%, 100%)"],"text-halo-color":["case",["to-boolean",["feature-state","select"]],"hsl(0, 0%, 15%)",["to-boolean",["feature-state","highlight"]],"hsl(0, 0%, 15%)","hsl(0, 0%, 25%)"],"text-halo-width":1.25}},{id:"state-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:3,maxzoom:9,filter:["all",["match",["get","class"],["state","disputed_state"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-size":["interpolate",["cubic-bezier",.85,.7,.65,1],["zoom"],4,["step",["get","symbolrank"],9,6,8,7,7],9,["step",["get","symbolrank"],21,6,16,7,14]],"text-transform":"uppercase","text-font":[["concat",["config","font"]," Bold"],"Arial Unicode MS Bold"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.15,"text-max-width":6},paint:{"text-emissive-strength":["case",["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.8],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],"hsl(0, 0%, 100%)"],"text-halo-color":["case",["to-boolean",["feature-state","select"]],"hsl(0, 0%, 15%)",["to-boolean",["feature-state","highlight"]],"hsl(0, 0%, 15%)","hsl(0, 0%, 25%)"],"text-halo-width":1.5,"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.5]}},{id:"country-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:1,maxzoom:10,filter:["all",["match",["get","class"],["country","disputed_country"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.7,1],["zoom"],1,["step",["get","symbolrank"],11,4,9,5,8],9,["step",["get","symbolrank"],22,4,19,5,17]],"text-radial-offset":["step",["zoom"],.6,8,0],"icon-image":"","text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],7,"auto"],visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":6},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-emissive-strength":["case",["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.8],"icon-opacity":["step",["zoom"],["case",["has","text_anchor"],1,0],7,0],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],"hsl(0, 0%, 100%)"],"text-halo-color":["case",["to-boolean",["feature-state","select"]],"hsl(0, 0%, 15%)",["to-boolean",["feature-state","highlight"]],"hsl(0, 0%, 15%)","hsl(0, 0%, 25%)"],"text-halo-width":1.25}},{id:"continent-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"natural_label",minzoom:.75,maxzoom:3,filter:["all",["==",["get","class"],"continent"],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-line-height":1.1,"text-max-width":6,"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-size":["interpolate",["exponential",.5],["zoom"],0,10,2.5,15],"text-transform":"uppercase","text-letter-spacing":.05},paint:{"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],"hsl(0, 0%, 100%)"],"text-halo-color":["case",["to-boolean",["feature-state","select"]],"hsl(0, 0%, 15%)",["to-boolean",["feature-state","highlight"]],"hsl(0, 0%, 15%)","hsl(0, 0%, 25%)"],"text-halo-width":1.5,"text-opacity":["interpolate",["linear"],["zoom"],0,["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.8],1.5,["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.5],2.5,["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.5]]}}],models:{"maple2-lod1":"mapbox://models/mapbox/maple2-lod1.glb","palm1-lod3":"mapbox://models/mapbox/palm1-lod3.glb","maple1-lod1":"mapbox://models/mapbox/maple1-lod1.glb","maple2-lod2":"mapbox://models/mapbox/maple2-lod2.glb","palm1-lod4":"mapbox://models/mapbox/palm1-lod4.glb","maple1-lod2":"mapbox://models/mapbox/maple1-lod2.glb","maple2-lod3":"mapbox://models/mapbox/maple2-lod3.glb","turbinetower-lod1":"mapbox://models/mapbox/turbinetower-lod1.glb","maple1-lod3":"mapbox://models/mapbox/maple1-lod3.glb","maple2-lod4":"mapbox://models/mapbox/maple2-lod4.glb","turbinetower-lod2":"mapbox://models/mapbox/turbinetower-lod2.glb","maple1-lod4":"mapbox://models/mapbox/maple1-lod4.glb","oak2-lod1":"mapbox://models/mapbox/oak2-lod1.glb","oak1-lod1":"mapbox://models/mapbox/oak1-lod1.glb","oak2-lod2":"mapbox://models/mapbox/oak2-lod2.glb","oak1-lod2":"mapbox://models/mapbox/oak1-lod2.glb","oak2-lod3":"mapbox://models/mapbox/oak2-lod3.glb","oak1-lod3":"mapbox://models/mapbox/oak1-lod3.glb","oak2-lod4":"mapbox://models/mapbox/oak2-lod4.glb","oak1-lod4":"mapbox://models/mapbox/oak1-lod4.glb","turbinerotor-lod1":"mapbox://models/mapbox/turbinerotor-lod1.glb","turbinerotor-lod2":"mapbox://models/mapbox/turbinerotor-lod2.glb","pine2-lod1":"mapbox://models/mapbox/pine2-lod1.glb","pine1-lod1":"mapbox://models/mapbox/pine1-lod1.glb","pine2-lod2":"mapbox://models/mapbox/pine2-lod2.glb","pine1-lod2":"mapbox://models/mapbox/pine1-lod2.glb","pine2-lod3":"mapbox://models/mapbox/pine2-lod3.glb","pine1-lod3":"mapbox://models/mapbox/pine1-lod3.glb","palm1-lod1":"mapbox://models/mapbox/palm1-lod1.glb","pine2-lod4":"mapbox://models/mapbox/pine2-lod4.glb","pine1-lod4":"mapbox://models/mapbox/pine1-lod4.glb","palm1-lod2":"mapbox://models/mapbox/palm1-lod2.glb"},featuresets:{poi:{metadata:{"mapbox:title":"Points of interest","mapbox:description":"A point of interest.","mapbox:states":[{id:"hide",type:"boolean",doc:"When `true`, hides the icon and text. Use this state when displaying a custom annotation on top.",importConfigs:[]}],"mapbox:properties":[{name:"name",type:"string",doc:"Name of the point of interest."},{name:"group",type:"string",doc:"A high-level category, like POI, airport, transit, etc."},{name:"class",type:"string",doc:"A broad category of point of interest."},{name:"maki",type:"string",doc:"An icon identifier, designed to assign icons using the Maki icon project or other icons that follow the same naming scheme."},{name:"transit_mode",type:"string",doc:"Mode of transport served by a stop/station. Expected to be null for non-transit points of interest."},{name:"transit_stop_type",type:"string",doc:"A type of transit stop. Expected to be null for non-transit points of interest."},{name:"transit_network",type:"string",doc:"A rail station network identifier that is part of specific local or regional transit systems. Expected to be null for non-transit points of interest."},{name:"airport_ref",type:"string",doc:"A short identifier code of the airport. Expected to be null for non-airport points of interest"}]},selectors:[{layer:"poi-label-osm",properties:{name:["get","name"],class:["get","class"],maki:["coalesce",["get","maki_beta"],["get","maki"]],group:"poi"},featureNamespace:"poi-A"},{layer:"poi-label",properties:{name:["get","name"],class:["get","category"],maki:["get","icon"],group:"poi"},featureNamespace:"poi-A"},{layer:"transit-label",properties:{name:["get","name"],transit_mode:["get","mode"],transit_stop_type:["get","stop_type"],transit_network:["get","network"],group:"transit"},featureNamespace:"poi-B"},{layer:"airport-label",properties:{name:["get","name"],class:["get","class"],maki:["get","maki"],airport_ref:["get","ref"],group:"airport"},featureNamespace:"poi-C"},{layer:"natural-point-label",properties:{name:["get","name"],class:["get","class"],maki:["coalesce",["get","maki_beta"],["get","maki"]],group:"natural-point"},featureNamespace:"poi-D"}]},"place-labels":{metadata:{"mapbox:title":"Place labels","mapbox:description":"Points for labeling places including countries, states, cities, towns, and neighborhoods.","mapbox:states":[{id:"hide",type:"boolean",doc:"When `true`, hides the label. Use this state when displaying a custom annotation on top.",importConfigs:[]},{id:"highlight",type:"boolean",doc:"When `true`, the feature is highlighted. Use this state to create a temporary effect (e.g. hover).",importConfigs:["colorPlaceLabelHighlight"]},{id:"select",type:"boolean",doc:"When `true`, the feature is selected. Use this state to create a permanent effect. Note: the `select` state has a higher priority than `highlight`.",importConfigs:["colorPlaceLabelSelect"]}],"mapbox:properties":[{name:"name",type:"string",doc:"Name of the place label."},{name:"class",type:"string",doc:"Provides a broad distinction between place types."}]},selectors:[{layer:"continent-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-A"},{layer:"country-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"state-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"settlement-major-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"settlement-minor-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"settlement-subdivision-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"}]}},created:"2024-07-26T16:01:36.908Z",modified:"2025-07-22T16:17:01.022Z",id:"standard-satellite",owner:"mapbox",visibility:"public",protected:!0,draft:!1}}],sources:{"mapbox://mapbox.satellite":{url:"mapbox://mapbox.satellite",type:"raster",tileSize:256},composite:{url:"mapbox://mapbox.mapbox-streets-v8,mapbox.country-boundaries-v1,neatchenheng.82kqbc1q,neatchenheng.d44z21eg,neatchenheng.a4ifbysm,neatchenheng.27issko0,neatchenheng.9uwc9x7l,neatchenheng.7y3kpvvv,neatchenheng.dlkkohie",type:"vector"}},sprite:"mapbox://sprites/neatchenheng/cmdiadnej03n101r485bs2m6a/3ypt5l12v7es7ihchvsclc3i2",glyphs:"mapbox://fonts/mapbox/{fontstack}/{range}.pbf",projection:{name:"equirectangular"},layers:[{id:"background",type:"background",layout:{},paint:{"background-color":"hsl(222, 56%, 4%)"},metadata:{"mapbox:featureComponent":"satellite","mapbox:group":"Satellite imagery, land"}},{id:"satellite",type:"raster",source:"mapbox://mapbox.satellite",layout:{},paint:{},metadata:{"mapbox:featureComponent":"satellite","mapbox:group":"Satellite imagery, land"}},{minzoom:7,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","admin_level"],1],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-1-boundary-bg",paint:{"line-color":"hsl(260, 45%, 0%)","line-width":["interpolate",["linear"],["zoom"],3,3,12,6],"line-opacity":["interpolate",["linear"],["zoom"],7,0,8,.5],"line-dasharray":[1,0],"line-blur":["interpolate",["linear"],["zoom"],3,0,12,3]},"source-layer":"admin"},{minzoom:1,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","admin_level"],0],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-0-boundary-bg",paint:{"line-width":["interpolate",["linear"],["zoom"],3,6,12,12],"line-color":"hsl(260, 45%, 0%)","line-opacity":["interpolate",["linear"],["zoom"],3,0,4,.5],"line-blur":["interpolate",["linear"],["zoom"],3,0,12,3]},"source-layer":"admin"},{minzoom:2,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","admin_level"],1],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-1-boundary",paint:{"line-dasharray":["step",["zoom"],["literal",[2,0]],7,["literal",[2,2,6,2]]],"line-width":["interpolate",["linear"],["zoom"],3,.3,12,1.5],"line-opacity":["interpolate",["linear"],["zoom"],2,0,3,1],"line-color":"hsl(260, 15%, 85%)"},"source-layer":"admin"},{minzoom:1,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","admin_level"],0],["==",["get","disputed"],"false"],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-0-boundary",paint:{"line-color":"hsl(260, 15%, 80%)","line-width":["interpolate",["linear"],["zoom"],3,.75,12,3],"line-dasharray":["step",["zoom"],["literal",[2,0]],7,["literal",[2,2,6,2]]]},"source-layer":"admin"},{minzoom:1,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","disputed"],"true"],["==",["get","admin_level"],0],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-0-boundary-disputed",paint:{"line-color":"hsl(260, 15%, 80%)","line-width":["interpolate",["linear"],["zoom"],3,.75,12,3],"line-dasharray":["step",["zoom"],["literal",[3,2,5]],7,["literal",[2,1.5]]]},"source-layer":"admin"},{id:"empty-layer-0",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-1",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{type:"fill",source:"composite",id:"country-boundaries",paint:{"fill-color":"rgb(2, 45, 62)"},slot:"","source-layer":"country_boundaries",layout:{visibility:"none"}},{id:"empty-layer-2",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-3",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-4",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{minzoom:10,layout:{"text-field":["coalesce",["get","name_en"],["get","name"]],"text-transform":"uppercase","text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-letter-spacing":["match",["get","type"],"suburb",.15,.05],"text-max-width":7,"text-padding":3,"text-size":["interpolate",["cubic-bezier",.5,0,1,1],["zoom"],11,["match",["get","type"],"suburb",12.100000000000001,11.55],15,["match",["get","type"],"suburb",16.5,15.400000000000002]],visibility:"none"},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:15,filter:["all",["match",["get","class"],["settlement_subdivision","disputed_settlement_subdivision"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["<=",["get","filterrank"],4],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"settlement-subdivision-label",paint:{"text-halo-color":"hsla(0, 5%, 0%, 0.75)","text-halo-width":1,"text-color":"hsl(0, 0%, 100%)","text-halo-blur":.5},"source-layer":"place_label"},{minzoom:2,layout:{"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],12.100000000000001,9,11],6,["step",["get","symbolrank"],15.400000000000002,9,13.200000000000001,12,11],8,["step",["get","symbolrank"],17.6,9,15.400000000000002,12,13.200000000000001,15,11],13,["step",["get","symbolrank"],24.200000000000003,9,22,12,17.6,15,15.400000000000002]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],"border-dot-13",["step",["get","symbolrank"],"dot-11",9,"dot-10",11,"dot-9"]],8,""],"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-justify":"auto",visibility:"none","text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":7},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:13,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["zoom"],[">",["get","symbolrank"],6],4,[">=",["get","symbolrank"],7],6,[">=",["get","symbolrank"],8],7,[">=",["get","symbolrank"],10],10,[">=",["get","symbolrank"],11],11,[">=",["get","symbolrank"],13],12,[">=",["get","symbolrank"],15]],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"settlement-minor-label",paint:{"text-color":"hsl(0, 0%, 95%)","text-halo-color":"hsl(0, 5%, 0%)","text-halo-width":1,"text-halo-blur":1},"source-layer":"place_label"},{minzoom:2,layout:{"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],14.3,6,12.100000000000001],6,["step",["get","symbolrank"],19.8,6,17.6,7,15.400000000000002],8,["step",["get","symbolrank"],22,9,17.6,10,15.400000000000002],15,["step",["get","symbolrank"],26.400000000000002,9,22,12,17.6,15,15.400000000000002]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],"border-dot-13",["step",["get","symbolrank"],"dot-11",9,"dot-10",11,"dot-9"]],8,""],"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],8,"center"],visibility:"none","text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":7},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:15,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["zoom"],!1,2,["<=",["get","symbolrank"],6],4,["<",["get","symbolrank"],7],6,["<",["get","symbolrank"],8],7,["<",["get","symbolrank"],10],10,["<",["get","symbolrank"],11],11,["<",["get","symbolrank"],13],12,["<",["get","symbolrank"],15],13,[">=",["get","symbolrank"],11],14,[">=",["get","symbolrank"],15]],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"settlement-major-label",paint:{"text-color":"hsl(0, 0%, 95%)","text-halo-color":"hsl(0, 5%, 0%)","text-halo-width":1,"text-halo-blur":1},"source-layer":"place_label"},{minzoom:3,layout:{"text-size":["interpolate",["cubic-bezier",.85,.7,.65,1],["zoom"],4,["step",["get","symbolrank"],9.9,6,8.8,7,7.700000000000001],9,["step",["get","symbolrank"],23.1,6,17.6,7,15.400000000000002]],"text-transform":"uppercase","text-font":["DIN Pro Bold","Arial Unicode MS Bold"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.15,"text-max-width":6,visibility:"none"},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:9,filter:["all",["match",["get","class"],["state","disputed_state"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"state-label",paint:{"text-color":"hsl(0, 0%, 95%)","text-halo-color":"hsl(0, 5%, 0%)","text-halo-width":1,"text-opacity":.5},"source-layer":"place_label"},{minzoom:1,layout:{"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.7,1],["zoom"],1,["step",["get","symbolrank"],12.100000000000001,4,9.9,5,8.8],9,["step",["get","symbolrank"],24.200000000000003,4,20.900000000000002,5,18.700000000000003]],"text-radial-offset":["step",["zoom"],.6,8,0],"icon-image":"","text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],7,"auto"],visibility:"none","text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":6},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:10,filter:["all",["match",["get","class"],["country","disputed_country"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"country-label",paint:{"icon-opacity":["step",["zoom"],["case",["has","text_anchor"],1,0],7,0],"text-color":"hsl(0, 0%, 95%)","text-halo-color":["interpolate",["linear"],["zoom"],2,"hsla(0, 5%, 0%, 0.75)",3,"hsl(0, 5%, 0%)"],"text-halo-width":1.25},"source-layer":"place_label"},{minzoom:.75,layout:{"text-field":["coalesce",["get","name_en"],["get","name"]],"text-line-height":1.1,"text-max-width":6,"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-size":["interpolate",["exponential",.5],["zoom"],0,11,2.5,16.5],"text-transform":"uppercase","text-letter-spacing":.05,visibility:"none"},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:3,filter:["==",["get","class"],"continent"],type:"symbol",source:"composite",id:"continent-label",paint:{"text-color":"hsl(0, 0%, 95%)","text-halo-color":["interpolate",["linear"],["zoom"],0,"hsla(0, 5%, 0%, 0.75)",3,"hsl(0, 5%, 0%)"],"text-halo-width":1.5,"text-opacity":["interpolate",["linear"],["zoom"],0,.8,1.5,.5,2.5,0]},"source-layer":"natural_label"},{id:"water-outline",type:"line",paint:{"line-color":"rgb(0, 96, 107)"},layout:{visibility:"none"},source:"composite","source-layer":"water"},{id:"world-12nm-v4-20231025",minzoom:3,type:"line",paint:{"line-color":"rgb(241, 46, 39)"},layout:{visibility:"none"},source:"composite","source-layer":"eez_12nm_new1-6jzkww"},{id:"china-taiwan",minzoom:3,type:"line",paint:{"line-color":"rgb(241, 46, 39)"},layout:{visibility:"none"},source:"composite","source-layer":"eez-d4udtm"},{id:"ne-10m-outline",type:"line",paint:{"line-color":"rgb(115, 115, 115)"},layout:{visibility:"none"},source:"composite","source-layer":"ne_10m_geography_marine_polys-3968bv"},{id:"ne-10m-label",type:"symbol",paint:{"text-color":"rgb(255, 255, 255)"},layout:{"text-field":["to-string",["get","name"]],"text-size":12,visibility:"none"},source:"composite","source-layer":"ne_10m_geography_marine_polys-3968bv"},{id:"china-route-line",type:"line",paint:{"line-color":"rgba(119, 239, 157, 1)","line-width":2},layout:{visibility:"none"},source:"composite","source-layer":"china_route-bdtx5d"},{id:"china-route-fill",type:"fill",paint:{"fill-color":"rgba(119, 239, 157, 1)","fill-opacity":.2},layout:{visibility:"none"},source:"composite",filter:["match",["get","featureType"],["route"],!0,!1],"source-layer":"china_route-bdtx5d"},{id:"china-route-label",type:"symbol",paint:{"text-color":"rgb(255, 255, 255)"},layout:{"text-field":["to-string",["get","RouteName"]],"text-size":10,"text-offset":[0,1.6],visibility:"none"},source:"composite","source-layer":"china_route-bdtx5d"},{id:"ice-area-fill",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(199, 239, 236, 0.7)"},source:"composite","source-layer":"ICE_AREA-6oqazd",layout:{visibility:"none"}},{id:"ice-area-line",minzoom:0,maxzoom:22,type:"line",paint:{"line-color":"rgba(199, 239, 236, 1)"},layout:{visibility:"none"},source:"composite","source-layer":"ICE_AREA-6oqazd"},{id:"tide-stations",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-color":"rgb(255, 255, 255)","text-opacity":["step",["zoom"],0,4,1]},layout:{visibility:"none","text-field":["to-string",["get","Location_EN"]],"text-size":10,"icon-image":"tide","icon-size":1,"icon-offset":[0,-13],"text-offset":[0,1.6],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},source:"composite","source-layer":"tide_station_cn-8xvt91"},{id:"loadlines-label",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-color":"rgb(255, 255, 255)"},layout:{"text-field":["to-string",["get","name"]],"text-size":10,"text-font":["DIN Pro Regular","Arial Unicode MS Regular"],visibility:"none","text-offset":[0,1]},source:"composite","source-layer":"loadlines-b6mgr8"},{id:"loadlines-fill",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":["match",["get","val"],["LLGreen"],"rgba(164, 214, 217, 0.6)",["LLBlue"],"rgba(53, 121, 194, 0.6)",["LLRed"],"rgba(217, 150, 151, 0.6)",["LLSUMMER"],"rgba(111, 110, 212, 0.6)","rgba(255, 255, 255, 0.6)"],"fill-outline-color":"rgba(255, 255, 255, 0.3)"},layout:{visibility:"none"},source:"composite","source-layer":"loadlines-b6mgr8"}],created:"2025-07-25T03:53:24.667Z",modified:"2025-07-31T05:04:42.779Z",id:"cmdiadnej03n101r485bs2m6a",owner:"neatchenheng",visibility:"private",protected:!1,draft:!1},nautical:{version:8,name:"nautical",metadata:{"mapbox:autocomposite":!1,"mapbox:sdk-support":{js:"3.14.0",android:"11.14.0",ios:"11.14.0"},"mapbox:uiExpandedImports":["basemap"],"mapbox:groups":{}},center:[-34,38],zoom:2,terrain:null,imports:[{id:"basemap",url:"mapbox://styles/neatchenheng/cmg0ale3r008801rhdey4f0go",config:{theme:"faded",lightPreset:"dawn",showLandmarkIcons:!1,showRoadLabels:!1,showPedestrianRoads:!1,showTransitLabels:!1,showPointOfInterestLabels:!1,showPlaceLabels:!0},data:{version:8,name:"Mapbox Standard",metadata:{"mapbox:compatibility":{android:"11.11.0",ios:"11.11.0",js:"3.14.0"},"mapbox:autocomposite":!1,"mapbox:configGroups":[{name:"Basemap",properties:["theme","theme-data","lightPreset"]},{name:"Typography",properties:["font"]},{name:"Places & boundaries",properties:["showPlaceLabels","colorPlaceLabels","showAdminBoundaries","colorAdminBoundaries"]},{name:"Land & water",properties:["colorGreenspace","colorWater"]},{name:"Road & transit network",properties:["showRoadLabels","colorRoadLabels","showTransitLabels","colorMotorways","colorTrunks","colorRoads","showPedestrianRoads"]},{name:"Points of interest",properties:["showPointOfInterestLabels","densityPointOfInterestLabels","backgroundPointOfInterestLabels","colorModePointOfInterestLabels","colorPointOfInterestLabels","showLandmarkIcons","showLandmarkIconLabels"]},{name:"3d models",properties:["show3dObjects"]}],"mapbox:groups":{"land & water":{name:"Land & water",collapsed:!0},"natural labels":{name:"Natural labels",collapsed:!0},"place labels":{name:"Place labels",collapsed:!0},"poi labels":{name:"Poi labels",collapsed:!0},"administrative boundaries":{name:"Administrative boundaries",collapsed:!0},"road & transit labels":{name:"Road & Transit labels",collapsed:!0},"roads & transit network":{name:"Roads & transit network",collapsed:!0},"building labels":{name:"Building labels",collapsed:!0},"3d models":{name:"3d models",collapsed:!0},"3d buildings":{name:"3d buildings",collapsed:!0},buildings:{name:"Buildings",collapsed:!0},"landmark icons":{name:"Landmark Icons",collapsed:!0},"transit labels":{name:"Transit labels",collapsed:!0},"road shields":{name:"Road shields",collapsed:!0}}},center:[-10,30],zoom:1.5,bearing:0,pitch:0,lights:[{id:"ambient",type:"ambient",properties:{color:["match",["config","lightPreset"],"dawn","hsl(28, 98%, 93%)","day","hsl(0, 0%, 100%)","dusk","hsl(228, 27%, 29%)","night",["match",["config","theme"],"monochrome","hsl(217, 100%, 0%)","hsl(217, 100%, 11%)"],"hsl(0, 0%, 100%)"],intensity:["match",["config","lightPreset"],"dawn",.75,"day",["match",["config","theme"],"monochrome",.85,.8],"dusk",["match",["config","theme"],"monochrome",.1,.8],"night",["match",["config","theme"],"monochrome",0,.5],.8]}},{id:"directional",type:"directional",properties:{direction:["match",["config","lightPreset"],"dawn",["match",["config","theme"],"monochrome",["literal",[120,40]],["literal",[120,50]]],"day",["literal",[180,20]],"dusk",["match",["config","theme"],"monochrome",["literal",[240,30]],["literal",[240,80]]],"night",["literal",[270,20]],["literal",[180,20]]],color:["match",["config","lightPreset"],"dawn","hsl(33, 98%, 77%)","day","hsl(0, 0%, 100%)","dusk",["match",["config","theme"],"monochrome","hsl(30, 0%, 50%)","hsl(30, 98%, 76%)"],"night",["match",["config","theme"],"monochrome","hsl(0, 0%, 0%)","hsl(225, 15%, 29%)"],"hsl(0, 0%, 100%)"],intensity:["interpolate",["linear"],["zoom"],12,["match",["config","lightPreset"],"dawn",.5,"day",["match",["config","theme"],"monochrome",.3,.2],"dusk",0,"night",["match",["config","theme"],"monochrome",.01,0],.2],13,["match",["config","lightPreset"],"night",["match",["config","theme"],"monochrome",.01,0],.2],14,["match",["config","lightPreset"],"dawn",["match",["config","theme"],"monochrome",.35,.5],"day",.2,"dusk",["match",["config","theme"],"monochrome",.15,.2],"night",["match",["config","theme"],"monochrome",.25,.5],.2]],"cast-shadows":!0,"shadow-intensity":["match",["config","lightPreset"],"night",.5,1],"shadow-quality":.5}}],terrain:{source:"mapbox-dem",exaggeration:["interpolate",["linear"],["zoom"],6,0,7,1,12,1,13.7,0]},fog:{"vertical-range":[30,120],range:["interpolate",["linear"],["zoom"],13,["literal",[1,10]],15,["literal",[1,4]],22,["literal",[14,20]]],color:["interpolate",["exponential",1.2],["zoom"],5,["interpolate",["linear"],["measure-light","brightness"],.1,["match",["config","theme"],"monochrome","hsla(0, 0%, 20%, 1)","hsla(240, 9%, 55%, 1)"],.4,"hsla(0, 0%, 100%, 1)"],7,["interpolate",["linear"],["measure-light","brightness"],.02,"hsla(213, 63%, 20%, 0.9)",.03,"hsla(30, 65%, 60%, 0.5)",.4,"hsla(10, 79%, 88%, 0.95)",.45,"hsla(200, 60%, 98%, 0.9)"]],"high-color":["interpolate",["exponential",1.2],["zoom"],5,["interpolate",["linear"],["measure-light","brightness"],.1,"hsla(215, 100%, 20%, 1)",.4,"hsla(215, 100%, 51%, 1)"],7,["interpolate",["linear"],["measure-light","brightness"],0,"hsla(228, 38%, 20%, 1)",.05,"hsla(360, 100%, 85%, 1)",.2,"hsla(205, 88%, 86%, 1)",.4,"hsla(270, 65%, 85%, 1)",.45,"hsla(0, 0%, 100%, 1)"]],"space-color":["interpolate",["exponential",1.2],["zoom"],5,["match",["config","theme"],"monochrome","hsl(0, 0%, 0%)","hsl(211, 84%, 9%)"],7,["interpolate",["linear"],["measure-light","brightness"],0,["match",["config","theme"],"monochrome","hsl(0, 0%, 0%)","hsl(211, 84%, 17%)"],.2,"hsl(210, 40%, 30%)",.4,"hsl(270, 45%, 98%)",.45,"hsl(210, 100%, 80%)"]],"horizon-blend":["interpolate",["exponential",1.2],["zoom"],5,["match",["config","theme"],"monochrome",.001,.01],7,["interpolate",["exponential",1.2],["measure-light","brightness"],.35,.03,.4,.1,.45,.03]],"star-intensity":["interpolate",["exponential",1.2],["zoom"],5,.4,7,["interpolate",["exponential",1.2],["measure-light","brightness"],.1,.2,.3,0]]},camera:{"camera-projection":"orthographic"},"color-theme":{data:["match",["config","theme"],"faded","iVBORw0KGgoAAAANSUhEUgAABAAAAAAgCAIAAAADnJ3xAAAllklEQVR42qSUi6rcOgxFlzR5zbP9//88XHpb7IIYsXF1THroYEKcZFa2l+QY8IIHfIOn+xPuMa4xDvcdNMwO2OCAPe5e42Qj7rpvsMJCHN0XWD8uwW/f8M/4NvL9oG148rniO22L4+5L8NuCB58FWz/8Aa9/yu8b7bP8l4W2fqzy4zzxz/htx8/8ZH7xbYH9v/ADzxx3/E4Lvh9OkJv8DHyTH9id5NtKT77y3+HEf+FP6ttWPPlL8gW/06/YFZR/8NODb4cTfNvowb9stMG/+Mp/i6nyf6E/beZ/7ocd2+k7Jj+0Ay9+uvzQk2/iI3jlT/Lbaf7rj+UJz8z/SD8HXJOj/PJvZ/y+uAf/knzJv2X+XfxYiHFgY30t+F181J/Kn0P5Ef8A8b/s5zL6Uf4D0dI/8/wW+8vEd5R/zo/8mbDmj+qX/OLf/s/9m/B78G+ILD6M9WXwo/x9xRa34G8PeM35gRVk3L+Vz4olv+RPOfdS3yCkmUl/Fv825c/86I1d9f1a/nM/WoWbvm+T/nz8Cv9l/15Fq360itKfkV/9Y49fu74/mVz8Ucs6dmzUqJf88pP5+Q7PzJ/ft+JH+XU9Huuz+gZ/LfnP/OhK9tjUj/zHFhb/KN+HrfCPYYFd9ZUfe7Ut88vPbZJ/rX7G1q3982qr+GlGfkp+wZGfTfye9RU//HDOr36UX8eVHvlJP8s7f2LvIP9l7bqoc6lb36Of+Cmcv8qf/CVEBZ/vLNmcqL6lf1L+1P+W+Re9pQd/fZ70T+EXP5ss6RWX9/kLgAYeg/Fn49TzyXqlwSKU/n4BcPx9z32kdsw0jQeMkY8b+Sb3nCbfcA8oDSh8gt91zXnTxMfEvwD5fIv8xQAMgc0N13L8z+WIr6lBh45dWGmt8AUEw5D35Fc/kKcGeXBWGCtW/DD33wPolm9XvKzdhG8lv4C6q8BWdIH45nKDxYCO+Kappy75iQbQcjQd/dT2F3/wMy5HwjU1iS5+Cr9nfkP11RSo9ZWfjd6z+8/yy3/NX5eTfMAqVsaL/3EKClD4HnwDHFXByoAewyp/zO+QPkv+85/4TPKPNCP5s10mURM/HUz9XPk/aU2QppOBbOLX/Gazchj8wL1AYC5t4n/G/6n7lkdXlcuofPkxxO+Ij4tfYs8vyv88f+WfM4EJcJb/d3FXoOO2cgOXlK95RVH0//+0eGdriywiDIjJYEyvggqHxGvLY4qULM6S4+WAzjK0+Ln2xfUFE1/kCmH/FI+1/bHsx/mTFIgCIgMEwIIP+0PZj3/5+XqOies3lv31y8dZy59OX6eJneY4z3H+ii8u4amizH7DPvR1Bz/VbyH2TOOimAHcGK+RWfHJ836Dgyi+8xdG0CkUHPH6h93qu2CS9g9wnMHsK/b/iVCW4GKoN1jKn1u/mVIa48GRUtTHj5+T8/gQemsaPgAOwDsf6/k8R6bhGJOQFcc4YH51jOcY2DTH+JU0UAYAjoH9iWMUfHhk2XMiKy2n5zkeYBibHANJIbaFn8Qx6k4Lf7zFMeit44FgeY6BHIXxz/rOK4db+LhuJceIip/yeGMABvgBfOYY8A/ncEwqApezsD92cvSI4uOVgDqOsd7jOAbii1fnT/xwHIP97+2/PmXZH1G+nU24U+aIhD+W/ZVjrEE2OQb7v+CbW3iDY9S9kSCOHsfQOW7UO8IPmfZh6DkGxuX6vezPHNnnGDLpxFsXflaOodnF8BwjyP9wOvA3OEa1FAn6Psdg/wMfHAPBNRzDxDfXWyu1xNbnGBzfNVz2V45RokmUwHEM8g++/x3H4AcYhjzm6xZN+DLXp6G+vuLXP5PcS2nou19Q9ft54Ys9+xwgSv4JoyOItBg7TcoOfNhPwWKmQVHO8gz+4H+kdfQvfdxUBnsCAg5JHMM7HB6hx4/xn5F0tdchMkOdpl8VAP7wrxxjh2PQEOZfZYxROAZ2U4cOxkIEI4mTfGHP5LqBr2PAvDIxsM554A9Xx/Ac5ip0rMLCevs6Htzg9zkGJlbxdomf2n7NMZbNF34AP1WdYVKdBP7nHJT/Yfws+NU/Zp51UHznAD7qGCHqGDVHn4Px2f9/DxA3lUmstzQ5Rqxh/MQfLY4xBMeY+MQIDP+7cMExaEK0+gf2ixya/IPPlDcVX8cIugczfsQV3HR1DObAAj/GN+6RNI8lN4uPaeNvlxYYjkHnJ/ADBCZrHUPMczsOGeQfECTmGGE5Rs3RHX6kvcf/nmMEcxjgv3D9Er7cwuTol7sqARA5rsdnjoF54hfiK+oYahpY1zFisP2ZwhXqXDUcYOL8zPXHM8TOXRofw0UAcMcOwg+Rg1IdA2QL+DhU2HYSoKtjAEPhg1QYDtngGPBP9DmwP3XnhY/PTNotTALNB4hhVDrDdU42Musw3B/KwiefmfzYXwh8vI/8d9Z5eZEfi2QdebOY1M/j5x4bHMPQg+treY9j6FfzQBLc6pXiHcB7jwGog74EdR1jCI5Rk84ovVJHYQ04q4AvpvYZH//M6+1zfMkURNgvOEYswJ/mzpKSHjgPz5Pxo1qoe6UiqFcE+JpjLEDgR81B69GBg8E8+EdxGFGaIPtFL81/SxJGM9wLCsFjjsH4E700V4JrchR4QHOMEL1GX3CK61Wbwv4Q8YV/wDHUPDfOn+ntXzsCP8sFwlv1MnMkfjviCwIWYoYb4RYcgEnpOjrEF041eafBp14R4NeAps9OwMHYflAO4FeOobosvP1D2s/nv+mFgP3CPxEgGFSHtC0uEn8W+1/m+n1zE+d/oEKyWccI0WsEArPXKxWiV+pFVnKWZlBVL9OE/XChZxfhOUb1T5Qc9CDL9Qy375Va+PgKVKmn7z8RrWsrnLh+a72Ch2bj1mLYn4a9N6KMB6WsllnxmWy0KWvWuekYxv++bJXlwXyMf+vpvX46jms0MYOeI9PjtzhG0RjkII4R93GMr8RhNczWhYv66rIfSTAStj2OsV69yEZFyBH7HAMJ31FNiEzUMWIwxyiUH+oC5hjLG5f98W4d40JTOfqo9lf8dHoMzqHZPxgyvrxnUIgtx0ATn3JIn2MEzaMzflAOqjgG57iBiZlruPDLNR7m6yha8QU+MBocg44O+1f/UB3jPfspOtRr9I8F1+AYVGcTOSjwiwHUCY0/k6OT/Xm1eMGpW3oM2I8h8EUWhWHDfgQL+I5jeD1GQI+B/Z7wjOAYvnuer1/Y/8TO3CsV7k9zsID92eMYIQNeeqWAP/4Ixyj263lfPOhyjFjjk0zssQutx4gBfMcxePN6DOAXjkH2C0zLMeD/yjEEwW7rMeB/7DEnMYpP9RgYTOCL/PtzPUY1CBwM/5qh2NAC9C9OKXFI5d6sutLQkIPTEanPg/BN6txkIAs/R27ho+jBTVJ4Og1sgxphexTLp8AHZotjwH7kHNUMwhShlxyjEgBWCfc031EJc0Sxk+sYYfQYNE+MA4BI3TSxkv0mB61D4OM7iPDD9etX/2DI+C09xhT4E8MvwrKab1cHWCjwT4ELp8eAf2oOB/w6/KJTV7jK2M+uZPzxgR6DGXIdfpcrWtQxRDCE/8vwmw10dxc3T48bY0StAGCH0F00Wo/B/k/gl++uLY5Rht/yFh1NzTcYJuHfyjGqu775+9PlB36GAjkiCIbhGJJv6PMnLvtpCm+PY2AI/xhkv1X/YHhSakHsosE0goYgYLiXxY7mm+ObhmOEy/6Hxcdz2n4esg0VAPj0FYhtU48xzffz3NNj4J3l+K1D/BYgAFRc+zwd5+FDWDS5OsLpOHfw12EufH9T36AcX7+yzCwnkjLbfUQwgTlH5MVhzujXMXhnZOfwf+zVMfTwmOuSEnUMwpTRDCIYv/Dpc5E4GT2GGiJN4goD1zFYMw3AiSFerXqMw1yXwv6w9kMkrQNq7Ochz/MxfuosAYSmyjPYfoiwMSCH4BVyCFEOVYd5AIgdEk6Pgc9mfPifchTYb/QY1j9IEEUdIwzH4GHVYwBf9kpNoccQh1P1GF/FM209Bp9O1T/QaFUH2Lntij9kL9w33Yn0PJyXyPOcwouOv9scElznCYHvOeQ09tP356tk7DK+LtxUBwA+dq3xHb7FhTlG1PgG8GsOSvgmNDK+p8jeLJTBD+ATCuLb12MwPpsVcZ8e46z5dZD/23oM8j+AcMcGLD0ww8vHODwd32k4jC34UDokBBiOY8jtMf5JvhNszeSgs8xjw2GH+5aJvRw09SHOso8hFTSkBLFdx/DDWeznXinNhRhTzIEVfKfHCEU39TDjepybdQwdX3AMqmM49y63+F6pUHUMXQcoM9linh4Yso6BnKaXow/GZ28b+/Xw8sKkCo/G56RcH85AKEmXzwbrpFDZj9HBZmt8DGio5vkOIbGUHCMAyGUrnmf9gmfq5QkExzF4iN2pwvNur1TlSMF6DPifne/1GGilcParLy7/27U6HEChCo+KLx7n8BwDFr9wnyKO4Y/C++dFnumkm4KDjYqvOQaslUPtnwl8EV/DkXwdY80Qh4mvb3GR+HMRgLI3cYz+VoroOr47vVLAl2/28TX4AQIJZMOUWmUf4DOHDEdKjccQX4yoDpm2F0grfMpXCJ1CEW0ZiScASS/bpNMPD2cCvNbMQScRDM8x+sOHOClVHSPYacTvqAVI4m8eBfwPDhDE+MmqDsdInpifFX+PY2S5ZF0dw2LWAME/uo4R3Y8AfrVfJ82+V2rKefqUZkR0OQZCi2+gg7jxfRwjRo4UzvS9UoNyUN4fjILxPceg11iPAfujxTEYUOgxvitmi2Owf1iP8U0XdfgcBfgmvlTB2+IYODrgf4tJHN8rZcIBfHimzTEwCqHHeJr44mlTxxD9+k9RZW3qMWQd40koTT2GsH8W+w3H0D3cpk44gS84xqYeg0TGRAIlvu+VgkjXcYx+rxSJgDc4hsP/lGN4/AC+S+pDVzC094IqPNjCFnwcqwkiYKzHSLZfD3nPR/6VYZbw+DQ7X4j5xFnL+Ptpbj5z2C26R4EZ4nwki/rmfRwjn+J5cr7jGOVJ/NrBEQZ/7yjy4KsuDD4/o9XymVR9Jvv7ZsOx1f4sr9/BMTI5q8CwwTGYeqGCcRvHoLcH8FscQ5MKDPHNxDloS4+h7ScC0OcY2LR/OhyjDqz/FwHb4RjVP3VIEzQmB/VJJ+kxFkHa5Rjefs8xsJn4wjLg4+CNHqNtP0TAnmPwpv0PkaWJr2uhQZcD9iP8uzgGdgf+Rnz5Hk0cg/BVfL0e4/f2v+CK5jy0mY4Fvr0rCVJBT/J7YuHfzDHI/j/HMUAg+frlbVKUPf7J8aX7stdj0GYqPE6PIT+XKwA/MKD1Vn2/vpYFowIQy84E/o0cY+HDJo3fTOYA+Rox7uAYU/nnamcRcd+vAIT56mTbRHADvAjDTMbPG+sYyfYn4cOqdlmDf40U9u9zDKiQqY6xzzHYPxP4jmOw03TNdZdj6ByaMA3HAIRuntFfkNM2CnRydBRiuxxD9+sD33a/9jTfvsI29jkG50DmFKKAOs134KyF/ym+plfKxDfKMJVnNKaJL4bANxyjJTCo9h90J+ppvo1IeuGb+Ir5TsUxKntInXjMhjJbcAzgk+Ue2XMMiKTFUXTX4OP4PlV2YTmG2WB/9DmGCDS9BwRGxHdb833Ql4N6T++nh2D/Qm7EV3GMKfBlbpPCQmf2ZAKAlcZovbGNHAUMbBqxCMdeq1Rn3eH4VSwOsdKn8I3gbfye5zkiY4g6xn6v1EGLTHk9BntJ6zG+yyJZ99cxvpf9ajeOb5Sh12Ok6O64i2N8ryQV/kFSonulOuH+lirenV4pbLHwcWbA/g2Owfjv1DEE5tT40eUYDEIcgxhIm2PUjfDrMAsfNr1Syv6STlRvZzde9IKxX7T5mWtM6zHYfj+nox/CP9gCQE4FZPkI90qNSimTPQMUkaPY+GJoKjB2Y45UL0jCp6HXfEvvVnxmX23Ndx3aCo/XfA/iGGy/ntzsa77ZYQ99zkR/DT521wN2ShTfoK+/Px9yWtD3ell8iIylZ3BKd1pc4JGHSSyNwbYUMI1nvObb4CvH7Wm+mQDkwAPlEXaiT1MOPH3yubjDMYAfxDHM0TdmiI8co3AMWi+wW8dg+4ljbOsxWATc4Rh8FPqdmZQEbOgxhhQBY8eOHsP/wHIG+aejx7CvavtjhOEYtHGiBvvJaMcx/LVW7Q/qwLYc4z1VyWhxjE9/Hte/Bc82eqVSYuqk2+sxcLRJfX2aY/Tt9wmi2Iweo/jHZ+c9zTfj++9b34sVxj/GM1ESEafHwHXzVCIrk6M4EXAIkW7v6ve9Ui8HNDqab7b/ab7S+71S1f8vZbbT29CqfCyS9vj7vVKnvUfrHN0sV6LXNNnvlVqbxPd6DEvJ2P7tXikyh/Dv7JVi/Pt7pUAA9BYShee9zAEkHm5wDMKnER7M9jyoxg9KKmQOavCpBLbwAhlhX48hD2rhE8dg5I/T3APDcJDabF9iXvaPRh3DHhT7x3MMBnd6jGMIlaq1tyHydhxDbl6PkeF+DXAKfMeEgT+pmUdxjA8JgOcYHA+vx/AEgGG6mu9OBaClx8CyRTgimYP29Riw35q9p/n2BK+t+Wb/93NQYT+76zCe2dV8v9QkYlePIcL95Dfcqvk+BP6G5rvaz6Zsar4xYALm9Rjv9Upp/Js134zf13zDUXw5K/x9jhFsfzg9RreOwfijr/nWIpzin/gjHOMRPyIvqFx/YVto/Nwq3hxnctIWnmP4ae8L3xS0zea6Lxb+FA361CvVwl/Ayz+aWnv/GD3G5f8cAxlhEr6GdRrEF1Vvb9V8xxEDXk+uY8SeHiNeyz+UQt3UK7X8A5i4XY8RR9nJ4zePInJU+3nR5tjGD+Bzjr6nx4hjDKzXkppj9GVCA/4x9uNdbT0Gne89PcZwegyN73ul+GVy7/QHC5her5Swv6PHwH+6Xz+NZz5tDVHLpPQ038Nqvr/fPJNNDiH1GFlv0ONmzbcheNt6DMLf1XxTi2xBuFePQRWkJsfAn9RjkIjccAzanB7jmxLZ+/QYRPC8HsP/rhSJmNF0PS3H6M3TU4XtUz2G/L3ReIy/KD1v9OvzRi6YZ44c4BWlcPYxx+Au2eDv1UYOLU+OhR8+R2+rhJHWJj4Mqe5kjtHlMMBPIzCS9ns9xmU/4GMEFc429BivkcUxGeSuLT0G/MMduvt6jGU/diWOtM8xHgtfcgzbC+f0GM9I08yyRfDGE96H/8WqRp/oMR6Rw3IMbE09xmU/OAbpMTZ/V+qgFPEuPQYqVG2OgaHtNUoCaXIM0yuV7xzp53UM8k9Pj+HtP1oVufYafOPoz+ngofSPwLccQ/ZKqToP4Rs9hnCVja/PnvlhOI4n8ff1GFjJmAH7egxdFqsE4FM9BvYljnEQ4I16jCACcJMeoyPyNhyShhLfN2l7DsktQP8YSdZgkltkoo1r5pW8W/Y0wWpmFAs95GpFD9GgbzhGqGcKvumGa6VBjI+niL1s6jGe48KfwHQ01wcX+HMEcsSb9Ri5vuAisyyyShyjqcdgkXfyTYJP8z7HgP9pom5XjxFFZJwqCdhfHyMRX/hnV/Nd10lY+GT/fh0D/vH2f6z5hv0ACjb6Y83337BfJEnYu8kxGN//8JHnGH6Se5djDC/y3vrtWrMYb0eP4e3PPufX7qLzQTjfab5j+B8bJZG3Ta0EvrZ/4UeDLbteqWp/owLQ+l2pGl98mjC72yvFGsINjsFb4OQWInV3Y3qrGDBhfze+em4xGezQgL5OZTdeKd94pi2EfAizN3ulAP+X1o4abmZ7CsEk0rTQ1KFJUxgrryWlOy6GMyhUbGucOcAxUnDcNj8AvucYHl+fQMwxYqsCgFcr/jSltLZmFCLpHNnQNiGa7rgeC5ZyUMExsHklA/yPHN1xjH64jxijwTHaRaoD9nOHLkF0+/ULPuXoGsBXY4DP8e3j6yHsH9r+puYbz0DkzRyA8T/hGAn7qZkH48/rGKH9A7yd9TEarZ/NXqmWxsNwjCH0GISvbkaGY0j7D/ObTr1eKaagB4MYfJEjCj3GYWZb9nqlgG82k4NiE/5xMoO+HkPbv98rNWH/w3pmT49xNDzT0WNwAm2Yku3X57IVaRgIcF+P8VLf4ft6DBYBK0w9D+IZic5pY59jML75oaE+xziVGY15bjab8VHHEH++VyrUQhsdjtHVfL9iDMMxHKy6RZH9rnlmmuAqfMpBzWrkHF9de31dg5g8T0+R7a+P8Sz2czF9t051UHwLh9leH+Nb2S/0GK3sHPYLjrGvxziwA8X3Dj3GN55ROfSWHiPD4G/qMRIIpVcqhB6jxzEI3/invz5GqKn0XT0GwVrMFse4juFvg9nWY8D+wPlJCNt6jMt1f3dniHutiQLf6jE8PvzTVhZZDgD/1BagPT2Gt39fj8HfbwbQ6DE8fhnu6zEKkNZgeI7B1II+i/A3OQYjrZWAB+S/1KDvOYBRb+Q5eMt9jgH8JMw7OUZCRGuYBj/P+DzMM+h5Ax6GYzD+3OYY0ksJhgqOEV3NNwcG+FnxwygZCr6/1PNV/YNmbmqr6HEM4LP92G1nfYzAStvEMUbhGMDvcYy6UrXnGNFfg6+uVD1v5xhsP+foG3qM5X8d332OkUdBqPbvr49R8T3HiGiuwZeJfcEBbuIYbD/jb3KMXIieY/TX+eaX9jlGcLA8Zl+PAWfOkTJd21iDD0dHOvgdjsH2L/BGdm6YEtlP+NGMLx4K/yS93OuVYvxZPv0QN28dX6/HYPy+Z4a/1wTw2xzD2A8YEKQNjqHPNRJhb2m+Gf8x/jlyDJ9DiwOc9ifYZ+YFnlIbqqtA9n4/bfm3j4+jgEhUbB37g1++/GMn5gHV0mOQSDfokzb1GMBHr1SI+EZLjwH7B+dAsd08wyJs4PfDDQyJ3+mVcsHF9rUAZQ6q2CPHV+GjeYbwocfgEDOetl/koLu9UrDf5Og60J5yvCJhnuzX9xxD/4yvsJ9yULMJPcaj4LteqT7HAD78o+PbX4PvAf/DfkqQEbBGr1THfkBEj2McFp/t93oMHALg9nql+K7AIt37e6WWwX6G3n2itr/ghwFpr8HnRcC+GM5OqSJa80uALY5BD6mF5uZeKS0CHlu/r48L5IGf6DHnjO2nFy3QxjN9PcYkEbA022u+bYf4D8xvn7QrmSU4wNSX0DwxjSL4tqyGIO56qmzmgsUfEERVJQhJTIXiZW6e8TTV1zHgH3CMu+sYy+rCMZLCuqXHOKNipkk6YbnXY1xWR2InKQLmM8dPRUOjEiZpayaIABD4DNXXfKOFSUzMmx8xMBwD+JR07mu+keDinCSBQexrvoGvJ7a3NN+vOYYW0e5rvl9j4U+RdJL97Rav3/mn3SulGye++fqNuFHz/Vz4Jr69Nfi4hSxxSIPwyf4GxxD+hzXNNfhoKPD3e6V0kPbrGKZefK/mWyHcpfm+QLJcKTu9UiFE3nf0StEwVc7R0HwbfIxvrGNAY+O171P2wvkpj0O1wOxqvoHv9/MLc039K0DIbZN2tS0uvlw+cwStz3UjxzjP9UyezDFERFoc41qq+syRto7R75VawAGzb9djLPv/JMc454gAxzBh7XAM2L9yLJMafKrHeI0RnKMgRRCxNprgkuAivk2O4fUYwO+JgN/nGM8VX+YY25rvCx/+V80/5WGnjsH20y2Uwt3tlXqa+PbrGKTxiN9xjEa4jQiY7CeD49P1MeBT5pD7egzYXzkSx3djfYycI0JzDL8Gn8df2Ca+bg0+fc9b+3N84UdyV6tXKjS+Hv5/OQa9ejvH4D1NHaOjx9AgeYsew7h6m2N08ffWx0iz8Ij1KuPrX2zc0WPQpghSn2P4CgDnblMja57Md0quAMhtmo4IcQbMhRojBccwm+UY81z4qdw7TSbtOMYEkRUCDDz+hGOcuPnG3RwD7g6s0qXPtj7HqGWpcJWwqU8kjb8AAysA3KzHgP0RzDEcmfS9Ui8Mw3CMvh6j9FBOSko2NN/Ap/ja5hnmkFYEDHzfoB+tdb4PNXM5eZ6+Ed+Cr36x3usx/JY4P9l+RckaNCbJPxscw9pP8d3+Xak019fu70plNFaGrnhO881JWBApAqroNXIXeVB8Aag136PBMRr+Ad4ux9j/XalgsUe/V8rrMeKz7NwndgUfHMMidPUYfY7h+Vu1P2z23O+VYnxP3j6qY6SxavN3pR75Ix8rBI8rFgf/0uXbmSLvkfOxZun9Fh9cF2jOydNTCwwnDYUff9n/8y/yg4bDcHWMxDM/4Q35p3+dHgMi6aKxoz8hpfV6iTyPMU5X7MPWx48iS+o06DM+W7b8MzlH95vXY0DkrXLQua3HyBf5h3K4Euim5hsi5gjK0e26lb6Ocdk/BT69tdcrBZG650hcoTLBhX8EPoW7v8ZitZ+aZyjcJtC0Gf+IlL3x/Xxc8VimCf8Yzbe1X+egvldqGvsvSIG/o8eAyFvn6HJoLgFhv+mVausxMq+nInGOw2DSZDf1GHnU+Io6xsd6jGX/NP7R8fV6jMTOexwD/wn8fY5BA23kvh7D4O/qMYDfJ0Lvr28Q9Wd2t/QYGh+A23oMjOJqAaKeDgnlzag5KHL0Q6wBHCAbBjlKHaC0beVyUiLi3tUhhlNwjDKlC2N8HcP3Ss2B5oQY0502fo2ayfjoR2SOMQW40WPQSs+LIx0i3WS3ez0G7L8AyjxxZwvNMeB/cLAwUB/h1xxoElpfjwERobrHR8d+8cIB/6AOQGtTmgZ9g5+Swzgcv8+B5i7BUaN7A0KwIeIUdYw6jI7mG/YzPgC29RivkdybgT2MHsP3Sr0iYTp2hv07a/DB/2HiqyilqVOxfyJKALf1GC+6fo1/Out84+4l6pCOsvpLLCMHcTyYstMrBfsrx+AUPxp6DMYHRen6X3AM+lWDDXxwDBOP7UYmpjR7E9s8xOnXmfF1egxvCc+Id81WdYxtz/gP1TYPswbfO/iP8dVbfUr+4ofKQaExlpYYr1qOwVkI/715RRDHYD9nr44Be3SvFGaqAkcm9BhdjjEL/oj69n3NN67lvDhGTB2+aGq+1ziivN9MbGNoeqW4CTZu6ZViP4bhGBq5gd/nGPykxOc6AOAbjuJtFlKh6jAh/gw+2S/iu6HHmACUdaodzfekuzJz4B09RgbZTzO1O3qMlPYXgI97pc5g/5P9G3qMBCrVaQmjxTHY//X6hf07a/Bl+PNzp1cqB+GDI3F8Hb62X3OM0VqDT8cXHEPaxb4zmm/gaw5At2oiGSbPmEpFjc33SnGsdjmGr2OM3eYZ3ohCdTlGqw1pg2P0SiULMzc8E2qd0keRMZxiTTUkmp1+ffwsDOG0U6tChwBBX8qGTfU4Rp2YORTH0JZ7joGk8xjjhAONuwzFLRqGyMIxmD3KzceXOUw5aTuab62snYO6OMmrGtDg801FLSbPQx9u+Aev73KMKoLniecmxzD4UfBr7d4qMXjIe1NS6PUYPtCT/YNN6DG662NIfAz3Nd8nJ4W7egzGp30aegzTTnkOgd9o/gkMu/bHYD3GsBzD228KFxhafFHYofiKV91F/iLR7Qh3fnbW4HsN9g9PbJP9vo5x2d+6vkIkgXp7TST9ADECEgwtpwq2X+oxGN/n9MHxdXqMUfUYwWvEMj44hsQHQK+OUbH2U2f6ODDoxuz4bh3Dgyh7fB3DszVfx0AFoIQudbu8WVPA5azTZJmNRXyRg4IhU+cLOUdPzDPHKG+WrNCTGf9SpUqZVXhWhrCtdZvMWk2dxuAP6X35oZV5qx6j2H/Nc8+mOJ45HtdiUlBKS/hDHeas9nOt39Ss5EcAeOKLjXppTOwa+Osjsk6otJI2jY9LQNm/pfmedCUI+2e714jxhR4DKXuDYOB9wBd6jM7sQzA+rt8h9Bgm3M4/cwBfaPoxNCGeTFA5vhFscF+PwfZrPcZ4V48hOm4Zn5Oq8JSV8TOuG/usvTqekr3VzpRwguiVCtUr5YvPAC3fP+/ZP96zP978fiA9xnulzqT4ul6v6p9p9BjV/zq+pMcQnNnga05Cegw2QPyKFOIbSNm9f0a4Ooan+Pt1jKT08N46RnZIS78E8chHjoG57aiPU8xwKw7A8/QZ9v6NLawUld6ea+IcLxHgNOmmaLaG/Tgpz9b9j4+CxSHnWPj4IR1y0a4eI2fUpCSy2LOrx8hx1KQhaZWuph7D2V/6I8hRdjgJXyUl0wQXONJdsD9oIkToMczJw/gJ/DJPk9hNh5v2EfbLpBObrykZ/CHwDUgYfDxFdYydXimNj7FdcszXMXJeTo1Er5SuA0RHj4GfT67Xr0iaKTrGfojgZQM6N9AbTMZXE42sKTd6DB6y/SbprGbiOBv+x2Y033rqLwo+J4Uh6xgELmA5voyPpI3sN1s4/+D6Vetj+I3Pn6gXlJ/n9t6ZY/lnmvgyPuOGsB8+3okvQkT4eLuok8g6BuOHtH8SaZf2c6rL+BP41yh8ncT7R7z6p+oYOEpBBrbrGI/xKJ0/FsqrLASZOUAn8ECs9CcxmY1gCqg3Pa87OvjQLo6RgleIJ8305FxOuW66J5bQ6m1ej4ETG/PmOldu9EoBn3K4HY7B9ifn0LCzf6JW/IjfT3yG4Rh2SP6Hf5zm25/G4JAFEB8iNN/hLzTGTxYBo19WdUm5nwMCPvuH3dXvlQI+9tvUY2h8GN7XY+hvDOAvTOBrzfds3ZXIP06PMdu/Xcv+l5rvhsQ/CJ8M1viM07Df6DEcx2D8IPtv1Xy/SgM9pYde8y2m4Rh/AN/XMZDSeftho9Vj9DXfr6CAYuhay0wnpPVPO+Xl3YLuv+JyEJTS4cOG0ivlNf0aPwq+dngENN9Os17hJ+HjHxNfo8egLcoNERzS+8dTjuvfP6jH+B9tbvF7rbl/AQAAAABJRU5ErkJggg==","monochrome","iVBORw0KGgoAAAANSUhEUgAABAAAAAAgCAAAAACplVV6AAAcTUlEQVR4AbyStxrUMBCEVzr31NTUlFDT0tOQc84555zeh0fgCXgAenpbku/Y2RGnYGhZW3u+b37NrIPb4513K+9XbtC2snPAz6BLr77NaS3iV3qgQUYbrCnzfU4pigCxA9vowfZjTjHCQsSZORa98Tv8THNMMQDQwnYsFkJ+zXPUAlARCCcyJgSEEA1Amcr5wWB/CjUgK5YxOzB/jFOOYDlGYP/OOWE+PaYgpfyf+9+lOgBUlKqy/+7sbwapBpwRe+kfosph4gj1neyr/BXYSGexfw17GKgapiht+QPJ8k3GmTrgEPLxfDDiNPUjyHHLx3bsBtHqp3l/MEC+nm3CefirDoB6aBKuqL6dL44gmoQb6p9or8Qy4Q7yE+Nj1uun9LB+vnqOqtcJT6v7hzQiZSwjvuL9Ix4BWtCLwTt+n1OM8IWIKiN+qt+/qgTKiF/b9wdiDCMM/o/unTYsNK7tRfnvtLSBdljOizgKpgFjeWW2kNe1cQQywpLSyBOQvN17OJHAIlgIytbsDvIVy3uhigUztBoQCkYYLKSklEpYADe2vR6SxUyGUfWdzhKedJSlg4BhFJim8n6msxaA9cJIW0ylyMcqfTGbw7glsKFm0l8NTIf5dtRe9/kWi74kUCR6gHP9+yH85sUMt1zVQShck2ggM+//tkcv7HzL1K7+vcOp1LjZAEGyTme7BfrT4CI4XX70SVKEkQQJbk//C8PsgZMdwjZ98Jd71LcIulGWf4gXt72GNCld973kLN1Hyk98PHRew39ymeosNsZxLJtxX7K+tsBHL3sfyASx+gl+uullq4fPED/uyyLijyGDFxaO85FKfD20nJ6wWPmNVIov+769sNAD0X3Az2dH4kRxWYSH4If1pOxsaOsD2D34LvQnKI1dLbsNBP/sSBGsNB71+5C4cpRsbFjg8k5E5UiQw8HBFKdOkCwiv2rhXg48izIikIVfhWLUrkcElUr9xE9NkQjx6Yr8lA9cPC7t8wOvxm7TtRBqkJDfChDKHrj8EwBpC1/94+XKKKQ48T7YXSRtVop6/3DNq0WKj/ocG2Xq9zaDA1G/jPcH/pyeFPsjvMTSWqvzX427KVqn7O3w3q33o7+JxfLQs+s8y/gJ+U0leazO66xfwV/w4DuLbxbyr8X4sJCGr/XhYAjx/1Xx00AWzwQu8VntdVlIK/82tIxrVA3/EvHrSt9KjF3HXh4u8ke6Jpcg1F+x12fX2B3jNxaZs/CVExMeQe74V+WWCBuzPas+/13wccD8KU/646Dodp8wQzj5STIrL+uEoT9PUQQOU+E3nRrW/FXlB04G0wGi/Nb+YLM/8HF752LCwdsnTopPPhA32mbh2t9HeLXGwKn/l9ylpNsTX9GffVL/ePqU9id4MQ/ZG7/uS0W4LcXdzI5yY7chP8L1/84eNuuaCjnP2OLdh7ulGh6X2YhvKY8Er0u4Pno48jvNAg/4dbXh8EE9ZYwx+a/gmyjTQo7wdgYuPpw39x4q/C9+rnHAt6X/M/L3BQQPM/lPg+YuhyHK4+mf+nBwfNb/4b+3ri2aRYxL/nEoOcquIEqC+IPixKp5gMS97IN/XhBI3bac/vf4zXVvbO2h6Sf+7J9hbvnU6jxA3vtDQVM6Z9DKT3gopHHCRPxXeGjmTgbUUDhhLOmBU76qSptIUVInHgzoijKUomTu7xDXJbNGAz9V/6JLMoUGn/13WZCBqinC6S+eMZM+PnGbEIlQ45f+6U4O/gAv3s3cDv1Jjj99SQoqQHfrAQTM/OsuVC584rUIwiAtMJs7WPzbgHtIJhh4rPXR9poLXC/otTH3MjIBeQP/DP9qocgUK2XzBRIfzrjdu/jnzV/DKzE90wAJV+7K3mR2H0DCmRDBATz9X0VIrjGhfgYA/6kQfLnhn/1YuJEj+/MYABXOMSX6Vdf8KNL7/ucEF+Ursvwcfsef/ROoDiqPfR0g9Meg83qVegzweAPAB3joQ8dDxhe/KikapPv2Ki1iRH4pVRlT4axtHiD0P3DotHGMxgHy1r/V15Qyf+LoBNucXZtJhzYGeNZXVntkopsqnP7imSjrjPnWfyyU4rf+ZZvStv8BXsi2a7ibxpY5lrSZrAVeKlDT5LO2+4QQqQCUaVZq70GOf/Gs6VPrvPiRcalDVzG9HmotszrV9WIHjTfbZXg3Av5msp8WEl7F4KuD6g5kUPFf8GUt8rABeh8wgfOC44Qb4ZJNsDzgfw1IJvDigRA8aBXByV8PEfkWY/kXj8ogDw4oTaAecvh8HiDnpifA7BLxmWBoZjeX+ODi3LIOEOJDl1szwd/xFLT6OxN4KeA6HAPlAD51ApGfjMhPB4jw6xU4GzQS1x4f+6N/8ORCttZaB9f+EdwGBbi9yiFc+0fy4pLp/ir7pfR4f9aLO283DaD2n/4jGOyBf+mfpVbA7X/HC6/r8J2Jr3yjA1JlY+INpHElnp/ga7ksUC6DL3zUEfIfLWe03agOQ9EUjA33/7+X3mp7Ly0FZx6jBjeToyPLJsaSoDP6EQWFfhz9QLpH6z1WB6eAWpbVx1mpYRr5AoXSoLwSqBWl+QYUfnDRqBI57pyjQX1EDWuYYT8Uoo9eKpt4EUfYV8H+g61p7etApwYlQieYCCoH/XtkO7/g1X5waxHTL3jgMgCzSFr7D9gilN5H/05At0vhaENn0vGvujffBl7GL50kfJ0f/IEXiI7ov/5pYvou3+7xzyHWel04n7jTAmJXgTq/UrRNrdnxFf+idweArr07/4ozTARj945f25fTP7yAwvf80ziGsy/nj+5zHPu38W1kyn7MLZxja5vB/BgBR3MEFihAvI8GMk3bNNC2TTUiBIqGn/g0wCPaiBowoRNEJBthQ8jej6P9vRqvaJAc4H1EXHMqEQfiGCffQsQYRUMBNVEOL9UYYQD8Vwn7ohfQACfFQekAeNonQonmdVRsKg7sv7QvAOIbd1A8bHyYQ7C3GWLff+1xzQ8Fbej8FW0b85Ohjv4RIUUb9pM6og0CdGa4gQ3b5NfxM3Hh47g+z8+ZY/Ct/uOfXaea9m9Gd2PfU5MyEn/4bzvK+QPHdVww16Tv6t9IOhLYK3q4GyRE9hn8PEGHRIafQzDCDPuOSw9s1vOHeeHv49t18hPAkSH83jKEDzWjtiM+VswUGrjSJzuVWMmmCP/kazukf6ghgOuCMYpe1seFNBWxBDKGTe+5wCgVnf8tIXSeYEptaNQQPXfgX0tlsB9FOK9ADgUpITgLKOxjGIROskaR9mcAfEpGJb/glCrN8EPFKh90+g//ymwa2LkAQw7gcKHUMPIC+FbKshSSNRLwRsdgNUVQGD9s5ubj/NQimvxA9K/VIlqmCKBYOIREc351T/8BA58DNELB/9MUGEwlUNyXH2iJ0vMCGfPHkASd47xAxvybONZU7zPOGBjtev70zZP8bXw7xzj5GcMVzOFu3tjhA4zmqBGC7wIJFWOIQFTh2AE0cggs/JN2ZAzSNtWoIYBFe+jWXkKIU374eGiz+Ttan6XhV+9nH/EzBk3/k3KCXy3O/XuUMPyCWopSioo5aLR3FETEbA0R/QbuIk5Y3YGQFsBVVUZcwbV/Yx+keBi8GWG82OO94KaJsgD1vwY4dYe771Zdpy93cGWvG9i4+JUXSMZf6B/nJ+0qdQFqf5ROyNEdIf7LBI1XWYD4X+WqEQoCfsleIpC7+qdGiRD1/1JjjUBe2E9QvFxAfz/MD/zH+Ss64+v4NurNu/ZpgasQzbGE8FuONH4O4ThcqUBjJJ+fyg/Eawx80ea7ybftWo+XEYopBiJf40QJW/YfeBcJvs0Mkf0O7mMJQzOC8AzWJRxtIIEhzaVxrSkAVuTXFKXY9woSCPgVjV8fV4hcc5XQpW8X8N0EVXsuwLBfoGEKEOwXfrRC1pAL0P4zPq4LoI5fcJmfiku9lgV4N9f/skBYYPJrnlJThPiGF2ZeABH9rwnIVS/AnIOX9ksaVC+QXoEEfVciFOdXGTUFUMCvijP+5fwxDYNk4tv4NktJl3e4RgmrLfK9KfSElQZGA7+JptqF3cJv73yMQ46X9tWKVtOaAP9UZLSUOZKK1P5R6cuTjsRkGRUNgZT24qvx175CDi1lk0WgOLjh+niSkc2RF1Fo1rkoFoGLcjQ+oxCnJkh+w4KvivVIUBWIkgMuRUxQ2RHFCmcZUO/U2EGBP/Z/XHqXRcTn+JNoF4nTiJdaHmhwwY+sckpnfiTH+P08XQCXDI5pkMTTQOClBnaVIqoK6Z+F0CyiehxXghd2HJ89eH7hBsz4IRbcU2s1O5D1/F1Bphj5bTxSADdRo/BHCH4CAYZiX3forOLBh5eJRA3RV/4W/CKDGAI0+z/pOPEelmsMIkIDvwmoEUCx0TNA0IiAgn0AeygpysC+1PjBkxKis0dcjyKbO/ztJoS/7C0W0soOFM32TDHM4ZXEM0QuF5CQ/apb+FV2SMzf22OPrjWKeLeDAn3sf9f7jECe4w+s+p94zUJKuVTzTEH1b6w7OOOP2dUF5H0B3j9BHwUvEUoMdMO2LrwVUbHwKv7RlCLuYw83lagRJOdXsBSZQxIvGIqBLOevnKFv45uRkBnVaSXuWaSDgcIRcHli4ISFFq/RADLEhsVr4ZfnCOZpjdewBhlHWBqcKZ0O/8KoLoZqfFPkhp1rbGG3piDAmdd2P99sLHGOywnpG+6nfwGWQuSTb9AKjJ0jepceKhkCKm19ECp3IM7Qo4goN62IA4eJxxf83iOaKY8sZJHMPgh5liJm6d86n/2XGoJZRJCyEvhIUchifI7G5zQKfoNbCasPemXvjA+y9dpYYEWBGCimGxfCxnMBWknEdB1fzsBe5vZRRJ24kd1puQxAbI5f2z6rWS+QZClBAjTFKCFAOX968N+5nj/ru8q38W1YYMt9+vjXbUBXyPG8DYiAhpxtvQ2I+ZVPI+tEyRik3gbErj7wvtcagPaHdPnu4RiSXu1valT+mfzeyg5fawi+mlSOZ4Tg+KSHIfEpYevIyeMC8diBIg+vieyyAEoejeG3GgVRtph4KZK5QkfJ8TNH1YoxQC1ilhoCbVsjDHN0VMJ/ZssIp+boVvJEaOsFzjpI6fxcF9jvLup1X1yp+LUUUe+s1H0sokYb44e4RHClEqhc4AG9X8FHLSSWIrPjl2zz6fyNhL+PbzPHjtZc+nrPo4GvqjCAmpm0u4VqpY6gBewDVz4v+fLQkV9rEACAmuiJhkwAIgf8IvJAp4Ge9Pbga38CNpKE2XUFa41E8yH23x41Co/rOb95czhsz9B1b1OwsSyAyNN9ziaamgK4h5pizrZWoVG424Q0IQrmN9i/eis5tlC4ELh0dMTl4t9F8mutoiwdLSz4w8AuMud8WWDk8fRtDaS6V/E5wGeEgv/lr1khehgDkOIH6PhrCOD8wr7WGkrgW3DxPRQl1/HRcZm/4oA49uccfxvfvINGa6Ie9+vzNtqZ+btq3O+vO7RMoBN+rQG4Ay58VOQr9gT/EWGIG6VDtzmrTH4X1f8FPwTd4fm81hF62cA3P85Jss6RdyFy8hxB1imMcfwspzDvdrapUe2r1x07mcxYcPzLGKqGeD75vZU9rN7GU+5t1Cr5XWsUcw+86m3CV6kh0Bd7bObBjxQl9Oo5Eb+f+JC/hMD4j1hjeEQg5PGg3iasC3CqidOuEYoxgrLukOB+Web4MWAkhX/Sr7WGAv+npJ1D/LbG4vhHzt96gbp/6l2Cb+NbZuclke+u4NikBEMCZ6c6tvbIwSV60kapAYj9m2+KD4Sp4GcNADwT+Pm6es3hs0AxROcKUaPwHcM7v2UsKR4O9FIDyLkB4hd8/XN8Ys7EkfRS49C8/ucF9N2+I2lMvvPns3uJnvDL/BmNp97ZyzNS6wKkFp8P+vy+hwDm+f41ZsVrDFD+quyZopjnCpvCBFbxU/h63kUJkZ81iGcEEv6BMmmPIiZ97WLgS4QS/uepWndI+YFFLzB1Dxz/GQDj/3CBfO1ipQbh4fjEolkvUJMv/HV86+Ps8cOzMb1HO6KQN+Xnp8fHbkCBnr33s20/+aDOCS0gGo6SZvceaA9+gPBH5U/OCLNpYAeEP1lD0YvyoI/9jh4uJj+7f/DVbvBp5rDl60cXjGbCDALBQIupmRrBxfHA7OBs9P7zp6J9NBwq48P5On5nCFszBPlBQft9aJ8mAKfI8XEC1Xs7f7jsEJFQDNvOIXtb3eG4WziyMrPUEOLVsvIyXn9oiv+QjzxzdLooeJDiJfNFKv6GrwvsDz8Tf/0DR2WNUGgbIPgSgZAlVf+FSlv9e0QoL2wUXFpSl/HV5yDQqvz+dXymAPljQD8ySG8Z2QKpMwBrEYxXHudaJBwqAcvf4EOyGVpoyUcfqjgmdsBoZY7sAskQvobQ2k4+TcERccBoAl2yiNEyCi9FSBBw7be99q+XtJmibGXo2mH8WYSUoePq6V8czg+Qeo/zlzNsq39OcD/6cfS/tnfezN9HViE+LsBfrCHlPr7JfDTABDfLAuQ1AkSWHBwZ9TbiusB+e8aDa4qAfcOt5Taj7gw7GEsKQBevEXRMwK7u8RuQBtbzAnLX8T0iGKSDR+OcSk++8Pfx7frPH2twxibH8teAKlhRyyqWeCnycRz5oI7Uha+BpMpXo2URLXnZw9K/n1YDYKFReJYB0WjSm3yPfJ/+6bjw1NC+4xO2mZ4856dWCZ1fC4UBCIOqeUhvD/sOpdovA7CL5/mja/tXq9jPOQfUxgG5rRcwX/3gKnEc6wJDzvkczbWmCMh9lr/2m3yaVBjlrykfVT6URlgPnTVFQP5w5sQi5qJwRoEwjjUFEKfGWv9WIi3k3z5+LlI6/gATF17wK8df6ODCX8c3o2IiUINljhmkkgL0oYhGc+YOneGpYeZpFO4Wawi98kHhSwLLgD6LaHxkeAw0s4jdEHic8jMSn11I32CMIiplBBLWMC2qDelbBv8jf6Gd43PmMgew2UwBlhDdLMMdeE0RtDJTgL3ax0/AXuff+VHkl/NXB8aLZMkIaUPdM1NToR8yiCUFGsPff1ieX5nCSNpfUgTFbs74UMwIueLneN5GjDfgoJ9ThHibKUyNQOYLBeHxoYiK6llSAI9s9Q/5HKHc4vCfKQ7yOQUIVD4D6F/HI8TNR33mb2tyhpBW8FRQOQp2xqBZbrHhiJdFKotc/+SDSLKZTswQGL6mVfSf3kVIPk1xwOcEsrrmMNMJnxMQps0uQrKIWQ2oFH3u+GdFWCXfopoPEhX7tDqyFiG1owGLiGuR0H85f86corF6/uy5jgCO/hWnnUJHZASx9u94rGMKCaONDO0/58cu0v/5jHVZ/75+dWq5j+8Cu43oPhUpEf+Hlk8RCgb0taQAoKHHpcZY6PGkIW/dw/FgjVDUgY39BUfDsKymUKL4Av/6Pr7lMzrj/9rOcMl9EwbiRgJM+v7P2/lP9IMdYZyPR9Oa3kqLwIeFkbjslbXTpgQahfnmuyahAuEgwEE01wBo/tZfPwUK5cnDoeEt0QZyqPoWJtvShRCMGQ4OBvvCu/sZZkMiKn1lKmJvsn42R/8mkgQmwwwGogs/yCIIdQPNlmEC/KbxAxeb7EOcIrF0/2ZvEj9NzDXAyxJ/Ntfx8O/tq/+mXqXhiw/85x4HuO4/9iX7ZSLbwK+bdOHG3xKd5OSFv7wCUC5c0pbqy345LRaehFumIXVe+wlmfp4rFPn6Qod+rVAm/2d/QKV9ksKj86/xrwdRIA8/v5xBVxhsJIHkxPFgeIhbBKDs9FU8ID/P+vfSz7nJiEqs4+E/DLRg+cjbzG15MGCgKUUsYPdw+B+u/QizyT4FI58rDAiwsSvMmM4AL7E8PvAl/w3BjQdGYPPQcPIWgqz4F7js8318ENrvH+TZNAhISJr9yyANwW/IJhwrxK/OyXgq8HsdT5yr7r/GB0HBjM8e5tSt1f131xcv6Nw3tavUM9OQDyuMy+bfEzg9OPPYCJNuSwAEkCnffGVwCMRAsc/4uUIR/nlkgmp+cmzg73Er5rwF5l16Lh0P1L11LRDWRQk7eLt+evjBPoC8QiipvvR9qMj/oU37lmH5KUpEywJ46E+KpihE7hWgDv5IVxc5wWbPFQYMi6u/Jfrw3zw+A1z0yQdmD4yOeIg1pPFR07K/nYeV8hgwfmeikcYo2w8NcrTO+FYANNCXtd3O/tMH8fuB8wm+Zs8V2hbyYR9DnIFk/eD3jO/8JHxt30RDWd/nUe9+349UXznoOPy8H5fOHpyk6fdEp7UK8M+vFQrFUxTl2CVE/+9xm99BNad4fgXgWAACpXZuT57goxGn9wJDmsCIVjMPyWYIAD/0p4S1dBthafoFDGN6mh4hkcJs31I1Q+el8QqhST0fU+KvRybesg28ue9hvqf9X/1HQVL9O5fAa3yw/wzzYS+4bWcRnhMI+47nA20vnIYFpSbgX41tDwjksO9snyr9f48STH4cwBsOXzvOaiBEc+RDHa9QSb/akQm6lVZj/F8ecFTr4w/G6Dqr4+73/69hRvbW2/h8zkQbKuuPkP16Rfji7TyLgDL06P8xbtcsRQuB9KBn/m8CeYLf5r4JaILOirvdvSHCQ+LQ53xPQaDp1wExTZDuq4U8wYYpDj+6B8EWkR+eJ1C36/K+cPTXBNE5pXqPjGuCKEm4Z/vPOH/LBHfw7yuA/u0CMth3FEwMAvjVocTD1ez1HX+k+yfXScF4/gl+8KOI/7X9yRP6Z/v5/p94TifRA2Q/k44MMzzbc1j4+wGBwUcquQrNur3uwYjAqvNMSI8JrpS7922XXS/aM/g25hL8+oWPoT/oAhxgwj9/jWv+Mr/i7Ty96rtfT4EcNPhknIXC0kTEvSSYGbpA9HvbRGyaAMeId/BeLbVwhy7wx41M2yoO6yNQmrH1jt1rkYkj0MjPNYt6SLhMnARffk+hgW4aBPZNsG+ezf9Waiagf5MfBiggiEHeU5VjzvMcnBbQPsrUPs0gmFv12lXAjEjktraGKEURKGFqrf1LDj9E+6Hrtgi8Hu2zf9Lpk9m5h0BPxP/EZxs3/E4/zz0ERuURRQhaPmi58PuBo7CnklPnw8/OPZgsze/HW/9mr4ZX82JWlLlarBD+9JnH+czFpyy3PBONFrxAlf/+HLdrL8ZSX8tEv06BkY4I7/rMj+wnpK+Ck33XlwkLHtXPFmpHPexj/XA8ZZYvCQ+h2S8Tk35cdw5rOsO8rTBUIAh+Td3RbCMAz0vg7skCfih+SrdEEHj28KKAAPufvq2VzQI/MgFpo9TJ/+JBY7SMhchbJmK0UVpU/cxE1GILfszKOEaw3DOgYw+he4nXUn+8QqX3J2uMz69S6w0/1Mcewmh93OceDB9G+x62rXzUCdl6rJD0v2jMhK15oZDkVqPWjiiEluhxGX+NnxOwkETuZqWYlesUKOZIFCvgezFbWSTm11uxUD30VQIkj+Z6J1hNlAuJ00TzsP/68rxZwKO6XB5ULy0wAFcxqgdBdBAcpr1Y8TAQ/iDZcUa5wB+iiQMCTABGfifgq14tPvFv7iodZCjDjqBKVsCPB3MHzEYE8aN9FCTgutNYGzV6qjFCbcctt+DGvaYtOMu6CdFN1DCQniKhrtN7OMoUgABOjOACj0c3vvwe9F5sDTcmRjcgc/VzKqtj6y5P4+KCXMHSckEK8ILT0d/F/hr/B+mhM34UN50QAAAAAElFTkSuQmCC","custom",["config","theme-data"],"default","",""]},iconsets:{landmarks:{type:"source",source:"mapbox-landmarks"}},schema:{theme:{default:"default",values:["default","faded","monochrome","custom"],metadata:{"mapbox:title":"Color theme","mapbox:description":"Switch between predefined themes or set a custom theme."}},"theme-data":{default:"",type:"string",metadata:{"mapbox:title":"Color theme","mapbox:description":"Set a custom theme based on a look-up table (LUT).","mapbox:auxiliary":["theme","custom"]}},lightPreset:{default:"day",type:"string",values:["dawn","day","dusk","night"],metadata:{"mapbox:title":"Light preset","mapbox:description":"Switch between 4 time-of-day states: dusk, dawn, day and night."}},showPlaceLabels:{default:!0,type:"boolean",metadata:{"mapbox:title":"Place labels","mapbox:description":"Show or hide place labels."}},colorPlaceLabels:{default:"hsl(0, 0%, 0%)",type:"color",metadata:{"mapbox:title":"Place labels color","mapbox:description":"Set a custom color for place labels.","mapbox:auxiliary":["showPlaceLabels",!0]}},showAdminBoundaries:{default:!0,type:"boolean",metadata:{"mapbox:title":"Administrative boundaries","mapbox:description":"Show or hide administrative boundaries."}},colorAdminBoundaries:{default:"hsl(345, 100%, 70%)",type:"color",metadata:{"mapbox:title":"Administrative boundaries color","mapbox:description":"Set a custom color for administrative boundaries.","mapbox:auxiliary":["showAdminBoundaries",!0]}},colorGreenspace:{default:"hsl(115, 60%, 84%)",type:"color",metadata:{"mapbox:title":"Greenspace color","mapbox:description":"Set a custom color for greenspaces such as forests, parks, and woods."}},colorWater:{default:"hsl(200, 100%, 80%)",type:"color",metadata:{"mapbox:title":"Water color","mapbox:description":"Set a custom color for water."}},showRoadLabels:{default:!0,type:"boolean",metadata:{"mapbox:title":"Road labels","mapbox:description":"Show or hide road labels including road shields."}},colorRoadLabels:{default:"hsl(0, 0%, 25%)",type:"color",metadata:{"mapbox:title":"Road labels color","mapbox:description":"Set a custom color for road labels.","mapbox:auxiliary":["showRoadLabels",!0]}},showTransitLabels:{default:!0,type:"boolean",metadata:{"mapbox:title":"Transit labels","mapbox:description":"Show or hide transit labels."}},colorMotorways:{default:"hsl(214, 23%, 70%)",type:"color",metadata:{"mapbox:title":"Motorways color","mapbox:description":"Set a custom color for motorway roads."}},colorTrunks:{default:"hsl(235, 20%, 70%)",type:"color",metadata:{"mapbox:title":"Trunk roads color","mapbox:description":"Set a custom color for trunk roads."}},colorRoads:{default:"hsl(224, 25%, 80%)",type:"color",metadata:{"mapbox:title":"Other roads color","mapbox:description":"Set a custom color for other roads."}},showPedestrianRoads:{default:!0,type:"boolean",metadata:{"mapbox:title":"Pedestrian paths","mapbox:description":"Show or hide pedestrian roads, paths, and trails."}},roadsBrightness:{default:.4,type:"number",metadata:{"mapbox:title":"Roads brightness","mapbox:description":"Control how bright roads appear in dark styles."}},showPointOfInterestLabels:{default:!0,type:"boolean",metadata:{"mapbox:title":"POI labels","mapbox:description":"Show or hide POI labels."}},densityPointOfInterestLabels:{type:"number",default:3,minValue:1,maxValue:5,stepValue:1,metadata:{"mapbox:title":"POI density","mapbox:description":"Set the density of POI labels.","mapbox:auxiliary":["showPointOfInterestLabels",!0]}},backgroundPointOfInterestLabels:{default:"circle",type:"string",values:["circle","none"],metadata:{"mapbox:title":"POI background","mapbox:description":"Set background shape for POI labels.","mapbox:auxiliary":["showPointOfInterestLabels",!0]}},colorModePointOfInterestLabels:{type:"string",default:"default",values:["default","single"],metadata:{"mapbox:title":"POI color mode","mapbox:description":"Use the default categorical colors or set a single custom color for POI labels.","mapbox:auxiliary":["showPointOfInterestLabels",!0]}},colorPointOfInterestLabels:{default:"#848e94",type:"color",metadata:{"mapbox:title":"POI color","mapbox:description":"Set a custom color for POI labels.","mapbox:auxiliary":[["showPointOfInterestLabels",!0],["colorModePointOfInterestLabels","single"]]}},showLandmarkIcons:{default:!1,type:"boolean",metadata:{"mapbox:title":"Landmark icons","mapbox:description":"Show or hide Landmark icons."}},showLandmarkIconLabels:{default:!0,type:"boolean",metadata:{"mapbox:title":"Landmark icon labels","mapbox:description":"Show or hide Landmark icon labels.","mapbox:auxiliary":["showLandmarkIcons",!0]}},show3dObjects:{default:!0,type:"boolean",metadata:{"mapbox:title":"3d buildings and trees","mapbox:description":"Show or hide 3d objects (buildings, landmarks, trees, etc.) including shadows, ambient occlusion, and flood lights."}},colorPlaceLabelHighlight:{default:"hsl(4, 43%, 55%)",type:"color",metadata:{"mapbox:title":"Color","mapbox:description":"Set a custom color for place labels when setting highlight state."}},colorPlaceLabelSelect:{default:"hsl(4, 53%, 42%)",type:"color",metadata:{"mapbox:title":"Color","mapbox:description":"Set a custom color for place labels when setting select state."}},colorBuildingHighlight:{default:"hsl(34, 30%, 93%)",type:"color",metadata:{"mapbox:title":"Color","mapbox:description":"Set a custom color for building fill extrusion when setting highlight state."}},colorBuildingSelect:{default:"hsl(214, 82%, 63%)",type:"color",metadata:{"mapbox:title":"Color","mapbox:description":"Set a custom color for building fill extrusion when setting select state."}},font:{default:"DIN Pro",type:"string",metadata:{"mapbox:title":"Font","mapbox:description":"Set the text font family. The basemap uses Medium, Bold, Italic and Regular. Falls back to Arial Unicode MS if a weight is missing."}}},sources:{composite:{url:"mapbox://mapbox.mapbox-bathymetry-v2,mapbox.mapbox-streets-v8-lite,mapbox.mapbox-terrain-v3,mapbox.mapbox-models-v1,mapbox.mapbox-poi-v2",type:"vector",promoteId:{building:["coalesce",["get","building_id"],["id"]]},data:{attribution:'<a href="https://www.mapbox.com/about/maps/" target="_blank" title="Mapbox" aria-label="Mapbox">&copy; Mapbox</a> <a href="https://www.openstreetmap.org/copyright/" target="_blank" title="OpenStreetMap" aria-label="OpenStreetMap">&copy; OpenStreetMap</a> <a class="mapbox-improve-map" href="https://www.mapbox.com/contribute/" target="_blank" title="Improve this map" aria-label="Improve this map">Improve this map</a>',bounds:[-180,-85,180,85],cacheControl:"max-age=43200,s-maxage=7200",center:[0,0,0],constituents:[{maxzoom:7,minzoom:0,source:"mapbox.mapbox-bathymetry-v2"},{maxzoom:16,minzoom:0,source:"mapbox.mapbox-streets-v8-lite"},{maxzoom:15,minzoom:0,source:"mapbox.mapbox-terrain-v3"},{maxzoom:16,minzoom:13,source:"mapbox.mapbox-models-v1"},{maxzoom:16,minzoom:6,source:"mapbox.mapbox-poi-v2"}],format:"pbf",language_options:{all:"Every available language",ar:"Arabic",bg:"Bulgarian",ca:"Catalan",cs:"Czech",da:"Danish",de:"German",el:"Greek",en:"English",es:"Spanish",et:"Estonian",fa:"Farsi",fi:"Finnish",fr:"French",he:"Hebrew",hr:"Croatian",hu:"Hungarian",id:"Indonesian",it:"Italian",ja:"Japanese",ka:"Georgian",ko:"Korean",local:"Renderable local language",lv:"Latvian",ms:"Malay",nb:"Norwegian Bokmål",nl:"Dutch",no:"Norwegian",pl:"Polish",pt:"Portuguese",ro:"Romanian",ru:"Russian",sk:"Slovak",sl:"Slovenian",sq:"Albanian",sr:"Serbian",sv:"Swedish",th:"Thai",tl:"Tagalog",tr:"Turkish",uk:"Ukrainian",vi:"Vietnamese","zh-Hans":"Simplified Chinese","zh-Hant":"Traditional Chinese"},mapbox_logo:!0,maxzoom:16,minzoom:0,name:"Mapbox POI v2 + Mapbox Models v1 + Mapbox Terrain v3 + Mapbox Streets v8 Lite + Mapbox Bathymetry v2",scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/mapbox.mapbox-bathymetry-v2,mapbox.mapbox-streets-v8-lite,mapbox.mapbox-terrain-v3,mapbox.mapbox-models-v1,mapbox.mapbox-poi-v2/{z}/{x}/{y}.vector.pbf"],vector_layers:[{id:"depth",maxzoom:7,minzoom:0,source:"mapbox.mapbox-bathymetry-v2"},{id:"landuse",minzoom:5,source:"mapbox.mapbox-streets-v8-lite"},{id:"waterway",minzoom:7,source:"mapbox.mapbox-streets-v8-lite"},{id:"water",minzoom:0,source:"mapbox.mapbox-streets-v8-lite"},{id:"aeroway",minzoom:9,source:"mapbox.mapbox-streets-v8-lite"},{id:"structure",minzoom:13,source:"mapbox.mapbox-streets-v8-lite"},{id:"building",minzoom:15,source:"mapbox.mapbox-streets-v8-lite"},{id:"landuse_overlay",minzoom:5,source:"mapbox.mapbox-streets-v8-lite"},{id:"road",minzoom:3,source:"mapbox.mapbox-streets-v8-lite"},{id:"admin",minzoom:1,source:"mapbox.mapbox-streets-v8-lite"},{id:"place_label",minzoom:0,source:"mapbox.mapbox-streets-v8-lite"},{id:"airport_label",minzoom:8,source:"mapbox.mapbox-streets-v8-lite"},{id:"transit_stop_label",minzoom:5,source:"mapbox.mapbox-streets-v8-lite"},{id:"natural_label",minzoom:0,source:"mapbox.mapbox-streets-v8-lite"},{id:"poi_label",minzoom:6,source:"mapbox.mapbox-streets-v8-lite"},{id:"motorway_junction",minzoom:9,source:"mapbox.mapbox-streets-v8-lite"},{id:"housenum_label",minzoom:16,source:"mapbox.mapbox-streets-v8-lite"},{id:"hillshade",maxzoom:22,minzoom:0,source:"mapbox.mapbox-terrain-v3"},{id:"landcover",maxzoom:12,minzoom:0,source:"mapbox.mapbox-terrain-v3"},{id:"tree",minzoom:15,source:"mapbox.mapbox-models-v1"},{id:"wind_turbine",minzoom:13,source:"mapbox.mapbox-models-v1"},{id:"poi",maxzoom:16,minzoom:6,source:"mapbox.mapbox-poi-v2"}],worldview_default:"CN",worldview_options:{ALL:"Every available worldview",AR:"Argentina",CN:"China",IN:"India",JP:"Japan",MA:"Morocco",RS:"Serbia",RU:"Russia",TR:"Turkey",US:"United States",VN:"Vietnam"}}},"3dbuildings":{url:"mapbox://mapbox.mapbox-3dbuildings-v1",type:"batched-model",data:{attribution:'<a href="https://www.mapbox.com/about/maps/" target="_blank" title="Mapbox" aria-label="Mapbox">&copy; Mapbox</a>',bounds:[-180,-85,180,85],capabilities:["draco"],center:[0,0,3],created:1683634017088,description:"Public tileset - Mapbox 3D buildings",format:"glb",id:"mapbox.mapbox-3dbuildings-v1",mapbox_logo:!0,maxzoom:14,minzoom:14,modified:1719240021306,name:"Mapbox 3D landmark buildings v1",private:!1,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://3dtiles/mapbox.mapbox-3dbuildings-v1/{z}/{x}/{y}.glb"],variants:[{capabilities:["meshopt"],tiles:["mapbox://3dtiles/mapbox.mapbox-3dbuildings-v1-meshopt/{z}/{x}/{y}.glb"]}],webpage:"https://studio.mapbox.com/tilesets/mapbox.mapbox-3dbuildings-v1"}},"mapbox-dem":{url:"mapbox://mapbox.mapbox-terrain-dem-v1",type:"raster-dem",tileSize:514,data:{attribution:'<a href="https://www.mapbox.com/about/maps/" target="_blank" title="Mapbox" aria-label="Mapbox">&copy; Mapbox</a>',autoscale:!0,bounds:[-180,-85,180,85],cacheControl:"max-age=43200,s-maxage=604800",center:[0,0,3],created:1604614692e3,description:"png or webp file extension must be used. height = -10000 + ((R * 256 * 256 + G * 256 + B) * 0.1)",encoding:"mapbox",filesize:0,format:"png",id:"mapbox.mapbox-terrain-dem-v1",mapbox_logo:!0,maxzoom:14,minzoom:0,modified:160583357e4,name:"Mapbox Terrain-DEM v1",packs:{scheme:[{indexzoom:0,maxzoom:5,minzoom:0},{indexzoom:6,maxzoom:9,minzoom:6},{indexzoom:10,maxzoom:12,minzoom:10},{indexzoom:11,maxzoom:14,minzoom:13}]},private:!1,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://raster/mapbox.mapbox-terrain-dem-v1/{z}/{x}/{y}.png"],webpage:"https://studio.mapbox.com/tilesets/mapbox.mapbox-terrain-dem-v1"}},"mapbox-landmark-pois":{url:"mapbox://mapbox.mapbox-landmark-pois-v1",type:"vector",data:{attribution:'<a href="https://www.mapbox.com/about/maps/" target="_blank" title="Mapbox" aria-label="Mapbox">&copy; Mapbox</a>',bounds:[-180,-85,180,85],center:[0,0,0],created:1742999403069,description:"POIs for Landmarks",filesize:0,format:"pbf",id:"mapbox.mapbox-landmark-pois-v1",mapbox_logo:!0,maxzoom:17,minzoom:10,modified:1754404415e3,name:"Mapbox Landmark POIs v1",private:!1,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/mapbox.mapbox-landmark-pois-v1/{z}/{x}/{y}.vector.pbf"],vector_layers:[{id:"landmarks_poi",minzoom:10,source:"mapbox.mapbox-landmark-pois-v1"}],webpage:"https://studio.mapbox.com/tilesets/mapbox.mapbox-landmark-pois-v1"}},"mapbox-landmarks":{url:"mapbox://mapbox.mapbox-landmark-icons-v1",type:"raster-array",data:{attribution:'<a href="https://www.mapbox.com/about/maps/" target="_blank" title="Mapbox" aria-label="Mapbox">&copy; Mapbox</a> <a class="mapbox-improve-map" href="https://www.mapbox.com/contribute/" target="_blank" title="Improve this map" aria-label="Improve this map">Improve this map</a>',bounds:[-180,-85,180,85],cacheControl:"max-age=43200,s-maxage=604800",capabilities:[],center:[0,0,3],created:1739202188782,description:"External tileset used for production - Mapbox Landmark Icons v1",extra_bounds:[[-18.716583,34.608345,48.080292,73.128931],[122.871094,26.431228,158.730469,46.800059],[-129.550781,19.642588,-64.335938,53.540307],[-46.7563,-23.6582,-43.1526,-22.8737],[76.948907,28.403519,77.385614,28.811024],[100.221813,13.570897,100.739887,13.954299]],format:"mrt",id:"mapbox.mapbox-landmark-icons-v1",mapbox_logo:!0,maxzoom:10,minzoom:10,name:"Mapbox Landmark Icons v1 - Production",private:!1,raster_layers:[{fields:{current_job_id:"2025-08-04"},id:"landmark-icons"}],scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://rasterarrays/mapbox.mapbox-landmark-icons-v1/{z}/{x}/{y}.mrt?jobid=2025-08-04"],webpage:"https://studio.mapbox.com/tilesets/mapbox.mapbox-landmark-icons-v1"}}},sprite:"mapbox://sprites/mapbox/standard/cearqi1fcr4p9hhmnba1yy3fr",glyphs:"mapbox://fonts/mapbox/{fontstack}/{range}.pbf",projection:{name:"globe"},layers:[{id:"land",type:"background",metadata:{"mapbox:group":"land & water"},paint:{"background-color":["match",["config","lightPreset"],"night","hsl(230, 30%, 95%)","hsl(20, 20%, 95%)"],"background-emissive-strength":["interpolate",["linear"],["zoom"],13,.1,14,["interpolate",["linear"],["measure-light","brightness"],.28,["match",["config","theme"],"monochrome",.05,0],.3,.25]]}},{id:"landcover",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"landcover",maxzoom:12,paint:{"fill-emissive-strength":["match",["config","theme"],"monochrome",.1,.2],"fill-color":["match",["get","class"],"snow","hsl(0, 0%, 100%)",["scrub"],["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],12]]],["flooded"],["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],2]]],"wood",["config","colorGreenspace"],["crop"],["hsl",["max",0,["-",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],13]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],2]]],["range"],["hsl",["max",0,["-",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],25]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],5]]],["bare"],"hsl(55, 60%, 94%)",["built-up"],"hsl(20, 100%, 97%)","hsl(20, 20%, 95%)"],"fill-opacity":["interpolate",["linear"],["zoom"],10,1,12,0],"fill-antialias":!1}},{id:"national-park",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"landuse_overlay",minzoom:5,paint:{"fill-emissive-strength":["match",["config","theme"],"monochrome",.08,.2],"fill-color":["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["max",0,["*",["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],.5]],["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]]],"fill-opacity":["interpolate",["linear"],["zoom"],5,0,6,.5],"fill-antialias":!1}},{id:"road-pedestrian-polygon-fill",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["match",["get","class"],["path","pedestrian"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["case",["has","layer"],[">=",["get","layer"],0],!0],["==",["geometry-type"],"Polygon"]],paint:{"fill-color":"hsl(0, 20%, 97%)","fill-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.28,["match",["config","theme"],"monochrome",.05,0],.3,.25],"fill-antialias":!1}},{id:"landuse",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"landuse",minzoom:8,filter:["all",[">=",["to-number",["get","sizerank"]],0],["<=",["-",["to-number",["get","sizerank"]],["interpolate",["exponential",1.5],["zoom"],12,0,18,14]],14],["match",["get","type"],["skateboard","playground","parking","surface","sand"],!1,!0]],paint:{"fill-emissive-strength":["interpolate",["linear"],["zoom"],12,["match",["config","theme"],"monochrome",.05,.25],14,["match",["config","theme"],"monochrome",0,.25]],"fill-color":["interpolate",["linear"],["measure-light","brightness"],.1,["match",["get","class"],"wood",["hsla",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],10]],["max",0,["-",["to-number",["at",3,["to-hsla",["config","colorGreenspace"]]]],.2]]],"scrub",["hsla",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",3,["to-hsla",["config","colorGreenspace"]]]],.4]]],["agriculture","grass"],["hsla",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],3]],["max",0,["-",["to-number",["at",3,["to-hsla",["config","colorGreenspace"]]]],.4]]],"park",["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],4]]],"airport","hsl(225, 35%, 70%)","cemetery",["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],30]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],9]]],"glacier","hsl(200, 70%, 95%)","hospital","hsl(0, 30%, 70%)","pitch",["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["min",100,["+",["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],10]],["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]]],"sand","hsl(52, 65%, 75%)","school","hsl(40, 10%, 60%)","commercial_area","hsl(324, 27%, 70%)","residential","hsl(20, 7%, 97%)",["facility","industrial"],"hsl(230, 20%, 70%)","hsl(20, 22%, 86%)"],.4,["match",["get","class"],"wood",["hsla",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],10]],["max",0,["-",["to-number",["at",3,["to-hsla",["config","colorGreenspace"]]]],.2]]],"scrub",["hsla",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",3,["to-hsla",["config","colorGreenspace"]]]],.4]]],["agriculture","grass"],["hsla",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],3]],["max",0,["-",["to-number",["at",3,["to-hsla",["config","colorGreenspace"]]]],.4]]],"park",["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],4]]],"airport","hsl(225, 60%, 92%)","cemetery",["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],10]],["at",2,["to-hsla",["config","colorGreenspace"]]]],"glacier","hsl(200, 70%, 90%)","hospital","hsl(0, 50%, 92%)","pitch",["hsl",["max",0,["-",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],12]],["min",100,["+",["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],10]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],2]]],"sand","hsl(52, 65%, 86%)","school","hsl(40, 50%, 88%)","commercial_area","hsl(24, 100%, 94%)","residential","hsl(20, 7%, 97%)",["facility","industrial"],"hsl(230, 15%, 92%)","hsl(20, 22%, 86%)"]],"fill-opacity":["interpolate",["linear"],["zoom"],9,["match",["get","class"],["airport"],.8,.2],10,["match",["config","theme"],"monochrome",["match",["get","class"],["residential","industrial","hospital","parking","school","facility","commercial_area"],0,["grass","scrub","glacier","pitch","sand","airport"],1,["interpolate",["linear"],["measure-light","brightness"],.1,.8,.4,1]],["match",["get","class"],["residential"],0,["grass","scrub","glacier","pitch","sand","airport"],1,["interpolate",["linear"],["measure-light","brightness"],.1,.8,.4,1]]]],"fill-antialias":!1}},{id:"recreation-polygon",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"landuse",minzoom:14,filter:["all",[">=",["to-number",["get","sizerank"]],0],["<=",["-",["to-number",["get","sizerank"]],["interpolate",["exponential",1.5],["zoom"],12,0,18,14]],14],["match",["get","type"],["skateboard","playground","parking","surface","sand"],!0,!1]],paint:{"fill-emissive-strength":["interpolate",["linear"],["zoom"],12,["match",["config","theme"],"monochrome",.05,.25],14,["match",["config","theme"],"monochrome",0,.25]],"fill-opacity":["interpolate",["linear"],["zoom"],14,0,15,1],"fill-color":["interpolate",["linear"],["measure-light","brightness"],.1,["match",["get","type"],["parking","playground","skateboard","surface"],"hsla(20, 3%, 90%, 0.2)","hsl(52, 65%, 75%)"],.4,["match",["get","type"],["parking","playground","skateboard","surface"],"hsl(20, 3%, 92%)","hsl(52, 65%, 86%)"]],"fill-antialias":!1}},{id:"3d-hillshade",type:"hillshade",metadata:{"mapbox:group":"land & water"},source:"mapbox-dem",minzoom:6,maxzoom:14.49,paint:{"hillshade-exaggeration":["interpolate",["exponential",1.5],["zoom"],12,.4,14,0],"hillshade-illumination-anchor":"map","hillshade-shadow-color":["interpolate",["exponential",1.5],["zoom"],7,["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(235, 10%, 0%, 0.2)",.3,"hsla(0, 100%, 0%,0.2)"],10,["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(235, 10%, 0%, 0.3)",.3,"hsla(0, 100%, 0%,0.2)"]],"hillshade-highlight-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(235, 20%, 85%, 0.2)",.3,"hsla(0, 100%, 100%, 0.8)"],"hillshade-accent-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(235, 30%, 30%, 1)",.3,"hsla(0, 100%, 100%, 1)"]}},{id:"hillshade",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"hillshade",maxzoom:16,paint:{"fill-emissive-strength":["interpolate",["exponential",1.5],["zoom"],5.9,0,6,["match",["config","theme"],"monochrome",0,.2]],"fill-color":["interpolate",["linear"],["measure-light","brightness"],.28,["match",["get","class"],"shadow","hsla(235, 10%, 10%, 0.1)","hsla(235, 20%, 80%, 0)"],.3,["match",["get","class"],"shadow","hsla(40, 20%, 20%, 0.04)","hsla(20, 20%, 100%, 0.12)"]],"fill-opacity":["interpolate",["linear"],["zoom"],10,1,12,.8,16,0],"fill-antialias":!1}},{id:"pitch-outline",type:"line",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"landuse",minzoom:15,filter:["any",["==",["get","class"],"pitch"],["==",["get","type"],"playground"]],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.05,.15],"line-color":["match",["get","type"],["playground","skateboard"],"hsl(0, 0%, 85%)",["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],10]]]]}},{id:"waterway-shadow",type:"line",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"waterway",minzoom:8,layout:{"line-cap":["step",["zoom"],"butt",11,"round"],"line-join":"round"},paint:{"line-color":["hsla",["min",360,["+",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],19]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],1]],["to-number",["at",3,["to-hsla",["config","colorWater"]]]]],"line-width":["interpolate",["exponential",1.3],["zoom"],9,["match",["get","class"],["canal","river"],.1,0],20,["match",["get","class"],["canal","river"],8,3]],"line-translate":["interpolate",["exponential",1.2],["zoom"],7,["literal",[0,0]],16,["literal",[-1,-1]]],"line-translate-anchor":"viewport","line-opacity":["interpolate",["linear"],["zoom"],8,0,8.5,1]}},{id:"waterway",type:"line",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"waterway",minzoom:8,layout:{"line-cap":["step",["zoom"],"butt",11,"round"],"line-join":"round"},paint:{"line-color":["config","colorWater"],"line-width":["interpolate",["exponential",1.3],["zoom"],9,["match",["get","class"],["canal","river"],.1,0],20,["match",["get","class"],["canal","river"],8,3]],"line-opacity":["interpolate",["linear"],["zoom"],8,0,8.5,1]}},{id:"water",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"water",paint:{"fill-color":["interpolate",["linear"],["zoom"],13,["config","colorWater"],14,["interpolate",["linear"],["measure-light","brightness"],0,["hsla",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],55]],["to-number",["at",3,["to-hsla",["config","colorWater"]]]]],.02,["config","colorWater"]]],"fill-emissive-strength":["interpolate",["linear"],["zoom"],5,["match",["config","theme"],"monochrome",.05,.1],7,0],"fill-antialias":!1}},{id:"water-depth",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"depth",maxzoom:8,paint:{"fill-color":["interpolate",["linear"],["zoom"],6,["interpolate",["linear"],["get","min_depth"],0,["hsla",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["to-number",["at",2,["to-hsla",["config","colorWater"]]]],.35],200,["hsla",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],8]],.35],7e3,["hsla",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],16]],.35]],8,["interpolate",["linear"],["get","min_depth"],0,["hsla",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["to-number",["at",2,["to-hsla",["config","colorWater"]]]],0],200,["hsla",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],8]],0],7e3,["hsla",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],16]],0]]],"fill-antialias":!1}},{id:"land-structure-polygon",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"structure",minzoom:13,filter:["all",["==",["get","class"],"land"],["==",["geometry-type"],"Polygon"]],paint:{"fill-color":"hsl(20, 20%, 95%)","fill-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.28,["match",["config","theme"],"monochrome",.05,0],.3,.25],"fill-antialias":!1}},{id:"land-structure-line",type:"line",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"structure",minzoom:13,filter:["all",["==",["get","class"],"land"],["==",["geometry-type"],"LineString"]],layout:{"line-cap":"square"},paint:{"line-width":["interpolate",["exponential",1.99],["zoom"],14,.75,20,40],"line-color":"hsl(20, 20%, 95%)","line-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.28,["match",["config","theme"],"monochrome",.05,0],.3,.25]}},{id:"aeroway-polygon",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"aeroway",minzoom:11,filter:["==",["geometry-type"],"Polygon"],paint:{"fill-emissive-strength":.15,"fill-color":"hsl(225, 52%, 87%)","fill-opacity":["interpolate",["linear"],["zoom"],10,0,11,1],"fill-antialias":!1}},{id:"aeroway-line",type:"line",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"aeroway",minzoom:9,filter:["==",["geometry-type"],"LineString"],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.3,.8],"line-color":["interpolate",["linear"],["measure-light","brightness"],0,"hsl(238, 16%, 40%)",.2,"hsl(225, 52%, 87%)"],"line-width":["interpolate",["exponential",1.5],["zoom"],9,["match",["get","type"],"runway",1,.5],18,["match",["get","type"],"runway",80,20]],"line-opacity":["interpolate",["linear"],["zoom"],10,0,11,1]}},{id:"building-underground",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"building",minzoom:15,filter:["all",["==",["get","underground"],"true"],["==",["geometry-type"],"Polygon"]],paint:{"fill-color":["case",["to-boolean",["feature-state","select"]],["config","colorBuildingSelect"],["to-boolean",["feature-state","highlight"]],["config","colorBuildingHighlight"],"hsl(240, 60%, 92%)"],"fill-opacity":["interpolate",["linear"],["zoom"],15,0,16,.5],"fill-antialias":!1}},{id:"bottom",type:"slot",metadata:{"mapbox:description":"Above polygons (land, landuse, water, etc.)"}},{id:"tunnel-path-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","class"],"path"],["!=",["get","type"],"steps"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-join":"round"},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,18,1,22,2],"line-color":"hsl(0, 10%, 80%)","line-emissive-strength":["match",["config","theme"],"monochrome",0,.15],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-dasharray":[3,1]}},{id:"tunnel-pedestrian-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","type"],["pedestrian"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-join":"round"},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,18,1,22,2],"line-color":"hsl(0, 10%, 80%)","line-emissive-strength":["match",["config","theme"],"monochrome",0,.15],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-dasharray":[3,1]}},{id:"tunnel-steps-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","type"],"steps"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-join":"round"},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",0,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":"hsl(295, 10%, 93%)"}},{id:"tunnel-minor-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["track"],!0,"service",["step",["zoom"],!1,14,!0],!1],["match",["get","type"],["piste"],!1,!0],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],85],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],14,1,18,10,22,100],"line-dasharray":[3,3]}},{id:"tunnel-street-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["street","street_limited"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],85],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.5,18,20,22,200],"line-opacity":["step",["zoom"],0,14,1],"line-dasharray":[3,3]}},{id:"tunnel-minor-link-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["primary_link","secondary_link","tertiary_link"],!0,!1],["==",["get","structure"],"tunnel"],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],85],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.4,18,18,22,180],"line-opacity":["step",["zoom"],0,11,1],"line-dasharray":[3,3]}},{id:"tunnel-secondary-tertiary-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["secondary","tertiary"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],85],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,0,18,26,22,260],"line-dasharray":[3,3]}},{id:"tunnel-primary-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","class"],"primary"],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],85],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280],"line-dasharray":[3,3]}},{id:"tunnel-major-link-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["match",["get","class"],"motorway_link",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["min",["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10]],85],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["min",["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10]],85],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-dasharray":[3,3]}},{id:"tunnel-motorway-trunk-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["motorway","trunk"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,22,2],"line-color":["match",["get","class"],"motorway",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["min",["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10]],85],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["min",["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10]],85],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-dasharray":[3,3]}},{id:"tunnel-path-trail",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","class"],"path"],["match",["get","type"],["hiking","mountain_bike","trail"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.05,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":"hsl(295, 11%, 95%)","line-dasharray":[10,0]}},{id:"tunnel-path",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","class"],"path"],["!=",["get","type"],"steps"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":"round","line-join":"round"},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.05,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":"hsl(295, 11%, 95%)"}},{id:"tunnel-steps",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","type"],"steps"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.05,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":"hsl(295, 11%, 95%)","line-dasharray":["step",["zoom"],["literal",[1,0]],17,["literal",[.2,.2]],19,["literal",[.1,.1]]]}},{id:"tunnel-pedestrian",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","type"],"pedestrian"],["==",["get","class"],"pedestrian"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":"round","line-join":"round"},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.05,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":"hsl(295, 11%, 95%)"}},{id:"tunnel-construction",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","class"],"construction"],["==",["geometry-type"],"LineString"]],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.3],["-",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,18,20,22,200],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorRoads"]]]],.2]],"line-dasharray":[.2,.1]}},{id:"tunnel-minor",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["track"],!0,"service",["step",["zoom"],!1,14,!0],!1],["match",["get","type"],["piste"],!1,!0],["==",["geometry-type"],"LineString"]],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.3],["-",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,18,10,22,100],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorRoads"]]]],.2]]}},{id:"tunnel-minor-link",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["primary_link","secondary_link","tertiary_link"],!0,!1],["==",["get","structure"],"tunnel"],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",13,"round"],"line-join":["step",["zoom"],"miter",13,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.3],["-",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.4,18,18,22,180],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorRoads"]]]],.2]]}},{id:"tunnel-major-link",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.3],["-",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-color":["match",["get","class"],["motorway_link"],["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]],.2]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]],.2]]]}},{id:"tunnel-street",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["street","street_limited"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.3],["-",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.5,18,20,22,200],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorRoads"]]]],.2]],"line-opacity":["step",["zoom"],0,14,1]}},{id:"tunnel-street-low",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,maxzoom:14,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["street","street_limited"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.3],["-",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.5,18,20,22,200],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorRoads"]]]],.2]]}},{id:"tunnel-secondary-tertiary",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["secondary","tertiary"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.3],["-",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],3,0,18,26,22,260],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorRoads"]]]],.2]]}},{id:"tunnel-primary",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","class"],"primary"],["==",["geometry-type"],"LineString"]],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.3],["-",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorRoads"]]]],.2]]}},{id:"tunnel-motorway-trunk",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["motorway","trunk"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.3],["-",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-color":["match",["get","class"],"motorway",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]],.2]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]],.2]]]}},{id:"tunnel-oneway-arrow",type:"symbol",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","oneway"],"true"],["step",["zoom"],["match",["get","class"],["primary","secondary","street","street_limited","tertiary"],!0,!1],16,["match",["get","class"],["primary","secondary","tertiary","street","street_limited","primary_link","secondary_link","tertiary_link","service","track"],!0,!1]]],layout:{"symbol-placement":"line","icon-image":["step",["zoom"],["image","oneway-small",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}],18,["image","oneway-large",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}]],"symbol-spacing":200,"icon-rotation-alignment":"map","icon-allow-overlap":!0,"icon-ignore-placement":!0},paint:{"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.4,.7],.5,1]}},{id:"tunnel-oneway-arrow-trunk",type:"symbol",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["trunk","trunk_link"],!0,!1],["==",["get","oneway"],"true"]],layout:{"symbol-placement":"line","icon-image":["step",["zoom"],["image","oneway-small",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}],18,["image","oneway-large",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}]],"symbol-spacing":200,"icon-rotation-alignment":"map","icon-allow-overlap":!0,"icon-ignore-placement":!0},paint:{"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.5,.7],.5,1]}},{id:"tunnel-oneway-arrow-motorway",type:"symbol",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["motorway","motorway_link"],!0,!1],["==",["get","oneway"],"true"]],layout:{"symbol-placement":"line","icon-image":["step",["zoom"],["image","oneway-small",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}],18,["image","oneway-large",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}]],"symbol-spacing":200,"icon-rotation-alignment":"map","icon-allow-overlap":!0,"icon-ignore-placement":!0},paint:{"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.5,.7],.5,1]}},{id:"tunnel-path-cycleway-piste",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["path","track"],!0,!1],["match",["get","type"],"cycleway",["step",["zoom"],!1,15,!0],"piste",!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.1,.2],"line-width":["interpolate",["linear"],["zoom"],12,["match",["get","type"],["piste"],.5,0],18,["match",["get","type"],["piste"],4,2],22,["match",["get","type"],["piste"],40,20]],"line-color":"hsl(125, 50%, 60%)","line-opacity":["interpolate",["linear"],["zoom"],15,["match",["get","type"],["piste"],1,0],16,.5],"line-translate":[0,0],"line-offset":["interpolate",["linear"],["zoom"],12,0,18,["match",["get","type"],["piste"],0,-2],22,["match",["get","type"],["piste"],0,-20]],"line-dasharray":["step",["zoom"],["literal",[1]],16,["literal",[1,1]]]}},{id:"ferry",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:8,filter:["==",["get","type"],"ferry"],paint:{"line-emissive-strength":["interpolate",["linear"],["zoom"],13,["match",["config","theme"],"monochrome",.2,.3],14,["match",["config","theme"],"monochrome",.4,.5]],"line-color":["interpolate",["linear"],["measure-light","brightness"],.3,["hsl",["min",360,["+",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],9]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],50]],50],.4,["case",[">=",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],50],["hsl",["min",360,["+",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],9]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],20]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],20]]],["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],20]]]]],"line-opacity":["interpolate",["linear"],["zoom"],8,0,17,1],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,20,1],"line-dasharray":["step",["zoom"],["literal",[1,0]],13,["literal",[12,4]]]}},{id:"ferry-auto",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:8,filter:["==",["get","type"],"ferry_auto"],paint:{"line-emissive-strength":["interpolate",["linear"],["zoom"],13,["match",["config","theme"],"monochrome",.15,.3],14,["match",["config","theme"],"monochrome",.3,.5]],"line-color":["interpolate",["linear"],["measure-light","brightness"],.3,["hsl",["min",360,["+",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],9]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],50]],50],.4,["case",[">=",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],50],["hsl",["min",360,["+",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],9]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],20]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],20]]],["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],20]]]]],"line-opacity":["interpolate",["linear"],["zoom"],8,0,17,1],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,20,1]}},{id:"road-path-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","class"],"path"],["step",["zoom"],["!",["match",["get","type"],["steps","sidewalk","crossing"],!0,!1]],16,["!=",["get","type"],"steps"]],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"],"line-join":["step",["zoom"],"miter",16,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",0,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,18,1,22,2],"line-color":"hsl(0, 10%, 80%)","line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80]}},{id:"road-steps-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","type"],"steps"],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-join":"round"},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",0,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":"hsl(0, 10%, 80%)"}},{id:"road-pedestrian-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","class"],"pedestrian"],["match",["get","structure"],["none","ford"],!0,!1],["case",["has","layer"],[">=",["get","layer"],0],!0],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"],"line-join":["step",["zoom"],"miter",16,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",0,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,18,1,22,2],"line-color":"hsl(0, 10%, 80%)","line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80]}},{id:"road-path-trail",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","class"],"path"],["match",["get","type"],["hiking","mountain_bike","trail"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"],"line-join":["step",["zoom"],"miter",16,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.1,.25],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"],"line-dasharray":[10,0]}},{id:"road-path",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","class"],"path"],["step",["zoom"],["!",["match",["get","type"],["steps","sidewalk","crossing"],!0,!1]],16,["!=",["get","type"],"steps"]],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"],"line-join":["step",["zoom"],"miter",16,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.1,.25],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"]}},{id:"road-steps",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","type"],"steps"],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-join":"round"},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.1,.25],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"],"line-dasharray":["step",["zoom"],["literal",[1,0]],17,["literal",[.2,.2]],19,["literal",[.1,.1]]]}},{id:"road-pedestrian",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","class"],"pedestrian"],["match",["get","structure"],["none","ford"],!0,!1],["case",["has","layer"],[">=",["get","layer"],0],!0],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"],"line-join":["step",["zoom"],"miter",16,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.1,.25],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"]}},{id:"golf-hole-line",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["==",["get","class"],"golf"],paint:{"line-emissive-strength":.2,"line-color":["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],30]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],14]]]}},{id:"gate-fence-hedge-shade",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"structure",minzoom:17,filter:["match",["get","class"],["gate","fence","hedge"],!0,!1],paint:{"line-width":["interpolate",["linear"],["zoom"],16,1,20,3],"line-opacity":["match",["get","class"],"gate",.5,1],"line-translate":[1.5,1.5],"line-color":["match",["get","class"],"hedge",["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],25]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],14]]],"hsl(221, 0%, 70%)"]}},{id:"gate-fence-hedge",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"structure",minzoom:16,filter:["match",["get","class"],["gate","fence","hedge"],!0,!1],paint:{"line-color":["match",["get","class"],"hedge",["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],25]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],14]]],"hsl(221, 0%, 85%)"],"line-width":["interpolate",["linear"],["zoom"],16,1,20,3],"line-opacity":["match",["get","class"],"gate",.5,1]}},{id:"road-minor-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["match",["get","class"],["track"],!0,"service",["step",["zoom"],!1,14,!0],!1],["match",["get","type"],["piste"],!1,!0],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],14,1,18,10,22,100]}},{id:"road-street-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["street","street_limited"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.5,18,20,22,200],"line-opacity":["step",["zoom"],0,14,1]}},{id:"road-minor-link-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["primary_link","secondary_link","tertiary_link"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.4,18,18,22,180],"line-opacity":["step",["zoom"],0,11,1]}},{id:"road-secondary-tertiary-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["secondary","tertiary"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,0,18,26,22,260]}},{id:"road-primary-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","class"],"primary"],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280]}},{id:"road-major-link-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["match",["get","class"],"motorway_link",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-opacity":["step",["zoom"],0,11,1]}},{id:"road-motorway-trunk-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["step",["zoom"],["match",["get","class"],["motorway","trunk"],!0,!1],5,["all",["match",["get","class"],["motorway","trunk"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1]]],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,22,2],"line-color":["match",["get","class"],"motorway",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-opacity":["interpolate",["linear"],["zoom"],3,0,3.5,1]}},{id:"turning-feature",type:"circle",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["turning_circle","turning_loop"],!0,!1],["==",["geometry-type"],"Point"]],paint:{"circle-emissive-strength":["match",["config","theme"],"monochrome",.2,.35],"circle-radius":["interpolate",["exponential",1.5],["zoom"],15,4.5,16,8,18,20,22,200],"circle-color":["config","colorRoads"],"circle-pitch-alignment":"map"}},{id:"road-polygon-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["street","street_limited","primary","trunk_link","secondary_link","tertiary_link","tertiary","secondary","trunk","primary_link","motorway_link"],!0,!1],["match",["geometry-type"],["Polygon"],!0,!1],["match",["get","type"],["service"],!1,!0]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-opacity":["step",["zoom"],0,14,1],"line-color":["match",["get","class"],["motorway","motorway_link"],["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["trunk","trunk_link"],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]]],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-offset":["interpolate",["exponential",1.5],["zoom"],14,.4,22,-1]}},{id:"road-others-polygon-fill",type:"fill",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["street","street_limited"],!0,!1],["match",["geometry-type"],["Polygon"],!0,!1],["match",["get","type"],["service"],!1,!0]],layout:{},paint:{"fill-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"fill-opacity":["interpolate",["linear"],["zoom"],13,0,14,1],"fill-color":["config","colorRoads"],"fill-antialias":!1}},{id:"road-secondary-tertiary-polygon-fill",type:"fill",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["secondary_link","tertiary_link","tertiary","secondary"],!0,!1],["match",["geometry-type"],["Polygon"],!0,!1],["match",["get","type"],["service"],!1,!0]],layout:{},paint:{"fill-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"fill-opacity":["interpolate",["linear"],["zoom"],13,0,14,1],"fill-color":["config","colorRoads"],"fill-antialias":!1}},{id:"road-primary-polygon-fill",type:"fill",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["primary","primary_link"],!0,!1],["match",["geometry-type"],["Polygon"],!0,!1],["match",["get","type"],["service"],!1,!0]],layout:{},paint:{"fill-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"fill-opacity":["interpolate",["linear"],["zoom"],13,0,14,1],"fill-color":["config","colorRoads"],"fill-antialias":!1}},{id:"road-motorway-trunk-polygon-fill",type:"fill",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["motorway","trunk","trunk_link","motorway_link"],!0,!1],["match",["geometry-type"],["Polygon"],!0,!1],["match",["get","type"],["service"],!1,!0]],layout:{},paint:{"fill-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.1],["+",["config","roadsBrightness"],.2]],"fill-opacity":["interpolate",["linear"],["zoom"],13,0,14,1],"fill-color":["match",["get","class"],["motorway","motorway_link"],["config","colorMotorways"],["config","colorTrunks"]],"fill-antialias":!1}},{id:"road-construction",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","class"],"construction"],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,18,20,22,200],"line-color":["config","colorRoads"],"line-dasharray":[.2,.1]}},{id:"road-minor",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["track"],!0,"service",["step",["zoom"],!1,14,!0],!1],["match",["get","type"],["piste"],!1,!0],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,18,10,22,100],"line-color":["config","colorRoads"]}},{id:"road-minor-link",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["match",["get","class"],["primary_link","secondary_link","tertiary_link"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",13,"round"],"line-join":["step",["zoom"],"miter",13,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.4,18,18,22,180],"line-color":["config","colorRoads"]}},{id:"road-major-link",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",13,"round"],"line-join":["step",["zoom"],"miter",13,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.1],["+",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-color":["match",["get","class"],"motorway_link",["config","colorMotorways"],["config","colorTrunks"]]}},{id:"road-street",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["street","street_limited"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.5,18,20,22,200],"line-color":["config","colorRoads"],"line-opacity":["step",["zoom"],0,14,1]}},{id:"road-street-low",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:11,maxzoom:14,filter:["all",["match",["get","class"],["street","street_limited"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.5,18,20,22,200],"line-color":["config","colorRoads"]}},{id:"road-secondary-tertiary",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:8,filter:["all",["match",["get","class"],["secondary","tertiary"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],3,0,18,26,22,260],"line-color":["config","colorRoads"]}},{id:"road-primary",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:6,filter:["all",["==",["get","class"],"primary"],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280],"line-color":["config","colorRoads"]}},{id:"road-motorway-trunk",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:3,filter:["all",["step",["zoom"],["match",["get","class"],["motorway","trunk"],!0,!1],5,["all",["match",["get","class"],["motorway","trunk"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1]]],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",13,"round"],"line-join":["step",["zoom"],"miter",13,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.1],["+",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-color":["match",["get","class"],"motorway",["config","colorMotorways"],["config","colorTrunks"]],"line-opacity":["interpolate",["linear"],["zoom"],3,0,3.5,["match",["config","theme"],"monochrome",0,1],5,["match",["config","theme"],"monochrome",1,1]]}},{id:"road-path-cycleway-piste",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["match",["get","class"],["path","track"],!0,!1],["match",["get","type"],"cycleway",["step",["zoom"],!1,15,!0],"piste",!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.5,.6],"line-width":["interpolate",["linear"],["zoom"],12,["match",["get","type"],["piste"],.5,0],18,["match",["get","type"],["piste"],4,2],22,["match",["get","type"],["piste"],40,20]],"line-color":"hsl(125, 50%, 60%)","line-translate":[0,0],"line-offset":["interpolate",["linear"],["zoom"],12,0,18,["match",["get","type"],["piste"],0,-2],22,["match",["get","type"],["piste"],0,-20]],"line-opacity":["interpolate",["linear"],["zoom"],15,["match",["get","type"],["piste"],1,0],16,1],"line-dasharray":["step",["zoom"],["literal",[1]],16,["literal",[1,1]]]}},{id:"road-rail",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["major_rail","minor_rail"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1]],paint:{"line-gap-width":["interpolate",["linear"],["zoom"],15,0,16,1,18,2,22,20],"line-color":["interpolate",["linear"],["measure-light","brightness"],.1,"hsl(0, 0%, 30%)",.4,"hsl(0, 0%, 65%)"],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,22,2]}},{id:"road-rail-tracks",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["major_rail","minor_rail"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1]],paint:{"line-color":["interpolate",["linear"],["measure-light","brightness"],.1,"hsl(0, 0%, 30%)",.4,"hsl(0, 0%, 65%)"],"line-width":["interpolate",["exponential",1.5],["zoom"],16,2,18,6,20,16,22,32],"line-dasharray":["step",["zoom"],["literal",[.1,15]],16,["literal",[.1,1]],18,["literal",[.05,.5]]],"line-opacity":["interpolate",["linear"],["zoom"],13.75,0,14,1]}},{id:"road-oneway-arrow",type:"symbol",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","oneway"],"true"],["step",["zoom"],["match",["get","class"],["primary","secondary","tertiary","street","street_limited"],!0,!1],16,["match",["get","class"],["primary","secondary","tertiary","street","street_limited","primary_link","secondary_link","tertiary_link","service","track"],!0,!1]],["match",["get","structure"],["none","ford"],!0,!1]],layout:{"symbol-placement":"line","icon-image":["step",["zoom"],["image","oneway-small",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}],18,["image","oneway-large",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}]],"symbol-spacing":200,"icon-rotation-alignment":"map","icon-allow-overlap":!0,"icon-ignore-placement":!0},paint:{"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.4,.7],.5,1]}},{id:"road-oneway-arrow-trunk",type:"symbol",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","oneway"],"true"],["match",["get","class"],["trunk","trunk_link"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1]],layout:{"symbol-placement":"line","icon-image":["step",["zoom"],["image","oneway-small",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}],18,["image","oneway-large",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}]],"symbol-spacing":200,"icon-rotation-alignment":"map","icon-allow-overlap":!0,"icon-ignore-placement":!0},paint:{"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.5,.7],.5,1]}},{id:"road-oneway-arrow-motorway",type:"symbol",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","oneway"],"true"],["match",["get","class"],["motorway","motorway_link"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1]],layout:{"symbol-placement":"line","icon-image":["step",["zoom"],["image","oneway-small",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}],18,["image","oneway-large",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}]],"symbol-spacing":200,"icon-rotation-alignment":"map","icon-allow-overlap":!0,"icon-ignore-placement":!0},paint:{"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.5,.7],.5,1]}},{id:"crosswalks",type:"symbol",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"structure",minzoom:17,filter:["all",["==",["get","class"],"crosswalk"],["==",["geometry-type"],"Point"]],layout:{"icon-size":["interpolate",["linear"],["zoom"],16,.1,18,.2,19,.5,22,1.5],"icon-image":["step",["zoom"],["image","crosswalk-small",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}],18,["image","crosswalk-large",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}]],"icon-rotate":["get","direction"],"icon-rotation-alignment":"map","icon-allow-overlap":!0,"icon-ignore-placement":!0},paint:{"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.4,.7],.5,1]}},{id:"bridge-path-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"path"],["step",["zoom"],["!",["match",["get","type"],["steps","sidewalk","crossing"],!0,!1]],16,["!=",["get","type"],"steps"]],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",0,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,18,1,22,2],"line-color":"hsl(0, 10%, 80%)","line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80]}},{id:"bridge-steps-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","type"],"steps"],["==",["get","structure"],"bridge"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",0,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],15,2,17,4.6,18,7],"line-color":"hsl(0, 10%, 80%)"}},{id:"bridge-pedestrian-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"pedestrian"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",0,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,18,1,22,2],"line-color":"hsl(0, 10%, 80%)","line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80]}},{id:"bridge-path-trail",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"path"],["match",["get","type"],["hiking","mountain_bike","trail"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.1,.25],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"],"line-dasharray":[10,0]}},{id:"bridge-path",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"path"],["!=",["get","type"],"steps"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.1,.25],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"]}},{id:"bridge-steps",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","type"],"steps"],["==",["get","structure"],"bridge"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.1,.25],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"],"line-dasharray":["step",["zoom"],["literal",[1,0]],17,["literal",[.2,.2]],19,["literal",[.1,.1]]]}},{id:"bridge-pedestrian",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"pedestrian"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.1,.25],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"]}},{id:"bridge-minor-shadow",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["track"],!0,"service",["step",["zoom"],!1,14,!0],!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,22,10],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],14,1,18,10,22,100],"line-blur":10}},{id:"bridge-minor-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["track"],!0,"service",["step",["zoom"],!1,14,!0],!1],["match",["get","type"],["piste"],!1,!0],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],14,1,18,10,22,100]}},{id:"bridge-street-shadow",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["street","street_limited"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,22,10],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.5,18,20,22,200],"line-opacity":["step",["zoom"],0,14,1],"line-blur":10}},{id:"bridge-street-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["street","street_limited"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.5,18,20,22,200],"line-opacity":["step",["zoom"],0,14,1]}},{id:"bridge-minor-link-shadow",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["primary_link","secondary_link","tertiary_link"],!0,!1],["==",["get","structure"],"bridge"],["==",["geometry-type"],"LineString"]],layout:{"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,22,10],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.4,18,18,22,180],"line-opacity":["step",["zoom"],0,11,1],"line-blur":10}},{id:"bridge-minor-link-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["primary_link","secondary_link","tertiary_link"],!0,!1],["==",["get","structure"],"bridge"],["==",["geometry-type"],"LineString"]],layout:{"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.4,18,18,22,180],"line-opacity":["step",["zoom"],0,11,1]}},{id:"bridge-secondary-tertiary-shadow",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["secondary","tertiary"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,0,18,26,22,260],"line-opacity":["step",["zoom"],0,10,1],"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,22,10],"line-blur":10}},{id:"bridge-secondary-tertiary-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["secondary","tertiary"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,0,18,26,22,260],"line-opacity":["step",["zoom"],0,10,1]}},{id:"bridge-primary-shadow",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"primary"],["==",["geometry-type"],"LineString"]],paint:{"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280],"line-opacity":["step",["zoom"],0,10,1],"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,22,10],"line-blur":10}},{id:"bridge-primary-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"primary"],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280],"line-opacity":["step",["zoom"],0,10,1]}},{id:"bridge-major-link-shadow",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["<=",["get","layer"],1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,22,10],"line-color":["match",["get","class"],"motorway_link",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-blur":10}},{id:"bridge-major-link-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["<=",["get","layer"],1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["match",["get","class"],"motorway_link",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200]}},{id:"bridge-motorway-trunk-shadow",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["motorway","trunk"],!0,!1],["<=",["get","layer"],1],["==",["geometry-type"],"LineString"]],paint:{"line-color":["match",["get","class"],"motorway",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,22,10],"line-blur":10}},{id:"bridge-motorway-trunk-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["motorway","trunk"],!0,!1],["<=",["get","layer"],1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,22,2],"line-color":["match",["get","class"],"motorway",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300]}},{id:"bridge-construction",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"construction"],["==",["geometry-type"],"LineString"]],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,18,20,22,200],"line-color":["config","colorRoads"],"line-dasharray":[.2,.1]}},{id:"bridge-minor",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["track"],!0,"service",["step",["zoom"],!1,14,!0],!1],["match",["get","type"],["piste"],!1,!0],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,18,10,22,100],"line-color":["config","colorRoads"]}},{id:"bridge-minor-link",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["primary_link","secondary_link","tertiary_link"],!0,!1],["==",["get","structure"],"bridge"],["==",["geometry-type"],"LineString"]],layout:{"line-cap":"round"},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.4,18,18,22,180],"line-color":["config","colorRoads"]}},{id:"bridge-major-link",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["<=",["get","layer"],1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":"round"},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.1],["+",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-color":["match",["get","class"],"motorway_link",["config","colorMotorways"],["config","colorTrunks"]]}},{id:"bridge-street",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["street","street_limited"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.5,18,20,22,200],"line-color":["config","colorRoads"],"line-opacity":["step",["zoom"],0,14,1]}},{id:"bridge-street-low",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,maxzoom:14,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["street","street_limited"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.5,18,20,22,200],"line-color":["config","colorRoads"]}},{id:"bridge-secondary-tertiary",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["secondary","tertiary"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],3,0,18,26,22,260],"line-color":["config","colorRoads"]}},{id:"bridge-primary",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"primary"],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280],"line-color":["config","colorRoads"]}},{id:"bridge-motorway-trunk",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["motorway","trunk"],!0,!1],["<=",["get","layer"],1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":"round"},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.1],["+",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-color":["match",["get","class"],"motorway",["config","colorMotorways"],["config","colorTrunks"]]}},{id:"bridge-major-link-2-shadow",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],[">=",["get","layer"],2],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,22,10],"line-color":["match",["get","class"],"motorway_link",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-blur":10}},{id:"bridge-major-link-2-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],[">=",["get","layer"],2],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["match",["get","class"],"motorway_link",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200]}},{id:"bridge-motorway-trunk-2-shadow",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],[">=",["get","layer"],2],["match",["get","class"],["motorway","trunk"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-color":["match",["get","class"],"motorway",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,22,10],"line-blur":10}},{id:"bridge-motorway-trunk-2-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],[">=",["get","layer"],2],["match",["get","class"],["motorway","trunk"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,22,2],"line-color":["match",["get","class"],"motorway",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300]}},{id:"bridge-major-link-2",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","structure"],"bridge"],[">=",["get","layer"],2],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":"round"},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.1],["+",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-color":["match",["get","class"],"motorway_link",["config","colorMotorways"],["config","colorTrunks"]]}},{id:"bridge-motorway-trunk-2",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],[">=",["get","layer"],2],["match",["get","class"],["motorway","trunk"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.1],["+",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-color":["match",["get","class"],"motorway",["config","colorMotorways"],["config","colorTrunks"]]}},{id:"bridge-oneway-arrow",type:"symbol",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"bridge"],["==",["get","oneway"],"true"],["step",["zoom"],["match",["get","class"],["primary","secondary","tertiary","street","street_limited"],!0,!1],16,["match",["get","class"],["primary","secondary","tertiary","street","street_limited","primary_link","secondary_link","tertiary_link","service","track"],!0,!1]]],layout:{"symbol-placement":"line","icon-image":["step",["zoom"],["image","oneway-small",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}],18,["image","oneway-large",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}]],"symbol-spacing":200,"icon-rotation-alignment":"map","icon-allow-overlap":!0,"icon-ignore-placement":!0},paint:{"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.4,.7],.5,1]}},{id:"bridge-oneway-arrow-trunk",type:"symbol",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["trunk","trunk_link"],!0,!1],["==",["get","oneway"],"true"]],layout:{"symbol-placement":"line","icon-image":["step",["zoom"],["image","oneway-small",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}],18,["image","oneway-large",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}]],"symbol-spacing":200,"icon-rotation-alignment":"map","icon-allow-overlap":!0,"icon-ignore-placement":!0},paint:{"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.5,.7],.5,1]}},{id:"bridge-oneway-arrow-motorway",type:"symbol",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["motorway","motorway_link"],!0,!1],["==",["get","oneway"],"true"]],layout:{"symbol-placement":"line","icon-image":["step",["zoom"],["image","oneway-small",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}],18,["image","oneway-large",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}]],"symbol-spacing":200,"icon-rotation-alignment":"map","icon-allow-overlap":!0,"icon-ignore-placement":!0},paint:{"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.5,.7],.5,1]}},{id:"bridge-path-cycleway-piste",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["path","track"],!0,!1],["match",["get","type"],"cycleway",["step",["zoom"],!1,15,!0],"piste",!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.5,.6],"line-color":"hsl(125, 50%, 60%)","line-width":["interpolate",["linear"],["zoom"],12,["match",["get","type"],["piste"],.5,0],18,["match",["get","type"],["piste"],4,2],22,["match",["get","type"],["piste"],40,20]],"line-translate":[0,0],"line-offset":["interpolate",["linear"],["zoom"],12,0,18,["match",["get","type"],["piste"],0,-2],22,["match",["get","type"],["piste"],0,-20]],"line-opacity":["interpolate",["linear"],["zoom"],15,["match",["get","type"],["piste"],1,0],16,1],"line-dasharray":["step",["zoom"],["literal",[1]],16,["literal",[1,1]]]}},{id:"bridge-rail",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["major_rail","minor_rail"],!0,!1]],paint:{"line-gap-width":["interpolate",["linear"],["zoom"],15,0,16,1,18,2,22,20],"line-color":["interpolate",["linear"],["measure-light","brightness"],.1,"hsl(0, 0%, 30%)",.4,"hsl(0, 0%, 65%)"],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,22,2]}},{id:"bridge-rail-tracks",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["major_rail","minor_rail"],!0,!1]],paint:{"line-color":["interpolate",["linear"],["measure-light","brightness"],.1,"hsl(0, 0%, 30%)",.4,"hsl(0, 0%, 65%)"],"line-width":["interpolate",["exponential",1.5],["zoom"],16,2,18,6,20,16,22,32],"line-dasharray":["step",["zoom"],["literal",[.1,15]],16,["literal",[.1,1]],18,["literal",[.05,.5]]],"line-opacity":["interpolate",["linear"],["zoom"],13.75,0,14,1]}},{id:"aerialway",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","class"],"aerialway"],["match",["get","type"],["aerialway:zip_line"],["step",["zoom"],!1,15,!0],!0]],paint:{"line-emissive-strength":1,"line-color":"hsl(225, 60%, 58%)","line-width":["interpolate",["exponential",1.5],["zoom"],14,1,20,2],"line-dasharray":[4,1]}},{id:"2d-building",type:"fill-extrusion",metadata:{"mapbox:group":"buildings"},source:"composite","source-layer":"building",minzoom:15,filter:["all",["!=",["get","type"],"building:part"],["==",["get","underground"],"false"]],layout:{visibility:["case",["config","show3dObjects"],"none","visible"]},paint:{"fill-extrusion-emissive-strength":["case",["to-boolean",["feature-state","select"]],["interpolate",["linear"],["at",2,["to-hsla",["config","colorBuildingSelect"]]],50,.6,90,.4],["to-boolean",["feature-state","highlight"]],["interpolate",["linear"],["at",2,["to-hsla",["config","colorBuildingHighlight"]]],50,.6,90,.4],.25],"fill-extrusion-cutoff-fade-range":.5,"fill-extrusion-color":["case",["to-boolean",["feature-state","select"]],["config","colorBuildingSelect"],["to-boolean",["feature-state","highlight"]],["config","colorBuildingHighlight"],["interpolate",["linear"],["measure-light","brightness"],0,["match",["config","theme"],"monochrome","hsl(0, 0%, 5%)","hsl(235, 8%, 42%)"],.02,"hsl(235, 8%, 42%)",.03,"hsl(280, 8%, 58%)",.4,"hsl(25, 20%, 91%)"]],"fill-extrusion-opacity":1,"fill-extrusion-base":0}},{id:"2d-building-outline",type:"line",metadata:{"mapbox:group":"buildings"},source:"composite","source-layer":"building",minzoom:15,filter:["all",["!=",["get","type"],"building:part"],["==",["get","underground"],"false"]],layout:{visibility:["case",["config","show3dObjects"],"none","visible"]},paint:{"line-width":.5,"line-emissive-strength":.25,"line-color":["interpolate",["linear"],["zoom"],14,"hsla(0, 0%, 100%, 0)",16,["interpolate",["linear"],["measure-light","brightness"],0,["match",["config","theme"],"monochrome","hsl(0, 0%, 0%)","hsl(235, 8%, 22%)"],.02,"hsl(235, 8%, 22%)",.03,"hsl(280, 8%, 50%)",.4,"hsl(25, 10%, 76%)"]]}},{id:"admin-1-boundary-bg",type:"line",metadata:{"mapbox:group":"administrative boundaries"},source:"composite","source-layer":"admin",minzoom:7,filter:["all",["==",["get","admin_level"],1],["==",["get","maritime"],"false"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]]],paint:{"line-color":["hsla",345,100,100,["to-number",["at",3,["to-hsla",["config","colorAdminBoundaries"]]]]],"line-width":["interpolate",["linear"],["zoom"],3,3,12,6],"line-opacity":["interpolate",["linear"],["zoom"],7,0,8,.5],"line-dasharray":[1,0],"line-blur":["interpolate",["linear"],["zoom"],3,0,12,3]},layout:{visibility:["case",["config","showAdminBoundaries"],"visible","none"]}},{id:"admin-0-boundary-bg",type:"line",metadata:{"mapbox:group":"administrative boundaries"},source:"composite","source-layer":"admin",minzoom:1,filter:["all",["==",["get","admin_level"],0],["==",["get","maritime"],"false"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]]],paint:{"line-width":["interpolate",["linear"],["zoom"],3,4,12,8],"line-color":["hsla",345,100,100,["to-number",["at",3,["to-hsla",["config","colorAdminBoundaries"]]]]],"line-opacity":["interpolate",["linear"],["zoom"],3,0,4,.5],"line-blur":["interpolate",["linear"],["zoom"],3,0,12,2]},layout:{visibility:["case",["config","showAdminBoundaries"],"visible","none"]}},{id:"admin-1-boundary",type:"line",metadata:{"mapbox:group":"administrative boundaries"},source:"composite","source-layer":"admin",minzoom:2,filter:["all",["==",["get","admin_level"],1],["==",["get","maritime"],"false"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]]],paint:{"line-emissive-strength":.5,"line-dasharray":["step",["zoom"],["literal",[2,0]],7,["literal",[2,2,6,2]]],"line-width":["interpolate",["linear"],["zoom"],3,.3,12,1.5],"line-opacity":["interpolate",["linear"],["zoom"],2,0,3,1],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorAdminBoundaries"]]]],["to-number",["at",1,["to-hsla",["config","colorAdminBoundaries"]]]],["min",100,["+",5,["to-number",["at",2,["to-hsla",["config","colorAdminBoundaries"]]]]]],["to-number",["at",3,["to-hsla",["config","colorAdminBoundaries"]]]]]},layout:{visibility:["case",["config","showAdminBoundaries"],"visible","none"]}},{id:"admin-0-boundary",type:"line",metadata:{"mapbox:group":"administrative boundaries"},source:"composite","source-layer":"admin",minzoom:1,filter:["all",["==",["get","admin_level"],0],["==",["get","disputed"],"false"],["==",["get","maritime"],"false"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]]],paint:{"line-emissive-strength":1,"line-color":["config","colorAdminBoundaries"],"line-width":["interpolate",["linear"],["zoom"],3,.5,12,2],"line-dasharray":[10,0]},layout:{visibility:["case",["config","showAdminBoundaries"],"visible","none"]}},{id:"admin-0-boundary-disputed",type:"line",metadata:{"mapbox:group":"administrative boundaries"},source:"composite","source-layer":"admin",minzoom:1,filter:["all",["==",["get","disputed"],"true"],["==",["get","admin_level"],0],["==",["get","maritime"],"false"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]]],paint:{"line-emissive-strength":.8,"line-color":["config","colorAdminBoundaries"],"line-width":["interpolate",["linear"],["zoom"],3,.5,12,2],"line-dasharray":["step",["zoom"],["literal",[3,2,5]],7,["literal",[2,1.5]]]},layout:{visibility:["case",["config","showAdminBoundaries"],"visible","none"]}},{id:"middle",type:"slot",metadata:{"mapbox:description":"Above lines (roads, etc.) and behind 3D buildings"}},{id:"trees",type:"model",metadata:{"mapbox:group":"3d models"},source:"composite","source-layer":"tree",minzoom:15,layout:{visibility:["case",["config","show3dObjects"],"visible","none"],"model-id":["step",["zoom"],["match",["get","leaf_type"],"needleleaved",["case",["==",["%",["number",["id"]],2],0],"pine1-lod4","pine2-lod4"],"palm","palm1-lod4",["case",["==",["%",["number",["id"]],4],0],"oak1-lod4",["==",["%",["number",["id"]],4],1],"oak2-lod4",["==",["%",["number",["id"]],4],2],"maple1-lod4","maple2-lod4"]],15.8,["match",["get","leaf_type"],"needleleaved",["case",["==",["%",["number",["id"]],2],0],"pine1-lod3","pine2-lod3"],"palm","palm1-lod3",["case",["==",["%",["number",["id"]],4],0],"oak1-lod3",["==",["%",["number",["id"]],4],1],"oak2-lod3",["==",["%",["number",["id"]],4],2],"maple1-lod3","maple2-lod3"]],16.8,["match",["get","leaf_type"],"needleleaved",["case",["==",["%",["number",["id"]],2],0],"pine1-lod2","pine2-lod2"],"palm","palm1-lod2",["case",["==",["%",["number",["id"]],4],0],"oak1-lod2",["==",["%",["number",["id"]],4],1],"oak2-lod2",["==",["%",["number",["id"]],4],2],"maple1-lod2","maple2-lod2"]],17.5,["match",["get","leaf_type"],"needleleaved",["case",["==",["%",["number",["id"]],2],0],"pine1-lod1","pine2-lod1"],"palm","palm1-lod1",["case",["==",["%",["number",["id"]],4],0],"oak1-lod1",["==",["%",["number",["id"]],4],1],"oak2-lod1",["==",["%",["number",["id"]],4],2],"maple1-lod1","maple2-lod1"]]]},paint:{"model-cutoff-fade-range":.5,"model-color":["hsl",["random",["max",["-",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],20],0],["min",["+",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],40],360],["id"]],50,["random",["max",["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],20],0],["min",["+",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],5],90],["id"]]],"model-color-mix-intensity":.4,"model-opacity":["interpolate",["linear"],["zoom"],15,0,16,1],"model-rotation":[0,0,["random",0,360,["id"]]],"model-scale":["match",["%",["number",["id"]],5],0,["literal",[.8,.8,.8]],1,["literal",[.8,.8,.8]],2,["literal",[.9,.9,.9]],["literal",[1,1,1]]]}},{id:"wind-turbine-shadow",type:"circle",metadata:{"mapbox:group":"3d models"},source:"composite","source-layer":"wind_turbine",minzoom:15,layout:{visibility:["case",["config","show3dObjects"],"visible","none"]},paint:{"circle-pitch-alignment":"map","circle-blur":2,"circle-radius":["interpolate",["exponential",1.6],["zoom"],16,2,22,260],"circle-color":"hsl(0, 0%, 60%)","circle-opacity":["interpolate",["exponential",1.8],["zoom"],15,0,15.5,1]}},{id:"wind-turbine-towers",type:"model",metadata:{"mapbox:group":"3d models"},source:"composite","source-layer":"wind_turbine",minzoom:15,layout:{visibility:["case",["config","show3dObjects"],"visible","none"],"model-id":["step",["zoom"],"turbinetower-lod2",18,"turbinetower-lod1"]},paint:{"model-opacity":["interpolate",["exponential",1.8],["zoom"],15,0,15.5,1],"model-color":"hsl(0, 0%, 85%)","model-color-mix-intensity":.5,"model-cast-shadows":!1,"model-emissive-strength":.1}},{id:"wind-turbine-rotors",type:"model",metadata:{"mapbox:group":"3d models"},source:"composite","source-layer":"wind_turbine",minzoom:15,layout:{visibility:["case",["config","show3dObjects"],"visible","none"],"model-id":["step",["zoom"],"turbinerotor-lod2",18,"turbinerotor-lod1"]},paint:{"model-opacity":["interpolate",["exponential",1.8],["zoom"],15,0,15.5,1],"model-color":"hsl(0, 0%, 85%)","model-color-mix-intensity":.5,"model-cast-shadows":!1,"model-translation":[0,0,54.46344],"model-rotation":["interpolate",["linear"],["zoom"],15,[["random",0,45,["id"]],6,0],20,[["random",45,720,["id"]],6,0]],"model-emissive-strength":.1}},{id:"3d-building",type:"fill-extrusion",metadata:{"mapbox:group":"3d buildings"},source:"composite","source-layer":"building",minzoom:15,filter:["all",["==",["get","extrude"],"true"],["==",["get","underground"],"false"]],layout:{visibility:["case",["config","show3dObjects"],"visible","none"],"fill-extrusion-edge-radius":.4},paint:{"fill-extrusion-emissive-strength":["case",["to-boolean",["feature-state","select"]],["interpolate",["linear"],["at",2,["to-hsla",["config","colorBuildingSelect"]]],50,.6,90,.4],["to-boolean",["feature-state","highlight"]],["interpolate",["linear"],["at",2,["to-hsla",["config","colorBuildingHighlight"]]],50,.6,90,.4],0],"fill-extrusion-cutoff-fade-range":.5,"fill-extrusion-ambient-occlusion-intensity":.15,"fill-extrusion-color":["case",["to-boolean",["feature-state","select"]],["config","colorBuildingSelect"],["to-boolean",["feature-state","highlight"]],["config","colorBuildingHighlight"],["interpolate",["linear"],["get","height"],0,"hsl(40, 43%, 93%)",200,"hsl(23, 100%, 97%)"]],"fill-extrusion-ambient-occlusion-ground-radius":["interpolate",["linear"],["zoom"],17,0,17.8,8],"fill-extrusion-height":["case",["all",["==",["get","height"],3],["in",["get","type"],["literal",["beach_hut","boathouse","bunker","cabin","carport","garage","garages","greenhouse","houseboat","hut","service","stable","toilets"]]]],2,["all",["==",["get","height"],3],["==",["get","type"],"bungalow"]],4,["all",["==",["get","height"],3],["in",["get","type"],["literal",["apartments","church","civic","college","commercial","hangar","hotel","mosque","office","school","university","warehouse"]]]],["random",18,20,["id"]],["==",["get","height"],3],["random",5,7,["id"]],["case",["to-boolean",["feature-state","select"]],["+",["number",["get","height"]],1],["to-boolean",["feature-state","highlight"]],["+",["number",["get","height"]],1],["number",["get","height"]]]],"fill-extrusion-opacity":["interpolate",["linear"],["zoom"],15,0,15.3,1],"fill-extrusion-base":["case",[">=",["number",["get","min_height"]],0],["get","min_height"],0],"fill-extrusion-flood-light-intensity":["interpolate",["linear"],["measure-light","brightness"],.015,["match",["config","theme"],"monochrome",0,.3],.026,0],"fill-extrusion-vertical-scale":["interpolate",["linear"],["zoom"],15,0,15.3,1],"fill-extrusion-flood-light-wall-radius":["case",[">",["number",["get","height"]],200],["/",["number",["get","height"]],3],0],"fill-extrusion-flood-light-ground-radius":["step",["number",["get","height"]],0,30,["random",30,100,["id"]]],"fill-extrusion-flood-light-color":"hsl(30, 79%, 81%)"}},{id:"building-models",type:"model",metadata:{"mapbox:group":"3d buildings"},source:"3dbuildings",minzoom:14,layout:{visibility:["case",["config","show3dObjects"],"visible","none"]},paint:{"model-ambient-occlusion-intensity":["match",["config","theme"],"monochrome",.3,.75],"model-color":["match",["get","part"],"roof",["hsl",22,82,90],"wall",["interpolate",["linear"],["measure-light","brightness"],0,["hsl",29,93,77],.2,["hsl",0,0,100]],"window",["interpolate",["linear"],["measure-light","brightness"],0,["hsl",["random",0,90,["id"]],["random",20,100,["id"]],87],.15,["hsl",["random",200,215,["id"]],100,["random",70,80,["id"]]]],["interpolate",["linear"],["measure-light","brightness"],.16,["hsla",["random",10,70,["id"]],55,["random",80,90,["id"]],1],.4,"hsl(0, 100%, 100%)"]],"model-color-mix-intensity":["match",["get","part"],"logo",["interpolate",["linear"],["measure-light","brightness"],.2,0,.4,.3],1],"model-emissive-strength":["match",["get","part"],"door",["interpolate",["linear"],["measure-light","brightness"],.2,["match",["config","theme"],"monochrome",.2,1.5],.4,2.5],"logo",.6,"wall",["interpolate",["linear"],["measure-light","brightness"],.45,.1,.5,.8],"window",["interpolate",["linear"],["measure-light","brightness"],.2,["match",["config","theme"],"monochrome",["random",.1,.4,["id"]],["random",.5,.8,["id"]]],.4,.4],0],"model-height-based-emissive-strength-multiplier":["match",["get","part"],"wall",["interpolate",["linear"],["measure-light","brightness"],.2,["match",["config","theme"],"monochrome",["literal",[.5,0,0,.5,.8]],["literal",[.5,0,0,1,.8]]],.4,["literal",[0,1,0,1,.6]]],"window",["literal",[0,.9,0,1,.5]],["literal",[1,1,1,1,1]]],"model-opacity":["interpolate",["linear"],["zoom"],14.2,0,14.6,1],"model-roughness":["match",["get","part"],"window",0,1],"model-scale":["interpolate",["linear"],["zoom"],14.2,[1,1,0],14.6,[1,1,1]]}},{id:"path-pedestrian-label",type:"symbol",metadata:{"mapbox:group":"road & transit labels"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["case",["has","layer"],[">=",["get","layer"],0],!0],["step",["zoom"],["match",["get","class"],["pedestrian"],!0,!1],15,["match",["get","class"],["path","pedestrian"],!0,!1]],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],1],55,["<",["distance-from-center"],0],60,["<=",["distance-from-center"],-.2]]]],layout:{visibility:["case",["all",["config","showRoadLabels"],["config","showPedestrianRoads"]],"visible","none"],"text-size":["interpolate",["linear"],["zoom"],10,["match",["get","class"],"pedestrian",9,6.5],18,["match",["get","class"],"pedestrian",14,13]],"text-max-angle":30,"text-transform":"uppercase","text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"symbol-placement":"line","text-padding":1,"text-rotation-alignment":"map","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.01},paint:{"text-occlusion-opacity":0,"text-emissive-strength":["match",["config","theme"],"monochrome",.5,1],"text-color":["interpolate",["linear"],["measure-light","brightness"],.28,["hsla",["to-number",["at",0,["to-hsla",["config","colorRoadLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorRoadLabels"]]]],90,["to-number",["at",3,["to-hsla",["config","colorRoadLabels"]]]]],.3,["config","colorRoadLabels"]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,["hsla",["to-number",["at",0,["to-hsla",["config","colorRoadLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorRoadLabels"]]]],30,["to-number",["at",3,["to-hsla",["config","colorRoadLabels"]]]]],.3,["case",[">=",["to-number",["at",2,["to-hsla",["config","colorRoadLabels"]]]],75],["hsla",["to-number",["at",0,["to-hsla",["config","colorRoadLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorRoadLabels"]]]],65,["to-number",["at",3,["to-hsla",["config","colorRoadLabels"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorRoadLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorRoadLabels"]]]],95,["to-number",["at",3,["to-hsla",["config","colorRoadLabels"]]]]]]],"text-halo-width":1}},{id:"road-label",type:"symbol",metadata:{"mapbox:group":"road & transit labels"},source:"composite","source-layer":"road",minzoom:10,filter:["all",["has","name"],["step",["zoom"],["match",["get","class"],["motorway","trunk"],!0,!1],12,["match",["get","class"],["motorway","trunk","primary","secondary"],!0,!1],13,["match",["get","class"],["motorway","trunk","primary","secondary","tertiary","street","street_limited"],!0,!1],15,["match",["get","class"],["path","pedestrian","golf","ferry","aerialway"],!1,!0]],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],1],55,["<",["distance-from-center"],0],60,["<=",["distance-from-center"],-.2]]]],layout:{visibility:["case",["config","showRoadLabels"],"visible","none"],"text-size":["interpolate",["linear"],["zoom"],10,["match",["get","class"],["motorway","trunk","primary","secondary","tertiary"],9,["motorway_link","trunk_link","primary_link","secondary_link","tertiary_link","street","street_limited"],8,6.5],18,["match",["get","class"],["motorway","trunk","primary","secondary","tertiary"],16,["motorway_link","trunk_link","primary_link","secondary_link","tertiary_link","street","street_limited"],14,13]],"text-max-angle":30,"text-transform":"uppercase","text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"symbol-placement":"line","text-padding":1,"text-rotation-alignment":"map","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.15},paint:{"text-occlusion-opacity":0,"text-emissive-strength":["match",["config","theme"],"monochrome",.5,1],"text-color":["interpolate",["linear"],["measure-light","brightness"],.28,["hsla",["to-number",["at",0,["to-hsla",["config","colorRoadLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorRoadLabels"]]]],90,["to-number",["at",3,["to-hsla",["config","colorRoadLabels"]]]]],.3,["config","colorRoadLabels"]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,["hsla",["to-number",["at",0,["to-hsla",["config","colorRoadLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorRoadLabels"]]]],30,["to-number",["at",3,["to-hsla",["config","colorRoadLabels"]]]]],.3,["case",[">=",["to-number",["at",2,["to-hsla",["config","colorRoadLabels"]]]],75],["hsla",["to-number",["at",0,["to-hsla",["config","colorRoadLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorRoadLabels"]]]],65,["to-number",["at",3,["to-hsla",["config","colorRoadLabels"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorRoadLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorRoadLabels"]]]],95,["to-number",["at",3,["to-hsla",["config","colorRoadLabels"]]]]]]],"text-halo-width":1}},{id:"golf-hole-label",type:"symbol",metadata:{"mapbox:group":"road & transit labels"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","class"],"golf"],["case",["<=",["pitch"],40],!0,["<=",["distance-from-center"],0]]],layout:{visibility:["case",["config","showPointOfInterestLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-size":12},paint:{"text-emissive-strength":["match",["config","theme"],"monochrome",.5,.7],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],54]]],.3,["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],20]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],20]]]],"text-halo-width":.5,"text-halo-blur":.5,"text-color":["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],20]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],20]]],.3,["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],54]]]]}},{id:"ferry-aerialway-label",type:"symbol",metadata:{"mapbox:group":"road & transit labels"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],"aerialway",!0,"ferry",!0,!1],["case",["<=",["pitch"],40],!0,["<=",["distance-from-center"],0]]],layout:{visibility:["case",["config","showTransitLabels"],"visible","none"],"text-size":["interpolate",["linear"],["zoom"],10,6.5,18,13],"text-max-angle":30,"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"symbol-placement":"line","text-padding":1,"text-rotation-alignment":"map","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.01,"text-transform":"uppercase"},paint:{"text-occlusion-opacity":0,"text-emissive-strength":["match",["config","theme"],"monochrome",.5,1],"text-color":["interpolate",["linear"],["measure-light","brightness"],.3,["hsl",["min",360,["+",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],9]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],50]],60],.4,["case",[">=",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],50],["hsl",["min",360,["+",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],9]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],30]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],30]]],["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],30]]]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 0%)",.3,["config","colorWater"]],"text-halo-width":1,"text-halo-blur":1}},{id:"waterway-label",type:"symbol",metadata:{"mapbox:group":"natural labels"},source:"composite","source-layer":"natural_label",minzoom:13,filter:["all",["match",["get","class"],["canal","river","stream","disputed_canal","disputed_river","disputed_stream"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],0]],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-font":[["concat",["config","font"]," Italic"],"Arial Unicode MS Regular"],"text-max-angle":30,"symbol-spacing":["interpolate",["linear",1],["zoom"],15,250,17,400],"text-size":["interpolate",["linear"],["zoom"],13,12,18,18],"symbol-placement":"line","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]]},paint:{"text-occlusion-opacity":0,"text-color":["interpolate",["linear"],["measure-light","brightness"],.3,["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["min",100,["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],60]]],["min",100,["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],36]]]],.4,["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["min",100,["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],4]]],["min",100,["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],36]]]]]}},{id:"natural-line-label",type:"symbol",metadata:{"mapbox:group":"natural labels"},source:"composite","source-layer":"natural_label",minzoom:4,filter:["all",["match",["get","class"],["glacier","landform","disputed_glacier","disputed_landform"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["<=",["get","filterrank"],2],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],0]],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-size":["step",["zoom"],["step",["get","sizerank"],18,5,12],17,["step",["get","sizerank"],18,13,12]],"text-max-angle":30,"text-field":["coalesce",["get","name_en"],["get","name"]],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"symbol-placement":"line-center","text-pitch-alignment":"viewport"},paint:{"text-occlusion-opacity":0,"text-emissive-strength":["match",["config","theme"],"monochrome",.7,1],"text-halo-width":.5,"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 0%)",.3,"hsl(0, 0%, 100%)"],"text-halo-blur":.5,"text-color":["interpolate",["linear"],["measure-light","brightness"],.28,["match",["config","theme"],"monochrome","hsl(0, 0%, 60%)","hsl(210, 20%, 80%)"],.3,"hsl(210, 20%, 46%)"]}},{id:"natural-point-label",type:"symbol",metadata:{"mapbox:group":"natural labels"},source:"composite","source-layer":"natural_label",minzoom:4,filter:["all",["match",["get","class"],["dock","glacier","landform","water_feature","wetland","disputed_dock","disputed_glacier","disputed_landform","disputed_water_feature","disputed_wetland"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["<=",["get","filterrank"],2],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],0]],["==",["geometry-type"],"Point"]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-size":["step",["zoom"],["step",["get","sizerank"],18,5,12],17,["step",["get","sizerank"],18,13,12]],"icon-image":["image",["string",["get","maki"]]],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-offset":["step",["zoom"],["step",["get","sizerank"],["literal",[0,0]],5,["literal",[0,.75]]],17,["step",["get","sizerank"],["literal",[0,0]],13,["literal",[0,.75]]]],"text-anchor":["step",["zoom"],["step",["get","sizerank"],"center",5,"top"],17,["step",["get","sizerank"],"center",13,"top"]],"text-field":["coalesce",["get","name_en"],["get","name"]]},paint:{"icon-occlusion-opacity":0,"text-occlusion-opacity":0,"text-emissive-strength":["match",["config","theme"],"monochrome",.7,1],"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.5,.7],.5,1],"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["step",["zoom"],["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,5,1]],17,["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,13,1]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 0%)",.3,"hsl(20, 20%, 100%)"],"text-color":["interpolate",["linear"],["measure-light","brightness"],.28,["match",["config","theme"],"monochrome","hsl(0, 0%, 60%)","hsl(210, 20%, 80%)"],.3,"hsl(210, 20%, 46%)"],"text-halo-width":.5,"text-halo-blur":.5}},{id:"water-line-label",type:"symbol",metadata:{"mapbox:group":"natural labels"},source:"composite","source-layer":"natural_label",minzoom:1,filter:["all",["match",["get","class"],["bay","ocean","reservoir","sea","water","disputed_bay","disputed_ocean","disputed_reservoir","disputed_sea","disputed_water"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],0]],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-size":["interpolate",["linear"],["zoom"],0,["*",["-",16,["sqrt",["get","sizerank"]]],1],22,["*",["-",22,["sqrt",["get","sizerank"]]],1]],"text-max-angle":30,"text-letter-spacing":["match",["get","class"],"ocean",.25,["sea","bay"],.15,0],"text-font":[["concat",["config","font"]," Italic"],"Arial Unicode MS Regular"],"symbol-placement":"line-center","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]]},paint:{"text-occlusion-opacity":0,"text-color":["interpolate",["linear"],["measure-light","brightness"],.3,["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],60]],44],.4,["case",[">=",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],50],["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],4]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],36]]],["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],25]]]]]}},{id:"water-point-label",type:"symbol",metadata:{"mapbox:group":"natural labels"},source:"composite","source-layer":"natural_label",minzoom:1,filter:["all",["match",["get","class"],["bay","ocean","reservoir","sea","water","disputed_bay","disputed_ocean","disputed_reservoir","disputed_sea","disputed_water"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],0]],["==",["geometry-type"],"Point"],["!=",["id"],1]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-line-height":1.3,"text-size":["interpolate",["linear"],["zoom"],0,["*",["-",16,["sqrt",["get","sizerank"]]],1],22,["*",["-",22,["sqrt",["get","sizerank"]]],1]],"text-font":[["concat",["config","font"]," Italic"],"Arial Unicode MS Regular"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":["match",["get","class"],"ocean",.25,["bay","sea"],.15,.01],"text-max-width":["match",["get","class"],"ocean",4,"sea",5,["bay","water"],7,10]},paint:{"text-occlusion-opacity":0,"text-color":["interpolate",["linear"],["measure-light","brightness"],.3,["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],60]],44],.4,["case",[">=",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],50],["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],4]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],36]]],["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],25]]]]]}},{id:"road-intersection",type:"symbol",metadata:{"mapbox:group":"road shields"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","class"],"intersection"],["has","name"],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],1]]],layout:{visibility:["case",["config","showRoadLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"icon-image":"intersection","icon-text-fit":"both","icon-text-fit-padding":[1,2,1,2],"text-size":["interpolate",["exponential",1.2],["zoom"],15,9,18,12],"text-font":[["concat",["config","font"]," Bold"],"Arial Unicode MS Bold"]},paint:{"icon-occlusion-opacity":.1,"text-occlusion-opacity":.1,"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.6,.75],.3,1],"text-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.45,.75],.3,1],"text-color":"hsl(230, 57%, 64%)"}},{id:"road-number-shield",type:"symbol",metadata:{"mapbox:group":"road shields"},source:"composite","source-layer":"road",minzoom:6,filter:["all",["has","reflen"],["<=",["get","reflen"],6],["match",["get","class"],["pedestrian","service"],!1,!0],["step",["zoom"],["==",["geometry-type"],"Point"],11,[">",["coalesce",["get","len"],0],5e3],12,[">",["coalesce",["get","len"],0],2500],13,[">",["coalesce",["get","len"],0],1e3],14,!0],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],1]]],layout:{visibility:["case",["config","showRoadLabels"],"visible","none"],"text-size":9,"icon-image":["case",["has","shield_beta"],["coalesce",["image",["concat",["get","shield_beta"],"-",["to-string",["get","reflen"]]]],["image",["concat",["get","shield"],"-",["to-string",["get","reflen"]]]],["image",["concat","default-",["to-string",["get","reflen"]]]]],["concat",["get","shield"],"-",["to-string",["get","reflen"]]]],"icon-rotation-alignment":"viewport","text-max-angle":38,"symbol-spacing":["interpolate",["linear"],["zoom"],11,400,14,600],"text-font":[["concat",["config","font"]," Bold"],"Arial Unicode MS Bold"],"symbol-placement":["step",["zoom"],"point",11,"line"],"text-rotation-alignment":"viewport","text-field":["get","ref"],"text-letter-spacing":.05},paint:{"icon-occlusion-opacity":.1,"text-occlusion-opacity":.1,"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.4,.75],.3,1],"text-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.5,.75],.3,1],"text-color":["case",["has","shield_beta"],["case",["all",["has","shield_text_color_beta"],["to-boolean",["coalesce",["image",["concat",["get","shield_beta"],"-",["to-string",["get","reflen"]]]],""]]],["match",["get","shield_text_color_beta"],"white","hsl(0, 0%, 100%)","yellow","hsl(50, 100%, 70%)","orange","hsl(25, 100%, 75%)","blue","hsl(230, 57%, 44%)","red","hsl(0, 87%, 59%)","green","hsl(140, 74%, 37%)","hsl(230, 18%, 13%)"],"hsl(230, 18%, 13%)"],["match",["get","shield_text_color"],"white","hsl(0, 0%, 100%)","yellow","hsl(50, 100%, 70%)","orange","hsl(25, 100%, 75%)","blue","hsl(230, 57%, 44%)","red","hsl(0, 87%, 59%)","green","hsl(140, 74%, 37%)","hsl(230, 18%, 13%)"]]}},{id:"road-exit-shield",type:"symbol",metadata:{"mapbox:group":"road shields"},source:"composite","source-layer":"motorway_junction",minzoom:14,filter:["all",["has","reflen"],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],1]]],layout:{visibility:["case",["config","showRoadLabels"],"visible","none"],"text-field":["get","ref"],"text-size":9,"icon-image":["concat","motorway-exit-",["to-string",["get","reflen"]]],"text-font":[["concat",["config","font"]," Bold"],"Arial Unicode MS Bold"]},paint:{"icon-occlusion-opacity":.1,"text-occlusion-opacity":.1,"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.4,.75],.3,1],"text-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.5,.75],.3,1],"text-color":"hsl(0, 0%, 100%)","text-translate":[0,0]}},{id:"gate-label",type:"symbol",metadata:{"mapbox:group":"building labels"},source:"composite","source-layer":"structure",minzoom:17,filter:["all",["==",["get","class"],"gate"],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<=",["distance-from-center"],.4],50,["<",["distance-from-center"],.2],55,["<",["distance-from-center"],0],60,["<",["distance-from-center"],-.05]]]],layout:{visibility:["case",["config","showRoadLabels"],"visible","none"],"icon-image":["match",["get","type"],"gate","gate","lift_gate","lift-gate",""]},paint:{"icon-occlusion-opacity":0,"text-occlusion-opacity":0,"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.4,.5],.3,1]}},{id:"building-entrance",type:"symbol",metadata:{"mapbox:group":"building labels"},source:"composite","source-layer":"structure",minzoom:18,filter:["all",["==",["get","class"],"entrance"],["case",["<=",["pitch"],40],!0,!1]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"icon-image":"marker","text-field":["get","ref"],"text-size":10,"text-offset":[0,-.5],"text-font":[["concat",["config","font"]," Regular"],"Arial Unicode MS Regular"]},paint:{"icon-occlusion-opacity":0,"text-occlusion-opacity":0,"text-emissive-strength":["match",["config","theme"],"monochrome",.5,1],"text-color":"hsl(20, 0%, 60%)","text-halo-color":"hsl(20, 17%, 100%)","icon-opacity":.4}},{id:"building-number-label",type:"symbol",metadata:{"mapbox:group":"building labels"},source:"composite","source-layer":"housenum_label",minzoom:17,filter:["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],.4],50,["<",["distance-from-center"],.2],55,["<",["distance-from-center"],0],60,["<=",["distance-from-center"],-.4]]],layout:{"symbol-z-elevate":!0,visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["get","house_num"],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-max-width":10,"text-size":10,"text-padding":20},paint:{"text-occlusion-opacity":0,"text-emissive-strength":["match",["config","theme"],"monochrome",.5,1],"text-color":"hsl(20, 0%, 60%)","text-halo-color":"hsl(20, 17%, 100%)"}},{id:"block-number-label",type:"symbol",metadata:{"mapbox:group":"building labels"},source:"composite","source-layer":"place_label",minzoom:16,filter:["all",["==",["get","class"],"settlement_subdivision"],["==",["get","type"],"block"],["case",["<=",["pitch"],60],!0,["<=",["distance-from-center"],.5]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["get","name"],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-max-width":7,"text-size":11},paint:{"text-occlusion-opacity":0,"text-emissive-strength":["match",["config","theme"],"monochrome",.5,1],"text-color":"hsl(20, 0%, 60%)","text-halo-color":"hsl(20, 17%, 100%)"}},{id:"poi-label",type:"symbol",metadata:{"mapbox:group":"poi labels"},source:"composite","source-layer":"poi",minzoom:6,filter:["all",["has","sub_category"],["case",["<=",["pitch"],15],["<=",["number",["get","filterrank"]],["+",["step",["zoom"],-2,16,-1,18,0],["match",["get","category"],"park_like",4,"visitor_amenities",2,"store_like",3,"lodging",1,2],["config","densityPointOfInterestLabels"]]],["<=",["number",["get","filterrank"]],["+",["step",["zoom"],-2,16,-1,18,0],["match",["get","category"],"park_like",4,["food_and_drink","visitor_amenities","lodging"],1,"religion",0,2],["config","densityPointOfInterestLabels"]]]],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],1.2],50,["<",["distance-from-center"],1],55,["<",["distance-from-center"],.8],60,["<=",["distance-from-center"],.6]]],["match",["get","category"],["sport_and_leisure","visitor_amenities","commercial_services","general"],[">",["get","reality_score"],.95],["building","lodging","medical","store_like","food_and_drink","food_and_drink_stores","motorist","industrial","education"],[">",["get","reality_score"],.85],!0]],layout:{"icon-size":["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],1,1.15],"text-size":13,"icon-image":["image",["string",["get","icon"]],{params:{"background-stroke":["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]],"hsla(0, 0, 0, 0)"],icon:["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["case",["==",["get","icon"],"marker"],"hsla(0, 0, 0, 0)",["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]]],["match",["config","theme"],"monochrome","#A6A6A6",["case",["==",["config","colorModePointOfInterestLabels"],"single"],["match",["config","lightPreset"],["dusk","night"],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],["min",["+",["max",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],5],20],100],["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["config","colorPointOfInterestLabels"]],["match",["get","category"],"food_and_drink",["match",["config","lightPreset"],["dusk","night"],"#FBCB6A","#F93"],"education",["match",["config","lightPreset"],["dusk","night"],"#D9B38C","#BF8040"],"medical",["match",["config","lightPreset"],["dusk","night"],"#E87D7D","#FB7474"],"sport_and_leisure",["match",["config","lightPreset"],["dusk","night"],"#85D1E0","#20BFDF"],["store_like","food_and_drink_stores"],["match",["config","lightPreset"],["dusk","night"],"#93C0EC","#63A6E9"],["case",["any",["in",["get","icon"],["literal",["communications-tower","museum","zoo"]]],["in",["get","category"],["literal",["arts_and_entertainment","historic","landmark"]]]],["match",["config","lightPreset"],["dusk","night"],"#EC93CE","#F47BCB"],["any",["==",["get","icon"],"car-repair"],["in",["get","category"],["literal",["commercial_services","motorist","lodging"]]]],["match",["config","lightPreset"],["dusk","night"],"#A17DE8","#9482ED"],["any",["==",["get","icon"],"picnic-site"],["==",["get","category"],"park_like"]],["match",["config","lightPreset"],["dusk","night"],"#85D775","#36AD1F"],["match",["config","lightPreset"],["dusk","night"],"#A3B3C2","#7594A3"]]]]]],background:["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["match",["config","theme"],"monochrome","#A6A6A6",["case",["==",["config","colorModePointOfInterestLabels"],"single"],["match",["config","lightPreset"],["dusk","night"],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],20],100],["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["config","colorPointOfInterestLabels"]],["match",["get","category"],"food_and_drink",["match",["config","lightPreset"],["dusk","night"],"#FBCB6A","#F93"],"education",["match",["config","lightPreset"],["dusk","night"],"#D9B38C","#BF8040"],"medical",["match",["config","lightPreset"],["dusk","night"],"#E87D7D","#FB7474"],"sport_and_leisure",["match",["config","lightPreset"],["dusk","night"],"#85D1E0","#20BFDF"],["store_like","food_and_drink_stores"],["match",["config","lightPreset"],["dusk","night"],"#93C0EC","#63A6E9"],["case",["any",["in",["get","icon"],["literal",["communications-tower","museum","zoo"]]],["in",["get","category"],["literal",["arts_and_entertainment","historic","landmark"]]]],["match",["config","lightPreset"],["dusk","night"],"#EC93CE","#F47BCB"],["any",["==",["get","icon"],"car-repair"],["in",["get","category"],["literal",["commercial_services","motorist","lodging"]]]],["match",["config","lightPreset"],["dusk","night"],"#A17DE8","#9482ED"],["any",["==",["get","icon"],"picnic-site"],["==",["get","category"],"park_like"]],["match",["config","lightPreset"],["dusk","night"],"#85D775","#36AD1F"],["match",["config","lightPreset"],["dusk","night"],"#A3B3C2","#7594A3"]]]]],"hsla(0,0, 0, 0)"],"icon-stroke":["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],"hsla(0, 0, 0, 0)",["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]]]}}],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-padding":["interpolate",["linear"],["zoom"],16,6,17,4],visibility:["case",["config","showPointOfInterestLabels"],"visible","none"],"symbol-z-elevate":!0,"text-offset":["case",["match",["get","category"],["building","general","place_like"],!0,!1],["literal",[0,-.6]],["literal",[0,.8]]],"text-anchor":["case",["match",["get","category"],["building","general","place_like"],!0,!1],"bottom","top"],"text-field":["format",["get","name"],{}]},paint:{"text-emissive-strength":["match",["config","theme"],"monochrome",.7,.9],"icon-emissive-strength":["match",["config","theme"],"monochrome",.7,.9],"text-opacity":1,"icon-opacity":["step",["zoom"],["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,5,1]],17,["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,13,1]]],"text-halo-width":1,"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome","#000000",["case",["==",["config","colorModePointOfInterestLabels"],"single"],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"]],.3,["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"hsl(0, 0%, 100%)"]],"text-color":["match",["config","theme"],"monochrome",["interpolate",["linear"],["measure-light","brightness"],.25,"#999999",.3,"#A6A6A6"],["case",["==",["config","colorModePointOfInterestLabels"],"single"],["match",["config","lightPreset"],["dusk","night"],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],["min",["+",["max",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],10],20],100],["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["config","colorPointOfInterestLabels"]],["match",["get","category"],"food_and_drink",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(40, 95%, 70%)",.3,"hsl(30, 100%, 48%)"],"education",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(30, 50%, 70%)",.3,"hsl(30, 50%, 38%)"],"medical",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 70%, 70%)",.3,"hsl(0, 90%, 60%)"],"sport_and_leisure",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(190, 60%, 70%)",.3,"hsl(190, 75%, 38%)"],["store_like","food_and_drink_stores"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(210, 70%, 75%)",.3,"hsl(210, 75%, 53%)"],["arts_and_entertainment","historic","landmark"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(320, 70%, 75%)",.3,"hsl(320, 85%, 60%)"],["commercial_services","motorist","lodging"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(260, 70%, 75%)",.3,"hsl(250, 75%, 60%)"],"park_like",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(110, 55%, 65%)",.3,"hsl(110, 70%, 28%)"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(210, 20%, 70%)",.3,"hsl(210, 20%, 43%)"]]]]}},{id:"poi-label-osm",type:"symbol",source:"composite","source-layer":"poi",minzoom:6,filter:["all",["!",["has","sub_category"]],["case",["<=",["pitch"],15],["<=",["number",["get","filterrank"]],["+",["step",["zoom"],-2,16,-1,18,0],["match",["get","class"],"park_like",4,"visitor_amenities",2,"store_like",3,"lodging",1,2],["config","densityPointOfInterestLabels"]]],["<=",["number",["get","filterrank"]],["+",["step",["zoom"],-2,16,-1,18,0],["match",["get","class"],"park_like",4,["food_and_drink","visitor_amenities","lodging"],1,"religion",0,2],["config","densityPointOfInterestLabels"]]]],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],1.2],50,["<",["distance-from-center"],1],55,["<",["distance-from-center"],.8],60,["<=",["distance-from-center"],.6]]],["all",["match",["get","type"],"Toilets",[">=",["zoom"],17],!0]]],layout:{"icon-size":["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],1,1.15],"symbol-z-elevate":!0,visibility:["case",["config","showPointOfInterestLabels"],"visible","none"],"text-size":["step",["zoom"],["step",["number",["get","sizerank"]],18,5,13],17,["step",["number",["get","sizerank"]],18,13,13]],"text-field":["format",["coalesce",["get","name_en"],["get","name"]],{}],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-padding":["interpolate",["linear"],["zoom"],16,6,17,4],"icon-image":["case",["has","maki_beta"],["coalesce",["image",["string",["get","maki_beta"]],{params:{"background-stroke":["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]],"hsla(0, 0, 0, 0)"],icon:["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["case",["==",["get","maki_beta"],"marker"],"hsla(0, 0, 0, 0)",["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]]],["match",["config","theme"],"monochrome","#A6A6A6",["case",["==",["config","colorModePointOfInterestLabels"],"single"],["match",["config","lightPreset"],["dusk","night"],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],["min",["+",["max",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],5],20],100],["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["config","colorPointOfInterestLabels"]],["match",["get","class"],"food_and_drink",["match",["config","lightPreset"],["dusk","night"],"#FBCB6A","#F93"],"education",["match",["config","lightPreset"],["dusk","night"],"#D9B38C","#BF8040"],"medical",["match",["config","lightPreset"],["dusk","night"],"#E87D7D","#FB7474"],"sport_and_leisure",["match",["config","lightPreset"],["dusk","night"],"#85D1E0","#20BFDF"],["store_like","food_and_drink_stores"],["match",["config","lightPreset"],["dusk","night"],"#93C0EC","#63A6E9"],["case",["any",["in",["get","maki_beta"],["literal",["communications-tower","museum","zoo"]]],["in",["get","class"],["literal",["arts_and_entertainment","historic","landmark"]]]],["match",["config","lightPreset"],["dusk","night"],"#EC93CE","#F47BCB"],["any",["==",["get","maki_beta"],"car-repair"],["in",["get","class"],["literal",["commercial_services","motorist","lodging"]]]],["match",["config","lightPreset"],["dusk","night"],"#A17DE8","#9482ED"],["any",["==",["get","maki_beta"],"picnic-site"],["==",["get","class"],"park_like"]],["match",["config","lightPreset"],["dusk","night"],"#85D775","#36AD1F"],["match",["config","lightPreset"],["dusk","night"],"#A3B3C2","#7594A3"]]]]]],background:["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["match",["config","theme"],"monochrome","#A6A6A6",["case",["==",["config","colorModePointOfInterestLabels"],"single"],["match",["config","lightPreset"],["dusk","night"],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],20],100],["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["config","colorPointOfInterestLabels"]],["match",["get","class"],"food_and_drink",["match",["config","lightPreset"],["dusk","night"],"#FBCB6A","#F93"],"education",["match",["config","lightPreset"],["dusk","night"],"#D9B38C","#BF8040"],"medical",["match",["config","lightPreset"],["dusk","night"],"#E87D7D","#FB7474"],"sport_and_leisure",["match",["config","lightPreset"],["dusk","night"],"#85D1E0","#20BFDF"],["store_like","food_and_drink_stores"],["match",["config","lightPreset"],["dusk","night"],"#93C0EC","#63A6E9"],["case",["any",["in",["get","maki"],["literal",["communications-tower","museum","zoo"]]],["in",["get","class"],["literal",["arts_and_entertainment","historic","landmark"]]]],["match",["config","lightPreset"],["dusk","night"],"#EC93CE","#F47BCB"],["any",["==",["get","maki"],"car-repair"],["in",["get","class"],["literal",["commercial_services","motorist","lodging"]]]],["match",["config","lightPreset"],["dusk","night"],"#A17DE8","#9482ED"],["any",["==",["get","maki"],"picnic-site"],["==",["get","class"],"park_like"]],["match",["config","lightPreset"],["dusk","night"],"#85D775","#36AD1F"],["match",["config","lightPreset"],["dusk","night"],"#A3B3C2","#7594A3"]]]]],"hsla(0,0, 0, 0)"],"icon-stroke":["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],"hsla(0, 0, 0, 0)",["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]]]}}],["image",["string",["get","maki"]],{params:{"background-stroke":["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]],"hsla(0, 0, 0, 0)"],icon:["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["case",["==",["get","maki"],"marker"],"hsla(0, 0, 0, 0)",["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]]],["match",["config","theme"],"monochrome","#A6A6A6",["case",["==",["config","colorModePointOfInterestLabels"],"single"],["match",["config","lightPreset"],["dusk","night"],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],["min",["+",["max",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],5],20],100],["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["config","colorPointOfInterestLabels"]],["match",["get","class"],"food_and_drink",["match",["config","lightPreset"],["dusk","night"],"#FBCB6A","#F93"],"education",["match",["config","lightPreset"],["dusk","night"],"#D9B38C","#BF8040"],"medical",["match",["config","lightPreset"],["dusk","night"],"#E87D7D","#FB7474"],"sport_and_leisure",["match",["config","lightPreset"],["dusk","night"],"#85D1E0","#20BFDF"],["store_like","food_and_drink_stores"],["match",["config","lightPreset"],["dusk","night"],"#93C0EC","#63A6E9"],["case",["any",["in",["get","maki"],["literal",["communications-tower","museum","zoo"]]],["in",["get","class"],["literal",["arts_and_entertainment","historic","landmark"]]]],["match",["config","lightPreset"],["dusk","night"],"#EC93CE","#F47BCB"],["any",["==",["get","maki"],"car-repair"],["in",["get","class"],["literal",["commercial_services","motorist","lodging"]]]],["match",["config","lightPreset"],["dusk","night"],"#A17DE8","#9482ED"],["any",["==",["get","maki"],"picnic-site"],["==",["get","class"],"park_like"]],["match",["config","lightPreset"],["dusk","night"],"#85D775","#36AD1F"],["match",["config","lightPreset"],["dusk","night"],"#A3B3C2","#7594A3"]]]]]],background:["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["match",["config","theme"],"monochrome","#A6A6A6",["case",["==",["config","colorModePointOfInterestLabels"],"single"],["match",["config","lightPreset"],["dusk","night"],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],20],100],["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["config","colorPointOfInterestLabels"]],["match",["get","class"],"food_and_drink",["match",["config","lightPreset"],["dusk","night"],"#FBCB6A","#F93"],"education",["match",["config","lightPreset"],["dusk","night"],"#D9B38C","#BF8040"],"medical",["match",["config","lightPreset"],["dusk","night"],"#E87D7D","#FB7474"],"sport_and_leisure",["match",["config","lightPreset"],["dusk","night"],"#85D1E0","#20BFDF"],["store_like","food_and_drink_stores"],["match",["config","lightPreset"],["dusk","night"],"#93C0EC","#63A6E9"],["case",["any",["in",["get","maki"],["literal",["communications-tower","museum","zoo"]]],["in",["get","class"],["literal",["arts_and_entertainment","historic","landmark"]]]],["match",["config","lightPreset"],["dusk","night"],"#EC93CE","#F47BCB"],["any",["==",["get","maki"],"car-repair"],["in",["get","class"],["literal",["commercial_services","motorist","lodging"]]]],["match",["config","lightPreset"],["dusk","night"],"#A17DE8","#9482ED"],["any",["==",["get","maki"],"picnic-site"],["==",["get","class"],"park_like"]],["match",["config","lightPreset"],["dusk","night"],"#85D775","#36AD1F"],["match",["config","lightPreset"],["dusk","night"],"#A3B3C2","#7594A3"]]]]],"hsla(0,0, 0, 0)"],"icon-stroke":["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],"hsla(0, 0, 0, 0)",["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]]]}}]],["image",["string",["get","maki"]],{params:{"background-stroke":["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]],"hsla(0, 0, 0, 0)"],icon:["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["case",["==",["get","maki"],"marker"],"hsla(0, 0, 0, 0)",["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]]],["match",["config","theme"],"monochrome","#A6A6A6",["case",["==",["config","colorModePointOfInterestLabels"],"single"],["match",["config","lightPreset"],["dusk","night"],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],["min",["+",["max",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],5],20],100],["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["config","colorPointOfInterestLabels"]],["match",["get","class"],"food_and_drink",["match",["config","lightPreset"],["dusk","night"],"#FBCB6A","#F93"],"education",["match",["config","lightPreset"],["dusk","night"],"#D9B38C","#BF8040"],"medical",["match",["config","lightPreset"],["dusk","night"],"#E87D7D","#FB7474"],"sport_and_leisure",["match",["config","lightPreset"],["dusk","night"],"#85D1E0","#20BFDF"],["store_like","food_and_drink_stores"],["match",["config","lightPreset"],["dusk","night"],"#93C0EC","#63A6E9"],["case",["any",["in",["get","maki"],["literal",["communications-tower","museum","zoo"]]],["in",["get","class"],["literal",["arts_and_entertainment","historic","landmark"]]]],["match",["config","lightPreset"],["dusk","night"],"#EC93CE","#F47BCB"],["any",["==",["get","maki"],"car-repair"],["in",["get","class"],["literal",["commercial_services","motorist","lodging"]]]],["match",["config","lightPreset"],["dusk","night"],"#A17DE8","#9482ED"],["any",["==",["get","maki"],"picnic-site"],["==",["get","class"],"park_like"]],["match",["config","lightPreset"],["dusk","night"],"#85D775","#36AD1F"],["match",["config","lightPreset"],["dusk","night"],"#A3B3C2","#7594A3"]]]]]],background:["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["match",["config","theme"],"monochrome","#A6A6A6",["case",["==",["config","colorModePointOfInterestLabels"],"single"],["match",["config","lightPreset"],["dusk","night"],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],20],100],["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["config","colorPointOfInterestLabels"]],["match",["get","class"],"food_and_drink",["match",["config","lightPreset"],["dusk","night"],"#FBCB6A","#F93"],"education",["match",["config","lightPreset"],["dusk","night"],"#D9B38C","#BF8040"],"medical",["match",["config","lightPreset"],["dusk","night"],"#E87D7D","#FB7474"],"sport_and_leisure",["match",["config","lightPreset"],["dusk","night"],"#85D1E0","#20BFDF"],["store_like","food_and_drink_stores"],["match",["config","lightPreset"],["dusk","night"],"#93C0EC","#63A6E9"],["case",["any",["in",["get","maki"],["literal",["communications-tower","museum","zoo"]]],["in",["get","class"],["literal",["arts_and_entertainment","historic","landmark"]]]],["match",["config","lightPreset"],["dusk","night"],"#EC93CE","#F47BCB"],["any",["==",["get","maki"],"car-repair"],["in",["get","class"],["literal",["commercial_services","motorist","lodging"]]]],["match",["config","lightPreset"],["dusk","night"],"#A17DE8","#9482ED"],["any",["==",["get","maki"],"picnic-site"],["==",["get","class"],"park_like"]],["match",["config","lightPreset"],["dusk","night"],"#85D775","#36AD1F"],["match",["config","lightPreset"],["dusk","night"],"#A3B3C2","#7594A3"]]]]],"hsla(0,0, 0, 0)"],"icon-stroke":["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],"hsla(0, 0, 0, 0)",["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]]]}}]],"text-offset":["step",["zoom"],["case",["all",["!=",["get","maki_beta"],"terminal"],["match",["get","class"],["building","general","place_like"],!0,!1]],["literal",[0,-.6]],["step",["number",["get","sizerank"]],["literal",[0,0]],5,["literal",[0,.8]]]],17,["case",["all",["!=",["get","maki_beta"],"terminal"],["match",["get","class"],["building","general","place_like"],!0,!1]],["literal",[0,-.6]],["step",["number",["get","sizerank"]],["literal",[0,0]],13,["literal",[0,.8]]]]],"text-anchor":["step",["zoom"],["case",["all",["!=",["get","maki_beta"],"terminal"],["match",["get","class"],["building","general","place_like"],!0,!1]],"bottom",["step",["number",["get","sizerank"]],"center",5,"top"]],17,["case",["all",["!=",["get","maki_beta"],"terminal"],["match",["get","class"],["building","general","place_like"],!0,!1]],"bottom",["step",["number",["get","sizerank"]],"center",13,"top"]]]},paint:{"text-emissive-strength":["match",["config","theme"],"monochrome",.7,.9],"icon-emissive-strength":["match",["config","theme"],"monochrome",.7,.9],"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["step",["zoom"],["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,5,1]],17,["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,13,1]]],"text-halo-width":1,"text-halo-blur":0,"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome","#000000",["case",["==",["config","colorModePointOfInterestLabels"],"single"],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"]],.3,["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]],"text-color":["match",["config","theme"],"monochrome",["interpolate",["linear"],["measure-light","brightness"],.25,"#999999",.3,"#A6A6A6"],["case",["==",["config","colorModePointOfInterestLabels"],"single"],["match",["config","lightPreset"],["dusk","night"],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],["min",["+",["max",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],10],20],100],["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["config","colorPointOfInterestLabels"]],["match",["get","class"],"food_and_drink",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(40, 95%, 70%)",.3,"hsl(30, 100%, 48%)"],"education",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(30, 50%, 70%)",.3,"hsl(30, 50%, 38%)"],"medical",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 70%, 70%)",.3,"hsl(0, 90%, 60%)"],"sport_and_leisure",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(190, 60%, 70%)",.3,"hsl(190, 75%, 38%)"],["store_like","food_and_drink_stores"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(210, 70%, 75%)",.3,"hsl(210, 75%, 53%)"],["arts_and_entertainment","historic","landmark"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(320, 70%, 75%)",.3,"hsl(320, 85%, 60%)"],["commercial_services","motorist","lodging"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(260, 70%, 75%)",.3,"hsl(250, 75%, 60%)"],"park_like",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(110, 55%, 65%)",.3,"hsl(110, 70%, 28%)"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(210, 20%, 70%)",.3,"hsl(210, 20%, 43%)"]]]]},metadata:{"mapbox:group":"poi labels"}},{id:"top",type:"slot",metadata:{"mapbox:description":"Above POI labels and behind Place and Transit labels"}},{id:"transit-label",type:"symbol",metadata:{"mapbox:group":"transit labels"},source:"composite","source-layer":"transit_stop_label",minzoom:12,filter:["all",["step",["zoom"],["all",["!=",["get","mode"],"bus"],["!=",["get","stop_type"],"entrance"]],17,["!=",["get","stop_type"],"entrance"],19,!0],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],1],50,["<",["distance-from-center"],.8],55,["<",["distance-from-center"],.4],60,["<=",["distance-from-center"],-.1]]]],layout:{visibility:["case",["config","showTransitLabels"],"visible","none"],"text-size":13,"icon-image":["image",["string",["get","network"]],{params:{background:["match",["config","lightPreset"],["dusk","night"],"hsl(225, 60%, 60%)","hsl(225, 60%, 58%)"],"background-stroke":["match",["config","lightPreset"],["dusk","night"],"hsl(0, 0%, 0%)","hsl(0, 0%, 100%)"],icon:["match",["config","lightPreset"],["dusk","night"],"hsl(0, 0%, 0%)","hsl(0, 0%, 100%)"]}}],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-justify":["match",["get","stop_type"],"entrance","left","center"],"text-offset":["case",["==",["get","network"],"entrance"],["literal",[1,0]],["==",["get","stop_type"],"entrance"],["literal",[1.8,0]],["literal",[0,.8]]],"text-anchor":["match",["get","stop_type"],"entrance","left","top"],"text-field":["step",["zoom"],["format","",{}],13,["match",["get","mode"],["metro_rail","rail"],["format",["coalesce",["get","name_en"],["get","name"]],{}],["format","",{}]],14,["match",["get","mode"],["bicycle","bus"],["format","",{}],["format",["coalesce",["get","name_en"],["get","name"]],{}]],18,["format",["coalesce",["get","name_en"],["get","name"]],{}]],"text-letter-spacing":.01,"text-max-width":["match",["get","stop_type"],"entrance",15,9]},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-emissive-strength":["match",["config","theme"],"monochrome",.7,1.5],"icon-emissive-strength":["match",["config","theme"],"monochrome",.7,1],"text-halo-width":1,"text-halo-blur":0,"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 0%)",.3,"hsl(0, 0%, 100%)"],"text-color":["match",["config","theme"],"monochrome",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 70%)",.3,"hsl(0, 0%, 40%)"],["match",["get","network"],"tokyo-metro",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(180, 50%, 80%)",.3,"hsl(180, 50%, 30%)"],"mexico-city-metro",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(25, 100%, 80%)",.3,"hsl(25, 100%, 63%)"],["barcelona-metro","delhi-metro","hong-kong-mtr","milan-metro","osaka-subway"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 90%, 65%)",.3,"hsl(0, 90%, 47%)"],["boston-t","washington-metro"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(230, 18%, 80%)",.3,"hsl(230, 18%, 20%)"],["chongqing-rail-transit","kiev-metro","singapore-mrt","taipei-metro"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(140, 90%, 85%)",.3,"hsl(140, 90%, 25%)"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(225, 60%, 60%)",.3,"hsl(225, 60%, 50%)"]]]}},{id:"airport-label",type:"symbol",metadata:{"mapbox:group":"transit labels"},source:"composite","source-layer":"airport_label",minzoom:8,filter:["all",["match",["get","class"],["military","civil","disputed_military","disputed_civil"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showTransitLabels"],"visible","none"],"text-line-height":1.1,"text-size":["step",["get","sizerank"],18,9,13],"icon-image":["image",["string",["get","maki"]],{params:{background:["match",["config","lightPreset"],["dusk","night"],"hsl(225, 60%, 60%)","hsl(225, 60%, 58%)"],"background-stroke":["match",["config","lightPreset"],["dusk","night"],"hsl(0, 0%, 0%)","hsl(0, 0%, 100%)"],icon:["match",["config","lightPreset"],["dusk","night"],"hsl(0, 0%, 0%)","hsl(0, 0%, 100%)"]}}],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-offset":[0,.8],"text-rotation-alignment":"viewport","text-anchor":"top","text-field":["step",["get","sizerank"],["case",["has","ref"],["concat",["get","ref"],` -
219
- `,["coalesce",["get","name_en"],["get","name"]]],["coalesce",["get","name_en"],["get","name"]]],15,["get","ref"]],"text-letter-spacing":.01,"text-max-width":9},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-emissive-strength":["match",["config","theme"],"monochrome",.7,1.5],"icon-emissive-strength":["match",["config","theme"],"monochrome",.7,1],"text-color":["match",["config","theme"],"monochrome",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 70%)",.3,"hsl(0, 0%, 40%)"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(225, 60%, 60%)",.3,"hsl(225, 60%, 50%)"]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 0%)",.3,"hsl(0, 0%, 100%)"],"text-halo-width":1}},{id:"settlement-subdivision-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:10,maxzoom:15,filter:["all",["match",["get","class"],["disputed_settlement_subdivision","settlement_subdivision"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["<=",["number",["get","filterrank"]],3],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],1.5]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-transform":"uppercase","text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-letter-spacing":["match",["get","type"],"suburb",.15,.05],"text-max-width":7,"text-padding":3,"text-size":["interpolate",["cubic-bezier",.5,0,1,1],["zoom"],11,["match",["get","type"],"suburb",12,11.5],15,["match",["get","type"],"suburb",16,15]]},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1.2],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 0.5)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 80%, 1)"]],"text-halo-width":1.3,"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsla",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],85,.6],.3,["hsla",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],.6]]]}},{id:"settlement-minor-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:2,maxzoom:13,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["step",["zoom"],[">",["get","symbolrank"],6],4,[">=",["get","symbolrank"],7],6,[">=",["get","symbolrank"],8],7,[">=",["get","symbolrank"],10],10,[">=",["get","symbolrank"],11],11,[">=",["get","symbolrank"],13],12,[">=",["get","symbolrank"],15]],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],11,9,10],6,["step",["get","symbolrank"],14,9,12,12,10],8,["step",["get","symbolrank"],16,9,14,12,12,15,10],13,["step",["get","symbolrank"],22,9,20,12,16,15,14]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],["image","border-dot-13",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],["step",["get","symbolrank"],["image","dot-11",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],9,["image","dot-10",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],11,["image","dot-9",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}]]],8,""],"text-font":[["concat",["config","font"]," Regular"],"Arial Unicode MS Regular"],"text-justify":"auto","text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":7},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"icon-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],.3,["config","colorPlaceLabels"]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 1)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]],"text-halo-width":1,"text-halo-blur":1}},{id:"landmark-icon",type:"symbol",metadata:{"mapbox:group":"Landmark icons"},source:"mapbox-landmark-pois","source-layer":"landmarks_poi",minzoom:10,maxzoom:17,filter:["all",["has","local_rank"],["<=",["get","local_rank"],1],["step",["zoom"],["==",["geometry-type"],"Point"],10,[">=",["get","local_rank"],.9],11,[">=",["get","local_rank"],.8],12,[">=",["get","local_rank"],.7],13,[">=",["get","local_rank"],.5],13.5,[">=",["get","local_rank"],.3],14,[">=",["get","local_rank"],.1],15.5,["case",[">",["pitch"],1],[">",["get","local_rank"],1],[">=",["get","local_rank"],.1]]],["case",["<=",["pitch"],45],!0,["all",["<=",["distance-from-center"],2],[">",["pitch"],45]],!0,!1]],paint:{"symbol-z-offset":["interpolate",["linear"],["zoom"],14,0,15,["case",["config","show3dObjects"],["+",["to-number",["get","height"]],10],0]],"icon-image-cross-fade":["interpolate",["linear"],["measure-light","brightness"],.25,0,.3,1],"icon-opacity":["interpolate",["linear"],["zoom"],10,0,10.3,1,16.7,1,17,0],"icon-emissive-strength":["match",["config","theme"],"monochrome",["interpolate",["linear"],["measure-light","brightness"],.25,.5,.3,1],1],"text-color":["match",["config","theme"],"monochrome",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 40%)",.3,"hsl(0, 0%, 35%)"],["interpolate",["linear"],["measure-light","brightness"],.28,"hsl(240, 15%, 75%)",.3,"hsl(0, 0%, 35%)"]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 0%)",.3,"hsl(0, 0%, 100%)"],"text-halo-width":1,"text-opacity":["interpolate",["linear"],["zoom"],10,0,10.3,["case",["==",["config","showLandmarkIconLabels"],!0],1,0],16.7,["case",["==",["config","showLandmarkIconLabels"],!0],1,0],17,0]},layout:{visibility:["case",["config","showLandmarkIcons"],"visible","none"],"text-field":["to-string",["get","short_name_en"]],"icon-allow-overlap":!1,"icon-padding":30,"symbol-sort-key":["-",1,["get","local_rank"]],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"icon-image":["image",["concat","landmark-icons","/",["get","icon_name"],"-dark"],{iconset:{id:"landmarks"}},["concat","landmark-icons","/",["get","icon_name"]],{iconset:{id:"landmarks"}}],"icon-size":["interpolate",["linear"],["zoom"],12,.8,14,1],"symbol-placement":"point","text-size":["interpolate",["linear"],["zoom"],12,12,14,14],"text-padding":20,"text-anchor":"top","text-offset":[0,1.8]}},{id:"settlement-major-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:2,maxzoom:15,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["step",["zoom"],!1,2,["<=",["get","symbolrank"],6],4,["<",["get","symbolrank"],7],6,["<",["get","symbolrank"],8],7,["<",["get","symbolrank"],10],10,["<",["get","symbolrank"],11],11,["<",["get","symbolrank"],13],12,["<",["get","symbolrank"],15],13,[">=",["get","symbolrank"],11],14,[">=",["get","symbolrank"],15]],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],13,6,11],6,["step",["get","symbolrank"],18,6,16,7,14],8,["step",["get","symbolrank"],20,9,16,10,14],15,["step",["get","symbolrank"],24,9,20,12,16,15,14]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],["image","border-dot-13",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],["step",["get","symbolrank"],["image","dot-11",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],9,["image","dot-10",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],11,["image","dot-9",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}]]],8,""],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],8,"center"],"text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":7},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"icon-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],.3,["config","colorPlaceLabels"]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 1)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]],"text-halo-width":1,"text-halo-blur":1}},{id:"state-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:3,maxzoom:9,filter:["all",["match",["get","class"],["state","disputed_state"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-size":["interpolate",["cubic-bezier",.85,.7,.65,1],["zoom"],4,["step",["get","symbolrank"],9,6,8,7,7],9,["step",["get","symbolrank"],21,6,16,7,14]],"text-transform":"uppercase","text-font":[["concat",["config","font"]," Bold"],"Arial Unicode MS Bold"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.15,"text-max-width":6},paint:{"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],.3,["config","colorPlaceLabels"]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 1)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]],"text-halo-width":1,"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.5]}},{id:"country-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:1,maxzoom:10,filter:["all",["match",["get","class"],["country","disputed_country"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"icon-image":"","text-field":["coalesce",["get","name_en"],["get","name"]],"text-line-height":1.1,"text-max-width":6,"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-radial-offset":["step",["zoom"],.6,8,0],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],7,"auto"],"text-size":["interpolate",["cubic-bezier",.2,0,.7,1],["zoom"],1,["step",["get","symbolrank"],11,4,9,5,8],9,["step",["get","symbolrank"],22,4,19,5,17]]},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,.8],"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"icon-opacity":["step",["zoom"],["case",["has","text_anchor"],1,0],7,0],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],.3,["config","colorPlaceLabels"]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 1)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]],"text-halo-width":1.25}},{id:"continent-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"natural_label",minzoom:.75,maxzoom:3,filter:["all",["==",["get","class"],"continent"],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-line-height":1.1,"text-max-width":6,"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-size":["interpolate",["exponential",.5],["zoom"],0,10,2.5,15],"text-transform":"uppercase","text-letter-spacing":.05},paint:{"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],.3,["config","colorPlaceLabels"]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 1)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]],"text-halo-width":1.5,"text-opacity":["interpolate",["linear"],["zoom"],0,["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.8],1.5,["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.5],2.5,["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.5]]}}],models:{"maple1-lod1":"mapbox://models/mapbox/maple1-v4-lod1.glb","maple1-lod2":"mapbox://models/mapbox/maple1-v4-lod2.glb","maple1-lod3":"mapbox://models/mapbox/maple1-v4-lod3.glb","maple1-lod4":"mapbox://models/mapbox/maple1-v4-lod4.glb","maple2-lod1":"mapbox://models/mapbox/maple2-v4-lod1.glb","maple2-lod2":"mapbox://models/mapbox/maple2-v4-lod2.glb","maple2-lod3":"mapbox://models/mapbox/maple2-v4-lod3.glb","maple2-lod4":"mapbox://models/mapbox/maple2-v4-lod4.glb","oak1-lod1":"mapbox://models/mapbox/oak1-v4-lod1.glb","oak1-lod2":"mapbox://models/mapbox/oak1-v4-lod2.glb","oak1-lod3":"mapbox://models/mapbox/oak1-v4-lod3.glb","oak1-lod4":"mapbox://models/mapbox/oak1-v4-lod4.glb","oak2-lod1":"mapbox://models/mapbox/oak2-v4-lod1.glb","oak2-lod2":"mapbox://models/mapbox/oak2-v4-lod2.glb","oak2-lod3":"mapbox://models/mapbox/oak2-v4-lod3.glb","oak2-lod4":"mapbox://models/mapbox/oak2-v4-lod4.glb","palm1-lod1":"mapbox://models/mapbox/palm1-v4-lod1.glb","palm1-lod2":"mapbox://models/mapbox/palm1-v4-lod2.glb","palm1-lod3":"mapbox://models/mapbox/palm1-v4-lod3.glb","palm1-lod4":"mapbox://models/mapbox/palm1-v4-lod4.glb","pine1-lod1":"mapbox://models/mapbox/pine1-v4-lod1.glb","pine1-lod2":"mapbox://models/mapbox/pine1-v4-lod2.glb","pine1-lod3":"mapbox://models/mapbox/pine1-v4-lod3.glb","pine1-lod4":"mapbox://models/mapbox/pine1-v4-lod4.glb","pine2-lod1":"mapbox://models/mapbox/pine2-v4-lod1.glb","pine2-lod2":"mapbox://models/mapbox/pine2-v4-lod2.glb","pine2-lod3":"mapbox://models/mapbox/pine2-v4-lod3.glb","pine2-lod4":"mapbox://models/mapbox/pine2-v4-lod4.glb","turbinetower-lod1":"mapbox://models/mapbox/turbinetower1-lod1.glb","turbinerotor-lod1":"mapbox://models/mapbox/turbinerotor1-lod1.glb","turbinetower-lod2":"mapbox://models/mapbox/turbinetower1-lod2.glb","turbinerotor-lod2":"mapbox://models/mapbox/turbinerotor1-lod2.glb"},featuresets:{poi:{metadata:{"mapbox:title":"Points of interest","mapbox:description":"A point of interest.","mapbox:states":[{id:"hide",type:"boolean",doc:"When `true`, hides the icon and text. Use this state when displaying a custom annotation on top.",importConfigs:[]}],"mapbox:properties":[{name:"name",type:"string",doc:"Name of the point of interest."},{name:"group",type:"string",doc:"A high-level category, like POI, airport, transit, etc."},{name:"class",type:"string",doc:"A broad category of point of interest."},{name:"maki",type:"string",doc:"An icon identifier, designed to assign icons using the Maki icon project or other icons that follow the same naming scheme."},{name:"transit_mode",type:"string",doc:"Mode of transport served by a stop/station. Expected to be null for non-transit points of interest."},{name:"transit_stop_type",type:"string",doc:"A type of transit stop. Expected to be null for non-transit points of interest."},{name:"transit_network",type:"string",doc:"A rail station network identifier that is part of specific local or regional transit systems. Expected to be null for non-transit points of interest."},{name:"airport_ref",type:"string",doc:"A short identifier code of the airport. Expected to be null for non-airport points of interest"}]},selectors:[{layer:"poi-label-osm",properties:{name:["get","name"],class:["get","class"],maki:["coalesce",["get","maki_beta"],["get","maki"]],group:"poi"},featureNamespace:"poi-A"},{layer:"poi-label",properties:{name:["get","name"],class:["get","category"],maki:["get","icon"],group:"poi"},featureNamespace:"poi-A"},{layer:"transit-label",properties:{name:["get","name"],transit_mode:["get","mode"],transit_stop_type:["get","stop_type"],transit_network:["get","network"],group:"transit"},featureNamespace:"poi-B"},{layer:"airport-label",properties:{name:["get","name"],class:["get","class"],maki:["get","maki"],airport_ref:["get","ref"],group:"airport"},featureNamespace:"poi-C"},{layer:"natural-point-label",properties:{name:["get","name"],class:["get","class"],maki:["coalesce",["get","maki_beta"],["get","maki"]],group:"natural-point"},featureNamespace:"poi-D"}]},"place-labels":{metadata:{"mapbox:title":"Place labels","mapbox:description":"Points for labeling places including countries, states, cities, towns, and neighborhoods.","mapbox:states":[{id:"hide",type:"boolean",doc:"When `true`, hides the label. Use this state when displaying a custom annotation on top.",importConfigs:[]},{id:"highlight",type:"boolean",doc:"When `true`, the feature is highlighted. Use this state to create a temporary effect (e.g. hover).",importConfigs:["colorPlaceLabelHighlight"]},{id:"select",type:"boolean",doc:"When `true`, the feature is selected. Use this state to create a permanent effect. Note: the `select` state has a higher priority than `highlight`.",importConfigs:["colorPlaceLabelSelect"]}],"mapbox:properties":[{name:"name",type:"string",doc:"Name of the place label."},{name:"class",type:"string",doc:"Provides a broad distinction between place types."}]},selectors:[{layer:"continent-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-A"},{layer:"country-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"state-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"settlement-major-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"settlement-minor-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"settlement-subdivision-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"}]},buildings:{metadata:{"mapbox:title":"Buildings","mapbox:description":"Featureset describing the buildings.","mapbox:states":[{id:"highlight",type:"boolean",doc:"When `true`, the building is highlighted. Use this state to create a temporary effect (e.g. hover).",importConfigs:["colorBuildingHighlight"]},{id:"select",type:"boolean",doc:"When `true`, the building is selected. Use this state to create a permanent effect. Note: the `select` state has a higher priority than `highlight`.",importConfigs:["colorBuildingSelect"]}],"mapbox:properties":[{name:"group",type:"string",doc:"A high-level building group like building-2d, building-3d, etc."}]},selectors:[{layer:"3d-building",properties:{group:"building-3d"},featureNamespace:"building-A",_uniqueFeatureID:!0},{layer:"2d-building",properties:{group:"building-2d"},featureNamespace:"building-A",_uniqueFeatureID:!0}]},"landmark-icons":{metadata:{"mapbox:title":"Landmark Icons","mapbox:description":"Icons for landmark buildings","mapbox:properties":[{name:"id",type:"string",doc:"Unique landmark ID."},{name:"name",type:"string",doc:"Name of the Landmark in local language."},{name:"name_en",type:"string",doc:"Name of the Landmark in English."},{name:"short_name",type:"string",doc:"Short name of the Landmark in local language."},{name:"short_name_en",type:"string",doc:"Short name of the Landmark in English."},{name:"type",type:"string",doc:"Landmark type or building use."}]},selectors:[{layer:"landmark-icon",properties:{id:["get","id"],name:["get","name"],name_en:["get","name_en"],short_name:["get","short_name"],short_name_en:["get","short_name_en"],type:["get","type"]}}]}},created:"2023-10-26T16:35:57.777Z",modified:"2025-08-06T22:58:42.731Z",id:"standard",owner:"mapbox",visibility:"public",protected:!0,draft:!1}}],sources:{composite:{url:"mapbox://mapbox.country-boundaries-v1,mapbox.mapbox-streets-v8",type:"vector",data:{attribution:'<a href="https://www.mapbox.com/about/maps/" target="_blank" title="Mapbox" aria-label="Mapbox">&copy; Mapbox</a> <a href="https://www.openstreetmap.org/copyright/" target="_blank" title="OpenStreetMap" aria-label="OpenStreetMap">&copy; OpenStreetMap</a> <a class="mapbox-improve-map" href="https://www.mapbox.com/contribute/" target="_blank" title="Improve this map" aria-label="Improve this map">Improve this map</a>',bounds:[-180,-85.051129,180,85],center:[0,-.025564500000001544,0],constituents:[{maxzoom:12,minzoom:0,source:"mapbox.country-boundaries-v1"},{maxzoom:16,minzoom:0,source:"mapbox.mapbox-streets-v8"}],description:"Global polygon tileset of country boundaries and disputed areas",fillzoom:8,format:"pbf",language_options:{all:"Every available language",ar:"Arabic",bg:"Bulgarian",ca:"Catalan",cs:"Czech",da:"Danish",de:"German",el:"Greek",en:"English",es:"Spanish",et:"Estonian",fa:"Farsi",fi:"Finnish",fr:"French",he:"Hebrew",hr:"Croatian",hu:"Hungarian",id:"Indonesian",it:"Italian",ja:"Japanese",ka:"Georgian",ko:"Korean",local:"Renderable local language",lv:"Latvian",ms:"Malay",nb:"Norwegian Bokmål",nl:"Dutch",no:"Norwegian",pl:"Polish",pt:"Portuguese",ro:"Romanian",ru:"Russian",sk:"Slovak",sl:"Slovenian",sq:"Albanian",sr:"Serbian",sv:"Swedish",th:"Thai",tl:"Tagalog",tr:"Turkish",uk:"Ukrainian",vi:"Vietnamese","zh-Hans":"Simplified Chinese","zh-Hant":"Traditional Chinese"},mapbox_logo:!0,maxzoom:16,minzoom:0,mts:!0,name:"Mapbox Streets v8 + Mapbox Countries v1",scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/mapbox.country-boundaries-v1,mapbox.mapbox-streets-v8/{z}/{x}/{y}.vector.pbf"],vector_layers:[{id:"country_boundaries",maxzoom:22,minzoom:0,source:"mapbox.country-boundaries-v1"},{id:"landuse",minzoom:5,source:"mapbox.mapbox-streets-v8"},{id:"waterway",minzoom:7,source:"mapbox.mapbox-streets-v8"},{id:"water",minzoom:0,source:"mapbox.mapbox-streets-v8"},{id:"aeroway",minzoom:9,source:"mapbox.mapbox-streets-v8"},{id:"structure",minzoom:13,source:"mapbox.mapbox-streets-v8"},{id:"building",minzoom:12,source:"mapbox.mapbox-streets-v8"},{id:"landuse_overlay",minzoom:5,source:"mapbox.mapbox-streets-v8"},{id:"road",minzoom:3,source:"mapbox.mapbox-streets-v8"},{id:"admin",minzoom:0,source:"mapbox.mapbox-streets-v8"},{id:"place_label",minzoom:0,source:"mapbox.mapbox-streets-v8"},{id:"airport_label",minzoom:8,source:"mapbox.mapbox-streets-v8"},{id:"transit_stop_label",minzoom:5,source:"mapbox.mapbox-streets-v8"},{id:"natural_label",minzoom:0,source:"mapbox.mapbox-streets-v8"},{id:"poi_label",minzoom:6,source:"mapbox.mapbox-streets-v8"},{id:"motorway_junction",minzoom:9,source:"mapbox.mapbox-streets-v8"},{id:"housenum_label",minzoom:16,source:"mapbox.mapbox-streets-v8"}],worldview_default:"CN",worldview_options:{ALL:"Every available worldview",AR:"Argentina",CN:"China",IN:"India",JP:"Japan",MA:"Morocco",RS:"Serbia",RU:"Russia",TR:"Turkey",US:"United States",VN:"Vietnam"}}},"mapbox://neatchenheng.7y3kpvvv":{url:"mapbox://neatchenheng.7y3kpvvv",type:"vector",data:{bounds:[-179.798,-69.008,179.195,82.49],center:[-.3015000000000043,6.741,0],created:1756267632047,created_by_client:"studio",filesize:587124,format:"pbf",id:"neatchenheng.7y3kpvvv",mapbox_logo:!0,maxzoom:10,minzoom:0,modified:1756267631830,name:"tide_station_cn-8xvt91",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.7y3kpvvv/{z}/{x}/{y}.vector.pbf"],upload_id:"cmetgd2xo142e1oqnwmn6owp2",vector_layers:[{id:"tide_station_cn-8xvt91",maxzoom:22,minzoom:0,source:"neatchenheng.7y3kpvvv"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.7y3kpvvv"}},"mapbox://neatchenheng.9uwc9x7l":{url:"mapbox://neatchenheng.9uwc9x7l",type:"vector",data:{bounds:[-180,-89.999999,180,87.948427],center:[0,-1.0257860000000036,0],created:1756258790178,created_by_client:"studio",filesize:21891,format:"pbf",id:"neatchenheng.9uwc9x7l",mapbox_logo:!0,maxzoom:6,minzoom:0,modified:1756258789958,name:"ICE_AREA-6oqazd",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.9uwc9x7l/{z}/{x}/{y}.vector.pbf"],upload_id:"cmetb4f0d12lt1mma92qeqhea",vector_layers:[{id:"ICE_AREA-6oqazd",maxzoom:22,minzoom:0,source:"neatchenheng.9uwc9x7l"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.9uwc9x7l"}},"mapbox://neatchenheng.bbqlsheu":{url:"mapbox://neatchenheng.bbqlsheu",type:"vector",data:{bounds:[-180,-56.7252897416281,180,83.8746022304263],center:[0,13.574656244399101,3],created:1734949386768,created_by_client:"studio",filesize:71176884,format:"pbf",id:"neatchenheng.bbqlsheu",mapbox_logo:!0,maxzoom:9,minzoom:3,modified:1734949386547,name:"World_12NM_v4_20231025-4rlzig",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.bbqlsheu/{z}/{x}/{y}.vector.pbf"],upload_id:"cm50vf2t1fbcu1pqgik3s6iuf",vector_layers:[{id:"World_12NM_v4_20231025-4rlzig",maxzoom:22,minzoom:0,source:"neatchenheng.bbqlsheu"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.bbqlsheu"}},"mapbox://neatchenheng.d44z21eg":{url:"mapbox://neatchenheng.d44z21eg",type:"vector",data:{bounds:[114.23736254035865,17.26387530490726,123.54476074541262,26.931359896042608],center:[118.89106164288563,22.097617600474933,0],created:1734952431828,created_by_client:"studio",filesize:88540,format:"pbf",id:"neatchenheng.d44z21eg",mapbox_logo:!0,maxzoom:9,minzoom:0,modified:1734952431589,name:"eez-d4udtm",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.d44z21eg/{z}/{x}/{y}.vector.pbf"],upload_id:"cm50xvcov1c0b1ony6ujyjdxy",vector_layers:[{id:"eez-d4udtm",maxzoom:22,minzoom:0,source:"neatchenheng.d44z21eg"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.d44z21eg"}},"mapbox://neatchenheng.a4ifbysm":{url:"mapbox://neatchenheng.a4ifbysm",type:"vector",data:{bounds:[-180,-85.19206064243458,179.99989708894586,89.99999999999996],center:[-5145552707119805e-20,2.403969678782687,0],created:1747207518572,created_by_client:"studio",filesize:957976,format:"pbf",id:"neatchenheng.a4ifbysm",mapbox_logo:!0,maxzoom:6,minzoom:0,modified:1747207518355,name:"ne_10m_geography_marine_polys-3968bv",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.a4ifbysm/{z}/{x}/{y}.vector.pbf"],upload_id:"cmanm83zc5ykk1tpgdupzbhb5",vector_layers:[{id:"ne_10m_geography_marine_polys-3968bv",maxzoom:22,minzoom:0,source:"neatchenheng.a4ifbysm"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.a4ifbysm"}},"mapbox://neatchenheng.27issko0":{url:"mapbox://neatchenheng.27issko0",type:"vector",data:{bounds:[108.09,20.116666666666667,123.31291651780737,30.871605632915227],center:[115.70145825890368,25.494136149790947,0],created:1747623775149,created_by_client:"studio",filesize:57724,format:"pbf",id:"neatchenheng.27issko0",mapbox_logo:!0,maxzoom:8,minzoom:0,modified:1747897418131,name:"china_route-bdtx5d",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.27issko0/{z}/{x}/{y}.vector.pbf"],upload_id:"cmaz0zckd20bi1onv2xqfrzcv",vector_layers:[{id:"china_route-bdtx5d",maxzoom:22,minzoom:0,source:"neatchenheng.27issko0"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.27issko0"}},"mapbox://neatchenheng.dlkkohie":{url:"mapbox://neatchenheng.dlkkohie",type:"vector",data:{bounds:[-180.0443283402411,-80,180.00284240174312,90],center:[-.020742969248985332,5,0],created:1756711198438,created_by_client:"studio",filesize:38990,format:"pbf",id:"neatchenheng.dlkkohie",mapbox_logo:!0,maxzoom:6,minzoom:0,modified:1758161205109,name:"loadlines-b6mgr8",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.dlkkohie/{z}/{x}/{y}.vector.pbf"],upload_id:"cmforrscu3fwp1pqw2ibccowm",vector_layers:[{id:"loadlines-b6mgr8",maxzoom:22,minzoom:0,source:"neatchenheng.dlkkohie"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.dlkkohie"}},i4:this.i4.source},sprite:"mapbox://sprites/neatchenheng/cmddwkooj003i01ptch7p9gvz/8ej8fh7bqw5mhdjot66571v26",glyphs:"mapbox://fonts/mapbox/{fontstack}/{range}.pbf",projection:{name:"equirectangular"},layers:[{id:"empty-layer-0",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-1",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries",slot:""},{id:"country-boundaries",type:"fill",paint:{"fill-color":"rgb(200, 200, 200)"},layout:{visibility:"none"},source:"composite","source-layer":"country_boundaries",slot:""},{id:"empty-layer-2",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries",slot:""},{id:"empty-layer-3",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries",slot:""},{id:"empty-layer-4",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"water-outline",type:"line",paint:{"line-color":"rgb(176, 180, 181)"},layout:{},source:"composite","source-layer":"water",metadata:{"mapbox:featureStateHandler":{}},slot:""},{layout:{visibility:"none"},type:"line",source:"mapbox://neatchenheng.bbqlsheu",id:"world-12nm-v4-20231025",paint:{"line-color":"rgb(241, 46, 39)","line-width":2},slot:"","source-layer":"World_12NM_v4_20231025-4rlzig"},{id:"china-taiwan",type:"line",paint:{"line-width":2,"line-color":"rgb(241, 46, 39)"},layout:{visibility:"none"},source:"mapbox://neatchenheng.d44z21eg","source-layer":"eez-d4udtm"},{id:"ne-10m-outline",type:"line",paint:{"line-color":"rgb(84, 84, 84)"},layout:{visibility:"none"},source:"mapbox://neatchenheng.a4ifbysm","source-layer":"ne_10m_geography_marine_polys-3968bv"},{id:"ne-10m-label",type:"symbol",paint:{"text-halo-width":1,"text-halo-color":"rgb(255, 255, 255)"},layout:{"text-field":["to-string",["get","name"]],"text-size":12,visibility:"none"},source:"mapbox://neatchenheng.a4ifbysm","source-layer":"ne_10m_geography_marine_polys-3968bv"},{id:"china-route-line",type:"line",paint:{"line-color":"rgba(119, 239, 157, 1)","line-width":2},layout:{visibility:"none"},source:"mapbox://neatchenheng.27issko0","source-layer":"china_route-bdtx5d"},{id:"china-route-fill",type:"fill",paint:{"fill-color":"rgba(119, 239, 157, 1)","fill-opacity":.2},layout:{visibility:"none"},source:"mapbox://neatchenheng.27issko0",filter:["match",["get","featureType"],["route"],!0,!1],"source-layer":"china_route-bdtx5d"},{id:"china-route-label",type:"symbol",paint:{"text-color":"rgb(0, 0, 0)"},layout:{"text-field":["to-string",["get","RouteName"]],"text-size":10,"text-offset":[0,1.6],visibility:"none"},source:"mapbox://neatchenheng.27issko0","source-layer":"china_route-bdtx5d"},{id:"ice-area-fill",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(199, 239, 236, 0.7)"},source:"mapbox://neatchenheng.9uwc9x7l","source-layer":"ICE_AREA-6oqazd",layout:{visibility:"none"}},{id:"ice-area-line",minzoom:0,maxzoom:22,type:"line",paint:{"line-color":"rgba(199, 239, 236, 1)"},layout:{visibility:"none"},source:"mapbox://neatchenheng.9uwc9x7l","source-layer":"ICE_AREA-6oqazd"},{id:"tide-stations",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-color":"rgb(0, 0, 0)","text-opacity":["step",["zoom"],0,4,1]},layout:{visibility:"none","text-field":["to-string",["get","Location_EN"]],"text-size":10,"icon-image":"tide","icon-size":1,"icon-offset":[0,-13],"text-offset":[0,1.6],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},source:"mapbox://neatchenheng.7y3kpvvv","source-layer":"tide_station_cn-8xvt91"},{id:"loadlines-label",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-color":"rgb(0, 0, 0)"},layout:{"text-field":["to-string",["get","name"]],"text-size":10,"text-font":["DIN Pro Regular","Arial Unicode MS Regular"],visibility:"none","text-offset":[0,1]},source:"mapbox://neatchenheng.dlkkohie","source-layer":"loadlines-b6mgr8"},{id:"loadlines-fill",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":["match",["get","val"],["LLGreen"],"rgba(164, 214, 217, 0.6)",["LLBlue"],"rgba(53, 121, 194, 0.6)",["LLRed"],"rgba(217, 150, 151, 0.6)",["LLSUMMER"],"rgba(111, 110, 212, 0.6)","rgba(255, 255, 255, 0.6)"],"fill-outline-color":"rgba(255, 255, 255, 0.3)"},layout:{visibility:"none"},source:"mapbox://neatchenheng.dlkkohie","source-layer":"loadlines-b6mgr8"}],created:"2025-07-22T02:15:53.587Z",modified:"2025-08-07T10:15:43.870Z",id:"cmddwkooj003i01ptch7p9gvz",owner:"neatchenheng",visibility:"private",protected:!1,draft:!1}},this.mapboxStyle={light:{version:8,name:"origin",lights:[],fog:this.originStyle.light.fog,bearing:0,pitch:1,sprite:this.originStyle.light.sprite,glyphs:this.originStyle.light.glyphs,projection:this.originStyle.light.projection,sources:{composite:this.originStyle.light.sources.composite},layers:[(r=(a=this.originStyle)==null?void 0:a.light.layers)==null?void 0:r.find(m=>m.id==="land"),(l=(i=this.originStyle)==null?void 0:i.light.layers)==null?void 0:l.find(m=>m.id==="water"),(n=(s=this.originStyle)==null?void 0:s.light.layers)==null?void 0:n.find(m=>m.id==="ice-area-fill"),(h=(c=this.originStyle)==null?void 0:c.light.layers)==null?void 0:h.find(m=>m.id==="ice-area-line"),(g=(d=this.originStyle)==null?void 0:d.light.layers)==null?void 0:g.find(m=>m.id==="loadlines-label"),(w=(f=this.originStyle)==null?void 0:f.light.layers)==null?void 0:w.find(m=>m.id==="loadlines-fill"),(x=(z=this.originStyle)==null?void 0:z.light.layers)==null?void 0:x.find(m=>m.id==="empty-layer-0"),(S=(p=this.originStyle)==null?void 0:p.light.layers)==null?void 0:S.find(m=>m.id==="empty-layer-1"),(_=(L=this.originStyle)==null?void 0:L.light.layers)==null?void 0:_.find(m=>m.id==="country-boundaries"),(u=(b=this.originStyle)==null?void 0:b.light.layers)==null?void 0:u.find(m=>m.id==="water-outline"),(y=(k=this.originStyle)==null?void 0:k.light.layers)==null?void 0:y.find(m=>m.id==="water-outline2"),(E=(C=this.originStyle)==null?void 0:C.light.layers)==null?void 0:E.find(m=>m.id==="empty-layer-2"),(A=(B=this.originStyle)==null?void 0:B.light.layers)==null?void 0:A.find(m=>m.id==="water-line-label"),(G=(O=this.originStyle)==null?void 0:O.light.layers)==null?void 0:G.find(m=>m.id==="water-point-label"),(F=(W=this.originStyle)==null?void 0:W.light.layers)==null?void 0:F.find(m=>m.id==="world-12nm-v4-20231025"),(ee=($=this.originStyle)==null?void 0:$.light.layers)==null?void 0:ee.find(m=>m.id==="ne-10m-outline"),(q=(J=this.originStyle)==null?void 0:J.light.layers)==null?void 0:q.find(m=>m.id==="ne-10m-label"),(re=(te=this.originStyle)==null?void 0:te.light.layers)==null?void 0:re.find(m=>m.id==="china-route-line"),(ae=(oe=this.originStyle)==null?void 0:oe.light.layers)==null?void 0:ae.find(m=>m.id==="china-route-fill"),(U=(P=this.originStyle)==null?void 0:P.light.layers)==null?void 0:U.find(m=>m.id==="china-route-label"),(he=(ce=this.originStyle)==null?void 0:ce.light.layers)==null?void 0:he.find(m=>m.id==="admin-0-boundary-bg"),(ye=(fe=this.originStyle)==null?void 0:fe.light.layers)==null?void 0:ye.find(m=>m.id==="admin-0-boundary"),(we=(pe=this.originStyle)==null?void 0:pe.light.layers)==null?void 0:we.find(m=>m.id==="admin-0-boundary-disputed"),(M=(be=this.originStyle)==null?void 0:be.light.layers)==null?void 0:M.find(m=>m.id==="country-label"),(Pe=(Y=this.originStyle)==null?void 0:Y.light.layers)==null?void 0:Pe.find(m=>m.id==="continent-label"),(se=(ke=this.originStyle)==null?void 0:ke.light.layers)==null?void 0:se.find(m=>m.id==="tide-stations"),(I=(xe=this.originStyle)==null?void 0:xe.light.layers)==null?void 0:I.find(m=>m.id==="empty-layer-3"),(Z=(ne=this.originStyle)==null?void 0:ne.light.layers)==null?void 0:Z.find(m=>m.id==="empty-layer-4")]},dark:{version:8,name:"dark",metadata:(X=this.originStyle)==null?void 0:X.dark.metadata,center:[90.22129259388525,-3.2084663486364606],zoom:1.2556266457717493,bearing:0,pitch:0,lights:[],fog:{range:[.5,10]},sources:(ve=this.originStyle)==null?void 0:ve.dark.sources,sprite:(Se=this.originStyle)==null?void 0:Se.dark.sprite,glyphs:(Ne=this.originStyle)==null?void 0:Ne.dark.glyphs,projection:(N=this.originStyle)==null?void 0:N.dark.projection,id:"cmdqwez32005b01re2w0k3zk4",owner:"neatchenheng",visibility:"private",protected:!1,draft:!1,layers:[(ze=(me=this.originStyle)==null?void 0:me.dark.layers)==null?void 0:ze.find(m=>m.id==="land"),(Ce=(Le=this.originStyle)==null?void 0:Le.dark.layers)==null?void 0:Ce.find(m=>m.id==="water"),(Te=(D=this.originStyle)==null?void 0:D.dark.layers)==null?void 0:Te.find(m=>m.id==="ice-area-fill"),(Ee=(R=this.originStyle)==null?void 0:R.dark.layers)==null?void 0:Ee.find(m=>m.id==="ice-area-line"),(Ve=(Me=this.originStyle)==null?void 0:Me.dark.layers)==null?void 0:Ve.find(m=>m.id==="loadlines-label"),(Oe=(ge=this.originStyle)==null?void 0:ge.dark.layers)==null?void 0:Oe.find(m=>m.id==="loadlines-fill"),(Fe=(je=this.originStyle)==null?void 0:je.dark.layers)==null?void 0:Fe.find(m=>m.id==="empty-layer-0"),(Ge=(He=this.originStyle)==null?void 0:He.dark.layers)==null?void 0:Ge.find(m=>m.id==="empty-layer-1"),(Ue=(We=this.originStyle)==null?void 0:We.dark.layers)==null?void 0:Ue.find(m=>m.id==="country-boundaries"),(Ze=(Ye=this.originStyle)==null?void 0:Ye.dark.layers)==null?void 0:Ze.find(m=>m.id==="water-outline"),(Xe=(qe=this.originStyle)==null?void 0:qe.dark.layers)==null?void 0:Xe.find(m=>m.id==="empty-layer-2"),(Je=(Ke=this.originStyle)==null?void 0:Ke.dark.layers)==null?void 0:Je.find(m=>m.id==="water-line-label"),($e=(Qe=this.originStyle)==null?void 0:Qe.dark.layers)==null?void 0:$e.find(m=>m.id==="water-point-label"),(tt=(et=this.originStyle)==null?void 0:et.dark.layers)==null?void 0:tt.find(m=>m.id==="world-12nm-v4-20231025"),(at=(ot=this.originStyle)==null?void 0:ot.dark.layers)==null?void 0:at.find(m=>m.id==="ne-10m-outline"),(rt=(it=this.originStyle)==null?void 0:it.dark.layers)==null?void 0:rt.find(m=>m.id==="ne-10m-label"),(st=(lt=this.originStyle)==null?void 0:lt.dark.layers)==null?void 0:st.find(m=>m.id==="china-route-line"),(ct=(nt=this.originStyle)==null?void 0:nt.dark.layers)==null?void 0:ct.find(m=>m.id==="china-route-fill"),(dt=(mt=this.originStyle)==null?void 0:mt.dark.layers)==null?void 0:dt.find(m=>m.id==="china-route-label"),(pt=(ht=this.originStyle)==null?void 0:ht.dark.layers)==null?void 0:pt.find(m=>m.id==="admin-0-boundary-bg"),(ut=(gt=this.originStyle)==null?void 0:gt.dark.layers)==null?void 0:ut.find(m=>m.id==="admin-0-boundary"),(yt=(ft=this.originStyle)==null?void 0:ft.dark.layers)==null?void 0:yt.find(m=>m.id==="admin-0-boundary-disputed"),(wt=(bt=this.originStyle)==null?void 0:bt.dark.layers)==null?void 0:wt.find(m=>m.id==="country-label"),(_t=(xt=this.originStyle)==null?void 0:xt.dark.layers)==null?void 0:_t.find(m=>m.id==="continent-label"),(zt=(kt=this.originStyle)==null?void 0:kt.dark.layers)==null?void 0:zt.find(m=>m.id==="tide-stations"),(Lt=(vt=this.originStyle)==null?void 0:vt.dark.layers)==null?void 0:Lt.find(m=>m.id==="empty-layer-3"),(Pt=(Ct=this.originStyle)==null?void 0:Ct.dark.layers)==null?void 0:Pt.find(m=>m.id==="empty-layer-4")]},satellite:{version:8,name:"Satellite Streets",metadata:(St=this.originStyle)==null?void 0:St.satellite.metadata,center:[55.13,25.12],zoom:12,fog:(Nt=this.originStyle)==null?void 0:Nt.satellite.fog,imports:(Tt=this.originStyle)==null?void 0:Tt.satellite.imports,sources:(Dt=this.originStyle)==null?void 0:Dt.satellite.sources,sprite:(Et=this.originStyle)==null?void 0:Et.satellite.sprite,glyphs:(Mt=this.originStyle)==null?void 0:Mt.satellite.glyphs,projection:(Vt=this.originStyle)==null?void 0:Vt.satellite.projection,created:"2025-07-25T03:53:24.667Z",modified:"2025-07-28T06:47:35.471Z",id:"cmdiadnej03n101r485bs2m6a",owner:"neatchenheng",visibility:"private",protected:!1,draft:!1,layers:[(It=(Bt=this.originStyle)==null?void 0:Bt.satellite.layers)==null?void 0:It.find(m=>m.id==="background"),(At=(Rt=this.originStyle)==null?void 0:Rt.satellite.layers)==null?void 0:At.find(m=>m.id==="satellite"),(jt=(Ot=this.originStyle)==null?void 0:Ot.satellite.layers)==null?void 0:jt.find(m=>m.id==="loadlines-label"),(Ht=(Ft=this.originStyle)==null?void 0:Ft.satellite.layers)==null?void 0:Ht.find(m=>m.id==="loadlines-fill"),(Wt=(Gt=this.originStyle)==null?void 0:Gt.satellite.layers)==null?void 0:Wt.find(m=>m.id==="empty-layer-0"),(Yt=(Ut=this.originStyle)==null?void 0:Ut.satellite.layers)==null?void 0:Yt.find(m=>m.id==="empty-layer-1"),(qt=(Zt=this.originStyle)==null?void 0:Zt.satellite.layers)==null?void 0:qt.find(m=>m.id==="country-boundaries"),(Kt=(Xt=this.originStyle)==null?void 0:Xt.satellite.layers)==null?void 0:Kt.find(m=>m.id==="water-outline"),(Qt=(Jt=this.originStyle)==null?void 0:Jt.satellite.layers)==null?void 0:Qt.find(m=>m.id==="empty-layer-2"),(to=(eo=this.originStyle)==null?void 0:eo.satellite.layers)==null?void 0:to.find(m=>m.id==="world-12nm-v4-20231025"),(ao=(oo=this.originStyle)==null?void 0:oo.satellite.layers)==null?void 0:ao.find(m=>m.id==="ne-10m-outline"),(ro=(io=this.originStyle)==null?void 0:io.satellite.layers)==null?void 0:ro.find(m=>m.id==="ne-10m-label"),(so=(lo=this.originStyle)==null?void 0:lo.satellite.layers)==null?void 0:so.find(m=>m.id==="china-route-line"),(co=(no=this.originStyle)==null?void 0:no.satellite.layers)==null?void 0:co.find(m=>m.id==="china-route-fill"),(ho=(mo=this.originStyle)==null?void 0:mo.satellite.layers)==null?void 0:ho.find(m=>m.id==="china-route-label"),(Co=(Lo=this.originStyle)==null?void 0:Lo.satellite.layers)==null?void 0:Co.find(m=>m.id==="country-label"),(So=(Po=this.originStyle)==null?void 0:Po.satellite.layers)==null?void 0:So.find(m=>m.id==="continent-label"),(To=(No=this.originStyle)==null?void 0:No.satellite.layers)==null?void 0:To.find(m=>m.id==="tide-stations"),(Eo=(Do=this.originStyle)==null?void 0:Do.satellite.layers)==null?void 0:Eo.find(m=>m.id==="ice-area-fill"),(Vo=(Mo=this.originStyle)==null?void 0:Mo.satellite.layers)==null?void 0:Vo.find(m=>m.id==="ice-area-line"),(Io=(Bo=this.originStyle)==null?void 0:Bo.satellite.layers)==null?void 0:Io.find(m=>m.id==="empty-layer-3"),(Ao=(Ro=this.originStyle)==null?void 0:Ro.satellite.layers)==null?void 0:Ao.find(m=>m.id==="empty-layer-4")]},nautical:{version:8,name:"origin",lights:[],fog:this.originStyle.light.fog,bearing:0,pitch:1,sprite:this.originStyle.light.sprite,glyphs:this.originStyle.light.glyphs,projection:this.originStyle.light.projection,sources:this.originStyle.light.sources,layers:[(jo=(Oo=this.originStyle)==null?void 0:Oo.light.layers)==null?void 0:jo.find(m=>m.id==="land"),(Ho=(Fo=this.originStyle)==null?void 0:Fo.light.layers)==null?void 0:Ho.find(m=>m.id==="water"),this.i4.layer,(Wo=(Go=this.originStyle)==null?void 0:Go.light.layers)==null?void 0:Wo.find(m=>m.id==="ice-area-fill"),(Yo=(Uo=this.originStyle)==null?void 0:Uo.light.layers)==null?void 0:Yo.find(m=>m.id==="ice-area-line"),(qo=(Zo=this.originStyle)==null?void 0:Zo.light.layers)==null?void 0:qo.find(m=>m.id==="loadlines-label"),(Ko=(Xo=this.originStyle)==null?void 0:Xo.light.layers)==null?void 0:Ko.find(m=>m.id==="loadlines-fill"),(Qo=(Jo=this.originStyle)==null?void 0:Jo.light.layers)==null?void 0:Qo.find(m=>m.id==="empty-layer-0"),(ea=($o=this.originStyle)==null?void 0:$o.light.layers)==null?void 0:ea.find(m=>m.id==="empty-layer-1"),(oa=(ta=this.originStyle)==null?void 0:ta.light.layers)==null?void 0:oa.find(m=>m.id==="empty-layer-2"),(ia=(aa=this.originStyle)==null?void 0:aa.light.layers)==null?void 0:ia.find(m=>m.id==="country-boundaries"),(la=(ra=this.originStyle)==null?void 0:ra.light.layers)==null?void 0:la.find(m=>m.id==="water-outline"),(na=(sa=this.originStyle)==null?void 0:sa.light.layers)==null?void 0:na.find(m=>m.id==="water-outline2"),(ma=(ca=this.originStyle)==null?void 0:ca.light.layers)==null?void 0:ma.find(m=>m.id==="world-12nm-v4-20231025"),(ha=(da=this.originStyle)==null?void 0:da.light.layers)==null?void 0:ha.find(m=>m.id==="ne-10m-outline"),(ga=(pa=this.originStyle)==null?void 0:pa.light.layers)==null?void 0:ga.find(m=>m.id==="ne-10m-label"),(fa=(ua=this.originStyle)==null?void 0:ua.light.layers)==null?void 0:fa.find(m=>m.id==="china-route-line"),(ba=(ya=this.originStyle)==null?void 0:ya.light.layers)==null?void 0:ba.find(m=>m.id==="china-route-fill"),(xa=(wa=this.originStyle)==null?void 0:wa.light.layers)==null?void 0:xa.find(m=>m.id==="china-route-label"),(ka=(_a=this.originStyle)==null?void 0:_a.light.layers)==null?void 0:ka.find(m=>m.id==="admin-0-boundary-bg"),(va=(za=this.originStyle)==null?void 0:za.light.layers)==null?void 0:va.find(m=>m.id==="admin-0-boundary"),(Ca=(La=this.originStyle)==null?void 0:La.light.layers)==null?void 0:Ca.find(m=>m.id==="admin-0-boundary-disputed"),(Sa=(Pa=this.originStyle)==null?void 0:Pa.light.layers)==null?void 0:Sa.find(m=>m.id==="country-label"),(Ta=(Na=this.originStyle)==null?void 0:Na.light.layers)==null?void 0:Ta.find(m=>m.id==="continent-label"),(Ea=(Da=this.originStyle)==null?void 0:Da.light.layers)==null?void 0:Ea.find(m=>m.id==="tide-stations"),(Va=(Ma=this.originStyle)==null?void 0:Ma.light.layers)==null?void 0:Va.find(m=>m.id==="empty-layer-3"),(Ia=(Ba=this.originStyle)==null?void 0:Ba.light.layers)==null?void 0:Ia.find(m=>m.id==="empty-layer-4")]}}}}const uh="",Cd={name:"MapInitial",props:{token:{type:String,default:""},height:{type:String,default:"100vh"},width:{type:String,default:"100vw"},top:{type:Number,default:60},simple:{type:Boolean,default:!1},mapFeather:{type:String},menuToggle:{type:Object,default:{}}},emits:["map","menuToggle"],data(){return{map:void 0,beforeLayer:"",helper:void 0,zoom:2,right:10}},computed:{computeYear(){const o=new Date().getFullYear();return o>2023?o:2023}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)})}},mapFeather:{handler(){this.map=void 0,this.mapFeather&&this.$nextTick(()=>{this.initOnlineMap()})},immediate:!0},map:{handler(){this.$emit("map",this.map)},immediate:!0}},methods:{async initOnlineMap(){this.helper=new zo(this.token),de.accessToken="pk.eyJ1IjoibmVhdGNoZW5oZW5nIiwiYSI6ImNsdXM3cnBmODBsemgycW1vaXc1bjV6bXMifQ.w6fqHGRbhNhLvm0LnX4ZVw";const o=new de.Map({container:"map",style:this.helper.mapboxStyle[this.mapFeather],minZoom:2,maxZoom:22,zoom:2,center:[120,30],dragRotate:!1,pitchWithRotate:!1,touchZoomRotate:!1,projection:"mercator",preserveDrawingBuffer:!0,fadeDuration:300});o.dragRotate.disable(),o.on("load",()=>{this.zoom=2,this.map=o,this.$emit("menuToggle"),this.addScaleControl()}),o.on("move",()=>{var t;this.zoom=(t=this.map)==null?void 0:t.getZoom()})},addScaleControl(){var t;this.map.addControl(new de.ScaleControl({maxWidth:120,unit:"nautical"}),"bottom-left");const o=(t=document.getElementsByClassName("mapboxgl-ctrl-scale"))==null?void 0:t[0];o&&(o.className="mapboxgl-ctrl-scale "+this.mapFeather)},handleZoomIn(){var o;this.zoom<=22&&(this.zoom=Math.floor(this.zoom)+1,(o=this.map)==null||o.flyTo({zoom:this.zoom,duration:500}))},handleZoomOut(){var o;this.zoom>2&&(this.zoom=Math.floor(this.zoom)-1,(o=this.map)==null||o.flyTo({zoom:this.zoom,duration:500}))}}},Pd={class:"v-btn--variant-elevated rounded"},Sd={class:"v-btn--variant-elevated rounded"},Nd={class:"zoom"},Td={key:2,class:"position-absolute left-0 bottom-0 ma-2 my-1 text-caption text-label opacity-70"};function Dd(o,t,a,r,i,l){const s=e.resolveComponent("VBtn");return e.openBlock(),e.createElementBlock("div",{class:"mapbox-initial-gl4",style:e.normalizeStyle({height:a.height,width:a.width})},[t[6]||(t[6]=e.createElementVNode("div",{id:"map"},null,-1)),a.simple?(e.openBlock(),e.createElementBlock("div",{key:0,class:"menu-bar-box transition px-1 rounded d-flex flex-column pa-1",style:e.normalizeStyle({top:a.top+268+"px",right:i.right+"px",height:"40px"})},[e.createElementVNode("div",Pd,[e.createVNode(s,{"min-width":"32",width:"32",height:"32",class:"pa-0 elevation-0",onClick:l.initOnlineMap},{default:e.withCtx(()=>t[0]||(t[0]=[e.createElementVNode("i",{class:"iconfont icon-shuaxin text-h4"},null,-1)])),_:1,__:[0]},8,["onClick"])])],4)):e.createCommentVNode("",!0),a.simple?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:1,class:"menu-bar-box transition px-1 rounded d-flex flex-column",style:e.normalizeStyle({top:a.top+268+"px",right:i.right+"px"})},[e.createElementVNode("div",Sd,[e.createVNode(s,{"min-width":"32",width:"32",height:"32",class:"pa-0 elevation-0",onClick:l.handleZoomIn},{default:e.withCtx(()=>t[1]||(t[1]=[e.createElementVNode("i",{class:"iconfont icon-a-Zoomin text-h4"},null,-1)])),_:1,__:[1]},8,["onClick"]),e.createElementVNode("div",Nd,e.toDisplayString(i.zoom?Math.floor(i.zoom):0),1),e.createVNode(s,{"min-width":"32",width:"32",height:"32",class:"elevation-0 pa-0",onClick:l.handleZoomOut},{default:e.withCtx(()=>t[2]||(t[2]=[e.createElementVNode("i",{class:"iconfont icon-a-Zoomout text-h4"},null,-1)])),_:1,__:[2]},8,["onClick"])])],4)),a.simple?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Td,[t[3]||(t[3]=e.createElementVNode("span",null,"© 2023",-1)),e.createElementVNode("span",null,"-"+e.toDisplayString(l.computeYear),1),t[4]||(t[4]=e.createElementVNode("span",{class:"text-uppercase ma-2"},"ormwx.com",-1)),t[5]||(t[5]=e.createElementVNode("a",{class:"text-decoration-underline cursor-pointer text-label",href:"https://beian.miit.gov.cn/",target:"_blank"},"沪ICP备18039043号-6",-1))]))],4)}const vo=j(Cd,[["render",Dd]]),Ed={install(o){o.component("MapInitial",vo),o.component("MapboxGL",ko),o.component("TropicalGL",yo),o.component("LatLngGL",fo),o.component("DateTimePicker",Ae),o.component("DateRangePicker",bo),o.component("PortDetail",go),o.component("TimePlayer",wo)}};H.DateRangePicker=bo,H.DateTimePicker=Ae,H.LatLngGL=fo,H.MapInitial=vo,H.MapboxGL=ko,H.MapboxGLPlugin=Ed,H.MapboxStyleHelper=zo,H.ParticleSchema=ue,H.PortDetail=go,H.TimePlayer=wo,H.TropicalGL=yo,H.Viewport=uo,H.WebGL=_e,H.WebGLSchema=K,Object.defineProperty(H,Symbol.toStringTag,{value:"Module"})});
219
+ `,["coalesce",["get","name_en"],["get","name"]]],["coalesce",["get","name_en"],["get","name"]]],15,["get","ref"]],"text-letter-spacing":.01,"text-max-width":9},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-emissive-strength":["match",["config","theme"],"monochrome",.7,1.5],"icon-emissive-strength":["match",["config","theme"],"monochrome",.7,1],"text-color":["match",["config","theme"],"monochrome",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 70%)",.3,"hsl(0, 0%, 40%)"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(225, 60%, 60%)",.3,"hsl(225, 60%, 50%)"]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 0%)",.3,"hsl(0, 0%, 100%)"],"text-halo-width":1}},{id:"settlement-subdivision-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:10,maxzoom:15,filter:["all",["match",["get","class"],["disputed_settlement_subdivision","settlement_subdivision"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["<=",["number",["get","filterrank"]],3],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],1.5]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-transform":"uppercase","text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-letter-spacing":["match",["get","type"],"suburb",.15,.05],"text-max-width":7,"text-padding":3,"text-size":["interpolate",["cubic-bezier",.5,0,1,1],["zoom"],11,["match",["get","type"],"suburb",12,11.5],15,["match",["get","type"],"suburb",16,15]]},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1.2],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 0.5)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 80%, 1)"]],"text-halo-width":1.3,"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsla",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],85,.6],.3,["hsla",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],.6]]]}},{id:"settlement-minor-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:2,maxzoom:13,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["step",["zoom"],[">",["get","symbolrank"],6],4,[">=",["get","symbolrank"],7],6,[">=",["get","symbolrank"],8],7,[">=",["get","symbolrank"],10],10,[">=",["get","symbolrank"],11],11,[">=",["get","symbolrank"],13],12,[">=",["get","symbolrank"],15]],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],11,9,10],6,["step",["get","symbolrank"],14,9,12,12,10],8,["step",["get","symbolrank"],16,9,14,12,12,15,10],13,["step",["get","symbolrank"],22,9,20,12,16,15,14]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],["image","border-dot-13",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],["step",["get","symbolrank"],["image","dot-11",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],9,["image","dot-10",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],11,["image","dot-9",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}]]],8,""],"text-font":[["concat",["config","font"]," Regular"],"Arial Unicode MS Regular"],"text-justify":"auto","text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":7},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"icon-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],.3,["config","colorPlaceLabels"]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 1)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]],"text-halo-width":1,"text-halo-blur":1}},{id:"landmark-icon",type:"symbol",metadata:{"mapbox:group":"Landmark icons"},source:"mapbox-landmark-pois","source-layer":"landmarks_poi",minzoom:10,maxzoom:17,filter:["all",["has","local_rank"],["<=",["get","local_rank"],1],["step",["zoom"],["==",["geometry-type"],"Point"],10,[">=",["get","local_rank"],.9],11,[">=",["get","local_rank"],.8],12,[">=",["get","local_rank"],.7],13,[">=",["get","local_rank"],.5],13.5,[">=",["get","local_rank"],.3],14,[">=",["get","local_rank"],.1],15.5,["case",[">",["pitch"],1],[">",["get","local_rank"],1],[">=",["get","local_rank"],.1]]],["case",["<=",["pitch"],45],!0,["all",["<=",["distance-from-center"],2],[">",["pitch"],45]],!0,!1]],paint:{"symbol-z-offset":["interpolate",["linear"],["zoom"],14,0,15,["case",["config","show3dObjects"],["+",["to-number",["get","height"]],10],0]],"icon-image-cross-fade":["interpolate",["linear"],["measure-light","brightness"],.25,0,.3,1],"icon-opacity":["interpolate",["linear"],["zoom"],10,0,10.3,1,16.7,1,17,0],"icon-emissive-strength":["match",["config","theme"],"monochrome",["interpolate",["linear"],["measure-light","brightness"],.25,.5,.3,1],1],"text-color":["match",["config","theme"],"monochrome",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 40%)",.3,"hsl(0, 0%, 35%)"],["interpolate",["linear"],["measure-light","brightness"],.28,"hsl(240, 15%, 75%)",.3,"hsl(0, 0%, 35%)"]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 0%)",.3,"hsl(0, 0%, 100%)"],"text-halo-width":1,"text-opacity":["interpolate",["linear"],["zoom"],10,0,10.3,["case",["==",["config","showLandmarkIconLabels"],!0],1,0],16.7,["case",["==",["config","showLandmarkIconLabels"],!0],1,0],17,0]},layout:{visibility:["case",["config","showLandmarkIcons"],"visible","none"],"text-field":["to-string",["get","short_name_en"]],"icon-allow-overlap":!1,"icon-padding":30,"symbol-sort-key":["-",1,["get","local_rank"]],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"icon-image":["image",["concat","landmark-icons","/",["get","icon_name"],"-dark"],{iconset:{id:"landmarks"}},["concat","landmark-icons","/",["get","icon_name"]],{iconset:{id:"landmarks"}}],"icon-size":["interpolate",["linear"],["zoom"],12,.8,14,1],"symbol-placement":"point","text-size":["interpolate",["linear"],["zoom"],12,12,14,14],"text-padding":20,"text-anchor":"top","text-offset":[0,1.8]}},{id:"settlement-major-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:2,maxzoom:15,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["step",["zoom"],!1,2,["<=",["get","symbolrank"],6],4,["<",["get","symbolrank"],7],6,["<",["get","symbolrank"],8],7,["<",["get","symbolrank"],10],10,["<",["get","symbolrank"],11],11,["<",["get","symbolrank"],13],12,["<",["get","symbolrank"],15],13,[">=",["get","symbolrank"],11],14,[">=",["get","symbolrank"],15]],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],13,6,11],6,["step",["get","symbolrank"],18,6,16,7,14],8,["step",["get","symbolrank"],20,9,16,10,14],15,["step",["get","symbolrank"],24,9,20,12,16,15,14]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],["image","border-dot-13",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],["step",["get","symbolrank"],["image","dot-11",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],9,["image","dot-10",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],11,["image","dot-9",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}]]],8,""],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],8,"center"],"text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":7},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"icon-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],.3,["config","colorPlaceLabels"]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 1)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]],"text-halo-width":1,"text-halo-blur":1}},{id:"state-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:3,maxzoom:9,filter:["all",["match",["get","class"],["state","disputed_state"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-size":["interpolate",["cubic-bezier",.85,.7,.65,1],["zoom"],4,["step",["get","symbolrank"],9,6,8,7,7],9,["step",["get","symbolrank"],21,6,16,7,14]],"text-transform":"uppercase","text-font":[["concat",["config","font"]," Bold"],"Arial Unicode MS Bold"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.15,"text-max-width":6},paint:{"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],.3,["config","colorPlaceLabels"]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 1)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]],"text-halo-width":1,"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.5]}},{id:"country-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:1,maxzoom:10,filter:["all",["match",["get","class"],["country","disputed_country"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"icon-image":"","text-field":["coalesce",["get","name_en"],["get","name"]],"text-line-height":1.1,"text-max-width":6,"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-radial-offset":["step",["zoom"],.6,8,0],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],7,"auto"],"text-size":["interpolate",["cubic-bezier",.2,0,.7,1],["zoom"],1,["step",["get","symbolrank"],11,4,9,5,8],9,["step",["get","symbolrank"],22,4,19,5,17]]},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,.8],"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"icon-opacity":["step",["zoom"],["case",["has","text_anchor"],1,0],7,0],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],.3,["config","colorPlaceLabels"]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 1)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]],"text-halo-width":1.25}},{id:"continent-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"natural_label",minzoom:.75,maxzoom:3,filter:["all",["==",["get","class"],"continent"],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-line-height":1.1,"text-max-width":6,"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-size":["interpolate",["exponential",.5],["zoom"],0,10,2.5,15],"text-transform":"uppercase","text-letter-spacing":.05},paint:{"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],.3,["config","colorPlaceLabels"]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 1)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]],"text-halo-width":1.5,"text-opacity":["interpolate",["linear"],["zoom"],0,["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.8],1.5,["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.5],2.5,["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.5]]}}],models:{"maple1-lod1":"mapbox://models/mapbox/maple1-v4-lod1.glb","maple1-lod2":"mapbox://models/mapbox/maple1-v4-lod2.glb","maple1-lod3":"mapbox://models/mapbox/maple1-v4-lod3.glb","maple1-lod4":"mapbox://models/mapbox/maple1-v4-lod4.glb","maple2-lod1":"mapbox://models/mapbox/maple2-v4-lod1.glb","maple2-lod2":"mapbox://models/mapbox/maple2-v4-lod2.glb","maple2-lod3":"mapbox://models/mapbox/maple2-v4-lod3.glb","maple2-lod4":"mapbox://models/mapbox/maple2-v4-lod4.glb","oak1-lod1":"mapbox://models/mapbox/oak1-v4-lod1.glb","oak1-lod2":"mapbox://models/mapbox/oak1-v4-lod2.glb","oak1-lod3":"mapbox://models/mapbox/oak1-v4-lod3.glb","oak1-lod4":"mapbox://models/mapbox/oak1-v4-lod4.glb","oak2-lod1":"mapbox://models/mapbox/oak2-v4-lod1.glb","oak2-lod2":"mapbox://models/mapbox/oak2-v4-lod2.glb","oak2-lod3":"mapbox://models/mapbox/oak2-v4-lod3.glb","oak2-lod4":"mapbox://models/mapbox/oak2-v4-lod4.glb","palm1-lod1":"mapbox://models/mapbox/palm1-v4-lod1.glb","palm1-lod2":"mapbox://models/mapbox/palm1-v4-lod2.glb","palm1-lod3":"mapbox://models/mapbox/palm1-v4-lod3.glb","palm1-lod4":"mapbox://models/mapbox/palm1-v4-lod4.glb","pine1-lod1":"mapbox://models/mapbox/pine1-v4-lod1.glb","pine1-lod2":"mapbox://models/mapbox/pine1-v4-lod2.glb","pine1-lod3":"mapbox://models/mapbox/pine1-v4-lod3.glb","pine1-lod4":"mapbox://models/mapbox/pine1-v4-lod4.glb","pine2-lod1":"mapbox://models/mapbox/pine2-v4-lod1.glb","pine2-lod2":"mapbox://models/mapbox/pine2-v4-lod2.glb","pine2-lod3":"mapbox://models/mapbox/pine2-v4-lod3.glb","pine2-lod4":"mapbox://models/mapbox/pine2-v4-lod4.glb","turbinetower-lod1":"mapbox://models/mapbox/turbinetower1-lod1.glb","turbinerotor-lod1":"mapbox://models/mapbox/turbinerotor1-lod1.glb","turbinetower-lod2":"mapbox://models/mapbox/turbinetower1-lod2.glb","turbinerotor-lod2":"mapbox://models/mapbox/turbinerotor1-lod2.glb"},featuresets:{poi:{metadata:{"mapbox:title":"Points of interest","mapbox:description":"A point of interest.","mapbox:states":[{id:"hide",type:"boolean",doc:"When `true`, hides the icon and text. Use this state when displaying a custom annotation on top.",importConfigs:[]}],"mapbox:properties":[{name:"name",type:"string",doc:"Name of the point of interest."},{name:"group",type:"string",doc:"A high-level category, like POI, airport, transit, etc."},{name:"class",type:"string",doc:"A broad category of point of interest."},{name:"maki",type:"string",doc:"An icon identifier, designed to assign icons using the Maki icon project or other icons that follow the same naming scheme."},{name:"transit_mode",type:"string",doc:"Mode of transport served by a stop/station. Expected to be null for non-transit points of interest."},{name:"transit_stop_type",type:"string",doc:"A type of transit stop. Expected to be null for non-transit points of interest."},{name:"transit_network",type:"string",doc:"A rail station network identifier that is part of specific local or regional transit systems. Expected to be null for non-transit points of interest."},{name:"airport_ref",type:"string",doc:"A short identifier code of the airport. Expected to be null for non-airport points of interest"}]},selectors:[{layer:"poi-label-osm",properties:{name:["get","name"],class:["get","class"],maki:["coalesce",["get","maki_beta"],["get","maki"]],group:"poi"},featureNamespace:"poi-A"},{layer:"poi-label",properties:{name:["get","name"],class:["get","category"],maki:["get","icon"],group:"poi"},featureNamespace:"poi-A"},{layer:"transit-label",properties:{name:["get","name"],transit_mode:["get","mode"],transit_stop_type:["get","stop_type"],transit_network:["get","network"],group:"transit"},featureNamespace:"poi-B"},{layer:"airport-label",properties:{name:["get","name"],class:["get","class"],maki:["get","maki"],airport_ref:["get","ref"],group:"airport"},featureNamespace:"poi-C"},{layer:"natural-point-label",properties:{name:["get","name"],class:["get","class"],maki:["coalesce",["get","maki_beta"],["get","maki"]],group:"natural-point"},featureNamespace:"poi-D"}]},"place-labels":{metadata:{"mapbox:title":"Place labels","mapbox:description":"Points for labeling places including countries, states, cities, towns, and neighborhoods.","mapbox:states":[{id:"hide",type:"boolean",doc:"When `true`, hides the label. Use this state when displaying a custom annotation on top.",importConfigs:[]},{id:"highlight",type:"boolean",doc:"When `true`, the feature is highlighted. Use this state to create a temporary effect (e.g. hover).",importConfigs:["colorPlaceLabelHighlight"]},{id:"select",type:"boolean",doc:"When `true`, the feature is selected. Use this state to create a permanent effect. Note: the `select` state has a higher priority than `highlight`.",importConfigs:["colorPlaceLabelSelect"]}],"mapbox:properties":[{name:"name",type:"string",doc:"Name of the place label."},{name:"class",type:"string",doc:"Provides a broad distinction between place types."}]},selectors:[{layer:"continent-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-A"},{layer:"country-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"state-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"settlement-major-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"settlement-minor-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"settlement-subdivision-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"}]},buildings:{metadata:{"mapbox:title":"Buildings","mapbox:description":"Featureset describing the buildings.","mapbox:states":[{id:"highlight",type:"boolean",doc:"When `true`, the building is highlighted. Use this state to create a temporary effect (e.g. hover).",importConfigs:["colorBuildingHighlight"]},{id:"select",type:"boolean",doc:"When `true`, the building is selected. Use this state to create a permanent effect. Note: the `select` state has a higher priority than `highlight`.",importConfigs:["colorBuildingSelect"]}],"mapbox:properties":[{name:"group",type:"string",doc:"A high-level building group like building-2d, building-3d, etc."}]},selectors:[{layer:"3d-building",properties:{group:"building-3d"},featureNamespace:"building-A",_uniqueFeatureID:!0},{layer:"2d-building",properties:{group:"building-2d"},featureNamespace:"building-A",_uniqueFeatureID:!0}]},"landmark-icons":{metadata:{"mapbox:title":"Landmark Icons","mapbox:description":"Icons for landmark buildings","mapbox:properties":[{name:"id",type:"string",doc:"Unique landmark ID."},{name:"name",type:"string",doc:"Name of the Landmark in local language."},{name:"name_en",type:"string",doc:"Name of the Landmark in English."},{name:"short_name",type:"string",doc:"Short name of the Landmark in local language."},{name:"short_name_en",type:"string",doc:"Short name of the Landmark in English."},{name:"type",type:"string",doc:"Landmark type or building use."}]},selectors:[{layer:"landmark-icon",properties:{id:["get","id"],name:["get","name"],name_en:["get","name_en"],short_name:["get","short_name"],short_name_en:["get","short_name_en"],type:["get","type"]}}]}},created:"2023-10-26T16:35:57.777Z",modified:"2025-08-06T22:58:42.731Z",id:"standard",owner:"mapbox",visibility:"public",protected:!0,draft:!1}}],sources:{composite:{url:"mapbox://mapbox.country-boundaries-v1,mapbox.mapbox-streets-v8",type:"vector",data:{attribution:'<a href="https://www.mapbox.com/about/maps/" target="_blank" title="Mapbox" aria-label="Mapbox">&copy; Mapbox</a> <a href="https://www.openstreetmap.org/copyright/" target="_blank" title="OpenStreetMap" aria-label="OpenStreetMap">&copy; OpenStreetMap</a> <a class="mapbox-improve-map" href="https://www.mapbox.com/contribute/" target="_blank" title="Improve this map" aria-label="Improve this map">Improve this map</a>',bounds:[-180,-85.051129,180,85],center:[0,-.025564500000001544,0],constituents:[{maxzoom:12,minzoom:0,source:"mapbox.country-boundaries-v1"},{maxzoom:16,minzoom:0,source:"mapbox.mapbox-streets-v8"}],description:"Global polygon tileset of country boundaries and disputed areas",fillzoom:8,format:"pbf",language_options:{all:"Every available language",ar:"Arabic",bg:"Bulgarian",ca:"Catalan",cs:"Czech",da:"Danish",de:"German",el:"Greek",en:"English",es:"Spanish",et:"Estonian",fa:"Farsi",fi:"Finnish",fr:"French",he:"Hebrew",hr:"Croatian",hu:"Hungarian",id:"Indonesian",it:"Italian",ja:"Japanese",ka:"Georgian",ko:"Korean",local:"Renderable local language",lv:"Latvian",ms:"Malay",nb:"Norwegian Bokmål",nl:"Dutch",no:"Norwegian",pl:"Polish",pt:"Portuguese",ro:"Romanian",ru:"Russian",sk:"Slovak",sl:"Slovenian",sq:"Albanian",sr:"Serbian",sv:"Swedish",th:"Thai",tl:"Tagalog",tr:"Turkish",uk:"Ukrainian",vi:"Vietnamese","zh-Hans":"Simplified Chinese","zh-Hant":"Traditional Chinese"},mapbox_logo:!0,maxzoom:16,minzoom:0,mts:!0,name:"Mapbox Streets v8 + Mapbox Countries v1",scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/mapbox.country-boundaries-v1,mapbox.mapbox-streets-v8/{z}/{x}/{y}.vector.pbf"],vector_layers:[{id:"country_boundaries",maxzoom:22,minzoom:0,source:"mapbox.country-boundaries-v1"},{id:"landuse",minzoom:5,source:"mapbox.mapbox-streets-v8"},{id:"waterway",minzoom:7,source:"mapbox.mapbox-streets-v8"},{id:"water",minzoom:0,source:"mapbox.mapbox-streets-v8"},{id:"aeroway",minzoom:9,source:"mapbox.mapbox-streets-v8"},{id:"structure",minzoom:13,source:"mapbox.mapbox-streets-v8"},{id:"building",minzoom:12,source:"mapbox.mapbox-streets-v8"},{id:"landuse_overlay",minzoom:5,source:"mapbox.mapbox-streets-v8"},{id:"road",minzoom:3,source:"mapbox.mapbox-streets-v8"},{id:"admin",minzoom:0,source:"mapbox.mapbox-streets-v8"},{id:"place_label",minzoom:0,source:"mapbox.mapbox-streets-v8"},{id:"airport_label",minzoom:8,source:"mapbox.mapbox-streets-v8"},{id:"transit_stop_label",minzoom:5,source:"mapbox.mapbox-streets-v8"},{id:"natural_label",minzoom:0,source:"mapbox.mapbox-streets-v8"},{id:"poi_label",minzoom:6,source:"mapbox.mapbox-streets-v8"},{id:"motorway_junction",minzoom:9,source:"mapbox.mapbox-streets-v8"},{id:"housenum_label",minzoom:16,source:"mapbox.mapbox-streets-v8"}],worldview_default:"CN",worldview_options:{ALL:"Every available worldview",AR:"Argentina",CN:"China",IN:"India",JP:"Japan",MA:"Morocco",RS:"Serbia",RU:"Russia",TR:"Turkey",US:"United States",VN:"Vietnam"}}},"mapbox://neatchenheng.7y3kpvvv":{url:"mapbox://neatchenheng.7y3kpvvv",type:"vector",data:{bounds:[-179.798,-69.008,179.195,82.49],center:[-.3015000000000043,6.741,0],created:1756267632047,created_by_client:"studio",filesize:587124,format:"pbf",id:"neatchenheng.7y3kpvvv",mapbox_logo:!0,maxzoom:10,minzoom:0,modified:1756267631830,name:"tide_station_cn-8xvt91",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.7y3kpvvv/{z}/{x}/{y}.vector.pbf"],upload_id:"cmetgd2xo142e1oqnwmn6owp2",vector_layers:[{id:"tide_station_cn-8xvt91",maxzoom:22,minzoom:0,source:"neatchenheng.7y3kpvvv"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.7y3kpvvv"}},"mapbox://neatchenheng.9uwc9x7l":{url:"mapbox://neatchenheng.9uwc9x7l",type:"vector",data:{bounds:[-180,-89.999999,180,87.948427],center:[0,-1.0257860000000036,0],created:1756258790178,created_by_client:"studio",filesize:21891,format:"pbf",id:"neatchenheng.9uwc9x7l",mapbox_logo:!0,maxzoom:6,minzoom:0,modified:1756258789958,name:"ICE_AREA-6oqazd",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.9uwc9x7l/{z}/{x}/{y}.vector.pbf"],upload_id:"cmetb4f0d12lt1mma92qeqhea",vector_layers:[{id:"ICE_AREA-6oqazd",maxzoom:22,minzoom:0,source:"neatchenheng.9uwc9x7l"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.9uwc9x7l"}},"mapbox://neatchenheng.bbqlsheu":{url:"mapbox://neatchenheng.bbqlsheu",type:"vector",data:{bounds:[-180,-56.7252897416281,180,83.8746022304263],center:[0,13.574656244399101,3],created:1734949386768,created_by_client:"studio",filesize:71176884,format:"pbf",id:"neatchenheng.bbqlsheu",mapbox_logo:!0,maxzoom:9,minzoom:3,modified:1734949386547,name:"World_12NM_v4_20231025-4rlzig",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.bbqlsheu/{z}/{x}/{y}.vector.pbf"],upload_id:"cm50vf2t1fbcu1pqgik3s6iuf",vector_layers:[{id:"World_12NM_v4_20231025-4rlzig",maxzoom:22,minzoom:0,source:"neatchenheng.bbqlsheu"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.bbqlsheu"}},"mapbox://neatchenheng.d44z21eg":{url:"mapbox://neatchenheng.d44z21eg",type:"vector",data:{bounds:[114.23736254035865,17.26387530490726,123.54476074541262,26.931359896042608],center:[118.89106164288563,22.097617600474933,0],created:1734952431828,created_by_client:"studio",filesize:88540,format:"pbf",id:"neatchenheng.d44z21eg",mapbox_logo:!0,maxzoom:9,minzoom:0,modified:1734952431589,name:"eez-d4udtm",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.d44z21eg/{z}/{x}/{y}.vector.pbf"],upload_id:"cm50xvcov1c0b1ony6ujyjdxy",vector_layers:[{id:"eez-d4udtm",maxzoom:22,minzoom:0,source:"neatchenheng.d44z21eg"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.d44z21eg"}},"mapbox://neatchenheng.a4ifbysm":{url:"mapbox://neatchenheng.a4ifbysm",type:"vector",data:{bounds:[-180,-85.19206064243458,179.99989708894586,89.99999999999996],center:[-5145552707119805e-20,2.403969678782687,0],created:1747207518572,created_by_client:"studio",filesize:957976,format:"pbf",id:"neatchenheng.a4ifbysm",mapbox_logo:!0,maxzoom:6,minzoom:0,modified:1747207518355,name:"ne_10m_geography_marine_polys-3968bv",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.a4ifbysm/{z}/{x}/{y}.vector.pbf"],upload_id:"cmanm83zc5ykk1tpgdupzbhb5",vector_layers:[{id:"ne_10m_geography_marine_polys-3968bv",maxzoom:22,minzoom:0,source:"neatchenheng.a4ifbysm"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.a4ifbysm"}},"mapbox://neatchenheng.27issko0":{url:"mapbox://neatchenheng.27issko0",type:"vector",data:{bounds:[108.09,20.116666666666667,123.31291651780737,30.871605632915227],center:[115.70145825890368,25.494136149790947,0],created:1747623775149,created_by_client:"studio",filesize:57724,format:"pbf",id:"neatchenheng.27issko0",mapbox_logo:!0,maxzoom:8,minzoom:0,modified:1747897418131,name:"china_route-bdtx5d",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.27issko0/{z}/{x}/{y}.vector.pbf"],upload_id:"cmaz0zckd20bi1onv2xqfrzcv",vector_layers:[{id:"china_route-bdtx5d",maxzoom:22,minzoom:0,source:"neatchenheng.27issko0"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.27issko0"}},"mapbox://neatchenheng.dlkkohie":{url:"mapbox://neatchenheng.dlkkohie",type:"vector",data:{bounds:[-180.0443283402411,-80,180.00284240174312,90],center:[-.020742969248985332,5,0],created:1756711198438,created_by_client:"studio",filesize:38990,format:"pbf",id:"neatchenheng.dlkkohie",mapbox_logo:!0,maxzoom:6,minzoom:0,modified:1758161205109,name:"loadlines-b6mgr8",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.dlkkohie/{z}/{x}/{y}.vector.pbf"],upload_id:"cmforrscu3fwp1pqw2ibccowm",vector_layers:[{id:"loadlines-b6mgr8",maxzoom:22,minzoom:0,source:"neatchenheng.dlkkohie"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.dlkkohie"}},i4:this.i4.source},sprite:"mapbox://sprites/neatchenheng/cmddwkooj003i01ptch7p9gvz/8ej8fh7bqw5mhdjot66571v26",glyphs:"mapbox://fonts/mapbox/{fontstack}/{range}.pbf",projection:{name:"equirectangular"},layers:[{id:"empty-layer-0",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-1",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries",slot:""},{id:"country-boundaries",type:"fill",paint:{"fill-color":"rgb(200, 200, 200)"},layout:{visibility:"none"},source:"composite","source-layer":"country_boundaries",slot:""},{id:"empty-layer-2",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries",slot:""},{id:"empty-layer-3",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries",slot:""},{id:"empty-layer-4",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"water-outline",type:"line",paint:{"line-color":"rgb(176, 180, 181)"},layout:{},source:"composite","source-layer":"water",metadata:{"mapbox:featureStateHandler":{}},slot:""},{layout:{visibility:"none"},type:"line",source:"mapbox://neatchenheng.bbqlsheu",id:"world-12nm-v4-20231025",paint:{"line-color":"rgb(241, 46, 39)","line-width":2},slot:"","source-layer":"World_12NM_v4_20231025-4rlzig"},{id:"china-taiwan",type:"line",paint:{"line-width":2,"line-color":"rgb(241, 46, 39)"},layout:{visibility:"none"},source:"mapbox://neatchenheng.d44z21eg","source-layer":"eez-d4udtm"},{id:"ne-10m-outline",type:"line",paint:{"line-color":"rgb(84, 84, 84)"},layout:{visibility:"none"},source:"mapbox://neatchenheng.a4ifbysm","source-layer":"ne_10m_geography_marine_polys-3968bv"},{id:"ne-10m-label",type:"symbol",paint:{"text-halo-width":1,"text-halo-color":"rgb(255, 255, 255)"},layout:{"text-field":["to-string",["get","name"]],"text-size":12,visibility:"none"},source:"mapbox://neatchenheng.a4ifbysm","source-layer":"ne_10m_geography_marine_polys-3968bv"},{id:"china-route-line",type:"line",paint:{"line-color":"rgba(119, 239, 157, 1)","line-width":2},layout:{visibility:"none"},source:"mapbox://neatchenheng.27issko0","source-layer":"china_route-bdtx5d"},{id:"china-route-fill",type:"fill",paint:{"fill-color":"rgba(119, 239, 157, 1)","fill-opacity":.2},layout:{visibility:"none"},source:"mapbox://neatchenheng.27issko0",filter:["match",["get","featureType"],["route"],!0,!1],"source-layer":"china_route-bdtx5d"},{id:"china-route-label",type:"symbol",paint:{"text-color":"rgb(0, 0, 0)"},layout:{"text-field":["to-string",["get","RouteName"]],"text-size":10,"text-offset":[0,1.6],visibility:"none"},source:"mapbox://neatchenheng.27issko0","source-layer":"china_route-bdtx5d"},{id:"ice-area-fill",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(199, 239, 236, 0.7)"},source:"mapbox://neatchenheng.9uwc9x7l","source-layer":"ICE_AREA-6oqazd",layout:{visibility:"none"}},{id:"ice-area-line",minzoom:0,maxzoom:22,type:"line",paint:{"line-color":"rgba(199, 239, 236, 1)"},layout:{visibility:"none"},source:"mapbox://neatchenheng.9uwc9x7l","source-layer":"ICE_AREA-6oqazd"},{id:"tide-stations",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-color":"rgb(0, 0, 0)","text-opacity":["step",["zoom"],0,4,1]},layout:{visibility:"none","text-field":["to-string",["get","Location_EN"]],"text-size":10,"icon-image":"tide","icon-size":1,"icon-offset":[0,-13],"text-offset":[0,1.6],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},source:"mapbox://neatchenheng.7y3kpvvv","source-layer":"tide_station_cn-8xvt91"},{id:"loadlines-label",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-color":"rgb(0, 0, 0)"},layout:{"text-field":["to-string",["get","name"]],"text-size":10,"text-font":["DIN Pro Regular","Arial Unicode MS Regular"],visibility:"none","text-offset":[0,1]},source:"mapbox://neatchenheng.dlkkohie","source-layer":"loadlines-b6mgr8"},{id:"loadlines-fill",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":["match",["get","val"],["LLGreen"],"rgba(164, 214, 217, 0.6)",["LLBlue"],"rgba(53, 121, 194, 0.6)",["LLRed"],"rgba(217, 150, 151, 0.6)",["LLSUMMER"],"rgba(111, 110, 212, 0.6)","rgba(255, 255, 255, 0.6)"],"fill-outline-color":"rgba(255, 255, 255, 0.3)"},layout:{visibility:"none"},source:"mapbox://neatchenheng.dlkkohie","source-layer":"loadlines-b6mgr8"}],created:"2025-07-22T02:15:53.587Z",modified:"2025-08-07T10:15:43.870Z",id:"cmddwkooj003i01ptch7p9gvz",owner:"neatchenheng",visibility:"private",protected:!1,draft:!1}},this.mapboxStyle={light:{version:8,name:"origin",lights:[],fog:this.originStyle.light.fog,bearing:0,pitch:1,sprite:this.originStyle.light.sprite,glyphs:this.originStyle.light.glyphs,projection:this.originStyle.light.projection,sources:{composite:this.originStyle.light.sources.composite},layers:[(r=(a=this.originStyle)==null?void 0:a.light.layers)==null?void 0:r.find(m=>m.id==="land"),(l=(i=this.originStyle)==null?void 0:i.light.layers)==null?void 0:l.find(m=>m.id==="water"),(n=(s=this.originStyle)==null?void 0:s.light.layers)==null?void 0:n.find(m=>m.id==="ice-area-fill"),(h=(c=this.originStyle)==null?void 0:c.light.layers)==null?void 0:h.find(m=>m.id==="ice-area-line"),(g=(d=this.originStyle)==null?void 0:d.light.layers)==null?void 0:g.find(m=>m.id==="loadlines-label"),(w=(f=this.originStyle)==null?void 0:f.light.layers)==null?void 0:w.find(m=>m.id==="loadlines-fill"),(x=(z=this.originStyle)==null?void 0:z.light.layers)==null?void 0:x.find(m=>m.id==="empty-layer-0"),(S=(p=this.originStyle)==null?void 0:p.light.layers)==null?void 0:S.find(m=>m.id==="empty-layer-1"),(_=(L=this.originStyle)==null?void 0:L.light.layers)==null?void 0:_.find(m=>m.id==="country-boundaries"),(u=(b=this.originStyle)==null?void 0:b.light.layers)==null?void 0:u.find(m=>m.id==="water-outline"),(y=(k=this.originStyle)==null?void 0:k.light.layers)==null?void 0:y.find(m=>m.id==="water-outline2"),(E=(C=this.originStyle)==null?void 0:C.light.layers)==null?void 0:E.find(m=>m.id==="empty-layer-2"),(A=(B=this.originStyle)==null?void 0:B.light.layers)==null?void 0:A.find(m=>m.id==="water-line-label"),(G=(O=this.originStyle)==null?void 0:O.light.layers)==null?void 0:G.find(m=>m.id==="water-point-label"),(F=(W=this.originStyle)==null?void 0:W.light.layers)==null?void 0:F.find(m=>m.id==="world-12nm-v4-20231025"),(ee=($=this.originStyle)==null?void 0:$.light.layers)==null?void 0:ee.find(m=>m.id==="ne-10m-outline"),(q=(J=this.originStyle)==null?void 0:J.light.layers)==null?void 0:q.find(m=>m.id==="ne-10m-label"),(re=(te=this.originStyle)==null?void 0:te.light.layers)==null?void 0:re.find(m=>m.id==="china-route-line"),(ae=(oe=this.originStyle)==null?void 0:oe.light.layers)==null?void 0:ae.find(m=>m.id==="china-route-fill"),(U=(P=this.originStyle)==null?void 0:P.light.layers)==null?void 0:U.find(m=>m.id==="china-route-label"),(he=(ce=this.originStyle)==null?void 0:ce.light.layers)==null?void 0:he.find(m=>m.id==="admin-0-boundary-bg"),(ye=(fe=this.originStyle)==null?void 0:fe.light.layers)==null?void 0:ye.find(m=>m.id==="admin-0-boundary"),(we=(pe=this.originStyle)==null?void 0:pe.light.layers)==null?void 0:we.find(m=>m.id==="admin-0-boundary-disputed"),(M=(be=this.originStyle)==null?void 0:be.light.layers)==null?void 0:M.find(m=>m.id==="country-label"),(Pe=(Y=this.originStyle)==null?void 0:Y.light.layers)==null?void 0:Pe.find(m=>m.id==="continent-label"),(se=(ke=this.originStyle)==null?void 0:ke.light.layers)==null?void 0:se.find(m=>m.id==="tide-stations"),(I=(xe=this.originStyle)==null?void 0:xe.light.layers)==null?void 0:I.find(m=>m.id==="empty-layer-3"),(Z=(ne=this.originStyle)==null?void 0:ne.light.layers)==null?void 0:Z.find(m=>m.id==="empty-layer-4")]},dark:{version:8,name:"dark",metadata:(X=this.originStyle)==null?void 0:X.dark.metadata,center:[90.22129259388525,-3.2084663486364606],zoom:1.2556266457717493,bearing:0,pitch:0,lights:[],fog:{range:[.5,10]},sources:(ve=this.originStyle)==null?void 0:ve.dark.sources,sprite:(Se=this.originStyle)==null?void 0:Se.dark.sprite,glyphs:(Ne=this.originStyle)==null?void 0:Ne.dark.glyphs,projection:(N=this.originStyle)==null?void 0:N.dark.projection,id:"cmdqwez32005b01re2w0k3zk4",owner:"neatchenheng",visibility:"private",protected:!1,draft:!1,layers:[(ze=(me=this.originStyle)==null?void 0:me.dark.layers)==null?void 0:ze.find(m=>m.id==="land"),(Ce=(Le=this.originStyle)==null?void 0:Le.dark.layers)==null?void 0:Ce.find(m=>m.id==="water"),(Te=(D=this.originStyle)==null?void 0:D.dark.layers)==null?void 0:Te.find(m=>m.id==="ice-area-fill"),(Ee=(R=this.originStyle)==null?void 0:R.dark.layers)==null?void 0:Ee.find(m=>m.id==="ice-area-line"),(Ve=(Me=this.originStyle)==null?void 0:Me.dark.layers)==null?void 0:Ve.find(m=>m.id==="loadlines-label"),(Oe=(ge=this.originStyle)==null?void 0:ge.dark.layers)==null?void 0:Oe.find(m=>m.id==="loadlines-fill"),(Fe=(je=this.originStyle)==null?void 0:je.dark.layers)==null?void 0:Fe.find(m=>m.id==="empty-layer-0"),(Ge=(He=this.originStyle)==null?void 0:He.dark.layers)==null?void 0:Ge.find(m=>m.id==="empty-layer-1"),(Ue=(We=this.originStyle)==null?void 0:We.dark.layers)==null?void 0:Ue.find(m=>m.id==="country-boundaries"),(Ze=(Ye=this.originStyle)==null?void 0:Ye.dark.layers)==null?void 0:Ze.find(m=>m.id==="water-outline"),(Xe=(qe=this.originStyle)==null?void 0:qe.dark.layers)==null?void 0:Xe.find(m=>m.id==="empty-layer-2"),(Je=(Ke=this.originStyle)==null?void 0:Ke.dark.layers)==null?void 0:Je.find(m=>m.id==="water-line-label"),($e=(Qe=this.originStyle)==null?void 0:Qe.dark.layers)==null?void 0:$e.find(m=>m.id==="water-point-label"),(tt=(et=this.originStyle)==null?void 0:et.dark.layers)==null?void 0:tt.find(m=>m.id==="world-12nm-v4-20231025"),(at=(ot=this.originStyle)==null?void 0:ot.dark.layers)==null?void 0:at.find(m=>m.id==="ne-10m-outline"),(rt=(it=this.originStyle)==null?void 0:it.dark.layers)==null?void 0:rt.find(m=>m.id==="ne-10m-label"),(st=(lt=this.originStyle)==null?void 0:lt.dark.layers)==null?void 0:st.find(m=>m.id==="china-route-line"),(ct=(nt=this.originStyle)==null?void 0:nt.dark.layers)==null?void 0:ct.find(m=>m.id==="china-route-fill"),(dt=(mt=this.originStyle)==null?void 0:mt.dark.layers)==null?void 0:dt.find(m=>m.id==="china-route-label"),(pt=(ht=this.originStyle)==null?void 0:ht.dark.layers)==null?void 0:pt.find(m=>m.id==="admin-0-boundary-bg"),(ut=(gt=this.originStyle)==null?void 0:gt.dark.layers)==null?void 0:ut.find(m=>m.id==="admin-0-boundary"),(yt=(ft=this.originStyle)==null?void 0:ft.dark.layers)==null?void 0:yt.find(m=>m.id==="admin-0-boundary-disputed"),(wt=(bt=this.originStyle)==null?void 0:bt.dark.layers)==null?void 0:wt.find(m=>m.id==="country-label"),(_t=(xt=this.originStyle)==null?void 0:xt.dark.layers)==null?void 0:_t.find(m=>m.id==="continent-label"),(zt=(kt=this.originStyle)==null?void 0:kt.dark.layers)==null?void 0:zt.find(m=>m.id==="tide-stations"),(Lt=(vt=this.originStyle)==null?void 0:vt.dark.layers)==null?void 0:Lt.find(m=>m.id==="empty-layer-3"),(Pt=(Ct=this.originStyle)==null?void 0:Ct.dark.layers)==null?void 0:Pt.find(m=>m.id==="empty-layer-4")]},satellite:{version:8,name:"Satellite Streets",metadata:(St=this.originStyle)==null?void 0:St.satellite.metadata,center:[55.13,25.12],zoom:12,fog:(Nt=this.originStyle)==null?void 0:Nt.satellite.fog,imports:(Tt=this.originStyle)==null?void 0:Tt.satellite.imports,sources:(Dt=this.originStyle)==null?void 0:Dt.satellite.sources,sprite:(Et=this.originStyle)==null?void 0:Et.satellite.sprite,glyphs:(Mt=this.originStyle)==null?void 0:Mt.satellite.glyphs,projection:(Vt=this.originStyle)==null?void 0:Vt.satellite.projection,created:"2025-07-25T03:53:24.667Z",modified:"2025-07-28T06:47:35.471Z",id:"cmdiadnej03n101r485bs2m6a",owner:"neatchenheng",visibility:"private",protected:!1,draft:!1,layers:[(It=(Bt=this.originStyle)==null?void 0:Bt.satellite.layers)==null?void 0:It.find(m=>m.id==="background"),(At=(Rt=this.originStyle)==null?void 0:Rt.satellite.layers)==null?void 0:At.find(m=>m.id==="satellite"),(jt=(Ot=this.originStyle)==null?void 0:Ot.satellite.layers)==null?void 0:jt.find(m=>m.id==="loadlines-label"),(Ht=(Ft=this.originStyle)==null?void 0:Ft.satellite.layers)==null?void 0:Ht.find(m=>m.id==="loadlines-fill"),(Wt=(Gt=this.originStyle)==null?void 0:Gt.satellite.layers)==null?void 0:Wt.find(m=>m.id==="empty-layer-0"),(Yt=(Ut=this.originStyle)==null?void 0:Ut.satellite.layers)==null?void 0:Yt.find(m=>m.id==="empty-layer-1"),(qt=(Zt=this.originStyle)==null?void 0:Zt.satellite.layers)==null?void 0:qt.find(m=>m.id==="country-boundaries"),(Kt=(Xt=this.originStyle)==null?void 0:Xt.satellite.layers)==null?void 0:Kt.find(m=>m.id==="water-outline"),(Qt=(Jt=this.originStyle)==null?void 0:Jt.satellite.layers)==null?void 0:Qt.find(m=>m.id==="empty-layer-2"),(to=(eo=this.originStyle)==null?void 0:eo.satellite.layers)==null?void 0:to.find(m=>m.id==="world-12nm-v4-20231025"),(ao=(oo=this.originStyle)==null?void 0:oo.satellite.layers)==null?void 0:ao.find(m=>m.id==="ne-10m-outline"),(ro=(io=this.originStyle)==null?void 0:io.satellite.layers)==null?void 0:ro.find(m=>m.id==="ne-10m-label"),(so=(lo=this.originStyle)==null?void 0:lo.satellite.layers)==null?void 0:so.find(m=>m.id==="china-route-line"),(co=(no=this.originStyle)==null?void 0:no.satellite.layers)==null?void 0:co.find(m=>m.id==="china-route-fill"),(ho=(mo=this.originStyle)==null?void 0:mo.satellite.layers)==null?void 0:ho.find(m=>m.id==="china-route-label"),(Co=(Lo=this.originStyle)==null?void 0:Lo.satellite.layers)==null?void 0:Co.find(m=>m.id==="country-label"),(So=(Po=this.originStyle)==null?void 0:Po.satellite.layers)==null?void 0:So.find(m=>m.id==="continent-label"),(To=(No=this.originStyle)==null?void 0:No.satellite.layers)==null?void 0:To.find(m=>m.id==="tide-stations"),(Eo=(Do=this.originStyle)==null?void 0:Do.satellite.layers)==null?void 0:Eo.find(m=>m.id==="ice-area-fill"),(Vo=(Mo=this.originStyle)==null?void 0:Mo.satellite.layers)==null?void 0:Vo.find(m=>m.id==="ice-area-line"),(Io=(Bo=this.originStyle)==null?void 0:Bo.satellite.layers)==null?void 0:Io.find(m=>m.id==="empty-layer-3"),(Ao=(Ro=this.originStyle)==null?void 0:Ro.satellite.layers)==null?void 0:Ao.find(m=>m.id==="empty-layer-4")]},nautical:{version:8,name:"origin",lights:[],fog:this.originStyle.light.fog,bearing:0,pitch:1,sprite:this.originStyle.light.sprite,glyphs:this.originStyle.light.glyphs,projection:this.originStyle.light.projection,sources:this.originStyle.light.sources,layers:[(jo=(Oo=this.originStyle)==null?void 0:Oo.light.layers)==null?void 0:jo.find(m=>m.id==="land"),(Ho=(Fo=this.originStyle)==null?void 0:Fo.light.layers)==null?void 0:Ho.find(m=>m.id==="water"),this.i4.layer,(Wo=(Go=this.originStyle)==null?void 0:Go.light.layers)==null?void 0:Wo.find(m=>m.id==="ice-area-fill"),(Yo=(Uo=this.originStyle)==null?void 0:Uo.light.layers)==null?void 0:Yo.find(m=>m.id==="ice-area-line"),(qo=(Zo=this.originStyle)==null?void 0:Zo.light.layers)==null?void 0:qo.find(m=>m.id==="loadlines-label"),(Ko=(Xo=this.originStyle)==null?void 0:Xo.light.layers)==null?void 0:Ko.find(m=>m.id==="loadlines-fill"),(Qo=(Jo=this.originStyle)==null?void 0:Jo.light.layers)==null?void 0:Qo.find(m=>m.id==="empty-layer-0"),(ea=($o=this.originStyle)==null?void 0:$o.light.layers)==null?void 0:ea.find(m=>m.id==="empty-layer-1"),(oa=(ta=this.originStyle)==null?void 0:ta.light.layers)==null?void 0:oa.find(m=>m.id==="empty-layer-2"),(ia=(aa=this.originStyle)==null?void 0:aa.light.layers)==null?void 0:ia.find(m=>m.id==="country-boundaries"),(la=(ra=this.originStyle)==null?void 0:ra.light.layers)==null?void 0:la.find(m=>m.id==="water-outline"),(na=(sa=this.originStyle)==null?void 0:sa.light.layers)==null?void 0:na.find(m=>m.id==="water-outline2"),(ma=(ca=this.originStyle)==null?void 0:ca.light.layers)==null?void 0:ma.find(m=>m.id==="world-12nm-v4-20231025"),(ha=(da=this.originStyle)==null?void 0:da.light.layers)==null?void 0:ha.find(m=>m.id==="ne-10m-outline"),(ga=(pa=this.originStyle)==null?void 0:pa.light.layers)==null?void 0:ga.find(m=>m.id==="ne-10m-label"),(fa=(ua=this.originStyle)==null?void 0:ua.light.layers)==null?void 0:fa.find(m=>m.id==="china-route-line"),(ba=(ya=this.originStyle)==null?void 0:ya.light.layers)==null?void 0:ba.find(m=>m.id==="china-route-fill"),(xa=(wa=this.originStyle)==null?void 0:wa.light.layers)==null?void 0:xa.find(m=>m.id==="china-route-label"),(ka=(_a=this.originStyle)==null?void 0:_a.light.layers)==null?void 0:ka.find(m=>m.id==="admin-0-boundary-bg"),(va=(za=this.originStyle)==null?void 0:za.light.layers)==null?void 0:va.find(m=>m.id==="admin-0-boundary"),(Ca=(La=this.originStyle)==null?void 0:La.light.layers)==null?void 0:Ca.find(m=>m.id==="admin-0-boundary-disputed"),(Sa=(Pa=this.originStyle)==null?void 0:Pa.light.layers)==null?void 0:Sa.find(m=>m.id==="country-label"),(Ta=(Na=this.originStyle)==null?void 0:Na.light.layers)==null?void 0:Ta.find(m=>m.id==="continent-label"),(Ea=(Da=this.originStyle)==null?void 0:Da.light.layers)==null?void 0:Ea.find(m=>m.id==="tide-stations"),(Va=(Ma=this.originStyle)==null?void 0:Ma.light.layers)==null?void 0:Va.find(m=>m.id==="empty-layer-3"),(Ia=(Ba=this.originStyle)==null?void 0:Ba.light.layers)==null?void 0:Ia.find(m=>m.id==="empty-layer-4")]}}}}const uh="",Cd={name:"MapInitial",props:{token:{type:String,default:""},height:{type:String,default:"100vh"},width:{type:String,default:"100vw"},top:{type:Number,default:60},simple:{type:Boolean,default:!1},mapFeather:{type:String},menuToggle:{type:Object,default:{}}},emits:["map","menuToggle"],data(){return{map:void 0,beforeLayer:"",helper:void 0,zoom:2,right:10}},computed:{computeYear(){const o=new Date().getFullYear();return o>2023?o:2023}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var o;this.simple||(this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10)})}},mapFeather:{handler(){this.map=void 0,this.mapFeather&&this.$nextTick(()=>{this.initOnlineMap()})},immediate:!0},map:{handler(){this.$emit("map",this.map)},immediate:!0}},methods:{async initOnlineMap(){this.helper=new zo(this.token),de.accessToken="pk.eyJ1IjoibmVhdGNoZW5oZW5nIiwiYSI6ImNsdXM3cnBmODBsemgycW1vaXc1bjV6bXMifQ.w6fqHGRbhNhLvm0LnX4ZVw";const o=new de.Map({container:"map",style:this.helper.mapboxStyle[this.mapFeather],minZoom:2,maxZoom:22,zoom:2,center:[120,30],dragRotate:!1,pitchWithRotate:!1,touchZoomRotate:{enabled:!0,rotate:!1},projection:"mercator",preserveDrawingBuffer:!0,fadeDuration:300});o.dragRotate.disable(),o.on("load",()=>{this.zoom=2,this.map=o,this.$emit("menuToggle"),this.addScaleControl()}),o.on("move",()=>{var t;this.zoom=(t=this.map)==null?void 0:t.getZoom()})},addScaleControl(){var t;this.map.addControl(new de.ScaleControl({maxWidth:120,unit:"nautical"}),"bottom-left");const o=(t=document.getElementsByClassName("mapboxgl-ctrl-scale"))==null?void 0:t[0];o&&(o.className="mapboxgl-ctrl-scale "+this.mapFeather)},handleZoomIn(){var o;this.zoom<=22&&(this.zoom=Math.floor(this.zoom)+1,(o=this.map)==null||o.flyTo({zoom:this.zoom,duration:500}))},handleZoomOut(){var o;this.zoom>2&&(this.zoom=Math.floor(this.zoom)-1,(o=this.map)==null||o.flyTo({zoom:this.zoom,duration:500}))}}},Pd={class:"v-btn--variant-elevated rounded"},Sd={class:"v-btn--variant-elevated rounded"},Nd={class:"zoom"},Td={key:2,class:"position-absolute left-0 bottom-0 ma-2 my-1 text-caption text-label opacity-70"};function Dd(o,t,a,r,i,l){const s=e.resolveComponent("VBtn");return e.openBlock(),e.createElementBlock("div",{class:"mapbox-initial-gl4",style:e.normalizeStyle({height:a.height,width:a.width})},[t[6]||(t[6]=e.createElementVNode("div",{id:"map"},null,-1)),a.simple?(e.openBlock(),e.createElementBlock("div",{key:0,class:"menu-bar-box transition px-1 rounded d-flex flex-column pa-1",style:e.normalizeStyle({top:a.top+268+"px",right:i.right+"px",height:"40px"})},[e.createElementVNode("div",Pd,[e.createVNode(s,{"min-width":"32",width:"32",height:"32",class:"pa-0 elevation-0",onClick:l.initOnlineMap},{default:e.withCtx(()=>t[0]||(t[0]=[e.createElementVNode("i",{class:"iconfont icon-shuaxin text-h4"},null,-1)])),_:1,__:[0]},8,["onClick"])])],4)):e.createCommentVNode("",!0),a.simple?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:1,class:"menu-bar-box transition px-1 rounded d-flex flex-column",style:e.normalizeStyle({top:a.top+268+"px",right:i.right+"px"})},[e.createElementVNode("div",Sd,[e.createVNode(s,{"min-width":"32",width:"32",height:"32",class:"pa-0 elevation-0",onClick:l.handleZoomIn},{default:e.withCtx(()=>t[1]||(t[1]=[e.createElementVNode("i",{class:"iconfont icon-a-Zoomin text-h4"},null,-1)])),_:1,__:[1]},8,["onClick"]),e.createElementVNode("div",Nd,e.toDisplayString(i.zoom?Math.floor(i.zoom):0),1),e.createVNode(s,{"min-width":"32",width:"32",height:"32",class:"elevation-0 pa-0",onClick:l.handleZoomOut},{default:e.withCtx(()=>t[2]||(t[2]=[e.createElementVNode("i",{class:"iconfont icon-a-Zoomout text-h4"},null,-1)])),_:1,__:[2]},8,["onClick"])])],4)),a.simple?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Td,[t[3]||(t[3]=e.createElementVNode("span",null,"© 2023",-1)),e.createElementVNode("span",null,"-"+e.toDisplayString(l.computeYear),1),t[4]||(t[4]=e.createElementVNode("span",{class:"text-uppercase ma-2"},"ormwx.com",-1)),t[5]||(t[5]=e.createElementVNode("a",{class:"text-decoration-underline cursor-pointer text-label",href:"https://beian.miit.gov.cn/",target:"_blank"},"沪ICP备18039043号-6",-1))]))],4)}const vo=j(Cd,[["render",Dd]]),Ed={install(o){o.component("MapInitial",vo),o.component("MapboxGL",ko),o.component("TropicalGL",yo),o.component("LatLngGL",fo),o.component("DateTimePicker",Ae),o.component("DateRangePicker",bo),o.component("PortDetail",go),o.component("TimePlayer",wo)}};H.DateRangePicker=bo,H.DateTimePicker=Ae,H.LatLngGL=fo,H.MapInitial=vo,H.MapboxGL=ko,H.MapboxGLPlugin=Ed,H.MapboxStyleHelper=zo,H.ParticleSchema=ue,H.PortDetail=go,H.TimePlayer=wo,H.TropicalGL=yo,H.Viewport=uo,H.WebGL=_e,H.WebGLSchema=K,Object.defineProperty(H,Symbol.toStringTag,{value:"Module"})});