@idmwx/idmui-gl4 2.9.7 → 2.9.8

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.
@@ -217,7 +217,7 @@
217
217
  </svg>`,he=document.createElement("div");he.className="idm-tropical-gl4-hourly-marker",he.innerHTML=`<div class="${M.geometry.coordinates[1]>=0?"center north":"center south"}">${re}</div>`;const ge=new ne.Marker(he).setLngLat(M.geometry.coordinates).addTo(this.map);this.interpolateMarkers.push(ge)}this.$emit("tropicalCenterPoints",O)}else(P=this.map)!=null&&P.getSource(this.interpolateSource)&&((F=this.map)==null||F.getSource(this.interpolateSource).setData(this.empty))},handleClick(e){var i,l,n,c,s,m,d,h,u,y,g;const t=e.features[0],a=(l=(i=this.tropicals)==null?void 0:i.data)==null?void 0:l.features.filter(p=>{var f;return p.geometry.type==="LineString"&&p.properties.type==="forecast"&&p.properties.name===((f=t==null?void 0:t.properties)==null?void 0:f.name)}),r=(c=(n=this.tropicals)==null?void 0:n.data)==null?void 0:c.features.filter(p=>{var f;return p.geometry.type==="LineString"&&p.properties.type==="history"&&p.properties.name===((f=t==null?void 0:t.properties)==null?void 0:f.name)});this.activeTropicals={name:((s=t==null?void 0:t.properties)==null?void 0:s.name)||"-",nameCn:((m=t==null?void 0:t.properties)==null?void 0:m.nameCn)||((d=t==null?void 0:t.properties)==null?void 0:d.name)||"-",Name:((h=t==null?void 0:t.properties)==null?void 0:h.Name)||"-",forecasts:a.map(p=>p.properties),history:(u=r[0])==null?void 0:u.properties,showCircle:(g=(y=a[0])==null?void 0:y.properties)==null?void 0:g.showCircle},this.showTropicalsInfo=!0,this.simple||this.drawTropicalsInfoMaker([e.lngLat.lng,e.lngLat.lat])},drawTropicalsInfoMaker(e){this.$nextTick(()=>{const t=document.getElementById("idm-tropical-gl4-info");this.activeTropicalsMarker?this.activeTropicalsMarker.setLngLat(e).setOffset([220,0]):this.activeTropicalsMarker=new ne.Marker(t).setLngLat(e).setOffset([220,0]).addTo(this.map)})},handleCloseInfoMarker(){this.showTropicalsInfo=!1,this.$nextTick(()=>{var e;(e=this.activeTropicalsMarker)==null||e.remove(),this.activeTropicalsMarker=void 0})},handleForecastToggle(e){var r,i,l,n,c,s;e.disabled=!e.disabled;const t=`${e.name}-${e.model}`,a=(i=(r=this.map)==null?void 0:r.getSource(this.source)._data)==null?void 0:i.features;a.forEach(m=>{m.properties.category===t&&(m.properties.disabled=e.disabled)}),this.interpolateData.forEach(m=>{m.properties.category===t&&(m.properties.disabled=e.disabled)}),(n=(l=this.map)==null?void 0:l.getSource(this.source))==null||n.setData(V.featureCollection(a)),(s=(c=this.map)==null?void 0:c.getSource(this.clusterSource))==null||s.setData(V.featureCollection(a)),this.handleDateChange()},handleStrikeProbability(e){this.$emit("tropicalProbability",e)},handleToggleCircles(e){var t,a;e.showCircle=!e.showCircle,(a=(t=this.tropicals.data)==null?void 0:t.features)==null||a.forEach(r=>{r.properties.name===e.name&&(r.properties.showCircle=e.showCircle)}),this.handleRender()},handleComputePolygons(e){const t=[];for(const a of e){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 n={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},c=this.handleComputeArc(a.geometry.coordinates,n,{...a.properties,level:10});t.push(c)}return t},handleComputeArc(e,t,a){var l;const r=[];for(const n in t){const c=t[n]??0;let s;switch(n){case"ne":s=V.lineArc(e,c,0,90,{steps:c>0?32:1,units:"nauticalmiles"});break;case"se":s=V.lineArc(e,c,90,180,{steps:c>0?32:1,units:"nauticalmiles"});break;case"sw":s=V.lineArc(e,c,180,270,{steps:c>0?32:1,units:"nauticalmiles"});break;case"nw":s=V.lineArc(e,c,270,360,{steps:c>0?32:1,units:"nauticalmiles"});break}r.push(...(l=s==null?void 0:s.geometry)==null?void 0:l.coordinates)}const i=V.lineString(r);return V.lineToPolygon(i,{properties:a})},handleNotification(e){this.$emit("tropicalNotification",e)},handleHover(e){var i,l,n,c,s;this.map.getCanvas().style.cursor="pointer";const a=this.map.queryRenderedFeatures(e.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(m=>{var d;return m.geometry.type==="LineString"&&m.properties.type==="forecast"&&m.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=(c=(n=r==null?void 0:r[0])==null?void 0:n.properties)==null?void 0:c.date,(s=this.hoverMarker)==null||s.remove(),this.showHoverPoint=!0,this.$nextTick(()=>{const m=document.getElementById("tropicalHoverMarkerInfo").cloneNode(!0);this.hoverMarker=new ne.Marker(m).setLngLat(a.geometry.coordinates).setOffset([160,0]).addTo(this.map)}))},handleLeave(){var e;this.map.getCanvas().style.cursor="grab",this.showHoverPoint=!1,(e=this.hoverMarker)==null||e.remove(),this.hoverMarker=void 0}}},Lm={class:"idm-tropical-gl4"},zm={class:"pb-1"},Cm={class:"text-h5 font-weight-600"},vm={key:0,class:"text-h5 font-weight-600"},Sm={class:"text-body-1"},Nm={class:"text-label"},Pm={class:"d-flex justify-space-between align-center"},Mm={class:"w-60"},Vm={class:"text-label pr-1"},Tm={class:"flex-1-1-0"},Dm={class:"text-label pr-1"},Em={class:"py-2 d-flex justify-space-between align-center"},Rm={class:"w-60"},Bm={class:"text-label pr-1"},Im={class:"flex-1-1-0"},Am={class:"text-label pr-1"},Fm={class:"d-flex align-center flex-1-1-100 justify-space-between mt-n1"},Gm={class:"text-label pr-1",style:{width:"70px"}},Wm={class:"model-box d-flex justify-end align-center flex-wrap ga-1 pa-1"},Zm={class:"more"},Om={key:0,class:"w-100 d-flex justify-space-between align-center px-2"},jm={class:"pa-1"},Hm={class:"legend d-flex justify-start align-center py-2"},Xm={class:"label"},Ym={class:"legend d-flex justify-start align-center py-2"},Um={class:"label"},$m={class:"legend d-flex justify-start align-center py-2"},Jm={class:"label"},Km={class:"pa-1"},qm={class:"legend d-flex justify-start align-center py-2"},Qm={class:"label"},ed={class:"legend d-flex justify-start align-center py-2"},td={class:"label"},od={class:"legend d-flex justify-start align-center py-2"},ad={class:"label"},id={class:"pa-1"},rd={class:"w-100 legend d-flex justify-start align-center py-2 ga-2"},ld={class:"label"},nd={class:"label"},sd={class:"w-100 legend d-flex justify-start align-center py-2"},cd={class:"label"},md={class:"w-100 legend d-flex justify-start align-center py-2"},dd={class:"label"},hd={key:1,class:"my-3 w-100",style:{height:"80px"}},pd={class:"legend d-flex justify-start align-center"},gd={class:"label"},ud={class:"legend d-flex justify-start align-center"},fd={class:"label"},yd={class:"legend d-flex justify-start align-center"},bd={class:"label"},wd={class:"legend d-flex justify-start align-center"},xd={class:"label"},kd={class:"legend d-flex justify-start align-center"},_d={class:"label"},Ld={class:"legend d-flex justify-start align-center"},zd={class:"label"},Cd={class:"legend d-flex justify-start align-center"},vd={class:"label"},Sd={class:"legend d-flex justify-start align-center"},Nd={class:"label"},Pd={class:"legend d-flex justify-start align-center"},Md={class:"label"},Vd={class:"legend d-flex justify-start align-center"},Td={class:"label"},Dd={class:"d-flex justify-star align-center"},Ed={class:"font-weight-600 mr-1"},Rd={class:""},Bd={class:"port-box d-flex flex-column justify-center align-start ga-2"},Id={key:0,class:"d-flex justify-start align-center"},Ad={class:"text-label pr-1"},Fd={key:1,class:"d-flex justify-start align-center"},Gd={class:"text-label pr-1"},Wd={key:2,class:"d-flex justify-start align-center"},Zd={class:"text-label pr-1"},Od={key:3,class:"d-flex justify-start align-center"},jd={class:"text-label pr-1"},Hd={key:4,class:"d-flex justify-start align-center"},Xd={class:"text-label pr-1"},Yd={key:5,class:"d-flex justify-start align-center"},Ud={class:"text-label pr-1"},$d={class:"d-flex justify-start align-center"},Jd={class:"text-label pr-1"},Kd={key:6,class:"d-flex justify-start align-center"},qd={class:"text-label pr-1"},Qd={key:7,class:"d-flex justify-start align-center"},eh={class:"text-label pr-1"},th={class:"d-flex justify-start align-center"},oh={class:"text-label pr-1"};function ah(e,t,a,r,i,l){const n=o.resolveComponent("VBtn"),c=o.resolveComponent("VTooltip"),s=o.resolveComponent("VCardText"),m=o.resolveComponent("VDivider"),d=o.resolveComponent("VCardActions"),h=o.resolveComponent("VCard"),u=o.resolveComponent("v-card-title"),y=o.resolveComponent("v-divider");return o.openBlock(),o.createElementBlock("div",Lm,[o.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:o.normalizeStyle({top:a.top+a.paddingTop+86+"px",right:i.right+"px"})},[o.createVNode(c,{text:e.$t("tropical.tropicals"),location:"left",interactive:!0,"open-on-click":!1,"open-on-focus":!a.simple,"open-on-hover":!a.simple},{activator:o.withCtx(({props:g})=>[o.createVNode(n,o.mergeProps(g,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:o.withCtx(()=>t[2]||(t[2]=[o.createElementVNode("i",{class:"iconfont icon-Tropical text-h4"},null,-1)])),_:2,__:[2]},1040,["class","onClick"])]),_:1},8,["text","open-on-focus","open-on-hover"])],4),i.showTropicalsInfo&&!e.$attrs.hideTropicalsLegend?(o.openBlock(),o.createElementBlock("div",{key:0,ref:"tropicalsInfo",id:"idm-tropical-gl4-info",class:o.normalizeClass(["idm-tropical-gl4-info",a.simple?"page":"dialog"])},[o.createVNode(h,{class:o.normalizeClass(["w-100",a.simple?"rounded-t-4 bg-none":""]),elevation:a.simple?0:16},{default:o.withCtx(()=>[o.createVNode(s,null,{default:o.withCtx(()=>{var g,p,f,x,L,w,b,C,_,z,S,N;return[o.createElementVNode("div",zm,[o.createElementVNode("span",Cm,o.toDisplayString(a.locale==="en"?(g=i.activeTropicals)==null?void 0:g.Name:((p=i.activeTropicals)==null?void 0:p.nameCn)||((f=i.activeTropicals)==null?void 0:f.Name)||"-"),1),(L=(x=i.activeTropicals)==null?void 0:x.history)!=null&&L.levelI18n?(o.openBlock(),o.createElementBlock("span",vm," , "+o.toDisplayString(e.$t("tropical."+((b=(w=i.activeTropicals)==null?void 0:w.history)==null?void 0:b.levelI18n))),1)):o.createCommentVNode("",!0)]),o.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"close",onClick:o.withModifiers(l.handleCloseInfoMarker,["stop"])},{default:o.withCtx(()=>t[3]||(t[3]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[3]},8,["onClick"]),o.createElementVNode("div",Sm,[o.createElementVNode("span",Nm,o.toDisplayString(e.$t("actions.lastUpdate"))+": ",1),o.createElementVNode("span",null,o.toDisplayString(l.computeTime(((_=(C=i.activeTropicals)==null?void 0:C.history)==null?void 0:_.updated)||((N=(S=(z=i.activeTropicals)==null?void 0:z.forecasts)==null?void 0:S.filter(T=>!T.disabled)[0])==null?void 0:N.date),a.timeZone)),1)])]}),_:1}),o.createVNode(m),o.createVNode(s,{class:"text-body-1 py-3"},{default:o.withCtx(()=>{var g,p,f,x,L,w,b,C,_;return[o.createElementVNode("div",Pm,[o.createElementVNode("div",Mm,[o.createElementVNode("label",Vm,o.toDisplayString(e.$t("weather.windSpeed"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((p=(g=i.activeTropicals)==null?void 0:g.history)==null?void 0:p.kts)||"-")+" kts",1),o.createElementVNode("span",null,", BF "+o.toDisplayString(l.computeBF(((x=(f=i.activeTropicals)==null?void 0:f.history)==null?void 0:x.kts)||"-")),1)]),o.createElementVNode("div",Tm,[o.createElementVNode("label",Dm,o.toDisplayString(e.$t("weather.pressure"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((w=(L=i.activeTropicals)==null?void 0:L.history)==null?void 0:w.pressure)||"-")+" hPa",1)])]),o.createElementVNode("div",Em,[o.createElementVNode("div",Rm,[o.createElementVNode("label",Bm,o.toDisplayString(e.$t("tropical.moveSpeed"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((b=l.computeMovement(i.activeTropicals))==null?void 0:b.kts)||"-")+" kts",1)]),o.createElementVNode("div",Im,[o.createElementVNode("label",Am,o.toDisplayString(e.$t("tropical.moveDir"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((C=l.computeMovement(i.activeTropicals))==null?void 0:C.deg)||"-")+"°",1)])]),o.createElementVNode("div",Fm,[o.createElementVNode("label",Gm,o.toDisplayString(e.$t("tropical.models"))+" : ",1),o.createElementVNode("div",Wm,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList((_=i.activeTropicals)==null?void 0:_.forecasts,(z,S)=>(o.openBlock(),o.createBlock(n,{key:S,density:"compact",variant:z.disabled?"text":"flat",color:z.disabled?"":"primary","min-width":30,class:o.normalizeClass(["model text-none text-body-1 px-1",z.disabled?"btn-border-1 btn-bg-1":""]),onClick:o.withModifiers(N=>l.handleForecastToggle(z),["stop"])},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(z.model),1)]),_:2},1032,["variant","color","class","onClick"]))),128))])])]}),_:1}),o.createVNode(m),a.simple?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(d,{key:0,class:"d-flex justify-space-between"},{default:o.withCtx(()=>[o.createVNode(n,{density:"compact","prepend-icon":"",variant:"text",color:i.showLegend?"primary":"",class:"text-none text-body-1",onClick:t[0]||(t[0]=o.withModifiers(g=>i.showLegend=!i.showLegend,["stop"]))},{prepend:o.withCtx(()=>t[4]||(t[4]=[o.createElementVNode("i",{class:"iconfont icon-Legend text-h4"},null,-1)])),default:o.withCtx(()=>[o.createTextVNode(" "+o.toDisplayString(e.$t("weather.legend")),1)]),_:1},8,["color"]),o.createElementVNode("div",Zm,[o.createVNode(n,{variant:"text",density:"compact","append-icon":"mdi-chevron-right",class:"text-none text-body-1",onClick:t[1]||(t[1]=o.withModifiers(g=>l.handleStrikeProbability(i.activeTropicals),["stop"]))},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.viewReport")),1)]),_:1})])]),_:1}))]),_:1},8,["class","elevation"]),a.simple?(o.openBlock(),o.createElementBlock("div",Om,[o.createElementVNode("div",jm,[o.createElementVNode("div",Hm,[t[5]||(t[5]=o.createElementVNode("div",{class:"icon td"},null,-1)),o.createElementVNode("div",Xm,o.toDisplayString(e.$t("tropical.td")),1)]),o.createElementVNode("div",Ym,[t[6]||(t[6]=o.createElementVNode("div",{class:"icon sts"},null,-1)),o.createElementVNode("div",Um,o.toDisplayString(e.$t("tropical.sts")),1)]),o.createElementVNode("div",$m,[t[7]||(t[7]=o.createElementVNode("div",{class:"icon sty"},null,-1)),o.createElementVNode("div",Jm,o.toDisplayString(e.$t("tropical.sty")),1)])]),o.createElementVNode("div",Km,[o.createElementVNode("div",qm,[t[8]||(t[8]=o.createElementVNode("div",{class:"icon ts"},null,-1)),o.createElementVNode("div",Qm,o.toDisplayString(e.$t("tropical.ts")),1)]),o.createElementVNode("div",ed,[t[9]||(t[9]=o.createElementVNode("div",{class:"icon ty"},null,-1)),o.createElementVNode("div",td,o.toDisplayString(e.$t("tropical.ty")),1)]),o.createElementVNode("div",od,[t[10]||(t[10]=o.createElementVNode("div",{class:"icon supper-ty"},null,-1)),o.createElementVNode("div",ad,o.toDisplayString(e.$t("tropical.superTy")),1)])]),o.createElementVNode("div",id,[o.createElementVNode("div",rd,[t[11]||(t[11]=o.createElementVNode("div",{class:"icon history"},null,-1)),o.createElementVNode("div",ld,o.toDisplayString(e.$t("tropical.history")),1),t[12]||(t[12]=o.createElementVNode("div",{class:"icon forecast"},null,-1)),o.createElementVNode("div",nd,o.toDisplayString(e.$t("tropical.forecast")),1)]),o.createElementVNode("div",sd,[t[13]||(t[13]=o.createElementVNode("div",{class:"icon r7"},null,-1)),o.createElementVNode("div",cd,"35kts "+o.toDisplayString(e.$t("tropical.radii")),1)]),o.createElementVNode("div",md,[t[14]||(t[14]=o.createElementVNode("div",{class:"icon r10"},null,-1)),o.createElementVNode("div",dd,"50kts "+o.toDisplayString(e.$t("tropical.radii")),1)])])])):(o.openBlock(),o.createElementBlock("div",hd,[o.withDirectives(o.createVNode(h,{elevation:"16"},{default:o.withCtx(()=>[o.createVNode(s,null,{default:o.withCtx(()=>[o.withDirectives(o.createElementVNode("div",{class:o.normalizeClass(["pa-1 d-flex justify-space-between align-center flex-wrap",a.locale==="zhHans"?" ga-2":" ga-3"])},[o.createElementVNode("div",pd,[t[15]||(t[15]=o.createElementVNode("div",{class:"icon td"},null,-1)),o.createElementVNode("div",gd,o.toDisplayString(e.$t("tropical.td")),1)]),o.createElementVNode("div",ud,[t[16]||(t[16]=o.createElementVNode("div",{class:"icon ts"},null,-1)),o.createElementVNode("div",fd,o.toDisplayString(e.$t("tropical.ts")),1)]),o.createElementVNode("div",yd,[t[17]||(t[17]=o.createElementVNode("div",{class:"icon sts"},null,-1)),o.createElementVNode("div",bd,o.toDisplayString(e.$t("tropical.sts")),1)]),o.createElementVNode("div",wd,[t[18]||(t[18]=o.createElementVNode("div",{class:"icon ty"},null,-1)),o.createElementVNode("div",xd,o.toDisplayString(e.$t("tropical.ty")),1)]),o.createElementVNode("div",kd,[t[19]||(t[19]=o.createElementVNode("div",{class:"icon sty"},null,-1)),o.createElementVNode("div",_d,o.toDisplayString(e.$t("tropical.sty")),1)]),o.createElementVNode("div",Ld,[t[20]||(t[20]=o.createElementVNode("div",{class:"icon supper-ty"},null,-1)),o.createElementVNode("div",zd,o.toDisplayString(e.$t("tropical.superTy")),1)]),o.createElementVNode("div",Cd,[t[21]||(t[21]=o.createElementVNode("div",{class:"icon history"},null,-1)),o.createElementVNode("div",vd,o.toDisplayString(e.$t("tropical.history")),1)]),o.createElementVNode("div",Sd,[t[22]||(t[22]=o.createElementVNode("div",{class:"icon forecast"},null,-1)),o.createElementVNode("div",Nd,o.toDisplayString(e.$t("tropical.forecast")),1)]),o.createElementVNode("div",Pd,[t[23]||(t[23]=o.createElementVNode("div",{class:"icon r7"},null,-1)),o.createElementVNode("div",Md,"35kts "+o.toDisplayString(e.$t("tropical.radii")),1)]),o.createElementVNode("div",Vd,[t[24]||(t[24]=o.createElementVNode("div",{class:"icon r10"},null,-1)),o.createElementVNode("div",Td,"50kts "+o.toDisplayString(e.$t("tropical.radii")),1)])],2),[[o.vShow,i.showLegend]])]),_:1})]),_:1},512),[[o.vShow,i.showLegend]])]))],2)):o.createCommentVNode("",!0),o.withDirectives(o.createVNode(h,{id:"tropicalHoverMarkerInfo",elevation:"16","max-width":"280"},{default:o.withCtx(()=>[o.createVNode(u,null,{default:o.withCtx(()=>{var g,p,f,x;return[o.createElementVNode("div",Dd,[o.createElementVNode("span",Ed,o.toDisplayString(a.locale==="en"?(g=i.hoverPoint)==null?void 0:g.Name:((p=i.hoverPoint)==null?void 0:p.nameCn)||((f=i.hoverPoint)==null?void 0:f.Name)),1),o.createElementVNode("span",Rd," ["+o.toDisplayString(e.$t("tropical."+((x=i.hoverPoint)==null?void 0:x.levelI18n)))+"]",1)])]}),_:1}),o.createVNode(y),o.createVNode(s,{class:"text-body-1"},{default:o.withCtx(()=>{var g,p,f,x,L,w,b,C,_,z,S,N,T,R,G,H,Y,$,ae,P;return[o.createElementVNode("div",Bd,[((g=i.hoverPoint)==null?void 0:g.type)==="forecast"?(o.openBlock(),o.createElementBlock("div",Id,[o.createElementVNode("label",Ad,o.toDisplayString(e.$t("tropical.updated"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(l.computeTzTime((p=i.hoverPoint)==null?void 0:p.update,a.timeZone)),1)])):o.createCommentVNode("",!0),((f=i.hoverPoint)==null?void 0:f.type)==="forecast"?(o.openBlock(),o.createElementBlock("div",Fd,[o.createElementVNode("label",Gd,o.toDisplayString(e.$t("tropical.forecast"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(l.computeTzTime((x=i.hoverPoint)==null?void 0:x.date,a.timeZone)),1)])):o.createCommentVNode("",!0),((L=i.hoverPoint)==null?void 0:L.type)==="history"?(o.openBlock(),o.createElementBlock("div",Wd,[o.createElementVNode("label",Zd,o.toDisplayString(e.$t("tropical.forecast"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(l.computeTzTime((w=i.hoverPoint)==null?void 0:w.date,a.timeZone)),1)])):o.createCommentVNode("",!0),((b=i.hoverPoint)==null?void 0:b.type)==="forecast"?(o.openBlock(),o.createElementBlock("div",Od,[o.createElementVNode("label",jd,o.toDisplayString(e.$t("tropical.model"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((C=i.hoverPoint)==null?void 0:C.model)??"-"),1)])):o.createCommentVNode("",!0),((_=i.hoverPoint)==null?void 0:_.type)==="forecast"?(o.openBlock(),o.createElementBlock("div",Hd,[o.createElementVNode("label",Xd,o.toDisplayString(e.$t("weather.wind"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((S=JSON.parse((z=i.hoverPoint)==null?void 0:z.wind))==null?void 0:S.kts)??"-")+" kts",1)])):o.createCommentVNode("",!0),((N=i.hoverPoint)==null?void 0:N.type)==="history"?(o.openBlock(),o.createElementBlock("div",Yd,[o.createElementVNode("label",Ud,o.toDisplayString(e.$t("weather.wind"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((T=i.hoverPoint)==null?void 0:T.kts)??"-")+" kts",1)])):o.createCommentVNode("",!0),o.createElementVNode("div",$d,[o.createElementVNode("label",Jd,o.toDisplayString(e.$t("weather.pressure"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((R=i.hoverPoint)==null?void 0:R.pressure)??"-")+" hPa",1)]),((G=i.hoverPoint)==null?void 0:G.type)==="history"?(o.openBlock(),o.createElementBlock("div",Kd,[o.createElementVNode("label",qd,o.toDisplayString(e.$t("tropical.moveSpeed"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((Y=JSON.parse((H=i.hoverPoint)==null?void 0:H.movement))==null?void 0:Y.kts)??"-")+" kts",1)])):o.createCommentVNode("",!0),(($=i.hoverPoint)==null?void 0:$.type)==="history"?(o.openBlock(),o.createElementBlock("div",Qd,[o.createElementVNode("label",eh,o.toDisplayString(e.$t("tropical.moveDir"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((P=JSON.parse((ae=i.hoverPoint)==null?void 0:ae.movement))==null?void 0:P.deg)??"-")+" °",1)])):o.createCommentVNode("",!0),o.createElementVNode("div",th,[o.createElementVNode("label",oh,o.toDisplayString(e.$t("tropical.position"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(l.computePosition(i.hoverPoint)),1)])])]}),_:1})]),_:1},512),[[o.vShow,i.showHoverPoint]])])}const Ho=X(_m,[["render",ah]]),Vy="",ih={name:"DateTimePicker",props:{width:{type:Number,default:null},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(){const e=this.width||220;if(this.position==="top")return{bottom:"40px",left:`-${(420-e)/2}px`};if(this.position==="bottom")return{top:"40px",left:`-${(420-e)/2}px`};if(this.position==="left")return{bottom:"-140px",left:"-428px"};if(this.position==="right")return{bottom:"-140px",right:"-428px"}},hourOptions(){const e=[];for(let t=0;t<24;t++)e.push(t<10?`0${t}:00`:`${t}:00`);return e.filter((t,a)=>(a-this.timeZone)%this.intervalHour===0)},timeZoneNames(){return v.tz.names()},timeZoneName(){var e;return(e=this.timeZoneNames.filter(t=>v.tz(v(),t).utcOffset()===this.timeZone*60))==null?void 0:e[0]},utcTimeZoneName(){return"Africa/Abidjan"},localTimeZoneName(){return Intl.DateTimeFormat().resolvedOptions().timeZone||"Asia/Shanghai"}},watch:{timeZone:{handler(e,t){e!==t&&(this.handleResetDateTime(this.dateTime),this.handleResetMinMax())}},dateTime:{handler(e,t){e&&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(e,t){e!==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(e){var i;const t=v(e).utc().date(),a=Math.ceil(v(e).utc().hour()/this.intervalHour)*this.intervalHour;this.currentTimestamp=((i=v(e))==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,n,c,s;if(!this.dayAbout.h||!this.dayAbout.f)return;const e=v().utc().date(),t=Math.ceil(v().utc().hour()/this.intervalHour)*this.intervalHour,a=((i=v())==null?void 0:i.utc().set({date:e,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=((n=(l=v())==null?void 0:l.utc())==null?void 0:n.set({date:e+this.dayAbout.h,hour:0,minute:0,second:0,millisecond:0}).unix())*1e3,this.maxTimestamp=((s=(c=v())==null?void 0:c.utc())==null?void 0:s.set({date:e+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)},handleUpdateMonth(e){const t=e||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 e=v(this.currentDate).format("yyyy-MM-DD"),t=this.currentTime,a=`${e} ${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 e=v.tz(this.currentTimestamp,this.timeZoneName).clone();this.currentDate=e.clone().format("YYYY-MM-DD"),this.currentTime=e.clone().format("HH:00")},handleClickOutside(e){const t=this.$refs.idmGl4Timepicker;t&&!t.contains(e.target)&&(this.showDatePicker=!1)}}},rh={class:"idm-gl4-time-picker",ref:"idmGl4Timepicker"},lh={class:"pa-0",style:{width:"320px"}},nh={class:"h-100 pa-0 d-flex flex-column justify-start align-center",style:{width:"100px"}},sh={class:"d-flex justify-center align-center text-body-2",style:{height:"44px"}};function ch(e,t,a,r,i,l){const n=o.resolveComponent("VDatePicker"),c=o.resolveComponent("VDivider"),s=o.resolveComponent("VListItemTitle"),m=o.resolveComponent("VListItem"),d=o.resolveComponent("VList"),h=o.resolveComponent("VCardText"),u=o.resolveComponent("VBtn"),y=o.resolveComponent("VCardActions"),g=o.resolveComponent("VCard");return o.openBlock(),o.createElementBlock("div",rh,[o.createElementVNode("div",{style:o.normalizeStyle({height:a.height+"px",width:a.width?a.width+"px":"auto"}),class:o.normalizeClass([[a.bgClass,{"cursor-pointer":!a.disabled}],"rounded text-body-1 btn-border-1 btn-bg-1 d-flex align-center justify-center px-2"]),onClick:t[0]||(t[0]=(...p)=>l.handleOpenDatePicker&&l.handleOpenDatePicker(...p))},o.toDisplayString(i.currentDateTime)+" | UTC "+o.toDisplayString(a.timeZone<0?a.timeZone:"+"+a.timeZone),7),i.showDatePicker?(o.openBlock(),o.createBlock(g,{key:0,class:"card-box d-flex flex-column border elevation-12",style:o.normalizeStyle(l.getStyle)},{default:o.withCtx(()=>[o.createVNode(h,{class:"w-100 flex-1-1-0 d-flex pa-0 text-body-1"},{default:o.withCtx(()=>[o.createElementVNode("div",lh,[o.createVNode(n,{modelValue:i.currentDate,"onUpdate:modelValue":t[1]||(t[1]=p=>i.currentDate=p),min:i.minDate,max:i.maxDate,"weekday-format":"narrow",color:"primary",density:"compact",class:"w-100","hide-header":""},null,8,["modelValue","min","max"])]),o.createVNode(c,{class:"h-100",vertical:""}),o.createElementVNode("div",nh,[o.createElementVNode("div",sh,o.toDisplayString(e.$t("time.time")),1),o.createVNode(d,{class:"pa-0 flex-1-1-0 scroll"},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(l.hourOptions,(p,f)=>(o.openBlock(),o.createBlock(m,{key:f,value:p,color:"primary",active:i.currentTime===p,rounded:"",height:"26","min-height":"26",class:"rounded-xl",variant:i.currentTime===p?"flat":"text"},{default:o.withCtx(()=>[o.createVNode(s,{class:"text-body-2 font-weight-600 text-center",onClick:x=>i.currentTime=p},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(p),1)]),_:2},1032,["onClick"])]),_:2},1032,["value","active","variant"]))),128))]),_:1})])]),_:1}),o.createVNode(c),o.createVNode(y,{class:"w-100 d-flex justify-end align-center px-4 ga-4",style:{height:"50px"}},{default:o.withCtx(()=>[o.createVNode(u,{size:"small",variant:"tonal",class:"text-none text-body-1 px-4",onClick:l.handleCancelDate},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.cancel")),1)]),_:1},8,["onClick"]),o.createVNode(u,{size:"small",variant:"flat",color:"primary",class:"text-none text-body-1 px-4",onClick:l.handleConfirmDate},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.confirm")),1)]),_:1},8,["onClick"])]),_:1})]),_:1},8,["style"])):o.createCommentVNode("",!0)],512)}const qe=X(ih,[["render",ch]]),Ty="",mh={name:"IdmPoint",components:{DateTimePicker:qe},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:[e=>e!=null&&e!==""||"required",e=>/^\d{1,3}$/.test(e)||"number",e=>parseInt(e)>=0&&parseInt(e)<=180||"0 ~ 180"],lngMinute:[e=>e===void 0||e===null&&e===""||/^\d{1,2}(\.\d+)?$/.test(e)||"number",e=>e===void 0||e===null&&e===""||parseInt(e)>=0&&parseInt(e)<=59||"0 ~ 59"],latDegree:[e=>e!=null&&e!==""||"required",e=>/^\d{1,2}$/.test(e)||"number",e=>parseInt(e)>=0&&parseInt(e)<=90||"0 ~ 90"],latMinute:[e=>e===void 0||e===null&&e===""||/^\d{1,2}(\.\d+)?$/.test(e)||"number",e=>e===void 0||e===null&&e===""||parseInt(e)>=0&&parseInt(e)<=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 e;return(e=this.timeZoneNames.filter(t=>v.tz(v(),t).utcOffset()===this.timeZone*60))==null?void 0:e[0]},computedTzTime(){return e=>v.tz(v(e),this.timeZoneName).clone().format("YYYY-MM-DD HHmm")+" (UTC "+(this.timeZone>=0?"+":"")+this.timeZone+")"},computedLocalTime(){return e=>{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(n=>v.tz(v(),n).utcOffset()===t*60))==null?void 0:l[0];return e?v.tz(v(e),a).clone().format("YYYY-MM-DD HHmm")+" (UTC "+(t>=0?"+":"")+t+")":"-"}},computePosition(){return function(e){return!e||e.lng===null||e.lng===void 0||isNaN(e.lng)||e.lat===null||e.lat===void 0||isNaN(e.lat)?"-":D.LngLatHelper.lat2pretty(e==null?void 0:e.lat,2).pretty+" / "+D.LngLatHelper.lng2pretty(e==null?void 0:e.lng,2).pretty}},computeRoundPrecision(){return function(e,t=4){return e==null||isNaN(e)||isNaN(t)?"-":D.LngLatHelper.roundPrecision(e,t)}}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var e;this.simple||(this.right=(((e=document.getElementsByClassName("right-bar")[0])==null?void 0:e.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 e;(e=this.$refs.spotForm)==null||e.resetValidation()}):this.handleCloseForm()}},showMeteo:{handler(){var e,t,a,r,i,l;this.showMeteo?((a=(t=(e=this.$parent)==null?void 0:e.$refs)==null?void 0:t.idmBottomBar)==null||a.handleToggle("spot",!0),this.simple&&this.$nextTick(()=>{var n,c;this.$parent.playerBottom=((c=(n=this.$refs.spotMeteo)==null?void 0:n.$el)==null?void 0:c.clientHeight)+10})):((l=(i=(r=this.$parent)==null?void 0:r.$refs)==null?void 0:i.idmBottomBar)==null||l.handleToggle("spot",!1),this.simple&&(this.$parent.playerBottom=30))}},realTime:{handler(){this.realTime&&(this.form.dateTime=this.realTime,this.showMeteo&&this.fetchData())}},forecastModel:{handler(){this.form.forecastModel=this.forecastModel},immediate:!0},"form.forecastModel":{handler(e,t){!e&&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 e=>{e!=null&&e.valid&&this.fetchData()})},cancelForm(){var e;(e=this.$refs.spotForm)==null||e.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;if(isNaN(this.form.latDegree)||isNaN(this.form.latMinute)||isNaN(this.form.lngDegree)||isNaN(this.form.lngMinute))return!1;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 e=v();((a=v(this.realTime))==null?void 0:a.diff(e,"d",!0))>=0?await this.fetchForecastData(this.form):await this.fetchHistoryData(this.form)},async fetchForecastData(e){this.loading=!0,this.showMeteo=!0,this.form.lng=e.lng,this.form.lat=e.lat,this.form.followId=e.followId,this.handleDrawInfoMarker([e.lng,e.lat]),this.meteoData=[];const{weatherModels:t,marineModels:a}=Ae.Meteo2Assist.autoPickMeteoModel(e.forecastModel);let r={lat:e.lat,lng:e.lng,datetime:v(e.dateTime).utc().format(),forecastDays:e.day??3,weatherModels:t,marineModels:a};await le.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=e.lng,this.meteoData.lat=e.lat,this.initTableData(this.meteoData),this.loading=!1):this.loading=!1}).catch(()=>{this.loading=!1})},async fetchHistoryData(e){this.loading=!0,this.showMeteo=!0,this.form.lng=e.lng,this.form.lat=e.lat,this.form.followId=e.followId,this.handleDrawInfoMarker([e.lng,e.lat]),this.meteoData=[];const{weatherModels:t,marineModels:a}=Ae.Meteo2Assist.autoPickMeteoModel(e.forecastModel),r={lat:e.lat,lng:e.lng,datetime:v(e.dateTime).utc().format(),forecastDays:2,pastDays:1,weatherModels:t,marineModels:a};await le.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=e.lng,this.meteoData.lat=e.lat,this.initTableData(this.meteoData),this.loading=!1):this.loading=!1}).catch(()=>{this.loading=!1}),this.loading=!1},initTableData(e){var a,r,i,l,n,c,s,m,d,h,u,y,g,p,f,x,L,w,b,C,_,z,S,N,T,R,G,H,Y,$,ae,P,F,W,U,I,B,O,M,q,re;this.currentHourData={},this.positionGmt=(r=(a=e==null?void 0:e.weather)==null?void 0:a[0])==null?void 0:r.timezone,this.positionOffset=(l=(i=e==null?void 0:e.weather)==null?void 0:i[0])==null?void 0:l.offset;const t=((n=Ae.Meteo2Assist.pickHourly(e,v(this.form.dateTime)))==null?void 0:n[0])||{};this.currentHourData.utc=t.utc,this.currentHourData.lat=e.lat,this.currentHourData.lng=e.lng,this.currentHourData.temp=this.computeRoundPrecision((c=t==null?void 0:t.weather)==null?void 0:c.temp,0)??"-",this.currentHourData.precipProbability=this.computeRoundPrecision((m=(s=t==null?void 0:t.weather)==null?void 0:s.precip)==null?void 0:m.probability,0)??"-",this.currentHourData.precip1h=this.computeRoundPrecision((h=(d=t==null?void 0:t.weather)==null?void 0:d.precip)==null?void 0:h.sum,0)??"-",this.currentHourData.visibility=this.computeRoundPrecision((u=t==null?void 0:t.weather)==null?void 0:u.visibility,0)??"-",this.currentHourData.windSpeed=this.computeRoundPrecision((g=(y=t==null?void 0:t.weather)==null?void 0:y.wind)==null?void 0:g.kts,1)??"-",this.currentHourData.windDir=((f=(p=t==null?void 0:t.weather)==null?void 0:p.wind)==null?void 0:f.direction)??"-",this.currentHourData.windLevel=this.computeRoundPrecision((L=(x=t==null?void 0:t.weather)==null?void 0:x.wind)==null?void 0:L.scale,0)??"-",this.currentHourData.windGust=this.computeRoundPrecision((b=(w=t==null?void 0:t.weather)==null?void 0:w.wind)==null?void 0:b.gusts,1)??"-",this.currentHourData.sigwaveHeight=this.computeRoundPrecision((_=(C=t==null?void 0:t.wave)==null?void 0:C.sig)==null?void 0:_.height,1)??"-",this.currentHourData.sigwaveDir=(S=(z=t==null?void 0:t.wave)==null?void 0:z.sig)==null?void 0:S.direction,this.currentHourData.sigwavePeriod=this.computeRoundPrecision((T=(N=t==null?void 0:t.wave)==null?void 0:N.sig)==null?void 0:T.period,1)??"-",this.currentHourData.windwaveHeight=this.computeRoundPrecision((G=(R=t==null?void 0:t.wave)==null?void 0:R.wd)==null?void 0:G.height,1)??"-",this.currentHourData.windwaveDir=(Y=(H=t==null?void 0:t.wave)==null?void 0:H.wd)==null?void 0:Y.direction,this.currentHourData.windwavePeriod=this.computeRoundPrecision((ae=($=t==null?void 0:t.wave)==null?void 0:$.wd)==null?void 0:ae.period,1)??"-",this.currentHourData.swellHeight=this.computeRoundPrecision((F=(P=t==null?void 0:t.wave)==null?void 0:P.swell)==null?void 0:F.height,1)??"-",this.currentHourData.swellDir=(U=(W=t==null?void 0:t.wave)==null?void 0:W.swell)==null?void 0:U.direction,this.currentHourData.swellPeriod=this.computeRoundPrecision((B=(I=t==null?void 0:t.wave)==null?void 0:I.swell)==null?void 0:B.period,1)??"-",this.currentHourData.currentSpeed=this.computeRoundPrecision((O=t==null?void 0:t.current)==null?void 0:O.speed,1)??"-",this.currentHourData.currentDir=(M=t==null?void 0:t.current)==null?void 0:M.direction,this.currentHourData.currentSpeed=this.computeRoundPrecision((q=t==null?void 0:t.current)==null?void 0:q.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=(re=t==null?void 0:t.weather)==null?void 0:re.url},handleBind(){var e,t;this.toggle?((e=this.map)==null||e.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(e){if(e.originalEvent.stopPropagation(),e.originalEvent.target.className==="mapboxgl-canvas")this.handleGetPosition(e.lngLat),this.$nextTick(()=>{this.fetchData()});else return!1},handleGetPosition(e){if(isNaN(e.lat)||isNaN(e.lng))return!1;this.form.latDegree=Number(D.LngLatHelper.lat2pretty(e.lat).degree),this.form.latMinute=Number(D.LngLatHelper.lat2pretty(e.lat).minute),this.form.latDirection=D.LngLatHelper.lat2pretty(e.lat).direction,this.form.lngDegree=Number(D.LngLatHelper.lng2pretty(e.lng).degree),this.form.lngMinute=Number(D.LngLatHelper.lng2pretty(e.lng).minute),this.form.lngDirection=D.LngLatHelper.lng2pretty(e.lng).direction},handleDrawInfoMarker(e){this.drawPositionMarker(e),this.simple||this.drawMeteoInfoMarker(e)},drawPositionMarker(e){e&&(this.map.flyTo({center:e,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 ne.Marker(t).setLngLat(e).setOffset([0,-15]).addTo(this.map)}))},drawMeteoInfoMarker(e){this.$nextTick(()=>{var a;const t=document.getElementById("idm-gl4-spot-meteo");this.meteoInfoMarker?(a=this.meteoInfoMarker)==null||a.setLngLat(e):this.meteoInfoMarker=new ne.Marker(t).setLngLat(e).setOffset([0,-190]).addTo(this.map)})},handleMeteoMore(){this.form.forecastModel=this.forecastModel,this.$emit("meteoMore",this.form)},handleCloseMeteo(){this.showMeteo=!1,this.$nextTick(()=>{var e,t;(e=this.positionMarker)==null||e.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 e=((t=this.form)==null?void 0:t.followId)||((r=(a=this.followList)==null?void 0:a.find(i=>{var l,n;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&&((n=i==null?void 0:i.coordinate)==null?void 0:n.lat)===this.form.lat}))==null?void 0:r.id);this.$emit("cancelFollow",e)}}},dh={class:"idm-gl4-spot"},hh={class:"d-flex justify-start align-center"},ph={class:"text-h6 font-weight-600"},gh={class:"d-flex justify-start align-center ga-1 mb-2"},uh={class:"text-label"},fh={class:"d-flex justify-start align-center ga-1 mb-2"},yh={class:"text-label"},bh={class:"d-flex justify-start align-center ga-1 mb-2"},wh={class:"text-label"},xh={class:"d-flex justify-start align-center ga-1 mb-2"},kh={class:"text-label"},_h={class:"d-flex justify-start align-center"},Lh={class:"mx-2"},zh={class:"mx-0 py-2 d-flex align-center justify-start"},Ch={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},vh={class:"pa-0 px-0"},Sh={class:"mx-0 py-2 d-flex align-center justify-start"},Nh={cols:"9",class:"pa-0 px-0"},Ph={class:"mx-0 py-2 d-flex align-center justify-start"},Mh={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},Vh={style:{width:"150px"},class:"pa-0 text-left"},Th={style:{width:"80px"},class:"pa-0 pr-2 text-right opacity-50"},Dh={cols:"3",class:"pa-0 px-0 text-left"},Eh={class:"mx-0 py-2 d-flex align-center justify-start"},Rh={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},Bh={style:{width:"150px"},class:"pa-0 text-left"},Ih={style:{width:"80px"},class:"pa-0 pr-2 text-right opacity-50"},Ah={cols:"3",class:"pa-0 text-left"},Fh={class:"mx-0 py-2 d-flex align-center justify-start"},Gh={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},Wh={style:{width:"150px"},class:"pa-0 text-left"},Zh={style:{width:"80px"},class:"pa-0 pr-2 text-right opacity-50"},Oh={class:"pa-0 text-left"},jh={class:"d-flex justify-space-between align-center"},Hh={class:"d-flex justify-start align-center"},Xh={class:"mx-1"},Yh={class:"d-flex justify-end align-center"},Uh={class:"mx-0 py-1 d-flex align-center justify-start"},$h={style:{width:"60px"},class:"pa-0 pr-2 text-right opacity-50"},Jh={class:"pa-0 px-0"},Kh={class:"mx-0 py-1 d-flex align-center justify-start"},qh={class:"pa-0 px-0"},Qh={class:"gray-bg-2 mx-4 my-2 py-3 px-2 rounded text-font-13 d-flex align-center justify-space-between"},ep={class:"d-flex flex-column align-start justify-center ga-3"},tp={class:"text-label pr-2"},op={class:"text-label pr-2"},ap={class:"text-label pr-2"},ip={class:"d-flex flex-column align-start justify-center ga-3"},rp={class:"text-label pr-2"},lp={class:"text-label pr-2"},np={class:"text-label pr-2"},sp={id:"idm-position-icon"},cp={class:"multi-color-icon",style:{height:"30px",width:"30px"},"aria-hidden":"true"},mp=["xlink:href"];function dp(e,t,a,r,i,l){const n=o.resolveComponent("VBtn"),c=o.resolveComponent("VTooltip"),s=o.resolveComponent("VCardTitle"),m=o.resolveComponent("VDivider"),d=o.resolveComponent("VTextField"),h=o.resolveComponent("VCol"),u=o.resolveComponent("VRow"),y=o.resolveComponent("DateTimePicker"),g=o.resolveComponent("VBtnToggle"),p=o.resolveComponent("VCardText"),f=o.resolveComponent("VCardActions"),x=o.resolveComponent("VForm"),L=o.resolveComponent("VCard");return o.openBlock(),o.createElementBlock("div",dh,[o.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:o.normalizeStyle({top:a.top+a.paddingTop+126+"px",right:i.right+"px"})},[o.createVNode(c,{text:e.$t("spot.spotsMeteo"),location:"left",interactive:!0,"open-on-click":!1,"open-on-focus":!a.simple,"open-on-hover":!a.simple},{activator:o.withCtx(({props:w})=>[o.createVNode(n,o.mergeProps(w,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:o.withCtx(()=>t[8]||(t[8]=[o.createElementVNode("i",{class:"iconfont icon-a-Spotweather text-h4"},null,-1)])),_:2,__:[8]},1040,["class","onClick"])]),_:1},8,["text","open-on-focus","open-on-hover"])],4),i.showForm&&!a.simple?(o.openBlock(),o.createBlock(L,{key:0,class:"spot-form-card",style:o.normalizeStyle({top:a.top+a.paddingTop+126+"px",right:i.right+50+"px"})},{default:o.withCtx(()=>[o.createVNode(s,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>[o.createElementVNode("div",hh,[o.createElementVNode("div",ph,o.toDisplayString(e.$t("spot.spotWeather")),1)]),o.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:l.handleCloseForm},{default:o.withCtx(()=>t[9]||(t[9]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[9]},8,["onClick"])]),_:1}),o.createVNode(m),o.createVNode(x,{ref:"spotForm",autocomplete:"off",class:"form-box",onSubmit:o.withModifiers(l.submitForm,["prevent"])},{default:o.withCtx(()=>[o.createVNode(p,{class:"text-body-1 pa-4"},{default:o.withCtx(()=>[o.createElementVNode("div",gh,[o.createElementVNode("div",uh,[o.createTextVNode(o.toDisplayString(e.$t("spot.lat")),1),t[10]||(t[10]=o.createElementVNode("span",{class:"text-danger"},"*",-1))])]),o.createVNode(u,{class:"ma-0"},{default:o.withCtx(()=>[o.createVNode(h,{cols:"4",class:"pa-0 d-flex"},{default:o.withCtx(()=>[o.createVNode(d,{modelValue:i.form.latDegree,"onUpdate:modelValue":t[0]||(t[0]=w=>i.form.latDegree=w),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[11]||(t[11]=o.createElementVNode("span",{class:"px-1"},"°",-1))]),_:1,__:[11]}),o.createVNode(h,{cols:"6",class:"pa-0 d-flex"},{default:o.withCtx(()=>[o.createVNode(d,{modelValue:i.form.latMinute,"onUpdate:modelValue":t[1]||(t[1]=w=>i.form.latMinute=w),rules:i.formRules.latMinute,label:"",density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),t[12]||(t[12]=o.createElementVNode("span",{class:"px-1"},"'",-1))]),_:1,__:[12]}),o.createVNode(h,{cols:"2",class:"pa-0"},{default:o.withCtx(()=>[o.createVNode(n,{variant:"outlined",density:"compact",width:"32","min-width":"32",height:"32",class:"text-body-1 bg-primary",style:{border:"1px solid rgba(var(--v-theme-on-surface), 0.38)"},onClick:t[2]||(t[2]=w=>i.form.latDirection=i.form.latDirection==="N"?"S":"N")},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(i.form.latDirection),1)]),_:1})]),_:1})]),_:1}),o.createElementVNode("div",fh,[o.createElementVNode("div",yh,[o.createTextVNode(o.toDisplayString(e.$t("spot.lng")),1),t[13]||(t[13]=o.createElementVNode("span",{class:"text-danger"},"*",-1))])]),o.createVNode(u,{class:"ma-0"},{default:o.withCtx(()=>[o.createVNode(h,{cols:"4",class:"pa-0 d-flex"},{default:o.withCtx(()=>[o.createVNode(d,{modelValue:i.form.lngDegree,"onUpdate:modelValue":t[3]||(t[3]=w=>i.form.lngDegree=w),rules:i.formRules.lngDegree,density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),t[14]||(t[14]=o.createElementVNode("span",{class:"px-1"},"°",-1))]),_:1,__:[14]}),o.createVNode(h,{cols:"6",class:"pa-0 d-flex"},{default:o.withCtx(()=>[o.createVNode(d,{modelValue:i.form.lngMinute,"onUpdate:modelValue":t[4]||(t[4]=w=>i.form.lngMinute=w),rules:i.formRules.lngMinute,label:"",density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),t[15]||(t[15]=o.createElementVNode("span",{class:"px-1"},"'",-1))]),_:1,__:[15]}),o.createVNode(h,{cols:"2",class:"pa-0"},{default:o.withCtx(()=>[o.createVNode(n,{variant:"outlined",density:"compact",width:"32","min-width":"32",height:"32",class:"text-body-1 bg-primary",style:{border:"1px solid rgba(var(--v-theme-on-surface), 0.38)"},onClick:t[5]||(t[5]=w=>i.form.lngDirection=i.form.lngDirection==="E"?"W":"E")},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(i.form.lngDirection),1)]),_:1})]),_:1})]),_:1}),o.createElementVNode("div",bh,[o.createElementVNode("div",wh,[o.createTextVNode(o.toDisplayString(e.$t("spot.dateTime")),1),t[16]||(t[16]=o.createElementVNode("span",{class:"text-danger"},"*",-1))])]),o.createVNode(u,{class:"ma-0 mb-4"},{default:o.withCtx(()=>[o.createVNode(h,{cols:"12",class:"pa-0"},{default:o.withCtx(()=>[o.createVNode(y,o.mergeProps({"date-time":i.form.dateTime,"time-zone":a.timeZone},e.$attrs,{onDateTime:t[6]||(t[6]=w=>i.form.dateTime=w)}),null,16,["date-time","time-zone"])]),_:1})]),_:1}),o.createElementVNode("div",xh,[o.createElementVNode("div",kh,[o.createTextVNode(o.toDisplayString(e.$t("weather.forecastModel")),1),t[17]||(t[17]=o.createElementVNode("span",{class:"text-danger"},"*",-1))])]),o.createVNode(u,{class:"ma-0 mb-2"},{default:o.withCtx(()=>[o.createVNode(h,{cols:"12",class:"pa-0"},{default:o.withCtx(()=>[o.createVNode(g,{modelValue:i.form.forecastModel,"onUpdate:modelValue":t[7]||(t[7]=w=>i.form.forecastModel=w),class:"w-100",rounded:"",height:"30",density:"compact",group:""},{default:o.withCtx(()=>[o.createVNode(n,{density:"compact",height:"30",value:"GFS",class:o.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:o.withCtx(()=>t[18]||(t[18]=[o.createTextVNode("NOAA",-1)])),_:1,__:[18]},8,["class","color"]),o.createVNode(n,{density:"compact",height:"30",class:o.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:o.withCtx(()=>t[19]||(t[19]=[o.createTextVNode("ECMWF",-1)])),_:1,__:[19]},8,["class","color"])]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o.createVNode(m),o.createVNode(f,{class:"d-flex justify-end align-center ga-4 pa-4"},{default:o.withCtx(()=>[o.createVNode(n,{size:"small",variant:"tonal",class:"text-none text-body-1 btn-bg-1",onClick:l.cancelForm},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.clear")),1)]),_:1},8,["onClick"]),o.createVNode(n,{ref:"submitSpot",loading:i.loading,size:"small",variant:"flat",color:"primary",type:"submit",class:"text-none text-body-1"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.confirm")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["onSubmit"])]),_:1},8,["style"])):o.createCommentVNode("",!0),i.showMeteo&&!a.simple?(o.openBlock(),o.createBlock(L,{key:1,id:"idm-gl4-spot-meteo",class:"spot-meteo",style:{width:"490px","z-index":"9"}},{default:o.withCtx(()=>[o.createVNode(s,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>[o.createElementVNode("div",_h,[t[20]||(t[20]=o.createElementVNode("i",{class:"iconfont icon-a-Spotweather text-h5 map-icon-aqua"},null,-1)),o.createElementVNode("div",Lh,o.toDisplayString(l.computePosition(i.form||i.currentHourData)),1)]),o.createVNode(n,{class:"mr-n2",density:"comfortable",icon:"",variant:"plain",onClick:o.withModifiers(l.handleCloseMeteo,["stop"])},{default:o.withCtx(()=>t[21]||(t[21]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[21]},8,["onClick"])]),_:1}),o.createVNode(m),o.createVNode(p,{class:"text-body-1 px-0 py-1"},{default:o.withCtx(()=>{var w,b;return[o.createElementVNode("div",zh,[o.createElementVNode("div",Ch,o.toDisplayString(e.$t("time.time")),1),o.createElementVNode("div",vh,o.toDisplayString(l.computedTzTime((w=i.currentHourData)==null?void 0:w.utc)),1)]),o.createElementVNode("div",Sh,[t[22]||(t[22]=o.createElementVNode("div",{style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},"LT",-1)),o.createElementVNode("div",Nh,o.toDisplayString(l.computedLocalTime((b=i.currentHourData)==null?void 0:b.utc)),1)]),o.createElementVNode("div",Ph,[o.createElementVNode("div",Mh,o.toDisplayString(e.$t("weather.wind")),1),o.createElementVNode("div",Vh,o.toDisplayString(i.currentHourData.windDir??"-")+"/"+o.toDisplayString(i.currentHourData.windSpeed??"-")+"kts/BF"+o.toDisplayString(i.currentHourData.windLevel??"-"),1),o.createElementVNode("div",Th,o.toDisplayString(e.$t("weather.sigWave")),1),o.createElementVNode("div",Dh,o.toDisplayString(i.currentHourData.sigwaveDir??"-")+"/"+o.toDisplayString(i.currentHourData.sigwaveHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.sigwavePeriod??"-")+"s",1)]),o.createElementVNode("div",Eh,[o.createElementVNode("div",Rh,o.toDisplayString(e.$t("weather.windWave")),1),o.createElementVNode("div",Bh,o.toDisplayString(i.currentHourData.windwaveDir??"-")+"/"+o.toDisplayString(i.currentHourData.windwaveHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.windwavePeriod??"-")+"s",1),o.createElementVNode("div",Ih,o.toDisplayString(e.$t("weather.swell")),1),o.createElementVNode("div",Ah,o.toDisplayString(i.currentHourData.swellDir??"-")+"/"+o.toDisplayString(i.currentHourData.swellHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.swellPeriod??"-")+"s",1)]),o.createElementVNode("div",Fh,[o.createElementVNode("div",Gh,o.toDisplayString(e.$t("weather.current")),1),o.createElementVNode("div",Wh,o.toDisplayString(i.currentHourData.currentDir??"-")+"/"+o.toDisplayString(i.currentHourData.currentSpeed??"-")+"kts",1),o.createElementVNode("div",Zh,o.toDisplayString(e.$t("weather.visibility")),1),o.createElementVNode("div",Oh,o.toDisplayString(i.currentHourData.visibility??"-")+" nm",1)])]}),_:1}),o.createVNode(m),o.createVNode(f,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>{var w;return[(w=a.followList)!=null&&w.some(b=>{var C,_;return(b==null?void 0:b.id)===i.form.followId||((C=b==null?void 0:b.coordinate)==null?void 0:C.lng)===i.form.lng&&((_=b==null?void 0:b.coordinate)==null?void 0:_.lat)===i.form.lat})?(o.openBlock(),o.createBlock(n,{key:0,class:"text-none text-body-1",id:"idm-gl4-spot-meteo-follow",variant:"text",density:"compact",height:"32",onClick:o.withModifiers(l.handleCancelFollow,["stop"])},{prepend:o.withCtx(()=>t[23]||(t[23]=[o.createElementVNode("i",{class:"iconfont icon-yishoucang text-h6 text-warning"},null,-1)])),default:o.withCtx(()=>[o.createTextVNode(" "+o.toDisplayString(e.$t("actions.unfollow")),1)]),_:1},8,["onClick"])):(o.openBlock(),o.createBlock(n,{key:1,id:"idm-gl4-spot-meteo-unfollow",class:"text-none text-body-1",variant:"text",density:"compact",height:"32",onClick:o.withModifiers(l.handleFollow,["stop"])},{prepend:o.withCtx(()=>t[24]||(t[24]=[o.createElementVNode("i",{class:"iconfont icon-weishoucang text-h6"},null,-1)])),default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.follow"))+" ",1)]),_:1},8,["onClick"])),o.createVNode(n,{height:"32",variant:"text",density:"compact","append-icon":"mdi-chevron-right",class:"text-none text-body-1",onClick:o.withModifiers(l.handleMeteoMore,["stop"])},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("spot.forecast")),1)]),_:1},8,["onClick"])]}),_:1})]),_:1})):o.createCommentVNode("",!0),i.showMeteo&&a.simple?(o.openBlock(),o.createBlock(L,{key:2,ref:"spotMeteo",class:"position-absolute bottom-0 rounded-t-4",style:{width:"100vw","z-index":"1001"}},{default:o.withCtx(()=>[o.createVNode(s,null,{default:o.withCtx(()=>{var w;return[o.createElementVNode("div",jh,[o.createElementVNode("div",Hh,[t[25]||(t[25]=o.createElementVNode("i",{class:"iconfont icon-a-Spotweather text-h5 map-icon-aqua"},null,-1)),o.createElementVNode("div",Xh,o.toDisplayString(l.computePosition(i.form||i.currentHourData)),1)]),o.createElementVNode("div",Yh,[(w=a.followList)!=null&&w.some(b=>{var C,_;return(b==null?void 0:b.id)===i.form.followId||((C=b==null?void 0:b.coordinate)==null?void 0:C.lng)===i.form.lng&&((_=b==null?void 0:b.coordinate)==null?void 0:_.lat)===i.form.lat})?(o.openBlock(),o.createBlock(n,{key:0,class:"text-none text-body-1 rounded-circle",variant:"text",density:"compact",height:"32",width:"28","min-width":"28",onClick:o.withModifiers(l.handleCancelFollow,["stop"])},{default:o.withCtx(()=>t[26]||(t[26]=[o.createElementVNode("i",{class:"iconfont icon-yishoucang text-h4 text-warning"},null,-1)])),_:1,__:[26]},8,["onClick"])):(o.openBlock(),o.createBlock(n,{key:1,class:"text-none text-body-1 rounded-circle",variant:"plain",density:"compact",height:"32",width:"28","min-width":"28",onClick:o.withModifiers(l.handleFollow,["stop"])},{default:o.withCtx(()=>t[27]||(t[27]=[o.createElementVNode("i",{class:"iconfont icon-weishoucang text-h4"},null,-1)])),_:1,__:[27]},8,["onClick"])),o.createVNode(n,{class:"mr-n2",density:"comfortable",icon:"",variant:"plain",onClick:o.withModifiers(l.handleCloseMeteo,["stop"])},{default:o.withCtx(()=>t[28]||(t[28]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[28]},8,["onClick"])])]),t[29]||(t[29]=o.createElementVNode("div",{class:"px-5 py-0 text-label text-body-1"},"Spot Weather",-1))]}),_:1,__:[29]}),o.createVNode(m),o.createVNode(p,{class:"text-body-1 px-0 py-2"},{default:o.withCtx(()=>{var w,b;return[o.createElementVNode("div",Uh,[o.createElementVNode("div",$h,o.toDisplayString(e.$t("time.time")),1),o.createElementVNode("div",Jh,o.toDisplayString(l.computedTzTime((w=i.currentHourData)==null?void 0:w.utc)),1)]),o.createElementVNode("div",Kh,[t[30]||(t[30]=o.createElementVNode("div",{style:{width:"60px"},class:"pa-0 pr-2 text-right opacity-50"},"LT",-1)),o.createElementVNode("div",qh,o.toDisplayString(l.computedLocalTime((b=i.currentHourData)==null?void 0:b.utc)),1)]),o.createElementVNode("div",Qh,[o.createElementVNode("div",ep,[o.createElementVNode("div",null,[o.createElementVNode("span",tp,o.toDisplayString(e.$t("weather.wind")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.windDir??"-")+"/"+o.toDisplayString(i.currentHourData.windSpeed??"-")+"kts/BF"+o.toDisplayString(i.currentHourData.windLevel??"-"),1)]),o.createElementVNode("div",null,[o.createElementVNode("span",op,o.toDisplayString(e.$t("weather.sigWave")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.sigwaveDir??"-")+"/"+o.toDisplayString(i.currentHourData.sigwaveHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.sigwavePeriod??"-")+"s",1)]),o.createElementVNode("div",null,[o.createElementVNode("span",ap,o.toDisplayString(e.$t("weather.windWave")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.windwaveDir??"-")+"/"+o.toDisplayString(i.currentHourData.windwaveHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.windwavePeriod??"-")+"s",1)])]),o.createElementVNode("div",ip,[o.createElementVNode("div",null,[o.createElementVNode("span",rp,o.toDisplayString(e.$t("weather.swell")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.swellDir??"-")+"/"+o.toDisplayString(i.currentHourData.swellHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.swellPeriod??"-")+"s",1)]),o.createElementVNode("div",null,[o.createElementVNode("span",lp,o.toDisplayString(e.$t("weather.current")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.currentDir??"-")+"/"+o.toDisplayString(i.currentHourData.currentSpeed??"-")+"kts",1)]),o.createElementVNode("div",null,[o.createElementVNode("span",np,o.toDisplayString(e.$t("weather.visibility")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.visibility??"-")+" nm",1)])])])]}),_:1})]),_:1},512)):o.createCommentVNode("",!0),o.withDirectives(o.createElementVNode("div",sp,[(o.openBlock(),o.createElementBlock("svg",cp,[o.createElementVNode("use",{"xlink:href":`#icon-spot-${a.theme}`},null,8,mp)]))],512),[[o.vShow,i.showMeteo]])])}const hp=X(mh,[["render",dp]]),Dy="",pp={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:we.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 e;this.simple||(this.right=(((e=document.getElementsByClassName("right-bar")[0])==null?void 0:e.clientWidth)||0)+10)})},immediate:!0},toggle:{handler(){var e,t,a;if(this.toggle)this.handleBind();else{(e=this.map)==null||e.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 e,t,a,r,i;(e=this.map)==null||e.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 e,t,a,r,i;(e=this.map)==null||e.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(e){if(e.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(e){var a,r,i,l,n,c,s,m,d,h;const t=(r=(a=e.target)==null?void 0:a._element)==null?void 0:r.id;if((t==null?void 0:t.split("-").length)===2){const u=this.geojson.filter(f=>f.id===t.split("-")[0])[0];this.pointMarkers[u.id].filter(f=>{var x;return((x=f._element)==null?void 0:x.id)===t})[0].setLngLat([(l=(i=e.target)==null?void 0:i._lngLat)==null?void 0:l.lng,(c=(n=e.target)==null?void 0:n._lngLat)==null?void 0:c.lat]);let g;u.features.forEach((f,x)=>{if(f.geometry.type==="Point"&&f.properties.id===t.split("-")[1]){g=x;return}});const p=u.features.filter(f=>f.geometry.type==="Point");this.handleTmpPointUpdate(u,p[g-1],{lng:(m=(s=e.target)==null?void 0:s._lngLat)==null?void 0:m.lng,lat:(h=(d=e.target)==null?void 0:d._lngLat)==null?void 0:h.lat,properties:p[g].properties},g===p.length-1?void 0:p[g+1])}},handleDragEnd(e){var a,r,i,l,n,c,s,m,d,h;const t=(r=(a=e.target)==null?void 0:a._element)==null?void 0:r.id;if((t==null?void 0:t.split("-").length)===2){const u=this.geojson.filter(p=>p.id===t.split("-")[0])[0];this.pointMarkers[u.id].filter(p=>{var f;return((f=p._element)==null?void 0:f.id)===t})[0].setLngLat([(l=(i=e.target)==null?void 0:i._lngLat)==null?void 0:l.lng,(c=(n=e.target)==null?void 0:n._lngLat)==null?void 0:c.lat]);const g=u.features.filter(p=>p.geometry.type==="Point"&&p.properties.id===t.split("-")[1])[0];g.geometry.coordinates=[(m=(s=e.target)==null?void 0:s._lngLat)==null?void 0:m.lng,(h=(d=e.target)==null?void 0:d._lngLat)==null?void 0:h.lat],u.features=u.features.filter(p=>p.geometry.type==="Point"),this.handlePointUpdate(u)}},handleContextmenu(e){var a,r,i,l;e.preventDefault(),(a=this.contextmenu)==null||a.remove();const t=(l=(i=(r=e.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 c=this.geojson.filter(s=>s.id===t.split("-")[0])[0].features.filter(s=>s.geometry.type==="Point");if(c.length>2&&c.filter(m=>m.properties.id===(t==null?void 0:t.split("-")[1]))[0]){const m=document.createElement("div");m.className="idm-gl4-measure-contextmenu-marker",m.innerHTML=`<span id="del-${t}" class="del-point">${$t("actions.detele")}</span>`,this.contextmenu=new ne.Marker(m).setOffset([24,0]).setLngLat([e.lngLat.lng,e.lngLat.lat]).addTo(this.map)}}},handleClick(e){var a,r,i,l,n,c;(a=this.contextmenu)==null||a.remove();const t=e.originalEvent.target.className;if(t==="marker-close"){const s=(i=(r=e.originalEvent)==null?void 0:r.srcElement)==null?void 0:i.id,m=this.geojson.filter(d=>d.id===s)[0];m&&this.handleClear(m,!0),this.geojson=this.geojson.filter(d=>d.id!==s),!this.toggle&&!((l=this.geojson)!=null&&l.some(d=>d.closed))&&this.handleUnbind()}else if(t==="del-point"){const s=(c=(n=e.originalEvent.target.id)==null?void 0:n.replace("del-",""))==null?void 0:c.split("-"),m=this.geojson.filter(d=>d.id===s[0])[0];m.features=m.features.filter(d=>d.geometry.type==="Point"&&d.properties.id!==s[1]),this.handlePointUpdate(m)}else if(t!=="marker-label"&&this.toggle){let s=this.geojson.at(-1);s||(s=V.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(s)),s.features=s.features.filter(d=>d.geometry.type==="Point");const m=V.feature({type:"Point",coordinates:[e.lngLat.lng,e.lngLat.lat]},{id:new Date().getTime().toString(),mode:this.navigation,sumLabel:"Start"});s.features.push(m),this.handlePointUpdate(s)}},handlePointUpdate(e){const t=e.features;if(t.length>1){let a=0;const r=[];for(let i=1;i<t.length;i++){const l=t[i-1],n=t[i],c=l.properties,s={lng:l.geometry.coordinates[0],lat:l.geometry.coordinates[1]},m={lng:n.geometry.coordinates[0],lat:n.geometry.coordinates[1]},d=D.LaneHelper.calculateDistance(s,m,c.mode==="RL",4),h=D.LaneHelper.calculateBearing(s,m,c.mode==="RL",2);a=D.LngLatHelper.roundPrecision(a+d,4);let u;c.mode==="RL"?u=D.LngLatHelper.convertToMonotonicLng([s,m]):u=D.LngLatHelper.convertToMonotonicLng(D.LaneHelper.interpolateCoordinates(s,m,200));const y=V.lineString(u.map(p=>[p.lng,p.lat]));y.properties.dist=d,y.properties.bearing=h,y.properties.total=a,y.properties.name="Line "+this.currentLineIndex,r.push(y);const g=t[i];g.properties.totalDist=D.LngLatHelper.roundPrecision((c.totalDist?c.totalDist:0)+d,4),g.properties.sumLabel=g.properties.totalDist+" nm"}t.push(...r),e.total=a}return this.handleRender(e),e},handleTmpPointUpdate(e,t,a,r){const i=V.featureCollection([]);let l,n;if(t){const s=t.properties,m={lng:t.geometry.coordinates[0],lat:t.geometry.coordinates[1]},d={lng:a.lng,lat:a.lat};l=D.LaneHelper.calculateDistance(m,d,s.mode==="RL",4),n=D.LaneHelper.calculateBearing(m,d,s.mode==="RL",2);let h;s.mode==="RL"?h=D.LngLatHelper.convertToMonotonicLng([m,d]):h=D.LngLatHelper.convertToMonotonicLng(D.LaneHelper.interpolateCoordinates(m,d,200));const u=V.lineString(h.map(y=>[y.lng,y.lat]));u.properties.dist=l,u.properties.bearing=n,i.features.push(u)}if(r){const s=a.properties,m=a,d={lng:r.geometry.coordinates[0],lat:r.geometry.coordinates[1]};l=D.LaneHelper.calculateDistance(m,d,s.mode==="RL",4),n=D.LaneHelper.calculateBearing(m,d,s.mode==="RL",2);let h;s.mode==="RL"?h=D.LngLatHelper.convertToMonotonicLng([m,d]):h=D.LngLatHelper.convertToMonotonicLng(D.LaneHelper.interpolateCoordinates(m,d,200));const u=V.lineString(h.map(y=>[y.lng,y.lat]));u.properties.dist=l,u.properties.bearing=n,i.features.push(u)}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 c;if(r)c=`<div class="marker-label">${this.$t("measure.dragTips")}</div>`;else{const s=D.LngLatHelper.roundPrecision((e.total??0)+l,1);c=`<div class="marker-label">${this.$t("measure.totalDistance")}: <b>${s}</b>nm, ${this.$t("measure.bearing")}: <b>${n}</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=c,this.tipMarker.setLngLat([a.lng,a.lat]);else{const s=document.createElement("div");s.className="idm-gl4-measure-tip-marker",s.innerHTML=c,this.tipMarker=new ne.Marker(s).setOffset([140,0]).setLngLat([a.lng,a.lat]).addTo(this.map)}},handleMove(e){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:e.lngLat.lng,lat:e.lngLat.lat})},handleDblClick(e){e.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(e){var t;if((t=e==null?void 0:e.features)!=null&&t.length){const a=`${e.id}-${this.source}`,r=`${e.id}-${this.layer}`,i=`${e.id}-${this.labelLayer}`,l=`${e.id}-${this.sumLayer}`;this.map.getSource(a)?this.map.getSource(a).setData(e):this.map.addSource(a,{type:"geojson",data:e}),this.handleClear(e,!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 n=e.features.filter(c=>c.geometry.type==="Point");for(const c of n){const s=document.createElement("div");s.id=`${e.id}-${c.properties.id}`,s.className=`${e.closed?"idm-gl4-measure-marker closed":"idm-gl4-measure-marker"}`,s.innerHTML='<div class="marker-circle"></div>';const m=new ne.Marker({element:s,draggable:!0,contextmenu:!0}).setLngLat(c.geometry.coordinates).addTo(this.map);m.on("drag",this.handleDrag),m.on("dragend",this.handleDragEnd),this.pointMarkers[e.id]?this.pointMarkers[e.id].push(m):this.pointMarkers[e.id]=[m]}if(e.closed){const c=n.at(-1),m=e.features.filter(h=>h.geometry.type==="LineString").at(-1),d=document.createElement("div");d.className="idm-gl4-measure-summary-marker",d.innerHTML=`<div class="marker-label">${m.properties.name}</div><div id="${e.id}" class="marker-close">X</div>`,this.closeMarkers[e.id]=new ne.Marker(d).setOffset([0,-30]).setLngLat(c.geometry.coordinates).addTo(this.map)}}},handleClear(e,t=!0){var n,c,s,m,d,h,u,y,g,p;const a=`${e.id}-${this.source}`,r=`${e.id}-${this.layer}`,i=`${e.id}-${this.labelLayer}`,l=`${e.id}-${this.sumLayer}`;(n=this.map)!=null&&n.getLayer(r)&&this.map.removeLayer(r),(c=this.map)!=null&&c.getLayer(i)&&this.map.removeLayer(i),(s=this.map)!=null&&s.getLayer(l)&&this.map.removeLayer(l),(m=this.map)!=null&&m.getLayer(this.tmpLayer)&&this.map.removeLayer(this.tmpLayer),(d=this.map)!=null&&d.getLayer(this.tmpLabelLayer)&&this.map.removeLayer(this.tmpLabelLayer),(h=this.closeMarkers[e.id])==null||h.remove(),this.closeMarkers[e.id]=void 0,(u=this.pointMarkers[e.id])==null||u.forEach(f=>{f==null||f.remove()}),this.pointMarkers[e.id]=[],(y=this.tipMarker)==null||y.remove(),this.tipMarker=void 0,t&&((g=this.map)!=null&&g.getSource(a))&&this.map.removeSource(a),t&&((p=this.map)!=null&&p.getSource(this.tmpSource))&&this.map.removeSource(this.tmpSource)}}},gp={class:"idm-gl4-measure"};function up(e,t,a,r,i,l){const n=o.resolveComponent("VBtn"),c=o.resolveComponent("VTooltip");return o.openBlock(),o.createElementBlock("div",gp,[o.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:o.normalizeStyle({top:a.top+a.paddingTop+166+"px",right:i.right+"px"})},[o.createVNode(c,{text:e.$t("measure.measure"),location:"left",interactive:!0,"open-on-click":!1,"open-on-focus":!a.simple,"open-on-hover":!a.simple},{activator:o.withCtx(({props:s})=>[o.createVNode(n,o.mergeProps(s,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:o.withCtx(()=>t[0]||(t[0]=[o.createElementVNode("i",{class:"iconfont icon-a-Measuredistance text-h4"},null,-1)])),_:2,__:[0]},1040,["class","onClick"])]),_:1},8,["text","open-on-focus","open-on-hover"])],4)])}const fp=X(pp,[["render",up]]),Ey="",yp={name:"IdmDrawMarker",props:{map:{type:Object},gateway:{type:String},token:{type:String},simple:{type:Boolean,default:!1},top:{type:Number,default:60},paddingTop:{type:Number,default:48},menuToggle:{type:Object,default:()=>({})},editLayer:{type:Object,default:null},group:{type:Object,default:()=>({})}},setup(){return{Theme:we.useTheme()}},emits:["close","save"],data(){var e;return{markerType:"Point",form:{latDegree:"",latMinute:"",latDir:"N",lngDegree:"",lngMinute:"",lngDir:"E",navigation:"RL",areaType:"Polygon",color:(e=this.Theme.current.value.colors)==null?void 0:e["map-green"],name:""},formRules:{lngDegree:[t=>t!=null&&t!==""||"required",t=>/^\d{1,3}$/.test(t)||"number",t=>parseInt(t)>=0&&parseInt(t)<=180||"0 ~ 180"],lngMinute:[t=>t===void 0||t===null&&t===""||/^\d{1,2}(\.\d+)?$/.test(t)||"number",t=>t===void 0||t===null&&t===""||parseInt(t)>=0&&parseInt(t)<=59||"0 ~ 59"],latDegree:[t=>t!=null&&t!==""||"required",t=>/^\d{1,2}$/.test(t)||"number",t=>parseInt(t)>=0&&parseInt(t)<=90||"0 ~ 90"],latMinute:[t=>t===void 0||t===null&&t===""||/^\d{1,2}(\.\d+)?$/.test(t)||"number",t=>t===void 0||t===null&&t===""||parseInt(t)>=0&&parseInt(t)<=59||"0 ~ 59"],color:[t=>t!=null&&t!==""||"required"],name:[t=>t!=null&&t!==""||"required"]},showColorPicker:!1,saving:!1,drawSource:"draw-marker-source",drawPointLayer:"draw-marker-point-layer",drawLineLayer:"draw-marker-line-layer",drawFillLayer:"draw-marker-fill-layer",drawTmpSource:"draw-marker-tmp-source",drawTmpLayer:"draw-marker-tmp-layer",drawCoords:[],segmentNavs:[],tmpLngLat:[],rectFirstPoint:null,rectCornerMarkers:[],polygonVertexMarkers:[],circleMarkers:[],drawRadiusSource:"draw-marker-radius-source",drawRadiusLayer:"draw-marker-radius-layer",tipMarker:null,pointMarker:null,editMarkers:[],deleteBtn:null}},watch:{markerType:{handler(){var e;(e=this.editLayer)!=null&&e.id||(this.markerType==="Area"?this.form.name=`${this.form.areaType} 1`:this.form.name=`${this.markerType} 1`,this.handleClearDraw())},immediate:!0},"form.areaType"(){var e;(e=this.editLayer)!=null&&e.id||(this.markerType==="Area"?this.form.name=`${this.form.areaType} 1`:this.form.name=`${this.markerType} 1`,this.handleClearDraw())},map:{handler(){var e;this.map&&(this.handleBindMap(),(e=this.editLayer)!=null&&e.id&&setTimeout(()=>{this.loadEditLayer()},1e3))},immediate:!0},"form.color":{handler(){this.handleChangePoint(),this.handleUpdateLayerColors()},immediate:!0}},beforeUnmount(){this.handleClearDraw(!0),this.handleUnbindMap()},methods:{handleClose(){this.handleClearDraw(!0),this.handleUnbindMap(),this.$emit("close")},handleBindMap(){var e,t;this.map&&(this.markerType==="Point"?(this.map.on("click",this.handleMapClickPoint),this.map.getCanvas().style.cursor="crosshair"):this.markerType==="Line"&&!((e=this.editLayer)!=null&&e.id)?(this.map.getCanvas().addEventListener("keydown",this.handleKeydown),this.map.on("click",this.handleMapClickLine),this.map.on("mousemove",this.handleMapMoveLine),this.map.on("dblclick",this.handleMapDblClickLine),this.map.getCanvas().style.cursor="crosshair"):this.markerType==="Area"&&!((t=this.editLayer)!=null&&t.id)&&(this.form.areaType==="Polygon"?(this.map.on("click",this.handleMapClickPolygon),this.map.on("mousemove",this.handleMapMovePolygon),this.map.on("dblclick",this.handleMapDblClickPolygon)):this.form.areaType==="Circle"?(this.map.on("click",this.handleMapClickCircle),this.map.on("mousemove",this.handleMapMoveCircle)):this.form.areaType==="Rect"&&(this.map.on("click",this.handleMapClickRect),this.map.on("mousemove",this.handleMapMoveRect)),this.map.getCanvas().style.cursor="crosshair"))},handleUnbindMap(){this.map&&(this.map.off("click",this.handleMapClickPoint),this.map.off("click",this.handleMapClickLine),this.map.off("mousemove",this.handleMapMoveLine),this.map.off("dblclick",this.handleMapDblClickLine),this.map.off("click",this.handleMapClickPolygon),this.map.off("mousemove",this.handleMapMovePolygon),this.map.off("dblclick",this.handleMapDblClickPolygon),this.map.off("click",this.handleMapClickCircle),this.map.off("mousemove",this.handleMapMoveCircle),this.map.off("click",this.handleMapClickRect),this.map.off("mousemove",this.handleMapMoveRect),this.map.getCanvas().removeEventListener("keydown",this.handleKeydown),this.map&&(this.map.getCanvas().style.cursor="grab"))},handleRebindMap(){this.handleUnbindMap(),this.handleBindMap()},handleKeydown(e){e.key==="Shift"&&(this.form.navigation=this.form.navigation==="GC"?"RL":"GC",this.handleRenderTmpLine(this.drawCoords.at(-1),this.tmpLngLat))},loadEditLayer(){var l,n,c;if(!((l=this.editLayer)!=null&&l.extend)||!this.map)return;const e=typeof this.editLayer.extend=="string"?JSON.parse(this.editLayer.extend):this.editLayer.extend;if(!e)return;this.form.name=this.editLayer.name||"",this.form.color=this.editLayer.color||((n=this.Theme.current.value.colors)==null?void 0:n["map-green"])||"#4CAF50";const a=(e.features||(e.type==="Feature"?[e]:[]))[0];if(!a)return;const r=(c=a.geometry)==null?void 0:c.type,i=a.properties||{};if(r==="Point"){this.markerType="Point";const[s,m]=a.geometry.coordinates;this.drawCoords=[[s,m]],this.form.latDegree=Number(D.LngLatHelper.lat2pretty(m).degree),this.form.latMinute=Number(D.LngLatHelper.lat2pretty(m).minute),this.form.latDir=D.LngLatHelper.lat2pretty(m).direction,this.form.lngDegree=Number(D.LngLatHelper.lng2pretty(s).degree),this.form.lngMinute=Number(D.LngLatHelper.lng2pretty(s).minute),this.form.lngDir=D.LngLatHelper.lng2pretty(s).direction,this.handleRenderPoint(this.drawCoords,this.form.color),this.setupPointEdit()}else r==="LineString"?(this.markerType="Line",this.$nextTick(()=>{this.handlerRenderEditLine(a),this.setupLineEdit(),this.handleUnbindMap()})):r==="Polygon"&&(this.markerType="Area",i.center&&i.radius?(this.form.areaType="Circle",this.$nextTick(()=>{const s=i.center,m=i.radius,d=90,h=V.destination(V.point(s),m,d,{units:"kilometers"}).geometry.coordinates;this.drawCoords=[s,h];const u=V.circle(s,m,{steps:64,units:"kilometers"});u.properties.center=s,u.properties.radius=m,this.handleSetDrawSource(V.featureCollection([V.point(s),u])),this.handleRenderAreaLayers(),this.handleRenderCircleCenterLabel(s),this.handleRenderRadiusLine(s,h,m),this.setupCircleEdit(),this.handleUnbindMap()})):i.shape==="Rect"?(this.form.areaType="Rect",this.$nextTick(()=>{const s=a.geometry.coordinates[0],m=Math.min(s[0][0],s[1][0],s[2][0],s[3][0]),d=Math.max(s[0][0],s[1][0],s[2][0],s[3][0]),h=Math.min(s[0][1],s[1][1],s[2][1],s[3][1]),u=Math.max(s[0][1],s[1][1],s[2][1],s[3][1]),y=[m,h],g=[d,u];this.drawCoords=[y,g];const p=this.buildRectFeatureCollection(y,g);this.handleSetDrawSource(p),this.handleRenderRectLayers(),this.handleRenderRectCorners(y,g),this.setupRectEdit(),this.handleUnbindMap()})):(this.form.areaType="Polygon",this.$nextTick(()=>{this.handlerRenderEditPolygon(a),this.handleRenderPolygonVertexLabels(this.drawCoords),this.setupPolygonEdit(),this.handleUnbindMap()})))},setupPointEdit(){this.pointMarker&&(this.pointMarker.setDraggable(!0),this.pointMarker.off("drag",this.handlePointDrag),this.pointMarker.on("drag",this.handlePointDrag),this.pointMarker.off("dragend",this.handlePointDrag),this.pointMarker.on("dragend",this.handlePointDrag))},handlePointDrag(){const{lng:e,lat:t}=this.pointMarker.getLngLat();this.drawCoords=[[e,t]],this.form.latDegree=Number(D.LngLatHelper.lat2pretty(t).degree),this.form.latMinute=Number(D.LngLatHelper.lat2pretty(t).minute),this.form.latDir=D.LngLatHelper.lat2pretty(t).direction,this.form.lngDegree=Number(D.LngLatHelper.lng2pretty(e).degree),this.form.lngMinute=Number(D.LngLatHelper.lng2pretty(e).minute),this.form.lngDir=D.LngLatHelper.lng2pretty(e).direction},clearEditMarkers(){this.editMarkers.forEach(e=>e.remove()),this.editMarkers=[],this._edgeContextMenuHandler&&this.map&&(this.map.off("contextmenu",this._edgeContextMenuHandler),this._edgeContextMenuHandler=null)},handlerRenderEditLine(e){this.drawCoords=e.geometry.coordinates.map(r=>[...r]),this.segmentNavs=this.drawCoords.slice(1).map((r,i)=>{var l;return((l=e.properties)==null?void 0:l.navigation)||"RL"});const t=V.featureCollection([e,...this.drawCoords.map(r=>V.point(r))]);this.handleSetDrawSource(t);const a=3;this.map.getLayer(this.drawLineLayer)||(this.map.addLayer({id:this.drawLineLayer,type:"line",source:this.drawSource,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":a}}),this.map.addLayer({id:this.drawPointLayer,type:"circle",source:this.drawSource,filter:["==","$type","Point"],paint:{"circle-radius":3,"circle-color":this.form.color,"circle-stroke-width":2,"circle-stroke-color":"#ffffff"}}))},setupLineEdit(){this.clearEditMarkers(),this.drawCoords.forEach((t,a)=>{const r=document.createElement("div");r.className="idm-gl4-edit-vertex",r.style.backgroundColor=this.form.color;const i=new ne.Marker({element:r,draggable:!0}).setLngLat(t).addTo(this.map);i.on("dragend",()=>{const{lng:l,lat:n}=i.getLngLat();this.drawCoords[a]=[l,n],this.handlerRenderEditLine(V.lineString(this.drawCoords,{type:"Line",color:this.form.color}))}),r.addEventListener("contextmenu",l=>{l.preventDefault(),l.stopPropagation(),this.drawCoords.length>2&&this.showDeleteButton(t,()=>{this.drawCoords.splice(a,1),this.handlerRenderEditLine(V.lineString(this.drawCoords,{type:"Line",color:this.form.color})),this.setupLineEdit()})}),this.editMarkers.push(i)});const e=t=>{t.preventDefault();const{lng:a,lat:r}=t.lngLat,i=V.point([a,r]),l=V.lineString(this.drawCoords),n=V.nearestPointOnLine(l,i);if(n){const c=n.properties.index;this.showDeleteButton([a,r],()=>{this.drawCoords.splice(c+1,0,[a,r]),this.handlerRenderEditLine(V.lineString(this.drawCoords,{type:"Line",color:this.form.color})),this.setupLineEdit()},this.$t("actions.add")||"新增","add")}};this.map.on("contextmenu",e),this._edgeContextMenuHandler=e},showDeleteButton(e,t,a,r="delete"){this.hideDeleteButton();const i=this.map.getContainer(),l=document.createElement("button");l.textContent=a||this.$t("actions.delete"),l.className=r==="add"?"idm-gl4-edit-add-btn":"idm-gl4-edit-delete-btn";const n=this.map.project(e);l.style.left=`${n.x}px`,l.style.top=`${n.y}px`;const c=s=>{s.stopPropagation(),t(),this.hideDeleteButton()};l.addEventListener("click",c),i.appendChild(l),this.deleteBtn=l,this.map.once("click",()=>this.hideDeleteButton())},hideDeleteButton(){this.deleteBtn&&(this.deleteBtn.remove(),this.deleteBtn=null)},handlerRenderEditPolygon(e){const t=e.geometry.coordinates[0].slice(0,-1);this.drawCoords=t.map(i=>[...i]);const a=V.featureCollection([e,...this.drawCoords.map(i=>V.point(i))]);this.handleSetDrawSource(a);const r=3;this.map.getLayer(this.drawFillLayer)?(this.map.setPaintProperty(this.drawLineLayer,"line-width",r),this.map.getLayer(this.drawPointLayer)&&this.map.setPaintProperty(this.drawPointLayer,"circle-color",this.form.color)):(this.map.addLayer({id:this.drawFillLayer,type:"fill",source:this.drawSource,filter:["==","$type","Polygon"],paint:{"fill-color":this.form.color,"fill-opacity":.35}}),this.map.addLayer({id:this.drawLineLayer,type:"line",source:this.drawSource,filter:["==","$type","Polygon"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":r}}),this.map.addLayer({id:this.drawPointLayer,type:"circle",source:this.drawSource,filter:["==","$type","Point"],paint:{"circle-radius":3,"circle-color":this.form.color,"circle-stroke-width":2,"circle-stroke-color":"#ffffff"}}))},setupPolygonEdit(){this.clearEditMarkers(),this.drawCoords.forEach((t,a)=>{const r=document.createElement("div");r.className="idm-gl4-edit-vertex",r.style.backgroundColor=this.form.color;const i=new ne.Marker({element:r,draggable:!0}).setLngLat(t).addTo(this.map);i.on("dragend",()=>{const{lng:l,lat:n}=i.getLngLat();this.drawCoords[a]=[l,n],this.handleRenderPolygonFill(this.drawCoords),this.handleRenderPolygonVertexLabels(this.drawCoords)}),r.addEventListener("contextmenu",l=>{l.preventDefault(),l.stopPropagation(),this.drawCoords.length>3&&this.showDeleteButton(t,()=>{this.drawCoords.splice(a,1),this.handleRenderPolygonFill(this.drawCoords),this.handleRenderPolygonVertexLabels(this.drawCoords),this.setupPolygonEdit()})}),this.editMarkers.push(i)});const e=t=>{t.preventDefault();const{lng:a,lat:r}=t.lngLat,i=V.point([a,r]),l=V.lineString([...this.drawCoords,this.drawCoords[0]]),n=V.nearestPointOnLine(l,i);if(n){const c=n.properties.index,s=c>=this.drawCoords.length-1?this.drawCoords.length-1:c;this.showDeleteButton([a,r],()=>{this.drawCoords.splice(s+1,0,[a,r]),this.handleRenderPolygonFill(this.drawCoords),this.handleRenderPolygonVertexLabels(this.drawCoords),this.setupPolygonEdit()},this.$t("actions.add")||"新增","add")}};this.map.on("contextmenu",e),this._edgeContextMenuHandler=e},setupCircleEdit(){this.clearEditMarkers();const[e,t]=this.drawCoords,a=document.createElement("div");a.className="idm-gl4-edit-vertex",a.style.backgroundColor=this.form.color;const r=new ne.Marker({element:a,draggable:!1}).setLngLat(e).addTo(this.map);this.editMarkers.push(r);const i=document.createElement("div");i.className="idm-gl4-edit-vertex",i.style.backgroundColor=this.form.color;const l=new ne.Marker({element:i,draggable:!0}).setLngLat(t).addTo(this.map);l.on("dragend",()=>{const{lng:n,lat:c}=l.getLngLat(),s=[n,c],m=V.distance(V.point(e),V.point(s),{units:"kilometers"}),d=V.circle(e,m,{steps:64,units:"kilometers"});d.properties.center=e,d.properties.radius=m,this.handleSetDrawSource(V.featureCollection([V.point(e),d])),this.handleRenderAreaLayers(),this.handleRenderRadiusLine(e,s,m),this.drawCoords=[e,s],this.setupCircleEdit()}),this.editMarkers.push(l)},setupRectEdit(){this.clearEditMarkers();const[e,t]=this.drawCoords,a=[{coord:[e[0],e[1]],key:"bl"},{coord:[t[0],e[1]],key:"br"},{coord:[t[0],t[1]],key:"tr"},{coord:[e[0],t[1]],key:"tl"}];a.forEach(({coord:r,key:i})=>{const l=document.createElement("div");l.className="idm-gl4-edit-vertex",l.style.backgroundColor=this.form.color;const n=new ne.Marker({element:l,draggable:!0}).setLngLat(r).addTo(this.map);n.on("dragend",()=>{const{lng:c,lat:s}=n.getLngLat(),m=[c,s],d=a.findIndex(x=>x.key===i),h=a.map(x=>[...x.coord]);h[d]=m;const u=h.map(x=>x[0]),y=h.map(x=>x[1]),g=[Math.min(...u),Math.min(...y)],p=[Math.max(...u),Math.max(...y)];this.drawCoords=[g,p];const f=this.buildRectFeatureCollection(this.drawCoords[0],this.drawCoords[1]);this.handleSetDrawSource(f),this.handleRenderRectLayers(),this.handleRenderRectCorners(this.drawCoords[0],this.drawCoords[1]),this.setupRectEdit()}),this.editMarkers.push(n)})},handleMapClickPoint(e){var r;const{lng:t,lat:a}=e.lngLat;this.drawCoords=[[t,a]],this.form.latDegree=Number(D.LngLatHelper.lat2pretty(a).degree),this.form.latMinute=Number(D.LngLatHelper.lat2pretty(a).minute),this.form.latDir=D.LngLatHelper.lat2pretty(a).direction,this.form.lngDegree=Number(D.LngLatHelper.lng2pretty(t).degree),this.form.lngMinute=Number(D.LngLatHelper.lng2pretty(t).minute),this.form.lngDir=D.LngLatHelper.lng2pretty(t).direction,this.handleRenderPoint(this.drawCoords,this.form.color),(r=this.editLayer)!=null&&r.id&&this.setupPointEdit()},handleChangePoint(){var u;const{latDegree:e,latMinute:t,latDir:a,lngDegree:r,lngMinute:i,lngDir:l}=this.form,n=parseFloat(e),c=parseFloat(t),s=parseFloat(r),m=parseFloat(i);if(isNaN(n)||isNaN(s))return;const d=(n+(isNaN(c)?0:c)/60)*(a==="S"?-1:1),h=(s+(isNaN(m)?0:m)/60)*(l==="W"?-1:1);this.drawCoords=[[h,d]],this.handleRenderPoint(this.drawCoords,this.form.color),(u=this.editLayer)!=null&&u.id&&this.setupPointEdit()},handleRenderPoint(e,t){var i;if((i=this.pointMarker)==null||i.remove(),!e||!e.length)return;const[a,r]=e[0];this.pointMarker=new ne.Marker({color:t}).setLngLat([a,r]).addTo(this.map)},handleMapClickLine(e){var r;const{lng:t,lat:a}=e.lngLat;if(this.drawCoords.length>=1){const i={lng:this.drawCoords.at(-1)[0],lat:this.drawCoords.at(-1)[1]},l={lng:t,lat:a};this.segmentNavs.push(this.form.navigation||this.getNavigation(i,l))}this.drawCoords.push([t,a]),this.handleRenderLine(this.drawCoords),(r=this.editLayer)!=null&&r.id&&this.setupLineEdit()},handleMapMoveLine(e){if(!this.drawCoords.length)return;const{lng:t,lat:a}=e.lngLat;this.tmpLngLat=[t,a],this.handleRenderTmpLine(this.drawCoords.at(-1),[t,a])},handleMapDblClickLine(e){e.preventDefault(),this.drawCoords.length>1&&this.drawCoords.pop(),this.handleRenderLine(this.drawCoords),this.handleClearTmp(),this.map.off("click",this.handleMapClickLine),this.map.off("mousemove",this.handleMapMoveLine),this.map.off("dblclick",this.handleMapDblClickLine)},handleRenderLine(e){if(!e||e.length<1)return;const t=[],a=2;e==null||e.forEach((i,l)=>{var n,c;if(t.push(V.point(i)),l>=1){const s={lng:(n=e==null?void 0:e[l-1])==null?void 0:n[0],lat:(c=e==null?void 0:e[l-1])==null?void 0:c[1]},m={lng:i[0],lat:i[1]},d=this.segmentNavs[l-1]||this.getNavigation(s,m);let h;try{d==="GC"?h=D.LngLatHelper.convertToMonotonicLng(D.LaneHelper.interpolateCoordinates(s,m,200)):h=D.LngLatHelper.convertToMonotonicLng([s,m])}catch{h=[s,m]}const u=V.lineString(h.map(y=>[y.lng,y.lat]));u.properties.navigation=d,t.push(u)}});const r=V.featureCollection(t);this.handleSetDrawSource(r),this.map.getLayer(this.drawLineLayer)?(this.map.setPaintProperty(this.drawLineLayer,"line-color",this.form.color),this.map.setPaintProperty(this.drawLineLayer,"line-width",a),this.map.getLayer(this.drawPointLayer)&&this.map.setPaintProperty(this.drawPointLayer,"circle-color",this.form.color)):(this.map.addLayer({id:this.drawLineLayer,type:"line",source:this.drawSource,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":a}}),this.map.addLayer({id:this.drawPointLayer,type:"circle",source:this.drawSource,filter:["==","$type","Point"],paint:{"circle-radius":3,"circle-color":this.form.color,"circle-stroke-width":2,"circle-stroke-color":"#ffffff"}}))},handleRenderTmpLine(e,t){const a={lng:e[0],lat:e[1]},r={lng:t[0],lat:t[1]},i=this.form.navigation||this.getNavigation(a,r);let l;i==="GC"?l=D.LngLatHelper.convertToMonotonicLng(D.LaneHelper.interpolateCoordinates(a,r,200)):l=D.LngLatHelper.convertToMonotonicLng([a,r]);const n=V.featureCollection([V.lineString(l.map(h=>[h.lng,h.lat]))]);this.map.getSource(this.drawTmpSource)?this.map.getSource(this.drawTmpSource).setData(n):this.map.addSource(this.drawTmpSource,{type:"geojson",data:n}),this.map.getLayer(this.drawTmpLayer)||this.map.addLayer({id:this.drawTmpLayer,type:"line",source:this.drawTmpSource,layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":2,"line-dasharray":[3,2]}});const c=D.LaneHelper.calculateDistance(a,r,i==="RL",2),s=D.LaneHelper.calculateBearing(a,r,i==="RL",2);let m=0;for(let h=1;h<this.drawCoords.length;h++){const u={lng:this.drawCoords[h-1][0],lat:this.drawCoords[h-1][1]},y={lng:this.drawCoords[h][0],lat:this.drawCoords[h][1]},g=this.segmentNavs[h-1]||this.getNavigation(u,y);m+=D.LaneHelper.calculateDistance(u,y,g==="RL",4)}m=D.LngLatHelper.roundPrecision(m+c,1);const d=`
218
218
  <div class="marker-label">${this.$t("measure.totalDistance")}: <b>${m}</b>nm, ${this.$t("measure.bearing")}: <b>${s}</b>°</div>
219
219
  <div class="marker-label">${this.$t("measure.mode")}<b>${i}</b>, ${this.$t("measure.switchTips")}</div>
220
- <div class="marker-label"> ${this.$t("measure.clickTips")}</div>`;if(this.tipMarker)this.tipMarker._element.innerHTML=d,this.tipMarker.setLngLat([t[0],t[1]]);else{const h=document.createElement("div");h.className="idm-gl4-draw-tip-marker",h.innerHTML=d,this.tipMarker=new ne.Marker(h).setOffset([140,0]).setLngLat([t[0],t[1]]).addTo(this.map)}},handleRefreshLine(){this.drawCoords.length>=1&&this.handleRenderLine(this.drawCoords)},getNavigation(e,t){return D.LaneHelper.calculateDistance(e,t,!0,2)>500?"GC":"RL"},handleMapClickPolygon(e){var r;const{lng:t,lat:a}=e.lngLat;this.drawCoords.push([t,a]),this.drawCoords.length>=3&&this.handleRenderPolygonFill(this.drawCoords),this.handleRenderPolygonVertexLabels(this.drawCoords),(r=this.editLayer)!=null&&r.id&&this.setupPolygonEdit()},handleMapMovePolygon(e){if(!this.drawCoords.length)return;const{lng:t,lat:a}=e.lngLat,r=[...this.drawCoords,[t,a]];r.length>=1&&this.handleRenderPolygonFill(r),this.handleRenderPolygonVertexLabels(r)},handleMapDblClickPolygon(e){e.preventDefault(),this.drawCoords.length>=1&&this.drawCoords.pop(),this.drawCoords.length>=1&&this.handleRenderPolygonFill(this.drawCoords),this.map.off("click",this.handleMapClickPolygon),this.map.off("mousemove",this.handleMapMovePolygon),this.map.off("dblclick",this.handleMapDblClickPolygon)},handleRenderPolygonFill(e){var i;let t=[];if(e==null||e.forEach((l,n)=>{t.push(V.point(l))}),(e==null?void 0:e.length)>2){const l=[...e,e[0]];t.push(V.polygon([l]))}const a=V.featureCollection(t);this.handleSetDrawSource(a);const r=(i=this.editLayer)!=null&&i.id?3:2;this.map.getLayer(this.drawFillLayer)?(this.map.setPaintProperty(this.drawLineLayer,"line-width",r),this.map.getLayer(this.drawPointLayer)&&this.map.setPaintProperty(this.drawPointLayer,"circle-color",this.form.color)):(this.map.addLayer({id:this.drawFillLayer,type:"fill",source:this.drawSource,filter:["==","$type","Polygon"],paint:{"fill-color":this.form.color,"fill-opacity":.35}}),this.map.addLayer({id:this.drawLineLayer,type:"line",source:this.drawSource,filter:["==","$type","Polygon"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":r}}),this.map.addLayer({id:this.drawPointLayer,type:"circle",source:this.drawSource,filter:["==","$type","Point"],paint:{"circle-radius":3,"circle-color":this.form.color,"circle-stroke-width":2,"circle-stroke-color":"#ffffff"}}))},handleRenderPolygonVertexLabels(e){if(e.length<2)return;this.handleClearPolygonVertexLabels();const t=e.reduce((a,r)=>[a[0]+r[0],a[1]+r[1]],[0,0]);t[0]/=e.length,t[1]/=e.length,e.forEach(a=>{const r=a[0]-t[0],i=a[1]-t[1];let l="center";i>=0&&r>=0?l="bottom-left":i>=0&&r<0?l="bottom-right":i<0&&r>=0?l="top-left":l="top-right";const n=D.LngLatHelper.lat2pretty(a[1],2).pretty,c=D.LngLatHelper.lng2pretty(a[0],2).pretty,s=document.createElement("div");s.className="idm-gl4-draw-corner-label "+l,s.innerHTML=`<span class="corner-text">${n} <br/> ${c}</span>`;const m=new ne.Marker(s,{anchor:l}).setLngLat(a).addTo(this.map);this.polygonVertexMarkers.push(m)})},handleClearPolygonVertexLabels(){this.polygonVertexMarkers.forEach(e=>e.remove()),this.polygonVertexMarkers=[]},handleMapClickCircle(e){const{lng:t,lat:a}=e.lngLat;if(this.drawCoords.length===0){this.drawCoords.push([t,a]);const r=V.featureCollection([V.point([t,a])]);this.handleSetDrawSource(r),this.map.addLayer({id:this.drawPointLayer,type:"circle",source:this.drawSource,filter:["==","$type","Point"],paint:{"circle-radius":3,"circle-color":this.form.color,"circle-stroke-width":2,"circle-stroke-color":"#ffffff"}}),this.handleRenderCircleCenterLabel([t,a])}else{const r=this.drawCoords[0],i=[t,a],l=V.distance(V.point(r),V.point(i),{units:"kilometers"}),n=V.circle(r,l,{steps:64,units:"kilometers"});n.properties.radius=l,n.properties.center=r;const c=V.featureCollection([V.point(r),n]);this.handleSetDrawSource(c),this.handleRenderAreaLayers(),this.handleRenderRadiusLine(r,i,l),this.drawCoords=[r,i],this.map.off("click",this.handleMapClickCircle),this.map.off("mousemove",this.handleMapMoveCircle)}},handleMapMoveCircle(e){if(this.drawCoords.length!==1)return;const t=this.drawCoords[0],a=[e.lngLat.lng,e.lngLat.lat],r=V.distance(V.point(t),V.point(a),{units:"kilometers"}),i=V.circle(t,r,{steps:64,units:"kilometers"}),l=V.featureCollection([V.point(t),i]);this.handleSetDrawSource(l),this.map.getLayer(this.drawFillLayer)||this.handleRenderAreaLayers(),this.handleRenderRadiusLine(t,a,r)},handleRenderCircleCenterLabel(e){const t=D.LngLatHelper.lat2pretty(e[1],2).pretty,a=D.LngLatHelper.lng2pretty(e[0],2).pretty,r=document.createElement("div");r.className="idm-gl4-draw-corner-label bottom-right",r.innerHTML=`<span class="corner-text">${t} <br/> ${a}</span>`;const i=new ne.Marker(r,{anchor:"bottom-right"}).setLngLat(e).addTo(this.map);this.circleMarkers.push(i)},handleRenderRadiusLine(e,t,a){const r=D.LngLatHelper.roundPrecision(a/1.852,2),i=V.featureCollection([V.lineString([e,t])]);this.map.getSource(this.drawRadiusSource)?this.map.getSource(this.drawRadiusSource).setData(i):this.map.addSource(this.drawRadiusSource,{type:"geojson",data:i}),this.map.getLayer(this.drawRadiusLayer)||this.map.addLayer({id:this.drawRadiusLayer,type:"line",source:this.drawRadiusSource,layout:{"line-cap":"round"},paint:{"line-color":this.form.color,"line-width":1.5,"line-dasharray":[4,3]}});const l=[(e[0]+t[0])/2,(e[1]+t[1])/2],n=this.map.project(e),c=this.map.project(t),s=c.x-n.x,m=c.y-n.y;let d=Math.atan2(m,s)*180/Math.PI;d>90&&(d-=180),d<-90&&(d+=180);const h=16,u=(d-90)*Math.PI/180,y=Math.round(Math.cos(u)*h),g=Math.round(Math.sin(u)*h);this.circleMarkers.length>1&&(this.circleMarkers[1].remove(),this.circleMarkers.splice(1,1));const p=document.createElement("div"),f=document.createElement("span");f.className="idm-gl4-draw-radius-label",f.style.transform=`rotate(${d}deg)`,f.style.transformOrigin="center",f.style.display="inline-block",f.textContent=`${r} nm`,p.appendChild(f);const x=new ne.Marker(p,{anchor:"center",offset:[y,g]}).setLngLat(l).addTo(this.map);this.circleMarkers.push(x)},handleClearCircleLabels(){var e,t;this.circleMarkers.forEach(a=>a.remove()),this.circleMarkers=[],(e=this.map)!=null&&e.getLayer(this.drawRadiusLayer)&&this.map.removeLayer(this.drawRadiusLayer),(t=this.map)!=null&&t.getSource(this.drawRadiusSource)&&this.map.removeSource(this.drawRadiusSource)},handleMapClickRect(e){const{lng:t,lat:a}=e.lngLat;if(this.drawCoords.length===0)this.drawCoords.push([t,a]);else{const r=this.drawCoords[0],i=[t,a],l=this.buildRectFeatureCollection(r,i);this.handleSetDrawSource(l),this.handleRenderRectLayers(),this.drawCoords=[r,i],this.map.off("click",this.handleMapClickRect),this.map.off("mousemove",this.handleMapMoveRect)}},handleMapMoveRect(e){if(this.drawCoords.length!==1)return;const t=this.drawCoords[0],a=[e.lngLat.lng,e.lngLat.lat],r=this.buildRectFeatureCollection(t,a);this.handleSetDrawSource(r),this.map.getLayer(this.drawFillLayer)||this.handleRenderRectLayers(),this.handleRenderRectCorners(t,a)},buildRect(e,t){const a=Math.min(e[0],t[0]),r=Math.max(e[0],t[0]),i=Math.min(e[1],t[1]),l=Math.max(e[1],t[1]);return V.polygon([[[a,i],[r,i],[r,l],[a,l],[a,i]]],{shape:"Rect"})},buildRectFeatureCollection(e,t){const a=Math.min(e[0],t[0]),r=Math.max(e[0],t[0]),i=Math.min(e[1],t[1]),l=Math.max(e[1],t[1]),n=[[a,l],[r,l],[r,i],[a,i]];return V.featureCollection([...n.map(c=>V.point(c)),this.buildRect(e,t)])},handleRenderRectLayers(){var t;const e=(t=this.editLayer)!=null&&t.id?3:2;this.map.getLayer(this.drawFillLayer)||this.map.addLayer({id:this.drawFillLayer,type:"fill",source:this.drawSource,filter:["==","$type","Polygon"],paint:{"fill-color":this.form.color,"fill-opacity":.35}}),this.map.getLayer(this.drawLineLayer)?this.map.setPaintProperty(this.drawLineLayer,"line-width",e):this.map.addLayer({id:this.drawLineLayer,type:"line",source:this.drawSource,filter:["==","$type","Polygon"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":e}}),this.map.getLayer(this.drawPointLayer)||this.map.addLayer({id:this.drawPointLayer,type:"circle",source:this.drawSource,filter:["==","$type","Point"],paint:{"circle-radius":3,"circle-color":this.form.color,"circle-stroke-width":2,"circle-stroke-color":"#ffffff"}})},handleRenderRectCorners(e,t){const a=Math.min(e[0],t[0]),r=Math.max(e[0],t[0]),i=Math.min(e[1],t[1]),l=Math.max(e[1],t[1]),n=[{coord:[a,l],anchor:"bottom-right"},{coord:[r,l],anchor:"bottom-left"},{coord:[r,i],anchor:"top-left"},{coord:[a,i],anchor:"top-right"}];this.handleClearRectCorners(),n.forEach(({coord:c,anchor:s})=>{const m=D.LngLatHelper.lat2pretty(c[1],2).pretty,d=D.LngLatHelper.lng2pretty(c[0],2).pretty,h=document.createElement("div");h.className="idm-gl4-draw-corner-label "+s,h.innerHTML=`<span class="corner-text">${m} <br/> ${d}</span>`;const u=new ne.Marker(h,{anchor:s}).setLngLat(c).addTo(this.map);this.rectCornerMarkers.push(u)})},handleClearRectCorners(){this.rectCornerMarkers.forEach(e=>e.remove()),this.rectCornerMarkers=[]},handleRenderAreaLayers(){var t;const e=(t=this.editLayer)!=null&&t.id?3:2;this.map.getLayer(this.drawFillLayer)||this.map.addLayer({id:this.drawFillLayer,type:"fill",source:this.drawSource,filter:["==","$type","Polygon"],paint:{"fill-color":this.form.color,"fill-opacity":.35}}),this.map.getLayer(this.drawLineLayer)?this.map.setPaintProperty(this.drawLineLayer,"line-width",e):this.map.addLayer({id:this.drawLineLayer,type:"line",source:this.drawSource,filter:["==","$type","Polygon"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":e}})},handleSetDrawSource(e){this.map.getSource(this.drawSource)?this.map.getSource(this.drawSource).setData(e):this.map.addSource(this.drawSource,{type:"geojson",data:e})},handleClearTmp(){var e,t,a;(e=this.map)!=null&&e.getLayer(this.drawTmpLayer)&&this.map.removeLayer(this.drawTmpLayer),(t=this.map)!=null&&t.getSource(this.drawTmpSource)&&this.map.removeSource(this.drawTmpSource),(a=this.tipMarker)==null||a.remove(),this.tipMarker=null},handleUpdateLayerColors(){if(!this.map)return;const e=this.form.color;this.map.getLayer(this.drawPointLayer)&&this.map.setPaintProperty(this.drawPointLayer,"circle-color",e),this.map.getLayer(this.drawLineLayer)&&this.map.setPaintProperty(this.drawLineLayer,"line-color",e),this.map.getLayer(this.drawFillLayer)&&this.map.setPaintProperty(this.drawFillLayer,"fill-color",e),this.map.getLayer(this.drawRadiusLayer)&&this.map.setPaintProperty(this.drawRadiusLayer,"line-color",e),this.map.getLayer(this.drawTmpLayer)&&this.map.setPaintProperty(this.drawTmpLayer,"line-color",e)},handleClearDraw(e=!1){var a,r,i,l;this.handleClearTmp(),this.hideDeleteButton();const t=[this.drawPointLayer,this.drawLineLayer,this.drawFillLayer];for(const n of t)(a=this.map)!=null&&a.getLayer(n)&&((r=this.map)==null||r.removeLayer(n));(i=this.map)!=null&&i.getSource(this.drawSource)&&this.map.removeSource(this.drawSource),this.drawCoords=[],this.segmentNavs=[],this.rectFirstPoint=null,this.handleClearRectCorners(),this.handleClearPolygonVertexLabels(),this.handleClearCircleLabels(),(l=this.pointMarker)==null||l.remove(),this.pointMarker=null,this.clearEditMarkers(),this.handleRebindMap()},handleClearAll(){var e;if((e=this.editLayer)!=null&&e.id){this.loadEditLayer();return}this.handleClearDraw(),this.form={latDegree:"",latMinute:"",latDir:"N",lngDegree:"",lngMinute:"",lngDir:"E",navigation:"RL",areaType:this.form.areaType,color:this.Theme.current.value.colors["map-green"],name:this.markerType+" 1"},this.handleRebindMap()},async handleSave(){var r,i;let e=null;if(this.markerType==="Point"?await this.$refs.pointForm.validate().then(l=>{if(l!=null&&l.valid){if(!this.drawCoords.length)return;const[n,c]=this.drawCoords[0];e=V.featureCollection([V.point([n,c],{type:"point",color:this.form.color})])}}):this.markerType==="Line"?await this.$refs.lineForm.validate().then(l=>{if(l!=null&&l.valid){if(this.drawCoords.length<2)return;e=V.featureCollection([V.lineString(this.drawCoords,{type:"Line",color:this.form.color})])}}):this.markerType==="Area"&&await this.$refs.areaForm.validate().then(l=>{var n,c,s;if(l!=null&&l.valid){const m=(n=this.map)==null?void 0:n.getSource(this.drawSource);if(!m)return;const d=m._data;if(!((c=d==null?void 0:d.features)!=null&&c.length))return;const h=d.features.find(y=>{var g;return((g=y.geometry)==null?void 0:g.type)==="Polygon"});if(!h)return;const u=[V.polygon(h.geometry.coordinates,{...h.properties,type:"Polygon",color:this.form.color})];this.form.areaType==="Circle"&&((s=h.properties)!=null&&s.center)&&u.push(V.point(h.properties.center,{type:"circleCenter",color:this.form.color})),e=V.featureCollection(u)}}),!e)return!1;const t={name:this.form.name,format:"geojson",color:this.form.color,extend:e};this.saving=!0,await((r=this.editLayer)!=null&&r.id?le.put(`${this.gateway}/api/arc/layers/${this.editLayer.id}`,t,{headers:{Authorization:this.token||this.defaultMeteoToken,version:"new"}}):le.post(`${this.gateway}/api/arc/lygroups/${(i=this.group)==null?void 0:i.id}/layers`,t,{headers:{Authorization:this.token||this.defaultMeteoToken,version:"new"}})).then(l=>{var n,c,s,m;((n=l.data)==null?void 0:n.code)===0&&(this.$emit("save",{...t,id:((c=this.editLayer)==null?void 0:c.id)||((m=(s=l.data)==null?void 0:s.data)==null?void 0:m.id)}),this.handleClearDraw()),this.saving=!1}).catch(l=>{console.error("save marker error",l),this.saving=!1})}}},bp={class:"text-h6 font-weight-600"},wp={class:"text-label mb-1"},xp={class:"text-label mb-1"},kp={class:"mb-1"},_p={class:"text-label mb-1"},Lp={class:"mb-1"},zp={class:"text-label mb-1"},Cp={class:"mb-1"},vp={class:"text-label mb-1"},Sp={class:"color-picker-row d-flex align-start ga-2"},Np=["value"],Pp={class:"mb-n2"},Mp={class:"text-label mb-1"},Vp={class:"mb-1"},Tp={class:"text-label mb-1"},Dp={class:"color-picker-row d-flex align-start ga-2"},Ep=["value"],Rp={class:"mb-n2"},Bp={class:"text-label mb-1"},Ip={class:"mb-3"},Ap={class:"text-label mb-1"},Fp={class:"mb-1"},Gp={class:"text-label mb-1"},Wp={class:"color-picker-row d-flex align-start ga-2"},Zp=["value"],Op={class:"mb-n2"},jp={class:"text-label mb-1"};function Hp(e,t,a,r,i,l){const n=o.resolveComponent("VBtn"),c=o.resolveComponent("v-card-title"),s=o.resolveComponent("v-divider"),m=o.resolveComponent("v-text-field"),d=o.resolveComponent("v-card-text"),h=o.resolveComponent("v-btn"),u=o.resolveComponent("v-btn-toggle"),y=o.resolveComponent("VTextField"),g=o.resolveComponent("v-col"),p=o.resolveComponent("v-row"),f=o.resolveComponent("VDivider"),x=o.resolveComponent("VCardActions"),L=o.resolveComponent("VForm"),w=o.resolveComponent("v-card");return o.openBlock(),o.createBlock(w,{class:"idm-gl4-draw-dialog-card",elevation:"4"},{default:o.withCtx(()=>[o.createVNode(c,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>{var b;return[o.createElementVNode("span",bp,o.toDisplayString((b=a.editLayer)!=null&&b.id?e.$t("actions.edit"):e.$t("marker.addMarker")),1),o.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:l.handleClose},{default:o.withCtx(()=>t[21]||(t[21]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[21]},8,["onClick"])]}),_:1}),o.createVNode(s),o.createVNode(d,{class:"text-body-1 px-4 pb-0"},{default:o.withCtx(()=>{var b;return[o.createElementVNode("div",wp,o.toDisplayString(e.$t("marker.group")),1),o.createVNode(m,{"model-value":(b=a.group)==null?void 0:b.name,density:"compact",variant:"outlined","hide-details":"",disabled:"",class:"input-btn-bg-1"},null,8,["model-value"])]}),_:1}),o.createVNode(d,{class:"text-body-1 px-4 pb-0"},{default:o.withCtx(()=>{var b;return[o.createElementVNode("div",xp,[o.createTextVNode(o.toDisplayString(e.$t("marker.markerType")),1),t[22]||(t[22]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(u,{modelValue:i.markerType,"onUpdate:modelValue":t[0]||(t[0]=C=>i.markerType=C),mandatory:"",group:"",density:"compact",variant:"flat",class:"w-100",disabled:!!((b=a.editLayer)!=null&&b.id)},{default:o.withCtx(()=>[o.createVNode(h,{value:"Point",class:o.normalizeClass(["flex-1-1-0 text-none text-body-1",i.markerType==="Point"?"":"btn-border-1 btn-bg-1"]),color:i.markerType==="Point"?"primary":"","base-color":"",height:"32px","min-height":"32px"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("marker.point")),1)]),_:1},8,["class","color"]),o.createVNode(h,{value:"Line",class:o.normalizeClass(["flex-1-1-0 text-none text-body-1",i.markerType==="Line"?"":"btn-border-1 btn-bg-1"]),style:{"border-left":"0 !important","border-right":"0 !important"},color:i.markerType==="Line"?"primary":"",height:"32px","min-height":"32px"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("marker.line")),1)]),_:1},8,["class","color"]),o.createVNode(h,{value:"Area",class:o.normalizeClass(["flex-1-1-0 text-none text-body-1",i.markerType==="Area"?"":"btn-border-1 btn-bg-1"]),color:i.markerType==="Area"?"primary":"",height:"32px","min-height":"32px"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("marker.area")),1)]),_:1},8,["class","color"])]),_:1},8,["modelValue","disabled"])]}),_:1}),i.markerType==="Point"?(o.openBlock(),o.createBlock(L,{key:0,ref:"pointForm",autocomplete:"off",class:"form-box",onSubmit:o.withModifiers(l.handleSave,["prevent"])},{default:o.withCtx(()=>[o.createVNode(d,{class:"px-4 text-body-1"},{default:o.withCtx(()=>[o.createElementVNode("div",kp,[o.createElementVNode("div",_p,[o.createTextVNode(o.toDisplayString(e.$t("marker.lat")),1),t[23]||(t[23]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(p,{class:"ma-0"},{default:o.withCtx(()=>[o.createVNode(g,{cols:"4",class:"pa-0 d-flex"},{default:o.withCtx(()=>[o.createVNode(y,{modelValue:i.form.latDegree,"onUpdate:modelValue":[t[1]||(t[1]=b=>i.form.latDegree=b),t[2]||(t[2]=b=>l.handleChangePoint())],rules:i.formRules.latDegree,label:"",autocomplete:"off",density:"compact",variant:"outlined",height:"32px","min-height":"32px",required:"",dense:"",class:"text-body-1 input-btn-bg-1"},null,8,["modelValue","rules"]),t[24]||(t[24]=o.createElementVNode("span",{class:"px-1"},"°",-1))]),_:1,__:[24]}),o.createVNode(g,{cols:"6",class:"pa-0 d-flex"},{default:o.withCtx(()=>[o.createVNode(y,{modelValue:i.form.latMinute,"onUpdate:modelValue":[t[3]||(t[3]=b=>i.form.latMinute=b),t[4]||(t[4]=b=>l.handleChangePoint())],rules:i.formRules.latMinute,label:"",height:"32px","min-height":"32px",autocomplete:"off",density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),t[25]||(t[25]=o.createElementVNode("span",{class:"px-1"},"'",-1))]),_:1,__:[25]}),o.createVNode(g,{cols:"2",class:"pa-0"},{default:o.withCtx(()=>[o.createVNode(h,{variant:"outlined",density:"compact",width:"32","min-width":"32",height:"32",class:"text-body-1 bg-primary",style:{border:"1px solid rgba(var(--v-theme-on-surface), 0.38)"},onClick:t[5]||(t[5]=b=>(i.form.latDir=i.form.latDir==="N"?"S":"N",l.handleChangePoint()))},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(i.form.latDir),1)]),_:1})]),_:1})]),_:1})]),o.createElementVNode("div",Lp,[o.createElementVNode("div",zp,[o.createTextVNode(o.toDisplayString(e.$t("marker.lng")),1),t[26]||(t[26]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(p,{class:"ma-0"},{default:o.withCtx(()=>[o.createVNode(g,{cols:"4",class:"pa-0 d-flex"},{default:o.withCtx(()=>[o.createVNode(m,{modelValue:i.form.lngDegree,"onUpdate:modelValue":[t[6]||(t[6]=b=>i.form.lngDegree=b),t[7]||(t[7]=b=>l.handleChangePoint())],rules:i.formRules.lngDegree,density:"compact",variant:"outlined",autocomplete:"off",class:"text-body-1 input-btn-bg-1"},null,8,["modelValue","rules"]),t[27]||(t[27]=o.createElementVNode("span",{class:"px-1"},"°",-1))]),_:1,__:[27]}),o.createVNode(g,{cols:"6",class:"pa-0 d-flex"},{default:o.withCtx(()=>[o.createVNode(m,{modelValue:i.form.lngMinute,"onUpdate:modelValue":[t[8]||(t[8]=b=>i.form.lngMinute=b),t[9]||(t[9]=b=>l.handleChangePoint())],rules:i.formRules.lngMinute,density:"compact",variant:"outlined",autocomplete:"off",class:"text-body-1 input-btn-bg-1"},null,8,["modelValue","rules"]),t[28]||(t[28]=o.createElementVNode("span",{class:"px-1"},"'",-1))]),_:1,__:[28]}),o.createVNode(g,{cols:"2",class:"pa-0"},{default:o.withCtx(()=>[o.createVNode(h,{variant:"outlined",density:"compact",width:"32","min-width":"32",height:"32",class:"text-body-1 bg-primary",style:{border:"1px solid rgba(var(--v-theme-on-surface), 0.38)"},onClick:t[10]||(t[10]=b=>(i.form.lngDir=i.form.lngDir==="E"?"W":"E",l.handleChangePoint()))},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(i.form.lngDir),1)]),_:1})]),_:1})]),_:1})]),o.createElementVNode("div",Cp,[o.createElementVNode("div",vp,[o.createTextVNode(o.toDisplayString(e.$t("marker.color")),1),t[29]||(t[29]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createElementVNode("div",Sp,[o.createElementVNode("input",{type:"color",value:i.form.color,class:"native-color-picker cursor-pointer",onInput:t[11]||(t[11]=b=>i.form.color=b.target.value)},null,40,Np),o.createVNode(m,{modelValue:i.form.color,"onUpdate:modelValue":t[12]||(t[12]=b=>i.form.color=b),rules:i.formRules.color,density:"compact",variant:"outlined",class:"flex-1-1-0"},null,8,["modelValue","rules"])])]),o.createElementVNode("div",Pp,[o.createElementVNode("div",Mp,[o.createTextVNode(o.toDisplayString(e.$t("marker.name")),1),t[30]||(t[30]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(m,{modelValue:i.form.name,"onUpdate:modelValue":t[13]||(t[13]=b=>i.form.name=b),density:"compact",variant:"outlined",rules:i.formRules.name,autocomplete:"off",class:"input-btn-bg-1"},null,8,["modelValue","rules"])])]),_:1}),o.createVNode(f),o.createVNode(x,{class:"w-100 d-flex justify-end align-center ga-4 pa-4"},{default:o.withCtx(()=>[o.createVNode(h,{class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleClearDraw},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("marker.clearMap")),1)]),_:1},8,["onClick"]),o.createVNode(h,{class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleClearAll},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.clear")),1)]),_:1},8,["onClick"]),o.createVNode(h,{class:"text-none text-body-1",variant:"flat",color:"primary",density:"comfortable",type:"submit",loading:i.saving},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.save")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["onSubmit"])):o.createCommentVNode("",!0),i.markerType==="Line"?(o.openBlock(),o.createBlock(L,{key:1,ref:"lineForm",autocomplete:"off",class:"form-box",onSubmit:o.withModifiers(l.handleSave,["prevent"])},{default:o.withCtx(()=>[o.createVNode(d,{class:"px-4 text-body-1"},{default:o.withCtx(()=>[o.createElementVNode("div",Vp,[o.createElementVNode("div",Tp,[o.createTextVNode(o.toDisplayString(e.$t("marker.color")),1),t[31]||(t[31]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createElementVNode("div",Dp,[o.createElementVNode("input",{type:"color",value:i.form.color,class:"native-color-picker cursor-pointer",onInput:t[14]||(t[14]=b=>i.form.color=b.target.value)},null,40,Ep),o.createVNode(m,{modelValue:i.form.color,"onUpdate:modelValue":t[15]||(t[15]=b=>i.form.color=b),rules:i.formRules.color,density:"compact",variant:"outlined",class:"flex-1-1-0"},null,8,["modelValue","rules"])])]),o.createElementVNode("div",Rp,[o.createElementVNode("div",Bp,[o.createTextVNode(o.toDisplayString(e.$t("marker.name")),1),t[32]||(t[32]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(m,{modelValue:i.form.name,"onUpdate:modelValue":t[16]||(t[16]=b=>i.form.name=b),density:"compact",variant:"outlined",rules:i.formRules.name,autocomplete:"off",class:"input-btn-bg-1"},null,8,["modelValue","rules"])])]),_:1}),o.createVNode(f),o.createVNode(x,{class:"w-100 d-flex justify-end align-center ga-4 pa-4"},{default:o.withCtx(()=>[o.createVNode(h,{class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleClearDraw},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("marker.clearMap")),1)]),_:1},8,["onClick"]),o.createVNode(h,{class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleClearAll},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.clear")),1)]),_:1},8,["onClick"]),o.createVNode(h,{class:"text-none text-body-1",variant:"flat",color:"primary",density:"comfortable",type:"submit",loading:i.saving},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.save")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["onSubmit"])):o.createCommentVNode("",!0),i.markerType==="Area"?(o.openBlock(),o.createBlock(L,{key:2,ref:"areaForm",autocomplete:"off",class:"form-box",onSubmit:o.withModifiers(l.handleSave,["prevent"])},{default:o.withCtx(()=>[o.createVNode(d,{class:"px-4 text-body-1"},{default:o.withCtx(()=>{var b;return[o.createElementVNode("div",Ip,[o.createElementVNode("div",Ap,[o.createTextVNode(o.toDisplayString(e.$t("marker.areaType")),1),t[33]||(t[33]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(u,{modelValue:i.form.areaType,"onUpdate:modelValue":t[17]||(t[17]=C=>i.form.areaType=C),mandatory:"",group:"",density:"compact",variant:"flat",color:"primary",class:"w-100",disabled:!!((b=a.editLayer)!=null&&b.id)},{default:o.withCtx(()=>[o.createVNode(h,{value:"Polygon",class:o.normalizeClass(["flex-1-1-0 text-none text-body-1",i.form.areaType==="Polygon"?"":"btn-border-1 btn-bg-1"]),color:i.form.areaType==="Polygon"?"primary":"","base-color":"",height:"32px","min-height":"32px"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("marker.polygon")),1)]),_:1},8,["class","color"]),o.createVNode(h,{value:"Circle",class:o.normalizeClass(["flex-1-1-0 text-none text-body-1",i.form.areaType==="Circle"?"":"btn-border-1 btn-bg-1"]),style:{"border-left":"0 !important","border-right":"0 !important"},color:i.form.areaType==="Circle"?"primary":"","base-color":"",height:"32px","min-height":"32px"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("marker.circle")),1)]),_:1},8,["class","color"]),o.createVNode(h,{value:"Rect",class:o.normalizeClass(["flex-1-1-0 text-none text-body-1",i.form.areaType==="Rect"?"":"btn-border-1 btn-bg-1"]),color:i.form.areaType==="Rect"?"primary":"","base-color":"",height:"32px","min-height":"32px"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("marker.rect")),1)]),_:1},8,["class","color"])]),_:1},8,["modelValue","disabled"])]),o.createElementVNode("div",Fp,[o.createElementVNode("div",Gp,[o.createTextVNode(o.toDisplayString(e.$t("marker.color")),1),t[34]||(t[34]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createElementVNode("div",Wp,[o.createElementVNode("input",{type:"color",value:i.form.color,class:"native-color-picker cursor-pointer",onInput:t[18]||(t[18]=C=>i.form.color=C.target.value)},null,40,Zp),o.createVNode(m,{modelValue:i.form.color,"onUpdate:modelValue":t[19]||(t[19]=C=>i.form.color=C),rules:i.formRules.color,density:"compact",variant:"outlined",class:"flex-1-1-0"},null,8,["modelValue","rules"])])]),o.createElementVNode("div",Op,[o.createElementVNode("div",jp,[o.createTextVNode(o.toDisplayString(e.$t("marker.name")),1),t[35]||(t[35]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(m,{modelValue:i.form.name,"onUpdate:modelValue":t[20]||(t[20]=C=>i.form.name=C),density:"compact",variant:"outlined",rules:i.formRules.name,autocomplete:"off",class:"input-btn-bg-1"},null,8,["modelValue","rules"])])]}),_:1}),o.createVNode(f),o.createVNode(x,{class:"w-100 d-flex justify-end align-center ga-4 pa-4"},{default:o.withCtx(()=>{var b;return[(b=a.editLayer)!=null&&b.id?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(h,{key:0,class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleClearDraw},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("marker.clearMap")),1)]),_:1},8,["onClick"])),o.createVNode(h,{class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleClearAll},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.reset")),1)]),_:1},8,["onClick"]),o.createVNode(h,{class:"text-none text-body-1",variant:"flat",color:"primary",density:"comfortable",type:"submit",loading:i.saving},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.save")),1)]),_:1},8,["loading"])]}),_:1})]),_:1},8,["onSubmit"])):o.createCommentVNode("",!0)]),_:1})}const Xp=X(yp,[["render",Hp]]),Ry="",Yp={name:"IdmImportMarker",props:{map:{type:Object},gateway:{type:String},token:{type:String},defaultMeteoToken:{type:String},group:{type:Object,default:null}},emits:["close","import"],data(){return{form:{groupName:"",name:"",file:null,format:"",extend:void 0},formRules:{groupName:[e=>e!=null&&e!==""||"required"]},isDragOver:!1,uploading:!1,previewSourceId:"__import_preview__",previewMarkers:[]}},mounted(){var e;this.form.groupName=((e=this.group)==null?void 0:e.name)||"Import layer 1"},beforeUnmount(){this.handleClearPreview()},methods:{handleClose(){this.$emit("close")},handleReset(){var e;this.form={groupName:((e=this.group)==null?void 0:e.name)||"Import layer 1",file:null,format:"",extend:void 0}},handleSelectFile(){this.$refs.fileInput.click()},handleFileChange(e){const t=e.target.files[0];t&&this.onUpload(t)},handleDrop(e){this.isDragOver=!1;const t=e.dataTransfer.files[0];t&&this.onUpload(t)},onUpload(e){var i,l;if(e.size>10485760){this.$emit("error",this.$t("marker.fileTooLarge"));return}this.form.file=e,this.form.name=(i=e.name.split("."))==null?void 0:i[0];const a=(l=e.name.split(".").pop())==null?void 0:l.toLowerCase(),r=new FileReader;r.onload=n=>{const c=new Uint8Array(n.target.result);if(c[0]===80&&c[1]===75){const d=new FileReader;d.onload=async h=>{try{const u=await wr(h.target.result),y=Array.isArray(u)?{type:"FeatureCollection",features:u.flatMap(g=>g.features||[])}:u;this.form.extend=y,this.form.format="geojson",this.handleDrawLayers()}catch(u){console.error("Shapefile parse error",u),this.$emit("error","Failed to parse shapefile"),this.form.file=null}},d.readAsArrayBuffer(e);return}const m=new FileReader;m.onload=d=>{try{const h=d.target.result;if(a==="json"||a==="geojson")this.form.extend=JSON.parse(h),this.form.format="geojson";else if(a==="kml"){const u=new DOMParser().parseFromString(h,"text/xml");this.form.extend=this.kmlToGeoJSON(u),this.form.format="geojson"}else this.$emit("error","Unsupported format: "+a);this.handleDrawLayers()}catch(h){console.error("File parse error",h),this.$emit("error","Failed to parse file")}},m.readAsText(e)},r.readAsArrayBuffer(e.slice(0,4))},kmlToGeoJSON(e){const t=[];return e.querySelectorAll("Placemark").forEach(r=>{var s;const i=((s=r.querySelector("name"))==null?void 0:s.textContent)||"",l=r.querySelector("Point > coordinates");if(l){const[m,d]=l.textContent.trim().split(",").map(Number);t.push({type:"Feature",geometry:{type:"Point",coordinates:[m,d]},properties:{name:i}});return}const n=r.querySelector("LineString > coordinates");if(n){const m=n.textContent.trim().split(/\s+/).map(d=>d.split(",").map(Number).slice(0,2));t.push({type:"Feature",geometry:{type:"LineString",coordinates:m},properties:{name:i}});return}const c=r.querySelector("outerBoundaryIs LinearRing coordinates");if(c){const m=c.textContent.trim().split(/\s+/).map(d=>d.split(",").map(Number).slice(0,2));t.push({type:"Feature",geometry:{type:"Polygon",coordinates:[m]},properties:{name:i}})}}),{type:"FeatureCollection",features:t}},handleRemoveFile(){this.form.file=null,this.$refs.fileInput.value="",this.handleClearPreview()},async handleConfirm(){const{valid:e}=await this.$refs.importForm.validate();if(!e)return;if(!this.form.file){this.$emit("error",this.$t("marker.fileRequired"));return}this.uploading=!0;let t=this.group.id;if(t||await le.post(`${this.gateway}/api/arc/lygroups`,{name:this.form.groupName},{headers:{Authorization:this.token||this.defaultMeteoToken,version:"new"}}).then(r=>{var i,l;((i=r.data)==null?void 0:i.code)===0&&(t=(l=r.data.data)==null?void 0:l.id)}),!t)return;const a={name:this.form.name,format:this.form.format,color:this.form.color||"#2aff00",extend:this.form.extend};await le.post(`${this.gateway}/api/arc/lygroups/${t}/layers`,a,{headers:{Authorization:this.token||this.defaultMeteoToken,version:"new"}}).then(r=>{var i;((i=r.data)==null?void 0:i.code)===0&&(this.$emit("import"),this.uploading=!1)}).catch(r=>{this.uploading=!1})},handleDrawLayers(){if(!this.map||!this.form.extend)return;this.handleClearPreview();const e=this.form.extend,t=this.form.color||"#2aff00",a=this.previewSourceId,r=e.features||(e.type==="Feature"?[e]:[]),i=[];r.forEach(c=>{var d;const s=(d=c.geometry)==null?void 0:d.type;let m=[];s==="LineString"?m=c.geometry.coordinates:s==="MultiLineString"?m=c.geometry.coordinates.flat():s==="Polygon"?m=c.geometry.coordinates[0]:s==="MultiPolygon"&&(m=c.geometry.coordinates.flat(2)),m.forEach(h=>i.push(V.point(h,{_vertex:!0})))}),r.forEach(c=>{var s;if(((s=c.geometry)==null?void 0:s.type)==="Point"){const[m,d]=c.geometry.coordinates;this.previewMarkers.push(new ne.Marker({color:t}).setLngLat([m,d]).addTo(this.map))}});const l=V.featureCollection([...r.filter(c=>{var s;return((s=c.geometry)==null?void 0:s.type)!=="Point"}),...i]);this.map.getSource(a)?this.map.getSource(a).setData(l):this.map.addSource(a,{type:"geojson",data:l});const n=new Set(r.map(c=>{var s;return(s=c.geometry)==null?void 0:s.type}));(n.has("LineString")||n.has("MultiLineString"))&&!this.map.getLayer(`${a}-line`)&&this.map.addLayer({id:`${a}-line`,type:"line",source:a,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":t,"line-width":2}}),(n.has("Polygon")||n.has("MultiPolygon"))&&(this.map.getLayer(`${a}-fill`)||this.map.addLayer({id:`${a}-fill`,type:"fill",source:a,filter:["==","$type","Polygon"],paint:{"fill-color":t,"fill-opacity":.35}}),this.map.getLayer(`${a}-outline`)||this.map.addLayer({id:`${a}-outline`,type:"line",source:a,filter:["==","$type","Polygon"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":t,"line-width":2}})),i.length&&!this.map.getLayer(`${a}-vertex`)&&this.map.addLayer({id:`${a}-vertex`,type:"circle",source:a,filter:["==",["get","_vertex"],!0],paint:{"circle-radius":4,"circle-color":t,"circle-stroke-width":2,"circle-stroke-color":"#ffffff"}})},handleClearPreview(){if(!this.map)return;this.previewMarkers.forEach(a=>a.remove()),this.previewMarkers=[];const e=this.previewSourceId;[`${e}-vertex`,`${e}-point`,`${e}-line`,`${e}-fill`,`${e}-outline`].forEach(a=>{this.map.getLayer(a)&&this.map.removeLayer(a)}),this.map.getSource(e)&&this.map.removeSource(e)}}},Up={class:"text-h6 font-weight-600"},$p={class:"mb-4"},Jp={class:"text-label mb-1"},Kp={class:"text-body-2 text-center text-label"},qp={class:"text-body-1 text-primary mt-2 cursor-pointer"},Qp={class:"text-body-2 text-left text-label mt-1"},eg={key:0,class:"d-flex align-center justify-space-between mt-2 px-2"},tg={class:"text-body-2 text-truncate"};function og(e,t,a,r,i,l){const n=o.resolveComponent("VBtn"),c=o.resolveComponent("v-card-title"),s=o.resolveComponent("v-divider"),m=o.resolveComponent("v-text-field"),d=o.resolveComponent("v-icon"),h=o.resolveComponent("v-card-text"),u=o.resolveComponent("VDivider"),y=o.resolveComponent("v-btn"),g=o.resolveComponent("VCardActions"),p=o.resolveComponent("VForm"),f=o.resolveComponent("v-card");return o.openBlock(),o.createBlock(f,{class:"idm-gl4-import-dialog-card",elevation:"4"},{default:o.withCtx(()=>[o.createVNode(c,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>[o.createElementVNode("span",Up,o.toDisplayString(e.$t("marker.importLayer")),1),o.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:l.handleClose},{default:o.withCtx(()=>t[7]||(t[7]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[7]},8,["onClick"])]),_:1}),o.createVNode(s),o.createVNode(p,{ref:"importForm",autocomplete:"off",class:"form-box",onSubmit:o.withModifiers(l.handleConfirm,["prevent"])},{default:o.withCtx(()=>[o.createVNode(h,{class:"px-4 text-body-1"},{default:o.withCtx(()=>[o.createElementVNode("div",$p,[o.createElementVNode("div",Jp,[o.createTextVNode(o.toDisplayString(e.$t("marker.group")),1),t[8]||(t[8]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(m,{modelValue:i.form.groupName,"onUpdate:modelValue":t[0]||(t[0]=x=>i.form.groupName=x),density:"compact",variant:"outlined","hide-details":"",class:"input-btn-bg-1"},null,8,["modelValue"])]),o.createElementVNode("div",{class:o.normalizeClass(["upload-area d-flex flex-column justify-center align-center pa-4",{"drag-over":i.isDragOver}]),onDragenter:t[2]||(t[2]=o.withModifiers(x=>i.isDragOver=!0,["prevent"])),onDragleave:t[3]||(t[3]=o.withModifiers(x=>i.isDragOver=!1,["prevent"])),onDragover:t[4]||(t[4]=o.withModifiers(()=>{},["prevent"])),onDrop:t[5]||(t[5]=o.withModifiers((...x)=>l.handleDrop&&l.handleDrop(...x),["prevent"])),onClick:t[6]||(t[6]=(...x)=>l.handleSelectFile&&l.handleSelectFile(...x))},[o.createVNode(d,{size:"36",color:"grey",class:"mb-2"},{default:o.withCtx(()=>t[9]||(t[9]=[o.createTextVNode("mdi-cloud-upload-outline",-1)])),_:1,__:[9]}),o.createElementVNode("div",Kp,o.toDisplayString(e.$t("marker.uploadHint")),1),o.createElementVNode("div",qp,o.toDisplayString(e.$t("marker.selectFile")),1),o.createElementVNode("input",{ref:"fileInput",type:"file",style:{display:"none"},accept:".json,.geojson,.zip,.shp,.kml,.kmz",onChange:t[1]||(t[1]=(...x)=>l.handleFileChange&&l.handleFileChange(...x))},null,544)],34),o.createElementVNode("div",Qp,o.toDisplayString(e.$t("marker.uploadLimit")),1),i.form.file?(o.openBlock(),o.createElementBlock("div",eg,[o.createElementVNode("span",tg,o.toDisplayString(i.form.file.name),1),o.createVNode(n,{icon:"",density:"compact",variant:"plain",size:"small",onClick:l.handleRemoveFile},{default:o.withCtx(()=>[o.createVNode(d,{size:"16"},{default:o.withCtx(()=>t[10]||(t[10]=[o.createTextVNode("mdi-close",-1)])),_:1,__:[10]})]),_:1},8,["onClick"])])):o.createCommentVNode("",!0)]),_:1}),o.createVNode(u),o.createVNode(g,{class:"w-100 d-flex justify-end align-center ga-4 pa-4"},{default:o.withCtx(()=>[o.createVNode(y,{class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleReset},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.reset")),1)]),_:1},8,["onClick"]),o.createVNode(y,{class:"text-none text-body-1",variant:"flat",color:"primary",density:"comfortable",type:"submit",loading:i.uploading},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.confirm")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["onSubmit"])]),_:1})}const ag=X(Yp,[["render",og]]),By="",ig={name:"IdmGroupDialog",props:{modelValue:{type:Boolean,default:!1},group:{type:Object,default:null},gateway:{type:String},token:{type:String},defaultMeteoToken:{type:String}},emits:["update:modelValue","saved"],data(){return{localName:"",saving:!1}},watch:{group:{handler(e){this.localName=(e==null?void 0:e.name)||""},immediate:!0}},methods:{handleClose(){this.$emit("update:modelValue",!1)},async handleConfirm(){var e;!this.group||!((e=this.localName)!=null&&e.trim())||(this.saving=!0,await le.put(`${this.gateway}/api/arc/lygroups/${this.group.id}`,{name:this.localName},{headers:{Authorization:this.token||this.defaultMeteoToken,version:"new"}}).then(t=>{var a;((a=t.data)==null?void 0:a.code)===0&&this.$emit("saved")}).catch(()=>{}).finally(()=>{this.saving=!1}))}}},rg={class:"text-h6 font-weight-600"},lg={class:"text-label mb-2"};function ng(e,t,a,r,i,l){const n=o.resolveComponent("VBtn"),c=o.resolveComponent("v-card-title"),s=o.resolveComponent("v-divider"),m=o.resolveComponent("v-text-field"),d=o.resolveComponent("v-card-text"),h=o.resolveComponent("VDivider"),u=o.resolveComponent("v-btn"),y=o.resolveComponent("VCardActions"),g=o.resolveComponent("v-card"),p=o.resolveComponent("v-dialog");return o.openBlock(),o.createBlock(p,{"model-value":a.modelValue,"max-width":"320",persistent:"","onUpdate:modelValue":t[1]||(t[1]=f=>e.$emit("update:modelValue",f))},{default:o.withCtx(()=>[o.createVNode(g,{class:"",elevation:"4"},{default:o.withCtx(()=>[o.createVNode(c,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>[o.createElementVNode("span",rg,o.toDisplayString(e.$t("actions.editGroup")),1),o.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:l.handleClose},{default:o.withCtx(()=>t[2]||(t[2]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[2]},8,["onClick"])]),_:1}),o.createVNode(s),o.createVNode(d,{class:"px-4 text-body-1"},{default:o.withCtx(()=>[o.createElementVNode("div",lg,[o.createTextVNode(o.toDisplayString(e.$t("marker.groupName")),1),t[3]||(t[3]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(m,{modelValue:i.localName,"onUpdate:modelValue":t[0]||(t[0]=f=>i.localName=f),density:"compact",variant:"outlined","hide-details":"",autocomplete:"off",height:"32px","min-height":"32px",class:"input-btn-bg-1"},null,8,["modelValue"])]),_:1}),o.createVNode(h),o.createVNode(y,{class:"w-100 d-flex justify-end align-center ga-4 pa-4"},{default:o.withCtx(()=>[o.createVNode(u,{class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleClose},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.cancel")),1)]),_:1},8,["onClick"]),o.createVNode(u,{class:"text-none text-body-1",variant:"flat",color:"primary",density:"comfortable",loading:i.saving,onClick:l.handleConfirm},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.confirm")),1)]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["model-value"])}const sg=X(ig,[["render",ng]]),cg={name:"DeleteDialog",props:{title:{type:String},tips:{type:String},loading:{type:Boolean,default:!1}},setup(){},emits:["close","delete"],data(){return{showDialog:!1}},watch:{},mounted(){},methods:{handleClose(){this.showDialog=!1},handleDelete(){this.$emit("delete")},open(){this.showDialog=!0}}},mg={class:"text-body-1 pb-1"},dg={class:"text-body-1"};function hg(e,t,a,r,i,l){const n=o.resolveComponent("v-icon"),c=o.resolveComponent("VBtn"),s=o.resolveComponent("v-card-title"),m=o.resolveComponent("v-card-text"),d=o.resolveComponent("v-card-actions"),h=o.resolveComponent("v-card"),u=o.resolveComponent("v-dialog");return o.openBlock(),o.createBlock(u,{modelValue:i.showDialog,"onUpdate:modelValue":t[0]||(t[0]=y=>i.showDialog=y),width:"500","min-width":"500","max-width":"500"},{default:o.withCtx(()=>[o.createVNode(h,{class:""},{default:o.withCtx(()=>[o.createVNode(s,{class:"text-h6 font-weight-600 d-flex justify-center align-center py-4"},{default:o.withCtx(()=>[o.createVNode(n,{color:"warning",icon:"mdi-alert-circle",size:"small",class:"mr-2"}),o.createElementVNode("div",null,o.toDisplayString(a.title),1),o.createVNode(c,{icon:"",density:"compact",variant:"plain",class:"position-absolute top-0 right-0 mt-2 mr-2",onClick:l.handleClose},{default:o.withCtx(()=>t[1]||(t[1]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[1]},8,["onClick"])]),_:1}),o.createVNode(m,{class:"py-4 text-center"},{default:o.withCtx(()=>[o.createElementVNode("p",mg,o.toDisplayString(a.tips),1),o.createElementVNode("p",dg,o.toDisplayString(e.$t("tips.doYouWantToContinue")),1)]),_:1}),o.createVNode(d,{class:"w-100 d-flex justify-center align-center ga-8 py-6"},{default:o.withCtx(()=>[o.createVNode(c,{variant:"tonal",class:"text-none text-body-1",height:"32",onClick:l.handleClose},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.cancel")),1)]),_:1},8,["onClick"]),o.createVNode(c,{loading:a.loading,variant:"flat",color:"danger",class:"text-none text-body-1",height:"32",onClick:l.handleDelete},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.delete")),1)]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])}const pg=X(cg,[["render",hg]]),Iy="",gg={name:"IdmMarker",components:{IdmDrawMarker:Xp,IdmImportMarker:ag,IdmGroupDialog:sg,DeleteDialog:pg},props:{simple:{type:Boolean,default:!1},map:{type:Object},theme:{type:String},token:{type:String},isLogin:{type:Boolean,default:!1},defaultMeteoToken:{type:String},gateway:{type:String},assistGateway:{type:Array,default:[]},top:{type:Number,default:60},paddingTop:{type:Number,default:48},menuToggle:{type:Object,default:{}}},setup(){return{Theme:we.useTheme()}},emits:["map","menuToggle","theme"],data(){return{right:10,toggle:!1,autoActive:!0,keyword:"",drawDialog:!1,importDialog:!1,loading:!1,deleteDialog:!1,deleteLoading:!1,layerGroup:[],layers:[],groupIndex:0,currentLayer:void 0,drawnLayerIds:[],layerMarkers:{},groupDialog:!1,currentGroup:null,currentGroupId:"",currentGroupName:""}},watch:{"menuToggle.v":{handler(){this.toggle=this.menuToggle.markerLayers,this.$nextTick(()=>{var e;this.simple||(this.right=(((e=document.getElementsByClassName("right-bar")[0])==null?void 0:e.clientWidth)||0)+10)})},immediate:!0},toggle:{async handler(){this.toggle?await this.fetchAllLayers():this.handleClearAllLayers()}},autoActive:{async handler(){this.autoActive?this.handleDrawAllLayers():this.handleClearAllLayers()}}},methods:{handleMenuToggle(){this.isLogin?(this.toggle=!this.toggle,this.$emit("menuToggle","markerLayers")):this.$emit("login")},handleEditGroup(e){this.drawDialog=!1,this.importDialog=!1,this.currentGroup=e,this.groupDialog=!0},handleSaveGroup(){this.fetchAllLayers(),this.groupDialog=!1,this.currentGroup=void 0},handleOpenDelete(e,t){e==="group"?(this.currentGroup=t,this.currentLayer=void 0):e==="layer"&&(this.currentGroup=void 0,this.currentLayer=t),this.$refs.deleteDialog.open()},confirmDelete(){var e;this.currentGroup?this.handleDeleteGroup((e=this.currentGroup)==null?void 0:e.id):this.currentLayer&&this.handleDeleteLayer(this.currentLayer)},async handleDeleteGroup(e){e&&(this.deleteLoading=!0,await le.delete(`${this.gateway}/api/arc/lygroups/${e}`,{headers:{Authorization:this.token||this.defaultMeteoToken,version:"new"}}).then(t=>{var a;((a=t.data)==null?void 0:a.code)===0&&(this.fetchAllLayers(),this.currentGroup=void 0,this.$refs.deleteDialog.handleClose(),this.deleteLoading=!1)}).catch(()=>{this.deleteLoading=!1}))},handleOpenDrawMarkers(e){this.handleCloseDraw(),this.currentGroup=e||this.layerGroup.find(t=>t.name==="Custom Layers"),this.importDialog=!1,this.drawDialog=!0},handleOpenImportDialog(e){this.drawDialog=!1,this.handleCloseDraw(),this.currentGroup=e||void 0,this.importDialog=!0},handleImportLayer(e){this.fetchAllLayers(),this.importDialog=!1},handleSaveMarker(e){this.fetchAllLayers(),this.drawDialog=!1,this.currentLayer=null},handleCloseDraw(){this.drawDialog=!1,this.currentLayer=null,this.autoActive&&this.handleDrawAllLayers(),this.currentGroup=void 0},handleEditLayer(e,t){this.importDialog=!1,this.currentGroup=e,this.currentLayer=t,this.handleClearLayer(),this.drawDialog=!0},async fetchAllLayers(){this.loading=!0,await le.get(`${this.gateway}/api/arc/lygroups/my`,{headers:{Authorization:this.token||this.defaultMeteoToken,version:"new"}}).then(e=>{var t,a,r,i,l;if(((t=e.data)==null?void 0:t.code)===0){this.loading=!1,this.layerGroup=((i=(r=(a=e.data)==null?void 0:a.data)==null?void 0:r.rows)==null?void 0:i.reverse())||[];const n=[];(l=this.layerGroup)==null||l.forEach(c=>{var s;c.show=!0,(s=c.layers)==null||s.forEach(m=>{m.layerGroupId=c.id,n.push(m)})}),this.layers=n,this.handleDrawAllLayers()}}).catch(()=>{this.loading=!1})},async handleDeleteLayer(e){this.deleteLoading=!0,await le.delete(`${this.gateway}/api/arc/layers/${e.id}`,{headers:{Authorization:this.token||this.defaultMeteoToken,version:"new"}}).then(t=>{var a;((a=t.data)==null?void 0:a.code)===0&&(this.deleteLoading=!1,this.fetchAllLayers(),this.$refs.deleteDialog.handleClose())}).catch(()=>{this.deleteLoading=!1})},handleRenderLayer(e){var m;if(!this.map||!(e!=null&&e.extend))return;const t=typeof e.extend=="string"?JSON.parse(e.extend):e.extend;if(!t)return;const a=`marker-layer-${e.id}`,r=e.color||((m=this.Theme.current.value.colors)==null?void 0:m["map-green"])||"#4CAF50";this.handleClearLayerMarkers(e.id);const i=t.features||(t.type==="Feature"?[t]:[]);if(i.some(d=>{var h,u;return(((h=d.geometry)==null?void 0:h.type)==="Point"||((u=d.geometry)==null?void 0:u.type)==="MultiPoint")&&d.properties.type==="point"})){const d=[];i.forEach(h=>{var y;const u=(y=h.geometry)==null?void 0:y.type;if(u==="Point"){const[g,p]=h.geometry.coordinates;d.push(new ne.Marker({color:r}).setLngLat([g,p]).addTo(this.map))}else u==="MultiPoint"&&h.geometry.coordinates.forEach(([g,p])=>{d.push(new ne.Marker({color:r}).setLngLat([g,p]).addTo(this.map))})}),this.layerMarkers[e.id]=d}const n=this.handleEnrichGeojson(t);this.map.getSource(a)?this.map.getSource(a).setData(n):this.map.addSource(a,{type:"geojson",data:n});const c=new Set;(n.features||(n.type==="Feature"?[n]:[])).forEach(d=>{var h;return c.add((h=d.geometry)==null?void 0:h.type)}),(c.has("LineString")||c.has("MultiLineString"))&&!this.map.getLayer(`${a}-line`)&&this.map.addLayer({id:`${a}-line`,type:"line",source:a,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":r,"line-width":2}}),(c.has("Polygon")||c.has("MultiPolygon"))&&(this.map.getLayer(`${a}-fill`)||this.map.addLayer({id:`${a}-fill`,type:"fill",source:a,filter:["==","$type","Polygon"],paint:{"fill-color":r,"fill-opacity":.35}}),this.map.getLayer(`${a}-outline`)||this.map.addLayer({id:`${a}-outline`,type:"line",source:a,filter:["==","$type","Polygon"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":r,"line-width":2}})),(c.has("Point")||c.has("MultiPoint"))&&!this.map.getLayer(`${a}-point`)&&this.map.addLayer({id:`${a}-point`,type:"circle",source:a,filter:["==","$type","Point"],paint:{"circle-radius":3,"circle-color":r,"circle-stroke-width":2,"circle-stroke-color":"#ffffff"}})},handleEnrichGeojson(e){const t=e.features||(e.type==="Feature"?[e]:[]),a=[];return t.forEach(r=>{var n;const i=(n=r.geometry)==null?void 0:n.type;let l=[];i==="LineString"?l=r.geometry.coordinates:i==="MultiLineString"?l=r.geometry.coordinates.flat():i==="Polygon"?r.properties.center&&r.properties.radius||(l=r.geometry.coordinates[0]):i==="MultiPolygon"&&(l=r.geometry.coordinates.flat(2)),l.forEach(c=>{a.push(V.point(c))})}),V.featureCollection([...t,...a])},handleDrawAllLayers(){!this.autoActive||!this.map||!this.layers.length||(this.handleClearAllLayers(),this.layers.forEach(e=>{this.handleRenderLayer(e)}),this.drawnLayerIds=this.layers.map(e=>e.id))},handleClearAllLayers(){this.map&&(Object.keys(this.layerMarkers).forEach(e=>{this.handleClearLayerMarkers(e)}),this.drawnLayerIds.forEach(e=>{const t=`marker-layer-${e}`;[`${t}-point`,`${t}-line`,`${t}-fill`,`${t}-outline`].forEach(r=>{this.map.getLayer(r)&&this.map.removeLayer(r)}),this.map.getSource(t)&&this.map.removeSource(t)}),this.drawnLayerIds=[],this.currentLayer=void 0)},handleClearLayer(){if(!this.map||!this.currentLayer)return;this.handleClearLayerMarkers(this.currentLayer.id);const e=`marker-layer-${this.currentLayer.id}`;[`${e}-point`,`${e}-line`,`${e}-fill`,`${e}-outline`].forEach(a=>{this.map.getLayer(a)&&this.map.removeLayer(a)}),this.map.getSource(e)&&this.map.removeSource(e)},handleClearLayerMarkers(e){const t=this.layerMarkers[e];t&&(t.forEach(a=>a.remove()),delete this.layerMarkers[e])}}},ug={class:"idm-gl4-marker"},fg={class:"w-100 px-4 d-flex flex-column justify-start align-start"},yg={class:"w-100 header-box d-flex justify-space-between align-center pr-4"},bg={class:"d-flex justify-start align-center ga-3"},wg={class:"text-h5 font-weight-medium"},xg={class:"search-box w-100 mb-3"},kg={class:"multi-color-icon",style:{height:"20px",width:"20px"},"aria-hidden":"true"},_g={class:"w-100 d-flex justify-space-between align-center ga-4"},Lg={class:"list-box w-100 flex-1-1-0 px-4 pb-2 scroll overflow-y-auto"},zg={class:"group-label text-body-1 d-flex justify-space-between align-center py-4"},Cg={class:"d-flex justify-start align-center pl-2 cursor-pointer"},vg=["onClick"],Sg={key:0},Ng={key:0,class:"layer-list flex-1-1-0 overflow-y-hidden pb-2"},Pg={class:"d-flex align-center justify-start ga-2"},Mg={class:"font-weight-600"},Vg={class:"layer-actions d-flex align-center justify-end ga-2"};function Tg(e,t,a,r,i,l){var S;const n=o.resolveComponent("VBtn"),c=o.resolveComponent("VTooltip"),s=o.resolveComponent("VSwitch"),m=o.resolveComponent("v-icon"),d=o.resolveComponent("v-text-field"),h=o.resolveComponent("v-chip"),u=o.resolveComponent("v-progress-circular"),y=o.resolveComponent("VListItemTitle"),g=o.resolveComponent("VListItem"),p=o.resolveComponent("VList"),f=o.resolveComponent("v-card"),x=o.resolveComponent("VMenu"),L=o.resolveComponent("v-btn"),w=o.resolveComponent("v-divider"),b=o.resolveComponent("IdmDrawMarker"),C=o.resolveComponent("IdmImportMarker"),_=o.resolveComponent("IdmGroupDialog"),z=o.resolveComponent("DeleteDialog");return o.openBlock(),o.createElementBlock("div",ug,[o.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:o.normalizeStyle({top:a.top+a.paddingTop+206+"px",right:i.right+"px"})},[o.createVNode(c,{text:e.$t("marker.markers"),location:"left",interactive:!0,"open-on-click":!1,"open-on-focus":!a.simple,"open-on-hover":!a.simple},{activator:o.withCtx(({props:N})=>[o.createVNode(n,o.mergeProps(N,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:o.withCtx(()=>t[7]||(t[7]=[o.createElementVNode("i",{class:"iconfont icon-compass text-h4"},null,-1)])),_:2,__:[7]},1040,["class","onClick"])]),_:1},8,["text","open-on-focus","open-on-hover"])],4),o.createElementVNode("div",{class:o.normalizeClass(["main-box transition d-flex flex-column justify-start align-start",i.toggle?"right-bar":""]),style:o.normalizeStyle({top:a.top+"px",right:i.toggle?"0px":"-300px"})},[o.createElementVNode("div",fg,[o.createElementVNode("div",yg,[o.createElementVNode("div",bg,[o.createElementVNode("div",wg,o.toDisplayString(e.$t("marker.markers")),1),o.createVNode(s,{modelValue:i.autoActive,"onUpdate:modelValue":t[0]||(t[0]=N=>i.autoActive=N),class:"small-switch",inset:"",color:"primary","base-color":"disabled","hide-details":""},null,8,["modelValue"]),o.createVNode(n,{class:"ml-n8",density:"compact",icon:"",variant:"text",onClick:l.fetchAllLayers},{default:o.withCtx(()=>[o.createVNode(m,{icon:"mdi-refresh"})]),_:1},8,["onClick"])]),o.createVNode(n,{class:"mr-n6",density:"comfortable",icon:"",variant:"plain",onClick:l.handleMenuToggle},{default:o.withCtx(()=>t[8]||(t[8]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[8]},8,["onClick"])]),o.createElementVNode("div",xg,[o.createVNode(d,{modelValue:i.keyword,"onUpdate:modelValue":t[1]||(t[1]=N=>i.keyword=N),"clear-icon":"mdi-close",clearable:"",density:"compact","hide-details":"",variant:"outlined",autocomplete:"off",class:"input-btn-bg-1"},{"prepend-inner":o.withCtx(()=>[(o.openBlock(),o.createElementBlock("svg",kg,t[9]||(t[9]=[o.createElementVNode("use",{"xlink:href":"#icon-search"},null,-1)])))]),_:1},8,["modelValue"])]),o.createElementVNode("div",_g,[o.createVNode(n,{class:"flex-1-1-0 text-none mb-3 text-body-1 font-weight-600",color:"primary",variant:"text",density:"compact",height:"32","max-height":"32","prepend-icon":"mdi-plus",onClick:t[2]||(t[2]=N=>l.handleOpenDrawMarkers())},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.add")),1)]),_:1}),o.createVNode(n,{class:"flex-1-1-0 text-none mb-3 text-body-1 font-weight-600",color:"primary",variant:"text",density:"compact",height:"32","max-height":"32","prepend-icon":"mdi-import",onClick:l.handleOpenImportDialog},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.import")),1)]),_:1},8,["onClick"])])]),o.createElementVNode("div",Lg,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(i.layerGroup,N=>(o.openBlock(),o.createElementBlock("div",{key:N.name,class:o.normalizeClass(["btn-bg-1",N.index===i.layerGroup.length?"rounded-b":N.index===1?"rounded-t":""])},[o.createElementVNode("div",zg,[o.createElementVNode("div",Cg,[N.show?(o.openBlock(),o.createBlock(m,{key:0,icon:"mdi-chevron-down",onClick:T=>N.show=!1},null,8,["onClick"])):(o.openBlock(),o.createBlock(m,{key:1,icon:"mdi-chevron-right",onClick:T=>N.show=!0},null,8,["onClick"])),i.loading?(o.openBlock(),o.createBlock(u,{key:3,class:"mx-2",color:"primary",indeterminate:"",size:"16",width:"2"})):(o.openBlock(),o.createBlock(h,{key:2,density:"compact",variant:"tonal",class:"font-weight-600 mr-2",color:"primary",onClick:T=>N.show=!N.show},{default:o.withCtx(()=>{var T;return[o.createTextVNode(o.toDisplayString((T=N.layers)==null?void 0:T.length),1)]}),_:2},1032,["onClick"])),o.createElementVNode("div",{class:"",onClick:T=>N.show=!N.show},o.toDisplayString(N.name),9,vg)]),N.name!=="Custom Layers"?(o.openBlock(),o.createElementBlock("div",Sg,[o.createVNode(L,{icon:"",density:"compact",variant:"plain",class:"mx-1"},{default:o.withCtx(()=>[t[10]||(t[10]=o.createElementVNode("i",{class:"iconfont icon-dots-vertical text-h4 cursor-pointer"},null,-1)),o.createVNode(x,{activator:"parent","min-width":"240",class:"drop-menu"},{default:o.withCtx(()=>[o.createVNode(f,{class:"pa-2 px-0"},{default:o.withCtx(()=>[o.createVNode(p,{class:""},{default:o.withCtx(()=>[o.createVNode(g,{value:"account",variant:"flat",rounded:"",height:"38","min-height":"38"},{default:o.withCtx(()=>[o.createVNode(y,{class:"text-body-1 d-flex jusity-center align-center",onClick:T=>l.handleOpenDrawMarkers(N)},{default:o.withCtx(()=>[o.createVNode(m,{icon:"mdi-plus-circle-outline mr-4",size:"16"}),o.createElementVNode("span",null,o.toDisplayString(e.$t("marker.addMarker")),1)]),_:2},1032,["onClick"])]),_:2},1024),o.createVNode(g,{value:"help",variant:"flat",rounded:"",height:"38","min-height":"38"},{default:o.withCtx(()=>[o.createVNode(y,{class:"text-body-1 d-flex jusity-center align-center",onClick:T=>l.handleEditGroup(N)},{default:o.withCtx(()=>[o.createVNode(m,{icon:"mdi-pencil mr-4",size:"16"}),o.createElementVNode("span",null,o.toDisplayString(e.$t("actions.editGroup")),1)]),_:2},1032,["onClick"])]),_:2},1024),o.createVNode(g,{value:"loginOut",variant:"flat",rounded:"",height:"38","min-height":"38"},{default:o.withCtx(()=>[o.createVNode(y,{class:"text-body-1 d-flex jusity-center align-center",onClick:T=>l.handleOpenDelete("group",N)},{default:o.withCtx(()=>[o.createVNode(m,{icon:"mdi-trash-can-outline mr-4",size:"16"}),o.createElementVNode("span",null,o.toDisplayString(e.$t("actions.deleteGroup")),1)]),_:2},1032,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2,__:[10]},1024)])):o.createCommentVNode("",!0)]),N.show?(o.openBlock(),o.createElementBlock("div",Ng,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(N.layers,T=>{var R;return o.openBlock(),o.createElementBlock("div",{key:T.id,class:o.normalizeClass(["layer-item py-4 px-2 mx-2 rounded cursor-pointer d-flex align-center justify-space-between",((R=i.currentLayer)==null?void 0:R.id)===T.id?"active":""])},[o.createElementVNode("div",Pg,[o.createElementVNode("span",Mg,o.toDisplayString(T==null?void 0:T.name),1)]),o.createElementVNode("div",Vg,[o.createVNode(n,{class:"",density:"compact",icon:"",variant:"text",onClick:G=>l.handleEditLayer(N,T)},{default:o.withCtx(()=>[o.createVNode(m,{icon:"mdi-pencil",size:"16"})]),_:2},1032,["onClick"]),o.createVNode(n,{class:"",density:"compact",icon:"",variant:"text",loading:i.deleteLoading,onClick:G=>l.handleOpenDelete("layer",T)},{default:o.withCtx(()=>[o.createVNode(m,{icon:"mdi-trash-can-outline",size:"16"})]),_:2},1032,["loading","onClick"])])],2)}),128))])):o.createCommentVNode("",!0),N.index<i.layerGroup.length?(o.openBlock(),o.createBlock(w,{key:1,class:"w-100",thickness:"1"})):o.createCommentVNode("",!0)],2))),128))])],6),i.drawDialog?(o.openBlock(),o.createBlock(b,{key:((S=i.currentLayer)==null?void 0:S.id)||"new",map:a.map,gateway:a.gateway,token:a.token,defaultMeteoToken:a.defaultMeteoToken,editLayer:i.currentLayer,group:i.currentGroup,onClose:l.handleCloseDraw,onSave:l.handleSaveMarker},null,8,["map","gateway","token","defaultMeteoToken","editLayer","group","onClose","onSave"])):o.createCommentVNode("",!0),i.importDialog?(o.openBlock(),o.createBlock(C,{key:1,map:a.map,gateway:a.gateway,token:a.token,defaultMeteoToken:a.defaultMeteoToken,layerGroup:i.layerGroup,group:i.currentGroup,onClose:t[3]||(t[3]=N=>(i.importDialog=!1,i.currentGroup=void 0)),onImport:l.handleImportLayer},null,8,["map","gateway","token","defaultMeteoToken","layerGroup","group","onImport"])):o.createCommentVNode("",!0),o.createVNode(_,{modelValue:i.groupDialog,"onUpdate:modelValue":t[4]||(t[4]=N=>i.groupDialog=N),group:i.currentGroup,gateway:a.gateway,token:a.token,defaultMeteoToken:a.defaultMeteoToken,onClose:t[5]||(t[5]=N=>(i.groupDialog=!1,i.currentGroup=void 0)),onSaved:l.fetchAllLayers},null,8,["modelValue","group","gateway","token","defaultMeteoToken","onSaved"]),o.createVNode(z,{ref:"deleteDialog",title:e.$t("actions.delete"),tips:e.$t("tips.deleteText"),loading:i.deleteLoading,onDelete:t[6]||(t[6]=N=>l.confirmDelete())},null,8,["title","tips","loading"])])}const Dg=X(gg,[["render",Tg]]);var E={image:new Map,background:new Map,resource:new Map,defaultStyle:new Map,baseStyle:new Map,computedStyle:new WeakMap,font:new Set,session:{styleMap:new Map,styleCache:new WeakMap,nodeMap:new Map}};function Eg(e="soft"){switch(E.session.__counterEpoch=(E.session.__counterEpoch||0)+1,e){case"auto":{E.session.styleMap=new Map,E.session.nodeMap=new Map;return}case"soft":{E.session.styleMap=new Map,E.session.nodeMap=new Map,E.session.styleCache=new WeakMap;return}case"full":return;case"disabled":{E.session.styleMap=new Map,E.session.nodeMap=new Map,E.session.styleCache=new WeakMap,E.computedStyle=new WeakMap,E.baseStyle=new Map,E.defaultStyle=new Map,E.image=new Map,E.background=new Map,E.resource=new Map,E.font=new Set;return}default:{E.session.styleMap=new Map,E.session.nodeMap=new Map,E.session.styleCache=new WeakMap;return}}}function Xo(e){let t=e.match(/url\((['"]?)(.*?)(\1)\)/);if(!t)return null;let a=t[2].trim();return a.startsWith("#")?null:a}function Rg(e){if(!e||e==="none")return"";let t=e.replace(/translate[XY]?\([^)]*\)/g,"");return t=t.replace(/matrix\(([^)]+)\)/g,(a,r)=>{let i=r.split(",").map(l=>l.trim());return i.length!==6?`matrix(${r})`:(i[4]="0",i[5]="0",`matrix(${i.join(", ")})`)}),t=t.replace(/matrix3d\(([^)]+)\)/g,(a,r)=>{let i=r.split(",").map(l=>l.trim());return i.length!==16?`matrix3d(${r})`:(i[12]="0",i[13]="0",`matrix3d(${i.join(", ")})`)}),t.trim().replace(/\s{2,}/g," ")}function Eo(e){if(/%[0-9A-Fa-f]{2}/.test(e))return e;try{return encodeURI(e)}catch{return e}}function Bg(e="[snapDOM]",{ttlMs:t=5*6e4,maxEntries:a=12}={}){let r=new Map,i=0;function l(n,c,s){if(i>=a)return;let m=Date.now();(r.get(c)||0)>m||(r.set(c,m+t),i++,n==="warn"&&console&&console.warn?console.warn(`${e} ${s}`):console&&console.error&&console.error(`${e} ${s}`))}return{warnOnce(n,c){l("warn",n,c)},errorOnce(n,c){l("error",n,c)},reset(){r.clear(),i=0}}}var ma=Bg("[snapDOM]",{ttlMs:3*6e4,maxEntries:10}),Yo=new Map,Ro=new Map;function Ig(e){return/^data:|^blob:|^about:blank$/i.test(e)}function Ag(e,t){try{let a=typeof location<"u"&&location.href?location.href:"http://localhost/",r=t.includes("{url}")?t.split("{url}")[0]:t,i=new URL(r||".",a),l=new URL(e,a);if(l.origin===i.origin)return!0;let n=l.searchParams;if(n&&(n.has("url")||n.has("target")))return!0}catch{}return!1}function Fg(e,t){if(!t||Ig(e)||Ag(e,t))return!1;try{let a=typeof location<"u"&&location.href?location.href:"http://localhost/",r=new URL(e,a);return typeof location<"u"?r.origin!==location.origin:!0}catch{return!!t}}function Gg(e,t){if(!t)return e;if(t.includes("{url}"))return t.replace("{urlRaw}",Eo(e)).replace("{url}",encodeURIComponent(e));if(/[?&]url=?$/.test(t))return`${t}${encodeURIComponent(e)}`;if(t.endsWith("?"))return`${t}url=${encodeURIComponent(e)}`;if(t.endsWith("/"))return`${t}${Eo(e)}`;let a=t.includes("?")?"&":"?";return`${t}${a}url=${encodeURIComponent(e)}`}function da(e){return new Promise((t,a)=>{let r=new FileReader;r.onload=()=>t(String(r.result||"")),r.onerror=()=>a(new Error("read_failed")),r.readAsDataURL(e)})}function Wg(e,t){return[t.as||"blob",t.timeout??3e3,t.useProxy||"",t.errorTTL??8e3,e].join("|")}async function Ee(e,t={}){let a=t.as??"blob",r=t.timeout??3e3,i=t.useProxy||"",l=t.errorTTL??8e3,n=t.headers||{},c=!!t.silent;if(/^data:/i.test(e))try{if(a==="text")return{ok:!0,data:String(e),status:200,url:e,fromCache:!1};if(a==="dataURL")return{ok:!0,data:String(e),status:200,url:e,fromCache:!1,mime:String(e).slice(5).split(";")[0]||""};let[,f="",x=""]=String(e).match(/^data:([^,]*),(.*)$/)||[],L=/;base64/i.test(f)?atob(x):decodeURIComponent(x),w=new Uint8Array([...L].map(C=>C.charCodeAt(0))),b=new Blob([w],{type:(f||"").split(";")[0]||""});return{ok:!0,data:b,status:200,url:e,fromCache:!1,mime:b.type||""}}catch{return{ok:!1,data:null,status:0,url:e,fromCache:!1,reason:"special_url_error"}}if(/^blob:/i.test(e))try{let f=await fetch(e);if(!f.ok)return{ok:!1,data:null,status:f.status,url:e,fromCache:!1,reason:"http_error"};let x=await f.blob(),L=x.type||f.headers.get("content-type")||"";return a==="dataURL"?{ok:!0,data:await da(x),status:f.status,url:e,fromCache:!1,mime:L}:a==="text"?{ok:!0,data:await x.text(),status:f.status,url:e,fromCache:!1,mime:L}:{ok:!0,data:x,status:f.status,url:e,fromCache:!1,mime:L}}catch{return{ok:!1,data:null,status:0,url:e,fromCache:!1,reason:"network"}}if(/^about:blank$/i.test(e))return a==="dataURL"?{ok:!0,data:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==",status:200,url:e,fromCache:!1,mime:"image/png"}:{ok:!0,data:a==="text"?"":new Blob([]),status:200,url:e,fromCache:!1};let s=Wg(e,{as:a,timeout:r,useProxy:i,errorTTL:l}),m=Ro.get(s);if(m&&m.until>Date.now())return{...m.result,fromCache:!0};m&&Ro.delete(s);let d=Yo.get(s);if(d)return d;let h=Fg(e,i)?Gg(e,i):e,u=t.credentials;if(!u)try{let f=typeof location<"u"&&location.href?location.href:"http://localhost/",x=new URL(e,f);u=typeof location<"u"&&x.origin===location.origin?"include":"omit"}catch{u="omit"}let y=new AbortController,g=setTimeout(()=>y.abort("timeout"),r),p=(async()=>{try{let f=await fetch(h,{signal:y.signal,credentials:u,headers:n});if(!f.ok){let w={ok:!1,data:null,status:f.status,url:h,fromCache:!1,reason:"http_error"};if(l>0&&Ro.set(s,{until:Date.now()+l,result:w}),!c){let b=`${f.status} ${f.statusText||""}`.trim();ma.warnOnce(`http:${f.status}:${a}:${new URL(e,(location==null?void 0:location.href)??"http://localhost/").origin}`,`HTTP error ${b} while fetching ${a} ${e}`)}return t.onError&&t.onError(w),w}if(a==="text")return{ok:!0,data:await f.text(),status:f.status,url:h,fromCache:!1};let x=await f.blob(),L=x.type||f.headers.get("content-type")||"";return a==="dataURL"?{ok:!0,data:await da(x),status:f.status,url:h,fromCache:!1,mime:L}:{ok:!0,data:x,status:f.status,url:h,fromCache:!1,mime:L}}catch(f){let x=f&&typeof f=="object"&&"name"in f&&f.name==="AbortError"?String(f.message||"").includes("timeout")?"timeout":"abort":"network",L={ok:!1,data:null,status:0,url:h,fromCache:!1,reason:x};if(!/^blob:/i.test(e)&&l>0&&Ro.set(s,{until:Date.now()+l,result:L}),!c){let w=`${x}:${a}:${new URL(e,(location==null?void 0:location.href)??"http://localhost/").origin}`,b=x==="timeout"?`Timeout after ${r}ms. Consider increasing timeout or using a proxy for ${e}`:x==="abort"?`Request aborted while fetching ${a} ${e}`:`Network/CORS issue while fetching ${a} ${e}. A proxy may be required`;ma.errorOnce(w,b)}return t.onError&&t.onError(L),L}finally{clearTimeout(g),Yo.delete(s)}})();return Yo.set(s,p),p}async function ha(e,t={}){if(/^((repeating-)?(linear|radial|conic)-gradient)\(/i.test(e)||e.trim()==="none")return e;let a=Xo(e);if(!a)return e;let r=Eo(a);if(E.background.has(r)){let i=E.background.get(r);return i?`url("${i}")`:"none"}try{let i=await Ee(r,{as:"dataURL",useProxy:t.useProxy});return i.ok?(E.background.set(r,i.data),`url("${i.data}")`):(E.background.set(r,null),"none")}catch{return E.background.set(r,null),"none"}}var Zg=new Set(["meta","script","noscript","title","link","template"]),Uo=new Set(["meta","link","style","title","noscript","script","template","g","defs","use","marker","mask","clipPath","pattern","path","polygon","polyline","line","circle","ellipse","rect","filter","lineargradient","radialgradient","stop"]);function Og(e){if(e=String(e).toLowerCase(),Uo.has(e)){let l={};return E.defaultStyle.set(e,l),l}if(E.defaultStyle.has(e))return E.defaultStyle.get(e);let t=document.getElementById("snapdom-sandbox");t||(t=document.createElement("div"),t.id="snapdom-sandbox",t.setAttribute("data-snapdom-sandbox","true"),t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.left="-9999px",t.style.top="-9999px",t.style.width="0px",t.style.height="0px",t.style.overflow="hidden",document.body.appendChild(t));let a=document.createElement(e);a.style.all="initial",t.appendChild(a);let r=getComputedStyle(a),i={};for(let l of r){if(pa(l))continue;let n=r.getPropertyValue(l);i[l]=n}return t.removeChild(a),E.defaultStyle.set(e,i),i}var jg=/(?:^|-)(animation|transition)(?:-|$)/i,Hg=/^(--|view-timeline|scroll-timeline|animation-trigger|offset-|position-try|app-region|interactivity|overlay|view-transition|-webkit-locale|-webkit-user-(?:drag|modify)|-webkit-tap-highlight-color|-webkit-text-security)$/i,Xg=new Set(["cursor","pointer-events","touch-action","user-select","print-color-adjust","speak","reading-flow","reading-order","anchor-name","anchor-scope","container-name","container-type","timeline-scope"]);function pa(e){let t=String(e).toLowerCase();return!!(Xg.has(t)||Hg.test(t)||jg.test(t))}function $o(e,t){if(t=String(t||"").toLowerCase(),Uo.has(t))return"";let a=[],r=Og(t);for(let[i,l]of Object.entries(e)){if(pa(i))continue;let n=r[i];l&&l!==n&&a.push(`${i}:${l}`)}return a.sort(),a.join(";")}function Yg(e){let t=new Set;return e.nodeType!==Node.ELEMENT_NODE&&e.nodeType!==Node.DOCUMENT_FRAGMENT_NODE?[]:(e.tagName&&t.add(e.tagName.toLowerCase()),typeof e.querySelectorAll=="function"&&e.querySelectorAll("*").forEach(a=>t.add(a.tagName.toLowerCase())),Array.from(t))}function Ug(e){let t=new Map;for(let r of e){let i=E.defaultStyle.get(r);if(!i)continue;let l=Object.entries(i).map(([n,c])=>`${n}:${c};`).sort().join("");l&&(t.has(l)||t.set(l,[]),t.get(l).push(r))}let a="";for(let[r,i]of t.entries())a+=`${i.join(",")} { ${r} }
220
+ <div class="marker-label"> ${this.$t("measure.clickTips")}</div>`;if(this.tipMarker)this.tipMarker._element.innerHTML=d,this.tipMarker.setLngLat([t[0],t[1]]);else{const h=document.createElement("div");h.className="idm-gl4-draw-tip-marker",h.innerHTML=d,this.tipMarker=new ne.Marker(h).setOffset([140,0]).setLngLat([t[0],t[1]]).addTo(this.map)}},handleRefreshLine(){this.drawCoords.length>=1&&this.handleRenderLine(this.drawCoords)},getNavigation(e,t){return D.LaneHelper.calculateDistance(e,t,!0,2)>500?"GC":"RL"},handleMapClickPolygon(e){var r;const{lng:t,lat:a}=e.lngLat;this.drawCoords.push([t,a]),this.drawCoords.length>=3&&this.handleRenderPolygonFill(this.drawCoords),this.handleRenderPolygonVertexLabels(this.drawCoords),(r=this.editLayer)!=null&&r.id&&this.setupPolygonEdit()},handleMapMovePolygon(e){if(!this.drawCoords.length)return;const{lng:t,lat:a}=e.lngLat,r=[...this.drawCoords,[t,a]];r.length>=1&&this.handleRenderPolygonFill(r),this.handleRenderPolygonVertexLabels(r)},handleMapDblClickPolygon(e){e.preventDefault(),this.drawCoords.length>=1&&this.drawCoords.pop(),this.drawCoords.length>=1&&this.handleRenderPolygonFill(this.drawCoords),this.map.off("click",this.handleMapClickPolygon),this.map.off("mousemove",this.handleMapMovePolygon),this.map.off("dblclick",this.handleMapDblClickPolygon)},handleRenderPolygonFill(e){var i;let t=[];if(e==null||e.forEach((l,n)=>{t.push(V.point(l))}),(e==null?void 0:e.length)>2){const l=[...e,e[0]];t.push(V.polygon([l]))}const a=V.featureCollection(t);this.handleSetDrawSource(a);const r=(i=this.editLayer)!=null&&i.id?3:2;this.map.getLayer(this.drawFillLayer)?(this.map.setPaintProperty(this.drawLineLayer,"line-width",r),this.map.getLayer(this.drawPointLayer)&&this.map.setPaintProperty(this.drawPointLayer,"circle-color",this.form.color)):(this.map.addLayer({id:this.drawFillLayer,type:"fill",source:this.drawSource,filter:["==","$type","Polygon"],paint:{"fill-color":this.form.color,"fill-opacity":.35}}),this.map.addLayer({id:this.drawLineLayer,type:"line",source:this.drawSource,filter:["==","$type","Polygon"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":r}}),this.map.addLayer({id:this.drawPointLayer,type:"circle",source:this.drawSource,filter:["==","$type","Point"],paint:{"circle-radius":3,"circle-color":this.form.color,"circle-stroke-width":2,"circle-stroke-color":"#ffffff"}}))},handleRenderPolygonVertexLabels(e){if(e.length<2)return;this.handleClearPolygonVertexLabels();const t=e.reduce((a,r)=>[a[0]+r[0],a[1]+r[1]],[0,0]);t[0]/=e.length,t[1]/=e.length,e.forEach(a=>{const r=a[0]-t[0],i=a[1]-t[1];let l="center";i>=0&&r>=0?l="bottom-left":i>=0&&r<0?l="bottom-right":i<0&&r>=0?l="top-left":l="top-right";const n=D.LngLatHelper.lat2pretty(a[1],2).pretty,c=D.LngLatHelper.lng2pretty(a[0],2).pretty,s=document.createElement("div");s.className="idm-gl4-draw-corner-label "+l,s.innerHTML=`<span class="corner-text">${n} <br/> ${c}</span>`;const m=new ne.Marker(s,{anchor:l}).setLngLat(a).addTo(this.map);this.polygonVertexMarkers.push(m)})},handleClearPolygonVertexLabels(){this.polygonVertexMarkers.forEach(e=>e.remove()),this.polygonVertexMarkers=[]},handleMapClickCircle(e){const{lng:t,lat:a}=e.lngLat;if(this.drawCoords.length===0){this.drawCoords.push([t,a]);const r=V.featureCollection([V.point([t,a])]);this.handleSetDrawSource(r),this.map.addLayer({id:this.drawPointLayer,type:"circle",source:this.drawSource,filter:["==","$type","Point"],paint:{"circle-radius":3,"circle-color":this.form.color,"circle-stroke-width":2,"circle-stroke-color":"#ffffff"}}),this.handleRenderCircleCenterLabel([t,a])}else{const r=this.drawCoords[0],i=[t,a],l=V.distance(V.point(r),V.point(i),{units:"kilometers"}),n=V.circle(r,l,{steps:64,units:"kilometers"});n.properties.radius=l,n.properties.center=r;const c=V.featureCollection([V.point(r),n]);this.handleSetDrawSource(c),this.handleRenderAreaLayers(),this.handleRenderRadiusLine(r,i,l),this.drawCoords=[r,i],this.map.off("click",this.handleMapClickCircle),this.map.off("mousemove",this.handleMapMoveCircle)}},handleMapMoveCircle(e){if(this.drawCoords.length!==1)return;const t=this.drawCoords[0],a=[e.lngLat.lng,e.lngLat.lat],r=V.distance(V.point(t),V.point(a),{units:"kilometers"}),i=V.circle(t,r,{steps:64,units:"kilometers"}),l=V.featureCollection([V.point(t),i]);this.handleSetDrawSource(l),this.map.getLayer(this.drawFillLayer)||this.handleRenderAreaLayers(),this.handleRenderRadiusLine(t,a,r)},handleRenderCircleCenterLabel(e){const t=D.LngLatHelper.lat2pretty(e[1],2).pretty,a=D.LngLatHelper.lng2pretty(e[0],2).pretty,r=document.createElement("div");r.className="idm-gl4-draw-corner-label bottom-right",r.innerHTML=`<span class="corner-text">${t} <br/> ${a}</span>`;const i=new ne.Marker(r,{anchor:"bottom-right"}).setLngLat(e).addTo(this.map);this.circleMarkers.push(i)},handleRenderRadiusLine(e,t,a){const r=D.LngLatHelper.roundPrecision(a/1.852,2),i=V.featureCollection([V.lineString([e,t])]);this.map.getSource(this.drawRadiusSource)?this.map.getSource(this.drawRadiusSource).setData(i):this.map.addSource(this.drawRadiusSource,{type:"geojson",data:i}),this.map.getLayer(this.drawRadiusLayer)||this.map.addLayer({id:this.drawRadiusLayer,type:"line",source:this.drawRadiusSource,layout:{"line-cap":"round"},paint:{"line-color":this.form.color,"line-width":1.5,"line-dasharray":[4,3]}});const l=[(e[0]+t[0])/2,(e[1]+t[1])/2],n=this.map.project(e),c=this.map.project(t),s=c.x-n.x,m=c.y-n.y;let d=Math.atan2(m,s)*180/Math.PI;d>90&&(d-=180),d<-90&&(d+=180);const h=16,u=(d-90)*Math.PI/180,y=Math.round(Math.cos(u)*h),g=Math.round(Math.sin(u)*h);this.circleMarkers.length>1&&(this.circleMarkers[1].remove(),this.circleMarkers.splice(1,1));const p=document.createElement("div"),f=document.createElement("span");f.className="idm-gl4-draw-radius-label",f.style.transform=`rotate(${d}deg)`,f.style.transformOrigin="center",f.style.display="inline-block",f.textContent=`${r} nm`,p.appendChild(f);const x=new ne.Marker(p,{anchor:"center",offset:[y,g]}).setLngLat(l).addTo(this.map);this.circleMarkers.push(x)},handleClearCircleLabels(){var e,t;this.circleMarkers.forEach(a=>a.remove()),this.circleMarkers=[],(e=this.map)!=null&&e.getLayer(this.drawRadiusLayer)&&this.map.removeLayer(this.drawRadiusLayer),(t=this.map)!=null&&t.getSource(this.drawRadiusSource)&&this.map.removeSource(this.drawRadiusSource)},handleMapClickRect(e){const{lng:t,lat:a}=e.lngLat;if(this.drawCoords.length===0)this.drawCoords.push([t,a]);else{const r=this.drawCoords[0],i=[t,a],l=this.buildRectFeatureCollection(r,i);this.handleSetDrawSource(l),this.handleRenderRectLayers(),this.drawCoords=[r,i],this.map.off("click",this.handleMapClickRect),this.map.off("mousemove",this.handleMapMoveRect)}},handleMapMoveRect(e){if(this.drawCoords.length!==1)return;const t=this.drawCoords[0],a=[e.lngLat.lng,e.lngLat.lat],r=this.buildRectFeatureCollection(t,a);this.handleSetDrawSource(r),this.map.getLayer(this.drawFillLayer)||this.handleRenderRectLayers(),this.handleRenderRectCorners(t,a)},buildRect(e,t){const a=Math.min(e[0],t[0]),r=Math.max(e[0],t[0]),i=Math.min(e[1],t[1]),l=Math.max(e[1],t[1]);return V.polygon([[[a,i],[r,i],[r,l],[a,l],[a,i]]],{shape:"Rect"})},buildRectFeatureCollection(e,t){const a=Math.min(e[0],t[0]),r=Math.max(e[0],t[0]),i=Math.min(e[1],t[1]),l=Math.max(e[1],t[1]),n=[[a,l],[r,l],[r,i],[a,i]];return V.featureCollection([...n.map(c=>V.point(c)),this.buildRect(e,t)])},handleRenderRectLayers(){var t;const e=(t=this.editLayer)!=null&&t.id?3:2;this.map.getLayer(this.drawFillLayer)||this.map.addLayer({id:this.drawFillLayer,type:"fill",source:this.drawSource,filter:["==","$type","Polygon"],paint:{"fill-color":this.form.color,"fill-opacity":.35}}),this.map.getLayer(this.drawLineLayer)?this.map.setPaintProperty(this.drawLineLayer,"line-width",e):this.map.addLayer({id:this.drawLineLayer,type:"line",source:this.drawSource,filter:["==","$type","Polygon"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":e}}),this.map.getLayer(this.drawPointLayer)||this.map.addLayer({id:this.drawPointLayer,type:"circle",source:this.drawSource,filter:["==","$type","Point"],paint:{"circle-radius":3,"circle-color":this.form.color,"circle-stroke-width":2,"circle-stroke-color":"#ffffff"}})},handleRenderRectCorners(e,t){const a=Math.min(e[0],t[0]),r=Math.max(e[0],t[0]),i=Math.min(e[1],t[1]),l=Math.max(e[1],t[1]),n=[{coord:[a,l],anchor:"bottom-right"},{coord:[r,l],anchor:"bottom-left"},{coord:[r,i],anchor:"top-left"},{coord:[a,i],anchor:"top-right"}];this.handleClearRectCorners(),n.forEach(({coord:c,anchor:s})=>{const m=D.LngLatHelper.lat2pretty(c[1],2).pretty,d=D.LngLatHelper.lng2pretty(c[0],2).pretty,h=document.createElement("div");h.className="idm-gl4-draw-corner-label "+s,h.innerHTML=`<span class="corner-text">${m} <br/> ${d}</span>`;const u=new ne.Marker(h,{anchor:s}).setLngLat(c).addTo(this.map);this.rectCornerMarkers.push(u)})},handleClearRectCorners(){this.rectCornerMarkers.forEach(e=>e.remove()),this.rectCornerMarkers=[]},handleRenderAreaLayers(){var t;const e=(t=this.editLayer)!=null&&t.id?3:2;this.map.getLayer(this.drawFillLayer)||this.map.addLayer({id:this.drawFillLayer,type:"fill",source:this.drawSource,filter:["==","$type","Polygon"],paint:{"fill-color":this.form.color,"fill-opacity":.35}}),this.map.getLayer(this.drawLineLayer)?this.map.setPaintProperty(this.drawLineLayer,"line-width",e):this.map.addLayer({id:this.drawLineLayer,type:"line",source:this.drawSource,filter:["==","$type","Polygon"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":e}})},handleSetDrawSource(e){this.map.getSource(this.drawSource)?this.map.getSource(this.drawSource).setData(e):this.map.addSource(this.drawSource,{type:"geojson",data:e})},handleClearTmp(){var e,t,a;(e=this.map)!=null&&e.getLayer(this.drawTmpLayer)&&this.map.removeLayer(this.drawTmpLayer),(t=this.map)!=null&&t.getSource(this.drawTmpSource)&&this.map.removeSource(this.drawTmpSource),(a=this.tipMarker)==null||a.remove(),this.tipMarker=null},handleUpdateLayerColors(){if(!this.map)return;const e=this.form.color;this.map.getLayer(this.drawPointLayer)&&this.map.setPaintProperty(this.drawPointLayer,"circle-color",e),this.map.getLayer(this.drawLineLayer)&&this.map.setPaintProperty(this.drawLineLayer,"line-color",e),this.map.getLayer(this.drawFillLayer)&&this.map.setPaintProperty(this.drawFillLayer,"fill-color",e),this.map.getLayer(this.drawRadiusLayer)&&this.map.setPaintProperty(this.drawRadiusLayer,"line-color",e),this.map.getLayer(this.drawTmpLayer)&&this.map.setPaintProperty(this.drawTmpLayer,"line-color",e)},handleClearDraw(e=!1){var a,r,i,l;this.handleClearTmp(),this.hideDeleteButton();const t=[this.drawPointLayer,this.drawLineLayer,this.drawFillLayer];for(const n of t)(a=this.map)!=null&&a.getLayer(n)&&((r=this.map)==null||r.removeLayer(n));(i=this.map)!=null&&i.getSource(this.drawSource)&&this.map.removeSource(this.drawSource),this.drawCoords=[],this.segmentNavs=[],this.rectFirstPoint=null,this.handleClearRectCorners(),this.handleClearPolygonVertexLabels(),this.handleClearCircleLabels(),(l=this.pointMarker)==null||l.remove(),this.pointMarker=null,this.clearEditMarkers(),this.handleRebindMap()},handleClearAll(){var e;if((e=this.editLayer)!=null&&e.id){this.loadEditLayer();return}this.handleClearDraw(),this.form={latDegree:"",latMinute:"",latDir:"N",lngDegree:"",lngMinute:"",lngDir:"E",navigation:"RL",areaType:this.form.areaType,color:this.Theme.current.value.colors["map-green"],name:this.markerType+" 1"},this.handleRebindMap()},async handleSave(){var r,i;let e=null;if(this.markerType==="Point"?await this.$refs.pointForm.validate().then(l=>{if(l!=null&&l.valid){if(!this.drawCoords.length)return;const[n,c]=this.drawCoords[0];e=V.featureCollection([V.point([n,c],{type:"point",color:this.form.color})])}}):this.markerType==="Line"?await this.$refs.lineForm.validate().then(l=>{if(l!=null&&l.valid){if(this.drawCoords.length<2)return;e=V.featureCollection([V.lineString(this.drawCoords,{type:"Line",color:this.form.color})])}}):this.markerType==="Area"&&await this.$refs.areaForm.validate().then(l=>{var n,c,s;if(l!=null&&l.valid){const m=(n=this.map)==null?void 0:n.getSource(this.drawSource);if(!m)return;const d=m._data;if(!((c=d==null?void 0:d.features)!=null&&c.length))return;const h=d.features.find(y=>{var g;return((g=y.geometry)==null?void 0:g.type)==="Polygon"});if(!h)return;const u=[V.polygon(h.geometry.coordinates,{...h.properties,type:"Polygon",color:this.form.color})];this.form.areaType==="Circle"&&((s=h.properties)!=null&&s.center)&&u.push(V.point(h.properties.center,{type:"circleCenter",color:this.form.color})),e=V.featureCollection(u)}}),!e)return!1;const t={name:this.form.name,format:"geojson",color:this.form.color,extend:e};this.saving=!0,await((r=this.editLayer)!=null&&r.id?le.put(`${this.gateway}/api/arc/layers/${this.editLayer.id}`,t,{headers:{Authorization:this.token||this.defaultMeteoToken,version:"new"}}):le.post(`${this.gateway}/api/arc/lygroups/${(i=this.group)==null?void 0:i.id}/layers`,t,{headers:{Authorization:this.token||this.defaultMeteoToken,version:"new"}})).then(l=>{var n,c,s,m;((n=l.data)==null?void 0:n.code)===0&&(this.$emit("save",{...t,id:((c=this.editLayer)==null?void 0:c.id)||((m=(s=l.data)==null?void 0:s.data)==null?void 0:m.id)}),this.handleClearDraw()),this.saving=!1}).catch(l=>{console.error("save marker error",l),this.saving=!1})}}},bp={class:"text-h6 font-weight-600"},wp={class:"text-label mb-1"},xp={class:"text-label mb-1"},kp={class:"mb-1"},_p={class:"text-label mb-1"},Lp={class:"mb-1"},zp={class:"text-label mb-1"},Cp={class:"mb-1"},vp={class:"text-label mb-1"},Sp={class:"color-picker-row d-flex align-start ga-2"},Np=["value"],Pp={class:"mb-n2"},Mp={class:"text-label mb-1"},Vp={class:"mb-1"},Tp={class:"text-label mb-1"},Dp={class:"color-picker-row d-flex align-start ga-2"},Ep=["value"],Rp={class:"mb-n2"},Bp={class:"text-label mb-1"},Ip={class:"mb-3"},Ap={class:"text-label mb-1"},Fp={class:"mb-1"},Gp={class:"text-label mb-1"},Wp={class:"color-picker-row d-flex align-start ga-2"},Zp=["value"],Op={class:"mb-n2"},jp={class:"text-label mb-1"};function Hp(e,t,a,r,i,l){const n=o.resolveComponent("VBtn"),c=o.resolveComponent("v-card-title"),s=o.resolveComponent("v-divider"),m=o.resolveComponent("v-text-field"),d=o.resolveComponent("v-card-text"),h=o.resolveComponent("v-btn"),u=o.resolveComponent("v-btn-toggle"),y=o.resolveComponent("VTextField"),g=o.resolveComponent("v-col"),p=o.resolveComponent("v-row"),f=o.resolveComponent("VDivider"),x=o.resolveComponent("VCardActions"),L=o.resolveComponent("VForm"),w=o.resolveComponent("v-card");return o.openBlock(),o.createBlock(w,{class:"idm-gl4-draw-dialog-card",elevation:"4"},{default:o.withCtx(()=>[o.createVNode(c,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>{var b;return[o.createElementVNode("span",bp,o.toDisplayString((b=a.editLayer)!=null&&b.id?e.$t("actions.edit"):e.$t("actions.addMarker")),1),o.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:l.handleClose},{default:o.withCtx(()=>t[21]||(t[21]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[21]},8,["onClick"])]}),_:1}),o.createVNode(s),o.createVNode(d,{class:"text-body-1 px-4 pb-0"},{default:o.withCtx(()=>{var b;return[o.createElementVNode("div",wp,o.toDisplayString(e.$t("marker.group")),1),o.createVNode(m,{"model-value":(b=a.group)==null?void 0:b.name,density:"compact",variant:"outlined","hide-details":"",disabled:"",class:"input-btn-bg-1"},null,8,["model-value"])]}),_:1}),o.createVNode(d,{class:"text-body-1 px-4 pb-0"},{default:o.withCtx(()=>{var b;return[o.createElementVNode("div",xp,[o.createTextVNode(o.toDisplayString(e.$t("marker.markerType")),1),t[22]||(t[22]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(u,{modelValue:i.markerType,"onUpdate:modelValue":t[0]||(t[0]=C=>i.markerType=C),mandatory:"",group:"",density:"compact",variant:"flat",class:"w-100",disabled:!!((b=a.editLayer)!=null&&b.id)},{default:o.withCtx(()=>[o.createVNode(h,{value:"Point",class:o.normalizeClass(["flex-1-1-0 text-none text-body-1",i.markerType==="Point"?"":"btn-border-1 btn-bg-1"]),color:i.markerType==="Point"?"primary":"","base-color":"",height:"32px","min-height":"32px"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("marker.point")),1)]),_:1},8,["class","color"]),o.createVNode(h,{value:"Line",class:o.normalizeClass(["flex-1-1-0 text-none text-body-1",i.markerType==="Line"?"":"btn-border-1 btn-bg-1"]),style:{"border-left":"0 !important","border-right":"0 !important"},color:i.markerType==="Line"?"primary":"",height:"32px","min-height":"32px"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("marker.line")),1)]),_:1},8,["class","color"]),o.createVNode(h,{value:"Area",class:o.normalizeClass(["flex-1-1-0 text-none text-body-1",i.markerType==="Area"?"":"btn-border-1 btn-bg-1"]),color:i.markerType==="Area"?"primary":"",height:"32px","min-height":"32px"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("marker.area")),1)]),_:1},8,["class","color"])]),_:1},8,["modelValue","disabled"])]}),_:1}),i.markerType==="Point"?(o.openBlock(),o.createBlock(L,{key:0,ref:"pointForm",autocomplete:"off",class:"form-box",onSubmit:o.withModifiers(l.handleSave,["prevent"])},{default:o.withCtx(()=>[o.createVNode(d,{class:"px-4 text-body-1"},{default:o.withCtx(()=>[o.createElementVNode("div",kp,[o.createElementVNode("div",_p,[o.createTextVNode(o.toDisplayString(e.$t("marker.lat")),1),t[23]||(t[23]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(p,{class:"ma-0"},{default:o.withCtx(()=>[o.createVNode(g,{cols:"4",class:"pa-0 d-flex"},{default:o.withCtx(()=>[o.createVNode(y,{modelValue:i.form.latDegree,"onUpdate:modelValue":[t[1]||(t[1]=b=>i.form.latDegree=b),t[2]||(t[2]=b=>l.handleChangePoint())],rules:i.formRules.latDegree,label:"",autocomplete:"off",density:"compact",variant:"outlined",height:"32px","min-height":"32px",required:"",dense:"",class:"text-body-1 input-btn-bg-1"},null,8,["modelValue","rules"]),t[24]||(t[24]=o.createElementVNode("span",{class:"px-1"},"°",-1))]),_:1,__:[24]}),o.createVNode(g,{cols:"6",class:"pa-0 d-flex"},{default:o.withCtx(()=>[o.createVNode(y,{modelValue:i.form.latMinute,"onUpdate:modelValue":[t[3]||(t[3]=b=>i.form.latMinute=b),t[4]||(t[4]=b=>l.handleChangePoint())],rules:i.formRules.latMinute,label:"",height:"32px","min-height":"32px",autocomplete:"off",density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),t[25]||(t[25]=o.createElementVNode("span",{class:"px-1"},"'",-1))]),_:1,__:[25]}),o.createVNode(g,{cols:"2",class:"pa-0"},{default:o.withCtx(()=>[o.createVNode(h,{variant:"outlined",density:"compact",width:"32","min-width":"32",height:"32",class:"text-body-1 bg-primary",style:{border:"1px solid rgba(var(--v-theme-on-surface), 0.38)"},onClick:t[5]||(t[5]=b=>(i.form.latDir=i.form.latDir==="N"?"S":"N",l.handleChangePoint()))},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(i.form.latDir),1)]),_:1})]),_:1})]),_:1})]),o.createElementVNode("div",Lp,[o.createElementVNode("div",zp,[o.createTextVNode(o.toDisplayString(e.$t("marker.lng")),1),t[26]||(t[26]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(p,{class:"ma-0"},{default:o.withCtx(()=>[o.createVNode(g,{cols:"4",class:"pa-0 d-flex"},{default:o.withCtx(()=>[o.createVNode(m,{modelValue:i.form.lngDegree,"onUpdate:modelValue":[t[6]||(t[6]=b=>i.form.lngDegree=b),t[7]||(t[7]=b=>l.handleChangePoint())],rules:i.formRules.lngDegree,density:"compact",variant:"outlined",autocomplete:"off",class:"text-body-1 input-btn-bg-1"},null,8,["modelValue","rules"]),t[27]||(t[27]=o.createElementVNode("span",{class:"px-1"},"°",-1))]),_:1,__:[27]}),o.createVNode(g,{cols:"6",class:"pa-0 d-flex"},{default:o.withCtx(()=>[o.createVNode(m,{modelValue:i.form.lngMinute,"onUpdate:modelValue":[t[8]||(t[8]=b=>i.form.lngMinute=b),t[9]||(t[9]=b=>l.handleChangePoint())],rules:i.formRules.lngMinute,density:"compact",variant:"outlined",autocomplete:"off",class:"text-body-1 input-btn-bg-1"},null,8,["modelValue","rules"]),t[28]||(t[28]=o.createElementVNode("span",{class:"px-1"},"'",-1))]),_:1,__:[28]}),o.createVNode(g,{cols:"2",class:"pa-0"},{default:o.withCtx(()=>[o.createVNode(h,{variant:"outlined",density:"compact",width:"32","min-width":"32",height:"32",class:"text-body-1 bg-primary",style:{border:"1px solid rgba(var(--v-theme-on-surface), 0.38)"},onClick:t[10]||(t[10]=b=>(i.form.lngDir=i.form.lngDir==="E"?"W":"E",l.handleChangePoint()))},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(i.form.lngDir),1)]),_:1})]),_:1})]),_:1})]),o.createElementVNode("div",Cp,[o.createElementVNode("div",vp,[o.createTextVNode(o.toDisplayString(e.$t("marker.color")),1),t[29]||(t[29]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createElementVNode("div",Sp,[o.createElementVNode("input",{type:"color",value:i.form.color,class:"native-color-picker cursor-pointer",onInput:t[11]||(t[11]=b=>i.form.color=b.target.value)},null,40,Np),o.createVNode(m,{modelValue:i.form.color,"onUpdate:modelValue":t[12]||(t[12]=b=>i.form.color=b),rules:i.formRules.color,density:"compact",variant:"outlined",class:"flex-1-1-0"},null,8,["modelValue","rules"])])]),o.createElementVNode("div",Pp,[o.createElementVNode("div",Mp,[o.createTextVNode(o.toDisplayString(e.$t("marker.name")),1),t[30]||(t[30]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(m,{modelValue:i.form.name,"onUpdate:modelValue":t[13]||(t[13]=b=>i.form.name=b),density:"compact",variant:"outlined",rules:i.formRules.name,autocomplete:"off",class:"input-btn-bg-1"},null,8,["modelValue","rules"])])]),_:1}),o.createVNode(f),o.createVNode(x,{class:"w-100 d-flex justify-end align-center ga-4 pa-4"},{default:o.withCtx(()=>[o.createVNode(h,{class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleClearDraw},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("marker.clearMap")),1)]),_:1},8,["onClick"]),o.createVNode(h,{class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleClearAll},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.clear")),1)]),_:1},8,["onClick"]),o.createVNode(h,{class:"text-none text-body-1",variant:"flat",color:"primary",density:"comfortable",type:"submit",loading:i.saving},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.save")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["onSubmit"])):o.createCommentVNode("",!0),i.markerType==="Line"?(o.openBlock(),o.createBlock(L,{key:1,ref:"lineForm",autocomplete:"off",class:"form-box",onSubmit:o.withModifiers(l.handleSave,["prevent"])},{default:o.withCtx(()=>[o.createVNode(d,{class:"px-4 text-body-1"},{default:o.withCtx(()=>[o.createElementVNode("div",Vp,[o.createElementVNode("div",Tp,[o.createTextVNode(o.toDisplayString(e.$t("marker.color")),1),t[31]||(t[31]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createElementVNode("div",Dp,[o.createElementVNode("input",{type:"color",value:i.form.color,class:"native-color-picker cursor-pointer",onInput:t[14]||(t[14]=b=>i.form.color=b.target.value)},null,40,Ep),o.createVNode(m,{modelValue:i.form.color,"onUpdate:modelValue":t[15]||(t[15]=b=>i.form.color=b),rules:i.formRules.color,density:"compact",variant:"outlined",class:"flex-1-1-0"},null,8,["modelValue","rules"])])]),o.createElementVNode("div",Rp,[o.createElementVNode("div",Bp,[o.createTextVNode(o.toDisplayString(e.$t("marker.name")),1),t[32]||(t[32]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(m,{modelValue:i.form.name,"onUpdate:modelValue":t[16]||(t[16]=b=>i.form.name=b),density:"compact",variant:"outlined",rules:i.formRules.name,autocomplete:"off",class:"input-btn-bg-1"},null,8,["modelValue","rules"])])]),_:1}),o.createVNode(f),o.createVNode(x,{class:"w-100 d-flex justify-end align-center ga-4 pa-4"},{default:o.withCtx(()=>[o.createVNode(h,{class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleClearDraw},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("marker.clearMap")),1)]),_:1},8,["onClick"]),o.createVNode(h,{class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleClearAll},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.clear")),1)]),_:1},8,["onClick"]),o.createVNode(h,{class:"text-none text-body-1",variant:"flat",color:"primary",density:"comfortable",type:"submit",loading:i.saving},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.save")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["onSubmit"])):o.createCommentVNode("",!0),i.markerType==="Area"?(o.openBlock(),o.createBlock(L,{key:2,ref:"areaForm",autocomplete:"off",class:"form-box",onSubmit:o.withModifiers(l.handleSave,["prevent"])},{default:o.withCtx(()=>[o.createVNode(d,{class:"px-4 text-body-1"},{default:o.withCtx(()=>{var b;return[o.createElementVNode("div",Ip,[o.createElementVNode("div",Ap,[o.createTextVNode(o.toDisplayString(e.$t("marker.areaType")),1),t[33]||(t[33]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(u,{modelValue:i.form.areaType,"onUpdate:modelValue":t[17]||(t[17]=C=>i.form.areaType=C),mandatory:"",group:"",density:"compact",variant:"flat",color:"primary",class:"w-100",disabled:!!((b=a.editLayer)!=null&&b.id)},{default:o.withCtx(()=>[o.createVNode(h,{value:"Polygon",class:o.normalizeClass(["flex-1-1-0 text-none text-body-1",i.form.areaType==="Polygon"?"":"btn-border-1 btn-bg-1"]),color:i.form.areaType==="Polygon"?"primary":"","base-color":"",height:"32px","min-height":"32px"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("marker.polygon")),1)]),_:1},8,["class","color"]),o.createVNode(h,{value:"Circle",class:o.normalizeClass(["flex-1-1-0 text-none text-body-1",i.form.areaType==="Circle"?"":"btn-border-1 btn-bg-1"]),style:{"border-left":"0 !important","border-right":"0 !important"},color:i.form.areaType==="Circle"?"primary":"","base-color":"",height:"32px","min-height":"32px"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("marker.circle")),1)]),_:1},8,["class","color"]),o.createVNode(h,{value:"Rect",class:o.normalizeClass(["flex-1-1-0 text-none text-body-1",i.form.areaType==="Rect"?"":"btn-border-1 btn-bg-1"]),color:i.form.areaType==="Rect"?"primary":"","base-color":"",height:"32px","min-height":"32px"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("marker.rect")),1)]),_:1},8,["class","color"])]),_:1},8,["modelValue","disabled"])]),o.createElementVNode("div",Fp,[o.createElementVNode("div",Gp,[o.createTextVNode(o.toDisplayString(e.$t("marker.color")),1),t[34]||(t[34]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createElementVNode("div",Wp,[o.createElementVNode("input",{type:"color",value:i.form.color,class:"native-color-picker cursor-pointer",onInput:t[18]||(t[18]=C=>i.form.color=C.target.value)},null,40,Zp),o.createVNode(m,{modelValue:i.form.color,"onUpdate:modelValue":t[19]||(t[19]=C=>i.form.color=C),rules:i.formRules.color,density:"compact",variant:"outlined",class:"flex-1-1-0"},null,8,["modelValue","rules"])])]),o.createElementVNode("div",Op,[o.createElementVNode("div",jp,[o.createTextVNode(o.toDisplayString(e.$t("marker.name")),1),t[35]||(t[35]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(m,{modelValue:i.form.name,"onUpdate:modelValue":t[20]||(t[20]=C=>i.form.name=C),density:"compact",variant:"outlined",rules:i.formRules.name,autocomplete:"off",class:"input-btn-bg-1"},null,8,["modelValue","rules"])])]}),_:1}),o.createVNode(f),o.createVNode(x,{class:"w-100 d-flex justify-end align-center ga-4 pa-4"},{default:o.withCtx(()=>{var b;return[(b=a.editLayer)!=null&&b.id?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(h,{key:0,class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleClearDraw},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("marker.clearMap")),1)]),_:1},8,["onClick"])),o.createVNode(h,{class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleClearAll},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.reset")),1)]),_:1},8,["onClick"]),o.createVNode(h,{class:"text-none text-body-1",variant:"flat",color:"primary",density:"comfortable",type:"submit",loading:i.saving},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.save")),1)]),_:1},8,["loading"])]}),_:1})]),_:1},8,["onSubmit"])):o.createCommentVNode("",!0)]),_:1})}const Xp=X(yp,[["render",Hp]]),Ry="",Yp={name:"IdmImportMarker",props:{map:{type:Object},gateway:{type:String},token:{type:String},defaultMeteoToken:{type:String},group:{type:Object,default:null}},emits:["close","import"],data(){return{form:{groupName:"",name:"",file:null,format:"",extend:void 0},formRules:{groupName:[e=>e!=null&&e!==""||"required"]},isDragOver:!1,uploading:!1,previewSourceId:"__import_preview__",previewMarkers:[]}},mounted(){var e;this.form.groupName=((e=this.group)==null?void 0:e.name)||"Import layer 1"},beforeUnmount(){this.handleClearPreview()},methods:{handleClose(){this.$emit("close")},handleReset(){var e;this.form={groupName:((e=this.group)==null?void 0:e.name)||"Import layer 1",file:null,format:"",extend:void 0}},handleSelectFile(){this.$refs.fileInput.click()},handleFileChange(e){const t=e.target.files[0];t&&this.onUpload(t)},handleDrop(e){this.isDragOver=!1;const t=e.dataTransfer.files[0];t&&this.onUpload(t)},onUpload(e){var i,l;if(e.size>10485760){this.$emit("error",this.$t("marker.fileTooLarge"));return}this.form.file=e,this.form.name=(i=e.name.split("."))==null?void 0:i[0];const a=(l=e.name.split(".").pop())==null?void 0:l.toLowerCase(),r=new FileReader;r.onload=n=>{const c=new Uint8Array(n.target.result);if(c[0]===80&&c[1]===75){const d=new FileReader;d.onload=async h=>{try{const u=await wr(h.target.result),y=Array.isArray(u)?{type:"FeatureCollection",features:u.flatMap(g=>g.features||[])}:u;this.form.extend=y,this.form.format="geojson",this.handleDrawLayers()}catch(u){console.error("Shapefile parse error",u),this.$emit("error","Failed to parse shapefile"),this.form.file=null}},d.readAsArrayBuffer(e);return}const m=new FileReader;m.onload=d=>{try{const h=d.target.result;if(a==="json"||a==="geojson")this.form.extend=JSON.parse(h),this.form.format="geojson";else if(a==="kml"){const u=new DOMParser().parseFromString(h,"text/xml");this.form.extend=this.kmlToGeoJSON(u),this.form.format="geojson"}else this.$emit("error","Unsupported format: "+a);this.handleDrawLayers()}catch(h){console.error("File parse error",h),this.$emit("error","Failed to parse file")}},m.readAsText(e)},r.readAsArrayBuffer(e.slice(0,4))},kmlToGeoJSON(e){const t=[];return e.querySelectorAll("Placemark").forEach(r=>{var s;const i=((s=r.querySelector("name"))==null?void 0:s.textContent)||"",l=r.querySelector("Point > coordinates");if(l){const[m,d]=l.textContent.trim().split(",").map(Number);t.push({type:"Feature",geometry:{type:"Point",coordinates:[m,d]},properties:{name:i}});return}const n=r.querySelector("LineString > coordinates");if(n){const m=n.textContent.trim().split(/\s+/).map(d=>d.split(",").map(Number).slice(0,2));t.push({type:"Feature",geometry:{type:"LineString",coordinates:m},properties:{name:i}});return}const c=r.querySelector("outerBoundaryIs LinearRing coordinates");if(c){const m=c.textContent.trim().split(/\s+/).map(d=>d.split(",").map(Number).slice(0,2));t.push({type:"Feature",geometry:{type:"Polygon",coordinates:[m]},properties:{name:i}})}}),{type:"FeatureCollection",features:t}},handleRemoveFile(){this.form.file=null,this.$refs.fileInput.value="",this.handleClearPreview()},async handleConfirm(){const{valid:e}=await this.$refs.importForm.validate();if(!e)return;if(!this.form.file){this.$emit("error",this.$t("marker.fileRequired"));return}this.uploading=!0;let t=this.group.id;if(t||await le.post(`${this.gateway}/api/arc/lygroups`,{name:this.form.groupName},{headers:{Authorization:this.token||this.defaultMeteoToken,version:"new"}}).then(r=>{var i,l;((i=r.data)==null?void 0:i.code)===0&&(t=(l=r.data.data)==null?void 0:l.id)}),!t)return;const a={name:this.form.name,format:this.form.format,color:this.form.color||"#2aff00",extend:this.form.extend};await le.post(`${this.gateway}/api/arc/lygroups/${t}/layers`,a,{headers:{Authorization:this.token||this.defaultMeteoToken,version:"new"}}).then(r=>{var i;((i=r.data)==null?void 0:i.code)===0&&(this.$emit("import"),this.uploading=!1)}).catch(r=>{this.uploading=!1})},handleDrawLayers(){if(!this.map||!this.form.extend)return;this.handleClearPreview();const e=this.form.extend,t=this.form.color||"#2aff00",a=this.previewSourceId,r=e.features||(e.type==="Feature"?[e]:[]),i=[];r.forEach(c=>{var d;const s=(d=c.geometry)==null?void 0:d.type;let m=[];s==="LineString"?m=c.geometry.coordinates:s==="MultiLineString"?m=c.geometry.coordinates.flat():s==="Polygon"?m=c.geometry.coordinates[0]:s==="MultiPolygon"&&(m=c.geometry.coordinates.flat(2)),m.forEach(h=>i.push(V.point(h,{_vertex:!0})))}),r.forEach(c=>{var s;if(((s=c.geometry)==null?void 0:s.type)==="Point"){const[m,d]=c.geometry.coordinates;this.previewMarkers.push(new ne.Marker({color:t}).setLngLat([m,d]).addTo(this.map))}});const l=V.featureCollection([...r.filter(c=>{var s;return((s=c.geometry)==null?void 0:s.type)!=="Point"}),...i]);this.map.getSource(a)?this.map.getSource(a).setData(l):this.map.addSource(a,{type:"geojson",data:l});const n=new Set(r.map(c=>{var s;return(s=c.geometry)==null?void 0:s.type}));(n.has("LineString")||n.has("MultiLineString"))&&!this.map.getLayer(`${a}-line`)&&this.map.addLayer({id:`${a}-line`,type:"line",source:a,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":t,"line-width":2}}),(n.has("Polygon")||n.has("MultiPolygon"))&&(this.map.getLayer(`${a}-fill`)||this.map.addLayer({id:`${a}-fill`,type:"fill",source:a,filter:["==","$type","Polygon"],paint:{"fill-color":t,"fill-opacity":.35}}),this.map.getLayer(`${a}-outline`)||this.map.addLayer({id:`${a}-outline`,type:"line",source:a,filter:["==","$type","Polygon"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":t,"line-width":2}})),i.length&&!this.map.getLayer(`${a}-vertex`)&&this.map.addLayer({id:`${a}-vertex`,type:"circle",source:a,filter:["==",["get","_vertex"],!0],paint:{"circle-radius":4,"circle-color":t,"circle-stroke-width":2,"circle-stroke-color":"#ffffff"}})},handleClearPreview(){if(!this.map)return;this.previewMarkers.forEach(a=>a.remove()),this.previewMarkers=[];const e=this.previewSourceId;[`${e}-vertex`,`${e}-point`,`${e}-line`,`${e}-fill`,`${e}-outline`].forEach(a=>{this.map.getLayer(a)&&this.map.removeLayer(a)}),this.map.getSource(e)&&this.map.removeSource(e)}}},Up={class:"text-h6 font-weight-600"},$p={class:"mb-4"},Jp={class:"text-label mb-1"},Kp={class:"text-body-2 text-center text-label"},qp={class:"text-body-1 text-primary mt-2 cursor-pointer"},Qp={class:"text-body-2 text-left text-label mt-1"},eg={key:0,class:"d-flex align-center justify-space-between mt-2 px-2"},tg={class:"text-body-2 text-truncate"};function og(e,t,a,r,i,l){const n=o.resolveComponent("VBtn"),c=o.resolveComponent("v-card-title"),s=o.resolveComponent("v-divider"),m=o.resolveComponent("v-text-field"),d=o.resolveComponent("v-icon"),h=o.resolveComponent("v-card-text"),u=o.resolveComponent("VDivider"),y=o.resolveComponent("v-btn"),g=o.resolveComponent("VCardActions"),p=o.resolveComponent("VForm"),f=o.resolveComponent("v-card");return o.openBlock(),o.createBlock(f,{class:"idm-gl4-import-dialog-card",elevation:"4"},{default:o.withCtx(()=>[o.createVNode(c,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>[o.createElementVNode("span",Up,o.toDisplayString(e.$t("marker.importLayer")),1),o.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:l.handleClose},{default:o.withCtx(()=>t[7]||(t[7]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[7]},8,["onClick"])]),_:1}),o.createVNode(s),o.createVNode(p,{ref:"importForm",autocomplete:"off",class:"form-box",onSubmit:o.withModifiers(l.handleConfirm,["prevent"])},{default:o.withCtx(()=>[o.createVNode(h,{class:"px-4 text-body-1"},{default:o.withCtx(()=>[o.createElementVNode("div",$p,[o.createElementVNode("div",Jp,[o.createTextVNode(o.toDisplayString(e.$t("marker.group")),1),t[8]||(t[8]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(m,{modelValue:i.form.groupName,"onUpdate:modelValue":t[0]||(t[0]=x=>i.form.groupName=x),density:"compact",variant:"outlined","hide-details":"",class:"input-btn-bg-1"},null,8,["modelValue"])]),o.createElementVNode("div",{class:o.normalizeClass(["upload-area d-flex flex-column justify-center align-center pa-4",{"drag-over":i.isDragOver}]),onDragenter:t[2]||(t[2]=o.withModifiers(x=>i.isDragOver=!0,["prevent"])),onDragleave:t[3]||(t[3]=o.withModifiers(x=>i.isDragOver=!1,["prevent"])),onDragover:t[4]||(t[4]=o.withModifiers(()=>{},["prevent"])),onDrop:t[5]||(t[5]=o.withModifiers((...x)=>l.handleDrop&&l.handleDrop(...x),["prevent"])),onClick:t[6]||(t[6]=(...x)=>l.handleSelectFile&&l.handleSelectFile(...x))},[o.createVNode(d,{size:"36",color:"grey",class:"mb-2"},{default:o.withCtx(()=>t[9]||(t[9]=[o.createTextVNode("mdi-cloud-upload-outline",-1)])),_:1,__:[9]}),o.createElementVNode("div",Kp,o.toDisplayString(e.$t("marker.uploadHint")),1),o.createElementVNode("div",qp,o.toDisplayString(e.$t("marker.selectFile")),1),o.createElementVNode("input",{ref:"fileInput",type:"file",style:{display:"none"},accept:".json,.geojson,.zip,.shp,.kml,.kmz",onChange:t[1]||(t[1]=(...x)=>l.handleFileChange&&l.handleFileChange(...x))},null,544)],34),o.createElementVNode("div",Qp,o.toDisplayString(e.$t("marker.uploadLimit")),1),i.form.file?(o.openBlock(),o.createElementBlock("div",eg,[o.createElementVNode("span",tg,o.toDisplayString(i.form.file.name),1),o.createVNode(n,{icon:"",density:"compact",variant:"plain",size:"small",onClick:l.handleRemoveFile},{default:o.withCtx(()=>[o.createVNode(d,{size:"16"},{default:o.withCtx(()=>t[10]||(t[10]=[o.createTextVNode("mdi-close",-1)])),_:1,__:[10]})]),_:1},8,["onClick"])])):o.createCommentVNode("",!0)]),_:1}),o.createVNode(u),o.createVNode(g,{class:"w-100 d-flex justify-end align-center ga-4 pa-4"},{default:o.withCtx(()=>[o.createVNode(y,{class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleReset},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.reset")),1)]),_:1},8,["onClick"]),o.createVNode(y,{class:"text-none text-body-1",variant:"flat",color:"primary",density:"comfortable",type:"submit",loading:i.uploading},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.confirm")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["onSubmit"])]),_:1})}const ag=X(Yp,[["render",og]]),By="",ig={name:"IdmGroupDialog",props:{modelValue:{type:Boolean,default:!1},group:{type:Object,default:null},gateway:{type:String},token:{type:String},defaultMeteoToken:{type:String}},emits:["update:modelValue","saved"],data(){return{localName:"",saving:!1}},watch:{group:{handler(e){this.localName=(e==null?void 0:e.name)||""},immediate:!0}},methods:{handleClose(){this.$emit("update:modelValue",!1)},async handleConfirm(){var e;!this.group||!((e=this.localName)!=null&&e.trim())||(this.saving=!0,await le.put(`${this.gateway}/api/arc/lygroups/${this.group.id}`,{name:this.localName},{headers:{Authorization:this.token||this.defaultMeteoToken,version:"new"}}).then(t=>{var a;((a=t.data)==null?void 0:a.code)===0&&this.$emit("saved")}).catch(()=>{}).finally(()=>{this.saving=!1}))}}},rg={class:"text-h6 font-weight-600"},lg={class:"text-label mb-2"};function ng(e,t,a,r,i,l){const n=o.resolveComponent("VBtn"),c=o.resolveComponent("v-card-title"),s=o.resolveComponent("v-divider"),m=o.resolveComponent("v-text-field"),d=o.resolveComponent("v-card-text"),h=o.resolveComponent("VDivider"),u=o.resolveComponent("v-btn"),y=o.resolveComponent("VCardActions"),g=o.resolveComponent("v-card"),p=o.resolveComponent("v-dialog");return o.openBlock(),o.createBlock(p,{"model-value":a.modelValue,"max-width":"320",persistent:"","onUpdate:modelValue":t[1]||(t[1]=f=>e.$emit("update:modelValue",f))},{default:o.withCtx(()=>[o.createVNode(g,{class:"",elevation:"4"},{default:o.withCtx(()=>[o.createVNode(c,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>[o.createElementVNode("span",rg,o.toDisplayString(e.$t("actions.editGroup")),1),o.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:l.handleClose},{default:o.withCtx(()=>t[2]||(t[2]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[2]},8,["onClick"])]),_:1}),o.createVNode(s),o.createVNode(d,{class:"px-4 text-body-1"},{default:o.withCtx(()=>[o.createElementVNode("div",lg,[o.createTextVNode(o.toDisplayString(e.$t("marker.groupName")),1),t[3]||(t[3]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(m,{modelValue:i.localName,"onUpdate:modelValue":t[0]||(t[0]=f=>i.localName=f),density:"compact",variant:"outlined","hide-details":"",autocomplete:"off",height:"32px","min-height":"32px",class:"input-btn-bg-1"},null,8,["modelValue"])]),_:1}),o.createVNode(h),o.createVNode(y,{class:"w-100 d-flex justify-end align-center ga-4 pa-4"},{default:o.withCtx(()=>[o.createVNode(u,{class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleClose},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.cancel")),1)]),_:1},8,["onClick"]),o.createVNode(u,{class:"text-none text-body-1",variant:"flat",color:"primary",density:"comfortable",loading:i.saving,onClick:l.handleConfirm},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.confirm")),1)]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["model-value"])}const sg=X(ig,[["render",ng]]),cg={name:"DeleteDialog",props:{title:{type:String},tips:{type:String},loading:{type:Boolean,default:!1}},setup(){},emits:["close","delete"],data(){return{showDialog:!1}},watch:{},mounted(){},methods:{handleClose(){this.showDialog=!1},handleDelete(){this.$emit("delete")},open(){this.showDialog=!0}}},mg={class:"text-body-1 pb-1"},dg={class:"text-body-1"};function hg(e,t,a,r,i,l){const n=o.resolveComponent("v-icon"),c=o.resolveComponent("VBtn"),s=o.resolveComponent("v-card-title"),m=o.resolveComponent("v-card-text"),d=o.resolveComponent("v-card-actions"),h=o.resolveComponent("v-card"),u=o.resolveComponent("v-dialog");return o.openBlock(),o.createBlock(u,{modelValue:i.showDialog,"onUpdate:modelValue":t[0]||(t[0]=y=>i.showDialog=y),width:"500","min-width":"500","max-width":"500"},{default:o.withCtx(()=>[o.createVNode(h,{class:""},{default:o.withCtx(()=>[o.createVNode(s,{class:"text-h6 font-weight-600 d-flex justify-center align-center py-4"},{default:o.withCtx(()=>[o.createVNode(n,{color:"warning",icon:"mdi-alert-circle",size:"small",class:"mr-2"}),o.createElementVNode("div",null,o.toDisplayString(a.title),1),o.createVNode(c,{icon:"",density:"compact",variant:"plain",class:"position-absolute top-0 right-0 mt-2 mr-2",onClick:l.handleClose},{default:o.withCtx(()=>t[1]||(t[1]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[1]},8,["onClick"])]),_:1}),o.createVNode(m,{class:"py-4 text-center"},{default:o.withCtx(()=>[o.createElementVNode("p",mg,o.toDisplayString(a.tips),1),o.createElementVNode("p",dg,o.toDisplayString(e.$t("tips.doYouWantToContinue")),1)]),_:1}),o.createVNode(d,{class:"w-100 d-flex justify-center align-center ga-8 py-6"},{default:o.withCtx(()=>[o.createVNode(c,{variant:"tonal",class:"text-none text-body-1",height:"32",onClick:l.handleClose},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.cancel")),1)]),_:1},8,["onClick"]),o.createVNode(c,{loading:a.loading,variant:"flat",color:"danger",class:"text-none text-body-1",height:"32",onClick:l.handleDelete},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.delete")),1)]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])}const pg=X(cg,[["render",hg]]),Iy="",gg={name:"IdmMarker",components:{IdmDrawMarker:Xp,IdmImportMarker:ag,IdmGroupDialog:sg,DeleteDialog:pg},props:{simple:{type:Boolean,default:!1},map:{type:Object},theme:{type:String},token:{type:String},isLogin:{type:Boolean,default:!1},defaultMeteoToken:{type:String},gateway:{type:String},assistGateway:{type:Array,default:[]},top:{type:Number,default:60},paddingTop:{type:Number,default:48},menuToggle:{type:Object,default:{}}},setup(){return{Theme:we.useTheme()}},emits:["map","menuToggle","theme"],data(){return{right:10,toggle:!1,autoActive:!0,keyword:"",drawDialog:!1,importDialog:!1,loading:!1,deleteDialog:!1,deleteLoading:!1,layerGroup:[],layers:[],groupIndex:0,currentLayer:void 0,drawnLayerIds:[],layerMarkers:{},groupDialog:!1,currentGroup:null,currentGroupId:"",currentGroupName:""}},watch:{"menuToggle.v":{handler(){this.toggle=this.menuToggle.markerLayers,this.$nextTick(()=>{var e;this.simple||(this.right=(((e=document.getElementsByClassName("right-bar")[0])==null?void 0:e.clientWidth)||0)+10)})},immediate:!0},toggle:{async handler(){this.toggle?await this.fetchAllLayers():this.handleClearAllLayers()}},autoActive:{async handler(){this.autoActive?this.handleDrawAllLayers():this.handleClearAllLayers()}}},methods:{handleMenuToggle(){this.isLogin?(this.toggle=!this.toggle,this.$emit("menuToggle","markerLayers")):this.$emit("login")},handleEditGroup(e){this.drawDialog=!1,this.importDialog=!1,this.currentGroup=e,this.groupDialog=!0},handleSaveGroup(){this.fetchAllLayers(),this.groupDialog=!1,this.currentGroup=void 0},handleOpenDelete(e,t){e==="group"?(this.currentGroup=t,this.currentLayer=void 0):e==="layer"&&(this.currentGroup=void 0,this.currentLayer=t),this.$refs.deleteDialog.open()},confirmDelete(){var e;this.currentGroup?this.handleDeleteGroup((e=this.currentGroup)==null?void 0:e.id):this.currentLayer&&this.handleDeleteLayer(this.currentLayer)},async handleDeleteGroup(e){e&&(this.deleteLoading=!0,await le.delete(`${this.gateway}/api/arc/lygroups/${e}`,{headers:{Authorization:this.token||this.defaultMeteoToken,version:"new"}}).then(t=>{var a;((a=t.data)==null?void 0:a.code)===0&&(this.fetchAllLayers(),this.currentGroup=void 0,this.$refs.deleteDialog.handleClose(),this.deleteLoading=!1)}).catch(()=>{this.deleteLoading=!1}))},handleOpenDrawMarkers(e){this.handleCloseDraw(),this.currentGroup=e||this.layerGroup.find(t=>t.name==="Custom Layers"),this.importDialog=!1,this.drawDialog=!0},handleOpenImportDialog(e){this.drawDialog=!1,this.handleCloseDraw(),this.currentGroup=e||void 0,this.importDialog=!0},handleImportLayer(e){this.fetchAllLayers(),this.importDialog=!1},handleSaveMarker(e){this.fetchAllLayers(),this.drawDialog=!1,this.currentLayer=null},handleCloseDraw(){this.drawDialog=!1,this.currentLayer=null,this.autoActive&&this.handleDrawAllLayers(),this.currentGroup=void 0},handleEditLayer(e,t){this.importDialog=!1,this.currentGroup=e,this.currentLayer=t,this.handleClearLayer(),this.drawDialog=!0},async fetchAllLayers(){this.loading=!0,await le.get(`${this.gateway}/api/arc/lygroups/my`,{headers:{Authorization:this.token||this.defaultMeteoToken,version:"new"}}).then(e=>{var t,a,r,i,l;if(((t=e.data)==null?void 0:t.code)===0){this.loading=!1,this.layerGroup=((i=(r=(a=e.data)==null?void 0:a.data)==null?void 0:r.rows)==null?void 0:i.reverse())||[];const n=[];(l=this.layerGroup)==null||l.forEach(c=>{var s;c.show=!0,(s=c.layers)==null||s.forEach(m=>{m.layerGroupId=c.id,n.push(m)})}),this.layers=n,this.handleDrawAllLayers()}}).catch(()=>{this.loading=!1})},async handleDeleteLayer(e){this.deleteLoading=!0,await le.delete(`${this.gateway}/api/arc/layers/${e.id}`,{headers:{Authorization:this.token||this.defaultMeteoToken,version:"new"}}).then(t=>{var a;((a=t.data)==null?void 0:a.code)===0&&(this.deleteLoading=!1,this.fetchAllLayers(),this.$refs.deleteDialog.handleClose())}).catch(()=>{this.deleteLoading=!1})},handleRenderLayer(e){var m;if(!this.map||!(e!=null&&e.extend))return;const t=typeof e.extend=="string"?JSON.parse(e.extend):e.extend;if(!t)return;const a=`marker-layer-${e.id}`,r=e.color||((m=this.Theme.current.value.colors)==null?void 0:m["map-green"])||"#4CAF50";this.handleClearLayerMarkers(e.id);const i=t.features||(t.type==="Feature"?[t]:[]);if(i.some(d=>{var h,u;return(((h=d.geometry)==null?void 0:h.type)==="Point"||((u=d.geometry)==null?void 0:u.type)==="MultiPoint")&&d.properties.type==="point"})){const d=[];i.forEach(h=>{var y;const u=(y=h.geometry)==null?void 0:y.type;if(u==="Point"){const[g,p]=h.geometry.coordinates;d.push(new ne.Marker({color:r}).setLngLat([g,p]).addTo(this.map))}else u==="MultiPoint"&&h.geometry.coordinates.forEach(([g,p])=>{d.push(new ne.Marker({color:r}).setLngLat([g,p]).addTo(this.map))})}),this.layerMarkers[e.id]=d}const n=this.handleEnrichGeojson(t);this.map.getSource(a)?this.map.getSource(a).setData(n):this.map.addSource(a,{type:"geojson",data:n});const c=new Set;(n.features||(n.type==="Feature"?[n]:[])).forEach(d=>{var h;return c.add((h=d.geometry)==null?void 0:h.type)}),(c.has("LineString")||c.has("MultiLineString"))&&!this.map.getLayer(`${a}-line`)&&this.map.addLayer({id:`${a}-line`,type:"line",source:a,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":r,"line-width":2}}),(c.has("Polygon")||c.has("MultiPolygon"))&&(this.map.getLayer(`${a}-fill`)||this.map.addLayer({id:`${a}-fill`,type:"fill",source:a,filter:["==","$type","Polygon"],paint:{"fill-color":r,"fill-opacity":.35}}),this.map.getLayer(`${a}-outline`)||this.map.addLayer({id:`${a}-outline`,type:"line",source:a,filter:["==","$type","Polygon"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":r,"line-width":2}})),(c.has("Point")||c.has("MultiPoint"))&&!this.map.getLayer(`${a}-point`)&&this.map.addLayer({id:`${a}-point`,type:"circle",source:a,filter:["==","$type","Point"],paint:{"circle-radius":3,"circle-color":r,"circle-stroke-width":2,"circle-stroke-color":"#ffffff"}})},handleEnrichGeojson(e){const t=e.features||(e.type==="Feature"?[e]:[]),a=[];return t.forEach(r=>{var n;const i=(n=r.geometry)==null?void 0:n.type;let l=[];i==="LineString"?l=r.geometry.coordinates:i==="MultiLineString"?l=r.geometry.coordinates.flat():i==="Polygon"?r.properties.center&&r.properties.radius||(l=r.geometry.coordinates[0]):i==="MultiPolygon"&&(l=r.geometry.coordinates.flat(2)),l.forEach(c=>{a.push(V.point(c))})}),V.featureCollection([...t,...a])},handleDrawAllLayers(){!this.autoActive||!this.map||!this.layers.length||(this.handleClearAllLayers(),this.layers.forEach(e=>{this.handleRenderLayer(e)}),this.drawnLayerIds=this.layers.map(e=>e.id))},handleClearAllLayers(){this.map&&(Object.keys(this.layerMarkers).forEach(e=>{this.handleClearLayerMarkers(e)}),this.drawnLayerIds.forEach(e=>{const t=`marker-layer-${e}`;[`${t}-point`,`${t}-line`,`${t}-fill`,`${t}-outline`].forEach(r=>{this.map.getLayer(r)&&this.map.removeLayer(r)}),this.map.getSource(t)&&this.map.removeSource(t)}),this.drawnLayerIds=[],this.currentLayer=void 0)},handleClearLayer(){if(!this.map||!this.currentLayer)return;this.handleClearLayerMarkers(this.currentLayer.id);const e=`marker-layer-${this.currentLayer.id}`;[`${e}-point`,`${e}-line`,`${e}-fill`,`${e}-outline`].forEach(a=>{this.map.getLayer(a)&&this.map.removeLayer(a)}),this.map.getSource(e)&&this.map.removeSource(e)},handleClearLayerMarkers(e){const t=this.layerMarkers[e];t&&(t.forEach(a=>a.remove()),delete this.layerMarkers[e])}}},ug={class:"idm-gl4-marker"},fg={class:"w-100 px-4 d-flex flex-column justify-start align-start"},yg={class:"w-100 header-box d-flex justify-space-between align-center pr-4"},bg={class:"d-flex justify-start align-center ga-3"},wg={class:"text-h5 font-weight-medium"},xg={class:"search-box w-100 mb-3"},kg={class:"multi-color-icon",style:{height:"20px",width:"20px"},"aria-hidden":"true"},_g={class:"w-100 d-flex justify-space-between align-center ga-4"},Lg={class:"list-box w-100 flex-1-1-0 px-4 pb-2 scroll overflow-y-auto"},zg={class:"group-label text-body-1 d-flex justify-space-between align-center py-4"},Cg={class:"d-flex justify-start align-center pl-2 cursor-pointer"},vg=["onClick"],Sg={key:0},Ng={key:0,class:"layer-list flex-1-1-0 overflow-y-hidden pb-2"},Pg={class:"d-flex align-center justify-start ga-2"},Mg={class:"font-weight-600"},Vg={class:"layer-actions d-flex align-center justify-end ga-2"};function Tg(e,t,a,r,i,l){var S;const n=o.resolveComponent("VBtn"),c=o.resolveComponent("VTooltip"),s=o.resolveComponent("VSwitch"),m=o.resolveComponent("v-icon"),d=o.resolveComponent("v-text-field"),h=o.resolveComponent("v-chip"),u=o.resolveComponent("v-progress-circular"),y=o.resolveComponent("VListItemTitle"),g=o.resolveComponent("VListItem"),p=o.resolveComponent("VList"),f=o.resolveComponent("v-card"),x=o.resolveComponent("VMenu"),L=o.resolveComponent("v-btn"),w=o.resolveComponent("v-divider"),b=o.resolveComponent("IdmDrawMarker"),C=o.resolveComponent("IdmImportMarker"),_=o.resolveComponent("IdmGroupDialog"),z=o.resolveComponent("DeleteDialog");return o.openBlock(),o.createElementBlock("div",ug,[o.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:o.normalizeStyle({top:a.top+a.paddingTop+206+"px",right:i.right+"px"})},[o.createVNode(c,{text:e.$t("marker.markers"),location:"left",interactive:!0,"open-on-click":!1,"open-on-focus":!a.simple,"open-on-hover":!a.simple},{activator:o.withCtx(({props:N})=>[o.createVNode(n,o.mergeProps(N,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:o.withCtx(()=>t[7]||(t[7]=[o.createElementVNode("i",{class:"iconfont icon-compass text-h4"},null,-1)])),_:2,__:[7]},1040,["class","onClick"])]),_:1},8,["text","open-on-focus","open-on-hover"])],4),o.createElementVNode("div",{class:o.normalizeClass(["main-box transition d-flex flex-column justify-start align-start",i.toggle?"right-bar":""]),style:o.normalizeStyle({top:a.top+"px",right:i.toggle?"0px":"-300px"})},[o.createElementVNode("div",fg,[o.createElementVNode("div",yg,[o.createElementVNode("div",bg,[o.createElementVNode("div",wg,o.toDisplayString(e.$t("marker.markers")),1),o.createVNode(s,{modelValue:i.autoActive,"onUpdate:modelValue":t[0]||(t[0]=N=>i.autoActive=N),class:"small-switch",inset:"",color:"primary","base-color":"disabled","hide-details":""},null,8,["modelValue"]),o.createVNode(n,{class:"ml-n8",density:"compact",icon:"",variant:"text",onClick:l.fetchAllLayers},{default:o.withCtx(()=>[o.createVNode(m,{icon:"mdi-refresh"})]),_:1},8,["onClick"])]),o.createVNode(n,{class:"mr-n6",density:"comfortable",icon:"",variant:"plain",onClick:l.handleMenuToggle},{default:o.withCtx(()=>t[8]||(t[8]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[8]},8,["onClick"])]),o.createElementVNode("div",xg,[o.createVNode(d,{modelValue:i.keyword,"onUpdate:modelValue":t[1]||(t[1]=N=>i.keyword=N),"clear-icon":"mdi-close",clearable:"",density:"compact","hide-details":"",variant:"outlined",autocomplete:"off",class:"input-btn-bg-1"},{"prepend-inner":o.withCtx(()=>[(o.openBlock(),o.createElementBlock("svg",kg,t[9]||(t[9]=[o.createElementVNode("use",{"xlink:href":"#icon-search"},null,-1)])))]),_:1},8,["modelValue"])]),o.createElementVNode("div",_g,[o.createVNode(n,{class:"flex-1-1-0 text-none mb-3 text-body-1 font-weight-600",color:"primary",variant:"text",density:"compact",height:"32","max-height":"32","prepend-icon":"mdi-plus",onClick:t[2]||(t[2]=N=>l.handleOpenDrawMarkers())},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.add")),1)]),_:1}),o.createVNode(n,{class:"flex-1-1-0 text-none mb-3 text-body-1 font-weight-600",color:"primary",variant:"text",density:"compact",height:"32","max-height":"32","prepend-icon":"mdi-import",onClick:l.handleOpenImportDialog},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.import")),1)]),_:1},8,["onClick"])])]),o.createElementVNode("div",Lg,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(i.layerGroup,N=>(o.openBlock(),o.createElementBlock("div",{key:N.name,class:o.normalizeClass(["btn-bg-1",N.index===i.layerGroup.length?"rounded-b":N.index===1?"rounded-t":""])},[o.createElementVNode("div",zg,[o.createElementVNode("div",Cg,[N.show?(o.openBlock(),o.createBlock(m,{key:0,icon:"mdi-chevron-down",onClick:T=>N.show=!1},null,8,["onClick"])):(o.openBlock(),o.createBlock(m,{key:1,icon:"mdi-chevron-right",onClick:T=>N.show=!0},null,8,["onClick"])),i.loading?(o.openBlock(),o.createBlock(u,{key:3,class:"mx-2",color:"primary",indeterminate:"",size:"16",width:"2"})):(o.openBlock(),o.createBlock(h,{key:2,density:"compact",variant:"tonal",class:"font-weight-600 mr-2",color:"primary",onClick:T=>N.show=!N.show},{default:o.withCtx(()=>{var T;return[o.createTextVNode(o.toDisplayString((T=N.layers)==null?void 0:T.length),1)]}),_:2},1032,["onClick"])),o.createElementVNode("div",{class:"",onClick:T=>N.show=!N.show},o.toDisplayString(N.name),9,vg)]),N.name!=="Custom Layers"?(o.openBlock(),o.createElementBlock("div",Sg,[o.createVNode(L,{icon:"",density:"compact",variant:"plain",class:"mx-1"},{default:o.withCtx(()=>[t[10]||(t[10]=o.createElementVNode("i",{class:"iconfont icon-dots-vertical text-h4 cursor-pointer"},null,-1)),o.createVNode(x,{activator:"parent","min-width":"240",class:"drop-menu"},{default:o.withCtx(()=>[o.createVNode(f,{class:"pa-2 px-0"},{default:o.withCtx(()=>[o.createVNode(p,{class:""},{default:o.withCtx(()=>[o.createVNode(g,{value:"account",variant:"flat",rounded:"",height:"38","min-height":"38"},{default:o.withCtx(()=>[o.createVNode(y,{class:"text-body-1 d-flex jusity-center align-center",onClick:T=>l.handleOpenDrawMarkers(N)},{default:o.withCtx(()=>[o.createVNode(m,{icon:"mdi-plus-circle-outline mr-4",size:"16"}),o.createElementVNode("span",null,o.toDisplayString(e.$t("actions.addMarker")),1)]),_:2},1032,["onClick"])]),_:2},1024),o.createVNode(g,{value:"help",variant:"flat",rounded:"",height:"38","min-height":"38"},{default:o.withCtx(()=>[o.createVNode(y,{class:"text-body-1 d-flex jusity-center align-center",onClick:T=>l.handleEditGroup(N)},{default:o.withCtx(()=>[o.createVNode(m,{icon:"mdi-pencil mr-4",size:"16"}),o.createElementVNode("span",null,o.toDisplayString(e.$t("actions.editGroup")),1)]),_:2},1032,["onClick"])]),_:2},1024),o.createVNode(g,{value:"loginOut",variant:"flat",rounded:"",height:"38","min-height":"38"},{default:o.withCtx(()=>[o.createVNode(y,{class:"text-body-1 d-flex jusity-center align-center",onClick:T=>l.handleOpenDelete("group",N)},{default:o.withCtx(()=>[o.createVNode(m,{icon:"mdi-trash-can-outline mr-4",size:"16"}),o.createElementVNode("span",null,o.toDisplayString(e.$t("actions.deleteGroup")),1)]),_:2},1032,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2,__:[10]},1024)])):o.createCommentVNode("",!0)]),N.show?(o.openBlock(),o.createElementBlock("div",Ng,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(N.layers,T=>{var R;return o.openBlock(),o.createElementBlock("div",{key:T.id,class:o.normalizeClass(["layer-item py-4 px-2 mx-2 rounded cursor-pointer d-flex align-center justify-space-between",((R=i.currentLayer)==null?void 0:R.id)===T.id?"active":""])},[o.createElementVNode("div",Pg,[o.createElementVNode("span",Mg,o.toDisplayString(T==null?void 0:T.name),1)]),o.createElementVNode("div",Vg,[o.createVNode(n,{class:"",density:"compact",icon:"",variant:"text",onClick:G=>l.handleEditLayer(N,T)},{default:o.withCtx(()=>[o.createVNode(m,{icon:"mdi-pencil",size:"16"})]),_:2},1032,["onClick"]),o.createVNode(n,{class:"",density:"compact",icon:"",variant:"text",loading:i.deleteLoading,onClick:G=>l.handleOpenDelete("layer",T)},{default:o.withCtx(()=>[o.createVNode(m,{icon:"mdi-trash-can-outline",size:"16"})]),_:2},1032,["loading","onClick"])])],2)}),128))])):o.createCommentVNode("",!0),N.index<i.layerGroup.length?(o.openBlock(),o.createBlock(w,{key:1,class:"w-100",thickness:"1"})):o.createCommentVNode("",!0)],2))),128))])],6),i.drawDialog?(o.openBlock(),o.createBlock(b,{key:((S=i.currentLayer)==null?void 0:S.id)||"new",map:a.map,gateway:a.gateway,token:a.token,defaultMeteoToken:a.defaultMeteoToken,editLayer:i.currentLayer,group:i.currentGroup,onClose:l.handleCloseDraw,onSave:l.handleSaveMarker},null,8,["map","gateway","token","defaultMeteoToken","editLayer","group","onClose","onSave"])):o.createCommentVNode("",!0),i.importDialog?(o.openBlock(),o.createBlock(C,{key:1,map:a.map,gateway:a.gateway,token:a.token,defaultMeteoToken:a.defaultMeteoToken,layerGroup:i.layerGroup,group:i.currentGroup,onClose:t[3]||(t[3]=N=>(i.importDialog=!1,i.currentGroup=void 0)),onImport:l.handleImportLayer},null,8,["map","gateway","token","defaultMeteoToken","layerGroup","group","onImport"])):o.createCommentVNode("",!0),o.createVNode(_,{modelValue:i.groupDialog,"onUpdate:modelValue":t[4]||(t[4]=N=>i.groupDialog=N),group:i.currentGroup,gateway:a.gateway,token:a.token,defaultMeteoToken:a.defaultMeteoToken,onClose:t[5]||(t[5]=N=>(i.groupDialog=!1,i.currentGroup=void 0)),onSaved:l.fetchAllLayers},null,8,["modelValue","group","gateway","token","defaultMeteoToken","onSaved"]),o.createVNode(z,{ref:"deleteDialog",title:e.$t("actions.delete"),tips:e.$t("tips.deleteText"),loading:i.deleteLoading,onDelete:t[6]||(t[6]=N=>l.confirmDelete())},null,8,["title","tips","loading"])])}const Dg=X(gg,[["render",Tg]]);var E={image:new Map,background:new Map,resource:new Map,defaultStyle:new Map,baseStyle:new Map,computedStyle:new WeakMap,font:new Set,session:{styleMap:new Map,styleCache:new WeakMap,nodeMap:new Map}};function Eg(e="soft"){switch(E.session.__counterEpoch=(E.session.__counterEpoch||0)+1,e){case"auto":{E.session.styleMap=new Map,E.session.nodeMap=new Map;return}case"soft":{E.session.styleMap=new Map,E.session.nodeMap=new Map,E.session.styleCache=new WeakMap;return}case"full":return;case"disabled":{E.session.styleMap=new Map,E.session.nodeMap=new Map,E.session.styleCache=new WeakMap,E.computedStyle=new WeakMap,E.baseStyle=new Map,E.defaultStyle=new Map,E.image=new Map,E.background=new Map,E.resource=new Map,E.font=new Set;return}default:{E.session.styleMap=new Map,E.session.nodeMap=new Map,E.session.styleCache=new WeakMap;return}}}function Xo(e){let t=e.match(/url\((['"]?)(.*?)(\1)\)/);if(!t)return null;let a=t[2].trim();return a.startsWith("#")?null:a}function Rg(e){if(!e||e==="none")return"";let t=e.replace(/translate[XY]?\([^)]*\)/g,"");return t=t.replace(/matrix\(([^)]+)\)/g,(a,r)=>{let i=r.split(",").map(l=>l.trim());return i.length!==6?`matrix(${r})`:(i[4]="0",i[5]="0",`matrix(${i.join(", ")})`)}),t=t.replace(/matrix3d\(([^)]+)\)/g,(a,r)=>{let i=r.split(",").map(l=>l.trim());return i.length!==16?`matrix3d(${r})`:(i[12]="0",i[13]="0",`matrix3d(${i.join(", ")})`)}),t.trim().replace(/\s{2,}/g," ")}function Eo(e){if(/%[0-9A-Fa-f]{2}/.test(e))return e;try{return encodeURI(e)}catch{return e}}function Bg(e="[snapDOM]",{ttlMs:t=5*6e4,maxEntries:a=12}={}){let r=new Map,i=0;function l(n,c,s){if(i>=a)return;let m=Date.now();(r.get(c)||0)>m||(r.set(c,m+t),i++,n==="warn"&&console&&console.warn?console.warn(`${e} ${s}`):console&&console.error&&console.error(`${e} ${s}`))}return{warnOnce(n,c){l("warn",n,c)},errorOnce(n,c){l("error",n,c)},reset(){r.clear(),i=0}}}var ma=Bg("[snapDOM]",{ttlMs:3*6e4,maxEntries:10}),Yo=new Map,Ro=new Map;function Ig(e){return/^data:|^blob:|^about:blank$/i.test(e)}function Ag(e,t){try{let a=typeof location<"u"&&location.href?location.href:"http://localhost/",r=t.includes("{url}")?t.split("{url}")[0]:t,i=new URL(r||".",a),l=new URL(e,a);if(l.origin===i.origin)return!0;let n=l.searchParams;if(n&&(n.has("url")||n.has("target")))return!0}catch{}return!1}function Fg(e,t){if(!t||Ig(e)||Ag(e,t))return!1;try{let a=typeof location<"u"&&location.href?location.href:"http://localhost/",r=new URL(e,a);return typeof location<"u"?r.origin!==location.origin:!0}catch{return!!t}}function Gg(e,t){if(!t)return e;if(t.includes("{url}"))return t.replace("{urlRaw}",Eo(e)).replace("{url}",encodeURIComponent(e));if(/[?&]url=?$/.test(t))return`${t}${encodeURIComponent(e)}`;if(t.endsWith("?"))return`${t}url=${encodeURIComponent(e)}`;if(t.endsWith("/"))return`${t}${Eo(e)}`;let a=t.includes("?")?"&":"?";return`${t}${a}url=${encodeURIComponent(e)}`}function da(e){return new Promise((t,a)=>{let r=new FileReader;r.onload=()=>t(String(r.result||"")),r.onerror=()=>a(new Error("read_failed")),r.readAsDataURL(e)})}function Wg(e,t){return[t.as||"blob",t.timeout??3e3,t.useProxy||"",t.errorTTL??8e3,e].join("|")}async function Ee(e,t={}){let a=t.as??"blob",r=t.timeout??3e3,i=t.useProxy||"",l=t.errorTTL??8e3,n=t.headers||{},c=!!t.silent;if(/^data:/i.test(e))try{if(a==="text")return{ok:!0,data:String(e),status:200,url:e,fromCache:!1};if(a==="dataURL")return{ok:!0,data:String(e),status:200,url:e,fromCache:!1,mime:String(e).slice(5).split(";")[0]||""};let[,f="",x=""]=String(e).match(/^data:([^,]*),(.*)$/)||[],L=/;base64/i.test(f)?atob(x):decodeURIComponent(x),w=new Uint8Array([...L].map(C=>C.charCodeAt(0))),b=new Blob([w],{type:(f||"").split(";")[0]||""});return{ok:!0,data:b,status:200,url:e,fromCache:!1,mime:b.type||""}}catch{return{ok:!1,data:null,status:0,url:e,fromCache:!1,reason:"special_url_error"}}if(/^blob:/i.test(e))try{let f=await fetch(e);if(!f.ok)return{ok:!1,data:null,status:f.status,url:e,fromCache:!1,reason:"http_error"};let x=await f.blob(),L=x.type||f.headers.get("content-type")||"";return a==="dataURL"?{ok:!0,data:await da(x),status:f.status,url:e,fromCache:!1,mime:L}:a==="text"?{ok:!0,data:await x.text(),status:f.status,url:e,fromCache:!1,mime:L}:{ok:!0,data:x,status:f.status,url:e,fromCache:!1,mime:L}}catch{return{ok:!1,data:null,status:0,url:e,fromCache:!1,reason:"network"}}if(/^about:blank$/i.test(e))return a==="dataURL"?{ok:!0,data:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==",status:200,url:e,fromCache:!1,mime:"image/png"}:{ok:!0,data:a==="text"?"":new Blob([]),status:200,url:e,fromCache:!1};let s=Wg(e,{as:a,timeout:r,useProxy:i,errorTTL:l}),m=Ro.get(s);if(m&&m.until>Date.now())return{...m.result,fromCache:!0};m&&Ro.delete(s);let d=Yo.get(s);if(d)return d;let h=Fg(e,i)?Gg(e,i):e,u=t.credentials;if(!u)try{let f=typeof location<"u"&&location.href?location.href:"http://localhost/",x=new URL(e,f);u=typeof location<"u"&&x.origin===location.origin?"include":"omit"}catch{u="omit"}let y=new AbortController,g=setTimeout(()=>y.abort("timeout"),r),p=(async()=>{try{let f=await fetch(h,{signal:y.signal,credentials:u,headers:n});if(!f.ok){let w={ok:!1,data:null,status:f.status,url:h,fromCache:!1,reason:"http_error"};if(l>0&&Ro.set(s,{until:Date.now()+l,result:w}),!c){let b=`${f.status} ${f.statusText||""}`.trim();ma.warnOnce(`http:${f.status}:${a}:${new URL(e,(location==null?void 0:location.href)??"http://localhost/").origin}`,`HTTP error ${b} while fetching ${a} ${e}`)}return t.onError&&t.onError(w),w}if(a==="text")return{ok:!0,data:await f.text(),status:f.status,url:h,fromCache:!1};let x=await f.blob(),L=x.type||f.headers.get("content-type")||"";return a==="dataURL"?{ok:!0,data:await da(x),status:f.status,url:h,fromCache:!1,mime:L}:{ok:!0,data:x,status:f.status,url:h,fromCache:!1,mime:L}}catch(f){let x=f&&typeof f=="object"&&"name"in f&&f.name==="AbortError"?String(f.message||"").includes("timeout")?"timeout":"abort":"network",L={ok:!1,data:null,status:0,url:h,fromCache:!1,reason:x};if(!/^blob:/i.test(e)&&l>0&&Ro.set(s,{until:Date.now()+l,result:L}),!c){let w=`${x}:${a}:${new URL(e,(location==null?void 0:location.href)??"http://localhost/").origin}`,b=x==="timeout"?`Timeout after ${r}ms. Consider increasing timeout or using a proxy for ${e}`:x==="abort"?`Request aborted while fetching ${a} ${e}`:`Network/CORS issue while fetching ${a} ${e}. A proxy may be required`;ma.errorOnce(w,b)}return t.onError&&t.onError(L),L}finally{clearTimeout(g),Yo.delete(s)}})();return Yo.set(s,p),p}async function ha(e,t={}){if(/^((repeating-)?(linear|radial|conic)-gradient)\(/i.test(e)||e.trim()==="none")return e;let a=Xo(e);if(!a)return e;let r=Eo(a);if(E.background.has(r)){let i=E.background.get(r);return i?`url("${i}")`:"none"}try{let i=await Ee(r,{as:"dataURL",useProxy:t.useProxy});return i.ok?(E.background.set(r,i.data),`url("${i.data}")`):(E.background.set(r,null),"none")}catch{return E.background.set(r,null),"none"}}var Zg=new Set(["meta","script","noscript","title","link","template"]),Uo=new Set(["meta","link","style","title","noscript","script","template","g","defs","use","marker","mask","clipPath","pattern","path","polygon","polyline","line","circle","ellipse","rect","filter","lineargradient","radialgradient","stop"]);function Og(e){if(e=String(e).toLowerCase(),Uo.has(e)){let l={};return E.defaultStyle.set(e,l),l}if(E.defaultStyle.has(e))return E.defaultStyle.get(e);let t=document.getElementById("snapdom-sandbox");t||(t=document.createElement("div"),t.id="snapdom-sandbox",t.setAttribute("data-snapdom-sandbox","true"),t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.left="-9999px",t.style.top="-9999px",t.style.width="0px",t.style.height="0px",t.style.overflow="hidden",document.body.appendChild(t));let a=document.createElement(e);a.style.all="initial",t.appendChild(a);let r=getComputedStyle(a),i={};for(let l of r){if(pa(l))continue;let n=r.getPropertyValue(l);i[l]=n}return t.removeChild(a),E.defaultStyle.set(e,i),i}var jg=/(?:^|-)(animation|transition)(?:-|$)/i,Hg=/^(--|view-timeline|scroll-timeline|animation-trigger|offset-|position-try|app-region|interactivity|overlay|view-transition|-webkit-locale|-webkit-user-(?:drag|modify)|-webkit-tap-highlight-color|-webkit-text-security)$/i,Xg=new Set(["cursor","pointer-events","touch-action","user-select","print-color-adjust","speak","reading-flow","reading-order","anchor-name","anchor-scope","container-name","container-type","timeline-scope"]);function pa(e){let t=String(e).toLowerCase();return!!(Xg.has(t)||Hg.test(t)||jg.test(t))}function $o(e,t){if(t=String(t||"").toLowerCase(),Uo.has(t))return"";let a=[],r=Og(t);for(let[i,l]of Object.entries(e)){if(pa(i))continue;let n=r[i];l&&l!==n&&a.push(`${i}:${l}`)}return a.sort(),a.join(";")}function Yg(e){let t=new Set;return e.nodeType!==Node.ELEMENT_NODE&&e.nodeType!==Node.DOCUMENT_FRAGMENT_NODE?[]:(e.tagName&&t.add(e.tagName.toLowerCase()),typeof e.querySelectorAll=="function"&&e.querySelectorAll("*").forEach(a=>t.add(a.tagName.toLowerCase())),Array.from(t))}function Ug(e){let t=new Map;for(let r of e){let i=E.defaultStyle.get(r);if(!i)continue;let l=Object.entries(i).map(([n,c])=>`${n}:${c};`).sort().join("");l&&(t.has(l)||t.set(l,[]),t.get(l).push(r))}let a="";for(let[r,i]of t.entries())a+=`${i.join(",")} { ${r} }
221
221
  `;return a}function $g(e){let t=Array.from(new Set(e.values())).filter(Boolean).sort(),a=new Map,r=1;for(let i of t)a.set(i,`c${r++}`);return a}function ga(e,t=null){if(!(e instanceof Element))return window.getComputedStyle(e,t);let a=E.computedStyle.get(e);if(a||(a=new Map,E.computedStyle.set(e,a)),!a.has(t)){let r=window.getComputedStyle(e,t);a.set(t,r)}return a.get(t)}function ua(e){let t={};for(let a of e)t[a]=e.getPropertyValue(a);return t}function fa(e){let t=[],a=0,r=0;for(let i=0;i<e.length;i++){let l=e[i];l==="("&&a++,l===")"&&a--,l===","&&a===0&&(t.push(e.slice(r,i).trim()),r=i+1)}return t.push(e.slice(r).trim()),t}var Jg=[/font\s*awesome/i,/material\s*icons/i,/ionicons/i,/glyphicons/i,/feather/i,/bootstrap\s*icons/i,/remix\s*icons/i,/heroicons/i,/layui/i,/lucide/i],He=Object.assign({materialIconsFilled:"https://fonts.gstatic.com/s/materialicons/v48/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2",materialIconsOutlined:"https://fonts.gstatic.com/s/materialiconsoutlined/v110/gok-H7zzDkdnRel8-DQ6KAXJ69wP1tGnf4ZGhUcel5euIg.woff2",materialIconsRound:"https://fonts.gstatic.com/s/materialiconsround/v109/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmPq_HTTw.woff2",materialIconsSharp:"https://fonts.gstatic.com/s/materialiconssharp/v110/oPWQ_lt5nv4pWNJpghLP75WiFR4kLh3kvmvRImcycg.woff2"},typeof window<"u"&&window.__SNAPDOM_ICON_FONTS__||{}),Jo=[];function Kg(e){let t=Array.isArray(e)?e:[e];for(let a of t)a instanceof RegExp?Jo.push(a):typeof a=="string"?Jo.push(new RegExp(a,"i")):console.warn("[snapdom] Ignored invalid iconFont value:",a)}function Re(e){let t=typeof e=="string"?e:"",a=[...Jg,...Jo];for(let r of a)if(r instanceof RegExp&&r.test(t))return!0;return!!(/icon/i.test(t)||/glyph/i.test(t)||/symbols/i.test(t)||/feather/i.test(t)||/fontawesome/i.test(t))}function qg(e=""){let t=String(e).toLowerCase();return/\bmaterial\s*icons\b/.test(t)||/\bmaterial\s*symbols\b/.test(t)}var ya=new Map;function Qg(e=""){let t=Object.create(null),a=String(e||""),r=/['"]?\s*([A-Za-z]{3,4})\s*['"]?\s*([+-]?\d+(?:\.\d+)?)\s*/g,i;for(;i=r.exec(a);)t[i[1].toUpperCase()]=Number(i[2]);return t}async function eu(e,t,a){let r=String(e||""),i=r.toLowerCase(),l=String(t||"").toLowerCase();if(/\bmaterial\s*icons\b/.test(i)&&!/\bsymbols\b/.test(i))return{familyForMeasure:r,familyForCanvas:r};if(!/\bmaterial\s*symbols\b/.test(i))return{familyForMeasure:r,familyForCanvas:r};let n=a&&(a.FILL??a.fill),c="outlined";/\brounded\b/.test(l)||/\bround\b/.test(l)?c="rounded":/\bsharp\b/.test(l)?c="sharp":/\boutlined\b/.test(l)&&(c="outlined");let s=n===1,m=null;if(s&&(c==="outlined"&&He.materialIconsFilled?m={url:He.materialIconsFilled,alias:"snapdom-mi-filled"}:c==="rounded"&&He.materialIconsRound?m={url:He.materialIconsRound,alias:"snapdom-mi-round"}:c==="sharp"&&He.materialIconsSharp&&(m={url:He.materialIconsSharp,alias:"snapdom-mi-sharp"})),!m)return{familyForMeasure:r,familyForCanvas:r};if(!ya.has(m.alias))try{let h=new FontFace(m.alias,`url(${m.url})`,{style:"normal",weight:"400"});document.fonts.add(h),await h.load(),ya.set(m.alias,!0)}catch{return{familyForMeasure:r,familyForCanvas:r}}let d=`"${m.alias}"`;return{familyForMeasure:d,familyForCanvas:d}}async function tu(e="Material Icons",t=24){try{await Promise.all([document.fonts.load(`400 ${t}px "${String(e).replace(/["']/g,"")}"`),document.fonts.ready])}catch{}}function ou(e){var i,l;let t=((i=e.getPropertyValue("-webkit-text-fill-color"))==null?void 0:i.trim())||"",a=/^transparent$/i.test(t)||/rgba?\(\s*0\s*,\s*0\s*,\s*0\s*,\s*0\s*\)/i.test(t);if(t&&!a&&t.toLowerCase()!=="currentcolor")return t;let r=(l=e.color)==null?void 0:l.trim();return r&&r!=="inherit"?r:"#000"}async function au(e,{family:t="Material Icons",weight:a="normal",fontSize:r=32,color:i="#000",variation:l="",className:n=""}={}){let c=String(t||"").replace(/^['"]+|['"]+$/g,""),s=window.devicePixelRatio||1,m=Qg(l),{familyForMeasure:d,familyForCanvas:h}=await eu(c,n,m);await tu(h.replace(/^["']+|["']+$/g,""),r);let u=document.createElement("span");u.textContent=e,u.style.position="absolute",u.style.visibility="hidden",u.style.left="-99999px",u.style.whiteSpace="nowrap",u.style.fontFamily=d,u.style.fontWeight=String(a||"normal"),u.style.fontSize=`${r}px`,u.style.lineHeight="1",u.style.margin="0",u.style.padding="0",u.style.fontFeatureSettings="'liga' 1",u.style.fontVariantLigatures="normal",u.style.color=i,document.body.appendChild(u);let y=u.getBoundingClientRect(),g=Math.max(1,Math.ceil(y.width)),p=Math.max(1,Math.ceil(y.height));document.body.removeChild(u);let f=document.createElement("canvas");f.width=g*s,f.height=p*s;let x=f.getContext("2d");x.scale(s,s),x.font=`${a?`${a} `:""}${r}px ${h}`,x.textAlign="left",x.textBaseline="top",x.fillStyle=i;try{x.fontKerning="normal"}catch{}return x.fillText(e,0,0),{dataUrl:f.toDataURL(),width:g,height:p}}async function iu(e,t){if(!(e instanceof Element))return 0;let a='.material-icons, [class*="material-symbols"]',r=Array.from(e.querySelectorAll(a)).filter(n=>n&&n.textContent&&n.textContent.trim());if(r.length===0)return 0;let i=t instanceof Element?Array.from(t.querySelectorAll(a)).filter(n=>n&&n.textContent&&n.textContent.trim()):[],l=0;for(let n=0;n<r.length;n++){let c=r[n],s=i[n]||null;try{let m=getComputedStyle(s||c),d=m.fontFamily||"Material Icons";if(!qg(d))continue;let h=(s||c).textContent.trim();if(!h)continue;let u=parseInt(m.fontSize,10)||24,y=m.fontWeight&&m.fontWeight!=="normal"?m.fontWeight:"normal",g=ou(m),p=m.fontVariationSettings&&m.fontVariationSettings!=="normal"?m.fontVariationSettings:"",f=(s||c).className||"",{dataUrl:x,width:L,height:w}=await au(h,{family:d,weight:y,fontSize:u,color:g,variation:p,className:f});c.textContent="";let b=c.ownerDocument.createElement("img");b.src=x,b.alt=h,b.style.height=`${u}px`,b.style.width=`${Math.max(1,Math.round(L/w*u))}px`,b.style.objectFit="contain",b.style.verticalAlign=getComputedStyle(c).verticalAlign||"baseline",c.appendChild(b),l++}catch{}}return l}async function ru(e,t,a,r=32,i="#000"){t=t.replace(/^['"]+|['"]+$/g,"");let l=window.devicePixelRatio||1;try{await document.fonts.ready}catch{}let n=document.createElement("span");n.textContent=e,n.style.position="absolute",n.style.visibility="hidden",n.style.fontFamily=`"${t}"`,n.style.fontWeight=a||"normal",n.style.fontSize=`${r}px`,n.style.lineHeight="1",n.style.whiteSpace="nowrap",n.style.padding="0",n.style.margin="0",document.body.appendChild(n);let c=n.getBoundingClientRect(),s=Math.ceil(c.width),m=Math.ceil(c.height);document.body.removeChild(n);let d=document.createElement("canvas");d.width=Math.max(1,s*l),d.height=Math.max(1,m*l);let h=d.getContext("2d");return h.scale(l,l),h.font=a?`${a} ${r}px "${t}"`:`${r}px "${t}"`,h.textAlign="left",h.textBaseline="top",h.fillStyle=i,h.fillText(e,0,0),{dataUrl:d.toDataURL(),width:s,height:m}}var lu=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","emoji","math","fangsong","ui-serif","ui-sans-serif","ui-monospace","ui-rounded"]);function Bo(e){if(!e)return"";for(let t of e.split(",")){let a=t.trim().replace(/^['"]+|['"]+$/g,"");if(a&&!lu.has(a.toLowerCase()))return a}return""}function Io(e){let t=String(e??"400").trim().toLowerCase();if(t==="normal")return 400;if(t==="bold")return 700;let a=parseInt(t,10);return Number.isFinite(a)?Math.min(900,Math.max(100,a)):400}function Ao(e){let t=String(e??"normal").trim().toLowerCase();return t.startsWith("italic")?"italic":t.startsWith("oblique")?"oblique":"normal"}function nu(e){let t=String(e??"100%").match(/(\d+(?:\.\d+)?)\s*%/);return t?Math.max(50,Math.min(200,parseFloat(t[1]))):100}function su(e){let t=String(e||"400").trim(),a=t.match(/^(\d{2,3})\s+(\d{2,3})$/);if(a){let i=Io(a[1]),l=Io(a[2]);return{min:Math.min(i,l),max:Math.max(i,l)}}let r=Io(t);return{min:r,max:r}}function cu(e){let t=String(e||"normal").trim().toLowerCase();return t==="italic"?{kind:"italic"}:t.startsWith("oblique")?{kind:"oblique"}:{kind:"normal"}}function mu(e){let t=String(e||"100%").trim(),a=t.match(/(\d+(?:\.\d+)?)\s*%\s+(\d+(?:\.\d+)?)\s*%/);if(a){let l=parseFloat(a[1]),n=parseFloat(a[2]);return{min:Math.min(l,n),max:Math.max(l,n)}}let r=t.match(/(\d+(?:\.\d+)?)\s*%/),i=r?parseFloat(r[1]):100;return{min:i,max:i}}function du(e,t){if(!e)return!1;try{let a=new URL(e,location.href);if(a.origin===location.origin)return!0;let r=a.host.toLowerCase();if(["fonts.googleapis.com","fonts.gstatic.com","use.typekit.net","p.typekit.net","kit.fontawesome.com","use.fontawesome.com"].some(l=>r.endsWith(l)))return!0;let i=(a.pathname+a.search).toLowerCase();if(/\bfont(s)?\b/.test(i)||/\.woff2?(\b|$)/.test(i))return!0;for(let l of t){let n=l.toLowerCase().replace(/\s+/g,"+"),c=l.toLowerCase().replace(/\s+/g,"-");if(i.includes(n)||i.includes(c))return!0}return!1}catch{return!1}}function hu(e){var a;let t=new Set;for(let r of e||[]){let i=(a=String(r).split("__")[0])==null?void 0:a.trim();i&&t.add(i)}return t}function ba(e,t){return e&&e.replace(/url\(\s*(['"]?)([^)'"]+)\1\s*\)/g,(a,r,i)=>{let l=(i||"").trim();if(!l||/^data:|^blob:|^https?:|^file:|^about:/i.test(l))return a;let n=l;try{n=new URL(l,t||location.href).href}catch{}return`url("${n}")`})}var Ko=/@import\s+(?:url\(\s*(['"]?)([^)"']+)\1\s*\)|(['"])([^"']+)\3)([^;]*);/g,Fo=4;async function pu(e,t,a){if(!e)return e;let r=new Set;function i(c,s){try{return new URL(c,s||location.href).href}catch{return c}}async function l(c,s,m=0){if(m>Fo)return console.warn(`[snapDOM] @import depth exceeded (${Fo}) at ${s}`),c;let d="",h=0,u;for(;u=Ko.exec(c);){d+=c.slice(h,u.index),h=Ko.lastIndex;let y=(u[2]||u[4]||"").trim(),g=i(y,s);if(r.has(g)){console.warn(`[snapDOM] Skipping circular @import: ${g}`);continue}r.add(g);let p="";try{let f=await Ee(g,{as:"text",useProxy:a,silent:!0});f.ok&&typeof f.data=="string"&&(p=f.data)}catch{}p?(p=ba(p,g),p=await l(p,g,m+1),d+=`
222
222
  /* inlined: ${g} */
223
223
  ${p}
@@ -226,4 +226,4 @@ ${p}
226
226
  `}catch{}}catch{}return t}function ju(e,t,a){if(!t)return;let r=document.createElement("style");r.setAttribute("data-sd",a),r.textContent=t,e.insertBefore(r,e.firstChild||null)}function Hu(e,t){try{let a=e.currentSrc||e.src||"";if(!a)return;t.setAttribute("src",a),t.removeAttribute("srcset"),t.removeAttribute("sizes"),t.loading="eager",t.decoding="sync"}catch{}}function Xu(e){let t=new Set;if(!e)return t;let a=/var\(\s*(--[A-Za-z0-9_-]+)\b/g,r;for(;r=a.exec(e);)t.add(r[1]);return t}function Yu(e,t){try{let a=getComputedStyle(e).getPropertyValue(t).trim();if(a)return a}catch{}try{let a=getComputedStyle(document.documentElement).getPropertyValue(t).trim();if(a)return a}catch{}return""}function Uu(e,t,a){let r=[];for(let i of t){let l=Yu(e,i);l&&r.push(`${i}: ${l};`)}return r.length?`${a}{${r.join("")}}
227
227
  `:""}function $u(e){e&&(e.nodeType===Node.ELEMENT_NODE&&e.setAttribute("data-sd-slotted",""),e.querySelectorAll&&e.querySelectorAll("*").forEach(t=>t.setAttribute("data-sd-slotted","")))}async function Ju(e,t=3){let a=()=>{var l;try{return e.contentDocument||((l=e.contentWindow)==null?void 0:l.document)||null}catch{return null}},r=a(),i=0;for(;i<t&&(!r||!r.body&&!r.documentElement);)await new Promise(l=>setTimeout(l,0)),r=a(),i++;return r&&(r.body||r.documentElement)?r:null}function Ku(e){let t=e.getBoundingClientRect(),a=0,r=0,i=0,l=0;try{let s=getComputedStyle(e);a=parseFloat(s.borderLeftWidth)||0,r=parseFloat(s.borderRightWidth)||0,i=parseFloat(s.borderTopWidth)||0,l=parseFloat(s.borderBottomWidth)||0}catch{}let n=Math.max(0,Math.round(t.width-(a+r))),c=Math.max(0,Math.round(t.height-(i+l)));return{contentWidth:n,contentHeight:c,rect:t}}function qu(e,t,a){let r=e.createElement("style");return r.setAttribute("data-sd-iframe-pin",""),r.textContent=`html, body {margin: 0 !important;padding: 0 !important;width: ${t}px !important;height: ${a}px !important;min-width: ${t}px !important;min-height: ${a}px !important;box-sizing: border-box !important;overflow: hidden !important;background-clip: border-box !important;}`,(e.head||e.documentElement).appendChild(r),()=>{try{r.remove()}catch{}}}async function Qu(e,t,a){let r=await Ju(e,3);if(!r)throw new Error("iframe document not accessible/ready");let{contentWidth:i,contentHeight:l,rect:n}=Ku(e),c=a==null?void 0:a.snap;if(!c||typeof c.toPng!="function")throw new Error("snapdom.toPng not available in iframe or window");let s={...a,scale:1},m=qu(r,i,l),d;try{d=await c.toPng(r.documentElement,s)}finally{m()}d.style.display="block",d.style.width=`${i}px`,d.style.height=`${l}px`;let h=document.createElement("div");return t.nodeMap.set(h,e),Ye(e,h,t,a),h.style.overflow="hidden",h.style.display="block",h.style.width||(h.style.width=`${Math.round(n.width)}px`),h.style.height||(h.style.height=`${Math.round(n.height)}px`),h.appendChild(d),h}var tt=new Map;async function ot(e){var a;if((a=E.resource)!=null&&a.has(e))return E.resource.get(e);if(tt.has(e))return tt.get(e);let t=(async()=>{var i;let r=await Ee(e,{as:"dataURL",silent:!0});if(!r.ok||typeof r.data!="string")throw new Error(`[snapDOM] Failed to read blob URL: ${e}`);return(i=E.resource)==null||i.set(e,r.data),r.data})();tt.set(e,t);try{let r=await t;return tt.set(e,r),r}catch(r){throw tt.delete(e),r}}var e0=/\bblob:[^)"'\s]+/g;async function Ta(e){if(!e||e.indexOf("blob:")===-1)return e;let t=Array.from(new Set(e.match(e0)||[]));if(t.length===0)return e;let a=e;for(let r of t)try{let i=await ot(r);a=a.split(r).join(i)}catch{}return a}function Go(e){return typeof e=="string"&&e.startsWith("blob:")}function t0(e){return(e||"").split(",").map(t=>t.trim()).filter(Boolean).map(t=>{let a=t.match(/^(\S+)(\s+.+)?$/);return a?{url:a[1],desc:a[2]||""}:null}).filter(Boolean)}function o0(e){return e.map(t=>t.desc?`${t.url} ${t.desc.trim()}`:t.url).join(", ")}async function a0(e){var n,c;if(!e)return;let t=e.querySelectorAll?e.querySelectorAll("img"):[];for(let s of t)try{let m=s.getAttribute("src")||s.currentSrc||"";if(Go(m)){let h=await ot(m);s.setAttribute("src",h)}let d=s.getAttribute("srcset");if(d&&d.includes("blob:")){let h=t0(d),u=!1;for(let y of h)if(Go(y.url))try{y.url=await ot(y.url),u=!0}catch{}u&&s.setAttribute("srcset",o0(h))}}catch{}let a=e.querySelectorAll?e.querySelectorAll("image"):[];for(let s of a)try{let m="http://www.w3.org/1999/xlink",d=s.getAttribute("href")||((n=s.getAttributeNS)==null?void 0:n.call(s,m,"href"));if(Go(d)){let h=await ot(d);s.setAttribute("href",h),(c=s.removeAttributeNS)==null||c.call(s,m,"href")}}catch{}let r=e.querySelectorAll?e.querySelectorAll("[style*='blob:']"):[];for(let s of r)try{let m=s.getAttribute("style");if(m&&m.includes("blob:")){let d=await Ta(m);s.setAttribute("style",d)}}catch{}let i=e.querySelectorAll?e.querySelectorAll("style"):[];for(let s of i)try{let m=s.textContent||"";m.includes("blob:")&&(s.textContent=await Ta(m))}catch{}let l=["poster"];for(let s of l){let m=e.querySelectorAll?e.querySelectorAll(`[${s}^='blob:']`):[];for(let d of m)try{let h=d.getAttribute(s);Go(h)&&d.setAttribute(s,await ot(h))}catch{}}}async function Wo(e,t,a){var m,d,h,u,y,g;if(!e)throw new Error("Invalid node");let r=new Set,i=null,l=null;if(e.nodeType===Node.ELEMENT_NODE){let p=(e.localName||e.tagName||"").toLowerCase();if(e.id==="snapdom-sandbox"||e.hasAttribute("data-snapdom-sandbox")||Zg.has(p))return null}if(e.nodeType===Node.TEXT_NODE||e.nodeType!==Node.ELEMENT_NODE)return e.cloneNode(!0);if(e.getAttribute("data-capture")==="exclude"){if(a.excludeMode==="hide"){let p=document.createElement("div"),f=e.getBoundingClientRect();return p.style.cssText=`display:inline-block;width:${f.width}px;height:${f.height}px;visibility:hidden;`,p}else if(a.excludeMode==="remove")return null}if(a.exclude&&Array.isArray(a.exclude))for(let p of a.exclude)try{if((m=e.matches)!=null&&m.call(e,p)){if(a.excludeMode==="hide"){let f=document.createElement("div"),x=e.getBoundingClientRect();return f.style.cssText=`display:inline-block;width:${x.width}px;height:${x.height}px;visibility:hidden;`,f}else if(a.excludeMode==="remove")return null}}catch(f){console.warn(`Invalid selector in exclude option: ${p}`,f)}if(typeof a.filter=="function")try{if(!a.filter(e)){if(a.filterMode==="hide"){let p=document.createElement("div"),f=e.getBoundingClientRect();return p.style.cssText=`display:inline-block;width:${f.width}px;height:${f.height}px;visibility:hidden;`,p}else if(a.filterMode==="remove")return null}}catch(p){console.warn("Error in filter function:",p)}if(e.tagName==="IFRAME"){let p=!1;try{p=!!(e.contentDocument||(d=e.contentWindow)!=null&&d.document)}catch{p=!1}if(p)try{return await Qu(e,t,a)}catch(f){console.warn("[SnapDOM] iframe rasterization failed, fallback:",f)}if(a.placeholders){let f=document.createElement("div");return f.style.cssText=`width:${e.offsetWidth}px;height:${e.offsetHeight}px;background-image:repeating-linear-gradient(45deg,#ddd,#ddd 5px,#f9f9f9 5px,#f9f9f9 10px);display:flex;align-items:center;justify-content:center;font-size:12px;color:#555;border:1px solid #aaa;`,Ye(e,f,t,a),f}else{let f=e.getBoundingClientRect(),x=document.createElement("div");return x.style.cssText=`display:inline-block;width:${f.width}px;height:${f.height}px;visibility:hidden;`,Ye(e,x,t,a),x}}if(e.getAttribute("data-capture")==="placeholder"){let p=e.cloneNode(!1);t.nodeMap.set(p,e),Ye(e,p,t,a);let f=document.createElement("div");return f.textContent=e.getAttribute("data-placeholder-text")||"",f.style.cssText="color:#666;font-size:12px;text-align:center;line-height:1.4;padding:0.5em;box-sizing:border-box;",p.appendChild(f),p}if(e.tagName==="CANVAS"){let p="";try{let x=e.getContext("2d",{willReadFrequently:!0});try{x&&x.getImageData(0,0,1,1)}catch{}if(await new Promise(L=>requestAnimationFrame(L)),p=e.toDataURL("image/png"),!p||p==="data:,"){try{x&&x.getImageData(0,0,1,1)}catch{}if(await new Promise(L=>requestAnimationFrame(L)),p=e.toDataURL("image/png"),!p||p==="data:,"){let L=document.createElement("canvas");L.width=e.width,L.height=e.height;let w=L.getContext("2d");w&&(w.drawImage(e,0,0),p=L.toDataURL("image/png"))}}}catch{}let f=document.createElement("img");try{f.decoding="sync",f.loading="eager"}catch{}p&&(f.src=p),f.width=e.width,f.height=e.height;try{let x=getComputedStyle(e);x.width&&(f.style.width=x.width),x.height&&(f.style.height=x.height)}catch{}return t.nodeMap.set(f,e),Ye(e,f,t,a),f}let n;try{if(n=e.cloneNode(!1),Au(e,n),t.nodeMap.set(n,e),e.tagName==="IMG"){Hu(e,n);try{let p=e.getBoundingClientRect(),f=Math.round(p.width||0),x=Math.round(p.height||0);if(!f||!x){let L=window.getComputedStyle(e),w=parseFloat(L.width)||0,b=parseFloat(L.height)||0,C=parseInt(e.getAttribute("width")||"",10)||0,_=parseInt(e.getAttribute("height")||"",10)||0,z=e.width||e.naturalWidth||0,S=e.height||e.naturalHeight||0;f=Math.round(f||w||C||z||0),x=Math.round(x||b||_||S||0)}f&&(n.dataset.snapdomWidth=String(f)),x&&(n.dataset.snapdomHeight=String(x))}catch{}try{let p=e.getAttribute("style")||"",f=window.getComputedStyle(e),x=_=>{let z=p.match(new RegExp(`${_}\\s*:\\s*([^;]+)`,"i")),S=z?z[1].trim():f.getPropertyValue(_);return/%|auto/i.test(String(S||""))},L=parseInt(n.dataset.snapdomWidth||"0",10),w=parseInt(n.dataset.snapdomHeight||"0",10),b=x("width")||!L,C=x("height")||!w;b&&L&&(n.style.width=`${L}px`),C&&w&&(n.style.height=`${w}px`),L&&(n.style.minWidth=`${L}px`),w&&(n.style.minHeight=`${w}px`)}catch{}}}catch(p){throw console.error("[Snapdom] Failed to clone node:",e,p),p}if(e instanceof HTMLTextAreaElement){let p=e.getBoundingClientRect();n.style.width=`${p.width}px`,n.style.height=`${p.height}px`}if(e instanceof HTMLInputElement&&(n.value=e.value,n.setAttribute("value",e.value),e.checked!==void 0&&(n.checked=e.checked,e.checked&&n.setAttribute("checked",""),e.indeterminate&&(n.indeterminate=e.indeterminate))),e instanceof HTMLSelectElement&&(i=e.value),e instanceof HTMLTextAreaElement&&(l=e.value),Ye(e,n,t,a),e.shadowRoot){let p=function(S,N){if(S.nodeType===Node.ELEMENT_NODE&&S.tagName==="STYLE")return N(null);Wo(S,t,a).then(T=>{N(T||null)}).catch(()=>{N(null)})};try{let S=e.shadowRoot.querySelectorAll("slot");for(let N of S){let T=[];try{T=((h=N.assignedNodes)==null?void 0:h.call(N,{flatten:!0}))||((u=N.assignedNodes)==null?void 0:u.call(N))||[]}catch{T=((y=N.assignedNodes)==null?void 0:y.call(N))||[]}for(let R of T)r.add(R)}}catch{}let f=Zu(t),x=`[data-sd="${f}"]`;try{n.setAttribute("data-sd",f)}catch{}let L=Ou(e.shadowRoot),w=Wu(L,x),b=Xu(L),C=Uu(e,b,x);ju(n,C+w,f);let _=document.createDocumentFragment(),z=await ta(Array.from(e.shadowRoot.childNodes),p,a.fast);_.append(...z.filter(S=>!!S)),n.appendChild(_)}if(e.tagName==="SLOT"){let p=function(b,C){Wo(b,t,a).then(_=>{_&&$u(_),C(_||null)}).catch(()=>{C(null)})},f=((g=e.assignedNodes)==null?void 0:g.call(e,{flatten:!0}))||[],x=f.length>0?f:Array.from(e.childNodes),L=document.createDocumentFragment(),w=await ta(Array.from(x),p,a.fast);return L.append(...w.filter(b=>!!b)),L}function c(p,f){if(r.has(p))return f(null);Wo(p,t,a).then(x=>{f(x||null)}).catch(()=>{f(null)})}let s=await ta(Array.from(e.childNodes),c,a.fast);if(n.append(...s.filter(p=>!!p)),i!==null&&n instanceof HTMLSelectElement){n.value=i;for(let p of n.options)p.value===i?p.setAttribute("selected",""):p.removeAttribute("selected")}return l!==null&&n instanceof HTMLTextAreaElement&&(n.textContent=l),n}function i0(e){return/\bcounter\s*\(|\bcounters\s*\(/.test(e||"")}function r0(e){return(e||"").replace(/"([^"]*)"/g,"$1")}function Da(e,t=!1){let a="",r=Math.max(1,e);for(;r>0;)r--,a=String.fromCharCode(97+r%26)+a,r=Math.floor(r/26);return t?a.toUpperCase():a}function Ea(e,t=!0){let a=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]],r=Math.max(1,Math.min(3999,e)),i="";for(let[l,n]of a)for(;r>=l;)i+=n,r-=l;return t?i:i.toLowerCase()}function Ra(e,t){switch((t||"decimal").toLowerCase()){case"decimal":return String(Math.max(0,e));case"decimal-leading-zero":return(e<10?"0":"")+String(Math.max(0,e));case"lower-alpha":return Da(e,!1);case"upper-alpha":return Da(e,!0);case"lower-roman":return Ea(e,!1);case"upper-roman":return Ea(e,!0);default:return String(Math.max(0,e))}}function l0(e){let t=()=>{var u;return((u=E==null?void 0:E.session)==null?void 0:u.__counterEpoch)??0},a=t(),r=new WeakMap,i=e instanceof Document?e.documentElement:e,l=u=>u&&u.tagName==="LI",n=u=>{let y=0,g=u==null?void 0:u.parentElement;if(!g)return 0;for(let p of g.children){if(p===u)break;p.tagName==="LI"&&y++}return y},c=u=>{let y=new Map;for(let[g,p]of u)y.set(g,p.slice());return y},s=(u,y,g)=>{var L,w;let p=c(u),f;try{f=((L=g.style)==null?void 0:L.counterReset)||getComputedStyle(g).counterReset}catch{}if(f&&f!=="none")for(let b of f.split(",")){let C=b.trim().split(/\s+/),_=C[0],z=Number.isFinite(Number(C[1]))?Number(C[1]):0;if(!_)continue;let S=y.get(_);if(S&&S.length){let N=S.slice();N.push(z),p.set(_,N)}else p.set(_,[z])}let x;try{x=((w=g.style)==null?void 0:w.counterIncrement)||getComputedStyle(g).counterIncrement}catch{}if(x&&x!=="none")for(let b of x.split(",")){let C=b.trim().split(/\s+/),_=C[0],z=Number.isFinite(Number(C[1]))?Number(C[1]):1;if(!_)continue;let S=p.get(_)||[];S.length===0&&S.push(0),S[S.length-1]+=z,p.set(_,S)}try{if(getComputedStyle(g).display==="list-item"&&l(g)){let b=g.parentElement,C=1;if(b&&b.tagName==="OL"){let z=b.getAttribute("start"),S=Number.isFinite(Number(z))?Number(z):1,N=n(g),T=g.getAttribute("value");C=Number.isFinite(Number(T))?Number(T):S+N}else C=1+n(g);let _=p.get("list-item")||[];_.length===0&&_.push(0),_[_.length-1]=C,p.set("list-item",_)}}catch{}return p},m=(u,y,g)=>{let p=s(g,y,u);r.set(u,p);let f=p;for(let x of u.children)f=m(x,p,f);return p},d=new Map;m(i,d,d);function h(){let u=t();if(u!==a){a=u;let y=new Map;m(i,y,y)}}return{get(u,y){var p;h();let g=(p=r.get(u))==null?void 0:p.get(y);return g&&g.length?g[g.length-1]:0},getStack(u,y){var p;h();let g=(p=r.get(u))==null?void 0:p.get(y);return g?g.slice():[]}}}function n0(e,t,a){if(!e||e==="none")return e;try{let r=/\b(counter|counters)\s*\(([^)]+)\)/g,i=e.replace(r,(l,n,c)=>{var m,d,h;let s=String(c).split(",").map(u=>u.trim());if(n==="counter"){let u=(m=s[0])==null?void 0:m.replace(/^["']|["']$/g,""),y=(s[1]||"decimal").toLowerCase(),g=a.get(t,u);return Ra(g,y)}else{let u=(d=s[0])==null?void 0:d.replace(/^["']|["']$/g,""),y=((h=s[1])==null?void 0:h.replace(/^["']|["']$/g,""))??"",g=(s[2]||"decimal").toLowerCase(),p=a.getStack(t,u);return p.length?p.map(f=>Ra(f,g)).join(y):""}});return r0(i)}catch{return"- "}}var Ue=new WeakMap,Ba=300;function s0(e,t){let a=Ia(e);return t?(t.__pseudoPreflightFp!==a&&(t.__pseudoPreflight=Fa(e),t.__pseudoPreflightFp=a),!!t.__pseudoPreflight):Fa(e)}function oa(e){try{return e&&e.cssRules?e.cssRules:null}catch{return null}}function Ia(e){let t=e.querySelectorAll('style,link[rel~="stylesheet"]'),a=`n:${t.length}|`,r=0;for(let l=0;l<t.length;l++){let n=t[l];if(n.tagName==="STYLE"){let c=n.textContent?n.textContent.length:0;a+=`S${c}|`;let s=n.sheet,m=s?oa(s):null;m&&(r+=m.length)}else{let c=n.getAttribute("href")||"",s=n.getAttribute("media")||"all";a+=`L${c}|m:${s}|`;let m=n.sheet,d=m?oa(m):null;d&&(r+=d.length)}}let i=e.adoptedStyleSheets;return a+=`ass:${Array.isArray(i)?i.length:0}|tr:${r}`,a}function Aa(e,t,a){let r=oa(e);if(!r)return!1;for(let i=0;i<r.length;i++){if(a.budget<=0)return!1;let l=r[i],n=l&&l.cssText?l.cssText:"";a.budget--;for(let c of t)if(n.includes(c))return!0;if(l&&l.cssRules&&l.cssRules.length)for(let c=0;c<l.cssRules.length&&a.budget>0;c++){let s=l.cssRules[c],m=s&&s.cssText?s.cssText:"";a.budget--;for(let d of t)if(m.includes(d))return!0}if(a.budget<=0)return!1}return!1}function Fa(e=document){let t=Ia(e),a=Ue.get(e);if(a&&a.fingerprint===t)return a.result;let r=["::before","::after","::first-letter",":before",":after",":first-letter","counter(","counters(","counter-increment","counter-reset"],i=e.querySelectorAll("style");for(let n=0;n<i.length;n++){let c=i[n].textContent||"";for(let s of r)if(c.includes(s))return Ue.set(e,{fingerprint:t,result:!0}),!0}let l=e.adoptedStyleSheets;if(Array.isArray(l)&&l.length){let n={budget:Ba};try{for(let c of l)if(Aa(c,r,n))return Ue.set(e,{fingerprint:t,result:!0}),!0}catch{}}{let n=e.querySelectorAll('style,link[rel~="stylesheet"]'),c={budget:Ba};for(let s=0;s<n.length&&c.budget>0;s++){let m=n[s],d=null;if(m.tagName,d=m.sheet||null,d&&Aa(d,r,c))return Ue.set(e,{fingerprint:t,result:!0}),!0}}return e.querySelector('[style*="counter("], [style*="counters("]')?(Ue.set(e,{fingerprint:t,result:!0}),!0):(Ue.set(e,{fingerprint:t,result:!1}),!1)}var $e=new WeakMap,Ga=-1;function c0(e){return(e||"").replace(/"([^"]*)"/g,"$1")}function m0(e){if(!e)return"";let t=[],a=/"([^"]*)"/g,r;for(;r=a.exec(e);)t.push(r[1]);return t.length?t.join(""):c0(e)}function aa(e,t){let a=e.parentElement,r=a?$e.get(a):null;return r?{get(i,l){let n=t.get(i,l),c=r.get(l);return typeof c=="number"?Math.max(n,c):n},getStack(i,l){let n=t.getStack(i,l);if(!n.length)return n;let c=r.get(l);if(typeof c=="number"){let s=n.slice();return s[s.length-1]=Math.max(s[s.length-1],c),s}return n}}:t}function ia(e,t,a){let r=new Map;function i(s){let m=[];if(!s||s==="none")return m;for(let d of String(s).split(",")){let h=d.trim().split(/\s+/),u=h[0],y=Number.isFinite(Number(h[1]))?Number(h[1]):void 0;u&&m.push({name:u,num:y})}return m}let l=i(t==null?void 0:t.counterReset),n=i(t==null?void 0:t.counterIncrement);function c(s){if(r.has(s))return r.get(s).slice();let m=a.getStack(e,s);m=m.length?m.slice():[];let d=l.find(u=>u.name===s);if(d){let u=Number.isFinite(d.num)?d.num:0;m=m.length?[...m,u]:[u]}let h=n.find(u=>u.name===s);if(h){let u=Number.isFinite(h.num)?h.num:1;m.length===0&&(m=[0]),m[m.length-1]+=u}return r.set(s,m.slice()),m}return{get(s,m){let d=c(m);return d.length?d[d.length-1]:0},getStack(s,m){return c(m)},__incs:n}}function d0(e,t,a){let r;try{r=getComputedStyle(e,t)}catch{}let i=r==null?void 0:r.content;if(!i||i==="none"||i==="normal")return{text:"",incs:[]};let l=aa(e,a),n=ia(e,r,l),c=i0(i)?n0(i,e,n):i;return{text:m0(c),incs:n.__incs||[]}}async function Wa(e,t,a,r){var m,d,h;if(!(e instanceof Element)||!(t instanceof Element))return;let i=e.ownerDocument||document;if(!s0(i,a))return;let l=((m=E==null?void 0:E.session)==null?void 0:m.__counterEpoch)??0;if(Ga!==l&&($e=new WeakMap,a&&(a.__counterCtx=null),Ga=l),!a.__counterCtx)try{a.__counterCtx=l0(e.ownerDocument||document)}catch{}let n=a.__counterCtx;for(let u of["::before","::after","::first-letter"])try{let y=ga(e,u);if(!y||y.content==="none"&&y.backgroundImage==="none"&&y.backgroundColor==="transparent"&&(y.borderStyle==="none"||parseFloat(y.borderWidth)===0)&&(!y.transform||y.transform==="none")&&y.display==="inline")continue;if(u==="::first-letter"){let I=getComputedStyle(e);if(!(y.color!==I.color||y.fontSize!==I.fontSize||y.fontWeight!==I.fontWeight))continue;let B=Array.from(t.childNodes).find(se=>{var pe;return se.nodeType===Node.TEXT_NODE&&((pe=se.textContent)==null?void 0:pe.trim().length)>0});if(!B)continue;let O=B.textContent,M=(d=O.match(/^([^\p{L}\p{N}\s]*[\p{L}\p{N}](?:['’])?)/u))==null?void 0:d[0],q=O.slice((M==null?void 0:M.length)||0);if(!M||/[\uD800-\uDFFF]/.test(M))continue;let re=document.createElement("span");re.textContent=M,re.dataset.snapdomPseudo="::first-letter";let he=ua(y),ge=$o(he,"span");a.styleMap.set(re,ge);let ee=document.createTextNode(q);t.replaceChild(ee,B),t.insertBefore(re,ee);continue}let g=y.content??"",p=g===""||g==="none"||g==="normal",{text:f,incs:x}=d0(e,u,n),L=y.backgroundImage,w=y.backgroundColor,b=y.fontFamily,C=parseInt(y.fontSize)||32,_=parseInt(y.fontWeight)||!1,z=y.color||"#000",S=y.borderStyle,N=parseFloat(y.borderWidth),T=y.transform,R=Re(b),G=!p&&f!=="",H=L&&L!=="none",Y=w&&w!=="transparent"&&w!=="rgba(0, 0, 0, 0)",$=S&&S!=="none"&&N>0,ae=T&&T!=="none";if(!(G||H||Y||$||ae)){if(x&&x.length&&e.parentElement){let I=$e.get(e.parentElement)||new Map;for(let{name:B}of x){if(!B)continue;let O=aa(e,n),M=ia(e,getComputedStyle(e,u),O).get(e,B);I.set(B,M)}$e.set(e.parentElement,I)}continue}let P=document.createElement("span");P.dataset.snapdomPseudo=u,P.style.pointerEvents="none";let F=ua(y),W=$o(F,"span");if(a.styleMap.set(P,W),R&&f&&f.length===1){let{dataUrl:I,width:B,height:O}=await ru(f,b,_,C,z),M=document.createElement("img");M.src=I,M.style=`height:${C}px;width:${B/O*C}px;object-fit:contain;`,P.appendChild(M),t.dataset.snapdomHasIcon="true"}else if(f&&f.startsWith("url(")){let I=Xo(f);if(I!=null&&I.trim())try{let B=document.createElement("img"),O=await Ee(Eo(I),{as:"dataURL",useProxy:r.useProxy});B.src=O.data,B.style=`width:${C}px;height:auto;object-fit:contain;`,P.appendChild(B)}catch(B){console.error(`[snapdom] Error in pseudo ${u} for`,e,B)}}else!R&&G&&(P.textContent=f);P.style.backgroundImage="none","maskImage"in P.style&&(P.style.maskImage="none"),"webkitMaskImage"in P.style&&(P.style.webkitMaskImage="none");try{P.style.backgroundRepeat=y.backgroundRepeat,P.style.backgroundSize=y.backgroundSize,y.backgroundPositionX&&y.backgroundPositionY?(P.style.backgroundPositionX=y.backgroundPositionX,P.style.backgroundPositionY=y.backgroundPositionY):P.style.backgroundPosition=y.backgroundPosition,P.style.backgroundOrigin=y.backgroundOrigin,P.style.backgroundClip=y.backgroundClip,P.style.backgroundAttachment=y.backgroundAttachment,P.style.backgroundBlendMode=y.backgroundBlendMode}catch{}if(H)try{let I=fa(L),B=await Promise.all(I.map(ha));P.style.backgroundImage=B.join(", ")}catch(I){console.warn(`[snapdom] Failed to inline background-image for ${u}`,I)}Y&&(P.style.backgroundColor=w);let U=P.childNodes.length>0||((h=P.textContent)==null?void 0:h.trim())!==""||H||Y||$||ae;if(x&&x.length&&e.parentElement){let I=$e.get(e.parentElement)||new Map,B=aa(e,n),O=ia(e,getComputedStyle(e,u),B);for(let{name:M}of x){if(!M)continue;let q=O.get(e,M);I.set(M,q)}$e.set(e.parentElement,I)}if(!U)continue;u==="::before"?t.insertBefore(P,t.firstChild):t.appendChild(P)}catch(y){console.warn(`[snapdom] Failed to capture ${u} for`,e,y)}let c=Array.from(e.children),s=Array.from(t.children).filter(u=>!u.dataset.snapdomPseudo);for(let u=0;u<Math.min(c.length,s.length);u++)await Wa(c[u],s[u],a,r)}function h0(e,t){var b,C;if(!e||!(e instanceof Element))return;let a=e.ownerDocument||document,r=t||a,i=e instanceof SVGSVGElement?[e]:Array.from(e.querySelectorAll("svg"));if(i.length===0)return;let l=/url\(\s*#([^)]+)\)/g,n=["fill","stroke","filter","clip-path","mask","marker","marker-start","marker-mid","marker-end"],c=_=>window.CSS&&CSS.escape?CSS.escape(_):_.replace(/[^a-zA-Z0-9_-]/g,"\\$&"),s="http://www.w3.org/1999/xlink",m=_=>{if(!_||!_.getAttribute)return null;let z=_.getAttribute("href")||_.getAttribute("xlink:href")||(typeof _.getAttributeNS=="function"?_.getAttributeNS(s,"href"):null);if(z)return z;let S=_.attributes;if(!S)return null;for(let N=0;N<S.length;N++){let T=S[N];if(!T||!T.name)continue;if(T.name==="href")return T.value;let R=T.name.indexOf(":");if(R!==-1&&T.name.slice(R+1)==="href")return T.value}return null},d=new Set(Array.from(e.querySelectorAll("[id]")).map(_=>_.id)),h=new Set,u=!1,y=(_,z=null)=>{if(!_)return;l.lastIndex=0;let S;for(;S=l.exec(_);){u=!0;let N=(S[1]||"").trim();N&&(d.has(N)||(h.add(N),z&&!z.has(N)&&z.add(N)))}},g=_=>{let z=_.querySelectorAll("use");for(let N of z){let T=m(N);if(!T||!T.startsWith("#"))continue;u=!0;let R=T.slice(1).trim();R&&!d.has(R)&&h.add(R)}let S=_.querySelectorAll('*[style*="url("],*[fill^="url("], *[stroke^="url("],*[filter^="url("],*[clip-path^="url("],*[mask^="url("],*[marker^="url("],*[marker-start^="url("],*[marker-mid^="url("],*[marker-end^="url("]');for(let N of S){y(N.getAttribute("style")||"");for(let T of n)y(N.getAttribute(T))}};for(let _ of i)g(_);if(!u)return;let p=e.querySelector("svg.inline-defs-container");p||(p=a.createElementNS("http://www.w3.org/2000/svg","svg"),p.classList.add("inline-defs-container"),p.setAttribute("aria-hidden","true"),p.setAttribute("style","position:absolute;width:0;height:0;overflow:hidden"),e.insertBefore(p,e.firstChild||null));let f=p.querySelector("defs")||null,x=_=>{if(!_||d.has(_))return null;let z=c(_),S=N=>{let T=r.querySelector(N);return T&&!e.contains(T)?T:null};return S(`svg defs > *#${z}`)||S(`svg > symbol#${z}`)||S(`*#${z}`)};if(!h.size)return;let L=new Set(h),w=new Set;for(;L.size;){let _=L.values().next().value;if(L.delete(_),!_||d.has(_)||w.has(_))continue;let z=x(_);if(!z){w.add(_);continue}f||(f=a.createElementNS("http://www.w3.org/2000/svg","defs"),p.appendChild(f));let S=z.cloneNode(!0);S.id||S.setAttribute("id",_),f.appendChild(S),w.add(_),d.add(_);let N=[S,...S.querySelectorAll("*")];for(let T of N){let R=m(T);if(R&&R.startsWith("#")){let H=R.slice(1).trim();H&&!d.has(H)&&!w.has(H)&&L.add(H)}let G=((b=T.getAttribute)==null?void 0:b.call(T,"style"))||"";G&&y(G,L);for(let H of n){let Y=(C=T.getAttribute)==null?void 0:C.call(T,H);Y&&y(Y,L)}}}}function p0(e,t){var c;if(!e||!t)return;let a=e.scrollTop||0;if(!a)return;getComputedStyle(t).position==="static"&&(t.style.position="relative");let r=e.getBoundingClientRect(),i=e.clientHeight,l="data-snap-ph",n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT);for(;n.nextNode();){let s=n.currentNode,m=getComputedStyle(s),d=m.position;if(d!=="sticky"&&d!=="-webkit-sticky")continue;let h=Za(m.top),u=Za(m.bottom);if(h==null&&u==null)continue;let y=g0(s,e),g=u0(t,y,l);if(!g)continue;let p=s.getBoundingClientRect(),f=p.width,x=p.height,L=p.left-r.left;if(!(f>0&&x>0)||!Number.isFinite(L))continue;let w=h!=null?h+a:a+(i-x-u);if(!Number.isFinite(w))continue;let b=Number.parseInt(m.zIndex,10),C=Number.isFinite(b),_=C?Math.max(b,1)+1:2,z=C?b-1:0,S=g.cloneNode(!1);S.setAttribute(l,"1"),S.style.position="sticky",S.style.left=`${L}px`,S.style.top=`${w}px`,S.style.width=`${f}px`,S.style.height=`${x}px`,S.style.visibility="hidden",S.style.zIndex=String(z),S.style.overflow="hidden",S.style.background="transparent",S.style.boxShadow="none",S.style.filter="none",(c=g.parentElement)==null||c.insertBefore(S,g),g.style.position="absolute",g.style.left=`${L}px`,g.style.top=`${w}px`,g.style.bottom="auto",g.style.zIndex=String(_),g.style.pointerEvents="none"}}function Za(e){if(!e||e==="auto")return null;let t=Number.parseFloat(e);return Number.isFinite(t)?t:null}function g0(e,t){let a=[];for(let r=e;r&&r!==t;){let i=r.parentElement;if(!i)break;a.push(Array.prototype.indexOf.call(i.children,r)),r=i}return a.reverse()}function u0(e,t,a){let r=e;for(let i=0;i<t.length;i++)if(r=f0(r,a)[t[i]],!r)return null;return r instanceof HTMLElement?r:null}function f0(e,t){let a=[],r=e.children;for(let i=0;i<r.length;i++){let l=r[i];l.hasAttribute(t)||a.push(l)}return a}function y0(e){let t=getComputedStyle(e),a=t.outlineStyle,r=t.outlineWidth,i=t.borderStyle,l=t.borderWidth,n=a!=="none"&&parseFloat(r)>0,c=i==="none"||parseFloat(l)===0;n&&c&&(e.style.border=`${r} solid transparent`)}async function b0(e,t={}){var s,m;let a={styleMap:E.session.styleMap,styleCache:E.session.styleCache,nodeMap:E.session.nodeMap},r,i="",l="";y0(e);try{h0(e)}catch(d){console.warn("inlineExternal defs or symbol failed:",d)}try{r=await Wo(e,a,t,e)}catch(d){throw console.warn("deepClone failed:",d),d}try{await Wa(e,r,a,t)}catch(d){console.warn("inlinePseudoElements failed:",d)}await a0(r);try{let d=r.querySelectorAll("style[data-sd]");for(let h of d)l+=h.textContent||"",h.remove()}catch{}let n=$g(a.styleMap);i=Array.from(n.entries()).map(([d,h])=>`.${h}{${d}}`).join(""),i=l+i;for(let[d,h]of a.styleMap.entries()){if(d.tagName==="STYLE")continue;if(d.getRootNode&&d.getRootNode()instanceof ShadowRoot){d.setAttribute("style",h.replace(/;/g,"; "));continue}let u=n.get(h);u&&d.classList.add(u);let y=(s=d.style)==null?void 0:s.backgroundImage,g=(m=d.dataset)==null?void 0:m.snapdomHasIcon;y&&y!=="none"&&(d.style.backgroundImage=y),g&&(d.style.verticalAlign="middle",d.style.display="inline")}for(let[d,h]of a.nodeMap.entries()){let u=h.scrollLeft,y=h.scrollTop;if((u||y)&&d instanceof HTMLElement){d.style.overflow="hidden",d.style.scrollbarWidth="none",d.style.msOverflowStyle="none";let g=document.createElement("div");for(g.style.transform=`translate(${-u}px, ${-y}px)`,g.style.willChange="transform",g.style.display="inline-block",g.style.width="100%";d.firstChild;)g.appendChild(d.firstChild);d.appendChild(g)}}let c=r instanceof HTMLElement&&r.firstElementChild instanceof HTMLElement?r.firstElementChild:r;if(p0(e,c),e===a.nodeMap.get(r)){let d=a.styleCache.get(e)||window.getComputedStyle(e);a.styleCache.set(e,d);let h=Rg(d.transform);r.style.margin="0",r.style.top="auto",r.style.left="auto",r.style.right="auto",r.style.bottom="auto",r.style.animation="none",r.style.transition="none",r.style.willChange="auto",r.style.float="none",r.style.clear="none",r.style.transform=h||""}for(let[d,h]of a.nodeMap.entries())h.tagName==="PRE"&&(d.style.marginTop="0",d.style.marginBlockStart="0");return{clone:r,classCSS:i,styleCache:a.styleCache}}function w0(e){var m,d,h,u;let t=parseInt(((m=e.dataset)==null?void 0:m.snapdomWidth)||"",10)||0,a=parseInt(((d=e.dataset)==null?void 0:d.snapdomHeight)||"",10)||0,r=parseInt(e.getAttribute("width")||"",10)||0,i=parseInt(e.getAttribute("height")||"",10)||0,l=parseFloat(((h=e.style)==null?void 0:h.width)||"")||0,n=parseFloat(((u=e.style)==null?void 0:u.height)||"")||0,c=t||l||r||e.width||e.naturalWidth||100,s=a||n||i||e.height||e.naturalHeight||100;return{width:c,height:s}}async function x0(e,t={}){let a=Array.from(e.querySelectorAll("img")),r=async i=>{if(!i.getAttribute("src")){let d=i.currentSrc||i.src||"";d&&i.setAttribute("src",d)}i.removeAttribute("srcset"),i.removeAttribute("sizes");let l=i.src||"";if(!l)return;let n=await Ee(l,{as:"dataURL",useProxy:t.useProxy});if(n.ok&&typeof n.data=="string"&&n.data.startsWith("data:")){i.src=n.data,i.width||(i.width=i.naturalWidth||100),i.height||(i.height=i.naturalHeight||100);return}let{width:c,height:s}=w0(i),{fallbackURL:m}=t||{};if(m)try{let d=typeof m=="function"?await m({width:c,height:s,src:l,element:i}):m;if(d){let h=await Ee(d,{as:"dataURL",useProxy:t.useProxy});i.src=h.data,i.width||(i.width=c),i.height||(i.height=s);return}}catch{}if(t.placeholders!==!1){let d=document.createElement("div");d.style.cssText=[`width:${c}px`,`height:${s}px`,"background:#ccc","display:inline-block","text-align:center",`line-height:${s}px`,"color:#666","font-size:12px","overflow:hidden"].join(";"),d.textContent="img",i.replaceWith(d)}else{let d=document.createElement("div");d.style.cssText=`display:inline-block;width:${c}px;height:${s}px;visibility:hidden;`,i.replaceWith(d)}};for(let i=0;i<a.length;i+=4){let l=a.slice(i,i+4).map(r);await Promise.allSettled(l)}}function k0(e){if(!e)return()=>{};let t=_0(e);if(t<=0)return()=>{};if(!C0(e))return()=>{};let a=getComputedStyle(e),r=Math.round(L0(a)*t+z0(a)),i=e.textContent??"",l=i;if(e.scrollHeight<=r+.5)return()=>{};let n=0,c=i.length,s=-1;for(;n<=c;){let m=n+c>>1;e.textContent=i.slice(0,m)+"…",e.scrollHeight<=r+.5?(s=m,n=m+1):c=m-1}return e.textContent=(s>=0?i.slice(0,s):"")+"…",()=>{e.textContent=l}}function _0(e){let t=getComputedStyle(e),a=t.getPropertyValue("-webkit-line-clamp")||t.getPropertyValue("line-clamp");a=(a||"").trim();let r=parseInt(a,10);return Number.isFinite(r)&&r>0?r:0}function L0(e){let t=(e.lineHeight||"").trim(),a=parseFloat(e.fontSize)||16;return!t||t==="normal"?Math.round(a*1.2):t.endsWith("px")?parseFloat(t):/^\d+(\.\d+)?$/.test(t)?Math.round(parseFloat(t)*a):t.endsWith("%")?Math.round(parseFloat(t)/100*a):Math.round(a*1.2)}function z0(e){return(parseFloat(e.paddingTop)||0)+(parseFloat(e.paddingBottom)||0)}function C0(e){return e.childElementCount>0?!1:Array.from(e.childNodes).some(t=>t.nodeType===Node.TEXT_NODE)}function v0(e,t){if(!e||!t||!t.style)return;let a=getComputedStyle(e);try{t.style.boxShadow="none"}catch{}try{t.style.textShadow="none"}catch{}try{t.style.outline="none"}catch{}let r=(a.filter||"").replace(/\bblur\([^()]*\)\s*/gi,"").replace(/\bdrop-shadow\([^()]*\)\s*/gi,"").trim().replace(/\s+/g," ");try{t.style.filter=r.length?r:"none"}catch{}}function S0(e){let t=document.createTreeWalker(e,NodeFilter.SHOW_COMMENT),a=[];for(;t.nextNode();)a.push(t.currentNode);for(let r of a)r.remove()}function N0(e,t={}){let{stripFrameworkDirectives:a=!0}=t,r=new Set(["xml","xlink"]),i=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT);for(;i.nextNode();){let l=i.currentNode;for(let n of Array.from(l.attributes)){let c=n.name;if(c.includes("@")){l.removeAttribute(c);continue}if(c.includes(":")){let s=c.split(":",1)[0];if(!r.has(s)){l.removeAttribute(c);continue}}if(a&&(c.startsWith("x-")||c.startsWith("v-")||c.startsWith(":")||c.startsWith("on:")||c.startsWith("bind:")||c.startsWith("let:")||c.startsWith("class:"))){l.removeAttribute(c);continue}}}}function P0(e,t={}){e&&(N0(e,t),S0(e))}function M0(e){var t;try{let a=((t=e.getAttribute)==null?void 0:t.call(e,"style"))||"";return/\b(height|width|block-size|inline-size)\s*:/.test(a)}catch{return!1}}function V0(e){return e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof HTMLIFrameElement||e instanceof SVGElement||e instanceof HTMLObjectElement||e instanceof HTMLEmbedElement}function T0(e,t){if(!(e instanceof Element)||M0(e)||V0(e))return!1;let a=t.position;if(a==="absolute"||a==="fixed"||a==="sticky")return!1;let r=t.display||"";return!(r.includes("flex")||r.includes("grid")||r.startsWith("table")||t.transform&&t.transform!=="none")}function D0(e,t,a=new Map){function r(i,l){if(!(i instanceof Element)||!(l instanceof Element))return;let n=i.childElementCount>l.childElementCount,c=a.get(i)||getComputedStyle(i);if(a.has(i)||a.set(i,c),n&&T0(i,c)){l.style.height||(l.style.height="auto"),l.style.width||(l.style.width="auto"),l.style.removeProperty("block-size"),l.style.removeProperty("inline-size"),l.style.minHeight||(l.style.minHeight="0"),l.style.minWidth||(l.style.minWidth="0"),l.style.maxHeight||(l.style.maxHeight="none"),l.style.maxWidth||(l.style.maxWidth="none");let d=c.overflowY||c.overflowBlock||"visible",h=c.overflowX||c.overflowInline||"visible";(d!=="visible"||h!=="visible")&&(l.style.overflow="visible")}let s=Array.from(i.children),m=Array.from(l.children);for(let d=0;d<Math.min(s.length,m.length);d++)r(s[d],m[d])}r(e,t)}function E0(e){let t=getComputedStyle(e);return!(t.display==="none"||t.position==="absolute"||t.position==="fixed"||t.position==="sticky"||(t.cssFloat||t.float||"none")!=="none"||t.transform&&t.transform!=="none")}function R0(e,t){if(!(e instanceof Element))return!1;if(e.getAttribute("data-capture")==="exclude"&&(t==null?void 0:t.excludeMode)==="remove")return!0;if(Array.isArray(t==null?void 0:t.exclude))for(let a of t.exclude)try{if(e.matches(a))return t.excludeMode==="remove"}catch{}return!1}function B0(e,t){let a=getComputedStyle(e),r=e.getBoundingClientRect(),i=1/0,l=-1/0,n=!1,c=Array.from(e.children);for(let y of c){if(R0(y,t)||!E0(y))continue;let g=y.getBoundingClientRect(),p=g.top-r.top,f=g.bottom-r.top;f<=p||(p<i&&(i=p),f>l&&(l=f),n=!0)}let s=n?Math.max(0,l-i):0,m=parseFloat(a.borderTopWidth)||0,d=parseFloat(a.borderBottomWidth)||0,h=parseFloat(a.paddingTop)||0,u=parseFloat(a.paddingBottom)||0;return m+d+h+u+s}var K=(e,t=3)=>Number.isFinite(e)?Math.round(e*10**t)/10**t:e;function I0(e){var c;let t=e.boxShadow||"";if(!t||t==="none")return{top:0,right:0,bottom:0,left:0};let a=t.split(/\),(?=(?:[^()]*\([^()]*\))*[^()]*$)/).map(s=>s.trim()),r=0,i=0,l=0,n=0;for(let s of a){let m=((c=s.match(/-?\d+(\.\d+)?px/g))==null?void 0:c.map(f=>parseFloat(f)))||[];if(m.length<2)continue;let[d,h,u=0,y=0]=m,g=Math.abs(d)+u+y,p=Math.abs(h)+u+y;i=Math.max(i,g+Math.max(d,0)),n=Math.max(n,g+Math.max(-d,0)),l=Math.max(l,p+Math.max(h,0)),r=Math.max(r,p+Math.max(-h,0))}return{top:Math.ceil(r),right:Math.ceil(i),bottom:Math.ceil(l),left:Math.ceil(n)}}function A0(e){let t=(e.filter||"").match(/blur\(\s*([0-9.]+)px\s*\)/),a=t?Math.ceil(parseFloat(t[1])||0):0;return{top:a,right:a,bottom:a,left:a}}function F0(e){if((e.outlineStyle||"none")==="none")return{top:0,right:0,bottom:0,left:0};let t=Math.ceil(parseFloat(e.outlineWidth||"0")||0);return{top:t,right:t,bottom:t,left:t}}function G0(e){var s;let t=`${e.filter||""} ${e.webkitFilter||""}`.trim();if(!t||t==="none")return{bleed:{top:0,right:0,bottom:0,left:0},has:!1};let a=t.match(/drop-shadow\((?:[^()]|\([^()]*\))*\)/gi)||[],r=0,i=0,l=0,n=0,c=!1;for(let m of a){c=!0;let d=((s=m.match(/-?\d+(?:\.\d+)?px/gi))==null?void 0:s.map(f=>parseFloat(f)))||[],[h=0,u=0,y=0]=d,g=Math.abs(h)+y,p=Math.abs(u)+y;i=Math.max(i,g+Math.max(h,0)),n=Math.max(n,g+Math.max(-h,0)),l=Math.max(l,p+Math.max(u,0)),r=Math.max(r,p+Math.max(-u,0))}return{bleed:{top:K(r),right:K(i),bottom:K(l),left:K(n)},has:c}}function W0(e,t){if(!e||!t||!t.style)return null;let a=getComputedStyle(e);try{t.style.transformOrigin="0 0"}catch{}try{"translate"in t.style&&(t.style.translate="none"),"rotate"in t.style&&(t.style.rotate="none")}catch{}let r=a.transform||"none";if(!r||r==="none")try{let l=ja(e);if(l.a===1&&l.b===0&&l.c===0&&l.d===1)return t.style.transform="none",{a:1,b:0,c:0,d:1}}catch{}let i=r.match(/^matrix\(\s*([^)]+)\)$/i);if(i){let l=i[1].split(",").map(n=>parseFloat(n.trim()));if(l.length===6&&l.every(Number.isFinite)){let[n,c,s,m]=l,d=Math.sqrt(n*n+c*c)||0,h=0,u=0,y=0,g=0,p=0,f=0;d>0&&(h=n/d,u=c/d,y=h*s+u*m,g=s-h*y,p=m-u*y,f=Math.sqrt(g*g+p*p)||0,f>0?y=y/f:y=0);let x=d,L=0,w=y*f,b=f;try{t.style.transform=`matrix(${x}, ${L}, ${w}, ${b}, 0, 0)`}catch{}return{a:x,b:L,c:w,d:b}}}try{let l=String(r).trim();return t.style.transform=l+" translate(0px, 0px) rotate(0deg)",null}catch{return null}}function Oa(e,t,a,r,i){let l=a.a,n=a.b,c=a.c,s=a.d,m=a.e||0,d=a.f||0;function h(x,L){let w=x-r,b=L-i,C=l*w+c*b,_=n*w+s*b;return C+=r+m,_+=i+d,[C,_]}let u=[h(0,0),h(e,0),h(0,t),h(e,t)],y=1/0,g=1/0,p=-1/0,f=-1/0;for(let[x,L]of u)x<y&&(y=x),L<g&&(g=L),x>p&&(p=x),L>f&&(f=L);return{minX:y,minY:g,maxX:p,maxY:f,width:p-y,height:f-g}}function Z0(e,t,a){let r=(e.transformOrigin||"0 0").trim().split(/\s+/),[i,l]=[r[0]||"0",r[1]||"0"],n=(c,s)=>{let m=c.toLowerCase();return m==="left"||m==="top"?0:m==="center"?s/2:m==="right"||m==="bottom"?s:m.endsWith("px")?parseFloat(m)||0:m.endsWith("%")?(parseFloat(m)||0)*s/100:/^-?\d+(\.\d+)?$/.test(m)&&parseFloat(m)||0};return{ox:n(i,t),oy:n(l,a)}}function O0(e){var i,l,n,c,s,m,d,h;let t={rotate:"0deg",scale:null,translate:null},a=typeof e.computedStyleMap=="function"?e.computedStyleMap():null;if(a){let u=f=>{try{return typeof a.has=="function"&&!a.has(f)||typeof a.get!="function"?null:a.get(f)}catch{return null}},y=u("rotate");if(y)if(y.angle){let f=y.angle;t.rotate=f.unit==="rad"?f.value*180/Math.PI+"deg":f.value+f.unit}else y.unit?t.rotate=y.unit==="rad"?y.value*180/Math.PI+"deg":y.value+y.unit:t.rotate=String(y);else{let f=getComputedStyle(e);t.rotate=f.rotate&&f.rotate!=="none"?f.rotate:"0deg"}let g=u("scale");if(g){let f="x"in g&&((i=g.x)==null?void 0:i.value)!=null?g.x.value:Array.isArray(g)?(l=g[0])==null?void 0:l.value:Number(g)||1,x="y"in g&&((n=g.y)==null?void 0:n.value)!=null?g.y.value:Array.isArray(g)?(c=g[1])==null?void 0:c.value:f;t.scale=`${f} ${x}`}else{let f=getComputedStyle(e);t.scale=f.scale&&f.scale!=="none"?f.scale:null}let p=u("translate");if(p){let f="x"in p&&"value"in p.x?p.x.value:Array.isArray(p)?(s=p[0])==null?void 0:s.value:0,x="y"in p&&"value"in p.y?p.y.value:Array.isArray(p)?(m=p[1])==null?void 0:m.value:0,L="x"in p&&((d=p.x)!=null&&d.unit)?p.x.unit:"px",w="y"in p&&((h=p.y)!=null&&h.unit)?p.y.unit:"px";t.translate=`${f}${L} ${x}${w}`}else{let f=getComputedStyle(e);t.translate=f.translate&&f.translate!=="none"?f.translate:null}return t}let r=getComputedStyle(e);return t.rotate=r.rotate&&r.rotate!=="none"?r.rotate:"0deg",t.scale=r.scale&&r.scale!=="none"?r.scale:null,t.translate=r.translate&&r.translate!=="none"?r.translate:null,t}var ra=null;function j0(){if(ra)return ra;let e=document.createElement("div");return e.id="snapdom-measure-slot",e.setAttribute("aria-hidden","true"),Object.assign(e.style,{position:"absolute",left:"-99999px",top:"0px",width:"0px",height:"0px",overflow:"hidden",opacity:"0",pointerEvents:"none",contain:"size layout style"}),document.documentElement.appendChild(e),ra=e,e}function H0(e){let t=j0(),a=document.createElement("div");a.style.transformOrigin="0 0",e.baseTransform&&(a.style.transform=e.baseTransform),e.rotate&&(a.style.rotate=e.rotate),e.scale&&(a.style.scale=e.scale),e.translate&&(a.style.translate=e.translate),t.appendChild(a);let r=ja(a);return t.removeChild(a),r}function X0(e){let t=getComputedStyle(e),a=t.transform||"none";if(a!=="none"&&!/^matrix\(\s*1\s*,\s*0\s*,\s*0\s*,\s*1\s*,\s*0\s*,\s*0\s*\)$/i.test(a))return!0;let r=t.rotate&&t.rotate!=="none"&&t.rotate!=="0deg",i=t.scale&&t.scale!=="none"&&t.scale!=="1",l=t.translate&&t.translate!=="none"&&t.translate!=="0px 0px";return!!(r||i||l)}function ja(e){let t=getComputedStyle(e).transform;if(!t||t==="none")return new DOMMatrix;try{return new DOMMatrix(t)}catch{return new WebKitCSSMatrix(t)}}async function Ha(e,t){var L;if(!e)throw new Error("Element cannot be null or undefined");Eg(t.cache);let a=t.fast,r=t.outerTransforms!==!1,i=!!t.outerShadows,l={element:e,options:t,plugins:t.plugins},n,c,s,m="",d="",h,u,y=null;await Be("beforeSnap",l),await Be("beforeClone",l);let g=k0(l.element);try{({clone:n,classCSS:c,styleCache:s}=await b0(l.element,l.options)),!r&&n&&(y=W0(l.element,n)),!i&&n&&v0(l.element,n)}finally{g()}if(l={clone:n,classCSS:c,styleCache:s,...l},await Be("afterClone",l),P0(l.clone),((L=l.options)==null?void 0:L.excludeMode)==="remove")try{D0(l.element,l.clone,l.styleCache)}catch(w){console.warn("[snapdom] shrink pass failed:",w)}try{await iu(l.clone,l.element)}catch{}await new Promise(w=>{Xe(async()=>{await x0(l.clone,l.options),w()},{fast:a})}),await new Promise(w=>{Xe(async()=>{await _u(l.element,l.clone,l.styleCache,l.options),w()},{fast:a})}),t.embedFonts&&await new Promise(w=>{Xe(async()=>{let b=wu(l.element),C=xu(l.element);if(Fe()){let _=new Set(Array.from(b).map(z=>String(z).split("__")[0]).filter(Boolean));await ku(_,1)}m=await bu({required:b,usedCodepoints:C,preCached:!1,exclude:l.options.excludeFonts,useProxy:l.options.useProxy}),w()},{fast:a})});let p=Yg(l.clone).sort(),f=p.join(",");E.baseStyle.has(f)?d=E.baseStyle.get(f):await new Promise(w=>{Xe(()=>{d=Ug(p),E.baseStyle.set(f,d),w()},{fast:a})}),l={fontsCSS:m,baseCSS:d,...l},await Be("beforeRender",l),await new Promise(w=>{Xe(()=>{var Te;let b=getComputedStyle(l.element),C=l.element.getBoundingClientRect(),_=Math.max(1,K(l.element.offsetWidth||parseFloat(b.width)||C.width||1)),z=Math.max(1,K(l.element.offsetHeight||parseFloat(b.height)||C.height||1));if(((Te=l.options)==null?void 0:Te.excludeMode)==="remove"){let A=B0(l.element,l.options);Number.isFinite(A)&&A>0&&(z=Math.max(1,Math.min(z,K(A+1))))}let S=(A,me=NaN)=>{let _e=typeof A=="string"?parseFloat(A):A;return Number.isFinite(_e)?_e:me},N=S(l.options.width),T=S(l.options.height),R=_,G=z,H=Number.isFinite(N),Y=Number.isFinite(T),$=z>0?_/z:1;H&&Y?(R=Math.max(1,K(N)),G=Math.max(1,K(T))):H?(R=Math.max(1,K(N)),G=Math.max(1,K(R/($||1)))):Y?(G=Math.max(1,K(T)),R=Math.max(1,K(G*($||1)))):(R=_,G=z);let ae=0,P=0,F=_,W=z;if(!r&&y&&Number.isFinite(y.a)){let A={a:y.a,b:y.b||0,c:y.c||0,d:y.d||1,e:0,f:0},me=Oa(_,z,A,0,0);ae=K(me.minX),P=K(me.minY),F=K(me.maxX),W=K(me.maxY)}else if(r&&Y0(l.element)){let A=b.transform&&b.transform!=="none"?b.transform:"",me=O0(l.element),_e=H0({baseTransform:A,rotate:me.rotate||"0deg",scale:me.scale,translate:me.translate}),{ox:Ne,oy:Pe}=Z0(b,_,z),j=_e.is2D?_e:new DOMMatrix(_e.toString()),ve=Oa(_,z,j,Ne,Pe);ae=K(ve.minX),P=K(ve.minY),F=K(ve.maxX),W=K(ve.maxY)}let U=I0(b),I=A0(b),B=F0(b),O=G0(b),M=i?{top:K(U.top+I.top+B.top+O.bleed.top),right:K(U.right+I.right+B.right+O.bleed.right),bottom:K(U.bottom+I.bottom+B.bottom+O.bleed.bottom),left:K(U.left+I.left+B.left+O.bleed.left)}:{top:0,right:0,bottom:0,left:0};ae=K(ae-M.left),P=K(P-M.top),F=K(F+M.right),W=K(W+M.bottom);let q=Math.max(1,K(F-ae)),re=Math.max(1,K(W-P)),he=H||Y?K(R/_):1,ge=Y||H?K(G/z):1,ee=Math.max(1,K(q*he)),se=Math.max(1,K(re*ge)),pe="http://www.w3.org/2000/svg",xe=Fe()?1:0,Z=K(xe+(r?0:1)),te=document.createElementNS(pe,"foreignObject"),Ve=K(ae),Ce=K(P);te.setAttribute("x",String(K(-(Ve-Z)))),te.setAttribute("y",String(K(-(Ce-Z)))),te.setAttribute("width",String(K(_+Z*2))),te.setAttribute("height",String(K(z+Z*2))),te.style.overflow="visible";let ye=document.createElement("style");ye.textContent=l.baseCSS+l.fontsCSS+"svg{overflow:visible;} foreignObject{overflow:visible;}"+l.classCSS,te.appendChild(ye);let ke=document.createElement("div");ke.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),ke.style.width=`${K(_)}px`,ke.style.height=`${K(z)}px`,ke.style.overflow="visible",l.clone.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),ke.appendChild(l.clone),te.appendChild(ke);let J=new XMLSerializer().serializeToString(te),be=K(q+Z*2),ie=K(re+Z*2),ce=H||Y;t.meta={w0:_,h0:z,vbW:be,vbH:ie,targetW:R,targetH:G};let Se=Fe()&&ce?be:K(ee+Z*2),De=Fe()&&ce?ie:K(se+Z*2);u=`<svg xmlns="${pe}" width="${Se}" height="${De}" viewBox="0 0 ${be} ${ie}">`+J+"</svg>",h=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(u)}`,l={svgString:u,dataURL:h,...l},w()},{fast:a})}),await Be("afterRender",l);let x=document.getElementById("snapdom-sandbox");return x&&x.style.position==="absolute"&&x.remove(),l.dataURL}function Y0(e){return X0(e)}function U0(e){if(typeof e=="string"){let t=e.toLowerCase().trim();if(t==="disabled"||t==="full"||t==="auto"||t==="soft")return t}return"soft"}function $0(e={}){let t=e.format??"png";t==="jpg"&&(t="jpeg");let a=U0(e.cache);return{debug:e.debug??!1,fast:e.fast??!0,scale:e.scale??1,exclude:e.exclude??[],excludeMode:e.excludeMode??"hide",filter:e.filter??null,filterMode:e.filterMode??"hide",placeholders:e.placeholders!==!1,embedFonts:e.embedFonts??!1,iconFonts:Array.isArray(e.iconFonts)?e.iconFonts:e.iconFonts?[e.iconFonts]:[],localFonts:Array.isArray(e.localFonts)?e.localFonts:[],excludeFonts:e.excludeFonts??void 0,fallbackURL:e.fallbackURL??void 0,cache:a,useProxy:typeof e.useProxy=="string"?e.useProxy:"",width:e.width??null,height:e.height??null,format:t,type:e.type??"svg",quality:e.quality??.92,dpr:e.dpr??(window.devicePixelRatio||1),backgroundColor:e.backgroundColor??(["jpeg","webp"].includes(t)?"#ffffff":null),filename:e.filename??"snapDOM",outerTransforms:e.outerTransforms??!0,outerShadows:e.outerShadows??!1}}function J0(...e){return Lu(...e),fe}var fe=Object.assign(K0,{plugins:J0}),Xa=Symbol("snapdom.internal"),Ie=Symbol("snapdom.internal.silent"),la=!1;async function K0(e,t){if(!e)throw new Error("Element cannot be null or undefined");let a=$0(t);if(vu(a,t&&t.plugins),Fe()&&(a.embedFonts===!0||Q0(e)))for(let r=0;r<3;r++)try{await q0(e,t),la=!1}catch{}return a.iconFonts&&a.iconFonts.length>0&&Kg(a.iconFonts),a.snap||(a.snap={toPng:(r,i)=>fe.toPng(r,i),toSvg:(r,i)=>fe.toSvg(r,i)}),fe.capture(e,a,Xa)}fe.capture=async(e,t,a)=>{if(a!==Xa)throw new Error("[snapdom.capture] is internal. Use snapdom(...) instead.");let r=await Ha(e,t),i={img:async(g,p)=>{let{toImg:f}=await Promise.resolve().then(()=>Oo);return f(r,{...g,...p||{}})},svg:async(g,p)=>{let{toSvg:f}=await Promise.resolve().then(()=>Oo);return f(r,{...g,...p||{}})},canvas:async(g,p)=>{let{toCanvas:f}=await Promise.resolve().then(()=>ei);return f(r,{...g,...p||{}})},blob:async(g,p)=>{let{toBlob:f}=await Promise.resolve().then(()=>oi);return f(r,{...g,...p||{}})},png:async(g,p)=>{let{rasterize:f}=await Promise.resolve().then(()=>Ge);return f(r,{...g,...p||{},format:"png"})},jpeg:async(g,p)=>{let{rasterize:f}=await Promise.resolve().then(()=>Ge);return f(r,{...g,...p||{},format:"jpeg"})},webp:async(g,p)=>{let{rasterize:f}=await Promise.resolve().then(()=>Ge);return f(r,{...g,...p||{},format:"webp"})},download:async(g,p)=>{let{download:f}=await Promise.resolve().then(()=>ay);return f(r,{...g,...p||{}})}},l={...t,export:{url:r},exports:{svg:async g=>{let{toSvg:p}=await Promise.resolve().then(()=>Oo);return p(r,{...t,...g||{},[Ie]:!0})},canvas:async g=>{let{toCanvas:p}=await Promise.resolve().then(()=>ei);return p(r,{...t,...g||{},[Ie]:!0})},png:async g=>{let{rasterize:p}=await Promise.resolve().then(()=>Ge);return p(r,{...t,...g||{},format:"png",[Ie]:!0})},jpeg:async g=>{let{rasterize:p}=await Promise.resolve().then(()=>Ge);return p(r,{...t,...g||{},format:"jpeg",[Ie]:!0})},jpg:async g=>{let{rasterize:p}=await Promise.resolve().then(()=>Ge);return p(r,{...t,...g||{},format:"jpeg",[Ie]:!0})},webp:async g=>{let{rasterize:p}=await Promise.resolve().then(()=>Ge);return p(r,{...t,...g||{},format:"webp",[Ie]:!0})},blob:async g=>{let{toBlob:p}=await Promise.resolve().then(()=>oi);return p(r,{...t,...g||{},[Ie]:!0})},img:async g=>{let{toImg:p}=await Promise.resolve().then(()=>Oo);return p(r,{...t,...g||{},[Ie]:!0})}}},n=await zu("defineExports",l),c=Object.assign({},...n.filter(g=>g&&typeof g=="object")),s={...i,...c};s.jpeg&&!s.jpg&&(s.jpg=(g,p)=>s.jpeg(g,p));function m(g,p){let f={...t,...p||{}};return(g==="jpeg"||g==="jpg")&&(f.backgroundColor==null||f.backgroundColor==="transparent")&&(f.backgroundColor="#ffffff"),f}let d=!1,h=Promise.resolve();async function u(g,p){let f=async()=>{let x=s[g];if(!x)throw new Error(`[snapdom] Unknown export type: ${g}`);let L=m(g,p),w={...t,export:{type:g,options:L,url:r}};await Be("beforeExport",w);let b=await x(w,L);return await Be("afterExport",w,b),d||(d=!0,await Be("afterSnap",t)),b};return h=h.then(f)}let y={url:r,toRaw:()=>r,to:(g,p)=>u(g,p),toImg:g=>u("img",g),toSvg:g=>u("svg",g),toCanvas:g=>u("canvas",g),toBlob:g=>u("blob",g),toPng:g=>u("png",g),toJpg:g=>u("jpg",g),toWebp:g=>u("webp",g),download:g=>u("download",g)};for(let g of Object.keys(s)){let p="to"+g.charAt(0).toUpperCase()+g.slice(1);y[p]||(y[p]=f=>u(g,f))}return y},fe.toRaw=(e,t)=>fe(e,t).then(a=>a.toRaw()),fe.toImg=(e,t)=>fe(e,t).then(a=>a.toImg()),fe.toSvg=(e,t)=>fe(e,t).then(a=>a.toSvg()),fe.toCanvas=(e,t)=>fe(e,t).then(a=>a.toCanvas()),fe.toBlob=(e,t)=>fe(e,t).then(a=>a.toBlob()),fe.toPng=(e,t)=>fe(e,{...t,format:"png"}).then(a=>a.toPng()),fe.toJpg=(e,t)=>fe(e,{...t,format:"jpeg"}).then(a=>a.toJpg()),fe.toWebp=(e,t)=>fe(e,{...t,format:"webp"}).then(a=>a.toWebp()),fe.download=(e,t)=>fe(e,t).then(a=>a.download());async function q0(e,t){if(la)return;let a={...t,fast:!0,embedFonts:!0,scale:.2},r;try{r=await Ha(e,a)}catch{}await new Promise(i=>requestAnimationFrame(()=>requestAnimationFrame(i))),r&&await new Promise(i=>{let l=new Image;try{l.decoding="sync",l.loading="eager"}catch{}l.style.cssText="position:fixed;left:0px;top:0px;width:10px;height:10px;opacity:0.01;pointer-events:none;",l.src=r,document.body.appendChild(l),(async()=>{try{typeof l.decode=="function"&&await l.decode()}catch{}let n=performance.now();for(;!(l.complete&&l.naturalWidth>0)&&performance.now()-n<900;)await new Promise(c=>setTimeout(c,200));await new Promise(c=>requestAnimationFrame(c));try{l.remove()}catch{}i()})()}),e.querySelectorAll("canvas").forEach(i=>{try{let l=i.getContext("2d",{willReadFrequently:!0});l&&l.getImageData(0,0,1,1)}catch{}}),la=!0}function Q0(e){let t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT);for(;t.nextNode();){let a=t.currentNode,r=getComputedStyle(a),i=r.backgroundImage&&r.backgroundImage!=="none",l=r.maskImage&&r.maskImage!=="none"||r.webkitMaskImage&&r.webkitMaskImage!=="none";if(i||l||a.tagName==="CANVAS")return!0}return!1}class ef{constructor(){de(this,"frames",[]);de(this,"captureRect",null);de(this,"_isRecording",!1);de(this,"_frameDelay",1e3);de(this,"canvas",null);de(this,"ctx",null)}setArea(t){this.captureRect=t,this.canvas=document.createElement("canvas"),this.canvas.width=t.width,this.canvas.height=t.height,this.ctx=this.canvas.getContext("2d")}setFrameDelay(t){this._frameDelay=t}getArea(){return this.captureRect}startRecording(){this._isRecording=!0,this.frames=[]}stopRecording(){this._isRecording=!1}async captureFrame(t,a){var i;if(!this._isRecording||!this.captureRect||!this.canvas||!this.ctx){console.log("[GifRecorder] captureFrame 跳过:",{isRecording:this._isRecording,hasRect:!!this.captureRect,hasCanvas:!!this.canvas});return}const r=t||document.body;try{console.log("[GifRecorder] 开始 snapdom 截图(全屏模式)...");const n=await(await fe(r,{filter:c=>!(c instanceof HTMLElement&&c.classList.contains("capture-exclude"))})).toPng();if(console.log("[GifRecorder] snapdom 截图完成, img:",(i=n==null?void 0:n.src)==null?void 0:i.length),!n||!n.src){console.error("[GifRecorder] snapdom 返回空图片");return}await new Promise((c,s)=>{n.complete&&n.naturalWidth>0?(console.log("[GifRecorder] 图片已加载, 开始裁剪区域"),this.processImage(n,a),c()):(n.onload=()=>{console.log("[GifRecorder] 图片加载完成, 开始裁剪区域"),this.processImage(n,a),c()},n.onerror=m=>{console.error("[GifRecorder] 图片加载失败:",m),s(m)})})}catch(l){console.error("[GifRecorder] 截图失败:",l)}}processImage(t,a){const r=window.devicePixelRatio||1,i=this.captureRect.x*r,l=this.captureRect.y*r,n=this.captureRect.width*r,c=this.captureRect.height*r;this.ctx.drawImage(t,i,l,n,c,0,0,this.captureRect.width,this.captureRect.height);const s=a,m=Math.max(this.captureRect.width/48,this.captureRect.height/48),d=8,h=12;this.ctx.font=`bold ${m}px Arial, sans-serif`,this.ctx.textAlign="center",this.ctx.textBaseline="top";const y=this.ctx.measureText(s).width,g=m,p=(this.captureRect.width-y)/2-d*2,f=h,x=y+d*4,L=g+d*2;this.ctx.fillStyle="rgba(0, 0, 0, 0.6)",this.ctx.beginPath(),this.ctx.roundRect(p,f,x,L,16),this.ctx.fill(),this.ctx.fillStyle="#ffffff",this.ctx.fillText(s,this.captureRect.width/2,h+d);const w=this.ctx.getImageData(0,0,this.captureRect.width,this.captureRect.height);this.frames.push(w),console.log("[GifRecorder] 帧添加成功, 当前帧数:",this.frames.length)}getFrameCount(){return this.frames.length}async generateGif(){return this.frames.length===0?(console.warn("[GifRecorder] 没有可用的帧"),null):new Promise((t,a)=>{const r=new xr({workers:2,quality:10,width:this.captureRect.width,height:this.captureRect.height,workerScript:new URL("data:application/javascript;base64,Ly8gZ2lmLndvcmtlci5qcyAwLjIuMCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9qbm9yZGJlcmcvZ2lmLmpzCihmdW5jdGlvbiBlKHQsbixyKXtmdW5jdGlvbiBzKG8sdSl7aWYoIW5bb10pe2lmKCF0W29dKXt2YXIgYT10eXBlb2YgcmVxdWlyZT09ImZ1bmN0aW9uIiYmcmVxdWlyZTtpZighdSYmYSlyZXR1cm4gYShvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3ZhciBmPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK28rIiciKTt0aHJvdyBmLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGZ9dmFyIGw9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGwuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sbCxsLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09ImZ1bmN0aW9uIiYmcmVxdWlyZTtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylzKHJbb10pO3JldHVybiBzfSkoezE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBOZXVRdWFudD1yZXF1aXJlKCIuL1R5cGVkTmV1UXVhbnQuanMiKTt2YXIgTFpXRW5jb2Rlcj1yZXF1aXJlKCIuL0xaV0VuY29kZXIuanMiKTtmdW5jdGlvbiBCeXRlQXJyYXkoKXt0aGlzLnBhZ2U9LTE7dGhpcy5wYWdlcz1bXTt0aGlzLm5ld1BhZ2UoKX1CeXRlQXJyYXkucGFnZVNpemU9NDA5NjtCeXRlQXJyYXkuY2hhck1hcD17fTtmb3IodmFyIGk9MDtpPDI1NjtpKyspQnl0ZUFycmF5LmNoYXJNYXBbaV09U3RyaW5nLmZyb21DaGFyQ29kZShpKTtCeXRlQXJyYXkucHJvdG90eXBlLm5ld1BhZ2U9ZnVuY3Rpb24oKXt0aGlzLnBhZ2VzWysrdGhpcy5wYWdlXT1uZXcgVWludDhBcnJheShCeXRlQXJyYXkucGFnZVNpemUpO3RoaXMuY3Vyc29yPTB9O0J5dGVBcnJheS5wcm90b3R5cGUuZ2V0RGF0YT1mdW5jdGlvbigpe3ZhciBydj0iIjtmb3IodmFyIHA9MDtwPHRoaXMucGFnZXMubGVuZ3RoO3ArKyl7Zm9yKHZhciBpPTA7aTxCeXRlQXJyYXkucGFnZVNpemU7aSsrKXtydis9Qnl0ZUFycmF5LmNoYXJNYXBbdGhpcy5wYWdlc1twXVtpXV19fXJldHVybiBydn07Qnl0ZUFycmF5LnByb3RvdHlwZS53cml0ZUJ5dGU9ZnVuY3Rpb24odmFsKXtpZih0aGlzLmN1cnNvcj49Qnl0ZUFycmF5LnBhZ2VTaXplKXRoaXMubmV3UGFnZSgpO3RoaXMucGFnZXNbdGhpcy5wYWdlXVt0aGlzLmN1cnNvcisrXT12YWx9O0J5dGVBcnJheS5wcm90b3R5cGUud3JpdGVVVEZCeXRlcz1mdW5jdGlvbihzdHJpbmcpe2Zvcih2YXIgbD1zdHJpbmcubGVuZ3RoLGk9MDtpPGw7aSsrKXRoaXMud3JpdGVCeXRlKHN0cmluZy5jaGFyQ29kZUF0KGkpKX07Qnl0ZUFycmF5LnByb3RvdHlwZS53cml0ZUJ5dGVzPWZ1bmN0aW9uKGFycmF5LG9mZnNldCxsZW5ndGgpe2Zvcih2YXIgbD1sZW5ndGh8fGFycmF5Lmxlbmd0aCxpPW9mZnNldHx8MDtpPGw7aSsrKXRoaXMud3JpdGVCeXRlKGFycmF5W2ldKX07ZnVuY3Rpb24gR0lGRW5jb2Rlcih3aWR0aCxoZWlnaHQpe3RoaXMud2lkdGg9fn53aWR0aDt0aGlzLmhlaWdodD1+fmhlaWdodDt0aGlzLnRyYW5zcGFyZW50PW51bGw7dGhpcy50cmFuc0luZGV4PTA7dGhpcy5yZXBlYXQ9LTE7dGhpcy5kZWxheT0wO3RoaXMuaW1hZ2U9bnVsbDt0aGlzLnBpeGVscz1udWxsO3RoaXMuaW5kZXhlZFBpeGVscz1udWxsO3RoaXMuY29sb3JEZXB0aD1udWxsO3RoaXMuY29sb3JUYWI9bnVsbDt0aGlzLm5ldVF1YW50PW51bGw7dGhpcy51c2VkRW50cnk9bmV3IEFycmF5O3RoaXMucGFsU2l6ZT03O3RoaXMuZGlzcG9zZT0tMTt0aGlzLmZpcnN0RnJhbWU9dHJ1ZTt0aGlzLnNhbXBsZT0xMDt0aGlzLmRpdGhlcj1mYWxzZTt0aGlzLmdsb2JhbFBhbGV0dGU9ZmFsc2U7dGhpcy5vdXQ9bmV3IEJ5dGVBcnJheX1HSUZFbmNvZGVyLnByb3RvdHlwZS5zZXREZWxheT1mdW5jdGlvbihtaWxsaXNlY29uZHMpe3RoaXMuZGVsYXk9TWF0aC5yb3VuZChtaWxsaXNlY29uZHMvMTApfTtHSUZFbmNvZGVyLnByb3RvdHlwZS5zZXRGcmFtZVJhdGU9ZnVuY3Rpb24oZnBzKXt0aGlzLmRlbGF5PU1hdGgucm91bmQoMTAwL2Zwcyl9O0dJRkVuY29kZXIucHJvdG90eXBlLnNldERpc3Bvc2U9ZnVuY3Rpb24oZGlzcG9zYWxDb2RlKXtpZihkaXNwb3NhbENvZGU+PTApdGhpcy5kaXNwb3NlPWRpc3Bvc2FsQ29kZX07R0lGRW5jb2Rlci5wcm90b3R5cGUuc2V0UmVwZWF0PWZ1bmN0aW9uKHJlcGVhdCl7dGhpcy5yZXBlYXQ9cmVwZWF0fTtHSUZFbmNvZGVyLnByb3RvdHlwZS5zZXRUcmFuc3BhcmVudD1mdW5jdGlvbihjb2xvcil7dGhpcy50cmFuc3BhcmVudD1jb2xvcn07R0lGRW5jb2Rlci5wcm90b3R5cGUuYWRkRnJhbWU9ZnVuY3Rpb24oaW1hZ2VEYXRhKXt0aGlzLmltYWdlPWltYWdlRGF0YTt0aGlzLmNvbG9yVGFiPXRoaXMuZ2xvYmFsUGFsZXR0ZSYmdGhpcy5nbG9iYWxQYWxldHRlLnNsaWNlP3RoaXMuZ2xvYmFsUGFsZXR0ZTpudWxsO3RoaXMuZ2V0SW1hZ2VQaXhlbHMoKTt0aGlzLmFuYWx5emVQaXhlbHMoKTtpZih0aGlzLmdsb2JhbFBhbGV0dGU9PT10cnVlKXRoaXMuZ2xvYmFsUGFsZXR0ZT10aGlzLmNvbG9yVGFiO2lmKHRoaXMuZmlyc3RGcmFtZSl7dGhpcy53cml0ZUxTRCgpO3RoaXMud3JpdGVQYWxldHRlKCk7aWYodGhpcy5yZXBlYXQ+PTApe3RoaXMud3JpdGVOZXRzY2FwZUV4dCgpfX10aGlzLndyaXRlR3JhcGhpY0N0cmxFeHQoKTt0aGlzLndyaXRlSW1hZ2VEZXNjKCk7aWYoIXRoaXMuZmlyc3RGcmFtZSYmIXRoaXMuZ2xvYmFsUGFsZXR0ZSl0aGlzLndyaXRlUGFsZXR0ZSgpO3RoaXMud3JpdGVQaXhlbHMoKTt0aGlzLmZpcnN0RnJhbWU9ZmFsc2V9O0dJRkVuY29kZXIucHJvdG90eXBlLmZpbmlzaD1mdW5jdGlvbigpe3RoaXMub3V0LndyaXRlQnl0ZSg1OSl9O0dJRkVuY29kZXIucHJvdG90eXBlLnNldFF1YWxpdHk9ZnVuY3Rpb24ocXVhbGl0eSl7aWYocXVhbGl0eTwxKXF1YWxpdHk9MTt0aGlzLnNhbXBsZT1xdWFsaXR5fTtHSUZFbmNvZGVyLnByb3RvdHlwZS5zZXREaXRoZXI9ZnVuY3Rpb24oZGl0aGVyKXtpZihkaXRoZXI9PT10cnVlKWRpdGhlcj0iRmxveWRTdGVpbmJlcmciO3RoaXMuZGl0aGVyPWRpdGhlcn07R0lGRW5jb2Rlci5wcm90b3R5cGUuc2V0R2xvYmFsUGFsZXR0ZT1mdW5jdGlvbihwYWxldHRlKXt0aGlzLmdsb2JhbFBhbGV0dGU9cGFsZXR0ZX07R0lGRW5jb2Rlci5wcm90b3R5cGUuZ2V0R2xvYmFsUGFsZXR0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdsb2JhbFBhbGV0dGUmJnRoaXMuZ2xvYmFsUGFsZXR0ZS5zbGljZSYmdGhpcy5nbG9iYWxQYWxldHRlLnNsaWNlKDApfHx0aGlzLmdsb2JhbFBhbGV0dGV9O0dJRkVuY29kZXIucHJvdG90eXBlLndyaXRlSGVhZGVyPWZ1bmN0aW9uKCl7dGhpcy5vdXQud3JpdGVVVEZCeXRlcygiR0lGODlhIil9O0dJRkVuY29kZXIucHJvdG90eXBlLmFuYWx5emVQaXhlbHM9ZnVuY3Rpb24oKXtpZighdGhpcy5jb2xvclRhYil7dGhpcy5uZXVRdWFudD1uZXcgTmV1UXVhbnQodGhpcy5waXhlbHMsdGhpcy5zYW1wbGUpO3RoaXMubmV1UXVhbnQuYnVpbGRDb2xvcm1hcCgpO3RoaXMuY29sb3JUYWI9dGhpcy5uZXVRdWFudC5nZXRDb2xvcm1hcCgpfWlmKHRoaXMuZGl0aGVyKXt0aGlzLmRpdGhlclBpeGVscyh0aGlzLmRpdGhlci5yZXBsYWNlKCItc2VycGVudGluZSIsIiIpLHRoaXMuZGl0aGVyLm1hdGNoKC8tc2VycGVudGluZS8pIT09bnVsbCl9ZWxzZXt0aGlzLmluZGV4UGl4ZWxzKCl9dGhpcy5waXhlbHM9bnVsbDt0aGlzLmNvbG9yRGVwdGg9ODt0aGlzLnBhbFNpemU9NztpZih0aGlzLnRyYW5zcGFyZW50IT09bnVsbCl7dGhpcy50cmFuc0luZGV4PXRoaXMuZmluZENsb3Nlc3QodGhpcy50cmFuc3BhcmVudCx0cnVlKX19O0dJRkVuY29kZXIucHJvdG90eXBlLmluZGV4UGl4ZWxzPWZ1bmN0aW9uKGltZ3Epe3ZhciBuUGl4PXRoaXMucGl4ZWxzLmxlbmd0aC8zO3RoaXMuaW5kZXhlZFBpeGVscz1uZXcgVWludDhBcnJheShuUGl4KTt2YXIgaz0wO2Zvcih2YXIgaj0wO2o8blBpeDtqKyspe3ZhciBpbmRleD10aGlzLmZpbmRDbG9zZXN0UkdCKHRoaXMucGl4ZWxzW2srK10mMjU1LHRoaXMucGl4ZWxzW2srK10mMjU1LHRoaXMucGl4ZWxzW2srK10mMjU1KTt0aGlzLnVzZWRFbnRyeVtpbmRleF09dHJ1ZTt0aGlzLmluZGV4ZWRQaXhlbHNbal09aW5kZXh9fTtHSUZFbmNvZGVyLnByb3RvdHlwZS5kaXRoZXJQaXhlbHM9ZnVuY3Rpb24oa2VybmVsLHNlcnBlbnRpbmUpe3ZhciBrZXJuZWxzPXtGYWxzZUZsb3lkU3RlaW5iZXJnOltbMy84LDEsMF0sWzMvOCwwLDFdLFsyLzgsMSwxXV0sRmxveWRTdGVpbmJlcmc6W1s3LzE2LDEsMF0sWzMvMTYsLTEsMV0sWzUvMTYsMCwxXSxbMS8xNiwxLDFdXSxTdHVja2k6W1s4LzQyLDEsMF0sWzQvNDIsMiwwXSxbMi80MiwtMiwxXSxbNC80MiwtMSwxXSxbOC80MiwwLDFdLFs0LzQyLDEsMV0sWzIvNDIsMiwxXSxbMS80MiwtMiwyXSxbMi80MiwtMSwyXSxbNC80MiwwLDJdLFsyLzQyLDEsMl0sWzEvNDIsMiwyXV0sQXRraW5zb246W1sxLzgsMSwwXSxbMS84LDIsMF0sWzEvOCwtMSwxXSxbMS84LDAsMV0sWzEvOCwxLDFdLFsxLzgsMCwyXV19O2lmKCFrZXJuZWx8fCFrZXJuZWxzW2tlcm5lbF0pe3Rocm93IlVua25vd24gZGl0aGVyaW5nIGtlcm5lbDogIitrZXJuZWx9dmFyIGRzPWtlcm5lbHNba2VybmVsXTt2YXIgaW5kZXg9MCxoZWlnaHQ9dGhpcy5oZWlnaHQsd2lkdGg9dGhpcy53aWR0aCxkYXRhPXRoaXMucGl4ZWxzO3ZhciBkaXJlY3Rpb249c2VycGVudGluZT8tMToxO3RoaXMuaW5kZXhlZFBpeGVscz1uZXcgVWludDhBcnJheSh0aGlzLnBpeGVscy5sZW5ndGgvMyk7Zm9yKHZhciB5PTA7eTxoZWlnaHQ7eSsrKXtpZihzZXJwZW50aW5lKWRpcmVjdGlvbj1kaXJlY3Rpb24qLTE7Zm9yKHZhciB4PWRpcmVjdGlvbj09MT8wOndpZHRoLTEseGVuZD1kaXJlY3Rpb249PTE/d2lkdGg6MDt4IT09eGVuZDt4Kz1kaXJlY3Rpb24pe2luZGV4PXkqd2lkdGgreDt2YXIgaWR4PWluZGV4KjM7dmFyIHIxPWRhdGFbaWR4XTt2YXIgZzE9ZGF0YVtpZHgrMV07dmFyIGIxPWRhdGFbaWR4KzJdO2lkeD10aGlzLmZpbmRDbG9zZXN0UkdCKHIxLGcxLGIxKTt0aGlzLnVzZWRFbnRyeVtpZHhdPXRydWU7dGhpcy5pbmRleGVkUGl4ZWxzW2luZGV4XT1pZHg7aWR4Kj0zO3ZhciByMj10aGlzLmNvbG9yVGFiW2lkeF07dmFyIGcyPXRoaXMuY29sb3JUYWJbaWR4KzFdO3ZhciBiMj10aGlzLmNvbG9yVGFiW2lkeCsyXTt2YXIgZXI9cjEtcjI7dmFyIGVnPWcxLWcyO3ZhciBlYj1iMS1iMjtmb3IodmFyIGk9ZGlyZWN0aW9uPT0xPzA6ZHMubGVuZ3RoLTEsZW5kPWRpcmVjdGlvbj09MT9kcy5sZW5ndGg6MDtpIT09ZW5kO2krPWRpcmVjdGlvbil7dmFyIHgxPWRzW2ldWzFdO3ZhciB5MT1kc1tpXVsyXTtpZih4MSt4Pj0wJiZ4MSt4PHdpZHRoJiZ5MSt5Pj0wJiZ5MSt5PGhlaWdodCl7dmFyIGQ9ZHNbaV1bMF07aWR4PWluZGV4K3gxK3kxKndpZHRoO2lkeCo9MztkYXRhW2lkeF09TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsZGF0YVtpZHhdK2VyKmQpKTtkYXRhW2lkeCsxXT1NYXRoLm1heCgwLE1hdGgubWluKDI1NSxkYXRhW2lkeCsxXStlZypkKSk7ZGF0YVtpZHgrMl09TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsZGF0YVtpZHgrMl0rZWIqZCkpfX19fX07R0lGRW5jb2Rlci5wcm90b3R5cGUuZmluZENsb3Nlc3Q9ZnVuY3Rpb24oYyx1c2VkKXtyZXR1cm4gdGhpcy5maW5kQ2xvc2VzdFJHQigoYyYxNjcxMTY4MCk+PjE2LChjJjY1MjgwKT4+OCxjJjI1NSx1c2VkKX07R0lGRW5jb2Rlci5wcm90b3R5cGUuZmluZENsb3Nlc3RSR0I9ZnVuY3Rpb24ocixnLGIsdXNlZCl7aWYodGhpcy5jb2xvclRhYj09PW51bGwpcmV0dXJuLTE7aWYodGhpcy5uZXVRdWFudCYmIXVzZWQpe3JldHVybiB0aGlzLm5ldVF1YW50Lmxvb2t1cFJHQihyLGcsYil9dmFyIGM9YnxnPDw4fHI8PDE2O3ZhciBtaW5wb3M9MDt2YXIgZG1pbj0yNTYqMjU2KjI1Njt2YXIgbGVuPXRoaXMuY29sb3JUYWIubGVuZ3RoO2Zvcih2YXIgaT0wLGluZGV4PTA7aTxsZW47aW5kZXgrKyl7dmFyIGRyPXItKHRoaXMuY29sb3JUYWJbaSsrXSYyNTUpO3ZhciBkZz1nLSh0aGlzLmNvbG9yVGFiW2krK10mMjU1KTt2YXIgZGI9Yi0odGhpcy5jb2xvclRhYltpKytdJjI1NSk7dmFyIGQ9ZHIqZHIrZGcqZGcrZGIqZGI7aWYoKCF1c2VkfHx0aGlzLnVzZWRFbnRyeVtpbmRleF0pJiZkPGRtaW4pe2RtaW49ZDttaW5wb3M9aW5kZXh9fXJldHVybiBtaW5wb3N9O0dJRkVuY29kZXIucHJvdG90eXBlLmdldEltYWdlUGl4ZWxzPWZ1bmN0aW9uKCl7dmFyIHc9dGhpcy53aWR0aDt2YXIgaD10aGlzLmhlaWdodDt0aGlzLnBpeGVscz1uZXcgVWludDhBcnJheSh3KmgqMyk7dmFyIGRhdGE9dGhpcy5pbWFnZTt2YXIgc3JjUG9zPTA7dmFyIGNvdW50PTA7Zm9yKHZhciBpPTA7aTxoO2krKyl7Zm9yKHZhciBqPTA7ajx3O2orKyl7dGhpcy5waXhlbHNbY291bnQrK109ZGF0YVtzcmNQb3MrK107dGhpcy5waXhlbHNbY291bnQrK109ZGF0YVtzcmNQb3MrK107dGhpcy5waXhlbHNbY291bnQrK109ZGF0YVtzcmNQb3MrK107c3JjUG9zKyt9fX07R0lGRW5jb2Rlci5wcm90b3R5cGUud3JpdGVHcmFwaGljQ3RybEV4dD1mdW5jdGlvbigpe3RoaXMub3V0LndyaXRlQnl0ZSgzMyk7dGhpcy5vdXQud3JpdGVCeXRlKDI0OSk7dGhpcy5vdXQud3JpdGVCeXRlKDQpO3ZhciB0cmFuc3AsZGlzcDtpZih0aGlzLnRyYW5zcGFyZW50PT09bnVsbCl7dHJhbnNwPTA7ZGlzcD0wfWVsc2V7dHJhbnNwPTE7ZGlzcD0yfWlmKHRoaXMuZGlzcG9zZT49MCl7ZGlzcD1kaXNwb3NlJjd9ZGlzcDw8PTI7dGhpcy5vdXQud3JpdGVCeXRlKDB8ZGlzcHwwfHRyYW5zcCk7dGhpcy53cml0ZVNob3J0KHRoaXMuZGVsYXkpO3RoaXMub3V0LndyaXRlQnl0ZSh0aGlzLnRyYW5zSW5kZXgpO3RoaXMub3V0LndyaXRlQnl0ZSgwKX07R0lGRW5jb2Rlci5wcm90b3R5cGUud3JpdGVJbWFnZURlc2M9ZnVuY3Rpb24oKXt0aGlzLm91dC53cml0ZUJ5dGUoNDQpO3RoaXMud3JpdGVTaG9ydCgwKTt0aGlzLndyaXRlU2hvcnQoMCk7dGhpcy53cml0ZVNob3J0KHRoaXMud2lkdGgpO3RoaXMud3JpdGVTaG9ydCh0aGlzLmhlaWdodCk7aWYodGhpcy5maXJzdEZyYW1lfHx0aGlzLmdsb2JhbFBhbGV0dGUpe3RoaXMub3V0LndyaXRlQnl0ZSgwKX1lbHNle3RoaXMub3V0LndyaXRlQnl0ZSgxMjh8MHwwfDB8dGhpcy5wYWxTaXplKX19O0dJRkVuY29kZXIucHJvdG90eXBlLndyaXRlTFNEPWZ1bmN0aW9uKCl7dGhpcy53cml0ZVNob3J0KHRoaXMud2lkdGgpO3RoaXMud3JpdGVTaG9ydCh0aGlzLmhlaWdodCk7dGhpcy5vdXQud3JpdGVCeXRlKDEyOHwxMTJ8MHx0aGlzLnBhbFNpemUpO3RoaXMub3V0LndyaXRlQnl0ZSgwKTt0aGlzLm91dC53cml0ZUJ5dGUoMCl9O0dJRkVuY29kZXIucHJvdG90eXBlLndyaXRlTmV0c2NhcGVFeHQ9ZnVuY3Rpb24oKXt0aGlzLm91dC53cml0ZUJ5dGUoMzMpO3RoaXMub3V0LndyaXRlQnl0ZSgyNTUpO3RoaXMub3V0LndyaXRlQnl0ZSgxMSk7dGhpcy5vdXQud3JpdGVVVEZCeXRlcygiTkVUU0NBUEUyLjAiKTt0aGlzLm91dC53cml0ZUJ5dGUoMyk7dGhpcy5vdXQud3JpdGVCeXRlKDEpO3RoaXMud3JpdGVTaG9ydCh0aGlzLnJlcGVhdCk7dGhpcy5vdXQud3JpdGVCeXRlKDApfTtHSUZFbmNvZGVyLnByb3RvdHlwZS53cml0ZVBhbGV0dGU9ZnVuY3Rpb24oKXt0aGlzLm91dC53cml0ZUJ5dGVzKHRoaXMuY29sb3JUYWIpO3ZhciBuPTMqMjU2LXRoaXMuY29sb3JUYWIubGVuZ3RoO2Zvcih2YXIgaT0wO2k8bjtpKyspdGhpcy5vdXQud3JpdGVCeXRlKDApfTtHSUZFbmNvZGVyLnByb3RvdHlwZS53cml0ZVNob3J0PWZ1bmN0aW9uKHBWYWx1ZSl7dGhpcy5vdXQud3JpdGVCeXRlKHBWYWx1ZSYyNTUpO3RoaXMub3V0LndyaXRlQnl0ZShwVmFsdWU+PjgmMjU1KX07R0lGRW5jb2Rlci5wcm90b3R5cGUud3JpdGVQaXhlbHM9ZnVuY3Rpb24oKXt2YXIgZW5jPW5ldyBMWldFbmNvZGVyKHRoaXMud2lkdGgsdGhpcy5oZWlnaHQsdGhpcy5pbmRleGVkUGl4ZWxzLHRoaXMuY29sb3JEZXB0aCk7ZW5jLmVuY29kZSh0aGlzLm91dCl9O0dJRkVuY29kZXIucHJvdG90eXBlLnN0cmVhbT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm91dH07bW9kdWxlLmV4cG9ydHM9R0lGRW5jb2Rlcn0seyIuL0xaV0VuY29kZXIuanMiOjIsIi4vVHlwZWROZXVRdWFudC5qcyI6M31dLDI6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBFT0Y9LTE7dmFyIEJJVFM9MTI7dmFyIEhTSVpFPTUwMDM7dmFyIG1hc2tzPVswLDEsMyw3LDE1LDMxLDYzLDEyNywyNTUsNTExLDEwMjMsMjA0Nyw0MDk1LDgxOTEsMTYzODMsMzI3NjcsNjU1MzVdO2Z1bmN0aW9uIExaV0VuY29kZXIod2lkdGgsaGVpZ2h0LHBpeGVscyxjb2xvckRlcHRoKXt2YXIgaW5pdENvZGVTaXplPU1hdGgubWF4KDIsY29sb3JEZXB0aCk7dmFyIGFjY3VtPW5ldyBVaW50OEFycmF5KDI1Nik7dmFyIGh0YWI9bmV3IEludDMyQXJyYXkoSFNJWkUpO3ZhciBjb2RldGFiPW5ldyBJbnQzMkFycmF5KEhTSVpFKTt2YXIgY3VyX2FjY3VtLGN1cl9iaXRzPTA7dmFyIGFfY291bnQ7dmFyIGZyZWVfZW50PTA7dmFyIG1heGNvZGU7dmFyIGNsZWFyX2ZsZz1mYWxzZTt2YXIgZ19pbml0X2JpdHMsQ2xlYXJDb2RlLEVPRkNvZGU7ZnVuY3Rpb24gY2hhcl9vdXQoYyxvdXRzKXthY2N1bVthX2NvdW50KytdPWM7aWYoYV9jb3VudD49MjU0KWZsdXNoX2NoYXIob3V0cyl9ZnVuY3Rpb24gY2xfYmxvY2sob3V0cyl7Y2xfaGFzaChIU0laRSk7ZnJlZV9lbnQ9Q2xlYXJDb2RlKzI7Y2xlYXJfZmxnPXRydWU7b3V0cHV0KENsZWFyQ29kZSxvdXRzKX1mdW5jdGlvbiBjbF9oYXNoKGhzaXplKXtmb3IodmFyIGk9MDtpPGhzaXplOysraSlodGFiW2ldPS0xfWZ1bmN0aW9uIGNvbXByZXNzKGluaXRfYml0cyxvdXRzKXt2YXIgZmNvZGUsYyxpLGVudCxkaXNwLGhzaXplX3JlZyxoc2hpZnQ7Z19pbml0X2JpdHM9aW5pdF9iaXRzO2NsZWFyX2ZsZz1mYWxzZTtuX2JpdHM9Z19pbml0X2JpdHM7bWF4Y29kZT1NQVhDT0RFKG5fYml0cyk7Q2xlYXJDb2RlPTE8PGluaXRfYml0cy0xO0VPRkNvZGU9Q2xlYXJDb2RlKzE7ZnJlZV9lbnQ9Q2xlYXJDb2RlKzI7YV9jb3VudD0wO2VudD1uZXh0UGl4ZWwoKTtoc2hpZnQ9MDtmb3IoZmNvZGU9SFNJWkU7ZmNvZGU8NjU1MzY7ZmNvZGUqPTIpKytoc2hpZnQ7aHNoaWZ0PTgtaHNoaWZ0O2hzaXplX3JlZz1IU0laRTtjbF9oYXNoKGhzaXplX3JlZyk7b3V0cHV0KENsZWFyQ29kZSxvdXRzKTtvdXRlcl9sb29wOndoaWxlKChjPW5leHRQaXhlbCgpKSE9RU9GKXtmY29kZT0oYzw8QklUUykrZW50O2k9Yzw8aHNoaWZ0XmVudDtpZihodGFiW2ldPT09ZmNvZGUpe2VudD1jb2RldGFiW2ldO2NvbnRpbnVlfWVsc2UgaWYoaHRhYltpXT49MCl7ZGlzcD1oc2l6ZV9yZWctaTtpZihpPT09MClkaXNwPTE7ZG97aWYoKGktPWRpc3ApPDApaSs9aHNpemVfcmVnO2lmKGh0YWJbaV09PT1mY29kZSl7ZW50PWNvZGV0YWJbaV07Y29udGludWUgb3V0ZXJfbG9vcH19d2hpbGUoaHRhYltpXT49MCl9b3V0cHV0KGVudCxvdXRzKTtlbnQ9YztpZihmcmVlX2VudDwxPDxCSVRTKXtjb2RldGFiW2ldPWZyZWVfZW50Kys7aHRhYltpXT1mY29kZX1lbHNle2NsX2Jsb2NrKG91dHMpfX1vdXRwdXQoZW50LG91dHMpO291dHB1dChFT0ZDb2RlLG91dHMpfWZ1bmN0aW9uIGVuY29kZShvdXRzKXtvdXRzLndyaXRlQnl0ZShpbml0Q29kZVNpemUpO3JlbWFpbmluZz13aWR0aCpoZWlnaHQ7Y3VyUGl4ZWw9MDtjb21wcmVzcyhpbml0Q29kZVNpemUrMSxvdXRzKTtvdXRzLndyaXRlQnl0ZSgwKX1mdW5jdGlvbiBmbHVzaF9jaGFyKG91dHMpe2lmKGFfY291bnQ+MCl7b3V0cy53cml0ZUJ5dGUoYV9jb3VudCk7b3V0cy53cml0ZUJ5dGVzKGFjY3VtLDAsYV9jb3VudCk7YV9jb3VudD0wfX1mdW5jdGlvbiBNQVhDT0RFKG5fYml0cyl7cmV0dXJuKDE8PG5fYml0cyktMX1mdW5jdGlvbiBuZXh0UGl4ZWwoKXtpZihyZW1haW5pbmc9PT0wKXJldHVybiBFT0Y7LS1yZW1haW5pbmc7dmFyIHBpeD1waXhlbHNbY3VyUGl4ZWwrK107cmV0dXJuIHBpeCYyNTV9ZnVuY3Rpb24gb3V0cHV0KGNvZGUsb3V0cyl7Y3VyX2FjY3VtJj1tYXNrc1tjdXJfYml0c107aWYoY3VyX2JpdHM+MCljdXJfYWNjdW18PWNvZGU8PGN1cl9iaXRzO2Vsc2UgY3VyX2FjY3VtPWNvZGU7Y3VyX2JpdHMrPW5fYml0czt3aGlsZShjdXJfYml0cz49OCl7Y2hhcl9vdXQoY3VyX2FjY3VtJjI1NSxvdXRzKTtjdXJfYWNjdW0+Pj04O2N1cl9iaXRzLT04fWlmKGZyZWVfZW50Pm1heGNvZGV8fGNsZWFyX2ZsZyl7aWYoY2xlYXJfZmxnKXttYXhjb2RlPU1BWENPREUobl9iaXRzPWdfaW5pdF9iaXRzKTtjbGVhcl9mbGc9ZmFsc2V9ZWxzZXsrK25fYml0cztpZihuX2JpdHM9PUJJVFMpbWF4Y29kZT0xPDxCSVRTO2Vsc2UgbWF4Y29kZT1NQVhDT0RFKG5fYml0cyl9fWlmKGNvZGU9PUVPRkNvZGUpe3doaWxlKGN1cl9iaXRzPjApe2NoYXJfb3V0KGN1cl9hY2N1bSYyNTUsb3V0cyk7Y3VyX2FjY3VtPj49ODtjdXJfYml0cy09OH1mbHVzaF9jaGFyKG91dHMpfX10aGlzLmVuY29kZT1lbmNvZGV9bW9kdWxlLmV4cG9ydHM9TFpXRW5jb2Rlcn0se31dLDM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBuY3ljbGVzPTEwMDt2YXIgbmV0c2l6ZT0yNTY7dmFyIG1heG5ldHBvcz1uZXRzaXplLTE7dmFyIG5ldGJpYXNzaGlmdD00O3ZhciBpbnRiaWFzc2hpZnQ9MTY7dmFyIGludGJpYXM9MTw8aW50Ymlhc3NoaWZ0O3ZhciBnYW1tYXNoaWZ0PTEwO3ZhciBnYW1tYT0xPDxnYW1tYXNoaWZ0O3ZhciBiZXRhc2hpZnQ9MTA7dmFyIGJldGE9aW50Ymlhcz4+YmV0YXNoaWZ0O3ZhciBiZXRhZ2FtbWE9aW50Ymlhczw8Z2FtbWFzaGlmdC1iZXRhc2hpZnQ7dmFyIGluaXRyYWQ9bmV0c2l6ZT4+Mzt2YXIgcmFkaXVzYmlhc3NoaWZ0PTY7dmFyIHJhZGl1c2JpYXM9MTw8cmFkaXVzYmlhc3NoaWZ0O3ZhciBpbml0cmFkaXVzPWluaXRyYWQqcmFkaXVzYmlhczt2YXIgcmFkaXVzZGVjPTMwO3ZhciBhbHBoYWJpYXNzaGlmdD0xMDt2YXIgaW5pdGFscGhhPTE8PGFscGhhYmlhc3NoaWZ0O3ZhciBhbHBoYWRlYzt2YXIgcmFkYmlhc3NoaWZ0PTg7dmFyIHJhZGJpYXM9MTw8cmFkYmlhc3NoaWZ0O3ZhciBhbHBoYXJhZGJzaGlmdD1hbHBoYWJpYXNzaGlmdCtyYWRiaWFzc2hpZnQ7dmFyIGFscGhhcmFkYmlhcz0xPDxhbHBoYXJhZGJzaGlmdDt2YXIgcHJpbWUxPTQ5OTt2YXIgcHJpbWUyPTQ5MTt2YXIgcHJpbWUzPTQ4Nzt2YXIgcHJpbWU0PTUwMzt2YXIgbWlucGljdHVyZWJ5dGVzPTMqcHJpbWU0O2Z1bmN0aW9uIE5ldVF1YW50KHBpeGVscyxzYW1wbGVmYWMpe3ZhciBuZXR3b3JrO3ZhciBuZXRpbmRleDt2YXIgYmlhczt2YXIgZnJlcTt2YXIgcmFkcG93ZXI7ZnVuY3Rpb24gaW5pdCgpe25ldHdvcms9W107bmV0aW5kZXg9bmV3IEludDMyQXJyYXkoMjU2KTtiaWFzPW5ldyBJbnQzMkFycmF5KG5ldHNpemUpO2ZyZXE9bmV3IEludDMyQXJyYXkobmV0c2l6ZSk7cmFkcG93ZXI9bmV3IEludDMyQXJyYXkobmV0c2l6ZT4+Myk7dmFyIGksdjtmb3IoaT0wO2k8bmV0c2l6ZTtpKyspe3Y9KGk8PG5ldGJpYXNzaGlmdCs4KS9uZXRzaXplO25ldHdvcmtbaV09bmV3IEZsb2F0NjRBcnJheShbdix2LHYsMF0pO2ZyZXFbaV09aW50Ymlhcy9uZXRzaXplO2JpYXNbaV09MH19ZnVuY3Rpb24gdW5iaWFzbmV0KCl7Zm9yKHZhciBpPTA7aTxuZXRzaXplO2krKyl7bmV0d29ya1tpXVswXT4+PW5ldGJpYXNzaGlmdDtuZXR3b3JrW2ldWzFdPj49bmV0Ymlhc3NoaWZ0O25ldHdvcmtbaV1bMl0+Pj1uZXRiaWFzc2hpZnQ7bmV0d29ya1tpXVszXT1pfX1mdW5jdGlvbiBhbHRlcnNpbmdsZShhbHBoYSxpLGIsZyxyKXtuZXR3b3JrW2ldWzBdLT1hbHBoYSoobmV0d29ya1tpXVswXS1iKS9pbml0YWxwaGE7bmV0d29ya1tpXVsxXS09YWxwaGEqKG5ldHdvcmtbaV1bMV0tZykvaW5pdGFscGhhO25ldHdvcmtbaV1bMl0tPWFscGhhKihuZXR3b3JrW2ldWzJdLXIpL2luaXRhbHBoYX1mdW5jdGlvbiBhbHRlcm5laWdoKHJhZGl1cyxpLGIsZyxyKXt2YXIgbG89TWF0aC5hYnMoaS1yYWRpdXMpO3ZhciBoaT1NYXRoLm1pbihpK3JhZGl1cyxuZXRzaXplKTt2YXIgaj1pKzE7dmFyIGs9aS0xO3ZhciBtPTE7dmFyIHAsYTt3aGlsZShqPGhpfHxrPmxvKXthPXJhZHBvd2VyW20rK107aWYoajxoaSl7cD1uZXR3b3JrW2orK107cFswXS09YSoocFswXS1iKS9hbHBoYXJhZGJpYXM7cFsxXS09YSoocFsxXS1nKS9hbHBoYXJhZGJpYXM7cFsyXS09YSoocFsyXS1yKS9hbHBoYXJhZGJpYXN9aWYoaz5sbyl7cD1uZXR3b3JrW2stLV07cFswXS09YSoocFswXS1iKS9hbHBoYXJhZGJpYXM7cFsxXS09YSoocFsxXS1nKS9hbHBoYXJhZGJpYXM7cFsyXS09YSoocFsyXS1yKS9hbHBoYXJhZGJpYXN9fX1mdW5jdGlvbiBjb250ZXN0KGIsZyxyKXt2YXIgYmVzdGQ9figxPDwzMSk7dmFyIGJlc3RiaWFzZD1iZXN0ZDt2YXIgYmVzdHBvcz0tMTt2YXIgYmVzdGJpYXNwb3M9YmVzdHBvczt2YXIgaSxuLGRpc3QsYmlhc2Rpc3QsYmV0YWZyZXE7Zm9yKGk9MDtpPG5ldHNpemU7aSsrKXtuPW5ldHdvcmtbaV07ZGlzdD1NYXRoLmFicyhuWzBdLWIpK01hdGguYWJzKG5bMV0tZykrTWF0aC5hYnMoblsyXS1yKTtpZihkaXN0PGJlc3RkKXtiZXN0ZD1kaXN0O2Jlc3Rwb3M9aX1iaWFzZGlzdD1kaXN0LShiaWFzW2ldPj5pbnRiaWFzc2hpZnQtbmV0Ymlhc3NoaWZ0KTtpZihiaWFzZGlzdDxiZXN0Ymlhc2Qpe2Jlc3RiaWFzZD1iaWFzZGlzdDtiZXN0Ymlhc3Bvcz1pfWJldGFmcmVxPWZyZXFbaV0+PmJldGFzaGlmdDtmcmVxW2ldLT1iZXRhZnJlcTtiaWFzW2ldKz1iZXRhZnJlcTw8Z2FtbWFzaGlmdH1mcmVxW2Jlc3Rwb3NdKz1iZXRhO2JpYXNbYmVzdHBvc10tPWJldGFnYW1tYTtyZXR1cm4gYmVzdGJpYXNwb3N9ZnVuY3Rpb24gaW54YnVpbGQoKXt2YXIgaSxqLHAscSxzbWFsbHBvcyxzbWFsbHZhbCxwcmV2aW91c2NvbD0wLHN0YXJ0cG9zPTA7Zm9yKGk9MDtpPG5ldHNpemU7aSsrKXtwPW5ldHdvcmtbaV07c21hbGxwb3M9aTtzbWFsbHZhbD1wWzFdO2ZvcihqPWkrMTtqPG5ldHNpemU7aisrKXtxPW5ldHdvcmtbal07aWYocVsxXTxzbWFsbHZhbCl7c21hbGxwb3M9ajtzbWFsbHZhbD1xWzFdfX1xPW5ldHdvcmtbc21hbGxwb3NdO2lmKGkhPXNtYWxscG9zKXtqPXFbMF07cVswXT1wWzBdO3BbMF09ajtqPXFbMV07cVsxXT1wWzFdO3BbMV09ajtqPXFbMl07cVsyXT1wWzJdO3BbMl09ajtqPXFbM107cVszXT1wWzNdO3BbM109an1pZihzbWFsbHZhbCE9cHJldmlvdXNjb2wpe25ldGluZGV4W3ByZXZpb3VzY29sXT1zdGFydHBvcytpPj4xO2ZvcihqPXByZXZpb3VzY29sKzE7ajxzbWFsbHZhbDtqKyspbmV0aW5kZXhbal09aTtwcmV2aW91c2NvbD1zbWFsbHZhbDtzdGFydHBvcz1pfX1uZXRpbmRleFtwcmV2aW91c2NvbF09c3RhcnRwb3MrbWF4bmV0cG9zPj4xO2ZvcihqPXByZXZpb3VzY29sKzE7ajwyNTY7aisrKW5ldGluZGV4W2pdPW1heG5ldHBvc31mdW5jdGlvbiBpbnhzZWFyY2goYixnLHIpe3ZhciBhLHAsZGlzdDt2YXIgYmVzdGQ9MWUzO3ZhciBiZXN0PS0xO3ZhciBpPW5ldGluZGV4W2ddO3ZhciBqPWktMTt3aGlsZShpPG5ldHNpemV8fGo+PTApe2lmKGk8bmV0c2l6ZSl7cD1uZXR3b3JrW2ldO2Rpc3Q9cFsxXS1nO2lmKGRpc3Q+PWJlc3RkKWk9bmV0c2l6ZTtlbHNle2krKztpZihkaXN0PDApZGlzdD0tZGlzdDthPXBbMF0tYjtpZihhPDApYT0tYTtkaXN0Kz1hO2lmKGRpc3Q8YmVzdGQpe2E9cFsyXS1yO2lmKGE8MClhPS1hO2Rpc3QrPWE7aWYoZGlzdDxiZXN0ZCl7YmVzdGQ9ZGlzdDtiZXN0PXBbM119fX19aWYoaj49MCl7cD1uZXR3b3JrW2pdO2Rpc3Q9Zy1wWzFdO2lmKGRpc3Q+PWJlc3RkKWo9LTE7ZWxzZXtqLS07aWYoZGlzdDwwKWRpc3Q9LWRpc3Q7YT1wWzBdLWI7aWYoYTwwKWE9LWE7ZGlzdCs9YTtpZihkaXN0PGJlc3RkKXthPXBbMl0tcjtpZihhPDApYT0tYTtkaXN0Kz1hO2lmKGRpc3Q8YmVzdGQpe2Jlc3RkPWRpc3Q7YmVzdD1wWzNdfX19fX1yZXR1cm4gYmVzdH1mdW5jdGlvbiBsZWFybigpe3ZhciBpO3ZhciBsZW5ndGhjb3VudD1waXhlbHMubGVuZ3RoO3ZhciBhbHBoYWRlYz0zMCsoc2FtcGxlZmFjLTEpLzM7dmFyIHNhbXBsZXBpeGVscz1sZW5ndGhjb3VudC8oMypzYW1wbGVmYWMpO3ZhciBkZWx0YT1+fihzYW1wbGVwaXhlbHMvbmN5Y2xlcyk7dmFyIGFscGhhPWluaXRhbHBoYTt2YXIgcmFkaXVzPWluaXRyYWRpdXM7dmFyIHJhZD1yYWRpdXM+PnJhZGl1c2JpYXNzaGlmdDtpZihyYWQ8PTEpcmFkPTA7Zm9yKGk9MDtpPHJhZDtpKyspcmFkcG93ZXJbaV09YWxwaGEqKChyYWQqcmFkLWkqaSkqcmFkYmlhcy8ocmFkKnJhZCkpO3ZhciBzdGVwO2lmKGxlbmd0aGNvdW50PG1pbnBpY3R1cmVieXRlcyl7c2FtcGxlZmFjPTE7c3RlcD0zfWVsc2UgaWYobGVuZ3RoY291bnQlcHJpbWUxIT09MCl7c3RlcD0zKnByaW1lMX1lbHNlIGlmKGxlbmd0aGNvdW50JXByaW1lMiE9PTApe3N0ZXA9MypwcmltZTJ9ZWxzZSBpZihsZW5ndGhjb3VudCVwcmltZTMhPT0wKXtzdGVwPTMqcHJpbWUzfWVsc2V7c3RlcD0zKnByaW1lNH12YXIgYixnLHIsajt2YXIgcGl4PTA7aT0wO3doaWxlKGk8c2FtcGxlcGl4ZWxzKXtiPShwaXhlbHNbcGl4XSYyNTUpPDxuZXRiaWFzc2hpZnQ7Zz0ocGl4ZWxzW3BpeCsxXSYyNTUpPDxuZXRiaWFzc2hpZnQ7cj0ocGl4ZWxzW3BpeCsyXSYyNTUpPDxuZXRiaWFzc2hpZnQ7aj1jb250ZXN0KGIsZyxyKTthbHRlcnNpbmdsZShhbHBoYSxqLGIsZyxyKTtpZihyYWQhPT0wKWFsdGVybmVpZ2gocmFkLGosYixnLHIpO3BpeCs9c3RlcDtpZihwaXg+PWxlbmd0aGNvdW50KXBpeC09bGVuZ3RoY291bnQ7aSsrO2lmKGRlbHRhPT09MClkZWx0YT0xO2lmKGklZGVsdGE9PT0wKXthbHBoYS09YWxwaGEvYWxwaGFkZWM7cmFkaXVzLT1yYWRpdXMvcmFkaXVzZGVjO3JhZD1yYWRpdXM+PnJhZGl1c2JpYXNzaGlmdDtpZihyYWQ8PTEpcmFkPTA7Zm9yKGo9MDtqPHJhZDtqKyspcmFkcG93ZXJbal09YWxwaGEqKChyYWQqcmFkLWoqaikqcmFkYmlhcy8ocmFkKnJhZCkpfX19ZnVuY3Rpb24gYnVpbGRDb2xvcm1hcCgpe2luaXQoKTtsZWFybigpO3VuYmlhc25ldCgpO2lueGJ1aWxkKCl9dGhpcy5idWlsZENvbG9ybWFwPWJ1aWxkQ29sb3JtYXA7ZnVuY3Rpb24gZ2V0Q29sb3JtYXAoKXt2YXIgbWFwPVtdO3ZhciBpbmRleD1bXTtmb3IodmFyIGk9MDtpPG5ldHNpemU7aSsrKWluZGV4W25ldHdvcmtbaV1bM11dPWk7dmFyIGs9MDtmb3IodmFyIGw9MDtsPG5ldHNpemU7bCsrKXt2YXIgaj1pbmRleFtsXTttYXBbaysrXT1uZXR3b3JrW2pdWzBdO21hcFtrKytdPW5ldHdvcmtbal1bMV07bWFwW2srK109bmV0d29ya1tqXVsyXX1yZXR1cm4gbWFwfXRoaXMuZ2V0Q29sb3JtYXA9Z2V0Q29sb3JtYXA7dGhpcy5sb29rdXBSR0I9aW54c2VhcmNofW1vZHVsZS5leHBvcnRzPU5ldVF1YW50fSx7fV0sNDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIEdJRkVuY29kZXIscmVuZGVyRnJhbWU7R0lGRW5jb2Rlcj1yZXF1aXJlKCIuL0dJRkVuY29kZXIuanMiKTtyZW5kZXJGcmFtZT1mdW5jdGlvbihmcmFtZSl7dmFyIGVuY29kZXIscGFnZSxzdHJlYW0sdHJhbnNmZXI7ZW5jb2Rlcj1uZXcgR0lGRW5jb2RlcihmcmFtZS53aWR0aCxmcmFtZS5oZWlnaHQpO2lmKGZyYW1lLmluZGV4PT09MCl7ZW5jb2Rlci53cml0ZUhlYWRlcigpfWVsc2V7ZW5jb2Rlci5maXJzdEZyYW1lPWZhbHNlfWVuY29kZXIuc2V0VHJhbnNwYXJlbnQoZnJhbWUudHJhbnNwYXJlbnQpO2VuY29kZXIuc2V0UmVwZWF0KGZyYW1lLnJlcGVhdCk7ZW5jb2Rlci5zZXREZWxheShmcmFtZS5kZWxheSk7ZW5jb2Rlci5zZXRRdWFsaXR5KGZyYW1lLnF1YWxpdHkpO2VuY29kZXIuc2V0RGl0aGVyKGZyYW1lLmRpdGhlcik7ZW5jb2Rlci5zZXRHbG9iYWxQYWxldHRlKGZyYW1lLmdsb2JhbFBhbGV0dGUpO2VuY29kZXIuYWRkRnJhbWUoZnJhbWUuZGF0YSk7aWYoZnJhbWUubGFzdCl7ZW5jb2Rlci5maW5pc2goKX1pZihmcmFtZS5nbG9iYWxQYWxldHRlPT09dHJ1ZSl7ZnJhbWUuZ2xvYmFsUGFsZXR0ZT1lbmNvZGVyLmdldEdsb2JhbFBhbGV0dGUoKX1zdHJlYW09ZW5jb2Rlci5zdHJlYW0oKTtmcmFtZS5kYXRhPXN0cmVhbS5wYWdlcztmcmFtZS5jdXJzb3I9c3RyZWFtLmN1cnNvcjtmcmFtZS5wYWdlU2l6ZT1zdHJlYW0uY29uc3RydWN0b3IucGFnZVNpemU7aWYoZnJhbWUuY2FuVHJhbnNmZXIpe3RyYW5zZmVyPWZ1bmN0aW9uKCl7dmFyIGksbGVuLHJlZixyZXN1bHRzO3JlZj1mcmFtZS5kYXRhO3Jlc3VsdHM9W107Zm9yKGk9MCxsZW49cmVmLmxlbmd0aDtpPGxlbjtpKyspe3BhZ2U9cmVmW2ldO3Jlc3VsdHMucHVzaChwYWdlLmJ1ZmZlcil9cmV0dXJuIHJlc3VsdHN9KCk7cmV0dXJuIHNlbGYucG9zdE1lc3NhZ2UoZnJhbWUsdHJhbnNmZXIpfWVsc2V7cmV0dXJuIHNlbGYucG9zdE1lc3NhZ2UoZnJhbWUpfX07c2VsZi5vbm1lc3NhZ2U9ZnVuY3Rpb24oZXZlbnQpe3JldHVybiByZW5kZXJGcmFtZShldmVudC5kYXRhKX19LHsiLi9HSUZFbmNvZGVyLmpzIjoxfV19LHt9LFs0XSk7Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPWdpZi53b3JrZXIuanMubWFwCg==",self.location).href});for(const i of this.frames)r.addFrame(i,{delay:this._frameDelay});r.on("finished",i=>{t(i)}),r.on("error",i=>{console.error("[GifRecorder] GIF 合成失败:",i),a(i)}),r.render()})}download(t,a="ORM-Record"){const r=`${a}.gif`,i=URL.createObjectURL(t),l=document.createElement("a");l.href=i,l.download=r,l.style.display="none",document.body.appendChild(l),l.click(),setTimeout(()=>{document.body.removeChild(l),URL.revokeObjectURL(i)},100)}async saveAsFile(t){const r=`weather-animation-${new Date().toISOString().replace(/[:.]/g,"-").slice(0,19)}.gif`;if(window.showSaveFilePicker)try{const l=await(await window.showSaveFilePicker({suggestedName:r,types:[{description:"GIF Images",accept:{"image/gif":[".gif"]}}]})).createWritable();await l.write(t),await l.close(),console.log("文件保存成功");return}catch(i){console.log("用户取消了文件保存或发生错误:",i)}}reset(){this.frames=[],this.captureRect=null,this._isRecording=!1,this.canvas=null,this.ctx=null}get isRecording(){return this._isRecording}get frameDelay(){return this._frameDelay}}const Ay="",tf={name:"IdmCapture",props:{isPlaying:{type:Boolean,default:!1},enabled:{type:Boolean,default:!1},frequency:{type:Number,default:1e3},currentTimestamp:{type:Number,default:void 0},token:{type:String,default:""}},emits:["closeRecord","preview"],data(){return{recorder:null,actionStatus:0,startX:0,startY:0,selection:{x:0,y:0,width:0,height:0},frameCount:0,blob:null,gifUrl:""}},computed:{selectionStyle(){return{left:`${this.selection.x}px`,top:`${this.selection.y}px`,width:`${this.selection.width}px`,height:`${this.selection.height}px`}},computedUTCTime(){return e=>v(e).utc().format("yyyy-MM-DD HH:mm[Z]")}},watch:{isPlaying:{handler(e){}},enabled:{handler(e){e?this.actionStatus=1:this.actionStatus=5}},actionStatus:{handler(e){this.actionStatus===4&&this.startRecord(),this.actionStatus===5&&this.recorder&&this.createGif(),this.actionStatus===6&&this.handleUpload(this.blob),this.actionStatus===7&&this.$emit("preview",this.gifUrl)}}},async mounted(){},methods:{handleMouseDown(e){this.actionStatus>=2&&e.clientX>=this.selection.x&&e.clientX<=this.selection.x+this.selection.width&&e.clientY>=this.selection.y&&e.clientY<=this.selection.y+this.selection.height||(this.actionStatus=2,this.startX=e.clientX,this.startY=e.clientY,this.selection={x:e.clientX,y:e.clientY,width:0,height:0})},handleMouseMove(e){if(this.actionStatus===3)return;const t=e.clientX,a=e.clientY;this.selection={x:Math.min(this.startX,t),y:Math.min(this.startY,a),width:Math.abs(t-this.startX),height:Math.abs(a-this.startY)}},handleMouseUp(){var e,t;((e=this.selection)==null?void 0:e.width)>20&&((t=this.selection)==null?void 0:t.height)>20?this.actionStatus=3:this.actionStatus=1},handleConfirm(){this.actionStatus=4},handleCancel(){this.actionStatus=1,this.recorder=null,this.selection={x:0,y:0,width:0,height:0}},startRecord(){var e,t,a;this.frameCount=0,this.recorder=new ef,(e=this.recorder)==null||e.setArea(this.selection),(t=this.recorder)==null||t.setFrameDelay(this.frequency),(a=this.recorder)==null||a.startRecording(),console.log("[BottomBar] 录制准备就绪")},async captureCurrentFrame(){var e,t,a;if(!(!this.recorder||this.actionStatus!==4)){console.log("[BottomBar] 开始截第"+(this.frameCount+1)+"帧截图");try{const r=(e=document.getElementsByClassName("gif-container"))==null?void 0:e[0];r&&(await((t=this.recorder)==null?void 0:t.captureFrame(r,this.computedUTCTime(this.currentTimestamp))),this.frameCount=(a=this.recorder)==null?void 0:a.getFrameCount(),console.log("[BottomBar] 截图总帧数:",this.frameCount))}catch(r){console.error("[BottomBar] 截图失败:",r)}}},async createGif(){console.log("[BottomBar] 等待最后一帧截图完成..."),setTimeout(async()=>{var e,t;if(this.recorder){(e=this.recorder)==null||e.stopRecording(),console.log("[BottomBar] 停止录制,总帧数:",this.frameCount);try{this.blob=await((t=this.recorder)==null?void 0:t.generateGif()),console.log("[BottomBar] GIF生成完成:",this.blob),this.blob&&(this.actionStatus=6)}catch(a){console.error("[BottomBar] GIF生成失败:",a),this.clear()}}},2e3)},clear(){var e;this.actionStatus=0,this.frameCount=0,this.blob=null,this.gifUrl="",this.recorder&&((e=this.recorder)==null||e.reset(),this.recorder=null),this.$emit("closeRecord"),console.log("[BottomBar] 关闭录制功能,清空数据")},async handleUpload(e){var i;console.log("[BottomBar] 开始上传");const t={stream:e,ext:"gif"},a=await kr.AliOssSTSClient.create(this.token),r=await(a==null?void 0:a.put2HZ("/share",[t]));this.gifUrl=((i=r==null?void 0:r[0])==null?void 0:i.url)||"",console.log("[BottomBar] 上传成功"),this.actionStatus=7},handleDownload(){const t=`ORM-Record-${v().format("yyyyMMDD-HHmm")}.gif`;this.recorder.download(this.blob,t)}}},of={class:"capture-container"},af={key:0,class:"drag-tips text-h4"},rf={class:"size-hint mt-2 ml-2 text-body-2 px-2 py-1 rounded font-weight-bold bg-background"},lf={class:"size-hint mt-2 ml-2 text-body-2 px-2 py-1 rounded font-weight-bold bg-background"},nf={class:"text-body-2"},sf={key:0,class:"py-1 px-2 d-flex align-center justify-center ga-2"},cf={class:"text-body-2"},mf={key:1,class:"py-1 px-2 d-flex align-center justify-center ga-2"},df={class:"text-body-2"};function hf(e,t,a,r,i,l){const n=o.resolveComponent("VBtn");return o.openBlock(),o.createElementBlock("div",of,[i.actionStatus>0&&i.actionStatus<4?(o.openBlock(),o.createElementBlock("div",{key:0,class:"capture-selector",onMousedown:t[2]||(t[2]=(...c)=>l.handleMouseDown&&l.handleMouseDown(...c)),onMousemove:t[3]||(t[3]=(...c)=>l.handleMouseMove&&l.handleMouseMove(...c)),onMouseup:t[4]||(t[4]=(...c)=>l.handleMouseUp&&l.handleMouseUp(...c))},[i.actionStatus===1?(o.openBlock(),o.createElementBlock("div",af,o.toDisplayString(e.$t("tips.crossHairText")),1)):o.createCommentVNode("",!0),i.actionStatus>=2?(o.openBlock(),o.createElementBlock("div",{key:1,class:"selection-box",style:o.normalizeStyle(l.selectionStyle)},[o.createElementVNode("div",rf,o.toDisplayString(Math.round(i.selection.width))+" × "+o.toDisplayString(Math.round(i.selection.height)),1),i.actionStatus===3?(o.openBlock(),o.createElementBlock("div",{key:0,class:"action-buttons px-2 rounded font-weight-bold bg-background d-flex justify-end ga-4",onMousedown:t[0]||(t[0]=o.withModifiers(()=>{},["stop"])),onMouseup:t[1]||(t[1]=o.withModifiers(()=>{},["stop"]))},[o.createVNode(n,{icon:"mdi-check",density:"compact",variant:"plain",class:"text-none text-body-1",onClick:o.withModifiers(l.handleConfirm,["stop"])},null,8,["onClick"]),o.createVNode(n,{icon:"mdi-close",density:"compact",variant:"plain",class:"text-none text-body-1",onClick:o.withModifiers(l.handleCancel,["stop"])},null,8,["onClick"])],32)):o.createCommentVNode("",!0)],4)):o.createCommentVNode("",!0)],32)):o.createCommentVNode("",!0),i.actionStatus>=4&&i.actionStatus<=6?(o.openBlock(),o.createElementBlock("div",{key:1,class:o.normalizeClass(["capture-frame",{recording:i.actionStatus===5}]),style:o.normalizeStyle(l.selectionStyle)},[o.createElementVNode("div",lf,[o.createElementVNode("div",nf,o.toDisplayString(i.selection.width)+" × "+o.toDisplayString(i.selection.height),1)]),o.createElementVNode("div",{class:"action-status mt-2 px-2 rounded font-weight-bold bg-background d-flex align-center justify-end ga-4",onMousedown:t[5]||(t[5]=o.withModifiers(()=>{},["stop"])),onMouseup:t[6]||(t[6]=o.withModifiers(()=>{},["stop"]))},[i.actionStatus===4?(o.openBlock(),o.createElementBlock("div",sf,[t[7]||(t[7]=o.createElementVNode("div",{class:"dot bg-danger"},null,-1)),o.createElementVNode("div",cf,o.toDisplayString(e.$t("tips.recordingText")),1)])):o.createCommentVNode("",!0),i.actionStatus===5||i.actionStatus===6?(o.openBlock(),o.createElementBlock("div",mf,[t[8]||(t[8]=o.createElementVNode("div",{class:"dot bg-success"},null,-1)),o.createElementVNode("div",df,o.toDisplayString(e.$t("tips.savingText")),1)])):o.createCommentVNode("",!0)],32)],6)):o.createCommentVNode("",!0)])}const pf=X(tf,[["render",hf],["__scopeId","data-v-b2dd8527"]]),Fy="",gf={name:"IdmBottomBar",components:{DateTimePicker:qe,IdmCapture:pf},props:{menuToggle:{type:Object,default:{}},weatherCheckList:{type:Array}},emits:["forecastModel","realTime","timeZone"],data(){return{right:10,show:{weather:!1,spot:!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"),gifEnabled:!1}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var e;this.right=(((e=document.getElementsByClassName("right-bar")[0])==null?void 0:e.clientWidth)||0)+10})},immediate:!0},source:{handler(e,t){e&&e!==t&&(this.$emit("forecastModel",e),localStorage.setItem("forecastModelCacheGL4",e))},immediate:!0},step:{handler(e,t){if(!isNaN(e)&&!isNaN(t)&&e!==t){const a=e-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(e,t){e!==t&&(this.$emit("timeZone",this.timeZone),localStorage.setItem("idm-timeZone-gl4",this.timeZone),this.showTimezone=!1)},immediate:!0},show:{handler(){var e;Object.values(this.show).includes(!0)||(e=this.$refs.dateTimePicker)==null||e.handleCancelDate()},deep:!0},gifEnabled:{handler(e,t){e||this.handlePause()},immediate:!0}},mounted(){this.handleReset()},methods:{handleReset(){var e;this.handlePause(),this.startAnimate=0,(e=this.$refs.dateTimePicker)==null||e.handleReset()},changeDayAbout(e,t){this.dayAbout={h:e??-7,f:t??14}},handleToggle(e,t){this.show[e]=t},handleBackward(){this.handlePause(),this.step-=1},handleForward(){this.handlePause(),this.step+=1},handlePlay(){this.paused=!1,this.step=0,this.animateSpeeds()},async handlePause(){this.animation&&cancelAnimationFrame(this.animation),this.paused=!0},animateSpeeds(e){const t=e-this.startAnimate;this.step=Math.floor(t/this.frequency),this.animation=requestAnimationFrame(this.animateSpeeds)},handleClickFastWeather(e){this.$parent.$refs.idmWeatherLayers.handleFastWeatherToggle(e)},handleClickFastMore(){this.$parent.$refs.idmWeatherLayers.handleMenuToggle()}}},uf={class:"idm-bottom-bar-gl4"},ff={class:"date-box d-flex ga-2 mr-2"},yf={class:"play-btns-box d-flex justify-center align-center cursor-pointer ga-1"},bf={key:0,class:"iconfont icon-record"},wf={key:1,class:"iconfont icon-stop-record text-danger"},xf={class:"fast-weathers-box d-flex justify-center align-center ga-2 cursor-pointer"},kf={class:"model-box d-flex justify-center align-center ga-2 my-2"},_f={key:0,class:"list d-flex flex-wrap pa-2 rounded ga-2"},Lf=["onClick"],zf={class:"btn-box d-flex justify-start align-center rounded ga-2 py-1 px-3"},Cf={class:"text-body-1"};function vf(e,t,a,r,i,l){const n=o.resolveComponent("IdmCapture"),c=o.resolveComponent("DateTimePicker"),s=o.resolveComponent("VListItemTitle"),m=o.resolveComponent("VListItem"),d=o.resolveComponent("VList"),h=o.resolveComponent("VMenu"),u=o.resolveComponent("VBtn"),y=o.resolveComponent("VDivider"),g=o.resolveComponent("VTooltip");return o.openBlock(),o.createElementBlock("div",uf,[o.createVNode(n,o.mergeProps({ref:"capture",isPlaying:!i.paused,enabled:i.gifEnabled,frequency:i.frequency,currentTimestamp:i.currentTimestamp,onCloseRecord:t[0]||(t[0]=p=>{i.gifEnabled=!1,i.paused=!0})},e.$attrs),null,16,["isPlaying","enabled","frequency","currentTimestamp"]),o.createElementVNode("div",{class:"timeline-box px-2 d-flex justify-start align-center rounded",style:o.normalizeStyle({right:i.right+146+"px",bottom:Object.values(i.show).includes(!0)?"10px":"-100px"})},[o.createElementVNode("div",ff,[o.createVNode(c,o.mergeProps({ref:"dateTimePicker","date-time":i.currentDateTimeZ,"time-zone":i.timeZone,"day-about":i.dayAbout,"interval-hour":i.intervalHour,width:230},e.$attrs,{onCurrentTimestamp:t[1]||(t[1]=p=>i.currentTimestamp=p),onCurrentRealTime:t[2]||(t[2]=p=>i.currentRealTime=p),onMinTimestamp:t[3]||(t[3]=p=>i.minTimestamp=p),onMaxTimestamp:t[4]||(t[4]=p=>i.maxTimestamp=p)}),null,16,["date-time","time-zone","day-about","interval-hour"]),o.createVNode(u,{text:"",height:"30",class:"text-none elevation-0 btn-border-1 btn-bg-1 text-body-1","min-width":"30"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(i.intervalHour)+" h ",1),o.createVNode(h,{activator:"parent"},{default:o.withCtx(()=>[o.createVNode(d,{class:"pa-1"},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(i.intervalOptions,(p,f)=>(o.openBlock(),o.createBlock(m,{key:f,value:p,variant:i.intervalHour===p?"tonal":"text",color:"primary",rounded:"",active:i.intervalHour===p,height:"30","min-height":"30","min-width":"30",class:"pa-0 text-center text-body-1"},{default:o.withCtx(()=>[o.createVNode(s,{onClick:x=>i.intervalHour=p},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(p)+"h",1)]),_:2},1032,["onClick"])]),_:2},1032,["value","variant","active"]))),128))]),_:1})]),_:1})]),_:1})]),o.createVNode(y,{vertical:"",class:"mx-2 my-3",style:{height:"16px"}}),o.createElementVNode("div",yf,[o.createVNode(g,{text:e.$t("actions.record"),location:"top",interactive:!0,"open-on-click":!1},{activator:o.withCtx(({props:p})=>[o.createVNode(u,o.mergeProps(p,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:t[5]||(t[5]=f=>i.gifEnabled=!i.gifEnabled)}),{default:o.withCtx(()=>[i.gifEnabled?(o.openBlock(),o.createElementBlock("i",wf)):(o.openBlock(),o.createElementBlock("i",bf))]),_:2},1040)]),_:1},8,["text"]),o.createVNode(g,{text:e.$t("actions.reset"),location:"top",interactive:!0,"open-on-click":!1},{activator:o.withCtx(({props:p})=>[o.createVNode(u,o.mergeProps(p,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handleReset}),{default:o.withCtx(()=>t[12]||(t[12]=[o.createElementVNode("i",{class:"iconfont icon-Reset"},null,-1)])),_:2,__:[12]},1040,["onClick"])]),_:1},8,["text"]),o.createVNode(g,{text:e.$t("actions.backward"),location:"top",interactive:!0,"open-on-click":!1},{activator:o.withCtx(({props:p})=>[o.createVNode(u,o.mergeProps(p,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handleBackward}),{default:o.withCtx(()=>t[13]||(t[13]=[o.createElementVNode("i",{class:"iconfont icon-Backward"},null,-1)])),_:2,__:[13]},1040,["onClick"])]),_:1},8,["text"]),o.createVNode(g,{text:e.$t("actions.play"),location:"top",interactive:!0,"open-on-click":!1},{activator:o.withCtx(({props:p})=>[i.paused?(o.openBlock(),o.createBlock(u,o.mergeProps({key:0},p,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handlePlay}),{default:o.withCtx(()=>t[14]||(t[14]=[o.createElementVNode("i",{class:"iconfont icon-Play"},null,-1)])),_:2,__:[14]},1040,["onClick"])):o.createCommentVNode("",!0)]),_:1},8,["text"]),o.createVNode(g,{text:e.$t("actions.pause"),location:"top",interactive:!0,"open-on-click":!1},{activator:o.withCtx(({props:p})=>[i.paused?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(u,o.mergeProps({key:0},p,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handlePause}),{default:o.withCtx(()=>t[15]||(t[15]=[o.createElementVNode("i",{class:"iconfont icon-Pause"},null,-1)])),_:2,__:[15]},1040,["onClick"]))]),_:1},8,["text"]),o.createVNode(g,{text:e.$t("actions.forward"),location:"top",interactive:!0,"open-on-click":!1},{activator:o.withCtx(({props:p})=>[o.createVNode(u,o.mergeProps(p,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handleForward}),{default:o.withCtx(()=>t[16]||(t[16]=[o.createElementVNode("i",{class:"iconfont icon-Forward"},null,-1)])),_:2,__:[16]},1040,["onClick"])]),_:1},8,["text"])]),o.createVNode(y,{vertical:"",class:"mx-2 my-3",style:{height:"16px"}}),o.createElementVNode("div",xf,[o.createVNode(g,{text:e.$t("weather.windBarbs"),location:"top"},{activator:o.withCtx(({props:p})=>{var f,x;return[o.createVNode(u,o.mergeProps(p,{class:"pa-1 d-flex",color:(f=a.weatherCheckList)!=null&&f.includes("wind")?"primary":"",variant:(x=a.weatherCheckList)!=null&&x.includes("wind")?"elevated":"text",height:"24",width:"24","min-width":"24",onClick:t[6]||(t[6]=L=>l.handleClickFastWeather("wind"))}),{default:o.withCtx(()=>t[17]||(t[17]=[o.createElementVNode("i",{class:"iconfont icon-a-WindLevel"},null,-1)])),_:2,__:[17]},1040,["color","variant"])]}),_:1},8,["text"]),o.createVNode(g,{text:e.$t("weather.sigWaveHeight"),location:"top"},{activator:o.withCtx(({props:p})=>{var f,x;return[o.createVNode(u,o.mergeProps(p,{class:"pa-1 d-flex",color:(f=a.weatherCheckList)!=null&&f.includes("sig-wave-height")?"primary":"",variant:(x=a.weatherCheckList)!=null&&x.includes("sig-wave-height")?"elevated":"text",height:"24",width:"24","min-width":"24",onClick:t[7]||(t[7]=L=>l.handleClickFastWeather("sig-wave-height"))}),{default:o.withCtx(()=>[o.createElementVNode("i",o.mergeProps(p,{class:"iconfont icon-a-WaveHeight"}),null,16)]),_:2},1040,["color","variant"])]}),_:1},8,["text"]),o.createVNode(g,{text:e.$t("weather.currentDirection"),location:"top"},{activator:o.withCtx(({props:p})=>{var f,x;return[o.createVNode(u,o.mergeProps(p,{class:"pa-1 d-flex",color:(f=a.weatherCheckList)!=null&&f.includes("current-direction")?"primary":"",variant:(x=a.weatherCheckList)!=null&&x.includes("current-direction")?"elevated":"text",height:"24",width:"24","min-width":"24",onClick:t[8]||(t[8]=L=>l.handleClickFastWeather("current-direction"))}),{default:o.withCtx(()=>[o.createElementVNode("i",o.mergeProps(p,{class:"iconfont icon-Current"}),null,16)]),_:2},1040,["color","variant"])]}),_:1},8,["text"]),o.createVNode(g,{text:e.$t("weather.weatherLayers"),location:"top"},{activator:o.withCtx(({props:p})=>[o.createVNode(u,o.mergeProps(p,{class:"pa-1 d-flex",variant:"text",height:"24",width:"24","min-width":"24",onClick:l.handleClickFastMore}),{default:o.withCtx(()=>[o.createElementVNode("i",o.mergeProps(p,{class:"iconfont icon-dots-align"}),null,16)]),_:2},1040,["onClick"])]),_:1},8,["text"])]),o.createVNode(y,{vertical:"",class:"mx-2 mr-3 my-3",style:{height:"16px"}}),o.createElementVNode("div",kf,[o.createVNode(u,{text:"",height:"30",class:"px-2 elevation-0 text-body-1 btn-border-2 btn-bg-2",color:i.source==="GFS"?"primary":"",onClick:t[9]||(t[9]=p=>i.source="GFS")},{default:o.withCtx(()=>t[18]||(t[18]=[o.createTextVNode("NOAA",-1)])),_:1,__:[18]},8,["color"]),o.createVNode(u,{text:"",height:"30",class:"px-2 elevation-0 text-body-1 btn-border-2 btn-bg-2",color:i.source==="ECMWF"?"primary":"",onClick:t[10]||(t[10]=p=>i.source="ECMWF")},{default:o.withCtx(()=>t[19]||(t[19]=[o.createTextVNode("ECMWF",-1)])),_:1,__:[19]},8,["color"])])],4),o.createElementVNode("div",{class:"timezone-box d-flex flex-column justify-space-between align-end",style:o.normalizeStyle({right:i.right+"px"})},[i.showTimezone?(o.openBlock(),o.createElementBlock("div",_f,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(i.offsets,p=>(o.openBlock(),o.createElementBlock("div",{key:p,class:"item rounded text-body-2 hover-active",onClick:f=>i.timeZone=p},o.toDisplayString(p<0?p:"+"+p),9,Lf))),128))])):o.createCommentVNode("",!0),o.createElementVNode("div",zf,[o.createVNode(u,{text:"",variant:"flat",height:"28",class:"pa-1 text-body-1",color:"primary",onClick:t[11]||(t[11]=p=>i.showTimezone=!i.showTimezone)},{default:o.withCtx(()=>[o.createTextVNode(" UTC "+o.toDisplayString(i.timeZone<0?i.timeZone:"+"+i.timeZone),1)]),_:1}),o.createElementVNode("span",Cf,o.toDisplayString(i.currentRealTime),1)])],4)])}const Sf=X(gf,[["render",vf]]),Gy="",Nf={name:"IdmTimePlayer",components:{DateTimePicker:qe},props:{menuToggle:{type:Object,default:{}},weatherCheckList:{type:Array},playerBottom:{type:Number,default:30}},emits:["realTime","timeZone"],data(){return{right:10,show:{weather:!1,spot:!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: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(e,t){if(!isNaN(e)&&!isNaN(t)&&e!==t){const a=e-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(e,t){e!==t&&(this.$emit("timeZone",this.timeZone),this.showTimezone=!1)},immediate:!0},show:{handler(){var e;Object.values(this.show).includes(!0)||(e=this.$refs.dateTimePicker)==null||e.handleCancelDate()},deep:!0}},mounted(){this.handleReset()},methods:{handleReset(){var e;this.handlePause(),this.startAnimate=0,(e=this.$refs.dateTimePicker)==null||e.handleReset()},changeDayAbout(e,t){this.dayAbout={h:e??-7,f:t??14}},handleToggle(e,t){this.show[e]=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(e){const t=e-this.startAnimate;this.step=Math.floor(t/this.frequency),this.animation=requestAnimationFrame(this.animateSpeeds)}}},Pf={class:"w-100 timeline-box d-flex justify-space-around align-center rounded px-2"};function Mf(e,t,a,r,i,l){const n=o.resolveComponent("VBtn"),c=o.resolveComponent("DateTimePicker");return o.openBlock(),o.createElementBlock("div",{class:"idm-time-player-gl4 d-flex justify-center align-center",style:o.normalizeStyle({bottom:Object.values(i.show).includes(!0)?a.playerBottom+"px":"-100px"})},[o.createElementVNode("div",Pf,[o.createVNode(n,{size:"small",density:"compact",class:"px-1 bg-background btn-border-1",width:"30","min-width":"30",height:"30",onClick:l.handleReset},{default:o.withCtx(()=>t[4]||(t[4]=[o.createElementVNode("i",{class:"iconfont icon-Reset"},null,-1)])),_:1,__:[4]},8,["onClick"]),o.createVNode(n,{size:"small",density:"compact",class:"px-1 bg-background btn-border-1",width:"30","min-width":"30",height:"30",onClick:l.handleBackward},{default:o.withCtx(()=>t[5]||(t[5]=[o.createElementVNode("i",{class:"iconfont icon-Backward"},null,-1)])),_:1,__:[5]},8,["onClick"]),o.createVNode(c,o.mergeProps({ref:"dateTimePicker","date-time":i.currentDateTimeZ,"time-zone":i.timeZone,"day-about":i.dayAbout,"interval-hour":i.intervalHour,height:32},e.$attrs,{onCurrentTimestamp:t[0]||(t[0]=s=>i.currentTimestamp=s),onCurrentRealTime:t[1]||(t[1]=s=>i.currentRealTime=s),onMinTimestamp:t[2]||(t[2]=s=>i.minTimestamp=s),onMaxTimestamp:t[3]||(t[3]=s=>i.maxTimestamp=s)}),null,16,["date-time","time-zone","day-about","interval-hour"]),o.createVNode(n,{size:"small",density:"compact",class:"px-1 bg-background btn-border-1",width:"30","min-width":"30",height:"30",onClick:l.handleForward},{default:o.withCtx(()=>t[6]||(t[6]=[o.createElementVNode("i",{class:"iconfont icon-Forward"},null,-1)])),_:1,__:[6]},8,["onClick"]),i.paused?(o.openBlock(),o.createBlock(n,{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:o.withCtx(()=>t[7]||(t[7]=[o.createElementVNode("i",{class:"iconfont icon-Play"},null,-1)])),_:1,__:[7]},8,["onClick"])):(o.openBlock(),o.createBlock(n,{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:o.withCtx(()=>t[8]||(t[8]=[o.createElementVNode("i",{class:"iconfont icon-Pause"},null,-1)])),_:1,__:[8]},8,["onClick"]))])],4)}const na=X(Nf,[["render",Mf]]),Vf={name:"IdmGL4",components:{IdmOtherLayer:Vs,IdmWeatherLayer:km,IdmTropicals:Ho,IdmMeasure:fp,IdmSpot:hp,IdmMarker:Dg,IdmBottomBar:Sf,IdmTimePlayer:na},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,playerBottom:30,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 e=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=e||t;this.mapFeather==="nautical"?e?(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"?e?(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"),e&&(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:{}},Tf={ref:"mapHomeGl4",class:"map-gl4-home",id:"map-gl4-home"};function Df(e,t,a,r,i,l){const n=o.resolveComponent("IdmOtherLayer"),c=o.resolveComponent("IdmWeatherLayer"),s=o.resolveComponent("IdmTropicals"),m=o.resolveComponent("IdmSpot"),d=o.resolveComponent("IdmMeasure"),h=o.resolveComponent("IdmMarker"),u=o.resolveComponent("IdmBottomBar"),y=o.resolveComponent("IdmTimePlayer");return o.openBlock(),o.createElementBlock("div",Tf,[o.createVNode(n,o.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},e.$attrs,{onOtherCheckList:t[0]||(t[0]=g=>{i.otherCheckList=g,i.layerVersion=i.layerVersion+1})}),null,16,["simple","token","default-meteo-token","map","gateway","assist-gateway","forecast-model","map-feather"]),o.createVNode(c,o.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},e.$attrs,{onAutoActive:t[1]||(t[1]=g=>{i.autoActive=g,i.layerVersion=i.layerVersion+1}),onWeatherCheckList:t[2]||(t[2]=g=>{i.weatherCheckList=g,i.layerVersion=i.layerVersion+1})}),null,16,["simple","map","token","default-meteo-token","gateway","assist-gateway","forecast-model","map-feather"]),o.createVNode(s,o.mergeProps({ref:"idmTropicals",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},e.$attrs),null,16,["simple","map","token","default-meteo-token","tropicals","gateway","assist-gateway","forecast-model","map-feather"]),o.createVNode(m,o.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},e.$attrs),null,16,["simple","map","token","default-meteo-token","gateway","forecast-model","map-feather"]),o.createVNode(d,o.mergeProps({simple:a.simple,map:a.map,"map-feather":a.mapFeather},e.$attrs),null,16,["simple","map","map-feather"]),o.createVNode(h,o.mergeProps({simple:a.simple,map:a.map,"map-feather":a.mapFeather,gateway:i.gateway,"default-meteo-token":i.defaultMeteoToken,token:a.token},e.$attrs),null,16,["simple","map","map-feather","gateway","default-meteo-token","token"]),a.simple?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(u,o.mergeProps({key:0,ref:"idmBottomBar","forecast-model":a.forecastModel,"weather-check-list":i.weatherCheckList,"map-feather":a.mapFeather,gateway:i.gateway,"default-meteo-token":i.defaultMeteoToken,token:a.token},e.$attrs),null,16,["forecast-model","weather-check-list","map-feather","gateway","default-meteo-token","token"])),a.simple?(o.openBlock(),o.createBlock(y,o.mergeProps({key:1,ref:"idmBottomBar",playerBottom:i.playerBottom,bgClass:a.simple?"bg-background":"","weather-check-list":i.weatherCheckList,"map-feather":a.mapFeather,disabled:!0},e.$attrs),null,16,["playerBottom","bgClass","weather-check-list","map-feather"])):o.createCommentVNode("",!0)],512)}const Ya=X(Vf,[["render",Df]]),Wy="";class Ua{constructor(t="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNseTVudHJzYzAwNWUwbHBsZHkyaDRqczMiLCJyb2xlIjoxLCJuYW1lIjoiZmFrZUBvcm13eC5jb20iLCJwbGF0SWQiOiJnZDBtdDFkIiwiY29tcGFueSI6eyJpZCI6bnVsbCwiY2hpbGRyZW4iOltdfSwiaWF0IjoxNzIzMDI0MDI0LCJleHAiOjM5MzA1NDQwMjR9.RrKcdcMnq-FxBLJQ-i6lx2FscDE46y8EvHIemPW4HTg"){de(this,"originStyle");de(this,"mapboxStyle");de(this,"i4");de(this,"hi");de(this,"td");de(this,"windy");var a,r,i,l,n,c,s,m,d,h,u,y,g,p,f,x,L,w,b,C,_,z,S,N,T,R,G,H,Y,$,ae,P,F,W,U,I,B,O,M,q,re,he,ge,ee,se,pe,xe,Z,te,Ve,Ce,ye,ke,J,be,ie,ce,Se,De,Te,A,me,_e,Ne,Pe,j,ve,Q,We,Ze,Oe,Le,at,it,rt,lt,nt,st,ct,mt,dt,ht,pt,gt,ut,ft,yt,bt,wt,xt,kt,_t,Lt,zt,Ct,vt,St,Nt,Pt,Mt,Vt,Tt,Dt,Et,Rt,Bt,It,At,Ft,Gt,Wt,Zt,Ot,jt,Ht,Xt,Yt,Ut,Jt,Kt,qt,Qt,eo,to,oo,ao,io,ro,lo,no,so,co,mo,ho,po,go,uo,fo,yo,bo,wo,xo,ko,_o,Lo,zo,Co,vo,So,No,Po,Mo,ai,ii,ri,li,ni,si,ci,mi,di,hi,pi,gi,ui,fi,yi,bi,wi,xi,ki,_i,Li,zi,Ci,vi,Si,Ni,Pi,Mi,Vi,Ti,Di,Ei,Ri,Bi,Ii,Ai,Fi,Gi,Wi,Zi,Oi,ji,Hi,Xi,Yi,Ui,$i,Ji,Ki,qi,Qi,er,tr,or,ar,ir,rr,lr,nr,sr,cr,mr,dr,hr,pr,gr;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",["geometry-type"],["Polygon"],!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","route_name"]],"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",["geometry-type"],["Polygon"],!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","route_name"]],"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"],` -
228
228
  `,["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",["geometry-type"],["Polygon"],!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","route_name"]],"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"],` -
229
- `,["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",["geometry-type"],["Polygon"],!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","route_name"]],"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(k=>k.id==="land"),(l=(i=this.originStyle)==null?void 0:i.light.layers)==null?void 0:l.find(k=>k.id==="water"),(c=(n=this.originStyle)==null?void 0:n.light.layers)==null?void 0:c.find(k=>k.id==="ice-area-fill"),(m=(s=this.originStyle)==null?void 0:s.light.layers)==null?void 0:m.find(k=>k.id==="ice-area-line"),(h=(d=this.originStyle)==null?void 0:d.light.layers)==null?void 0:h.find(k=>k.id==="loadlines-label"),(y=(u=this.originStyle)==null?void 0:u.light.layers)==null?void 0:y.find(k=>k.id==="loadlines-fill"),(p=(g=this.originStyle)==null?void 0:g.light.layers)==null?void 0:p.find(k=>k.id==="empty-layer-0"),(x=(f=this.originStyle)==null?void 0:f.light.layers)==null?void 0:x.find(k=>k.id==="empty-layer-1"),(w=(L=this.originStyle)==null?void 0:L.light.layers)==null?void 0:w.find(k=>k.id==="country-boundaries"),(C=(b=this.originStyle)==null?void 0:b.light.layers)==null?void 0:C.find(k=>k.id==="water-outline"),(z=(_=this.originStyle)==null?void 0:_.light.layers)==null?void 0:z.find(k=>k.id==="water-outline2"),(N=(S=this.originStyle)==null?void 0:S.light.layers)==null?void 0:N.find(k=>k.id==="empty-layer-2"),(R=(T=this.originStyle)==null?void 0:T.light.layers)==null?void 0:R.find(k=>k.id==="water-line-label"),(H=(G=this.originStyle)==null?void 0:G.light.layers)==null?void 0:H.find(k=>k.id==="water-point-label"),($=(Y=this.originStyle)==null?void 0:Y.light.layers)==null?void 0:$.find(k=>k.id==="world-12nm-v4-20231025"),(P=(ae=this.originStyle)==null?void 0:ae.light.layers)==null?void 0:P.find(k=>k.id==="ne-10m-outline"),(W=(F=this.originStyle)==null?void 0:F.light.layers)==null?void 0:W.find(k=>k.id==="ne-10m-label"),(I=(U=this.originStyle)==null?void 0:U.light.layers)==null?void 0:I.find(k=>k.id==="china-route-line"),(O=(B=this.originStyle)==null?void 0:B.light.layers)==null?void 0:O.find(k=>k.id==="china-route-fill"),(q=(M=this.originStyle)==null?void 0:M.light.layers)==null?void 0:q.find(k=>k.id==="china-route-label"),(he=(re=this.originStyle)==null?void 0:re.light.layers)==null?void 0:he.find(k=>k.id==="admin-0-boundary-bg"),(ee=(ge=this.originStyle)==null?void 0:ge.light.layers)==null?void 0:ee.find(k=>k.id==="admin-0-boundary"),(pe=(se=this.originStyle)==null?void 0:se.light.layers)==null?void 0:pe.find(k=>k.id==="admin-0-boundary-disputed"),(Z=(xe=this.originStyle)==null?void 0:xe.light.layers)==null?void 0:Z.find(k=>k.id==="country-label"),(Ve=(te=this.originStyle)==null?void 0:te.light.layers)==null?void 0:Ve.find(k=>k.id==="continent-label"),(ye=(Ce=this.originStyle)==null?void 0:Ce.light.layers)==null?void 0:ye.find(k=>k.id==="tide-stations"),(J=(ke=this.originStyle)==null?void 0:ke.light.layers)==null?void 0:J.find(k=>k.id==="empty-layer-3"),(ie=(be=this.originStyle)==null?void 0:be.light.layers)==null?void 0:ie.find(k=>k.id==="empty-layer-4")]},dark:{version:8,name:"dark",metadata:(ce=this.originStyle)==null?void 0:ce.dark.metadata,center:[90.22129259388525,-3.2084663486364606],zoom:1.2556266457717493,bearing:0,pitch:0,lights:[],fog:{range:[.5,10]},sources:(Se=this.originStyle)==null?void 0:Se.dark.sources,sprite:(De=this.originStyle)==null?void 0:De.dark.sprite,glyphs:(Te=this.originStyle)==null?void 0:Te.dark.glyphs,projection:(A=this.originStyle)==null?void 0:A.dark.projection,id:"cmdqwez32005b01re2w0k3zk4",owner:"neatchenheng",visibility:"private",protected:!1,draft:!1,layers:[(_e=(me=this.originStyle)==null?void 0:me.dark.layers)==null?void 0:_e.find(k=>k.id==="land"),(Pe=(Ne=this.originStyle)==null?void 0:Ne.dark.layers)==null?void 0:Pe.find(k=>k.id==="water"),(ve=(j=this.originStyle)==null?void 0:j.dark.layers)==null?void 0:ve.find(k=>k.id==="ice-area-fill"),(We=(Q=this.originStyle)==null?void 0:Q.dark.layers)==null?void 0:We.find(k=>k.id==="ice-area-line"),(Oe=(Ze=this.originStyle)==null?void 0:Ze.dark.layers)==null?void 0:Oe.find(k=>k.id==="loadlines-label"),(at=(Le=this.originStyle)==null?void 0:Le.dark.layers)==null?void 0:at.find(k=>k.id==="loadlines-fill"),(rt=(it=this.originStyle)==null?void 0:it.dark.layers)==null?void 0:rt.find(k=>k.id==="empty-layer-0"),(nt=(lt=this.originStyle)==null?void 0:lt.dark.layers)==null?void 0:nt.find(k=>k.id==="empty-layer-1"),(ct=(st=this.originStyle)==null?void 0:st.dark.layers)==null?void 0:ct.find(k=>k.id==="country-boundaries"),(dt=(mt=this.originStyle)==null?void 0:mt.dark.layers)==null?void 0:dt.find(k=>k.id==="water-outline"),(pt=(ht=this.originStyle)==null?void 0:ht.dark.layers)==null?void 0:pt.find(k=>k.id==="empty-layer-2"),(ut=(gt=this.originStyle)==null?void 0:gt.dark.layers)==null?void 0:ut.find(k=>k.id==="water-line-label"),(yt=(ft=this.originStyle)==null?void 0:ft.dark.layers)==null?void 0:yt.find(k=>k.id==="water-point-label"),(wt=(bt=this.originStyle)==null?void 0:bt.dark.layers)==null?void 0:wt.find(k=>k.id==="world-12nm-v4-20231025"),(kt=(xt=this.originStyle)==null?void 0:xt.dark.layers)==null?void 0:kt.find(k=>k.id==="ne-10m-outline"),(Lt=(_t=this.originStyle)==null?void 0:_t.dark.layers)==null?void 0:Lt.find(k=>k.id==="ne-10m-label"),(Ct=(zt=this.originStyle)==null?void 0:zt.dark.layers)==null?void 0:Ct.find(k=>k.id==="china-route-line"),(St=(vt=this.originStyle)==null?void 0:vt.dark.layers)==null?void 0:St.find(k=>k.id==="china-route-fill"),(Pt=(Nt=this.originStyle)==null?void 0:Nt.dark.layers)==null?void 0:Pt.find(k=>k.id==="china-route-label"),(Vt=(Mt=this.originStyle)==null?void 0:Mt.dark.layers)==null?void 0:Vt.find(k=>k.id==="admin-0-boundary-bg"),(Dt=(Tt=this.originStyle)==null?void 0:Tt.dark.layers)==null?void 0:Dt.find(k=>k.id==="admin-0-boundary"),(Rt=(Et=this.originStyle)==null?void 0:Et.dark.layers)==null?void 0:Rt.find(k=>k.id==="admin-0-boundary-disputed"),(It=(Bt=this.originStyle)==null?void 0:Bt.dark.layers)==null?void 0:It.find(k=>k.id==="country-label"),(Ft=(At=this.originStyle)==null?void 0:At.dark.layers)==null?void 0:Ft.find(k=>k.id==="continent-label"),(Wt=(Gt=this.originStyle)==null?void 0:Gt.dark.layers)==null?void 0:Wt.find(k=>k.id==="tide-stations"),(Ot=(Zt=this.originStyle)==null?void 0:Zt.dark.layers)==null?void 0:Ot.find(k=>k.id==="empty-layer-3"),(Ht=(jt=this.originStyle)==null?void 0:jt.dark.layers)==null?void 0:Ht.find(k=>k.id==="empty-layer-4")]},satellite:{version:8,name:"Satellite Streets",metadata:(Xt=this.originStyle)==null?void 0:Xt.satellite.metadata,center:[55.13,25.12],zoom:12,fog:(Yt=this.originStyle)==null?void 0:Yt.satellite.fog,imports:(Ut=this.originStyle)==null?void 0:Ut.satellite.imports,sources:(Jt=this.originStyle)==null?void 0:Jt.satellite.sources,sprite:(Kt=this.originStyle)==null?void 0:Kt.satellite.sprite,glyphs:(qt=this.originStyle)==null?void 0:qt.satellite.glyphs,projection:(Qt=this.originStyle)==null?void 0:Qt.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:[(to=(eo=this.originStyle)==null?void 0:eo.satellite.layers)==null?void 0:to.find(k=>k.id==="background"),(ao=(oo=this.originStyle)==null?void 0:oo.satellite.layers)==null?void 0:ao.find(k=>k.id==="satellite"),(ro=(io=this.originStyle)==null?void 0:io.satellite.layers)==null?void 0:ro.find(k=>k.id==="loadlines-label"),(no=(lo=this.originStyle)==null?void 0:lo.satellite.layers)==null?void 0:no.find(k=>k.id==="loadlines-fill"),(co=(so=this.originStyle)==null?void 0:so.satellite.layers)==null?void 0:co.find(k=>k.id==="empty-layer-0"),(ho=(mo=this.originStyle)==null?void 0:mo.satellite.layers)==null?void 0:ho.find(k=>k.id==="empty-layer-1"),(go=(po=this.originStyle)==null?void 0:po.satellite.layers)==null?void 0:go.find(k=>k.id==="country-boundaries"),(fo=(uo=this.originStyle)==null?void 0:uo.satellite.layers)==null?void 0:fo.find(k=>k.id==="water-outline"),(bo=(yo=this.originStyle)==null?void 0:yo.satellite.layers)==null?void 0:bo.find(k=>k.id==="empty-layer-2"),(xo=(wo=this.originStyle)==null?void 0:wo.satellite.layers)==null?void 0:xo.find(k=>k.id==="world-12nm-v4-20231025"),(_o=(ko=this.originStyle)==null?void 0:ko.satellite.layers)==null?void 0:_o.find(k=>k.id==="ne-10m-outline"),(zo=(Lo=this.originStyle)==null?void 0:Lo.satellite.layers)==null?void 0:zo.find(k=>k.id==="ne-10m-label"),(vo=(Co=this.originStyle)==null?void 0:Co.satellite.layers)==null?void 0:vo.find(k=>k.id==="china-route-line"),(No=(So=this.originStyle)==null?void 0:So.satellite.layers)==null?void 0:No.find(k=>k.id==="china-route-fill"),(Mo=(Po=this.originStyle)==null?void 0:Po.satellite.layers)==null?void 0:Mo.find(k=>k.id==="china-route-label"),(ii=(ai=this.originStyle)==null?void 0:ai.satellite.layers)==null?void 0:ii.find(k=>k.id==="country-label"),(li=(ri=this.originStyle)==null?void 0:ri.satellite.layers)==null?void 0:li.find(k=>k.id==="continent-label"),(si=(ni=this.originStyle)==null?void 0:ni.satellite.layers)==null?void 0:si.find(k=>k.id==="tide-stations"),(mi=(ci=this.originStyle)==null?void 0:ci.satellite.layers)==null?void 0:mi.find(k=>k.id==="ice-area-fill"),(hi=(di=this.originStyle)==null?void 0:di.satellite.layers)==null?void 0:hi.find(k=>k.id==="ice-area-line"),(gi=(pi=this.originStyle)==null?void 0:pi.satellite.layers)==null?void 0:gi.find(k=>k.id==="empty-layer-3"),(fi=(ui=this.originStyle)==null?void 0:ui.satellite.layers)==null?void 0:fi.find(k=>k.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:[(bi=(yi=this.originStyle)==null?void 0:yi.light.layers)==null?void 0:bi.find(k=>k.id==="land"),(xi=(wi=this.originStyle)==null?void 0:wi.light.layers)==null?void 0:xi.find(k=>k.id==="water"),this.i4.layer,(_i=(ki=this.originStyle)==null?void 0:ki.light.layers)==null?void 0:_i.find(k=>k.id==="ice-area-fill"),(zi=(Li=this.originStyle)==null?void 0:Li.light.layers)==null?void 0:zi.find(k=>k.id==="ice-area-line"),(vi=(Ci=this.originStyle)==null?void 0:Ci.light.layers)==null?void 0:vi.find(k=>k.id==="loadlines-label"),(Ni=(Si=this.originStyle)==null?void 0:Si.light.layers)==null?void 0:Ni.find(k=>k.id==="loadlines-fill"),(Mi=(Pi=this.originStyle)==null?void 0:Pi.light.layers)==null?void 0:Mi.find(k=>k.id==="empty-layer-0"),(Ti=(Vi=this.originStyle)==null?void 0:Vi.light.layers)==null?void 0:Ti.find(k=>k.id==="empty-layer-1"),(Ei=(Di=this.originStyle)==null?void 0:Di.light.layers)==null?void 0:Ei.find(k=>k.id==="empty-layer-2"),(Bi=(Ri=this.originStyle)==null?void 0:Ri.light.layers)==null?void 0:Bi.find(k=>k.id==="country-boundaries"),(Ai=(Ii=this.originStyle)==null?void 0:Ii.light.layers)==null?void 0:Ai.find(k=>k.id==="water-outline"),(Gi=(Fi=this.originStyle)==null?void 0:Fi.light.layers)==null?void 0:Gi.find(k=>k.id==="water-outline2"),(Zi=(Wi=this.originStyle)==null?void 0:Wi.light.layers)==null?void 0:Zi.find(k=>k.id==="world-12nm-v4-20231025"),(ji=(Oi=this.originStyle)==null?void 0:Oi.light.layers)==null?void 0:ji.find(k=>k.id==="ne-10m-outline"),(Xi=(Hi=this.originStyle)==null?void 0:Hi.light.layers)==null?void 0:Xi.find(k=>k.id==="ne-10m-label"),(Ui=(Yi=this.originStyle)==null?void 0:Yi.light.layers)==null?void 0:Ui.find(k=>k.id==="china-route-line"),(Ji=($i=this.originStyle)==null?void 0:$i.light.layers)==null?void 0:Ji.find(k=>k.id==="china-route-fill"),(qi=(Ki=this.originStyle)==null?void 0:Ki.light.layers)==null?void 0:qi.find(k=>k.id==="china-route-label"),(er=(Qi=this.originStyle)==null?void 0:Qi.light.layers)==null?void 0:er.find(k=>k.id==="admin-0-boundary-bg"),(or=(tr=this.originStyle)==null?void 0:tr.light.layers)==null?void 0:or.find(k=>k.id==="admin-0-boundary"),(ir=(ar=this.originStyle)==null?void 0:ar.light.layers)==null?void 0:ir.find(k=>k.id==="admin-0-boundary-disputed"),(lr=(rr=this.originStyle)==null?void 0:rr.light.layers)==null?void 0:lr.find(k=>k.id==="country-label"),(sr=(nr=this.originStyle)==null?void 0:nr.light.layers)==null?void 0:sr.find(k=>k.id==="continent-label"),(mr=(cr=this.originStyle)==null?void 0:cr.light.layers)==null?void 0:mr.find(k=>k.id==="tide-stations"),(hr=(dr=this.originStyle)==null?void 0:dr.light.layers)==null?void 0:hr.find(k=>k.id==="empty-layer-3"),(gr=(pr=this.originStyle)==null?void 0:pr.light.layers)==null?void 0:gr.find(k=>k.id==="empty-layer-4")]}}}}const Zy="",Ef={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 e=new Date().getFullYear();return e>2023?e:2023}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var e;this.simple||(this.right=(((e=document.getElementsByClassName("right-bar")[0])==null?void 0:e.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 Ua(this.token),ne.accessToken="pk.eyJ1IjoibmVhdGNoZW5oZW5nIiwiYSI6ImNsdXM3cnBmODBsemgycW1vaXc1bjV6bXMifQ.w6fqHGRbhNhLvm0LnX4ZVw";const e=new ne.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});e.dragRotate.disable(),e.touchZoomRotate.disableRotation(),e.on("load",()=>{this.zoom=2,this.map=e,this.$emit("menuToggle"),this.addScaleControl()}),e.on("move",()=>{var t;this.zoom=(t=this.map)==null?void 0:t.getZoom()})},addScaleControl(){var t;this.map.addControl(new ne.ScaleControl({maxWidth:120,unit:"nautical"}),"bottom-left");const e=(t=document.getElementsByClassName("mapboxgl-ctrl-scale"))==null?void 0:t[0];e&&(e.className="mapboxgl-ctrl-scale "+this.mapFeather)},handleZoomIn(){var e;this.zoom<=22&&(this.zoom=Math.floor(this.zoom)+1,(e=this.map)==null||e.flyTo({zoom:this.zoom,duration:500}))},handleZoomOut(){var e;this.zoom>2&&(this.zoom=Math.floor(this.zoom)-1,(e=this.map)==null||e.flyTo({zoom:this.zoom,duration:500}))}}},Rf={class:"v-btn--variant-elevated rounded"},Bf={class:"v-btn--variant-elevated rounded"},If={class:"zoom"},Af={key:2,class:"position-absolute left-0 bottom-0 ma-2 my-1 text-caption text-label opacity-70"};function Ff(e,t,a,r,i,l){const n=o.resolveComponent("VBtn");return o.openBlock(),o.createElementBlock("div",{class:"mapbox-initial-gl4 gif-container",id:"mapbox-initial-gl4",style:o.normalizeStyle({height:a.height,width:a.width})},[t[6]||(t[6]=o.createElementVNode("div",{id:"map"},null,-1)),a.simple?(o.openBlock(),o.createElementBlock("div",{key:0,class:"menu-bar-box transition px-1 rounded d-flex flex-column pa-1 simple",style:o.normalizeStyle({top:a.top+254+"px",right:i.right+"px",height:"40px"})},[o.createElementVNode("div",Rf,[o.createVNode(n,{"min-width":"32",width:"32",height:"32",class:"pa-0 elevation-0",onClick:l.initOnlineMap},{default:o.withCtx(()=>t[0]||(t[0]=[o.createElementVNode("i",{class:"iconfont icon-shuaxin text-h4"},null,-1)])),_:1,__:[0]},8,["onClick"])])],4)):o.createCommentVNode("",!0),a.simple?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("div",{key:1,class:"menu-bar-box transition px-1 rounded d-flex flex-column",style:o.normalizeStyle({top:a.top+308+"px",right:i.right+"px",height:"112px"})},[o.createElementVNode("div",Bf,[o.createVNode(n,{"min-width":"32",width:"32",height:"32",class:"pa-0 elevation-0",onClick:l.handleZoomIn},{default:o.withCtx(()=>t[1]||(t[1]=[o.createElementVNode("i",{class:"iconfont icon-a-Zoomin text-h4"},null,-1)])),_:1,__:[1]},8,["onClick"]),o.createElementVNode("div",If,o.toDisplayString(i.zoom?Math.floor(i.zoom):0),1),o.createVNode(n,{"min-width":"32",width:"32",height:"32",class:"elevation-0 pa-0",onClick:l.handleZoomOut},{default:o.withCtx(()=>t[2]||(t[2]=[o.createElementVNode("i",{class:"iconfont icon-a-Zoomout text-h4"},null,-1)])),_:1,__:[2]},8,["onClick"])])],4)),a.simple?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("div",Af,[t[3]||(t[3]=o.createElementVNode("span",null,"© 2023",-1)),o.createElementVNode("span",null,"-"+o.toDisplayString(l.computeYear),1),t[4]||(t[4]=o.createElementVNode("span",{class:"text-uppercase ma-2"},"ormwx.com",-1)),t[5]||(t[5]=o.createElementVNode("a",{class:"text-decoration-underline cursor-pointer text-label",href:"https://beian.miit.gov.cn/",target:"_blank"},"沪ICP备18039043号-6",-1))]))],4)}const $a=X(Ef,[["render",Ff]]),Oy="",Gf={name:"DateRangePicker",props:{width:{type:Number,default:null},height:{type:Number,default:30},position:{type:String,default:"top"},locale:{type:String,default:"en"},timeZone:{type:Number},defaultRange:{type:Array,default:()=>[]},dayAbout:{type:Object,default:()=>({})},fastPick:{type:Object,default:()=>({show:!1,allows:["past7day","past14day","past1month","past3month","past6month","past1mear","lastMonth","lastSeason","lastYear","forward7day","forward14day","forward1month","forward3month"]})}},emits:["dateRange"],data(){return{showDatePicker:!1,minDate:void 0,maxDate:void 0,dateRange:[],dateRangeStr:void 0,activeFastPick:"",fastPickOptions:["past7day","past14day","past1month","past3month","past6month","past1year","lastMonth","lastSeason","lastYear","forward7day","forward14day","forward1month","forward3month"]}},computed:{getStyle(){const e=this.width||226;if(this.position==="top")return{bottom:"40px",left:`-${(630-e)/2}px`};if(this.position==="bottom")return{top:"40px",left:`-${(630-e)/2}px`};if(this.position==="left")return{bottom:"-140px",left:"-636px"};if(this.position==="right")return{bottom:"-140px",right:"-636px"}},timeZoneNames(){return v.tz.names()},timeZoneName(){var e;return(e=this.timeZoneNames.filter(t=>v.tz(v(),t).utcOffset()===this.timeZone*60))==null?void 0:e[0]},utcTimeZoneName(){return"Africa/Abidjan"},localTimeZoneName(){return Intl.DateTimeFormat().resolvedOptions().timeZone||"Asia/Shanghai"},computeTzSimple(){return(e,t,a="yyyy-MM-DD")=>{var r,i;if(e){const l=t||0;return(i=(r=v(e))==null?void 0:r.utcOffset(l))==null?void 0:i.format(a)}return"-"}}},watch:{timeZone:{handler(e,t){e!==t&&(this.handleResetDateRange(),this.handleResetMinMax())}},defaultRange:{handler(e,t){((e==null?void 0:e[0])!==(t==null?void 0:t[0])||(e==null?void 0:e[1])!==(t==null?void 0:t[1]))&&this.handleResetDateRange()},deep:!0}},mounted(){this.handleReset()},unmounted(){this.handleCancelDate()},methods:{handleReset(){this.handleResetDateRange(),this.handleResetMinMax()},handleResetDateRange(){var e;((e=this.defaultRange)==null?void 0:e.length)===2&&(this.dateRange=this.defaultRange,this.dateRangeStr=`${v.tz(this.dateRange[0],this.timeZoneName).format("yyyy-MM-DD")} ~ ${v.tz(this.dateRange[1],this.timeZoneName).format("yyyy-MM-DD")}`,this.$emit("dateRange",[v.tz(this.dateRange[0],this.timeZoneName).set({hour:0,minute:0,second:0,millisecond:0}).format(),v.tz(this.dateRange[1],this.timeZoneName).set({hour:23,minute:59,second:59,millisecond:59}).format()]))},handleResetMinMax(){const e=v.tz(v().format(),this.timeZoneName).clone(),{h:t,f:a}=this.dayAbout;t!=null&&typeof Number(t)=="number"&&!isNaN(t)&&(this.minDate=e.clone().add(t,"day").format("yyyy-MM-DD")),a!=null&&typeof Number(a)=="number"&&!isNaN(a)&&(this.maxDate=e.clone().add(a,"day").format("yyyy-MM-DD"))},handleOpenDatePicker(){this.showDatePicker=!this.showDatePicker},handleFastPick(e){if(e.dateRange){const t=[];switch(e.dateRange){case"past7day":t.push(v.tz(v(),this.timeZoneName).clone().subtract(7,"day").format()),t.push(v.tz(v(),this.timeZoneName).clone().format());break;case"past14day":t.push(v.tz(v(),this.timeZoneName).clone().subtract(14,"day").format()),t.push(v.tz(v(),this.timeZoneName).clone().format());break;case"past1month":t.push(v.tz(v(),this.timeZoneName).clone().add(-1,"month").format()),t.push(v.tz(v(),this.timeZoneName).clone().format());break;case"past3month":t.push(v.tz(v(),this.timeZoneName).clone().add(-3,"month").format()),t.push(v.tz(v(),this.timeZoneName).clone().format());break;case"past6month":t.push(v.tz(v(),this.timeZoneName).clone().add(-6,"month").format()),t.push(v.tz(v(),this.timeZoneName).clone().format());break;case"past1year":t.push(v.tz(v(),this.timeZoneName).clone().add(-12,"month").format()),t.push(v.tz(v(),this.timeZoneName).clone().format());break;case"lastMonth":t.push(v.tz(v(),this.timeZoneName).clone().subtract(1,"month").startOf("month").format()),t.push(v.tz(v(),this.timeZoneName).clone().subtract(1,"month").endOf("month").format());break;case"lastSeason":t.push(v.tz(v(),this.timeZoneName).clone().startOf("quarter").subtract(3,"months").startOf("month").format()),t.push(v.tz(v(),this.timeZoneName).clone().startOf("quarter").subtract(1,"day").endOf("month").format());break;case"lastYear":t.push(v.tz(v(),this.timeZoneName).clone().subtract(1,"year").startOf("year").format()),t.push(v.tz(v(),this.timeZoneName).clone().subtract(1,"year").endOf("year").format());break;case"forward7day":t.push(v.tz(v(),this.timeZoneName).clone().format()),t.push(v.tz(v(),this.timeZoneName).clone().add(7,"day").format());break;case"forward14day":t.push(v.tz(v(),this.timeZoneName).clone().format()),t.push(v.tz(v(),this.timeZoneName).clone().add(14,"day").format());break;case"forward1month":t.push(v.tz(v(),this.timeZoneName).clone().format()),t.push(v.tz(v(),this.timeZoneName).clone().add(1,"month").format());break;case"forward3month":t.push(v.tz(v(),this.timeZoneName).clone().format()),t.push(v.tz(v(),this.timeZoneName).clone().add(3,"month").format());break}this.dateRange=t,this.activeFastPick=e.dateRange}},handleConfirmDate(){var t;const e=[this.dateRange[0],this.dateRange[((t=this.dateRange)==null?void 0:t.length)-1]];this.dateRangeStr=`${v(e[0]).format("yyyy-MM-DD")} ~ ${v(e[1]).format("yyyy-MM-DD")}`,this.$emit("dateRange",[v.tz(e[0],this.timeZoneName).set({year:v(e[0]).year(),month:v(e[0]).month(),date:v(e[0]).date(),hour:0,minute:0,second:0,millisecond:0}).format(),v.tz(e[1],this.timeZoneName).set({year:v(e[1]).year(),month:v(e[1]).month(),date:v(e[1]).date(),hour:23,minute:59,second:59,millisecond:59}).format()]),this.showDatePicker=!1},handleCancelDate(){this.showDatePicker=!1},handleClickOutside(e){const t=this.$refs.idmGl4Timepicker;t&&!t.contains(e.target)&&(this.showDatePicker=!1)},handleClearDate(){this.dateRange=[],this.dateRangeStr="",this.$emit("dateRange",[])}}},Wf={class:"idm-gl4-date-picker",ref:"idmGl4DatePicker"},Zf={class:"flex-1-1-0"},Of={class:"pa-0 w-100 d-flex justify-space-between align-center ga-4"},jf={key:0,class:"d-flex justify-start align-center flex-wrap ga-3 ml-n2"},Hf={class:"flex-1-1-0 d-flex justify-end align-center ga-4"};function Xf(e,t,a,r,i,l){const n=o.resolveComponent("VIcon"),c=o.resolveComponent("VDatePicker"),s=o.resolveComponent("v-divider"),m=o.resolveComponent("VCardText"),d=o.resolveComponent("VDivider"),h=o.resolveComponent("VBtn"),u=o.resolveComponent("VCardActions"),y=o.resolveComponent("VCard");return o.openBlock(),o.createElementBlock("div",Wf,[o.createElementVNode("div",{style:o.normalizeStyle({height:a.height+"px",width:a.width?a.width+"px":"auto"}),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]=(...g)=>l.handleOpenDatePicker&&l.handleOpenDatePicker(...g))},[o.createElementVNode("span",Zf,o.toDisplayString(i.dateRangeStr),1),i.dateRangeStr?(o.openBlock(),o.createBlock(n,{key:0,class:"text-h5",icon:"mdi-close-circle",style:{opacity:"0.4"},onClick:o.withModifiers(l.handleClearDate,["stop"])},null,8,["onClick"])):o.createCommentVNode("",!0)],4),i.showDatePicker?(o.openBlock(),o.createBlock(y,{key:0,class:"card-box d-flex flex-column border elevation-12",style:o.normalizeStyle(l.getStyle)},{default:o.withCtx(()=>[o.createVNode(m,{class:"w-100 flex-1-1-0 d-flex pa-0"},{default:o.withCtx(()=>[o.createElementVNode("div",Of,[o.createVNode(c,{modelValue:i.dateRange[0],"onUpdate:modelValue":[t[1]||(t[1]=g=>i.dateRange[0]=g),t[2]||(t[2]=g=>{i.activeFastPick=void 0})],min:i.minDate,max:i.maxDate,"weekday-format":"narrow",color:"primary",density:"compact",class:"w-100","hide-header":"","no-month-picker":!0},null,8,["modelValue","min","max"]),o.createVNode(s,{vertical:"",class:"my-2"}),o.createVNode(c,{modelValue:i.dateRange[1],"onUpdate:modelValue":[t[3]||(t[3]=g=>i.dateRange[1]=g),t[4]||(t[4]=g=>{i.activeFastPick=void 0})],min:i.minDate,max:i.maxDate,"weekday-format":"narrow",color:"primary",density:"compact",class:"w-100","hide-header":"","no-month-picker":!0},null,8,["modelValue","min","max"])])]),_:1}),o.createVNode(d),o.createVNode(u,{class:"w-100 d-flex justify-space-between align-center pa-0 px-4",style:{height:"50px"}},{default:o.withCtx(()=>{var g,p;return[(g=a.fastPick)!=null&&g.show?(o.openBlock(),o.createElementBlock("div",jf,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList((p=i.fastPickOptions)==null?void 0:p.filter(f=>a.fastPick.allows.some(x=>x===f)),f=>(o.openBlock(),o.createBlock(h,{size:"small",color:i.activeFastPick===f?"primary":"",variant:i.activeFastPick===f?"tonal":"text",class:"text-none text-body-2 px-1",onClick:x=>l.handleFastPick({dateRange:f})},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("time."+f)),1)]),_:2},1032,["color","variant","onClick"]))),256))])):o.createCommentVNode("",!0),o.createElementVNode("div",Hf,[o.createVNode(h,{size:"small",variant:"tonal",class:"text-none text-body-1 px-4",onClick:l.handleCancelDate},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.cancel")),1)]),_:1},8,["onClick"]),o.createVNode(h,{size:"small",variant:"flat",color:"primary",class:"text-none text-body-1 px-4",onClick:l.handleConfirmDate},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.confirm")),1)]),_:1},8,["onClick"])])]}),_:1})]),_:1},8,["style"])):o.createCommentVNode("",!0)],512)}const Ja=X(Gf,[["render",Xf]]),Yf={install(e){e.component("MapInitial",$a),e.component("MapboxGL",Ya),e.component("TropicalGL",Ho),e.component("LatLngGL",jo),e.component("DateTimePicker",qe),e.component("DateRangePicker",Ja),e.component("PortDetail",To),e.component("TimePlayer",na)}};function Uf(e){return typeof e=="string"&&/^data:image\/svg\+xml/i.test(e)}function $f(e){let t=e.indexOf(",");return t>=0?decodeURIComponent(e.slice(t+1)):""}function Jf(e){return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`}function Kf(e){let t=[],a="",r=0;for(let i=0;i<e.length;i++){let l=e[i];l==="("&&r++,l===")"&&(r=Math.max(0,r-1)),l===";"&&r===0?(t.push(a),a=""):a+=l}return a.trim()&&t.push(a),t.map(i=>i.trim()).filter(Boolean)}function qf(e){let t=[],a="",r=0;for(let l=0;l<e.length;l++){let n=e[l];n==="("&&r++,n===")"&&(r=Math.max(0,r-1)),n===","&&r===0?(t.push(a.trim()),a=""):a+=n}a.trim()&&t.push(a.trim());let i=[];for(let l of t){if(/\binset\b/i.test(l))continue;let n=l.match(/-?\d+(?:\.\d+)?px/gi)||[],[c="0px",s="0px",m="0px"]=n,d=l.replace(/-?\d+(?:\.\d+)?px/gi,"").replace(/\binset\b/ig,"").trim().replace(/\s{2,}/g," "),h=!!d&&d!==",";i.push(`drop-shadow(${c} ${s} ${m}${h?` ${d}`:""})`)}return i.join(" ")}function Ka(e){let t=Kf(e),a=null,r=null,i=null,l=[];for(let c of t){let s=c.indexOf(":");if(s<0)continue;let m=c.slice(0,s).trim().toLowerCase(),d=c.slice(s+1).trim();m==="box-shadow"?i=d:m==="filter"?a=d:m==="-webkit-filter"?r=d:l.push([m,d])}if(i){let c=qf(i);c&&(a=a?`${a} ${c}`:c,r=r?`${r} ${c}`:c)}let n=[...l];return a&&n.push(["filter",a]),r&&n.push(["-webkit-filter",r]),n.map(([c,s])=>`${c}:${s}`).join(";")}function Qf(e){return e.replace(/([^{}]+)\{([^}]*)\}/g,(t,a,r)=>`${a}{${Ka(r)}}`)}function ey(e){return e=e.replace(/<style[^>]*>([\s\S]*?)<\/style>/gi,(t,a)=>t.replace(a,Qf(a))),e=e.replace(/style=(['"])([\s\S]*?)\1/gi,(t,a,r)=>`style=${a}${Ka(r)}${a}`),e}function ty(e){if(!Fe()||!Uf(e))return e;try{let t=$f(e),a=ey(t);return Jf(a)}catch{return e}}async function Zo(e,t){let{width:a,height:r,scale:i=1,dpr:l=1,meta:n={},backgroundColor:c}=t;e=ty(e);let s=new Image;s.loading="eager",s.decoding="sync",s.crossOrigin="anonymous",s.src=e,await s.decode();let m=s.naturalWidth,d=s.naturalHeight,h=Number.isFinite(n.w0)?n.w0:m,u=Number.isFinite(n.h0)?n.h0:d,y,g,p=Number.isFinite(a),f=Number.isFinite(r);if(p&&f)y=Math.max(1,a),g=Math.max(1,r);else if(p){let w=a/Math.max(1,h);y=a,g=u*w}else if(f){let w=r/Math.max(1,u);g=r,y=h*w}else y=m,g=d;y=y*i,g=g*i;let x=document.createElement("canvas");x.width=y*l,x.height=g*l,x.style.width=`${y}px`,x.style.height=`${g}px`;let L=x.getContext("2d");return l!==1&&L.scale(l,l),c&&(L.save(),L.fillStyle=c,L.fillRect(0,0,y,g),L.restore()),L.drawImage(s,0,0,y,g),x}async function qa(e,t){let a=await Zo(e,t),r=new Image;return r.src=a.toDataURL(`image/${t.format}`,t.quality),await r.decode(),r.style.width=`${a.width/t.dpr}px`,r.style.height=`${a.height/t.dpr}px`,r}async function Qa(e,t){let{scale:a=1,width:r,height:i,meta:l={}}=t,n=Number.isFinite(r),c=Number.isFinite(i),s=Number.isFinite(a)&&a!==1||n||c;if(Fe()&&s)return await qa(e,{...t,format:"png",quality:1,meta:l});let m=new Image;if(m.decoding="sync",m.loading="eager",m.src=e,await m.decode(),n&&c)m.style.width=`${r}px`,m.style.height=`${i}px`;else if(n){let d=Number.isFinite(l.w0)?l.w0:m.naturalWidth,h=Number.isFinite(l.h0)?l.h0:m.naturalHeight,u=r/Math.max(1,d);m.style.width=`${r}px`,m.style.height=`${Math.round(h*u)}px`}else if(c){let d=Number.isFinite(l.w0)?l.w0:m.naturalWidth,h=Number.isFinite(l.h0)?l.h0:m.naturalHeight,u=i/Math.max(1,h);m.style.height=`${i}px`,m.style.width=`${Math.round(d*u)}px`}else{let d=Math.round(m.naturalWidth*a),h=Math.round(m.naturalHeight*a);if(m.style.width=`${d}px`,m.style.height=`${h}px`,typeof e=="string"&&e.startsWith("data:image/svg+xml"))try{let u=decodeURIComponent(e.split(",")[1]).replace(/width="[^"]*"/,`width="${d}"`).replace(/height="[^"]*"/,`height="${h}"`);e=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(u)}`,m.src=e}catch{}}return m}const Oo=Object.freeze(Object.defineProperty({__proto__:null,toImg:Qa,toSvg:Qa},Symbol.toStringTag,{value:"Module"})),ei=Object.freeze(Object.defineProperty({__proto__:null,toCanvas:Zo},Symbol.toStringTag,{value:"Module"}));async function ti(e,t){let a=t.type;if(a==="svg"){let i=decodeURIComponent(e.split(",")[1]);return new Blob([i],{type:"image/svg+xml"})}let r=await Zo(e,t);return new Promise(i=>r.toBlob(l=>i(l),`image/${a}`,t.quality))}const oi=Object.freeze(Object.defineProperty({__proto__:null,toBlob:ti},Symbol.toStringTag,{value:"Module"})),Ge=Object.freeze(Object.defineProperty({__proto__:null,rasterize:qa},Symbol.toStringTag,{value:"Module"}));async function oy(e,t){let a=((t==null?void 0:t.format)||(t==null?void 0:t.type)||"").toLowerCase(),r=a==="jpg"?"jpeg":a||"png",i=(t==null?void 0:t.filename)||`snapdom.${r}`,l={...t||{},format:r,type:r};if(l.dpr=1,r==="svg"){let s=await ti(e,{...l,type:"svg"}),m=URL.createObjectURL(s),d=document.createElement("a");d.href=m,d.download=i,d.click(),URL.revokeObjectURL(m);return}let n=await Zo(e,l),c=document.createElement("a");c.href=n.toDataURL(`image/${r}`,t==null?void 0:t.quality),c.download=i,c.click()}const ay=Object.freeze(Object.defineProperty({__proto__:null,download:oy},Symbol.toStringTag,{value:"Module"}));oe.DateRangePicker=Ja,oe.DateTimePicker=qe,oe.LatLngGL=jo,oe.MapInitial=$a,oe.MapboxGL=Ya,oe.MapboxGLPlugin=Yf,oe.MapboxStyleHelper=Ua,oe.ParticleSchema=ze,oe.PortDetail=To,oe.TimePlayer=na,oe.TropicalGL=Ho,oe.Viewport=Do,oe.WebGL=Me,oe.WebGLSchema=ue,Object.defineProperty(oe,Symbol.toStringTag,{value:"Module"})});
229
+ `,["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",["geometry-type"],["Polygon"],!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","route_name"]],"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(k=>k.id==="land"),(l=(i=this.originStyle)==null?void 0:i.light.layers)==null?void 0:l.find(k=>k.id==="water"),(c=(n=this.originStyle)==null?void 0:n.light.layers)==null?void 0:c.find(k=>k.id==="ice-area-fill"),(m=(s=this.originStyle)==null?void 0:s.light.layers)==null?void 0:m.find(k=>k.id==="ice-area-line"),(h=(d=this.originStyle)==null?void 0:d.light.layers)==null?void 0:h.find(k=>k.id==="loadlines-label"),(y=(u=this.originStyle)==null?void 0:u.light.layers)==null?void 0:y.find(k=>k.id==="loadlines-fill"),(p=(g=this.originStyle)==null?void 0:g.light.layers)==null?void 0:p.find(k=>k.id==="empty-layer-0"),(x=(f=this.originStyle)==null?void 0:f.light.layers)==null?void 0:x.find(k=>k.id==="empty-layer-1"),(w=(L=this.originStyle)==null?void 0:L.light.layers)==null?void 0:w.find(k=>k.id==="country-boundaries"),(C=(b=this.originStyle)==null?void 0:b.light.layers)==null?void 0:C.find(k=>k.id==="water-outline"),(z=(_=this.originStyle)==null?void 0:_.light.layers)==null?void 0:z.find(k=>k.id==="water-outline2"),(N=(S=this.originStyle)==null?void 0:S.light.layers)==null?void 0:N.find(k=>k.id==="empty-layer-2"),(R=(T=this.originStyle)==null?void 0:T.light.layers)==null?void 0:R.find(k=>k.id==="water-line-label"),(H=(G=this.originStyle)==null?void 0:G.light.layers)==null?void 0:H.find(k=>k.id==="water-point-label"),($=(Y=this.originStyle)==null?void 0:Y.light.layers)==null?void 0:$.find(k=>k.id==="world-12nm-v4-20231025"),(P=(ae=this.originStyle)==null?void 0:ae.light.layers)==null?void 0:P.find(k=>k.id==="ne-10m-outline"),(W=(F=this.originStyle)==null?void 0:F.light.layers)==null?void 0:W.find(k=>k.id==="ne-10m-label"),(I=(U=this.originStyle)==null?void 0:U.light.layers)==null?void 0:I.find(k=>k.id==="china-route-line"),(O=(B=this.originStyle)==null?void 0:B.light.layers)==null?void 0:O.find(k=>k.id==="china-route-fill"),(q=(M=this.originStyle)==null?void 0:M.light.layers)==null?void 0:q.find(k=>k.id==="china-route-label"),(he=(re=this.originStyle)==null?void 0:re.light.layers)==null?void 0:he.find(k=>k.id==="admin-0-boundary-bg"),(ee=(ge=this.originStyle)==null?void 0:ge.light.layers)==null?void 0:ee.find(k=>k.id==="admin-0-boundary"),(pe=(se=this.originStyle)==null?void 0:se.light.layers)==null?void 0:pe.find(k=>k.id==="admin-0-boundary-disputed"),(Z=(xe=this.originStyle)==null?void 0:xe.light.layers)==null?void 0:Z.find(k=>k.id==="country-label"),(Ve=(te=this.originStyle)==null?void 0:te.light.layers)==null?void 0:Ve.find(k=>k.id==="continent-label"),(ye=(Ce=this.originStyle)==null?void 0:Ce.light.layers)==null?void 0:ye.find(k=>k.id==="tide-stations"),(J=(ke=this.originStyle)==null?void 0:ke.light.layers)==null?void 0:J.find(k=>k.id==="empty-layer-3"),(ie=(be=this.originStyle)==null?void 0:be.light.layers)==null?void 0:ie.find(k=>k.id==="empty-layer-4")]},dark:{version:8,name:"dark",metadata:(ce=this.originStyle)==null?void 0:ce.dark.metadata,center:[90.22129259388525,-3.2084663486364606],zoom:1.2556266457717493,bearing:0,pitch:0,lights:[],fog:{range:[.5,10]},sources:(Se=this.originStyle)==null?void 0:Se.dark.sources,sprite:(De=this.originStyle)==null?void 0:De.dark.sprite,glyphs:(Te=this.originStyle)==null?void 0:Te.dark.glyphs,projection:(A=this.originStyle)==null?void 0:A.dark.projection,id:"cmdqwez32005b01re2w0k3zk4",owner:"neatchenheng",visibility:"private",protected:!1,draft:!1,layers:[(_e=(me=this.originStyle)==null?void 0:me.dark.layers)==null?void 0:_e.find(k=>k.id==="land"),(Pe=(Ne=this.originStyle)==null?void 0:Ne.dark.layers)==null?void 0:Pe.find(k=>k.id==="water"),(ve=(j=this.originStyle)==null?void 0:j.dark.layers)==null?void 0:ve.find(k=>k.id==="ice-area-fill"),(We=(Q=this.originStyle)==null?void 0:Q.dark.layers)==null?void 0:We.find(k=>k.id==="ice-area-line"),(Oe=(Ze=this.originStyle)==null?void 0:Ze.dark.layers)==null?void 0:Oe.find(k=>k.id==="loadlines-label"),(at=(Le=this.originStyle)==null?void 0:Le.dark.layers)==null?void 0:at.find(k=>k.id==="loadlines-fill"),(rt=(it=this.originStyle)==null?void 0:it.dark.layers)==null?void 0:rt.find(k=>k.id==="empty-layer-0"),(nt=(lt=this.originStyle)==null?void 0:lt.dark.layers)==null?void 0:nt.find(k=>k.id==="empty-layer-1"),(ct=(st=this.originStyle)==null?void 0:st.dark.layers)==null?void 0:ct.find(k=>k.id==="country-boundaries"),(dt=(mt=this.originStyle)==null?void 0:mt.dark.layers)==null?void 0:dt.find(k=>k.id==="water-outline"),(pt=(ht=this.originStyle)==null?void 0:ht.dark.layers)==null?void 0:pt.find(k=>k.id==="empty-layer-2"),(ut=(gt=this.originStyle)==null?void 0:gt.dark.layers)==null?void 0:ut.find(k=>k.id==="water-line-label"),(yt=(ft=this.originStyle)==null?void 0:ft.dark.layers)==null?void 0:yt.find(k=>k.id==="water-point-label"),(wt=(bt=this.originStyle)==null?void 0:bt.dark.layers)==null?void 0:wt.find(k=>k.id==="world-12nm-v4-20231025"),(kt=(xt=this.originStyle)==null?void 0:xt.dark.layers)==null?void 0:kt.find(k=>k.id==="ne-10m-outline"),(Lt=(_t=this.originStyle)==null?void 0:_t.dark.layers)==null?void 0:Lt.find(k=>k.id==="ne-10m-label"),(Ct=(zt=this.originStyle)==null?void 0:zt.dark.layers)==null?void 0:Ct.find(k=>k.id==="china-route-line"),(St=(vt=this.originStyle)==null?void 0:vt.dark.layers)==null?void 0:St.find(k=>k.id==="china-route-fill"),(Pt=(Nt=this.originStyle)==null?void 0:Nt.dark.layers)==null?void 0:Pt.find(k=>k.id==="china-route-label"),(Vt=(Mt=this.originStyle)==null?void 0:Mt.dark.layers)==null?void 0:Vt.find(k=>k.id==="admin-0-boundary-bg"),(Dt=(Tt=this.originStyle)==null?void 0:Tt.dark.layers)==null?void 0:Dt.find(k=>k.id==="admin-0-boundary"),(Rt=(Et=this.originStyle)==null?void 0:Et.dark.layers)==null?void 0:Rt.find(k=>k.id==="admin-0-boundary-disputed"),(It=(Bt=this.originStyle)==null?void 0:Bt.dark.layers)==null?void 0:It.find(k=>k.id==="country-label"),(Ft=(At=this.originStyle)==null?void 0:At.dark.layers)==null?void 0:Ft.find(k=>k.id==="continent-label"),(Wt=(Gt=this.originStyle)==null?void 0:Gt.dark.layers)==null?void 0:Wt.find(k=>k.id==="tide-stations"),(Ot=(Zt=this.originStyle)==null?void 0:Zt.dark.layers)==null?void 0:Ot.find(k=>k.id==="empty-layer-3"),(Ht=(jt=this.originStyle)==null?void 0:jt.dark.layers)==null?void 0:Ht.find(k=>k.id==="empty-layer-4")]},satellite:{version:8,name:"Satellite Streets",metadata:(Xt=this.originStyle)==null?void 0:Xt.satellite.metadata,center:[55.13,25.12],zoom:12,fog:(Yt=this.originStyle)==null?void 0:Yt.satellite.fog,imports:(Ut=this.originStyle)==null?void 0:Ut.satellite.imports,sources:(Jt=this.originStyle)==null?void 0:Jt.satellite.sources,sprite:(Kt=this.originStyle)==null?void 0:Kt.satellite.sprite,glyphs:(qt=this.originStyle)==null?void 0:qt.satellite.glyphs,projection:(Qt=this.originStyle)==null?void 0:Qt.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:[(to=(eo=this.originStyle)==null?void 0:eo.satellite.layers)==null?void 0:to.find(k=>k.id==="background"),(ao=(oo=this.originStyle)==null?void 0:oo.satellite.layers)==null?void 0:ao.find(k=>k.id==="satellite"),(ro=(io=this.originStyle)==null?void 0:io.satellite.layers)==null?void 0:ro.find(k=>k.id==="loadlines-label"),(no=(lo=this.originStyle)==null?void 0:lo.satellite.layers)==null?void 0:no.find(k=>k.id==="loadlines-fill"),(co=(so=this.originStyle)==null?void 0:so.satellite.layers)==null?void 0:co.find(k=>k.id==="empty-layer-0"),(ho=(mo=this.originStyle)==null?void 0:mo.satellite.layers)==null?void 0:ho.find(k=>k.id==="empty-layer-1"),(go=(po=this.originStyle)==null?void 0:po.satellite.layers)==null?void 0:go.find(k=>k.id==="country-boundaries"),(fo=(uo=this.originStyle)==null?void 0:uo.satellite.layers)==null?void 0:fo.find(k=>k.id==="water-outline"),(bo=(yo=this.originStyle)==null?void 0:yo.satellite.layers)==null?void 0:bo.find(k=>k.id==="empty-layer-2"),(xo=(wo=this.originStyle)==null?void 0:wo.satellite.layers)==null?void 0:xo.find(k=>k.id==="world-12nm-v4-20231025"),(_o=(ko=this.originStyle)==null?void 0:ko.satellite.layers)==null?void 0:_o.find(k=>k.id==="ne-10m-outline"),(zo=(Lo=this.originStyle)==null?void 0:Lo.satellite.layers)==null?void 0:zo.find(k=>k.id==="ne-10m-label"),(vo=(Co=this.originStyle)==null?void 0:Co.satellite.layers)==null?void 0:vo.find(k=>k.id==="china-route-line"),(No=(So=this.originStyle)==null?void 0:So.satellite.layers)==null?void 0:No.find(k=>k.id==="china-route-fill"),(Mo=(Po=this.originStyle)==null?void 0:Po.satellite.layers)==null?void 0:Mo.find(k=>k.id==="china-route-label"),(ii=(ai=this.originStyle)==null?void 0:ai.satellite.layers)==null?void 0:ii.find(k=>k.id==="country-label"),(li=(ri=this.originStyle)==null?void 0:ri.satellite.layers)==null?void 0:li.find(k=>k.id==="continent-label"),(si=(ni=this.originStyle)==null?void 0:ni.satellite.layers)==null?void 0:si.find(k=>k.id==="tide-stations"),(mi=(ci=this.originStyle)==null?void 0:ci.satellite.layers)==null?void 0:mi.find(k=>k.id==="ice-area-fill"),(hi=(di=this.originStyle)==null?void 0:di.satellite.layers)==null?void 0:hi.find(k=>k.id==="ice-area-line"),(gi=(pi=this.originStyle)==null?void 0:pi.satellite.layers)==null?void 0:gi.find(k=>k.id==="empty-layer-3"),(fi=(ui=this.originStyle)==null?void 0:ui.satellite.layers)==null?void 0:fi.find(k=>k.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:[(bi=(yi=this.originStyle)==null?void 0:yi.light.layers)==null?void 0:bi.find(k=>k.id==="land"),(xi=(wi=this.originStyle)==null?void 0:wi.light.layers)==null?void 0:xi.find(k=>k.id==="water"),this.i4.layer,(_i=(ki=this.originStyle)==null?void 0:ki.light.layers)==null?void 0:_i.find(k=>k.id==="ice-area-fill"),(zi=(Li=this.originStyle)==null?void 0:Li.light.layers)==null?void 0:zi.find(k=>k.id==="ice-area-line"),(vi=(Ci=this.originStyle)==null?void 0:Ci.light.layers)==null?void 0:vi.find(k=>k.id==="loadlines-label"),(Ni=(Si=this.originStyle)==null?void 0:Si.light.layers)==null?void 0:Ni.find(k=>k.id==="loadlines-fill"),(Mi=(Pi=this.originStyle)==null?void 0:Pi.light.layers)==null?void 0:Mi.find(k=>k.id==="empty-layer-0"),(Ti=(Vi=this.originStyle)==null?void 0:Vi.light.layers)==null?void 0:Ti.find(k=>k.id==="empty-layer-1"),(Ei=(Di=this.originStyle)==null?void 0:Di.light.layers)==null?void 0:Ei.find(k=>k.id==="empty-layer-2"),(Bi=(Ri=this.originStyle)==null?void 0:Ri.light.layers)==null?void 0:Bi.find(k=>k.id==="country-boundaries"),(Ai=(Ii=this.originStyle)==null?void 0:Ii.light.layers)==null?void 0:Ai.find(k=>k.id==="water-outline"),(Gi=(Fi=this.originStyle)==null?void 0:Fi.light.layers)==null?void 0:Gi.find(k=>k.id==="water-outline2"),(Zi=(Wi=this.originStyle)==null?void 0:Wi.light.layers)==null?void 0:Zi.find(k=>k.id==="world-12nm-v4-20231025"),(ji=(Oi=this.originStyle)==null?void 0:Oi.light.layers)==null?void 0:ji.find(k=>k.id==="ne-10m-outline"),(Xi=(Hi=this.originStyle)==null?void 0:Hi.light.layers)==null?void 0:Xi.find(k=>k.id==="ne-10m-label"),(Ui=(Yi=this.originStyle)==null?void 0:Yi.light.layers)==null?void 0:Ui.find(k=>k.id==="china-route-line"),(Ji=($i=this.originStyle)==null?void 0:$i.light.layers)==null?void 0:Ji.find(k=>k.id==="china-route-fill"),(qi=(Ki=this.originStyle)==null?void 0:Ki.light.layers)==null?void 0:qi.find(k=>k.id==="china-route-label"),(er=(Qi=this.originStyle)==null?void 0:Qi.light.layers)==null?void 0:er.find(k=>k.id==="admin-0-boundary-bg"),(or=(tr=this.originStyle)==null?void 0:tr.light.layers)==null?void 0:or.find(k=>k.id==="admin-0-boundary"),(ir=(ar=this.originStyle)==null?void 0:ar.light.layers)==null?void 0:ir.find(k=>k.id==="admin-0-boundary-disputed"),(lr=(rr=this.originStyle)==null?void 0:rr.light.layers)==null?void 0:lr.find(k=>k.id==="country-label"),(sr=(nr=this.originStyle)==null?void 0:nr.light.layers)==null?void 0:sr.find(k=>k.id==="continent-label"),(mr=(cr=this.originStyle)==null?void 0:cr.light.layers)==null?void 0:mr.find(k=>k.id==="tide-stations"),(hr=(dr=this.originStyle)==null?void 0:dr.light.layers)==null?void 0:hr.find(k=>k.id==="empty-layer-3"),(gr=(pr=this.originStyle)==null?void 0:pr.light.layers)==null?void 0:gr.find(k=>k.id==="empty-layer-4")]}}}}const Zy="",Ef={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 e=new Date().getFullYear();return e>2023?e:2023}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var e;this.simple||(this.right=(((e=document.getElementsByClassName("right-bar")[0])==null?void 0:e.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 Ua(this.token),ne.accessToken="pk.eyJ1IjoibmVhdGNoZW5oZW5nIiwiYSI6ImNsdXM3cnBmODBsemgycW1vaXc1bjV6bXMifQ.w6fqHGRbhNhLvm0LnX4ZVw";const e=new ne.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});e.dragRotate.disable(),e.touchZoomRotate.disableRotation(),e.on("load",()=>{this.zoom=2,this.map=e,this.$emit("menuToggle"),this.addScaleControl()}),e.on("move",()=>{var t;this.zoom=(t=this.map)==null?void 0:t.getZoom()})},addScaleControl(){var t;this.map.addControl(new ne.ScaleControl({maxWidth:120,unit:"nautical"}),"bottom-left");const e=(t=document.getElementsByClassName("mapboxgl-ctrl-scale"))==null?void 0:t[0];e&&(e.className="mapboxgl-ctrl-scale "+this.mapFeather)},handleZoomIn(){var e;this.zoom<=22&&(this.zoom=Math.floor(this.zoom)+1,(e=this.map)==null||e.flyTo({zoom:this.zoom,duration:500}))},handleZoomOut(){var e;this.zoom>2&&(this.zoom=Math.floor(this.zoom)-1,(e=this.map)==null||e.flyTo({zoom:this.zoom,duration:500}))}}},Rf={class:"v-btn--variant-elevated rounded"},Bf={class:"v-btn--variant-elevated rounded"},If={class:"zoom"},Af={key:2,class:"position-absolute left-0 bottom-0 ma-2 my-1 text-caption text-label opacity-70"};function Ff(e,t,a,r,i,l){const n=o.resolveComponent("VBtn");return o.openBlock(),o.createElementBlock("div",{id:"mapbox-initial-gl4",class:"mapbox-initial-gl4 gif-container",style:o.normalizeStyle({height:a.height,width:a.width})},[t[6]||(t[6]=o.createElementVNode("div",{id:"map"},null,-1)),a.simple?(o.openBlock(),o.createElementBlock("div",{key:0,class:"menu-bar-box transition px-1 rounded d-flex flex-column pa-1 simple",style:o.normalizeStyle({top:a.top+254+"px",right:i.right+"px",height:"40px"})},[o.createElementVNode("div",Rf,[o.createVNode(n,{"min-width":"32",width:"32",height:"32",class:"pa-0 elevation-0",onClick:l.initOnlineMap},{default:o.withCtx(()=>t[0]||(t[0]=[o.createElementVNode("i",{class:"iconfont icon-shuaxin text-h4"},null,-1)])),_:1,__:[0]},8,["onClick"])])],4)):o.createCommentVNode("",!0),a.simple?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("div",{key:1,class:"menu-bar-box transition px-1 rounded d-flex flex-column",style:o.normalizeStyle({top:a.top+308+"px",right:i.right+"px",height:"112px"})},[o.createElementVNode("div",Bf,[o.createVNode(n,{"min-width":"32",width:"32",height:"32",class:"pa-0 elevation-0",onClick:l.handleZoomIn},{default:o.withCtx(()=>t[1]||(t[1]=[o.createElementVNode("i",{class:"iconfont icon-a-Zoomin text-h4"},null,-1)])),_:1,__:[1]},8,["onClick"]),o.createElementVNode("div",If,o.toDisplayString(i.zoom?Math.floor(i.zoom):0),1),o.createVNode(n,{"min-width":"32",width:"32",height:"32",class:"elevation-0 pa-0",onClick:l.handleZoomOut},{default:o.withCtx(()=>t[2]||(t[2]=[o.createElementVNode("i",{class:"iconfont icon-a-Zoomout text-h4"},null,-1)])),_:1,__:[2]},8,["onClick"])])],4)),a.simple?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("div",Af,[t[3]||(t[3]=o.createElementVNode("span",null,"© 2023",-1)),o.createElementVNode("span",null,"-"+o.toDisplayString(l.computeYear),1),t[4]||(t[4]=o.createElementVNode("span",{class:"text-uppercase ma-2"},"ormwx.com",-1)),t[5]||(t[5]=o.createElementVNode("a",{class:"text-decoration-underline cursor-pointer text-label",href:"https://beian.miit.gov.cn/",target:"_blank"},"沪ICP备18039043号-6",-1))]))],4)}const $a=X(Ef,[["render",Ff]]),Oy="",Gf={name:"DateRangePicker",props:{width:{type:Number,default:null},height:{type:Number,default:30},position:{type:String,default:"top"},locale:{type:String,default:"en"},timeZone:{type:Number},defaultRange:{type:Array,default:()=>[]},dayAbout:{type:Object,default:()=>({})},fastPick:{type:Object,default:()=>({show:!1,allows:["past7day","past14day","past1month","past3month","past6month","past1mear","lastMonth","lastSeason","lastYear","forward7day","forward14day","forward1month","forward3month"]})}},emits:["dateRange"],data(){return{showDatePicker:!1,minDate:void 0,maxDate:void 0,dateRange:[],dateRangeStr:void 0,activeFastPick:"",fastPickOptions:["past7day","past14day","past1month","past3month","past6month","past1year","lastMonth","lastSeason","lastYear","forward7day","forward14day","forward1month","forward3month"]}},computed:{getStyle(){const e=this.width||226;if(this.position==="top")return{bottom:"40px",left:`-${(630-e)/2}px`};if(this.position==="bottom")return{top:"40px",left:`-${(630-e)/2}px`};if(this.position==="left")return{bottom:"-140px",left:"-636px"};if(this.position==="right")return{bottom:"-140px",right:"-636px"}},timeZoneNames(){return v.tz.names()},timeZoneName(){var e;return(e=this.timeZoneNames.filter(t=>v.tz(v(),t).utcOffset()===this.timeZone*60))==null?void 0:e[0]},utcTimeZoneName(){return"Africa/Abidjan"},localTimeZoneName(){return Intl.DateTimeFormat().resolvedOptions().timeZone||"Asia/Shanghai"},computeTzSimple(){return(e,t,a="yyyy-MM-DD")=>{var r,i;if(e){const l=t||0;return(i=(r=v(e))==null?void 0:r.utcOffset(l))==null?void 0:i.format(a)}return"-"}}},watch:{timeZone:{handler(e,t){e!==t&&(this.handleResetDateRange(),this.handleResetMinMax())}},defaultRange:{handler(e,t){((e==null?void 0:e[0])!==(t==null?void 0:t[0])||(e==null?void 0:e[1])!==(t==null?void 0:t[1]))&&this.handleResetDateRange()},deep:!0}},mounted(){this.handleReset()},unmounted(){this.handleCancelDate()},methods:{handleReset(){this.handleResetDateRange(),this.handleResetMinMax()},handleResetDateRange(){var e;((e=this.defaultRange)==null?void 0:e.length)===2&&(this.dateRange=this.defaultRange,this.dateRangeStr=`${v.tz(this.dateRange[0],this.timeZoneName).format("yyyy-MM-DD")} ~ ${v.tz(this.dateRange[1],this.timeZoneName).format("yyyy-MM-DD")}`,this.$emit("dateRange",[v.tz(this.dateRange[0],this.timeZoneName).set({hour:0,minute:0,second:0,millisecond:0}).format(),v.tz(this.dateRange[1],this.timeZoneName).set({hour:23,minute:59,second:59,millisecond:59}).format()]))},handleResetMinMax(){const e=v.tz(v().format(),this.timeZoneName).clone(),{h:t,f:a}=this.dayAbout;t!=null&&typeof Number(t)=="number"&&!isNaN(t)&&(this.minDate=e.clone().add(t,"day").format("yyyy-MM-DD")),a!=null&&typeof Number(a)=="number"&&!isNaN(a)&&(this.maxDate=e.clone().add(a,"day").format("yyyy-MM-DD"))},handleOpenDatePicker(){this.showDatePicker=!this.showDatePicker},handleFastPick(e){if(e.dateRange){const t=[];switch(e.dateRange){case"past7day":t.push(v.tz(v(),this.timeZoneName).clone().subtract(7,"day").format()),t.push(v.tz(v(),this.timeZoneName).clone().format());break;case"past14day":t.push(v.tz(v(),this.timeZoneName).clone().subtract(14,"day").format()),t.push(v.tz(v(),this.timeZoneName).clone().format());break;case"past1month":t.push(v.tz(v(),this.timeZoneName).clone().add(-1,"month").format()),t.push(v.tz(v(),this.timeZoneName).clone().format());break;case"past3month":t.push(v.tz(v(),this.timeZoneName).clone().add(-3,"month").format()),t.push(v.tz(v(),this.timeZoneName).clone().format());break;case"past6month":t.push(v.tz(v(),this.timeZoneName).clone().add(-6,"month").format()),t.push(v.tz(v(),this.timeZoneName).clone().format());break;case"past1year":t.push(v.tz(v(),this.timeZoneName).clone().add(-12,"month").format()),t.push(v.tz(v(),this.timeZoneName).clone().format());break;case"lastMonth":t.push(v.tz(v(),this.timeZoneName).clone().subtract(1,"month").startOf("month").format()),t.push(v.tz(v(),this.timeZoneName).clone().subtract(1,"month").endOf("month").format());break;case"lastSeason":t.push(v.tz(v(),this.timeZoneName).clone().startOf("quarter").subtract(3,"months").startOf("month").format()),t.push(v.tz(v(),this.timeZoneName).clone().startOf("quarter").subtract(1,"day").endOf("month").format());break;case"lastYear":t.push(v.tz(v(),this.timeZoneName).clone().subtract(1,"year").startOf("year").format()),t.push(v.tz(v(),this.timeZoneName).clone().subtract(1,"year").endOf("year").format());break;case"forward7day":t.push(v.tz(v(),this.timeZoneName).clone().format()),t.push(v.tz(v(),this.timeZoneName).clone().add(7,"day").format());break;case"forward14day":t.push(v.tz(v(),this.timeZoneName).clone().format()),t.push(v.tz(v(),this.timeZoneName).clone().add(14,"day").format());break;case"forward1month":t.push(v.tz(v(),this.timeZoneName).clone().format()),t.push(v.tz(v(),this.timeZoneName).clone().add(1,"month").format());break;case"forward3month":t.push(v.tz(v(),this.timeZoneName).clone().format()),t.push(v.tz(v(),this.timeZoneName).clone().add(3,"month").format());break}this.dateRange=t,this.activeFastPick=e.dateRange}},handleConfirmDate(){var t;const e=[this.dateRange[0],this.dateRange[((t=this.dateRange)==null?void 0:t.length)-1]];this.dateRangeStr=`${v(e[0]).format("yyyy-MM-DD")} ~ ${v(e[1]).format("yyyy-MM-DD")}`,this.$emit("dateRange",[v.tz(e[0],this.timeZoneName).set({year:v(e[0]).year(),month:v(e[0]).month(),date:v(e[0]).date(),hour:0,minute:0,second:0,millisecond:0}).format(),v.tz(e[1],this.timeZoneName).set({year:v(e[1]).year(),month:v(e[1]).month(),date:v(e[1]).date(),hour:23,minute:59,second:59,millisecond:59}).format()]),this.showDatePicker=!1},handleCancelDate(){this.showDatePicker=!1},handleClickOutside(e){const t=this.$refs.idmGl4Timepicker;t&&!t.contains(e.target)&&(this.showDatePicker=!1)},handleClearDate(){this.dateRange=[],this.dateRangeStr="",this.$emit("dateRange",[])}}},Wf={class:"idm-gl4-date-picker",ref:"idmGl4DatePicker"},Zf={class:"flex-1-1-0"},Of={class:"pa-0 w-100 d-flex justify-space-between align-center ga-4"},jf={key:0,class:"d-flex justify-start align-center flex-wrap ga-3 ml-n2"},Hf={class:"flex-1-1-0 d-flex justify-end align-center ga-4"};function Xf(e,t,a,r,i,l){const n=o.resolveComponent("VIcon"),c=o.resolveComponent("VDatePicker"),s=o.resolveComponent("v-divider"),m=o.resolveComponent("VCardText"),d=o.resolveComponent("VDivider"),h=o.resolveComponent("VBtn"),u=o.resolveComponent("VCardActions"),y=o.resolveComponent("VCard");return o.openBlock(),o.createElementBlock("div",Wf,[o.createElementVNode("div",{style:o.normalizeStyle({height:a.height+"px",width:a.width?a.width+"px":"auto"}),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]=(...g)=>l.handleOpenDatePicker&&l.handleOpenDatePicker(...g))},[o.createElementVNode("span",Zf,o.toDisplayString(i.dateRangeStr),1),i.dateRangeStr?(o.openBlock(),o.createBlock(n,{key:0,class:"text-h5",icon:"mdi-close-circle",style:{opacity:"0.4"},onClick:o.withModifiers(l.handleClearDate,["stop"])},null,8,["onClick"])):o.createCommentVNode("",!0)],4),i.showDatePicker?(o.openBlock(),o.createBlock(y,{key:0,class:"card-box d-flex flex-column border elevation-12",style:o.normalizeStyle(l.getStyle)},{default:o.withCtx(()=>[o.createVNode(m,{class:"w-100 flex-1-1-0 d-flex pa-0"},{default:o.withCtx(()=>[o.createElementVNode("div",Of,[o.createVNode(c,{modelValue:i.dateRange[0],"onUpdate:modelValue":[t[1]||(t[1]=g=>i.dateRange[0]=g),t[2]||(t[2]=g=>{i.activeFastPick=void 0})],min:i.minDate,max:i.maxDate,"weekday-format":"narrow",color:"primary",density:"compact",class:"w-100","hide-header":"","no-month-picker":!0},null,8,["modelValue","min","max"]),o.createVNode(s,{vertical:"",class:"my-2"}),o.createVNode(c,{modelValue:i.dateRange[1],"onUpdate:modelValue":[t[3]||(t[3]=g=>i.dateRange[1]=g),t[4]||(t[4]=g=>{i.activeFastPick=void 0})],min:i.minDate,max:i.maxDate,"weekday-format":"narrow",color:"primary",density:"compact",class:"w-100","hide-header":"","no-month-picker":!0},null,8,["modelValue","min","max"])])]),_:1}),o.createVNode(d),o.createVNode(u,{class:"w-100 d-flex justify-space-between align-center pa-0 px-4",style:{height:"50px"}},{default:o.withCtx(()=>{var g,p;return[(g=a.fastPick)!=null&&g.show?(o.openBlock(),o.createElementBlock("div",jf,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList((p=i.fastPickOptions)==null?void 0:p.filter(f=>a.fastPick.allows.some(x=>x===f)),f=>(o.openBlock(),o.createBlock(h,{size:"small",color:i.activeFastPick===f?"primary":"",variant:i.activeFastPick===f?"tonal":"text",class:"text-none text-body-2 px-1",onClick:x=>l.handleFastPick({dateRange:f})},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("time."+f)),1)]),_:2},1032,["color","variant","onClick"]))),256))])):o.createCommentVNode("",!0),o.createElementVNode("div",Hf,[o.createVNode(h,{size:"small",variant:"tonal",class:"text-none text-body-1 px-4",onClick:l.handleCancelDate},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.cancel")),1)]),_:1},8,["onClick"]),o.createVNode(h,{size:"small",variant:"flat",color:"primary",class:"text-none text-body-1 px-4",onClick:l.handleConfirmDate},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.confirm")),1)]),_:1},8,["onClick"])])]}),_:1})]),_:1},8,["style"])):o.createCommentVNode("",!0)],512)}const Ja=X(Gf,[["render",Xf]]),Yf={install(e){e.component("MapInitial",$a),e.component("MapboxGL",Ya),e.component("TropicalGL",Ho),e.component("LatLngGL",jo),e.component("DateTimePicker",qe),e.component("DateRangePicker",Ja),e.component("PortDetail",To),e.component("TimePlayer",na)}};function Uf(e){return typeof e=="string"&&/^data:image\/svg\+xml/i.test(e)}function $f(e){let t=e.indexOf(",");return t>=0?decodeURIComponent(e.slice(t+1)):""}function Jf(e){return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`}function Kf(e){let t=[],a="",r=0;for(let i=0;i<e.length;i++){let l=e[i];l==="("&&r++,l===")"&&(r=Math.max(0,r-1)),l===";"&&r===0?(t.push(a),a=""):a+=l}return a.trim()&&t.push(a),t.map(i=>i.trim()).filter(Boolean)}function qf(e){let t=[],a="",r=0;for(let l=0;l<e.length;l++){let n=e[l];n==="("&&r++,n===")"&&(r=Math.max(0,r-1)),n===","&&r===0?(t.push(a.trim()),a=""):a+=n}a.trim()&&t.push(a.trim());let i=[];for(let l of t){if(/\binset\b/i.test(l))continue;let n=l.match(/-?\d+(?:\.\d+)?px/gi)||[],[c="0px",s="0px",m="0px"]=n,d=l.replace(/-?\d+(?:\.\d+)?px/gi,"").replace(/\binset\b/ig,"").trim().replace(/\s{2,}/g," "),h=!!d&&d!==",";i.push(`drop-shadow(${c} ${s} ${m}${h?` ${d}`:""})`)}return i.join(" ")}function Ka(e){let t=Kf(e),a=null,r=null,i=null,l=[];for(let c of t){let s=c.indexOf(":");if(s<0)continue;let m=c.slice(0,s).trim().toLowerCase(),d=c.slice(s+1).trim();m==="box-shadow"?i=d:m==="filter"?a=d:m==="-webkit-filter"?r=d:l.push([m,d])}if(i){let c=qf(i);c&&(a=a?`${a} ${c}`:c,r=r?`${r} ${c}`:c)}let n=[...l];return a&&n.push(["filter",a]),r&&n.push(["-webkit-filter",r]),n.map(([c,s])=>`${c}:${s}`).join(";")}function Qf(e){return e.replace(/([^{}]+)\{([^}]*)\}/g,(t,a,r)=>`${a}{${Ka(r)}}`)}function ey(e){return e=e.replace(/<style[^>]*>([\s\S]*?)<\/style>/gi,(t,a)=>t.replace(a,Qf(a))),e=e.replace(/style=(['"])([\s\S]*?)\1/gi,(t,a,r)=>`style=${a}${Ka(r)}${a}`),e}function ty(e){if(!Fe()||!Uf(e))return e;try{let t=$f(e),a=ey(t);return Jf(a)}catch{return e}}async function Zo(e,t){let{width:a,height:r,scale:i=1,dpr:l=1,meta:n={},backgroundColor:c}=t;e=ty(e);let s=new Image;s.loading="eager",s.decoding="sync",s.crossOrigin="anonymous",s.src=e,await s.decode();let m=s.naturalWidth,d=s.naturalHeight,h=Number.isFinite(n.w0)?n.w0:m,u=Number.isFinite(n.h0)?n.h0:d,y,g,p=Number.isFinite(a),f=Number.isFinite(r);if(p&&f)y=Math.max(1,a),g=Math.max(1,r);else if(p){let w=a/Math.max(1,h);y=a,g=u*w}else if(f){let w=r/Math.max(1,u);g=r,y=h*w}else y=m,g=d;y=y*i,g=g*i;let x=document.createElement("canvas");x.width=y*l,x.height=g*l,x.style.width=`${y}px`,x.style.height=`${g}px`;let L=x.getContext("2d");return l!==1&&L.scale(l,l),c&&(L.save(),L.fillStyle=c,L.fillRect(0,0,y,g),L.restore()),L.drawImage(s,0,0,y,g),x}async function qa(e,t){let a=await Zo(e,t),r=new Image;return r.src=a.toDataURL(`image/${t.format}`,t.quality),await r.decode(),r.style.width=`${a.width/t.dpr}px`,r.style.height=`${a.height/t.dpr}px`,r}async function Qa(e,t){let{scale:a=1,width:r,height:i,meta:l={}}=t,n=Number.isFinite(r),c=Number.isFinite(i),s=Number.isFinite(a)&&a!==1||n||c;if(Fe()&&s)return await qa(e,{...t,format:"png",quality:1,meta:l});let m=new Image;if(m.decoding="sync",m.loading="eager",m.src=e,await m.decode(),n&&c)m.style.width=`${r}px`,m.style.height=`${i}px`;else if(n){let d=Number.isFinite(l.w0)?l.w0:m.naturalWidth,h=Number.isFinite(l.h0)?l.h0:m.naturalHeight,u=r/Math.max(1,d);m.style.width=`${r}px`,m.style.height=`${Math.round(h*u)}px`}else if(c){let d=Number.isFinite(l.w0)?l.w0:m.naturalWidth,h=Number.isFinite(l.h0)?l.h0:m.naturalHeight,u=i/Math.max(1,h);m.style.height=`${i}px`,m.style.width=`${Math.round(d*u)}px`}else{let d=Math.round(m.naturalWidth*a),h=Math.round(m.naturalHeight*a);if(m.style.width=`${d}px`,m.style.height=`${h}px`,typeof e=="string"&&e.startsWith("data:image/svg+xml"))try{let u=decodeURIComponent(e.split(",")[1]).replace(/width="[^"]*"/,`width="${d}"`).replace(/height="[^"]*"/,`height="${h}"`);e=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(u)}`,m.src=e}catch{}}return m}const Oo=Object.freeze(Object.defineProperty({__proto__:null,toImg:Qa,toSvg:Qa},Symbol.toStringTag,{value:"Module"})),ei=Object.freeze(Object.defineProperty({__proto__:null,toCanvas:Zo},Symbol.toStringTag,{value:"Module"}));async function ti(e,t){let a=t.type;if(a==="svg"){let i=decodeURIComponent(e.split(",")[1]);return new Blob([i],{type:"image/svg+xml"})}let r=await Zo(e,t);return new Promise(i=>r.toBlob(l=>i(l),`image/${a}`,t.quality))}const oi=Object.freeze(Object.defineProperty({__proto__:null,toBlob:ti},Symbol.toStringTag,{value:"Module"})),Ge=Object.freeze(Object.defineProperty({__proto__:null,rasterize:qa},Symbol.toStringTag,{value:"Module"}));async function oy(e,t){let a=((t==null?void 0:t.format)||(t==null?void 0:t.type)||"").toLowerCase(),r=a==="jpg"?"jpeg":a||"png",i=(t==null?void 0:t.filename)||`snapdom.${r}`,l={...t||{},format:r,type:r};if(l.dpr=1,r==="svg"){let s=await ti(e,{...l,type:"svg"}),m=URL.createObjectURL(s),d=document.createElement("a");d.href=m,d.download=i,d.click(),URL.revokeObjectURL(m);return}let n=await Zo(e,l),c=document.createElement("a");c.href=n.toDataURL(`image/${r}`,t==null?void 0:t.quality),c.download=i,c.click()}const ay=Object.freeze(Object.defineProperty({__proto__:null,download:oy},Symbol.toStringTag,{value:"Module"}));oe.DateRangePicker=Ja,oe.DateTimePicker=qe,oe.LatLngGL=jo,oe.MapInitial=$a,oe.MapboxGL=Ya,oe.MapboxGLPlugin=Yf,oe.MapboxStyleHelper=Ua,oe.ParticleSchema=ze,oe.PortDetail=To,oe.TimePlayer=na,oe.TropicalGL=Ho,oe.Viewport=Do,oe.WebGL=Me,oe.WebGLSchema=ue,Object.defineProperty(oe,Symbol.toStringTag,{value:"Module"})});