PageSourceSearch

https://www.mierune.co.jp/_app/immutable/nodes/8.BINuStN0.js

js mierune.co.jp collected 2026-09-24 08:53:45 UTC 977,160 bytes, 704 lines download raw bytes

1import{A as e,C as t,E as n,G as r,I as i,K as a,M as o,N as s,O as c,Q as l,R as u,S as d,T as f,V as p,X as m,Y as h,Z as g,_t as _,a as v,at as y,bt as b,c as x,ct as S,d as C,f as w,gt as T,it as E,j as D,k as O,l as k,lt as A,m as ee,n as te,o as j,p as ne,pt as re,r as M,rt as ie,s as ae,st as oe,tt as se,ut as ce,vt as le,w as N,x as P,yt as ue}from"../chunks/5kvwrIzC.js";import{n as F}from"../chunks/BXiaQxS6.js";import"../chunks/xihTtKlq.js";import"../chunks/BWRUCg8O.js";import{t as de}from"../chunks/CYBUuitE.js";import{t as fe}from"../chunks/APdc2GdC.js";import{t as I}from"../chunks/CBhNILiD.js";import{t as pe}from"../chunks/DsMudfON.js";import{t as me}from"../chunks/CNGAXcsU.js";import{n as he,r as ge}from"../chunks/CTvFLTCC.js";import{a as _e,c as ve,i as ye,l as be,n as xe,o as Se,r as Ce,s as we,t as Te,u as Ee}from"../chunks/CxSv7m3L2.js";import{n as De}from"../chunks/Dx31ZHI22.js";var Oe=e=>`${e?.name}のプロフィール画像`,ke=e=>`Profile picture of ${e?.name}`,Ae=((e,t={})=>(t.locale??F())===`en`?ke(e):Oe(e)),je=e=>`${e?.name}のGitHubアバター`,Me=e=>`GitHub avatar of ${e?.name}`,L=((e,t={})=>(t.locale??F())===`en`?Me(e):je(e)),Ne=()=>`MIERUNEの会社概要や理念、メンバーを紹介します。`,Pe=()=>`Learn about MIERUNE's mission, values, team, and company profile.`,Fe=((e={},t={})=>(t.locale??F())===`en`?Pe(e):Ne(e)),Ie=()=>`私たちについて`,Le=()=>`About us`,Re=((e={},t={})=>(t.locale??F())===`en`?Le(e):Ie(e)),ze=()=>`ミーティング風景`,Be=()=>`A team meeting at MIERUNE`,Ve=((e={},t={})=>(t.locale??F())===`en`?Be(e):ze(e)),He=()=>`オフィス風景`,Ue=()=>`MIERUNE office`,R=((e={},t={})=>(t.locale??F())===`en`?Ue(e):He(e)),We=()=>`MIERUNE創業者`,Ge=()=>`MIERUNE founders`,Ke=((e={},t={})=>(t.locale??F())===`en`?Ge(e):We(e)),qe=()=>`わたしたちのいとなみには、いつも「位置」があります。
2あなたの産まれた病院、変わりゆく車窓、あのひとの住むまち…`,z=()=>`We founded MIERUNE in 2016, out of Hokkaido's geospatial open-source community,`,B=((e={},t={})=>(t.locale??F())===`en`?z(e):qe(e)),V=()=>`ずいぶんむかし、ひとびとは獲物のありかを洞窟に描き、北極星をたよりに世界へ漕ぎ出しました。`,Je=()=>`because we saw something the industry was underusing: location data, and how much more of it the world was starting to produce.`,Ye=((e={},t={})=>(t.locale??F())===`en`?Je(e):V(e)),Xe=()=>`それがいまや、位置はもっと自由で、より身近なものになりました。
3手のひらの中でおいしいお店を探し出し、その軒先であのひとと待ち合わせができる。
4そのいとなみのなかで、星の数ほどの位置が生まれ続けています。`,H=()=>`Our conviction was straightforward. This data holds enormous potential, and in the right hands it can change how society works — how cities are planned, how services reach people, how decisions get made.`,Ze=((e={},t={})=>(t.locale??F())===`en`?H(e):Xe(e)),Qe=()=>`こうして位置の世界が大きく変わりはじめた2016年、
5北海道のオープンソースコミュニティから、MIERUNEは誕生しました。`,$e=()=>`Turning that potential into real results is the work we set out to do.`,et=((e={},t={})=>(t.locale??F())===`en`?$e(e):Qe(e)),tt=()=>`位置には、まだ見ぬ可能性が眠っているはずだ。
6あまたの光によって、社会を変える新しい潮流がつくりだせるんじゃないか。
7そんな思いがわたしたちを突き動かしました。`,nt=()=>`Since then, MIERUNE has grown into a team of engineers and specialists who share that ambition.`,rt=((e={},t={})=>(t.locale??F())===`en`?nt(e):tt(e)),it=()=>`やがて、その思いに引き寄せられたひとびとが、MIERUNEにつどいはじめました。
8尽きない好奇心と、知恵の結晶をそなえた仲間たち…
9そんなチームの情熱によって、様々な課題を位置の力で解決する、新たな航路が開拓されていったのです。`,at=()=>`We build the products, solutions, and expertise that put geospatial data to work for our clients,`,ot=((e={},t={})=>(t.locale??F())===`en`?at(e):it(e)),st=()=>`もはや、位置は単なる地図上の「点」ではありません。
10それは人と人をつなぐ「線」になり、社会を包み込む「面」となっています。
11そして、ひとびとのいとなみが続く限り、位置の輝きが途切れることはないでしょう。`,ct=()=>`and we contribute back to the open-source ecosystem that made us possible.`,lt=((e={},t={})=>(t.locale??F())===`en`?ct(e):st(e)),ut=()=>`わたしたちは、そんな光をたよりに、あなたと共に旅を続けていきたいのです。
12かつてのひとびとがそうやってきたように。`,dt=()=>`We are only at the start of what this technology can do.`,ft=((e={},t={})=>(t.locale??F())===`en`?dt(e):ut(e)),pt=()=>`MIERUNEの冒険は、まだ始まったばかりです。`,mt=()=>`Geospatial for Greater Good.`,ht=((e={},t={})=>(t.locale??F())===`en`?mt(e):pt(e)),gt=()=>`位置から、価値へ。`,_t=()=>`Geospatial for Greater Good.`,vt=((e={},t={})=>(t.locale??F())===`en`?_t(e):gt(e)),yt=()=>
12`大切にしていること`,bt=()=>`Our values`,xt=((e={},t={})=>(t.locale??F())===`en`?bt(e):yt(e)),St=()=>`Be Ambitious`,Ct=()=>`Be Ambitious`,wt=((e={},t={})=>(t.locale??F())===`en`?Ct(e):St(e)),Tt=()=>`大志を抱け`,Et=()=>`Aim High`,Dt=((e={},t={})=>(t.locale??F())===`en`?Et(e):Tt(e)),U=()=>`わたしたちは、北海道で生まれた位置情報技術のプロフェッショナル集団です。世界をリードするサービスを提供し、挑戦し続け、まだ見ぬ最先端を切りひらいていきます。開拓者精神を胸に、新たな産業を創ります。`,Ot=()=>`We are a team of geospatial technology specialists from Hokkaido. We set out to build services that lead the field, to keep taking on hard problems, and to work at the edge of what geospatial technology can do — with the intent of creating new industries, not only serving existing ones.`,kt=((e={},t={})=>(t.locale??F())===`en`?Ot(e):U(e)),At=()=>`Beyond, Together`,jt=()=>`Beyond, Together`,Mt=((e={},t={})=>(t.locale??F())===`en`?jt(e):At(e)),W=()=>`みんなで遠くへ`,Nt=()=>`Go Far Together`,Pt=((e={},t={})=>(t.locale??F())===`en`?Nt(e):W(e)),Ft=()=>`わたしたちは、オープンソースのコミュニティから生まれた営利企業です。メンバーが協力し合い、クライアントと伴走し、多様な業界へ貢献します。「はやく行くなら一人で、もっと遠くへ行くならみんなで」という信念を原動力にして進みます。`,It=()=>`We are a commercial company with roots in open source. We work closely with one another, alongside our clients, and across a wide range of industries. One idea drives us: if you want to go fast, go alone; if you want to go far, go together.`,Lt=((e={},t={})=>(t.locale??F())===`en`?It(e):Ft(e)),Rt=()=>`Enjoy The Journey!`,zt=()=>`Enjoy The Journey!`,Bt=((e={},t={})=>(t.locale??F())===`en`?zt(e):Rt(e)),Vt=()=>`旅を楽しもう!`,Ht=()=>`Enjoy the Journey!`,Ut=((e={},t={})=>(t.locale??F())===`en`?Ht(e):Vt(e)),G=()=>`わたしたちは、内側からこみ上げる気持ちを大切にしているチームです。どんなことでも「やってみよう!」という情熱が最高の燃料だと信じています。それぞれの個性から生まれるグルーヴを力に変えて、冒険を続けます。`,Wt=()=>`We are a team that values genuine, self-driven motivation. We believe a readiness to say "let's try it" is the best fuel there is, and we turn the mix of strengths each person brings into momentum that keeps the work — and the adventure — moving forward.`,K=((e={},t={})=>(t.locale??F())===`en`?Wt(e):G(e)),q=()=>`なかまたち`,Gt=()=>`Our team`,J=((e={},t={})=>(t.locale??F())===`en`?Gt(e):q(e)),Kt=()=>`Management Team`,qt=()=>`Management Team`,Jt=((e={},t={})=>(t.locale??F())===`en`?qt(e):Kt(e)),Yt=()=>`Members`,Xt=()=>`Members`,Zt=((e={},t={})=>(t.locale??F())===`en`?Xt(e):Yt(e)),Qt=()=>`共同創業者`,$t=()=>`Co-Founder`,en=((e={},t={})=>(t.locale??F())===`en`?$t(e):Qt(e)),tn=()=>`桐本 靖規`,nn=()=>`Yasunori Kirimoto`,rn=((e={},t={})=>(t.locale??F())===`en`?nn(e):tn(e)),an=()=>`Yasunori Kirimoto`,on=()=>`桐本 靖規`,sn=((e={},t={})=>(t.locale??F())===`en`?on(e):an(e)),cn=()=>`代表取締役 CEO`,ln=()=>`Representative Director & CEO`,un=((e={},t={})=>(t.locale??F())===`en`?ln(e):cn(e)),dn=()=>`Co-Founder and CEO`,fn=()=>`Co-Founder and CEO`,pn=((e={},t={})=>(t.locale??F())===`en`?fn(e):dn(e)),mn=()=>`2004年より位置情報分野に従事。GIS専門会社や建設コンサルタントを経て、2016年にMIERUNEを共同創業。取締役CTO、取締役COOを歴任したのち、現在は代表取締役CEOとして経営全般を担う。`,hn=()=>`Yasunori Kirimoto has worked in the geospatial field since 2004. After roles at a specialist GIS company and a construction consultancy, he co-founded MIERUNE in 2016. He served as CTO and then COO before taking his current role as Representative Director and CEO, leading the company overall.`,gn=((e={},t={})=>(t.locale??F())===`en`?hn(e):mn(e)),_n=()=>`測量士・GIS上級技術者としての専門性を有し、20年以上にわたる位置情報データやアプリケーションに関する知識と経験から、技術と経営の両面でMIERUNEの事業成長を推進している。`,vn=()=>`A licensed surveyor and Senior GIS Engineer, he draws on more than 20 years of experience with geospatial data and applications to drive MIERUNE's growth on both the technical and business sides.`,yn=((e={},t={})=>(t.locale??F())===`en`?vn(e):_n(e)),bn=()=>`位置情報分野におけるAWS活用にいち早く着目し、2022年にAWS Heroに選出。DevToolsカテゴリとしては日本人で初めてとなった。MapLibre User Group Japanã
12®ç«‹ã¡ä¸Šã’にも携わるなど、位置情報業界とオープンソースコミュニティの発展に尽力している。`,xn=()=>`An early advocate for using AWS in the geospatial field, he was named an AWS Hero in 2022 — the first person in Japan to receive the honor in the DevTools category. He also helped launch the MapLibre User Group Japan, and continues to support the growth of the geospatial industry and the open-source community.`,Sn=((e={},t={})=>(t.locale??F())===`en`?xn(e):bn(e)),Cn=()=>`古川 泰人`,wn=()=>`Yasuto Furukawa`,Tn=((e={},t={})=>(t.locale??F())===`en`?wn(e):Cn(e)),En=()=>`Yasuto Furukawa`,Dn=()=>`古川 泰人`,On=((e={},t={})=>(t.locale??F())===`en`?Dn(e):En(e)),kn=()=>`取締役 エヴァンジェリスト`,An=()=>`Director & Evangelist`,jn=((e={},t={})=>(t.locale??F())===`en`?An(e):kn(e)),Mn=()=>`Co-Founder and Evangelist`,Nn=()=>`Co-Founder and Evangelist`,Pn=((e={},t={})=>(t.locale??F())===`en`?Nn(e):Mn(e)),Fn=()=>`北海道大学研究員や建設コンサルタントを経て、2016年にMIERUNEを共同創業。取締役エヴァンジェリストとして、地理空間分野における事業戦略立案、対外アライアンス推進、技術ブランディングを担う。`,In=()=>`After working as a researcher at Hokkaido University and at a construction consultancy, Yasuto Furukawa co-founded MIERUNE in 2016. As Director and Evangelist, he leads business strategy, external alliances, and technical branding in the geospatial field.`,Ln=((e={},t={})=>(t.locale??F())===`en`?In(e):Fn(e)),Rn=()=>`Code for Japanフェロー、国土交通省地理空間情報課ラボ スペシャルサポーターを務めるなど、全国の自治体・企業・コミュニティとの連携を推進し、研究・行政・民間を横断する立場から公共性と持続可能性を両立に取り組んでいる。`,zn=()=>`He serves as a Code for Japan Fellow and a Special Supporter of the Geospatial Information Lab at Japan's Ministry of Land, Infrastructure, Transport and Tourism (MLIT), building partnerships with local governments, companies, and communities nationwide and working across research, government, and industry to balance public value with sustainability.`,Bn=((e={},t={})=>(t.locale??F())===`en`?zn(e):Rn(e)),Vn=()=>`また情報処理推進機構(IPA)オープンソース専門委員、デジタル庁推奨データセット検討委員を歴任するなど、地理空間情報を主軸に、オープンデータおよびオープンソースの標準化・政策設計・社会実装に関与している。酪農学園大学客員講師。`,Hn=()=>`He has also served as an open-source committee member at the Information-technology Promotion Agency (IPA) and on the Digital Agency's recommended-datasets committee, contributing to the standardization, policy design, and real-world adoption of open data and open source, with geospatial information at the core. He is a visiting lecturer at Rakuno Gakuen University.`,Un=((e={},t={})=>(t.locale??F())===`en`?Hn(e):Vn(e)),Wn=()=>`森 亮`,Gn=()=>`Toru Mori`,Kn=((e={},t={})=>(t.locale??F())===`en`?Gn(e):Wn(e)),qn=()=>`Toru Mori`,Jn=()=>`森 亮`,Yn=((e={},t={})=>(t.locale??F())===`en`?Jn(e):qn(e)),Xn=()=>`取締役`,Zn=()=>`Executive Director`,Qn=((e={},t={})=>(t.locale??F())===`en`?Zn(e):Xn(e)),$n=()=>`Executive Director`,er=()=>`Executive Director`,tr=((e={},t={})=>(t.locale??F())===`en`?er(e):$n(e)),nr=()=>`地図会社、米国GISベンダーを経て、2002年にオープンソースGIS事業を展開するオークニーを創業。2017年からは米国Appleのマップ部門に勤務し、その後はHERE Technologiesで日本向けの製品展開に携わった。`,rr=()=>`After working at a mapping company and a US GIS vendor, Toru Mori founded Orkney Inc. in 2002 to build an open-source GIS business. From 2017 he worked in Apple's Maps division in the United States, and later led product development for the Japanese market at HERE Technologies.`,ir=((e={},t={})=>(t.locale??F())===`en`?rr(e):nr(e)),ar=()=>`2019年にMIERUNEの経営に参画。2025年からは常勤取締役として、事業計画の策定やプロダクト開発の推進を担う。`,or=()=>`He joined MIERUNE's management in 2019 and, since 2025, has served as a full-time Executive Director responsible for business planning and product development.`,sr=((e={},t={})=>(t.locale??F())===`en`?or(e):ar(e)),cr=()=>`OSGeo日本支部の設立やQGISの日本語対応プロジェクトの代表を務めるなど、日本国内におけるオープンソースGISソフトウェアの普及に大きく貢献し、2023年にはGIS名誉上級技術者に認定された。一般社団法人OSGeo日本支部監事。青山学院大学非常勤講師。`,lr=()=>`He has contributed significantly to the spread of open-source GIS software in Japan — founding the OSGeo Japan chapter and leading the Japanese localization project for QGIS — and was certified as an Honorary Senior GIS Engineer in 2023. He serves as an auditor of OSGeo Japan and is a part-time lecturer at Aoyama Gakuin University.`,ur=((e={},t={})=>(t.locale??F())===`en`?lr(e):cr(e)),dr=()=>`山本 明彦`,fr=()=>`Akihiko Yamamoto`,pr=((e={},t={})=>(t.locale??F())===`en`?fr(e):dr(e)),mr=()=>`Akihiko Yamamoto`,hr=()=>`山本 明彦`,gr=((e={},t={})=>(t.locale??F())===`en`?hr(e):mr(e)),_r=()=>`非常勤監査役`,vr=()=>`Outside Auditor`,yr=((e={},t={})=>(t.locale??F())===`en`?vr(e):_r(e)),br=()=>`Auditor`,xr=()=>`Auditor`,Sr=((e={},t={})=>(t.locale??F())===`en`?xr(e):br(e)),Cr=()=>`1980年株式会社北海道銀行に入行。その後、株式会社ソフトフロントCFOなどを経て、2005年山本コンサルティングオフィスを設立。`,wr=()=>`Akihiko Yamamoto joined The Hokkaido Bank in 1980. He later served as CFO of Softfront Inc. and, in 2005, established Yamamoto Consulting Office.`,Tr=((e={},t={})=>(t.locale??F())===`en`?wr(e):Cr(e)),Er=()=>`コンサルティング業の経営者として様々な企業における社外監査役、サツドラホールディングス株式会社などの社外取締役を歴任。2025年当社社外監査役に就任。`,Dr=()=>`As a consulting-firm principal, he has held roles as external auditor and outside director at a range of companies, including Satudora Holdings Co., Ltd. He was appointed as an outside auditor of MIERUNE in 2025.`,Or=((e={},t={})=>(t.locale??F())===`en`?Dr(e):Er(e)),kr=()=>`Company Info`,Ar=()=>`Company Info`,jr=((e={},t={})=>(t.locale??F())===`en`?Ar(e):kr(e)),Mr=()=>`社名`,Nr=()=>`Company`,Pr=((e={},t={})=>(t.locale??F())===`en`?Nr(e):Mr(e)),Fr=()=>`MIERUNE Inc. (株式会社MIERUNE)`,Ir=()=>`MIERUNE Inc.`,Lr=((e={},t={})=>(t.locale??F())===`en`?Ir(e):Fr(e)),Rr=()=>`設立`,zr=()=>`Founded`,Br=((e={},t={})=>(t.locale??F())===`en`?zr(e):Rr(e)),Vr=()=>`2016å¹´6月 (MIERUNE,LLC. 期間含む)`,Hr=()=>`June 2016 (including the MIERUNE, LLC. period)`,Ur=((e={},t={})=>(t.locale??F())===`en`?Hr(e):Vr(e)),Wr=()=>`資本金`,Gr=()=>`Capital`,Y=((e={},t={})=>(t.locale??F())===`en`?Gr(e):Wr(e)),Kr=e=>`${e?.amount}円`,qr=e=>`Â¥${e?.amount}`,Jr=((e,t={})=>(t.locale??F())===`en`?qr(e):Kr(e)),Yr=()=>`代表取締役 CEO`,Xr=()=>`Representative Director & CEO`,Zr=((e={},t={})=>(t.locale??F())===`en`?Xr(e):Yr(e)),Qr=()=>`桐本靖規`,$r=()=>`Yasunori Kirimoto`,ei=((e={},t={})=>(t.locale??F())===`en`?$r(e):Qr(e)),ti=()=>`従業員数`,ni=()=>`Employees`,ri=((e={},t={})=>(t.locale??F())===`en`?ni(e):ti(e)),ii=e=>`${e?.count}名(${e?.date}現在)`,ai=e=>`${e?.count} (as of ${e?.date})`,oi=((e,t={})=>(t.locale??F())===`en`?ai(e):ii(e)),si=()=>`事業内容`,ci=()=>`Business`,li=((e={},t={})=>(t.locale??F())===`en`?ci(e):si(e)),ui=()=>`ITや地理空間情報を活用した業務改善・開発のコンサルティング`,di=()=>`Consulting for operational improvement and development using IT and geospatial information`,fi=((e={},t={})=>(t.locale??F())===`en`?di(e):ui(e)),pi=()=>`ITや地理空間情報に関する研修・講演会の企画運営`,mi=()=>`Planning and running training programs and lectures on IT and geospatial information`,hi=((e={},t={})=>(t.locale??F())===`en`?mi(e):pi(e)),gi=()=>`Webサイト・Webサービス・ソフトウェアの企画・研究・開発・運営`,_i=()=>`Planning, research, and development of websites, web services, and software`,vi=((e={},t={})=>(t.locale??F())===`en`?_i(e):gi(e)),yi=()=>`データベースの企画構築解析支援やコンサルティング`,bi=()=>`Database design and construction, and analysis support and consulting`,xi=((e={},t={})=>(t.locale??F())===`en`?bi(e):yi(e)),Si=()=>`資格・認証`,Ci=()=>`Qualifications & Certifications`,wi=((e={},t={})=>(t.locale??F())===`en`?Ci(e):Si(e)),Ti=()=>`技術士 (建設部門)`,Ei=()=>`Professional Engineer (Construction)`,Di=((e={},t={})=>(t.locale??F())===`en`?Ei(e):Ti(e)),Oi=()=>`測量士`,ki=()=>`Licensed Surveyor`,Ai=((e={},t={})=>(t.locale??F())===`en`?ki(e):Oi(e)),ji=()=>`GIS上級技術者`,Mi=()=>`Senior GIS Engineer`,Ni=((e={},t={})=>(t.locale??F())===`en`?Mi(e):ji(e)),Pi=()=>`応用情報技術者`,Fi=()=>`Applied Information Technology Engineer`,Ii=((e={},t={})=>(t.locale??F())===`en`?Fi(e):Pi(e)),Li=()=>`所属団体`,Ri=()=>`Memberships`,zi=((e={},t={})=>(t.locale??F())===`en`?Ri(e):Li(e)),Bi=()=>`OSGeo日本支部 (OSGeo.JP)`,Vi=()=>`OSGeo Japan (OSGeo.JP)`,Hi=((e={},t={})=>(t.locale??F())===`en`?Vi(e):Bi(e)),Ui=()=>`(一社)社会基盤情報流通推進協議会 (AIGID)`,Wi=()=>
12`Association for Promotion of Infrastructure Geospatial Information Distribution (AIGID)`,Gi=((e={},t={})=>(t.locale??F())===`en`?Wi(e):Ui(e)),Ki=()=>`(一社)LBMA Japan`,qi=()=>`LBMA Japan`,Ji=((e={},t={})=>(t.locale??F())===`en`?qi(e):Ki(e)),Yi=()=>`北海道宇宙関連ビジネス創出連携会議`,Xi=()=>`Hokkaido Space-Related Business Consortium`,Zi=((e={},t={})=>(t.locale??F())===`en`?Xi(e):Yi(e)),Qi=()=>`地理院地図パートナーネットワーク`,$i=()=>`GSI Maps Partner Network`,ea=((e={},t={})=>(t.locale??F())===`en`?$i(e):Qi(e)),ta=()=>`札幌商工会議所`,na=()=>`Sapporo Chamber of Commerce and Industry`,ra=((e={},t={})=>(t.locale??F())===`en`?na(e):ta(e)),ia=()=>`ビジネス・アライアンス・コンソーシアム`,X=()=>`Business Alliance Consortium`,aa=((e={},t={})=>(t.locale??F())===`en`?X(e):ia(e)),oa=()=>`営業時間`,sa=()=>`Business Hours`,ca=((e={},t={})=>(t.locale??F())===`en`?sa(e):oa(e)),la=()=>`9:00 - 17:00`,ua=()=>`9:00–17:00`,Z=((e={},t={})=>(t.locale??F())===`en`?ua(e):la(e)),da=()=>`札幌本社`,fa=()=>`Sapporo HQ`,pa=((e={},t={})=>(t.locale??F())===`en`?fa(e):da(e)),ma=()=>`〒060-0042 北海道札幌市中央区大通西8丁目1-8 F-60 (エフロクマル) 3F`,ha=()=>`F-60 3F, 8-1-8 Odori-nishi, Chuo-ku, Sapporo, Hokkaido 060-0042, Japan`,ga=((e={},t={})=>(t.locale??F())===`en`?ha(e):ma(e)),_a=()=>`東京オフィス`,va=()=>`Tokyo Office`,ya=((e={},t={})=>(t.locale??F())===`en`?va(e):_a(e)),ba=()=>`〒101-0052 東京都千代田区神田小川町3丁目28-5 axle御茶ノ水 2F`,xa=()=>`axle Ochanomizu 2F, 3-28-5 Kanda-Ogawamachi, Chiyoda-ku, Tokyo 101-0052, Japan`,Sa=((e={},t={})=>(t.locale??F())===`en`?xa(e):ba(e)),Ca=()=>`Media`,wa=()=>`Media`,Ta=((e={},t={})=>(t.locale??F())===`en`?wa(e):Ca(e)),Ea=()=>`X (旧Twitter)`,Da=()=>`X (formerly Twitter)`,Oa=((e={},t={})=>(t.locale??F())===`en`?Da(e):Ea(e)),ka=D(`<p class="whitespace-pre-line"> </p>`),Aa=D(`<div class="container mb-12 sm:mb-36"><div class="rounded-xl bg-white"><div class="p-8 text-base leading-[2] sm:p-16 [&amp;_p+p]:mt-8"></div> <div><picture><source type="image/avif"/><source type="image/webp"/><source type="image/jpeg"/><img class="w-full" width="3045" height="2030"/></picture></div></div></div>`);function ja(e,t){A(t,!1);let n=[B(),Ye(),Ze(),et(),rt(),ot(),lt(),ft(),ht(),...F()===`ja`?[vt()]:[]];x();var i=Aa(),a=m(i),o=m(a);N(o,5,()=>n,f,(e,t)=>{var n=ka(),i=m(n,!0);T(n),r(()=>c(i,u(t))),O(e,n)}),T(o);var s=l(o,2),d=m(s),p=m(d);C(p,`srcset`,``+new URL(`../assets/management-member.BPrZX_-g.avif`,import.meta.url).href+` 1523w, `+new URL(`../assets/management-member.CPaBpkwi.avif`,import.meta.url).href+` 3045w`);var h=l(p);C(h,`srcset`,``+new URL(`../assets/management-member.DwCPvik2.webp`,import.meta.url).href+` 1523w, `+new URL(`../assets/management-member.2QLZ_URy.webp`,import.meta.url).href+` 3045w`);var g=l(h);C(g,`srcset`,``+new URL(`../assets/management-member.DvU3p5cF.jpeg`,import.meta.url).href+` 1523w, `+new URL(`../assets/management-member.CdpWMBcJ.jpeg`,import.meta.url).href+` 3045w`);var _=l(g);C(_,`src`,``+new URL(`../assets/management-member.CdpWMBcJ.jpeg`,import.meta.url).href),T(d),T(s),T(a),T(i),r(e=>C(_,`alt`,e),[()=>Ke()]),O(e,i),S()}var Ma=D(`<section class="bg-white"><div class="container py-12 sm:py-24"><div class="flex flex-col items-start gap-4 sm:flex-row"><div class="flex basis-4/12 items-start gap-3 self-start"><div class="flex flex-col gap-0 sm:gap-2"><h2 class="heading-dot-page-about text-heading-2">Values</h2> <div class="text-subheading-2"> </div></div></div> <div class="my-4 flex basis-8/12 flex-col"></div></div></div></section>`);function Q(e,t){A(t,!1);let n=[{title:wt(),subtitle:Dt(),description:kt()},{title:Mt(),subtitle:Pt(),description:Lt()},{title:Bt(),subtitle:Ut(),description:K()}];x();var i=Ma(),a=m(i),o=m(a),s=m(o),d=m(s),f=l(m(d),2),p=m(f,!0);T(f),T(d),T(s);var h=l(s,2);N(h,7,()=>n,e=>e.title,(e,t,n)=>{{let r=E(()=>u(n)+1),i=E(()=>[u(t).description]);be(e,{class:`mb-9 border-b border-mierune-black pb-9 last:mb-0 last:border-b-0 last:pb-0`,get no(){return u(r)},get title(){return u(t).title},get subtitle(){return u(t).subtitle},get description(){return u(i)}})}}
12),T(h),T(o),T(a),T(i),r(e=>c(p,e),[()=>xt()]),O(e,i),S()}var $={sources:{avif:``+new URL(`../assets/ariga.BrqVHIs6.avif`,import.meta.url).href+` 225w, `+new URL(`../assets/ariga.BvRsNdvi.avif`,import.meta.url).href+` 450w`,webp:``+new URL(`../assets/ariga.DAo957GA.webp`,import.meta.url).href+` 225w, `+new URL(`../assets/ariga.Cu9yT_p2.webp`,import.meta.url).href+` 450w`,jpeg:``+new URL(`../assets/ariga.BNKp2mkD.jpeg`,import.meta.url).href+` 225w, `+new URL(`../assets/ariga.ChKo6bd8.jpeg`,import.meta.url).href+` 450w`},img:{src:``+new URL(`../assets/ariga.ChKo6bd8.jpeg`,import.meta.url).href,w:450,h:450}},Na={sources:{avif:``+new URL(`../assets/shan.Bwk0osjB.avif`,import.meta.url).href+` 284w, `+new URL(`../assets/shan.BkJCOmJN.avif`,import.meta.url).href+` 567w`,webp:``+new URL(`../assets/shan.BSsWUsWD.webp`,import.meta.url).href+` 284w, `+new URL(`../assets/shan.BNZEgYcz.webp`,import.meta.url).href+` 567w`,jpeg:``+new URL(`../assets/shan.DSzL_7wz.jpeg`,import.meta.url).href+` 284w, `+new URL(`../assets/shan.CjY3nIfP.jpeg`,import.meta.url).href+` 567w`},img:{src:``+new URL(`../assets/shan.CjY3nIfP.jpeg`,import.meta.url).href,w:567,h:567}},Pa=[{name:`Ryo Yokoyama`,positions:[`CFO`],github:`mieyoko`,portfolio:`https://portfolio-ryo-oyrs-projects.vercel.app/`},{name:`Kanahiro Iguchi`,positions:[`CTO`],github:`Kanahiro`},{name:`Kosuke Asahi`,positions:[],localizedRole:`cofounder`,github:`waigania13`},{name:`Yusuke Suzuki`,positions:[`Software Engineer`],github:`yuskesuzki`},{name:`Satoru Nishio`,positions:[`Principal Engineering Manager`],github:`nokonoko1203`,portfolio:`https://x.com/nokonoko_1203`},{name:`Xinmiao Qu`,positions:[`Engineering Manager`],github:`xinmiaooo`},{name:`Toshiya Kunou`,positions:[`Product Manager`],github:`kntoshiya`},{name:`Takayuki Kawajiri`,positions:[`Engineering Manager`],github:`TakayukiKawajiri`},{name:`Hajime Kato`,positions:[`Senior Designer`],github:`chizutodesign`,portfolio:`https://chizutodesign.com/`},{name:`Satoshi Komatsu`,positions:[`Software Engineer`],github:`satoshi7190`},{name:`Raymond Lay`,positions:[`QGIS Engineer`],github:`bordoray`},{name:`Keiko Fujita`,positions:[`Back Office`],github:`fujitakeik`},{name:`Kouki Maeda`,positions:[`Software Engineer`],github:`DevKoukiMaeda`},{name:`Pakhin Yuen`,positions:[`Software Engineer`],github:`patrickyuen00`},{name:`Hidekazu Takami`,positions:[`Software Engineer`],github:`Guarneri009`},{name:`Taku Fukada`,positions:[`Principal Software Engineer`],github:`ciscorn`},{name:`Kei Yamazaki`,positions:[`Senior Engineering Manager`],github:`Yamazaki-kei7`},{name:`Ayaka Shoji`,positions:[`Engagement Architect`],github:`shoji-ji`},{name:`Naoya Nishibayashi`,positions:[`QGIS Engineer`],github:`nbayashi`},{name:`Shinsuke Nakamori`,positions:[`Engineering Manager`],github:`nakamori1024`},{name:`Keita Uemori`,positions:[`QGIS Engineer`],github:`Geo-Jagaimo`},{name:`Rena Nakagawa`,positions:[`Software Engineer`],github:`rena1208`},{name:`Haruto Sasaki`,positions:[`Software Engineer`],github:`groovyjovy`},{name:`Natsuki Ariga`,positions:[`Engagement Architect`],img:$},{name:`Hiroaki Yutani`,positions:[`Software Engineer`],github:`yutannihilation`,portfolio:`https://monowakari.com/`},{name:`Taiyu Yoshizawa`,positions:[`Senior Software Engineer`],github:`NEKOYASAN`,portfolio:`https://www.nekoyasan.me/`},{name:`Jo Sakai`,positions:[`Software Engineer`],github:`Druk-Drink`},{name:`Katherine Shan`,positions:[`Designer`],img:Na,portfolio:`https://katherineshan.com/`},{name:`Niinobe Kuuya`,positions:[`Software Engineer`],github:`eniehack`,portfolio:`https://kninobe.netlify.app/`},{name:`Yohei Shiwaku`,positions:[`Senior Engineering Manager`],github:`shiwaku`}],Fa={sources:{avif:``+new URL(`../assets/kirimoto.LSOa54qT.avif`,import.meta.url).href+` 200w, `+new URL(`../assets/kirimoto.B99qbazs.avif`,import.meta.url).href+` 400w`,webp:``+new URL(`../assets/kirimoto.BcpZ_m3c.webp`,import.meta.url).href+` 200w, `+new URL(`../assets/kirimoto.Bc5N4G9l.webp`,import.meta.url).href+` 400w`,jpeg:``+new URL(`../assets/kirimoto.CPdmdDs2.jpeg`,import.meta.url).href+` 200w, `+new 
12URL(`../assets/kirimoto.DcwDzZVw.jpeg`,import.meta.url).href+` 400w`},img:{src:``+new URL(`../assets/kirimoto.DcwDzZVw.jpeg`,import.meta.url).href,w:400,h:400}},Ia={sources:{avif:``+new URL(`../assets/furukawa.WQ1TpNa0.avif`,import.meta.url).href+` 561w, `+new URL(`../assets/furukawa.B_-bYuKw.avif`,import.meta.url).href+` 1122w`,webp:``+new URL(`../assets/furukawa.B9MDWozz.webp`,import.meta.url).href+` 561w, `+new URL(`../assets/furukawa.DoY7x9PM.webp`,import.meta.url).href+` 1122w`,jpeg:``+new URL(`../assets/furukawa.DSru6cxW.jpeg`,import.meta.url).href+` 561w, `+new URL(`../assets/furukawa.C0u3CDS7.jpeg`,import.meta.url).href+` 1122w`},img:{src:``+new URL(`../assets/furukawa.C0u3CDS7.jpeg`,import.meta.url).href,w:1122,h:1122}},La={sources:{avif:``+new URL(`../assets/mori.CUn-5yqc.avif`,import.meta.url).href+` 353w, `+new URL(`../assets/mori.7a9-PPLn.avif`,import.meta.url).href+` 706w`,webp:``+new URL(`../assets/mori.N6ikEXHx.webp`,import.meta.url).href+` 353w, `+new URL(`../assets/mori.CtF_rpSx.webp`,import.meta.url).href+` 706w`,jpeg:``+new URL(`../assets/mori.C68x4oUc.jpeg`,import.meta.url).href+` 353w, `+new URL(`../assets/mori.Dvx9gXhj.jpeg`,import.meta.url).href+` 706w`},img:{src:``+new URL(`../assets/mori.Dvx9gXhj.jpeg`,import.meta.url).href,w:706,h:706}},Ra={sources:{avif:``+new URL(`../assets/yamamoto.BxfLnk4-.avif`,import.meta.url).href+` 200w, `+new URL(`../assets/yamamoto.Cn-2qnbR.avif`,import.meta.url).href+` 400w`,webp:``+new URL(`../assets/yamamoto.EMKbXo6k.webp`,import.meta.url).href+` 200w, `+new URL(`../assets/yamamoto.CDGgaH_k.webp`,import.meta.url).href+` 400w`,png:``+new URL(`../assets/yamamoto.e0mp0eke.png`,import.meta.url).href+` 200w, `+new URL(`../assets/yamamoto.CFDNEXIK.png`,import.meta.url).href+` 400w`},img:{src:``+new URL(`../assets/yamamoto.CFDNEXIK.png`,import.meta.url).href,w:400,h:400}},za=[{id:`kirimoto`,img:Fa,github:`dayjournal`,portfolio:`https://dayjournal.dev`},{id:`furukawa`,github:`Yfuruchin`,img:Ia},{id:`mori`,github:`moritoru`,img:La},{id:`yamamoto`,img:Ra}],Ba=D(`<img class="h-24 w-24 rounded object-cover group-hover:shadow-xl"/>`),Va=D(`<source/>`),Ha=D(`<picture><!> <img class="h-24 w-24 rounded object-cover group-hover:shadow-xl"/></picture>`),Ua=D(`<img class="h-24 w-24 rounded object-cover group-hover:shadow-xl"/>`),Wa=D(`<a target="_blank" rel="noopener noreferrer" class="group transition-opacity duration-300 hover:opacity-80"><!></a>`),Ga=D(`<img class="h-24 w-24 rounded object-cover group-hover:shadow-xl"/>`),Ka=D(`<source/>`),qa=D(`<picture><!> <img class="h-24 w-24 rounded object-cover group-hover:shadow-xl"/></picture>`),Ja=D(`<img class="h-24 w-24 rounded object-cover group-hover:shadow-xl"/>`),Ya=D(`<a target="_blank" rel="noopener noreferrer" class="group transition-opacity duration-300 hover:opacity-80"><!></a>`),Xa=D(`<img class="h-24 w-24 rounded object-cover"/>`),Za=D(`<source/>`),Qa=D(`<picture><!> <img class="h-24 w-24 rounded object-cover"/></picture>`),$a=D(`<p class="indent-4"> </p>`),eo=D(`<div class="mt-3 text-base leading-relaxed text-gray-700 sm:mt-2 sm:pl-[7.25rem]"></div>`),to=D(`<div class="p-5"><div class="flex gap-5"><div class="shrink-0"><!></div> <div class="flex flex-col gap-1"><div class="text-lg font-bold"><span class="inline-block"> </span> <span class="inline-block"> </span></div> <div class="text-base font-bold text-gray-700"><span class="block"> </span> <span class="block"> </span></div></div></div> <!></div>`),no=D(`<img class="h-16 w-16 rounded-full group-hover:shadow-xl"/>`),ro=D(`<img class="h-16 w-16 rounded-full group-hover:shadow-xl"/>`),io=D(`<source/>`),ao=D(`<picture><!> <img class="h-16 w-16 rounded-full group-hover:shadow-xl"/></picture>`),oo=D(`<p> </p>`),so=D(`<a target="_blank" rel="noopener noreferrer" class="group transition-opacity duration-300 hover:opacity-80"><div class="flex gap-6"><!> <div class="flex flex-col gap-1"><div class="text-lg group-hover:underline"> </div> <div class="text-sm leading-[1.85] tracking-normal"></div></div></div></a>`),co=D(`<p> </p>`),lo=D(`<a target="_blank" rel="noopener noreferrer" class="group transition-opacity duration-300 hover:opacity-80"><div class="flex gap-6"><img class="h-16 w-16 rounded-full group-hover:shadow-xl"/> <div class="flex flex-col gap-1"><div class="text-lg group-hover:underline"> </div> <div class="text-sm leading-[1.85] tracking-normal"></div></div></div></a>`),uo=D(`<img class="h-16 w-16 rounded-full group-hover:shadow-xl"/>`),fo=D(`<source/>`),po=D(`<picture><!> <img class="h-16 w-16 rounded-full group-hover:shadow-xl"/></picture>`),mo=D(`<p> </p>`),ho=D(`<div class="flex gap-6"><!> <div class="flex flex-col gap-1"><div class="text-lg group-hover:underline"> </div> <div class="text-sm leading-[1.85] tracking-normal"></div></div></div>`),go=D(`<section class="container py-12 sm:py-24"><!> <div class="text-sp-heading-3 font-bold sm:text-heading-3"> </div> <div class="grid grid-cols-1 gap-6 pt-4 pb-12 sm:grid-cols-2"></div> <div class="text-sp-heading-3 font-bold sm:text-heading-3"> </div> <div class="grid grid-cols-1 gap-x-9 gap-y-8 pt-4 sm:grid-cols-2 sm:gap-y-15 lg:grid-cols-3"></div></section>`);function _o(t,i){A(i,!1);let a=za.map(e=>{let t={kirimoto:{namePrimary:rn(),nameSecondary:sn(),positionPrimary:un(),positionSecondary:pn(),description:[gn(),yn(),Sn()]}
12,furukawa:{namePrimary:Tn(),nameSecondary:On(),positionPrimary:jn(),positionSecondary:Pn(),description:[Ln(),Bn(),Un()]},mori:{namePrimary:Kn(),nameSecondary:Yn(),positionPrimary:Qn(),positionSecondary:tr(),description:[ir(),sr(),ur()]},yamamoto:{namePrimary:pr(),nameSecondary:gr(),positionPrimary:yr(),positionSecondary:Sr(),description:[Tr(),Or()]}}[e.id];return{...e,...t}});function o(e){return e.localizedRole===`cofounder`?[en()]:e.positions}x();var s=go(),d=m(s);{let e=E(()=>J());ve(d,{title:`Members`,get subtitle(){return u(e)},description:[],headingClass:`heading-dot-page-about`})}var p=l(d,2),h=m(p,!0);T(p);var _=l(p,2);N(_,5,()=>a,e=>e.id,(t,i)=>{var a=to(),o=m(a),s=m(o),d=m(s),p=t=>{var a=Wa(),o=m(a),s=t=>{var a=e(),o=g(a),s=t=>{var a=e(),o=g(a),s=e=>{var t=Ba();r(e=>{C(t,`src`,u(i).img),C(t,`alt`,e)},[()=>L({name:u(i).namePrimary})]),O(e,t)};n(o,e=>{e(s,-1)}),O(t,a)},c=e=>{var t=Ha(),n=m(t);N(n,1,()=>Object.entries(u(i).img.sources),f,(e,t)=>{var n=y(()=>le(u(t),2));let i=()=>u(n)[0],a=()=>u(n)[1];var o=Va();r(()=>{C(o,`srcset`,a()),C(o,`type`,`image/`+i())}),O(e,o)});var a=l(n,2);T(t),r(e=>{C(a,`src`,u(i).img.img.src),C(a,`alt`,e),C(a,`width`,u(i).img.img.w),C(a,`height`,u(i).img.img.h)},[()=>L({name:u(i).namePrimary})]),O(e,t)};n(o,e=>{typeof u(i).img==`string`?e(s):e(c,-1)}),O(t,a)},c=e=>{var t=Ua();r(e=>{C(t,`src`,`https://github.com/${u(i).github}.png`),C(t,`alt`,e)},[()=>Ae({name:u(i).namePrimary})]),O(e,t)};n(o,e=>{u(i).img?e(s):u(i).github&&e(c,1)}),T(a),r(()=>C(a,`href`,u(i).portfolio)),O(t,a)},h=t=>{var a=Ya(),o=m(a),s=t=>{var a=e(),o=g(a),s=t=>{var a=e(),o=g(a),s=e=>{var t=Ga();r(e=>{C(t,`src`,u(i).img),C(t,`alt`,e)},[()=>L({name:u(i).namePrimary})]),O(e,t)};n(o,e=>{e(s,-1)}),O(t,a)},c=e=>{var t=qa(),n=m(t);N(n,1,()=>Object.entries(u(i).img.sources),f,(e,t)=>{var n=y(()=>le(u(t),2));let i=()=>u(n)[0],a=()=>u(n)[1];var o=Ka();r(()=>{C(o,`srcset`,a()),C(o,`type`,`image/`+i())}),O(e,o)});var a=l(n,2);T(t),r(e=>{C(a,`src`,u(i).img.img.src),C(a,`alt`,e),C(a,`width`,u(i).img.img.w),C(a,`height`,u(i).img.img.h)},[()=>L({name:u(i).namePrimary})]),O(e,t)};n(o,e=>{typeof u(i).img==`string`?e(s):e(c,-1)}),O(t,a)},c=e=>{var t=Ja();r(e=>{C(t,`src`,`https://github.com/${u(i).github}.png`),C(t,`alt`,e)},[()=>Ae({name:u(i).namePrimary})]),O(e,t)};n(o,e=>{u(i).img?e(s):u(i).github&&e(c,1)}),T(a),r(()=>C(a,`href`,`https://github.com/${u(i).github??``}`)),O(t,a)},_=t=>{var a=e(),o=g(a),s=t=>{var a=e(),o=g(a),s=e=>{var t=Xa();r(e=>{C(t,`src`,u(i).img),C(t,`alt`,e)},[()=>Ae({name:u(i).namePrimary})]),O(e,t)};n(o,e=>{e(s,-1)}),O(t,a)},c=e=>{var t=Qa(),n=m(t);N(n,1,()=>Object.entries(u(i).img.sources),f,(e,t)=>{var n=y(()=>le(u(t),2));let i=()=>u(n)[0],a=()=>u(n)[1];var o=Za();r(()=>{C(o,`srcset`,a()),C(o,`type`,`image/`+i())}),O(e,o)});var a=l(n,2);T(t),r(e=>{C(a,`src`,u(i).img.img.src),C(a,`alt`,e),C(a,`width`,u(i).img.img.w),C(a,`height`,u(i).img.img.h)},[()=>Ae({name:u(i).namePrimary})]),O(e,t)};n(o,e=>{typeof u(i).img==`string`?e(s):e(c,-1)}),O(t,a)};n(d,e=>{u(i).portfolio?e(p):u(i).github?e(h,1):u(i).img&&e(_,2)}),T(s);var v=l(s,2),b=m(v),x=m(b),S=m(x,!0);T(x);var w=l(x,2),E=m(w,!0);T(w),T(b);var D=l(b,2),k=m(D),A=m(k,!0);T(k);var ee=l(k,2),te=m(ee,!0);T(ee),T(D),T(v),T(o);var j=l(o,2),ne=e=>{var t=eo();N(t,5,()=>u(i).description,e=>e,(e,t)=>{var n=$a(),i=m(n,!0);T(n),r(()=>c(i,u(t))),O(e,n)}),T(t),O(e,t)};n(j,e=>{u(i).description&&e(ne)}),T(a),r(()=>{c(S,u(i).namePrimary),c(E,u(i).nameSecondary),c(A,u(i).positionPrimary),c(te,u(i).positionSecondary)}),O(t,a)}),T(_);var v=l(_,2),b=m(v,!0);T(v);var w=l(v,2);N(w,5,()=>Pa,e=>e.name,(t,i)=>{var a=e(),s=g(a),d=t=>{var a=so(),s=m(a),d=m(s),p=e=>{var t=no();r(e=>{C(t,`src`,`https://github.com/${u(i).github}.png`),C(t,`alt`,e)},[()=>L({name:u(i).name})]),O(e,t)},h=t=>{var a=e(),o=g(a),s=t=>{var a=e(),o=g(a),s=e=>{var t=ro();r(e=>{C(t,`src`,u(i).img),C(t,`alt`,e)},[()=>Ae({name:u(i).name})]),O(e,t)};n(o,e=>{e(s,-1)}),O(t,a)},c=e=>{var t=ao(),n=m(t);N(n,1,()=>Object.entries(u(i).img.sources),f,(e,t)=>{var n=y(()=>le(u(t),2));let i=()=>u(n)[0],a=()=>u(n)[1];var o=io();r(()=>{C(o,`srcset`,a()),C(o,`type`,`image/`+i())}),O(e,o)});var a=l(n,2);T(t),r(e=>{C(a,`src`,u(i).img.img.src),C(a,`alt`,e),C(a,`width`,u(i).img.img.w),C(a,`height`,u(i).img.img.h)},[()=>Ae({name:u(i).name})]),O(e,t)};n(o,e=>{typeof u(i).img==`string`?e(s):e(c,-1)}),O(t,a)};n(d,e=>{u(i).github?e(p):u(i).img&&e(h,1)});var _=l(d,2),v=m(_),b=m(v,!0);T(v);var x=l(v,2);N(x,5,()=>o(u(i)),e=>u(i).name+e,(e,t)=>{var n=oo(),i=m(n,!0);T(n),r(()=>c(i,u(t))),O(e,n)}),T(x),T(_),T(s),T(a),r(()=>{C(a,`href`,u(i).portfolio),c(b,u(i).name)}),O(t,a)}
12,p=e=>{var t=lo(),n=m(t),a=m(n),s=l(a,2),d=m(s),f=m(d,!0);T(d);var p=l(d,2);N(p,5,()=>o(u(i)),e=>u(i).name+e,(e,t)=>{var n=co(),i=m(n,!0);T(n),r(()=>c(i,u(t))),O(e,n)}),T(p),T(s),T(n),T(t),r(e=>{C(t,`href`,`https://github.com/${u(i).github??``}`),C(a,`src`,`https://github.com/${u(i).github}.png`),C(a,`alt`,e),c(f,u(i).name)},[()=>L({name:u(i).name})]),O(e,t)},h=t=>{var a=ho(),s=m(a),d=t=>{var a=e(),o=g(a),s=e=>{var t=uo();r(e=>{C(t,`src`,u(i).img),C(t,`alt`,e)},[()=>Ae({name:u(i).name})]),O(e,t)};n(o,e=>{e(s,-1)}),O(t,a)},p=e=>{var t=po(),n=m(t);N(n,1,()=>Object.entries(u(i).img.sources),f,(e,t)=>{var n=y(()=>le(u(t),2));let i=()=>u(n)[0],a=()=>u(n)[1];var o=fo();r(()=>{C(o,`srcset`,a()),C(o,`type`,`image/`+i())}),O(e,o)});var a=l(n,2);T(t),r(e=>{C(a,`src`,u(i).img.img.src),C(a,`alt`,e),C(a,`width`,u(i).img.img.w),C(a,`height`,u(i).img.img.h)},[()=>Ae({name:u(i).name})]),O(e,t)};n(s,e=>{typeof u(i).img==`string`?e(d):e(p,-1)});var h=l(s,2),_=m(h),v=m(_,!0);T(_);var b=l(_,2);N(b,5,()=>o(u(i)),e=>u(i).name+e,(e,t)=>{var n=mo(),i=m(n,!0);T(n),r(()=>c(i,u(t))),O(e,n)}),T(b),T(h),T(a),r(()=>c(v,u(i).name)),O(t,a)};n(s,e=>{u(i).portfolio?e(d):u(i).github?e(p,1):u(i).img&&e(h,2)}),O(t,a)}),T(w),T(s),r((e,t)=>{c(h,e),c(b,t)},[()=>Jt(),()=>Zt()]),O(t,s),S()}var vo=D(`<li class="leading-[1.8]"></li>`),yo=D(`<ul class="list-inside list-disc space-y-1"></ul>`),bo=D(`<tr class="flex flex-col sm:table-row"><th class="pt-2 pb-0 text-left align-top font-bold sm:py-2"> </th><td class="py-0 font-normal sm:py-2"><!></td></tr>`),xo=D(`<div class="container my-12 sm:my-24"><h2 class="text-3xl sm:text-5xl"> </h2> <div class="my-2 border-t border-b border-mierune-black py-3 sm:my-6"><div class="space-y-6"><table class="w-full text-base"><tbody></tbody></table></div></div></div>`);function So(e,i){A(i,!1);let a=[{label:Pr(),value:Lr()},{label:Br(),value:Ur()},{label:Y(),value:Jr({amount:ge(13e6)})},{label:Zr(),value:ei()},{label:ri(),value:oi({count:ge(29),date:he(`2026-09-01T00:00:00+09:00`)})},{label:li(),value:[fi(),hi(),vi(),xi()]},{label:wi(),value:[Di(),Ai(),Ni(),Ii(),`AWS Hero (DevTools)`,`AWS Community Builder (Serverless)`,`AWS Community Builder (AI Engineering)`,`AWS Certified Solutions Architect - Associate`,`AWS Certified Developer - Associate`,`AWS Certified AI Practitioner`,`AWS Certified Cloud Practitioner`,`Cesium Certified Developer`,`<a href="/files/ISO9001.pdf" target="_blank" rel="noopener noreferrer" class="text-link">ISO 9001:2015 + Amd 1:2024</a>`,`<a href="/files/ISO27001.pdf" target="_blank" rel="noopener noreferrer" class="text-link">ISO/IEC 27001:2022 + Amd 1:2024</a>`]},{label:zi(),value:[Hi(),`QGIS.org`,`MapLibre.org`,Gi(),Ji(),Zi(),ea(),ra(),aa()]},{label:ca(),value:Z()},{label:pa(),value:ga()},{label:ya(),value:Sa()}];x();var o=xo(),d=m(o),f=m(d,!0);T(d);var p=l(d,2),h=m(p),g=m(h),_=m(g);N(_,5,()=>a,({label:e,value:t})=>e,(e,i)=>{let a=()=>u(i).label,o=()=>u(i).value;var d=bo(),f=m(d),p=m(f,!0);T(f);var h=l(f),g=m(h),_=e=>{var n=yo();N(n,5,o,e=>e,(e,n)=>{var r=vo();t(r,()=>u(n),!0),T(r),O(e,r)}),T(n),O(e,n)},v=y(()=>Array.isArray(o())),b=e=>{var t=s();r(()=>c(t,o())),O(e,t)};n(g,e=>{u(v)?e(_):e(b,-1)}),T(h),T(d),r(()=>c(p,a())),O(e,d)}),T(_),T(g),T(h),T(p),T(o),r(e=>c(f,e),[()=>jr()]),O(e,o),S()}var Co=ue(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self,n.maplibregl=r())})(e,(function(){var e={},t={};function n(n,r,i){if(t[n]=i,n===`index`){var a=`var sharedModule = {}; (`+t.shared+`)(sharedModule); (`+t.worker+`)(sharedModule);`,o={};return t.shared(o),t.index(e,o),typeof window<`u`&&e.setWorkerUrl(window.URL.createObjectURL(new Blob([a],{type:`text/javascript`}))),e}}return n(`shared`,[`exports`],(function(e){function t(e,t,n,r){return new(n||=Promise)((function(i,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}c((r=r.apply(e,t||[])).next())}))}
12function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var r,i;function a(){if(i)return r;function e(e,t){this.x=e,this.y=t}return i=1,r=e,e.prototype={clone:function(){return new e(this.x,this.y)},add:function(e){return this.clone()._add(e)},sub:function(e){return this.clone()._sub(e)},multByPoint:function(e){return this.clone()._multByPoint(e)},divByPoint:function(e){return this.clone()._divByPoint(e)},mult:function(e){return this.clone()._mult(e)},div:function(e){return this.clone()._div(e)},rotate:function(e){return this.clone()._rotate(e)},rotateAround:function(e,t){return this.clone()._rotateAround(e,t)},matMult:function(e){return this.clone()._matMult(e)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(e){return this.x===e.x&&this.y===e.y},dist:function(e){return Math.sqrt(this.distSqr(e))},distSqr:function(e){var t=e.x-this.x,n=e.y-this.y;return t*t+n*n},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(e){return Math.atan2(this.y-e.y,this.x-e.x)},angleWith:function(e){return this.angleWithSep(e.x,e.y)},angleWithSep:function(e,t){return Math.atan2(this.x*t-this.y*e,this.x*e+this.y*t)},_matMult:function(e){var t=e[2]*this.x+e[3]*this.y;return this.x=e[0]*this.x+e[1]*this.y,this.y=t,this},_add:function(e){return this.x+=e.x,this.y+=e.y,this},_sub:function(e){return this.x-=e.x,this.y-=e.y,this},_mult:function(e){return this.x*=e,this.y*=e,this},_div:function(e){return this.x/=e,this.y/=e,this},_multByPoint:function(e){return this.x*=e.x,this.y*=e.y,this},_divByPoint:function(e){return this.x/=e.x,this.y/=e.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var e=this.y;return this.y=this.x,this.x=-e,this},_rotate:function(e){var t=Math.cos(e),n=Math.sin(e),r=n*this.x+t*this.y;return this.x=t*this.x-n*this.y,this.y=r,this},_rotateAround:function(e,t){var n=Math.cos(e),r=Math.sin(e),i=t.y+r*(this.x-t.x)+n*(this.y-t.y);return this.x=t.x+n*(this.x-t.x)-r*(this.y-t.y),this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},e.convert=function(t){return t instanceof e?t:Array.isArray(t)?new e(t[0],t[1]):t},r}var o,s,c=n(a()),l=n(function(){if(s)return o;function e(e,t,n,r){this.cx=3*e,this.bx=3*(n-e)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*t,this.by=3*(r-t)-this.cy,this.ay=1-this.cy-this.by,this.p1x=e,this.p1y=t,this.p2x=n,this.p2y=r}return s=1,o=e,e.prototype={sampleCurveX:function(e){return((this.ax*e+this.bx)*e+this.cx)*e},sampleCurveY:function(e){return((this.ay*e+this.by)*e+this.cy)*e},sampleCurveDerivativeX:function(e){return(3*this.ax*e+2*this.bx)*e+this.cx},solveCurveX:function(e,t){if(t===void 0&&(t=1e-6),e<0)return 0;if(e>1)return 1;for(var n=e,r=0;r<8;r++){var i=this.sampleCurveX(n)-e;if(Math.abs(i)<t)return n;var a=this.sampleCurveDerivativeX(n);if(Math.abs(a)<1e-6)break;n-=i/a}var o=0,s=1;for(n=e,r=0;r<20&&(i=this.sampleCurveX(n),!(Math.abs(i-e)<t));r++)e>i?o=n:s=n,n=.5*(s-o)+o;return n},solve:function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))}},o}());let u,d;function f(){return u??=typeof OffscreenCanvas<`u`&&new OffscreenCanvas(1,1).getContext(`2d`)&&typeof createImageBitmap==`function`,u}function p(){if(d==null&&(d=!1,f())){let e=new OffscreenCanvas(5,5).getContext(`2d`,{willReadFrequently:!0});if(e){for(let t=0;t<25;t++){let n=4*t;e.fillStyle=`rgb(${n},${n+1},${n+2})`,e.fillRect(t%5,Math.floor(t/5),1,1)}let t=e.getImageData(0,0,5,5).data;for(let e=0;e<100;e++)if(e%4!=3&&t[e]!==e){d=!0;break}}}return d||!1}var m=1e-6,h=typeof Float32Array<`u`?Float32Array:Array;function g(){var e=new h(9);return h!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function _(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function v(){var e=new h(3);return h!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function y(e){return Math.hypot(e[0],e[1],e[2])}function b(e,t,n){var r=new h(3);return r[0]=e,r[1]=t,r[2]=n,r}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var x,S=y;
12function C(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3];return e[0]=n[0]*r+n[4]*i+n[8]*a+n[12]*o,e[1]=n[1]*r+n[5]*i+n[9]*a+n[13]*o,e[2]=n[2]*r+n[6]*i+n[10]*a+n[14]*o,e[3]=n[3]*r+n[7]*i+n[11]*a+n[15]*o,e}function w(){var e=new h(4);return h!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function T(){var e=new h(2);return h!=Float32Array&&(e[0]=0,e[1]=0),e}function E(e,t){var n=new h(2);return n[0]=e,n[1]=t,n}v(),x=new h(4),h!=Float32Array&&(x[0]=0,x[1]=0,x[2]=0,x[3]=0),v(),b(1,0,0),b(0,1,0),w(),w(),g(),T();let D=8192;function O(e,t,n){return t*(D/(e.tileSize*2**(n-e.tileID.overscaledZ)))}function k(e,t){return(e%t+t)%t}function A(e,t,n){return e*(1-n)+t*n}function ee(e){if(e<=0)return 0;if(e>=1)return 1;let t=e*e,n=t*e;return 4*(e<.5?n:3*(e-t)+n-.75)}function te(e,t,n,r){let i=new l(e,t,n,r);return e=>i.solve(e)}let j=te(.25,.1,.25,1);function ne(e,t,n){return Math.min(n,Math.max(t,e))}function re(e,t,n){let r=n-t,i=((e-t)%r+r)%r+t;return i===t?n:i}function M(e,...t){for(let n of t)for(let t in n)e[t]=n[t];return e}let ie=1;function ae(e,t,n){let r={};for(let n in e)r[n]=t.call(this,e[n],n,e);return r}function oe(e,t,n){let r={};for(let n in e)t.call(this,e[n],n,e)&&(r[n]=e[n]);return r}function se(e){return Array.isArray(e)?e.map(se):typeof e==`object`&&e?ae(e,se):e}let ce={};function le(e){ce[e]||(typeof console<`u`&&console.warn(e),ce[e]=!0)}function N(e,t,n){return(n.y-e.y)*(t.x-e.x)>(t.y-e.y)*(n.x-e.x)}function P(e){return typeof WorkerGlobalScope<`u`&&e!==void 0&&e instanceof WorkerGlobalScope}let ue=null;function F(e){return typeof ImageBitmap<`u`&&e instanceof ImageBitmap}let de=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=`;function fe(e,n,r,i,a){return t(this,void 0,void 0,(function*(){if(typeof VideoFrame>`u`)throw Error(`VideoFrame not supported`);let t=new VideoFrame(e,{timestamp:0});try{let o=t?.format;if(!o||!o.startsWith(`BGR`)&&!o.startsWith(`RGB`))throw Error(`Unrecognized format ${o}`);let s=o.startsWith(`BGR`),c=new Uint8ClampedArray(i*a*4);if(yield t.copyTo(c,function(e,t,n,r,i){let a=(Math.max(0,n)-n)*r*4+4,o=4*r,s=Math.max(0,t),c=Math.max(0,n);return{rect:{x:s,y:c,width:Math.min(e.width,t+r)-s,height:Math.min(e.height,n+i)-c},layout:[{offset:a,stride:o}]}}(e,n,r,i,a)),s)for(let e=0;e<c.length;e+=4){let t=c[e];c[e]=c[e+2],c[e+2]=t}return c}finally{t.close()}}))}let I,pe;function me(e,t,n,r){return e.addEventListener(t,n,r),{unsubscribe:()=>{e.removeEventListener(t,n,r)}}}function he(e){return e*Math.PI/180}function ge(e){return e/Math.PI*180}let _e={touchstart:!0,touchmove:!0,touchmoveWindow:!0,touchend:!0,touchcancel:!0},ve={dblclick:!0,click:!0,mouseover:!0,mouseout:!0,mousedown:!0,mousemove:!0,mousemoveWindow:!0,mouseup:!0,mouseupWindow:!0,contextmenu:!0,wheel:!0},ye=`AbortError`;function be(){return Error(ye)}let xe={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:``};function Se(e){return xe.REGISTERED_PROTOCOLS[e.substring(0,e.indexOf(`://`))]}let Ce=`global-dispatcher`;class we extends Error{constructor(e,t,n,r){super(`AJAXError: ${t} (${e}): ${n}`),this.status=e,this.statusText=t,this.url=n,this.body=r}}let Te=()=>P(self)?self.worker&&self.worker.referrer:(window.location.protocol===`blob:`?window.parent:window).location.href,Ee=function(e,n){if(/:\/\//.test(e.url)&&!/^https?:|^file:/.test(e.url)){let t=Se(e.url);if(t)return t(e,n);if(P(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:`GR`,data:e,targetMapId:Ce},n)}if(!(/^file:/.test(r=e.url)||/^file:/.test(Te())&&!/^\w+:/.test(r))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,`signal`))return function(e,n){return t(this,void 0,void 0,(function*(){let t=new Request(e.url,{method:e.method||`GET`,body:e.body,credentials:e.credentials,headers:e.headers,cache:e.cache,referrer:Te(),signal:n.signal}),r,i;e.type!==`json`||t.headers.has(`Accept`)||t.headers.set(`Accept`,`application/json`);try{r=yield fetch(t)}catch(t){throw new we(0,t.message,e.url,new Blob)}if(!r.ok){let t=yield r.blob();throw new we(r.status,r.statusText,e.url,t)}i=e.type===`arrayBuffer`||e.type===`image`?r.arrayBuffer():e.type===`json`?r.json():r.text();let a=yield i;if(n.signal.aborted)throw be();return{data:a,cacheControl:r.headers.get(`Cache-Control`),expires:r.headers.get(`Expires`)}}))}(e,n);if(P(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:`GR`,data:e,mustQueue:!0,targetMapId:Ce},n)}var r;return function(e,t){return new Promise(((n,r)=>{var i;let a=new XMLHttpRequest;a.open(e.method||`GET`,e.url,!0),e.type!==`arrayBuffer`&&e.type!==`image`||(a.responseType=`arraybuffer`);for(let t in e.headers)a.setRequestHeader(t,e.headers[t]);e.type===`json`&&(a.responseType=`text`,(i=e.headers)!=null&&i.Accept||a.setRequestHeader(`Accept`,`application/json`)),a.withCredentials=e.credentials===`include`,a.onerror=()=>{r(Error(a.statusText))},a.onload=()=>
12{if(!t.signal.aborted)if((a.status>=200&&a.status<300||a.status===0)&&a.response!==null){let t=a.response;if(e.type===`json`)try{t=JSON.parse(a.response)}catch(e){r(e);return}n({data:t,cacheControl:a.getResponseHeader(`Cache-Control`),expires:a.getResponseHeader(`Expires`)})}else{let t=new Blob([a.response],{type:a.getResponseHeader(`Content-Type`)});r(new we(a.status,a.statusText,e.url,t))}},t.signal.addEventListener(`abort`,(()=>{a.abort(),r(be())})),a.send(e.body)}))}(e,n)};function De(e){if(!e||e.indexOf(`://`)<=0||e.indexOf(`data:image/`)===0||e.indexOf(`blob:`)===0)return!0;let t=new URL(e),n=window.location;return t.protocol===n.protocol&&t.host===n.host}function Oe(e,t,n){n[e]&&n[e].indexOf(t)!==-1||(n[e]=n[e]||[],n[e].push(t))}function ke(e,t,n){if(n&&n[e]){let r=n[e].indexOf(t);r!==-1&&n[e].splice(r,1)}}class Ae{constructor(e,t={}){M(this,t),this.type=e}}class je extends Ae{constructor(e,t={}){super(`error`,M({error:e},t))}}class Me{on(e,t){return this._listeners=this._listeners||{},Oe(e,t,this._listeners),{unsubscribe:()=>{this.off(e,t)}}}off(e,t){return ke(e,t,this._listeners),ke(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners=this._oneTimeListeners||{},Oe(e,t,this._oneTimeListeners),this):new Promise((t=>this.once(e,t)))}fire(e,t){typeof e==`string`&&(e=new Ae(e,t||{}));let n=e.type;if(this.listens(n)){e.target=this;let t=this._listeners&&this._listeners[n]?this._listeners[n].slice():[];for(let n of t)n.call(this,e);let r=this._oneTimeListeners&&this._oneTimeListeners[n]?this._oneTimeListeners[n].slice():[];for(let t of r)ke(n,t,this._oneTimeListeners),t.call(this,e);let i=this._eventedParent;i&&(M(e,typeof this._eventedParentData==`function`?this._eventedParentData():this._eventedParentData),i.fire(e))}else e instanceof je&&console.error(e.error);return this}listens(e){return this._listeners&&this._listeners[e]&&this._listeners[e].length>0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)}setEventedParent(e,t){return this._eventedParent=e,this._eventedParentData=t,this}}var L={$version:8,$root:{version:{required:!0,type:`enum`,values:[8]},name:{type:`string`},metadata:{type:`*`},center:{type:`array`,value:`number`},centerAltitude:{type:`number`},zoom:{type:`number`},bearing:{type:`number`,default:0,period:360,units:`degrees`},pitch:{type:`number`,default:0,units:`degrees`},roll:{type:`number`,default:0,units:`degrees`},state:{type:`state`,default:{}},light:{type:`light`},sky:{type:`sky`},projection:{type:`projection`},terrain:{type:`terrain`},sources:{required:!0,type:`sources`},sprite:{type:`sprite`},glyphs:{type:`string`},transition:{type:`transition`},layers:{required:!0,type:`array`,value:`layer`}},sources:{"*":{type:`source`}},source:[`source_vector`,`source_raster`,`source_raster_dem`,`source_geojson`,`source_video`,`source_image`],source_vector:{type:{required:!0,type:`enum`,values:{vector:{}}},url:{type:`string`},tiles:{type:`array`,value:`string`},bounds:{type:`array`,value:`number`,length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:`enum`,values:{xyz:{},tms:{}},default:`xyz`},minzoom:{type:`number`,default:0},maxzoom:{type:`number`,default:22},attribution:{type:`string`},promoteId:{type:`promoteId`},volatile:{type:`boolean`,default:!1},"*":{type:`*`}},source_raster:{type:{required:!0,type:`enum`,values:{raster:{}}},url:{type:`string`},tiles:{type:`array`,value:`string`},bounds:{type:`array`,value:`number`,length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:`number`,default:0},maxzoom:{type:`number`,default:22},tileSize:{type:`number`,default:512,units:`pixels`},scheme:{type:`enum`,values:{xyz:{},tms:{}},default:`xyz`},attribution:{type:`string`},volatile:{type:`boolean`,default:!1},"*":{type:`*`}},source_raster_dem:{type:{required:!0,type:`enum`,values:{"raster-dem":{}}},url:{type:`string`},tiles:{type:`array`,value:`string`},bounds:{type:`array`,value:`number`,length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:`number`,default:0},maxzoom:{type:`number`,default:22},tileSize:{type:`number`,default:512,units:`pixels`},attribution:{type:`string`},encoding:{type:`enum`,values:{terrarium:{},mapbox:{},custom:{}},default:`mapbox`},redFactor:{type:`number`,default:1},blueFactor:{type:`number`,default:1},greenFactor:{type:`number`,default:1},baseShift:{type:`number`,default:0},volatile:{type:`boolean`,default:!1},"*":{type:`*`}},source_geojson:{type:{required:!0,type:`enum`,values:{geojson:{}}},data:{required:!0,type:`*`},maxzoom:{type:`number`,default:18},attribution:{type:`string`},buffer:{type:`number`,default:128,maximum:512,minimum:0},filter:{type:`*`},tolerance:{type:`number`,default:.375},cluster:{type:`boolean`,default:!1},clusterRadius:{type:`number`,default:50,minimum:0}
vendor: 4,545 bytes, line 12
12,clusterMaxZoom:{type:`number`},clusterMinPoints:{type:`number`},clusterProperties:{type:`*`},lineMetrics:{type:`boolean`,default:!1},generateId:{type:`boolean`,default:!1},promoteId:{type:`promoteId`}},source_video:{type:{required:!0,type:`enum`,values:{video:{}}},urls:{required:!0,type:`array`,value:`string`},coordinates:{required:!0,type:`array`,length:4,value:{type:`array`,length:2,value:`number`}}},source_image:{type:{required:!0,type:`enum`,values:{image:{}}},url:{required:!0,type:`string`},coordinates:{required:!0,type:`array`,length:4,value:{type:`array`,length:2,value:`number`}}},layer:{id:{type:`string`,required:!0},type:{type:`enum`,values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:`*`},source:{type:`string`},"source-layer":{type:`string`},minzoom:{type:`number`,minimum:0,maximum:24},maxzoom:{type:`number`,minimum:0,maximum:24},filter:{type:`filter`},layout:{type:`layout`},paint:{type:`paint`}},layout:[`layout_fill`,`layout_line`,`layout_circle`,`layout_heatmap`,`layout_fill-extrusion`,`layout_symbol`,`layout_raster`,`layout_hillshade`,`layout_background`],layout_background:{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,"property-type":`constant`}},layout_fill:{"fill-sort-key":{type:`number`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,"property-type":`constant`}},layout_circle:{"circle-sort-key":{type:`number`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,"property-type":`constant`}},layout_heatmap:{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,"property-type":`constant`}},"layout_fill-extrusion":{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,"property-type":`constant`}},layout_line:{"line-cap":{type:`enum`,values:{butt:{},round:{},square:{}},default:`butt`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"line-join":{type:`enum`,values:{bevel:{},round:{},miter:{}},default:`miter`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"line-miter-limit":{type:`number`,default:2,requires:[{"line-join":`miter`}],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"line-round-limit":{type:`number`,default:1.05,requires:[{"line-join":`round`}],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"line-sort-key":{type:`number`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,"property-type":`constant`}},layout_symbol:{"symbol-placement":{type:`enum`,values:{point:{},line:{},"line-center":{}},default:`point`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"symbol-spacing":{type:`number`,default:250,minimum:1,units:`pixels`,requires:[{"symbol-placement":`line`}],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"symbol-avoid-edges":{type:`boolean`,default:!1,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"symbol-sort-key":{type:`number`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"symbol-z-order":{type:`enum`,values:{auto:{},"viewport-y":{},source:{}},default:`auto`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-allow-overlap":{type:`boolean`,default:!1,requires:[`icon-image`,{"!":`icon-overlap`}],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-overlap":{type:`enum`,values:{never:{},always:{},cooperative:{}},requires:[`icon-image`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-ignore-placement":{type:`boolean`,default:!1,requires:[`icon-image`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-optional":{type:`boolean`,default:!1,requires:[`icon-image`,`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-rotation-alignment":{type:`enum`,values:{map:{},viewport:{},auto:{}},default:`auto`,requires:[`icon-image`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant
vendor: 6,791 bytes, line 12
12`},"icon-size":{type:`number`,default:1,minimum:0,units:`factor of the original icon size`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"icon-text-fit":{type:`enum`,values:{none:{},width:{},height:{},both:{}},default:`none`,requires:[`icon-image`,`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-text-fit-padding":{type:`array`,value:`number`,length:4,default:[0,0,0,0],units:`pixels`,requires:[`icon-image`,`text-field`,{"icon-text-fit":[`both`,`width`,`height`]}],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"icon-image":{type:`resolvedImage`,tokens:!0,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"icon-rotate":{type:`number`,default:0,period:360,units:`degrees`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"icon-padding":{type:`padding`,default:[2],units:`pixels`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"icon-keep-upright":{type:`boolean`,default:!1,requires:[`icon-image`,{"icon-rotation-alignment":`map`},{"symbol-placement":[`line`,`line-center`]}],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-offset":{type:`array`,value:`number`,length:2,default:[0,0],requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"icon-anchor":{type:`enum`,values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:`center`,requires:[`icon-image`],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"icon-pitch-alignment":{type:`enum`,values:{map:{},viewport:{},auto:{}},default:`auto`,requires:[`icon-image`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-pitch-alignment":{type:`enum`,values:{map:{},viewport:{},auto:{}},default:`auto`,requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-rotation-alignment":{type:`enum`,values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:`auto`,requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-field":{type:`formatted`,default:``,tokens:!0,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-font":{type:`array`,value:`string`,default:[`Open Sans Regular`,`Arial Unicode MS Regular`],requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-size":{type:`number`,default:16,minimum:0,units:`pixels`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-max-width":{type:`number`,default:10,minimum:0,units:`ems`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-line-height":{type:`number`,default:1.2,units:`ems`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"text-letter-spacing":{type:`number`,default:0,units:`ems`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-justify":{type:`enum`,values:{auto:{},left:{},center:{},right:{}},default:`center`,requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-radial-offset":{type:`number`,units:`ems`,default:0,requires:[`text-field`],"property-type":`data-driven`,expression:{interpolated:!0,parameters:[`zoom`,`feature`]}},"text-variable-anchor":{type:`array`,value:`enum`,values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:[`text-field`,{"symbol-placement":[`point`]}],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-variable-anchor-offset":{type:`variableAnchorOffsetCollection`,requires:[`text-field`,{"symbol-placement":[`point`]}],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-anchor":{type:`enum`,values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:`center`,requires:[`text-field`,{"!":`text-variable-anchor`}],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-max-angle":{type:`number`,default:45,units:`degrees`,requires:[`text-field`,{"symbol-placement":[`line`,`line-center`]}],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"text-writing-mode":{type:`array`,value:`enum`,values:{horizontal:{},vertical:{}},requires:[`text-field`,{"symbol-placement":[`point`]}],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-rotate":{type:`number`,default:0,period:360,units:`degrees`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-padding":{type:`number`,default:2,minimum:0,units:`pixels`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"text-keep-upright":{type:`boolean`,default:!0,requires:[`text-field`,{"text-rotation-alignment":`map`},{"symbol-placement":[`line`,`line-center`]}],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-transform":{type:`enum`,values:{none:{},uppercase:{},lowercase:{}},default:`none`,requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-offset":{type:`array`,value:`number`,units:`ems`,length:2,default:[0,0],requires:[`text-field`,{"!":`text-radial-offset`}],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-allow-overlap":{type:`boolean`,default:!1,requires:[`text-field`,{"!":`text-overlap`}],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-overlap":{type:`enum`,values:{never:{},always:{},cooperative:{}},requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-ignore-placement":{type:`boolean`,default:!1,requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-optional":{type:`boolean`,default:!1,requires:[`text-field`,`icon-image`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},
vendor: 14,013 bytes, line 12
12visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,"property-type":`constant`}},layout_raster:{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,"property-type":`constant`}},layout_hillshade:{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,"property-type":`constant`}},filter:{type:`array`,value:`*`},filter_operator:{type:`enum`,values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:`enum`,values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:`expression`},stops:{type:`array`,value:`function_stop`},base:{type:`number`,default:1,minimum:0},property:{type:`string`,default:`$zoom`},type:{type:`enum`,values:{identity:{},exponential:{},interval:{},categorical:{}},default:`exponential`},colorSpace:{type:`enum`,values:{rgb:{},lab:{},hcl:{}},default:`rgb`},default:{type:`*`,required:!1}},function_stop:{type:`array`,minimum:0,maximum:24,value:[`number`,`color`],length:2},expression:{type:`array`,value:`*`,minimum:1},light:{anchor:{type:`enum`,default:`viewport`,values:{map:{},viewport:{}},"property-type":`data-constant`,transition:!1,expression:{interpolated:!1,parameters:[`zoom`]}},position:{type:`array`,default:[1.15,210,30],length:3,value:`number`,"property-type":`data-constant`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]}},color:{type:`color`,"property-type":`data-constant`,default:`#ffffff`,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},intensity:{type:`number`,"property-type":`data-constant`,default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0}},sky:{"sky-color":{type:`color`,"property-type":`data-constant`,default:`#88C6FC`,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},"horizon-color":{type:`color`,"property-type":`data-constant`,default:`#ffffff`,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},"fog-color":{type:`color`,"property-type":`data-constant`,default:`#ffffff`,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},"fog-ground-blend":{type:`number`,"property-type":`data-constant`,default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},"horizon-fog-blend":{type:`number`,"property-type":`data-constant`,default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},"sky-horizon-blend":{type:`number`,"property-type":`data-constant`,default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},"atmosphere-blend":{type:`number`,"property-type":`data-constant`,default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0}},terrain:{source:{type:`string`,required:!0},exaggeration:{type:`number`,minimum:0,default:1}},projection:{type:{type:`projectionDefinition`,default:`mercator`,"property-type":`data-constant`,transition:!1,expression:{interpolated:!0,parameters:[`zoom`]}}},paint:[`paint_fill`,`paint_line`,`paint_circle`,`paint_heatmap`,`paint_fill-extrusion`,`paint_symbol`,`paint_raster`,`paint_hillshade`,`paint_background`],paint_fill:{"fill-antialias":{type:`boolean`,default:!0,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"fill-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"fill-color":{type:`color`,default:`#000000`,transition:!0,requires:[{"!":`fill-pattern`}],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"fill-outline-color":{type:`color`,transition:!0,requires:[{"!":`fill-pattern`},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"fill-translate":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"fill-translate-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`fill-translate`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"fill-pattern":{type:`resolvedImage`,transition:!0,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`cross-faded-data-driven`}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"fill-extrusion-color":{type:`color`,default:`#000000`,transition:!0,requires:[{"!":`fill-extrusion-pattern`}],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"fill-extrusion-translate":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"fill-extrusion-translate-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`fill-extrusion-translate`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"fill-extrusion-pattern":{type:`resolvedImage`,transition:!0,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`cross-faded-data-driven`},"fill-extrusion-height":{type:`number`,default:0,minimum:0,units:`meters`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"fill-extrusion-base":{type:`number`,default:0,minimum:0,units:`meters`,transition:!0,requires:[`fill-extrusion-height`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"fill-extrusion-vertical-gradient":{type:`boolean`,default:!0,transition:!1,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`}},paint_line:{"line-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"line-color":{type:`color`,default:`#000000`,transition:!0,requires:[{"!":`line-pattern`}],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"line-translate":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"line-translate-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`line-translate`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"line-width":{type:`number`,default:1,minimum:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"line-gap-width":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"line-offset":{type:`number`,default:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"line-blur":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"line-dasharray":{type:`array`,value:`number`,minimum:0,transition:!0,units:`line widths`,requires:[{"!":`line-pattern`}],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`cross-faded`},"line-pattern":{type:`resolvedImage`,transition:!0,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`cross-faded-data-driven`},"line-gradient":{type:`color`,transition:!1,requires:[{"!":`line-dasharray`},{"!":`line-pattern`},{source:`geojson`,has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[`line-progress`]},"property-type":`color-ramp`}},paint_circle:{"circle-radius":{type:`number`,default:5,minimum:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"circle-color":{type:`color`,default:`#000000`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"circle-blur":{type:`number`,default:0,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"circle-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"circle-translate":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"circle-translate-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`circle-translate`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"circle-pitch-scale":{type:`enum`,values:{map:{},viewport:{}},default:`map`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"circle-pitch-alignment":{type:`enum`,values:{map:{},viewport:{}},default:`viewport`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"circle-stroke-width":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"circle-stroke-color":{type:`color`,default:`#000000`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"circle-stroke-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`}},paint_heatmap:{"heatmap-radius":{type:`number`,default:30,minimum:1,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"heatmap-weight":{type:`number`,default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"heatmap-intensity":{type:`number`,default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"heatmap-color":{type:`color`,default:[`interpolate`,[`linear`],[`heatmap-density`],0,`rgba(0, 0, 255, 0)`,.1,`royalblue`,.3,`cyan`,.5,`lime`,.7,`yellow`,1,`red`],transition:!1,expression:{interpolated:!0,parameters:[`heatmap-density`]},"property-type":`color-ramp`},"heatmap-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`}},paint_symbol:{"icon-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"icon-color":{type:`color`,default:`#000000`,transition:!0,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"icon-halo-color":{type:`color`,default:`rgba(0, 0, 0, 0)`,transition:!0,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"icon-halo-width":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"icon-halo-blur":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"icon-translate":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"icon-translate-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`icon-image`,`icon-translate`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"text-color":{type:`color`,default:`#000000`,transition:!0,overridable:!0,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"text-halo-color":{type:`color`,default:`rgba(0, 0, 0, 0)`,transition:!0,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"text-halo-width":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"text-halo-blur":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"text-translate":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"text-translate-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`text-field`,`text-translate`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`}},paint_raster:{"raster-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`}
12,"raster-hue-rotate":{type:`number`,default:0,period:360,transition:!0,units:`degrees`,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"raster-brightness-min":{type:`number`,default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"raster-brightness-max":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"raster-saturation":{type:`number`,default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"raster-contrast":{type:`number`,default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"raster-resampling":{type:`enum`,values:{linear:{},nearest:{}},default:`linear`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"raster-fade-duration":{type:`number`,default:300,minimum:0,transition:!1,units:`milliseconds`,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`}},paint_hillshade:{"hillshade-illumination-direction":{type:`numberArray`,default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-illumination-altitude":{type:`numberArray`,default:45,minimum:0,maximum:90,transition:!1,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-illumination-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`viewport`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-exaggeration":{type:`number`,default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-shadow-color":{type:`colorArray`,default:`#000000`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-highlight-color":{type:`colorArray`,default:`#FFFFFF`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-accent-color":{type:`color`,default:`#000000`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-method":{type:`enum`,values:{standard:{},basic:{},combined:{},igor:{},multidirectional:{}},default:`standard`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`}},paint_background:{"background-color":{type:`color`,default:`#000000`,transition:!0,requires:[{"!":`background-pattern`}],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"background-pattern":{type:`resolvedImage`,transition:!0,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`cross-faded`},"background-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`}},transition:{duration:{type:`number`,default:300,minimum:0,units:`milliseconds`},delay:{type:`number`,default:0,minimum:0,units:`milliseconds`}},"property-type":{"data-driven":{type:`property-type`},"cross-faded":{type:`property-type`},"cross-faded-data-driven":{type:`property-type`},"color-ramp":{type:`property-type`},"data-constant":{type:`property-type`},constant:{type:`property-type`}},promoteId:{"*":{type:`string`}}};let Ne=[`type`,`source`,`source-layer`,`minzoom`,`maxzoom`,`filter`,`layout`];function Pe(e,t){let n={};for(let t in e)t!==`ref`&&(n[t]=e[t]);return Ne.forEach((e=>{e in t&&(n[e]=t[e])})),n}function Fe(e,t){if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Fe(e[n],t[n]))return!1;return!0}if(typeof e==`object`&&e&&t!==null){if(typeof t!=`object`||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(!Fe(e[n],t[n]))return!1;return!0}return e===t}function Ie(e,t){e.push(t)}function Le(e,t,n){Ie(n,{command:`addSource`,args:[e,t[e]]})}function Re(e,t,n){Ie(t,{command:`removeSource`,args:[e]}),n[e]=!0}function ze(e,t,n,r){Re(e,n,r),Le(e,t,n)}function Be(e,t,n){let r;for(r in e[n])if(Object.prototype.hasOwnProperty.call(e[n],r)&&r!==`data`&&!Fe(e[n][r],t[n][r]))return!1;for(r in t[n])if(Object.prototype.hasOwnProperty.call(t[n],r)&&r!==`data`&&!Fe(e[n][r],t[n][r]))return!1;return!0}function Ve(e,t,n,r,i,a){e||={},t||={};for(let o in e)Object.prototype.hasOwnProperty.call(e,o)&&(Fe(e[o],t[o])||n.push({command:a,args:[r,o,t[o],i]}));for(let o in t)Object.prototype.hasOwnProperty.call(t,o)&&!Object.prototype.hasOwnProperty.call(e,o)&&(Fe(e[o],t[o])||n.push({command:a,args:[r,o,t[o],i]}))}function He(e){return e.id}function Ue(e,t){return e[t.id]=t,e}class R{constructor(e,t,n,r){this.message=(e?`${e}: `:``)+n,r&&(this.identifier=r),t!=null&&t.__line__&&(this.line=t.__line__)}}function We(e,...t){for(let n of t)for(let t in n)e[t]=n[t];return e}
12class Ge extends Error{constructor(e,t){super(t),this.message=t,this.key=e}}class Ke{constructor(e,t=[]){this.parent=e,this.bindings={};for(let[e,n]of t)this.bindings[e]=n}concat(e){return new Ke(this,e)}get(e){if(this.bindings[e])return this.bindings[e];if(this.parent)return this.parent.get(e);throw Error(`${e} not found in scope.`)}has(e){return!!this.bindings[e]||!!this.parent&&this.parent.has(e)}}let qe={kind:`null`},z={kind:`number`},B={kind:`string`},V={kind:`boolean`},Je={kind:`color`},Ye={kind:`projectionDefinition`},Xe={kind:`object`},H={kind:`value`},Ze={kind:`collator`},Qe={kind:`formatted`},$e={kind:`padding`},et={kind:`colorArray`},tt={kind:`numberArray`},nt={kind:`resolvedImage`},rt={kind:`variableAnchorOffsetCollection`};function it(e,t){return{kind:`array`,itemType:e,N:t}}function at(e){if(e.kind===`array`){let t=at(e.itemType);return typeof e.N==`number`?`array<${t}, ${e.N}>`:e.itemType.kind===`value`?`array`:`array<${t}>`}return e.kind}let ot=[qe,z,B,V,Je,Ye,Qe,Xe,it(H),$e,tt,et,nt,rt];function st(e,t){if(t.kind===`error`)return null;if(e.kind===`array`){if(t.kind===`array`&&(t.N===0&&t.itemType.kind===`value`||!st(e.itemType,t.itemType))&&(typeof e.N!=`number`||e.N===t.N))return null}else{if(e.kind===t.kind)return null;if(e.kind===`value`){for(let e of ot)if(!st(e,t))return null}}return`Expected ${at(e)} but found ${at(t)} instead.`}function ct(e,t){return t.some((t=>t.kind===e.kind))}function lt(e,t){return t.some((t=>t===`null`?e===null:t===`array`?Array.isArray(e):t===`object`?e&&!Array.isArray(e)&&typeof e==`object`:t===typeof e))}function ut(e,t){return e.kind===`array`&&t.kind===`array`?e.itemType.kind===t.itemType.kind&&typeof e.N==`number`:e.kind===t.kind}let dt=.96422,ft=.82521,pt=4/29,mt=6/29,ht=3*mt*mt,gt=Math.PI/180,_t=180/Math.PI;function vt(e){return(e%=360)<0&&(e+=360),e}function yt([e,t,n,r]){let i,a,o=xt((.2225045*(e=bt(e))+.7168786*(t=bt(t))+.0606169*(n=bt(n)))/1);e===t&&t===n?i=a=o:(i=xt((.4360747*e+.3850649*t+.1430804*n)/dt),a=xt((.0139322*e+.0971045*t+.7141733*n)/ft));let s=116*o-16;return[s<0?0:s,500*(i-o),200*(o-a),r]}function bt(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function xt(e){return e>.008856451679035631?e**(1/3):e/ht+pt}function St([e,t,n,r]){let i=(e+16)/116,a=isNaN(t)?i:i+t/500,o=isNaN(n)?i:i-n/200;return i=1*wt(i),a=dt*wt(a),o=ft*wt(o),[Ct(3.1338561*a-1.6168667*i-.4906146*o),Ct(-.9787684*a+1.9161415*i+.033454*o),Ct(.0719453*a-.2289914*i+1.4052427*o),r]}function Ct(e){return(e=e<=.00304?12.92*e:1.055*e**(1/2.4)-.055)<0?0:e>1?1:e}function wt(e){return e>mt?e*e*e:ht*(e-pt)}let Tt=Object.hasOwn||function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};function Et(e,t){return Tt(e,t)?e[t]:void 0}function Dt(e){return parseInt(e.padEnd(2,e),16)/255}function U(e,t){return Ot(t?e/100:e,0,1)}function Ot(e,t,n){return Math.min(Math.max(t,e),n)}function kt(e){return!e.some(Number.isNaN)}let At={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],ol
12ive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};function jt(e,t,n){return e+n*(t-e)}function Mt(e,t,n){return e.map(((e,r)=>jt(e,t[r],n)))}class W{constructor(e,t,n,r=1,i=!0){this.r=e,this.g=t,this.b=n,this.a=r,i||(this.r*=r,this.g*=r,this.b*=r,r||this.overwriteGetter(`rgb`,[e,t,n,r]))}static parse(e){if(e instanceof W)return e;if(typeof e!=`string`)return;let t=function(e){if((e=e.toLowerCase().trim())===`transparent`)return[0,0,0,0];let t=Et(At,e);if(t){let[e,n,r]=t;return[e/255,n/255,r/255,1]}if(e.startsWith(`#`)&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(e)){let t=e.length<6?1:2,n=1;return[Dt(e.slice(n,n+=t)),Dt(e.slice(n,n+=t)),Dt(e.slice(n,n+=t)),Dt(e.slice(n,n+t)||`ff`)]}if(e.startsWith(`rgb`)){let t=e.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(t){let[e,n,r,i,a,o,s,c,l,u,d,f]=t,p=[i||` `,s||` `,u].join(``);if(p===`  `||p===`  /`||p===`,,`||p===`,,,`){let e=[r,o,l].join(``),t=e===`%%%`?100:e===``?255:0;if(t){let e=[Ot(+n/t,0,1),Ot(+a/t,0,1),Ot(+c/t,0,1),d?U(+d,f):1];if(kt(e))return e}}return}}let n=e.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(n){let[e,t,r,i,a,o,s,c,l]=n,u=[r||` `,a||` `,s].join(``);if(u===`  `||u===`  /`||u===`,,`||u===`,,,`){let e=[+t,Ot(+i,0,100),Ot(+o,0,100),c?U(+c,l):1];if(kt(e))return function([e,t,n,r]){function i(r){let i=(r+e/30)%12,a=t*Math.min(n,1-n);return n-a*Math.max(-1,Math.min(i-3,9-i,1))}return e=vt(e),t/=100,n/=100,[i(0),i(8),i(4),r]}(e)}}}(e);return t?new W(...t,!1):void 0}get rgb(){let{r:e,g:t,b:n,a:r}=this,i=r||1/0;return this.overwriteGetter(`rgb`,[e/i,t/i,n/i,r])}get hcl(){return this.overwriteGetter(`hcl`,function(e){let[t,n,r,i]=yt(e),a=Math.sqrt(n*n+r*r);return[Math.round(1e4*a)?vt(Math.atan2(r,n)*_t):NaN,a,t,i]}(this.rgb))}get lab(){return this.overwriteGetter(`lab`,yt(this.rgb))}overwriteGetter(e,t){return Object.defineProperty(this,e,{value:t}),t}toString(){let[e,t,n,r]=this.rgb;return`rgba(${[e,t,n].map((e=>Math.round(255*e))).join(`,`)},${r})`}static interpolate(e,t,n,r=`rgb`){switch(r){case`rgb`:{let[r,i,a,o]=Mt(e.rgb,t.rgb,n);return new W(r,i,a,o,!1)}case`hcl`:{let[r,i,a,o]=e.hcl,[s,c,l,u]=t.hcl,d,f;if(isNaN(r)||isNaN(s))isNaN(r)?isNaN(s)?d=NaN:(d=s,a!==1&&a!==0||(f=c)):(d=r,l!==1&&l!==0||(f=i));else{let e=s-r;s>r&&e>180?e-=360:s<r&&r-s>180&&(e+=360),d=r+n*e}let[p,m,h,g]=function([e,t,n,r]){return e=isNaN(e)?0:e*gt,St([n,Math.cos(e)*t,Math.sin(e)*t,r])}([d,f??jt(i,c,n),jt(a,l,n),jt(o,u,n)]);return new W(p,m,h,g,!1)}case`lab`:{let[r,i,a,o]=St(Mt(e.lab,t.lab,n));return new W(r,i,a,o,!1)}}}}W.black=new W(0,0,0,1),W.white=new W(1,1,1,1),W.transparent=new W(0,0,0,0),W.red=new W(1,0,0,1);class Nt{constructor(e,t,n){this.sensitivity=e?t?`variant`:`case`:t?`accent`:`base`,this.locale=n,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:`search`})}compare(e,t){return this.collator.compare(e,t)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}let Pt=[`bottom`,`center`,`top`];class Ft{constructor(e,t,n,r,i,a){this.text=e,this.image=t,this.scale=n,this.fontStack=r,this.textColor=i,this.verticalAlign=a}}class It{constructor(e){this.sections=e}static fromString(e){return new It([new Ft(e,null,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some((e=>e.text.length!==0||e.image&&e.image.name.length!==0))}static factory(e){return e instanceof It?e:It.fromString(e)}toString(){return this.sections.length===0?``:this.sections.map((e=>e.text)).join(``)}}class Lt{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof Lt)return e;if(typeof e==`number`)return new Lt([e,e,e,e]);if(Array.isArray(e)&&!(e.length<1||e.length>4)){for(let t of e)if(typeof t!=`number`)return;switch(e.length){case 1:e=[e[0],e[0],e[0],e[0]];break;case 2:e=[e[0],e[1],e[0],e[1]];break;case 3:e=[e[0],e[1],e[2],e[1]]}return new Lt(e)}}toString(){return JSON.stringify(this.values)}
12static interpolate(e,t,n){return new Lt(Mt(e.values,t.values,n))}}class Rt{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof Rt)return e;if(typeof e==`number`)return new Rt([e]);if(Array.isArray(e)){for(let t of e)if(typeof t!=`number`)return;return new Rt(e)}}toString(){return JSON.stringify(this.values)}static interpolate(e,t,n){return new Rt(Mt(e.values,t.values,n))}}class zt{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof zt)return e;if(typeof e==`string`){let t=W.parse(e);return t?new zt([t]):void 0}if(!Array.isArray(e))return;let t=[];for(let n of e){if(typeof n!=`string`)return;let e=W.parse(n);if(!e)return;t.push(e)}return new zt(t)}toString(){return JSON.stringify(this.values)}static interpolate(e,t,n,r=`rgb`){let i=[];if(e.values.length!=t.values.length)throw Error(`colorArray: Arrays have mismatched length (${e.values.length} vs. ${t.values.length}), cannot interpolate.`);for(let a=0;a<e.values.length;a++)i.push(W.interpolate(e.values[a],t.values[a],n,r));return new zt(i)}}class Bt extends Error{constructor(e){super(e),this.name=`RuntimeError`}toJSON(){return this.message}}let Vt=new Set([`center`,`left`,`right`,`top`,`bottom`,`top-left`,`top-right`,`bottom-left`,`bottom-right`]);class Ht{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof Ht)return e;if(Array.isArray(e)&&!(e.length<1)&&e.length%2==0){for(let t=0;t<e.length;t+=2){let n=e[t],r=e[t+1];if(typeof n!=`string`||!Vt.has(n)||!Array.isArray(r)||r.length!==2||typeof r[0]!=`number`||typeof r[1]!=`number`)return}return new Ht(e)}}toString(){return JSON.stringify(this.values)}static interpolate(e,t,n){let r=e.values,i=t.values;if(r.length!==i.length)throw new Bt(`Cannot interpolate values of different length. from: ${e.toString()}, to: ${t.toString()}`);let a=[];for(let e=0;e<r.length;e+=2){if(r[e]!==i[e])throw new Bt(`Cannot interpolate values containing mismatched anchors. from[${e}]: ${r[e]}, to[${e}]: ${i[e]}`);a.push(r[e]);let[t,o]=r[e+1],[s,c]=i[e+1];a.push([jt(t,s,n),jt(o,c,n)])}return new Ht(a)}}class Ut{constructor(e){this.name=e.name,this.available=e.available}toString(){return this.name}static fromString(e){return e?new Ut({name:e,available:!1}):null}}class G{constructor(e,t,n){this.from=e,this.to=t,this.transition=n}static interpolate(e,t,n){return new G(e,t,n)}static parse(e){return e instanceof G?e:Array.isArray(e)&&e.length===3&&typeof e[0]==`string`&&typeof e[1]==`string`&&typeof e[2]==`number`?new G(e[0],e[1],e[2]):typeof e==`object`&&typeof e.from==`string`&&typeof e.to==`string`&&typeof e.transition==`number`?new G(e.from,e.to,e.transition):typeof e==`string`?new G(e,e,1):void 0}}function Wt(e,t,n,r){return typeof e==`number`&&e>=0&&e<=255&&typeof t==`number`&&t>=0&&t<=255&&typeof n==`number`&&n>=0&&n<=255?r===void 0||typeof r==`number`&&r>=0&&r<=1?null:`Invalid rgba value [${[e,t,n,r].join(`, `)}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof r==`number`?[e,t,n,r]:[e,t,n]).join(`, `)}]: 'r', 'g', and 'b' must be between 0 and 255.`}function K(e){if(e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`||e instanceof G||e instanceof W||e instanceof Nt||e instanceof It||e instanceof Lt||e instanceof Rt||e instanceof zt||e instanceof Ht||e instanceof Ut)return!0;if(Array.isArray(e)){for(let t of e)if(!K(t))return!1;return!0}if(typeof e==`object`){for(let t in e)if(!K(e[t]))return!1;return!0}return!1}function q(e){if(e===null)return qe;if(typeof e==`string`)return B;if(typeof e==`boolean`)return V;if(typeof e==`number`)return z;if(e instanceof W)return Je;if(e instanceof G)return Ye;if(e instanceof Nt)return Ze;if(e instanceof It)return Qe;if(e instanceof Lt)return $e;if(e instanceof Rt)return tt;if(e instanceof zt)return et;if(e instanceof Ht)return rt;if(e instanceof Ut)return nt;if(Array.isArray(e)){let t=e.length,n;for(let t of e){let e=q(t);if(n){if(n===e)continue;n=H;break}n=e}return it(n||H,t)}return Xe}function Gt(e){let t=typeof e;return e===null?``:t===`string`||t===`number`||t===`boolean`?String(e):e instanceof W||e instanceof G||e instanceof It||e instanceof Lt||e instanceof Rt||e instanceof zt||e instanceof Ht||e instanceof Ut?e.toString():JSON.stringify(e)}class J{constructor(e,t){this.type=e,this.value=t}static parse(e,t){if(e.length!==2)return t.error(`'literal' expression requires exactly one argument, but found ${e.length-1} instead.`);if(!K(e[1]))return t.error(`invalid value`);let n=e[1],r=q(n),i=t.expectedType;return r.kind!==`array`||r.N!==0||!i||i.kind!==`array`||typeof i.N==`number`&&i.N!==0||(r=i),new J(r,
12n)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}let Kt={string:B,number:z,boolean:V,object:Xe};class qt{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error(`Expected at least one argument.`);let n,r=1,i=e[0];if(i===`array`){let i,a;if(e.length>2){let n=e[1];if(typeof n!=`string`||!(n in Kt)||n===`object`)return t.error(`The item type argument of "array" must be one of string, number, boolean`,1);i=Kt[n],r++}else i=H;if(e.length>3){if(e[2]!==null&&(typeof e[2]!=`number`||e[2]<0||e[2]!==Math.floor(e[2])))return t.error(`The length argument to "array" must be a positive integer literal`,2);a=e[2],r++}n=it(i,a)}else{if(!Kt[i])throw Error(`Types doesn't contain name = ${i}`);n=Kt[i]}let a=[];for(;r<e.length;r++){let n=t.parse(e[r],r,H);if(!n)return null;a.push(n)}return new qt(n,a)}evaluate(e){for(let t=0;t<this.args.length;t++){let n=this.args[t].evaluate(e);if(!st(this.type,q(n)))return n;if(t===this.args.length-1)throw new Bt(`Expected value to be of type ${at(this.type)}, but found ${at(q(n))} instead.`)}throw Error()}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}}let Jt={"to-boolean":V,"to-color":Je,"to-number":z,"to-string":B};class Yt{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error(`Expected at least one argument.`);let n=e[0];if(!Jt[n])throw Error(`Can't parse ${n} as it is not part of the known types`);if((n===`to-boolean`||n===`to-string`)&&e.length!==2)return t.error(`Expected one argument.`);let r=Jt[n],i=[];for(let n=1;n<e.length;n++){let r=t.parse(e[n],n,H);if(!r)return null;i.push(r)}return new Yt(r,i)}evaluate(e){switch(this.type.kind){case`boolean`:return!!this.args[0].evaluate(e);case`color`:{let t,n;for(let r of this.args){if(t=r.evaluate(e),n=null,t instanceof W)return t;if(typeof t==`string`){let n=e.parseColor(t);if(n)return n}else if(Array.isArray(t)&&(n=t.length<3||t.length>4?`Invalid rgba value ${JSON.stringify(t)}: expected an array containing either three or four numeric values.`:Wt(t[0],t[1],t[2],t[3]),!n))return new W(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new Bt(n||`Could not parse color from value '${typeof t==`string`?t:JSON.stringify(t)}'`)}case`padding`:{let t;for(let n of this.args){t=n.evaluate(e);let r=Lt.parse(t);if(r)return r}throw new Bt(`Could not parse padding from value '${typeof t==`string`?t:JSON.stringify(t)}'`)}case`numberArray`:{let t;for(let n of this.args){t=n.evaluate(e);let r=Rt.parse(t);if(r)return r}throw new Bt(`Could not parse numberArray from value '${typeof t==`string`?t:JSON.stringify(t)}'`)}case`colorArray`:{let t;for(let n of this.args){t=n.evaluate(e);let r=zt.parse(t);if(r)return r}throw new Bt(`Could not parse colorArray from value '${typeof t==`string`?t:JSON.stringify(t)}'`)}case`variableAnchorOffsetCollection`:{let t;for(let n of this.args){t=n.evaluate(e);let r=Ht.parse(t);if(r)return r}throw new Bt(`Could not parse variableAnchorOffsetCollection from value '${typeof t==`string`?t:JSON.stringify(t)}'`)}case`number`:{let t=null;for(let n of this.args){if(t=n.evaluate(e),t===null)return 0;let r=Number(t);if(!isNaN(r))return r}throw new Bt(`Could not convert ${JSON.stringify(t)} to number.`)}case`formatted`:return It.fromString(Gt(this.args[0].evaluate(e)));case`resolvedImage`:return Ut.fromString(Gt(this.args[0].evaluate(e)));case`projectionDefinition`:return this.args[0].evaluate(e);default:return Gt(this.args[0].evaluate(e))}}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}}let Xt=[`Unknown`,`Point`,`LineString`,`Polygon`];class Zt{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache=new Map,this.availableImages=null,this.canonical=null}id(){return this.feature&&`id`in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type==`number`?Xt[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&`geometry`in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(e){let t=this._parseColorCache.get(e);return t||(t=W.parse(e),this._parseColorCache.set(e,t)),t}}class Qt{constructor(e,t,n=[],r,i=new Ke,a=[]){this.registry=e,this.path=n,this.key=n.map((e=>`[${e}]`)).join(``),this.scope=i,this.errors=a,this.expectedType=r,this._isConstant=t}parse(e,t,n,r,i={}){return t?this.concat(t,n,r)._parse(e,i):this._parse(e,i)}_parse(e,t){function n(e,t,n){return n===`assert`?new qt(t,[e]):n===`coerce`?new Yt(t,[e]):e}if(e!==null&&typeof e!=`string`&&typeof e!=`boolean`&&typeof e!=`number`||(e=[`literal`,e]),Array.isArray(e)){if(e.length===0)return this.error(`Expected an array with at least one element. If you wanted a literal array, use ["literal", []].`);let r=e[0];if(typeof r!=`string`)return this.error(`Expression name must be a string, but found ${typeof r} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let i=this.registry[r];if(i){let r=i.parse(e,this);if(!r)return null;if(this.expectedType){let e=this.expectedType,i=r.type;if(e.kind!==`string`&&e.kind!==`number`&&e.kind!==`boolean`&&e.kind!==`object`&&e.kind!==`array`||i.kind!==`value`){if(e.kind===`projectionDefinition`&&[`string`,`array`].includes(i.kind)||[`color`,`formatted`,`resolvedImage`].includes(e.kind)&&[`value`,`string`].includes(i.kind)||[`padding`,`numberArray`].includes(e.kind)&&[`value`,`number`,`array`].includes(i.kind)||e.kind===`colorArray`&&[`value`,`string`,`array`].includes(i.kind)||e.kind===`variableAnchorOffsetCollection`&&[`value`,`array`].includes(i.kind))r=n(r,e,t.typeAnnotation||`c
12oerce`);else if(this.checkSubtype(e,i))return null}else r=n(r,e,t.typeAnnotation||`assert`)}if(!(r instanceof J)&&r.type.kind!==`resolvedImage`&&this._isConstant(r)){let e=new Zt;try{r=new J(r.type,r.evaluate(e))}catch(e){return this.error(e.message),null}}return r}return this.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(e===void 0?`'undefined' value invalid. Use null instead.`:typeof e==`object`?`Bare objects invalid. Use ["literal", {...}] instead.`:`Expected an array, but found ${typeof e} instead.`)}concat(e,t,n){let r=typeof e==`number`?this.path.concat(e):this.path,i=n?this.scope.concat(n):this.scope;return new Qt(this.registry,this._isConstant,r,t||null,i,this.errors)}error(e,...t){let n=`${this.key}${t.map((e=>`[${e}]`)).join(``)}`;this.errors.push(new Ge(n,e))}checkSubtype(e,t){let n=st(e,t);return n&&this.error(n),n}}class $t{constructor(e,t){this.type=t.type,this.bindings=[].concat(e),this.result=t}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(let t of this.bindings)e(t[1]);e(this.result)}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found ${e.length-1} instead.`);let n=[];for(let r=1;r<e.length-1;r+=2){let i=e[r];if(typeof i!=`string`)return t.error(`Expected string, but found ${typeof i} instead.`,r);if(/[^a-zA-Z0-9_]/.test(i))return t.error(`Variable names must contain only alphanumeric characters or '_'.`,r);let a=t.parse(e[r+1],r+1);if(!a)return null;n.push([i,a])}let r=t.parse(e[e.length-1],e.length-1,t.expectedType,n);return r?new $t(n,r):null}outputDefined(){return this.result.outputDefined()}}class en{constructor(e,t){this.type=t.type,this.name=e,this.boundExpression=t}static parse(e,t){if(e.length!==2||typeof e[1]!=`string`)return t.error(`'var' expression requires exactly one string literal argument.`);let n=e[1];return t.scope.has(n)?new en(n,t.scope.get(n)):t.error(`Unknown variable "${n}". Make sure "${n}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(e){return this.boundExpression.evaluate(e)}eachChild(){}outputDefined(){return!1}}class tn{constructor(e,t,n){this.type=e,this.index=t,this.input=n}static parse(e,t){if(e.length!==3)return t.error(`Expected 2 arguments, but found ${e.length-1} instead.`);let n=t.parse(e[1],1,z),r=t.parse(e[2],2,it(t.expectedType||H));return n&&r?new tn(r.type.itemType,n,r):null}evaluate(e){let t=this.index.evaluate(e),n=this.input.evaluate(e);if(t<0)throw new Bt(`Array index out of bounds: ${t} < 0.`);if(t>=n.length)throw new Bt(`Array index out of bounds: ${t} > ${n.length-1}.`);if(t!==Math.floor(t))throw new Bt(`Array index must be an integer, but found ${t} instead.`);return n[t]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}}class nn{constructor(e,t){this.type=V,this.needle=e,this.haystack=t}static parse(e,t){if(e.length!==3)return t.error(`Expected 2 arguments, but found ${e.length-1} instead.`);let n=t.parse(e[1],1,H),r=t.parse(e[2],2,H);return n&&r?ct(n.type,[V,B,z,qe,H])?new nn(n,r):t.error(`Expected first argument to be of type boolean, string, number or null, but found ${at(n.type)} instead`):null}evaluate(e){let t=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!n)return!1;if(!lt(t,[`boolean`,`string`,`number`,`null`]))throw new Bt(`Expected first argument to be of type boolean, string, number or null, but found ${at(q(t))} instead.`);if(!lt(n,[`string`,`array`]))throw new Bt(`Expected second argument to be of type array or string, but found ${at(q(n))} instead.`);return n.indexOf(t)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}}class rn{constructor(e,t,n){this.type=z,this.needle=e,this.haystack=t,this.fromIndex=n}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);let n=t.parse(e[1],1,H),r=t.parse(e[2],2,H);if(!n||!r)return null;if(!ct(n.type,[V,B,z,qe,H]))return t.error(`Expected first argument to be of type boolean, string, number or null, but found ${at(n.type)} instead`);if(e.length===4){let i=t.parse(e[3],3,z);return i?new rn(n,r,i):null}return new rn(n,r)}evaluate(e){let t=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!lt(t,[`boolean`,`string`,`number`,`null`]))throw new Bt(`Expected first argument to be of type boolean, string, number or null, but found ${at(q(t))} instead.`);let r;if(this.fromIndex&&(r=this.fromIndex.evaluate(e)),lt(n,[`string`])){let e=n.indexOf(t,r);return e===-1?-1:[...n.slice(0,e)].length}if(lt(n,[`array`]))return n.indexOf(t,r);throw new Bt(`Expected second argument to be of type array or string, but found ${at(q(n))} instead.`)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}}class an{constructor(e,t,n,r,i,a){this.inputType=e,this.type=t,this.input=n,this.cases=r,this.outputs=i,this.otherwise=a}static parse(e,t){if(e.length<5)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if(e.length%2!=1)return t.error(`Expected an even number of arguments.`);let n,r;t.expectedType&&t.expectedType.kind!==`value`&&(r=t.expectedType);let i={},a=[];for(let o=2;o<e.length-1;o+=2){let s=e[o],c=e[o+1];Array.isArray(s)||(s=[s]);let l=t.concat(o);if(s.length===0)return l.error(`Expected at least one branch label.`);for(let e of s){if(typeof e!=`number`&&typeof e!=`string`)return l.error(`Branch labels must be numbers or strings.`);if(typeof e==`number`&&Math.abs(e)>2**53-1)return l.error(`Branch labels must be integers no larger than ${2**53-1}.`);if(typeof e==`number`&&Math.floor(e)!==e)return l.error(`Numeric branch labels must be integer values.`);if(n){if(l.checkSubtype(n,q(e)))return null}else n=q(e);if(i[String(e)]!==void 0)return l.error(`Branch labels must be unique.`);
12i[String(e)]=a.length}let u=t.parse(c,o,r);if(!u)return null;r||=u.type,a.push(u)}let o=t.parse(e[1],1,H);if(!o)return null;let s=t.parse(e[e.length-1],e.length-1,r);return s?o.type.kind!==`value`&&t.concat(1).checkSubtype(n,o.type)?null:new an(n,r,o,i,a,s):null}evaluate(e){let t=this.input.evaluate(e);return(q(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(e)}eachChild(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))&&this.otherwise.outputDefined()}}class on{constructor(e,t,n){this.type=e,this.branches=t,this.otherwise=n}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found only ${e.length-1}.`);if(e.length%2!=0)return t.error(`Expected an odd number of arguments.`);let n;t.expectedType&&t.expectedType.kind!==`value`&&(n=t.expectedType);let r=[];for(let i=1;i<e.length-1;i+=2){let a=t.parse(e[i],i,V);if(!a)return null;let o=t.parse(e[i+1],i+1,n);if(!o)return null;r.push([a,o]),n||=o.type}let i=t.parse(e[e.length-1],e.length-1,n);if(!i)return null;if(!n)throw Error(`Can't infer output type`);return new on(n,r,i)}evaluate(e){for(let[t,n]of this.branches)if(t.evaluate(e))return n.evaluate(e);return this.otherwise.evaluate(e)}eachChild(e){for(let[t,n]of this.branches)e(t),e(n);e(this.otherwise)}outputDefined(){return this.branches.every((([e,t])=>t.outputDefined()))&&this.otherwise.outputDefined()}}class sn{constructor(e,t,n,r){this.type=e,this.input=t,this.beginIndex=n,this.endIndex=r}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);let n=t.parse(e[1],1,H),r=t.parse(e[2],2,z);if(!n||!r)return null;if(!ct(n.type,[it(H),B,H]))return t.error(`Expected first argument to be of type array or string, but found ${at(n.type)} instead`);if(e.length===4){let i=t.parse(e[3],3,z);return i?new sn(n.type,n,r,i):null}return new sn(n.type,n,r)}evaluate(e){let t=this.input.evaluate(e),n=this.beginIndex.evaluate(e),r;if(this.endIndex&&(r=this.endIndex.evaluate(e)),lt(t,[`string`]))return[...t].slice(n,r).join(``);if(lt(t,[`array`]))return t.slice(n,r);throw new Bt(`Expected first argument to be of type array or string, but found ${at(q(t))} instead.`)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}}function cn(e,t){let n=e.length-1,r,i,a=0,o=n,s=0;for(;a<=o;)if(s=Math.floor((a+o)/2),r=e[s],i=e[s+1],r<=t){if(s===n||t<i)return s;a=s+1}else{if(!(r>t))throw new Bt(`Input is not a number.`);o=s-1}return 0}class ln{constructor(e,t,n){this.type=e,this.input=t,this.labels=[],this.outputs=[];for(let[e,t]of n)this.labels.push(e),this.outputs.push(t)}static parse(e,t){if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error(`Expected an even number of arguments.`);let n=t.parse(e[1],1,z);if(!n)return null;let r=[],i=null;t.expectedType&&t.expectedType.kind!==`value`&&(i=t.expectedType);for(let n=1;n<e.length;n+=2){let a=n===1?-1/0:e[n],o=e[n+1],s=n,c=n+1;if(typeof a!=`number`)return t.error(`Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.`,s);if(r.length&&r[r.length-1][0]>=a)return t.error(`Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.`,s);let l=t.parse(o,c,i);if(!l)return null;i||=l.type,r.push([a,l])}return new ln(i,n,r)}evaluate(e){let t=this.labels,n=this.outputs;if(t.length===1)return n[0].evaluate(e);let r=this.input.evaluate(e);if(r<=t[0])return n[0].evaluate(e);let i=t.length;return r>=t[i-1]?n[i-1].evaluate(e):n[cn(t,r)].evaluate(e)}eachChild(e){e(this.input);for(let t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}}function un(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var dn,fn,pn=un(function(){if(fn)return dn;function e(e,t,n,r){this.cx=3*e,this.bx=3*(n-e)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*t,this.by=3*(r-t)-this.cy,this.ay=1-this.cy-this.by,this.p1x=e,this.p1y=t,this.p2x=n,this.p2y=r}return fn=1,dn=e,e.prototype={sampleCurveX:function(e){return((this.ax*e+this.bx)*e+this.cx)*e},sampleCurveY:function(e){return((this.ay*e+this.by)*e+this.cy)*e},sampleCurveDerivativeX:function(e){return(3*this.ax*e+2*this.bx)*e+this.cx},solveCurveX:function(e,t){if(t===void 0&&(t=1e-6),e<0)return 0;if(e>1)return 1;for(var n=e,r=0;r<8;r++){var i=this.sampleCurveX(n)-e;if(Math.abs(i)<t)return n;var a=this.sampleCurveDerivativeX(n);
12if(Math.abs(a)<1e-6)break;n-=i/a}var o=0,s=1;for(n=e,r=0;r<20&&(i=this.sampleCurveX(n),!(Math.abs(i-e)<t));r++)e>i?o=n:s=n,n=.5*(s-o)+o;return n},solve:function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))}},dn}());class mn{constructor(e,t,n,r,i){this.type=e,this.operator=t,this.interpolation=n,this.input=r,this.labels=[],this.outputs=[];for(let[e,t]of i)this.labels.push(e),this.outputs.push(t)}static interpolationFactor(e,t,n,r){let i=0;if(e.name===`exponential`)i=hn(t,e.base,n,r);else if(e.name===`linear`)i=hn(t,1,n,r);else if(e.name===`cubic-bezier`){let a=e.controlPoints;i=new pn(a[0],a[1],a[2],a[3]).solve(hn(t,1,n,r))}return i}static parse(e,t){let[n,r,i,...a]=e;if(!Array.isArray(r)||r.length===0)return t.error(`Expected an interpolation type expression.`,1);if(r[0]===`linear`)r={name:`linear`};else if(r[0]===`exponential`){let e=r[1];if(typeof e!=`number`)return t.error(`Exponential interpolation requires a numeric base.`,1,1);r={name:`exponential`,base:e}}else{if(r[0]!==`cubic-bezier`)return t.error(`Unknown interpolation type ${String(r[0])}`,1,0);{let e=r.slice(1);if(e.length!==4||e.some((e=>typeof e!=`number`||e<0||e>1)))return t.error(`Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.`,1);r={name:`cubic-bezier`,controlPoints:e}}}if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error(`Expected an even number of arguments.`);if(i=t.parse(i,2,z),!i)return null;let o=[],s=null;n!==`interpolate-hcl`&&n!==`interpolate-lab`||t.expectedType==et?t.expectedType&&t.expectedType.kind!==`value`&&(s=t.expectedType):s=Je;for(let e=0;e<a.length;e+=2){let n=a[e],r=a[e+1],i=e+3,c=e+4;if(typeof n!=`number`)return t.error(`Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.`,i);if(o.length&&o[o.length-1][0]>=n)return t.error(`Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.`,i);let l=t.parse(r,c,s);if(!l)return null;s||=l.type,o.push([n,l])}return ut(s,z)||ut(s,Ye)||ut(s,Je)||ut(s,$e)||ut(s,tt)||ut(s,et)||ut(s,rt)||ut(s,it(z))?new mn(s,n,r,i,o):t.error(`Type ${at(s)} is not interpolatable.`)}evaluate(e){let t=this.labels,n=this.outputs;if(t.length===1)return n[0].evaluate(e);let r=this.input.evaluate(e);if(r<=t[0])return n[0].evaluate(e);let i=t.length;if(r>=t[i-1])return n[i-1].evaluate(e);let a=cn(t,r),o=mn.interpolationFactor(this.interpolation,r,t[a],t[a+1]),s=n[a].evaluate(e),c=n[a+1].evaluate(e);switch(this.operator){case`interpolate`:switch(this.type.kind){case`number`:return jt(s,c,o);case`color`:return W.interpolate(s,c,o);case`padding`:return Lt.interpolate(s,c,o);case`colorArray`:return zt.interpolate(s,c,o);case`numberArray`:return Rt.interpolate(s,c,o);case`variableAnchorOffsetCollection`:return Ht.interpolate(s,c,o);case`array`:return Mt(s,c,o);case`projectionDefinition`:return G.interpolate(s,c,o)}case`interpolate-hcl`:switch(this.type.kind){case`color`:return W.interpolate(s,c,o,`hcl`);case`colorArray`:return zt.interpolate(s,c,o,`hcl`)}case`interpolate-lab`:switch(this.type.kind){case`color`:return W.interpolate(s,c,o,`lab`);case`colorArray`:return zt.interpolate(s,c,o,`lab`)}}}eachChild(e){e(this.input);for(let t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}}function hn(e,t,n,r){let i=r-n,a=e-n;return i===0?0:t===1?a/i:(t**+a-1)/(t**+i-1)}let gn={color:W.interpolate,number:jt,padding:Lt.interpolate,numberArray:Rt.interpolate,colorArray:zt.interpolate,variableAnchorOffsetCollection:Ht.interpolate,array:Mt};class _n{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error(`Expected at least one argument.`);let n=null,r=t.expectedType;r&&r.kind!==`value`&&(n=r);let i=[];for(let r of e.slice(1)){let e=t.parse(r,1+i.length,n,void 0,{typeAnnotation:`omit`});if(!e)return null;n||=e.type,i.push(e)}if(!n)throw Error(`No output type`);return new _n(r&&i.some((e=>st(r,e.type)))?H:n,i)}evaluate(e){let t,n=null,r=0;for(let i of this.args)if(r++,n=i.evaluate(e),n&&n instanceof Ut&&!n.available&&(t||=n.name,n=null,r===this.args.length&&(n=t)),n!==null)break;return n}
12eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}}function vn(e,t){return e===`==`||e===`!=`?t.kind===`boolean`||t.kind===`string`||t.kind===`number`||t.kind===`null`||t.kind===`value`:t.kind===`string`||t.kind===`number`||t.kind===`value`}function yn(e,t,n,r){return r.compare(t,n)===0}function bn(e,t,n){let r=e!==`==`&&e!==`!=`;return class i{constructor(e,t,n){this.type=V,this.lhs=e,this.rhs=t,this.collator=n,this.hasUntypedArgument=e.type.kind===`value`||t.type.kind===`value`}static parse(e,t){if(e.length!==3&&e.length!==4)return t.error(`Expected two or three arguments.`);let n=e[0],a=t.parse(e[1],1,H);if(!a)return null;if(!vn(n,a.type))return t.concat(1).error(`"${n}" comparisons are not supported for type '${at(a.type)}'.`);let o=t.parse(e[2],2,H);if(!o)return null;if(!vn(n,o.type))return t.concat(2).error(`"${n}" comparisons are not supported for type '${at(o.type)}'.`);if(a.type.kind!==o.type.kind&&a.type.kind!==`value`&&o.type.kind!==`value`)return t.error(`Cannot compare types '${at(a.type)}' and '${at(o.type)}'.`);r&&(a.type.kind===`value`&&o.type.kind!==`value`?a=new qt(o.type,[a]):a.type.kind!==`value`&&o.type.kind===`value`&&(o=new qt(a.type,[o])));let s=null;if(e.length===4){if(a.type.kind!==`string`&&o.type.kind!==`string`&&a.type.kind!==`value`&&o.type.kind!==`value`)return t.error(`Cannot use collator to compare non-string types.`);if(s=t.parse(e[3],3,Ze),!s)return null}return new i(a,o,s)}evaluate(i){let a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(r&&this.hasUntypedArgument){let t=q(a),n=q(o);if(t.kind!==n.kind||t.kind!==`string`&&t.kind!==`number`)throw new Bt(`Expected arguments for "${e}" to be (string, string) or (number, number), but found (${t.kind}, ${n.kind}) instead.`)}if(this.collator&&!r&&this.hasUntypedArgument){let e=q(a),n=q(o);if(e.kind!==`string`||n.kind!==`string`)return t(i,a,o)}return this.collator?n(i,a,o,this.collator.evaluate(i)):t(i,a,o)}eachChild(e){e(this.lhs),e(this.rhs),this.collator&&e(this.collator)}outputDefined(){return!0}}}let xn=bn(`==`,(function(e,t,n){return t===n}),yn),Sn=bn(`!=`,(function(e,t,n){return t!==n}),(function(e,t,n,r){return!yn(0,t,n,r)})),Cn=bn(`<`,(function(e,t,n){return t<n}),(function(e,t,n,r){return r.compare(t,n)<0})),wn=bn(`>`,(function(e,t,n){return t>n}),(function(e,t,n,r){return r.compare(t,n)>0})),Tn=bn(`<=`,(function(e,t,n){return t<=n}),(function(e,t,n,r){return r.compare(t,n)<=0})),En=bn(`>=`,(function(e,t,n){return t>=n}),(function(e,t,n,r){return r.compare(t,n)>=0}));class Dn{constructor(e,t,n){this.type=Ze,this.locale=n,this.caseSensitive=e,this.diacriticSensitive=t}static parse(e,t){if(e.length!==2)return t.error(`Expected one argument.`);let n=e[1];if(typeof n!=`object`||Array.isArray(n))return t.error(`Collator options argument must be an object.`);let r=t.parse(n[`case-sensitive`]!==void 0&&n[`case-sensitive`],1,V);if(!r)return null;let i=t.parse(n[`diacritic-sensitive`]!==void 0&&n[`diacritic-sensitive`],1,V);if(!i)return null;let a=null;return n.locale&&(a=t.parse(n.locale,1,B),!a)?null:new Dn(r,i,a)}evaluate(e){return new Nt(this.caseSensitive.evaluate(e),this.diacriticSensitive.evaluate(e),this.locale?this.locale.evaluate(e):null)}eachChild(e){e(this.caseSensitive),e(this.diacriticSensitive),this.locale&&e(this.locale)}outputDefined(){return!1}}class On{constructor(e,t,n,r,i){this.type=B,this.number=e,this.locale=t,this.currency=n,this.minFractionDigits=r,this.maxFractionDigits=i}static parse(e,t){if(e.length!==3)return t.error(`Expected two arguments.`);let n=t.parse(e[1],1,z);if(!n)return null;let r=e[2];if(typeof r!=`object`||Array.isArray(r))return t.error(`NumberFormat options argument must be an object.`);let i=null;if(r.locale&&(i=t.parse(r.locale,1,B),!i))return null;let a=null;if(r.currency&&(a=t.parse(r.currency,1,B),!a))return null;let o=null;if(r[`min-fraction-digits`]&&(o=t.parse(r[`min-fraction-digits`],1,z),!o))return null;let s=null;return r[`max-fraction-digits`]&&(s=t.parse(r[`max-fraction-digits`],1,z),!s)?null:new On(n,i,a,o,s)}evaluate(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:this.currency?`currency`:`decimal`,currency:this.currency?this.currency.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))}eachChild(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)}outputDefined(){return!1}}class kn{constructor(e){this.type=Qe,this.sections=e}static parse(e,t){if(e.length<2)return t.error(`Expected at least one argument.`);let n=e[1];if(!Array.isArray(n)&&typeof n==`object`)return t.error(`First argument must be an image or text section.`);let r=[],i=!1;for(let n=1;n<=e.length-1;++n){let a=e[n];if(i&&typeof a==`object`&&!Array.isArray(a)){i=!1;let e=null;if(a[`font-scale`]&&(e=t.parse(a[`font-scale`],1,z),!e))return null;let n=null;if(a[`text-font`]&&(n=t.parse(a[`text-font`],1,it(B)),!n))return null;let o=null;if(a[`text-color`]&&(o=t.parse(a[`text-color`],1,Je),!o))return null;let s=null;if(a[`vertical-align`]){if(typeof a[`vertical-align`]==`string`&&!Pt.includes(a[`vertical-align`]))return t.error(`'vertical-align' must be one of: 'bottom', 'center', 'top' but found '${a[`vertical-align`]}' instead.`);
12if(s=t.parse(a[`vertical-align`],1,B),!s)return null}let c=r[r.length-1];c.scale=e,c.font=n,c.textColor=o,c.verticalAlign=s}else{let a=t.parse(e[n],1,H);if(!a)return null;let o=a.type.kind;if(o!==`string`&&o!==`value`&&o!==`null`&&o!==`resolvedImage`)return t.error(`Formatted text type must be 'string', 'value', 'image' or 'null'.`);i=!0,r.push({content:a,scale:null,font:null,textColor:null,verticalAlign:null})}}return new kn(r)}evaluate(e){return new It(this.sections.map((t=>{let n=t.content.evaluate(e);return q(n)===nt?new Ft(``,n,null,null,null,t.verticalAlign?t.verticalAlign.evaluate(e):null):new Ft(Gt(n),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(`,`):null,t.textColor?t.textColor.evaluate(e):null,t.verticalAlign?t.verticalAlign.evaluate(e):null)})))}eachChild(e){for(let t of this.sections)e(t.content),t.scale&&e(t.scale),t.font&&e(t.font),t.textColor&&e(t.textColor),t.verticalAlign&&e(t.verticalAlign)}outputDefined(){return!1}}class An{constructor(e){this.type=nt,this.input=e}static parse(e,t){if(e.length!==2)return t.error(`Expected two arguments.`);let n=t.parse(e[1],1,B);return n?new An(n):t.error(`No image name provided.`)}evaluate(e){let t=this.input.evaluate(e),n=Ut.fromString(t);return n&&e.availableImages&&(n.available=e.availableImages.indexOf(t)>-1),n}eachChild(e){e(this.input)}outputDefined(){return!1}}class jn{constructor(e){this.type=z,this.input=e}static parse(e,t){if(e.length!==2)return t.error(`Expected 1 argument, but found ${e.length-1} instead.`);let n=t.parse(e[1],1);return n?n.type.kind!==`array`&&n.type.kind!==`string`&&n.type.kind!==`value`?t.error(`Expected argument of type string or array, but found ${at(n.type)} instead.`):new jn(n):null}evaluate(e){let t=this.input.evaluate(e);if(typeof t==`string`)return[...t].length;if(Array.isArray(t))return t.length;throw new Bt(`Expected value to be of type string or array, but found ${at(q(t))} instead.`)}eachChild(e){e(this.input)}outputDefined(){return!1}}let Mn=8192;function Nn(e,t){let n=(180+e[0])/360,r=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e[1]*Math.PI/360)))/360,i=2**t.z;return[Math.round(n*i*Mn),Math.round(r*i*Mn)]}function Pn(e,t){let n=2**t.z;return[(i=(e[0]/Mn+t.x)/n,360*i-180),(r=(e[1]/Mn+t.y)/n,360/Math.PI*Math.atan(Math.exp((180-360*r)*Math.PI/180))-90)];var r,i}function Fn(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.max(e[2],t[0]),e[3]=Math.max(e[3],t[1])}function In(e,t){return!(e[0]<=t[0]||e[2]>=t[2]||e[1]<=t[1]||e[3]>=t[3])}function Ln(e,t,n){let r=e[0]-t[0],i=e[1]-t[1],a=e[0]-n[0],o=e[1]-n[1];return r*o-a*i==0&&r*a<=0&&i*o<=0}function Rn(e,t,n,r){return(i=[r[0]-n[0],r[1]-n[1]])[0]*(a=[t[0]-e[0],t[1]-e[1]])[1]-i[1]*a[0]!=0&&!(!Wn(e,t,n,r)||!Wn(n,r,e,t));var i,a}function zn(e,t,n){for(let r of n)for(let n=0;n<r.length-1;++n)if(Rn(e,t,r[n],r[n+1]))return!0;return!1}function Bn(e,t,n=!1){let r=!1;for(let s of t)for(let t=0;t<s.length-1;t++){if(Ln(e,s[t],s[t+1]))return n;(a=s[t])[1]>(i=e)[1]!=(o=s[t+1])[1]>i[1]&&i[0]<(o[0]-a[0])*(i[1]-a[1])/(o[1]-a[1])+a[0]&&(r=!r)}var i,a,o;return r}function Vn(e,t){for(let n of t)if(Bn(e,n))return!0;return!1}function Hn(e,t){for(let n of e)if(!Bn(n,t))return!1;for(let n=0;n<e.length-1;++n)if(zn(e[n],e[n+1],t))return!1;return!0}function Un(e,t){for(let n of t)if(Hn(e,n))return!0;return!1}function Wn(e,t,n,r){let i=r[0]-n[0],a=r[1]-n[1],o=(e[0]-n[0])*a-i*(e[1]-n[1]),s=(t[0]-n[0])*a-i*(t[1]-n[1]);return o>0&&s<0||o<0&&s>0}function Gn(e,t,n){let r=[];for(let i=0;i<e.length;i++){let a=[];for(let r=0;r<e[i].length;r++){let o=Nn(e[i][r],n);Fn(t,o),a.push(o)}r.push(a)}return r}function Kn(e,t,n){let r=[];for(let i=0;i<e.length;i++){let a=Gn(e[i],t,n);r.push(a)}return r}function qn(e,t,n,r){if(e[0]<n[0]||e[0]>n[2]){let t=.5*r,i=e[0]-n[0]>t?-r:n[0]-e[0]>t?r:0;i===0&&(i=e[0]-n[2]>t?-r:n[2]-e[0]>t?r:0),e[0]+=i}Fn(t,e)}function Jn(e,t,n,r){let i=2**r.z*Mn,a=[r.x*Mn,r.y*Mn],o=[];for(let r of e)for(let e of r){let r=[e.x+a[0],e.y+a[1]];qn(r,t,n,i),o.push(r)}return o}function Yn(e,t,n,r){let i=2**r.z*Mn,a=[r.x*Mn,r.y*Mn],o=[];for(let n of e){let e=[];for(let r of n){let n=[r.x+a[0],r.y+a[1]];Fn(t,n),e.push(n)}o.push(e)}if(t[2]-t[0]<=i/2){(s=t)[0]=s[1]=1/0,s[2]=s[3]=-1/0;for(let e of o)for(let r of e)qn(r,t,n,i)}var s;return o}class Xn{constructor(e,t){this.type=V,this.geojson=e,this.geometries=t}static parse(e,t){if(e.length!==2)return t.error(`'within' expression requires exactly one argument, but found ${e.length-1} instead.`);if(K(e[1])){let t=e[1];if(t.type===`FeatureCollection`){let e=[];for(let n of t.features){let{type:t,coordinates:r}=n.geometry;t===`Polygon`&&e.push(r),t===`MultiPolygon`&&e.push(...r)}if(e.length)return new Xn(t,{type:`MultiPolygon`,coordinates:e})}else if(t.type===`Feature`){let e=t.geometry.type;if(e===`Polygon`||e===`MultiPolygon`)return new Xn(t,t.geometry)}else if(t.type===`Polygon`||t.type===`MultiPolygon`)return new Xn(t,t)}return t.error(`'within' expression requires valid geojson object that contains polygon geometry type.`)}evaluate(e){if(e.geometry()!=null&&e.canonicalID()!=null){if(e.geometryType()===`Point`)return function(e,t){let n=[1/0,1/0,-1/0,-1/0],r=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if(t.type===`Polygon`){let a=Gn(t.coordinates,r,i),o=Jn(e.geometry(),n,r,i);if(!In(n,r))return!1;for(let e of o)if(!Bn(e,a))return!1}if(t.type===`MultiPolygon`){let a=Kn(t.coordinates,r,i),o=Jn(e.geometry(),n,r,i);if(!In(n,r))return!1;for(let e of o)if(!Vn(e,a))return!1}return!0}(e,this.geometries);if(e.geometryType()===`LineString`)return function(e,t){let n=[1/0,1/0,-1/0,-1/0],r=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if(t.type===`Polygon`){let a=Gn(t.coordinates,r,i),o=Yn(e.geometry(),n,r,i);if(!In(n,r))return!1;for(let e of o)if(!Hn(e,a))return!1}if(t.type===`MultiPolygon`){let a=Kn(t.coordinates,r,i),o=Yn(e.geometry(),n,r,i);if(!In(n,r))return!1;for(let e of o)if(!Un(e,a))return!1}return!0}(e,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let Zn=class{constructor(e=[],t=((e,t)=>e<t?-1:+(e>t))){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:n}=this,r=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(n(r,a)>=0)break;t[e]=a,e=i}t[e]=r}_down(e){let{data:t,compare:n}=this,r=this.length>>1,i=t[e];for(;e<r;){let r=1+(e<<1),a=r+1;if(a<this.length&&n(t[a],t[r])<0&&(r=a),n(t[r],i)>=0)break;t[e]=t[r],e=r}t[e]=i}};function Qn(e,t,n=0,r=e.length-1,i=er){for(;r>n;){if(r-n>600){let a=r-n+1,o=t-n+1,s=Math.log(a),c=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*c*(a-c)/
vendor: 6,644 bytes, line 12
12a)*(o-a/2<0?-1:1);Qn(e,t,Math.max(n,Math.floor(t-o*c/a+l)),Math.min(r,Math.floor(t+(a-o)*c/a+l)),i)}let a=e[t],o=n,s=r;for($n(e,n,t),i(e[r],a)>0&&$n(e,n,r);o<s;){for($n(e,o,s),o++,s--;i(e[o],a)<0;)o++;for(;i(e[s],a)>0;)s--}i(e[n],a)===0?$n(e,n,s):(s++,$n(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}}function $n(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function er(e,t){return e<t?-1:+(e>t)}function tr(e,t){if(e.length<=1)return[e];let n=[],r,i;for(let t of e){let e=rr(t);e!==0&&(t.area=Math.abs(e),i===void 0&&(i=e<0),i===e<0?(r&&n.push(r),r=[t]):r.push(t))}if(r&&n.push(r),t>1)for(let e=0;e<n.length;e++)n[e].length<=t||(Qn(n[e],t,1,n[e].length-1,nr),n[e]=n[e].slice(0,t));return n}function nr(e,t){return t.area-e.area}function rr(e){let t=0;for(let n,r,i=0,a=e.length,o=a-1;i<a;o=i++)n=e[i],r=e[o],t+=(r.x-n.x)*(n.y+r.y);return t}let ir=1/298.257223563,ar=ir*(2-ir),or=Math.PI/180;class sr{constructor(e){let t=6378.137*or*1e3,n=Math.cos(e*or),r=1/(1-ar*(1-n*n)),i=Math.sqrt(r);this.kx=t*i*n,this.ky=t*i*r*(1-ar)}distance(e,t){let n=this.wrap(e[0]-t[0])*this.kx,r=(e[1]-t[1])*this.ky;return Math.sqrt(n*n+r*r)}pointOnLine(e,t){let n,r,i,a,o=1/0;for(let s=0;s<e.length-1;s++){let c=e[s][0],l=e[s][1],u=this.wrap(e[s+1][0]-c)*this.kx,d=(e[s+1][1]-l)*this.ky,f=0;u===0&&d===0||(f=(this.wrap(t[0]-c)*this.kx*u+(t[1]-l)*this.ky*d)/(u*u+d*d),f>1?(c=e[s+1][0],l=e[s+1][1]):f>0&&(c+=u/this.kx*f,l+=d/this.ky*f)),u=this.wrap(t[0]-c)*this.kx,d=(t[1]-l)*this.ky;let p=u*u+d*d;p<o&&(o=p,n=c,r=l,i=s,a=f)}return{point:[n,r],index:i,t:Math.max(0,Math.min(1,a))}}wrap(e){for(;e<-180;)e+=360;for(;e>180;)e-=360;return e}}function cr(e,t){return t[0]-e[0]}function lr(e){return e[1]-e[0]+1}function ur(e,t){return e[1]>=e[0]&&e[1]<t}function dr(e,t){if(e[0]>e[1])return[null,null];let n=lr(e);if(t){if(n===2)return[e,null];let t=Math.floor(n/2);return[[e[0],e[0]+t],[e[0]+t,e[1]]]}if(n===1)return[e,null];let r=Math.floor(n/2)-1;return[[e[0],e[0]+r],[e[0]+r+1,e[1]]]}function fr(e,t){if(!ur(t,e.length))return[1/0,1/0,-1/0,-1/0];let n=[1/0,1/0,-1/0,-1/0];for(let r=t[0];r<=t[1];++r)Fn(n,e[r]);return n}function pr(e){let t=[1/0,1/0,-1/0,-1/0];for(let n of e)for(let e of n)Fn(t,e);return t}function mr(e){return e[0]!==-1/0&&e[1]!==-1/0&&e[2]!==1/0&&e[3]!==1/0}function hr(e,t,n){if(!mr(e)||!mr(t))return NaN;let r=0,i=0;return e[2]<t[0]&&(r=t[0]-e[2]),e[0]>t[2]&&(r=e[0]-t[2]),e[1]>t[3]&&(i=e[1]-t[3]),e[3]<t[1]&&(i=t[1]-e[3]),n.distance([0,0],[r,i])}function gr(e,t,n){let r=n.pointOnLine(t,e);return n.distance(e,r.point)}function _r(e,t,n,r,i){let a=Math.min(gr(e,[n,r],i),gr(t,[n,r],i)),o=Math.min(gr(n,[e,t],i),gr(r,[e,t],i));return Math.min(a,o)}function vr(e,t,n,r,i){if(!ur(t,e.length)||!ur(r,n.length))return 1/0;let a=1/0;for(let o=t[0];o<t[1];++o){let t=e[o],s=e[o+1];for(let e=r[0];e<r[1];++e){let r=n[e],o=n[e+1];if(Rn(t,s,r,o))return 0;a=Math.min(a,_r(t,s,r,o,i))}}return a}function yr(e,t,n,r,i){if(!ur(t,e.length)||!ur(r,n.length))return NaN;let a=1/0;for(let o=t[0];o<=t[1];++o)for(let t=r[0];t<=r[1];++t)if(a=Math.min(a,i.distance(e[o],n[t])),a===0)return a;return a}function br(e,t,n){if(Bn(e,t,!0))return 0;let r=1/0;for(let i of t){let t=i[0],a=i[i.length-1];if(t!==a&&(r=Math.min(r,gr(e,[a,t],n)),r===0))return r;let o=n.pointOnLine(i,e);if(r=Math.min(r,n.distance(e,o.point)),r===0)return r}return r}function xr(e,t,n,r){if(!ur(t,e.length))return NaN;for(let r=t[0];r<=t[1];++r)if(Bn(e[r],n,!0))return 0;let i=1/0;for(let a=t[0];a<t[1];++a){let t=e[a],o=e[a+1];for(let e of n)for(let n=0,a=e.length,s=a-1;n<a;s=n++){let a=e[s],c=e[n];if(Rn(t,o,a,c))return 0;i=Math.min(i,_r(t,o,a,c,r))}}return i}function Sr(e,t){for(let n of e)for(let e of n)if(Bn(e,t,!0))return!0;return!1}function Cr(e,t,n,r=1/0){let i=pr(e),a=pr(t);if(r!==1/0&&hr(i,a,n)>=r)return r;if(In(i,a)){if(Sr(e,t))return 0}else if(Sr(t,e))return 0;let o=1/0;for(let r of e)for(let e=0,i=r.length,a=i-1;e<i;a=e++){let i=r[a],s=r[e];for(let e of t)for(let t=0,r=e.length,a=r-1;t<r;a=t++){let r=e[a],c=e[t];if(Rn(i,s,r,c))return 0;o=Math.min(o,_r(i,s,r,c,n))}}return o}function wr(e,t,n,r,i,a){if(!a)return;let o=hr(fr(r,a),i,n);o<t&&e.push([o,a,[0,0]])}function Tr(e,t,n,r,i,a,o){if(!a||!o)return;let s=hr(fr(r,a),fr(i,o),n);s<t&&e.push([s,a,o])}function Er(e,t,n,r,i=1/0){let a=Math.min(r.distance(e[0],n[0][0]),i);if(a===0)return a;let o=new Zn([[0,[0,e.length-1],[0,0]]],cr),s=pr(n);for(;o.length>0;){let i=o.pop();if(i[0]>=a)continue;let c=i[1],l=t?50:100;if(lr(c)<=l){if(!ur(c,e.length))return NaN;if(t){let t=xr(e,c,n,r);if(isNaN(t)||t===0)return t;a=Math.min(a,t)}else for(let t=c[0];t<=c[1];++t){let i=br(e[t],n,r);if(a=Math.min(a,i),a===0)return 0}}else{let n=dr(c,t);wr(o,a,r,e,s,n[0]),wr(o,a,r,e,s,n[1])}}return a}function Dr(e,t,n,r,i,a=1/0){let o=Math.min(a,i.distance(e[0],n[0]));if(o===0)return o;let s=new Zn([[0,[0,e.length-1],[0,n.length-1]]],cr);for(;s.length>0;){let a=s.pop();if(a[0]>=o)continue;let c=a[1],l=a[2],u=t?50:100,d=r?50:100;if(lr(c)<=u&&lr(l)<=d){if(!ur(c,e.length)&&ur(l,n.length))return NaN;let a;if(t&&r)a=vr(e,c,n,l,i),o=Math.min(o,a);else if(t&&!r){let t=e.slice(c[0],c[1]+1);for(let e=l[0];e<=l[1];++e)if(a=gr(n[e],t,i),o=Math.min(o,a),o===0)return o}else if(!t&&r){let t=n.slice(l[0],l[1]+1);for(let n=c[0];n<=c[1];++n)if(a=gr(e[n],t,i),o=Math.min(o,a),o===0)return o}else a=yr(e,c,n,l,i),o=Math.min(o,a)}else{let a=dr(c,t),u=dr(l,r);Tr(s,o,i,e,n,a[0],u[0]),Tr(s,o,i,e,n,a[0],u[1]),Tr(s,o,i,e,n,a[1],u[0]),Tr(s,o,i,e,n,a[1],u[1])}}return o}function Or(e){return e.type===`MultiPolygon`?e.coordinates.map((e=>({type:`Polygon`,coordinates:e}))):e.type===`MultiLineString`?e.coordinates.map((e=>({type:`LineString`,coordinates:e}))):e.type===`MultiPoint`?e.coordinates.map((e=>({type:`Point`,coordinates:e}))):[e]}class kr{constructor(e,t){this.type=z,this.geojson=e,this.geometries=t}static parse(e,t){if(e.length!==2)return t.error(`'distance' expression requires exactly one argument, but found ${e.length-1} instead.`);if(K(e[1])){let t=e[1];if(t.type===`FeatureCollection`)return new kr(t,t.features.map((e=>Or(e.geometry))).flat());if(t.type===`Feature`)return new kr(t,Or(t.geometry));if(`type`in t&&`coordinates`in t)return new kr(t,Or(t))}return t.error(`'distance' expression requires valid geojson object that contains polygon geometry type.`)}evaluate(e){if(e.geometry()!=null&&e.canonicalID()!=null){if(e.geometryType()===`Point`)return function(e,t){let n=e.geometry(),r=n.flat().map((t=>Pn([t.x,t.y],e.canonical)));if(n.length===0)return NaN;let i=new sr(r[0][1]),a=1/0;for(let e of t){switch(e.type){case`Point`:a=Math.min(a,Dr(r,!1,[e.coordinates],!1,i,a));break;case`LineString`:a=Math.min(a,Dr(r,!1,e.coordinates,!0,i,a));break;
12case`Polygon`:a=Math.min(a,Er(r,!1,e.coordinates,i,a))}if(a===0)return a}return a}(e,this.geometries);if(e.geometryType()===`LineString`)return function(e,t){let n=e.geometry(),r=n.flat().map((t=>Pn([t.x,t.y],e.canonical)));if(n.length===0)return NaN;let i=new sr(r[0][1]),a=1/0;for(let e of t){switch(e.type){case`Point`:a=Math.min(a,Dr(r,!0,[e.coordinates],!1,i,a));break;case`LineString`:a=Math.min(a,Dr(r,!0,e.coordinates,!0,i,a));break;case`Polygon`:a=Math.min(a,Er(r,!0,e.coordinates,i,a))}if(a===0)return a}return a}(e,this.geometries);if(e.geometryType()===`Polygon`)return function(e,t){let n=e.geometry();if(n.length===0||n[0].length===0)return NaN;let r=tr(n,0).map((t=>t.map((t=>t.map((t=>Pn([t.x,t.y],e.canonical))))))),i=new sr(r[0][0][0][1]),a=1/0;for(let e of t)for(let t of r){switch(e.type){case`Point`:a=Math.min(a,Er([e.coordinates],!1,t,i,a));break;case`LineString`:a=Math.min(a,Er(e.coordinates,!0,t,i,a));break;case`Polygon`:a=Math.min(a,Cr(t,e.coordinates,i,a))}if(a===0)return a}return a}(e,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}class Ar{constructor(e){this.type=H,this.key=e}static parse(e,t){if(e.length!==2)return t.error(`Expected 1 argument, but found ${e.length-1} instead.`);let n=e[1];return n==null?t.error(`Global state property must be defined.`):typeof n==`string`?new Ar(n):t.error(`Global state property must be string, but found ${typeof e[1]} instead.`)}evaluate(e){let t=e.globals?.globalState;return t&&Object.keys(t).length!==0?Et(t,this.key):null}eachChild(){}outputDefined(){return!1}}let jr={"==":xn,"!=":Sn,">":wn,"<":Cn,">=":En,"<=":Tn,array:qt,at:tn,boolean:qt,case:on,coalesce:_n,collator:Dn,format:kn,image:An,in:nn,"index-of":rn,interpolate:mn,"interpolate-hcl":mn,"interpolate-lab":mn,length:jn,let:$t,literal:J,match:an,number:qt,"number-format":On,object:qt,slice:sn,step:ln,string:qt,"to-boolean":Yt,"to-color":Yt,"to-number":Yt,"to-string":Yt,var:en,within:Xn,distance:kr,"global-state":Ar};class Mr{constructor(e,t,n,r){this.name=e,this.type=t,this._evaluate=n,this.args=r}evaluate(e){return this._evaluate(e,this.args)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}static parse(e,t){let n=e[0],r=Mr.definitions[n];if(!r)return t.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0);let i=Array.isArray(r)?r[0]:r.type,a=Array.isArray(r)?[[r[1],r[2]]]:r.overloads,o=a.filter((([t])=>!Array.isArray(t)||t.length===e.length-1)),s=null;for(let[r,a]of o){s=new Qt(t.registry,Lr,t.path,null,t.scope);let o=[],c=!1;for(let t=1;t<e.length;t++){let n=e[t],i=Array.isArray(r)?r[t-1]:r.type,a=s.parse(n,1+o.length,i);if(!a){c=!0;break}o.push(a)}if(!c)if(Array.isArray(r)&&r.length!==o.length)s.error(`Expected ${r.length} arguments, but found ${o.length} instead.`);else{for(let e=0;e<o.length;e++){let t=Array.isArray(r)?r[e]:r.type,n=o[e];s.concat(e+1).checkSubtype(t,n.type)}if(s.errors.length===0)return new Mr(n,i,a,o)}}if(o.length===1)t.errors.push(...s.errors);else{let n=(o.length?o:a).map((([e])=>{return t=e,Array.isArray(t)?`(${t.map(at).join(`, `)})`:`(${at(t.type)}...)`;var t})).join(` | `),r=[];for(let n=1;n<e.length;n++){let i=t.parse(e[n],1+r.length);if(!i)return null;r.push(at(i.type))}t.error(`Expected arguments of type ${n}, but found (${r.join(`, `)}) instead.`)}return null}static register(e,t){Mr.definitions=t;for(let n in t)e[n]=Mr}}function Nr(e,[t,n,r,i]){t=t.evaluate(e),n=n.evaluate(e),r=r.evaluate(e);let a=i?i.evaluate(e):1,o=Wt(t,n,r,a);if(o)throw new Bt(o);return new W(t/255,n/255,r/255,a,!1)}function Pr(e,t){return e in t}function Fr(e,t){let n=t[e];return n===void 0?null:n}function Ir(e){return{type:e}}function Lr(e){if(e instanceof en)return Lr(e.boundExpression);if(e instanceof Mr&&e.name===`error`||e instanceof Dn||e instanceof Xn||e instanceof kr||e instanceof Ar)return!1;let t=e instanceof Yt||e instanceof qt,n=!0;return e.eachChild((e=>{n=t?n&&Lr(e):n&&e instanceof J})),!!n&&Rr(e)&&Br(e,[`zoom`,`heatmap-density`,`line-progress`,`accumulated`,`is-supported-script`])}function Rr(e){if(e instanceof Mr&&(e.name===`get`&&e.args.length===1||e.name===`feature-state`||e.name===`has`&&e.args.length===1||e.name===`properties`||e.name===`geometry-type`||e.name===`id`||/^filter-/.test(e.name))||e instanceof Xn||e instanceof kr)return!1;let t=!0;return e.eachChild((e=>{t&&!Rr(e)&&(t=!1)})),t}function zr(e){if(e instanceof Mr&&e.name===`feature-state`)return!1;let t=!0;return e.eachChild((e=>{t&&!zr(e)&&(t=!1)})),t}function Br(e,t){if(e instanceof Mr&&t.indexOf(e.name)>=0)return!1;let n=!0;return e.eachChild((e=>{n&&!Br(e,t)&&(n=!1)})),n}function Vr(e){return{result:`success`,value:e}}function Hr(e){return{result:`error`,value:e}}function Ur(e){return e[`property-type`]===`data-driven`||e[`property-type`]===`cross-faded-data-driven`}function Wr(e){return!!e.expression&&e.expression.parameters.indexOf(`zoom`)>-1}function Gr(e){return!!e.expression&&e.expression.interpolated}function Y(e){return e instanceof Number?`number`:e instanceof String?`string`:e instanceof Boolean?`boolean`:Array.isArray(e)?`array`:e===null?`null`:typeof e}function Kr(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&q(e)===Xe}function qr(e){return e}function Jr(e,t){let n=e.stops&&typeof e.stops[0][0]==`object`,r=n||!(n||e.property!==void 0),i=e.type||(Gr(t)?`exponential`:`interval`),a=function(e){switch(e.type){case`color`:return W.parse;case`padding`:return Lt.parse;case`numberArray`:return Rt.parse;case`colorArray`:return zt.parse;default:return null}}(t);
12if(a&&((e=We({},e)).stops&&(e.stops=e.stops.map((e=>[e[0],a(e[1])]))),e.default=a(e.default?e.default:t.default)),e.colorSpace&&(o=e.colorSpace)!==`rgb`&&o!==`hcl`&&o!==`lab`)throw Error(`Unknown color space: "${e.colorSpace}"`);var o;let s=function(e){switch(e){case`exponential`:return Qr;case`interval`:return Zr;case`categorical`:return Xr;case`identity`:return $r;default:throw Error(`Unknown function type "${e}"`)}}(i),c,l;if(i===`categorical`){c=Object.create(null);for(let t of e.stops)c[t[0]]=t[1];l=typeof e.stops[0][0]}if(n){let n={},r=[];for(let t=0;t<e.stops.length;t++){let i=e.stops[t],a=i[0].zoom;n[a]===void 0&&(n[a]={zoom:a,type:e.type,property:e.property,default:e.default,stops:[]},r.push(a)),n[a].stops.push([i[0].value,i[1]])}let i=[];for(let e of r)i.push([n[e].zoom,Jr(n[e],t)]);let a={name:`linear`};return{kind:`composite`,interpolationType:a,interpolationFactor:mn.interpolationFactor.bind(void 0,a),zoomStops:i.map((e=>e[0])),evaluate:({zoom:n},r)=>Qr({stops:i,base:e.base},t,n).evaluate(n,r)}}if(r){let n=i===`exponential`?{name:`exponential`,base:e.base===void 0?1:e.base}:null;return{kind:`camera`,interpolationType:n,interpolationFactor:mn.interpolationFactor.bind(void 0,n),zoomStops:e.stops.map((e=>e[0])),evaluate:({zoom:n})=>s(e,t,n,c,l)}}return{kind:`source`,evaluate(n,r){let i=r&&r.properties?r.properties[e.property]:void 0;return i===void 0?Yr(e.default,t.default):s(e,t,i,c,l)}}}function Yr(e,t,n){return e===void 0?t===void 0?n===void 0?void 0:n:t:e}function Xr(e,t,n,r,i){return Yr(typeof n===i?r[n]:void 0,e.default,t.default)}function Zr(e,t,n){if(Y(n)!==`number`)return Yr(e.default,t.default);let r=e.stops.length;if(r===1||n<=e.stops[0][0])return e.stops[0][1];if(n>=e.stops[r-1][0])return e.stops[r-1][1];let i=cn(e.stops.map((e=>e[0])),n);return e.stops[i][1]}function Qr(e,t,n){let r=e.base===void 0?1:e.base;if(Y(n)!==`number`)return Yr(e.default,t.default);let i=e.stops.length;if(i===1||n<=e.stops[0][0])return e.stops[0][1];if(n>=e.stops[i-1][0])return e.stops[i-1][1];let a=cn(e.stops.map((e=>e[0])),n),o=function(e,t,n,r){let i=r-n,a=e-n;return i===0?0:t===1?a/i:(t**+a-1)/(t**+i-1)}(n,r,e.stops[a][0],e.stops[a+1][0]),s=e.stops[a][1],c=e.stops[a+1][1],l=gn[t.type]||qr;return typeof s.evaluate==`function`?{evaluate(...t){let n=s.evaluate.apply(void 0,t),r=c.evaluate.apply(void 0,t);if(n!==void 0&&r!==void 0)return l(n,r,o,e.colorSpace)}}:l(s,c,o,e.colorSpace)}function $r(e,t,n){switch(t.type){case`color`:n=W.parse(n);break;case`formatted`:n=It.fromString(n.toString());break;case`resolvedImage`:n=Ut.fromString(n.toString());break;case`padding`:n=Lt.parse(n);break;case`colorArray`:n=zt.parse(n);break;case`numberArray`:n=Rt.parse(n);break;default:Y(n)===t.type||t.type===`enum`&&t.values[n]||(n=void 0)}return Yr(n,e.default,t.default)}Mr.register(jr,{error:[{kind:`error`},[B],(e,[t])=>{throw new Bt(t.evaluate(e))}],typeof:[B,[H],(e,[t])=>at(q(t.evaluate(e)))],"to-rgba":[it(z,4),[Je],(e,[t])=>{let[n,r,i,a]=t.evaluate(e).rgb;return[255*n,255*r,255*i,a]}],rgb:[Je,[z,z,z],Nr],rgba:[Je,[z,z,z,z],Nr],has:{type:V,overloads:[[[B],(e,[t])=>Pr(t.evaluate(e),e.properties())],[[B,Xe],(e,[t,n])=>Pr(t.evaluate(e),n.evaluate(e))]]},get:{type:H,overloads:[[[B],(e,[t])=>Fr(t.evaluate(e),e.properties())],[[B,Xe],(e,[t,n])=>Fr(t.evaluate(e),n.evaluate(e))]]},"feature-state":[H,[B],(e,[t])=>Fr(t.evaluate(e),e.featureState||{})],properties:[Xe,[],e=>e.properties()],"geometry-type":[B,[],e=>e.geometryType()],id:[H,[],e=>e.id()],zoom:[z,[],e=>e.globals.zoom],"heatmap-density":[z,[],e=>e.globals.heatmapDensity||0],"line-progress":[z,[],e=>e.globals.lineProgress||0],accumulated:[H,[],e=>e.globals.accumulated===void 0?null:e.globals.accumulated],"+":[z,Ir(z),(e,t)=>{let n=0;for(let r of t)n+=r.evaluate(e);return n}],"*":[z,Ir(z),(e,t)=>{let n=1;for(let r of t)n*=r.evaluate(e);return n}],"-":{type:z,overloads:[[[z,z],(e,[t,n])=>t.evaluate(e)-n.evaluate(e)],[[z],(e,[t])=>-t.evaluate(e)]]},"/":[z,[z,z],(e,[t,n])=>t.evaluate(e)/n.evaluate(e)],"%":[z,[z,z],(e,[t,n])=>t.evaluate(e)%n.evaluate(e)],ln2:[z,[],()=>Math.LN2],pi:[z,[],()=>Math.PI],e:[z,[],()=>Math.E],"^":[z,[z,z],(e,[t,n])=>t.evaluate(e)**+n.evaluate(e)],sqrt:[z,[z],(e,[t])=>Math.sqrt(t.evaluate(e))],log10:[z,[z],(e,[t])=>Math.log(t.evaluate(e))/Math.LN10],ln:[z,[z],(e,[t])=>Math.log(t.evaluate(e))],log2:[z,[z],(e,[t])=>Math.log(t.evaluate(e))/Math.LN2],sin:[z,[z],(e,[t])=>Math.sin(t.evaluate(e))],cos:[z,[z],(e,[t])=>Math.cos(t.evaluate(e))],tan:[z,[z],(e,[t])=>Math.tan(t.evaluate(e))],asin:[z,[z],(e,[t])=>Math.asin(t.evaluate(e))],acos:[z,[z],(e,[t])=>Math.acos(t.evaluate(e))],atan:[z,[z],(e,[t])=>Math.atan(t.evaluate(e))],min:[z,Ir(z),(e,t)=>Math.min(...t.map((t=>t.evaluate(e))))],max:[z,Ir(z),(e,t)=>Math.max(...t.map((t=>t.evaluate(e))))],abs:[z,[z],(e,[t])=>Math.abs(t.evaluate(e))],round:[z,[z],(e,[t])=>{let n=t.evaluate(e);return n<0?-Math.round(-n):Math.round(n)}],floor:[z,[z],(e,[t])=>Math.floor(t.evaluate(e))],ceil:[z,[z],(e,[t])=>Math.ceil(t.evaluate(e))],"filter-==":[V,[B,H],(e,[t,n])=>e.properties()[t.value]===n.value],"filter-id-==":[V,[H],(e,[t])=>e.id()===t.value],"filter-type-==":[V,[B],(e,[t])=>e.geometryType()===t.value],"filter-<":[V,[B,H],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r<i}],"filter-id-<":[V,[H],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n<r}],"filter->":[V,[B,H],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r>i}],"filter-id->":[V,[H],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n>r}
12],"filter-<=":[V,[B,H],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r<=i}],"filter-id-<=":[V,[H],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n<=r}],"filter->=":[V,[B,H],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r>=i}],"filter-id->=":[V,[H],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n>=r}],"filter-has":[V,[H],(e,[t])=>t.value in e.properties()],"filter-has-id":[V,[],e=>e.id()!==null&&e.id()!==void 0],"filter-type-in":[V,[it(B)],(e,[t])=>t.value.indexOf(e.geometryType())>=0],"filter-id-in":[V,[it(H)],(e,[t])=>t.value.indexOf(e.id())>=0],"filter-in-small":[V,[B,it(H)],(e,[t,n])=>n.value.indexOf(e.properties()[t.value])>=0],"filter-in-large":[V,[B,it(H)],(e,[t,n])=>function(e,t,n,r){for(;n<=r;){let i=n+r>>1;if(t[i]===e)return!0;t[i]>e?r=i-1:n=i+1}return!1}(e.properties()[t.value],n.value,0,n.value.length-1)],all:{type:V,overloads:[[[V,V],(e,[t,n])=>t.evaluate(e)&&n.evaluate(e)],[Ir(V),(e,t)=>{for(let n of t)if(!n.evaluate(e))return!1;return!0}]]},any:{type:V,overloads:[[[V,V],(e,[t,n])=>t.evaluate(e)||n.evaluate(e)],[Ir(V),(e,t)=>{for(let n of t)if(n.evaluate(e))return!0;return!1}]]},"!":[V,[V],(e,[t])=>!t.evaluate(e)],"is-supported-script":[V,[B],(e,[t])=>{let n=e.globals&&e.globals.isSupportedScript;return!n||n(t.evaluate(e))}],upcase:[B,[B],(e,[t])=>t.evaluate(e).toUpperCase()],downcase:[B,[B],(e,[t])=>t.evaluate(e).toLowerCase()],concat:[B,Ir(H),(e,t)=>t.map((t=>Gt(t.evaluate(e)))).join(``)],"resolved-locale":[B,[Ze],(e,[t])=>t.evaluate(e).resolvedLocale()]});class ei{constructor(e,t){this.expression=e,this._warningHistory={},this._evaluator=new Zt,this._defaultValue=t?function(e){if(e.type===`color`&&Kr(e.default))return new W(0,0,0,0);switch(e.type){case`color`:return W.parse(e.default)||null;case`padding`:return Lt.parse(e.default)||null;case`numberArray`:return Rt.parse(e.default)||null;case`colorArray`:return zt.parse(e.default)||null;case`variableAnchorOffsetCollection`:return Ht.parse(e.default)||null;case`projectionDefinition`:return G.parse(e.default)||null;default:return e.default===void 0?null:e.default}}(t):null,this._enumValues=t&&t.type===`enum`?t.values:null}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=n,this._evaluator.canonical=r,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(e,t,n,r,i,a){this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=n||null,this._evaluator.canonical=r,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{let e=this.expression.evaluate(this._evaluator);if(e==null||typeof e==`number`&&e!=e)return this._defaultValue;if(this._enumValues&&!(e in this._enumValues))throw new Bt(`Expected value to be one of ${Object.keys(this._enumValues).map((e=>JSON.stringify(e))).join(`, `)}, but found ${JSON.stringify(e)} instead.`);return e}catch(e){return this._warningHistory[e.message]||(this._warningHistory[e.message]=!0,typeof console<`u`&&console.warn(e.message)),this._defaultValue}}}function ti(e){return Array.isArray(e)&&e.length>0&&typeof e[0]==`string`&&e[0]in jr}function ni(e,t){let n=new Qt(jr,Lr,[],t?function(e){let t={color:Je,string:B,number:z,enum:B,boolean:V,formatted:Qe,padding:$e,numberArray:tt,colorArray:et,projectionDefinition:Ye,resolvedImage:nt,variableAnchorOffsetCollection:rt};return e.type===`array`?it(t[e.value]||H,e.length):t[e.type]}(t):void 0),r=n.parse(e,void 0,void 0,void 0,t&&t.type===`string`?{typeAnnotation:`coerce`}:void 0);return r?Vr(new ei(r,t)):Hr(n.errors)}class ri{constructor(e,t){this.kind=e,this._styleExpression=t,this.isStateDependent=e!==`constant`&&!zr(t.expression)}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._styleExpression.evaluateWithoutErrorHandling(e,t,n,r,i,a)}evaluate(e,t,n,r,i,a){return this._styleExpression.evaluate(e,t,n,r,i,a)}}class ii{constructor(e,t,n,r){this.kind=e,this.zoomStops=n,this._styleExpression=t,this.isStateDependent=e!==`camera`&&!zr(t.expression),this.interpolationType=r}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._styleExpression.evaluateWithoutErrorHandling(e,t,n,r,i,a)}evaluate(e,t,n,r,i,a){return this._styleExpression.evaluate(e,t,n,r,i,a)}interpolationFactor(e,t,n){return this.interpolationType?mn.interpolationFactor(this.interpolationType,e,t,n):0}}function ai(e,t){let n=ni(e,t);if(n.result===`error`)return n;let r=n.value.expression,i=Rr(r);if(!i&&!Ur(t))return Hr([new Ge(``,`data expressions not supported`)]);let a=Br(r,[`zoom`]);if(!a&&!Wr(t))return Hr([new Ge(``,`zoom expressions not supported`)]);let o=si(r);return o||a?o instanceof Ge?Hr([o]):o instanceof mn&&!Gr(t)?Hr([new Ge(``,`"interpolate" expressions cannot be used with this property`)]):Vr(o?new ii(i?`camera`:`composite`,n.value,o.labels,o instanceof mn?o.interpolation:void 0):new ri(i?`constant`:`source`,n.value)):Hr([new Ge(``,`"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.`)])}class oi{constructor(e,t){this._parameters=e,this._specification=t,We(this,Jr(this._parameters,this._specification))}static deserialize(e){return new oi(e._parameters,e._specification)}static serialize(e){return{_parameters:e._parameters,_specification:e._specification}}}function si(e){let t=null;if(e instanceof $t)t=si(e.result);else if(e instanceof _n){for(let n of e.args)if(t=si(n),t)break}else (e instanceof ln||e instanceof mn)&&e.input instanceof Mr&&e.input.name===`zoom`&&(t=e);return t instanceof Ge||e.eachChild((e=>{let n=si(e);n instanceof Ge?t=n:!t&&n?t=new Ge(``,`"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.`):t&&n&&t!==n&&(t=new Ge(``,`Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.`))})),t}function ci(e){if(!0===e||!1===e)return!0;
12if(!Array.isArray(e)||e.length===0)return!1;switch(e[0]){case`has`:return e.length>=2&&e[1]!==`$id`&&e[1]!==`$type`;case`in`:return e.length>=3&&(typeof e[1]!=`string`||Array.isArray(e[2]));case`!in`:case`!has`:case`none`:return!1;case`==`:case`!=`:case`>`:case`>=`:case`<`:case`<=`:return e.length!==3||Array.isArray(e[1])||Array.isArray(e[2]);case`any`:case`all`:for(let t of e.slice(1))if(!ci(t)&&typeof t!=`boolean`)return!1;return!0;default:return!0}}let li={type:`boolean`,default:!1,transition:!1,"property-type":`data-driven`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]}};function ui(e){if(e==null)return{filter:()=>!0,needGeometry:!1};ci(e)||(e=pi(e));let t=ni(e,li);if(t.result===`error`)throw Error(t.value.map((e=>`${e.key}: ${e.message}`)).join(`, `));return{filter:(e,n,r)=>t.value.evaluate(e,n,{},r),needGeometry:fi(e)}}function di(e,t){return e<t?-1:+(e>t)}function fi(e){if(!Array.isArray(e))return!1;if(e[0]===`within`||e[0]===`distance`)return!0;for(let t=1;t<e.length;t++)if(fi(e[t]))return!0;return!1}function pi(e){if(!e)return!0;let t=e[0];return e.length<=1?t!==`any`:t===`==`?mi(e[1],e[2],`==`):t===`!=`?_i(mi(e[1],e[2],`==`)):t===`<`||t===`>`||t===`<=`||t===`>=`?mi(e[1],e[2],t):t===`any`?(n=e.slice(1),[`any`].concat(n.map(pi))):t===`all`?[`all`].concat(e.slice(1).map(pi)):t===`none`?[`all`].concat(e.slice(1).map(pi).map(_i)):t===`in`?hi(e[1],e.slice(2)):t===`!in`?_i(hi(e[1],e.slice(2))):t===`has`?gi(e[1]):t!==`!has`||_i(gi(e[1]));var n}function mi(e,t,n){switch(e){case`$type`:return[`filter-type-${n}`,t];case`$id`:return[`filter-id-${n}`,t];default:return[`filter-${n}`,e,t]}}function hi(e,t){if(t.length===0)return!1;switch(e){case`$type`:return[`filter-type-in`,[`literal`,t]];case`$id`:return[`filter-id-in`,[`literal`,t]];default:return t.length>200&&!t.some((e=>typeof e!=typeof t[0]))?[`filter-in-large`,e,[`literal`,t.sort(di)]]:[`filter-in-small`,e,[`literal`,t]]}}function gi(e){switch(e){case`$type`:return!0;case`$id`:return[`filter-has-id`];default:return[`filter-has`,e]}}function _i(e){return[`!`,e]}function vi(e){let t=typeof e;if(t===`number`||t===`boolean`||t===`string`||e==null)return JSON.stringify(e);if(Array.isArray(e)){let t=`[`;for(let n of e)t+=`${vi(n)},`;return`${t}]`}let n=Object.keys(e).sort(),r=`{`;for(let t=0;t<n.length;t++)r+=`${JSON.stringify(n[t])}:${vi(e[n[t]])},`;return`${r}}`}function yi(e){let t=``;for(let n of Ne)t+=`/${vi(e[n])}`;return t}function bi(e){let t=e.value;return t?[new R(e.key,t,`constants have been deprecated as of v8`)]:[]}function xi(e){return e instanceof Number||e instanceof String||e instanceof Boolean?e.valueOf():e}function Si(e){if(Array.isArray(e))return e.map(Si);if(e instanceof Object&&!(e instanceof Number||e instanceof String||e instanceof Boolean)){let t={};for(let n in e)t[n]=Si(e[n]);return t}return xi(e)}function Ci(e){let t=e.key,n=e.value,r=e.valueSpec||{},i=e.objectElementValidators||{},a=e.style,o=e.styleSpec,s=e.validateSpec,c=[],l=Y(n);if(l!==`object`)return[new R(t,n,`object expected, ${l} found`)];for(let e in n){let l=e.split(`.`)[0],u=Et(r,l)||r[`*`],d;if(Et(i,l))d=i[l];else if(Et(r,l))d=s;else if(i[`*`])d=i[`*`];else{if(!r[`*`]){c.push(new R(t,n[e],`unknown property "${e}"`));continue}d=s}c=c.concat(d({key:(t&&`${t}.`)+e,value:n[e],valueSpec:u,style:a,styleSpec:o,object:n,objectKey:e,validateSpec:s},n))}for(let e in r)i[e]||r[e].required&&r[e].default===void 0&&n[e]===void 0&&c.push(new R(t,n,`missing required property "${e}"`));return c}function wi(e){let t=e.value,n=e.valueSpec,r=e.style,i=e.styleSpec,a=e.key,o=e.arrayElementValidator||e.validateSpec;if(Y(t)!==`array`)return[new R(a,t,`array expected, ${Y(t)} found`)];if(n.length&&t.length!==n.length)return[new R(a,t,`array length ${n.length} expected, length ${t.length} found`)];if(n[`min-length`]&&t.length<n[`min-length`])return[new R(a,t,`array length at least ${n[`min-length`]} expected, length ${t.length} found`)];let s={type:n.value,values:n.values};i.$version<7&&(s.function=n.function),Y(n.value)===`object`&&(s=n.value);let c=[];for(let n=0;n<t.length;n++)c=c.concat(o({array:t,arrayIndex:n,value:t[n],valueSpec:s,validateSpec:e.validateSpec,style:r,styleSpec:i,key:`${a}[${n}]`}));return c}function Ti(e){let t=e.key,n=e.value,r=e.valueSpec,i=Y(n);return i===`number`&&n!=n&&(i=`NaN`),i===`number`?`minimum`in r&&n<r.minimum?[new R(t,n,`${n} is less than the minimum value ${r.minimum}`)]:`maximum`in r&&n>r.maximum?[new R(t,n,`${n} is greater than the maximum value ${r.maximum}`)]:[]:[new R(t,n,`number expected, ${i} found`)]}function Ei(e){let t=e.valueSpec,n=xi(e.value.type),r,i,a,o={},s=n!==`categorical`&&e.value.property===void 0,c=!s,l=Y(e.value.stops)===`array`&&Y(e.value.stops[0])===`array`&&Y(e.value.stops[0][0])===`object`,u=Ci({key:e.key,value:e.value,valueSpec:e.styleSpec.function,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:function(e){if(n===`identity`)return[new R(e.key,e.value,`identity function may not have a "stops" property`)];let t=[],r=e.value;return t=t.concat(wi({key:e.key,value:r,valueSpec:e.valueSpec,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,arrayElementValidator:d})),Y(r)===`array`&&r.length===0&&t.push(new R(e.key,r,`array must have at least one stop`)),t},default:function(e){return e.validateSpec({key:e.key,value:e.value,valueSpec:t,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec})}}});return n===`identity`&&s&&u.push(new R(e.key,e.value,`missing required property "property"`)),n===`identity`||e.value.stops||u.push(new R(e.key,e.value,`missing required property "stops"`)),n===`exponential`&&e.valueSpec.expression&&!Gr(e.valueSpec)&&u.push(new R(e.key,e.value,`exponential functions not supported`)),e.styleSpec.$version>=8&&(c&&!Ur(e.valueSpec)?u.push(new R(e.key,e.value,`property functions not supported`)):s&&!Wr(e.valueSpec)&&u.push(new R(e.key,e.value,`zoom functions not supported`))),n!==`categorical`&&!l||e.value.property!==void 0||u.push(new R(e.key,e.value,`"property" property is required`)),u;function d(e){let n=[],r=e.value,s=e.key;
12if(Y(r)!==`array`)return[new R(s,r,`array expected, ${Y(r)} found`)];if(r.length!==2)return[new R(s,r,`array length 2 expected, length ${r.length} found`)];if(l){if(Y(r[0])!==`object`)return[new R(s,r,`object expected, ${Y(r[0])} found`)];if(r[0].zoom===void 0)return[new R(s,r,`object stop key must have zoom`)];if(r[0].value===void 0)return[new R(s,r,`object stop key must have value`)];if(a&&a>xi(r[0].zoom))return[new R(s,r[0].zoom,`stop zoom values must appear in ascending order`)];xi(r[0].zoom)!==a&&(a=xi(r[0].zoom),i=void 0,o={}),n=n.concat(Ci({key:`${s}[0]`,value:r[0],valueSpec:{zoom:{}},validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:Ti,value:f}}))}else n=n.concat(f({key:`${s}[0]`,value:r[0],validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec},r));return ti(Si(r[1]))?n.concat([new R(`${s}[1]`,r[1],`expressions are not allowed in function stops.`)]):n.concat(e.validateSpec({key:`${s}[1]`,value:r[1],valueSpec:t,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec}))}function f(e,a){let s=Y(e.value),c=xi(e.value),l=e.value===null?a:e.value;if(r){if(s!==r)return[new R(e.key,l,`${s} stop domain type must match previous stop domain type ${r}`)]}else r=s;if(s!==`number`&&s!==`string`&&s!==`boolean`)return[new R(e.key,l,`stop domain value must be a number, string, or boolean`)];if(s!==`number`&&n!==`categorical`){let r=`number expected, ${s} found`;return Ur(t)&&n===void 0&&(r+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new R(e.key,l,r)]}return n!==`categorical`||s!==`number`||isFinite(c)&&Math.floor(c)===c?n!==`categorical`&&s===`number`&&i!==void 0&&c<i?[new R(e.key,l,`stop domain values must appear in ascending order`)]:(i=c,n===`categorical`&&c in o?[new R(e.key,l,`stop domain values must be unique`)]:(o[c]=!0,[])):[new R(e.key,l,`integer expected, found ${c}`)]}}function Di(e){let t=(e.expressionContext===`property`?ai:ni)(Si(e.value),e.valueSpec);if(t.result===`error`)return t.value.map((t=>new R(`${e.key}${t.key}`,e.value,t.message)));let n=t.value.expression||t.value._styleExpression.expression;if(e.expressionContext===`property`&&e.propertyKey===`text-font`&&!n.outputDefined())return[new R(e.key,e.value,`Invalid data expression for "${e.propertyKey}". Output values must be contained as literals within the expression.`)];if(e.expressionContext===`property`&&e.propertyType===`layout`&&!zr(n))return[new R(e.key,e.value,`"feature-state" data expressions are not supported with layout properties.`)];if(e.expressionContext===`filter`&&!zr(n))return[new R(e.key,e.value,`"feature-state" data expressions are not supported with filters.`)];if(e.expressionContext&&e.expressionContext.indexOf(`cluster`)===0){if(!Br(n,[`zoom`,`feature-state`]))return[new R(e.key,e.value,`"zoom" and "feature-state" expressions are not supported with cluster properties.`)];if(e.expressionContext===`cluster-initial`&&!Rr(n))return[new R(e.key,e.value,`Feature data expressions are not supported with initial expression part of cluster properties.`)]}return[]}function Oi(e){let t=e.key,n=e.value,r=Y(n);return r===`string`?W.parse(String(n))?[]:[new R(t,n,`color expected, "${n}" found`)]:[new R(t,n,`color expected, ${r} found`)]}function ki(e){let t=e.key,n=e.value,r=e.valueSpec,i=[];return Array.isArray(r.values)?r.values.indexOf(xi(n))===-1&&i.push(new R(t,n,`expected one of [${r.values.join(`, `)}], ${JSON.stringify(n)} found`)):Object.keys(r.values).indexOf(xi(n))===-1&&i.push(new R(t,n,`expected one of [${Object.keys(r.values).join(`, `)}], ${JSON.stringify(n)} found`)),i}function Ai(e){return ci(Si(e.value))?Di(We({},e,{expressionContext:`filter`,valueSpec:{value:`boolean`}})):ji(e)}function ji(e){let t=e.value,n=e.key;if(Y(t)!==`array`)return[new R(n,t,`array expected, ${Y(t)} found`)];let r=e.styleSpec,i,a=[];if(t.length<1)return[new R(n,t,`filter array must have at least 1 element`)];switch(a=a.concat(ki({key:`${n}[0]`,value:t[0],valueSpec:r.filter_operator,style:e.style,styleSpec:e.styleSpec})),xi(t[0])){case`<`:case`<=`:case`>`:case`>=`:t.length>=2&&xi(t[1])===`$type`&&a.push(new R(n,t,`"$type" cannot be use with operator "${t[0]}"`));case`==`:case`!=`:t.length!==3&&a.push(new R(n,t,`filter array for operator "${t[0]}" must have 3 elements`));case`in`:case`!in`:t.length>=2&&(i=Y(t[1]),i!==`string`&&a.push(new R(`${n}[1]`,t[1],`string expected, ${i} found`)));for(let o=2;o<t.length;o++)i=Y(t[o]),xi(t[1])===`$type`?a=a.concat(ki({key:`${n}[${o}]`,value:t[o],valueSpec:r.geometry_type,style:e.style,styleSpec:e.styleSpec})):i!==`string`&&i!==`number`&&i!==`boolean`&&a.push(new R(`${n}[${o}
12]`,t[o],`string, number, or boolean expected, ${i} found`));break;case`any`:case`all`:case`none`:for(let r=1;r<t.length;r++)a=a.concat(ji({key:`${n}[${r}]`,value:t[r],style:e.style,styleSpec:e.styleSpec}));break;case`has`:case`!has`:i=Y(t[1]),t.length===2?i!==`string`&&a.push(new R(`${n}[1]`,t[1],`string expected, ${i} found`)):a.push(new R(n,t,`filter array for "${t[0]}" operator must have 2 elements`))}return a}function Mi(e,t){let n=e.key,r=e.validateSpec,i=e.style,a=e.styleSpec,o=e.value,s=e.objectKey,c=a[`${t}_${e.layerType}`];if(!c)return[];let l=s.match(/^(.*)-transition$/);if(t===`paint`&&l&&c[l[1]]&&c[l[1]].transition)return r({key:n,value:o,valueSpec:a.transition,style:i,styleSpec:a});let u=e.valueSpec||c[s];if(!u)return[new R(n,o,`unknown property "${s}"`)];let d;if(Y(o)===`string`&&Ur(u)&&!u.tokens&&(d=/^{([^}]+)}$/.exec(o)))return[new R(n,o,`"${s}" does not support interpolation syntax\nUse an identity property function instead: \`{ "type": "identity", "property": ${JSON.stringify(d[1])} }\`.`)];let f=[];return e.layerType===`symbol`&&(s===`text-field`&&i&&!i.glyphs&&f.push(new R(n,o,`use of "text-field" requires a style "glyphs" property`)),s===`text-font`&&Kr(Si(o))&&xi(o.type)===`identity`&&f.push(new R(n,o,`"text-font" does not support identity functions`))),f.concat(r({key:e.key,value:o,valueSpec:u,style:i,styleSpec:a,expressionContext:`property`,propertyType:t,propertyKey:s}))}function Ni(e){return Mi(e,`paint`)}function Pi(e){return Mi(e,`layout`)}function Fi(e){let t=[],n=e.value,r=e.key,i=e.style,a=e.styleSpec;if(Y(n)!==`object`)return[new R(r,n,`object expected, ${Y(n)} found`)];n.type||n.ref||t.push(new R(r,n,`either "type" or "ref" is required`));let o=xi(n.type),s=xi(n.ref);if(n.id){let a=xi(n.id);for(let o=0;o<e.arrayIndex;o++){let e=i.layers[o];xi(e.id)===a&&t.push(new R(r,n.id,`duplicate layer id "${n.id}", previously used at line ${e.id.__line__}`))}}if(`ref`in n){let e;[`type`,`source`,`source-layer`,`filter`,`layout`].forEach((e=>
12{e in n&&t.push(new R(r,n[e],`"${e}" is prohibited for ref layers`))})),i.layers.forEach((t=>{xi(t.id)===s&&(e=t)})),e?e.ref?t.push(new R(r,n.ref,`ref cannot reference another ref layer`)):o=xi(e.type):t.push(new R(r,n.ref,`ref layer "${s}" not found`))}else if(o!==`background`)if(n.source){let e=i.sources&&i.sources[n.source],a=e&&xi(e.type);e?a===`vector`&&o===`raster`?t.push(new R(r,n.source,`layer "${n.id}" requires a raster source`)):a!==`raster-dem`&&o===`hillshade`?t.push(new R(r,n.source,`layer "${n.id}" requires a raster-dem source`)):a===`raster`&&o!==`raster`?t.push(new R(r,n.source,`layer "${n.id}" requires a vector source`)):a!==`vector`||n[`source-layer`]?a===`raster-dem`&&o!==`hillshade`?t.push(new R(r,n.source,`raster-dem source can only be used with layer type 'hillshade'.`)):o!==`line`||!n.paint||!n.paint[`line-gradient`]||a===`geojson`&&e.lineMetrics||t.push(new R(r,n,`layer "${n.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):t.push(new R(r,n,`layer "${n.id}" must specify a "source-layer"`)):t.push(new R(r,n.source,`source "${n.source}" not found`))}else t.push(new R(r,n,`missing required property "source"`));return t=t.concat(Ci({key:r,value:n,valueSpec:a.layer,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":()=>[],type:()=>e.validateSpec({key:`${r}.type`,value:n.type,valueSpec:a.layer.type,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,object:n,objectKey:`type`}),filter:Ai,layout:e=>Ci({layer:n,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":e=>Pi(We({layerType:o},e))}}),paint:e=>Ci({layer:n,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":e=>Ni(We({layerType:o},e))}})}})),t}function Ii(e){let t=e.value,n=e.key,r=Y(t);return r===`string`?[]:[new R(n,t,`string expected, ${r} found`)]}let Li={promoteId:function({key:e,value:t}){if(Y(t)===`string`)return Ii({key:e,value:t});{let n=[];for(let r in t)n.push(...Ii({key:`${e}.${r}`,value:t[r]}));return n}}};function Ri(e){let t=e.value,n=e.key,r=e.styleSpec,i=e.style,a=e.validateSpec;if(!t.type)return[new R(n,t,`"type" is required`)];let o=xi(t.type),s;switch(o){case`vector`:case`raster`:return s=Ci({key:n,value:t,valueSpec:r[`source_${o.replace(`-`,`_`)}`],style:e.style,styleSpec:r,objectElementValidators:Li,validateSpec:a}),s;case`raster-dem`:return s=function(e){let t=e.sourceName??``,n=e.value,r=e.styleSpec,i=r.source_raster_dem,a=e.style,o=[],s=Y(n);if(n===void 0)return o;if(s!==`object`)return o.push(new R(`source_raster_dem`,n,`object expected, ${s} found`)),o;let c=xi(n.encoding)===`custom`,l=[`redFactor`,`greenFactor`,`blueFactor`,`baseShift`],u=e.value.encoding?`"${e.value.encoding}"`:`Default`;for(let s in n)!c&&l.includes(s)?o.push(new R(s,n[s],`In "${t}": "${s}" is only valid when "encoding" is set to "custom". ${u} encoding found`)):i[s]?o=o.concat(e.validateSpec({key:s,value:n[s],valueSpec:i[s],validateSpec:e.validateSpec,style:a,styleSpec:r})):o.push(new R(s,n[s],`unknown property "${s}"`));return o}({sourceName:n,value:t,style:e.style,styleSpec:r,validateSpec:a}),s;case`geojson`:if(s=Ci({key:n,value:t,valueSpec:r.source_geojson,style:i,styleSpec:r,validateSpec:a,objectElementValidators:Li}),t.cluster)for(let e in t.clusterProperties){let[r,i]=t.clusterProperties[e],a=typeof r==`string`?[r,[`accumulated`],[`get`,e]]:r;s.push(...Di({key:`${n}.${e}.map`,value:i,expressionContext:`cluster-map`})),s.push(...Di({key:`${n}.${e}.reduce`,value:a,expressionContext:`cluster-reduce`}))}return s;case`video`:return Ci({key:n,value:t,valueSpec:r.source_video,style:i,validateSpec:a,styleSpec:r});case`image`:return Ci({key:n,value:t,valueSpec:r.source_image,style:i,validateSpec:a,styleSpec:r});case`canvas`:return[new R(n,null,`Please use runtime APIs to add canvas sources, rather than including them in stylesheets.`,`source.canvas`)];default:return ki({key:`${n}.type`,value:t.type,valueSpec:{values:[`vector`,`raster`,`raster-dem`,`geojson`,`video`,`image`]}})}}function zi(e){let t=e.value,n=e.styleSpec,r=n.light,i=e.style,a=[],o=Y(t);if(t===void 0)return a;
12if(o!==`object`)return a=a.concat([new R(`light`,t,`object expected, ${o} found`)]),a;for(let o in t){let s=o.match(/^(.*)-transition$/);a=a.concat(s&&r[s[1]]&&r[s[1]].transition?e.validateSpec({key:o,value:t[o],valueSpec:n.transition,validateSpec:e.validateSpec,style:i,styleSpec:n}):r[o]?e.validateSpec({key:o,value:t[o],valueSpec:r[o],validateSpec:e.validateSpec,style:i,styleSpec:n}):[new R(o,t[o],`unknown property "${o}"`)])}return a}function Bi(e){let t=e.value,n=e.styleSpec,r=n.sky,i=e.style,a=Y(t);if(t===void 0)return[];if(a!==`object`)return[new R(`sky`,t,`object expected, ${a} found`)];let o=[];for(let a in t)o=o.concat(r[a]?e.validateSpec({key:a,value:t[a],valueSpec:r[a],style:i,styleSpec:n}):[new R(a,t[a],`unknown property "${a}"`)]);return o}function Vi(e){let t=e.value,n=e.styleSpec,r=n.terrain,i=e.style,a=[],o=Y(t);if(t===void 0)return a;if(o!==`object`)return a=a.concat([new R(`terrain`,t,`object expected, ${o} found`)]),a;for(let o in t)a=a.concat(r[o]?e.validateSpec({key:o,value:t[o],valueSpec:r[o],validateSpec:e.validateSpec,style:i,styleSpec:n}):[new R(o,t[o],`unknown property "${o}"`)]);return a}function Hi(e){let t=[],n=e.value,r=e.key;if(Array.isArray(n)){let i=[],a=[];for(let o in n)n[o].id&&i.includes(n[o].id)&&t.push(new R(r,n,`all the sprites' ids must be unique, but ${n[o].id} is duplicated`)),i.push(n[o].id),n[o].url&&a.includes(n[o].url)&&t.push(new R(r,n,`all the sprites' URLs must be unique, but ${n[o].url} is duplicated`)),a.push(n[o].url),t=t.concat(Ci({key:`${r}[${o}]`,value:n[o],valueSpec:{id:{type:`string`,required:!0},url:{type:`string`,required:!0}},validateSpec:e.validateSpec}));return t}return Ii({key:r,value:n})}function Ui(e){return t=e.value,t&&t.constructor===Object?[]:[new R(e.key,e.value,`object expected, ${Y(e.value)} found`)];var t}let Wi={"*":()=>[],array:wi,boolean:function(e){let t=e.value,n=e.key,r=Y(t);return r===`boolean`?[]:[new R(n,t,`boolean expected, ${r} found`)]},number:Ti,color:Oi,constants:bi,enum:ki,filter:Ai,function:Ei,layer:Fi,object:Ci,source:Ri,light:zi,sky:Bi,terrain:Vi,projection:function(e){let t=e.value,n=e.styleSpec,r=n.projection,i=e.style,a=Y(t);if(t===void 0)return[];if(a!==`object`)return[new R(`projection`,t,`object expected, ${a} found`)];let o=[];for(let a in t)o=o.concat(r[a]?e.validateSpec({key:a,value:t[a],valueSpec:r[a],style:i,styleSpec:n}):[new R(a,t[a],`unknown property "${a}"`)]);return o},projectionDefinition:function(e){let t=e.key,n=e.value;n=n instanceof String?n.valueOf():n;let r=Y(n);return r!==`array`||function(e){return Array.isArray(e)&&e.length===3&&typeof e[0]==`string`&&typeof e[1]==`string`&&typeof e[2]==`number`}(n)||function(e){return!![`interpolate`,`step`,`literal`].includes(e[0])}(n)?[`array`,`string`].includes(r)?[]:[new R(t,n,`projection expected, invalid type "${r}" found`)]:[new R(t,n,`projection expected, invalid array ${JSON.stringify(n)} found`)]},string:Ii,formatted:function(e){return Ii(e).length===0?[]:Di(e)},resolvedImage:function(e){return Ii(e).length===0?[]:Di(e)},padding:function(e){let t=e.key,n=e.value;if(Y(n)===`array`){if(n.length<1||n.length>4)return[new R(t,n,`padding requires 1 to 4 values; ${n.length} values found`)];let r={type:`number`},i=[];for(let a=0;a<n.length;a++)i=i.concat(e.validateSpec({key:`${t}[${a}]`,value:n[a],validateSpec:e.validateSpec,valueSpec:r}));return i}return Ti({key:t,value:n,valueSpec:{}})},numberArray:function(e){let t=e.key,n=e.value;if(Y(n)===`array`){let r={type:`number`};if(n.length<1)return[new R(t,n,`array length at least 1 expected, length 0 found`)];let i=[];for(let a=0;a<n.length;a++)i=i.concat(e.validateSpec({key:`${t}[${a}]`,value:n[a],validateSpec:e.validateSpec,valueSpec:r}));return i}return Ti({key:t,value:n,valueSpec:{}})},colorArray:function(e){let t=e.key,n=e.value;if(Y(n)===`array`){if(n.length<1)return[new R(t,n,`array length at least 1 expected, length 0 found`)];let e=[];for(let r=0;r<n.length;r++)e=e.concat(Oi({key:`${t}[${r}]`,value:n[r]}));return e}return Oi({key:t,value:n})},variableAnchorOffsetCollection:function(e){let t=e.key,n=e.value,r=Y(n),i=e.styleSpec;if(r!==`array`||n.length<1||n.length%2!=0)return[new R(t,n,`variableAnchorOffsetCollection requires a non-empty array of even length`)];let a=[];for(let r=0;r<n.length;r+=2)a=a.concat(ki({key:`${t}[${r}]`,value:n[r],valueSpec:i.layout_symbol[`text-anchor`]})),a=a.concat(wi({key:`${t}[${r+1}
12]`,value:n[r+1],valueSpec:{length:2,value:`number`},validateSpec:e.validateSpec,style:e.style,styleSpec:i}));return a},sprite:Hi,state:Ui};function Gi(e){let t=e.value,n=e.valueSpec,r=e.styleSpec;return e.validateSpec=Gi,n.expression&&Kr(xi(t))?Ei(e):n.expression&&ti(Si(t))?Di(e):n.type&&Wi[n.type]?Wi[n.type](e):Ci(We({},e,{valueSpec:n.type?r[n.type]:n}))}function Ki(e){let t=e.value,n=e.key,r=Ii(e);return r.length||(t.indexOf(`{fontstack}`)===-1&&r.push(new R(n,t,`"glyphs" url must include a "{fontstack}" token`)),t.indexOf(`{range}`)===-1&&r.push(new R(n,t,`"glyphs" url must include a "{range}" token`))),r}function qi(e,t=L){let n=[];return n=n.concat(Gi({key:``,value:e,valueSpec:t.$root,styleSpec:t,style:e,validateSpec:Gi,objectElementValidators:{glyphs:Ki,"*":()=>[]}})),e.constants&&(n=n.concat(bi({key:`constants`,value:e.constants}))),Yi(n)}function Ji(e){return function(t){return e({...t,validateSpec:Gi})}}function Yi(e){return[].concat(e).sort(((e,t)=>e.line-t.line))}function Xi(e){return function(...t){return Yi(e.apply(this,t))}}qi.source=Xi(Ji(Ri)),qi.sprite=Xi(Ji(Hi)),qi.glyphs=Xi(Ji(Ki)),qi.light=Xi(Ji(zi)),qi.sky=Xi(Ji(Bi)),qi.terrain=Xi(Ji(Vi)),qi.state=Xi(Ji(Ui)),qi.layer=Xi(Ji(Fi)),qi.filter=Xi(Ji(Ai)),qi.paintProperty=Xi(Ji(Ni)),qi.layoutProperty=Xi(Ji(Pi));let Zi=qi,Qi=Zi.light,$i=Zi.sky,ea=Zi.paintProperty,ta=Zi.layoutProperty;function na(e,t){let n=!1;if(t&&t.length)for(let r of t)e.fire(new je(Error(r.message))),n=!0;return n}class ra{constructor(e,t,n){let r=this.cells=[];if(e instanceof ArrayBuffer){this.arrayBuffer=e;let i=new Int32Array(this.arrayBuffer);e=i[0],this.d=(t=i[1])+2*(n=i[2]);for(let e=0;e<this.d*this.d;e++){let t=i[3+e],n=i[3+e+1];r.push(t===n?null:i.subarray(t,n))}let a=i[3+r.length+1];this.keys=i.subarray(i[3+r.length],a),this.bboxes=i.subarray(a),this.insert=this._insertReadonly}else{this.d=t+2*n;for(let e=0;e<this.d*this.d;e++)r.push([]);this.keys=[],this.bboxes=[]}this.n=t,this.extent=e,this.padding=n,this.scale=t/e,this.uid=0;let i=n/t*e;this.min=-i,this.max=e+i}insert(e,t,n,r,i){this._forEachCell(t,n,r,i,this._insertCell,this.uid++,void 0,void 0),this.keys.push(e),this.bboxes.push(t),this.bboxes.push(n),this.bboxes.push(r),this.bboxes.push(i)}_insertReadonly(){throw Error(`Cannot insert into a GridIndex created from an ArrayBuffer.`)}_insertCell(e,t,n,r,i,a){this.cells[i].push(a)}query(e,t,n,r,i){let a=this.min,o=this.max;if(e<=a&&t<=a&&o<=n&&o<=r&&!i)return Array.prototype.slice.call(this.keys);{let a=[];return this._forEachCell(e,t,n,r,this._queryCell,a,{},i),a}}_queryCell(e,t,n,r,i,a,o,s){let c=this.cells[i];if(c!==null){let i=this.keys,l=this.bboxes;for(let u=0;u<c.length;u++){let d=c[u];if(o[d]===void 0){let c=4*d;(s?s(l[c+0],l[c+1],l[c+2],l[c+3]):e<=l[c+2]&&t<=l[c+3]&&n>=l[c+0]&&r>=l[c+1])?(o[d]=!0,a.push(i[d])):o[d]=!1}}}}_forEachCell(e,t,n,r,i,a,o,s){let c=this._convertToCellCoord(e),l=this._convertToCellCoord(t),u=this._convertToCellCoord(n),d=this._convertToCellCoord(r);for(let f=c;f<=u;f++)for(let c=l;c<=d;c++){let l=this.d*c+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(c),this._convertFromCellCoord(f+1),this._convertFromCellCoord(c+1)))&&i.call(this,e,t,n,r,l,a,o,s))return}}_convertFromCellCoord(e){return(e-this.padding)/this.scale}_convertToCellCoord(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let e=this.cells,t=3+this.cells.length+1+1,n=0;for(let e=0;e<this.cells.length;e++)n+=this.cells[e].length;let r=new Int32Array(t+n+this.keys.length+this.bboxes.length);r[0]=this.extent,r[1]=this.n,r[2]=this.padding;let i=t;for(let t=0;t<e.length;t++){let n=e[t];r[3+t]=i,r.set(n,i),i+=n.length}return r[3+e.length]=i,r.set(this.keys,i),i+=this.keys.length,r[3+e.length+1]=i,r.set(this.bboxes,i),i+=this.bboxes.length,r.buffer}static serialize(e,t){let n=e.toArrayBuffer();return t&&t.push(n),{buffer:n}}static deserialize(e){return new ra(e.buffer)}}let ia={};function X(e,t,n={}){if(ia[e])throw Error(`${e} is already registered.`);Object.defineProperty(t,"_classRegistryKey",{value:e,writeable:!1}
12),ia[e]={klass:t,omit:n.omit||[],shallow:n.shallow||[]}}X(`Object`,Object),X(`TransferableGridIndex`,ra),X(`Color`,W),X(`Error`,Error),X(`AJAXError`,we),X(`ResolvedImage`,Ut),X(`StylePropertyFunction`,oi),X(`StyleExpression`,ei,{omit:[`_evaluator`]}),X(`ZoomDependentExpression`,ii),X(`ZoomConstantExpression`,ri),X(`CompoundExpression`,Mr,{omit:[`_evaluate`]});for(let e in jr)jr[e]._classRegistryKey||X(`Expression_${e}`,jr[e]);function aa(e){return e&&typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||e.constructor&&e.constructor.name===`ArrayBuffer`)}function oa(e){return e.$name||e.constructor._classRegistryKey}function sa(e){return!function(e){if(typeof e!=`object`||!e)return!1;let t=oa(e);return!(!t||t===`Object`)}(e)&&(e==null||typeof e==`boolean`||typeof e==`number`||typeof e==`string`||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||e instanceof Blob||e instanceof Error||aa(e)||F(e)||ArrayBuffer.isView(e)||e instanceof ImageData)}function ca(e,t){if(sa(e))return(aa(e)||F(e))&&t&&t.push(e),ArrayBuffer.isView(e)&&t&&t.push(e.buffer),e instanceof ImageData&&t&&t.push(e.data.buffer),e;if(Array.isArray(e)){let n=[];for(let r of e)n.push(ca(r,t));return n}if(typeof e!=`object`)throw Error(`can't serialize object of type `+typeof e);let n=oa(e);if(!n)throw Error(`can't serialize object of unregistered class ${e.constructor.name}`);if(!ia[n])throw Error(`${n} is not registered.`);let{klass:r}=ia[n],i=r.serialize?r.serialize(e,t):{};if(r.serialize){if(t&&i===t[t.length-1])throw Error(`statically serialized object won't survive transfer of $name property`)}else{for(let r in e){if(!e.hasOwnProperty(r)||ia[n].omit.indexOf(r)>=0)continue;let a=e[r];i[r]=ia[n].shallow.indexOf(r)>=0?a:ca(a,t)}e instanceof Error&&(i.message=e.message)}if(i.$name)throw Error(`$name property is reserved for worker serialization logic.`);return n!==`Object`&&(i.$name=n),i}function la(e){if(sa(e))return e;if(Array.isArray(e))return e.map(la);if(typeof e!=`object`)throw Error(`can't deserialize object of type `+typeof e);let t=oa(e)||`Object`;if(!ia[t])throw Error(`can't deserialize unregistered class ${t}`);let{klass:n}=ia[t];if(!n)throw Error(`can't deserialize unregistered class ${t}`);if(n.deserialize)return n.deserialize(e);let r=Object.create(n.prototype);for(let n of Object.keys(e)){if(n===`$name`)continue;let i=e[n];r[n]=ia[t].shallow.indexOf(n)>=0?i:la(i)}return r}class ua{constructor(){this.first=!0}update(e,t){let n=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=n,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=n,!0):(this.lastFloorZoom>n?(this.lastIntegerZoom=n+1,this.lastIntegerZoomTime=t):this.lastFloorZoom<n&&(this.lastIntegerZoom=n,this.lastIntegerZoomTime=t),e!==this.lastZoom&&(this.lastZoom=e,this.lastFloorZoom=n,!0))}}let Z={"Latin-1 Supplement":e=>e>=128&&e<=255,"Hangul Jamo":e=>e>=4352&&e<=4607,Khmer:e=>e>=6016&&e<=6143,"General Punctuation":e=>e>=8192&&e<=8303,"Letterlike Symbols":e=>e>=8448&&e<=8527,"Number Forms":e=>e>=8528&&e<=8591,"Miscellaneous Technical":e=>e>=8960&&e<=9215,"Control Pictures":e=>e>=9216&&e<=9279,"Optical Character Recognition":e=>e>=9280&&e<=9311,"Enclosed Alphanumerics":e=>e>=9312&&e<=9471,"Geometric Shapes":e=>e>=9632&&e<=9727,"Miscellaneous Symbols":e=>e>=9728&&e<=9983,"Miscellaneous Symbols and Arrows":e=>e>=11008&&e<=11263,"Ideographic Description Characters":e=>e>=12272&&e<=12287,"CJK Symbols and Punctuation":e=>e>=12288&&e<=12351,Hiragana:e=>e>=12352&&e<=12447,Katakana:e=>e>=12448&&e<=12543,Kanbun:e=>e>=12688&&e<=12703,"CJK Strokes":e=>e>=12736&&e<=12783,"Enclosed CJK Letters and Months":e=>e>=12800&&e<=13055,"CJK Compatibility":e=>e>=13056&&e<=13311,"Yijing Hexagram Symbols":e=>e>=19904&&e<=19967,"CJK Unified Ideographs":e=>e>=19968&&e<=40959,"Hangul Syllables":e=>e>=44032&&e<=55215,"Private Use Area":e=>e>=57344&&e<=63743,"Vertical Forms":e=>e>=65040&&e<=65055,"CJK Compatibility Forms":e=>e>=65072&&e<=65103,"Small Form Variants":e=>e>=65104&&e<=65135,"Halfwidth and Fullwidth Forms":e=>e>=65280&&e<=65519};function da(e){for(let t of e)if(_a(t.charCodeAt(0)))return!0;return!1}function fa(e){for(let t of e)if(!ha(t.charCodeAt(0)))return!1;return!0}function pa(e){let t=e.map((e=>{try{return RegExp(`\\p{sc=${e}}`,`u`).source}catch{return null}})).filter((e=>e));return new RegExp(t.join(`|`),`u`)}let ma=pa([`Arab`,`Dupl`,`Mong`,`Ougr`,`Syrc`]);function ha(e){return!ma.test(String.fromCodePoint(e))}let ga=pa([`Bopo`,`Hani`,`Hira`,`Kana`,`Kits`,`Nshu`,`Tang`,`Yiii`]);function _a(e){return!(e!==746&&e!==747&&(e<4352||!(Z[`CJK Compatibility Forms`](e)&&!(e>=65097&&e<=65103)||Z[`CJK Compatibility`](e)||Z[`CJK Strokes`](e)||!(!Z[`CJK Symbols and Punctuation`](e)||e>=12296&&e<=12305||e>=12308&&e<=12319||e===12336)||Z[`Enclosed CJK Letters and Months`](e)||Z[`Ideographic Description Characters`](e)||Z.Kanbun(e)||Z.Katakana(e)&&e!==12540||!(!Z[`Halfwidth and Fullwidth Forms`](e)||e===65288||e===65289||e===65293||e>=65306&&e<=65310||e===65339||e===65341||e===65343||e>=65371&&e<=65503||e===65507||e>=65512&&e<=65519)||!(!Z[`Small Form Variants`](e)||e>=65112&&e<=65118||e>=65123&&e<=65126)||Z[`Vertical Forms`](e)||Z[`Yijing Hexagram Symbols`](e)||/\p{sc=Cans}/u.test(String.fromCodePoint(e))||/\p{sc=Hang}/u.test(String.fromCodePoint(e))||ga.test(String.fromCodePoint(e)))
12))}function va(e){return!(_a(e)||function(e){return!!(Z[`Latin-1 Supplement`](e)&&(e===167||e===169||e===174||e===177||e===188||e===189||e===190||e===215||e===247)||Z[`General Punctuation`](e)&&(e===8214||e===8224||e===8225||e===8240||e===8241||e===8251||e===8252||e===8258||e===8263||e===8264||e===8265||e===8273)||Z[`Letterlike Symbols`](e)||Z[`Number Forms`](e)||Z[`Miscellaneous Technical`](e)&&(e>=8960&&e<=8967||e>=8972&&e<=8991||e>=8996&&e<=9e3||e===9003||e>=9085&&e<=9114||e>=9150&&e<=9165||e===9167||e>=9169&&e<=9179||e>=9186&&e<=9215)||Z[`Control Pictures`](e)&&e!==9251||Z[`Optical Character Recognition`](e)||Z[`Enclosed Alphanumerics`](e)||Z[`Geometric Shapes`](e)||Z[`Miscellaneous Symbols`](e)&&!(e>=9754&&e<=9759)||Z[`Miscellaneous Symbols and Arrows`](e)&&(e>=11026&&e<=11055||e>=11088&&e<=11097||e>=11192&&e<=11243)||Z[`CJK Symbols and Punctuation`](e)||Z.Katakana(e)||Z[`Private Use Area`](e)||Z[`CJK Compatibility Forms`](e)||Z[`Small Form Variants`](e)||Z[`Halfwidth and Fullwidth Forms`](e)||e===8734||e===8756||e===8757||e>=9984&&e<=10087||e>=10102&&e<=10131||e===65532||e===65533)}(e))}let ya=pa(`Adlm.Arab.Armi.Avst.Chrs.Cprt.Egyp.Elym.Gara.Hatr.Hebr.Hung.Khar.Lydi.Mand.Mani.Mend.Merc.Mero.Narb.Nbat.Nkoo.Orkh.Palm.Phli.Phlp.Phnx.Prti.Rohg.Samr.Sarb.Sogo.Syrc.Thaa.Todr.Yezi`.split(`.`));function ba(e){return ya.test(String.fromCodePoint(e))}function xa(e,t){return!(!t&&ba(e)||e>=2304&&e<=3583||e>=3840&&e<=4255||Z.Khmer(e))}function Sa(e){for(let t of e)if(ba(t.charCodeAt(0)))return!0;return!1}let Ca=new class{constructor(){this.TIMEOUT=5e3,this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus=`unavailable`,this.pluginURL=null,this.loadScriptResolve=()=>{}}setState(e){this.pluginStatus=e.pluginStatus,this.pluginURL=e.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(e){if(Ca.isParsed())throw Error(`RTL text plugin already registered.`);this.applyArabicShaping=e.applyArabicShaping,this.processBidirectionalText=e.processBidirectionalText,this.processStyledBidirectionalText=e.processStyledBidirectionalText,this.loadScriptResolve()}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getRTLTextPluginStatus(){return this.pluginStatus}syncState(e,n){return t(this,void 0,void 0,(function*(){if(this.isParsed())return this.getState();if(e.pluginStatus!==`loading`)return this.setState(e),e;let t=e.pluginURL,r=new Promise((e=>{this.loadScriptResolve=e}));n(t);let i=new Promise((e=>setTimeout((()=>e()),this.TIMEOUT)));if(yield Promise.race([r,i]),this.isParsed()){let e={pluginStatus:`loaded`,pluginURL:t};return this.setState(e),e}throw this.setState({pluginStatus:`error`,pluginURL:``}),Error(`RTL Text Plugin failed to import scripts from ${t}`)}))}};class wa{constructor(e,t){this.zoom=e,t?(this.now=t.now,this.fadeDuration=t.fadeDuration,this.zoomHistory=t.zoomHistory,this.transition=t.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new ua,this.transition={})}isSupportedScript(e){return function(e,t){for(let n of e)if(!xa(n.charCodeAt(0),t))return!1;return!0}(e,Ca.getRTLTextPluginStatus()===`loaded`)}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let e=this.zoom,t=e-Math.floor(e),n=this.crossFadingFactor();return e>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*n}:{fromScale:.5,toScale:1,t:1-(1-n)*t}}}class Ta{constructor(e,t){this.property=e,this.value=t,this.expression=function(e,t){if(Kr(e))return new oi(e,t);if(ti(e)){let n=ai(e,t);if(n.result===`error`)throw Error(n.value.map((e=>`${e.key}: ${e.message}`)).join(`, `));return n.value}{let n=e;return t.type===`color`&&typeof e==`string`?n=W.parse(e):t.type!==`padding`||typeof e!=`number`&&!Array.isArray(e)?t.type!==`numberArray`||typeof e!=`number`&&!Array.isArray(e)?t.type!==`colorArray`||typeof e!=`string`&&!Array.isArray(e)?t.type===`variableAnchorOffsetCollection`&&Array.isArray(e)?n=Ht.parse(e):t.type===`projectionDefinition`&&typeof e==`string`&&(n=G.parse(e)):n=zt.parse(e):n=Rt.parse(e):n=Lt.parse(e),{kind:`constant`,evaluate:()=>n}}}(t===void 0?e.specification.default:t,e.specification)}isDataDriven(){return this.expression.kind===`source`||this.expression.kind===`composite`}possiblyEvaluate(e,t,n){return this.property.possiblyEvaluate(this,e,t,n)}}class Ea{constructor(e){this.property=e,this.value=new Ta(e,void 0)}transitioned(e,t){return new Oa(this.property,this.value,t,M({},e.transition,this.transition),e.now)}
12untransitioned(){return new Oa(this.property,this.value,null,{},0)}}class Da{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues)}getValue(e){return se(this._values[e].value.value)}setValue(e,t){Object.prototype.hasOwnProperty.call(this._values,e)||(this._values[e]=new Ea(this._values[e].property)),this._values[e].value=new Ta(this._values[e].property,t===null?void 0:se(t))}getTransition(e){return se(this._values[e].transition)}setTransition(e,t){Object.prototype.hasOwnProperty.call(this._values,e)||(this._values[e]=new Ea(this._values[e].property)),this._values[e].transition=se(t)||void 0}serialize(){let e={};for(let t of Object.keys(this._values)){let n=this.getValue(t);n!==void 0&&(e[t]=n);let r=this.getTransition(t);r!==void 0&&(e[`${t}-transition`]=r)}return e}transitioned(e,t){let n=new ka(this._properties);for(let r of Object.keys(this._values))n._values[r]=this._values[r].transitioned(e,t._values[r]);return n}untransitioned(){let e=new ka(this._properties);for(let t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}}class Oa{constructor(e,t,n,r,i){this.property=e,this.value=t,this.begin=i+r.delay||0,this.end=this.begin+r.duration||0,e.specification.transition&&(r.delay||r.duration)&&(this.prior=n)}possiblyEvaluate(e,t,n){let r=e.now||0,i=this.value.possiblyEvaluate(e,t,n),a=this.prior;if(a){if(r>this.end||this.value.isDataDriven())return this.prior=null,i;if(r<this.begin)return a.possiblyEvaluate(e,t,n);{let o=(r-this.begin)/(this.end-this.begin);return this.property.interpolate(a.possiblyEvaluate(e,t,n),i,ee(o))}}return i}}class ka{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)}possiblyEvaluate(e,t,n){let r=new Ma(this._properties);for(let i of Object.keys(this._values))r._values[i]=this._values[i].possiblyEvaluate(e,t,n);return r}hasTransition(){for(let e of Object.keys(this._values))if(this._values[e].prior)return!0;return!1}}class Aa{constructor(e){this._properties=e,this._values=Object.create(e.defaultPropertyValues)}hasValue(e){return this._values[e].value!==void 0}getValue(e){return se(this._values[e].value)}setValue(e,t){this._values[e]=new Ta(this._values[e].property,t===null?void 0:se(t))}serialize(){let e={};for(let t of Object.keys(this._values)){let n=this.getValue(t);n!==void 0&&(e[t]=n)}return e}possiblyEvaluate(e,t,n){let r=new Ma(this._properties);for(let i of Object.keys(this._values))r._values[i]=this._values[i].possiblyEvaluate(e,t,n);return r}}class ja{constructor(e,t,n){this.property=e,this.value=t,this.parameters=n}isConstant(){return this.value.kind===`constant`}constantOr(e){return this.value.kind===`constant`?this.value.value:e}evaluate(e,t,n,r){return this.property.evaluate(this.value,this.parameters,e,t,n,r)}}class Ma{constructor(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)}get(e){return this._values[e]}}class Q{constructor(e){this.specification=e}possiblyEvaluate(e,t){if(e.isDataDriven())throw Error(`Value should not be data driven`);return e.expression.evaluate(t)}interpolate(e,t,n){let r=gn[this.specification.type];return r?r(e,t,n):e}}class ${constructor(e,t){this.specification=e,this.overrides=t}possiblyEvaluate(e,t,n,r){return new ja(this,e.expression.kind===`constant`||e.expression.kind===`camera`?{kind:`constant`,value:e.expression.evaluate(t,null,{},n,r)}:e.expression,t)}interpolate(e,t,n){if(e.value.kind!==`constant`||t.value.kind!==`constant`)return e;if(e.value.value===void 0||t.value.value===void 0)return new ja(this,{kind:`constant`,value:void 0},e.parameters);let r=gn[this.specification.type];if(r){let i=r(e.value.value,t.value.value,n);return new ja(this,{kind:`constant`,value:i},e.parameters)}return e}evaluate(e,t,n,r,i,a){return e.kind===`constant`?e.value:e.evaluate(t,n,r,i,a)}}class Na extends ${possiblyEvaluate(e,t,n,r){if(e.value===void 0)return new ja(this,{kind:`constant`,value:void 0},t);if(e.expression.kind===`constant`){let i=e.expression.evaluate(t,null,{},n,r),a=e.property.specification.type===`resolvedImage`&&typeof i!=`string`?i.name:i,o=this._calculate(a,a,a,t);return new ja(this,{kind:`constant`,value:o},t)}if(e.expression.kind===`camera`){let n=this._calculate(e.expression.evaluate({zoom:t.zoom-1}),e.expression.evaluate({zoom:t.zoom}),e.expression.evaluate({zoom:t.zoom+1}),t);return new ja(this,{kind:`constant`,value:n},t)}return new ja(this,e.expression,t)}evaluate(e,t,n,r,i,a){if(e.kind===`source`){let o=e.evaluate(t,n,r,i,a);return this._calculate(o,o,o,t)}return e.kind===`composite`?this._calculate(e.evaluate({zoom:Math.floor(t.zoom)-1},n,r),e.evaluate({zoom:Math.floor(t.zoom)},n,r),e.evaluate({zoom:Math.floor(t.zoom)+1},n,r),t):e.value}_calculate(e,t,n,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:n,to:t}}interpolate(e){return e}}class Pa{constructor(e){this.specification=e}
12possiblyEvaluate(e,t,n,r){if(e.value!==void 0){if(e.expression.kind===`constant`){let i=e.expression.evaluate(t,null,{},n,r);return this._calculate(i,i,i,t)}return this._calculate(e.expression.evaluate(new wa(Math.floor(t.zoom-1),t)),e.expression.evaluate(new wa(Math.floor(t.zoom),t)),e.expression.evaluate(new wa(Math.floor(t.zoom+1),t)),t)}}_calculate(e,t,n,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:n,to:t}}interpolate(e){return e}}class Fa{constructor(e){this.specification=e}possiblyEvaluate(e,t,n,r){return!!e.expression.evaluate(t,null,{},n,r)}interpolate(){return!1}}class Ia{constructor(e){this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let t in e){let n=e[t];n.specification.overridable&&this.overridableProperties.push(t);let r=this.defaultPropertyValues[t]=new Ta(n,void 0),i=this.defaultTransitionablePropertyValues[t]=new Ea(n);this.defaultTransitioningPropertyValues[t]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=r.possiblyEvaluate({})}}}X(`DataDrivenProperty`,$),X(`DataConstantProperty`,Q),X(`CrossFadedDataDrivenProperty`,Na),X(`CrossFadedProperty`,Pa),X(`ColorRampProperty`,Fa);let La=`-transition`;class Ra extends Me{constructor(e,t){if(super(),this.id=e.id,this.type=e.type,this._featureFilter={filter:()=>!0,needGeometry:!1},e.type!==`custom`&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,e.type!==`background`&&(this.source=e.source,this.sourceLayer=e[`source-layer`],this.filter=e.filter),t.layout&&(this._unevaluatedLayout=new Aa(t.layout)),t.paint)){this._transitionablePaint=new Da(t.paint);for(let t in e.paint)this.setPaintProperty(t,e.paint[t],{validate:!1});for(let t in e.layout)this.setLayoutProperty(t,e.layout[t],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Ma(t.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(e){return e===`visibility`?this.visibility:this._unevaluatedLayout.getValue(e)}setLayoutProperty(e,t,n={}){t!=null&&this._validate(ta,`layers.${this.id}.layout.${e}`,e,t,n)||(e===`visibility`?this.visibility=t:this._unevaluatedLayout.setValue(e,t))}getPaintProperty(e){return e.endsWith(La)?this._transitionablePaint.getTransition(e.slice(0,-11)):this._transitionablePaint.getValue(e)}setPaintProperty(e,t,n={}){if(t!=null&&this._validate(ea,`layers.${this.id}.paint.${e}`,e,t,n))return!1;if(e.endsWith(La))return this._transitionablePaint.setTransition(e.slice(0,-11),t||void 0),!1;{let n=this._transitionablePaint._values[e],r=n.property.specification[`property-type`]===`cross-faded-data-driven`,i=n.value.isDataDriven(),a=n.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);let o=this._transitionablePaint._values[e].value;return o.isDataDriven()||i||r||this._handleOverridablePaintPropertyUpdate(e,a,o)}}_handleSpecialPaintPropertyUpdate(e){}_handleOverridablePaintPropertyUpdate(e,t,n){return!1}isHidden(e){return!!(this.minzoom&&e<this.minzoom)||!!(this.maxzoom&&e>=this.maxzoom)||this.visibility===`none`}updateTransitions(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(e,t){e.getCrossfadeParameters&&(this._crossfadeParameters=e.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,t)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,t)}
12serialize(){let e={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(e.layout=e.layout||{},e.layout.visibility=this.visibility),oe(e,((e,t)=>!(e===void 0||t===`layout`&&!Object.keys(e).length||t===`paint`&&!Object.keys(e).length)))}_validate(e,t,n,r,i={}){return(!i||!1!==i.validate)&&na(this,e.call(Zi,{key:t,layerType:this.type,objectKey:n,value:r,styleSpec:L,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let e in this.paint._values){let t=this.paint.get(e);if(t instanceof ja&&Ur(t.property.specification)&&(t.value.kind===`source`||t.value.kind===`composite`)&&t.value.isStateDependent)return!0}return!1}}let za={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class Ba{constructor(e,t){this._structArray=e,this._pos1=t*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class Va{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(e,t){return e._trim(),t&&(e.isTransferred=!0,t.push(e.arrayBuffer)),{length:e.length,arrayBuffer:e.arrayBuffer}}static deserialize(e){let t=Object.create(this.prototype);return t.arrayBuffer=e.arrayBuffer,t.length=e.length,t.capacity=e.arrayBuffer.byteLength/t.bytesPerElement,t._refreshViews(),t}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(e){this.reserve(e),this.length=e}reserve(e){if(e>this.capacity){this.capacity=Math.max(e,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let t=this.uint8;this._refreshViews(),t&&this.uint8.set(t)}}_refreshViews(){throw Error(`_refreshViews() must be implemented by each concrete StructArray layout`)}}function Ha(e,t=1){let n=0,r=0;return{members:e.map((e=>{let i=za[e.type].BYTES_PER_ELEMENT,a=n=Ua(n,Math.max(t,i)),o=e.components||1;return r=Math.max(r,i),n+=i*o,{name:e.name,type:e.type,components:o,offset:a}})),size:Ua(n,Math.max(r,t)),alignment:t}}function Ua(e,t){return Math.ceil(e/t)*t}class Wa extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=2*e;return this.int16[r+0]=t,this.int16[r+1]=n,e}}Wa.prototype.bytesPerElement=4,X(`StructArrayLayout2i4`,Wa);class Ga extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=3*e;return this.int16[i+0]=t,this.int16[i+1]=n,this.int16[i+2]=r,e}}Ga.prototype.bytesPerElement=6,X(`StructArrayLayout3i6`,Ga);class Ka extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,n,r)}emplace(e,t,n,r,i){let a=4*e;return this.int16[a+0]=t,this.int16[a+1]=n,this.int16[a+2]=r,this.int16[a+3]=i,e}}Ka.prototype.bytesPerElement=8,X(`StructArrayLayout4i8`,Ka);class qa extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=6*e;return this.int16[s+0]=t,this.int16[s+1]=n,this.int16[s+2]=r,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}}qa.prototype.bytesPerElement=12,X(`StructArrayLayout2i4i12`,qa);class Ja extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=4*e,c=8*e;return this.int16[s+0]=t,this.int16[s+1]=n,this.uint8[c+4]=r,this.uint8[c+5]=i,this.uint8[c+6]=a,this.uint8[c+7]=o,e}}Ja.prototype.bytesPerElement=8,X(`StructArrayLayout2i4ub8`,Ja);class Ya extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=2*e;return this.float32[r+0]=t,this.float32[r+1]=n,e}}Ya.prototype.bytesPerElement=8,X(`StructArrayLayout2f8`,Ya);class Xa extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l){let u=this.length;return this.resize(u+1),this.emplace(u,e,t,n,r,i,a,o,s,c,l)}emplace(e,t,n,r,i,a,o,s,c,l,u){let d=10*e;return this.uint16[d+0]=t,this.uint16[d+1]=n,this.uint16[d+2]=r,this.uint16[d+3]=i,this.uint16[d+4]=a,this.uint16[d+5]=o,this.uint16[d+6]=s,this.uint16[d+7]=c,this.uint16[d+8]=l,this.uint16[d+9]=u,e}}Xa.prototype.bytesPerElement=20,X(`StructArrayLayout10ui20`,Xa);class Za extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l,u,d){let f=this.length;return this.resize(f+1),this.emplace(f,e,t,n,r,i,a,o,s,c,l,u,d)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=12*e;return this.int16[p+0]=t,this.int16[p+1]=n,this.int16[p+2]=r,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=c,this.int16[p+8]=l,this.int16[p+9]=u,this.int16[p+10]=d,this.int16[p+11]=f,e}}Za.prototype.bytesPerElement=24,X(`StructArrayLayout4i4ui4i24`,Za);class Qa extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=3*e;return this.float32[i+0]=t,this.float32[i+1]=n,this.float32[i+2]=r,e}}Qa.prototype.bytesPerElement=12,X(`StructArrayLayout3f12`,Qa);class $a extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint32[1*e+0]=t,e}}$a.prototype.bytesPerElement=4,X(`StructArrayLayout1ul4`,$a);class eo extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c){let l=this.length;return this.resize(l+1),this.emplace(l,e,t,n,r,i,a,o,s,c)}emplace(e,t,n,r,i,a,o,s,c,l){let u=10*e,d=5*e;return this.int16[u+0]=t,this.int16[u+1]=n,this.int16[u+2]=r,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[d+3]=s,this.uint16[u+8]=c,this.uint16[u+9]=l,e}}eo.prototype.bytesPerElement=20,X(`StructArrayLayout6i1ul2ui20`,eo);class to extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=6*e;return this.int16[s+0]=t,this.int16[s+1]=n,this.int16[s+2]=r,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}}to.prototype.bytesPerElement=12,X(`StructArrayLayout2i2i2i12`,to);
12class no extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i){let a=this.length;return this.resize(a+1),this.emplace(a,e,t,n,r,i)}emplace(e,t,n,r,i,a){let o=4*e,s=8*e;return this.float32[o+0]=t,this.float32[o+1]=n,this.float32[o+2]=r,this.int16[s+6]=i,this.int16[s+7]=a,e}}no.prototype.bytesPerElement=16,X(`StructArrayLayout2f1f2i16`,no);class ro extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=16*e,c=4*e,l=8*e;return this.uint8[s+0]=t,this.uint8[s+1]=n,this.float32[c+1]=r,this.float32[c+2]=i,this.int16[l+6]=a,this.int16[l+7]=o,e}}ro.prototype.bytesPerElement=16,X(`StructArrayLayout2ub2f2i16`,ro);class io extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=3*e;return this.uint16[i+0]=t,this.uint16[i+1]=n,this.uint16[i+2]=r,e}}io.prototype.bytesPerElement=6,X(`StructArrayLayout3ui6`,io);class ao extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g){let _=this.length;return this.resize(_+1),this.emplace(_,e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_){let v=24*e,y=12*e,b=48*e;return this.int16[v+0]=t,this.int16[v+1]=n,this.uint16[v+2]=r,this.uint16[v+3]=i,this.uint32[y+2]=a,this.uint32[y+3]=o,this.uint32[y+4]=s,this.uint16[v+10]=c,this.uint16[v+11]=l,this.uint16[v+12]=u,this.float32[y+7]=d,this.float32[y+8]=f,this.uint8[b+36]=p,this.uint8[b+37]=m,this.uint8[b+38]=h,this.uint32[y+10]=g,this.int16[v+22]=_,e}}ao.prototype.bytesPerElement=48,X(`StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48`,ao);class oo extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D){let O=this.length;return this.resize(O+1),this.emplace(O,e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O){let k=32*e,A=16*e;return this.int16[k+0]=t,this.int16[k+1]=n,this.int16[k+2]=r,this.int16[k+3]=i,this.int16[k+4]=a,this.int16[k+5]=o,this.int16[k+6]=s,this.int16[k+7]=c,this.uint16[k+8]=l,this.uint16[k+9]=u,this.uint16[k+10]=d,this.uint16[k+11]=f,this.uint16[k+12]=p,this.uint16[k+13]=m,this.uint16[k+14]=h,this.uint16[k+15]=g,this.uint16[k+16]=_,this.uint16[k+17]=v,this.uint16[k+18]=y,this.uint16[k+19]=b,this.uint16[k+20]=x,this.uint16[k+21]=S,this.uint16[k+22]=C,this.uint32[A+12]=w,this.float32[A+13]=T,this.float32[A+14]=E,this.uint16[k+30]=D,this.uint16[k+31]=O,e}}oo.prototype.bytesPerElement=64,X(`StructArrayLayout8i15ui1ul2f2ui64`,oo);class so extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.float32[1*e+0]=t,e}}so.prototype.bytesPerElement=4,X(`StructArrayLayout1f4`,so);class co extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=3*e;return this.uint16[6*e+0]=t,this.float32[i+1]=n,this.float32[i+2]=r,e}}co.prototype.bytesPerElement=12,X(`StructArrayLayout1ui2f12`,co);class lo extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=4*e;return this.uint32[2*e+0]=t,this.uint16[i+2]=n,this.uint16[i+3]=r,e}}lo.prototype.bytesPerElement=8,X(`StructArrayLayout1ul2ui8`,lo);class uo extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=2*e;return this.uint16[r+0]=t,this.uint16[r+1]=n,e}}uo.prototype.bytesPerElement=4,X(`StructArrayLayout2ui4`,uo);class fo extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint16[1*e+0]=t,e}}fo.prototype.bytesPerElement=2,X(`StructArrayLayout1ui2`,fo);class po extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,n,r)}emplace(e,t,n,r,i){let a=4*e;return this.float32[a+0]=t,this.float32[a+1]=n,this.float32[a+2]=r,this.float32[a+3]=i,e}}po.prototype.bytesPerElement=16,X(`StructArrayLayout4f16`,po);class mo extends Ba{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}
12get anchorPoint(){return new c(this.anchorPointX,this.anchorPointY)}}mo.prototype.size=20;class ho extends eo{get(e){return new mo(this,e)}}X(`CollisionBoxArray`,ho);class go extends Ba{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(e){this._structArray.uint8[this._pos1+37]=e}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(e){this._structArray.uint8[this._pos1+38]=e}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(e){this._structArray.uint32[this._pos4+10]=e}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}go.prototype.size=48;class _o extends ao{get(e){return new go(this,e)}}X(`PlacedSymbolArray`,_o);class vo extends Ba{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(e){this._structArray.uint32[this._pos4+12]=e}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}vo.prototype.size=64;class yo extends oo{get(e){return new vo(this,e)}}X(`SymbolInstanceArray`,yo);class bo extends so{getoffsetX(e){return this.float32[1*e+0]}}X(`GlyphOffsetArray`,bo);class xo extends Ga{getx(e){return this.int16[3*e+0]}gety(e){return this.int16[3*e+1]}gettileUnitDistanceFromAnchor(e){return this.int16[3*e+2]}}X(`SymbolLineVertexArray`,xo);class So extends Ba{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}So.prototype.size=12;class Co extends co{get(e){return new So(this,e)}}X(`TextAnchorOffsetArray`,Co);class wo extends Ba{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}wo.prototype.size=8;class To extends lo{get(e){return new wo(this,e)}}X(`FeatureIndexArray`,To);class Eo extends Wa{}class Do extends Wa{}class Oo extends Wa{}class ko extends qa{}class Ao extends Ja{}class jo extends Ya{}class Mo extends Xa{}class No extends Za{}class Po extends Qa{}class Fo extends $a{}class Io extends to{}class Lo extends ro{}class Ro extends io{}class zo extends uo{}let{members:Bo}=Ha([{name:`a_pos`,components:2,type:`Int16`}],4);class Vo{constructor(e=[]){this._forceNewSegmentOnNextPrepare=!1,this.segments=e}prepareSegment(e,t,n,r){let i=this.segments[this.segments.length-1];return e>Vo.MAX_VERTEX_ARRAY_LENGTH&&le(`Max vertices per segment is ${Vo.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${e}. Consider using the \`fillLargeMeshArrays\` function if you require meshes with more than ${Vo.MAX_VERTEX_ARRAY_LENGTH} vertices.`),this._forceNewSegmentOnNextPrepare||!i||i.vertexLength+e>Vo.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==r?this.createNewSegment(t,n,r):i}createNewSegment(e,t,n){let r={vertexOffset:e.length,primitiveOffset:t.length,vertexLength:0,primitiveLength:0,vaos:{}};return n!==void 0&&(r.sortKey=n),this._forceNewSegmentOnNextPrepare=!1,this.segments.push(r),r}getOrCreateLatestSegment(e,t,n){return this.prepareSegment(0,e,t,n)}forceNewSegmentOnNextPrepare(){this._forceNewSegmentOnNextPrepare=!0}get(){return this.segments}destroy(){for(let e of this.segments)for(let t in e.vaos)e.vaos[t].destroy()}static simpleSegment(e,t,n,r){return new Vo([{vertexOffset:e,primitiveOffset:t,vertexLength:n,primitiveLength:r,vaos:{},sortKey:0}])}}function Ho(e,t){return 256*(e=ne(Math.floor(e),0,255))+ne(Math.floor(t),0,255)}Vo.MAX_VERTEX_ARRAY_LENGTH=2**16-1,X(`SegmentVector`,Vo);let Uo=Ha([{name:`a_pattern_from`,components:4,type:`Uint16`},{name:`a_pattern_to`,components:4,type:`Uint16`},{name:`a_pixel_ratio_from`,components:1,type:`Uint16`},{name:`a_pixel_ratio_to`,components:1,type:`Uint16`}]);var Wo,Go,Ko,qo={exports:{}},Jo={exports:{}},Yo={exports:{}},Xo=n(function(){if(Ko)return qo.exports;
12Ko=1;var e=(Wo||(Wo=1,Jo.exports=function(e,t){var n,r,i,a,o,s,c,l;for(r=e.length-(n=3&e.length),i=t,o=3432918353,s=461845907,l=0;l<r;)c=255&e.charCodeAt(l)|(255&e.charCodeAt(++l))<<8|(255&e.charCodeAt(++l))<<16|(255&e.charCodeAt(++l))<<24,++l,i=27492+(65535&(a=5*(65535&(i=(i^=c=(65535&(c=(c=(65535&c)*o+(((c>>>16)*o&65535)<<16)&4294967295)<<15|c>>>17))*s+(((c>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(c=0,n){case 3:c^=(255&e.charCodeAt(l+2))<<16;case 2:c^=(255&e.charCodeAt(l+1))<<8;case 1:i^=c=(65535&(c=(c=(65535&(c^=255&e.charCodeAt(l)))*o+(((c>>>16)*o&65535)<<16)&4294967295)<<15|c>>>17))*s+(((c>>>16)*s&65535)<<16)&4294967295}return i^=e.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}),Jo.exports),t=(Go||(Go=1,Yo.exports=function(e,t){for(var n,r=e.length,i=t^r,a=0;r>=4;)n=1540483477*(65535&(n=255&e.charCodeAt(a)|(255&e.charCodeAt(++a))<<8|(255&e.charCodeAt(++a))<<16|(255&e.charCodeAt(++a))<<24))+((1540483477*(n>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(n=1540483477*(65535&(n^=n>>>24))+((1540483477*(n>>>16)&65535)<<16)),r-=4,++a;switch(r){case 3:i^=(255&e.charCodeAt(a+2))<<16;case 2:i^=(255&e.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&e.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}),Yo.exports);return qo.exports=e,qo.exports.murmur3=e,qo.exports.murmur2=t,qo.exports}());class Zo{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(e,t,n,r){this.ids.push(Qo(e)),this.positions.push(t,n,r)}getPositions(e){if(!this.indexed)throw Error(`Trying to get index, but feature positions are not indexed`);let t=Qo(e),n=0,r=this.ids.length-1;for(;n<r;){let e=n+r>>1;this.ids[e]>=t?r=e:n=e+1}let i=[];for(;this.ids[n]===t;)i.push({index:this.positions[3*n],start:this.positions[3*n+1],end:this.positions[3*n+2]}),n++;return i}static serialize(e,t){let n=new Float64Array(e.ids),r=new Uint32Array(e.positions);return $o(n,r,0,n.length-1),t&&t.push(n.buffer,r.buffer),{ids:n,positions:r}}static deserialize(e){let t=new Zo;return t.ids=e.ids,t.positions=e.positions,t.indexed=!0,t}}function Qo(e){let t=+e;return!isNaN(t)&&t<=2**53-1?t:Xo(String(e))}function $o(e,t,n,r){for(;n<r;){let i=e[n+r>>1],a=n-1,o=r+1;for(;;){do a++;while(e[a]<i);do o--;while(e[o]>i);if(a>=o)break;es(e,a,o),es(t,3*a,3*o),es(t,3*a+1,3*o+1),es(t,3*a+2,3*o+2)}o-n<r-o?($o(e,t,n,o),n=o+1):($o(e,t,o+1,r),r=o)}}
12function es(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}X(`FeaturePositionMap`,Zo);class ts{constructor(e,t){this.gl=e.gl,this.location=t}}class ns extends ts{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1f(this.location,e))}}class rs extends ts{constructor(e,t){super(e,t),this.current=[0,0,0,0]}set(e){e[0]===this.current[0]&&e[1]===this.current[1]&&e[2]===this.current[2]&&e[3]===this.current[3]||(this.current=e,this.gl.uniform4f(this.location,e[0],e[1],e[2],e[3]))}}class is extends ts{constructor(e,t){super(e,t),this.current=W.transparent}set(e){e.r===this.current.r&&e.g===this.current.g&&e.b===this.current.b&&e.a===this.current.a||(this.current=e,this.gl.uniform4f(this.location,e.r,e.g,e.b,e.a))}}let as=new Float32Array(16);function os(e){return[Ho(255*e.r,255*e.g),Ho(255*e.b,255*e.a)]}class ss{constructor(e,t,n){this.value=e,this.uniformNames=t.map((e=>`u_${e}`)),this.type=n}setUniform(e,t,n){e.set(n.constantOr(this.value))}getBinding(e,t,n){return this.type===`color`?new is(e,t):new ns(e,t)}}class cs{constructor(e,t){this.uniformNames=t.map((e=>`u_${e}`)),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(e,t){this.pixelRatioFrom=t.pixelRatio,this.pixelRatioTo=e.pixelRatio,this.patternFrom=t.tlbr,this.patternTo=e.tlbr}setUniform(e,t,n,r){let i=r===`u_pattern_to`?this.patternTo:r===`u_pattern_from`?this.patternFrom:r===`u_pixel_ratio_to`?this.pixelRatioTo:r===`u_pixel_ratio_from`?this.pixelRatioFrom:null;i&&e.set(i)}getBinding(e,t,n){return n.substr(0,9)===`u_pattern`?new rs(e,t):new ns(e,t)}}class ls{constructor(e,t,n,r){this.expression=e,this.type=n,this.maxValue=0,this.paintVertexAttributes=t.map((e=>({name:`a_${e}`,type:`Float32`,components:n===`color`?2:1,offset:0}))),this.paintVertexArray=new r}populatePaintArray(e,t,n,r,i){let a=this.paintVertexArray.length,o=this.expression.evaluate(new wa(0),t,{},r,[],i);this.paintVertexArray.resize(e),this._setPaintValue(a,e,o)}updatePaintArray(e,t,n,r){let i=this.expression.evaluate({zoom:0},n,r);this._setPaintValue(e,t,i)}_setPaintValue(e,t,n){if(this.type===`color`){let r=os(n);for(let n=e;n<t;n++)this.paintVertexArray.emplace(n,r[0],r[1])}else{for(let r=e;r<t;r++)this.paintVertexArray.emplace(r,n);this.maxValue=Math.max(this.maxValue,Math.abs(n))}}upload(e){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=e.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}}class us{constructor(e,t,n,r,i,a){this.expression=e,this.uniformNames=t.map((e=>`u_${e}_t`)),this.type=n,this.useIntegerZoom=r,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=t.map((e=>({name:`a_${e}`,type:`Float32`,components:n===`color`?4:2,offset:0}))),this.paintVertexArray=new a}populatePaintArray(e,t,n,r,i){let a=this.expression.evaluate(new wa(this.zoom),t,{},r,[],i),o=this.expression.evaluate(new wa(this.zoom+1),t,{},r,[],i),s=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(s,e,a,o)}updatePaintArray(e,t,n,r){let i=this.expression.evaluate({zoom:this.zoom},n,r),a=this.expression.evaluate({zoom:this.zoom+1},n,r);this._setPaintValue(e,t,i,a)}_setPaintValue(e,t,n,r){if(this.type===`color`){let i=os(n),a=os(r);for(let n=e;n<t;n++)this.paintVertexArray.emplace(n,i[0],i[1],a[0],a[1])}else{for(let i=e;i<t;i++)this.paintVertexArray.emplace(i,n,r);this.maxValue=Math.max(this.maxValue,Math.abs(n),Math.abs(r))}}upload(e){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=e.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}setUniform(e,t){let n=this.useIntegerZoom?Math.floor(t.zoom):t.zoom,r=ne(this.expression.interpolationFactor(n,this.zoom,this.zoom+1),0,1);e.set(r)}getBinding(e,t,n){return new ns(e,t)}}class ds{constructor(e,t,n,r,i,a){this.expression=e,this.type=t,this.useIntegerZoom=n,this.zoom=r,this.layerId=a,this.zoomInPaintVertexArray=new i,this.zoomOutPaintVertexArray=new i}populatePaintArray(e,t,n){let r=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(e),this.zoomOutPaintVertexArray.resize(e),this._setPaintValues(r,e,t.patterns&&t.patterns[this.layerId],n)}updatePaintArray(e,t,n,r,i){this._setPaintValues(e,t,n.patterns&&n.patterns[this.layerId],i)}_setPaintValues(e,t,n,r){if(!r||!n)return;let{min:i,mid:a,max:o}=n,s=r[i],c=r[a],l=r[o];if(s&&c&&l)for(let n=e;n<t;
12n++)this.zoomInPaintVertexArray.emplace(n,c.tl[0],c.tl[1],c.br[0],c.br[1],s.tl[0],s.tl[1],s.br[0],s.br[1],c.pixelRatio,s.pixelRatio),this.zoomOutPaintVertexArray.emplace(n,c.tl[0],c.tl[1],c.br[0],c.br[1],l.tl[0],l.tl[1],l.br[0],l.br[1],c.pixelRatio,l.pixelRatio)}upload(e){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=e.createVertexBuffer(this.zoomInPaintVertexArray,Uo.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=e.createVertexBuffer(this.zoomOutPaintVertexArray,Uo.members,this.expression.isStateDependent))}destroy(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()}}class fs{constructor(e,t,n){this.binders={},this._buffers=[];let r=[];for(let i in e.paint._values){if(!n(i))continue;let a=e.paint.get(i);if(!(a instanceof ja&&Ur(a.property.specification)))continue;let o=ms(i,e.type),s=a.value,c=a.property.specification.type,l=a.property.useIntegerZoom,u=a.property.specification[`property-type`],d=u===`cross-faded`||u===`cross-faded-data-driven`;if(s.kind===`constant`)this.binders[i]=d?new cs(s.value,o):new ss(s.value,o,c),r.push(`/u_${i}`);else if(s.kind===`source`||d){let n=hs(i,c,`source`);this.binders[i]=d?new ds(s,c,l,t,n,e.id):new ls(s,o,c,n),r.push(`/a_${i}`)}else{let e=hs(i,c,`composite`);this.binders[i]=new us(s,o,c,l,t,e),r.push(`/z_${i}`)}}this.cacheKey=r.sort().join(``)}getMaxValue(e){let t=this.binders[e];return t instanceof ls||t instanceof us?t.maxValue:0}populatePaintArrays(e,t,n,r,i){for(let a in this.binders){let o=this.binders[a];(o instanceof ls||o instanceof us||o instanceof ds)&&o.populatePaintArray(e,t,n,r,i)}}setConstantPatternPositions(e,t){for(let n in this.binders){let r=this.binders[n];r instanceof cs&&r.setConstantPatternPositions(e,t)}}updatePaintArrays(e,t,n,r,i){let a=!1;for(let o in e){let s=t.getPositions(o);for(let t of s){let s=n.feature(t.index);for(let n in this.binders){let c=this.binders[n];(c instanceof ls||c instanceof us||c instanceof ds)&&!0===c.expression.isStateDependent&&(c.expression=r.paint.get(n).value,c.updatePaintArray(t.start,t.end,s,e[o],i),a=!0)}}}return a}defines(){let e=[];for(let t in this.binders){let n=this.binders[t];(n instanceof ss||n instanceof cs)&&e.push(...n.uniformNames.map((e=>`#define HAS_UNIFORM_${e}`)))}return e}getBinderAttributes(){let e=[];for(let t in this.binders){let n=this.binders[t];if(n instanceof ls||n instanceof us)for(let t=0;t<n.paintVertexAttributes.length;t++)e.push(n.paintVertexAttributes[t].name);else if(n instanceof ds)for(let t=0;t<Uo.members.length;t++)e.push(Uo.members[t].name)}return e}getBinderUniforms(){let e=[];for(let t in this.binders){let n=this.binders[t];if(n instanceof ss||n instanceof cs||n instanceof us)for(let t of n.uniformNames)e.push(t)}return e}getPaintVertexBuffers(){return this._buffers}getUniforms(e,t){let n=[];for(let r in this.binders){let i=this.binders[r];if(i instanceof ss||i instanceof cs||i instanceof us){for(let a of i.uniformNames)if(t[a]){let o=i.getBinding(e,t[a],a);n.push({name:a,property:r,binding:o})}}}return n}setUniforms(e,t,n,r){for(let{name:e,property:i,binding:a}of t)this.binders[i].setUniform(a,r,n.get(i),e)}updatePaintBuffers(e){this._buffers=[];for(let t in this.binders){let n=this.binders[t];if(e&&n instanceof ds){let t=e.fromScale===2?n.zoomInPaintVertexBuffer:n.zoomOutPaintVertexBuffer;t&&this._buffers.push(t)}else (n instanceof ls||n instanceof us)&&n.paintVertexBuffer&&this._buffers.push(n.paintVertexBuffer)}}upload(e){for(let t in this.binders){let n=this.binders[t];(n instanceof ls||n instanceof us||n instanceof ds)&&n.upload(e)}this.updatePaintBuffers()}destroy(){for(let e in this.binders){let t=this.binders[e];(t instanceof ls||t instanceof us||t instanceof ds)&&t.destroy()}}}class ps{constructor(e,t,n=(()=>!0)){this.programConfigurations={};for(let r of e)this.programConfigurations[r.id]=new fs(r,t,n);this.needsUpload=!1,this._featureMap=new Zo,this._bufferOffset=0}populatePaintArrays(e,t,n,r,i,a){for(let n in this.programConfigurations)this.programConfigurations[n].populatePaintArrays(e,t,r,i,a);t.id!==void 0&&this._featureMap.add(t.id,n,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,t,n,r){for(let i of n)this.needsUpload=this.programConfigurations[i.id].updatePaintArrays(e,this._featureMap,t,i,r)||this.needsUpload}get(e){return this.programConfigurations[e]}upload(e){if(this.needsUpload){for(let t in this.programConfigurations)this.programConfigurations[t].upload(e);this.needsUpload=!1}}destroy(){for(let e in this.programConfigurations)this.programConfigurations[e].destroy()}}function ms(e,t){return{"text-opacity":[`opacity`],"icon-opacity":[`opacity`],"text-color":[`fill_color`],"icon-color":[`fill_color`],"text-halo-color":[`halo_color`],"icon-halo-color":[`halo_color`],"text-halo-blur":[`halo_blur`],"icon-halo-blur":[`halo_blur`],"text-halo-width":[`halo_width`],"icon-halo-width":[`halo_width`],"line-gap-width":[`gapwidth`],"line-pattern":[`pattern_to`,`pattern_from`,`pixel_ratio_to`,`pixel_ratio_from`],"fill-pattern":[`pattern_to`,`pattern_from`,`pixel_ratio_to`,`pixel_ratio_from`],"fill-extrusion-pattern":[`pattern_to`,`pattern_from`,`pixel_ratio_to`,`pixel_ratio_from`]}[e]||[e.replace(`${t}-`,``).replace(/-/g,`_`)]}function hs(e,t,n){let r={color:{source:Ya,composite:po},number:{source:so,composite:Ya}},i=function(e){return{"line-pattern":{source:Mo,composite:Mo},"fill-pattern":{source:Mo,composite:Mo},"fill-extrusion-pattern":{source:Mo,composite:Mo}}[e]}(e);return i&&i[n]||r[t][n]}X(`ConstantBinder`,ss),X(`CrossFadedConstantBinder`,cs),X(`SourceExpressionBinder`,ls),X(`CrossFadedCompositeBinder`,ds),X(`CompositeExpressionBinder`,us),X(`ProgramConfiguration`,fs,{omit:[`_buffers`]}),X(`ProgramConfigurationSet`,ps);let gs=2**14-1,_s=-gs-1;function vs(e){let t=D/e.extent,n=e.loadGeometry();for(let e=0;e<n.length;e++){let r=n[e];for(let e=0;e<r.length;e++){let n=r[e],i=Math.round(n.x*t),a=Math.round(n.y*t);n.x=ne(i,_s,gs),n.y=ne(a,_s,gs),(i<n.x||i>n.x+1||a<n.y||a>n.y+1)&&le(`Geometry exceeds allowed extent, reduce your vector tile buffer size`)}}return n}function ys(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?vs(e):[]}}let bs=-32768;function xs(e,t,n,r,i){e.emplaceBack(bs+8*t+r,bs+8*n+i)}class Ss{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new Do,this.indexArray=new Ro,this.segments=new Vo,this.programConfigurations=new ps(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,n){let r=this.layers[0],i=[],a=null,o=!1,s=r.type===`heatmap`;if(r.type===`circle`){let e=r;a=e.layout.get(`circle-sort-key`),o=!a.isConstant(),s||=e.paint.get(`circle-pitch-alignment`)===`map`}let c=s?t.subdivisionGranularity.circle:1;for(let{feature:t,id:r,index:s,sourceLayerIndex:c}of e){let e=this.layers[0]._featureFilter.needGeometry,l=ys(t,e);if(!this.layers[0]._featureFilter.filter(new wa(this.zoom),l,n))continue;let u=o?a.evaluate(l,{},n):void 0,d={id:r,properties:t.properties,type:t.type,sourceLayerIndex:c,index:s,geometry:e?l.geometry:vs(t),patterns:{},sortKey:u};i.push(d)}o&&i.sort(((e,t)=>
12e.sortKey-t.sortKey));for(let r of i){let{geometry:i,index:a,sourceLayerIndex:o}=r,s=e[a].feature;this.addFeature(r,i,a,n,c),t.featureIndex.insert(s,i,a,o,this.index)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,n)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Bo),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(e,t,n,r,i=1){let a;switch(i){case 1:a=[0,7];break;case 3:a=[0,2,5,7];break;case 5:a=[0,1,3,4,6,7];break;case 7:a=[0,1,2,3,4,5,6,7];break;default:throw Error(`Invalid circle bucket granularity: ${i}; valid values are 1, 3, 5, 7.`)}let o=a.length;for(let n of t)for(let t of n){let n=t.x,r=t.y;if(n<0||n>=D||r<0||r>=D)continue;let i=this.segments.prepareSegment(o*o,this.layoutVertexArray,this.indexArray,e.sortKey),s=i.vertexLength;for(let e=0;e<o;e++)for(let t=0;t<o;t++)xs(this.layoutVertexArray,n,r,a[t],a[e]);for(let e=0;e<o-1;e++)for(let t=0;t<o-1;t++){let n=s+e*o+t,r=s+(e+1)*o+t;this.indexArray.emplaceBack(n,r+1,n+1),this.indexArray.emplaceBack(n,r,r+1)}i.vertexLength+=o*o,i.primitiveLength+=(o-1)*(o-1)*2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{},r)}}function Cs(e,t){for(let n=0;n<e.length;n++)if(Ms(t,e[n]))return!0;for(let n=0;n<t.length;n++)if(Ms(e,t[n]))return!0;return!!Ds(e,t)}function ws(e,t,n){return!!Ms(e,t)||!!ks(t,e,n)}function Ts(e,t){if(e.length===1)return js(t,e[0]);for(let n=0;n<t.length;n++){let r=t[n];for(let t=0;t<r.length;t++)if(Ms(e,r[t]))return!0}for(let n=0;n<e.length;n++)if(js(t,e[n]))return!0;for(let n=0;n<t.length;n++)if(Ds(e,t[n]))return!0;return!1}function Es(e,t,n){if(e.length>1){if(Ds(e,t))return!0;for(let r=0;r<t.length;r++)if(ks(t[r],e,n))return!0}for(let r=0;r<e.length;r++)if(ks(e[r],t,n))return!0;return!1}function Ds(e,t){if(e.length===0||t.length===0)return!1;for(let n=0;n<e.length-1;n++){let r=e[n],i=e[n+1];for(let e=0;e<t.length-1;e++)if(Os(r,i,t[e],t[e+1]))return!0}return!1}function Os(e,t,n,r){return N(e,n,r)!==N(t,n,r)&&N(e,t,n)!==N(e,t,r)}function ks(e,t,n){let r=n*n;if(t.length===1)return e.distSqr(t[0])<r;for(let n=1;n<t.length;n++)if(As(e,t[n-1],t[n])<r)return!0;return!1}function As(e,t,n){let r=t.distSqr(n);if(r===0)return e.distSqr(t);let i=((e.x-t.x)*(n.x-t.x)+(e.y-t.y)*(n.y-t.y))/r;return e.distSqr(i<0?t:i>1?n:n.sub(t)._mult(i)._add(t))}function js(e,t){for(let n=0;n<e.length;n++)if(Ms(e[n],t))return!0;return!1}function Ms(e,t){let n=!1;for(let r=0,i=e.length-1;r<e.length;i=r++){let a=e[r],o=e[i];a.y>t.y!=o.y>t.y&&t.x<(o.x-a.x)*(t.y-a.y)/(o.y-a.y)+a.x&&(n=!n)}return n}function Ns(e,t,n){let r=n[0],i=n[2];if(e.x<r.x&&t.x<r.x||e.x>i.x&&t.x>i.x||e.y<r.y&&t.y<r.y||e.y>i.y&&t.y>i.y)return!1;let a=N(e,t,n[0]);return a!==N(e,t,n[1])||a!==N(e,t,n[2])||a!==N(e,t,n[3])}function Ps(e,t,n){let r=t.paint.get(e).value;return r.kind===`constant`?r.value:n.programConfigurations.get(t.id).getMaxValue(e)}function Fs(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function Is(e,t,n,r,i){if(!t[0]&&!t[1])return e;let a=c.convert(t)._mult(i);n===`viewport`&&a._rotate(-r);let o=[];for(let t=0;t<e.length;t++)o.push(e[t].sub(a));return o}let Ls,Rs;X(`CircleBucket`,Ss,{omit:[`layers`]});var zs={get paint(){return Rs||=new Ia({"circle-radius":new $(L.paint_circle[`circle-radius`]),"circle-color":new $(L.paint_circle[`circle-color`]),"circle-blur":new $(L.paint_circle[`circle-blur`]),"circle-opacity":new $(L.paint_circle[`circle-opacity`]),"circle-translate":new Q(L.paint_circle[`circle-translate`]),"circle-translate-anchor":new Q(L.paint_circle[`circle-translate-anchor`]),"circle-pitch-scale":new Q(L.paint_circle[`circle-pitch-scale`]),"circle-pitch-alignment":new Q(L.paint_circle[`circle-pitch-alignment`]),"circle-stroke-width":new $(L.paint_circle[`circle-stroke-width`]),"circle-stroke-color":new $(L.paint_circle[`circle-stroke-color`]),"circle-stroke-opacity":new $(L.paint_circle[`circle-stroke-opacity`])})},get layout(){return Ls||=new Ia({"circle-sort-key":new $(L.layout_circle[`circle-sort-key`])})}};class Bs extends Ra{constructor(e){super(e,zs)}createBucket(e){return new Ss(e)}queryRadius(e){let t=e;return Ps(`circle-radius`,this,t)+Ps(`circle-stroke-width`,this,t)+Fs(this.paint.get(`circle-translate`))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,unwrappedTileID:o,getElevation:s}){let c=Is(e,this.paint.get(`circle-translate`),this.paint.get(`circle-translate-anchor`),-i.bearingInRadians,a),l=this.paint.get(`circle-radius`).evaluate(t,n)+this.paint.get(`circle-stroke-width`).evaluate(t,n),u=this.paint.get(`circle-pitch-alignment`)===`map`,d=u?c:function(e,t,n,r){return e.map((e=>Vs(e,t,n,r)))}(c,i,o,s),f=u?l*a:l;for(let e of r)for(let t of e){let e=u?t:Vs(t,i,o,s),n=f,r=i.projectTileCoordinates(t.x,t.y,o,s).signedDistanceFromCamera;if(this.paint.get(`circle-pitch-scale`)===`viewport`&&this.paint.get(`circle-pitch-alignment`)===`map`?n*=r/i.cameraToCenterDistance:this.paint.get(`circle-pitch-scale`)===`map`&&this.paint.get(`circle-pitch-alignment`)===`viewport`&&(n*=i.cameraToCenterDistance/r),ws(d,e,n))return!0}return!1}}function Vs(e,t,n,r){let i=t.projectTileCoordinates(e.x,e.y,n,r).point;return new c((.5*i.x+.5)*t.width,(.5*-i.y+.5)*t.height)}class Hs extends Ss{}let Us;X(`HeatmapBucket`,Hs,{omit:[`layers`]});var Ws={get paint(){return Us||=new Ia({"heatmap-radius":new $(L.paint_heatmap[`heatmap-radius`]),"heatmap-weight":new $(L.paint_heatmap[`heatmap-weight`]),"heatmap-intensity":new Q(L.paint_heatmap[`heatmap-intensity`]),"heatmap-color":new Fa(L.paint_heatmap[`heatmap-color`]),"heatmap-opacity":new Q(L.paint_heatmap[`heatmap-opacity`])})}};function Gs(e,{width:t,height:n},r,i){if(i){if(i instanceof Uint8ClampedArray)i=new Uint8Array(i.buffer);else if(i.length!==t*n*r)throw RangeError(`mismatched image size. expected: ${i.length} but got: ${t*n*r}`)}else i=new Uint8Array(t*n*r);return e.width=t,e.height=n,e.data=i,e}function Ks(e,{width:t,height:n},r){if(t===e.width&&n===e.height)return;let i=Gs({},{width:t,height:n},r);qs(e,i,{x:0,y:0},{x:0,y:0},{width:Math.min(e.width,t),height:Math.min(e.height,n)},r),e.width=t,e.height=n,e.data=i.data}function qs(e,t,n,r,i,a){if(i.width===0||i.height===0)return t;if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw RangeError(`out of range source coordinates for image copy`);if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw RangeError(`out of range destination coordinates for image copy`);let o=e.data,s=t.data;if(o===s)throw Error(`srcData equals dstData, so image is already copied`);for(let c=0;c<i.height;c++){let l=((n.y+c)*e.width+n.x)*a,u=((r.y+c)*t.width+r.x)*a;for(let e=0;e<i.width*a;e++)s[u+e]=o[l+e]}return t}
12class Js{constructor(e,t){Gs(this,e,1,t)}resize(e){Ks(this,e,1)}clone(){return new Js({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(e,t,n,r,i){qs(e,t,n,r,i,1)}}class Ys{constructor(e,t){Gs(this,e,4,t)}resize(e){Ks(this,e,4)}replace(e,t){t?this.data.set(e):this.data=e instanceof Uint8ClampedArray?new Uint8Array(e.buffer):e}clone(){return new Ys({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(e,t,n,r,i){qs(e,t,n,r,i,4)}}function Xs(e){let t={},n=e.resolution||256,r=e.clips?e.clips.length:1,i=e.image||new Ys({width:n,height:r});if(Math.log(n)/Math.LN2%1!=0)throw Error(`width is not a power of 2 - ${n}`);let a=(n,r,a)=>{t[e.evaluationKey]=a;let o=e.expression.evaluate(t);i.data[n+r+0]=Math.floor(255*o.r/o.a),i.data[n+r+1]=Math.floor(255*o.g/o.a),i.data[n+r+2]=Math.floor(255*o.b/o.a),i.data[n+r+3]=Math.floor(255*o.a)};if(e.clips)for(let t=0,i=0;t<r;++t,i+=4*n)for(let r=0,o=0;r<n;r++,o+=4){let s=r/(n-1),{start:c,end:l}=e.clips[t];a(i,o,c*(1-s)+l*s)}else for(let e=0,t=0;e<n;e++,t+=4)a(0,t,e/(n-1));return i}X(`AlphaImage`,Js),X(`RGBAImage`,Ys);let Zs=`big-fb`;class Qs extends Ra{createBucket(e){return new Hs(e)}constructor(e){super(e,Ws),this.heatmapFbos=new Map,this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(e){e===`heatmap-color`&&this._updateColorRamp()}_updateColorRamp(){this.colorRamp=Xs({expression:this._transitionablePaint._values[`heatmap-color`].value.expression,evaluationKey:`heatmapDensity`,image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbos.has(Zs)&&this.heatmapFbos.delete(Zs)}queryRadius(){return 0}queryIntersectsFeature(){return!1}hasOffscreenPass(){return this.paint.get(`heatmap-opacity`)!==0&&this.visibility!==`none`}}let $s;var ec={get paint(){return $s||=new Ia({"hillshade-illumination-direction":new Q(L.paint_hillshade[`hillshade-illumination-direction`]),"hillshade-illumination-altitude":new Q(L.paint_hillshade[`hillshade-illumination-altitude`]),"hillshade-illumination-anchor":new Q(L.paint_hillshade[`hillshade-illumination-anchor`]),"hillshade-exaggeration":new Q(L.paint_hillshade[`hillshade-exaggeration`]),"hillshade-shadow-color":new Q(L.paint_hillshade[`hillshade-shadow-color`]),"hillshade-highlight-color":new Q(L.paint_hillshade[`hillshade-highlight-color`]),"hillshade-accent-color":new Q(L.paint_hillshade[`hillshade-accent-color`]),"hillshade-method":new Q(L.paint_hillshade[`hillshade-method`])})}};class tc extends Ra{constructor(e){super(e,ec),this.recalculate({zoom:0,zoomHistory:{}},void 0)}getIlluminationProperties(){let e=this.paint.get(`hillshade-illumination-direction`).values,t=this.paint.get(`hillshade-illumination-altitude`).values,n=this.paint.get(`hillshade-highlight-color`).values,r=this.paint.get(`hillshade-shadow-color`).values,i=Math.max(e.length,t.length,n.length,r.length);e=e.concat(Array(i-e.length).fill(e.at(-1))),t=t.concat(Array(i-t.length).fill(t.at(-1))),n=n.concat(Array(i-n.length).fill(n.at(-1))),r=r.concat(Array(i-r.length).fill(r.at(-1)));let a=t.map(he);return{directionRadians:e.map(he),altitudeRadians:a,shadowColor:r,highlightColor:n}}hasOffscreenPass(){return this.paint.get(`hillshade-exaggeration`)!==0&&this.visibility!==`none`}}let{members:nc}=Ha([{name:`a_pos`,components:2,type:`Int16`}],4);function rc(e,t,n){let r=n.patternDependencies,i=!1;for(let n of t){let t=n.paint.get(`${e}-pattern`);t.isConstant()||(i=!0);let a=t.constantOr(null);a&&(i=!0,r[a.to]=!0,r[a.from]=!0)}return i}function ic(e,t,n,r,i){let a=i.patternDependencies;for(let o of t){let t=o.paint.get(`${e}-pattern`).value;if(t.kind!==`constant`){let e=t.evaluate({zoom:r-1},n,{},i.availableImages),s=t.evaluate({zoom:r},n,{},i.availableImages),c=t.evaluate({zoom:r+1},n,{},i.availableImages);e=e&&e.name?e.name:e,s=s&&s.name?s.name:s,c=c&&c.name?c.name:c,a[e]=!0,a[s]=!0,a[c]=!0,n.patterns[o.id]={min:e,mid:s,max:c}}}return n}function ac(e,t,n,r,i){let a;if(i===function(e,t,n,r){let i=0;for(let a=t,o=n-r;a<n;a+=r)i+=(e[o]-e[a])*(e[a+1]+e[o+1]),o=a;return i}(e,t,n,r)>0)for(let i=t;i<n;i+=r)a=Dc(i/r|0,e[i],e[i+1],a);else for(let i=n-r;i>=t;i-=r)a=Dc(i/r|0,e[i],e[i+1],a);return a&&xc(a,a.next)&&(Oc(a),a=a.next),a}function oc(e,t){if(!e)return e;t||=e;let n,r=e;do if(n=!1,r.steiner||!xc(r,r.next)&&bc(r.prev,r,r.next)!==0)r=r.next;else{if(Oc(r),r=t=r.prev,r===r.next)break;n=!0}while(n||r!==t);return t}function sc(e,t,n,r,i,a,o){if(!e)return;!o&&a&&function(e,t,n,r){let i=e;do i.z===0&&(i.z=hc(i.x,i.y,t,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){let t,n=1;do{let r,i=e;e=null;let a=null;for(t=0;i;){t++;let o=i,s=0;for(let e=0;e<n&&(s++,o=o.nextZ,o);e++);let c=n;for(;s>0||c>0&&o;)s!==0&&(c===0||!o||i.z<=o.z)?(r=i,i=i.nextZ,s--):(r=o,o=o.nextZ,c--),a?a.nextZ=r:e=r,r.prevZ=a,a=r;i=o}a.nextZ=null,n*=2}while(t>1)}(i)}(e,r,i,a);let s=e;for(;e.prev!==e.next;){let c=e.prev,l=e.next;if(a?lc(e,r,i,a):cc(e))t.push(c.i,e.i,l.i),Oc(e),e=l.next,s=l.next;else if((e=l)===s){o?o===1?sc(e=uc(oc(e),t),t,n,r,i,a,2):o===2&&dc(e,t,n,r,i,a):sc(oc(e),t,n,r,i,a,1);break}}}function cc(e){let t=e.prev,n=e,r=e.next;if(bc(t,n,r)>=0)return!1;let i=t.x,a=n.x,o=r.x,s=t.y,c=n.y,l=r.y,u=Math.min(i,a,o),d=Math.min(s,c,l),f=Math.max(i,a,o),p=Math.max(s,c,l),m=r.next;for(;m!==t;){if(m.x>=u&&m.x<=f&&m.y>=d&&m.y<=p&&vc(i,s,a,c,o,l,m.x,m.y)&&bc(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function lc(e,t,n,r){let i=e.prev,a=e,o=e.next;if(bc(i,a,o)>=0)return!1;
12let s=i.x,c=a.x,l=o.x,u=i.y,d=a.y,f=o.y,p=Math.min(s,c,l),m=Math.min(u,d,f),h=Math.max(s,c,l),g=Math.max(u,d,f),_=hc(p,m,t,n,r),v=hc(h,g,t,n,r),y=e.prevZ,b=e.nextZ;for(;y&&y.z>=_&&b&&b.z<=v;){if(y.x>=p&&y.x<=h&&y.y>=m&&y.y<=g&&y!==i&&y!==o&&vc(s,u,c,d,l,f,y.x,y.y)&&bc(y.prev,y,y.next)>=0||(y=y.prevZ,b.x>=p&&b.x<=h&&b.y>=m&&b.y<=g&&b!==i&&b!==o&&vc(s,u,c,d,l,f,b.x,b.y)&&bc(b.prev,b,b.next)>=0))return!1;b=b.nextZ}for(;y&&y.z>=_;){if(y.x>=p&&y.x<=h&&y.y>=m&&y.y<=g&&y!==i&&y!==o&&vc(s,u,c,d,l,f,y.x,y.y)&&bc(y.prev,y,y.next)>=0)return!1;y=y.prevZ}for(;b&&b.z<=v;){if(b.x>=p&&b.x<=h&&b.y>=m&&b.y<=g&&b!==i&&b!==o&&vc(s,u,c,d,l,f,b.x,b.y)&&bc(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function uc(e,t){let n=e;do{let r=n.prev,i=n.next.next;!xc(r,i)&&Sc(r,n,n.next,i)&&Tc(r,i)&&Tc(i,r)&&(t.push(r.i,n.i,i.i),Oc(n),Oc(n.next),n=e=i),n=n.next}while(n!==e);return oc(n)}function dc(e,t,n,r,i,a){let o=e;do{let e=o.next.next;for(;e!==o.prev;){if(o.i!==e.i&&yc(o,e)){let s=Ec(o,e);o=oc(o,o.next),s=oc(s,s.next),sc(o,t,n,r,i,a,0),sc(s,t,n,r,i,a,0);return}e=e.next}o=o.next}while(o!==e)}function fc(e,t){let n=e.x-t.x;return n===0&&(n=e.y-t.y,n===0)&&(n=(e.next.y-e.y)/(e.next.x-e.x)-(t.next.y-t.y)/(t.next.x-t.x)),n}function pc(e,t){let n=function(e,t){let n=t,r=e.x,i=e.y,a,o=-1/0;if(xc(e,n))return n;do{if(xc(e,n.next))return n.next;if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){let e=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(e<=r&&e>o&&(o=e,a=n.x<n.next.x?n:n.next,e===r))return a}n=n.next}while(n!==t);if(!a)return null;let s=a,c=a.x,l=a.y,u=1/0;n=a;do{if(r>=n.x&&n.x>=c&&r!==n.x&&_c(i<l?r:o,i,c,l,i<l?o:r,i,n.x,n.y)){let t=Math.abs(i-n.y)/(r-n.x);Tc(n,e)&&(t<u||t===u&&(n.x>a.x||n.x===a.x&&mc(a,n)))&&(a=n,u=t)}n=n.next}while(n!==s);return a}(e,t);if(!n)return t;let r=Ec(n,e);return oc(r,r.next),oc(n,n.next)}function mc(e,t){return bc(e.prev,e,t.prev)<0&&bc(t.next,e,e.next)<0}function hc(e,t,n,r,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function gc(e){let t=e,n=e;do(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next;while(t!==e);return n}function _c(e,t,n,r,i,a,o,s){return(i-o)*(t-s)>=(e-o)*(a-s)&&(e-o)*(r-s)>=(n-o)*(t-s)&&(n-o)*(a-s)>=(i-o)*(r-s)}function vc(e,t,n,r,i,a,o,s){return!(e===o&&t===s)&&_c(e,t,n,r,i,a,o,s)}function yc(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){let n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&Sc(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}(e,t)&&(Tc(e,t)&&Tc(t,e)&&function(e,t){let n=e,r=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do n.y>a!=n.next.y>a&&n.next.y!==n.y&&i<(n.next.x-n.x)*(a-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next;while(n!==e);return r}(e,t)&&(bc(e.prev,e,t.prev)||bc(e,t.prev,t))||xc(e,t)&&bc(e.prev,e,e.next)>0&&bc(t.prev,t,t.next)>0)}function bc(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function xc(e,t){return e.x===t.x&&e.y===t.y}function Sc(e,t,n,r){let i=wc(bc(e,t,n)),a=wc(bc(e,t,r)),o=wc(bc(n,r,e)),s=wc(bc(n,r,t));return i!==a&&o!==s||!(i!==0||!Cc(e,n,t))||!(a!==0||!Cc(e,r,t))||!(o!==0||!Cc(n,e,r))||!(s!==0||!Cc(n,t,r))}function Cc(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function wc(e){return e>0?1:e<0?-1:0}function Tc(e,t){return bc(e.prev,e,e.next)<0?bc(e,t,e.next)>=0&&bc(e,e.prev,t)>=0:bc(e,t,e.prev)<0||bc(e,e.next,t)<0}function Ec(e,t){let n=kc(e.i,e.x,e.y),r=kc(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,a.next=r,r.prev=a,r}function Dc(e,t,n,r){let i=kc(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function Oc(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function kc(e,t,n){return{i:e,x:t,y:n,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}class Ac{constructor(e,t){if(t>e)throw Error(`Min granularity must not be greater than base granularity.`);this._baseZoomGranularity=e,this._minGranularity=t}getGranularityForZoomLevel(e){return Math.max(Math.floor(this._baseZoomGranularity/(1<<e)),this._minGranularity,1)}}class jc{constructor(e){this.fill=e.fill,this.line=e.line,this.tile=e.tile,this.stencil=e.stencil,this.circle=e.circle}}jc.noSubdivision=new jc({fill:new Ac(0,0),line:new Ac(0,0),tile:new Ac(0,0),stencil:new Ac(0,0),circle:1}),X(`SubdivisionGranularityExpression`,Ac),X(`SubdivisionGranularitySetting`,jc);let Mc=-32768,Nc=32767;class Pc{constructor(e,t){this._vertexBuffer=[],this._vertexDictionary=new Map,this._used=!1,this._granularity=e,this._granularityCellSize=D/e,this._canonical=t}_getKey(e,t){return(e+=32768)<<16|(t+=32768)<<0}_vertexToIndex(e,t){if(e<-32768||t<-32768||e>32767||t>32767)throw Error(`Vertex coordinates are out of signed 16 bit integer range.`);let n=0|Math.round(e),r=0|Math.round(t),i=this._getKey(n,r);if(this._vertexDictionary.has(i))return this._vertexDictionary.get(i);let a=this._vertexBuffer.length/2;return this._vertexDictionary.set(i,a),this._vertexBuffer.push(n,r),a}_subdivideTrianglesScanline(e){if(this._granularity<2)return function(e,t){let n=[];for(let r=0;r<t.length;r+=3){let i=t[r],a=t[r+1],o=t[r+2],s=e[2*i],c=e[2*i+1];(e[2*a]-s)*(e[2*o+1]-c)-(e[2*a+1]-c)*(e[2*o]-s)>0?(n.push(i),n.push(o),n.push(a)):(n.push(i),n.push(a),n.push(o))}return n}(this._vertexBuffer,e);let t=[],n=e.length;for(let r=0;r<n;r+=3){let n=[e[r+0],e[r+1],e[r+2]],i=[this._vertexBuffer[2*e[r+0]+0],this._vertexBuffer[2*e[r+0]+1],this._vertexBuffer[2*e[r+1]+0],this._vertexBuffer[2*e[r+1]+1],this._vertexBuffer[2*e[r+2]+0],this._vertexBuffer[2*e[r+2]+1]],a=1/0,o=1/0,s=-1/0,c=-1/0;for(let e=0;e<3;e++){let t=i[2*e],n=i[2*e+1];a=Math.min(a,t),s=Math.max(s,t),o=Math.min(o,n),c=Math.max(c,n)}if(a===s||o===c)continue;let l=Math.floor(a/this._granularityCellSize),u=Math.ceil(s/this._granularityCellSize),d=Math.floor(o/this._granularityCellSize),f=Math.ceil(c/this._granularityCellSize);if(l!==u||d!==f)for(let e=d;e<f;e++){let r=this._scanlineGenerateVertexRingForCellRow(e,i,n);Lc(this._vertexBuffer,r,t)}else t.push(...n)}return t}_scanlineGenerateVertexRingForCellRow(e,t,n){let r=e*this._granularityCellSize,i=r+this._granularityCellSize,a=[];for(let e=0;e<3;e++){let o=t[2*e],s=t[2*e+1],c=t[2*(e+1)%6],l=t[(2*(e+1)+1)%6],u=t[2*(e+2)%6],d=t[(2*(e+2)+1)%6],f=c-o,p=l-s,m=f===0,h=p===0,g=(r-s)/p,_=(i-s)/p,v=Math.min(g,_),y=Math.max(g,_);if(!h&&(v>=1||y<=0)||h&&(s<r||s>i)){l>=r&&l<=i&&a.push(n[(e+1)%3]);continue}!h&&v>0&&a.push(this._vertexToIndex(o+f*v,s+p*v));let b=o+f*Math.max(v,0),x=o+f*Math.min(y,1);m||this._generateIntraEdgeVertices(a,o,s,c,l,b,x),!h&&y<1&&a.push(this._vertexToIndex(o+f*y,s+p*y)),(h||l>=r&&l<=i)&&a.push(n[(e+1)%3]),!h&&(l<=r||l>=i)&&this._generateInterEdgeVertices(a,o,s,c,l,u,d,x,r,i)}return a}_generateIntraEdgeVertices(e,t,n,r,i,a,o){let s=r-t,c=i-n,l=c===0,u=l?Math.min(t,r):Math.min(a,o),d=l?Math.max(t,r):Math.max(a,o),f=Math.floor(u/this._granularityCellSize)+1,p=Math.ceil(d/this._granularityCellSize)-1;
12if(l?t<r:a<o)for(let r=f;r<=p;r++){let i=r*this._granularityCellSize;e.push(this._vertexToIndex(i,n+c*(i-t)/s))}else for(let r=p;r>=f;r--){let i=r*this._granularityCellSize;e.push(this._vertexToIndex(i,n+c*(i-t)/s))}}_generateInterEdgeVertices(e,t,n,r,i,a,o,s,c,l){let u=i-n,d=a-r,f=o-i,p=(c-i)/f,m=(l-i)/f,h=Math.min(p,m),g=Math.max(p,m),_=r+d*h,v=Math.floor(Math.min(_,s)/this._granularityCellSize)+1,y=Math.ceil(Math.max(_,s)/this._granularityCellSize)-1,b=s<_,x=f===0;if(x&&(o===c||o===l))return;if(x||h>=1||g<=0){let e=n-o,r=a+(t-a)*Math.min((c-o)/e,(l-o)/e);v=Math.floor(Math.min(r,s)/this._granularityCellSize)+1,y=Math.ceil(Math.max(r,s)/this._granularityCellSize)-1,b=s<r}let S=u>0?l:c;if(b)for(let t=v;t<=y;t++)e.push(this._vertexToIndex(t*this._granularityCellSize,S));else for(let t=y;t>=v;t--)e.push(this._vertexToIndex(t*this._granularityCellSize,S))}_generateOutline(e){let t=[];for(let n of e){let e=Ic(n,this._granularity,!0),r=this._pointArrayToIndices(e),i=[];for(let e=1;e<r.length;e++)i.push(r[e-1]),i.push(r[e]);t.push(i)}return t}_handlePoles(e){let t=!1,n=!1;this._canonical&&(this._canonical.y===0&&(t=!0),this._canonical.y===(1<<this._canonical.z)-1&&(n=!0)),(t||n)&&this._fillPoles(e,t,n)}_ensureNoPoleVertices(){let e=this._vertexBuffer;for(let t=0;t<e.length;t+=2){let n=e[t+1];n===Mc&&(e[t+1]=-32767),n===Nc&&(e[t+1]=32766)}}_generatePoleQuad(e,t,n,r,i,a){r>i==(a===Mc)?(e.push(n),e.push(t),e.push(this._vertexToIndex(r,a)),e.push(this._vertexToIndex(i,a)),e.push(n),e.push(this._vertexToIndex(r,a))):(e.push(t),e.push(n),e.push(this._vertexToIndex(r,a)),e.push(n),e.push(this._vertexToIndex(i,a)),e.push(this._vertexToIndex(r,a)))}_fillPoles(e,t,n){let r=this._vertexBuffer,i=D,a=e.length;for(let o=2;o<a;o+=3){let a=e[o-2],s=e[o-1],c=e[o],l=r[2*a],u=r[2*a+1],d=r[2*s],f=r[2*s+1],p=r[2*c],m=r[2*c+1];t&&(u===0&&f===0&&this._generatePoleQuad(e,a,s,l,d,Mc),f===0&&m===0&&this._generatePoleQuad(e,s,c,d,p,Mc),m===0&&u===0&&this._generatePoleQuad(e,c,a,p,l,Mc)),n&&(u===i&&f===i&&this._generatePoleQuad(e,a,s,l,d,Nc),f===i&&m===i&&this._generatePoleQuad(e,s,c,d,p,Nc),m===i&&u===i&&this._generatePoleQuad(e,c,a,p,l,Nc))}}_initializeVertices(e){for(let t=0;t<e.length;t+=2)this._vertexToIndex(e[t],e[t+1])}subdividePolygonInternal(e,t){if(this._used)throw Error(`Subdivision: multiple use not allowed.`);this._used=!0;let{flattened:n,holeIndices:r}=function(e){let t=[],n=[];for(let r of e)if(r.length!==0){r!==e[0]&&t.push(n.length/2);for(let e=0;e<r.length;e++)n.push(r[e].x),n.push(r[e].y)}return{flattened:n,holeIndices:t}}(e),i;this._initializeVertices(n);try{let e=function(e,t,n=2){let r=t&&t.length,i=r?t[0]*n:e.length,a=ac(e,0,i,n,!0),o=[];if(!a||a.next===a.prev)return o;let s,c,l;if(r&&(a=function(e,t,n,r){let i=[];for(let n=0,a=t.length;n<a;n++){let o=ac(e,t[n]*r,n<a-1?t[n+1]*r:e.length,r,!1);o===o.next&&(o.steiner=!0),i.push(gc(o))}i.sort(fc);for(let e=0;e<i.length;e++)n=pc(i[e],n);return n}(e,t,a,n)),e.length>80*n){s=1/0,c=1/0;let t=-1/0,r=-1/0;for(let a=n;a<i;a+=n){let n=e[a],i=e[a+1];n<s&&(s=n),i<c&&(c=i),n>t&&(t=n),i>r&&(r=i)}l=Math.max(t-s,r-c),l=l===0?0:32767/l}return sc(a,o,n,s,c,l,0),o}(n,r),t=this._convertIndices(n,e);i=this._subdivideTrianglesScanline(t)}catch(e){console.error(e)}let a=[];return t&&(a=this._generateOutline(e)),this._ensureNoPoleVertices(),this._handlePoles(i),{verticesFlattened:this._vertexBuffer,indicesTriangles:i,indicesLineList:a}}_convertIndices(e,t){let n=[];for(let r=0;r<t.length;r++)n.push(this._vertexToIndex(e[2*t[r]],e[2*t[r]+1]));return n}_pointArrayToIndices(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];t.push(this._vertexToIndex(r.x,r.y))}return t}}function Fc(e,t,n,r=!0){return new Pc(n,t).subdividePolygonInternal(e,r)}function Ic(e,t,n=!1){if(!e||e.length<1||e.length<2)return[];let r=e[0],i=e[e.length-1],a=n&&(r.x!==i.x||r.y!==i.y);if(t<2)return a?[...e,e[0]]:[...e];let o=Math.floor(D/t),s=[];s.push(new c(e[0].x,e[0].y));let l=e.length,u=a?l:l-1;for(let t=0;t<u;t++){let n=e[t],r=t<l-1?e[t+1]:e[0],i=n.x,a=n.y,u=r.x,d=r.y,f=i!==u,p=a!==d;if(!f&&!p)continue;
12let m=u-i,h=d-a,g=Math.abs(m),_=Math.abs(h),v=i,y=a;for(;;){let e=m>0?(Math.floor(v/o)+1)*o:(Math.ceil(v/o)-1)*o,t=h>0?(Math.floor(y/o)+1)*o:(Math.ceil(y/o)-1)*o,n=Math.abs(v-e),r=Math.abs(y-t),i=Math.abs(v-u),a=Math.abs(y-d),l=f?n/g:1/0,b=p?r/_:1/0;if((i<=n||!f)&&(a<=r||!p))break;if(l<b&&f||!p){v=e,y+=h*l;let t=new c(v,Math.round(y));s[s.length-1].x===t.x&&s[s.length-1].y===t.y||s.push(t)}else{v+=m*b,y=t;let e=new c(Math.round(v),y);s[s.length-1].x===e.x&&s[s.length-1].y===e.y||s.push(e)}}let b=new c(u,d);s[s.length-1].x===b.x&&s[s.length-1].y===b.y||s.push(b)}return s}function Lc(e,t,n){if(t.length===0)throw Error(`Subdivision vertex ring is empty.`);let r=0,i=e[2*t[0]];for(let n=1;n<t.length;n++){let a=e[2*t[n]];a<i&&(i=a,r=n)}let a=t.length,o=r,s=(o+1)%a;for(;;){let r=o-1>=0?o-1:a-1,i=(s+1)%a,c=e[2*t[r]],l=e[2*t[i]],u=e[2*t[o]],d=e[2*t[o]+1],f=e[2*t[s]+1],p=!1;if(c<l)p=!0;else if(c>l)p=!1;else{let n=f-d,a=-(e[2*t[s]]-u),o=d<f?1:-1;((c-u)*n+(e[2*t[r]+1]-d)*a)*o>((l-u)*n+(e[2*t[i]+1]-d)*a)*o&&(p=!0)}if(p){let e=t[r],i=t[o],c=t[s];e!==i&&e!==c&&i!==c&&n.push(c,i,e),o--,o<0&&(o=a-1)}else{let e=t[i],r=t[o],c=t[s];e!==r&&e!==c&&r!==c&&n.push(c,r,e),s++,s>=a&&(s=0)}if(r===i)break}}function Rc(e,t,n,r,i,a,o,s,c){let l=i.length/2,u=o&&s&&c;if(l<Vo.MAX_VERTEX_ARRAY_LENGTH){let d=t.prepareSegment(l,n,r),f=d.vertexLength;for(let e=0;e<a.length;e+=3)r.emplaceBack(f+a[e],f+a[e+1],f+a[e+2]);let p,m;d.vertexLength+=l,d.primitiveLength+=a.length/3,u&&(m=o.prepareSegment(l,n,s),p=m.vertexLength,m.vertexLength+=l);for(let t=0;t<i.length;t+=2)e(i[t],i[t+1]);if(u)for(let e=0;e<c.length;e++){let t=c[e];for(let e=1;e<t.length;e+=2)s.emplaceBack(p+t[e-1],p+t[e]);m.primitiveLength+=t.length/2}}else (function(e,t,n,r,i,a){let o=[];for(let e=0;e<r.length/2;e++)o.push(-1);let s={count:0},c=0,l=e.getOrCreateLatestSegment(t,n),u=l.vertexLength;for(let d=2;d<i.length;d+=3){let f=i[d-2],p=i[d-1],m=i[d],h=o[f]<c,g=o[p]<c,_=o[m]<c;l.vertexLength+(+!!h+ +!!g+ +!!_)>Vo.MAX_VERTEX_ARRAY_LENGTH&&(l=e.createNewSegment(t,n),c=s.count,h=!0,g=!0,_=!0,u=0);let v=zc(o,r,a,s,f,h,l),y=zc(o,r,a,s,p,g,l),b=zc(o,r,a,s,m,_,l);n.emplaceBack(u+v-c,u+y-c,u+b-c),l.primitiveLength++}})(t,n,r,i,a,e),u&&function(e,t,n,r,i,a){let o=[];for(let e=0;e<r.length/2;e++)o.push(-1);let s={count:0},c=0,l=e.getOrCreateLatestSegment(t,n),u=l.vertexLength;for(let d=0;d<i.length;d++){let f=i[d];for(let p=1;p<i[d].length;p+=2){let i=f[p-1],d=f[p],m=o[i]<c,h=o[d]<c;l.vertexLength+(+!!m+ +!!h)>Vo.MAX_VERTEX_ARRAY_LENGTH&&(l=e.createNewSegment(t,n),c=s.count,m=!0,h=!0,u=0);let g=zc(o,r,a,s,i,m,l),_=zc(o,r,a,s,d,h,l);n.emplaceBack(u+g-c,u+_-c),l.primitiveLength++}}}(o,n,s,i,c,e),t.forceNewSegmentOnNextPrepare(),o?.forceNewSegmentOnNextPrepare()}function zc(e,t,n,r,i,a,o){if(a){let a=r.count;return n(t[2*i],t[2*i+1]),e[i]=r.count,r.count++,o.vertexLength++,a}return e[i]}class Bc{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Oo,this.indexArray=new Ro,this.indexArray2=new zo,this.programConfigurations=new ps(e.layers,e.zoom),this.segments=new Vo,this.segments2=new Vo,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,n){this.hasPattern=rc(`fill`,this.layers,t);let r=this.layers[0].layout.get(`fill-sort-key`),i=!r.isConstant(),a=[];for(let{feature:o,id:s,index:c,sourceLayerIndex:l}of e){let e=this.layers[0]._featureFilter.needGeometry,u=ys(o,e);if(!this.layers[0]._featureFilter.filter(new wa(this.zoom),u,n))continue;let d=i?r.evaluate(u,{},n,t.availableImages):void 0,f={id:s,properties:o.properties,type:o.type,sourceLayerIndex:l,index:c,geometry:e?u.geometry:vs(o),patterns:{},sortKey:d};a.push(f)}i&&a.sort(((e,t)=>
12e.sortKey-t.sortKey));for(let r of a){let{geometry:i,index:a,sourceLayerIndex:o}=r;if(this.hasPattern){let e=ic(`fill`,this.layers,r,this.zoom,t);this.patternFeatures.push(e)}else this.addFeature(r,i,a,n,{},t.subdivisionGranularity);t.featureIndex.insert(e[a].feature,i,a,o,this.index)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,n)}addFeatures(e,t,n){for(let r of this.patternFeatures)this.addFeature(r,r.geometry,r.index,t,n,e.subdivisionGranularity)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,nc),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.indexBuffer2=e.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(e,t,n,r,i,a){for(let e of tr(t,500)){let t=Fc(e,r,a.fill.getGranularityForZoomLevel(r.z)),n=this.layoutVertexArray;Rc(((e,t)=>{n.emplaceBack(e,t)}),this.segments,this.layoutVertexArray,this.indexArray,t.verticesFlattened,t.indicesTriangles,this.segments2,this.indexArray2,t.indicesLineList)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,i,r)}}let Vc,Hc;X(`FillBucket`,Bc,{omit:[`layers`,`patternFeatures`]});var Uc={get paint(){return Hc||=new Ia({"fill-antialias":new Q(L.paint_fill[`fill-antialias`]),"fill-opacity":new $(L.paint_fill[`fill-opacity`]),"fill-color":new $(L.paint_fill[`fill-color`]),"fill-outline-color":new $(L.paint_fill[`fill-outline-color`]),"fill-translate":new Q(L.paint_fill[`fill-translate`]),"fill-translate-anchor":new Q(L.paint_fill[`fill-translate-anchor`]),"fill-pattern":new Na(L.paint_fill[`fill-pattern`])})},get layout(){return Vc||=new Ia({"fill-sort-key":new $(L.layout_fill[`fill-sort-key`])})}};class Wc extends Ra{constructor(e){super(e,Uc)}recalculate(e,t){super.recalculate(e,t);let n=this.paint._values[`fill-outline-color`];n.value.kind===`constant`&&n.value.value===void 0&&(this.paint._values[`fill-outline-color`]=this.paint._values[`fill-color`])}createBucket(e){return new Bc(e)}queryRadius(){return Fs(this.paint.get(`fill-translate`))}queryIntersectsFeature({queryGeometry:e,geometry:t,transform:n,pixelsToTileUnits:r}){return Ts(Is(e,this.paint.get(`fill-translate`),this.paint.get(`fill-translate-anchor`),-n.bearingInRadians,r),t)}isTileClipped(){return!0}}let Gc=Ha([{name:`a_pos`,components:2,type:`Int16`},{name:`a_normal_ed`,components:4,type:`Int16`}],4),Kc=Ha([{name:`a_centroid`,components:2,type:`Int16`}],4),{members:qc}=Gc;var Jc,Yc,Xc,Zc,Qc,$c,el,tl={};function nl(){if(Yc)return Jc;Yc=1;var e=a();function t(e,t,r,i,a){this.properties={},this.extent=r,this.type=0,this._pbf=e,this._geometry=-1,this._keys=i,this._values=a,e.readFields(n,this,t)}function n(e,t,n){e==1?t.id=n.readVarint():e==2?function(e,t){for(var n=e.readVarint()+e.pos;e.pos<n;){var r=t._keys[e.readVarint()],i=t._values[e.readVarint()];t.properties[r]=i}}(n,t):e==3?t.type=n.readVarint():e==4&&(t._geometry=n.pos)}function r(e){for(var t,n,r=0,i=0,a=e.length,o=a-1;i<a;o=i++)r+=((n=e[o]).x-(t=e[i]).x)*(t.y+n.y);return r}return Jc=t,t.types=[`Unknown`,`Point`,`LineString`,`Polygon`],t.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var n,r=t.readVarint()+t.pos,i=1,a=0,o=0,s=0,c=[];t.pos<r;){if(a<=0){var l=t.readVarint();i=7&l,a=l>>3}if(a--,i===1||i===2)o+=t.readSVarint(),s+=t.readSVarint(),i===1&&(n&&c.push(n),n=[]),n.push(new e(o,s));else{if(i!==7)throw Error(`unknown command `+i);n&&n.push(n[0].clone())}}return n&&c.push(n),c},t.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,n=1,r=0,i=0,a=0,o=1/0,s=-1/0,c=1/0,l=-1/0;e.pos<t;){if(r<=0){var u=e.readVarint();n=7&u,r=u>>3}if(r--,n===1||n===2)(i+=e.readSVarint())<o&&(o=i),i>s&&(s=i),(a+=e.readSVarint())<c&&(c=a),a>l&&(l=a);else if(n!==7)throw Error(`unknown command `+n)}return[o,c,s,l]},t.prototype.toGeoJSON=function(e,n,i){var a,o,s=this.extent*2**i,c=this.extent*e,l=this.extent*n,u=this.loadGeometry(),d=t.types[this.type];function f(e){for(var t=0;t<e.length;t++){var n=e[t];e[t]=[360*(n.x+c)/s-180,360/Math.PI*Math.atan(Math.exp((180-360*(n.y+l)/s)*M
12ath.PI/180))-90]}}switch(this.type){case 1:var p=[];for(a=0;a<u.length;a++)p[a]=u[a][0];f(u=p);break;case 2:for(a=0;a<u.length;a++)f(u[a]);break;case 3:for(u=function(e){var t=e.length;if(t<=1)return[e];for(var n,i,a=[],o=0;o<t;o++){var s=r(e[o]);s!==0&&(i===void 0&&(i=s<0),i===s<0?(n&&a.push(n),n=[e[o]]):n.push(e[o]))}return n&&a.push(n),a}(u),a=0;a<u.length;a++)for(o=0;o<u[a].length;o++)f(u[a][o])}u.length===1?u=u[0]:d=`Multi`+d;var m={type:`Feature`,geometry:{type:d,coordinates:u},properties:this.properties};return`id`in this&&(m.id=this.id),m},Jc}function rl(){if(Zc)return Xc;Zc=1;var e=nl();function t(e,t){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(n,this,t),this.length=this._features.length}function n(e,t,n){e===15?t.version=n.readVarint():e===1?t.name=n.readString():e===5?t.extent=n.readVarint():e===2?t._features.push(n.pos):e===3?t._keys.push(n.readString()):e===4&&t._values.push(function(e){for(var t=null,n=e.readVarint()+e.pos;e.pos<n;){var r=e.readVarint()>>3;t=r===1?e.readString():r===2?e.readFloat():r===3?e.readDouble():r===4?e.readVarint64():r===5?e.readVarint():r===6?e.readSVarint():r===7?e.readBoolean():null}return t}(n))}return Xc=t,t.prototype.feature=function(t){if(t<0||t>=this._features.length)throw Error(`feature index out of bounds`);this._pbf.pos=this._features[t];var n=this._pbf.readVarint()+this._pbf.pos;return new e(this._pbf,n,this.extent,this._keys,this._values)},Xc}function il(){return el||(el=1,tl.VectorTile=function(){if($c)return Qc;$c=1;var e=rl();function t(t,n,r){if(t===3){var i=new e(r,r.readVarint()+r.pos);i.length&&(n[i.name]=i)}}return Qc=function(e,n){this.layers=e.readFields(t,{},n)},Qc}(),tl.VectorTileFeature=nl(),tl.VectorTileLayer=rl()),tl}var al=n(il());let ol=al.VectorTileFeature.types,sl=2**13;function cl(e,t,n,r,i,a,o,s){e.emplaceBack(t,n,2*Math.floor(r*sl)+o,i*sl*2,a*sl*2,Math.round(s))}class ll{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new ko,this.centroidVertexArray=new Eo,this.indexArray=new Ro,this.programConfigurations=new ps(e.layers,e.zoom),this.segments=new Vo,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,n){this.features=[],this.hasPattern=rc(`fill-extrusion`,this.layers,t);for(let{feature:r,id:i,index:a,sourceLayerIndex:o}of e){let e=this.layers[0]._featureFilter.needGeometry,s=ys(r,e);if(!this.layers[0]._featureFilter.filter(new wa(this.zoom),s,n))continue;let c={id:i,sourceLayerIndex:o,index:a,geometry:e?s.geometry:vs(r),properties:r.properties,type:r.type,patterns:{}};this.hasPattern?this.features.push(ic(`fill-extrusion`,this.layers,c,this.zoom,t)):this.addFeature(c,c.geometry,a,n,{},t.subdivisionGranularity),t.featureIndex.insert(r,c.geometry,a,o,this.index,!0)}}addFeatures(e,t,n){for(let r of this.features){let{geometry:i}=r;this.addFeature(r,i,r.index,t,n,e.subdivisionGranularity)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,n)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,qc),this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,Kc.members,!0),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(e,t,n,r,i,a){for(let n of tr(t,500)){let t={x:0,y:0,sampleCount:0},i=this.layoutVertexArray.length;this.processPolygon(t,r,e,n,a);let o=this.layoutVertexArray.length-i,s=Math.floor(t.x/t.sampleCount),c=Math.floor(t.y/t.sampleC
12ount);for(let e=0;e<o;e++)this.centroidVertexArray.emplaceBack(s,c)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,i,r)}processPolygon(e,t,n,r,i){if(r.length<1||fl(r[0]))return;for(let t of r)t.length!==0&&ul(e,t);let a={segment:this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray)},o=i.fill.getGranularityForZoomLevel(t.z),s=ol[n.type]===`Polygon`;for(let e of r){if(e.length===0||fl(e))continue;let t=Ic(e,o,s);this._generateSideFaces(t,a)}if(!s)return;let c=Fc(r,t,o,!1),l=this.layoutVertexArray;Rc(((e,t)=>{cl(l,e,t,0,0,1,1,0)}),this.segments,this.layoutVertexArray,this.indexArray,c.verticesFlattened,c.indicesTriangles)}_generateSideFaces(e,t){let n=0;for(let r=1;r<e.length;r++){let i=e[r],a=e[r-1];if(dl(i,a))continue;t.segment.vertexLength+4>Vo.MAX_VERTEX_ARRAY_LENGTH&&(t.segment=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let o=i.sub(a)._perp()._unit(),s=a.dist(i);n+s>32768&&(n=0),cl(this.layoutVertexArray,i.x,i.y,o.x,o.y,0,0,n),cl(this.layoutVertexArray,i.x,i.y,o.x,o.y,0,1,n),n+=s,cl(this.layoutVertexArray,a.x,a.y,o.x,o.y,0,0,n),cl(this.layoutVertexArray,a.x,a.y,o.x,o.y,0,1,n);let c=t.segment.vertexLength;this.indexArray.emplaceBack(c,c+2,c+1),this.indexArray.emplaceBack(c+1,c+2,c+3),t.segment.vertexLength+=4,t.segment.primitiveLength+=2}}}function ul(e,t){for(let n=0;n<t.length;n++){let r=t[n];n===t.length-1&&t[0].x===r.x&&t[0].y===r.y||(e.x+=r.x,e.y+=r.y,e.sampleC
12ount++)}}function dl(e,t){return e.x===t.x&&(e.x<0||e.x>D)||e.y===t.y&&(e.y<0||e.y>D)}function fl(e){return e.every((e=>e.x<0))||e.every((e=>e.x>D))||e.every((e=>e.y<0))||e.every((e=>e.y>D))}let pl;X(`FillExtrusionBucket`,ll,{omit:[`layers`,`features`]});var ml={get paint(){return pl||=new Ia({"fill-extrusion-opacity":new Q(L[`paint_fill-extrusion`][`fill-extrusion-opacity`]),"fill-extrusion-color":new $(L[`paint_fill-extrusion`][`fill-extrusion-color`]),"fill-extrusion-translate":new Q(L[`paint_fill-extrusion`][`fill-extrusion-translate`]),"fill-extrusion-translate-anchor":new Q(L[`paint_fill-extrusion`][`fill-extrusion-translate-anchor`]),"fill-extrusion-pattern":new Na(L[`paint_fill-extrusion`][`fill-extrusion-pattern`]),"fill-extrusion-height":new $(L[`paint_fill-extrusion`][`fill-extrusion-height`]),"fill-extrusion-base":new $(L[`paint_fill-extrusion`][`fill-extrusion-base`]),"fill-extrusion-vertical-gradient":new Q(L[`paint_fill-extrusion`][`fill-extrusion-vertical-gradient`])})}};class hl extends Ra{constructor(e){super(e,ml)}createBucket(e){return new ll(e)}queryRadius(){return Fs(this.paint.get(`fill-extrusion-translate`))}is3D(){return!0}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,pixelPosMatrix:o}){let s=Is(e,this.paint.get(`fill-extrusion-translate`),this.paint.get(`fill-extrusion-translate-anchor`),-i.bearingInRadians,a),l=this.paint.get(`fill-extrusion-height`).evaluate(t,n),u=this.paint.get(`fill-extrusion-base`).evaluate(t,n),d=function(e,t,n){let r=[];for(let n of e){let e=[n.x,n.y,0,1];C(e,e,t),r.push(new c(e[0]/e[3],e[1]/e[3]))}return r}(s,o),f=function(e,t,n,r){let i=[],a=[],o=r[8]*t,s=r[9]*t,l=r[10]*t,u=r[11]*t,d=r[8]*n,f=r[9]*n,p=r[10]*n,m=r[11]*n;for(let t of e){let e=[],n=[];for(let i of t){let t=i.x,a=i.y,h=r[0]*t+r[4]*a+r[12],g=r[1]*t+r[5]*a+r[13],_=r[2]*t+r[6]*a+r[14],v=r[3]*t+r[7]*a+r[15],y=_+l,b=v+u,x=h+d,S=g+f,C=_+p,w=v+m,T=new c((h+o)/b,(g+s)/b);T.z=y/b,e.push(T);let E=new c(x/w,S/w);E.z=C/w,n.push(E)}i.push(e),a.push(n)}return[i,a]}(r,u,l,o);return function(e,t,n){let r=1/0;Ts(n,t)&&(r=_l(n,t[0]));for(let i=0;i<t.length;i++){let a=t[i],o=e[i];for(let e=0;e<a.length-1;e++){let t=a[e],i=[t,a[e+1],o[e+1],o[e],t];Cs(n,i)&&(r=Math.min(r,_l(n,i)))}}return r!==1/0&&r}(f[0],f[1],d)}}function gl(e,t){return e.x*t.x+e.y*t.y}function _l(e,t){if(e.length===1){let n=0,r=t[n++],i;for(;!i||r.equals(i);)if(i=t[n++],!i)return 1/0;for(;n<t.length;n++){let a=t[n],o=e[0],s=i.sub(r),c=a.sub(r),l=o.sub(r),u=gl(s,s),d=gl(s,c),f=gl(c,c),p=gl(l,s),m=gl(l,c),h=u*f-d*d,g=(f*p-d*m)/h,_=(u*m-d*p)/h,v=r.z*(1-g-_)+i.z*g+a.z*_;if(isFinite(v))return v}return 1/0}{let e=1/0;for(let n of t)e=Math.min(e,n.z);return e}}let{members:vl}=Ha([{name:`a_pos_normal`,components:2,type:`Int16`},{name:`a_data`,components:4,type:`Uint8`}],4),{members:yl}=Ha([{name:`a_uv_x`,components:1,type:`Float32`},{name:`a_split_index`,components:1,type:`Float32`}]),bl=al.VectorTileFeature.types,xl=Math.cos(Math.PI/180*37.5),Sl=2**14/.5;class Cl{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((e=>{this.gradients[e.id]={}})),this.layoutVertexArray=new Ao,this.layoutVertexArray2=new jo,this.indexArray=new Ro,this.programConfigurations=new ps(e.layers,e.zoom),this.segments=new Vo,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,n){this.hasPattern=rc(`line`,this.layers,t);let r=this.layers[0].layout.get(`line-sort-key`),i=!r.isConstant(),a=[];for(let{feature:t,id:o,index:s,sourceLayerIndex:c}of e){let e=this.layers[0]._featureFilter.needGeometry,l=ys(t,e);if(!this.layers[0]._featureFilter.filter(new wa(this.zoom),l,n))continue;let u=i?r.evaluate(l,{},n):void 0,d={id:o,properties:t.properties,type:t.type,sourceLayerIndex:c,index:s,geometry:e?l.geometry:vs(t),patterns:{},sortKey:u};a.push(d)}i&&a.sort(((e,t)=>
12e.sortKey-t.sortKey));for(let r of a){let{geometry:i,index:a,sourceLayerIndex:o}=r;if(this.hasPattern){let e=ic(`line`,this.layers,r,this.zoom,t);this.patternFeatures.push(e)}else this.addFeature(r,i,a,n,{},t.subdivisionGranularity);t.featureIndex.insert(e[a].feature,i,a,o,this.index)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,n)}addFeatures(e,t,n){for(let r of this.patternFeatures)this.addFeature(r,r.geometry,r.index,t,n,e.subdivisionGranularity)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=e.createVertexBuffer(this.layoutVertexArray2,yl)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,vl),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(e){if(e.properties&&Object.prototype.hasOwnProperty.call(e.properties,`mapbox_clip_start`)&&Object.prototype.hasOwnProperty.call(e.properties,`mapbox_clip_end`))return{start:+e.properties.mapbox_clip_start,end:+e.properties.mapbox_clip_end}}addFeature(e,t,n,r,i,a){let o=this.layers[0].layout,s=o.get(`line-join`).evaluate(e,{}),c=o.get(`line-cap`),l=o.get(`line-miter-limit`),u=o.get(`line-round-limit`);this.lineClips=this.lineFeatureClips(e);for(let n of t)this.addLine(n,e,s,c,l,u,r,a);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,i,r)}addLine(e,t,n,r,i,a,o,s){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,e=Ic(e,o?s.line.getGranularityForZoomLevel(o.z):1),this.lineClips){this.lineClipsArray.push(this.lineClips);for(let t=0;t<e.length-1;t++)this.totalDistance+=e[t].dist(e[t+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}let c=bl[t.type]===`Polygon`,l=e.length;for(;l>=2&&e[l-1].equals(e[l-2]);)l--;let u=0;for(;u<l-1&&e[u].equals(e[u+1]);)u++;if(l<(c?3:2))return;n===`bevel`&&(i=1.05);let d=this.overscaling<=16?15*D/(512*this.overscaling):0,f=this.segments.prepareSegment(10*l,this.layoutVertexArray,this.indexArray),p,m,h,g,_;this.e1=this.e2=-1,c&&(p=e[l-2],_=e[u].sub(p)._unit()._perp());for(let t=u;t<l;t++){if(h=t===l-1?c?e[u+1]:void 0:e[t+1],h&&e[t].equals(h))continue;_&&(g=_),p&&(m=p),p=e[t],_=h?h.sub(p)._unit()._perp():g,g||=_;let o=g.add(_);o.x===0&&o.y===0||o._unit();let s=g.x*_.x+g.y*_.y,v=o.x*_.x+o.y*_.y,y=v===0?1/0:1/v,b=2*Math.sqrt(2-2*v),x=v<xl&&m&&h,S=g.x*_.y-g.y*_.x>0;if(x&&t>u){let e=p.dist(m);if(e>2*d){let t=p.sub(p.sub(m)._mult(d/e)._round());this.updateDistance(m,t),this.addCurrentVertex(t,g,0,0,f),m=t}}let C=m&&h,w=C?n:c?`butt`:r;if(C&&w===`round`&&(y<a?w=`miter`:y<=2&&(w=`fakeround`)),w===`miter`&&y>i&&(w=`bevel`),w===`bevel`&&(y>2&&(w=`flipbevel`),y<i&&(w=`miter`)),m&&this.updateDistance(m,p),w===`miter`)o._mult(y),this.addCurrentVertex(p,o,0,0,f);else if(w===`flipbevel`){if(y>100)o=_.mult(-1);else{let e=y*g.add(_).mag()/g.sub(_).mag();o._perp()._mult(e*(S?-1:1))}this.addCurrentVertex(p,o,0,0,f),this.addCurrentVertex(p,o.mult(-1),0,0,f)}else if(w===`bevel`||w===`fakeround`){let e=-Math.sqrt(y*y-1),t=S?e:0,n=S?0:e;if(m&&this.addCurrentVertex(p,g,t,n,f),w===`fakeround`){let e=Math.round(180*b/Math.PI/20);for(let t=1;t<e;t++){let n=t/e;if(n!==.5){let e=n-.5;n+=n*e*(n-1)*((1.0904+s*(s*(3.55645-1.43519*s)-3.2452))*e*e+(.848013+s*(.215638*s-1.06021)))}let r=_.sub(g)._mult(n)._add(g)._unit()._mult(S?-1:1);this.addHalfVertex(p,r.x,r.y,!1,S,0,f)}}h&&this.addCurrentVertex(p,_,-t,-n,f)}else if(w===`butt`)this.addCurrentVertex(p,o,0,0,f);else if(w===`square`){let e=m?1:-1;this.addCurrentVertex(p,o,e,e,f)}else w===`round`&&(m&&(this.addCurrentVertex(p,g,0,0,f),this.addCurrentVertex(p,g,1,1,f,!0)),h&&(this.addCurrentVertex(p,_,-1,-1,f,!0),this.addCurrentVertex(p,_,0,0,f)));if(x&&t<l-1){let e=p.dist(h);if(e>2*d){let t=p.add(h.sub(p)._mult(d/e)._round());this.updateDistance(p,t),this.addCurrentVertex(t,_,0,0,f),p=t}}}}addCurrentVertex(e,t,n,r,i,a=!1){let o=t.y*r-t.x,s=-t.y-t.x*r;this.addHalfVertex(e,t.x+t.y*n,t.y-t.x*n,a,!1,n,i),this.addHalfVertex(e,o,s,a,!0,-r,i),this.distance>Sl/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(e,t,n,r,i,a))}addHalfVertex({x:e,y:t},n,r,i,a,o,s){let c=.5*(this.lineClips?this.scaledDistance*(Sl-1):this.scaledDistance);
12this.layoutVertexArray.emplaceBack((e<<1)+ +!!i,(t<<1)+ +!!a,Math.round(63*n)+128,Math.round(63*r)+128,1+(o===0?0:o<0?-1:1)|(63&c)<<2,c>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let l=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,l,this.e2),s.primitiveLength++),a?this.e2=l:this.e1=l}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(e,t){this.distance+=e.dist(t),this.updateScaledDistance()}}let wl,Tl;X(`LineBucket`,Cl,{omit:[`layers`,`patternFeatures`]});var El={get paint(){return Tl||=new Ia({"line-opacity":new $(L.paint_line[`line-opacity`]),"line-color":new $(L.paint_line[`line-color`]),"line-translate":new Q(L.paint_line[`line-translate`]),"line-translate-anchor":new Q(L.paint_line[`line-translate-anchor`]),"line-width":new $(L.paint_line[`line-width`]),"line-gap-width":new $(L.paint_line[`line-gap-width`]),"line-offset":new $(L.paint_line[`line-offset`]),"line-blur":new $(L.paint_line[`line-blur`]),"line-dasharray":new Pa(L.paint_line[`line-dasharray`]),"line-pattern":new Na(L.paint_line[`line-pattern`]),"line-gradient":new Fa(L.paint_line[`line-gradient`])})},get layout(){return wl||=new Ia({"line-cap":new Q(L.layout_line[`line-cap`]),"line-join":new $(L.layout_line[`line-join`]),"line-miter-limit":new Q(L.layout_line[`line-miter-limit`]),"line-round-limit":new Q(L.layout_line[`line-round-limit`]),"line-sort-key":new $(L.layout_line[`line-sort-key`])})}};class Dl extends ${possiblyEvaluate(e,t){return t=new wa(Math.floor(t.zoom),{now:t.now,fadeDuration:t.fadeDuration,zoomHistory:t.zoomHistory,transition:t.transition}),super.possiblyEvaluate(e,t)}evaluate(e,t,n,r){return t=M({},t,{zoom:Math.floor(t.zoom)}),super.evaluate(e,t,n,r)}}let Ol;class kl extends Ra{constructor(e){super(e,El),this.gradientVersion=0,Ol||(Ol=new Dl(El.paint.properties[`line-width`].specification),Ol.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(e){if(e===`line-gradient`){let e=this.gradientExpression();this.stepInterpolant=!!function(e){return e._styleExpression!==void 0}(e)&&e._styleExpression.expression instanceof ln,this.gradientVersion=(this.gradientVersion+1)%(2**53-1)}}gradientExpression(){return this._transitionablePaint._values[`line-gradient`].value.expression}recalculate(e,t){super.recalculate(e,t),this.paint._values[`line-floorwidth`]=Ol.possiblyEvaluate(this._transitioningPaint._values[`line-width`].value,e)}createBucket(e){return new Cl(e)}queryRadius(e){let t=e,n=Al(Ps(`line-width`,this,t),Ps(`line-gap-width`,this,t)),r=Ps(`line-offset`,this,t);return n/2+Math.abs(r)+Fs(this.paint.get(`line-translate`))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a}){let o=Is(e,this.paint.get(`line-translate`),this.paint.get(`line-translate-anchor`),-i.bearingInRadians,a),s=a/2*Al(this.paint.get(`line-width`).evaluate(t,n),this.paint.get(`line-gap-width`).evaluate(t,n)),l=this.paint.get(`line-offset`).evaluate(t,n);return l&&(r=function(e,t){let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=[];for(let e=0;e<i.length;e++){let n=i[e-1],r=i[e],o=i[e+1],s=e===0?new c(0,0):r.sub(n)._unit()._perp(),l=e===i.length-1?new c(0,0):o.sub(r)._unit()._perp(),u=s._add(l)._unit(),d=u.x*l.x+u.y*l.y;d!==0&&u._mult(1/d),a.push(u._mult(t)._add(r))}n.push(a)}return n}(r,l*a)),function(e,t,n){for(let r=0;r<t.length;r++){let i=t[r];if(e.length>=3){for(let t=0;t<i.length;t++)if(Ms(e,i[t]))return!0}if(Es(e,i,n))return!0}return!1}(o,r,s)}isTileClipped(){return!0}}function Al(e,t){return t>0?t+2*e:e}let jl=Ha([{name:`a_pos_offset`,components:4,type:`Int16`},{name:`a_data`,components:4,type:`Uint16`},{name:`a_pixeloffset`,components:4,type:`Int16`}],4),Ml=Ha([{name:`a_projected_pos`,components:3,type:`Float32`}],4);Ha([{name:`a_fade_opacity`,components:1,type:`Uint32`}],4);let Nl=Ha([{name:`a_placed`,components:2,type:`Uint8`},{name:`a_shift`,components:2,type:`Float32`},{name:`a_box_real`,components:2,type:`Int16`}]);Ha([{type:`Int16`,name:`anchorPointX`},{type:`Int16`,name:`anchorPointY`},{type:`Int16`,name:`x1`},{type:`Int16`,name:`y1`},{type:`Int16`,name:`x2`},{type:`Int16`,name:`y2`},{type:`Uint32`,name:`featureIndex`},{type:`Uint16`,name:`sourceLayerIndex`},{type:`Uint16`,name:`bucketIndex`}]);let Pl=Ha([{name:`a_pos`,components:2,type:`Int16`},{name:`a_anchor_pos`,components:2,type:`Int16`},{name:`a_extrude`,components:2,type:`Int16`}],4),Fl=Ha([{name:`a_pos`,components:2,type:`Float32`},{name:`a_radius`,components:1,type:`Float32`},{name:`a_flags`,components:2,type:`Int16`}],4);function Il(e,t,n){return e.sections.forEach((e=>{e.text=function(e,t,n){let r=t.layout.get(`text-transform`).evaluate(n,{});return r===`uppercase`?e=e.toLocaleUpperCase():r===`lowercase`&&(e=e.toLocaleLowerCase()),Ca.applyArabicShaping&&(e=Ca.applyArabicShaping(e)),e}(e.text,t,n)})),e}Ha([{name:`triangle`,components:3,type:`Uint16`}]),Ha([{type:`Int16`,name:`anchorX`},{type:`Int16`,name:`anchorY`},{type:`Uint16`,name:`glyphStartIndex`},{type:`Uint16`,name:`numGlyphs`},{type:`Uint32`,name:`vertexStartIndex`},{type:`Uint32`,name:`lineStartIndex`},{type:`Uint32`,name:`lineLength`},{type:`Uint16`,name:`segment`},{type:`Uint16`,name:`lowerSize`},{type:`Uint16`,name:`upperSize`},{type:`Float32`,name:`lineOffsetX`},{type:`Float32`,name:`lineOffsetY`},{type:`Uint8`,name:`writingMode`},{type:`Uint8`,name:`placedOrientation`},{type:`Uint8`,name:`hidden`},{type:`Uint32`,name:`crossTileID`},{type:`Int16`,name:`associatedIconIndex`}]),Ha([{type:`Int16`,name:`anchorX`},{type:`Int16`,name:`anchorY`},{type:`Int16`,name:`rightJustifiedTextSymbolIndex`},{type:`Int16`,name:`centerJustifiedTextSymbolIndex`},{type:`Int16`,name:`leftJustifiedTextSymbolIndex`},{type:`Int16`,name:`verticalPlacedTextSymbolIndex`},{type:`Int16`,name:`placedIconSymbolIndex`},{type:`Int16`,name:`verticalPlacedIconSymbolIndex`},{type:`Uint16`,name:`key`},{type:`Uint16`,name:`textBoxStartIndex`},{type:`Uint16`,name:`textBoxEndIndex`},{type:`Uint16`,name:`verticalTextBoxStartIndex`},{type:`Uint16`,name:`verticalTextBoxEndIndex`},{type:`Uint16`,name:`iconBoxStartIndex`},{type:`Uint16`,name:`iconBoxEndIndex`},{type:`Uint16`,name:`verticalIconBoxStartIndex`},{type:`Uint16`,name:`verticalIconBoxEndIndex`},{type:`Uint16`,name:`featureIndex`},{type:`Uint16`,name:`numHorizontalGlyphVertices`},{type:`Uint16`,name:`numVerticalGlyphVertices`},{type:`Uint16`,name:`numIconVertices`},{type:`Uint16`,name:`numVerticalIconVertices`},{type:`Uint16`,name:`useRuntimeCollisionCircles`},{type:`Uint32`,name:`crossTileID`},{type:`Float32`,name:`textBoxScale`},{type:`Float32`,name:`collisionCircleDiameter`},{type:`Uint16`,name:`textAnchorOffsetStartIndex`},{type:`Uint16`,name:`textAnchorOffsetEndIndex`}]),Ha([{type:`Float32`,name:`offsetX`}]),Ha([{type:`Int16`,name:`x`},{type:`Int16`,name:`y`},{type:`Int16`,name:`tileUnitDistanceFromAnchor`}]),Ha([{type:`Uint16`,name:`textAnchor`},{type:`Float32`,components:2,name:`textOffset`}]);let Ll={"!":`︕`,"#":`#`,$:`$`,"%":`%`,"&":`&`,"(":`︵`,")":`︶`,"*":`*`,"+":`+`,",":`︐`,"-":`︲`,".":`・`,"/":`/`,":":`︓`,";":`︔`,"<":`︿`,"=":`=`,">":`﹀`,"?":`︖`,"@":`@`,"[":`﹇`,"\\":`\`,"]":`﹈`,"^":`^`,_:`︳`,"`":```,"{":`︷`,"|":`―`,"}":`︸`,"~":`~`,"¢":`¢`,"£":`£`,"¥":`¥`,"¦":`¦`,"¬":`¬`,"¯":` ̄`,"–":`︲`,"—":`︱`,"‘":`﹃`,"’":`﹄`,"“":`﹁`,"”":`﹂`,"…":`︙`,"‧":`・`,"₩":`₩`,"、":`︑`,"。":`︒`,"〈":`︿`,"〉":`﹀`,"《":`︽`,"》":`︾`,"「":`﹁`,"」":`﹂`,"『":`﹃`,"』":`﹄`,"【":`︻`,"】":`︼`,"〔":`︹`,"〕":`︺`,"〖":`︗`,"〗":`︘`,"!":`︕`,"(":`︵`,")":`︶`,",":`︐`,"-":`︲`,".":`・`,":":`︓`,";":`︔`,"<":`︿`,">":`﹀`,"?":`︖`,"[":`﹇`,"]":`﹈`,"_":`︳`,"{":`︷`,"|":`―`,"}":`︸`,"⦅":`︵`,"⦆":`︶`,"。":`︒`,"「":`﹁`,"」":`﹂`};var Rl,zl,Bl,Vl=24,Hl={};function Ul(){return Rl||(Rl=1,Hl.read=function(e,t,n,r,i){var a,o,s=8*i-r-1,c=(1<<s)-1,l=c>>1,u=-7,d=n?i-1:0,f=n?-1:1,p=e[t+d];for(d+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+e[t+d],d+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=r;u>0;o=256*o+e[t+d],d+=f,u-=8);if(a===0)a=1-l;else{if(a===c)return o?NaN:1/0*(p?-1:1);o+=2**r,a-=l}return(p?-1:1)*o*2**(a-r)},Hl.write=function(e,t,n,r,i,a){var o,s,c,l=8*a-i-1,u=(1<<l)-1,d=u>>
121,f=i===23?2**-24-2**-77:0,p=r?0:a-1,m=r?1:-1,h=+(t<0||t===0&&1/t<0);for(t=Math.abs(t),isNaN(t)||t===1/0?(s=+!!isNaN(t),o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=2**-o)<1&&(o--,c*=2),(t+=o+d>=1?f/c:f*2**(1-d))*c>=2&&(o++,c/=2),o+d>=u?(s=0,o=u):o+d>=1?(s=(t*c-1)*2**i,o+=d):(s=t*2**(d-1)*2**i,o=0));i>=8;e[n+p]=255&s,p+=m,s/=256,i-=8);for(o=o<<i|s,l+=i;l>0;e[n+p]=255&o,p+=m,o/=256,l-=8);e[n+p-m]|=128*h}),Hl}function Wl(){if(Bl)return zl;Bl=1,zl=t;var e=Ul();function t(e){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(e)?e:new Uint8Array(e||0),this.pos=0,this.type=0,this.length=this.buf.length}t.Varint=0,t.Fixed64=1,t.Bytes=2,t.Fixed32=5;var n=4294967296,r=1/n,i=typeof TextDecoder>`u`?null:new TextDecoder(`utf-8`);function a(e){return e.type===t.Bytes?e.readVarint()+e.pos:e.pos+1}function o(e,t,n){return n?4294967296*t+(e>>>0):4294967296*(t>>>0)+(e>>>0)}function s(e,t,n){var r=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));n.realloc(r);for(var i=n.pos-1;i>=e;i--)n.buf[i+r]=n.buf[i]}function c(e,t){for(var n=0;n<e.length;n++)t.writeVarint(e[n])}function l(e,t){for(var n=0;n<e.length;n++)t.writeSVarint(e[n])}function u(e,t){for(var n=0;n<e.length;n++)t.writeFloat(e[n])}function d(e,t){for(var n=0;n<e.length;n++)t.writeDouble(e[n])}function f(e,t){for(var n=0;n<e.length;n++)t.writeBoolean(e[n])}function p(e,t){for(var n=0;n<e.length;n++)t.writeFixed32(e[n])}function m(e,t){for(var n=0;n<e.length;n++)t.writeSFixed32(e[n])}function h(e,t){for(var n=0;n<e.length;n++)t.writeFixed64(e[n])}function g(e,t){for(var n=0;n<e.length;n++)t.writeSFixed64(e[n])}function _(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+16777216*e[t+3]}function v(e,t,n){e[n]=t,e[n+1]=t>>>8,e[n+2]=t>>>16,e[n+3]=t>>>24}function y(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}return t.prototype={destroy:function(){this.buf=null},readFields:function(e,t,n){for(n||=this.length;this.pos<n;){var r=this.readVarint(),i=r>>3,a=this.pos;this.type=7&r,e(i,t,this),this.pos===a&&this.skip(r)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=_(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=y(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=_(this.buf,this.pos)+_(this.buf,this.pos+4)*n;return this.pos+=8,e},readSFixed64:function(){var e=_(this.buf,this.pos)+y(this.buf,this.pos+4)*n;return this.pos+=8,e},readFloat:function(){var t=e.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=e.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(e){var t,n,r=this.buf;return t=127&(n=r[this.pos++]),n<128?t:(t|=(127&(n=r[this.pos++]))<<7,n<128?t:(t|=(127&(n=r[this.pos++]))<<14,n<128?t:(t|=(127&(n=r[this.pos++]))<<21,n<128?t:function(e,t,n){var r,i,a=n.buf;if(r=(112&(i=a[n.pos++]))>>4,i<128||(r|=(127&(i=a[n.pos++]))<<3,i<128)||(r|=(127&(i=a[n.pos++]))<<10,i<128)||(r|=(127&(i=a[n.pos++]))<<17,i<128)||(r|=(127&(i=a[n.pos++]))<<24,i<128)||(r|=(1&(i=a[n.pos++]))<<31,i<128))return o(e,r,t);throw Error(`Expected varint not more than 10 bytes`)}(t|=(15&(n=r[this.pos]))<<28,e,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var e=this.readVarint();return e%2==1?(e+1)/-2:e/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&i?function(e,t,n){return i.decode(e.subarray(t,n))}(this.buf,t,e):function(e,t,n){for(var r=``,i=t;i<n;){var a,o,s,c=e[i],l=null,u=c>239?4:c>223?3:c>191?2:1;if(i+u>n)break;u===1?c<128&&(l=c):u===2?(192&(a=e[i+1]))==128&&(l=(31&c)<<6|63&a)<=127&&(l=null):u===3?(o=e[i+2],(192&(a=e[i+1]))==128&&(192&o)==128&&((l=(15&c)<<12|(63&a)<<6|63&o)<=2047||l>=55296&&l<=57343)&&(l=null)):u===4&&(o=e[i+2],s=e[i+3],(192&(a=e[i+1]))==128&&(192&o)==128&&(192&s)==128&&((l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||l>=1114112)&&(l=null)),l===null?(l=65533,u=1):l>65535&&(l-=65536,r+=String.fromCharCode(l>>>10&1023|55296),l=56320|1023&l),r+=String.fromCharCode(l),i+=u}return r}(this.buf,t,e)},readBytes:function(){var e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t}
vendor: 5,573 bytes, line 12
12,readPackedVarint:function(e,n){if(this.type!==t.Bytes)return e.push(this.readVarint(n));var r=a(this);for(e||=[];this.pos<r;)e.push(this.readVarint(n));return e},readPackedSVarint:function(e){if(this.type!==t.Bytes)return e.push(this.readSVarint());var n=a(this);for(e||=[];this.pos<n;)e.push(this.readSVarint());return e},readPackedBoolean:function(e){if(this.type!==t.Bytes)return e.push(this.readBoolean());var n=a(this);for(e||=[];this.pos<n;)e.push(this.readBoolean());return e},readPackedFloat:function(e){if(this.type!==t.Bytes)return e.push(this.readFloat());var n=a(this);for(e||=[];this.pos<n;)e.push(this.readFloat());return e},readPackedDouble:function(e){if(this.type!==t.Bytes)return e.push(this.readDouble());var n=a(this);for(e||=[];this.pos<n;)e.push(this.readDouble());return e},readPackedFixed32:function(e){if(this.type!==t.Bytes)return e.push(this.readFixed32());var n=a(this);for(e||=[];this.pos<n;)e.push(this.readFixed32());return e},readPackedSFixed32:function(e){if(this.type!==t.Bytes)return e.push(this.readSFixed32());var n=a(this);for(e||=[];this.pos<n;)e.push(this.readSFixed32());return e},readPackedFixed64:function(e){if(this.type!==t.Bytes)return e.push(this.readFixed64());var n=a(this);for(e||=[];this.pos<n;)e.push(this.readFixed64());return e},readPackedSFixed64:function(e){if(this.type!==t.Bytes)return e.push(this.readSFixed64());var n=a(this);for(e||=[];this.pos<n;)e.push(this.readSFixed64());return e},skip:function(e){var n=7&e;if(n===t.Varint)for(;this.buf[this.pos++]>127;);else if(n===t.Bytes)this.pos=this.readVarint()+this.pos;else if(n===t.Fixed32)this.pos+=4;else{if(n!==t.Fixed64)throw Error(`Unimplemented type: `+n);this.pos+=8}},writeTag:function(e,t){this.writeVarint(e<<3|t)},realloc:function(e){for(var t=this.length||16;t<this.pos+e;)t*=2;if(t!==this.length){var n=new Uint8Array(t);n.set(this.buf),this.buf=n,this.length=t}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(e){this.realloc(4),v(this.buf,e,this.pos),this.pos+=4},writeSFixed32:function(e){this.realloc(4),v(this.buf,e,this.pos),this.pos+=4},writeFixed64:function(e){this.realloc(8),v(this.buf,-1&e,this.pos),v(this.buf,Math.floor(e*r),this.pos+4),this.pos+=8},writeSFixed64:function(e){this.realloc(8),v(this.buf,-1&e,this.pos),v(this.buf,Math.floor(e*r),this.pos+4),this.pos+=8},writeVarint:function(e){(e=+e||0)>268435455||e<0?function(e,t){var n,r;if(e>=0?(n=e%4294967296|0,r=e/4294967296|0):(r=~(-e/4294967296),4294967295^(n=~(-e%4294967296))?n=n+1|0:(n=0,r=r+1|0)),e>=0x10000000000000000||e<-0x10000000000000000)throw Error(`Given varint doesn't fit into 10 bytes`);t.realloc(10),function(e,t,n){n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,n.buf[n.pos]=127&(e>>>=7)}(n,0,t),function(e,t){var n=(7&e)<<4;t.buf[t.pos++]|=n|((e>>>=3)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e)))))}(r,t)}(e,this):(this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=e>>>7&127))))},writeSVarint:function(e){this.writeVarint(e<0?2*-e-1:2*e)},writeBoolean:function(e){this.writeVarint(!!e)},writeString:function(e){e=String(e),this.realloc(4*e.length),this.pos++;var t=this.pos;this.pos=function(e,t,n){for(var r,i,a=0;a<t.length;a++){if((r=t.charCodeAt(a))>55295&&r<57344){if(!i){r>56319||a+1===t.length?(e[n++]=239,e[n++]=191,e[n++]=189):i=r;continue}if(r<56320){e[n++]=239,e[n++]=191,e[n++]=189,i=r;continue}r=i-55296<<10|r-56320|65536,i=null}else i&&=(e[n++]=239,e[n++]=191,e[n++]=189,null);r<128?e[n++]=r:(r<2048?e[n++]=r>>6|192:(r<65536?e[n++]=r>>12|224:(e[n++]=r>>18|240,e[n++]=r>>12&63|128),e[n++]=r>>6&63|128),e[n++]=63&r|128)}return n}(this.buf,e,this.pos);var n=this.pos-t;n>=128&&s(t,n,this),this.pos=t-1,this.writeVarint(n),this.pos+=n},writeFloat:function(t){this.realloc(4),e.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),e.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(e){var t=e.length;this.writeVarint(t),this.realloc(t);for(var n=0;n<t;n++)this.buf[this.pos++]=e[n]},writeRawMessage:function(e,t){this.pos++;var n=this.pos;e(t,this);var r=this.pos-n;r>=128&&s(n,r,this),this.pos=n-1,this.writeVarint(r),this.pos+=r},writeMessage:function(e,n,r){this.writeTag(e,t.Bytes),this.writeRawMessage(n,r)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,c,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,l,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,f,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,u,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,d,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,p,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,m,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,h,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,g,t)},writeBytesField:function(e,n){this.writeTag(e,t.Bytes),this.writeBytes(n)},writeFixed32Field:function(e,n){this.writeTag(e,t.Fixed32),this.writeFixed32(n)},writeSFixed32Field:function(e,n){this.writeTag(e,t.Fixed32),this.writeSFixed32(n)},writeFixed64Field:function(e,n){this.writeTag(e,t.Fixed64),this.writeFixed64
12(n)},writeSFixed64Field:function(e,n){this.writeTag(e,t.Fixed64),this.writeSFixed64(n)},writeVarintField:function(e,n){this.writeTag(e,t.Varint),this.writeVarint(n)},writeSVarintField:function(e,n){this.writeTag(e,t.Varint),this.writeSVarint(n)},writeStringField:function(e,n){this.writeTag(e,t.Bytes),this.writeString(n)},writeFloatField:function(e,n){this.writeTag(e,t.Fixed32),this.writeFloat(n)},writeDoubleField:function(e,n){this.writeTag(e,t.Fixed64),this.writeDouble(n)},writeBooleanField:function(e,t){this.writeVarintField(e,!!t)}},zl}var Gl=n(Wl());function Kl(e,t,n){e===1&&n.readMessage(ql,t)}function ql(e,t,n){if(e===3){let{id:e,bitmap:r,width:i,height:a,left:o,top:s,advance:c}=n.readMessage(Jl,{});t.push({id:e,bitmap:new Js({width:i+6,height:a+6},r),metrics:{width:i,height:a,left:o,top:s,advance:c}})}}function Jl(e,t,n){e===1?t.id=n.readVarint():e===2?t.bitmap=n.readBytes():e===3?t.width=n.readVarint():e===4?t.height=n.readVarint():e===5?t.left=n.readSVarint():e===6?t.top=n.readSVarint():e===7&&(t.advance=n.readVarint())}function Yl(e){let t=0,n=0;for(let r of e)t+=r.w*r.h,n=Math.max(n,r.w);e.sort(((e,t)=>t.h-e.h));let r=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/.95)),n),h:1/0}],i=0,a=0;for(let t of e)for(let e=r.length-1;e>=0;e--){let n=r[e];if(!(t.w>n.w||t.h>n.h)){if(t.x=n.x,t.y=n.y,a=Math.max(a,t.y+t.h),i=Math.max(i,t.x+t.w),t.w===n.w&&t.h===n.h){let t=r.pop();e<r.length&&(r[e]=t)}else t.h===n.h?(n.x+=t.w,n.w-=t.w):t.w===n.w?(n.y+=t.h,n.h-=t.h):(r.push({x:n.x+t.w,y:n.y,w:n.w-t.w,h:t.h}),n.y+=t.h,n.h-=t.h);break}}return{w:i,h:a,fill:t/(i*a)||0}}class Xl{constructor(e,{pixelRatio:t,version:n,stretchX:r,stretchY:i,content:a,textFitWidth:o,textFitHeight:s}){this.paddedRect=e,this.pixelRatio=t,this.stretchX=r,this.stretchY=i,this.content=a,this.version=n,this.textFitWidth=o,this.textFitHeight=s}get tl(){return[this.paddedRect.x+1,this.paddedRect.y+1]}get br(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]}get tlbr(){return this.tl.concat(this.br)}get displaySize(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]}}class Zl{constructor(e,t){let n={},r={};this.haveRenderCallbacks=[];let i=[];this.addImages(e,n,i),this.addImages(t,r,i);let{w:a,h:o}=Yl(i),s=new Ys({width:a||1,height:o||1});for(let t in e){let r=e[t],i=n[t].paddedRect;Ys.copy(r.data,s,{x:0,y:0},{x:i.x+1,y:i.y+1},r.data)}for(let e in t){let n=t[e],i=r[e].paddedRect,a=i.x+1,o=i.y+1,c=n.data.width,l=n.data.height;Ys.copy(n.data,s,{x:0,y:0},{x:a,y:o},n.data),Ys.copy(n.data,s,{x:0,y:l-1},{x:a,y:o-1},{width:c,height:1}),Ys.copy(n.data,s,{x:0,y:0},{x:a,y:o+l},{width:c,height:1}),Ys.copy(n.data,s,{x:c-1,y:0},{x:a-1,y:o},{width:1,height:l}),Ys.copy(n.data,s,{x:0,y:0},{x:a+c,y:o},{width:1,height:l})}this.image=s,this.iconPositions=n,this.patternPositions=r}addImages(e,t,n){for(let r in e){let i=e[r],a={x:0,y:0,w:i.data.width+2,h:i.data.height+2};n.push(a),t[r]=new Xl(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(r)}}patchUpdatedImages(e,t){e.dispatchRenderCallbacks(this.haveRenderCallbacks);for(let n in e.updatedImages)this.patchUpdatedImage(this.iconPositions[n],e.getImage(n),t),this.patchUpdatedImage(this.patternPositions[n],e.getImage(n),t)}patchUpdatedImage(e,t,n){if(!e||!t||e.version===t.version)return;e.version=t.version;let[r,i]=e.tl;n.update(t.data,void 0,{x:r,y:i})}}var Ql;X(`ImagePosition`,Xl),X(`ImageAtlas`,Zl),e.al=void 0,(Ql=e.al||={})[Ql.none=0]=`none`,Ql[Ql.horizontal=1]=`horizontal`,Ql[Ql.vertical=2]=`vertical`,Ql[Ql.horizontalOnly=3]=`horizontalOnly`;class $l{constructor(){this.scale=1,this.fontStack=``,this.imageName=null,this.verticalAlign=`bottom`}static forText(e,t,n){let r=new $l;return r.scale=e||1,r.fontStack=t,r.verticalAlign=n||`bottom`,r}static forImage(e,t){let n=new $l;return n.imageName=e,n.verticalAlign=t||`bottom`,n}}class eu{constructor(){this.text=``,this.sectionIndex=[],this.sections=[],this.imageSectionID=null}static fromFeature(e,t){let n=new eu;for(let r=0;r<e.sections.length;r++){let i=e.sections[r];i.image?n.addImageSection(i):n.addTextSection(i,t)}return n}length(){return this.text.length}getSection(e){return this.sections[this.sectionIndex[e]]}getSectionIndex(e){return this.sectionIndex[e]}getCharCode(e){return this.text.charCodeAt(e)}verticalizePunctuation(){this.text=function(e){let t=``;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n+1)||null,i=e.charCodeAt(n-1)||null;t+=r&&va(r)&&!Ll[e[n+1]]||i&&va(i)&&!Ll[e[n-1]]||!Ll[e[n]]?e[n]:Ll[e[n]]}return t}(this.text)}trim(){let e=0;for(let t=0;t<this.text.length&&nu[this.text.charCodeAt(t)];t++)e++;let t=this.text.length;for(let n=this.text.length-1;n>=0&&n>=e&&nu[this.text.charCodeAt(n)];n--)t--;this.text=this.text.substring(e,t),this.sectionIndex=this.sectionIndex.slice(e,t)}substring(e,t){let n=new eu;return n.text=this.text.substring(e,t),n.sectionIndex=this.sectionIndex.slice(e,t),n.sections=this.sections,n}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((e,t)=>Math.max(e,this.sections[t].scale)),0)}getMaxImageSize(e){let t=0,n=0;for(let r=0;r<this.length();r++){let i=this.getSection(r);if(i.imageName){let r=e[i.imageName];if(!r)continue;let a=r.displaySize;t=Math.max(t,a[0]),n=Math.max(n,a[1])}}return{maxImageWidth:t,maxImageHeight:n}}addTextSection(e,t){this.text+=e.text,this.sections.push($l.forText(e.scale,e.fontStack||t,e.verticalAlign));let n=this.sections.length-1;for(let t=0;t<e.text.length;++t)this.sectionIndex.push(n)}addImageSection(e){let t=e.image?e.image.name:``;if(t.length===0)return void le(`Can't add FormattedSection with an empty image.`);let n=this.getNextImageSectionCharCode();n?(this.text+=String.fromCharCode(n),this.sections.push($l.forImage(t,e.verticalAlign)),this.sectionIndex.push(this.sections.length-1)):le(`Reached maximum number of images 6401`)}getNextImageSectionCharCode(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function tu(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){let g=eu.fromFeature(t,a),_;f===e.al.vertical&&g.verticalizePunctuation();let{processBidirectionalText:v,processStyledBidirectionalText:y}=Ca;if(v&&g.sections.length===1){_=[];let e=v(g.toString(),uu(g,u,o,n,i,m));for(let t of e){let e=new eu;e.text=t,e.sections=g.sections;for(let n=0;n<t.length;n++)e.sectionIndex.push(0);_.push(e)}}else if(y){_=[];let e=y(g.text,g.sectionIndex,uu(g,u,o,n,i,m));for(let t of e){let e=new eu;e.text=t[0],e.sectionIndex=t[1],e.sections=g.sections,_.push(e)}}else _=function(e,t){let n=[],r=e.text,i=0;for(let r of t)n.push(e.substring(i,r)),i=r;return i<r.length&&n.push(e.substring(i,r.length)),n}(g,uu(g,u,o,n,i,m));let b=[],x={positionedLines:b,text:g.toString(),top:d[1],bottom:d[1],left:d[0],right:d[0],writingMode:f,iconsInText:!1,verticalizable:!1};return function(e,t,n,r,i,a,o,s,c,l,u,d){let f=0,p=0,m=0,h=0,g=s===`right`?1:s===`left`?0:.5,_=Vl/d,v=0;for(let o of i){o.trim();let i=o.getMaxScale(),s={positionedGlyphs:[],lineOffset:0};e.positionedLines[v]=s;let d=s.positionedGlyphs,y=0;if(!o.length()){p+=a,++v;continue}let b=fu(r,o,_);for(let a=0;a<o.length();a++){let s=o.getSection(a),m=o.getSectionIndex(a),h=o.getCharCode(a),g=mu(c,u,h),v;if(s.imageName){if(e.iconsInText=!0,s.scale*=_,v=gu(s,g,i,b,r),!v)continue;y=Math.max(y,v.imageOffset)}else if(v=hu(s,h,g,b,t,n),!v)continue;let{rect:x,metrics:S,baselineOffset:C}=v;d.push({glyph:h,imageName:s.imageName,x:f,y:p+C+-17,vertical:g,scale:s.scale,fontStack:s.fontStack,sectionIndex:m,metrics:S,rect:x}),g?(e.verticalizable=!0,f+=(s.imageName?S.advance:Vl)*s.scale+l):f+=S.advance*s.scale+l}d.length!==0&&(m=Math.max(f-l,m),_u(d,0,d.length-1,g)),f=0,s.lineOffset=Math.max(y,(i-1)*Vl);let x=a*i+y;p+=x,h=Math.max(x,h),++v}let{horizontalAlign:y,verticalAlign:b}=du(o);(function(e,t,n,r,i,a,o,s,c){let l=(t-n)*i,u=0;u=a===o?-r*c*o+.5*o:-s*r- -17;for(let t of e)for(let e of t.positionedGlyphs)e.x+=l,e.y+=u})(e.positionedLines,g,y,b,m,h,a,p,i.length),e.top+=-b*p,e.bottom=e.top+p,e.left+=-y*m,e.right=e.left+m}(x,n,r,i,_,s,c,l,f,u,p,h),!function(e){for(let t of e)if(t.positionedGlyphs.length!==0)return!1;return!0}(b)&&x}let nu={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},ru={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},iu={40:!0};function au(e,t,n,r,i,a){if(t.imageName){let e=r[t.imageName];return e?e.displaySize[0]*t.scale*Vl/a+i:0}{let r=n[t.fontStack],a=r&&r[e];return a?a.metrics.advance*t.scale+i:0}}function ou(e,t,n,r){let i=(e-t)**2;return r?e<t?i/2:2*i:i+Math.abs(n)*n}
12function su(e,t,n){let r=0;return e===10&&(r-=1e4),n&&(r+=150),e!==40&&e!==65288||(r+=50),t!==41&&t!==65289||(r+=50),r}function cu(e,t,n,r,i,a){let o=null,s=ou(t,n,i,a);for(let e of r){let r=ou(t-e.x,n,i,a)+e.badness;r<=s&&(o=e,s=r)}return{index:e,x:t,priorBreak:o,badness:s}}function lu(e){return e?lu(e.priorBreak).concat(e.index):[]}function uu(e,t,n,r,i,a){if(!e)return[];let o=[],s=function(e,t,n,r,i,a){let o=0;for(let n=0;n<e.length();n++){let s=e.getSection(n);o+=au(e.getCharCode(n),s,r,i,t,a)}return o/Math.max(1,Math.ceil(o/n))}(e,t,n,r,i,a),c=e.text.indexOf(`​`)>=0,l=0;for(let n=0;n<e.length();n++){let d=e.getSection(n),f=e.getCharCode(n);if(nu[f]||(l+=au(f,d,r,i,t,a)),n<e.length()-1){let t=!((u=f)<11904)&&(!!Z[`CJK Compatibility Forms`](u)||!!Z[`CJK Compatibility`](u)||!!Z[`CJK Strokes`](u)||!!Z[`CJK Symbols and Punctuation`](u)||!!Z[`Enclosed CJK Letters and Months`](u)||!!Z[`Halfwidth and Fullwidth Forms`](u)||!!Z[`Ideographic Description Characters`](u)||!!Z[`Vertical Forms`](u)||ga.test(String.fromCodePoint(u)));(ru[f]||t||d.imageName||n!==e.length()-2&&iu[e.getCharCode(n+1)])&&o.push(cu(n+1,l,s,o,su(f,e.getCharCode(n+1),t&&c),!1))}}var u;return lu(cu(e.length(),l,s,o,0,!0))}function du(e){let t=.5,n=.5;switch(e){case`right`:case`top-right`:case`bottom-right`:t=1;break;case`left`:case`top-left`:case`bottom-left`:t=0}switch(e){case`bottom`:case`bottom-right`:case`bottom-left`:n=1;break;case`top`:case`top-right`:case`top-left`:n=0}return{horizontalAlign:t,verticalAlign:n}}function fu(e,t,n){let r=t.getMaxScale()*Vl,{maxImageWidth:i,maxImageHeight:a}=t.getMaxImageSize(e),o=Math.max(r,a*n);return{verticalLineContentWidth:Math.max(r,i*n),horizontalLineContentHeight:o}}function pu(e){switch(e){case`top`:return 0;case`center`:return .5;default:return 1}}function mu(t,n,r){return!(t===e.al.horizontal||!n&&!_a(r)||n&&(nu[r]||(i=r,/\p{sc=Arab}/u.test(String.fromCodePoint(i)))));var i}function hu(e,t,n,r,i,a){let o=a[e.fontStack],s=function(e,t,n,r){if(e&&e.rect)return e;let i=t[n.fontStack],a=i&&i[r];return a?{rect:null,metrics:a.metrics}:null}(o&&o[t],i,e,t);if(s===null)return null;let c;if(n)c=r.verticalLineContentWidth-e.scale*Vl;else{let t=pu(e.verticalAlign);c=(r.horizontalLineContentHeight-e.scale*Vl)*t}return{rect:s.rect,metrics:s.metrics,baselineOffset:c}}function gu(e,t,n,r,i){let a=i[e.imageName];if(!a)return null;let o=a.paddedRect,s=a.displaySize,c={width:s[0],height:s[1],left:1,top:-3,advance:t?s[1]:s[0]},l;if(t)l=r.verticalLineContentWidth-s[1]*e.scale;else{let t=pu(e.verticalAlign);l=(r.horizontalLineContentHeight-s[1]*e.scale)*t}return{rect:o,metrics:c,baselineOffset:l,imageOffset:(t?s[0]:s[1])*e.scale-Vl*n}}function _u(e,t,n,r){if(r===0)return;let i=e[n],a=(e[n].x+i.metrics.advance*i.scale)*r;for(let r=t;r<=n;r++)e[r].x-=a}function vu(e,t,n){let{horizontalAlign:r,verticalAlign:i}=du(n),a=t[0]-e.displaySize[0]*r,o=t[1]-e.displaySize[1]*i;return{image:e,top:o,bottom:o+e.displaySize[1],left:a,right:a+e.displaySize[0]}}function yu(e){let t=e.left,n=e.top,r=e.right-t,i=e.bottom-n,a=e.image.textFitWidth??`stretchOrShrink`,o=e.image.textFitHeight??`stretchOrShrink`,s=(e.image.content[2]-e.image.content[0])/(e.image.content[3]-e.image.content[1]);if(o===`proportional`){if(a===`stretchOnly`&&r/i<s||a===`proportional`){let e=Math.ceil(i*s);t*=e/r,r=e}}else if(a===`proportional`&&o===`stretchOnly`&&s!==0&&r/i>s){let e=Math.ceil(r/s);n*=e/i,i=e}return{x1:t,y1:n,x2:t+r,y2:n+i}}function bu(e,t,n,r,i,a){let o=e.image,s;if(o.content){let e=o.content,t=o.pixelRatio||1;s=[e[0]/t,e[1]/t,o.displaySize[0]-e[2]/t,o.displaySize[1]-e[3]/t]}let c=t.left*a,l=t.right*a,u,d,f,p;n===`width`||n===`both`?(p=i[0]+c-r[3],d=i[0]+l+r[1]):(p=i[0]+(c+l-o.displaySize[0])/2,d=p+o.displaySize[0]);let m=t.top*a,h=t.bottom*a;return n===`height`||n===`both`?(u=i[1]+m-r[0],f=i[1]+h+r[2]):(u=i[1]+(m+h-o.displaySize[1])/2,f=u+o.displaySize[1]),{image:o,top:u,right:d,bottom:f,left:p,collisionPadding:s}}let xu=32640;function Su(e,t){let{expression:n}=t;if(n.kind===`constant`)return{kind:`constant`,layoutSize:n.evaluate(new wa(e+1))};if(n.kind===`source`)return{kind:`source`};{let{zoomStops:t,interpolationType:r}=n,i=0;for(;i<t.length&&t[i]<=e;)i++;i=Math.max(0,i-1);let a=i;for(;a<t.length&&t[a]<e+1;)a++;a=Math.min(t.length-1,a);let o=t[i],s=t[a];return n.kind===`composite`?{kind:`composite`,minZoom:o,maxZoom:s,interpolationType:r}:{kind:`camera`,minZoom:o,maxZoom:s,minSize:n.evaluate(new wa(o)),maxSize:n.evaluate(new wa(s)),interpolationType:r}}}function Cu(e,t,n){let r=`never`,i=e.get(t);return i?r=i:e.get(n)&&(r=`always`),r}let wu=al.VectorTileFeature.types,Tu=[{name:`a_fade_opacity`,components:1,type:`Uint8`,offset:0}];function Eu(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=s?Math.min(xu,Math.round(s[0])):0,m=s?Math.min(xu,Math.round(s[1])):0;e.emplaceBack(t,n,Math.round(32*r),Math.round(32*i),a,o,(p<<1)+ +!!c,m,16*l,16*u,256*d,256*f)}function Du(e,t,n){e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n)}function Ou(e){for(let t of e.sections)if(Sa(t.text))return!0;return!1}
12class ku{constructor(e){this.layoutVertexArray=new No,this.indexArray=new Ro,this.programConfigurations=e,this.segments=new Vo,this.dynamicLayoutVertexArray=new Po,this.opacityVertexArray=new Fo,this.hasVisibleVertices=!1,this.placedSymbolArray=new _o}isEmpty(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0}upload(e,t,n,r){this.isEmpty()||(n&&(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,jl.members),this.indexBuffer=e.createIndexBuffer(this.indexArray,t),this.dynamicLayoutVertexBuffer=e.createVertexBuffer(this.dynamicLayoutVertexArray,Ml.members,!0),this.opacityVertexBuffer=e.createVertexBuffer(this.opacityVertexArray,Tu,!0),this.opacityVertexBuffer.itemSize=1),(n||r)&&this.programConfigurations.upload(e))}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())}}X(`SymbolBuffers`,ku);class Au{constructor(e,t,n){this.layoutVertexArray=new e,this.layoutAttributes=t,this.indexArray=new n,this.segments=new Vo,this.collisionVertexArray=new Lo}upload(e){this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=e.createVertexBuffer(this.collisionVertexArray,Nl.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())}}X(`CollisionBuffers`,Au);class ju{constructor(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[];let n=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Su(this.zoom,n[`text-size`]),this.iconSizeData=Su(this.zoom,n[`icon-size`]);let r=this.layers[0].layout,i=r.get(`symbol-sort-key`),a=r.get(`symbol-z-order`);this.canOverlap=Cu(r,`text-overlap`,`text-allow-overlap`)!==`never`||Cu(r,`icon-overlap`,`icon-allow-overlap`)!==`never`||r.get(`text-ignore-placement`)||r.get(`icon-ignore-placement`),this.sortFeaturesByKey=a!==`viewport-y`&&!i.isConstant(),this.sortFeaturesByY=(a===`viewport-y`||a===`auto`&&!this.sortFeaturesByKey)&&this.canOverlap,r.get(`symbol-placement`)===`point`&&(this.writingModes=r.get(`text-writing-mode`).map((t=>e.al[t]))),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id)),this.sourceID=t.sourceID}createArrays(){this.text=new ku(new ps(this.layers,this.zoom,(e=>/^text/.test(e)))),this.icon=new ku(new ps(this.layers,this.zoom,(e=>/^icon/.test(e)))),this.glyphOffsetArray=new bo,this.lineVertexArray=new xo,this.symbolInstances=new yo,this.textAnchorOffsets=new Co}calculateGlyphDependencies(e,t,n,r,i){for(let a=0;a<e.length;a++)if(t[e.charCodeAt(a)]=!0,(n||r)&&i){let n=Ll[e.charAt(a)];n&&(t[n.charCodeAt(0)]=!0)}}populate(t,n,r){let i=this.layers[0],a=i.layout,o=a.get(`text-font`),s=a.get(`text-field`),c=a.get(`icon-image`),l=(s.value.kind!==`constant`||s.value.value instanceof It&&!s.value.value.isEmpty()||s.value.value.toString().length>0)&&(o.value.kind!==`constant`||o.value.value.length>0),u=c.value.kind!==`constant`||!!c.value.value||Object.keys(c.parameters).length>0,d=a.get(`symbol-sort-key`);if(this.features=[],!l&&!u)return;let f=n.iconDependencies,p=n.glyphDependencies,m=n.availableImages,h=new wa(this.zoom);for(let{feature:n,id:s,index:c,sourceLayerIndex:g}of t){let t=i._featureFilter.needGeometry,_=ys(n,t);if(!i._featureFilter.filter(h,_,r))continue;let v,y;if(t||(_.geometry=vs(n)),l){let e=i.getValueAndResolveTokens(`text-field`,_,r,m),t=It.factory(e),n=this.hasRTLText=this.hasRTLText||Ou(t);(!n||Ca.getRTLTextPluginStatus()===`unavailable`||n&&Ca.isParsed())&&(v=Il(t,i,_))}if(u){let e=i.getValueAndResolveTokens(`icon-image`,_,r,m);y=e instanceof Ut?e:Ut.fromString(e)}if(!v&&!y)continue;let b=this.sortFeaturesByKey?d.evaluate(_,{},r):void 0;if(this.features.push({id:s,text:v,icon:y,index:c,sourceLayerIndex:g,geometry:_.geometry,properties:n.properties,type:wu[n.type],sortKey:b}),y&&(f[y.name]=!0),v){let t=o.evaluate(_,{},r).join(`,`),n=a.get(`text-rotation-alignment`)!==`viewport`&&a.get(`symbol-placement`)!==`point`;this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(e.al.vertical)>=0;for(let e of v.sections)if(e.image)f[e.image.name]=!0;else{let r=da(v.toString()),i=e.fontStack||t,a=p[i]=p[i]||{};this.calculateGlyphDependencies(e.text,a,n,this.allowVerticalPlacement,r)}}}a.get(`symbol-placement`)===`line`&&(this.features=function(e){let t={},n={},r=[],i=0;function a(t){r.push(e[t]),i++}function o(e,t,i){let a=n[e];return delete n[e],n[t]=a,r[a].geometry[0].pop(),r[a].geometry[0]=r[a].geometry[0].concat(i[0]),a}function s(e,n,i){let a=t[n];return delete t[n],t[e]=a,r[a].geometry[0].shift(),r[a].geometry[0]=i[0].concat(r[a].geometry[0]),a}
12function c(e,t,n){let r=n?t[0][t[0].length-1]:t[0][0];return`${e}:${r.x}:${r.y}`}for(let l=0;l<e.length;l++){let u=e[l],d=u.geometry,f=u.text?u.text.toString():null;if(!f){a(l);continue}let p=c(f,d),m=c(f,d,!0);if(p in n&&m in t&&n[p]!==t[m]){let e=s(p,m,d),i=o(p,m,r[e].geometry);delete t[p],delete n[m],n[c(f,r[i].geometry,!0)]=i,r[e].geometry=null}else p in n?o(p,m,d):m in t?s(p,m,d):(a(l),t[p]=i-1,n[m]=i-1)}return r.filter((e=>e.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((e,t)=>e.sortKey-t.sortKey))}update(e,t,n){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(e,t,this.layers,n),this.icon.programConfigurations.updatePaintArrays(e,t,this.layers,n))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(e){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(e),this.iconCollisionBox.upload(e)),this.text.upload(e,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(e,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(e,t){let n=this.lineVertexArray.length;if(e.segment!==void 0){let n=e.dist(t[e.segment+1]),r=e.dist(t[e.segment]),i={};for(let r=e.segment+1;r<t.length;r++)i[r]={x:t[r].x,y:t[r].y,tileUnitDistanceFromAnchor:n},r<t.length-1&&(n+=t[r+1].dist(t[r]));for(let n=e.segment||0;n>=0;n--)i[n]={x:t[n].x,y:t[n].y,tileUnitDistanceFromAnchor:r},n>0&&(r+=t[n-1].dist(t[n]));for(let e=0;e<t.length;e++){let t=i[e];this.lineVertexArray.emplaceBack(t.x,t.y,t.tileUnitDistanceFromAnchor)}}return{lineStartIndex:n,lineLength:this.lineVertexArray.length-n}}addSymbols(t,n,r,i,a,o,s,c,l,u,d,f){let p=t.indexArray,m=t.layoutVertexArray,h=t.segments.prepareSegment(4*n.length,m,p,this.canOverlap?o.sortKey:void 0),g=this.glyphOffsetArray.length,_=h.vertexLength,v=this.allowVerticalPlacement&&s===e.al.vertical?Math.PI/2:0,y=o.text&&o.text.sections;for(let e=0;e<n.length;e++){let{tl:i,tr:a,bl:s,br:l,tex:u,pixelOffsetTL:d,pixelOffsetBR:g,minFontScaleX:_,minFontScaleY:b,glyphOffset:x,isSDF:S,sectionIndex:C}=n[e],w=h.vertexLength,T=x[1];Eu(m,c.x,c.y,i.x,T+i.y,u.x,u.y,r,S,d.x,d.y,_,b),Eu(m,c.x,c.y,a.x,T+a.y,u.x+u.w,u.y,r,S,g.x,d.y,_,b),Eu(m,c.x,c.y,s.x,T+s.y,u.x,u.y+u.h,r,S,d.x,g.y,_,b),Eu(m,c.x,c.y,l.x,T+l.y,u.x+u.w,u.y+u.h,r,S,g.x,g.y,_,b),Du(t.dynamicLayoutVertexArray,c,v),p.emplaceBack(w,w+2,w+1),p.emplaceBack(w+1,w+2,w+3),h.vertexLength+=4,h.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(x[0]),e!==n.length-1&&C===n[e+1].sectionIndex||t.programConfigurations.populatePaintArrays(m.length,o,o.index,{},f,y&&y[C])}t.placedSymbolArray.emplaceBack(c.x,c.y,g,this.glyphOffsetArray.length-g,_,l,u,c.segment,r?r[0]:0,r?r[1]:0,i[0],i[1],s,0,!1,0,d)}_addCollisionDebugVertex(e,t,n,r,i,a){return t.emplaceBack(0,0),e.emplaceBack(n.x,n.y,r,i,Math.round(a.x),Math.round(a.y))}addCollisionDebugVertices(e,t,n,r,i,a,o){let s=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),l=s.vertexLength,u=i.layoutVertexArray,d=i.collisionVertexArray,f=o.anchorX,p=o.anchorY;this._addCollisionDebugVertex(u,d,a,f,p,new c(e,t)),this._addCollisionDebugVertex(u,d,a,f,p,new c(n,t)),this._addCollisionDebugVertex(u,d,a,f,p,new c(n,r)),this._addCollisionDebugVertex(u,d,a,f,p,new c(e,r)),s.vertexLength+=4;let m=i.indexArray;m.emplaceBack(l,l+1),m.emplaceBack(l+1,l+2),m.emplaceBack(l+2,l+3),m.emplaceBack(l+3,l),s.primitiveLength+=4}addDebugCollisionBoxes(e,t,n,r){for(let i=e;i<t;i++){let e=this.collisionBoxArray.get(i);this.addCollisionDebugVertices(e.x1,e.y1,e.x2,e.y2,r?this.textCollisionBox:this.iconCollisionBox,e.anchorPoint,n)}}generateCollisionDebugBuffers(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new Au(Io,Pl.members,zo),this.iconCollisionBox=new Au(Io,Pl.members,zo);for(let e=0;e<this.symbolInstances.length;e++){let t=this.symbolInstances.get(e);this.addDebugCollisionBoxes(t.textBoxStartIndex,t.textBoxEndIndex,t,!0),this.addDebugCollisionBoxes(t.verticalTextBoxStartIndex,t.verticalTextBoxEndIndex,t,!0),this.addDebugCollisionBoxes(t.iconBoxStartIndex,t.iconBoxEndIndex,t,!1),this.addDebugCollisionBoxes(t.verticalIconBoxStartIndex,t.verticalIconBoxEndIndex,t,!1)}}_deserializeCollisionBoxesForSymbol(e,t,n,r,i,a,o,s,c){let l={};for(let r=t;r<n;r++){let t=e.get(r);l.textBox={x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,anchorPointX:t.anchorPointX,anchorPointY:t.anchorPointY},l.textFeatureIndex=t.featureIndex;break}for(let t=r;t<i;t++){let n=e.get(t);l.verticalTextBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anch
12orPointY},l.verticalTextFeatureIndex=n.featureIndex;break}for(let t=a;t<o;t++){let n=e.get(t);l.iconBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},l.iconFeatureIndex=n.featureIndex;break}for(let t=s;t<c;t++){let n=e.get(t);l.verticalIconBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},l.verticalIconFeatureIndex=n.featureIndex;break}return l}deserializeCollisionBoxes(e){this.collisionArrays=[];for(let t=0;t<this.symbolInstances.length;t++){let n=this.symbolInstances.get(t);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(e,n.textBoxStartIndex,n.textBoxEndIndex,n.verticalTextBoxStartIndex,n.verticalTextBoxEndIndex,n.iconBoxStartIndex,n.iconBoxEndIndex,n.verticalIconBoxStartIndex,n.verticalIconBoxEndIndex))}}hasTextData(){return this.text.segments.get().length>0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(e,t){let n=e.placedSymbolArray.get(t),r=n.vertexStartIndex+4*n.numGlyphs;for(let t=n.vertexStartIndex;t<r;t+=4)e.indexArray.emplaceBack(t,t+2,t+1),e.indexArray.emplaceBack(t+1,t+2,t+3)}getSortedSymbolIndexes(e){if(this.sortedAngle===e&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;let t=Math.sin(e),n=Math.cos(e),r=[],i=[],a=[];for(let e=0;e<this.symbolInstances.length;++e){a.push(e);let o=this.symbolInstances.get(e);r.push(0|Math.round(t*o.anchorX+n*o.anchorY)),i.push(o.featureIndex)}return a.sort(((e,t)=>r[e]-r[t]||i[t]-i[e])),a}addToSortKeyRanges(e,t){let n=this.sortKeyRanges[this.sortKeyRanges.length-1];n&&n.sortKey===t?n.symbolInstanceEnd=e+1:this.sortKeyRanges.push({sortKey:t,symbolInstanceStart:e,symbolInstanceEnd:e+1})}sortFeatures(e){if(this.sortFeaturesByY&&this.sortedAngle!==e&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let e of this.symbolInstanceIndexes){let t=this.symbolInstances.get(e);this.featureSortOrder.push(t.featureIndex),[t.rightJustifiedTextSymbolIndex,t.centerJustifiedTextSymbolIndex,t.leftJustifiedTextSymbolIndex].forEach(((e,t,n)=>{e>=0&&n.indexOf(e)===t&&this.addIndicesForPlacedSymbol(this.text,e)})),t.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,t.verticalPlacedTextSymbolIndex),t.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.placedIconSymbolIndex),t.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let Mu,Nu;X(`SymbolBucket`,ju,{omit:[`layers`,`collisionBoxArray`,`features`,`compareText`]}),ju.MAX_GLYPHS=65535,ju.addDynamicAttributes=Du;var Pu={get paint(){return Nu||=new Ia({"icon-opacity":new $(L.paint_symbol[`icon-opacity`]),"icon-color":new $(L.paint_symbol[`icon-color`]),"icon-halo-color":new $(L.paint_symbol[`icon-halo-color`]),"icon-halo-width":new $(L.paint_symbol[`icon-halo-width`]),"icon-halo-blur":new $(L.paint_symbol[`icon-halo-blur`]),"icon-translate":new Q(L.paint_symbol[`icon-translate`]),"icon-translate-anchor":new Q(L.paint_symbol[`icon-translate-anchor`]),"text-opacity":new $(L.paint_symbol[`text-opacity`]),"text-color":new $(L.paint_symbol[`text-color`],{runtimeType:Je,getOverride:e=>e.textColor,hasOverride:e=>!!e.textColor}),"text-halo-color":new $(L.paint_symbol[`text-halo-color`]),"text-halo-width":new $(L.paint_symbol[`text-halo-width`]),"text-halo-blur":new $(L.paint_symbol[`text-halo-blur`]),"text-translate":new Q(L.paint_symbol[`text-translate`]),"text-translate-anchor":new Q(L.paint_symbol[`text-translate-anchor`])})},get layout(){return Mu||=new Ia({"symbol-placement":new Q(L.layout_symbol[`symbol-placement`]),"symbol-spacing":new Q(L.layout_symbol[`symbol-spacing`]),"symbol-avoid-edges":new Q(L.layout_symbol[`symbol-avoid-edges`]),"symbol-sort-key":new $(L.layout_symbol[`symbol-sort-key`]),"symbol-z-order":new Q(L.layout_symbol[`symbol-z-order`]),"icon-allow-overlap":new Q(L.layout_symbol[`icon-allow-overlap`]),"icon-overlap":new Q(L.layout_symbol[`icon-overlap`]),"icon-ignore-placement":new Q(L.layout_symbol[`icon-ignore-placement`]),"icon-optional":new Q(L.layout_symbol[`icon-optional`]),"icon-rotation-alignment":new Q(L.layout_symbol[`icon-rotation-alignment`]),"icon-size":new $(L.layout_symbol[`icon-size`]),"icon-text-fit":new Q(L.layout_symbol[`icon-text-fit`]),"icon-text-fit-padding":new Q(L.layout_symbol[`icon-text-fit-padding`]),"icon-image":new $(L.layout_symbol[`icon-image`]),"icon-rotate":new $(L.layout_symbol[`icon-rotate`]),"icon-padding":new $(L.layout_symbol[`icon-padding`]),"icon-keep-upright":new Q(L.layout_symbol[`icon-keep-upright`]),"icon-offset":new $(L.layout_symbol[`icon-offset`]),"icon-anchor":new $(L.layout_symbol[`icon-anchor`]),"icon-pitch-alignment":new Q(L.layout_symbol[`icon-pitch-alignment`]),"text-pitch-alignment":new Q(L.layout_symbol[`text-pitch-alignment`]),"text-rotation-alignment":new Q(L.layout_symbol[`text-rotation-alignment`]),"text-field":new $(L.layout_symbol[`text-field`]),"text-font":new $(L.layout_symbol[`text-font`]),"text-size":new $(L.layout_symbol[`text-size`]),"text-max-width":new $(L.layout_symbol[`text-max-width`]),"text-line-height":new Q(L.layout_symbol[`text-line-height`]),"text-letter-spacing":new $(L.layout_symbol[`text-letter-spacing`]),"text-justify":new $(L.layout_symbol[`text-ju
12stify`]),"text-radial-offset":new $(L.layout_symbol[`text-radial-offset`]),"text-variable-anchor":new Q(L.layout_symbol[`text-variable-anchor`]),"text-variable-anchor-offset":new $(L.layout_symbol[`text-variable-anchor-offset`]),"text-anchor":new $(L.layout_symbol[`text-anchor`]),"text-max-angle":new Q(L.layout_symbol[`text-max-angle`]),"text-writing-mode":new Q(L.layout_symbol[`text-writing-mode`]),"text-rotate":new $(L.layout_symbol[`text-rotate`]),"text-padding":new Q(L.layout_symbol[`text-padding`]),"text-keep-upright":new Q(L.layout_symbol[`text-keep-upright`]),"text-transform":new $(L.layout_symbol[`text-transform`]),"text-offset":new $(L.layout_symbol[`text-offset`]),"text-allow-overlap":new Q(L.layout_symbol[`text-allow-overlap`]),"text-overlap":new Q(L.layout_symbol[`text-overlap`]),"text-ignore-placement":new Q(L.layout_symbol[`text-ignore-placement`]),"text-optional":new Q(L.layout_symbol[`text-optional`])})}};class Fu{constructor(e){if(e.property.overrides===void 0)throw Error(`overrides must be provided to instantiate FormatSectionOverride class`);this.type=e.property.overrides?e.property.overrides.runtimeType:qe,this.defaultValue=e}evaluate(e){if(e.formattedSection){let t=this.defaultValue.property.overrides;if(t&&t.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default}eachChild(e){this.defaultValue.isConstant()||e(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}X(`FormatSectionOverride`,Fu,{omit:[`defaultValue`]});class Iu extends Ra{constructor(e){super(e,Pu)}recalculate(e,t){if(super.recalculate(e,t),this.layout.get(`icon-rotation-alignment`)===`auto`&&(this.layout._values[`icon-rotation-alignment`]=this.layout.get(`symbol-placement`)===`point`?`viewport`:`map`),this.layout.get(`text-rotation-alignment`)===`auto`&&(this.layout._values[`text-rotation-alignment`]=this.layout.get(`symbol-placement`)===`point`?`viewport`:`map`),this.layout.get(`text-pitch-alignment`)===`auto`&&(this.layout._values[`text-pitch-alignment`]=this.layout.get(`text-rotation-alignment`)===`map`?`map`:`viewport`),this.layout.get(`icon-pitch-alignment`)===`auto`&&(this.layout._values[`icon-pitch-alignment`]=this.layout.get(`icon-rotation-alignment`)),this.layout.get(`symbol-placement`)===`point`){let e=this.layout.get(`text-writing-mode`);if(e){let t=[];for(let n of e)t.indexOf(n)<0&&t.push(n);this.layout._values[`text-writing-mode`]=t}else this.layout._values[`text-writing-mode`]=[`horizontal`]}this._setPaintOverrides()}getValueAndResolveTokens(e,t,n,r){let i=this.layout.get(e).evaluate(t,{},n,r),a=this._unevaluatedLayout._values[e];return a.isDataDriven()||ti(a.value)||!i?i:function(e,t){return t.replace(/{([^{}]+)}/g,((t,n)=>e&&n in e?String(e[n]):``))}(t.properties,i)}createBucket(e){return new ju(e)}queryRadius(){return 0}queryIntersectsFeature(){throw Error(`Should take a different path in FeatureIndex`)}_setPaintOverrides(){for(let e of Pu.paint.overridableProperties){if(!Iu.hasPaintOverride(this.layout,e))continue;let t=this.paint.get(e),n=new ei(new Fu(t),t.property.specification),r=null;r=t.value.kind===`constant`||t.value.kind===`source`?new ri(`source`,n):new ii(`composite`,n,t.value.zoomStops),this.paint._values[e]=new ja(t.property,r,t.parameters)}}_handleOverridablePaintPropertyUpdate(e,t,n){return!(!this.layout||t.isDataDriven()||n.isDataDriven())&&Iu.hasPaintOverride(this.layout,e)}static hasPaintOverride(e,t){let n=e.get(`text-field`),r=Pu.paint.properties[t],i=!1,a=e=>{for(let t of e)if(r.overrides&&r.overrides.hasOverride(t))return void(i=!0)};if(n.value.kind===`constant`&&n.value.value instanceof It)a(n.value.value.sections);else if(n.value.kind===`source`){let e=t=>{i||(t instanceof J&&q(t.value)===Qe?a(t.value.sections):t instanceof kn?a(t.sections):t.eachChild(e))},t=n.value;t._styleExpression&&e(t._styleExpression.expression)}return i}}let Lu;var Ru={get paint(){return Lu||=new Ia({"background-color":new Q(L.paint_background[`background-color`]),"background-pattern":new Pa(L.paint_background[`background-pattern`]),"background-opacity":new Q(L.paint_background[`background-opacity`])})}};class zu extends Ra{constructor(e){super(e,Ru)}}let Bu;var Vu={get paint(){return Bu||=new Ia({"raster-opacity":new Q(L.paint_raster[`raster-opacity`]),"raster-hue-rotate":new Q(L.paint_raster[`raster-hue-rotate`]),"raster-brightness-min":new Q(L.paint_raster[`raster-brightness-min`]),"raster-brightness-max":new Q(L.paint_raster[`raster-brightness-max`]),"raster-saturation":new Q(L.paint_raster[`raster-saturation`]),"raster-contrast":new Q(L.paint_raster[`raster-contrast`]),"raster-resampling":new Q(L.paint_raster[`raster-resampling`]),"raster-fade-duration":new Q(L.paint_raster[`raster-fade-duration`])})}};class Hu extends Ra{constructor(e){super(e,Vu)}}class Uu extends Ra{constructor(e){super(e,{}),this.onAdd=e=>{this.implementation.onAdd&&this.implementation.onAdd(e,e.painter.context.gl)},this.onRemove=e=>{this.implementation.onRemove&&this.implementation.onRemove(e,e.painter.context.gl)},this.implementation=e}is3D(){return this.implementation.renderingMode===`3d`}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw Error(`Custom layers cannot be serialized`)}}class Wu{constructor(e){this._methodToThrottle=e,this._triggered=!1,typeof MessageChannel<`u`&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._methodToThrottle()}),0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}let Gu={once:!0},Ku=6371008.8;
12class qu{constructor(e,t){if(isNaN(e)||isNaN(t))throw Error(`Invalid LngLat object: (${e}, ${t})`);if(this.lng=+e,this.lat=+t,this.lat>90||this.lat<-90)throw Error(`Invalid LngLat latitude value: must be between -90 and 90`)}wrap(){return new qu(re(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(e){let t=Math.PI/180,n=this.lat*t,r=e.lat*t,i=Math.sin(n)*Math.sin(r)+Math.cos(n)*Math.cos(r)*Math.cos((e.lng-this.lng)*t);return Ku*Math.acos(Math.min(i,1))}static convert(e){if(e instanceof qu)return e;if(Array.isArray(e)&&(e.length===2||e.length===3))return new qu(Number(e[0]),Number(e[1]));if(!Array.isArray(e)&&typeof e==`object`&&e)return new qu(Number(`lng`in e?e.lng:e.lon),Number(e.lat));throw Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]")}}let Ju=2*Math.PI*Ku;function Yu(e){return Ju*Math.cos(e*Math.PI/180)}function Xu(e){return(180+e)/360}function Zu(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function Qu(e,t){return e/Yu(t)}function $u(e){return 360/Math.PI*Math.atan(Math.exp((180-360*e)*Math.PI/180))-90}function ed(e,t){return e*Yu($u(t))}class td{constructor(e,t,n=0){this.x=+e,this.y=+t,this.z=+n}static fromLngLat(e,t=0){let n=qu.convert(e);return new td(Xu(n.lng),Zu(n.lat),Qu(t,n.lat))}toLngLat(){return new qu(360*this.x-180,$u(this.y))}toAltitude(){return ed(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/Ju*(e=$u(this.y),1/Math.cos(e*Math.PI/180));var e}}function nd(e,t,n){var r=2*Math.PI*6378137/256/2**n;return[e*r-2*Math.PI*6378137/2,t*r-2*Math.PI*6378137/2]}class rd{constructor(e,t,n){if(!function(e,t,n){return!(e<0||e>25||n<0||n>=2**e||t<0||t>=2**e)}(e,t,n))throw Error(`x=${t}, y=${n}, z=${e} outside of bounds. 0<=x<${2**e}, 0<=y<${2**e} 0<=z<=25 `);this.z=e,this.x=t,this.y=n,this.key=od(0,e,e,t,n)}equals(e){return this.z===e.z&&this.x===e.x&&this.y===e.y}url(e,t,n){let r=(a=this.y,o=this.z,s=nd(256*(i=this.x),256*(a=2**o-a-1),o),c=nd(256*(i+1),256*(a+1),o),s[0]+`,`+s[1]+`,`+c[0]+`,`+c[1]);var i,a,o,s,c;let l=function(e,t,n){let r,i=``;for(let a=e;a>0;a--)r=1<<a-1,i+=(t&r?1:0)+(n&r?2:0);return i}(this.z,this.x,this.y);return e[(this.x+this.y)%e.length].replace(/{prefix}/g,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(/{z}/g,String(this.z)).replace(/{x}/g,String(this.x)).replace(/{y}/g,String(n===`tms`?2**this.z-this.y-1:this.y)).replace(/{ratio}/g,t>1?`@2x`:``).replace(/{quadkey}/g,l).replace(/{bbox-epsg-3857}/g,r)}isChildOf(e){let t=this.z-e.z;return t>0&&e.x===this.x>>t&&e.y===this.y>>t}getTilePoint(e){let t=2**this.z;return new c((e.x*t-this.x)*D,(e.y*t-this.y)*D)}toString(){return`${this.z}/${this.x}/${this.y}`}}class id{constructor(e,t){this.wrap=e,this.canonical=t,this.key=od(e,t.z,t.z,t.x,t.y)}}class ad{constructor(e,t,n,r,i){if(this.terrainRttPosMatrix32f=null,e<n)throw Error(`overscaledZ should be >= z; overscaledZ = ${e}; z = ${n}`);this.overscaledZ=e,this.wrap=t,this.canonical=new rd(n,+r,+i),this.key=od(t,e,n,r,i)}clone(){return new ad(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(e){return this.overscaledZ===e.overscaledZ&&this.wrap===e.wrap&&this.canonical.equals(e.canonical)}scaledTo(e){if(e>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);let t=this.canonical.z-e;return e>this.canonical.z?new ad(e,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new ad(e,this.wrap,e,this.canonical.x>>t,this.canonical.y>>t)}calculateScaledKey(e,t){if(e>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);let n=this.canonical.z-e;return e>this.canonical.z?od(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y):od(this.wrap*+t,e,e,this.canonical.x>>n,this.canonical.y>>n)}isChildOf(e){if(e.wrap!==this.wrap)return!1;let t=this.canonical.z-e.canonical.z;return e.overscaledZ===0||e.overscaledZ<this.overscaledZ&&e.canonical.x===this.canonical.x>>t&&e.canonical.y===this.canonical.y>>t}children(e){if(this.overscaledZ>=e)return[new ad(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let t=this.canonical.z+1,n=2*this.canonical.x,r=2*this.canonical.y;return[new ad(t,this.wrap,t,n,r),new ad(t,this.wrap,t,n+1,r),new ad(t,this.wrap,t,n,r+1),new ad(t,this.wrap,t,n+1,r+1)]}isLessThan(e){return this.wrap<e.wrap||!(this.wrap>e.wrap)&&(this.overscaledZ<e.overscaledZ||!(this.overscaledZ>
12e.overscaledZ)&&(this.canonical.x<e.canonical.x||!(this.canonical.x>e.canonical.x)&&this.canonical.y<e.canonical.y))}wrapped(){return new ad(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)}unwrapTo(e){return new ad(this.overscaledZ,e,this.canonical.z,this.canonical.x,this.canonical.y)}overscaleFactor(){return 2**(this.overscaledZ-this.canonical.z)}toUnwrapped(){return new id(this.wrap,this.canonical)}toString(){return`${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`}getTilePoint(e){return this.canonical.getTilePoint(new td(e.x-this.wrap,e.y))}}function od(e,t,n,r,i){(e*=2)<0&&(e=-1*e-1);let a=1<<n;return(a*a*e+a*i+r).toString(36)+n.toString(36)+t.toString(36)}X(`CanonicalTileID`,rd),X(`OverscaledTileID`,ad,{omit:[`terrainRttPosMatrix32f`]});class sd{constructor(e,t,n,r=1,i=1,a=1,o=0){if(this.uid=e,t.height!==t.width)throw RangeError(`DEM tiles must be square`);if(n&&![`mapbox`,`terrarium`,`custom`].includes(n))return void le(`"${n}" is not a valid encoding type. Valid types include "mapbox", "terrarium" and "custom".`);this.stride=t.height;let s=this.dim=t.height-2;switch(this.data=new Uint32Array(t.data.buffer),n){case`terrarium`:this.redFactor=256,this.greenFactor=1,this.blueFactor=1/256,this.baseShift=32768;break;case`custom`:this.redFactor=r,this.greenFactor=i,this.blueFactor=a,this.baseShift=o;break;default:this.redFactor=6553.6,this.greenFactor=25.6,this.blueFactor=.1,this.baseShift=1e4}for(let e=0;e<s;e++)this.data[this._idx(-1,e)]=this.data[this._idx(0,e)],this.data[this._idx(s,e)]=this.data[this._idx(s-1,e)],this.data[this._idx(e,-1)]=this.data[this._idx(e,0)],this.data[this._idx(e,s)]=this.data[this._idx(e,s-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(s,-1)]=this.data[this._idx(s-1,0)],this.data[this._idx(-1,s)]=this.data[this._idx(0,s-1)],this.data[this._idx(s,s)]=this.data[this._idx(s-1,s-1)],this.min=2**53-1,this.max=-(2**53-1);for(let e=0;e<s;e++)for(let t=0;t<s;t++){let n=this.get(e,t);n>this.max&&(this.max=n),n<this.min&&(this.min=n)}}get(e,t){let n=new Uint8Array(this.data.buffer),r=4*this._idx(e,t);return this.unpack(n[r],n[r+1],n[r+2])}getUnpackVector(){return[this.redFactor,this.greenFactor,this.blueFactor,this.baseShift]}_idx(e,t){if(e<-1||e>=this.dim+1||t<-1||t>=this.dim+1)throw RangeError(`out of range source coordinates for DEM data`);return(t+1)*this.stride+(e+1)}unpack(e,t,n){return e*this.redFactor+t*this.greenFactor+n*this.blueFactor-this.baseShift}getPixels(){return new Ys({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(e,t,n){if(this.dim!==e.dim)throw Error(`dem dimension mismatch`);let r=t*this.dim,i=t*this.dim+this.dim,a=n*this.dim,o=n*this.dim+this.dim;switch(t){case-1:r=i-1;break;case 1:i=r+1}switch(n){case-1:a=o-1;break;case 1:o=a+1}let s=-t*this.dim,c=-n*this.dim;for(let t=a;t<o;t++)for(let n=r;n<i;n++)this.data[this._idx(n,t)]=e.data[this._idx(n+s,t+c)]}}X(`DEMData`,sd);class cd{constructor(e){this._stringToNumber={},this._numberToString=[];for(let t=0;t<e.length;t++){let n=e[t];this._stringToNumber[n]=t,this._numberToString[t]=n}}encode(e){return this._stringToNumber[e]}decode(e){if(e>=this._numberToString.length)throw Error(`Out of bounds. Index requested n=${e} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[e]}}class ld{constructor(e,t,n,r,i){this.type=`Feature`,this._vectorTileFeature=e,e._z=t,e._x=n,e._y=r,this.properties=e.properties,this.id=i}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(e){this._geometry=e}toJSON(){let e={geometry:this.geometry};for(let t in this)t!==`_geometry`&&t!==`_vectorTileFeature`&&(e[t]=this[t]);return e}}class ud{constructor(e,t){this.tileID=e,this.x=e.canonical.x,this.y=e.canonical.y,this.z=e.canonical.z,this.grid=new ra(D,16,0),this.grid3D=new ra(D,16,0),this.featureIndexArray=new To,this.promoteId=t}insert(e,t,n,r,i,a){let o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(n,r,i);let s=a?this.grid3D:this.grid;for(let e=0;e<t.length;e++){let n=t[e],r=[1/0,1/0,-1/0,-1/0];for(let e=0;e<n.length;e++){let t=n[e];r[0]=Math.min(r[0],t.x),r[1]=Math.min(r[1],t.y),r[2]=Math.max(r[2],t.x),r[3]=Math.max(r[3],t.y)}r[0]<D&&r[1]<D&&r[2]>=0&&r[3]>=0&&s.insert(o,r[0],r[1],r[2],r[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new al.VectorTile(new Gl(this.rawTileData)).layers,this.sourceLayerCoder=new cd(this.vtLayers?Object.keys(this.vtLayers).sort():[`_geojsonTileLayer`])),this.vtLayers}query(e,t,n,r){this.loadVTLayers();let i=e.params,a=D/e.tileSize/e.scale,o=ui(i.filter),s=e.queryGeometry,l=e.queryPadding*a,u=fd(s),d=this.grid.query(u.minX-l,u.minY-l,u.maxX+l,u.maxY+l),f=fd(e.cameraQueryGeometry),p=this.grid3D.query(f.minX-l,f.minY-l,f.maxX+l,f.maxY+l,((t,n,r,i)=>function(e,t,n,r,i){for(let a of e)if(t<=a.x&&n<=a.y&&r>=a.x&&i>=a.y)return!0;let a=[new c(t,n),new c(t,i),new c(r,i),new c(r,n)];if(e.length>2){for(let t of a)if(Ms(e,t))return!0}for(let t=0;t<e.length-1;t++)if(Ns(e[t],e[t+1],a))return!0;return!1}(e.cameraQueryGeometry,t-l,n-l,r+l,i+l)));for(let e of p)d.push(e);d.sort(pd);let m={},h;for(let c=0;c<d.length;c++){let l=d[c];if(l===h)continue;h=l;let u=this.featureIndexArray.get(l),f=null;
12this.loadMatchingFeature(m,u.bucketIndex,u.sourceLayerIndex,u.featureIndex,o,i.layers,i.availableImages,t,n,r,((t,n,r)=>(f||=vs(t),n.queryIntersectsFeature({queryGeometry:s,feature:t,featureState:r,geometry:f,zoom:this.z,transform:e.transform,pixelsToTileUnits:a,pixelPosMatrix:e.pixelPosMatrix,unwrappedTileID:this.tileID.toUnwrapped(),getElevation:e.getElevation}))))}return m}loadMatchingFeature(e,t,n,r,i,a,o,s,c,l,u){let d=this.bucketLayerIDs[t];if(a&&!d.some((e=>a.has(e))))return;let f=this.sourceLayerCoder.decode(n),p=this.vtLayers[f].feature(r);if(i.needGeometry){let e=ys(p,!0);if(!i.filter(new wa(this.tileID.overscaledZ),e,this.tileID.canonical))return}else if(!i.filter(new wa(this.tileID.overscaledZ),p))return;let m=this.getId(p,f);for(let t=0;t<d.length;t++){let n=d[t];if(a&&!a.has(n))continue;let i=s[n];if(!i)continue;let f={};m&&l&&(f=l.getState(i.sourceLayer||`_geojsonTileLayer`,m));let h=M({},c[n]);h.paint=dd(h.paint,i.paint,p,f,o),h.layout=dd(h.layout,i.layout,p,f,o);let g=!u||u(p,i,f);if(!g)continue;let _=new ld(p,this.z,this.x,this.y,m);_.layer=h;let v=e[n];v===void 0&&(v=e[n]=[]),v.push({featureIndex:r,feature:_,intersectionZ:g})}}lookupSymbolFeatures(e,t,n,r,i,a,o,s){let c={};this.loadVTLayers();let l=ui(i);for(let i of e)this.loadMatchingFeature(c,n,r,i,l,a,o,s,t);return c}hasLayer(e){for(let t of this.bucketLayerIDs)for(let n of t)if(e===n)return!0;return!1}getId(e,t){var n;let r=e.id;return this.promoteId&&(r=e.properties[typeof this.promoteId==`string`?this.promoteId:this.promoteId[t]],typeof r==`boolean`&&(r=Number(r)),r===void 0&&(n=e.properties)!=null&&n.cluster&&this.promoteId&&(r=Number(e.properties.cluster_id))),r}}function dd(e,t,n,r,i){return ae(e,((e,a)=>{let o=t instanceof Ma?t.get(a):null;return o&&o.evaluate?o.evaluate(n,r,i):o}))}function fd(e){let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),n=Math.min(n,a.y),r=Math.max(r,a.x),i=Math.max(i,a.y);return{minX:t,minY:n,maxX:r,maxY:i}}function pd(e,t){return t-e}function md(e,t,n,r,i){let a=[];for(let o=0;o<e.length;o++){let s=e[o],l;for(let e=0;e<s.length-1;e++){let o=s[e],u=s[e+1];o.x<t&&u.x<t||(o.x<t?o=new c(t,o.y+(t-o.x)/(u.x-o.x)*(u.y-o.y))._round():u.x<t&&(u=new c(t,o.y+(t-o.x)/(u.x-o.x)*(u.y-o.y))._round()),o.y<n&&u.y<n||(o.y<n?o=new c(o.x+(n-o.y)/(u.y-o.y)*(u.x-o.x),n)._round():u.y<n&&(u=new c(o.x+(n-o.y)/(u.y-o.y)*(u.x-o.x),n)._round()),o.x>=r&&u.x>=r||(o.x>=r?o=new c(r,o.y+(r-o.x)/(u.x-o.x)*(u.y-o.y))._round():u.x>=r&&(u=new c(r,o.y+(r-o.x)/(u.x-o.x)*(u.y-o.y))._round()),o.y>=i&&u.y>=i||(o.y>=i?o=new c(o.x+(i-o.y)/(u.y-o.y)*(u.x-o.x),i)._round():u.y>=i&&(u=new c(o.x+(i-o.y)/(u.y-o.y)*(u.x-o.x),i)._round()),l&&o.equals(l[l.length-1])||(l=[o],a.push(l)),l.push(u)))))}}return a}X(`FeatureIndex`,ud,{omit:[`rawTileData`,`sourceLayerCoder`]});class hd extends c{constructor(e,t,n,r){super(e,t),this.angle=n,r!==void 0&&(this.segment=r)}clone(){return new hd(this.x,this.y,this.angle,this.segment)}}function gd(e,t,n,r,i){if(t.segment===void 0||n===0)return!0;let a=t,o=t.segment+1,s=0;for(;s>-n/2;){if(o--,o<0)return!1;s-=e[o].dist(a),a=e[o]}s+=e[o].dist(e[o+1]),o++;let c=[],l=0;for(;s<n/2;){let t=e[o],n=e[o+1];if(!n)return!1;let a=e[o-1].angleTo(t)-t.angleTo(n);for(a=Math.abs((a+3*Math.PI)%(2*Math.PI)-Math.PI),c.push({distance:s,angleDelta:a}),l+=a;s-c[0].distance>r;)l-=c.shift().angleDelta;if(l>i)return!1;o++,s+=t.dist(n)}return!0}function _d(e){let t=0;for(let n=0;n<e.length-1;n++)t+=e[n].dist(e[n+1]);return t}function vd(e,t,n){return e?.6*t*n:0}function yd(e,t){return Math.max(e?e.right-e.left:0,t?t.right-t.left:0)}function bd(e,t,n,r,i,a){let o=vd(n,i,a),s=yd(n,r)*a,c=0,l=_d(e)/2;for(let n=0;n<e.length-1;n++){let r=e[n],i=e[n+1],a=r.dist(i);if(c+a>l){let u=(l-c)/a,d=new hd(gn.number(r.x,i.x,u),gn.number(r.y,i.y,u),i.angleTo(r),n);return d._round(),!o||gd(e,d,s,o,t)?d:void 0}c+=a}}function xd(e,t,n,r,i,a,o,s,c){let l=vd(r,a,o),u=yd(r,i),d=u*o,f=e[0].x===0||e[0].x===c||e[0].y===0||e[0].y===c;return t-d<t/4&&(t=d+t/4),Sd(e,f?t/2*s%t:(u/2+2*a)*o*s%t,t,l,n,d,f,!1,c)}function Sd(e,t,n,r,i,a,o,s,c){let l=a/2,u=_d(e),d=0,f=t-n,p=[];for(let t=0;t<e.length-1;t++){let o=e[t],s=e[t+1],m=o.dist(s),h=s.angleTo(o);for(;f+n<d+m;){f+=n;let g=(f-d)/m,_=gn.number(o.x,s.x,g),v=gn.number(o.y,s.y,g);if(_>=0&&_<c&&v>=0&&v<c&&f-l>=0&&f+l<=u){let n=new hd(_,v,h,t);n._round(),r&&!gd(e,n,a,r,i)||p.push(n)}}d+=m}return s||p.length||o||(p=Sd(e,d/2,n,r,i,a,o,!0,c)),p}X(`Anchor`,hd);function Cd(e,t,n,r){let i=[],a=e.image,o=a.pixelRatio,s=a.paddedRect.w-2,l=a.paddedRect.h-2,u={x1:e.left,y1:e.top,x2:e.right,y2:e.bottom},d=a.stretchX||[[0,s]],f=a.stretchY||[[0,l]],p=(e,t)=>e+t[1]-t[0],m=d.reduce(p,0),h=f.reduce(p,0),g=s-m,_=l-h,v=0,y=m,b=0,x=h,S=0,C=g,w=0,T=_;if(a.content&&r){let t=a.content,n=t[2]-t[0],r=t[3]-t[1];(a.textFitWidth||a.textFitHeight)&&(u=yu(e)),v=wd(d,0,t[0]),b=wd(f,0,t[1]),y=wd(d,t[0],t[2]),x=wd(f,t[1],t[3]),S=t[0]-v,w=t[1]-b,C=n-y,T=r-x}let E=u.x1,D=u.y1,O=u.x2-E,k=u.y2-D,A=(e,r,i,s)=>{let l=Ed(e.stretch-v,y,O,E),u=Dd(e.fixed-S,C,e.stretch,m),d=Ed(r.stretch-b,x,k,D),f=Dd(r.fixed-w,T,r.stretch,h),p=Ed(i.stretch-v,y,O,E),g=Dd(i.fixed-S,C,i.stretch,m),_=Ed(s.stretch-b,x,k,D),A=Dd(s.fixed-w,T,s.stretch,h),ee=new c(l,d),te=new c(p,d),j=new c(p,_),ne=new c(l,_),re=new c(u/o,f/o),M=new c(g/o,A/o),ie=t*Math.PI/180;if(ie){let e=Math.sin(ie),t=Math.cos(ie),n=[t,-e,e,t];ee._matMult(n),te._matMult(n),ne._matMult(n),j._matMult(n)}let ae=e.stretch+e.fixed,oe=r.stretch+r.fixed;return{tl:ee,tr:te,bl:ne,br:j,tex:{x:a.paddedRect.x+1+ae,y:a.paddedRect.y+1+oe,w:i.stretch+i.fixed-ae,h:s.stretch+s.fixed-oe},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:re,pixelOffsetBR:M,minFontScaleX:C/o/O,minFontScaleY:T/o/k,isSDF:n}};
12if(r&&(a.stretchX||a.stretchY)){let e=Td(d,g,m),t=Td(f,_,h);for(let n=0;n<e.length-1;n++){let r=e[n],a=e[n+1];for(let e=0;e<t.length-1;e++)i.push(A(r,t[e],a,t[e+1]))}}else i.push(A({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:s+1},{fixed:0,stretch:l+1}));return i}function wd(e,t,n){let r=0;for(let i of e)r+=Math.max(t,Math.min(n,i[1]))-Math.max(t,Math.min(n,i[0]));return r}function Td(e,t,n){let r=[{fixed:-1,stretch:0}];for(let[t,n]of e){let e=r[r.length-1];r.push({fixed:t-e.stretch,stretch:e.stretch}),r.push({fixed:t-e.stretch,stretch:e.stretch+(n-t)})}return r.push({fixed:t+1,stretch:n}),r}function Ed(e,t,n,r){return e/t*n+r}function Dd(e,t,n,r){return e-t*n/r}class Od{constructor(e,t,n,r,i,a,o,s,l,u){if(this.boxStartIndex=e.length,l){let e=a.top,t=a.bottom,n=a.collisionPadding;n&&(e-=n[1],t+=n[3]);let r=t-e;r>0&&(r=Math.max(10,r),this.circleDiameter=r)}else{let l=a.image?.content&&(a.image.textFitWidth||a.image.textFitHeight)?yu(a):{x1:a.left,y1:a.top,x2:a.right,y2:a.bottom};l.y1=l.y1*o-s[0],l.y2=l.y2*o+s[2],l.x1=l.x1*o-s[3],l.x2=l.x2*o+s[1];let d=a.collisionPadding;if(d&&(l.x1-=d[0]*o,l.y1-=d[1]*o,l.x2+=d[2]*o,l.y2+=d[3]*o),u){let e=new c(l.x1,l.y1),t=new c(l.x2,l.y1),n=new c(l.x1,l.y2),r=new c(l.x2,l.y2),i=u*Math.PI/180;e._rotate(i),t._rotate(i),n._rotate(i),r._rotate(i),l.x1=Math.min(e.x,t.x,n.x,r.x),l.x2=Math.max(e.x,t.x,n.x,r.x),l.y1=Math.min(e.y,t.y,n.y,r.y),l.y2=Math.max(e.y,t.y,n.y,r.y)}e.emplaceBack(t.x,t.y,l.x1,l.y1,l.x2,l.y2,n,r,i)}this.boxEndIndex=e.length}}class kd{constructor(e=[],t=((e,t)=>e<t?-1:+(e>t))){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:n}=this,r=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(n(r,a)>=0)break;t[e]=a,e=i}t[e]=r}_down(e){let{data:t,compare:n}=this,r=this.length>>1,i=t[e];for(;e<r;){let r=1+(e<<1),a=r+1;if(a<this.length&&n(t[a],t[r])<0&&(r=a),n(t[r],i)>=0)break;t[e]=t[r],e=r}t[e]=i}}function Ad(e,t=1,n=!1){let r=1/0,i=1/0,a=-1/0,o=-1/0,s=e[0];for(let e=0;e<s.length;e++){let t=s[e];(!e||t.x<r)&&(r=t.x),(!e||t.y<i)&&(i=t.y),(!e||t.x>a)&&(a=t.x),(!e||t.y>o)&&(o=t.y)}let l=Math.min(a-r,o-i),u=l/2,d=new kd([],jd);if(l===0)return new c(r,i);for(let t=r;t<a;t+=l)for(let n=i;n<o;n+=l)d.push(new Md(t+u,n+u,u,e));let f=function(e){let t=0,n=0,r=0,i=e[0];for(let e=0,a=i.length,o=a-1;e<a;o=e++){let a=i[e],s=i[o],c=a.x*s.y-s.x*a.y;n+=(a.x+s.x)*c,r+=(a.y+s.y)*c,t+=3*c}return new Md(n/t,r/t,0,e)}(e),p=d.length;for(;d.length;){let r=d.pop();(r.d>f.d||!f.d)&&(f=r,n&&console.log(`found best %d after %d probes`,Math.round(1e4*r.d)/1e4,p)),r.max-f.d<=t||(u=r.h/2,d.push(new Md(r.p.x-u,r.p.y-u,u,e)),d.push(new Md(r.p.x+u,r.p.y-u,u,e)),d.push(new Md(r.p.x-u,r.p.y+u,u,e)),d.push(new Md(r.p.x+u,r.p.y+u,u,e)),p+=4)}return n&&(console.log(`num probes: ${p}`),console.log(`best distance: ${f.d}`)),f.p}function jd(e,t){return t.max-e.max}function Md(e,t,n,r){this.p=new c(e,t),this.h=n,this.d=function(e,t){let n=!1,r=1/0;for(let i=0;i<t.length;i++){let a=t[i];for(let t=0,i=a.length,o=i-1;t<i;o=t++){let i=a[t],s=a[o];i.y>e.y!=s.y>e.y&&e.x<(s.x-i.x)*(e.y-i.y)/(s.y-i.y)+i.x&&(n=!n),r=Math.min(r,As(e,i,s))}}return(n?1:-1)*Math.sqrt(r)}(this.p,r),this.max=this.d+this.h*Math.SQRT2}var Nd;e.aB=void 0,(Nd=e.aB||={})[Nd.center=1]=`center`,Nd[Nd.left=2]=`left`,Nd[Nd.right=3]=`right`,Nd[Nd.top=4]=`top`,Nd[Nd.bottom=5]=`bottom`,Nd[Nd[`top-left`]=6]=`top-left`,Nd[Nd[`top-right`]=7]=`top-right`,Nd[Nd[`bottom-left`]=8]=`bottom-left`,Nd[Nd[`bottom-right`]=9]=`bottom-right`;let Pd=1/0;function Fd(e,t){return t[1]===Pd?function(e,t){let n=0,r=0;t<0&&(t=0);let i=t/Math.SQRT2;switch(e){case`top-right`:case`top-left`:r=i-7;break;case`bottom-right`:case`bottom-left`:r=-i+7;break;case`bottom`:r=-t+7;break;case`top`:r=t-7}switch(e){case`top-right`:case`bottom-right`:n=-i;break;case`top-left`:case`bottom-left`:n=i;break;case`left`:n=t;break;case`right`:n=-t}return[n,r]}(e,t[0]):function(e,t,n){let r=0,i=0;switch(t=Math.abs(t),n=Math.abs(n),e){case`top-right`:case`top-left`:case`top`:i=n-7;break;case`bottom-right`:case`bottom-left`:case`bottom`:i=-n+7}switch(e){case`top-right`:case`bottom-right`:case`right`:r=-t;break;case`top-left`:case`bottom-left`:case`left`:r=t}return[r,i]}(e,t[0],t[1])}
12function Id(e,t,n){let r=e.layout,i=r.get(`text-variable-anchor-offset`)?.evaluate(t,{},n);if(i){let e=i.values,t=[];for(let n=0;n<e.length;n+=2){let r=t[n]=e[n],i=e[n+1].map((e=>e*Vl));r.startsWith(`top`)?i[1]-=7:r.startsWith(`bottom`)&&(i[1]+=7),t[n+1]=i}return new Ht(t)}let a=r.get(`text-variable-anchor`);if(a){let i;i=e._unevaluatedLayout.getValue(`text-radial-offset`)===void 0?r.get(`text-offset`).evaluate(t,{},n).map((e=>e*Vl)):[r.get(`text-radial-offset`).evaluate(t,{},n)*Vl,Pd];let o=[];for(let e of a)o.push(e,Fd(e,i));return new Ht(o)}return null}function Ld(e){switch(e){case`right`:case`top-right`:case`bottom-right`:return`right`;case`left`:case`top-left`:case`bottom-left`:return`left`}return`center`}function Rd(t,n,r,i,a,o,s,c,l,u,d,f){let p=o.textMaxSize.evaluate(n,{});p===void 0&&(p=s);let m=t.layers[0].layout,h=m.get(`icon-offset`).evaluate(n,{},d),g=Bd(r.horizontal),_=s/24,v=t.tilePixelRatio*_,y=t.tilePixelRatio*p/24,b=t.tilePixelRatio*c,x=t.tilePixelRatio*m.get(`symbol-spacing`),S=m.get(`text-padding`)*t.tilePixelRatio,C=function(e,t,n,r=1){let i=e.get(`icon-padding`).evaluate(t,{},n),a=i&&i.values;return[a[0]*r,a[1]*r,a[2]*r,a[3]*r]}(m,n,d,t.tilePixelRatio),w=m.get(`text-max-angle`)/180*Math.PI,T=m.get(`text-rotation-alignment`)!==`viewport`&&m.get(`symbol-placement`)!==`point`,E=m.get(`icon-rotation-alignment`)===`map`&&m.get(`symbol-placement`)!==`point`,O=m.get(`symbol-placement`),k=x/2,A=m.get(`icon-text-fit`),ee;i&&A!==`none`&&(t.allowVerticalPlacement&&r.vertical&&(ee=bu(i,r.vertical,A,m.get(`icon-text-fit-padding`),h,_)),g&&(i=bu(i,g,A,m.get(`icon-text-fit-padding`),h,_)));let te=d?f.line.getGranularityForZoomLevel(d.z):1,j=(c,f)=>{f.x<0||f.x>=D||f.y<0||f.y>=D||function(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T){let E=t.addToLineVertexArray(n,r),D,O,k,A,ee=0,te=0,j=0,ne=0,re=-1,M=-1,ie={},ae=Xo(``);if(t.allowVerticalPlacement&&i.vertical){let e=c.layout.get(`text-rotate`).evaluate(x,{},w)+90;k=new Od(l,n,u,d,f,i.vertical,p,m,h,e),s&&(A=new Od(l,n,u,d,f,s,_,v,h,e))}if(a){let r=c.layout.get(`icon-rotate`).evaluate(x,{}),i=c.layout.get(`icon-text-fit`)!==`none`,o=Cd(a,r,C,i),p=s?Cd(s,r,C,i):void 0;O=new Od(l,n,u,d,f,a,_,v,!1,r),ee=4*o.length;let m=t.iconSizeData,h=null;m.kind===`source`?(h=[128*c.layout.get(`icon-size`).evaluate(x,{})],h[0]>xu&&le(`${t.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):m.kind===`composite`&&(h=[128*S.compositeIconSizes[0].evaluate(x,{},w),128*S.compositeIconSizes[1].evaluate(x,{},w)],(h[0]>xu||h[1]>xu)&&le(`${t.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),t.addSymbols(t.icon,o,h,b,y,x,e.al.none,n,E.lineStartIndex,E.lineLength,-1,w),re=t.icon.placedSymbolArray.length-1,p&&(te=4*p.length,t.addSymbols(t.icon,p,h,b,y,x,e.al.vertical,n,E.lineStartIndex,E.lineLength,-1,w),M=t.icon.placedSymbolArray.length-1)}let oe=Object.keys(i.horizontal);for(let r of oe){let a=i.horizontal[r];D||=(ae=Xo(a.text),new Od(l,n,u,d,f,a,p,m,h,c.layout.get(`text-rotate`).evaluate(x,{},w)));let s=a.positionedLines.length===1;if(j+=zd(t,n,a,o,c,h,x,g,E,i.vertical?e.al.horizontal:e.al.horizontalOnly,s?oe:[r],ie,re,S,w),s)break}i.vertical&&(ne+=zd(t,n,i.vertical,o,c,h,x,g,E,e.al.vertical,[`vertical`],ie,M,S,w));let se=D?D.boxStartIndex:t.collisionBoxArray.length,ce=D?D.boxEndIndex:t.collisionBoxArray.length,N=k?k.boxStartIndex:t.collisionBoxArray.length,P=k?k.boxEndIndex:t.collisionBoxArray.length,ue=O?O.boxStartIndex:t.collisionBoxArray.length,F=O?O.boxEndIndex:t.collisionBoxArray.length,de=A?A.boxStartIndex:t.collisionBoxArray.length,fe=A?A.boxEndIndex:t.collisionBoxArray.length,I=-1,pe=(e,t)=>e&&e.circleDiameter?Math.max(e.circleDiameter,t):t;I=pe(D,I),I=pe(k,I),I=pe(O,I),I=pe(A,I);let me=+(I>-1);me&&(I*=T/Vl),t.glyphOffsetArray.length>=ju.MAX_GLYPHS&&le(`Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907`),x.sortKey!==void 0&&t.addToSortKeyRanges(t.symbolInstances.length,x.sortKey);let he=Id(c,x,w),[ge,_e]=function(t,n){let r=t.length,i=n?.values;if(i?.length>0)for(let n=0;n<i.length;n+=2){let r=i[n+1];t.emplaceBack(e.aB[i[n]],r[0],r[1])}return[r,t.length]}(t.textAnchorOffsets,he);t.symbolInstances.emplaceBack(n.x,n.y,ie.right>=0?ie.right:-1,ie.center>=0?ie.center:-1,ie.left>=0?ie.left:-1,ie.vertical||-1,re,M,ae,se,ce,N,P,ue,F,de,fe,u,j,ne,ee,te,me,0,p,I,ge,_e)}(t,f,c,r,i,a,ee,t.layers[0],t.collisionBoxArray,n.index,n.sourceLayerIndex,t.index,v,[S,S,S,S],T,l,b,C,E,h,n,o,u,d,s)};if(O===`line`)for(let e of md(n.geometry,0,0,D,D)){let n=Ic(e,te),a=xd(n,x,w,r.vertical||g,i,24,y,t.overscaling,D);for(let e of a)g&&Vd(t,g.text,k,e)||j(n,e)}else if(O===`line-center`){for(let e of n.geometry)if(e.length>1){let t=Ic(e,te),n=bd(t,w,r.vertical||g,i,24,y);n&&j(t,n)}}else if(n.type===`Polygon`)for(let e of tr(n.geometry,0)){let t=Ad(e,16);j(Ic(e[0],te,!0),new hd(t.x,t.y,0))}else if(n.type===`LineString`)for(let e of n.geometry){let t=Ic(e,te);j(t,new hd(t[0].x,t[0].y,0))}else if(n.type===`Point`)for(let e of n.geometry)for(let t of e)j([t],new hd(t.x,t.y,0))}function zd(e,t,n,r,i,a,o,s,l,u,d,f,p,m,h){let g=function(e,t,n,r,i,a,o,s){let l=r.layout.get(`text-rotate`).evaluate(a,{})*Math.PI/180,u=[];for(let e of t.positionedLines)for(let r of e.positionedGlyphs){if(!r.rect)continue;let a=r.rect||{},d=4,f=!0,p=1,m=0,h=(i||s)&&r.vertical,g=r.metrics.advance*r.scale/2;if(s&&t.verticalizable&&(m=e.lineOffset/2-(r.imageName?-(Vl-r.metrics.width*r.scale)/2:(r.scale-1)*Vl)),r.imageName){let e=o[r.imageName];f=e.sdf,p=e.pixelRatio,d=1/p}let _=i?[r.x+g,r.y]:[0,0],v=i?[0,0]:[r.x+g+n[0],r.y+n[1]-m],y=[0,0];h&&(y=v,v=[0,0]);let b=r.metrics.isDoubleResolution?2:1,x=(r.metrics.left-d)*r.scale-g+v[0],S=(-r.metrics.top-d)*r.scale+v[1],C=x+a.w/b*r.scale/p,w=S+a.h/b*r.scale/p,T=new c(x,S),E=new c(C,S),D=new c(x,w),O=new c(C,w);if(h){let e=new c(-g,g- -17),t=-Math.PI/2,n=Vl/2-g,i=new c(22-n,-(r.imageName?n:0)),a=new c(...y);
12T._rotateAround(t,e)._add(i)._add(a),E._rotateAround(t,e)._add(i)._add(a),D._rotateAround(t,e)._add(i)._add(a),O._rotateAround(t,e)._add(i)._add(a)}if(l){let e=Math.sin(l),t=Math.cos(l),n=[t,-e,e,t];T._matMult(n),E._matMult(n),D._matMult(n),O._matMult(n)}let k=new c(0,0),A=new c(0,0);u.push({tl:T,tr:E,bl:D,br:O,tex:a,writingMode:t.writingMode,glyphOffset:_,sectionIndex:r.sectionIndex,isSDF:f,pixelOffsetTL:k,pixelOffsetBR:A,minFontScaleX:0,minFontScaleY:0})}return u}(0,n,s,i,a,o,r,e.allowVerticalPlacement),_=e.textSizeData,v=null;_.kind===`source`?(v=[128*i.layout.get(`text-size`).evaluate(o,{})],v[0]>xu&&le(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):_.kind===`composite`&&(v=[128*m.compositeTextSizes[0].evaluate(o,{},h),128*m.compositeTextSizes[1].evaluate(o,{},h)],(v[0]>xu||v[1]>xu)&&le(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),e.addSymbols(e.text,g,v,s,a,o,u,t,l.lineStartIndex,l.lineLength,p,h);for(let t of d)f[t]=e.text.placedSymbolArray.length-1;return 4*g.length}function Bd(e){for(let t in e)return e[t];return null}function Vd(e,t,n,r){let i=e.compareText;if(t in i){let e=i[t];for(let t=e.length-1;t>=0;t--)if(r.dist(e[t])<n)return!0}else i[t]=[];return i[t].push(r),!1}let Hd=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class Ud{static from(e){if(!(e instanceof ArrayBuffer))throw Error(`Data must be an instance of ArrayBuffer.`);let[t,n]=new Uint8Array(e,0,2);if(t!==219)throw Error(`Data does not appear to be in a KDBush format.`);let r=n>>4;if(r!==1)throw Error(`Got v${r} data when expected v1.`);let i=Hd[15&n];if(!i)throw Error(`Unrecognized array type.`);let[a]=new Uint16Array(e,2,1),[o]=new Uint32Array(e,4,1);return new Ud(o,a,i,e)}constructor(e,t=64,n=Float64Array,r){if(isNaN(e)||e<0)throw Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=n,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;let i=Hd.indexOf(this.ArrayType),a=2*e*this.ArrayType.BYTES_PER_ELEMENT,o=e*this.IndexArrayType.BYTES_PER_ELEMENT,s=(8-o%8)%8;if(i<0)throw Error(`Unexpected typed array class: ${n}.`);r&&r instanceof ArrayBuffer?(this.data=r,this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+o+s,2*e),this._pos=2*e,this._finished=!0):(this.data=new ArrayBuffer(8+a+o+s),this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+o+s,2*e),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=t,new Uint32Array(this.data,4,1)[0]=e)}add(e,t){let n=this._pos>>1;return this.ids[n]=n,this.coords[this._pos++]=e,this.coords[this._pos++]=t,n}finish(){let e=this._pos>>1;if(e!==this.numItems)throw Error(`Added ${e} items when expected ${this.numItems}.`);return Wd(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,t,n,r){if(!this._finished)throw Error(`Data not yet indexed - call index.finish().`);let{ids:i,coords:a,nodeSize:o}=this,s=[0,i.length-1,0],c=[];for(;s.length;){let l=s.pop()||0,u=s.pop()||0,d=s.pop()||0;if(u-d<=o){for(let o=d;o<=u;o++){let s=a[2*o],l=a[2*o+1];s>=e&&s<=n&&l>=t&&l<=r&&c.push(i[o])}continue}let f=d+u>>1,p=a[2*f],m=a[2*f+1];p>=e&&p<=n&&m>=t&&m<=r&&c.push(i[f]),(l===0?e<=p:t<=m)&&(s.push(d),s.push(f-1),s.push(1-l)),(l===0?n>=p:r>=m)&&(s.push(f+1),s.push(u),s.push(1-l))}return c}within(e,t,n){if(!this._finished)throw Error(`Data not yet indexed - call index.finish().`);let{ids:r,coords:i,nodeSize:a}=this,o=[0,r.length-1,0],s=[],c=n*n;for(;o.length;){let l=o.pop()||0,u=o.pop()||0,d=o.pop()||0;if(u-d<=a){for(let n=d;n<=u;n++)Jd(i[2*n],i[2*n+1],e,t)<=c&&s.push(r[n]);continue}let f=d+u>>1,p=i[2*f],m=i[2*f+1];Jd(p,m,e,t)<=c&&s.push(r[f]),(l===0?e-n<=p:t-n<=m)&&(o.push(d),o.push(f-1),o.push(1-l)),(l===0?e+n>=p:t+n>=m)&&(o.push(f+1),o.push(u),o.push(1-l))}return s}}function Wd(e,t,n,r,i,a){if(i-r<=n)return;let o=r+i>>1;Gd(e,t,o,r,i,a),Wd(e,t,n,r,o-1,1-a),Wd(e,t,n,o+1,i,1-a)}function Gd(e,t,n,r,i,a){for(;i>r;){if(i-r>600){let o=i-r+1,s=n-r+1,c=Math.log(o),l=.5*Math.exp(2*c/3),u=.5*Math.sqrt(c*l*(o-l)/o)*(s-o/2<0?-1:1);Gd(e,t,n,Math.max(r,Math.floor(n-s*l/o+u)),Math.min(i,Math.floor(n+(o-s)*l/o+u)),a)}let o=t[2*n+a],s=r,c=i;for(Kd(e,t,r,n),t[2*i+a]>o&&Kd(e,t,r,i);s<c;){for(Kd(e,t,s,c),s++,c--;t[2*s+a]<o;)s++;for(;t[2*c+a]>o;)c--}t[2*r+a]===o?Kd(e,t,r,c):(c++,Kd(e,t,c,i)),c<=n&&(r=c+1),n<=c&&(i=c-1)}}function Kd(e,t,n,r){qd(e,n,r),qd(t,2*n,2*r),qd(t,2*n+1,2*r+1)}function qd(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function Jd(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}var Yd;e.co=void 0,(Yd=e.co||={}).create=`create`,Yd.load=`load`,Yd.fullLoad=`fullLoad`;let Xd=null,Zd=[],Qd=1e3/60,$d=`loadTime`,ef=`fullLoadTime`;e.$=td,e.A=h,e.B=gn,e.C=wa,e.D=Q,e.E=Me,e.F=$i,e.G=function(e){if(ue==null){let t=e.navigator?e.navigator.userAgent:null;ue=!!e.safari||!(!t||!(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match(`Safari`)&&!t.match(`Chrome`)))}return ue},e.H=class{constructor(e,t){this.target=e,this.mapId=t,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Wu((()=>this.process())),this.subscription=me(this.target,`message`,(e=>this.receive(e)),!1),this.globalScope=P(self)?e:window}registerMessageHandler(e,t){this.messageHandlers[e]=t}sendAsync(e,t){return new Promise(((n,r)=>{let i=Math.round(0xde0b6b3a7640000*Math.random()).toString(36).substring(0,10),a=t?me(t.signal,`abort`,(()=>{a?.unsubscribe(),delete this.resolveRejects[i];let t={id:i,type:`<cancel>`,origin:location.origin,targetMapId:e.targetMapId,sourceMapId:this.mapId};this.target.postMessage(t)}),Gu):null;this.resolveRejects[i]={resolve:e=>{a?.unsubscribe(),n(e)},reject:e=>{a?.unsubscribe(),r(e)}};let o=[],s=Object.assign(Object.assign({},e),{id:i,sourceMapId:this.mapId,origin:location.origin,data:ca(e.data,o)});this.target.postMessage(s,{transfer:o})}))}receive(e){let t=e.data,n=t.id;if(!(t.origin!==`file://`&&location.origin!==`file://`&&t.origin!==`resource://android`&&location.origin!==`resource://android`&&t.origin!==location.origin||t.targetMapId&&this.mapId!==t.targetMapId)){if(t.type===`<cancel>`){delete this.tasks[n];let e=this.abortControllers[n];delete this.abortControllers[n],e&&e.abort();return}if(P(self)||t.mustQueue)return this.tasks[n]=t,this.taskQueue.push(n),void this.invoker.trigger();this.processTask(n,t)}}process(){if(this.taskQueue.length===0)return;let e=this.taskQueue.shift(),t=this.tasks[e];delete this.tasks[e],this.taskQueue.length>0&&this.invoker.trigger(),t&&this.processTask(e,t)}processTask(e,n){return t(this,void 0,void 0,(function*(){if(n.type===`<response>`){let t=this.resolveRejects[e];if(delete this.resolveRejects[e],!t)return;n.error?t.reject(la(n.error)):t.resolve(la(n.data));return}if(!this.messageHandlers[n.type])return void this.completeTask(e,Error(`Could not find a registered handler for ${n.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(`, `)}`));let t=la(n.data),r=new AbortController;this.abortControllers[e]=r;try{let i=yield this.messageHandlers[n.type](n.sourceMapId,t,r);this.completeTask(e,null,i)}catch(t){this.completeTask(e,t)}}))}completeTask(e,t,n){let r=[];delete this.abortControllers[e];let i={id:e,type:`<response>`,sourceMapId:this.mapId,origin:location.origin,error:t?ca(t):null,data:ca(n,r)};this.target.postMessage(i,{transfer:r})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},e.I=Xl,e.J=Ce,e.K=function(){var e=new h(16);return h!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e},e.L=function(e,t,n){var r,i,a,o,s,c,l,u,d,f,p,m,h=n[0],g=n[1],_=n[2];return t===e?(e[12]=t[0]*h+t[4]*g+t[8]*_+t[12],e[13]=t[1]*h+t[5]*g+t[9]*_+t[13],e[14]=t[2]*h+t[6]*g+t[10]*_+t[14],e[15]=t[3]*h+t[7]*g+t[11]*_+t[15]):(i=t[1],a=t[2],o=t[3],s=t[4],c=t[5],l=t[6],u=t[7],d=t[8],f=t[9],p=t[10],m=t[11],e[0]=r=t[0],e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=c,e[6]=l,e[7]=u,e[8]=d,e[9]=f,e[10]=p,e[11]=m,e[12]=r*h+s*g+d*_+t[12],e[13]=i*h+c*g+f*_+t[13],e[14]=a*h+l*g+p*_+t[14],e[15]=o*h+u*g+m*_+t[15]),e},e.M=function(e,t,n){var r=n[0],i=n[1],a=n[2];return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},e.N=function(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],c=t[5],l=t[6],u=t[7],d=t[8],f=t[9],p=t[10],m=t[11],h=t[12],g=t[13],_=t[14],v=t[15],y=n[0],b=n[1],x=n[2],S=n[3];return e[0]=y*r+b*s+x*d+S*h,e[1]=y*i+b*c+x*f+S*g,e[2]=y*a+b*l+x*p+S*_,e[3]=y*o+b*u+x*m+S*v,e[4]=(y=n[4])*r+(b=n[5])*s+(x=n[6])*d+(S=n[7])*h,e[5]=y*i+b*c+x*f+S*g,e[6]=y*a+b*l+x*p+S*_,e[7]=y*o+b*u+x*m+S*v,e[8]=(y=n[8])*r+(b=n[9])*s+(x=n[10])*d+(S=n[11])*h,e[9]=y*i+b*c+x*f+S*g,e[10]=y*a+b*l+x*p+S*_,e[11]=y*o+b*u+x*m+S*v,e[12]=(y=n[12])*r+(b=n[13])*s+(x=n[14])*d+(S=n[15])*h,e[13]=y*i+b*c+x*f+S*g,e[14]=y*a+b*l+x*p+S*_,e[15]=y*o+b*u+x*m+S*v,e},e.O=function(e,t){let n={};for(let r=0;r<t.length;r++){let i=t[r];
12i in e&&(n[i]=e[i])}return n},e.P=c,e.Q=qu,e.R=Ys,e.S=Zu,e.T=Da,e.U=Xu,e.V=f,e.W=p,e.X=fe,e.Y=ad,e.Z=D,e._=t,e.a=xe,e.a$=function(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10],f=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+l*r,e[5]=o*i+u*r,e[6]=s*i+d*r,e[7]=c*i+f*r,e[8]=l*i-a*r,e[9]=u*i-o*r,e[10]=d*i-s*r,e[11]=f*i-c*r,e},e.a0=25,e.a1=rd,e.a2=e=>{let t=window.document.createElement(`video`);return t.muted=!0,new Promise((n=>{t.onloadstart=()=>{n(t)};for(let n of e){let e=window.document.createElement(`source`);De(n)||(t.crossOrigin=`Anonymous`),e.src=n,t.appendChild(e)}}))},e.a3=R,e.a4=function(){return ie++},e.a5=ho,e.a6=ju,e.a7=ui,e.a8=ys,e.a9=ld,e.aA=function(e,t,n,r,i=!1){if(!n[0]&&!n[1])return[0,0];let a=i?r===`map`?-e.bearingInRadians:0:r===`viewport`?e.bearingInRadians:0;if(a){let e=Math.sin(a),t=Math.cos(a);n=[n[0]*t-n[1]*e,n[0]*e+n[1]*t]}return[i?n[0]:O(t,n[0],e.zoom),i?n[1]:O(t,n[1],e.zoom)]},e.aC=Cu,e.aD=Ld,e.aE=du,e.aF=Ud,e.aG=Ha,e.aH=jc,e.aI=Eo,e.aJ=Vo,e.aK=Ro,e.aL=re,e.aM=ge,e.aN=ed,e.aO=function(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e},e.aP=function(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e},e.aQ=function(e){var t=new h(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},e.aR=function(e,t,n){return e[0]=t[0]*n[0],e[1]=t[1]*n[1],e[2]=t[2]*n[2],e[3]=t[3]*n[3],e},e.aS=function(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2],e},e.aT=function(e,t){var n=t[0],r=t[1],i=t[2],a=n*n+r*r+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e},e.aU=function(e,t,n){var r=t[0],i=t[1],a=t[2],o=n[0],s=n[1],c=n[2];return e[0]=i*c-a*s,e[1]=a*o-r*c,e[2]=r*s-i*o,e},e.aV=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]},e.aW=id,e.aX=od,e.aY=function(e,t,n,r,i){var a,o=1/Math.tan(t/2);return e[0]=o/n,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0?(e[10]=(i+r)*(a=1/(r-i)),e[14]=2*i*r*a):(e[10]=-1,e[14]=-2*r),e},e.aZ=function(e){var t=new h(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},e.a_=function(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[0],o=t[1],s=t[2],c=t[3],l=t[4],u=t[5],d=t[6],f=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+l*r,e[1]=o*i+u*r,e[2]=s*i+d*r,e[3]=c*i+f*r,e[4]=l*i-a*r,e[5]=u*i-o*r,e[6]=d*i-s*r,e[7]=f*i-c*r,e},e.aa=function(e){let t={};if(e.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((e,n,r,i)=>{let a=r||i;return t[n]=!a||a.toLowerCase(),``})),t[`max-age`]){let e=parseInt(t[`max-age`],10);isNaN(e)?delete t[`max-age`]:t[`max-age`]=e}return t},e.ab=he,e.ac=function(e){return 2**e},e.ad=_,e.ae=ne,e.af=85.051129,e.ag=Qu,e.ah=function(e){return Math.log(e)/Math.LN2},e.ai=function(e){var t=e[0],n=e[1];return t*t+n*n},e.aj=function(e,t){let n=[];for(let r in e)r in t||n.push(r);return n},e.ak=function(e,t){let n=0,r=0;if(e.kind===`constant`)r=e.layoutSize;else if(e.kind!==`source`){let{interpolationType:i,minZoom:a,maxZoom:o}=e,s=i?ne(mn.interpolationFactor(i,t,a,o),0,1):0;e.kind===`camera`?r=gn.number(e.minSize,e.maxSize,s):n=s}return{uSizeT:n,uSize:r}},e.am=function(e,{uSize:t,uSizeT:n},{lowerSize:r,upperSize:i}){return e.kind===`source`?r/128:e.kind===`composite`?gn.number(r/128,i/128,n):t},e.an=function(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10],p=t[11],m=t[12],h=t[13],g=t[14],_=t[15],v=n*s-r*o,y=n*c-i*o,b=n*l-a*o,x=r*c-i*s,S=r*l-a*s,C=i*l-a*c,w=u*h-d*m,T=u*g-f*m,E=u*_-p*m,D=d*g-f*h,O=d*_-p*h,k=f*_-p*g,A=v*k-y*O+b*D+x*E-S*T+C*w;return A?(e[0]=(s*k-c*O+l*D)*(A=1/A),e[1]=(i*O-r*k-a*D)*A,e[2]=(h*C-g*S+_*x)*A,e[3]=(f*S-d*C-p*x)*A,e[4]=(c*E-o*k-l*T)*A,e[5]=(n*k-i*E+a*T)*A,e[6]=(g*b-m*C-_*y)*A,e[7]=(u*C-f*b+p*y)*A,e[8]=(o*O-s*E+l*w)*A,e[9]=(r*E-n*O-a*w)*A,e[10]=(m*S-h*b+_*v)*A,e[11]=(d*b-u*S-p*v)*A,e[12]=(s*T-o*D-c*w)*A,e[13]=(n*D-r*T+i*w)*A,e[14]=(h*y-m*x-g*v)*A,e[15]=(u*x-d*y+f*v)*A,e):null},e.ao=T,e.ap=function(e){return Math.hypot(e[0],e[1])},e.aq=function(e){return e[0]=0,e[1]=0,e},e.ar=function(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e},e.as=Du,e.at=C,e.au=function(e,t,n,r){let i=t.y-e.y,a=t.x-e.x,o=r.y-n.y,s=r.x-n.x,l=o*a-s*i;if(l===0)return null;let u=(s*(e.y-n.y)-o*(e.x-n.x))/l;return new c(e.x+u*a,e.y+u*i)},e.av=md,e.aw=Cs,e.ax=function(e){let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),n=Math.min(n,a.y),r=Math.max(r,a.x),i=Math.max(i,a.y);return[t,n,r,i]},e.ay=Vl,e.az=O,e.b=F,e.b$=class extends fo{},e.b0=function(){let e=new Float32Array(16);return _(e),e},e.b1=function(){let e=new Float64Array(16);return _(e),e},e.b2=function(){return new Float64Array(16)},e.b3=function(e,t,n){let r=new Float64Array(4);return function(e,t,n,r){var i=.5*Math.PI/180;t*=i,n*=i,r*=i;var a=Math.sin(t),o=Math.cos(t),s=Math.sin(n),c=Math.cos(n),l=Math.sin(r),u=Math.cos(r);
12e[0]=a*c*u-o*s*l,e[1]=o*s*u+a*c*l,e[2]=o*c*l-a*s*u,e[3]=o*c*u+a*s*l}(r,e,t-90,n),r},e.b4=function(e,t,n,r){var i,a,o,s,c,l=t[0],u=t[1],d=t[2],f=t[3],p=n[0],h=n[1],g=n[2],_=n[3];return(a=l*p+u*h+d*g+f*_)<0&&(a=-a,p=-p,h=-h,g=-g,_=-_),1-a>m?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-r)*i)/o,c=Math.sin(r*i)/o):(s=1-r,c=r),e[0]=s*l+c*p,e[1]=s*u+c*h,e[2]=s*d+c*g,e[3]=s*f+c*_,e},e.b5=function(e){let t=new Float64Array(9);var n,r,i,a,o,s,c,l,u,d=(i=(r=e)[0])*(c=i+i),f=(a=r[1])*c,p,m=(o=r[2])*c,h=o*(l=a+a),g,_=(s=r[3])*c,v=s*l,y=s*(u=o+o);(n=t)[0]=1-(p=a*l)-(g=o*u),n[3]=f-y,n[6]=m+v,n[1]=f+y,n[4]=1-d-g,n[7]=h-_,n[2]=m-v,n[5]=h+_,n[8]=1-d-p;let b=ge(-Math.asin(ne(t[2],-1,1))),x,S;return Math.hypot(t[5],t[8])<.001?(x=0,S=-ge(Math.atan2(t[3],t[4]))):(x=ge(t[5]===0&&t[8]===0?0:Math.atan2(t[5],t[8])),S=ge(t[1]===0&&t[0]===0?0:Math.atan2(t[1],t[0]))),{roll:x,pitch:b+90,bearing:S}},e.b6=function(e,t){return e.roll==t.roll&&e.pitch==t.pitch&&e.bearing==t.bearing},e.b7=W,e.b8=ns,e.b9=Mc,e.bA=function(e){if(e.type===`custom`)return new Uu(e);switch(e.type){case`background`:return new zu(e);case`circle`:return new Bs(e);case`fill`:return new Wc(e);case`fill-extrusion`:return new hl(e);case`heatmap`:return new Qs(e);case`hillshade`:return new tc(e);case`line`:return new kl(e);case`raster`:return new Hu(e);case`symbol`:return new Iu(e)}},e.bB=se,e.bC=function(e,t){if(!e)return[{command:`setStyle`,args:[t]}];let n=[];try{if(!Fe(e.version,t.version))return[{command:`setStyle`,args:[t]}];Fe(e.center,t.center)||n.push({command:`setCenter`,args:[t.center]}),Fe(e.state,t.state)||n.push({command:`setGlobalState`,args:[t.state]}),Fe(e.centerAltitude,t.centerAltitude)||n.push({command:`setCenterAltitude`,args:[t.centerAltitude]}),Fe(e.zoom,t.zoom)||n.push({command:`setZoom`,args:[t.zoom]}),Fe(e.bearing,t.bearing)||n.push({command:`setBearing`,args:[t.bearing]}),Fe(e.pitch,t.pitch)||n.push({command:`setPitch`,args:[t.pitch]}),Fe(e.roll,t.roll)||n.push({command:`setRoll`,args:[t.roll]}),Fe(e.sprite,t.sprite)||n.push({command:`setSprite`,args:[t.sprite]}),Fe(e.glyphs,t.glyphs)||n.push({command:`setGlyphs`,args:[t.glyphs]}),Fe(e.transition,t.transition)||n.push({command:`setTransition`,args:[t.transition]}),Fe(e.light,t.light)||n.push({command:`setLight`,args:[t.light]}),Fe(e.terrain,t.terrain)||n.push({command:`setTerrain`,args:[t.terrain]}),Fe(e.sky,t.sky)||n.push({command:`setSky`,args:[t.sky]}),Fe(e.projection,t.projection)||n.push({command:`setProjection`,args:[t.projection]});let r={},i=[];(function(e,t,n,r){let i;for(i in t||={},e||={})Object.prototype.hasOwnProperty.call(e,i)&&(Object.prototype.hasOwnProperty.call(t,i)||Re(i,n,r));for(i in t)Object.prototype.hasOwnProperty.call(t,i)&&(Object.prototype.hasOwnProperty.call(e,i)?Fe(e[i],t[i])||(e[i].type===`geojson`&&t[i].type===`geojson`&&Be(e,t,i)?Ie(n,{command:`setGeoJSONSourceData`,args:[i,t[i].data]}):ze(i,t,n,r)):Le(i,t,n))})(e.sources,t.sources,i,r);let a=[];e.layers&&e.layers.forEach((e=>{`source`in e&&r[e.source]?n.push({command:`removeLayer`,args:[e.id]}):a.push(e)})),n=n.concat(i),function(e,t,n){t||=[];let r=(e||=[]).map(He),i=t.map(He),a=e.reduce(Ue,{}),o=t.reduce(Ue,{}),s=r.slice(),c=Object.create(null),l,u,d,f,p;for(let e=0,t=0;e<r.length;e++)l=r[e],Object.prototype.hasOwnProperty.call(o,l)?t++:(Ie(n,{command:`removeLayer`,args:[l]}),s.splice(s.indexOf(l,t),1));for(let e=0,t=0;e<i.length;e++)l=i[i.length-1-e],s[s.length-1-e]!==l&&(Object.prototype.hasOwnProperty.call(a,l)?(Ie(n,{command:`removeLayer`,args:[l]}),s.splice(s.lastIndexOf(l,s.length-t),1)):t++,f=s[s.length-e],Ie(n,{command:`addLayer`,args:[o[l],f]}),s.splice(s.length-e,0,l),c[l]=!0);for(let e=0;e<i.length;e++)if(l=i[e],u=a[l],d=o[l],!c[l]&&!Fe(u,d))if(Fe(u.source,d.source)&&Fe(u[`source-layer`],d[`source-layer`])&&Fe(u.type,d.type)){for(p in Ve(u.layout,d.layout,n,l,null,`setLayoutProperty`),Ve(u.paint,d.paint,n,l,null,`setPaintProperty`),Fe(u.filter,d.filter)||Ie(n,{command:`setFilter`,args:[l,d.filter]}),Fe(u.minzoom,d.minzoom)&&Fe(u.maxzoom,d.maxzoom)||Ie(n,{command:`setLayerZoomRange`,args:[l,d.minzoom,d.maxzoom]}),u)Object.prototype.hasOwnProperty.call(u,p)&&p!==`layout`&&p!==`paint`&&p!==`filter`&&p!==`metadata`&&p!==`minzoom`&&p!==`maxzoom`&&(p.indexOf(`paint.`)===0?Ve(u[p],d[p],n,l,p.slice(6),`setPaintProperty`):Fe(u[p],d[p])||Ie(n,{command:`setLayerProperty`,args:[l,p,d[p]]}));for(p in d)Object.prototype.hasOwnProperty.call(d,p)&&!Object.prototype.hasOwnProperty.call(u,p)&&p!==`layout`&&p!==`paint`&&p!==`filter`&&p!==`metadata`&&p!==`minzoom`&&p!==`maxzoom`&&(p.indexOf(`paint.`)===0?Ve(u[p],d[p],n,l,p.slice(6),`setPaintProperty`):Fe(u[p],d[p])||Ie(n,{command:`setLayerProperty`,args:[l,p,d[p]]}))}else Ie(n,{command:`removeLayer`,args:[l]}),f=s[s.lastIndexOf(l)+1],Ie(n,{command:`addLayer`,args:[d,f]})}(a,t.layers,n)}catch(e){console.warn(`Unable to compute style diff:`,e),n=[{command:`setStyle`,args:[t]}]}return n},e.bD=function(e){let t=[],n=e.id;return n===void 0&&t.push({message:`layers.${n}: missing required property "id"`}),e.render===void 0&&t.push({message:`layers.${n}: missing required method "render"`}),e.renderingMode&&e.renderingMode!==`2d`&&e.renderingMode!==`3d`&&t.push({message:`layers.${n}: property "renderingMode" must be either "2d" or "3d"`}),t},e.bE=function e(t,n){if(Array.isArray(t)){if(!Array.isArray(n)||t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(!e(t[r],n[r]))return!1;return!0}if(typeof t==`object`&&t&&n!==null){if(typeof n!=`object`||Object.keys(t).length!==Object.keys(n).length)return!1;for(let r in t)if(!e(t[r],n[r]))return!1;return!0}return t===n},e.bF=ae,e.bG=oe,e.bH=class extends ts{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1i(this.location,e))}},e.bI=is,e.bJ=class extends ts{constructor(e,t){super(e,t),this.current=as}set(e){if(e[12]!==this.current[12]||e[0]!==this.current[0])return this.current=e,void this.gl.uniformMatrix4fv(this.location,!1,e);for(let t=1;t<16;t++)if(e[t]!==this.current[t]){this.current=e,this.gl.uniformMatrix4fv(this.location,!1,e);break}}},e.bK=rs,e.bL=class extends ts{constructor(e,t){super(e,t),this.current=[0,0,0]}set(e){e[0]===this.current[0]&&e[1]===this.current[1]&&e[2]===this.current[2]||(this.current=e,this.gl.uniform3f(this.location,e[0],e[1],e[2]))}},e.bM=class extends ts{constructor(e,t){super(e,t),this.current=[0,0]}set(e){e[0]===this.current[0]&&e[1]===this.current[1]||(this.current=e,this.gl.uniform2f(this.location,e[0],e[1]))}},e.bN=g,e.bO=function(e,t){var n=Math.sin(t),r=Math.cos(t);return e[0]=r,e[1]=n,e[2]=0,e[3]=-n,e[4]=r,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},e.bP=function(e,t,n){var r=t[0],i=t[1],a=t[2];return e[0]=r*n[0]+i*n[3]+a*n[6],e[1]=r*n[1]+i*n[4]+a*n[7],e[2]=r*n[2]+i*n[5]+a*n[8],e},e.bQ=function(e,t,n,r,i,a,o){var s=1/(t-n),c=1/(r-i),l=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10
12]=2*l,e[11]=0,e[12]=(t+n)*s,e[13]=(i+r)*c,e[14]=(o+a)*l,e[15]=1,e},e.bR=class extends ts{constructor(e,t){super(e,t),this.current=[]}set(e){if(e!=this.current){this.current=e;let t=new Float32Array(4*e.length);for(let n=0;n<e.length;n++)t[4*n]=e[n].r,t[4*n+1]=e[n].g,t[4*n+2]=e[n].b,t[4*n+3]=e[n].a;this.gl.uniform4fv(this.location,t)}}},e.bS=class extends ts{constructor(e,t){super(e,t),this.current=[]}set(e){if(e!=this.current){this.current=e;let t=new Float32Array(e);this.gl.uniform1fv(this.location,t)}}},e.bT=class extends no{},e.bU=Fl,e.bV=class extends io{},e.bW=Zs,e.bX=function(e){return e<=1?1:2**Math.ceil(Math.log(e)/Math.LN2)},e.bY=Xs,e.bZ=function(e,t,n){var r=t[0],i=t[1],a=t[2],o=n[3]*r+n[7]*i+n[11]*a+n[15];return e[0]=(n[0]*r+n[4]*i+n[8]*a+n[12])/(o||=1),e[1]=(n[1]*r+n[5]*i+n[9]*a+n[13])/o,e[2]=(n[2]*r+n[6]*i+n[10]*a+n[14])/o,e},e.b_=class extends Ka{},e.ba=Nc,e.bb=Ac,e.bc=A,e.bd=ee,e.be=G,e.bf=function(e,t,n,r,i){return A(r,i,ne((e-t)/(n-t),0,1))},e.bg=k,e.bh=function(){return new Float64Array(3)},e.bi=function(e,t,n,r){return e[0]=t[0]+n[0]*r,e[1]=t[1]+n[1]*r,e[2]=t[2]+n[2]*r,e},e.bj=S,e.bk=function(){return new Float64Array(4)},e.bl=function(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[0]*Math.cos(r)-i[1]*Math.sin(r),a[1]=i[0]*Math.sin(r)+i[1]*Math.cos(r),a[2]=i[2],e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e},e.bm=function(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[0],a[1]=i[1]*Math.cos(r)-i[2]*Math.sin(r),a[2]=i[1]*Math.sin(r)+i[2]*Math.cos(r),e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e},e.bn=function(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[2]*Math.sin(r)+i[0]*Math.cos(r),a[1]=i[1],a[2]=i[2]*Math.cos(r)-i[0]*Math.sin(r),e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e},e.bo=y,e.bp=function(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[0],o=t[1],s=t[2],c=t[3],l=t[8],u=t[9],d=t[10],f=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-l*r,e[1]=o*i-u*r,e[2]=s*i-d*r,e[3]=c*i-f*r,e[8]=a*r+l*i,e[9]=o*r+u*i,e[10]=s*r+d*i,e[11]=c*r+f*i,e},e.bq=function(e,t){let n=k(e,360),r=k(t,360),i=r-n,a=r>n?i-360:i+360;return Math.abs(i)<Math.abs(a)?i:a},e.br=function(e){return e[0]=0,e[1]=0,e[2]=0,e},e.bs=function(e,t,n,r){let i=Math.sqrt(e*e+t*t),a=Math.sqrt(n*n+r*r);e/=i,t/=i,n/=a,r/=a;let o=Math.acos(e*n+t*r);return-t*n+e*r>0?o:-o},e.bt=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]},e.bu=Ku,e.bv=function(e,t){let n=k(e,2*Math.PI),r=k(t,2*Math.PI);return Math.min(Math.abs(n-r),Math.abs(n-r+2*Math.PI),Math.abs(n-r-2*Math.PI))},e.bw=function(){let e={},t=L.$version;for(let n in L.$root){let r=L.$root[n];if(r.required){let i=null;i=n===`version`?t:r.type===`array`?[]:{},i!=null&&(e[n]=i)}}return e},e.bx=ua,e.by=Te,e.bz=function(e){e=e.slice();let t=Object.create(null);for(let n=0;n<e.length;n++)t[e[n].id]=e[n];for(let n=0;n<e.length;n++)`ref`in e[n]&&(e[n]=Pe(e[n],t[e[n].ref]));return e},e.c=be,e.c0=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},e.c1=function(e,t){var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],s=e[5],c=e[6],l=e[7],u=e[8],d=e[9],f=e[10],p=e[11],h=e[12],g=e[13],_=e[14],v=e[15],y=t[0],b=t[1],x=t[2],S=t[3],C=t[4],w=t[5],T=t[6],E=t[7],D=t[8],O=t[9],k=t[10],A=t[11],ee=t[12],te=t[13],j=t[14],ne=t[15];return Math.abs(n-y)<=m*Math.max(1,Math.abs(n),Math.abs(y))&&Math.abs(r-b)<=m*Math.max(1,Math.abs(r),Math.abs(b))&&Math.abs(i-x)<=m*Math.max(1,Math.abs(i),Math.abs(x))&&Math.abs(a-S)<=m*Math.max(1,Math.abs(a),Math.abs(S))&&Math.abs(o-C)<=m*Math.max(1,Math.abs(o),Math.abs(C))&&Math.abs(s-w)<=m*Math.max(1,Math.abs(s),Math.abs(w))&&Math.abs(c-T)<=m*Math.max(1,Math.abs(c),Math.abs(T))&&Math.abs(l-E)<=m*Math.max(1,Math.abs(l),Math.abs(E))&&Math.abs(u-D)<=m*Math.max(1,Math.abs(u),Math.abs(D))&&Math.abs(d-O)<=m*Math.max(1,Math.abs(d),Math.abs(O))&&Math.abs(f-k)<=m*Math.max(1,Math.abs(f),Math.abs(k))&&Math.abs(p-A)<=m*Math.max(1,Math.abs(p),Math.abs(A))&&Math.abs(h-ee)<=m*Math.max(1,Math.abs(h),Math.abs(ee))&&Math.abs(g-te)<=m*Math.max(1,Math.abs(g),Math.abs(te))&&Math.abs(_-j)<=m*Math.max(1,Math.abs(_),Math.abs(j))&&Math.abs(v-ne)<=m*Math.max(1,Math.abs(v),Math.abs(ne))},e.c2=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},e.c3=e=>e.type===`symbol`,e.c4=e=>e.type===`circle`,e.c5=e=>e.type===`heatmap`,e.c6=e=>e.type===`line`,e.c7=e=>e.type===`fill`,e.c8=e=>e.type===`fill-extrusion`,e.c9=e=>e.type===`hillshade`,e.cA=Bc,e.cB=ll,e.cC=al,e.cD=Gl,e.cE=class{constructor(e){this._marks={start:[e.url,`start`].join(`#`),end:[e.url,`end`].join(`#`),measure:e.url.toString()},performance.mark(this._marks.start)}finish(){performance.mark(this._marks.end);let e=performance.getEntriesByName(this._marks.measure);return e.length===0&&(performance.measure(this._marks.measure,this._marks.start,this._marks.end),e=performance.getEntriesByName(this._marks.measure),performance.clearMarks(this._marks.start),performance.clearMarks(this._marks.end),performance.clearMeasures(this._marks.measure)),e}},e.cF=function(e,n,r,i,a){return t(this,void 0,void 0,(function*(){if(p())try{return yield fe(e,n,r,i,a)}catch{}return function(e,t,n,r,i){let a=e.width,o=e.height;
12I&&pe||(I=new OffscreenCanvas(a,o),pe=I.getContext(`2d`,{willReadFrequently:!0})),I.width=a,I.height=o,pe.drawImage(e,0,0,a,o);let s=pe.getImageData(t,n,r,i);return pe.clearRect(0,0,a,o),s.data}(e,n,r,i,a)}))},e.cG=sd,e.cH=n,e.cI=a,e.cJ=il,e.cK=Wl,e.cL=ni,e.cM=Ca,e.ca=e=>e.type===`raster`,e.cb=e=>e.type===`background`,e.cc=e=>e.type===`custom`,e.cd=te,e.ce=function(e,t,n){let r=E(t.x-n.x,t.y-n.y),i=E(e.x-n.x,e.y-n.y);var a,o;return ge(Math.atan2(r[0]*i[1]-r[1]*i[0],(a=r)[0]*(o=i)[0]+a[1]*o[1]))},e.cf=j,e.cg=function(e,t){return ve[t]&&(e instanceof MouseEvent||e instanceof WheelEvent)},e.ch=function(e,t){return _e[t]&&`touches`in e},e.ci=function(e){return _e[e]||ve[e]},e.cj=function(e,t,n){var r=t[0],i=t[1];return e[0]=n[0]*r+n[4]*i+n[12],e[1]=n[1]*r+n[5]*i+n[13],e},e.ck=function(e,t){let{x:n,y:r}=td.fromLngLat(t);return!(e<0||e>25||r<0||r>=1||n<0||n>=1)},e.cl=function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},e.cm=class extends Ga{},e.cn={mark(e){performance.mark(e)},frame(e){let t=e;Xd!=null&&Zd.push(t-Xd),Xd=t},clearMetrics(){Xd=null,Zd=[],performance.clearMeasures($d),performance.clearMeasures(ef);for(let t in e.co)performance.clearMarks(e.co[t])},getPerformanceMetrics(){performance.measure($d,e.co.create,e.co.load),performance.measure(ef,e.co.create,e.co.fullLoad);let t=performance.getEntriesByName($d)[0].duration,n=performance.getEntriesByName(ef)[0].duration,r=Zd.length,i=1/(Zd.reduce(((e,t)=>e+t),0)/r/1e3),a=Zd.filter((e=>e>Qd)).reduce(((e,t)=>e+(t-Qd)/Qd),0);return{loadTime:t,fullLoadTime:n,fps:i,percentDroppedFrames:a/(r+a)*100,totalFrames:r}}},e.cp=function(e){return e.message===ye},e.cq=we,e.cr=function(e,t){xe.REGISTERED_PROTOCOLS[e]=t},e.cs=function(e){delete xe.REGISTERED_PROTOCOLS[e]},e.ct=function(e,t){let n={};for(let r=0;r<e.length;r++){let i=t&&t[e[r].id]||yi(e[r]);t&&(t[e[r].id]=i);let a=n[i];a||=n[i]=[],a.push(e[r])}let r=[];for(let e in n)r.push(n[e]);return r},e.cu=X,e.cv=cd,e.cw=ud,e.cx=Zl,e.cy=function(t){t.bucket.createArrays(),t.bucket.tilePixelRatio=D/(512*t.bucket.overscaling),t.bucket.compareText={},t.bucket.iconsNeedLinear=!1;let n=t.bucket.layers[0],r=n.layout,i=n._unevaluatedLayout._values,a={layoutIconSize:i[`icon-size`].possiblyEvaluate(new wa(t.bucket.zoom+1),t.canonical),layoutTextSize:i[`text-size`].possiblyEvaluate(new wa(t.bucket.zoom+1),t.canonical),textMaxSize:i[`text-size`].possiblyEvaluate(new wa(18))};if(t.bucket.textSizeData.kind===`composite`){let{minZoom:e,maxZoom:n}=t.bucket.textSizeData;a.compositeTextSizes=[i[`text-size`].possiblyEvaluate(new wa(e),t.canonical),i[`text-size`].possiblyEvaluate(new wa(n),t.canonical)]}if(t.bucket.iconSizeData.kind===`composite`){let{minZoom:e,maxZoom:n}=t.bucket.iconSizeData;a.compositeIconSizes=[i[`icon-size`].possiblyEvaluate(new wa(e),t.canonical),i[`icon-size`].possiblyEvaluate(new wa(n),t.canonical)]}let o=r.get(`text-line-height`)*Vl,s=r.get(`text-rotation-alignment`)!==`viewport`&&r.get(`symbol-placement`)!==`point`,c=r.get(`text-keep-upright`),l=r.get(`text-size`);for(let i of t.bucket.features){let u=r.get(`text-font`).evaluate(i,{},t.canonical).join(`,`),d=l.evaluate(i,{},t.canonical),f=a.layoutTextSize.evaluate(i,{},t.canonical),p=a.layoutIconSize.evaluate(i,{},t.canonical),m={horizontal:{},vertical:void 0},h=i.text,g,_=[0,0];if(h){let a=h.toString(),l=r.get(`text-letter-spacing`).evaluate(i,{},t.canonical)*Vl,p=fa(a)?l:0,g=r.get(`text-anchor`).evaluate(i,{},t.canonical),v=Id(n,i,t.canonical);if(!v){let e=r.get(`text-radial-offset`).evaluate(i,{},t.canonical);_=e?Fd(g,[e*Vl,Pd]):r.get(`text-offset`).evaluate(i,{},t.canonical).map((e=>e*Vl))}let y=s?`center`:r.get(`text-justify`).evaluate(i,{},t.canonical),b=r.get(`symbol-placement`)===`point`?r.get(`text-max-width`).evaluate(i,{},t.canonical)*Vl:1/0,x=()=>{t.bucket.allowVerticalPlacement&&da(a)&&(m.vertical=tu(h,t.glyphMap,t.glyphPositions,t.imagePositions,u,b,o,g,`left`,p,_,e.al.vertical,!0,f,d))};if(!s&&v){let n=new Set;if(y===`auto`)for(let e=0;e<v.values.length;e+=2)n.add(Ld(v.values[e]));else n.add(y);let r=!1;for(let i of n)if(!m.horizontal[i])if(r)m.horizontal[i]=m.horizontal[0];else{let n=tu(h,t.glyphMap,t.glyphPositions,t.imagePositions,u,b,o,`center`,i,p,_,e.al.horizontal,!1,f,d);n&&(m.horizontal[i]=n,r=n.positionedLines.length===1)}x()}else{y===`auto`&&(y=Ld(g));let n=tu(h,t.glyphMap,t.glyphPositions,t.imagePositions,u,b,o,g,y,p,_,e.al.horizontal,!1,f,d);n&&(m.horizontal[y]=n),x(),da(a)&&s&&c&&(m.vertical=tu(h,t.glyphMap,t.glyphPositions,t.imagePositions,u,b,o,g,y,p,_,e.al.vertical,!1,f,d))}}let v=!1;if(i.icon&&i.icon.name){let e=t.imageMap[i.icon.name];e&&(g=vu(t.imagePositions[i.icon.name],r.get(`icon-offset`).evaluate(i,{},t.canonical),r.get(`icon-anchor`).evaluate(i,{},t.canonical)),v=!!e.sdf,t.bucket.sdfIcons===void 0?t.bucket.sdfIcons=v:t.bucket.sdfIcons!==v&&le(`Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer`),(e.pixelRatio!==t.bucket.pixelRatio||r.get(`icon-rotate`).constantOr(1)!==0)&&(t.bucket.iconsNeedLinear=!0))}let y=Bd(m.horizontal)||m.vertical;t.bucket.iconsInText=!!y&&y.iconsInText,(y||g)&&Rd(t.bucket,i,m,g,t.imageMap,a,f,p,_,v,t.canonical,t.subdivisionGranularity)}t.showCollisionBoxes&&t.bucket.generateCollisionDebugBuffers()},e.cz=Cl,e.d=De,e.e=M,e.f=e=>t(void 0,void 0,void 0,(function*(){if(e.byteLength===0)return createImageBitmap(new ImageData(1,1));let t=new Blob([new Uint8Array(e)],{type:`image/png`});try{return createImageBitmap(t)}catch(e){throw Error(`Could not load image because of ${e.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}})),e.g=Se,e.h=e=>new Promise(((t,n)=>{let r=new Image;r.onload=()=>{t(r),URL.revokeObjectURL(r.src),r.onload=null,window.requestAnimationFrame((()=>{r.src=de}))},r.onerror=()=>n(Error(`Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`));let i=new Blob([new Uint8Array(e)],{type:`image/png`});r.src=e.byteLength?URL.createObjectURL(i):de})),e.i=P,e.j=(e,t)=>
12Ee(M(e,{type:`json`}),t),e.k=je,e.l=Ae,e.m=Ee,e.n=(e,t)=>Ee(M(e,{type:`arrayBuffer`}),t),e.o=function(e){return new Gl(e).readFields(Kl,[])},e.p=Yl,e.q=Js,e.r=Ia,e.s=me,e.t=Qi,e.u=Z,e.v=L,e.w=le,e.x=na,e.y=Zi,e.z=function([e,t,n]){return t+=90,t*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(t)*Math.sin(n),y:e*Math.sin(t)*Math.sin(n),z:e*Math.cos(n)}}})),n(`worker`,[`./shared`],(function(e){class t{constructor(e){this.keyCache={},e&&this.replace(e)}replace(e){this._layerConfigs={},this._layers={},this.update(e,[])}update(t,n){for(let n of t){this._layerConfigs[n.id]=n;let t=this._layers[n.id]=e.bA(n);t._featureFilter=e.a7(t.filter),this.keyCache[n.id]&&delete this.keyCache[n.id]}for(let e of n)delete this.keyCache[e],delete this._layerConfigs[e],delete this._layers[e];this.familiesBySource={};let r=e.ct(Object.values(this._layerConfigs),this.keyCache);for(let e of r){let t=e.map((e=>this._layers[e.id])),n=t[0];if(n.visibility===`none`)continue;let r=n.source||``,i=this.familiesBySource[r];i||=this.familiesBySource[r]={};let a=n.sourceLayer||`_geojsonTileLayer`,o=i[a];o||=i[a]=[],o.push(t)}}}class n{constructor(t){let n={},r=[];for(let e in t){let i=t[e],a=n[e]={};for(let e in i){let t=i[+e];if(!t||t.bitmap.width===0||t.bitmap.height===0)continue;let n={x:0,y:0,w:t.bitmap.width+2,h:t.bitmap.height+2};r.push(n),a[e]={rect:n,metrics:t.metrics}}}let{w:i,h:a}=e.p(r),o=new e.q({width:i||1,height:a||1});for(let r in t){let i=t[r];for(let t in i){let a=i[+t];if(!a||a.bitmap.width===0||a.bitmap.height===0)continue;let s=n[r][t].rect;e.q.copy(a.bitmap,o,{x:0,y:0},{x:s.x+1,y:s.y+1},a.bitmap)}}this.image=o,this.positions=n}}e.cu(`GlyphAtlas`,n);class r{constructor(t){this.tileID=new e.Y(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming,this.returnDependencies=!!t.returnDependencies,this.promoteId=t.promoteId,this.inFlightDependencies=[]}parse(t,r,a,o,s){return e._(this,void 0,void 0,(function*(){this.status=`parsing`,this.data=t,this.collisionBoxArray=new e.a5;let c=new e.cv(Object.keys(t.layers).sort()),l=new e.cw(this.tileID,this.promoteId);l.bucketLayerIDs=[];let u={},d={featureIndex:l,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:a,subdivisionGranularity:s},f=r.familiesBySource[this.source];for(let n in f){let r=t.layers[n];if(!r)continue;r.version===1&&e.w(`Vector tile source "${this.source}" layer "${n}" does not use vector tile spec v2 and therefore may have some rendering errors.`);let o=c.encode(n),s=[];for(let e=0;e<r.length;e++){let t=r.feature(e),i=l.getId(t,n);s.push({feature:t,id:i,index:e,sourceLayerIndex:o})}for(let t of f[n]){let n=t[0];n.source!==this.source&&e.w(`layer.source = ${n.source} does not equal this.source = ${this.source}`),n.minzoom&&this.zoom<Math.floor(n.minzoom)||n.maxzoom&&this.zoom>=n.maxzoom||n.visibility!==`none`&&(i(t,this.zoom,a),(u[n.id]=n.createBucket({index:l.bucketLayerIDs.length,layers:t,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:o,sourceID:this.source})).populate(s,d,this.tileID.canonical),l.bucketLayerIDs.push(t.map((e=>e.id))))}}let p=e.bF(d.glyphDependencies,(e=>Object.keys(e).map(Number)));this.inFlightDependencies.forEach((e=>e?.abort())),this.inFlightDependencies=[];let m=Promise.resolve({});if(Object.keys(p).length){let e=new AbortController;this.inFlightDependencies.push(e),m=o.sendAsync({type:`GG`,data:{stacks:p,source:this.source,tileID:this.tileID,type:`glyphs`}},e)}let h=Object.keys(d.iconDependencies),g=Promise.resolve({});if(h.length){let e=new AbortController;this.inFlightDependencies.push(e),g=o.sendAsync({type:`GI`,data:{icons:h,source:this.source,tileID:this.tileID,type:`icons`}},e)}let _=Object.keys(d.patternDependencies),v=Promise.resolve({});if(_.length){let e=new AbortController;this.inFlightDependencies.push(e),v=o.sendAsync({type:`GI`,data:{icons:_,source:this.source,tileID:this.tileID,type:`patterns`}},e)}let[y,b,x]=yield Promise.all([m,g,v]),S=new n(y),C=new e.cx(b,x);for(let t in u){let n=u[t];n instanceof e.a6?(i(n.layers,this.zoom,a),e.cy({bucket:n,glyphMap:y,glyphPositions:S.positions,imageMap:b,imagePositions:C.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical,subdivisionGranularity:d.subdivisionGranularity})):n.hasPattern&&(n instanceof e.cz||n instanceof e.cA||n instanceof e.cB)&&(i(n.layers,this.zoom,a),n.addFeatures(d,this.tileID.canonical,C.patternPositions))}return this.status=`done`,{buckets:Object.values(u).filter((e=>!e.isEmpty())),featureIndex:l,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:S.image,imageAtlas:C,glyphMap:this.returnDependencies?y:null,iconMap:this.returnDependencies?b:null,glyphPositions:this.returnDependencies?S.positions:null}}))}}function i(t,n,r){let i=new e.C(n);for(let e of t)e.recalculate(i,r)}class a{constructor(e,t,n){this.actor=e,this.layerIndex=t,this.availableImages=n,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(t,n){return e._(this,void 0,void 0,(function*(){let r=yield e.n(t.request,n);try{return{vectorTile:new e.cC.VectorTile(new e.cD(r.data)),rawData:r.data,cacheControl:r.cacheControl,expires:r.expires}}catch(e){let n=new Uint8Array(r.data),i=`Unable to parse the tile at ${t.request.url}, `;throw i+=n[0]===31&&n[1]===139?`please make sure the data is not gzipped and that you have configured the relevant header in the server`:`got error: ${e.message}`,Error(i)}}))}loadTile(t){return e._(this,void 0,void 0,(function*(){let n=t.uid,i=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.cE(t.request),a=new r(t);this.loading[n]=a;let o=new AbortController;a.abort=o;try{let r=yield this.loadVectorTile(t,o);if(delete this.loading[n],!r)return null;let s=r.rawData,c={};r.expires&&(c.expires=r.expires),r.cacheControl&&(c.cacheControl=r.cacheControl);let l={};if(i){let e=i.finish();e&&(l.resourceTiming=JSON.parse(JSON.stringify(e)))}a.vectorTile=r.vectorTile;let u=a.parse(r.vectorTile,this.layerIndex,this.availableImages,this.actor,t.subdivisionGranularity);this.loaded[n]=a,this.fetching[n]={rawTileData:s,cacheControl:c,resourceTiming:l};try{let t=yield u;return e.e({rawTileData:s.slice(0)},t,c,l)}finally{delete this.fetching[n]}}catch(e){throw delete this.loading[n],a.status=`done`,this.loaded[n]=a,e}}))}reloadTile(t){return e._(this,void 0,void 0,(function*(){let n=t.uid;if(!this.loaded||!this.loaded[n])throw Error(`Should not be trying to reload a tile that was never loaded or has been removed`);let r=this.loaded[n];if(r.showCollisionBoxes=t.showCollisionBoxes,r.status===`parsing`){let i=yield r.parse(r.vectorTile,this.layerIndex,this.availableImages,this.actor,t.subdivisionGranularity),a;if(this.fetching[n]){let{rawTileData:t,cacheControl:r,resourceTiming:o}=this.fetching[n];delete this.fetching[n],a=e.e({rawTileData:t.slice(0)},i,r,o)}else a=i;return a}if(r.status===`done`&&r.vectorTile)return r.parse(r.vectorTile,this.layerIndex,this.availableImages,this.actor,t.subdivisionGranularity)}))}abortTile(t){return e._(this,void 0,void 0,(function*(){let e=this.loading,n=t.uid;e&&e[n]&&e[n].abort&&(e[n].abort.abort(),delete e[n])}))}removeTile(t){return e._(this,void 0,void 0,(function*(){this.loaded&&this.loaded[t.uid]&&delete this.loaded[t.uid]}))}}class o{constructor(){this.loaded={}}loadTile(t){return e._(this,void 0,void 0,(function*(){let{uid:n,encoding:r,rawImageData:i,redFactor:a,greenFactor:o,blueFactor:s,baseShift:c}=t,l=i.width+2,u=i.height+2,d=e.b(i)?new e.R({width:l,height:u},yield e.cF(i,-1,-1,l,u)):i,f=new e.cG(n,d,r,a,o,s,c);return this.loaded=this.loaded||{},this.loaded[n]=f,f}))}removeTile(e){let t=this.loaded,n=e.uid;t&&t[n]&&delete t[n]}}var s,c,l=function(){if(c)return s;function e(e,n){if(e.length!==0){t(e[0],n);for(var r=1;r<e.length;r++)t(e[r],!n)}}function t(e,t){for(var n=0,r=0,i=0,a=e.length,o=a-1;i<a;o=i++){var s=(e[i][0]-e[o][0])*(e[o][1]+e[i][1]),c=n+s;r+=Math.abs(n)>=Math.abs(s)?n-c+s:s-c+n,n=c}n+r>=0!=!!t&&e.reverse()}return c=1,s=function t(n,r){var i,a=n&&n.type;if(a===`FeatureCollection`)for(i=0;i<n.features.length;i++)t(n.features[i],r);else if(a===`GeometryCollection`)for(i=0;i<n.geometries.length;i++)t(n.geometries[i],r);else if(a===`Feature`)t(n.geometry,r);else if(a===`Polygon`)e(n.coordinates,r);else if(a===`MultiPolygon`)for(i=0;i<n.coordinates.length;i++)e(n.coordinates[i],r);return n}}(),u=e.cH(l);let d=e.cC.VectorTileFeature.prototype.toGeoJSON;class f{constructor(t){this._feature=t,this.extent=e.Z,this.type=t.type,this.properties=t.tags,`id`in t&&!isNaN(t.id)&&(this.id=p
12arseInt(t.id,10))}loadGeometry(){if(this._feature.type===1){let t=[];for(let n of this._feature.geometry)t.push([new e.P(n[0],n[1])]);return t}{let t=[];for(let n of this._feature.geometry){let r=[];for(let t of n)r.push(new e.P(t[0],t[1]));t.push(r)}return t}}toGeoJSON(e,t,n){return d.call(this,e,t,n)}}class p{constructor(t){this.layers={_geojsonTileLayer:this},this.name=`_geojsonTileLayer`,this.extent=e.Z,this.length=t.length,this._features=t}feature(e){return new f(this._features[e])}}var m,h,g,_={exports:{}},v=function(){if(g)return _.exports;g=1;var t=e.cK(),n=function(){if(h)return m;h=1;var t=e.cI(),n=e.cJ().VectorTileFeature;function r(e,t){this.options=t||{},this.features=e,this.length=e.length}function i(e,t){this.id=typeof e.id==`number`?e.id:void 0,this.type=e.type,this.rawGeometry=e.type===1?[e.geometry]:e.geometry,this.properties=e.tags,this.extent=t||4096}return m=r,r.prototype.feature=function(e){return new i(this.features[e],this.options.extent)},i.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var n=0;n<e.length;n++){for(var r=e[n],i=[],a=0;a<r.length;a++)i.push(new t(r[a][0],r[a][1]));this.geometry.push(i)}return this.geometry},i.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var e=this.geometry,t=1/0,n=-1/0,r=1/0,i=-1/0,a=0;a<e.length;a++)for(var o=e[a],s=0;s<o.length;s++){var c=o[s];t=Math.min(t,c.x),n=Math.max(n,c.x),r=Math.min(r,c.y),i=Math.max(i,c.y)}return[t,r,n,i]},i.prototype.toGeoJSON=n.prototype.toGeoJSON,m}();function r(e){var n=new t;return function(e,t){for(var n in e.layers)t.writeMessage(3,i,e.layers[n])}(e,n),n.finish()}function i(e,t){var n;t.writeVarintField(15,e.version||1),t.writeStringField(1,e.name||``),t.writeVarintField(5,e.extent||4096);var r={keys:[],values:[],keycache:{},valuecache:{}};for(n=0;n<e.length;n++)r.feature=e.feature(n),t.writeMessage(2,a,r);var i=r.keys;for(n=0;n<i.length;n++)t.writeStringField(3,i[n]);var o=r.values;for(n=0;n<o.length;n++)t.writeMessage(4,u,o[n])}function a(e,t){var n=e.feature;n.id!==void 0&&t.writeVarintField(1,n.id),t.writeMessage(2,o,e),t.writeVarintField(3,n.type),t.writeMessage(4,l,n)}function o(e,t){var n=e.feature,r=e.keys,i=e.values,a=e.keycache,o=e.valuecache;for(var s in n.properties){var c=n.properties[s],l=a[s];if(c!==null){l===void 0&&(r.push(s),a[s]=l=r.length-1),t.writeVarint(l);var u=typeof c;u!==`string`&&u!==`boolean`&&u!==`number`&&(c=JSON.stringify(c));var d=u+`:`+c,f=o[d];f===void 0&&(i.push(c),o[d]=f=i.length-1),t.writeVarint(f)}}}function s(e,t){return(t<<3)+(7&e)}function c(e){return e<<1^e>>31}function l(e,t){for(var n=e.loadGeometry(),r=e.type,i=0,a=0,o=n.length,l=0;l<o;l++){var u=n[l],d=1;r===1&&(d=u.length),t.writeVarint(s(1,d));for(var f=r===3?u.length-1:u.length,p=0;p<f;p++){p===1&&r!==1&&t.writeVarint(s(2,f-1));var m=u[p].x-i,h=u[p].y-a;t.writeVarint(c(m)),t.writeVarint(c(h)),i+=m,a+=h}r===3&&t.writeVarint(s(7,1))}}function u(e,t){var n=typeof e;n===`string`?t.writeStringField(1,e):n===`boolean`?t.writeBooleanField(7,e):n===`number`&&(e%1==0?e<0?t.writeSVarintField(6,e):t.writeVarintField(5,e):t.writeDoubleField(3,e))}return _.exports=r,_.exports.fromVectorTileJs=r,_.exports.fromGeojsonVt=function(e,t){t||={};var i={};for(var a in e)i[a]=new n(e[a].features,t),i[a].name=a,i[a].version=t.version,i[a].extent=t.extent;return r({layers:i})},_.exports.GeoJSONWrapper=n,_.exports}(),y=e.cH(v);let b={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},x=Math.fround||(S=new Float32Array(1),e=>(S[0]=+e,S[0]));var S;class C{constructor(e){this.options=Object.assign(Object.create(b),e),this.trees=Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){let{log:t,minZoom:n,maxZoom:r}=this.options;t&&console.time(`total time`);let i=`prepare ${e.length} points`;t&&console.time(i),this.points=e;let a=[];for(let t=0;t<e.length;t++){let n=e[t];if(!n.geometry)continue;let[r,i]=n.geometry.coordinates,o=x(E(r)),s=x(D(i));a.push(o,s,1/0,t,-1,1),this.options.reduce&&a.push(0)}let o=this.trees[r+1]=this._createTree(a);t&&console.timeEnd(i);for(let e=r;e>=n;e--){let n=+Date.now();o=this.trees[e]=this._createTree(this._cluster(o,e)),t&&console.log(`z%d: %d clusters in %dms`,e,o.numItems,+Date.now()-n)}return t&&console.timeEnd(`total time`),this}getClusters(e,t){let n=((e[0]+180)%360+360)%360-180,r=Math.max(-90,Math.min(90,e[1])),i=e[2]===180?180:((e[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)n=-180,i=180;else if(n>i){let e=this.getClusters([n,r,180,a],t),o=this.getClusters([-180,r,i,a],t);return e.concat(o)}let o=this.trees[this._limitZoom(t)],s=o.range(E(n),D(a),E(i),D(r)),c=o.data,l=[];for(let e of s){let t=this.stride*e;l.push(c[t+5]>1?w(c,t,this.clusterProps):this.points[c[t+3]])}return l}getChildren(e){let t=this._getOriginId(e),n=this._getOriginZoom(e),r=`No cluster with the specified id.`,i=this.trees[n];if(!i)throw Error(r);let a=i.data;if(t*this.stride>=a.length)throw Error(r);let o=this.options.radius/(this.options.extent*2**(n-1)),s=i.within(a[t*this.stride],a[t*this.stride+1],o),c=[];for(let t of s){let n=t*this.stride;a[n+4]===e&&c.push(a[n+5]>1?w(a,n,this.clusterProps):this.points[a[n+3]])}if(c.length===0)throw Error(r);return c}
12getLeaves(e,t,n){let r=[];return this._appendLeaves(r,e,t||=10,n||=0,0),r}getTile(e,t,n){let r=this.trees[this._limitZoom(e)],i=2**e,{extent:a,radius:o}=this.options,s=o/a,c=(n-s)/i,l=(n+1+s)/i,u={features:[]};return this._addTileFeatures(r.range((t-s)/i,c,(t+1+s)/i,l),r.data,t,n,i,u),t===0&&this._addTileFeatures(r.range(1-s/i,c,1,l),r.data,i,n,i,u),t===i-1&&this._addTileFeatures(r.range(0,c,s/i,l),r.data,-1,n,i,u),u.features.length?u:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){let n=this.getChildren(e);if(t++,n.length!==1)break;e=n[0].properties.cluster_id}return t}_appendLeaves(e,t,n,r,i){let a=this.getChildren(t);for(let t of a){let a=t.properties;if(a&&a.cluster?i+a.point_count<=r?i+=a.point_count:i=this._appendLeaves(e,a.cluster_id,n,r,i):i<r?i++:e.push(t),e.length===n)break}return i}_createTree(t){let n=new e.aF(t.length/this.stride|0,this.options.nodeSize,Float32Array);for(let e=0;e<t.length;e+=this.stride)n.add(t[e],t[e+1]);return n.finish(),n.data=t,n}_addTileFeatures(e,t,n,r,i,a){for(let o of e){let e=o*this.stride,s=t[e+5]>1,c,l,u;if(s)c=T(t,e,this.clusterProps),l=t[e],u=t[e+1];else{let n=this.points[t[e+3]];c=n.properties;let[r,i]=n.geometry.coordinates;l=E(r),u=D(i)}let d={type:1,geometry:[[Math.round(this.options.extent*(l*i-n)),Math.round(this.options.extent*(u*i-r))]],tags:c},f;f=s||this.options.generateId?t[e+3]:this.points[t[e+3]].id,f!==void 0&&(d.id=f),a.features.push(d)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){let{radius:n,extent:r,reduce:i,minPoints:a}=this.options,o=n/(r*2**t),s=e.data,c=[],l=this.stride;for(let n=0;n<s.length;n+=l){if(s[n+2]<=t)continue;s[n+2]=t;let r=s[n],u=s[n+1],d=e.within(s[n],s[n+1],o),f=s[n+5],p=f;for(let e of d){let n=e*l;s[n+2]>t&&(p+=s[n+5])}if(p>f&&p>=a){let e,a=r*f,o=u*f,m=-1,h=((n/l|0)<<5)+(t+1)+this.points.length;for(let r of d){let c=r*l;if(s[c+2]<=t)continue;s[c+2]=t;let u=s[c+5];a+=s[c]*u,o+=s[c+1]*u,s[c+4]=h,i&&(e||(e=this._map(s,n,!0),m=this.clusterProps.length,this.clusterProps.push(e)),i(e,this._map(s,c)))}s[n+4]=h,c.push(a/p,o/p,1/0,h,-1,p),i&&c.push(m)}else{for(let e=0;e<l;e++)c.push(s[n+e]);if(p>1)for(let e of d){let n=e*l;if(!(s[n+2]<=t)){s[n+2]=t;for(let e=0;e<l;e++)c.push(s[n+e])}}}}return c}_getOriginId(e){return e-this.points.length>>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t,n){if(e[t+5]>1){let r=this.clusterProps[e[t+6]];return n?Object.assign({},r):r}let r=this.points[e[t+3]].properties,i=this.options.map(r);return n&&i===r?Object.assign({},i):i}}function w(e,t,n){return{type:`Feature`,id:e[t+3],properties:T(e,t,n),geometry:{type:`Point`,coordinates:[(r=e[t],360*(r-.5)),O(e[t+1])]}};var r}function T(e,t,n){let r=e[t+5],i=r>=1e4?`${Math.round(r/1e3)}k`:r>=1e3?Math.round(r/100)/10+`k`:r,a=e[t+6],o=a===-1?{}:Object.assign({},n[a]);return Object.assign(o,{cluster:!0,cluster_id:e[t+3],point_count:r,point_count_abbreviated:i})}function E(e){return e/360+.5}function D(e){let t=Math.sin(e*Math.PI/180),n=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return n<0?0:n>1?1:n}function O(e){let t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function k(e,t,n,r){let i=r,a=t+(n-t>>1),o,s=n-t,c=e[t],l=e[t+1],u=e[n],d=e[n+1];for(let r=t+3;r<n;r+=3){let t=A(e[r],e[r+1],c,l,u,d);if(t>i)o=r,i=t;else if(t===i){let e=Math.abs(r-a);e<s&&(o=r,s=e)}}i>r&&(o-t>3&&k(e,t,o,r),e[o+2]=i,n-o>3&&k(e,o,n,r))}function A(e,t,n,r,i,a){let o=i-n,s=a-r;if(o!==0||s!==0){let c=((e-n)*o+(t-r)*s)/(o*o+s*s);c>1?(n=i,r=a):c>0&&(n+=o*c,r+=s*c)}return o=e-n,s=t-r,o*o+s*s}function ee(e,t,n,r){let i={id:e??null,type:t,geometry:n,tags:r,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(t===`Point`||t===`MultiPoint`||t===`LineString`)te(i,n);else if(t===`Polygon`)te(i,n[0]);else if(t===`MultiLineString`)for(let e of n)te(i,e);else if(t===`MultiPolygon`)for(let e of n)te(i,e[0]);return i}function te(e,t){for(let n=0;n<t.length;n+=3)e.minX=Math.min(e.minX,t[n]),e.minY=Math.min(e.minY,t[n+1]),e.maxX=Math.max(e.maxX,t[n]),e.maxY=Math.max(e.maxY,t[n+1])}function j(e,t,n,r){if(!t.geometry)return;let i=t.geometry.coordinates;if(i&&i.length===0)return;let a=t.geometry.type,o=(n.tolerance/((1<<n.maxZoom)*n.extent))**2,s=[],c=t.id;if(n.promoteId?c=t.properties[n.promoteId]:n.generateId&&(c=r||0),a===`Point`)ne(i,s);else if(a===`MultiPoint`)for(let e of i)ne(e,s);else if(a===`LineString`)re(i,s,o,!1);else if(a===`MultiLineString`){if(n.lineMetrics){for(let n of i)s=[],re(n,s,o,!1),e.push(ee(c,`LineString`,s,t.properties));return}M(i,s,o,!1)}else if(a===`Polygon`)M(i,s,o,!0);else{if(a!==`MultiPolygon`){if(a===`GeometryCollection`){for(let i of t.geometry.geometries)j(e,{id:c,geometry:i,properties:t.properties},n,r);return}throw Error(`Input data is not a valid GeoJSON object.`)}for(let e of i){let t=[];M(e,t,o,!0),s.push(t)}}e.push(ee(c,a,s,t.properties))}function ne(e,t){t.push(ie(e[0]),ae(e[1]),0)}function re(e,t,n,r){let i,a,o=0;for(let n=0;n<e.length;n++){let s=ie(e[n][0]),c=ae(e[n][1]);t.push(s,c,0),n>0&&(o+=r?(i*c-s*a)/2:Math.sqrt((s-i)**2+(c-a)**2)),i=s,a=c}let s=t.length-3;t[2]=1,k(t,0,s,n),t[s+2]=1,t.size=Math.abs(o),t.start=0,t.end=t.size}function M(e,t,n,r){for(let i=0;i<e.length;i++){let a=[];re(e[i],a,n,r),t.push(a)}}function ie(e){return e/360+.5}function ae(e){let t=Math.sin(e*Math.PI/180),n=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return n<0?0:n>1?1:n}
12function oe(e,t,n,r,i,a,o,s){if(r/=t,a>=(n/=t)&&o<r)return e;if(o<n||a>=r)return null;let c=[];for(let t of e){let e=t.geometry,a=t.type,o=i===0?t.minX:t.minY,l=i===0?t.maxX:t.maxY;if(o>=n&&l<r){c.push(t);continue}if(l<n||o>=r)continue;let u=[];if(a===`Point`||a===`MultiPoint`)se(e,u,n,r,i);else if(a===`LineString`)ce(e,u,n,r,i,!1,s.lineMetrics);else if(a===`MultiLineString`)N(e,u,n,r,i,!1);else if(a===`Polygon`)N(e,u,n,r,i,!0);else if(a===`MultiPolygon`)for(let t of e){let e=[];N(t,e,n,r,i,!0),e.length&&u.push(e)}if(u.length){if(s.lineMetrics&&a===`LineString`){for(let e of u)c.push(ee(t.id,a,e,t.tags));continue}a!==`LineString`&&a!==`MultiLineString`||(u.length===1?(a=`LineString`,u=u[0]):a=`MultiLineString`),a!==`Point`&&a!==`MultiPoint`||(a=u.length===3?`Point`:`MultiPoint`),c.push(ee(t.id,a,u,t.tags))}}return c.length?c:null}function se(e,t,n,r,i){for(let a=0;a<e.length;a+=3){let o=e[a+i];o>=n&&o<=r&&P(t,e[a],e[a+1],e[a+2])}}function ce(e,t,n,r,i,a,o){let s=le(e),c=i===0?ue:F,l,u,d=e.start;for(let f=0;f<e.length-3;f+=3){let p=e[f],m=e[f+1],h=e[f+2],g=e[f+3],_=e[f+4],v=i===0?p:m,y=i===0?g:_,b=!1;o&&(l=Math.sqrt((p-g)**2+(m-_)**2)),v<n?y>n&&(u=c(s,p,m,g,_,n),o&&(s.start=d+l*u)):v>r?y<r&&(u=c(s,p,m,g,_,r),o&&(s.start=d+l*u)):P(s,p,m,h),y<n&&v>=n&&(u=c(s,p,m,g,_,n),b=!0),y>r&&v<=r&&(u=c(s,p,m,g,_,r),b=!0),!a&&b&&(o&&(s.end=d+l*u),t.push(s),s=le(e)),o&&(d+=l)}let f=e.length-3,p=e[f],m=e[f+1],h=i===0?p:m;h>=n&&h<=r&&P(s,p,m,e[f+2]),f=s.length-3,a&&f>=3&&(s[f]!==s[0]||s[f+1]!==s[1])&&P(s,s[0],s[1],s[2]),s.length&&t.push(s)}function le(e){let t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function N(e,t,n,r,i,a){for(let o of e)ce(o,t,n,r,i,a,!1)}function P(e,t,n,r){e.push(t,n,r)}function ue(e,t,n,r,i,a){let o=(a-t)/(r-t);return P(e,a,n+(i-n)*o,1),o}function F(e,t,n,r,i,a){let o=(a-n)/(i-n);return P(e,t+(r-t)*o,a,1),o}function de(e,t){let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=i.type,o;if(a===`Point`||a===`MultiPoint`||a===`LineString`)o=fe(i.geometry,t);else if(a===`MultiLineString`||a===`Polygon`){o=[];for(let e of i.geometry)o.push(fe(e,t))}else if(a===`MultiPolygon`){o=[];for(let e of i.geometry){let n=[];for(let r of e)n.push(fe(r,t));o.push(n)}}n.push(ee(i.id,a,o,i.tags))}return n}function fe(e,t){let n=[];n.size=e.size,e.start!==void 0&&(n.start=e.start,n.end=e.end);for(let r=0;r<e.length;r+=3)n.push(e[r]+t,e[r+1],e[r+2]);return n}function I(e,t){if(e.transformed)return e;let n=1<<e.z,r=e.x,i=e.y;for(let a of e.features){let e=a.geometry,o=a.type;if(a.geometry=[],o===1)for(let o=0;o<e.length;o+=2)a.geometry.push(pe(e[o],e[o+1],t,n,r,i));else for(let o=0;o<e.length;o++){let s=[];for(let a=0;a<e[o].length;a+=2)s.push(pe(e[o][a],e[o][a+1],t,n,r,i));a.geometry.push(s)}}return e.transformed=!0,e}function pe(e,t,n,r,i,a){return[Math.round(n*(e*r-i)),Math.round(n*(t*r-a))]}function me(e,t,n,r,i){let a=t===i.maxZoom?0:i.tolerance/((1<<t)*i.extent),o={features:[],numPoints:0,numSimplified:0,numFeatures:e.length,source:null,x:n,y:r,z:t,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0};for(let t of e)he(o,t,a,i);return o}function he(e,t,n,r){let i=t.geometry,a=t.type,o=[];if(e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY),a===`Point`||a===`MultiPoint`)for(let t=0;t<i.length;t+=3)o.push(i[t],i[t+1]),e.numPoints++,e.numSimplified++;else if(a===`LineString`)ge(o,i,e,n,!1,!1);else if(a===`MultiLineString`||a===`Polygon`)for(let t=0;t<i.length;t++)ge(o,i[t],e,n,a===`Polygon`,t===0);else if(a===`MultiPolygon`)for(let t=0;t<i.length;t++){let r=i[t];for(let t=0;t<r.length;t++)ge(o,r[t],e,n,!0,t===0)}if(o.length){let n=t.tags||null;if(a===`LineString`&&r.lineMetrics){n={};for(let e in t.tags)n[e]=t.tags[e];n.mapbox_clip_start=i.start/i.size,n.mapbox_clip_end=i.end/i.size}let s={geometry:o,type:a===`Polygon`||a===`MultiPolygon`?3:a===`LineString`||a===`MultiLineString`?2:1,tags:n};t.id!==null&&(s.id=t.id),e.features.push(s)}}function ge(e,t,n,r,i,a){let o=r*r;if(r>0&&t.size<(i?o:r))return void(n.numPoints+=t.length/3);let s=[];for(let e=0;e<t.length;e+=3)(r===0||t[e+2]>o)&&(n.numSimplified++,s.push(t[e],t[e+1])),n.numPoints++;i&&function(e,t){let n=0;for(let t=0,r=e.length,i=r-2;t<r;i=t,t+=2)n+=(e[t]-e[i])*(e[t+1]+e[i+1]);if(n>0===t)for(let t=0,n=e.length;t<n/2;t+=2){let r=e[t],i=e[t+1];
12e[t]=e[n-2-t],e[t+1]=e[n-1-t],e[n-2-t]=r,e[n-1-t]=i}}(s,a),e.push(s)}let _e={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0};class ve{constructor(e,t){let n=(t=this.options=function(e,t){for(let n in t)e[n]=t[n];return e}(Object.create(_e),t)).debug;if(n&&console.time(`preprocess data`),t.maxZoom<0||t.maxZoom>24)throw Error(`maxZoom should be in the 0-24 range`);if(t.promoteId&&t.generateId)throw Error(`promoteId and generateId cannot be used together.`);let r=function(e,t){let n=[];if(e.type===`FeatureCollection`)for(let r=0;r<e.features.length;r++)j(n,e.features[r],t,r);else j(n,e.type===`Feature`?e:{geometry:e},t);return n}(e,t);this.tiles={},this.tileCoords=[],n&&(console.timeEnd(`preprocess data`),console.log(`index: maxZoom: %d, maxPoints: %d`,t.indexMaxZoom,t.indexMaxPoints),console.time(`generate tiles`),this.stats={},this.total=0),r=function(e,t){let n=t.buffer/t.extent,r=e,i=oe(e,1,-1-n,n,0,-1,2,t),a=oe(e,1,1-n,2+n,0,-1,2,t);return(i||a)&&(r=oe(e,1,-n,1+n,0,-1,2,t)||[],i&&(r=de(i,1).concat(r)),a&&(r=r.concat(de(a,-1)))),r}(r,t),r.length&&this.splitTile(r,0,0,0),n&&(r.length&&console.log(`features: %d, points: %d`,this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(`generate tiles`),console.log(`tiles generated:`,this.total,JSON.stringify(this.stats)))}splitTile(e,t,n,r,i,a,o){let s=[e,t,n,r],c=this.options,l=c.debug;for(;s.length;){r=s.pop(),n=s.pop(),t=s.pop(),e=s.pop();let u=1<<t,d=ye(t,n,r),f=this.tiles[d];if(!f&&(l>1&&console.time(`creation`),f=this.tiles[d]=me(e,t,n,r,c),this.tileCoords.push({z:t,x:n,y:r}),l)){l>1&&(console.log(`tile z%d-%d-%d (features: %d, points: %d, simplified: %d)`,t,n,r,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd(`creation`));let e=`z${t}`;this.stats[e]=(this.stats[e]||0)+1,this.total++}if(f.source=e,i==null){if(t===c.indexMaxZoom||f.numPoints<=c.indexMaxPoints)continue}else{if(t===c.maxZoom||t===i)continue;if(i!=null){let e=i-t;if(n!==a>>e||r!==o>>e)continue}}if(f.source=null,e.length===0)continue;l>1&&console.time(`clipping`);let p=.5*c.buffer/c.extent,m=.5-p,h=.5+p,g=1+p,_=null,v=null,y=null,b=null,x=oe(e,u,n-p,n+h,0,f.minX,f.maxX,c),S=oe(e,u,n+m,n+g,0,f.minX,f.maxX,c);e=null,x&&=(_=oe(x,u,r-p,r+h,1,f.minY,f.maxY,c),v=oe(x,u,r+m,r+g,1,f.minY,f.maxY,c),null),S&&=(y=oe(S,u,r-p,r+h,1,f.minY,f.maxY,c),b=oe(S,u,r+m,r+g,1,f.minY,f.maxY,c),null),l>1&&console.timeEnd(`clipping`),s.push(_||[],t+1,2*n,2*r),s.push(v||[],t+1,2*n,2*r+1),s.push(y||[],t+1,2*n+1,2*r),s.push(b||[],t+1,2*n+1,2*r+1)}}getTile(e,t,n){e=+e,t=+t,n=+n;let{extent:r,debug:i}=this.options;if(e<0||e>24)return null;let a=1<<e,o=ye(e,t=t+a&a-1,n);if(this.tiles[o])return I(this.tiles[o],r);i>1&&console.log(`drilling down to z%d-%d-%d`,e,t,n);let s,c=e,l=t,u=n;for(;!s&&c>0;)c--,l>>=1,u>>=1,s=this.tiles[ye(c,l,u)];return s&&s.source?(i>1&&(console.log(`found parent tile z%d-%d-%d`,c,l,u),console.time(`drilling down`)),this.splitTile(s.source,c,l,u,e,t,n),i>1&&console.timeEnd(`drilling down`),this.tiles[o]?I(this.tiles[o],r):null):null}}function ye(e,t,n){return 32*((1<<e)*n+t)+e}function be(e,t){return t?e.properties[t]:e.id}function xe(e,t){if(e==null)return!0;if(e.type===`Feature`)return be(e,t)!=null;if(e.type===`FeatureCollection`){let n=new Set;for(let r of e.features){let e=be(r,t);if(e==null||n.has(e))return!1;n.add(e)}return!0}return!1}function Se(e,t){let n=new Map;if(e!=null)if(e.type===`Feature`)n.set(be(e,t),e);else for(let r of e.features)n.set(be(r,t),r);return n}class Ce extends a{constructor(){super(...arguments),this._dataUpdateable=new Map}loadVectorTile(t,n){return e._(this,void 0,void 0,(function*(){let e=t.tileID.canonical;if(!this._geoJSONIndex)throw Error(`Unable to parse the data into a cluster or geojson`);let n=this._geoJSONIndex.getTile(e.z,e.x,e.y);if(!n)return null;let r=new p(n.features),i=y(r);return i.byteOffset===0&&i.byteLength===i.buffer.byteLength||(i=new Uint8Array(i)),{vectorTile:r,rawData:i.buffer}}))}loadData(t){return e._(this,void 0,void 0,(function*(){var n;(n=this._pendingRequest)==null||n.abort();let r=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.cE(t.request);this._pendingRequest=new AbortController;try{this._pendingData=this.loadAndProcessGeoJSON(t,this._pendingRequest),this._geoJSONIndex=t.cluster?new C(function({superclusterOptions:t,clusterProperties:n}){if(!n||!t)return t;let r={},i={},a={accumulated:null,zoom:0},o={properties:null},s=Object.keys(n);for(let t of s){let[a,o]=n[t],s=e.cL(o),c=e.cL(typeof a==`string`?[a,[`accumulated`],[`get`,t]]:a);r[t]=s.value,i[t]=c.value}return t.map=e=>{o.properties=e;let t={};for(let e of s)t[e]=r[e].evaluate(a,o);return t},t.reduce=(e,t)=>{o.properties=t;
12for(let t of s)a.accumulated=e[t],e[t]=i[t].evaluate(a,o)},t}(t)).load((yield this._pendingData).features):(i=yield this._pendingData,new ve(i,t.geojsonVtOptions)),this.loaded={};let n={};if(r){let e=r.finish();e&&(n.resourceTiming={},n.resourceTiming[t.source]=JSON.parse(JSON.stringify(e)))}return n}catch(t){if(delete this._pendingRequest,e.cp(t))return{abandoned:!0};throw t}var i}))}getData(){return e._(this,void 0,void 0,(function*(){return this._pendingData}))}reloadTile(e){let t=this.loaded;return t&&t[e.uid]?super.reloadTile(e):this.loadTile(e)}loadAndProcessGeoJSON(t,n){return e._(this,void 0,void 0,(function*(){let r=yield this.loadGeoJSON(t,n);if(delete this._pendingRequest,typeof r!=`object`)throw Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`);if(u(r,!0),t.filter){let n=e.cL(t.filter,{type:`boolean`,"property-type":`data-driven`,overridable:!1,transition:!1});if(n.result===`error`)throw Error(n.value.map((e=>`${e.key}: ${e.message}`)).join(`, `));r={type:`FeatureCollection`,features:r.features.filter((e=>n.value.evaluate({zoom:0},e)))}}return r}))}loadGeoJSON(t,n){return e._(this,void 0,void 0,(function*(){let{promoteId:r}=t;if(t.request){let i=yield e.j(t.request,n);return this._dataUpdateable=xe(i.data,r)?Se(i.data,r):void 0,i.data}if(typeof t.data==`string`)try{let e=JSON.parse(t.data);return this._dataUpdateable=xe(e,r)?Se(e,r):void 0,e}catch{throw Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`)}if(!t.dataDiff)throw Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw Error(`Cannot update existing geojson data in ${t.source}`);return function(e,t,n){if(t.removeAll&&e.clear(),t.remove)for(let n of t.remove)e.delete(n);if(t.add)for(let r of t.add){let t=be(r,n);t!=null&&e.set(t,r)}if(t.update)for(let n of t.update){let t=e.get(n.id);if(t==null)continue;let r=!n.removeAllProperties&&(n.removeProperties?.length>0||n.addOrUpdateProperties?.length>0);if((n.newGeometry||n.removeAllProperties||r)&&(t=Object.assign({},t),e.set(n.id,t),r&&(t.properties=Object.assign({},t.properties))),n.newGeometry&&(t.geometry=n.newGeometry),n.removeAllProperties)t.properties={};else if(n.removeProperties?.length>0)for(let e of n.removeProperties)Object.prototype.hasOwnProperty.call(t.properties,e)&&delete t.properties[e];if(n.addOrUpdateProperties?.length>0)for(let{key:e,value:r}of n.addOrUpdateProperties)t.properties[e]=r}}(this._dataUpdateable,t.dataDiff,r),{type:`FeatureCollection`,features:Array.from(this._dataUpdateable.values())}}))}removeSource(t){return e._(this,void 0,void 0,(function*(){this._pendingRequest&&this._pendingRequest.abort()}))}getClusterExpansionZoom(e){return this._geoJSONIndex.getClusterExpansionZoom(e.clusterId)}getClusterChildren(e){return this._geoJSONIndex.getChildren(e.clusterId)}getClusterLeaves(e){return this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset)}}class we{constructor(t){this.self=t,this.actor=new e.H(t),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(e,t)=>{if(this.externalWorkerSourceTypes[e])throw Error(`Worker source with name "${e}" already registered.`);this.externalWorkerSourceTypes[e]=t},this.self.addProtocol=e.cr,this.self.removeProtocol=e.cs,this.self.registerRTLTextPlugin=t=>{e.cM.setMethods(t)},this.actor.registerMessageHandler(`LDT`,((e,t)=>this._getDEMWorkerSource(e,t.source).loadTile(t))),this.actor.registerMessageHandler(`RDT`,((t,n)=>e._(this,void 0,void 0,(function*(){this._getDEMWorkerSource(t,n.source).removeTile(n)})))),this.actor.registerMessageHandler(`GCEZ`,((t,n)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,n.type,n.source).getClusterExpansionZoom(n)})))),this.actor.registerMessageHandler(`GCC`,((t,n)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,n.type,n.source).getClusterChildren(n)})))),this.actor.registerMessageHandler(`GCL`,((t,n)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,n.type,n.source).getClusterLeaves(n)})))),this.actor.registerMessageHandler(`LD`,((e,t)=>
12this._getWorkerSource(e,t.type,t.source).loadData(t))),this.actor.registerMessageHandler(`GD`,((e,t)=>this._getWorkerSource(e,t.type,t.source).getData())),this.actor.registerMessageHandler(`LT`,((e,t)=>this._getWorkerSource(e,t.type,t.source).loadTile(t))),this.actor.registerMessageHandler(`RT`,((e,t)=>this._getWorkerSource(e,t.type,t.source).reloadTile(t))),this.actor.registerMessageHandler(`AT`,((e,t)=>this._getWorkerSource(e,t.type,t.source).abortTile(t))),this.actor.registerMessageHandler(`RMT`,((e,t)=>this._getWorkerSource(e,t.type,t.source).removeTile(t))),this.actor.registerMessageHandler(`RS`,((t,n)=>e._(this,void 0,void 0,(function*(){if(!this.workerSources[t]||!this.workerSources[t][n.type]||!this.workerSources[t][n.type][n.source])return;let e=this.workerSources[t][n.type][n.source];delete this.workerSources[t][n.type][n.source],e.removeSource!==void 0&&e.removeSource(n)})))),this.actor.registerMessageHandler(`RM`,(t=>e._(this,void 0,void 0,(function*(){delete this.layerIndexes[t],delete this.availableImages[t],delete this.workerSources[t],delete this.demWorkerSources[t]})))),this.actor.registerMessageHandler(`SR`,((t,n)=>e._(this,void 0,void 0,(function*(){this.referrer=n})))),this.actor.registerMessageHandler(`SRPS`,((e,t)=>this._syncRTLPluginState(e,t))),this.actor.registerMessageHandler(`IS`,((t,n)=>e._(this,void 0,void 0,(function*(){this.self.importScripts(n)})))),this.actor.registerMessageHandler(`SI`,((e,t)=>this._setImages(e,t))),this.actor.registerMessageHandler(`UL`,((t,n)=>e._(this,void 0,void 0,(function*(){this._getLayerIndex(t).update(n.layers,n.removedIds)})))),this.actor.registerMessageHandler(`SL`,((t,n)=>e._(this,void 0,void 0,(function*(){this._getLayerIndex(t).replace(n)}))))}_setImages(t,n){return e._(this,void 0,void 0,(function*(){this.availableImages[t]=n;for(let e in this.workerSources[t]){let r=this.workerSources[t][e];for(let e in r)r[e].availableImages=n}}))}_syncRTLPluginState(t,n){return e._(this,void 0,void 0,(function*(){return yield e.cM.syncState(n,this.self.importScripts)}))}_getAvailableImages(e){let t=this.availableImages[e];return t||=[],t}_getLayerIndex(e){let n=this.layerIndexes[e];return n||=this.layerIndexes[e]=new t,n}_getWorkerSource(e,t,n){if(this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),!this.workerSources[e][t][n]){let r={sendAsync:(t,n)=>(t.targetMapId=e,this.actor.sendAsync(t,n))};switch(t){case`vector`:this.workerSources[e][t][n]=new a(r,this._getLayerIndex(e),this._getAvailableImages(e));break;case`geojson`:this.workerSources[e][t][n]=new Ce(r,this._getLayerIndex(e),this._getAvailableImages(e));break;default:this.workerSources[e][t][n]=new this.externalWorkerSourceTypes[t](r,this._getLayerIndex(e),this._getAvailableImages(e))}}return this.workerSources[e][t][n]}_getDEMWorkerSource(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new o),this.demWorkerSources[e][t]}}return e.i(self)&&(self.worker=new we(self)),we})),n(`index`,[`exports`,`./shared`],(function(e,t){var n=`5.5.0`;function r(){var e=new t.A(4);return t.A!=Float32Array&&(e[1]=0,e[2]=0),e[0]=1,e[3]=1,e}let i,a,o={now:typeof performance<`u`&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frame(e,n,r){let i=requestAnimationFrame((e=>{a(),n(e)})),{unsubscribe:a}=t.s(e.signal,`abort`,(()=>{a(),cancelAnimationFrame(i),r(t.c())}),!1)},frameAsync(e){return new Promise(((t,n)=>{this.frame(e,t,n)}))},getImageData(e,t=0){return this.getImageCanvasContext(e).getImageData(-t,-t,e.width+2*t,e.height+2*t)},getImageCanvasContext(e){let t=window.document.createElement(`canvas`),n=t.getContext(`2d`,{willReadFrequently:!0});if(!n)throw Error(`failed to create canvas 2d context`);return t.width=e.width,t.height=e.height,n.drawImage(e,0,0,e.width,e.height),n},resolveURL:e=>(i||=document.createElement(`a`),i.href=e,i.href),hardwareConcurrency:typeof navigator<`u`&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(a??=matchMedia(`(prefers-reduced-motion: reduce)`),a.matches)}};class s{static testProp(e){if(!s.docStyle)return e[0];for(let t=0;t<e.length;t++)if(e[t]in s.docStyle)return e[t];return e[0]}static create(e,t,n){let r=window.document.createElement(e);return t!==void 0&&(r.className=t),n&&n.appendChild(r),r}static createNS(e,t){return window.document.createElementNS(e,t)}static disableDrag(){s.docStyle&&s.selectProp&&(s.userSelect=s.docStyle[s.selectProp],s.docStyle[s.selectProp]=`none`)}static enableDrag(){s.docStyle&&s.selectProp&&(s.docStyle[s.selectProp]=s.userSelect)}static setTransform(e,t){e.style[s.transformProp]=t}static addEventListener(e,t,n,r={}){e.addEventListener(t,n,`passive`in r?r:r.capture)}static removeEventListener(e,t,n,r={}){e.removeEventListener(t,n,`passive`in r?r:r.capture)}static suppressClickInternal(e){e.preventDefault(),e.stopPropagation(),window.removeEventListener(`click`,s.suppressClickInternal,!0)}static suppressClick(){window.addEventListener(`click`,s.suppressClickInternal,!0),window.setTimeout((()=>{window.removeEventListener(`click`,s.suppressClickInternal,!0)}),0)}static getScale(e){let t=e.getBoundingClientRect();return{x:t.width/e.offsetWidth||1,y:t.height/e.offsetHeight||1,boundingClientRect:t}}static getPoint(e,n,r){let i=n.boundingClientRect;return new t.P((r.clientX-i.left)/n.x-e.clientLeft,(r.clientY-i.top)/n.y-e.clientTop)}static mousePos(e,t){let n=s.getScale(e);return s.getPoint(e,n,t)}static touchPos(e,t){let n=[],r=s.getScale(e);for(let i=0;i<t.length;i++)n.push(s.getPoint(e,r,t[i]));return n}static mouseButton(e){return e.button}static remove(e){e.parentNode&&e.parentNode.removeChild(e)}static sanitize(e){let t=new DOMParser().parseFromString(e,`text/html`).body||document.createElement(`body`),n=t.querySelectorAll(`script`);for(let e of n)e.remove();return s.clean(t),t.innerHTML}static isPossiblyDangerous(e,t){let n=t.replace(/\s+/g,``).toLowerCase();return!(![`src`,`href`,`xlink:href`].includes(e)||!n.includes(`javascript:`)&&!n.includes(`data:`))||!!e.startsWith(`on`)||void 0}static clean(e){let t=e.children;for(let e of t)s.removeAttributes(e),s.clean(e)}static removeAttributes(e){for(let{name:t,value:n}of e.attributes)s.isPossiblyDangerous(t,n)&&e.removeAttribute(t)}}s.docStyle=typeof window<`u`&&window.document&&window.document.documentElement.style,s.selectProp=s.testProp([`userSelect`,`MozUserSelect`,`WebkitUserSelect`,`msUserSelect`]),s.transformProp=s.testProp([`transform`,`WebkitTransform`]);let c={supported:!1,testSupport:function(e){!d&&u&&(f?p(e):l=e)}},l,u,d=!1,f=!1;function p(e){let t=e.createTexture();e.bindTexture(e.TEXTURE_2D,t);try{if(e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,u),e.isContextLost())return;c.supported=!0}
12catch{}e.deleteTexture(t),d=!0}var m;typeof document<`u`&&(u=document.createElement(`img`),u.onload=()=>{l&&p(l),l=null,f=!0},u.onerror=()=>{d=!0,l=null},u.src=`data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=`),function(e){let n,r,i,a;e.resetRequestQueue=()=>{n=[],r=0,i=0,a={}},e.addThrottleControl=e=>{let t=i++;return a[t]=e,t},e.removeThrottleControl=e=>{delete a[e],s()},e.getImage=(e,r,i=!0)=>new Promise(((a,o)=>{c.supported&&(e.headers||={},e.headers.accept=`image/webp,*/*`),t.e(e,{type:`image`}),n.push({abortController:r,requestParameters:e,supportImageRefresh:i,state:`queued`,onError:e=>{o(e)},onSuccess:e=>{a(e)}}),s()}));let o=e=>t._(this,void 0,void 0,(function*(){e.state=`running`;let{requestParameters:n,supportImageRefresh:i,onError:a,onSuccess:o,abortController:c}=e,u=!1===i&&!t.i(self)&&!t.g(n.url)&&(!n.headers||Object.keys(n.headers).reduce(((e,t)=>e&&t===`accept`),!0));r++;let d=u?l(n,c):t.m(n,c);try{let n=yield d;delete e.abortController,e.state=`completed`,n.data instanceof HTMLImageElement||t.b(n.data)?o(n):n.data&&o({data:yield(f=n.data,typeof createImageBitmap==`function`?t.f(f):t.h(f)),cacheControl:n.cacheControl,expires:n.expires})}catch(t){delete e.abortController,a(t)}finally{r--,s()}var f})),s=()=>{let e=(()=>{for(let e of Object.keys(a))if(a[e]())return!0;return!1})()?t.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:t.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let t=r;t<e&&n.length>0;t++){let e=n.shift();e.abortController.signal.aborted?t--:o(e)}},l=(e,n)=>new Promise(((r,i)=>{let a=new Image,o=e.url,s=e.credentials;s&&s===`include`?a.crossOrigin=`use-credentials`:(s&&s===`same-origin`||!t.d(o))&&(a.crossOrigin=`anonymous`),n.signal.addEventListener(`abort`,(()=>{a.src=``,i(t.c())})),a.fetchPriority=`high`,a.onload=()=>{a.onerror=a.onload=null,r({data:a})},a.onerror=()=>{a.onerror=a.onload=null,n.signal.aborted||i(Error(`Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))},a.src=o}))}(m||={}),m.resetRequestQueue();class h{constructor(e){this._transformRequestFn=e}transformRequest(e,t){return this._transformRequestFn&&this._transformRequestFn(e,t)||{url:e}}setTransformRequest(e){this._transformRequestFn=e}}function g(e){let t=[];if(typeof e==`string`)t.push({id:`default`,url:e});else if(e&&e.length>0){let n=[];for(let{id:r,url:i}of e){let e=`${r}${i}`;n.indexOf(e)===-1&&(n.push(e),t.push({id:r,url:i}))}}return t}function _(e,t,n){try{let r=new URL(e);return r.pathname+=`${t}${n}`,r.toString()}catch{throw Error(`Invalid sprite URL "${e}", must be absolute. Modify style specification directly or use TransformStyleFunction to correct the issue dynamically`)}}class v{constructor(e,t,n,r){this.context=e,this.format=n,this.texture=e.gl.createTexture(),this.update(t,r)}update(e,n,r){let{width:i,height:a}=e,o=!(this.size&&this.size[0]===i&&this.size[1]===a||r),{context:s}=this,{gl:c}=s;if(this.useMipmap=!!(n&&n.useMipmap),c.bindTexture(c.TEXTURE_2D,this.texture),s.pixelStoreUnpackFlipY.set(!1),s.pixelStoreUnpack.set(1),s.pixelStoreUnpackPremultiplyAlpha.set(this.format===c.RGBA&&(!n||!1!==n.premultiply)),o)this.size=[i,a],e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||t.b(e)?c.texImage2D(c.TEXTURE_2D,0,this.format,this.format,c.UNSIGNED_BYTE,e):c.texImage2D(c.TEXTURE_2D,0,this.format,i,a,0,this.format,c.UNSIGNED_BYTE,e.data);else{let{x:n,y:o}=r||{x:0,y:0};e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||t.b(e)?c.texSubImage2D(c.TEXTURE_2D,0,n,o,c.RGBA,c.UNSIGNED_BYTE,e):c.texSubImage2D(c.TEXTURE_2D,0,n,o,i,a,c.RGBA,c.UNSIGNED_BYTE,e.data)}this.useMipmap&&this.isSizePowerOfTwo()&&c.generateMipmap(c.TEXTURE_2D),s.pixelStoreUnpackFlipY.setDefault(),s.pixelStoreUnpack.setDefault(),s.pixelStoreUnpackPremultiplyAlpha.setDefault()}bind(e,t,n){let{context:r}=this,{gl:i}=r;i.bindTexture(i.TEXTURE_2D,this.texture),n!==i.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(n=i.LINEAR),e!==this.filter&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,e),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,n||e),this.filter=e),t!==this.wrap&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,t),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,t),this.wrap=t)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:e}=this.context;e.deleteTexture(this.texture),this.texture=null}}function y(e){let{userImage:t}=e;return!!(t&&t.render&&t.render())&&(e.data.replace(new Uint8Array(t.data.buffer)),!0)}class b extends t.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(e){if(this.loaded!==e&&(this.loaded=e,e)){for(let{ids:e,promiseResolve:t}of this.requestors)t(this._getImagesForIds(e));this.requestors=[]}}getImage(e){let n=this.images[e];if(n&&!n.data&&n.spriteData){let e=n.spriteData;n.data=new t.R({width:e.width,height:e.height},e.context.getImageData(e.x,e.y,e.width,e.height).data),n.spriteData=null}return n}addImage(e,t){if(this.images[e])throw Error(`Image id ${e} already exist, use updateImage instead`);
12this._validate(e,t)&&(this.images[e]=t)}_validate(e,n){let r=!0,i=n.data||n.spriteData;return this._validateStretch(n.stretchX,i&&i.width)||(this.fire(new t.k(Error(`Image "${e}" has invalid "stretchX" value`))),r=!1),this._validateStretch(n.stretchY,i&&i.height)||(this.fire(new t.k(Error(`Image "${e}" has invalid "stretchY" value`))),r=!1),this._validateContent(n.content,n)||(this.fire(new t.k(Error(`Image "${e}" has invalid "content" value`))),r=!1),r}_validateStretch(e,t){if(!e)return!0;let n=0;for(let r of e){if(r[0]<n||r[1]<r[0]||t<r[1])return!1;n=r[1]}return!0}_validateContent(e,t){if(!e)return!0;if(e.length!==4)return!1;let n=t.spriteData,r=n&&n.width||t.data.width,i=n&&n.height||t.data.height;return!(e[0]<0||r<e[0]||e[1]<0||i<e[1]||e[2]<0||r<e[2]||e[3]<0||i<e[3]||e[2]<e[0]||e[3]<e[1])}updateImage(e,t,n=!0){let r=this.getImage(e);if(n&&(r.data.width!==t.data.width||r.data.height!==t.data.height))throw Error(`size mismatch between old image (${r.data.width}x${r.data.height}) and new image (${t.data.width}x${t.data.height}).`);t.version=r.version+1,this.images[e]=t,this.updatedImages[e]=!0}removeImage(e){let t=this.images[e];delete this.images[e],delete this.patterns[e],t.userImage&&t.userImage.onRemove&&t.userImage.onRemove()}listImages(){return Object.keys(this.images)}getImages(e){return new Promise(((t,n)=>{let r=!0;if(!this.isLoaded())for(let t of e)this.images[t]||(r=!1);this.isLoaded()||r?t(this._getImagesForIds(e)):this.requestors.push({ids:e,promiseResolve:t})}))}_getImagesForIds(e){let n={};for(let r of e){let e=this.getImage(r);e||=(this.fire(new t.l(`styleimagemissing`,{id:r})),this.getImage(r)),e?n[r]={data:e.data.clone(),pixelRatio:e.pixelRatio,sdf:e.sdf,version:e.version,stretchX:e.stretchX,stretchY:e.stretchY,content:e.content,textFitWidth:e.textFitWidth,textFitHeight:e.textFitHeight,hasRenderCallback:!!(e.userImage&&e.userImage.render)}:t.w(`Image "${r}" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.`)}return n}getPixelSize(){let{width:e,height:t}=this.atlasImage;return{width:e,height:t}}getPattern(e){let n=this.patterns[e],r=this.getImage(e);if(!r)return null;if(n&&n.position.version===r.version)return n.position;if(n)n.position.version=r.version;else{let n={w:r.data.width+2,h:r.data.height+2,x:0,y:0},i=new t.I(n,r);this.patterns[e]={bin:n,position:i}}return this._updatePatternAtlas(),this.patterns[e].position}bind(e){let t=e.gl;this.atlasTexture?this.dirty&&=(this.atlasTexture.update(this.atlasImage),!1):this.atlasTexture=new v(e,this.atlasImage,t.RGBA),this.atlasTexture.bind(t.LINEAR,t.CLAMP_TO_EDGE)}_updatePatternAtlas(){let e=[];for(let t in this.patterns)e.push(this.patterns[t].bin);let{w:n,h:r}=t.p(e),i=this.atlasImage;i.resize({width:n||1,height:r||1});for(let e in this.patterns){let{bin:n}=this.patterns[e],r=n.x+1,a=n.y+1,o=this.getImage(e).data,s=o.width,c=o.height;t.R.copy(o,i,{x:0,y:0},{x:r,y:a},{width:s,height:c}),t.R.copy(o,i,{x:0,y:c-1},{x:r,y:a-1},{width:s,height:1}),t.R.copy(o,i,{x:0,y:0},{x:r,y:a+c},{width:s,height:1}),t.R.copy(o,i,{x:s-1,y:0},{x:r-1,y:a},{width:1,height:c}),t.R.copy(o,i,{x:0,y:0},{x:r+s,y:a},{width:1,height:c})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(e){for(let n of e){if(this.callbackDispatchedThisFrame[n])continue;this.callbackDispatchedThisFrame[n]=!0;let e=this.getImage(n);e||t.w(`Image with ID: "${n}" was not found`),y(e)&&this.updateImage(n,e)}}}let x=0x56bc75e2d63100000;function S(e,t,n,r,i,a,o,s,c){for(let l=t;l<t+r;l++)C(e,n*a+l,a,i,o,s,c);for(let l=n;l<n+i;l++)C(e,l*a+t,1,r,o,s,c)}function C(e,t,n,r,i,a,o){a[0]=0,o[0]=-0x56bc75e2d63100000,o[1]=x,i[0]=e[t];for(let s=1,c=0,l=0;s<r;s++){i[s]=e[t+s*n];let r=s*s;do{let e=a[c];l=(i[s]-i[e]+r-e*e)/(s-e)/2}while(l<=o[c]&&--c>-1);c++,a[c]=s,o[c]=l,o[c+1]=x}for(let s=0,c=0;s<r;s++){for(;o[c+1]<s;)c++;let r=a[c],l=s-r;e[t+s*n]=i[r]+l*l}}class w{constructor(e,t){this.requestManager=e,this.localIdeographFontFamily=t,this.entries={}}setURL(e){this.url=e}getGlyphs(e){return t._(this,void 0,void 0,(function*(){let t=[];for(let n in e)for(let r of e[n])t.push(this._getAndCacheGlyphsPromise(n,r));let n=yield Promise.all(t),r={};for(let{stack:e,id:t,glyph:i}of n)r[e]||(r[e]={}),r[e][t]=i&&{id:i.id,bitmap:i.bitmap.clone(),metrics:i.metrics};return r}))}_getAndCacheGlyphsPromise(e,n){return t._(this,void 0,void 0,(function*(){let t=this.entries[e];t||=this.entries[e]={glyphs:{},requests:{},ranges:{}};let r=t.glyphs[n];if(r!==void 0)return{stack:e,id:n,glyph:r};if(r=this._tinySDF(t,e,n),r)return t.glyphs[n]=r,{stack:e,id:n,glyph:r};let i=Math.floor(n/256);if(256*i>65535)throw Error(`glyphs > 65535 not supported`);if(t.ranges[i])return{stack:e,id:n,glyph:r};if(!this.url)throw Error(`glyphsUrl is not set`);if(!t.requests[i]){let n=w.loadGlyphRange(e,i,this.url,this.requestManager);t.requests[i]=n}let a=yield t.requests[i];for(let e in a)this._doesCharSupportLocalGlyph(+e)||(t.glyphs[+e]=a[+e]);return t.ranges[i]=!0,{stack:e,id:n,glyph:a[n]||null}}))}_doesCharSupportLocalGlyph(e){return!!this.localIdeographFontFamily&&
12(/\p{Ideo}|\p{sc=Hang}|\p{sc=Hira}|\p{sc=Kana}/u.test(String.fromCodePoint(e))||t.u[`CJK Unified Ideographs`](e)||t.u[`Hangul Syllables`](e)||t.u.Hiragana(e)||t.u.Katakana(e)||t.u[`CJK Symbols and Punctuation`](e)||t.u[`Halfwidth and Fullwidth Forms`](e))}_tinySDF(e,n,r){let i=this.localIdeographFontFamily;if(!i||!this._doesCharSupportLocalGlyph(r))return;let a=e.tinySDF;if(!a){let t=`400`;/bold/i.test(n)?t=`900`:/medium/i.test(n)?t=`500`:/light/i.test(n)&&(t=`200`),a=e.tinySDF=new w.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:i,fontWeight:t})}let o=a.draw(String.fromCharCode(r));return{id:r,bitmap:new t.q({width:o.width||60,height:o.height||60},o.data),metrics:{width:o.glyphWidth/2||24,height:o.glyphHeight/2||24,left:o.glyphLeft/2+.5||0,top:o.glyphTop/2-27.5||-8,advance:o.glyphAdvance/2||24,isDoubleResolution:!0}}}}w.loadGlyphRange=function(e,n,r,i){return t._(this,void 0,void 0,(function*(){let a=256*n,o=a+255,s=i.transformRequest(r.replace(`{fontstack}`,e).replace(`{range}`,`${a}-${o}`),`Glyphs`),c=yield t.n(s,new AbortController);if(!c||!c.data)throw Error(`Could not load glyph range. range: ${n}, ${a}-${o}`);let l={};for(let e of t.o(c.data))l[e.id]=e;return l}))},w.TinySDF=class{constructor({fontSize:e=24,buffer:t=3,radius:n=8,cutoff:r=.25,fontFamily:i=`sans-serif`,fontWeight:a=`normal`,fontStyle:o=`normal`}={}){this.buffer=t,this.cutoff=r,this.radius=n;let s=this.size=e+4*t,c=this._createCanvas(s),l=this.ctx=c.getContext(`2d`,{willReadFrequently:!0});l.font=`${o} ${a} ${e}px ${i}`,l.textBaseline=`alphabetic`,l.textAlign=`left`,l.fillStyle=`black`,this.gridOuter=new Float64Array(s*s),this.gridInner=new Float64Array(s*s),this.f=new Float64Array(s),this.z=new Float64Array(s+1),this.v=new Uint16Array(s)}_createCanvas(e){let t=document.createElement(`canvas`);return t.width=t.height=e,t}draw(e){let{width:t,actualBoundingBoxAscent:n,actualBoundingBoxDescent:r,actualBoundingBoxLeft:i,actualBoundingBoxRight:a}=this.ctx.measureText(e),o=Math.ceil(n),s=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(a-i))),c=Math.min(this.size-this.buffer,o+Math.ceil(r)),l=s+2*this.buffer,u=c+2*this.buffer,d=Math.max(l*u,0),f=new Uint8ClampedArray(d),p={data:f,width:l,height:u,glyphWidth:s,glyphHeight:c,glyphTop:o,glyphLeft:0,glyphAdvance:t};if(s===0||c===0)return p;let{ctx:m,buffer:h,gridInner:g,gridOuter:_}=this;m.clearRect(h,h,s,c),m.fillText(e,h,h+o);let v=m.getImageData(h,h,s,c);_.fill(x,0,d),g.fill(0,0,d);for(let e=0;e<c;e++)for(let t=0;t<s;t++){let n=v.data[4*(e*s+t)+3]/255;if(n===0)continue;let r=(e+h)*l+t+h;if(n===1)_[r]=0,g[r]=x;else{let e=.5-n;_[r]=e>0?e*e:0,g[r]=e<0?e*e:0}}S(_,0,0,l,u,l,this.f,this.v,this.z),S(g,h,h,s,c,l,this.f,this.v,this.z);for(let e=0;e<d;e++){let t=Math.sqrt(_[e])-Math.sqrt(g[e]);f[e]=Math.round(255-255*(t/this.radius+this.cutoff))}return p}};class T{constructor(){this.specification=t.v.light.position}possiblyEvaluate(e,n){return t.z(e.expression.evaluate(n))}interpolate(e,n,r){return{x:t.B.number(e.x,n.x,r),y:t.B.number(e.y,n.y,r),z:t.B.number(e.z,n.z,r)}}}let E;class D extends t.E{constructor(e){super(),E||=new t.r({anchor:new t.D(t.v.light.anchor),position:new T,color:new t.D(t.v.light.color),intensity:new t.D(t.v.light.intensity)}),this._transitionable=new t.T(E),this.setLight(e),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}setLight(e,n={}){if(!this._validate(t.t,e,n))for(let t in e){let n=e[t];t.endsWith(`-transition`)?this._transitionable.setTransition(t.slice(0,-11),n):this._transitionable.setValue(t,n)}}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}_validate(e,n,r){return(!r||!1!==r.validate)&&t.x(this,e.call(t.y,{value:n,style:{glyphs:!0,sprite:!0},styleSpec:t.v}))}}let O=new t.r({"sky-color":new t.D(t.v.sky[`sky-color`]),"horizon-color":new t.D(t.v.sky[`horizon-color`]),"fog-color":new t.D(t.v.sky[`fog-color`]),"fog-ground-blend":new t.D(t.v.sky[`fog-ground-blend`]),"horizon-fog-blend":ne
12w t.D(t.v.sky[`horizon-fog-blend`]),"sky-horizon-blend":new t.D(t.v.sky[`sky-horizon-blend`]),"atmosphere-blend":new t.D(t.v.sky[`atmosphere-blend`])});class k extends t.E{constructor(e){super(),this._transitionable=new t.T(O),this.setSky(e),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new t.C(0))}setSky(e,n={}){if(!this._validate(t.F,e,n)){e||={"sky-color":`transparent`,"horizon-color":`transparent`,"fog-color":`transparent`,"fog-ground-blend":1,"atmosphere-blend":0};for(let t in e){let n=e[t];t.endsWith(`-transition`)?this._transitionable.setTransition(t.slice(0,-11),n):this._transitionable.setValue(t,n)}}}getSky(){return this._transitionable.serialize()}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}_validate(e,n,r={}){return!1!==r?.validate&&t.x(this,e.call(t.y,t.e({value:n,style:{glyphs:!0,sprite:!0},styleSpec:t.v})))}calculateFogBlendOpacity(e){return e<60?0:e<70?(e-60)/10:1}}class A{constructor(e,t){this.width=e,this.height=t,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(e,t){let n=e.join(`,`)+String(t);return this.dashEntry[n]||(this.dashEntry[n]=this.addDash(e,t)),this.dashEntry[n]}getDashRanges(e,t,n){let r=[],i=e.length%2==1?-e[e.length-1]*n:0,a=e[0]*n,o=!0;r.push({left:i,right:a,isDash:o,zeroLength:e[0]===0});let s=e[0];for(let t=1;t<e.length;t++){o=!o;let c=e[t];i=s*n,s+=c,a=s*n,r.push({left:i,right:a,isDash:o,zeroLength:c===0})}return r}addRoundDash(e,t,n){let r=t/2;for(let t=-n;t<=n;t++){let i=this.width*(this.nextRow+n+t),a=0,o=e[a];for(let s=0;s<this.width;s++){s/o.right>1&&(o=e[++a]);let c=Math.abs(s-o.left),l=Math.abs(s-o.right),u=Math.min(c,l),d,f=t/n*(r+1);if(o.isDash){let e=r-Math.abs(f);d=Math.sqrt(u*u+e*e)}else d=r-Math.sqrt(u*u+f*f);this.data[i+s]=Math.max(0,Math.min(255,d+128))}}}addRegularDash(e){for(let t=e.length-1;t>=0;--t){let n=e[t],r=e[t+1];n.zeroLength?e.splice(t,1):r&&r.isDash===n.isDash&&(r.left=n.left,e.splice(t,1))}let t=e[0],n=e[e.length-1];t.isDash===n.isDash&&(t.left=n.left-this.width,n.right=t.right+this.width);let r=this.width*this.nextRow,i=0,a=e[i];for(let t=0;t<this.width;t++){t/a.right>1&&(a=e[++i]);let n=Math.abs(t-a.left),o=Math.abs(t-a.right),s=Math.min(n,o);this.data[r+t]=Math.max(0,Math.min(255,(a.isDash?s:-s)+128))}}addDash(e,n){let r=n?7:0,i=2*r+1;if(this.nextRow+i>this.height)return t.w(`LineAtlas out of space`),null;let a=0;for(let t=0;t<e.length;t++)a+=e[t];if(a!==0){let t=this.width/a,i=this.getDashRanges(e,this.width,t);n?this.addRoundDash(i,t,r):this.addRegularDash(i)}let o={y:(this.nextRow+r+.5)/this.height,height:2*r/this.height,width:a};return this.nextRow+=i,this.dirty=!0,o}bind(e){let t=e.gl;this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.ALPHA,t.UNSIGNED_BYTE,this.data))):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,this.width,this.height,0,t.ALPHA,t.UNSIGNED_BYTE,this.data))}}let ee=`maplibre_preloaded_worker_pool`;class te{constructor(){this.active={}}acquire(e){if(!this.workers)for(this.workers=[];this.workers.length<te.workerCount;)this.workers.push(new Worker(t.a.WORKER_URL));return this.active[e]=!0,this.workers.slice()}release(e){delete this.active[e],this.numActive()===0&&(this.workers.forEach((e=>{e.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[ee]}numActive(){return Object.keys(this.active).length}}let j=Math.floor(o.hardwareConcurrency/2),ne,re;function M(){return ne||=new te,ne}te.workerCount=t.G(globalThis)?Math.max(Math.min(j,3),1):1;class ie{constructor(e,n){this.workerPool=e,this.actors=[],this.currentActor=0,this.id=n;let r=this.workerPool.acquire(n);for(let e=0;e<r.length;e++){let i=new t.H(r[e],n);i.name=`Worker ${e}`,this.actors.push(i)}if(!this.actors.length)throw Error(`No actors found`)}broadcast(e,t){let n=[];for(let r of this.actors)n.push(r.sendAsync({type:e,data:t}));return Promise.all(n)}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}
12remove(e=!0){this.actors.forEach((e=>{e.remove()})),this.actors=[],e&&this.workerPool.release(this.id)}registerMessageHandler(e,t){for(let n of this.actors)n.registerMessageHandler(e,t)}}function ae(){return re||(re=new ie(M(),t.J),re.registerMessageHandler(`GR`,((e,n,r)=>t.m(n,r)))),re}function oe(e,n){let r=t.K();return t.L(r,r,[1,1,0]),t.M(r,r,[.5*e.width,.5*e.height,1]),e.calculatePosMatrix?t.N(r,r,e.calculatePosMatrix(n.toUnwrapped())):r}function se(e,t,n,r,i,a,o){let s=function(e,t,n){if(e)for(let r of e){let e=t[r];if(e&&e.source===n&&e.type===`fill-extrusion`)return!0}else for(let e in t){let r=t[e];if(r.source===n&&r.type===`fill-extrusion`)return!0}return!1}(i?.layers??null,t,e.id),c=a.maxPitchScaleFactor(),l=e.tilesIn(r,c,s);l.sort(ce);let u=[];for(let r of l)u.push({wrappedTileID:r.tileID.wrapped().key,queryResults:r.tile.queryRenderedFeatures(t,n,e._state,r.queryGeometry,r.cameraQueryGeometry,r.scale,i,a,c,oe(e.transform,r.tileID),o?(e,t)=>o(r.tileID,e,t):void 0)});return function(e,t){for(let n in e)for(let r of e[n])le(r,t);return e}(function(e){let t={},n={};for(let r of e){let e=r.queryResults,i=r.wrappedTileID,a=n[i]=n[i]||{};for(let n in e){let r=e[n],i=a[n]=a[n]||{},o=t[n]=t[n]||[];for(let e of r)i[e.featureIndex]||(i[e.featureIndex]=!0,o.push(e))}}return t}(u),e)}function ce(e,t){let n=e.tileID,r=t.tileID;return n.overscaledZ-r.overscaledZ||n.canonical.y-r.canonical.y||n.wrap-r.wrap||n.canonical.x-r.canonical.x}function le(e,t){let n=e.feature,r=t.getFeatureState(n.layer[`source-layer`],n.id);n.source=n.layer.source,n.layer[`source-layer`]&&(n.sourceLayer=n.layer[`source-layer`]),n.state=r}function N(e,n,r){return t._(this,void 0,void 0,(function*(){let i=e;if(e.url?i=(yield t.j(n.transformRequest(e.url,`Source`),r)).data:yield o.frameAsync(r),!i)return null;let a=t.O(t.e(i,e),[`tiles`,`minzoom`,`maxzoom`,`attribution`,`bounds`,`scheme`,`tileSize`,`encoding`]);return`vector_layers`in i&&i.vector_layers&&(a.vectorLayerIds=i.vector_layers.map((e=>e.id))),a}))}class P{constructor(e,t){e&&(t?this.setSouthWest(e).setNorthEast(t):Array.isArray(e)&&(e.length===4?this.setSouthWest([e[0],e[1]]).setNorthEast([e[2],e[3]]):this.setSouthWest(e[0]).setNorthEast(e[1])))}setNorthEast(e){return this._ne=e instanceof t.Q?new t.Q(e.lng,e.lat):t.Q.convert(e),this}setSouthWest(e){return this._sw=e instanceof t.Q?new t.Q(e.lng,e.lat):t.Q.convert(e),this}extend(e){let n=this._sw,r=this._ne,i,a;if(e instanceof t.Q)i=e,a=e;else{if(!(e instanceof P))return Array.isArray(e)?e.length===4||e.every(Array.isArray)?this.extend(P.convert(e)):this.extend(t.Q.convert(e)):e&&(`lng`in e||`lon`in e)&&`lat`in e?this.extend(t.Q.convert(e)):this;if(i=e._sw,a=e._ne,!i||!a)return this}return n||r?(n.lng=Math.min(i.lng,n.lng),n.lat=Math.min(i.lat,n.lat),r.lng=Math.max(a.lng,r.lng),r.lat=Math.max(a.lat,r.lat)):(this._sw=new t.Q(i.lng,i.lat),this._ne=new t.Q(a.lng,a.lat)),this}getCenter(){return new t.Q((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new t.Q(this.getWest(),this.getNorth())}getSouthEast(){return new t.Q(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(e){let{lng:n,lat:r}=t.Q.convert(e),i=this._sw.lng<=n&&n<=this._ne.lng;return this._sw.lng>this._ne.lng&&(i=this._sw.lng>=n&&n>=this._ne.lng),this._sw.lat<=r&&r<=this._ne.lat&&i}static convert(e){return e instanceof P?e:e&&new P(e)}static fromLngLat(e,n=0){let r=360*n/40075017,i=r/Math.cos(Math.PI/180*e.lat);return new P(new t.Q(e.lng-i,e.lat-r),new t.Q(e.lng+i,e.lat+r))}adjustAntiMeridian(){let e=new t.Q(this._sw.lng,this._sw.lat),n=new t.Q(this._ne.lng,this._ne.lat);return new P(e,e.lng>n.lng?new t.Q(n.lng+360,n.lat):n)}}class ue{constructor(e,t,n){this.bounds=P.convert(this.validateBounds(e)),this.minzoom=t||0,this.maxzoom=n||24}
12validateBounds(e){return Array.isArray(e)&&e.length===4?[Math.max(-180,e[0]),Math.max(-90,e[1]),Math.min(180,e[2]),Math.min(90,e[3])]:[-180,-90,180,90]}contains(e){let n=2**e.z,r=Math.floor(t.U(this.bounds.getWest())*n),i=Math.floor(t.S(this.bounds.getNorth())*n),a=Math.ceil(t.U(this.bounds.getEast())*n),o=Math.ceil(t.S(this.bounds.getSouth())*n);return e.x>=r&&e.x<a&&e.y>=i&&e.y<o}}class F extends t.E{constructor(e,n,r,i){if(super(),this.id=e,this.dispatcher=r,this.type=`vector`,this.minzoom=0,this.maxzoom=22,this.scheme=`xyz`,this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,t.e(this,t.O(n,[`url`,`scheme`,`tileSize`,`promoteId`])),this._options=t.e({type:`vector`},n),this._collectResourceTiming=n.collectResourceTiming,this.tileSize!==512)throw Error(`vector tile sources must have a tileSize of 512`);this.setEventedParent(i)}load(){return t._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new t.l(`dataloading`,{dataType:`source`})),this._tileJSONRequest=new AbortController;try{let e=yield N(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),e&&(t.e(this,e),e.bounds&&(this.tileBounds=new ue(e.bounds,this.minzoom,this.maxzoom)),this.fire(new t.l(`data`,{dataType:`source`,sourceDataType:`metadata`})),this.fire(new t.l(`data`,{dataType:`source`,sourceDataType:`content`})))}catch(e){this._tileJSONRequest=null,this.fire(new t.k(e))}}))}loaded(){return this._loaded}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}onAdd(e){this.map=e,this.load()}setSourceProperty(e){this._tileJSONRequest&&this._tileJSONRequest.abort(),e(),this.load()}setTiles(e){return this.setSourceProperty((()=>{this._options.tiles=e})),this}setUrl(e){return this.setSourceProperty((()=>{this.url=e,this._options.url=e})),this}onRemove(){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null)}serialize(){return t.e({},this._options)}loadTile(e){return t._(this,void 0,void 0,(function*(){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n={request:this.map._requestManager.transformRequest(t,`Tile`),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.t
12ype,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,subdivisionGranularity:this.map.style.projection.subdivisionGranularity};n.request.collectResourceTiming=this._collectResourceTiming;let r=`RT`;if(e.actor&&e.state!==`expired`){if(e.state===`loading`)return new Promise(((t,n)=>{e.reloadPromise={resolve:t,reject:n}}))}else e.actor=this.dispatcher.getActor(),r=`LT`;e.abortController=new AbortController;try{let t=yield e.actor.sendAsync({type:r,data:n},e.abortController);if(delete e.abortController,e.aborted)return;this._afterTileLoadWorkerResponse(e,t)}catch(t){if(delete e.abortController,e.aborted)return;if(t&&t.status!==404)throw t;this._afterTileLoadWorkerResponse(e,null)}}))}_afterTileLoadWorkerResponse(e,t){if(t&&t.resourceTiming&&(e.resourceTiming=t.resourceTiming),t&&this.map._refreshExpiredTiles&&e.setExpiryData(t),e.loadVectorData(t,this.map.painter),e.reloadPromise){let t=e.reloadPromise;e.reloadPromise=null,this.loadTile(e).then(t.resolve).catch(t.reject)}}abortTile(e){return t._(this,void 0,void 0,(function*(){e.abortController&&(e.abortController.abort(),delete e.abortController),e.actor&&(yield e.actor.sendAsync({type:`AT`,data:{uid:e.uid,type:this.t
12ype,source:this.id}}))}))}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.unloadVectorData(),e.actor&&(yield e.actor.sendAsync({type:`RMT`,data:{uid:e.uid,type:this.type,source:this.id}}))}))}hasTransition(){return!1}}class de extends t.E{constructor(e,n,r,i){super(),this.id=e,this.dispatcher=r,this.setEventedParent(i),this.type=`raster`,this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=`xyz`,this.tileSize=512,this._loaded=!1,this._options=t.e({type:`raster`},n),t.e(this,t.O(n,[`url`,`scheme`,`tileSize`]))}load(){return t._(this,arguments,void 0,(function*(e=!1){this._loaded=!1,this.fire(new t.l(`dataloading`,{dataType:`source`})),this._tileJSONRequest=new AbortController;try{let n=yield N(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,n&&(t.e(this,n),n.bounds&&(this.tileBounds=new ue(n.bounds,this.minzoom,this.maxzoom)),this.fire(new t.l(`data`,{dataType:`source`,sourceDataType:`metadata`})),this.fire(new t.l(`data`,{dataType:`source`,sourceDataType:`content`,sourceDataChanged:e})))}catch(e){this._tileJSONRequest=null,this.fire(new t.k(e))}}))}loaded(){return this._loaded}onAdd(e){this.map=e,this.load()}onRemove(){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null)}setSourceProperty(e){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null),e(),this.load(!0)}setTiles(e){return this.setSourceProperty((()=>{this._options.tiles=e})),this}setUrl(e){return this.setSourceProperty((()=>{this.url=e,this._options.url=e})),this}serialize(){return t.e({},this._options)}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}loadTile(e){return t._(this,void 0,void 0,(function*(){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.abortController=new AbortController;try{let n=yield m.getImage(this.map._requestManager.transformRequest(t,`Tile`),e.abortController,this.map._refreshExpiredTiles);if(delete e.abortController,e.aborted)return void(e.state=`unloaded`);if(n&&n.data){this.map._refreshExpiredTiles&&(n.cacheControl||n.expires)&&e.setExpiryData({cacheControl:n.cacheControl,expires:n.expires});let t=this.map.painter.context,r=t.gl,i=n.data;e.texture=this.map.painter.getTileTexture(i.width),e.texture?e.texture.update(i,{useMipmap:!0}):(e.texture=new v(t,i,r.RGBA,{useMipmap:!0}),e.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE,r.LINEAR_MIPMAP_NEAREST)),e.state=`loaded`}}catch(t){if(delete e.abortController,e.aborted)e.state=`unloaded`;else if(t)throw e.state=`errored`,t}}))}abortTile(e){return t._(this,void 0,void 0,(function*(){e.abortController&&(e.abortController.abort(),delete e.abortController)}))}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.texture&&this.map.painter.saveTileTexture(e.texture)}))}hasTransition(){return!1}}class fe extends de{constructor(e,n,r,i){super(e,n,r,i),this.type=`raster-dem`,this.maxzoom=22,this._options=t.e({type:`raster-dem`},n),this.encoding=n.encoding||`mapbox`,this.redFactor=n.redFactor,this.greenFactor=n.greenFactor,this.blueFactor=n.blueFactor,this.baseShift=n.baseShift}loadTile(e){return t._(this,void 0,void 0,(function*(){let n=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),r=this.map._requestManager.transformRequest(n,`Tile`);e.neighboringTiles=this._getNeighboringTiles(e.tileID),e.abortController=new AbortController;try{let n=yield m.getImage(r,e.abortController,this.map._refreshExpiredTiles);if(delete e.abortController,e.aborted)return void(e.state=`unloaded`);if(n&&n.data){let r=n.data;this.map._refreshExpiredTiles&&(n.cacheControl||n.expires)&&e.setExpiryData({cacheControl:n.cacheControl,expires:n.expires});let i=t.b(r)&&t.V()?r:yield this.readImageNow(r),a={type:this.type,uid:e.uid,source:this.id,rawImageData:i,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};(!e.actor||e.state===`expired`)&&(e.actor=this.dispatcher.getActor(),e.dem=yield e.actor.sendAsync({type:`LDT`,data:a}),e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.state=`loaded`)}}catch(t){if(delete e.abortController,e.aborted)e.state=`unloaded`;else if(t)throw e.state=`errored`,t}}))}readImageNow(e){return t._(this,void 0,void 0,(function*(){if(typeof VideoFrame<`u`&&t.W()){let n=e.width+2,r=e.height+2;try{return new t.R({width:n,height:r},yield t.X(e,-1,-1,n,r))}catch{}}return o.getImageData(e,1)}))}_getNeighboringTiles(e){let n=e.canonical,r=2**n.z,i=(n.x-1+r)%r,a=n.x===0?e.wrap-1:e.wrap,o=(n.x+1+r)%r,s=n.x+1===r?e.wrap+1:e.wrap,c={};
12return c[new t.Y(e.overscaledZ,a,n.z,i,n.y).key]={backfilled:!1},c[new t.Y(e.overscaledZ,s,n.z,o,n.y).key]={backfilled:!1},n.y>0&&(c[new t.Y(e.overscaledZ,a,n.z,i,n.y-1).key]={backfilled:!1},c[new t.Y(e.overscaledZ,e.wrap,n.z,n.x,n.y-1).key]={backfilled:!1},c[new t.Y(e.overscaledZ,s,n.z,o,n.y-1).key]={backfilled:!1}),n.y+1<r&&(c[new t.Y(e.overscaledZ,a,n.z,i,n.y+1).key]={backfilled:!1},c[new t.Y(e.overscaledZ,e.wrap,n.z,n.x,n.y+1).key]={backfilled:!1},c[new t.Y(e.overscaledZ,s,n.z,o,n.y+1).key]={backfilled:!1}),c}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.demTexture&&this.map.painter.saveTileTexture(e.demTexture),e.fbo&&(e.fbo.destroy(),delete e.fbo),e.dem&&delete e.dem,delete e.neighboringTiles,e.state=`unloaded`,e.actor&&(yield e.actor.sendAsync({type:`RDT`,data:{type:this.type,uid:e.uid,source:this.id}}))}))}}class I extends t.E{constructor(e,n,r,i){super(),this.id=e,this.type=`geojson`,this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._pendingLoads=0,this.actor=r.getActor(),this.setEventedParent(i),this._data=n.data,this._options=t.e({},n),this._collectResourceTiming=n.collectResourceTiming,n.maxzoom!==void 0&&(this.maxzoom=n.maxzoom),n.type&&(this.type=n.type),n.attribution&&(this.attribution=n.attribution),this.promoteId=n.promoteId,n.clusterMaxZoom!==void 0&&this.maxzoom<=n.clusterMaxZoom&&t.w(`The maxzoom value "${this.maxzoom}" is expected to be greater than the clusterMaxZoom value "${n.clusterMaxZoom}".`),this.workerOptions=t.e({source:this.id,cluster:n.cluster||!1,geojsonVtOptions:{buffer:this._pixelsToTileUnits(n.buffer===void 0?128:n.buffer),tolerance:this._pixelsToTileUnits(n.tolerance===void 0?.375:n.tolerance),extent:t.Z,maxZoom:this.maxzoom,lineMetrics:n.lineMetrics||!1,generateId:n.generateId||!1},superclusterOptions:{maxZoom:n.clusterMaxZoom===void 0?this.maxzoom-1:n.clusterMaxZoom,minPoints:Math.max(2,n.clusterMinPoints||2),extent:t.Z,radius:this._pixelsToTileUnits(n.clusterRadius||50),log:!1,generateId:n.generateId||!1},clusterProperties:n.clusterProperties,filter:n.filter},n.workerOptions),typeof this.promoteId==`string`&&(this.workerOptions.promoteId=this.promoteId)}_pixelsToTileUnits(e){return e*(t.Z/this.tileSize)}load(){return t._(this,void 0,void 0,(function*(){yield this._updateWorkerData()}))}onAdd(e){this.map=e,this.load()}setData(e){return this._data=e,this._updateWorkerData(),this}updateData(e){return this._updateWorkerData(e),this}getData(){return t._(this,void 0,void 0,(function*(){let e=t.e({type:this.type},this.workerOptions);return this.actor.sendAsync({type:`GD`,data:e})}))}getCoordinatesFromGeometry(e){return e.type===`GeometryCollection`?e.geometries.map((e=>e.coordinates)).flat(1/0):e.coordinates.flat(1/0)}getBounds(){return t._(this,void 0,void 0,(function*(){let e=new P,t=yield this.getData(),n;switch(t.type){case`FeatureCollection`:n=t.features.map((e=>this.getCoordinatesFromGeometry(e.geometry))).flat(1/0);break;case`Feature`:n=this.getCoordinatesFromGeometry(t.geometry);break;default:n=this.getCoordinatesFromGeometry(t)}if(n.length==0)return e;for(let t=0;t<n.length-1;t+=2)e.extend([n[t],n[t+1]]);return e}))}setClusterOptions(e){return this.workerOptions.cluster=e.cluster,e&&(e.clusterRadius!==void 0&&(this.workerOptions.superclusterOptions.radius=this._pixelsToTileUnits(e.clusterRadius)),e.clusterMaxZoom!==void 0&&(this.workerOptions.superclusterOptions.maxZoom=e.clusterMa
12xZoom)),this._updateWorkerData(),this}getClusterExpansionZoom(e){return this.actor.sendAsync({type:`GCEZ`,data:{type:this.type,clusterId:e,source:this.id}})}getClusterChildren(e){return this.actor.sendAsync({type:`GCC`,data:{type:this.type,clusterId:e,source:this.id}})}getClusterLeaves(e,t,n){return this.actor.sendAsync({type:`GCL`,data:{type:this.type,source:this.id,clusterId:e,limit:t,offset:n}})}_updateWorkerData(e){return t._(this,void 0,void 0,(function*(){let n=t.e({type:this.type},this.workerOptions);e?n.dataDiff=e:typeof this._data==`string`?(n.request=this.map._requestManager.transformRequest(o.resolveURL(this._data),`Source`),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(this._data),this._pendingLoads++,this.fire(new t.l(`dataloading`,{dataType:`source`}));try{let e=yield this.actor.sendAsync({type:`LD`,data:n});if(this._pendingLoads--,this._removed||e.abandoned)return void this.fire(new t.l(`dataabort`,{dataType:`source`}));let r=null;e.resourceTiming&&e.resourceTiming[this.id]&&(r=e.resourceTiming[this.id].slice(0));let i={dataType:`source`};this._collectResourceTiming&&r&&r.length>0&&t.e(i,{resourceTiming:r}),this.fire(new t.l(`data`,Object.assign(Object.assign({},i),{sourceDataType:`metadata`}))),this.fire(new t.l(`data`,Object.assign(Object.assign({},i),{sourceDataType:`content`})))}catch(e){if(this._pendingLoads--,this._removed)return void this.fire(new t.l(`dataabort`,{dataType:`source`}));this.fire(new t.k(e))}}))}loaded(){return this._pendingLoads===0}loadTile(e){return t._(this,void 0,void 0,(function*(){let t=e.actor?`RT`:`LT`;e.actor=this.actor;let n={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,subdivisionGranularity:this.map.style.projection.subdivisionGranularity};e.abortController=new AbortController;let r=yield this.actor.sendAsync({type:t,data:n},e.abortController);delete e.abortController,e.unloadVectorData(),e.aborted||e.loadVectorData(r,this.map.painter,t===`RT`)}))}abortTile(e){return t._(this,void 0,void 0,(function*(){e.abortController&&(e.abortController.abort(),delete e.abortController),e.aborted=!0}))}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.unloadVectorData(),yield this.actor.sendAsync({type:`RMT`,data:{uid:e.uid,type:this.t
12ype,source:this.id}})}))}onRemove(){this._removed=!0,this.actor.sendAsync({type:`RS`,data:{type:this.type,source:this.id}})}serialize(){return t.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}class pe extends t.E{constructor(e,t,n,r){super(),this.flippedWindingOrder=!1,this.id=e,this.dispatcher=n,this.coordinates=t.coordinates,this.type=`image`,this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(r),this.options=t}load(e){return t._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new t.l(`dataloading`,{dataType:`source`})),this.url=this.options.url,this._request=new AbortController;try{let t=yield m.getImage(this.map._requestManager.transformRequest(this.url,`Image`),this._request);this._request=null,this._loaded=!0,t&&t.data&&(this.image=t.data,e&&(this.coordinates=e),this._finishLoading())}catch(e){this._request=null,this._loaded=!0,this.fire(new t.k(e))}}))}loaded(){return this._loaded}updateImage(e){return e.url?(this._request&&=(this._request.abort(),null),this.options.url=e.url,this.load(e.coordinates).finally((()=>{this.texture=null})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.l(`data`,{dataType:`source`,sourceDataType:`metadata`})))}onAdd(e){this.map=e,this.load()}onRemove(){this._request&&=(this._request.abort(),null)}setCoordinates(e){this.coordinates=e;let n=e.map(t.$.fromLngLat);var r;return this.tileID=function(e){let n=1/0,r=1/0,i=-1/0,a=-1/0;for(let t of e)n=Math.min(n,t.x),r=Math.min(r,t.y),i=Math.max(i,t.x),a=Math.max(a,t.y);let o=Math.max(i-n,a-r),s=Math.max(0,Math.floor(-Math.log(o)/Math.LN2)),c=2**s;return new t.a1(s,Math.floor((n+i)/2*c),Math.floor((r+a)/2*c))}(n),this.terrainTileRanges=this._getOverlappingTileRanges(n),this.minzoom=this.maxzoom=this.tileID.z,this.tileCoords=n.map((e=>this.tileID.getTilePoint(e)._round())),this.flippedWindingOrder=((r=this.tileCoords)[1].x-r[0].x)*(r[2].y-r[0].y)-(r[1].y-r[0].y)*(r[2].x-r[0].x)<0,this.fire(new t.l(`data`,{dataType:`source`,sourceDataType:`content`})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let e=this.map.painter.context,n=e.gl;this.texture||(this.texture=new v(e,this.image,n.RGBA),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE));let r=!1;for(let e in this.tiles){let t=this.tiles[e];t.state!==`loaded`&&(t.state=`loaded`,t.texture=this.texture,r=!0)}r&&this.fire(new t.l(`data`,{dataType:`source`,sourceDataType:`idle`,sourceId:this.id}))}loadTile(e){return t._(this,void 0,void 0,(function*(){this.tileID&&this.tileID.equals(e.tileID.canonical)?(this.tiles[String(e.tileID.wrap)]=e,e.buckets={}):e.state=`errored`}))}serialize(){return{type:`image`,url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}_getOverlappingTileRanges(e){let n=1/0,r=1/0,i=-1/0,a=-1/0;for(let t of e)n=Math.min(n,t.x),r=Math.min(r,t.y),i=Math.max(i,t.x),a=Math.max(a,t.y);let o={};for(let e=0;e<=t.a0;e++){let t=2**e;o[e]={minTileX:Math.floor(n*t),minTileY:Math.floor(r*t),maxTileX:Math.floor(i*t),maxTileY:Math.floor(a*t)}}return o}}class me extends pe{constructor(e,t,n,r){super(e,t,n,r),this.roundZoom=!0,this.type=`video`,this.options=t}load(){return t._(this,void 0,void 0,(function*(){this._loaded=!1;let e=this.options;this.urls=[];for(let t of e.urls)this.urls.push(this.map._requestManager.transformRequest(t,`Source`).url);try{let e=yield t.a2(this.urls);if(this._loaded=!0,!e)return;this.video=e,this.video.loop=!0,this.video.addEventListener(`playing`,(()=>{this.map.triggerRepaint()})),this.map&&this.video.play(),this._finishLoading()}catch(e){this.fire(new t.k(e))}}))}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(e){if(this.video){let n=this.video.seekable;e<n.start(0)||e>n.end(0)?this.fire(new t.k(new t.a3(`sources.${this.id}`,null,`Playback for this video can be set only between the ${n.start(0)} and ${n.end(0)}-second mark.`))):this.video.currentTime=e}}getVideo(){return this.video}onAdd(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let e=this.map.painter.context,n=e.gl;this.texture?this.video.paused||(this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE),n.texSubImage2D(n.TEXTURE_2D,0,0,0,n.RGBA,n.UNSIGNED_BYTE,this.video)):(this.texture=new v(e,this.video,n.RGBA),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE));let r=!1;for(let e in this.tiles){let t=this.tiles[e];t.state!==`loaded`&&(t.state=`loaded`,t.texture=this.texture,r=!0)}r&&this.fire(new t.l(`data`,{dataType:`source`,sourceDataType:`idle`,sourceId:this.id}))}serialize(){return{type:`video`,urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class he extends pe{constructor(e,n,r,i){super(e,n,r,i),n.coordinates?Array.isArray(n.coordinates)&&n.coordinates.length===4&&!n.coordinates.some((e=>!Array.isArray(e)||e.length!==2||e.some((e=>typeof e!=`number`))))||this.fire(new t.k(new t.a3(`sources.${e}`,null,`"coordinates" property must be an array of 4 longitude/latitude array pairs`))):this.fire(new t.k(new t.a3(`sources.${e}`,null,`missing required property "coordinates"`))),n.animate&&typeof n.animate!=`boolean`&&this.fire(new t.k(new t.a3(`sources.${e}`,null,`optional "animate" property must be a boolean value`))),n.canvas?typeof n.canvas==`string`||n.canvas instanceof HTMLCanvasElement||this.fire(new t.k(new t.a3(`sources.${e}`,null,`"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance`))):this.fire(new t.k(new t.a3(`sources.${e}`,null,`missing required property "canvas"`))),this.options=n,this.animate=n.animate===void 0||n.animate}load(){return t._(this,void 0,void 0,(function*(){this._loaded=!0,this.canvas||=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.k(Error(`Canvas dimensions cannot be less than or equal to zero.`))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&=(this.prepare(),!1)},this._finishLoading())}))}getCanvas(){return this.canvas}onAdd(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let n=this.map.painter.context,r=n.gl;this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new v(n,this.canvas,r.RGBA,{premultiply:!0});let i=!1;for(let e in this.tiles){let t=this.tiles[e];t.state!==`loaded`&&(t.state=`loaded`,t.texture=this.texture,i=!0)}i&&this.fire(new t.l(`data`,{dataType:`source`,sourceDataType:`idle`,sourceId:this.id}))}serialize(){return{type:`canvas`,coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let e of[this.canvas.width,this.canvas.height])if(isNaN(e)||e<=0)return!0;return!1}}let ge={},_e=e=>{switch(e){case`geojson`:return I;case`image`:return pe;case`raster`:return de;case`raster-dem`:return fe;case`vector`:return F;case`video`:return me;case`canvas`:return he}return ge[e]},ve=`RTLPluginLoaded`;class ye extends t.E{constructor(){super(...arguments),this.status=`unavailable`,this.url=null,this.dispatcher=ae()}_syncState(e){return this.status=e,this.dispatcher.broadcast(`SRPS`,{pluginStatus:e,pluginURL:this.url}).catch((e=>{throw this.status=`error`,e}))}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status=`unavailable`,this.url=null}setRTLTextPlugin(e){return t._(this,arguments,void 0,(function*(e,t=!1){if(this.url)throw Error(`setRTLTextPlugin cannot be called multiple times.`);if(this.url=o.resolveURL(e),!this.url)throw Error(`requested url ${e}
12 is invalid`);if(this.status===`unavailable`){if(!t)return this._requestImport();this.status=`deferred`,this._syncState(this.status)}else if(this.status===`requested`)return this._requestImport()}))}_requestImport(){return t._(this,void 0,void 0,(function*(){yield this._syncState(`loading`),this.status=`loaded`,this.fire(new t.l(ve))}))}lazyLoad(){this.status===`unavailable`?this.status=`requested`:this.status===`deferred`&&this._requestImport()}}let be=null;function xe(){return be||=new ye,be}class Se{constructor(e,n){this.timeAdded=0,this.fadeEndTime=0,this.tileID=e,this.uid=t.a4(),this.uses=0,this.tileSize=n,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state=`loading`}registerFadeDuration(e){let t=e+this.timeAdded;t<this.fadeEndTime||(this.fadeEndTime=t)}wasRequested(){return this.state===`errored`||this.state===`loaded`||this.state===`reloading`}clearTextures(e){this.demTexture&&e.saveTileTexture(this.demTexture),this.demTexture=null}loadVectorData(e,n,r){if(this.hasData()&&this.unloadVectorData(),this.state=`loaded`,e){e.featureIndex&&(this.latestFeatureIndex=e.featureIndex,e.rawTileData?(this.latestRawTileData=e.rawTileData,this.latestFeatureIndex.rawTileData=e.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=e.collisionBoxArray,this.buckets=function(e,t){let n={};if(!t)return n;for(let r of e){let e=r.layerIds.map((e=>t.getLayer(e))).filter(Boolean);if(e.length!==0){r.layers=e,r.stateDependentLayerIds&&(r.stateDependentLayers=r.stateDependentLayerIds.map((t=>e.filter((e=>e.id===t))[0])));for(let t of e)n[t.id]=r}}return n}(e.buckets,n?.style),this.hasSymbolBuckets=!1;for(let e in this.buckets){let n=this.buckets[e];if(n instanceof t.a6){if(this.hasSymbolBuckets=!0,!r)break;n.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let e in this.buckets){let n=this.buckets[e];if(n instanceof t.a6&&n.hasRTLText){this.hasRTLText=!0,xe().lazyLoad();break}}this.queryPadding=0;for(let e in this.buckets){let t=this.buckets[e];this.queryPadding=Math.max(this.queryPadding,n.style.getLayer(e).queryRadius(t))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage)}else this.collisionBoxArray=new t.a5}unloadVectorData(){for(let e in this.buckets)this.buckets[e].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&=null,this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=`unloaded`}getBucket(e){return this.buckets[e.id]}upload(e){for(let t in this.buckets){let n=this.buckets[t];n.uploadPending()&&n.upload(e)}let t=e.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new v(e,this.imageAtlas.image,t.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&=(this.glyphAtlasTexture=new v(e,this.glyphAtlasImage,t.ALPHA),null)}prepare(e){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(e,this.imageAtlasTexture)}queryRenderedFeatures(e,t,n,r,i,a,o,s,c,l,u){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:r,cameraQueryGeometry:i,scale:a,tileSize:this.tileSize,pixelPosMatrix:l,transform:s,params:o,queryPadding:this.queryPadding*c,getElevation:u},e,t,n):{}}querySourceFeatures(e,n){let r=this.latestFeatureIndex;if(!r||!r.rawTileData)return;let i=r.loadVTLayers(),a=n&&n.sourceLayer?n.sourceLayer:``,o=i._geojsonTileLayer||i[a];if(!o)return;let s=t.a7(n&&n.filter),{z:c,x:l,y:u}=this.tileID.canonical,d={z:c,x:l,y:u};for(let n=0;n<o.length;n++){let i=o.feature(n);if(s.needGeometry){let e=t.a8(i,!0);if(!s.filter(new t.C(this.tileID.overscaledZ),e,this.tileID.canonical))continue}else if(!s.filter(new t.C(this.tileID.overscaledZ),i))continue;let f=r.getId(i,a),p=new t.a9(i,c,l,u,f);p.tile=d,e.push(p)}}hasData(){return this.state===`loaded`||this.state===`reloading`||this.state===`expired`}patternsLoaded(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length}setExpiryData(e){let n=this.expirationTime;
12if(e.cacheControl){let n=t.aa(e.cacheControl);n[`max-age`]&&(this.expirationTime=Date.now()+1e3*n[`max-age`])}else e.expires&&(this.expirationTime=new Date(e.expires).getTime());if(this.expirationTime){let e=Date.now(),t=!1;if(this.expirationTime>e)t=!1;else if(n)if(this.expirationTime<n)t=!0;else{let r=this.expirationTime-n;r?this.expirationTime=e+Math.max(r,3e4):t=!0}else t=!0;t?(this.expiredRequestCount++,this.state=`expired`):this.expiredRequestCount=0}}getExpiryTimeout(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-new Date().getTime(),2**31-1)}setFeatureState(e,t){if(!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData||Object.keys(e).length===0)return;let n=this.latestFeatureIndex.loadVTLayers();for(let r in this.buckets){if(!t.style.hasLayer(r))continue;let i=this.buckets[r],a=i.layers[0].sourceLayer||`_geojsonTileLayer`,o=n[a],s=e[a];if(!o||!s||Object.keys(s).length===0)continue;i.update(s,o,this.imageAtlas&&this.imageAtlas.patternPositions||{});let c=t&&t.style&&t.style.getLayer(r);c&&(this.queryPadding=Math.max(this.queryPadding,c.queryRadius(i)))}}holdingForFade(){return this.symbolFadeHoldUntil!==void 0}symbolFadeFinished(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<o.now()}clearFadeHold(){this.symbolFadeHoldUntil=void 0}setHoldDuration(e){this.symbolFadeHoldUntil=o.now()+e}setDependencies(e,t){let n={};for(let e of t)n[e]=!0;this.dependencies[e]=n}hasDependency(e,t){for(let n of e){let e=this.dependencies[n];if(e){for(let n of t)if(e[n])return!0}}return!1}}class Ce{constructor(e,t){this.max=e,this.onRemove=t,this.reset()}reset(){for(let e in this.data)for(let t of this.data[e])t.timeout&&clearTimeout(t.timeout),this.onRemove(t.value);return this.data={},this.order=[],this}add(e,t,n){let r=e.wrapped().key;this.data[r]===void 0&&(this.data[r]=[]);let i={value:t,timeout:void 0};if(n!==void 0&&(i.timeout=setTimeout((()=>{this.remove(e,i)}),n)),this.data[r].push(i),this.order.push(r),this.order.length>this.max){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}has(e){return e.wrapped().key in this.data}getAndRemove(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null}_getAndRemoveByKey(e){let t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),this.data[e].length===0&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value}getByKey(e){let t=this.data[e];return t?t[0].value:null}get(e){return this.has(e)?this.data[e.wrapped().key][0].value:null}remove(e,t){if(!this.has(e))return this;let n=e.wrapped().key,r=t===void 0?0:this.data[n].indexOf(t),i=this.data[n][r];return this.data[n].splice(r,1),i.timeout&&clearTimeout(i.timeout),this.data[n].length===0&&delete this.data[n],this.onRemove(i.value),this.order.splice(this.order.indexOf(n),1),this}setMaxSize(e){for(this.max=e;this.order.length>this.max;){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}filter(e){let t=[];for(let n in this.data)for(let r of this.data[n])e(r.value)||t.push(r);for(let e of t)this.remove(e.value.tileID,e)}}class we{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(e,n,r){let i=String(n);if(this.stateChanges[e]=this.stateChanges[e]||{},this.stateChanges[e][i]=this.stateChanges[e][i]||{},t.e(this.stateChanges[e][i],r),this.deletedStates[e]===null){this.deletedStates[e]={};for(let t in this.state[e])t!==i&&(this.deletedStates[e][t]=null)}else if(this.deletedStates[e]&&this.deletedStates[e][i]===null){this.deletedStates[e][i]={};for(let t in this.state[e][i])r[t]||(this.deletedStates[e][i][t]=null)}else for(let t in r)this.deletedStates[e]&&this.deletedStates[e][i]&&this.deletedStates[e][i][t]===null&&delete this.deletedStates[e][i][t]}removeFeatureState(e,t,n){if(this.deletedStates[e]===null)return;let r=String(t);if(this.deletedStates[e]=this.deletedStates[e]||{},n&&t!==void 0)this.deletedStates[e][r]!==null&&(this.deletedStates[e][r]=this.deletedStates[e][r]||{},this.deletedStates[e][r][n]=null);else if(t!==void 0)if(this.stateChanges[e]&&this.stateChanges[e][r])for(n in this.deletedStates[e][r]={},this.stateChanges[e][r])this.deletedStates[e][r][n]=null;else this.deletedStates[e][r]=null;else this.deletedStates[e]=null}getState(e,n){let r=String(n),i=t.e({},(this.state[e]||{})[r],(this.stateChanges[e]||{})[r]);if(this.deletedStates[e]===null)return{};if(this.deletedStates[e]){let t=this.deletedStates[e][n];if(t===null)return{};for(let e in t)delete i[e]}return i}initializeTileState(e,t){e.setFeatureState(this.state,t)}coalesceChanges(e,n){let r={};for(let e in this.stateChanges){this.state[e]=this.state[e]||{};let n={};for(let r in this.stateChanges[e])this.state[e][r]||(this.state[e][r]={}),t.e(this.state[e][r],this.stateChanges[e][r]),n[r]=this.state[e][r];r[e]=n}for(let e in this.deletedStates){this.state[e]=this.state[e]||{};let n={};if(this.deletedStates[e]===null)for(let t in this.state[e])n[t]={},this.state[e][t]={};else for(let t in this.deletedStates[e]){if(this.deletedStates[e][t]===null)this.state[e][t]={};else for(let n of Object.keys(this.deletedStates[e][t]))delete this.state[e][t][n];n[t]=this.state[e][t]}r[e]=r[e]||{},t.e(r[e],n)}if(this.stateChanges={},this.deletedStates={},Object.keys(r).length!==0)for(let t in e)e[t].setFeatureState(r,n)}}let Te=89.25;function Ee(e,n){let r=t.ae(n.lat,-85.051129,t.af);return new t.P(t.U(n.lng)*e,t.S(r)*e)}function De(e,n){return new t.$(n.x/e,n.y/e).toLngLat()}function Oe(e){return e.cameraToCenterDistance*Math.min(.85*Math.tan(t.ab(90-e.pitch)),Math.tan(t.ab(Te-e.pitch)))}function ke(e,n){let r=e.canonical,i=n/t.ac(r.z),a=r.x+2**r.z*e.wrap,o=t.ad(new Float64Array(16));return t.L(o,o,[a*i,r.y*i,0]),t.M(o,o,[i/t.Z,i/t.Z,1]),o}function Ae(e,n,r,i,a){let o=t.$.fromLngLat(e,n),s=a*t.ag(1,e.lat),c=s*Math.cos(t.ab(r)),l=Math.sqrt(s*s-c*c),u=l*Math.sin(t.ab(-i)),d=l*Math.cos(t.ab(-i));return new t.$(o.x+u,o.y+d,o.z+c)}function je(e,t,n){let r=t.intersectsFrustum(e);if(!n)return r;let i=t.intersectsPlane(n);return r===0||i===0?0:r===2&&i===2?2:1}function Me(e,t,n){let r=0,i=(n-t)/10;for(let a=0;a<10;a++)r+=i*Math.cos(t+(a+.5)/10*(n-t))**+e;return r}function L(e,n){return function(r,i,a,o,s){let c=2*((e-1)/t.ah(Math.cos(t.ab(Te-s))/Math.cos(t.ab(Te)))-1),l=Math.acos(a/o),u=2*Me(c-1,0,t.ab(s/2)),d=Math.min(t.ab(Te),l+t.ab(s/2)),f=Me(c-1,Math.min(d,l-t.ab(s/2)),d),p=Math.atan(i/a),m=Math.hypot(i,a),h=r;return h+=t.ah(o/m/Math.max(.5,Math.cos(t.ab(s/2)))),h+=c*t.ah(Math.cos(p))/2,h-=t.ah(Math.max(1,f/u/n))/2,h}}let Ne=L(9.314,3);function Pe(e,n){let r=(n.roundZoom?Math.round:Math.floor)(e.zoom+t.ah(e.tileSize/n.tileSize));return Math.max(0,r)}function Fe(e,n){let r=e.getCameraFrustum(),i=e.getClippingPlane(),a=e.screenPointToMercatorCoordinate(e.getCameraPoint()),o=t.$.fromLngLat(e.center,e.elevation);a.z=o.z+Math.cos(e.pitchInRadians)*e.cameraToCenterDistance/e.worldSize;let s=e.getCoveringTilesDetailsProvider(),c=s.allowVariableZoom(e,n),l=Pe(e,n),u=n.minzoom||0,d=n.maxzoom===void 0?e.maxZoom:n.maxzoom,f=Math.min(Math.max(0,l),d),p=2**f,m=[p*a.x,p*a.y,0],h=[p*o.x,p*o.y,0],g=Math.hypot(o.x-a.x,o.y-a.y),_=Math.abs(o.z-a.z),v=Math.hypot(g,_),y=e=>({zoom:0,x:0,y:0,wrap:e,fullyVisible:!1}),b=[],x=[];if(e.renderWorldCopies&&s.allowWorldCopies())for(let e=1;e<=3;e++)b.push(y(-e)),b.push(y(e));for(b.push(y(0));b.length>0;){let p=b.pop(),g=p.x,y=p.y,S=p.fullyVisible,C={x:g,y,z:p.zoom},w=s.getTileAABB(C,p.wrap,e.elevation,n);if(!S){let e=je(r,w,i);if(e===0)continue;S=e===2}let T=s.distanceToTile2d(a.x,a.y,C,w),E=l;c&&(E=(n.calculateTileZoom||Ne)(e.zoom+t.ah(e.tileSize/n.tileSize),T,_,v,e.fov)),E=(n.roundZoom?Math.round:Math.floor)(E),E=Math.max(0,E);let D=Math.min(E,d);if(p.wrap=s.getWrap(o,C,p.wrap),p.zoom>=D){if(p.zoom<u)continue;let e=f-p.zoom,r=m[0]-.5-(g<<e),i=m[1]-.5-(y<<e),a=n.reparseOverscaled?Math.max(p.zoom,E):p.zoom;x.push({tileID:new t.Y(p.zoom===d?a:p.zoom,p.wrap,p.zoom,g,y),distanceSq:t.ai([h[0]-.5-g,h[1]-.5-y]),tileDistanceToCamera:Math.sqrt(r*r+i*i)})}else for(let e=0;e<4;e++)b.push({zoom:p.zoom+1,x:(g<<1)+e%2,y:(y<<1)+(e>>1),wrap:p.wrap,fullyVisible:S})}return x.sort(((e,t)=>e.distanceSq-t.distanceSq)).map((e=>e.tileID))}class Ie extends t.E{constructor(e,t,n){super(),this.id=e,this.dispatcher=n,this.on(`data`,(e=>this._dataHandler(e))),this.on(`dataloading`,(()=>{this._sourceErrored=!1})),this.on(`error`,(()=>{this._sourceErrored=this._source.loaded()})),this._source=((e,t,n,r)=>{let i=new(_e(t.type))(e,t,n,r);if(i.id!==e)throw Error(`Expected Source id to be ${e} instead of ${i.id}`);return i})(e,t,n,this),this._tiles={},this._cache=new Ce(0,(e=>this._unloadTile(e))),this._timers={},this._cacheTimers={}
12,this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new we,this._didEmitContent=!1,this._updated=!1}onAdd(e){this.map=e,this._maxTileCacheSize=e?e._maxTileCacheSize:null,this._maxTileCacheZoomLevels=e?e._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(e)}onRemove(e){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(e)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let e in this._tiles){let t=this._tiles[e];if(t.state!==`loaded`&&t.state!==`errored`)return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let e=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,e&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(e,n,r){return t._(this,void 0,void 0,(function*(){try{yield this._source.loadTile(e),this._tileLoaded(e,n,r)}catch(n){e.state=`errored`,n.status===404?this.update(this.transform,this.terrain):this._source.fire(new t.k(n,{tile:e}))}}))}_unloadTile(e){this._source.unloadTile&&this._source.unloadTile(e)}_abortTile(e){this._source.abortTile&&this._source.abortTile(e),this._source.fire(new t.l(`dataabort`,{tile:e,coord:e.tileID,dataType:`source`}))}serialize(){return this._source.serialize()}prepare(e){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let t in this._tiles){let n=this._tiles[t];n.upload(e),n.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map((e=>e.tileID)).sort(Le).map((e=>e.key))}getRenderableIds(e){let n=[];for(let t in this._tiles)this._isIdRenderable(t,e)&&n.push(this._tiles[t]);return e?n.sort(((e,n)=>{let r=e.tileID,i=n.tileID,a=new t.P(r.canonical.x,r.canonical.y)._rotate(-this.transform.bearingInRadians),o=new t.P(i.canonical.x,i.canonical.y)._rotate(-this.transform.bearingInRadians);return r.overscaledZ-i.overscaledZ||o.y-a.y||o.x-a.x})).map((e=>e.tileID.key)):n.map((e=>e.tileID)).sort(Le).map((e=>e.key))}hasRenderableParent(e){let t=this.findLoadedParent(e,0);return!!t&&this._isIdRenderable(t.tileID.key)}_isIdRenderable(e,t){return this._tiles[e]&&this._tiles[e].hasData()&&!this._coveredTiles[e]&&(t||!this._tiles[e].holdingForFade())}reload(e){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let t in this._tiles)(e||this._tiles[t].state!==`errored`)&&this._reloadTile(t,`reloading`)}}_reloadTile(e,n){return t._(this,void 0,void 0,(function*(){let t=this._tiles[e];t&&(t.state!==`loading`&&(t.state=n),yield this._loadTile(t,e,n))}))}_tileLoaded(e,n,r){e.timeAdded=o.now(),r===`expired`&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(n,e),this.getSource().type===`raster-dem`&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),e.aborted||this._source.fire(new t.l(`data`,{dataType:`source`,tile:e,coord:e.tileID}))}_backfillDEM(e){let t=this.getRenderableIds();for(let r=0;r<t.length;r++){let i=t[r];if(e.neighboringTiles&&e.neighboringTiles[i]){let t=this.getTileByID(i);n(e,t),n(t,e)}}function n(e,t){e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0;let n=t.tileID.canonical.x-e.tileID.canonical.x,r=t.tileID.canonical.y-e.tileID.canonical.y,i=2**e.tileID.canonical.z,a=t.tileID.key;n===0&&r===0||Math.abs(r)>1||(Math.abs(n)>1&&(Math.abs(n+i)===1?n+=i:Math.abs(n-i)===1&&(n-=i)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,n,r),e.neighboringTiles&&e.neighboringTiles[a]&&(e.neighboringTiles[a].backfilled=!0)))}}getTile(e){return this.getTileByID(e.key)}getTileByID(e){return this._tiles[e]}_retainLoadedChildren(e,t,n,r){for(let i in this._tiles){let a=this._tiles[i];if(r[i]||!a.hasData()||a.tileID.overscaledZ<=t||a.tileID.overscaledZ>n)continue;let o=a.tileID;for(;a&&a.tileID.overscaledZ>t+1;){let e=a.tileID.scaledTo(a.tileID.overscaledZ-1);a=this._tiles[e.key],a&&a.hasData()&&(o=e)}let s=o;for(;s.overscaledZ>t;)if(s=s.scaledTo(s.overscaledZ-1),e[s.key]||e[s.canonical.key]){r[o.key]=o;break}}}findLoadedParent(e,t){if(e.key in this._loadedParentTiles){let n=this._loadedParentTiles[e.key];return n&&n.tileID.overscaledZ>=t?n:null}for(let n=e.overscaledZ-1;n>=t;n--){let t=e.scaledTo(n),r=this._getLoadedTile(t);if(r)return r}}findLoadedSibling(e){return this._getLoadedTile(e)}_getLoadedTile(e){let t=this._tiles[e.key];return t&&t.hasData()?t:this._cache.getByKey(e.wrapped().key)}updateCacheSize(e){let n=Math.ceil(e.width/this._source.tileSize)+1,r=Math.ceil(e.height/this._source.tileSize)+1,i=Math.floor(n*r*(this._maxTileC
12acheZoomLevels===null?t.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),a=typeof this._maxTileCacheSize==`number`?Math.min(this._maxTileCacheSize,i):i;this._cache.setMaxSize(a)}handleWrapJump(e){let t=Math.round((e-(this._prevLng===void 0?e:this._prevLng))/360);if(this._prevLng=e,t){let e={};for(let n in this._tiles){let r=this._tiles[n];r.tileID=r.tileID.unwrapTo(r.tileID.wrap+t),e[r.tileID.key]=r}this._tiles=e;for(let e in this._timers)clearTimeout(this._timers[e]),delete this._timers[e];for(let e in this._tiles)this._setTileReloadTimer(e,this._tiles[e])}}_updateCoveredAndRetainedTiles(e,t,n,r,i,a){let s={},c={},l=Object.keys(e),u=o.now();for(let n of l){let r=e[n],i=this._tiles[n];if(!i||i.fadeEndTime!==0&&i.fadeEndTime<=u)continue;let a=this.findLoadedParent(r,t),o=this.findLoadedSibling(r),l=a||o||null;l&&(this._addTile(l.tileID),s[l.tileID.key]=l.tileID),c[n]=r}this._retainLoadedChildren(c,r,n,e);for(let t in s)e[t]||(this._coveredTiles[t]=!0,e[t]=s[t]);if(a){let t={},n={};for(let e of i)this._tiles[e.key].hasData()?t[e.key]=e:n[e.key]=e;for(let r in n){let i=n[r].children(this._source.maxzoom);this._tiles[i[0].key]&&this._tiles[i[1].key]&&this._tiles[i[2].key]&&this._tiles[i[3].key]&&(t[i[0].key]=e[i[0].key]=i[0],t[i[1].key]=e[i[1].key]=i[1],t[i[2].key]=e[i[2].key]=i[2],t[i[3].key]=e[i[3].key]=i[3],delete n[r])}for(let r in n){let i=n[r],a=this.findLoadedParent(i,this._source.minzoom),o=this.findLoadedSibling(i),s=a||o||null;if(s){t[s.tileID.key]=e[s.tileID.key]=s.tileID;for(let e in t)t[e].isChildOf(s.tileID)&&delete t[e]}}for(let e in this._tiles)t[e]||(this._coveredTiles[e]=!0)}}update(e,n){if(!this._sourceLoaded||this._paused)return;let r;this.transform=e,this.terrain=n,this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?r=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((e=>new t.Y(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y))):(r=Fe(e,{tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:n,calculateTileZoom:this._source.calculateTileZoom}),this._source.hasTile&&(r=r.filter((e=>this._source.hasTile(e))))):r=[];let i=Pe(e,this._source),a=Math.max(i-Ie.maxOverzooming,this._source.minzoom),o=Math.max(i+Ie.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let e={};for(let t of r)if(t.canonical.z>this._source.minzoom){let n=t.scaledTo(t.canonical.z-1);e[n.key]=n;let r=t.scaledTo(Math.max(this._source.minzoom,Math.min(t.canonical.z,5)));e[r.key]=r}r=r.concat(Object.values(e))}let s=r.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,s&&this.fire(new t.l(`data`,{sourceDataType:`idle`,dataType:`source`,sourceId:this.id}));let c=this._updateRetainedTiles(r,i);Re(this._source.type)&&this._updateCoveredAndRetainedTiles(c,a,o,i,r,n);for(let e in c)this._tiles[e].clearFadeHold();let l=t.aj(this._tiles,c);for(let e of l){let t=this._tiles[e];t.hasSymbolBuckets&&!t.holdingForFade()?t.setHoldDuration(this.map._fadeDuration):t.hasSymbolBuckets&&!t.symbolFadeFinished()||this._removeTile(e)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let e in this._tiles)this._tiles[e].holdingForFade()&&this._removeTile(e)}_updateRetainedTiles(e,t){let n={},r={},i=Math.max(t-Ie.maxOverzooming,this._source.minzoom),a=Math.max(t+Ie.maxUnderzooming,this._source.minzoom),o={};for(let r of e){let e=this._addTile(r);n[r.key]=r,e.hasData()||t<this._source.maxzoom&&(o[r.key]=r)}this._retainLoadedChildren(o,t,a,n);for(let a of e){let e=this._tiles[a.key];if(e.hasData())continue;if(t+1>this._source.maxzoom){let e=a.children(this._source.maxzoom)[0],t=this.getTile(e);if(t&&t.hasData()){n[e.key]=e;continue}}else{let e=a.children(this._source.maxzoom);if(n[e[0].key]&&n[e[1].key]&&n[e[2].key]&&n[e[3].key])continue}let o=e.wasRequested();for(let t=a.overscaledZ-1;t>=i;--t){let i=a.scaledTo(t);if(r[i.key])break;if(r[i.key]=!0,e=this.getTile(i),!e&&o&&(e=this._addTile(i)),e){let t=e.hasData();if((t||!this.map?.cancelPendingTileRequestsWhileZooming||o)&&(n[i.key]=i),o=e.wasRequested(),t)break}}}return n}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let e in this._tiles){let t=[],n,r=this._tiles[e].tileID;for(;r.overscaledZ>0;){if(r.key in this._loadedParentTiles){n=this._loadedParentTiles[r.key];break}t.push(r.key);let e=r.scaledTo(r.overscaledZ-1);if(n=this._getLoadedTile(e),n)break;r=e}for(let e of t)this._loadedParentTiles[e]=n}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let e in this._tiles){let t=this._tiles[e].tileID,n=this._getLoadedTile(t);this._loadedSiblingTiles[t.key]=n}}_addTile(e){let n=this._tiles[e.key];if(n)return n;n=this._cache.getAndRemove(e),n&&(this._setTileReloadTimer(e.key,n),n.tileID=e,this._state.initializeTileState(n,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,n)));let r=n;return n||(n=new Se(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(n,e.key,n.state)),n.uses++,this._tiles[e.key]=n,r||this._source.fire(new t.l(`dataloading`,{tile:n,coord:n.tileID,dataType:`source`})),n}_setTileReloadTimer(e,t){e in this._timers&&(clearTimeout(this._timers[e]),delete this._timers[e]);let n=t.getExpiryTimeout();n&&(this._timers[e]=setTimeout((()=>{this._reloadTile(e,`expired`),delete this._timers[e]}),n))}refreshTiles(e){for(let t in this._tiles)this._isIdRenderable(t)&&e.some((e=>e.equals(this._tiles[t].tileID.canonical)))&&this._reloadTile(t,`expired`)}_removeTile(e){let t=this._tiles[e];t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),delete this._timers[e]),t.uses>0||(t.hasData()&&t.state!==`reloading`?this._cache.add(t.tileID,t,t.getExpiryTimeout()):(t.aborted=!0,this._abortTile(t),this._unloadTile(t))))}_dataHandler(e){let t=e.sourceDataType;e.dataType===`source`&&t===`metadata`&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&e.dataType===`source`&&t===`content`&&(this.reload(e.sourceDataChanged),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let e in this._tiles)this._removeTile(e);this._cache.reset()}tilesIn(e,n,r){let i=[],a=this.transform;if(!a)return i;let o=r?a.getCameraQueryGeometry(e):e,s=e.map((e=>a.screenPointToMercatorCoordinate(e,this.terrain))),c=o.map((e=>a.screenPointToMercatorCoordinate(e,this.terrain))),l=this.getIds(),u=1/0,d=1/0,f=-1/0,p=-1/0;for(let e of c)u=Math.min(u,e.x),d=Math.min(d,e.y),f=Math.max(f,e.x),p=Math.max(p,e.y);for(let e=0;e<l.length;e++){let r=this._tiles[l[e]];if(r.holdingForFade())continue;let o=a.getCoveringTilesDetailsProvider().allowWorldCopies()?r.tileID:r.tileID.unwrapTo(0),m=2**(a.zoom-r.tileID.overscaledZ
12),h=n*r.queryPadding*t.Z/r.tileSize/m,g=[o.getTilePoint(new t.$(u,d)),o.getTilePoint(new t.$(f,p))];if(g[0].x-h<t.Z&&g[0].y-h<t.Z&&g[1].x+h>=0&&g[1].y+h>=0){let e=s.map((e=>o.getTilePoint(e))),t=c.map((e=>o.getTilePoint(e)));i.push({tile:r,tileID:o,queryGeometry:e,cameraQueryGeometry:t,scale:m})}}return i}getVisibleCoordinates(e){let t=this.getRenderableIds(e).map((e=>this._tiles[e].tileID));return this.transform&&this.transform.populateCache(t),t}hasTransition(){if(this._source.hasTransition())return!0;if(Re(this._source.type)){let e=o.now();for(let t in this._tiles)if(this._tiles[t].fadeEndTime>=e)return!0}return!1}setFeatureState(e,t,n){this._state.updateState(e||=`_geojsonTileLayer`,t,n)}removeFeatureState(e,t,n){this._state.removeFeatureState(e||=`_geojsonTileLayer`,t,n)}getFeatureState(e,t){return this._state.getState(e||=`_geojsonTileLayer`,t)}setDependencies(e,t,n){let r=this._tiles[e];r&&r.setDependencies(t,n)}reloadTilesForDependencies(e,t){for(let n in this._tiles)this._tiles[n].hasDependency(e,t)&&this._reloadTile(n,`reloading`);this._cache.filter((n=>!n.hasDependency(e,t)))}}function Le(e,t){let n=Math.abs(2*e.wrap)-+(e.wrap<0),r=Math.abs(2*t.wrap)-+(t.wrap<0);return e.overscaledZ-t.overscaledZ||r-n||t.canonical.y-e.canonical.y||t.canonical.x-e.canonical.x}function Re(e){return e===`raster`||e===`image`||e===`video`}Ie.maxOverzooming=10,Ie.maxUnderzooming=3;class ze{constructor(e,t){this.reset(e,t)}reset(e,t){this.points=e||[],this._distances=[0];for(let e=1;e<this.points.length;e++)this._distances[e]=this._distances[e-1]+this.points[e].dist(this.points[e-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(t||0,.5*this.length),this.paddedLength=this.length-2*this.padding}lerp(e){if(this.points.length===1)return this.points[0];e=t.ae(e,0,1);let n=1,r=this._distances[n],i=e*this.paddedLength+this.padding;for(;r<i&&n<this._distances.length;)r=this._distances[++n];let a=n-1,o=this._distances[a],s=r-o,c=s>0?(i-o)/s:0;return this.points[a].mult(1-c).add(this.points[n].mult(c))}}function Be(e,t){let n=!0;return e===`always`||e!==`never`&&t!==`never`||(n=!1),n}class Ve{constructor(e,t,n){let r=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(e/n),this.yCellCount=Math.ceil(t/n);for(let e=0;e<this.xCellCount*this.yCellCount;e++)r.push([]),i.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=e,this.height=t,this.xScale=this.xCellCount/e,this.yScale=this.yCellCount/t,this.boxUid=0,this.circleUid=0}keysLength(){return this.boxKeys.length+this.circleKeys.length}insert(e,t,n,r,i){this._forEachCell(t,n,r,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(e),this.bboxes.push(t),this.bboxes.push(n),this.bboxes.push(r),this.bboxes.push(i)}insertCircle(e,t,n,r){this._forEachCell(t-r,n-r,t+r,n+r,this._insertCircleCell,this.circleUid++),this.circleKeys.push(e),this.circles.push(t),this.circles.push(n),this.circles.push(r)}_insertBoxCell(e,t,n,r,i,a){this.boxCells[i].push(a)}_insertCircleCell(e,t,n,r,i,a){this.circleCells[i].push(a)}_query(e,t,n,r,i,a,o){if(n<0||e>this.width||r<0||t>this.height)return[];let s=[];if(e<=0&&t<=0&&this.width<=n&&this.height<=r){if(i)return[{key:null,x1:e,y1:t,x2:n,y2:r}];for(let e=0;e<this.boxKeys.length;e++)s.push({key:this.boxKeys[e],x1:this.bboxes[4*e],y1:this.bboxes[4*e+1],x2:this.bboxes[4*e+2],y2:this.bboxes[4*e+3]});for(let e=0;e<this.circleKeys.length;e++){let t=this.circles[3*e],n=this.circles[3*e+1],r=this.circles[3*e+2];s.push({key:this.circleKeys[e],x1:t-r,y1:n-r,x2:t+r,y2:n+r})}}else this._forEachCell(e,t,n,r,this._queryCell,s,{hitTest:i,overlapMode:a,seenUids:{box:{},circle:{}}},o);return s}query(e,t,n,r){return this._query(e,t,n,r,!1,null)}hitTest(e,t,n,r,i,a){return this._query(e,t,n,r,!0,i,a).length>0}hitTestCircle(e,t,n,r,i){let a=e-n,o=e+n,s=t-n,c=t+n;if(o<0||a>this.width||c<0||s>this.height)return!1;let l=[];return this._forEachCell(a,s,o,c,this._queryCellCircle,l,{hitTest:!0,overlapMode:r,circle:{x:e,y:t,radius:n},seenUids:{box:{},circle:{}}},i),l.length>0}_queryCell(e,t,n,r,i,a,o,s){let{seenUids:c,hitTest:l,overlapMode:u}=o,d=this.boxCells[i];if(d!==null){let i=this.bboxes;for(let o of d)if(!c.box[o]){c.box[o]=!0;let d=4*o,f=this.boxKeys[o];if(e<=i[d+2]&&t<=i[d+3]&&n>=i[d+0]&&r>=i[d+1]&&(!s||s(f))&&(!l||!Be(u,f.overlapMode))&&(a.push({key:f,x1:i[d],y1:i[d+1],x2:i[d+2],y2:i[d+3]}),l))return!0}}let f=this.circleCells[i];if(f!==null){let i=this.circles;for(let o of f)if(!c.circle[o]){c.circle[o]=!0;let d=3*o,f=this.circleKeys[o];if(this._circleAndRectCollide(i[d],i[d+1],i[d+2],e,t,n,r)&&(!s||s(f))&&(!l||!Be(u,f.overlapMode))){let e=i[d],t=i[d+1],n=i[d+2];if(a.push({key:f,x1:e-n,y1:t-n,x2:e+n,y2:t+n}),l)return!0}}}return!1}_queryCellCircle(e,t,n,r,i,a,o,s){let{circle:c,seenUids:l,overlapMode:u}=o,d=this.boxCells[i];if(d!==null){let e=this.bboxes;for(let t of d)if(!l.box[t]){l.box[t]=!0;let n=4*t,r=this.boxKeys[t];if(this._circleAndRectCollide(c.x,c.y,c.radius,e[n+0],e[n+1],e[n+2],e[n+3])&&(!s||s(r))&&!Be(u,r.overlapMode))return a.push(!0),!0}}let f=this.circleCells[i];if(f!==null){let e=this.circles;for(let t of f)if(!l.circle[t]){l.circle[t]=!0;let n=3*t,r=this.circleKeys[t];
12if(this._circlesCollide(e[n],e[n+1],e[n+2],c.x,c.y,c.radius)&&(!s||s(r))&&!Be(u,r.overlapMode))return a.push(!0),!0}}}_forEachCell(e,t,n,r,i,a,o,s){let c=this._convertToXCellCoord(e),l=this._convertToYCellCoord(t),u=this._convertToXCellCoord(n),d=this._convertToYCellCoord(r);for(let f=c;f<=u;f++)for(let c=l;c<=d;c++)if(i.call(this,e,t,n,r,this.xCellCount*c+f,a,o,s))return}_convertToXCellCoord(e){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(e*this.xScale)))}_convertToYCellCoord(e){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(e*this.yScale)))}_circlesCollide(e,t,n,r,i,a){let o=r-e,s=i-t,c=n+a;return c*c>o*o+s*s}_circleAndRectCollide(e,t,n,r,i,a,o){let s=(a-r)/2,c=Math.abs(e-(r+s));if(c>s+n)return!1;let l=(o-i)/2,u=Math.abs(t-(i+l));if(u>l+n)return!1;if(c<=s||u<=l)return!0;let d=c-s,f=u-l;return d*d+f*f<=n*n}}function He(e,n,i){let a=t.K();if(!e){let{vecSouth:e,vecEast:t}=R(n),i=r();i[0]=t[0],i[1]=t[1],i[2]=e[0],i[3]=e[1],o=i,(f=(c=(s=i)[0])*(d=s[3])-(u=s[2])*(l=s[1]))&&(o[0]=d*(f=1/f),o[1]=-l*f,o[2]=-u*f,o[3]=c*f),a[0]=i[0],a[1]=i[1],a[4]=i[2],a[5]=i[3]}var o,s,c,l,u,d,f;return t.M(a,a,[1/i,1/i,1]),a}function Ue(e,n,r,i){if(e){let e=t.K();if(!n){let{vecSouth:t,vecEast:n}=R(r);e[0]=n[0],e[1]=n[1],e[4]=t[0],e[5]=t[1]}return t.M(e,e,[i,i,1]),e}return r.pixelsToClipSpaceMatrix}function R(e){let n=Math.cos(e.rollInRadians),r=Math.sin(e.rollInRadians),i=Math.cos(e.pitchInRadians),a=Math.cos(e.bearingInRadians),o=Math.sin(e.bearingInRadians),s=t.ao();s[0]=-a*i*r-o*n,s[1]=-o*i*r+a*n;let c=t.ap(s);c<1e-9?t.aq(s):t.ar(s,s,1/c);let l=t.ao();l[0]=a*i*n-o*r,l[1]=o*i*n+a*r;let u=t.ap(l);return u<1e-9?t.aq(l):t.ar(l,l,1/u),{vecEast:l,vecSouth:s}}function We(e,n,r,i){let a;i?(a=[e,n,i(e,n),1],t.at(a,a,r)):(a=[e,n,0,1],rt(a,a,r));let o=a[3];return{point:new t.P(a[0]/o,a[1]/o),signedDistanceFromCamera:o,isOccluded:!1}}function Ge(e,t){return .5+e/t*.5}function Ke(e,t){return e.x>=-t[0]&&e.x<=t[0]&&e.y>=-t[1]&&e.y<=t[1]}function qe(e,n,r,i,a,o,s,c,l,u,d,f,p){let m=r?e.textSizeData:e.iconSizeData,h=t.ak(m,n.transform.zoom),g=[256/n.width*2+1,256/n.height*2+1],_=r?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;_.clear();let v=e.lineVertexArray,y=r?e.text.placedSymbolArray:e.icon.placedSymbolArray,b=n.transform.width/n.transform.height,x=!1;for(let r=0;r<y.length;r++){let S=y.get(r);if(S.hidden||S.writingMode===t.al.vertical&&!x){nt(S.numGlyphs,_);continue}x=!1;let C=new t.P(S.anchorX,S.anchorY),w={getElevation:p,pitchedLabelPlaneMatrix:i,lineVertexArray:v,pitchWithMap:o,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},transform:n.transform,tileAnchorPoint:C,unwrappedTileID:l,width:u,height:d,translation:f},T=Ze(S.anchorX,S.anchorY,w);if(!Ke(T.point,g)){nt(S.numGlyphs,_);continue}let E=Ge(n.transform.cameraToCenterDistance,T.signedDistanceFromCamera),D=t.am(m,h,S),O=o?D*n.transform.getPitchedTextCorrection(S.anchorX,S.anchorY,l)/E:D*E,k=V({projectionContext:w,pitchedLabelPlaneMatrixInverse:a,symbol:S,fontSize:O,flip:!1,keepUpright:s,glyphOffsetArray:e.glyphOffsetArray,dynamicLayoutVertexArray:_,aspectRatio:b,rotateToLine:c});x=k.useVertical,(k.notEnoughRoom||x||k.needsFlipping&&V({projectionContext:w,pitchedLabelPlaneMatrixInverse:a,symbol:S,fontSize:O,flip:!0,keepUpright:s,glyphOffsetArray:e.glyphOffsetArray,dynamicLayoutVertexArray:_,aspectRatio:b,rotateToLine:c}).notEnoughRoom)&&nt(S.numGlyphs,_)}r?e.text.dynamicLayoutVertexBuffer.updateData(_):e.icon.dynamicLayoutVertexBuffer.updateData(_)}function z(e,t,n,r,i,a,o,s){let c=a.glyphStartIndex+a.numGlyphs,l=a.lineStartIndex,u=a.lineStartIndex+a.lineLength,d=t.getoffsetX(a.glyphStartIndex),f=t.getoffsetX(c-1),p=et(e*d,n,r,i,a.segment,l,u,s,o);if(!p)return null;let m=et(e*f,n,r,i,a.segment,l,u,s,o);return m?s.projectionCache.anyProjectionOccluded?null:{first:p,last:m}:null}function B(e,n,r,i){return e===t.al.horizontal&&Math.abs(r.y-n.y)>Math.abs(r.x-n.x)*i?{useVertical:!0}:(e===t.al.vertical?n.y<r.y:n.x>r.x)?{needsFlipping:!0}:null}function V(e){let{projectionContext:n,pitchedLabelPlaneMatrixInverse:r,symbol:i,fontSize:a,flip:o,keepUpright:s,glyphOffsetArray:c,dynamicLayoutVertexArray:l,aspectRatio:u,rotateToLine:d}=e,f=a/24,p=i.lineOffsetX*f,m=i.lineOffsetY*f,h;if(i.numGlyphs>1){let e=i.glyphStartIndex+i.numGlyphs,t=i.lineStartIndex,a=i.lineStartIndex+i.lineLength,l=z(f,c,p,m,o,i,d,n);if(!l)return{notEnoughRoom:!0};let g=H(l.first.point.x,l.first.point.y,n,r),_=H(l.last.point.x,l.last.point.y,n,r);if(s&&!o){let e=B(i.writingMode,g,_,u);if(e)return e}h=[l.first];for(let r=i.glyphStartIndex+1;r<e-1;r++)h.push(et(f*c.getoffsetX(r),p,m,o,i.segment,t,a,n,d));h.push(l.last)}else{if(s&&!o){let e=Xe(n.tileAnchorPoint.x,n.tileAnchorPoint.y,n).point,a=i.lineStartIndex+i.segment+1,o=new t.P(n.lineVertexArray.getx(a),n.lineVertexArray.gety(a)),s=Xe(o.x,o.y,n),c=s.signedDistanceFromCamera>0?s.point:Je(n.tileAnchorPoint,o,e,1,n),l=H(e.x,e.y,n,r),d=H(c.x,c.y,n,r),f=B(i.writingMode,l,d,u);
12if(f)return f}let e=et(f*c.getoffsetX(i.glyphStartIndex),p,m,o,i.segment,i.lineStartIndex,i.lineStartIndex+i.lineLength,n,d);if(!e||n.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};h=[e]}for(let e of h)t.as(l,e.point,e.angle);return{}}function Je(e,t,n,r,i){let a=e.add(e.sub(t)._unit()),o=Xe(a.x,a.y,i).point,s=n.sub(o);return n.add(s._mult(r/s.mag()))}function Ye(e,n,r){let i=n.projectionCache;if(i.projections[e])return i.projections[e];let a=new t.P(n.lineVertexArray.getx(e),n.lineVertexArray.gety(e)),o=Xe(a.x,a.y,n);if(o.signedDistanceFromCamera>0)return i.projections[e]=o.point,i.anyProjectionOccluded=i.anyProjectionOccluded||o.isOccluded,o.point;let s=e-r.direction;return Je(r.distanceFromAnchor===0?n.tileAnchorPoint:new t.P(n.lineVertexArray.getx(s),n.lineVertexArray.gety(s)),a,r.previousVertex,r.absOffsetX-r.distanceFromAnchor+1,n)}function Xe(e,t,n){let r=e+n.translation[0],i=t+n.translation[1],a;return n.pitchWithMap?(a=We(r,i,n.pitchedLabelPlaneMatrix,n.getElevation),a.isOccluded=!1):(a=n.transform.projectTileCoordinates(r,i,n.unwrappedTileID,n.getElevation),a.point.x=(.5*a.point.x+.5)*n.width,a.point.y=(.5*-a.point.y+.5)*n.height),a}function H(e,n,r,i){if(r.pitchWithMap){let a=[e,n,0,1];return t.at(a,a,i),r.transform.projectTileCoordinates(a[0]/a[3],a[1]/a[3],r.unwrappedTileID,r.getElevation).point}return{x:e/r.width*2-1,y:n/r.height*2-1}}function Ze(e,t,n){return n.transform.projectTileCoordinates(e,t,n.unwrappedTileID,n.getElevation)}function Qe(e,t,n){return e._unit()._perp()._mult(t*n)}function $e(e,n,r,i,a,o,s,c,l){if(c.projectionCache.offsets[e])return c.projectionCache.offsets[e];let u=r.add(n);if(e+l.direction<i||e+l.direction>=a)return c.projectionCache.offsets[e]=u,u;let d=Ye(e+l.direction,c,l),f=Qe(d.sub(r),s,l.direction),p=r.add(f),m=d.add(f);return c.projectionCache.offsets[e]=t.au(o,u,p,m)||u,c.projectionCache.offsets[e]}function et(e,t,n,r,i,a,o,s,c){let l=r?e-t:e+t,u=l>0?1:-1,d=0;r&&(u*=-1,d=Math.PI),u<0&&(d+=Math.PI);let f,p=u>0?a+i:a+i+1;s.projectionCache.cachedAnchorPoint?f=s.projectionCache.cachedAnchorPoint:(f=Xe(s.tileAnchorPoint.x,s.tileAnchorPoint.y,s).point,s.projectionCache.cachedAnchorPoint=f);let m,h,g=f,_=f,v=0,y=0,b=Math.abs(l),x=[],S;for(;v+y<=b;){if(p+=u,p<a||p>=o)return null;v+=y,_=g,h=m;let e={absOffsetX:b,direction:u,distanceFromAnchor:v,previousVertex:_};if(g=Ye(p,s,e),n===0)x.push(_),S=g.sub(_);else{let t,r=g.sub(_);t=r.mag()===0?Qe(Ye(p+u,s,e).sub(g),n,u):Qe(r,n,u),h||=_.add(t),m=$e(p,t,g,a,o,h,n,s,e),x.push(h),S=m.sub(h)}y=S.mag()}let C=S._mult((b-v)/y)._add(h||_),w=d+Math.atan2(g.y-_.y,g.x-_.x);return x.push(C),{point:C,angle:c?w:0,path:x}}let tt=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function nt(e,t){for(let n=0;n<e;n++){let e=t.length;t.resize(e+4),t.float32.set(tt,3*e)}}function rt(e,t,n){let r=t[0],i=t[1];return e[0]=n[0]*r+n[4]*i+n[12],e[1]=n[1]*r+n[5]*i+n[13],e[3]=n[3]*r+n[7]*i+n[15],e}class it{constructor(e,t=new Ve(e.width+200,e.height+200,25),n=new Ve(e.width+200,e.height+200,25)){this.transform=e,this.grid=t,this.ignoredGrid=n,this.pitchFactor=Math.cos(e.pitch*Math.PI/180)*e.cameraToCenterDistance,this.screenRightBoundary=e.width+100,this.screenBottomBoundary=e.height+100,this.gridRightBoundary=e.width+200,this.gridBottomBoundary=e.height+200,this.perspectiveRatioCutoff=.6}placeCollisionBox(e,t,n,r,i,a,o,s,c,l,u,d){let f=this.projectAndGetPerspectiveRatio(e.anchorPointX+s[0],e.anchorPointY+s[1],i,l,d),p=n*f.perspectiveRatio,m;if(a||o)m=this._projectCollisionBox(e,p,r,i,a,o,s,f,l,u,d);else{let t=f.x+(u?u.x*p:0),n=f.y+(u?u.y*p:0);m={allPointsOccluded:!1,box:[t+e.x1*p,n+e.y1*p,t+e.x2*p,n+e.y2*p]}}let[h,g,_,v]=m.box,y=a?m.allPointsOccluded:f.isOccluded,b=y;return b||=f.perspectiveRatio<this.perspectiveRatioCutoff,b||=!this.isInsideGrid(h,g,_,v),b||t!==`always`&&this.grid.hitTest(h,g,_,v,t,c)?{box:[h,g,_,v],placeable:!1,offscreen:!1,occluded:y}:{box:[h,g,_,v],placeable:!0,offscreen:this.isOffscreen(h,g,_,v),occluded:y}}placeCollisionCircles(e,n,r,i,a,o,s,c,l,u,d,f,p,m){let h=[],g=new t.P(n.anchorX,n.anchorY),_=this.getPerspectiveRatio(g.x,g.y,o,m),v=(l?a*this.transform.getPitchedTextCorrection(n.anchorX,n.anchorY,o)/_:a*_)/t.ay,y={getElevation:m,pitchedLabelPlaneMatr
12ix:s,lineVertexArray:r,pitchWithMap:l,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},transform:this.transform,tileAnchorPoint:g,unwrappedTileID:o,width:this.transform.width,height:this.transform.height,translation:p},b=z(v,i,n.lineOffsetX*v,n.lineOffsetY*v,!1,n,!1,y),x=!1,S=!1,C=!0;if(b){let n=.5*d*_+f,r=new t.P(-100,-100),i=new t.P(this.screenRightBoundary,this.screenBottomBoundary),a=new ze,o=b.first,s=b.last,p=[];for(let e=o.path.length-1;e>=1;e--)p.push(o.path[e]);for(let e=1;e<s.path.length;e++)p.push(s.path[e]);let m=2.5*n;if(l){let e=this.projectPathToScreenSpace(p,y);p=e.some((e=>e.signedDistanceFromCamera<=0))?[]:e.map((e=>e.point))}let g=[];if(p.length>0){let e=p[0].clone(),n=p[0].clone();for(let t=1;t<p.length;t++)e.x=Math.min(e.x,p[t].x),e.y=Math.min(e.y,p[t].y),n.x=Math.max(n.x,p[t].x),n.y=Math.max(n.y,p[t].y);g=e.x>=r.x&&n.x<=i.x&&e.y>=r.y&&n.y<=i.y?[p]:n.x<r.x||e.x>i.x||n.y<r.y||e.y>i.y?[]:t.av([p],r.x,r.y,i.x,i.y)}for(let t of g){a.reset(t,.25*n);let r=0;r=a.length<=.5*n?1:Math.ceil(a.paddedLength/m)+1;for(let t=0;t<r;t++){let i=t/Math.max(r-1,1),o=a.lerp(i),s=o.x+100,l=o.y+100;h.push(s,l,n,0);let d=s-n,f=l-n,p=s+n,m=l+n;if(C&&=this.isOffscreen(d,f,p,m),S||=this.isInsideGrid(d,f,p,m),e!==`always`&&this.grid.hitTestCircle(s,l,n,e,u)&&(x=!0,!c))return{circles:[],offscreen:!1,collisionDetected:x}}}}return{circles:!c&&x||!S||_<this.perspectiveRatioCutoff?[]:h,offscreen:C,collisionDetected:x}}projectPathToScreenSpace(e,n){return function(e){let t=0,n=0,r=0,i=0;for(let a=0;a<e.length;a++)e[a].isOccluded?(r=a+1,i=0):(i++,i>n&&(n=i,t=r));return e.slice(t,t+n)}(function(e,n){let r=t.K();return t.an(r,n.pitchedLabelPlaneMatrix),e.map((e=>{let t=We(e.x,e.y,r,n.getElevation),i=n.transform.projectTileCoordinates(t.point.x,t.point.y,n.unwrappedTileID,n.getElevation);return i.point.x=(.5*i.point.x+.5)*n.width,i.point.y=(.5*-i.point.y+.5)*n.height,i}))}(e,n))}queryRenderedSymbols(e){if(e.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let n=[],r=1/0,i=1/0,a=-1/0,o=-1/0;for(let s of e){let e=new t.P(s.x+100,s.y+100);r=Math.min(r,e.x),i=Math.min(i,e.y),a=Math.max(a,e.x),o=Math.max(o,e.y),n.push(e)}let s=this.grid.query(r,i,a,o).concat(this.ignoredGrid.query(r,i,a,o)),c={},l={};for(let e of s){let r=e.key;if(c[r.bucketInstanceId]===void 0&&(c[r.bucketInstanceId]={}),c[r.bucketInstanceId][r.featureIndex])continue;let i=[new t.P(e.x1,e.y1),new t.P(e.x2,e.y1),new t.P(e.x2,e.y2),new t.P(e.x1,e.y2)];t.aw(n,i)&&(c[r.bucketInstanceId][r.featureIndex]=!0,l[r.bucketInstanceId]===void 0&&(l[r.bucketInstanceId]=[]),l[r.bucketInstanceId].push(r.featureIndex))}return l}insertCollisionBox(e,t,n,r,i,a){(n?this.ignoredGrid:this.grid).insert({bucketInstanceId:r,featureIndex:i,collisionGroupID:a,overlapMode:t},e[0],e[1],e[2],e[3])}insertCollisionCircles(e,t,n,r,i,a){let o=n?this.ignoredGrid:this.grid,s={bucketInstanceId:r,featureIndex:i,collisionGroupID:a,overlapMode:t};for(let t=0;t<e.length;t+=4)o.insertCircle(s,e[t],e[t+1],e[t+2])}projectAndGetPerspectiveRatio(e,n,r,i,a){if(a){let r;i?(r=[e,n,i(e,n),1],t.at(r,r,a)):(r=[e,n,0,1],rt(r,r,a));let o=r[3];return{x:(r[0]/o+1)/2*this.transform.width+100,y:(-r[1]/o+1)/2*this.transform.height+100,perspectiveRatio:.5+this.transform.cameraToCenterDistance/o*.5,isOccluded:!1,signedDistanceFromCamera:o}}{let t=this.transform.projectTileCoordinates(e,n,r,i);return{x:(t.point.x+1)/2*this.transform.width+100,y:(1-t.point.y)/2*this.transform.height+100,perspectiveRatio:.5+this.transform.cameraToCenterDistance/t.signedDistanceFromCamera*.5,isOccluded:t.isOccluded,signedDistanceFromCamera:t.signedDistanceFromCamera}}}getPerspectiveRatio(e,t,n,r){let i=this.transform.projectTileCoordinates(e,t,n,r);return .5+this.transform.cameraToCenterDistance/i.signedDistanceFromCamera*.5}isOffscreen(e,t,n,r){return n<100||e>=this.screenRightBoundary||r<100||t>this.screenBottomBoundary}isInsideGrid(e,t,n,r){return n>=0&&e<this.gridRightBoundary&&r>=0&&t<this.gridBottomBoundary}getViewportMatrix(){let e=t.ad([]);return t.L(e,e,[-100,-100,0]),e}_projectCollisionBox(e,n,r,i,a,o,s,c,l,u,d){let f=1,p=0,m=0,h=1,g=e.anchorPointX+s[0],_=e.anchorPointY+s[1];if(o&&!a){let e=this.projectAndGetPerspectiveRatio(g+1,_,i,l,d),t=e.x-c.x,n=Math.atan((e.y-c.y)/t)+(t<0?Math.PI:0),r=M
12ath.sin(n),a=Math.cos(n);f=a,p=r,m=-r,h=a}else if(!o&&a){let e=R(this.transform);f=e.vecEast[0],p=e.vecEast[1],m=e.vecSouth[0],h=e.vecSouth[1]}let v=c.x,y=c.y,b=n;a&&(v=g,y=_,b=2**-(this.transform.zoom-r.overscaledZ),b*=this.transform.getPitchedTextCorrection(g,_,i),u||(b*=t.ae(.5+c.signedDistanceFromCamera/this.transform.cameraToCenterDistance*.5,0,4))),u&&(v+=f*u.x*b+m*u.y*b,y+=p*u.x*b+h*u.y*b);let x=e.x1*b,S=e.x2*b,C=(x+S)/2,w=e.y1*b,T=e.y2*b,E=(w+T)/2,D=[{offsetX:x,offsetY:w},{offsetX:C,offsetY:w},{offsetX:S,offsetY:w},{offsetX:S,offsetY:E},{offsetX:S,offsetY:T},{offsetX:C,offsetY:T},{offsetX:x,offsetY:T},{offsetX:x,offsetY:E}],O=[];for(let{offsetX:e,offsetY:n}of D)O.push(new t.P(v+f*e+m*n,y+p*e+h*n));let k=!1;if(a){let e=O.map((e=>this.projectAndGetPerspectiveRatio(e.x,e.y,i,l,d)));k=e.some((e=>!e.isOccluded)),O=e.map((e=>new t.P(e.x,e.y)))}else k=!0;return{box:t.ax(O),allPointsOccluded:!k}}}class at{constructor(e,t,n,r){this.opacity=e?Math.max(0,Math.min(1,e.opacity+(e.placed?t:-t))):r&&n?1:0,this.placed=n}isHidden(){return this.opacity===0&&!this.placed}}class ot{constructor(e,t,n,r,i){this.text=new at(e?e.text:null,t,n,i),this.icon=new at(e?e.icon:null,t,r,i)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class st{constructor(e,t,n){this.text=e,this.icon=t,this.skipFade=n}}class ct{constructor(e,t,n,r,i){this.bucketInstanceId=e,this.featureIndex=t,this.sourceLayerIndex=n,this.bucketIndex=r,this.tileID=i}}class lt{constructor(e){this.crossSourceCollisions=e,this.maxGroupID=0,this.collisionGroups={}}get(e){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[e]){let t=++this.maxGroupID;this.collisionGroups[e]={ID:t,predicate:e=>e.collisionGroupID===t}}return this.collisionGroups[e]}}function ut(e,n,r,i,a){let{horizontalAlign:o,verticalAlign:s}=t.aE(e);return new t.P(-(o-.5)*n+i[0]*a,-(s-.5)*r+i[1]*a)}class dt{constructor(e,t,n,r,i){this.transform=e.clone(),this.terrain=t,this.collisionIndex=new it(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=n,this.retainedQueryData={},this.collisionGroups=new lt(r),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=i,i&&(i.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(e){let t=this.terrain;return t?(n,r)=>t.getElevation(e,n,r):null}getBucketParts(e,n,r,i){let a=r.getBucket(n),o=r.latestFeatureIndex;if(!a||!o||n.id!==a.layerIds[0])return;let s=r.collisionBoxArray,c=a.layers[0].layout,l=a.layers[0].paint,u=2**(this.transform.zoom-r.tileID.overscaledZ),d=r.tileSize/t.Z,f=r.tileID.toUnwrapped(),p=c.get(`text-rotation-alignment`)===`map`,m=t.az(r,1,this.transform.zoom),h=t.aA(this.collisionIndex.transform,r,l.get(`text-translate`),l.get(`text-translate-anchor`)),g=t.aA(this.collisionIndex.transform,r,l.get(`icon-translate`),l.get(`icon-translate-anchor`)),_=He(p,this.transform,m);this.retainedQueryData[a.bucketInstanceId]=new ct(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,r.tileID);let v={bucket:a,layout:c,translationText:h,translationIcon:g,unwrappedTileID:f,pitchedLabelPlaneMatrix:_,scale:u,textPixelRatio:d,holdingForFade:r.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:t.ak(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(i)for(let t of a.sortKeyRanges){let{sortKey:n,symbolInstanceStart:r,symbolInstanceEnd:i}=t;e.push({sortKey:n,symbolInstanceStart:r,symbolInstanceEnd:i,parameters:v})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:v})}attemptAnchorPlacement(e,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b){let x=t.aB[e.textAnchor],S=[e.textOffset0,e.textOffset1],C=ut(x,r,i,S,a),w=this.collisionIndex.placeCollisionBox(n,f,c,l,u,s,o,g,d.predicate,y,C,b);if((!v||this.collisionIndex.placeCollisionBox(v,f,c,l,u,s,o,_,d.predicate,y,C,b).placeable)&&w.placeable){let e;if(this.prevPlacement&&this.prevPlacement.variableOffsets[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID]&&this.prevPlacement.placements[p.
12crossTileID].text&&(e=this.prevPlacement.variableOffsets[p.crossTileID].anchor),p.crossTileID===0)throw Error(`symbolInstance.crossTileID can't be 0`);return this.variableOffsets[p.crossTileID]={textOffset:S,width:r,height:i,anchor:x,textBoxScale:a,prevAnchor:e},this.markUsedJustification(m,x,p,h),m.allowVerticalPlacement&&(this.markUsedOrientation(m,h,p),this.placedOrientations[p.crossTileID]=h),{shift:C,placedGlyphBoxes:w}}}placeLayerBucketPart(e,n,r){let{bucket:i,layout:a,translationText:o,translationIcon:s,unwrappedTileID:c,pitchedLabelPlaneMatrix:l,textPixelRatio:u,holdingForFade:d,collisionBoxArray:f,partiallyEvaluatedTextSize:p,collisionGroup:m}=e.parameters,h=a.get(`text-optional`),g=a.get(`icon-optional`),_=t.aC(a,`text-overlap`,`text-allow-overlap`),v=_===`always`,y=t.aC(a,`icon-overlap`,`icon-allow-overlap`),b=y===`always`,x=a.get(`text-rotation-alignment`)===`map`,S=a.get(`text-pitch-alignment`)===`map`,C=a.get(`icon-text-fit`)!==`none`,w=a.get(`symbol-z-order`)===`viewport-y`,T=v&&(b||!i.hasIconData()||g),E=b&&(v||!i.hasTextData()||h);!i.collisionArrays&&f&&i.deserializeCollisionBoxes(f);let D=this.retainedQueryData[i.bucketInstanceId].tileID,O=this._getTerrainElevationFunc(D),k=this.transform.getFastPathSimpleProjectionMatrix(D),A=(e,f,b)=>{if(n[e.crossTileID])return;if(d)return void(this.placements[e.crossTileID]=new st(!1,!1,!1));let w=!1,A=!1,ee=!0,te=null,j={box:null,placeable:!1,offscreen:null,occluded:!1},ne={placeable:!1},re=null,M=null,ie=null,ae=0,oe=0,se=0;f.textFeatureIndex?ae=f.textFeatureIndex:e.useRuntimeCollisionCircles&&(ae=e.featureIndex),f.verticalTextFeatureIndex&&(oe=f.verticalTextFeatureIndex);let ce=f.textBox;if(ce){let n=n=>{let r=t.al.horizontal;if(i.allowVerticalPlacement&&!n&&this.prevPlacement){let t=this.prevPlacement.placedOrientations[e.crossTileID];t&&(this.placedOrientations[e.crossTileID]=t,r=t,this.markUsedOrientation(i,r,e))}return r},a=(n,r)=>{if(i.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&f.verticalTextBox){for(let e of i.writingModes)if(e===t.al.vertical?(j=r
12(),ne=j):j=n(),j&&j.placeable)break}else j=n()},l=e.textAnchorOffsetStartIndex,d=e.textAnchorOffsetEndIndex;if(d===l){let r=(t,n)=>{let r=this.collisionIndex.placeCollisionBox(t,_,u,D,c,S,x,o,m.predicate,O,void 0,k);return r&&r.placeable&&(this.markUsedOrientation(i,n,e),this.placedOrientations[e.crossTileID]=n),r};a((()=>r(ce,t.al.horizontal)),(()=>{let n=f.verticalTextBox;return i.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&n?r(n,t.al.vertical):{box:null,offscreen:null}})),n(j&&j.placeable)}else{let p=t.aB[this.prevPlacement?.variableOffsets[e.crossTileID]?.anchor],h=(t,n,a)=>{let f=t.x2-t.x1,h=t.y2-t.y1,g=e.textBoxScale,v=C&&y===`never`?n:null,b=null,T=_===`never`?1:2,E=`never`;p&&T++;for(let n=0;n<T;n++){for(let n=l;n<d;n++){let r=i.textAnchorOffsets.get(n);if(p&&r.textAnchor!==p)continue;let l=this.attemptAnchorPlacement(r,t,f,h,g,x,S,u,D,c,m,E,e,i,a,o,s,v,O);if(l&&(b=l.placedGlyphBoxes,b&&b.placeable))return w=!0,te=l.shift,b}p?p=null:E=_}return r&&!b&&(b={box:this.collisionIndex.placeCollisionBox(ce,`always`,u,D,c,S,x,o,m.predicate,O,void 0,k).box,offscreen:!1,placeable:!1,occluded:!1}),b};a((()=>h(ce,f.iconBox,t.al.horizontal)),(()=>{let n=f.verticalTextBox;return i.allowVerticalPlacement&&(!j||!j.placeable)&&e.numVerticalGlyphVertices>0&&n?h(n,f.verticalIconBox,t.al.vertical):{box:null,occluded:!0,offscreen:null}})),j&&(w=j.placeable,ee=j.offscreen);let g=n(j&&j.placeable);if(!w&&this.prevPlacement){let t=this.prevPlacement.variableOffsets[e.crossTileID];t&&(this.variableOffsets[e.crossTileID]=t,this.markUsedJustification(i,t.anchor,e,g))}}}if(re=j,w=re&&re.placeable,ee=re&&re.offscreen,e.useRuntimeCollisionCircles){let n=i.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),s=t.am(i.textSizeData,p,n),u=a.get(`text-padding`);M=this.collisionIndex.placeCollisionCircles(_,n,i.lineVertexArray,i.glyphOffsetArray,s,c,l,r,S,m.predicate,e.collisionCircleDiameter,u,o,O),M.circles.length&&M.collisionDetected&&!r&&t.w(`Collisions detected, but collision boxes are not shown`),w=v||M.circles.length>0&&!M.collisionDetected,ee&&=M.offscreen}if(f.iconFeatureIndex&&(se=f.iconFeatureIndex),f.iconBox){let e=e=>this.collisionIndex.placeCollisionBox(e,y,u,D,c,S,x,s,m.predicate,O,C&&te?te:void 0,k);ne&&ne.placeable&&f.verticalIconBox?(ie=e(f.verticalIconBox),A=ie.placeable):(ie=e(f.iconBox),A=ie.placeable),ee&&=ie.offscreen}let le=h||e.numHorizontalGlyphVertices===0&&e.numVerticalGlyphVertices===0,N=g||e.numIconVertices===0;le||N?N?le||(A&&=w):w=A&&w:A=w=A&&w;let P=A&&ie.placeable;if(w&&re.placeable&&this.collisionIndex.insertCollisionBox(re.box,_,a.get(`text-ignore-placement`),i.bucketInstanceId,ne&&ne.placeable&&oe?oe:ae,m.ID),P&&this.collisionIndex.insertCollisionBox(ie.box,y,a.get(`icon-ignore-placement`),i.bucketInstanceId,se,m.ID),M&&w&&this.collisionIndex.insertCollisionCircles(M.circles,_,a.get(`text-ignore-placement`),i.bucketInstanceId,ae,m.ID),r&&this.storeCollisionData(i.bucketInstanceId,b,f,re,ie,M),e.crossTileID===0)throw Error(`symbolInstance.crossTileID can't be 0`);if(i.bucketInstanceId===0)throw Error(`bucket.bucketInstanceId can't be 0`);this.placements[e.crossTileID]=new st((w||T)&&!re?.occluded,(A||E)&&!ie?.occluded,ee||i.justReloaded),n[e.crossTileID]=!0};if(w){if(e.symbolInstanceStart!==0)throw Error(`bucket.bucketInstanceId should be 0`);let t=i.getSortedSymbolIndexes(-this.transform.bearingInRadians);for(let e=t.length-1;e>=0;--e){let n=t[e];A(i.symbolInstances.get(n),i.collisionArrays[n],n)}}else for(let t=e.symbolInstanceStart;t<e.symbolInstanceEnd;t++)A(i.symbolInstances.get(t),i.collisionArrays[t],t);i.justReloaded=!1}storeCollisionData(e,t,n,r,i,a){if(n.textBox||n.iconBox){let a,o;this.collisionBoxArrays.has(e)?a=this.collisionBoxArrays.get(e):(a=new Map,this.collisionBoxArrays.set(e,a)),a.has(t)?o=a.get(t):(o={text:null,icon:null},a.set(t,o)),n.textBox&&(o.text=r.box),n.iconBox&&(o.icon=i.box)}if(a){let t=this.collisionCircleArrays[e];t===void 0&&(t=this.collisionCircleArrays[e]=[]);for(let e=0;e<a.circles.length;e+=4)t.push(a.circles[e+0]-100),t.push(a.circles[e+1]-100),t.push(a.circles[e+2]),t.push(+!!a.collisionDetected)}}markUsedJustification(e,n,r,i){let a;a=i===t.al.vertical?r.verticalPlacedTextSymbolIndex:{left:r.leftJustifiedTextSymbolIndex,center:r.centerJustifiedTextSymbolIndex,right:r.rightJustifiedTextSymbolIndex}[t.aD(n)];let o=[r.leftJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.rightJustifiedTextSymbolIndex,r.verticalPlacedTextSymbolIndex];for(let t of o)t>=0&&(e.text.placedSymbolArray.get(t).crossTileID=a>=0&&t!==a?0:r.crossTileID)}markUsedOrientation(e,n,r){let i=n===t.al.horizontal||n===t.al.horizontalOnly?n:0,a=n===t.al.vertical?n:0,o=[r.leftJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.rightJustifiedTextSymbolIndex];for(let t of o)e.text.placedSymbolArray.get(t).placedOrientation=i;r.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(r.verticalPlacedTextSymbolIndex).placedOrientation=a)}commit(e){this.commitTime=e,this.zoomAtLastRecencyCheck=this.transform.zoom;let t=this.prevPlacement,n=!1;this.prevZoomAdjustment=t?t.zoomAdjustment(this.transform.zoom):0;let r=t?t.symbolFadeChange(e):1,i=t?t.opacities:{},a=t?t.variableOffsets:{},o=t?t.placedOrientations:{};for(let e in this.placements){let t=this.placements[e],a=i[e];a?(this.opacities[e]=new ot(a,r,t.text,t.icon),n=n||t.text!==a.text.placed||t.icon!==a.icon.placed):(this.opacities[e]=new ot(null,r,t.text,t.icon,t.skipFade),n=n||t.text||t.icon)}for(let e in i){let t=i[e];if(!this.opacities[e]){let i=new ot(t,r,!1,!1);i.isHidden()||(this.opacities[e]=i,n=n||t.text.placed||t.icon.placed)}}for(let e in a)this.variableOffsets[e]||!this.opacities[e]||this.opacities[e].isHidden()||(this.variableOffsets[e]=a[e]);for(let e in o)this.placedOrientations[e]||!this.opacities[e]||this.opacities[e].isHidden()||(this.placedOrientations[e]=o[e]);if(t&&t.lastPlacementChangeTime===void 0)throw Error(`Last placement time for previous placement is not defined`);n?this.lastPlacementChangeTime=e:typeof this.lastPlacementChangeTime!=`number`&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)}updateLayerOpacities(e,t){let n={};for(let r of t){let t=r.getBucket(e);t&&r.latestFeatureIndex&&e.id===t.layerIds[0]&&this.updateBucketOpacities(t,r.tileID,n,r.collisionBoxArray)}}updateBucketOpacities(e,n,r,i){e.hasTextData()&&(e.text.opacityVertexArray.clear(),e.text.hasVisibleVertices=!1),e.hasIconData()&&(e.icon.opacityVertexArray.clear(),e.icon.hasVisibleVertices=!1),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();
12let a=e.layers[0],o=a.layout,s=new ot(null,0,!1,!1,!0),c=o.get(`text-allow-overlap`),l=o.get(`icon-allow-overlap`),u=a._unevaluatedLayout.hasValue(`text-variable-anchor`)||a._unevaluatedLayout.hasValue(`text-variable-anchor-offset`),d=o.get(`text-rotation-alignment`)===`map`,f=o.get(`text-pitch-alignment`)===`map`,p=o.get(`icon-text-fit`)!==`none`,m=new ot(null,0,c&&(l||!e.hasIconData()||o.get(`icon-optional`)),l&&(c||!e.hasTextData()||o.get(`text-optional`)),!0);!e.collisionArrays&&i&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(i);let h=(e,t,n)=>{for(let r=0;r<t/4;r++)e.opacityVertexArray.emplaceBack(n);e.hasVisibleVertices=e.hasVisibleVertices||n!==vt},g=this.collisionBoxArrays.get(e.bucketInstanceId);for(let n=0;n<e.symbolInstances.length;n++){let i=e.symbolInstances.get(n),{numHorizontalGlyphVertices:a,numVerticalGlyphVertices:o,crossTileID:c}=i,l=this.opacities[c];r[c]?l=s:l||(l=m,this.opacities[c]=l),r[c]=!0;let _=i.numIconVertices>0,v=this.placedOrientations[i.crossTileID],y=v===t.al.vertical,b=v===t.al.horizontal||v===t.al.horizontalOnly;if(a>0||o>0){let t=_t(l.text);h(e.text,a,y?vt:t),h(e.text,o,b?vt:t);let n=l.text.isHidden();[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex].forEach((t=>{t>=0&&(e.text.placedSymbolArray.get(t).hidden=n||y?1:0)})),i.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(i.verticalPlacedTextSymbolIndex).hidden=n||b?1:0);let r=this.variableOffsets[i.crossTileID];r&&this.markUsedJustification(e,r.anchor,i,v);let s=this.placedOrientations[i.crossTileID];s&&(this.markUsedJustification(e,`left`,i,s),this.markUsedOrientation(e,s,i))}if(_){let t=_t(l.icon),n=!(p&&i.verticalPlacedIconSymbolIndex&&y);i.placedIconSymbolIndex>=0&&(h(e.icon,i.numIconVertices,n?t:vt),e.icon.placedSymbolArray.get(i.placedIconSymbolIndex).hidden=l.icon.isHidden()),i.verticalPlacedIconSymbolIndex>=0&&(h(e.icon,i.numVerticalIconVertices,n?vt:t),e.icon.placedSymbolArray.get(i.verticalPlacedIconSymbolIndex).hidden=l.icon.isHidden())}let x=g&&g.has(n)?g.get(n):{text:null,icon:null};if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){let r=e.collisionArrays[n];if(r){let n=new t.P(0,0);if(r.textBox||r.verticalTextBox){let t=!0;if(u){let e=this.variableOffsets[c];e?(n=ut(e.anchor,e.width,e.height,e.textOffset,e.textBoxScale),d&&n._rotate(f?-this.transform.bearingInRadians:this.transform.bearingInRadians)):t=!1}if(r.textBox||r.verticalTextBox){let i;r.textBox&&(i=y),r.verticalTextBox&&(i=b),ft(e.textCollisionBox.collisionVertexArray,l.text.placed,!t||i,x.text,n.x,n.y)}}if(r.iconBox||r.verticalIconBox){let t=!!(!b&&r.verticalIconBox),i;r.iconBox&&(i=t),r.verticalIconBox&&(i=!t),ft(e.iconCollisionBox.collisionVertexArray,l.icon.placed,i,x.icon,p?n.x:0,p?n.y:0)}}}}if(e.sortFeatures(-this.transform.bearingInRadians),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.text.opacityVertexArray.length!==e.text.layoutVertexArray.length/4)throw Error(`bucket.text.opacityVertexArray.length (= ${e.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${e.text.layoutVertexArray.length}) / 4`);if(e.icon.opacityVertexArray.length!==e.icon.layoutVertexArray.length/4)throw Error(`bucket.icon.opacityVertexArray.length (= ${e.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${e.icon.layoutVertexArray.length}) / 4`);e.bucketInstanceId in this.collisionCircleArrays&&(e.collisionCircleArray=this.collisionCircleArrays[e.bucketInstanceId],delete this.collisionCircleArrays[e.bucketInstanceId])}symbolFadeChange(e){return this.fadeDuration===0?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(e){return Math.max(0,(this.transform.zoom-e)/1.5)}hasTransitions(e){return this.stale||e-this.lastPlacementChangeTime<this.fadeDuration}stillRecent(e,t){let n=this.zoomAtLastRecencyCheck===t?1-this.zoomAdjustment(t):1;return this.zoomAtLastRecencyCheck=t,this.commitTime+this.fadeDuration*n>e}setStale(){this.stale=!0}}function ft(e,t,n,r,i,a){r&&r.length!==0||(r=[0,0,0,0]);let o=r[0]-100,s=r[1]-100,c=r[2]-100,l=r[3]-100;e.emplaceBack(+!!t,+!!n,i||0,a||0,o,s),e.emplaceBack(+!!t,+!!n,i||0,a||0,c,s),e.emplaceBack(+!!t,+!!n,i||0,a||0,c,l),e.emplaceBack(+!!t,+!!n,i||0,a||0,o,l)}let pt=2**25,mt=2**24,ht=2**17,gt=2**16;function _t(e){if(e.opacity===0&&!e.placed)return 0;if(e.opacity===1&&e.placed)return 4294967295;let t=+!!e.placed,n=Math.floor(127*e.opacity);return n*pt+t*mt+n*ht+t*gt+n*512+t*256+n*2+t}let vt=0;class yt{constructor(e){this._sortAcrossTiles=e.layout.get(`symbol-z-order`)!==`viewport-y`&&!e.layout.get(`symbol-sort-key`).isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(e,t,n,r,i){let a=this._bucketParts;for(;this._currentTileIndex<e.length;)if(t.getBucketParts(a,r,e[this._currentTileIndex],this._sortAcrossTiles),this._currentTileIndex++,i())return!0;for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,a.sort(((e,t)=>
12e.sortKey-t.sortKey)));this._currentPartIndex<a.length;)if(t.placeLayerBucketPart(a[this._currentPartIndex],this._seenCrossTileIDs,n),this._currentPartIndex++,i())return!0;return!1}}class bt{constructor(e,t,n,r,i,a,o,s){this.placement=new dt(e,t,a,o,s),this._currentPlacementIndex=n.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=i,this._done=!1}isDone(){return this._done}continuePlacement(e,t,n){let r=o.now(),i=()=>!this._forceFullPlacement&&o.now()-r>2;for(;this._currentPlacementIndex>=0;){let r=t[e[this._currentPlacementIndex]],a=this.placement.collisionIndex.transform.zoom;if(r.type===`symbol`&&(!r.minzoom||r.minzoom<=a)&&(!r.maxzoom||r.maxzoom>a)){if(this._inProgressLayer||=new yt(r),this._inProgressLayer.continuePlacement(n[r.source],this.placement,this._showCollisionBoxes,r,i))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(e){return this.placement.commit(e),this.placement}}let xt=512/t.Z/2;class St{constructor(e,n,r){this.tileID=e,this.bucketInstanceId=r,this._symbolsByKey={};let i=new Map;for(let e=0;e<n.length;e++){let t=n.get(e),r=t.key,a=i.get(r);a?a.push(t):i.set(r,[t])}for(let[e,n]of i){let r={positions:n.map((e=>({x:Math.floor(e.anchorX*xt),y:Math.floor(e.anchorY*xt)}))),crossTileIDs:n.map((e=>e.crossTileID))};if(r.positions.length>128){let e=new t.aF(r.positions.length,16,Uint16Array);for(let{x:t,y:n}of r.positions)e.add(t,n);e.finish(),delete r.positions,r.index=e}this._symbolsByKey[e]=r}}getScaledCoordinates(e,n){let{x:r,y:i,z:a}=this.tileID.canonical,{x:o,y:s,z:c}=n.canonical,l=xt/2**(c-a),u=(s*t.Z+e.anchorY)*l,d=i*t.Z*xt;return{x:Math.floor((o*t.Z+e.anchorX)*l-r*t.Z*xt),y:Math.floor(u-d)}}findMatches(e,t,n){let r=this.tileID.canonical.z<t.canonical.z?1:2**(this.tileID.canonical.z-t.canonical.z);for(let i=0;i<e.length;i++){let a=e.get(i);if(a.crossTileID)continue;let o=this._symbolsByKey[a.key];if(!o)continue;let s=this.getScaledCoordinates(a,t);if(o.index){let e=o.index.range(s.x-r,s.y-r,s.x+r,s.y+r).sort();for(let t of e){let e=o.crossTileIDs[t];if(!n[e]){n[e]=!0,a.crossTileID=e;break}}}else if(o.positions)for(let e=0;e<o.positions.length;e++){let t=o.positions[e],i=o.crossTileIDs[e];if(Math.abs(t.x-s.x)<=r&&Math.abs(t.y-s.y)<=r&&!n[i]){n[i]=!0,a.crossTileID=i;break}}}}getCrossTileIDsLists(){return Object.values(this._symbolsByKey).map((({crossTileIDs:e})=>e))}}class Ct{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class wt{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(e){let t=Math.round((e-this.lng)/360);if(t!==0)for(let e in this.indexes){let n=this.indexes[e],r={};for(let e in n){let i=n[e];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+t),r[i.tileID.key]=i}this.indexes[e]=r}this.lng=e}addBucket(e,t,n){if(this.indexes[e.overscaledZ]&&this.indexes[e.overscaledZ][e.key]){if(this.indexes[e.overscaledZ][e.key].bucketInstanceId===t.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(e.overscaledZ,this.indexes[e.overscaledZ][e.key])}for(let e=0;e<t.symbolInstances.length;e++)t.symbolInstances.get(e).crossTileID=0;this.usedCrossTileIDs[e.overscaledZ]||(this.usedCrossTileIDs[e.overscaledZ]={});let r=this.usedCrossTileIDs[e.overscaledZ];for(let n in this.indexes){let i=this.indexes[n];if(Number(n)>e.overscaledZ)for(let n in i){let a=i[n];a.tileID.isChildOf(e)&&a.findMatches(t.symbolInstances,e,r)}else{let a=i[e.scaledTo(Number(n)).key];a&&a.findMatches(t.symbolInstances,e,r)}}for(let e=0;e<t.symbolInstances.length;e++){let i=t.symbolInstances.get(e);i.crossTileID||(i.crossTileID=n.generate(),r[i.crossTileID]=!0)}return this.indexes[e.overscaledZ]===void 0&&(this.indexes[e.overscaledZ]={}),this.indexes[e.overscaledZ][e.key]=new St(e,t.symbolInstances,t.bucketInstanceId),!0}removeBucketCrossTileIDs(e,t){for(let n of t.getCrossTileIDsLists())for(let t of n)delete this.usedCrossTileIDs[e][t]}removeStaleBuckets(e){let t=!1;for(let n in this.indexes){let r=this.indexes[n];for(let i in r)e[r[i].bucketInstanceId]||(this.removeBucketCrossTileIDs(n,r[i]),delete r[i],t=!0)}return t}}class Tt{constructor(){this.layerIndexes={},this.crossTileIDs=new Ct,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}}addLayer(e,t,n){let r=this.layerIndexes[e.id];r===void 0&&(r=this.layerIndexes[e.id]=new wt);let i=!1,a={};r.handleWrapJump(n);for(let n of t){let t=n.getBucket(e);t&&e.id===t.layerIds[0]&&(t.bucketInstanceId||=++this.maxBucketInstanceId,r.addBucket(n.tileID,t,this.crossTileIDs)&&(i=!0),a[t.bucketInstanceId]=!0)}return r.removeStaleBuckets(a)&&(i=!0),i}pruneUnusedLayers(e){let t={};e.forEach((e=>{t[e]=!0}));for(let e in this.layerIndexes)t[e]||delete this.layerIndexes[e]}}var Et=`void main() {fragColor=vec4(1.0);}`;let Dt={prelude:U(`#ifdef GL_ES
13precision mediump float;
14#else
15#if !defined(lowp)
16#define lowp
17#endif
18#if !defined(mediump)
19#define mediump
20#endif
21#if !defined(highp)
22#define highp
23#endif
24#endif
25out highp vec4 fragColor;`,`#ifdef GL_ES
26precision highp float;
27#else
28#if !defined(lowp)
29#define lowp
30#endif
31#if !defined(mediump)
32#define mediump
33#endif
34#if !defined(highp)
35#define highp
36#endif
37#endif
38vec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0
39);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);
39return (tile_units_to_pixels*pos+offset)/pattern_size;}mat3 rotationMatrixFromAxisAngle(vec3 u,float angle) {float c=cos(angle);float s=sin(angle);float c2=1.0-c;return mat3(u.x*u.x*c2+      c,u.x*u.y*c2-u.z*s,u.x*u.z*c2+u.y*s,u.y*u.x*c2+u.z*s,u.y*u.y*c2+    c,u.y*u.z*c2-u.x*s,u.z*u.x*c2-u.y*s,u.z*u.y*c2+u.x*s,u.z*u.z*c2+    c
40);}
41#ifdef TERRAIN3D
42uniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;
43#endif
44const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {
45#ifdef TERRAIN3D
46highp float d=unpack(texture(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));
47#else
48return 1.0;
49#endif
50}float calculate_visibility(vec4 pos) {
51#ifdef TERRAIN3D
52vec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;
53#else
54return 1.0;
55#endif
56}float ele(vec2 pos) {
57#ifdef TERRAIN3D
58vec4 rgb=(texture(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;
59#else
60return 0.0;
61#endif
62}float get_elevation(vec2 pos) {
63#ifdef TERRAIN3D
64#ifdef GLOBE
65if ((pos.y <-32767.5) || (pos.y > 32766.5)) {return 0.0;}
66#endif
67vec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration;
68#else
69return 0.0;
70#endif
71}const float PI=3.141592653589793;uniform mat4 u_projection_matrix;`),projectionMercator:U(``,`float projectLineThickness(float tileY) {return 1.0;}float projectCircleRadius(float tileY) {return 1.0;}vec4 projectTile(vec2 p) {vec4 result=u_projection_matrix*vec4(p,0.0,1.0);return result;}vec4 projectTile(vec2 p,vec2 rawPos) {vec4 result=u_projection_matrix*vec4(p,0.0,1.0);if (rawPos.y <-32767.5 || rawPos.y > 32766.5) {result.z=-10000000.0;}return result;}vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_projection_matrix*vec4(posInTile,elevation,1.0);}vec4 projectTileFor3D(vec2 posInTile,float elevation) {return projectTileWithElevation(posInTile,elevation);}`),projectionGlobe:U(``,`#define GLOBE_RADIUS 6371008.8
72uniform highp vec4 u_projection_tile_mercator_coords;uniform highp vec4 u_projection_clipping_plane;uniform highp float u_projection_transition;uniform mat4 u_projection_fallback_matrix;vec3 globeRotateVector(vec3 vec,vec2 angles) {vec3 axisRight=vec3(vec.z,0.0,-vec.x);vec3 axisUp=cross(axisRight,vec);axisRight=normalize(axisRight);axisUp=normalize(axisUp);vec2 t=tan(angles);return normalize(vec+axisRight*t.x+axisUp*t.y);}mat3 globeGetRotationMatrix(vec3 spherePos) {vec3 axisRight=vec3(spherePos.z,0.0,-spherePos.x);vec3 axisDown=cross(axisRight,spherePos);axisRight=normalize(axisRight);axisDown=normalize(axisDown);return mat3(axisRight,axisDown,spherePos
73);}float circumferenceRatioAtTileY(float tileY) {float mercator_pos_y=u_projection_tile_mercator_coords.y+u_projection_tile_mercator_coords.w*tileY;float spherical_y=2.0*atan(exp(PI-(mercator_pos_y*PI*2.0)))-PI*0.5;return cos(spherical_y);}float projectLineThickness(float tileY) {float thickness=1.0/circumferenceRatioAtTileY(tileY); 
74if (u_projection_transition < 0.999) {return mix(1.0,thickness,u_projection_transition);} else {return thickness;}}vec3 projectToSphere(vec2 translatedPos,vec2 rawPos) {vec2 mercator_pos=u_projection_tile_mercator_coords.xy+u_projection_tile_mercator_coords.zw*translatedPos;vec2 spherical;spherical.x=mercator_pos.x*PI*2.0+PI;spherical.y=2.0*atan(exp(PI-(mercator_pos.y*PI*2.0)))-PI*0.5;float len=cos(spherical.y);vec3 pos=vec3(sin(spherical.x)*len,sin(spherical.y),cos(spherical.x)*len
75);if (rawPos.y <-32767.5) {pos=vec3(0.0,1.0,0.0);}if (rawPos.y > 32766.5) {pos=vec3(0.0,-1.0,0.0);}return pos;}vec3 projectToSphere(vec2 posInTile) {return projectToSphere(posInTile,vec2(0.0,0.0));}float globeComputeClippingZ(vec3 spherePos) {return (1.0-(dot(spherePos,u_projection_clipping_plane.xyz)+u_projection_clipping_plane.w));}vec4 interpolateProjection(vec2 posInTile,vec3 spherePos,float elevation) {vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);vec4 globePosition=u_projection_matrix*vec4(elevatedPos,1.0);globePosition.z=globeComputeClippingZ(elevatedPos)*globePosition.w;if (u_projection_transition > 0.999) {return globePosition;}vec4 flatPosition=u_projection_fallback_matrix*vec4(posInTile,elevation,1.0);const float z_globeness_threshold=0.2;vec4 result=globePosition;result.z=mix(0.0,globePosition.z,clamp((u_projection_transition-z_globeness_threshold)/(1.0-z_globeness_threshold),0.0,1.0));result.xyw=mix(flatPosition.xyw,globePosition.xyw,u_projection_transition);if ((posInTile.y <-32767.5) || (posInTile.y > 32766.5)) {result=globePosition;const float poles_hidden_anim_percentage=0.02;result.z=mix(globePosition.z,100.0,pow(max((1.0-u_projection_transition)/poles_hidden_anim_percentage,0.0),8.0));}return result;}vec4 interpolateProjectionFor3D(vec2 posInTile,vec3 spherePos,float elevation) {vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);vec4 globePosition=u_projection_matrix*vec4(elevatedPos,1.0);if (u_projection_transition > 0.999) {return globePosition;}vec4 fallbackPosition=u_projection_fallback_matrix*vec4(posInTile,elevation,1.0);return mix(fallbackPosition,globePosition,u_projection_transition);}vec4 projectTile(vec2 posInTile) {return interpolateProjection(posInTile,projectToSphere(posInTile),0.0);}vec4 projectTile(vec2 posInTile,vec2 rawPos) {return interpolateProjection(posInTile,projectToSphere(posInTile,rawPos),0.0);}vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return interpolateProjection(posInTile,projectToSphere(posInTile),elevation);}vec4 projectTileFor3D(vec2 posInTile,float elevation) {vec3 spherePos=projectToSphere(posInTile,posInTile);return interpolateProjectionFor3D(posInTile,spherePos,elevation);}`),background:U(`uniform vec4 u_color;uniform float u_opacity;void main() {fragColor=u_color*u_opacity;
76#ifdef OVERDRAW_INSPECTOR
77fragColor=vec4(1.0);
78#endif
79}`,`in vec2 a_pos;void main() {gl_Position=projectTile(a_pos);}`),backgroundPattern:U(`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;
79uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);fragColor=mix(color1,color2,u_mix)*u_opacity;
80#ifdef OVERDRAW_INSPECTOR
81fragColor=vec4(1.0);
82#endif
83}`,`uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b;void main() {gl_Position=projectTile(a_pos);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}`),circle:U(`in vec3 v_data;in float v_visibility;
84#pragma mapbox: define highp vec4 color
85#pragma mapbox: define mediump float radius
86#pragma mapbox: define lowp float blur
87#pragma mapbox: define lowp float opacity
88#pragma mapbox: define highp vec4 stroke_color
89#pragma mapbox: define mediump float stroke_width
90#pragma mapbox: define lowp float stroke_opacity
91void main() {
92#pragma mapbox: initialize highp vec4 color
93#pragma mapbox: initialize mediump float radius
94#pragma mapbox: initialize lowp float blur
95#pragma mapbox: initialize lowp float opacity
96#pragma mapbox: initialize highp vec4 stroke_color
97#pragma mapbox: initialize mediump float stroke_width
98#pragma mapbox: initialize lowp float stroke_opacity
99vec2 extrude=v_data.xy;float extrude_length=length(extrude);float antialiased_blur=v_data.z;float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));fragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);const float epsilon=0.5/255.0;if (fragColor.r < epsilon && fragColor.g < epsilon && fragColor.b < epsilon && fragColor.a < epsilon) {discard;}
100#ifdef OVERDRAW_INSPECTOR
101fragColor=vec4(1.0);
102#endif
103}`,`uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform highp float u_globe_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;uniform vec2 u_translate;in vec2 a_pos;out vec3 v_data;out float v_visibility;
104#pragma mapbox: define highp vec4 color
105#pragma mapbox: define mediump float radius
106#pragma mapbox: define lowp float blur
107#pragma mapbox: define lowp float opacity
108#pragma mapbox: define highp vec4 stroke_color
109#pragma mapbox: define mediump float stroke_width
110#pragma mapbox: define lowp float stroke_opacity
111void main(void) {
112#pragma mapbox: initialize highp vec4 color
113#pragma mapbox: initialize mediump float radius
114#pragma mapbox: initialize lowp float blur
115#pragma mapbox: initialize lowp float opacity
116#pragma mapbox: initialize highp vec4 stroke_color
117#pragma mapbox: initialize mediump float stroke_width
118#pragma mapbox: initialize lowp float stroke_opacity
119vec2 pos_raw=a_pos+32768.0;vec2 extrude=vec2(mod(pos_raw,8.0)/7.0*2.0-1.0);vec2 circle_center=floor(pos_raw/8.0)+u_translate;float ele=get_elevation(circle_center);v_visibility=calculate_visibility(projectTileWithElevation(circle_center,ele));if (u_pitch_with_map) {
120#ifdef GLOBE
121vec3 center_vector=projectToSphere(circle_center);
122#endif
123float angle_scale=u_globe_extrude_scale;vec2 corner_position=circle_center;if (u_scale_with_map) {angle_scale*=(radius+stroke_width);corner_position+=extrude*u_extrude_scale*(radius+stroke_width);} else {
124#ifdef GLOBE
125vec4 projected_center=interpolateProjection(circle_center,center_vector,ele);
126#else
127vec4 projected_center=projectTileWithElevation(circle_center,ele);
128#endif
129corner_position+=extrude*u_extrude_scale*(radius+stroke_width)*(projected_center.w/u_camera_to_center_distance);angle_scale*=(radius+stroke_width)*(projected_center.w/u_camera_to_center_distance);}
130#ifdef GLOBE
131vec2 angles=extrude*angle_scale;vec3 corner_vector=globeRotateVector(center_vector,angles);gl_Position=interpolateProjection(corner_position,corner_vector,ele);
132#else
133gl_Position=projectTileWithElevation(corner_position,ele);
134#endif
135} else {gl_Position=projectTileWithElevation(circle_center,ele);if (gl_Position.z/gl_Position.w > 1.0) {gl_Position.xy=vec2(10000.0);}if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:U(Et,`in vec2 a_pos;void main() {gl_Position=projectTile(a_pos);}`),heatmap:U(`uniform highp float u_intensity;in vec2 v_extrude;
136#pragma mapbox: define highp float weight
137#define GAUSS_COEF 0.3989422804014327
138void main() {
139#pragma mapbox: initialize highp float weight
140float d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);fragColor=vec4(val,1.0,1.0,1.0);
141#ifdef OVERDRAW_INSPECTOR
142fragColor=vec4(1.0);
143#endif
144}`,`uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;uniform highp float u_globe_extrude_scale;in vec2 a_pos;out vec2 v_extrude;
145#pragma mapbox: define highp float weight
146#pragma mapbox: define mediump float radius
147const highp float ZERO=1.0/255.0/16.0;
148#define GAUSS_COEF 0.3989422804014327
149void main(void) {
150#pragma mapbox: initialize highp float weight
151#pragma mapbox: initialize mediump float radius
152vec2 pos_raw=a_pos+32768.0;vec2 unscaled_extrude=vec2(mod(pos_raw,8.0)/7.0*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec2 circle_center=floor(pos_raw/8.0);
153#ifdef GLOBE
154vec2 angles=v_extrude*radius*u_globe_extrude_scale;vec3 center_vector=projectToSphere(circle_center);vec3 corner_vector=globeRotateVector(center_vector,angles);gl_Position=interpolateProjection(circle_center+extrude,corner_vector,0.0);
155#else
156gl_Position=projectTileFor3D(circle_center+extrude,get_elevation(circle_center));
157#endif
158}`),heatmapTexture:U(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;in vec2 v_pos;void main() {float t=texture(u_image,v_pos).r;vec4 color=texture(u_color_ramp,vec2(t,0.5));fragColor=color*u_opacity;
159#ifdef OVERDRAW_INSPECTOR
160fragColor=vec4(0.0);
161#endif
162}`,`uniform mat4 u_matrix;uniform vec2 u_world;in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}`),collisionBox:U(`in float v_placed;in float v_notUsed;void main() {float alpha=0.5;fragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {fragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {fragColor*=.1;}}`,`in vec2 a_anchor_pos;in vec2 a_placed;in vec2 a_box_real;uniform vec2 u_pixel_extrude_scale;out float v_placed;out float v_notUsed;void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}`),collisionCircle:U(`in float v_radius;in vec2 v_extrude;in float v_collision;void main() {float alpha=0.5;float stroke_radius=0.9;float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);fragColor=color*alpha*opacity_t;}`,`in vec2 a_pos;in float a_radius;in vec2 a_flags;uniform vec2 u_viewport_size;out float v_radius;out vec2 v_extrude;out float v_collision;void main() {float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_collision=collision;gl_Position=vec4((a_pos/u_viewport_size*2.0-1.0)*vec2(1.0,-1.0),0.0,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}`),debug:U(`uniform highp vec4 u_color;uniform sampler2D u_overlay;in vec2 v_uv;void main() {vec4 overlay_color=texture(u_overlay,v_uv);fragColor=mix(u_color,overlay_color,overlay_color.a);}`,`in vec2 a_pos;out vec2 v_uv;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=projectTileWithElevation(a_pos*u_overlay_scale,get_elevation(a_pos));}`),depth:U(Et,`in vec2 a_pos;void main() {
163#ifdef GLOBE
164gl_Position=projectTileFor3D(a_pos,0.0);
165#else
166gl_Position=u_projection_matrix*vec4(a_pos,0.0,1.0);
167#endif
168}`),fill:U(`#pragma mapbox: define highp vec4 color
169#pragma mapbox: define lowp float opacity
170void main() {
171#pragma mapbox: initialize highp vec4 color
172#pragma mapbox: initialize lowp float opacity
173fragColor=color*opacity;
174#ifdef OVERDRAW_INSPECTOR
175fragColor=vec4(1.0);
176#endif
177}`,`uniform vec2 u_fill_translate;in vec2 a_pos;
178#pragma mapbox: define highp vec4 color
179#pragma mapbox: define lowp float opacity
180void main() {
181#pragma mapbox: initialize highp vec4 color
182#pragma mapbox: initialize lowp float opacity
183gl_Position=projectTile(a_pos+u_fill_translate,a_pos);}`),fillOutline:U(`in vec2 v_pos;
184#ifdef GLOBE
185in float v_depth;
186#endif
187#pragma mapbox: define highp vec4 outline_color
188#pragma mapbox: define lowp float opacity
189void main() {
190#pragma mapbox: initialize highp vec4 outline_color
191#pragma mapbox: initialize lowp float opacity
192float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);fragColor=outline_color*(alpha*opacity);
193#ifdef GLOBE
194if (v_depth > 1.0) {discard;}
195#endif
196#ifdef OVERDRAW_INSPECTOR
197fragColor=vec4(1.0);
198#endif
199}`,`uniform vec2 u_world;uniform vec2 u_fill_translate;in vec2 a_pos;out vec2 v_pos;
200#ifdef GLOBE
201out float v_depth;
202#endif
203#pragma mapbox: define highp vec4 outline_color
204#pragma mapbox: define lowp float opacity
205void main() {
206#pragma mapbox: initialize highp vec4 outline_color
207#pragma mapbox: initialize lowp float opacity
208gl_Position=projectTile(a_pos+u_fill_translate,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;
209#ifdef GLOBE
210v_depth=gl_Position.z/gl_Position.w;
211#endif
212}`),fillOutlinePattern:U(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;in vec2 v_pos_a;in vec2 v_pos_b;in vec2 v_pos;
213#ifdef GLOBE
214in float v_depth;
215#endif
216#pragma mapbox: define lowp float opacity
217#pragma mapbox: define lowp vec4 pattern_from
218#pragma mapbox: define lowp vec4 pattern_to
219void main() {
220#pragma mapbox: initialize lowp float opacity
221#pragma mapbox: initialize mediump vec4 pattern_from
222#pragma mapbox: initialize mediump vec4 pattern_to
223vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);fragColor=mix(color1,color2,u_fade)*alpha*opacity;
224#ifdef GLOBE
225if (v_depth > 1.0) {discard;}
226#endif
227#ifdef OVERDRAW_INSPECTOR
228fragColor=vec4(1.0);
229#endif
230}`,`uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;uniform vec2 u_fill_translate;in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b;out vec2 v_pos;
231#ifdef GLOBE
232out float v_depth;
233#endif
234#pragma mapbox: define lowp float opacity
235#pragma mapbox: define lowp vec4 pattern_from
236#pragma mapbox: define lowp vec4 pattern_to
237#pragma mapbox: define lowp float pixel_ratio_from
238#pragma mapbox: define lowp float pixel_ratio_to
239void main() {
240#pragma mapbox: initialize lowp float opacity
241#pragma mapbox: initialize mediump vec4 pattern_from
242#pragma mapbox: initialize mediump vec4 pattern_to
243#pragma mapbox: initialize lowp float pixel_ratio_from
244#pragma mapbox: initialize lowp float pixel_ratio_to
245vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=projectTile(a_pos+u_fill_translate,a_pos);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;
246#ifdef GLOBE
247v_depth=gl_Position.z/gl_Position.w;
248#endif
249}`),fillPattern:U(`#ifdef GL_ES
250precision highp float;
251#endif
252uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b;
253#pragma mapbox: define lowp float opacity
254#pragma mapbox: define lowp vec4 pattern_from
255#pragma mapbox: define lowp vec4 pattern_to
256void main() {
257#pragma mapbox: initialize lowp float opacity
258#pragma mapbox: initialize mediump vec4 pattern_from
259#pragma mapbox: initialize mediump vec4 pattern_to
260vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);fragColor=mix(color1,color2,u_fade)*opacity;
261#ifdef OVERDRAW_INSPECTOR
262fragColor=vec4(1.0);
263#endif
264}`,`uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;uniform vec2 u_fill_translate;in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b;
265#pragma mapbox: define lowp float opacity
266#pragma mapbox: define lowp vec4 pattern_from
267#pragma mapbox: define lowp vec4 pattern_to
268#pragma mapbox: define lowp float pixel_ratio_from
269#pragma mapbox: define lowp float pixel_ratio_to
270void main() {
271#pragma mapbox: initialize lowp float opacity
272#pragma mapbox: initialize mediump vec4 pattern_from
273#pragma mapbox: initialize mediump vec4 pattern_to
274#pragma mapbox: initialize lowp float pixel_ratio_from
275#pragma mapbox: initialize lowp float pixel_ratio_to
276vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=projectTile(a_pos+u_fill_translate,a_pos);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:U(`in vec4 v_color;void main() {fragColor=v_color;
277#ifdef OVERDRAW_INSPECTOR
278fragColor=vec4(1.0);
279#endif
280}`,`uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp vec3 u_lightpos_globe;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec2 u_fill_translate;in vec2 a_pos;in vec4 a_normal_ed;
281#ifdef TERRAIN3D
282in vec2 a_centroid;
283#endif
284out vec4 v_color;
285#pragma mapbox: define highp float base
286#pragma mapbox: define highp float height
287#pragma mapbox: define highp vec4 color
288void main() {
289#pragma mapbox: initialize highp float base
290#pragma mapbox: initialize highp float height
291#pragma mapbox: initialize highp vec4 color
292vec3 normal=a_normal_ed.xyz;
293#ifdef TERRAIN3D
294float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10
294.0);
295#else
296float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;
297#endif
298base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float elevation=t > 0.0 ? height : base;vec2 posInTile=a_pos+u_fill_translate;
299#ifdef GLOBE
300vec3 spherePos=projectToSphere(posInTile,a_pos);gl_Position=interpolateProjectionFor3D(posInTile,spherePos,elevation);
301#else
302gl_Position=u_projection_matrix*vec4(posInTile,elevation,1.0);
303#endif
304float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;vec3 normalForLighting=normal/16384.0;float directional=clamp(dot(normalForLighting,u_lightpos),0.0,1.0);
305#ifdef GLOBE
306mat3 rotMatrix=globeGetRotationMatrix(spherePos);normalForLighting=rotMatrix*normalForLighting;directional=mix(directional,clamp(dot(normalForLighting,u_lightpos_globe),0.0,1.0),u_projection_transition);
307#endif
308directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:U(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b;in vec4 v_lighting;
309#pragma mapbox: define lowp float base
310#pragma mapbox: define lowp float height
311#pragma mapbox: define lowp vec4 pattern_from
312#pragma mapbox: define lowp vec4 pattern_to
313#pragma mapbox: define lowp float pixel_ratio_from
314#pragma mapbox: define lowp float pixel_ratio_to
315void main() {
316#pragma mapbox: initialize lowp float base
317#pragma mapbox: initialize lowp float height
318#pragma mapbox: initialize mediump vec4 pattern_from
319#pragma mapbox: initialize mediump vec4 pattern_to
320#pragma mapbox: initialize lowp float pixel_ratio_from
321#pragma mapbox: initialize lowp float pixel_ratio_to
322vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);fragColor=mixedColor*v_lighting;
323#ifdef OVERDRAW_INSPECTOR
324fragColor=vec4(1.0);
325#endif
326}`,`uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec2 u_fill_translate;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp vec3 u_lightpos_globe;uniform lowp float u_lightintensity;in vec2 a_pos;in vec4 a_normal_ed;
327#ifdef TERRAIN3D
328in vec2 a_centroid;
329#endif
330#ifdef GLOBE
331out vec3 v_sphere_pos;
332#endif
333out vec2 v_pos_a;out vec2 v_pos_b;out vec4 v_lighting;
334#pragma mapbox: define lowp float base
335#pragma mapbox: define lowp float height
336#pragma mapbox: define lowp vec4 pattern_from
337#pragma mapbox: define lowp vec4 pattern_to
338#pragma mapbox: define lowp float pixel_ratio_from
339#pragma mapbox: define lowp float pixel_ratio_to
340void main() {
341#pragma mapbox: initialize lowp float base
342#pragma mapbox: initialize lowp float height
343#pragma mapbox: initialize mediump vec4 pattern_from
344#pragma mapbox: initialize mediump vec4 pattern_to
345#pragma mapbox: initialize lowp float pixel_ratio_from
346#pragma mapbox: initialize lowp float pixel_ratio_to
347vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;
348#ifdef TERRAIN3D
349float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);
350#else
351float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;
352#endif
353base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float elevation=t > 0.0 ? height : base;vec2 posInTile=a_pos+u_fill_translate;
354#ifdef GLOBE
355vec3 spherePos=projectToSphere(posInTile,a_pos);vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);v_sphere_pos=elevatedPos;gl_Position=interpolateProjectionFor3D(posInTile,spherePos,elevation);
356#else
357gl_Position=u_projection_matrix*vec4(posInTile,elevation,1.0);
358#endif
359vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0
360? a_pos
361: vec2(edgedistance,elevation*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:U(`#ifdef GL_ES
362precision highp float;
363#endif
364uniform sampler2D u_image;in vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack);}void main() {vec2 epsilon=1.0/u_dimension;float tileSize=u_dimension.x-2.0;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))*tileSize/p
364ow(2.0,exaggeration+(28.2562-u_zoom));fragColor=clamp(vec4(deriv.x/8.0+0.5,deriv.y/8.0+0.5,1.0,1.0),0.0,1.0);
365#ifdef OVERDRAW_INSPECTOR
366fragColor=vec4(1.0);
367#endif
368}`,`uniform mat4 u_matrix;uniform vec2 u_dimension;in vec2 a_pos;in vec2 a_texture_pos;out vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}`),hillshade:U(`uniform sampler2D u_image;in vec2 v_pos;uniform vec2 u_latrange;uniform float u_exaggeration;uniform vec4 u_accent;uniform int u_method;uniform float u_altitudes[NUM_ILLUMINATION_SOURCES];uniform float u_azimuths[NUM_ILLUMINATION_SOURCES];uniform vec4 u_shadows[NUM_ILLUMINATION_SOURCES];uniform vec4 u_highlights[NUM_ILLUMINATION_SOURCES];
369#define PI 3.141592653589793
370#define STANDARD 0
371#define COMBINED 1
372#define IGOR 2
373#define MULTIDIRECTIONAL 3
374#define BASIC 4
375float get_aspect(vec2 deriv){return deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);}void igor_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float aspect=get_aspect(deriv);float azimuth=u_azimuths[0]+PI;float slope_stength=atan(length(deriv))*2.0/PI;float aspect_strength=1.0-abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);float shadow_strength=slope_stength*aspect_strength;float highlight_strength=slope_stength*(1.0-aspect_strength);fragColor=u_shadows[0]*shadow_strength+u_highlights[0]*highlight_strength;}void standard_hillshade(vec2 deriv){float azimuth=u_azimuths[0]+PI;float slope=atan(0.625*length(deriv));float aspect=get_aspect(deriv);float intensity=u_exaggeration;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadows[0],u_highlights[0],shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);fragColor=accent_color*(1.0-shade_color.a)+shade_color;}void basic_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float azimuth=u_azimuths[0]+PI;float cos_az=cos(azimuth);float sin_az=sin(azimuth);float cos_alt=cos(u_altitudes[0]);float sin_alt=sin(u_altitudes[0]);float cang=(sin_alt-(deriv.y*cos_az*cos_alt-deriv.x*sin_az*cos_alt))/sqrt(1.0+dot(deriv,deriv));float shade=clamp(cang,0.0,1.0);if(shade > 0.5){fragColor=u_highlights[0]*(2.0*shade-1.0);}else
376{fragColor=u_shadows[0]*(1.0-2.0*shade);}}void multidirectional_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;fragColor=vec4(0,0,0,0);for(int i=0; i < NUM_ILLUMINATION_SOURCES; i++){float cos_alt=cos(u_altitudes[i]);float sin_alt=sin(u_altitudes[i]);float cos_az=-cos(u_azimuths[i]);float sin_az=-sin(u_azimuths[i]);float cang=(sin_alt-(deriv.y*cos_az*cos_alt-deriv.x*sin_az*cos_alt))/sqrt(1.0+dot(deriv,deriv));float shade=clamp(cang,0.0,1.0);if(shade > 0.5){fragColor+=u_highlights[i]*(2.0*shade-1.0)/float(NUM_ILLUMINATION_SOURCES);}else
377{fragColor+=u_shadows[i]*(1.0-2.0*shade)/float(NUM_ILLUMINATION_SOURCES);}}}void combined_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float azimuth=u_azimuths[0]+PI;float cos_az=cos(azimuth);float sin_az=sin(azimuth);float cos_alt=cos(u_altitudes[0]);float sin_alt=sin(u_altitudes[0]);float cang=acos((sin_alt-(deriv.y*cos_az*cos_alt-deriv.x*sin_az*cos_alt))/sqrt(1.0+dot(deriv,deriv)));cang=clamp(cang,0.0,PI/2.0);float shade=cang*atan(length(deriv))*4.0/PI/PI;float highlight=(PI/2.0-cang)*atan(length(deriv))*4.0/PI/PI;fragColor=u_shadows[0]*shade+u_highlights[0]*highlight;}void main() {vec4 pixel=texture(u_image,v_pos);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));vec2 deriv=((pixel.rg*8.0)-4.0)/scaleFactor;switch(u_method){case BASIC:
378basic_hillshade(deriv);break;case COMBINED:
379combined_hillshade(deriv);break;case IGOR:
380igor_hillshade(deriv);break;case MULTIDIRECTIONAL:
381multidirectional_hillshade(deriv);break;case STANDARD:
382default:
383standard_hillshade(deriv);break;}
384#ifdef OVERDRAW_INSPECTOR
385fragColor=vec4(1.0);
386#endif
387}`,`uniform mat4 u_matrix;in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=projectTile(a_pos,a_pos);v_pos=a_pos/8192.0;if (a_pos.y <-32767.5) {v_pos.y=0.0;}if (a_pos.y > 32766.5) {v_pos.y=1.0;}}`),line:U(`uniform lowp float u_device_pixel_ratio;in vec2 v_width2;in vec2 v_normal;in float v_gamma_scale;
388#ifdef GLOBE
389in float v_depth;
390#endif
391#pragma mapbox: define highp vec4 color
392#pragma mapbox: define lowp float blur
393#pragma mapbox: define lowp float opacity
394void main() {
395#pragma mapbox: initialize highp vec4 color
396#pragma mapbox: initialize lowp float blur
397#pragma mapbox: initialize lowp float opacity
398float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);fragColor=color*(alpha*opacity);
399#ifdef GLOBE
400if (v_depth > 1.0) {discard;}
401#endif
402#ifdef OVERDRAW_INSPECTOR
403fragColor=vec4(1.0);
404#endif
405}`,`
406#define scale 0.015873016
407in vec2 a_pos_normal;in vec4 a_data;uniform vec2 u_translation;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;out vec2 v_normal;out vec2 v_width2;out float v_gamma_scale;out highp float v_linesofar;
408#ifdef GLOBE
409out float v_depth;
410#endif
411#pragma mapbox: define highp vec4 color
412#pragma mapbox: define lowp float blur
413#pragma mapbox: define lowp float opacity
414#pragma mapbox: define mediump float gapwidth
415#pragma mapbox: define lowp float offset
416#pragma mapbox: define mediump float width
417void main() {
418#pragma mapbox: initialize highp vec4 color
419#pragma mapbox: initialize lowp float blur
420#pragma mapbox: initialize lowp float opacity
421#pragma mapbox: initialize mediump float gapwidth
422#pragma mapbox: initialize lowp float offset
423#pragma mapbox: initialize mediump float width
424float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);
424float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude;
425#ifdef GLOBE
426v_depth=gl_Position.z/gl_Position.w;
427#endif
428#ifdef TERRAIN3D
429v_gamma_scale=1.0;
430#else
431float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;
432#endif
433v_width2=vec2(outset,inset);}`),lineGradient:U(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;in vec2 v_width2;in vec2 v_normal;in float v_gamma_scale;in highp vec2 v_uv;
434#ifdef GLOBE
435in float v_depth;
436#endif
437#pragma mapbox: define lowp float blur
438#pragma mapbox: define lowp float opacity
439void main() {
440#pragma mapbox: initialize lowp float blur
441#pragma mapbox: initialize lowp float opacity
442float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture(u_image,v_uv);fragColor=color*(alpha*opacity);
443#ifdef GLOBE
444if (v_depth > 1.0) {discard;}
445#endif
446#ifdef OVERDRAW_INSPECTOR
447fragColor=vec4(1.0);
448#endif
449}`,`
450#define scale 0.015873016
451in vec2 a_pos_normal;in vec4 a_data;in float a_uv_x;in float a_split_index;uniform vec2 u_translation;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;out vec2 v_normal;out vec2 v_width2;out float v_gamma_scale;out highp vec2 v_uv;
452#ifdef GLOBE
453out float v_depth;
454#endif
455#pragma mapbox: define lowp float blur
456#pragma mapbox: define lowp float opacity
457#pragma mapbox: define mediump float gapwidth
458#pragma mapbox: define lowp float offset
459#pragma mapbox: define mediump float width
460void main() {
461#pragma mapbox: initialize lowp float blur
462#pragma mapbox: initialize lowp float opacity
463#pragma mapbox: initialize mediump float gapwidth
464#pragma mapbox: initialize lowp float offset
465#pragma mapbox: initialize mediump float width
466float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude;
467#ifdef GLOBE
468v_depth=gl_Position.z/gl_Position.w;
469#endif
470#ifdef TERRAIN3D
471v_gamma_scale=1.0;
472#else
473float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;
474#endif
475v_width2=vec2(outset,inset);}`),linePattern:U(`#ifdef GL_ES
476precision highp float;
477#endif
478uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;in vec2 v_normal;in vec2 v_width2;in float v_linesofar;in float v_gamma_scale;in float v_width;
479#ifdef GLOBE
480in float v_depth;
481#endif
482#pragma mapbox: define lowp vec4 pattern_from
483#pragma mapbox: define lowp vec4 pattern_to
484#pragma mapbox: define lowp float pixel_ratio_from
485#pragma mapbox: define lowp float pixel_ratio_to
486#pragma mapbox: define lowp float blur
487#pragma mapbox: define lowp float opacity
488void main() {
489#pragma mapbox: initialize mediump vec4 pattern_from
490#pragma mapbox: initialize mediump vec4 pattern_to
491#pragma mapbox: initialize lowp float pixel_ratio_from
492#pragma mapbox: initialize lowp float pixel_ratio_to
493#pragma mapbox: initialize lowp float blur
494#pragma mapbox: initialize lowp float opacity
495vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture(u_image,pos_a),texture(u_image,pos_b),u_fade);fragColor=color*alpha*opacity;
496#ifdef GLOBE
497if (v_depth > 1.0) {discard;}
498#endif
499#ifdef OVERDRAW_INSPECTOR
500fragColor=vec4(1.0);
501#endif
502}`,`
503#define scale 0.015873016
504#define LINE_DISTANCE_SCALE 2.0
505in vec2 a_pos_normal;in vec4 a_data;uniform vec2 u_translation;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;out vec2 v_normal;out vec2 v_width2;out float v_linesofar;out float v_gamma_scale;out float v_width;
506#ifdef GLOBE
507out float v_depth;
508#endif
509#pragma mapbox: define lowp float blur
510#pragma mapbox: define lowp float opacity
511#pragma mapbox: define lowp float offset
512#pragma mapbox: define mediump float gapwidth
513#pragma mapbox: define mediump float width
514#pragma mapbox: define lowp float floorwidth
515#pragma mapbox: define lowp vec4 pattern_from
516#pragma mapbox: define lowp vec4 pattern_to
517#pragma mapbox: define lowp float pixel_ratio_from
518#pragma mapbox: define lowp float pixel_ratio_to
519void main() {
520#pragma mapbox: initialize lowp float blur
521#pragma mapbox: initialize lowp float opacity
522#pragma mapbox: initialize lowp float offset
523#pragma mapbox: initialize mediump float gapwidth
524#pragma mapbox: initialize mediump float width
525#pragma mapbox: initialize lowp float floorwidth
526#pragma mapbox: initialize mediump vec4 pattern_from
527#pragma mapbox: initialize mediump vec4 pattern_to
528#pragma mapbox: initialize lowp float pixel_ratio_from
529#pragma mapbox: initialize lowp float pixel_ratio_to
530float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);
530float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude;
531#ifdef GLOBE
532v_depth=gl_Position.z/gl_Position.w;
533#endif
534#ifdef TERRAIN3D
535v_gamma_scale=1.0;
536#else
537float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;
538#endif
539v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:U(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;in vec2 v_normal;in vec2 v_width2;in vec2 v_tex_a;in vec2 v_tex_b;in float v_gamma_scale;
540#ifdef GLOBE
541in float v_depth;
542#endif
543#pragma mapbox: define highp vec4 color
544#pragma mapbox: define lowp float blur
545#pragma mapbox: define lowp float opacity
546#pragma mapbox: define mediump float width
547#pragma mapbox: define lowp float floorwidth
548void main() {
549#pragma mapbox: initialize highp vec4 color
550#pragma mapbox: initialize lowp float blur
551#pragma mapbox: initialize lowp float opacity
552#pragma mapbox: initialize mediump float width
553#pragma mapbox: initialize lowp float floorwidth
554float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture(u_image,v_tex_a).a;float sdfdist_b=texture(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);fragColor=color*(alpha*opacity);
555#ifdef GLOBE
556if (v_depth > 1.0) {discard;}
557#endif
558#ifdef OVERDRAW_INSPECTOR
559fragColor=vec4(1.0);
560#endif
561}`,`
562#define scale 0.015873016
563#define LINE_DISTANCE_SCALE 2.0
564in vec2 a_pos_normal;in vec4 a_data;uniform vec2 u_translation;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;out vec2 v_normal;out vec2 v_width2;out vec2 v_tex_a;out vec2 v_tex_b;out float v_gamma_scale;
565#ifdef GLOBE
566out float v_depth;
567#endif
568#pragma mapbox: define highp vec4 color
569#pragma mapbox: define lowp float blur
570#pragma mapbox: define lowp float opacity
571#pragma mapbox: define mediump float gapwidth
572#pragma mapbox: define lowp float offset
573#pragma mapbox: define mediump float width
574#pragma mapbox: define lowp float floorwidth
575void main() {
576#pragma mapbox: initialize highp vec4 color
577#pragma mapbox: initialize lowp float blur
578#pragma mapbox: initialize lowp float opacity
579#pragma mapbox: initialize mediump float gapwidth
580#pragma mapbox: initialize lowp float offset
581#pragma mapbox: initialize mediump float width
582#pragma mapbox: initialize lowp float floorwidth
583float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude;
584#ifdef GLOBE
585v_depth=gl_Position.z/gl_Position.w;
586#endif
587#ifdef TERRAIN3D
588v_gamma_scale=1.0;
589#else
590float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;
591#endif
592v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`),raster:U(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;in vec2 v_pos0;in vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture(u_image0,v_pos0);vec4 color1=texture(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);fragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);
593#ifdef OVERDRAW_INSPECTOR
594fragColor=vec4(1.0);
595#endif
596}`,`uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;uniform vec4 u_coords_top;uniform vec4 u_coords_bottom;in vec2 a_pos;out vec2 v_pos0;out vec2 v_pos1;void main() {vec2 fractionalPos=a_pos/8192.0;vec2 position=mix(mix(u_coords_top.xy,u_coords_top.zw,fractionalPos.x),mix(u_coords_bottom.xy,u_coords_bottom.zw,fractionalPos.x),fractionalPos.y);gl_Position=projectTile(position,position);v_pos0=((fractionalPos-0.5)/u_buffer_scale)+0.5;
597#ifdef GLOBE
598if (a_pos.y <-32767.5) {v_pos0.y=0.0;}if (a_pos.y > 32766.5) {v_pos0.y=1.0;}
599#endif
600v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}`),symbolIcon:U(`uniform sampler2D u_texture;in vec2 v_tex;in float v_fade_opacity;
601#pragma mapbox: define lowp float opacity
602void main() {
603#pragma mapbox: initialize lowp float opacity
604lowp float alpha=opacity*v_fade_opacity;fragColor=texture(u_texture,v_tex)*alpha;
605#ifdef OVERDRAW_INSPECTOR
606fragColor=vec4(1.0);
607#endif
608}`,`in vec4 a_pos_offset;in vec4 a_data;in vec4 a_pixeloffset;in vec3 a_projected_pos;in float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;out vec2 v_tex;out float v_fade_opacity;
609#pragma mapbox: define lowp float opacity
610void main() {
611#pragma mapbox: initialize lowp float opacity
612vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?
613camera_to_anchor_distance/u_camera_to_center_distance :
614u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;
615#ifdef GLOBE
616if(u_pitch_with_map) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);}
617#endif
618vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}`),symbolSDF:U(`#define SDF_PX 8.0
619uniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;in vec2 v_data0;in vec3 v_data1;
620#pragma mapbox: define highp vec4 fill_color
621#pragma mapbox: define highp vec4 halo_color
622#pragma mapbox: define lowp float opacity
623#pragma mapbox: define lowp float halo_width
624#pragma mapbox: define lowp float halo_blur
625void main() {
626#pragma mapbox: initialize highp vec4 fill_color
627#pragma mapbox: initialize highp vec4 halo_color
628#pragma mapbox: initialize lowp float opacity
629#pragma mapbox: initialize lowp float halo_width
630#pragma mapbox: initialize lowp float halo_blur
631float EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}fragColor=color*(alpha*opacity*fade_opacity);
632#ifdef OVERDRAW_INSPECTOR
633fragColor=vec4(1.0);
634#endif
635}`,`in vec4 a_pos_offset;in vec4 a_data;in vec4 a_pixeloffset;in vec3 a_projected_pos;in float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;out vec2 v_data0;out vec3 v_data1;
636#pragma mapbox: define highp vec4 fill_color
637#pragma mapbox: define highp vec4 halo_color
638#pragma mapbox: define lowp float opacity
639#pragma mapbox: define lowp float halo_width
640#pragma mapbox: define lowp float halo_blur
641void main() {
642#pragma mapbox: initialize highp vec4 fill_color
643#pragma mapbox: initialize highp vec4 halo_color
644#pragma mapbox: initialize lowp float opacity
645#pragma mapbox: initialize lowp float halo_width
646#pragma mapbox: initialize lowp float halo_blur
647vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?
648camera_to_anchor_distance/u_camera_to_center_distance :
649u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;
650#ifdef GLOBE
651if(u_pitch_with_map) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);}
652#endif
653vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`),symbolTextAndIcon:U(`#define SDF_PX 8.0
654#define SDF 1.0
655#define ICON 0.0
656uniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;in vec4 v_data0;in vec4 v_data1;
657#pragma mapbox: define highp vec4 fill_color
658#pragma mapbox: define highp vec4 halo_color
659#pragma mapbox: define lowp float opacity
660#pragma mapbox: define lowp float halo_width
661#pragma mapbox: define lowp float halo_blur
662void main() {
663#pragma mapbox: initialize highp vec4 fill_color
664#pragma mapbox: initialize highp vec4 halo_color
665#pragma mapbox: initialize lowp float opacity
666#pragma mapbox: initialize lowp float halo_width
667#pragma mapbox: initialize lowp float halo_blur
668float fade_opa
668city=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;fragColor=texture(u_texture_icon,tex_icon)*alpha;
669#ifdef OVERDRAW_INSPECTOR
670fragColor=vec4(1.0);
671#endif
672return;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);fragColor=color*(alpha*opacity*fade_opacity);
673#ifdef OVERDRAW_INSPECTOR
674fragColor=vec4(1.0);
675#endif
676}`,`in vec4 a_pos_offset;in vec4 a_data;in vec3 a_projected_pos;in float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;out vec4 v_data0;out vec4 v_data1;
677#pragma mapbox: define highp vec4 fill_color
678#pragma mapbox: define highp vec4 halo_color
679#pragma mapbox: define lowp float opacity
680#pragma mapbox: define lowp float halo_width
681#pragma mapbox: define lowp float halo_blur
682void main() {
683#pragma mapbox: initialize highp vec4 fill_color
684#pragma mapbox: initialize highp vec4 halo_color
685#pragma mapbox: initialize lowp float opacity
686#pragma mapbox: initialize lowp float halo_width
687#pragma mapbox: initialize lowp float halo_blur
688vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?
689camera_to_anchor_distance/u_camera_to_center_distance :
690u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;
691#ifdef GLOBE
692if(u_pitch_with_map && !u_is_along_line) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);}
693#endif
694vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`),terrain:U(`uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;uniform bool u_is_globe_mode;in vec2 v_texture_pos;in float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture(u_texture,vec2(v_texture_pos.x,1.0-v_texture_pos.y));if (!u_is_globe_mode && v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);
694float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);fragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {fragColor=surface_color;}}`,`in vec3 a_pos3d;uniform mat4 u_fog_matrix;uniform float u_ele_delta;out vec2 v_texture_pos;out float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=projectTileFor3D(a_pos3d.xy,get_elevation(a_pos3d.xy)-ele_delta);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}`),terrainDepth:U(`in float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {fragColor=pack(v_depth);}`,`in vec3 a_pos3d;uniform float u_ele_delta;out float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=projectTileFor3D(a_pos3d.xy,ele-ele_delta);v_depth=gl_Position.z/gl_Position.w;}`),terrainCoords:U(`precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;in vec2 v_texture_pos;void main() {vec4 rgba=texture(u_texture,v_texture_pos);fragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}`,`in vec3 a_pos3d;uniform float u_ele_delta;out vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=projectTileFor3D(a_pos3d.xy,ele-ele_delta);}`),projectionErrorMeasurement:U(`in vec4 v_output_error_encoded;void main() {fragColor=v_output_error_encoded;}`,`in vec2 a_pos;uniform highp float u_input;uniform highp float u_output_expected;out vec4 v_output_error_encoded;void main() {float real_output=2.0*atan(exp(PI-(u_input*PI*2.0)))-PI*0.5;float error=real_output-u_output_expected;float abs_error=abs(error)*128.0;v_output_error_encoded.x=min(floor(abs_error*256.0),255.0)/255.0;abs_error-=v_output_error_encoded.x;v_output_error_encoded.y=min(floor(abs_error*65536.0),255.0)/255.0;abs_error-=v_output_error_encoded.x/255.0;v_output_error_encoded.z=min(floor(abs_error*16777216.0),255.0)/255.0;v_output_error_encoded.w=error >=0.0 ? 1.0 : 0.0;gl_Position=vec4(a_pos,0.0,1.0);}`),atmosphere:U(`in vec3 view_direction;uniform vec3 u_sun_pos;uniform vec3 u_globe_position;uniform float u_globe_radius;uniform float u_atmosphere_blend;/**Shader use from https:*Made some change to adapt to MapLibre Globe geometry*/const float PI=3.141592653589793;const int iSteps=5;const int jSteps=3;/*radius of the planet*/const float EARTH_RADIUS=6371e3;/*radius of the atmosphere*/const float ATMOS_RADIUS=6471e3;vec2 rsi(vec3 r0,vec3 rd,float sr) {float a=dot(rd,rd);float b=2.0*dot(rd,r0);float c=dot(r0,r0)-(sr*sr);float d=(b*b)-4.0*a*c;if (d < 0.0) return vec2(1e5,-1e5);return vec2((-b-sqrt(d))/(2.0*a),(-b+sqrt(d))/(2.0*a));}vec4 atmosphere(vec3 r,vec3 r0,vec3 pSun,float iSun,float rPlanet,float rAtmos,vec3 kRlh,float kMie,float shRlh,float shMie,float g) {pSun=normalize(pSun);r=normalize(r);vec2 p=rsi(r0,r,rAtmos);if (p.x > p.y) {return vec4(0.0,0.0,0.0,1.0);}if (p.x < 0.0) {p.x=0.0;}vec3 pos=r0+r*p.x;vec2 p2=rsi(r0,r,rPlanet);if (p2.x <=p2.y && p2.x > 0.0) {p.y=min(p.y,p2.x);}float iStepSize=(p.y-p.x)/float(iSteps);float iTime=p.x+iStepSize*0.5;vec3 totalRlh=vec3(0,0,0);vec3 totalMie=vec3(0,0,0);float iOdRlh=0.0;float iOdMie=0.0;float mu=dot(r,pSun);float mumu=mu*mu;float gg=g*g;float pRlh=3.0/(16.0*PI)*(1.0+mumu);float pMie=3.0/(8.0*PI)*((1.0-gg)*(mumu+1.0))/(pow(1.0+gg-2.0*mu*g,1.5)*(2.0+gg));for (int i=0; i < iSteps; i++) {vec3 iPos=r0+r*iTime;float iHeight=length(iPos)-rPlanet;float odStepRlh=exp(-iHeight/shRlh)*iStepSize;float odStepMie=exp(-iHeight/shMie)*iStepSize;iOdRlh+=odStepRlh;iOdMie+=odStepMie;float jStepSize=rsi(iPos,pSun,rAtmos).y/float(jSteps);float jTime=jStepSize*0.5;float jOdRlh=0.0;float jOdMie=0.0;for (int j=0; j < jSteps; j++) {vec3 jPos=iPos+pSun*jTime;float jHeight=length(jPos)-rPlanet;jOdRlh+=exp(-jHeight/shRlh)*jStepSize;jOdMie+=exp(-jHeight/shMie)*jStepSize;jTime+=jStepSize;}vec3 attn=exp(-(kMie*(iOdMie+jOdMie)+kRlh*(iOdRlh+jOdRlh)));totalRlh+=odStepRlh*attn;totalMie+=odStepMie*attn;iTime+=iStepSize;}float opacity=exp(-(length(kRlh)*length(totalRlh)+kMie*length(totalMie)));vec3 color=iSun*(pRlh*kRlh*totalRlh+pMie*kMie*totalMie);return vec4(color,opacity);}void main() {vec3 scale_camera_pos=-u_globe_position*EARTH_RADIUS/u_globe_radius;vec4 color=atmosphere(normalize(view_direction),scale_camera_pos,u_sun_pos,22.0,EARTH_RADIUS,ATMOS_RADIUS,vec3(5.5e-6,13.0e-6,22.4e-6),21e-6,8e3,1.2e3,0.758
695);color.rgb=1.0-exp(-1.0*color.rgb);color=pow(color,vec4(1.0/2.2));fragColor=vec4(color.rgb,1.0-color.a)*u_atmosphere_blend;}`,`in vec2 a_pos;uniform mat4 u_inv_proj_matrix;out vec3 view_direction;void main() {view_direction=(u_inv_proj_matrix*vec4(a_pos,0.0,1.0)).xyz;gl_Position=vec4(a_pos,0.0,1.0);}`),sky:U(`uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform vec2 u_horizon;uniform vec2 u_horizon_normal;uniform float u_sky_horizon_blend;uniform float u_sky_blend;void main() {float x=gl_FragCoord.x;float y=gl_FragCoord.y;float blend=(y-u_horizon.y)*u_horizon_normal.y+(x-u_horizon.x)*u_horizon_normal.x;if (blend > 0.0) {if (blend < u_sky_horizon_blend) {fragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {fragColor=u_sky_color;}}fragColor=mix(fragColor,vec4(vec3(0.0),0.0),u_sky_blend);}`,`in vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}`)};
695function U(e,t){let n=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,r=t.match(/in ([\w]+) ([\w]+)/g),i=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:e=e.replace(n,((e,t,n,r,i)=>(s[i]=!0,t===`define`?`\n#ifndef HAS_UNIFORM_u_${i}\nin ${n} ${r} ${i};\n#else\nuniform ${n} ${r} u_${i};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${i}\n    ${n} ${r} ${i} = u_${i};\n#endif\n`))),vertexSource:t=t.replace(n,((e,t,n,r,i)=>{let a=r===`float`?`vec2`:`vec4`,o=i.match(/color/)?`color`:a;return s[i]?t===`define`?`\n#ifndef HAS_UNIFORM_u_${i}\nuniform lowp float u_${i}_t;\nin ${n} ${a} a_${i};\nout ${n} ${r} ${i};\n#else\nuniform ${n} ${r} u_${i};\n#endif\n`:o===`vec4`?`\n#ifndef HAS_UNIFORM_u_${i}\n    ${i} = a_${i};\n#else\n    ${n} ${r} ${i} = u_${i};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${i}\n    ${i} = unpack_mix_${o}(a_${i}, u_${i}_t);\n#else\n    ${n} ${r} ${i} = u_${i};\n#endif\n`:t===`define`?`\n#ifndef HAS_UNIFORM_u_${i}\nuniform lowp float u_${i}_t;\nin ${n} ${a} a_${i};\n#else\nuniform ${n} ${r} u_${i};\n#endif\n`:o===`vec4`?`\n#ifndef HAS_UNIFORM_u_${i}\n    ${n} ${r} ${i} = a_${i};\n#else\n    ${n} ${r} ${i} = u_${i};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${i}\n    ${n} ${r} ${i} = unpack_mix_${o}(a_${i}, u_${i}_t);\n#else\n    ${n} ${r} ${i} = u_${i};\n#endif\n`})),staticAttributes:r,staticUniforms:o}}class Ot{constructor(e,t,n){this.vertexBuffer=e,this.indexBuffer=t,this.segments=n}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}var kt=t.aG([{name:`a_pos`,type:`Int16`,components:2}]);let At=`#define PROJECTION_MERCATOR`,jt=`mercator`;class Mt{constructor(){this._cachedMesh=null}get name(){return`mercator`}get useSubdivision(){return!1}get shaderVariantName(){return jt}get shaderDefine(){return At}get shaderPreludeCode(){return Dt.projectionMercator}get vertexShaderPreludeCode(){return Dt.projectionMercator.vertexSource}get subdivisionGranularity(){return t.aH.noSubdivision}get useGlobeControls(){return!1}get transitionState(){return 0}get latitudeErrorCorrectionRadians(){return 0}destroy(){}updateGPUdependent(e){}getMeshFromTileID(e,n,r,i,a){if(this._cachedMesh)return this._cachedMesh;let o=new t.aI;o.emplaceBack(0,0),o.emplaceBack(t.Z,0),o.emplaceBack(0,t.Z),o.emplaceBack(t.Z,t.Z);let s=e.createVertexBuffer(o,kt.members),c=t.aJ.simpleSegment(0,0,4,2),l=new t.aK;l.emplaceBack(1,0,2),l.emplaceBack(1,2,3);let u=e.createIndexBuffer(l);return this._cachedMesh=new Ot(s,u,c),this._cachedMesh}recalculate(){}hasTransition(){return!1}setErrorQueryLatitudeDegrees(e){}}class W{constructor(e=0,t=0,n=0,r=0){if(isNaN(e)||e<0||isNaN(t)||t<0||isNaN(n)||n<0||isNaN(r)||r<0)throw Error(`Invalid value for edge-insets, top, bottom, left and right must all be numbers`);this.top=e,this.bottom=t,this.left=n,this.right=r}interpolate(e,n,r){return n.top!=null&&e.top!=null&&(this.top=t.B.number(e.top,n.top,r)),n.bottom!=null&&e.bottom!=null&&(this.bottom=t.B.number(e.bottom,n.bottom,r)),n.left!=null&&e.left!=null&&(this.left=t.B.number(e.left,n.left,r)),n.right!=null&&e.right!=null&&(this.right=t.B.number(e.right,n.right,r)),this}getCenter(e,n){let r=t.ae((this.left+e-this.right)/2,0,e),i=t.ae((this.top+n-this.bottom)/2,0,n);return new t.P(r,i)}equals(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right}clone(){return new W(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}function Nt(e,t){if(!e.renderWorldCopies||e.lngRange)return;let n=t.lng-e.center.lng;t.lng+=n>180?-360:n<-180?360:0}function Pt(e){return Math.max(0,Math.floor(e))}class Ft{constructor(e,n,r,i,a,o){this._callbacks=e,this._tileSize=512,this._renderWorldCopies=o===void 0||!!o,this._minZoom=n||0,this._maxZoom=r||22,this._minPitch=i??0,this._maxPitch=a??60,this.setMaxBounds(),this._width=0,this._height=0,this._center=new t.Q(0,0),this._elevation=0,this._zoom=0,this._tileZoom=Pt(this._zoom),this._scale=t.ac(this._zoom),this._bearingInRadians=0,this._fovInRadians=.6435011087932844,this._pitchInRadians=0,this._rollInRadians=0,this._unmodified=!0,this._edgeInsets=new W,this._minElevationForCurrentTile=0,this._autoCalculateNearFarZ=!0}apply(e,n,r){this._latRange=e.latRange,this._lngRange=e.lngRange,this._width=e.width,this._height=e.height,this._center=e.center,this._elevation=e.elevation,this._minElevationForCurrentTile=e.minElevationForCurrentTile,this._zoom=e.zoom,this._tileZoom=Pt(this._zoom),this._scale=t.ac(this._zoom),this._bearingInRadians=e.bearingInRadians,this._fovInRadians=e.fovInRadians,this._pitchInRadians=e.pitchInRadians,this._rollInRadians=e.rollInRadians,this._unmodified=e.unmodified,this._edgeInsets=new W(e.padding.top,e.padding.bottom,e.padding.left,e.padding.right),this._minZoom=e.minZoom,this._maxZoom=e.maxZoom,this._minPitch=e.minPitch,this._maxPitch=e.maxPitch,this._renderWorldCopies=e.renderWorldCopies,this._cameraToCenterDistance=e.cameraToCenterDistance,this._nearZ=e.nearZ,this._farZ=e.farZ,this._autoCalculateNearFarZ=!r&&e.autoCalculateNearFarZ,n&&this._constrain(),this._calcMatrices()}
695get pixelsToClipSpaceMatrix(){return this._pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._clipSpaceToPixelsMatrix}get minElevationForCurrentTile(){return this._minElevationForCurrentTile}setMinElevationForCurrentTile(e){this._minElevationForCurrentTile=e}get tileSize(){return this._tileSize}get tileZoom(){return this._tileZoom}get scale(){return this._scale}get width(){return this._width}get height(){return this._height}get bearingInRadians(){return this._bearingInRadians}get lngRange(){return this._lngRange}get latRange(){return this._latRange}get pixelsToGLUnits(){return this._pixelsToGLUnits}get minZoom(){return this._minZoom}setMinZoom(e){this._minZoom!==e&&(this._minZoom=e,this.setZoom(this.getConstrained(this._center,this.zoom).zoom))}get maxZoom(){return this._maxZoom}setMaxZoom(e){this._maxZoom!==e&&(this._maxZoom=e,this.setZoom(this.getConstrained(this._center,this.zoom).zoom))}get minPitch(){return this._minPitch}setMinPitch(e){this._minPitch!==e&&(this._minPitch=e,this.setPitch(Math.max(this.pitch,e)))}get maxPitch(){return this._maxPitch}setMaxPitch(e){this._maxPitch!==e&&(this._maxPitch=e,this.setPitch(Math.min(this.pitch,e)))}get renderWorldCopies(){return this._renderWorldCopies}setRenderWorldCopies(e){e===void 0?e=!0:e===null&&(e=!1),this._renderWorldCopies=e}get worldSize(){return this._tileSize*this._scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new t.P(this._width,this._height)}get bearing(){return this._bearingInRadians/Math.PI*180}setBearing(e){let n=t.aL(e,-180,180)*Math.PI/180;var i,a,o,s,c,l,u,d,f;this._bearingInRadians!==n&&(this._unmodified=!1,this._bearingInRadians=n,this._calcMatrices(),this._rotationMatrix=r(),i=this._rotationMatrix,o=-this._bearingInRadians,s=(a=this._rotationMatrix)[0],c=a[1],l=a[2],u=a[3],d=Math.sin(o),f=Math.cos(o),i[0]=s*f+l*d,i[1]=c*f+u*d,i[2]=s*-d+l*f,i[3]=c*-d+u*f)}get rotationMatrix(){return this._rotationMatrix}get pitchInRadians(){return this._pitchInRadians}get pitch(){return this._pitchInRadians/Math.PI*180}setPitch(e){let n=t.ae(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitchInRadians!==n&&(this._unmodified=!1,this._pitchInRadians=n,this._calcMatrices())}get rollInRadians(){return this._rollInRadians}get roll(){return this._rollInRadians/Math.PI*180}setRoll(e){let t=e/180*Math.PI;this._rollInRadians!==t&&(this._unmodified=!1,this._rollInRadians=t,this._calcMatrices())}get fovInRadians(){return this._fovInRadians}get fov(){return t.aM(this._fovInRadians)}setFov(e){e=t.ae(e,.1,150),this.fov!==e&&(this._unmodified=!1,this._fovInRadians=t.ab(e),this._calcMatrices())}get zoom(){return this._zoom}setZoom(e){let n=this.getConstrained(this._center,e).zoom;this._zoom!==n&&(this._unmodified=!1,this._zoom=n,this._tileZoom=Math.max(0,Math.floor(n)),this._scale=t.ac(n),this._constrain(),this._calcMatrices())}get center(){return this._center}setCenter(e){e.lat===this._center.lat&&e.lng===this._center.lng||(this._unmodified=!1,this._center=e,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}setElevation(e){e!==this._elevation&&(this._elevation=e,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}setPadding(e){this._edgeInsets.equals(e)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,e,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this._width,this._height)}get pixelsPerMeter(){return this._pixelPerMeter}get unmodified(){return this._unmodified}get cameraToCenterDistance(){return this._cameraToCenterDistance}get nearZ(){return this._nearZ}get farZ(){return this._farZ}get autoCalculateNearFarZ(){return this._autoCalculateNearFarZ}overrideNearFarZ(e,t){this._autoCalculateNearFarZ=!1,this._nearZ=e,this._farZ=t,this._calcMatrices()}clearNearFarZOverride(){this._autoCalculateNearFarZ=!0,this._calcMatrices()}isPaddingEqual(e){return this._edgeInsets.equals(e)}interpolatePadding(e,t,n){this._unmodified=!1,this._edgeInsets.interpolate(e,t,n),this._constrain(),this._calcMatrices()}resize(e,t,n=!0){this._width=e,this._height=t,n&&this._constrain(),this._calcMatrices()}getMaxBounds(){return this._latRange&&this._latRange.length===2&&this._lngRange&&this._lngRange.length===2?new P([this._lngRange[0],this._latRange[0]],[this._lngRange[1],this._latRange[1]]):null}setMaxBounds(e){e?(this._lngRange=[e.getWest(),e.getEast()],this._latRange=[e.getSouth(),e.getNorth()],this._constrain()):(this._lngRange=null,this._latRange=[-85.051129,t.af])}getConstrained(e,t){return this._callbacks.getConstrained(e,t)}getCameraQueryGeometry(e,n){if(n.length===1)return[n[0],e];{let r=e.x,i=e.y,a=e.x,o=e.y;for(let e of n)r=Math.min(r,e.x),i=Math.min(i,e.y),a=Math.max(a,e.x),o=Math.max(o,e.y);return[new t.P(r,i),new t.P(a,i),new t.P(a,o),new t.P(r,o),new t.P(r,i)]}}_constrain(){if(!this.center||!this._width||!this._height||this._constraining)return;this._constraining=!0;let e=this._unmodified,{center:t,zoom:n}=this.getConstrained(this.center,this.zoom);this.setCenter(t),this.setZoom(n),this._unmodified=e,this._constraining=!1}
695_calcMatrices(){if(this._width&&this._height){this._pixelsToGLUnits=[2/this._width,-2/this._height];let e=t.ad(new Float64Array(16));t.M(e,e,[this._width/2,-this._height/2,1]),t.L(e,e,[1,-1,0]),this._clipSpaceToPixelsMatrix=e,e=t.ad(new Float64Array(16)),t.M(e,e,[1,-1,1]),t.L(e,e,[-1,-1,0]),t.M(e,e,[2/this._width,2/this._height,1]),this._pixelsToClipSpaceMatrix=e,this._cameraToCenterDistance=.5/Math.tan(this.fovInRadians/2)*this._height}this._callbacks.calcMatrices()}calculateCenterFromCameraLngLatAlt(e,n,r,i){let a=r===void 0?this.bearing:r,o=i=i===void 0?this.pitch:i,s=t.$.fromLngLat(e,n),c=-Math.cos(t.ab(o)),l=Math.sin(t.ab(o)),u=l*Math.sin(t.ab(a)),d=-l*Math.cos(t.ab(a)),f=this.elevation,p=n-f,m;c*p>=0||Math.abs(c)<.1?(m=1e4,f=n+m*c):m=-p/c;let h,g,_=t.aN(1,s.y),v=0;do{if(v+=1,v>10)break;g=m/_,h=new t.$(s.x+u*g,s.y+d*g),_=1/h.meterInMercatorCoordinateUnits()}while(Math.abs(m-g*_)>1e-12);return{center:h.toLngLat(),elevation:f,zoom:t.ah(this.height/2/Math.tan(this.fovInRadians/2)/g/this.tileSize)}}recalculateZoomAndCenter(e){if(this.elevation-e==0)return;let n=t.ag(1,this.center.lat)*this.worldSize,r=this.cameraToCenterDistance/n,i=t.$.fromLngLat(this.center,this.elevation),a=Ae(this.center,this.elevation,this.pitch,this.bearing,r);this._elevation=e;let o=this.calculateCenterFromCameraLngLatAlt(a.toLngLat(),t.aN(a.z,i.y),this.bearing,this.pitch);this._elevation=o.elevation,this._center=o.center,this.setZoom(o.zoom)}getCameraPoint(){let e=Math.tan(this.pitchInRadians)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.P(e*Math.sin(this.rollInRadians),e*Math.cos(this.rollInRadians)))}getCameraAltitude(){return Math.cos(this.pitchInRadians)*this._cameraToCenterDistance/this._pixelPerMeter+this.elevation}getCameraLngLat(){let e=t.ag(1,this.center.lat)*this.worldSize;return Ae(this.center,this.elevation,this.pitch,this.bearing,this.cameraToCenterDistance/e).toLngLat()}getMercatorTileCoordinates(e){if(!e)return[0,0,1,1];let n=e.canonical.z>=0?1<<e.canonical.z:2**e.canonical.z;return[e.canonical.x/n,e.canonical.y/n,1/n/t.Z,1/n/t.Z]}}class It{constructor(e,n){this.min=e,this.max=n,this.center=t.aO([],t.aP([],this.min,this.max),.5)}quadrant(e){let n=[e%2==0,e<2],r=t.aQ(this.min),i=t.aQ(this.max);for(let e=0;e<n.length;e++)r[e]=n[e]?this.min[e]:this.center[e],i[e]=n[e]?this.center[e]:this.max[e];return i[2]=this.max[2],new It(r,i)}distanceX(e){return Math.max(Math.min(this.max[0],e[0]),this.min[0])-e[0]}distanceY(e){return Math.max(Math.min(this.max[1],e[1]),this.min[1])-e[1]}intersectsFrustum(e){let t=!0;for(let n=0;n<e.planes.length;n++){let r=this.intersectsPlane(e.planes[n]);if(r===0)return 0;r===1&&(t=!1)}return t?2:e.aabb.min[0]>this.max[0]||e.aabb.min[1]>this.max[1]||e.aabb.min[2]>this.max[2]||e.aabb.max[0]<this.min[0]||e.aabb.max[1]<this.min[1]||e.aabb.max[2]<this.min[2]?0:1}intersectsPlane(e){let t=e[3],n=e[3];for(let r=0;r<3;r++)e[r]>0?(t+=e[r]*this.min[r],n+=e[r]*this.max[r]):(n+=e[r]*this.min[r],t+=e[r]*this.max[r]);return t>=0?2:n<0?0:1}}class Lt{distanceToTile2d(e,t,n,r){let i=r.distanceX([e,t]),a=r.distanceY([e,t]);return Math.hypot(i,a)}getWrap(e,t,n){return n}getTileAABB(e,n,r,i){let a=r,o=r;if(i.terrain){let s=new t.Y(e.z,n,e.z,e.x,e.y),c=i.terrain.getMinMaxElevation(s);a=c.minElevation??r,o=c.maxElevation??r}let s=1<<e.z;return new It([n+e.x/s,e.y/s,a],[n+(e.x+1)/s,(e.y+1)/s,o])}allowVariableZoom(e,n){let r=e.fov*(Math.abs(Math.cos(e.rollInRadians))*e.height+Math.abs(Math.sin(e.rollInRadians))*e.width)/e.height,i=t.ae(78.5-r/2,0,60);return!!n.terrain||e.pitch>i}allowWorldCopies(){return!0}recalculateCache(){}}class Rt{constructor(e,t,n){this.points=e,this.planes=t,this.aabb=n}static fromInvProjectionMatrix(e,n=1,r=0){let i=2**r,a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((r=>{let a=1/(r=t.at([],r,e))[3]/n*i;return t.aR(r,r,[a,a,1/r[3],a])})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((e=>{let n=t.aS([],a[e[0]],a[e[1]]),r=t.aS([],a[e[2]],a[e[1]]),i=t.aT([],t.aU([],n,r)),o=-t.aV(i,a[e[1]]);return i.concat(o)})),s=[1/0,1/0,1/0],c=[-1/0,-1/0,-1/0];for(let e of a)for(let t=0;t<3;t++)s[t]=Math.min(s[t],e[t]),c[t]=Math.max(c[t],e[t]);return new Rt(a,o,new It(s,c))}}
695class zt{get pixelsToClipSpaceMatrix(){return this._helper.pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._helper.clipSpaceToPixelsMatrix}get pixelsToGLUnits(){return this._helper.pixelsToGLUnits}get centerOffset(){return this._helper.centerOffset}get size(){return this._helper.size}get rotationMatrix(){return this._helper.rotationMatrix}get centerPoint(){return this._helper.centerPoint}get pixelsPerMeter(){return this._helper.pixelsPerMeter}setMinZoom(e){this._helper.setMinZoom(e)}setMaxZoom(e){this._helper.setMaxZoom(e)}setMinPitch(e){this._helper.setMinPitch(e)}setMaxPitch(e){this._helper.setMaxPitch(e)}setRenderWorldCopies(e){this._helper.setRenderWorldCopies(e)}setBearing(e){this._helper.setBearing(e)}setPitch(e){this._helper.setPitch(e)}setRoll(e){this._helper.setRoll(e)}setFov(e){this._helper.setFov(e)}setZoom(e){this._helper.setZoom(e)}setCenter(e){this._helper.setCenter(e)}setElevation(e){this._helper.setElevation(e)}setMinElevationForCurrentTile(e){this._helper.setMinElevationForCurrentTile(e)}setPadding(e){this._helper.setPadding(e)}interpolatePadding(e,t,n){return this._helper.interpolatePadding(e,t,n)}isPaddingEqual(e){return this._helper.isPaddingEqual(e)}resize(e,t,n=!0){this._helper.resize(e,t,n)}getMaxBounds(){return this._helper.getMaxBounds()}setMaxBounds(e){this._helper.setMaxBounds(e)}overrideNearFarZ(e,t){this._helper.overrideNearFarZ(e,t)}clearNearFarZOverride(){this._helper.clearNearFarZOverride()}getCameraQueryGeometry(e){return this._helper.getCameraQueryGeometry(this.getCameraPoint(),e)}get tileSize(){return this._helper.tileSize}get tileZoom(){return this._helper.tileZoom}get scale(){return this._helper.scale}get worldSize(){return this._helper.worldSize}get width(){return this._helper.width}get height(){return this._helper.height}get lngRange(){return this._helper.lngRange}get latRange(){return this._helper.latRange}get minZoom(){return this._helper.minZoom}get maxZoom(){return this._helper.maxZoom}get zoom(){return this._helper.zoom}get center(){return this._helper.center}get minPitch(){return this._helper.minPitch}get maxPitch(){return this._helper.maxPitch}get pitch(){return this._helper.pitch}get pitchInRadians(){return this._helper.pitchInRadians}get roll(){return this._helper.roll}get rollInRadians(){return this._helper.rollInRadians}get bearing(){return this._helper.bearing}get bearingInRadians(){return this._helper.bearingInRadians}get fov(){return this._helper.fov}get fovInRadians(){return this._helper.fovInRadians}get elevation(){return this._helper.elevation}get minElevationForCurrentTile(){return this._helper.minElevationForCurrentTile}get padding(){return this._helper.padding}get unmodified(){return this._helper.unmodified}get renderWorldCopies(){return this._helper.renderWorldCopies}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}get nearZ(){return this._helper.nearZ}get farZ(){return this._helper.farZ}get autoCalculateNearFarZ(){return this._helper.autoCalculateNearFarZ}setTransitionState(e,t){}constructor(e,t,n,r,i){this._posMatrixCache=new Map,this._alignedPosMatrixCache=new Map,this._fogMatrixCacheF32=new Map,this._helper=new Ft({calcMatrices:()=>{this._calcMatrices()},getConstrained:(e,t)=>this.getConstrained(e,t)},e,t,n,r,i),this._coveringTilesDetailsProvider=new Lt}clone(){let e=new zt;return e.apply(this),e}apply(e,t,n){this._helper.apply(e,t,n)}get cameraPosition(){return this._cameraPosition}get projectionMatrix(){return this._projectionMatrix}get modelViewProjectionMatrix(){return this._viewProjMatrix}get inverseProjectionMatrix(){return this._invProjMatrix}get mercatorMatrix(){return this._mercatorMatrix}getVisibleUnwrappedCoordinates(e){let n=[new t.aW(0,e)];if(this._helper._renderWorldCopies){let r=this.screenPointToMercatorCoordinate(new t.P(0,0)),i=this.screenPointToMercatorCoordinate(new t.P(this._helper._width,0)),a=this.screenPointToMercatorCoordinate(new t.P(this._helper._width,this._helper._height)),o=this.screenPointToMercatorCoordinate(new t.P(0,this._helper._height)),s=Math.floor(Math.min(r.x,i.x,a.x,o.x)),c=Math.floor(Math.max(r.x,i.x,a.x,o.x));for(let r=s-1;r<=c+1;r++)r!==0&&n.push(new t.aW(r,e))}return n}getCameraFrustum(){return Rt.fromInvProjectionMatrix(this._invViewProjMatrix,this.worldSize)}getClippingPlane(){return null}getCoveringTilesDetailsProvider(){return this._coveringTilesDetailsProvider}recalculateZoomAndCenter(e){let t=this.screenPointToLocation(this.centerPoint,e),n=e?e.getElevationForLngLatZoom(t,this._helper._tileZoom):0;this._helper.recalculateZoomAndCenter(n)}setLocationAtPoint(e,n){let r=t.ag(this.elevation,this.center.lat),i=this.screenPointToMercatorCoordinateAtZ(n,r),a=this.screenPointToMercatorCoordinateAtZ(this.centerPoint,r),o=t.$.fromLngLat(e),s=new t.$(o.x-(i.x-a.x),o.y-(i.y-a.y));this.setCenter(s?.toLngLat()),this._helper._renderWorldCopies&&this.setCenter(this.center.wrap())}locationToScreenPoint(e,n){return n?this.coordinatePoint(t.$.fromLngLat(e),n.getElevationForLngLatZoom(e,this._helper._tileZoom),this._pixelMatrix3D):this.coordinatePoint(t.$.fromLngLat(e))}screenPointToLocation(e,t){return this.screenPointToMercatorCoordinate(e,t)?.toLngLat()}screenPointToMercatorCoordinate(e,t){if(t){let n=t.pointCoordinate(e);if(n!=null)return n}return this.screenPointToMercatorCoordinateAtZ(e)}screenPointToMercatorCoordinateAtZ(e,n){let r=n||0,i=[e.x,e.y,0,1],a=[e.x,e.y,1,1];t.at(i,i,this._pixelMatrixInverse),t.at(a,a,this._pixelMatrixInverse);
695let o=i[3],s=a[3],c=i[1]/o,l=a[1]/s,u=i[2]/o,d=a[2]/s,f=u===d?0:(r-u)/(d-u);return new t.$(t.B.number(i[0]/o,a[0]/s,f)/this.worldSize,t.B.number(c,l,f)/this.worldSize,r)}coordinatePoint(e,n=0,r=this._pixelMatrix){let i=[e.x*this.worldSize,e.y*this.worldSize,n,1];return t.at(i,i,r),new t.P(i[0]/i[3],i[1]/i[3])}getBounds(){let e=Math.max(0,this._helper._height/2-Oe(this));return new P().extend(this.screenPointToLocation(new t.P(0,e))).extend(this.screenPointToLocation(new t.P(this._helper._width,e))).extend(this.screenPointToLocation(new t.P(this._helper._width,this._helper._height))).extend(this.screenPointToLocation(new t.P(0,this._helper._height)))}isPointOnMapSurface(e,t){return t?t.pointCoordinate(e)!=null:e.y>this.height/2-Oe(this)}calculatePosMatrix(e,n=!1,r){let i=e.key??t.aX(e.wrap,e.canonical.z,e.canonical.z,e.canonical.x,e.canonical.y),a=n?this._alignedPosMatrixCache:this._posMatrixCache;if(a.has(i)){let e=a.get(i);return r?e.f32:e.f64}let o=ke(e,this.worldSize);t.N(o,n?this._alignedProjMatrix:this._viewProjMatrix,o);let s={f64:o,f32:new Float32Array(o)};return a.set(i,s),r?s.f32:s.f64}calculateFogMatrix(e){let n=e.key,r=this._fogMatrixCacheF32;if(r.has(n))return r.get(n);let i=ke(e,this.worldSize);return t.N(i,this._fogMatrix,i),r.set(n,new Float32Array(i)),r.get(n)}getConstrained(e,n){n=t.ae(+n,this.minZoom,this.maxZoom);let r={center:new t.Q(e.lng,e.lat),zoom:n},i=this._helper._lngRange;this._helper._renderWorldCopies||i!==null||(i=[-179.9999999999,179.9999999999]);let a=this.tileSize*t.ac(r.zoom),o=0,s=a,c=0,l=a,u=0,d=0,{x:f,y:p}=this.size;if(this._helper._latRange){let e=this._helper._latRange;
695o=t.S(e[1])*a,s=t.S(e[0])*a,s-o<p&&(u=p/(s-o))}i&&(c=t.aL(t.U(i[0])*a,0,a),l=t.aL(t.U(i[1])*a,0,a),l<c&&(l+=a),l-c<f&&(d=f/(l-c)));let{x:m,y:h}=Ee(a,e),g,_,v=Math.max(d||0,u||0);if(v)return r.center=De(a,new t.P(d?(l+c)/2:m,u?(s+o)/2:h)).wrap(),r.zoom+=t.ah(v),r;if(this._helper._latRange){let e=p/2;h-e<o&&(_=o+e),h+e>s&&(_=s-e)}if(i){let e=(c+l)/2,n=m;this._helper._renderWorldCopies&&(n=t.aL(m,e-a/2,e+a/2));let r=f/2;n-r<c&&(g=c+r),n+r>l&&(g=l-r)}return(g!==void 0||_!==void 0)&&(r.center=De(a,new t.P(g??m,_??h)).wrap()),r}calculateCenterFromCameraLngLatAlt(e,t,n,r){return this._helper.calculateCenterFromCameraLngLatAlt(e,t,n,r)}_calculateNearFarZIfNeeded(e,n,r){if(!this._helper.autoCalculateNearFarZ)return;let i=Math.min(this.elevation,this.minElevationForCurrentTile,this.getCameraAltitude()-100),a=e-i*this._helper._pixelPerMeter/Math.cos(n),o=i<0?a:e,s=Math.PI/2+this.pitchInRadians,c=t.ab(this.fov)*(Math.abs(Math.cos(t.ab(this.roll)))*this.height+Math.abs(Math.sin(t.ab(this.roll)))*this.width)/this.height*(.5+r.y/this.height),l=Math.sin(c)*o/Math.sin(t.ae(Math.PI-s-c,.01,Math.PI-.01)),u=Oe(this),d=Math.atan(u/this._helper.cameraToCenterDistance),f=t.ab(.75),p=d>f?2*d*(.5+r.y/(2*u)):f,m=Math.sin(p)*o/Math.sin(t.ae(Math.PI-s-p,.01,Math.PI-.01)),h=Math.min(l,m);this._helper._farZ=1.01*(Math.cos(Math.PI/2-n)*h+o),this._helper._nearZ=this._helper._height/50}_calcMatrices(){if(!this._helper._height)return;let e=this.centerOffset,n=Ee(this.worldSize,this.center),r=n.x,i=n.y;this._helper._pixelPerMeter=t.ag(1,this.center.lat)*this.worldSize;let a=t.ab(Math.min(this.pitch,Te)),o=Math.max(this._helper.cameraToCenterDistance/2,this._helper.cameraToCenterDistance+this._helper._elevation*this._helper._pixelPerMeter/Math.cos(a)),s;this._calculateNearFarZIfNeeded(o,a,e),s=new Float64Array(16),t.aY(s,this.fovInRadians,this._helper._width/this._helper._height,this._helper._nearZ,this._helper._farZ),this._invProjMatrix=new Float64Array(16),t.an(this._invProjMatrix,s),s[8]=2*-e.x/this._helper._width,s[9]=2*e.y/this._helper._height,this._projectionMatrix=t.aZ(s),t.M(s,s,[1,-1,1]),t.L(s,s,[0,0,-this._helper.cameraToCenterDistance]),t.a_(s,s,-this.rollInRadians),t.a$(s,s,this.pitchInRadians),t.a_(s,s,-this.bearingInRadians),t.L(s,s,[-r,-i,0]),this._mercatorMatrix=t.M([],s,[this.worldSize,this.worldSize,this.worldSize]),t.M(s,s,[1,1,this._helper._pixelPerMeter]),this._pixelMatrix=t.N(new Float64Array(16),this.clipSpaceToPixelsMatrix,s),t.L(s,s,[0,0,-this.elevation]),this._viewProjMatrix=s,this._invViewProjMatrix=t.an([],s);let c=[0,0,-1,1];t.at(c,c,this._invViewProjMatrix),this._cameraPosition=[c[0]/c[3],c[1]/c[3],c[2]/c[3]],this._fogMatrix=new Float64Array(16),t.aY(this._fogMatrix,this.fovInRadians,this.width/this.height,o,this._helper._farZ),this._fogMatrix[8]=2*-e.x/this.width,this._fogMatrix[9]=2*e.y/this.height,t.M(this._fogMatrix,this._fogMatrix,[1,-1,1]),t.L(this._fogMatrix,this._fogMatrix,[0,0,-this.cameraToCenterDistance]),t.a_(this._fogMatrix,this._fogMatrix,-this.rollInRadians),t.a$(this._fogMatrix,this._fogMatrix,this.pitchInRadians),t.a_(this._fogMatrix,this._fogMatrix,-this.bearingInRadians),t.L(this._fogMatrix,this._fogMatrix,[-r,-i,0]),t.M(this._fogMatrix,this._fogMatrix,[1,1,this._helper._pixelPerMeter]),t.L(this._fogMatrix,this._fogMatrix,[0,0,-this.elevation]),this._pixelMatrix3D=t.N(new Float64Array(16),this.clipSpaceToPixelsMatrix,s);let l=this._helper._width%2/2,u=this._helper._height%2/2,d=Math.cos(this.bearingInRadians),f=Math.sin(-this.bearingInRadians),p=r-Math.round(r)+d*l+f*u,m=i-Math.round(i)+d*u+f*l,h=new Float64Array(s);if(t.L(h,h,[p>.5?p-1:p,m>.5?m-1:m,0]),this._alignedProjMatrix=h,s=t.an(new Float64Array(16),this._pixelMatrix),!s)throw Error(`failed to invert matrix`);this._pixelMatrixInverse=s,this._clearMatrixCaches()}_clearMatrixCaches(){this._posMatrixCache.clear(),this._alignedPosMatrixCache.clear(),this._fogMatrixCacheF32.clear()}maxPitchScaleFactor(){if(!this._pixelMatrixInverse)return 1;let e=this.screenPointToMercatorCoordinate(new t.P(0,0)),n=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.at(n,n,this._pixelMatrix)[3]/this._helper.cameraToCenterDistance}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return this._helper.getCameraAltitude()}getCameraLngLat(){let e=t.ag(1,this.center.lat)*this.worldSize;return Ae(this.center,this.elevation,this.pitch,this.bearing,this._helper.cameraToCenterDistance/e).toLngLat()}lngLatToCameraDepth(e,n){let r=t.$.fromLngLat(e),i=[r.x*this.worldSize,r.y*this.worldSize,n,1];return t.at(i,i,this._viewProjMatrix),i[2]/i[3]}getProjectionData(e){let{overscaledTileID:n,aligned:r,applyTerrainMatrix:i}=e,a=this._helper.getMercatorTileCoordinates(n),o=n?this.calculatePosMatrix(n,r,!0):null,s;return s=n&&n.terrainRttPosMatrix32f&&i?n.terrainRttPosMatrix32f:o||t.b0(),{mainMatrix:s,tileMercatorCoords:a,clippingPlane:[0,0,0,0],projectionTransition:0,fallbackMatrix:s}}isLocationOccluded(e){return!1}getPixelScale(){return 1}getCircleRadiusCorrection(){return 1}getPitchedTextCorrection(e,t,n){return 1}transformLightDirection(e){return t.aQ(e)}getRayDirectionFromPixel(e){throw Error(`Not implemented.`)}projectTileCoordinates(e,n,r,i){let a=this.calculatePosMatrix(r),o;i?(o=[e,n,i(e,n),1],t.at(o,o,a)):(o=[e,n,0,1],rt(o,o,a));let s=o[3];return{point:new t.P(o[0]/s,o[1]/s),signedDistanceFromCamera:s,isOccluded:!1}}populateCache(e){for(let t of e)this.calculatePosMatrix(t)}getMatrixForModel(e,n){let r=t.$.fromLngLat(e,n),i=r.meterInMercatorCoordinateUnits(),a=t.b1();return t.L(a,a,[r.x,r.y,r.z]),t.a_(a,a,Math.PI),t.a$(a,a,Math.PI/2),t.M(a,a,[-i,i,i]),a}getProjectionDataForCustomLayer(e=!0){let n=new t.Y(0,0,0,0,0),r=this.getProjectionData({overscaledTileID:n,applyGlobeMatrix:e}),i=ke(n,this.worldSize);t.N(i,this._viewProjMatrix,i),r.tileMercatorCoords=[0,0,1,1];let a=[t.Z,t.Z,this.worldSize/this._helper.pixelsPerMeter],o=t.b2();return t.M(o,i,a),r.fallbackMatrix=o,r.mainMatrix=o,r}getFastPathSimpleProjectionMatrix(e){return this.calculatePosMatrix(e)}}function Bt(){t.w(`Map cannot fit within canvas with the given bounds, padding, and/or offset.`)}function Vt(e){if(e.useSlerp)if(e.k<1){let n=t.b3(e.startEulerAngles.roll,e.startEulerAngles.pitch,e.startEulerAngles.bearing),r=t.b3(e.endEulerAngles.roll,e.endEulerAngles.pitch,e.endEulerAngles.bearing),i=new Float64Array(4);t.b4(i,n,r,e.k);let a=t.b5(i);e.tr.setRoll(a.roll),e.tr.setPitch(a.pitch),e.tr.setBearing(a.bearing)}else e.tr.setRoll(e.endEulerAngles.roll),e.tr.setPitch(e.endEulerAngles.pitch),e.tr.setBearing(e.endEulerAngles.bearing);else e.tr.setRoll(t.B.number(e.startEulerAngles.roll,e.endEulerAngles.roll,e.k)),e.tr.setPitch(t.B.number(e.startEulerAngles.pitch,e.endEulerAngles.pitch,e.k)),e.tr.setBearing(t.B.number(e.startEulerAngles.bearing,e.endEulerAngles.bearing,e.k))}function Ht(e,n,r,i,a){let o=a.padding,s=Ee(a.worldSize,r.getNorthWest()),c=Ee(a.worldSize,r.getNorthEast()),l=Ee(a.worldSize,r.getSouthEast()),u=Ee(a.worldSize,r.getSouthWest
695()),d=t.ab(-i),f=s.rotate(d),p=c.rotate(d),m=l.rotate(d),h=u.rotate(d),g=new t.P(Math.max(f.x,p.x,h.x,m.x),Math.max(f.y,p.y,h.y,m.y)),_=new t.P(Math.min(f.x,p.x,h.x,m.x),Math.min(f.y,p.y,h.y,m.y)),v=g.sub(_),y=(a.width-(o.left+o.right+n.left+n.right))/v.x,b=(a.height-(o.top+o.bottom+n.top+n.bottom))/v.y;if(b<0||y<0)return void Bt();let x=Math.min(t.ah(a.scale*Math.min(y,b)),e.maxZoom),S=t.P.convert(e.offset),C=new t.P((n.left-n.right)/2,(n.top-n.bottom)/2).rotate(t.ab(i)),w=S.add(C).mult(a.scale/t.ac(x));return{center:De(a.worldSize,s.add(l).div(2).sub(w)),zoom:x,bearing:i}}class Ut{get useGlobeControls(){return!1}handlePanInertia(e,t){return{easingOffset:e,easingCenter:t.center}}handleMapControlsRollPitchBearingZoom(e,t){e.bearingDelta&&t.setBearing(t.bearing+e.bearingDelta),e.pitchDelta&&t.setPitch(t.pitch+e.pitchDelta),e.rollDelta&&t.setRoll(t.roll+e.rollDelta),e.zoomDelta&&t.setZoom(t.zoom+e.zoomDelta)}handleMapControlsPan(e,t,n){e.around.distSqr(t.centerPoint)<.01||t.setLocationAtPoint(n,e.around)}cameraForBoxAndBearing(e,t,n,r,i){return Ht(e,t,n,r,i)}handleJumpToCenterZoom(e,n){e.zoom!==(n.zoom===void 0?e.zoom:+n.zoom)&&e.setZoom(+n.zoom),n.center!==void 0&&e.setCenter(t.Q.convert(n.center))}handleEaseTo(e,n){let r=e.zoom,i=e.padding,a={roll:e.roll,pitch:e.pitch,bearing:e.bearing},o={roll:n.roll===void 0?e.roll:n.roll,pitch:n.pitch===void 0?e.pitch:n.pitch,bearing:n.bearing===void 0?e.bearing:n.bearing},s=n.zoom!==void 0,c=!e.isPaddingEqual(n.padding),l=!1,u=s?+n.zoom:e.zoom,d=e.centerPoint.add(n.offsetAsPoint),f=e.screenPointToLocation(d),{center:p,zoom:m}=e.getConstrained(t.Q.convert(n.center||f),u??r);Nt(e,p);let h=Ee(e.worldSize,f),g=Ee(e.worldSize,p).sub(h),_=t.ac(m-r);return l=m!==r,{easeFunc:s=>{if(l&&e.setZoom(t.B.number(r,m,s)),t.b6(a,o)||Vt({startEulerAngles:a,endEulerAngles:o,tr:e,k:s,useSlerp:a.roll!=o.roll}),c&&(e.interpolatePadding(i,n.padding,s),d=e.centerPoint.add(n.offsetAsPoint)),n.around)e.setLocationAtPoint(n.around,n.aroundPoint);else{let n=t.ac(e.zoom-r),i=(m>r?Math.min(2,_):Math.max(.5,_))**(1-s),a=De(e.worldSize,h.add(g.mult(s*i)).mult(n));e.setLocationAtPoint(e.renderWorldCopies?a.wrap():a,d)}},isZooming:l,elevationCenter:p}}handleFlyTo(e,n){let r=n.zoom!==void 0,i=e.zoom,a=e.getConstrained(t.Q.convert(n.center||n.locationAtOffset),r?+n.zoom:i),o=a.center,s=a.zoom;Nt(e,o);let c=Ee(e.worldSize,n.locationAtOffset),l=Ee(e.worldSize,o).sub(c),u=l.mag(),d=t.ac(s-i),f;if(n.minZoom!==void 0){let r=Math.min(+n.minZoom,i,s),a=e.getConstrained(o,r).zoom;f=t.ac(a-i)}return{easeFunc:(n,r,a,u)=>{e.setZoom(n===1?s:i+t.ah(r));let d=n===1?o:De(e.worldSize,c.add(l.mult(a)).mult(r));e.setLocationAtPoint(e.renderWorldCopies?d.wrap():d,u)},scaleOfZoom:d,targetCenter:o,scaleOfMinZoom:f,pixelPathLength:u}}}class G{constructor(e,t,n){this.blendFunction=e,this.blendColor=t,this.mask=n}}G.Replace=[1,0],G.disabled=new G(G.Replace,t.b7.transparent,[!1,!1,!1,!1]),G.unblended=new G(G.Replace,t.b7.transparent,[!0,!0,!0,!0]),G.alphaBlended=new G([1,771],t.b7.transparent,[!0,!0,!0,!0]);let Wt=2305;class K{constructor(e,t,n){this.enable=e,this.mode=t,this.frontFace=n}}K.disabled=new K(!1,1029,Wt),K.backCCW=new K(!0,1029,Wt),K.frontCCW=new K(!0,1028,Wt);class q{constructor(e,t,n){this.func=e,this.mask=t,this.range=n}}q.ReadOnly=!1,q.ReadWrite=!0,q.disabled=new q(519,q.ReadOnly,[0,1]);let Gt=7680;class J{constructor(e,t,n,r,i,a){this.test=e,this.ref=t,this.mask=n,this.fail=r,this.depthFail=i,this.pass=a}}J.disabled=new J({func:519,mask:0},0,0,Gt,Gt,Gt);let Kt=new WeakMap;function qt(e){if(Kt.has(e))return Kt.get(e);{let t=e.getParameter(e.VERSION)?.startsWith(`WebGL 2.0`);return Kt.set(e,t),t}}class Jt{get awaitingQuery(){return!!this._readbackQueue}constructor(e){this._readbackWaitFrames=4,this._measureWaitFrames=6,this._texWidth=1,this._texHeight=1,this._measuredError=0,this._updateCount=0,this._lastReadbackFrame=-1e3,this._readbackQueue=null,this._cachedRenderContext=e;let n=e.context,r=n.gl;this._texFormat=r.RGBA,this._texType=r.UNSIGNED_BYTE;let i=new t.aI;i.emplaceBack(-1,-1),i.emplaceBack(2,-1),i.emplaceBack(-1,2);let a=new t.aK;a.emplaceBack(0,1,2),this._fullscreenTriangle=new Ot(n.createVertexBuffer(i,kt.members),n.createIndexBuffer(a),t.aJ.simpleSegment(0,0,i.length,a.length)),this._resultBuffer=new Uint8Array(4),n.activeTexture.set(r.TEXTURE1);let o=r.createTexture();r.bindTexture(r.TEXTURE_2D,o),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.NEAREST),r.texImage2D(r.TEXTURE_2D,0,this._texFormat,this._texWidth,this._texHeight,0,this._texFormat,this._texType,null),this._fbo=n.createFramebuffer(this._texWidth,this._texHeight,!1,!1),this._fbo.colorAttachment.set(o),qt(r)&&(this._pbo=r.createBuffer(),r.bindBuffer(r.PIXEL_PACK_BUFFER,this._pbo),r.bufferData(r.PIXEL_PACK_BUFFER,4,r.STREAM_READ),r.bindBuffer(r.PIXEL_PACK_BUFFER,null))}destroy(){let e=this._cachedRenderContext.context.gl;this._fullscreenTriangle.destroy(),this._fbo.destroy(),e.deleteBuffer(this._pbo),this._fullscreenTriangle=null,this._fbo=null,this._pbo=null,this._resultBuffer=null}updateErrorLoop(e,t){let n=this._updateCount;return this._readbackQueue?n>=this._readbackQueue.frameNumberIssued+this._readbackWaitFrames&&this._tryReadback():n>=this._lastReadbackFrame+this._measureWaitFrames&&this._renderErrorTexture(e,t),this._updateCount++,this._measuredError}_bindFramebuffer(){let e=this._cachedRenderContext.context,t=e.gl;e.activeTexture.set(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,this._fbo.colorAttachment.get()),e.bindFramebuffer.set(this._fbo.framebuffer)}_renderErrorTexture(e,n){let r=this._cachedRenderContext.context,i=r.gl;if(this._bindFramebuffer(),r.viewport.set([0,0,this._texWidth,this._texHeight]),r.clear({color:t.b7.transparent}),this._cachedRenderContext.useProgram(`projectionErrorMeasurement`).draw(r,i.TRIANGLES,q.disabled,J.disabled,G.unblended,K.disabled,((e,t)=>
695({u_input:e,u_output_expected:t}))(e,n),null,null,`$clipping`,this._fullscreenTriangle.vertexBuffer,this._fullscreenTriangle.indexBuffer,this._fullscreenTriangle.segments),this._pbo&&qt(i)){i.bindBuffer(i.PIXEL_PACK_BUFFER,this._pbo),i.readBuffer(i.COLOR_ATTACHMENT0),i.readPixels(0,0,this._texWidth,this._texHeight,this._texFormat,this._texType,0),i.bindBuffer(i.PIXEL_PACK_BUFFER,null);let e=i.fenceSync(i.SYNC_GPU_COMMANDS_COMPLETE,0);i.flush(),this._readbackQueue={frameNumberIssued:this._updateCount,sync:e}}else this._readbackQueue={frameNumberIssued:this._updateCount,sync:null}}_tryReadback(){let e=this._cachedRenderContext.context.gl;if(this._pbo&&this._readbackQueue&&qt(e)){let n=e.clientWaitSync(this._readbackQueue.sync,0,0);if(n===e.WAIT_FAILED)return t.w(`WebGL2 clientWaitSync failed.`),this._readbackQueue=null,void(this._lastReadbackFrame=this._updateCount);if(n===e.TIMEOUT_EXPIRED)return;e.bindBuffer(e.PIXEL_PACK_BUFFER,this._pbo),e.getBufferSubData(e.PIXEL_PACK_BUFFER,0,this._resultBuffer,0,4),e.bindBuffer(e.PIXEL_PACK_BUFFER,null)}else this._bindFramebuffer(),e.readPixels(0,0,this._texWidth,this._texHeight,this._texFormat,this._texType,this._resultBuffer);this._readbackQueue=null,this._measuredError=Jt._parseRGBA8float(this._resultBuffer),this._lastReadbackFrame=this._updateCount}static _parseRGBA8float(e){let t=0;return t+=e[0]/256,t+=e[1]/65536,t+=e[2]/16777216,e[3]<127&&(t=-t),t/128}}let Yt=t.Z/128;function Xt(e,n){let r=e.granularity===void 0?1:Math.max(e.granularity,1),i=r+(e.generateBorders?2:0),a=r+(e.extendToNorthPole||e.generateBorders?1:0)+(e.extendToSouthPole||e.generateBorders?1:0),o=i+1,s=a+1,c=e.generateBorders?-1:0,l=e.generateBorders||e.extendToNorthPole?-1:0,u=r+ +!!e.generateBorders,d=r+(e.generateBorders||e.extendToSouthPole?1:0),f=o*s,p=i*a*6,m=o*s>65536;if(m&&n===`16bit`)throw Error(`Granularity is too large and meshes would not fit inside 16 bit vertex indices.`);let h=m||n===`32bit`,g=new Int16Array(2*f),_=0;for(let n=l;n<=d;n++)for(let i=c;i<=u;i++){let a=i/r*t.Z;i===-1&&(a=-64),i===r+1&&(a=t.Z+Yt);let o=n/r*t.Z;n===-1&&(o=e.extendToNorthPole?t.b9:-64),n===r+1&&(o=e.extendToSouthPole?t.ba:t.Z+Yt),g[_++]=a,g[_++]=o}let v=h?new Uint32Array(p):new Uint16Array(p),y=0;for(let e=0;e<a;e++)for(let t=0;t<i;t++){let n=t+1+e*o,r=t+(e+1)*o,i=t+1+(e+1)*o;v[y++]=t+e*o,v[y++]=r,v[y++]=n,v[y++]=n,v[y++]=r,v[y++]=i}return{vertices:g.buffer.slice(0),indices:v.buffer.slice(0),uses32bitIndices:h}}let Zt=new t.aH({fill:new t.bb(128,2),line:new t.bb(512,0),tile:new t.bb(128,32),stencil:new t.bb(128,1),circle:3});class Qt{constructor(){this._tileMeshCache={},this._errorCorrectionUsable=0,this._errorMeasurementLastValue=0,this._errorCorrectionPreviousValue=0,this._errorMeasurementLastChangeTime=-1e3}get name(){return`vertical-perspective`}get transitionState(){return 1}get useSubdivision(){return!0}get shaderVariantName(){return`globe`}get shaderDefine(){return`#define GLOBE`}get shaderPreludeCode(){return Dt.projectionGlobe}get vertexShaderPreludeCode(){return Dt.projectionMercator.vertexSource}get subdivisionGranularity(){return Zt}get useGlobeControls(){return!0}get latitudeErrorCorrectionRadians(){return this._errorCorrectionUsable}destroy(){this._errorMeasurement&&this._errorMeasurement.destroy()}updateGPUdependent(e){this._errorMeasurement||=new Jt(e);let n=t.S(this._errorQueryLatitudeDegrees),r=2*Math.atan(Math.exp(Math.PI-n*Math.PI*2))-.5*Math.PI,i=this._errorMeasurement.updateErrorLoop(n,r),a=o.now();i!==this._errorMeasurementLastValue&&(this._errorCorrectionPreviousValue=this._errorCorrectionUsable,this._errorMeasurementLastValue=i,this._errorMeasurementLastChangeTime=a);let s=Math.min(Math.max((a-this._errorMeasurementLastChangeTime)/1e3/.5,0),1);this._errorCorrectionUsable=t.bc(this._errorCorrectionPreviousValue,-this._errorMeasurementLastValue,t.bd(s))}_getMeshKey(e){return`${e.granularity.toString(36)}_${e.generateBorders?`b`:``}${e.extendToNorthPole?`n`:``}${e.extendToSouthPole?`s`:``}`}getMeshFromTileID(e,t,n,r,i){let a=(i===`stencil`?Zt.stencil:Zt.tile).getGranularityForZoomLevel(t.z);return this._getMesh(e,{granularity:a,generateBorders:n,extendToNorthPole:t.y===0&&r,extendToSouthPole:t.y===(1<<t.z)-1&&r})}_getMesh(e,n){let r=this._getMeshKey(n);if(r in this._tileMeshCache)return this._tileMeshCache[r];let i=function(e,n){let r=Xt(n,`16bit`),i=t.aI.deserialize({arrayBuffer:r.vertices,length:r.vertices.byteLength/2/2}),a=t.aK.deserialize({arrayBuffer:r.indices,length:r.indices.byteLength/2/3});return new Ot(e.createVertexBuffer(i,kt.members),e.createIndexBuffer(a),t.aJ.simpleSegment(0,0,i.length,a.length))}
695(e,n);return this._tileMeshCache[r]=i,i}recalculate(e){}hasTransition(){let e=o.now(),t=!1;return t||=(e-this._errorMeasurementLastChangeTime)/1e3<.7,t||=this._errorMeasurement&&this._errorMeasurement.awaitingQuery,t}setErrorQueryLatitudeDegrees(e){this._errorQueryLatitudeDegrees=e}}let $t=new t.r({type:new t.D(t.v.projection.type)});class en extends t.E{constructor(e){super(),this._transitionable=new t.T($t),this.setProjection(e),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new t.C(0)),this._mercatorProjection=new Mt,this._verticalPerspectiveProjection=new Qt}get transitionState(){let e=this.properties.get(`type`);if(typeof e==`string`&&e===`mercator`)return 0;if(typeof e==`string`&&e===`vertical-perspective`)return 1;if(e instanceof t.be){if(e.from===`vertical-perspective`&&e.to===`mercator`)return 1-e.transition;if(e.from===`mercator`&&e.to===`vertical-perspective`)return e.transition}return 1}get useGlobeRendering(){return this.transitionState>0}get latitudeErrorCorrectionRadians(){return this._verticalPerspectiveProjection.latitudeErrorCorrectionRadians}get currentProjection(){return this.useGlobeRendering?this._verticalPerspectiveProjection:this._mercatorProjection}get name(){return`globe`}get useSubdivision(){return this.currentProjection.useSubdivision}get shaderVariantName(){return this.currentProjection.shaderVariantName}get shaderDefine(){return this.currentProjection.shaderDefine}get shaderPreludeCode(){return this.currentProjection.shaderPreludeCode}get vertexShaderPreludeCode(){return this.currentProjection.vertexShaderPreludeCode}get subdivisionGranularity(){return this.currentProjection.subdivisionGranularity}get useGlobeControls(){return this.transitionState>0}destroy(){this._mercatorProjection.destroy(),this._verticalPerspectiveProjection.destroy()}updateGPUdependent(e){this._mercatorProjection.updateGPUdependent(e),this._verticalPerspectiveProjection.updateGPUdependent(e)}getMeshFromTileID(e,t,n,r,i){return this.currentProjection.getMeshFromTileID(e,t,n,r,i)}setProjection(e){this._transitionable.setValue(`type`,e?.type||`mercator`)}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()||this.currentProjection.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}setErrorQueryLatitudeDegrees(e){this._verticalPerspectiveProjection.setErrorQueryLatitudeDegrees(e),this._mercatorProjection.setErrorQueryLatitudeDegrees(e)}}function tn(e){let t=an(e.worldSize,e.center.lat);return 2*Math.PI*t}function nn(e,n,r,i,a){let o=1/(1<<a),s=n/t.Z*o+i*o,c=t.bg((e/t.Z*o+r*o)*Math.PI*2+Math.PI,2*Math.PI),l=2*Math.atan(Math.exp(Math.PI-s*Math.PI*2))-.5*Math.PI,u=Math.cos(l),d=new Float64Array(3);return d[0]=Math.sin(c)*u,d[1]=Math.sin(l),d[2]=Math.cos(c)*u,d}function rn(e){return function(e,t){let n=Math.cos(t),r=new Float64Array(3);return r[0]=Math.sin(e)*n,r[1]=Math.sin(t),r[2]=Math.cos(e)*n,r}(e.lng*Math.PI/180,e.lat*Math.PI/180)}function an(e,t){return e/(2*Math.PI)/Math.cos(t*Math.PI/180)}function on(e){let n=Math.asin(e[1])/Math.PI*180,r=Math.sqrt(e[0]*e[0]+e[2]*e[2]);if(r>1e-6){let i=e[0]/r,a=Math.acos(e[2]/r),o=(i>0?a:-a)/Math.PI*180;return new t.Q(t.aL(o,-180,180),n)}return new t.Q(0,n)}function sn(e){return Math.cos(e*Math.PI/180)}function cn(e,n){let r=sn(e),i=sn(n);return t.ah(i/r)}function ln(e,n){let r=e.rotate(n.bearingInRadians),i=n.zoom+cn(n.center.lat,0),a=t.bc(1/sn(n.center.lat),1/sn(Math.min(Math.abs(n.center.lat),60)),t.bf(i,7,3,0,1)),o=360/tn({worldSize:n.worldSize,center:{lat:n.center.lat}});return new t.Q(n.center.lng-r.x*o*a,t.ae(n.center.lat+r.y*o,-85.051129,t.af))}function un(e){let t=.5*e,n=Math.sin(t),r=Math.cos(t);return Math.log(n+r)-Math.log(r-n)}function dn(e,n,r,i){let a=e.lat+r*i;if(Math.abs(r)>1){let o=(Math.sign(e.lat+r)===Math.sign(e.lat)?Math.abs(e.lat):-Math.abs(e.lat))*Math.PI/180,s=Math.abs(e.lat+r)*Math.PI/180,c=un(o+i*(s-o)),l=un(o),u=un(s);return new t.Q(e.lng+n*((c-l)/(u-l)),a)}return new t.Q(e.lng+n*i,a)}class fn{constructor(e){this._cachePrevious=new Map,this._cache=new Map,this._hadAnyChanges=!1,this._aabbFactory=e}recalculateCache(){if(!this._hadAnyChanges)return;let e=this._cachePrevious;this._cachePrevious=this._cache,this._cache=e,this._cache.clear(),this._hadAnyChanges=!1}getTileAABB(e,t,n,r){let i=`${e.z}_${e.x}_${e.y}`,a=this._cache.get(i);if(a)return a;let o=this._cachePrevious.get(i);if(o)return this._cache.set(i,o),o;let s=this._aabbFactory(e,t,n,r);return this._cache.set(i,s),this._hadAnyChanges=!0,s}}function pn(e,t,n){let r=e-t;return r<0?-r:Math.max(0,r-n)}function mn(e,t,n,r,i){let a=e-n,o;return o=a<0?Math.min(-a,1+a-i):a>1?Math.min(Math.max(a-i,0),1-a):0,Math.max(o,pn(t,r,i))}class hn{constructor(){this._aabbCache=new fn(this._computeTileAABB)}recalculateCache(){this._aabbCache.recalculateCache()}distanceToTile2d(e,t,n,r){let i=1<<n.z,a=1/i,o=n.x/i,s=n.y/i,c=2;return c=Math.min(c,mn(e,t,o,s,a)),c=Math.min(c,mn(e,t,o+.5,-s-a,a)),c=Math.min(c,mn(e,t,o+.5,2-s-a,a)),c}getWrap(e,t,n){let r=1<<t.z,i=1/r,a=t.x/r,o=pn(e.x,a,i),s=pn(e.x,a-1,i),c=pn(e.x,a+1,i),l=Math.min(o,s,c);return l===c?1:l===s?-1:0}allowVariableZoom(e,t){return Pe(e,t)>4}allowWorldCopies(){return!1}getTileAABB(e,t,n,r){return this._aabbCache.getTileAABB(e,t,n,r)}_computeTileAABB(e,n,r,i){if(e.z<=0)return new It([-1,-1,-1],[1,1,1]);if(e.z===1)return new It([e.x===0?-1:0,e.y===0?0:-1,-1],[e.x===0?0:1,+(e.y===0),1]);{let n=[nn(0,0,e.x,e.y,e.z),nn(t.Z,0,e.x,e.y,e.z),nn(t.Z,t.Z,e.x,e.y,e.z),nn(0,t.Z,e.x,e.y,e.z)],r=[1,1,1],i=[-1,-1,-1];for(let e of n)for(let t=0;t<3;t++)r[t]=Math.min(r[t],e[t]),i[t]=Math.max(i[t],e[t]);if(e.y===0||e.y===(1<<e.z)-1){let t=[0,e.y===0?1:-1,0];for(let e=0;e<3;e++)r[e]=Math.min(r[e],t[e]),i[e]=Math.max(i[e],t[e])}return new It(r,i)}}}
695class gn{get pixelsToClipSpaceMatrix(){return this._helper.pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._helper.clipSpaceToPixelsMatrix}get pixelsToGLUnits(){return this._helper.pixelsToGLUnits}get centerOffset(){return this._helper.centerOffset}get size(){return this._helper.size}get rotationMatrix(){return this._helper.rotationMatrix}get centerPoint(){return this._helper.centerPoint}get pixelsPerMeter(){return this._helper.pixelsPerMeter}setMinZoom(e){this._helper.setMinZoom(e)}setMaxZoom(e){this._helper.setMaxZoom(e)}setMinPitch(e){this._helper.setMinPitch(e)}setMaxPitch(e){this._helper.setMaxPitch(e)}setRenderWorldCopies(e){this._helper.setRenderWorldCopies(e)}setBearing(e){this._helper.setBearing(e)}setPitch(e){this._helper.setPitch(e)}setRoll(e){this._helper.setRoll(e)}setFov(e){this._helper.setFov(e)}setZoom(e){this._helper.setZoom(e)}setCenter(e){this._helper.setCenter(e)}setElevation(e){this._helper.setElevation(e)}setMinElevationForCurrentTile(e){this._helper.setMinElevationForCurrentTile(e)}setPadding(e){this._helper.setPadding(e)}interpolatePadding(e,t,n){return this._helper.interpolatePadding(e,t,n)}isPaddingEqual(e){return this._helper.isPaddingEqual(e)}resize(e,t){this._helper.resize(e,t)}getMaxBounds(){return this._helper.getMaxBounds()}setMaxBounds(e){this._helper.setMaxBounds(e)}overrideNearFarZ(e,t){this._helper.overrideNearFarZ(e,t)}clearNearFarZOverride(){this._helper.clearNearFarZOverride()}getCameraQueryGeometry(e){return this._helper.getCameraQueryGeometry(this.getCameraPoint(),e)}get tileSize(){return this._helper.tileSize}get tileZoom(){return this._helper.tileZoom}get scale(){return this._helper.scale}get worldSize(){return this._helper.worldSize}get width(){return this._helper.width}get height(){return this._helper.height}get lngRange(){return this._helper.lngRange}get latRange(){return this._helper.latRange}get minZoom(){return this._helper.minZoom}get maxZoom(){return this._helper.maxZoom}get zoom(){return this._helper.zoom}get center(){return this._helper.center}get minPitch(){return this._helper.minPitch}get maxPitch(){return this._helper.maxPitch}get pitch(){return this._helper.pitch}get pitchInRadians(){return this._helper.pitchInRadians}get roll(){return this._helper.roll}get rollInRadians(){return this._helper.rollInRadians}get bearing(){return this._helper.bearing}get bearingInRadians(){return this._helper.bearingInRadians}get fov(){return this._helper.fov}get fovInRadians(){return this._helper.fovInRadians}get elevation(){return this._helper.elevation}get minElevationForCurrentTile(){return this._helper.minElevationForCurrentTile}get padding(){return this._helper.padding}get unmodified(){return this._helper.unmodified}get renderWorldCopies(){return this._helper.renderWorldCopies}get nearZ(){return this._helper.nearZ}get farZ(){return this._helper.farZ}get autoCalculateNearFarZ(){return this._helper.autoCalculateNearFarZ}setTransitionState(e){}constructor(){this._cachedClippingPlane=t.bk(),this._projectionMatrix=t.b1(),this._globeViewProjMatrix32f=t.b0(),this._globeViewProjMatrixNoCorrection=t.b1(),this._globeViewProjMatrixNoCorrectionInverted=t.b1(),this._globeProjMatrixInverted=t.b1(),this._cameraPosition=t.bh(),this._globeLatitudeErrorCorrectionRadians=0,this._helper=new Ft({calcMatrices:()=>{this._calcMatrices()},getConstrained:(e,t)=>this.getConstrained(e,t)}),this._coveringTilesDetailsProvider=new hn}clone(){let e=new gn;return e.apply(this),e}apply(e,t){this._globeLatitudeErrorCorrectionRadians=t||0,this._helper.apply(e)}get projectionMatrix(){return this._projectionMatrix}get modelViewProjectionMatrix(){return this._globeViewProjMatrixNoCorrection}get inverseProjectionMatrix(){return this._globeProjMatrixInverted}get cameraPosition(){let e=t.bh();return e[0]=this._cameraPosition[0],e[1]=this._cameraPosition[1],e[2]=this._cameraPosition[2],e}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}getProjectionData(e){let{overscaledTileID:t,applyGlobeMatrix:n}=e,r=this._helper.getMercatorTileCoordinates(t);return{mainMatrix:this._globeViewProjMatrix32f,tileMercatorCoords:r,clippingPlane:this._cachedClippingPlane,projectionTransition:+!!n,fallbackMatrix:this._globeViewProjMatrix32f}}_computeClippingPlane(e){let n=this.pitchInRadians,r=this.cameraToCenterDistance/e,i=Math.sin(n)*r,a=Math.cos(n)*r+1,o=1/Math.sqrt(i*i+a*a)*1,s=-i,c=a,l=Math.sqrt(s*s+c*c);s/=l,c/=l;let u=[0,s,c];t.bl(u,u,[0,0,0],-this.bearingInRadians),t.bm(u,u,[0,0,0],-1*this.center.lat*Math.PI/180),t.bn(u,u,[0,0,0],this.center.lng*Math.PI/180);let d=1/t.bo(u);return t.aO(u,u,d),[...u,-o*d]}isLocationOccluded(e){return!this.isSurfacePointVisible(rn(e))}transformLightDirection(e){let n=this._helper._center.lng*Math.PI/180,r=this._helper._center.lat*Math.PI/180,i=Math.cos(r),a=[Math.sin(n)*i,Math.sin(r),Math.cos(n)*i],o=[a[2],0,-a[0]],s=[0,0,0];t.aU(s,o,a),t.aT(o,o),t.aT(s,s);let c=[0,0,0];return t.aT(c,[o[0]*e[0]+s[0]*e[1]+a[0]*e[2],o[1]*e[0]+s[1]*e[1]+a[1]*e[2],o[2]*e[0]+s[2]*e[1]+a[2]*e[2]]),c}getPixelScale(){return 1/Math.cos(this._helper._center.lat*Math.PI/180)}getCircleRadiusCorrection(){return Math.cos(this._helper._center.lat*Math.PI/180)}getPitchedTextCorrection(e,n,r){let i=function(e,n,r){let i=1/(1<<r.z);return new t.$(e/t.Z*i+r.x*i,n/t.Z*i+r.y*i)}(e,n,r.canonical),a=(o=i.y,[t.bg(i.x*Math.PI*2+Math.PI,2*Math.PI),2*Math.atan(Math.exp(Math.PI-o*Math.PI*2))-.5*Math.PI]);var o;return this.getCircleRadiusCorrection()/Math.cos(a[1])}projectTileCoordinates(e,n,r,i){let a=r.canonical,o=nn(e,n,a.x,a.y,a.z),s=1+(i?i(e,n):0)/t.bu,c=[o[0]*s,o[1]*s,o[2]*s,1];t.at(c,c,this._globeViewProjMatrixNoCorrection);let l=this._cachedClippingPlane,u=l[0]*o[0]+l[1]*o[1]+l[2]*o[2]+l[3]<0;return{point:new t.P(c[0]/c[3],c[1]/c[3]),signedDistanceFromCamera:c[3],isOccluded:u}}
695_calcMatrices(){if(!this._helper._width||!this._helper._height)return;let e=an(this.worldSize,this.center.lat),n=t.b2(),r=t.b2();this._helper.autoCalculateNearFarZ&&(this._helper._nearZ=.5,this._helper._farZ=this.cameraToCenterDistance+2*e),t.aY(n,this.fovInRadians,this.width/this.height,this._helper._nearZ,this._helper._farZ);let i=this.centerOffset;n[8]=2*-i.x/this._helper._width,n[9]=2*i.y/this._helper._height,this._projectionMatrix=t.aZ(n),this._globeProjMatrixInverted=t.b2(),t.an(this._globeProjMatrixInverted,n),t.L(n,n,[0,0,-this.cameraToCenterDistance]),t.a_(n,n,this.rollInRadians),t.a$(n,n,-this.pitchInRadians),t.a_(n,n,this.bearingInRadians),t.L(n,n,[0,0,-e]);let a=t.bh();a[0]=e,a[1]=e,a[2]=e,t.a$(r,n,this.center.lat*Math.PI/180),t.bp(r,r,-this.center.lng*Math.PI/180),t.M(r,r,a),this._globeViewProjMatrixNoCorrection=r,t.a$(n,n,this.center.lat*Math.PI/180-this._globeLatitudeErrorCorrectionRadians),t.bp(n,n,-this.center.lng*Math.PI/180),t.M(n,n,a),this._globeViewProjMatrix32f=new Float32Array(n),this._globeViewProjMatrixNoCorrectionInverted=t.b2(),t.an(this._globeViewProjMatrixNoCorrectionInverted,r);let o=t.bh();this._cameraPosition=t.bh(),this._cameraPosition[2]=this.cameraToCenterDistance/e,t.bl(this._cameraPosition,this._cameraPosition,o,-this.rollInRadians),t.bm(this._cameraPosition,this._cameraPosition,o,this.pitchInRadians),t.bl(this._cameraPosition,this._cameraPosition,o,-this.bearingInRadians),t.aP(this._cameraPosition,this._cameraPosition,[0,0,1]),t.bm(this._cameraPosition,this._cameraPosition,o,-this.center.lat*Math.PI/180),t.bn(this._cameraPosition,this._cameraPosition,o,this.center.lng*Math.PI/180),this._cachedClippingPlane=this._computeClippingPlane(e);let s=t.aZ(this._globeViewProjMatrixNoCorrectionInverted);t.M(s,s,[1,1,-1]),this._cachedFrustum=Rt.fromInvProjectionMatrix(s)}calculateFogMatrix(e){t.w(`calculateFogMatrix is not supported on globe projection.`);let n=t.b2();return t.ad(n),n}getVisibleUnwrappedCoordinates(e){return[new t.aW(0,e)]}getCameraFrustum(){return this._cachedFrustum}getClippingPlane(){return this._cachedClippingPlane}getCoveringTilesDetailsProvider(){return this._coveringTilesDetailsProvider}recalculateZoomAndCenter(e){e&&t.w(`terrain is not fully supported on vertical perspective projection.`),this._helper.recalculateZoomAndCenter(0)}maxPitchScaleFactor(){return 1}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return this._helper.getCameraAltitude()}getCameraLngLat(){return this._helper.getCameraLngLat()}lngLatToCameraDepth(e,n){if(!this._globeViewProjMatrixNoCorrection)return 1;let r=rn(e);t.aO(r,r,1+n/t.bu);let i=t.bk();return t.at(i,[r[0],r[1],r[2],1],this._globeViewProjMatrixNoCorrection),i[2]/i[3]}populateCache(e){}getBounds(){let e=.5*this.width,n=.5*this.height,r=[new t.P(0,0),new t.P(e,0),new t.P(this.width,0),new t.P(this.width,n),new t.P(this.width,this.height),new t.P(e,this.height),new t.P(0,this.height),new t.P(0,n)],i=[];for(let e of r)i.push(this.unprojectScreenPoint(e));let a=0,o=0,s=0,c=0,l=this.center;for(let e of i){let n=t.bq(l.lng,e.lng),r=t.bq(l.lat,e.lat);n<o&&(o=n),n>a&&(a=n),r<c&&(c=r),r>s&&(s=r)}let u=[l.lng+o,l.lat+c,l.lng+a,l.lat+s];return this.isSurfacePointOnScreen([0,1,0])&&(u[3]=90,u[0]=-180,u[2]=180),this.isSurfacePointOnScreen([0,-1,0])&&(u[1]=-90,u[0]=-180,u[2]=180),new P(u)}getConstrained(e,n){let r=t.ae(e.lat,-85.051129,t.af),i=t.ae(+n,this.minZoom+cn(0,r),this.maxZoom);return{center:new t.Q(e.lng,r),zoom:i}}calculateCenterFromCameraLngLatAlt(e,t,n,r){return this._helper.calculateCenterFromCameraLngLatAlt(e,t,n,r)}setLocationAtPoint(e,n){let r=rn(this.unprojectScreenPoint(n)),i=rn(e),a=t.bh();t.br(a);let o=t.bh();t.bn(o,r,a,-this.center.lng*Math.PI/180),t.bm(o,o,a,this.center.lat*Math.PI/180);let s=i[0]*i[0]+i[2]*i[2],c=o[0]*o[0];if(s<c)return;let l=Math.sqrt(s-c),u=-l,d=t.bs(i[0],i[2],o[0],l),f=t.bs(i[0],i[2],o[0],u),p=t.bh();t.bn(p,i,a,-d);let m=t.bs(p[1],p[2],o[1],o[2]),h=t.bh();t.bn(h,i,a,-f);let g=t.bs(h[1],h[2],o[1],o[2]),_=.5*Math.PI,v=m>=-_&&m<=_,y=g>=-_&&g<=_,b,x;if(v&&y){let e=this.center.lng*Math.PI/180,n=this.center.lat*Math.PI/180;
695t.bv(d,e)+t.bv(m,n)<t.bv(f,e)+t.bv(g,n)?(b=d,x=m):(b=f,x=g)}else if(v)b=d,x=m;else{if(!y)return;b=f,x=g}let S=b/Math.PI*180,C=x/Math.PI*180,w=this.center.lat;this.setCenter(new t.Q(S,t.ae(C,-90,90))),this.setZoom(this.zoom+cn(w,this.center.lat))}locationToScreenPoint(e,n){let r=rn(e);if(n){let i=n.getElevationForLngLatZoom(e,this._helper._tileZoom);t.aO(r,r,1+i/t.bu)}return this._projectSurfacePointToScreen(r)}_projectSurfacePointToScreen(e){let n=t.bk();return t.at(n,[...e,1],this._globeViewProjMatrixNoCorrection),n[0]/=n[3],n[1]/=n[3],new t.P((.5*n[0]+.5)*this.width,(.5*-n[1]+.5)*this.height)}screenPointToMercatorCoordinate(e,n){if(n){let t=n.pointCoordinate(e);if(t)return t}return t.$.fromLngLat(this.unprojectScreenPoint(e))}screenPointToLocation(e,t){return this.screenPointToMercatorCoordinate(e,t)?.toLngLat()}isPointOnMapSurface(e,t){let n=this._cameraPosition,r=this.getRayDirectionFromPixel(e);return!!this.rayPlanetIntersection(n,r)}getRayDirectionFromPixel(e){let n=t.bk();n[0]=e.x/this.width*2-1,n[1]=-1*(e.y/this.height*2-1),n[2]=1,n[3]=1,t.at(n,n,this._globeViewProjMatrixNoCorrectionInverted),n[0]/=n[3],n[1]/=n[3],n[2]/=n[3];let r=t.bh();r[0]=n[0]-this._cameraPosition[0],r[1]=n[1]-this._cameraPosition[1],r[2]=n[2]-this._cameraPosition[2];let i=t.bh();return t.aT(i,r),i}isSurfacePointVisible(e){let t=this._cachedClippingPlane;return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]>=0}isSurfacePointOnScreen(e){if(!this.isSurfacePointVisible(e))return!1;let n=t.bk();return t.at(n,[...e,1],this._globeViewProjMatrixNoCorrection),n[0]/=n[3],n[1]/=n[3],n[2]/=n[3],n[0]>-1&&n[0]<1&&n[1]>-1&&n[1]<1&&n[2]>-1&&n[2]<1}rayPlanetIntersection(e,n){let r=t.aV(e,n),i=t.bh(),a=t.bh();t.aO(a,n,r),t.aS(i,e,a);let o=1-t.aV(i,i);if(o<0)return null;let s=t.aV(e,e)-1,c=-r+(r<0?1:-1)*Math.sqrt(o),l=s/c,u=c;return{tMin:Math.min(l,u),tMax:Math.max(l,u)}}unprojectScreenPoint(e){let n=this._cameraPosition,r=this.getRayDirectionFromPixel(e),i=this.rayPlanetIntersection(n,r);if(i){let e=t.bh();t.aP(e,n,[r[0]*i.tMin,r[1]*i.tMin,r[2]*i.tMin]);let a=t.bh();return t.aT(a,e),on(a)}let a=this._cachedClippingPlane,o=a[0]*r[0]+a[1]*r[1]+a[2]*r[2],s=-t.bt(a,n)/o,c=t.bh();if(s>0)t.aP(c,n,[r[0]*s,r[1]*s,r[2]*s]);else{let e=t.bh();t.aP(e,n,[2*r[0],2*r[1],2*r[2]]);let i=t.bt(this._cachedClippingPlane,e);t.aS(c,e,[this._cachedClippingPlane[0]*i,this._cachedClippingPlane[1]*i,this._cachedClippingPlane[2]*i])}let l=function(e){let n=t.bh();return n[0]=e[0]*-e[3],n[1]=e[1]*-e[3],n[2]=e[2]*-e[3],{center:n,radius:Math.sqrt(1-e[3]*e[3])}}(a);return on(function(e,n,r){let i=t.bh();t.aS(i,r,e);let a=t.bh();return t.bi(a,e,i,n/t.bj(i)),a}(l.center,l.radius,c))}getMatrixForModel(e,n){let r=t.Q.convert(e),i=1/t.bu,a=t.b1();return t.bp(a,a,r.lng/180*Math.PI),t.a$(a,a,-r.lat/180*Math.PI),t.L(a,a,[0,0,1+n/t.bu]),t.a$(a,a,.5*Math.PI),t.M(a,a,[i,i,i]),a}getProjectionDataForCustomLayer(e=!0){let n=this.getProjectionData({overscaledTileID:new t.Y(0,0,0,0,0),applyGlobeMatrix:e});return n.tileMercatorCoords=[0,0,1,1],n}getFastPathSimpleProjectionMatrix(e){}}class _n{get pixelsToClipSpaceMatrix(){return this._helper.pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._helper.clipSpaceToPixelsMatrix}get pixelsToGLUnits(){return this._helper.pixelsToGLUnits}get centerOffset(){return this._helper.centerOffset}get size(){return this._helper.size}get rotationMatrix(){return this._helper.rotationMatrix}get centerPoint(){return this._helper.centerPoint}get pixelsPerMeter(){return this._helper.pixelsPerMeter}setMinZoom(e){this._helper.setMinZoom(e)}setMaxZoom(e){this._helper.setMaxZoom(e)}setMinPitch(e){this._helper.setMinPitch(e)}setMaxPitch(e){this._helper.setMaxPitch(e)}setRenderWorldCopies(e){this._helper.setRenderWorldCopies(e)}setBearing(e){this._helper.setBearing(e)}setPitch(e){this._helper.setPitch(e)}setRoll(e){this._helper.setRoll(e)}setFov(e){this._helper.setFov(e)}setZoom(e){this._helper.setZoom(e)}setCenter(e){this._helper.setCenter(e)}setElevation(e){this._helper.setElevation(e)}setMinElevationForCurrentTile(e){this._helper.setMinElevationForCurrentTile(e)}setPadding(e){this._helper.setPadding(e)}interpolatePadding(e,t,n){return this._helper.interpolatePadding(e,t,n)}isPaddingEqual(e){return this._helper.isPaddingEqual(e)}resize(e,t,n=!0){this._helper.resize(e,t,n)}getMaxBounds(){return this._helper.getMaxBounds()}setMaxBounds(e){this._helper.setMaxBounds(e)}
695overrideNearFarZ(e,t){this._helper.overrideNearFarZ(e,t)}clearNearFarZOverride(){this._helper.clearNearFarZOverride()}getCameraQueryGeometry(e){return this._helper.getCameraQueryGeometry(this.getCameraPoint(),e)}get tileSize(){return this._helper.tileSize}get tileZoom(){return this._helper.tileZoom}get scale(){return this._helper.scale}get worldSize(){return this._helper.worldSize}get width(){return this._helper.width}get height(){return this._helper.height}get lngRange(){return this._helper.lngRange}get latRange(){return this._helper.latRange}get minZoom(){return this._helper.minZoom}get maxZoom(){return this._helper.maxZoom}get zoom(){return this._helper.zoom}get center(){return this._helper.center}get minPitch(){return this._helper.minPitch}get maxPitch(){return this._helper.maxPitch}get pitch(){return this._helper.pitch}get pitchInRadians(){return this._helper.pitchInRadians}get roll(){return this._helper.roll}get rollInRadians(){return this._helper.rollInRadians}get bearing(){return this._helper.bearing}get bearingInRadians(){return this._helper.bearingInRadians}get fov(){return this._helper.fov}get fovInRadians(){return this._helper.fovInRadians}get elevation(){return this._helper.elevation}get minElevationForCurrentTile(){return this._helper.minElevationForCurrentTile}get padding(){return this._helper.padding}get unmodified(){return this._helper.unmodified}get renderWorldCopies(){return this._helper.renderWorldCopies}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}get nearZ(){return this._helper.nearZ}get farZ(){return this._helper.farZ}get autoCalculateNearFarZ(){return this._helper.autoCalculateNearFarZ}get isGlobeRendering(){return this._globeness>0}setTransitionState(e,t){this._globeness=e,this._globeLatitudeErrorCorrectionRadians=t,this._calcMatrices(),this._verticalPerspectiveTransform.getCoveringTilesDetailsProvider().recalculateCache(),this._mercatorTransform.getCoveringTilesDetailsProvider().recalculateCache()}get currentTransform(){return this.isGlobeRendering?this._verticalPerspectiveTransform:this._mercatorTransform}constructor(){this._globeLatitudeErrorCorrectionRadians=0,this._globeness=1,this._helper=new Ft({calcMatrices:()=>{this._calcMatrices()},getConstrained:(e,t)=>this.getConstrained(e,t)}),this._globeness=1,this._mercatorTransform=new zt,this._verticalPerspectiveTransform=new gn}clone(){let e=new _n;return e._globeness=this._globeness,e._globeLatitudeErrorCorrectionRadians=this._globeLatitudeErrorCorrectionRadians,e.apply(this),e}apply(e){this._helper.apply(e),this._mercatorTransform.apply(this),this._verticalPerspectiveTransform.apply(this,this._globeLatitudeErrorCorrectionRadians)}get projectionMatrix(){return this.currentTransform.projectionMatrix}get modelViewProjectionMatrix(){return this.currentTransform.modelViewProjectionMatrix}get inverseProjectionMatrix(){return this.currentTransform.inverseProjectionMatrix}get cameraPosition(){return this.currentTransform.cameraPosition}getProjectionData(e){let t=this._mercatorTransform.getProjectionData(e),n=this._verticalPerspectiveTransform.getProjectionData(e);return{mainMatrix:this.isGlobeRendering?n.mainMatrix:t.mainMatrix,clippingPlane:n.clippingPlane,tileMercatorCoords:n.tileMercatorCoords,projectionTransition:e.applyGlobeMatrix?this._globeness:0,fallbackMatrix:t.fallbackMatrix}}isLocationOccluded(e){return this.currentTransform.isLocationOccluded(e)}transformLightDirection(e){return this.currentTransform.transformLightDirection(e)}getPixelScale(){return t.bc(this._mercatorTransform.getPixelScale(),this._verticalPerspectiveTransform.getPixelScale(),this._globeness)}getCircleRadiusCorrection(){return t.bc(this._mercatorTransform.getCircleRadiusCorrection(),this._verticalPerspectiveTransform.getCircleRadiusCorrection(),this._globeness)}getPitchedTextCorrection(e,n,r){let i=this._mercatorTransform.getPitchedTextCorrection(e,n,r),a=this._verticalPerspectiveTransform.getPitchedTextCorrection(e,n,r);return t.bc(i,a,this._globeness)}projectTileCoordinates(e,t,n,r){return this.currentTransform.projectTileCoordinates(e,t,n,r)}_calcMatrices(){this._helper._width&&this._helper._height&&(this._verticalPerspectiveTransform.apply(this,this._globeLatitudeErrorCorrectionRadians),this._helper._nearZ=this._verticalPerspectiveTransform.nearZ,this._helper._farZ=this._verticalPerspectiveTransform.farZ,this._mercatorTransform.apply(this,!0,this.isGlobeRendering),this._helper._nearZ=this._mercatorTransform.nearZ,this._helper._farZ=this._mercatorTransform.farZ)}calculateFogMatrix(e){return this.currentTransform.calculateFogMatrix(e)}getVisibleUnwrappedCoordinates(e){return this.currentTransform.getVisibleUnwrappedCoordinates(e)}getCameraFrustum(){return this.currentTransform.getCameraFrustum()}getClippingPlane(){return this.currentTransform.getClippingPlane()}getCoveringTilesDetailsProvider(){return this.currentTransform.getCoveringTilesDetailsProvider()}recalculateZoomAndCenter(e){this._mercatorTransform.recalculateZoomAndCenter(e),this._verticalPerspectiveTransform.recalculateZoomAndCenter(e)}maxPitchScaleFactor(){return this._mercatorTransform.maxPitchScaleFactor()}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return this._helper.getCameraAltitude()}getCameraLngLat(){return this._helper.getCameraLngLat()}lngLatToCameraDepth(e,t){return this.currentTransform.lngLatToCameraDepth(e,t)}populateCache(e){this._mercatorTransform.populateCache(e),this._verticalPerspectiveTransform.populateCache(e)}getBounds(){return this.currentTransform.getBounds()}getConstrained(e,t){return this.currentTransform.getConstrained(e,t)}calculateCenterFromCameraLngLatAlt(e,t,n,r){return this._helper.calculateCenterFromCameraLngLatAlt(e,t,n,r)}setLocationAtPoint(e,t){if(!this.isGlobeRendering)return this._mercatorTransform.setLocationAtPoint(e,t),void this.apply(this._mercatorTransform);this._verticalPerspectiveTransform.setLocationAtPoint(e,t),this.apply(this._verticalPerspectiveTransform)}locationToScreenPoint(e,t){return this.currentTransform.locationToScreenPoint(e,t)}screenPointToMercatorCoordinate(e,t){return this.currentTransform.screenPointToMercatorCoordinate(e,t)}screenPointToLocation(e,t){return this.currentTransform.screenPointToLocation(e,t)}
695isPointOnMapSurface(e,t){return this.currentTransform.isPointOnMapSurface(e,t)}getRayDirectionFromPixel(e){return this._verticalPerspectiveTransform.getRayDirectionFromPixel(e)}getMatrixForModel(e,t){return this.currentTransform.getMatrixForModel(e,t)}getProjectionDataForCustomLayer(e=!0){let t=this._mercatorTransform.getProjectionDataForCustomLayer(e);if(!this.isGlobeRendering)return t;let n=this._verticalPerspectiveTransform.getProjectionDataForCustomLayer(e);return n.fallbackMatrix=t.mainMatrix,n}getFastPathSimpleProjectionMatrix(e){return this.currentTransform.getFastPathSimpleProjectionMatrix(e)}}class vn{get useGlobeControls(){return!0}handlePanInertia(e,n){let r=ln(e,n);return Math.abs(r.lng-n.center.lng)>180&&(r.lng=n.center.lng+179.5*Math.sign(r.lng-n.center.lng)),{easingCenter:r,easingOffset:new t.P(0,0)}}handleMapControlsRollPitchBearingZoom(e,n){let r=e.around,i=n.screenPointToLocation(r);e.bearingDelta&&n.setBearing(n.bearing+e.bearingDelta),e.pitchDelta&&n.setPitch(n.pitch+e.pitchDelta),e.rollDelta&&n.setRoll(n.roll+e.rollDelta);let a=n.zoom;e.zoomDelta&&n.setZoom(n.zoom+e.zoomDelta);let o=n.zoom-a;if(o===0)return;let s=t.bq(n.center.lng,i.lng),c=s/(Math.abs(s/180)+1),l=t.bq(n.center.lat,i.lat),u=n.getRayDirectionFromPixel(r),d=n.cameraPosition,f=-1*t.aV(d,u),p=t.bh();t.aP(p,d,[u[0]*f,u[1]*f,u[2]*f]);let m=t.bo(p)-1,h=Math.exp(.5*-Math.max(m-.3,0)),g=an(n.worldSize,n.center.lat)/Math.min(n.width,n.height),_=t.bf(g,.9,.5,1,.25),v=(1-t.ac(-o))*Math.min(h,_),y=n.center.lat,b=n.zoom,x=new t.Q(n.center.lng+c*v,t.ae(n.center.lat+l*v,-85.051129,t.af));n.setLocationAtPoint(i,r);let S=n.center,C=t.bf(Math.abs(s),45,85,0,1),w=t.bf(g,.75,.35,0,1),T=Math.max(C,w)**.25,E=t.bq(S.lng,x.lng),D=t.bq(S.lat,x.lat);n.setCenter(new t.Q(S.lng+E*T,S.lat+D*T).wrap()),n.setZoom(b+cn(y,n.center.lat))}handleMapControlsPan(e,t,n){if(!e.panDelta)return;let r=t.center.lat,i=t.zoom;t.setCenter(ln(e.panDelta,t).wrap()),t.setZoom(i+cn(r,t.center.lat))}cameraForBoxAndBearing(e,n,r,i,a){let o=Ht(e,n,r,i,a),s=n.left/a.width*2-1,c=(a.width-n.right)/a.width*2-1,l=n.top/a.height*-2+1,u=(a.height-n.bottom)/a.height*-2+1,d=t.bq(r.getWest(),r.getEast())<0,f=d?r.getEast():r.getWest(),p=d?r.getWest():r.getEast(),m=Math.max(r.getNorth(),r.getSouth()),h=Math.min(r.getNorth(),r.getSouth()),g=f+.5*t.bq(f,p),_=m+.5*t.bq(m,h),v=a.clone();v.setCenter(o.center),v.setBearing(o.bearing),v.setPitch(0),v.setRoll(0),v.setZoom(o.zoom);let y=v.modelViewProjectionMatrix,b=[rn(r.getNorthWest()),rn(r.getNorthEast()),rn(r.getSouthWest
695()),rn(r.getSouthEast()),rn(new t.Q(p,_)),rn(new t.Q(f,_)),rn(new t.Q(g,m)),rn(new t.Q(g,h))],x=rn(o.center),S=1/0;for(let e of b)s<0&&(S=vn.getLesserNonNegativeNonNull(S,vn.solveVectorScale(e,x,y,`x`,s))),c>0&&(S=vn.getLesserNonNegativeNonNull(S,vn.solveVectorScale(e,x,y,`x`,c))),l>0&&(S=vn.getLesserNonNegativeNonNull(S,vn.solveVectorScale(e,x,y,`y`,l))),u<0&&(S=vn.getLesserNonNegativeNonNull(S,vn.solveVectorScale(e,x,y,`y`,u)));if(Number.isFinite(S)&&S!==0)return o.zoom=v.zoom+t.ah(S),o;Bt()}handleJumpToCenterZoom(e,n){let r=e.center.lat,i=e.getConstrained(n.center?t.Q.convert(n.center):e.center,e.zoom).center;e.setCenter(i.wrap());let a=n.zoom===void 0?e.zoom+cn(r,i.lat):+n.zoom;e.zoom!==a&&e.setZoom(a)}handleEaseTo(e,n){let r=e.zoom,i=e.center,a=e.padding,o={roll:e.roll,pitch:e.pitch,bearing:e.bearing},s={roll:n.roll===void 0?e.roll:n.roll,pitch:n.pitch===void 0?e.pitch:n.pitch,bearing:n.bearing===void 0?e.bearing:n.bearing},c=n.zoom!==void 0,l=!e.isPaddingEqual(n.padding),u=!1,d=n.center?t.Q.convert(n.center):i,f=e.getConstrained(d,r).center;Nt(e,f);let p=e.clone();p.setCenter(f),p.setZoom(c?+n.zoom:r+cn(i.lat,d.lat)),p.setBearing(n.bearing);let m=new t.P(t.ae(e.centerPoint.x+n.offsetAsPoint.x,0,e.width),t.ae(e.centerPoint.y+n.offsetAsPoint.y,0,e.height));p.setLocationAtPoint(f,m);let h=(n.offset&&n.offsetAsPoint.mag())>0?p.center:f,g=c?+n.zoom:r+cn(i.lat,h.lat),_=r+cn(i.lat,0),v=g+cn(h.lat,0),y=t.bq(i.lng,h.lng),b=t.bq(i.lat,h.lat),x=t.ac(v-_);return u=g!==r,{easeFunc:r=>{if(t.b6(o,s)||Vt({startEulerAngles:o,endEulerAngles:s,tr:e,k:r,useSlerp:o.roll!=s.roll}),l&&e.interpolatePadding(a,n.padding,r),n.around)t.w(`Easing around a point is not supported under globe projection.`),e.setLocationAtPoint(n.around,n.aroundPoint);else{let t=dn(i,y,b,r*(v>_?Math.min(2,x):Math.max(.5,x))**(1-r));e.setCenter(t.wrap())}if(u){let n=t.B.number(_,v,r)+cn(0,e.center.lat);e.setZoom(n)}},isZooming:u,elevationCenter:h}}handleFlyTo(e,n){let r=n.zoom!==void 0,i=e.center,a=e.zoom,o=e.padding,s=!e.isPaddingEqual(n.padding),c=e.getConstrained(t.Q.convert(n.center||n.locationAtOffset),a).center,l=r?+n.zoom:e.zoom+cn(e.center.lat,c.lat),u=e.clone();u.setCenter(c),u.setZoom(l),u.setBearing(n.bearing);let d=new t.P(t.ae(e.centerPoint.x+n.offsetAsPoint.x,0,e.width),t.ae(e.centerPoint.y+n.offsetAsPoint.y,0,e.height));u.setLocationAtPoint(c,d);let f=u.center;Nt(e,f);let p=function(e,n,r){let i=rn(n),a=rn(r),o=t.aV(i,a),s=Math.acos(o),c=tn(e);return s/(2*Math.PI)*c}(e,i,f),m=a+cn(i.lat,0),h=l+cn(f.lat,0),g=t.ac(h-m),_;if(typeof n.minZoom==`number`){let r=+n.minZoom+cn(f.lat,0),i=Math.min(r,m,h)+cn(0,f.lat),a=e.getConstrained(f,i).zoom+cn(f.lat,0);_=t.ac(a-m)}let v=t.bq(i.lng,f.lng),y=t.bq(i.lat,f.lat);return{easeFunc:(r,a,c,u)=>{let d=dn(i,v,y,c);s&&e.interpolatePadding(o,n.padding,r);let p=r===1?f:d;e.setCenter(p.wrap());let h=m+t.ah(a);e.setZoom(r===1?l:h+cn(0,p.lat))},scaleOfZoom:g,targetCenter:f,scaleOfMinZoom:_,pixelPathLength:p}}static solveVectorScale(e,t,n,r,i){let a=r===`x`?[n[0],n[4],n[8],n[12]]:[n[1],n[5],n[9],n[13]],o=[n[3],n[7],n[11],n[15]],s=e[0]*a[0]+e[1]*a[1]+e[2]*a[2],c=e[0]*o[0]+e[1]*o[1]+e[2]*o[2],l=t[0]*a[0]+t[1]*a[1]+t[2]*a[2],u=t[0]*o[0]+t[1]*o[1]+t[2]*o[2];return l+i*c===s+i*u||o[3]*(s-l)+a[3]*(u-c)+s*u==l*c?null:(l+a[3]-i*u-i*o[3])/(l-s-i*u+i*c)}static getLesserNonNegativeNonNull(e,t){return t!==null&&t>=0&&t<e?t:e}}class yn{constructor(e){this._globe=e,this._mercatorCameraHelper=new Ut,this._verticalPerspectiveCameraHelper=new vn}get useGlobeControls(){return this._globe.useGlobeRendering}get currentHelper(){return this.useGlobeControls?this._verticalPerspectiveCameraHelper:this._mercatorCameraHelper}handlePanInertia(e,t){return this.currentHelper.handlePanInertia(e,t)}handleMapControlsRollPitchBearingZoom(e,t){return this.currentHelper.handleMapControlsRollPitchBearingZoom(e,t)}handleMapControlsPan(e,t,n){this.currentHelper.handleMapControlsPan(e,t,n)}cameraForBoxAndBearing(e,t,n,r,i){return this.currentHelper.cameraForBoxAndBearing(e,t,n,r,i)}handleJumpToCenterZoom(e,t){this.currentHelper.handleJumpToCenterZoom(e,t)}handleEaseTo(e,t){return this.currentHelper.handleEaseTo(e,t)}handleFlyTo(e,t){return this.currentHelper.handleFlyTo(e,t)}}let bn=(e,n)=>t.x(e,n&&n.filter((e=>e.identifier!==`source.canvas`))),xn=t.bw();class Sn extends t.E{constructor(e,n={}){super(),this._rtlPluginLoaded=()=>{for(let e in this.sourceCaches){let t=this.sourceCaches[e].getSource().type;t!==`vector`&&t!==`geojson`||this.sourceCaches[e].reload()}},this.map=e,this.dispatcher=new ie(M(),e._getMapId()),this.dispatcher.registerMessageHandler(`GG`,((e,t)=>
695this.getGlyphs(e,t))),this.dispatcher.registerMessageHandler(`GI`,((e,t)=>this.getImages(e,t))),this.imageManager=new b,this.imageManager.setEventedParent(this),this.glyphManager=new w(e._requestManager,n.localIdeographFontFamily),this.lineAtlas=new A(256,512),this.crossTileSymbolIndex=new Tt,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.bx,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(`SR`,t.by()),xe().on(ve,this._rtlPluginLoaded),this.on(`data`,(e=>{if(e.dataType!==`source`||e.sourceDataType!==`metadata`)return;let t=this.sourceCaches[e.sourceId];if(!t)return;let n=t.getSource();if(n&&n.vectorLayerIds)for(let e in this._layers){let t=this._layers[e];t.source===n.id&&this._validateLayer(t)}}))}loadURL(e,n={},r){this.fire(new t.l(`dataloading`,{dataType:`style`})),n.validate=typeof n.validate!=`boolean`||n.validate;let i=this.map._requestManager.transformRequest(e,`Style`);this._loadStyleRequest=new AbortController;let a=this._loadStyleRequest;t.j(i,this._loadStyleRequest).then((e=>{this._loadStyleRequest=null,this._load(e.data,n,r)})).catch((e=>{this._loadStyleRequest=null,e&&!a.signal.aborted&&this.fire(new t.k(e))}))}loadJSON(e,n={},r){this.fire(new t.l(`dataloading`,{dataType:`style`})),this._frameRequest=new AbortController,o.frameAsync(this._frameRequest).then((()=>{this._frameRequest=null,n.validate=!1!==n.validate,this._load(e,n,r)})).catch((()=>{}))}loadEmpty(){this.fire(new t.l(`dataloading`,{dataType:`style`})),this._load(xn,{validate:!1})}_load(e,n,r){let i=n.transformStyle?n.transformStyle(r,e):e;if(!n.validate||!bn(this,t.y(i))){this._loaded=!0,this.stylesheet=i;for(let e in i.sources)this.addSource(e,i.sources[e],{validate:!1});i.sprite?this._loadSprite(i.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(i.glyphs),this._createLayers(),this.light=new D(this.stylesheet.light),this._setProjectionInternal(this.stylesheet.projection?.type||`mercator`),this.sky=new k(this.stylesheet.sky),this.map.setTerrain(this.stylesheet.terrain??null),this.fire(new t.l(`data`,{dataType:`style`})),this.fire(new t.l(`style.load`))}}_createLayers(){let e=t.bz(this.stylesheet.layers);this.dispatcher.broadcast(`SL`,e),this._order=e.map((e=>e.id)),this._layers={},this._serializedLayers=null;for(let n of e){let e=t.bA(n);e.setEventedParent(this,{layer:{id:n.id}}),this._layers[n.id]=e}}_loadSprite(e,n=!1,r=void 0){let i;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(e,n,r,i){return t._(this,void 0,void 0,(function*(){let a=g(e),s=r>1?`@2x`:``,c={},l={};for(let{id:e,url:r}of a){let a=n.transformRequest(_(r,s,`.json`),`SpriteJSON`);c[e]=t.j(a,i);let o=n.transformRequest(_(r,s,`.png`),`SpriteImage`);l[e]=m.getImage(o,i)}return yield Promise.all([...Object.values(c),...Object.values(l)]),function(e,n){return t._(this,void 0,void 0,(function*(){let t={};for(let r in e){t[r]={};let i=o.getImageCanvasContext((yield n[r]).data),a=(yield e[r]).data;for(let e in a){let{width:n,height:o,x:s,y:c,sdf:l,pixelRatio:u,stretchX:d,stretchY:f,content:p,textFitWidth:m,textFitHeight:h}=a[e];t[r][e]={data:null,pixelRatio:u,sdf:l,stretchX:d,stretchY:f,content:p,textFitWidth:m,textFitHeight:h,spriteData:{width:n,height:o,x:s,y:c,context:i}}}}return t}))}(c,l)}))}(e,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then((e=>{if(this._spriteRequest=null,e)for(let t in e){this._spritesImagesIds[t]=[];let r=this._spritesImagesIds[t]?this._spritesImagesIds[t].filter((t=>!(t in e))):[];for(let e of r)this.imageManager.removeImage(e),this._changedImages[e]=!0;for(let r in e[t]){let i=t==="default"?r:`${t}:${r}`;this._spritesImagesIds[t].push(i),i in this.imageManager.images?this.imageManager.updateImage(i,e[t][r],!1):this.imageManager.addImage(i,e[t][r]),n&&(this._changedImages[i]=!0)}}})).catch((e=>{this._spriteRequest=null,i=e,this.fire(new t.k(i))})).finally((()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),n&&(this._changed=!0),this.dispatcher.broadcast(`SI`,this._availableImages),this.fire(new t.l(`data`,{dataType:`style`})),r&&r(i)}))}_unloadSprite(){for(let e of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(e),this._changedImages[e]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(`SI`,this._availableImages),this.fire(new t.l(`data`,{dataType:`style`}))}_validateLayer(e){let n=this.sourceCaches[e.source];if(!n)return;let r=e.sourceLayer;if(!r)return;let i=n.getSource();(i.type===`geojson`||i.vectorLayerIds&&i.vectorLayerIds.indexOf(r)===-1)&&this.fire(new t.k(Error(`Source layer "${r}" does not exist on source "${i.id}" as specified by style layer "${e.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let e in this.sourceCaches)if(!this.sourceCaches[e].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(e,n=!1){let r=this._serializedAllLayers();if(!e||e.length===0)return Object.values(n?t.bB(r):r);let i=[];for(let a of e)if(r[a]){let e=n?t.bB(r[a]):r[a];i.push(e)}return i}_serializedAllLayers(){let e=this._serializedLayers;if(e)return e;e=this._serializedLayers={};let t=Object.keys(this._layers);for(let n of t){let t=this._layers[n];t.type!==`custom`&&(e[n]=t.serialize())}return e}hasTransitions(){if(this.light?.hasTransition()||this.sky?.hasTransition()||this.projection?.hasTransition())return!0;for(let e in this.sourceCaches)if(this.sourceCaches[e].hasTransition())return!0;for(let e in this._layers)if(this._layers[e].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw Error(`Style is not done loading.`)}update(e){if(!this._loaded)return;let n=this._changed;if(n){let t=Object.keys(this._updatedLayers),n=Object.keys(this._removedLayers);(t.length||n.length)&&this._updateWorkerLayers(t,n);for(let e in this._updatedSources){let t=this._updatedSources[e];if(t===`reload`)this._reloadSource(e);else{if(t!==`clear`)throw Error(`Invalid action ${t}`);this._clearSource(e)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let t in this._updatedPaintProps)this._layers[t].updateTransitions(e);this.light.updateTransitions(e),this.sky.updateTransitions(e),this._resetUpdates()}let r={};for(let e in this.sourceCaches){let t=this.sourceCaches[e];r[e]=t.used,t.used=!1}for(let t of this._order){let n=this._layers[t];n.recalculate(e,this._availableImages),!n.isHidden(e.zoom)&&n.source&&(this.sourceCaches[n.source].used=!0)}for(let e in r){let n=this.sourceCaches[e];!!r[e]!=!!n.used&&n.fire(new t.l(`data`,{sourceDataType:`visibility`,dataType:`source`,sourceId:e}))}this.light.recalculate(e),this.sky.recalculate(e),this.projection.recalculate(e),this.z=e.zoom,n&&this.fire(new t.l(`data`,{dataType:`style`}))}_updateTilesForChangedImages(){let e=Object.keys(this._changedImages);if(e.length){for(let t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies([`icons`,`patterns`],e);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies([`glyphs`],[``]);this._glyphsDidChange=!1}}_updateWorkerLayers(e,t){this.dispatcher.broadcast(`UL`,{layers:this._serializeByIds(e,!1),removedIds:t})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(e,n={}){var r;this._checkLoaded();let i=this.serialize();if(e=n.transformStyle?n.transformStyle(i,e):e,((r=n.validate)==null||r)&&bn(this,t.y(e)))return!1;
695(e=t.bB(e)).layers=t.bz(e.layers);let a=t.bC(i,e),o=this._getOperationsToPerform(a);if(o.unimplemented.length>0)throw Error(`Unimplemented: ${o.unimplemented.join(`, `)}.`);if(o.operations.length===0)return!1;for(let e of o.operations)e();return this.stylesheet=e,this._serializedLayers=null,!0}_getOperationsToPerform(e){let t=[],n=[];for(let r of e)switch(r.command){case`setCenter`:case`setZoom`:case`setBearing`:case`setPitch`:case`setRoll`:continue;case`addLayer`:t.push((()=>this.addLayer.apply(this,r.args)));break;case`removeLayer`:t.push((()=>this.removeLayer.apply(this,r.args)));break;case`setPaintProperty`:t.push((()=>this.setPaintProperty.apply(this,r.args)));break;case`setLayoutProperty`:t.push((()=>this.setLayoutProperty.apply(this,r.args)));break;case`setFilter`:t.push((()=>this.setFilter.apply(this,r.args)));break;case`addSource`:t.push((()=>this.addSource.apply(this,r.args)));break;case`removeSource`:t.push((()=>this.removeSource.apply(this,r.args)));break;case`setLayerZoomRange`:t.push((()=>this.setLayerZoomRange.apply(this,r.args)));break;case`setLight`:t.push((()=>this.setLight.apply(this,r.args)));break;case`setGeoJSONSourceData`:t.push((()=>this.setGeoJSONSourceData.apply(this,r.args)));break;case`setGlyphs`:t.push((()=>this.setGlyphs.apply(this,r.args)));break;case`setSprite`:t.push((()=>this.setSprite.apply(this,r.args)));break;case`setTerrain`:t.push((()=>this.map.setTerrain.apply(this,r.args)));break;case`setSky`:t.push((()=>this.setSky.apply(this,r.args)));break;case`setProjection`:this.setProjection.apply(this,r.args);break;case`setTransition`:t.push((()=>{}));break;default:n.push(r.command)}return{operations:t,unimplemented:n}}addImage(e,n){if(this.getImage(e))return this.fire(new t.k(Error(`An image named "${e}" already exists.`)));this.imageManager.addImage(e,n),this._afterImageUpdated(e)}updateImage(e,t){this.imageManager.updateImage(e,t)}getImage(e){return this.imageManager.getImage(e)}removeImage(e){if(!this.getImage(e))return this.fire(new t.k(Error(`An image named "${e}" does not exist.`)));this.imageManager.removeImage(e),this._afterImageUpdated(e)}_afterImageUpdated(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast(`SI`,this._availableImages),this.fire(new t.l(`data`,{dataType:`style`}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(e,n,r={}){if(this._checkLoaded(),this.sourceCaches[e]!==void 0)throw Error(`Source "${e}" already exists.`);if(!n.type)throw Error(`The type property must be defined, but only the following properties were given: ${Object.keys(n).join(`, `)}.`);if([`vector`,`raster`,`geojson`,`video`,`image`].indexOf(n.type)>=0&&this._validate(t.y.source,`sources.${e}`,n,null,r))return;this.map&&this.map._collectResourceTiming&&(n.collectResourceTiming=!0);let i=this.sourceCaches[e]=new Ie(e,n,this.dispatcher);i.style=this,i.setEventedParent(this,(()=>({isSourceLoaded:i.loaded(),source:i.serialize(),sourceId:e}))),i.onAdd(this.map),this._changed=!0}removeSource(e){if(this._checkLoaded(),this.sourceCaches[e]===void 0)throw Error(`There is no source with this ID`);for(let n in this._layers)if(this._layers[n].source===e)return this.fire(new t.k(Error(`Source "${e}" cannot be removed while layer "${n}" is using it.`)));let n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.l(`data`,{sourceDataType:`metadata`,dataType:`source`,sourceId:e})),n.setEventedParent(null),n.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(e,t){if(this._checkLoaded(),this.sourceCaches[e]===void 0)throw Error(`There is no source with this ID=${e}`);let n=this.sourceCaches[e].getSource();if(n.type!==`geojson`)throw Error(`geojsonSource.type is ${n.type}, which is !== 'geojson`);n.setData(t),this._changed=!0}getSource(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()}addLayer(e,n,r={}){this._checkLoaded();let i=e.id;if(this.getLayer(i))return void this.fire(new t.k(Error(`Layer "${i}" already exists on this map.`)));let a;if(e.type===`custom`){if(bn(this,t.bD(e)))return;a=t.bA(e)}else{if(`source`in e&&typeof e.source==`object`&&(this.addSource(i,e.source),e=t.bB(e),e=t.e(e,{source:i}
695)),this._validate(t.y.layer,`layers.${i}`,e,{arrayIndex:-1},r))return;a=t.bA(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}})}let o=n?this._order.indexOf(n):this._order.length;if(n&&o===-1)this.fire(new t.k(Error(`Cannot add layer "${i}" before non-existing layer "${n}".`)));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&a.type!==`custom`){let e=this._removedLayers[i];delete this._removedLayers[i],e.type===a.type?(this._updatedSources[a.source]=`reload`,this.sourceCaches[a.source].pause()):this._updatedSources[a.source]=`clear`}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}moveLayer(e,n){if(this._checkLoaded(),this._changed=!0,!this._layers[e])return void this.fire(new t.k(Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));if(e===n)return;let r=this._order.indexOf(e);this._order.splice(r,1);let i=n?this._order.indexOf(n):this._order.length;n&&i===-1?this.fire(new t.k(Error(`Cannot move layer "${e}" before non-existing layer "${n}".`))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}removeLayer(e){this._checkLoaded();let n=this._layers[e];if(!n)return void this.fire(new t.k(Error(`Cannot remove non-existing layer "${e}".`)));n.setEventedParent(null);let r=this._order.indexOf(e);this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=n,delete this._layers[e],this._serializedLayers&&delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],n.onRemove&&n.onRemove(this.map)}getLayer(e){return this._layers[e]}getLayersOrder(){return[...this._order]}hasLayer(e){return e in this._layers}setLayerZoomRange(e,n,r){this._checkLoaded();let i=this.getLayer(e);i?i.minzoom===n&&i.maxzoom===r||(n!=null&&(i.minzoom=n),r!=null&&(i.maxzoom=r),this._updateLayer(i)):this.fire(new t.k(Error(`Cannot set the zoom range of non-existing layer "${e}".`)))}setFilter(e,n,r={}){this._checkLoaded();let i=this.getLayer(e);if(i){if(!t.bE(i.filter,n))return n==null?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.y.filter,`layers.${i.id}.filter`,n,null,r)||(i.filter=t.bB(n),this._updateLayer(i)))}else this.fire(new t.k(Error(`Cannot filter non-existing layer "${e}".`)))}getFilter(e){return t.bB(this.getLayer(e).filter)}setLayoutProperty(e,n,r,i={}){this._checkLoaded();let a=this.getLayer(e);a?t.bE(a.getLayoutProperty(n),r)||(a.setLayoutProperty(n,r,i),this._updateLayer(a)):this.fire(new t.k(Error(`Cannot style non-existing layer "${e}".`)))}getLayoutProperty(e,n){let r=this.getLayer(e);if(r)return r.getLayoutProperty(n);this.fire(new t.k(Error(`Cannot get style of non-existing layer "${e}".`)))}setPaintProperty(e,n,r,i={}){this._checkLoaded();let a=this.getLayer(e);a?t.bE(a.getPaintProperty(n),r)||(a.setPaintProperty(n,r,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0,this._serializedLayers=null):this.fire(new t.k(Error(`Cannot style non-existing layer "${e}".`)))}getPaintProperty(e,t){return this.getLayer(e).getPaintProperty(t)}setFeatureState(e,n){this._checkLoaded();let r=e.source,i=e.sourceLayer,a=this.sourceCaches[r];if(a===void 0)return void this.fire(new t.k(Error(`The source '${r}' does not exist in the map's style.`)));let o=a.getSource().type;o===`geojson`&&i?this.fire(new t.k(Error(`GeoJSON sources cannot have a sourceLayer parameter.`))):o!==`vector`||i?(e.id===void 0&&this.fire(new t.k(Error(`The feature id parameter must be provided.`))),a.setFeatureState(i,e.id,n)):this.fire(new t.k(Error(`The sourceLayer parameter must be provided for vector source types.`)))}removeFeatureState(e,n){this._checkLoaded();let r=e.source,i=this.sourceCaches[r];if(i===void 0)return void this.fire(new t.k(Error(`The source '${r}' does not exist in the map's style.`)));let a=i.getSource().type,o=a===`vector`?e.sourceLayer:void 0;a!==`vector`||o?n&&typeof e.id!=`string`&&typeof e.id!=`number`?this.fire(new t.k(Error(`A feature id is required to remove its specific state property.`))):i.removeFeatureState(o,e.id,n):this.fire(new t.k(Error(`The sourceLayer parameter must be provided for vector source types.`)))}getFeatureState(e){this._checkLoaded();let n=e.source,r=e.sourceLayer,i=this.sourceCaches[n];if(i!==void 0)return i.getSource().type!==`vector`||r?(e.id===void 0&&this.fire(new t.k(Error(`The feature id parameter must be provided.`))),i.getFeatureState(r,e.id)):void this.fire(new t.k(Error(`The sourceLayer parameter must be provided for vector source types.`)));this.fire(new t.k(Error(`The source '${n}' does not exist in the map's style.`)))}getTransition(){return t.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let e=t.bF(this.sourceCaches,(e=>e.serialize())),n=this._serializeByIds(this._order,!0),r=this.map.getTerrain()||void 0,i=this.stylesheet;return t.bG({version:i.version,name:i.name,metadata:i.metadata,light:i.light,sky:i.sky,center:i.center,zoom:i.zoom,bearing:i.bearing,pitch:i.pitch,sprite:i.sprite,glyphs:i.glyphs,transition:i.transition,projection:i.projection,sources:e,layers:n,terrain:r},(e=>e!==void 0))}_updateLayer(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&this.sourceCaches[e.source].getSource().type!==`raster`&&(this._updatedSources[e.source]=`reload`,this.sourceCaches[e.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(e){let t=e=>this._layers[e].type===`fill-extrusion`,n={},r=[];for(let i=this._order.length-1;i>=0;i--){let a=this._order[i];if(t(a)){n[a]=i;for(let t of e){let e=t[a];if(e)for(let t of e)r.push(t)}}}r.sort(((e,t)=>t.intersectionZ-e.intersectionZ));let i=[];for(let a=this._order.length-1;a>=0;a--){let o=this._order[a];if(t(o))for(let e=r.length-1;e>=0;e--){let t=r[e].feature;if(n[t.layer.id]<a)break;i.push(t),r.pop()}else for(let t of e){let e=t[o];if(e)for(let t of e)i.push(t.feature)}}return i}
695queryRenderedFeatures(e,n,r){n&&n.filter&&this._validate(t.y.filter,`queryRenderedFeatures.filter`,n.filter,null,n);let i={};if(n&&n.layers){if(!(Array.isArray(n.layers)||n.layers instanceof Set))return this.fire(new t.k(Error(`parameters.layers must be an Array or a Set of strings`))),[];for(let e of n.layers){let n=this._layers[e];if(!n)return this.fire(new t.k(Error(`The layer '${e}' does not exist in the map's style and cannot be queried for features.`))),[];i[n.source]=!0}}let a=[];n.availableImages=this._availableImages;let o=this._serializedAllLayers(),s=n.layers instanceof Set?n.layers:Array.isArray(n.layers)?new Set(n.layers):null,c=Object.assign(Object.assign({},n),{layers:s});for(let t in this.sourceCaches)n.layers&&!i[t]||a.push(se(this.sourceCaches[t],this._layers,o,e,c,r,this.map.terrain?(e,t,n)=>this.map.terrain.getElevation(e,t,n):void 0));return this.placement&&a.push(function(e,t,n,r,i,a,o){let s={},c=a.queryRenderedSymbols(r),l=[];for(let e of Object.keys(c).map(Number))l.push(o[e]);l.sort(ce);for(let n of l){let r=n.featureIndex.lookupSymbolFeatures(c[n.bucketInstanceId],t,n.bucketIndex,n.sourceLayerIndex,i.filter,i.layers,i.availableImages,e);for(let e in r){let t=s[e]=s[e]||[],i=r[e];i.sort(((e,t)=>{let r=n.featureSortOrder;if(r){let n=r.indexOf(e.featureIndex);return r.indexOf(t.featureIndex)-n}return t.featureIndex-e.featureIndex}));for(let e of i)t.push(e)}}return function(e,t,n){for(let r in e)for(let i of e[r])le(i,n[t[r].source]);return e}(s,e,n)}(this._layers,o,this.sourceCaches,e,c,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(a)}querySourceFeatures(e,n){n&&n.filter&&this._validate(t.y.filter,`querySourceFeatures.filter`,n.filter,null,n);let r=this.sourceCaches[e];return r?function(e,t){let n=e.getRenderableIds().map((t=>e.getTileByID(t))),r=[],i={};for(let e=0;e<n.length;e++){let a=n[e],o=a.tileID.canonical.key;i[o]||(i[o]=!0,a.querySourceFeatures(r,t))}return r}(r,n):[]}getLight(){return this.light.getLight()}setLight(e,n={}){this._checkLoaded();let r=this.light.getLight(),i=!1;for(let n in e)if(!t.bE(e[n],r[n])){i=!0;break}if(!i)return;let a={now:o.now(),transition:t.e({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e,n),this.light.updateTransitions(a)}getProjection(){return this.stylesheet?.projection}setProjection(e){if(this._checkLoaded(),this.projection){if(this.projection.name===e.type)return;this.projection.destroy(),delete this.projection}this.stylesheet.projection=e,this._setProjectionInternal(e.type)}getSky(){return this.stylesheet?.sky}setSky(e,n={}){this._checkLoaded();let r=this.getSky(),i=!1;if(!e&&!r)return;if(e&&!r)i=!0;else if(!e&&r)i=!0;else for(let n in e)if(!t.bE(e[n],r[n])){i=!0;break}if(!i)return;let a={now:o.now(),transition:t.e({duration:300,delay:0},this.stylesheet.transition)};this.stylesheet.sky=e,this.sky.setSky(e,n),this.sky.updateTransitions(a)}_setProjectionInternal(e){let n=function(e){if(Array.isArray(e)){let t=new en({type:e});return{projection:t,transform:new _n,cameraHelper:new yn(t)}}switch(e){case`mercator`:return{projection:new Mt,transform:new zt,cameraHelper:new Ut};case`globe`:{let e=new en({type:[`interpolate`,[`linear`],[`zoom`],11,`vertical-perspective`,12,`mercator`]});return{projection:e,transform:new _n,cameraHelper:new yn(e)}}case`vertical-perspective`:return{projection:new Qt,transform:new gn,cameraHelper:new vn};default:return t.w(`Unknown projection name: ${e}. Falling back to mercator projection.`),{projection:new Mt,transform:new zt,cameraHelper:new Ut}}}(e);this.projection=n.projection,this.map.migrateProjection(n.transform,n.cameraHelper);for(let e in this.sourceCaches)this.sourceCaches[e].reload()}_validate(e,n,r,i,a={}){return(!a||!1!==a.validate)&&bn(this,e.call(t.y,t.e({key:n,style:this.serialize(),value:r,styleSpec:t.v},i)))}_remove(e=!0){this._frameRequest&&=(this._frameRequest.abort(),null),this._loadStyleRequest&&=(this._loadStyleRequest.abort(),null),this._spriteRequest&&=(this._spriteRequest.abort(),null),xe().off(ve,this._rtlPluginLoaded);for(let e in this._layers)this._layers[e].setEventedParent(null);for(let e in this.sourceCaches){let t=this.sourceCaches[e];t.setEventedParent(null),t.onRemove(this.map)}this.imageManager.setEventedParent(null),this.setEventedParent(null),e&&this.dispatcher.broadcast(`RM`,void 0),this.dispatcher.remove(e)}_clearSource(e){this.sourceCaches[e].clearTiles()}_reloadSource(e){this.sourceCaches[e].resume(),this.sourceCaches[e].reload()}_updateSources(e){for(let t in this.sourceCaches)this.sourceCaches[t].update(e,this.map.terrain)}_generateCollisionBoxes(){for(let e in this.sourceCaches)this._reloadSource(e)}_updatePlacement(e,t,n,r,i=!1){let a=!1,s=!1,c={};for(let t of this._order){let n=this._layers[t];
695if(n.type!==`symbol`)continue;if(!c[n.source]){let e=this.sourceCaches[n.source];c[n.source]=e.getRenderableIds(!0).map((t=>e.getTileByID(t))).sort(((e,t)=>t.tileID.overscaledZ-e.tileID.overscaledZ||(e.tileID.isLessThan(t.tileID)?-1:1)))}let r=this.crossTileSymbolIndex.addLayer(n,c[n.source],e.center.lng);a||=r}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((i=i||this._layerOrderChanged||n===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(o.now(),e.zoom))&&(this.pauseablePlacement=new bt(e,this.map.terrain,this._order,i,t,n,r,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,c),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(o.now()),s=!0),a&&this.pauseablePlacement.placement.setStale()),s||a)for(let e of this._order){let t=this._layers[e];t.type===`symbol`&&this.placement.updateLayerOpacities(t,c[t.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(o.now())}_releaseSymbolFadeTiles(){for(let e in this.sourceCaches)this.sourceCaches[e].releaseSymbolFadeTiles()}getImages(e,n){return t._(this,void 0,void 0,(function*(){let e=yield this.imageManager.getImages(n.icons);this._updateTilesForChangedImages();let t=this.sourceCaches[n.source];return t&&t.setDependencies(n.tileID.key,n.type,n.icons),e}))}getGlyphs(e,n){return t._(this,void 0,void 0,(function*(){let e=yield this.glyphManager.getGlyphs(n.stacks),t=this.sourceCaches[n.source];return t&&t.setDependencies(n.tileID.key,n.type,[``]),e}))}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(e,n={}){this._checkLoaded(),e&&this._validate(t.y.glyphs,`glyphs`,e,null,n)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=e,this.glyphManager.entries={},this.glyphManager.setURL(e))}addSprite(e,n,r={},i){this._checkLoaded();let a=[{id:e,url:n}],o=[...g(this.stylesheet.sprite),...a];this._validate(t.y.sprite,`sprite`,o,null,r)||(this.stylesheet.sprite=o,this._loadSprite(a,!0,i))}removeSprite(e){this._checkLoaded();let n=g(this.stylesheet.sprite);if(n.find((t=>t.id===e))){if(this._spritesImagesIds[e])for(let t of this._spritesImagesIds[e])this.imageManager.removeImage(t),this._changedImages[t]=!0;n.splice(n.findIndex((t=>t.id===e)),1),this.stylesheet.sprite=n.length>0?n:void 0,delete this._spritesImagesIds[e],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(`SI`,this._availableImages),this.fire(new t.l(`data`,{dataType:`style`}))}else this.fire(new t.k(Error(`Sprite "${e}" doesn't exists on this map.`)))}getSprite(){return g(this.stylesheet.sprite)}setSprite(e,n={},r){this._checkLoaded(),e&&this._validate(t.y.sprite,`sprite`,e,null,n)||(this.stylesheet.sprite=e,e?this._loadSprite(e,!0,r):(this._unloadSprite(),r&&r(null)))}}var Cn=t.aG([{name:`a_pos`,type:`Int16`,components:2},{name:`a_texture_pos`,type:`Int16`,components:2}]);class wn{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(e,t,n,r,i,a,o,s,c){this.context=e;let l=this.boundPaintVertexBuffers.length!==r.length;for(let e=0;!l&&e<r.length;e++)this.boundPaintVertexBuffers[e]!==r[e]&&(l=!0);!this.vao||this.boundProgram!==t||this.boundLayoutVertexBuffer!==n||l||this.boundIndexBuffer!==i||this.boundVertexOffset!==a||this.boundDynamicVertexBuffer!==o||this.boundDynamicVertexBuffer2!==s||this.boundDynamicVertexBuffer3!==c?this.freshBind(t,n,r,i,a,o,s,c):(e.bindVertexArray.set(this.vao),o&&o.bind(),i&&i.dynamicDraw&&i.bind(),s&&s.bind(),c&&c.bind())}freshBind(e,t,n,r,i,a,o,s){let c=e.numAttributes,l=this.context,u=l.gl;this.vao&&this.destroy(),this.vao=l.createVertexArray(),l.bindVertexArray.set(this.vao),this.boundProgram=e,this.boundLayoutVertexBuffer=t,this.boundPaintVertexBuffers=n,this.boundIndexBuffer=r,this.boundVertexOffset=i,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=o,this.boundDynamicVertexBuffer3=s,t.enableAttributes(u,e);for(let t of n)t.enableAttributes(u,e);a&&a.enableAttributes(u,e),o&&o.enableAttributes(u,e),s&&s.enableAttributes(u,e),t.bind(),t.setVertexAttribPointers(u,e,i);for(let t of n)t.bind(),t.setVertexAttribPointers(u,e,i);a&&(a.bind(),a.setVertexAttribPointers(u,e,i)),r&&r.bind(),o&&(o.bind(),o.setVertexAttribPointers(u,e,i)),s&&(s.bind(),s.setVertexAttribPointers(u,e,i)),l.currentNumAttributes=c}destroy(){this.vao&&=(this.context.deleteVertexArray(this.vao),null)}}let Tn=(e,n,r,i,a)=>({u_texture:0,u_ele_delta:e,u_fog_matrix:n,u_fog_color:r?r.properties.get(`fog-color`):t.b7.white,u_fog_ground_blend:r?r.properties.get(`fog-ground-blend`):1,u_fog_ground_blend_opacity:a?0:r?r.calculateFogBlendOpacity(i):0,u_horizon_color:r?r.properties.get(`horizon-color`):t.b7.white,u_horizon_fog_blend:r?r.properties.get(`horizon-fog-blend`):1,u_is_globe_mode:+!!a}),En={mainMatrix:`u_projection_matrix`,tileMercatorCoords:`u_projection_tile_mercator_coords`,clippingPlane:`u_projection_clipping_plane`,projectionTransition:`u_projection_transition`,fallbackMatrix:`u_projection_fallback_matrix`};function Dn(e){let t=[];for(let n=0;n<e.length;n++){if(e[n]===null)continue;let r=e[n].split(` `);t.push(r.pop())}return t}class On{constructor(e,n,r,i,a,o,s,c,l=[]){let u=e.gl;this.program=u.createProgram();let d=Dn(n.staticAttributes),f=r?r.getBinderAttributes():[],p=d.concat(f),m=Dt.prelude.staticUniforms?Dn(Dt.prelude.staticUniforms):[],h=s.staticUniforms?Dn(s.staticUniforms):[],g=n.staticUniforms?Dn(n.staticUniforms):[],_=r?r.getBinderUniforms():[],v=m.concat(h).concat(g).concat(_),y=[];for(let e of v)y.indexOf(e)<0&&y.push(e);let b=r?r.defines():[];qt(u)&&b.unshift(`#version 300 es`),a&&b.push(`#define OVERDRAW_INSPECTOR;`),o&&b.push(`#define TERRAIN3D;
695`),c&&b.push(c),l&&b.push(...l);let x=b.concat(Dt.prelude.fragmentSource,s.fragmentSource,n.fragmentSource).join(`
696`),S=b.concat(Dt.prelude.vertexSource,s.vertexSource,n.vertexSource).join(`
697`);qt(u)||(x=function(e){return e.replace(/\bin\s/g,`varying `).replace(`out highp vec4 fragColor;`,``).replace(/fragColor/g,`gl_FragColor`).replace(/texture\(/g,`texture2D(`)}(x),S=function(e){return e.replace(/\bin\s/g,`attribute `).replace(/\bout\s/g,`varying `).replace(/texture\(/g,`texture2D(`)}(S));let C=u.createShader(u.FRAGMENT_SHADER);if(u.isContextLost())return void(this.failedToCreate=!0);if(u.shaderSource(C,x),u.compileShader(C),!u.getShaderParameter(C,u.COMPILE_STATUS))throw Error(`Could not compile fragment shader: ${u.getShaderInfoLog(C)}`);u.attachShader(this.program,C);let w=u.createShader(u.VERTEX_SHADER);if(u.isContextLost())return void(this.failedToCreate=!0);if(u.shaderSource(w,S),u.compileShader(w),!u.getShaderParameter(w,u.COMPILE_STATUS))throw Error(`Could not compile vertex shader: ${u.getShaderInfoLog(w)}`);u.attachShader(this.program,w),this.attributes={};let T={};this.numAttributes=p.length;for(let e=0;e<this.numAttributes;e++)p[e]&&(u.bindAttribLocation(this.program,e,p[e]),this.attributes[p[e]]=e);if(u.linkProgram(this.program),!u.getProgramParameter(this.program,u.LINK_STATUS))throw Error(`Program failed to link: ${u.getProgramInfoLog(this.program)}`);u.deleteShader(w),u.deleteShader(C);for(let e=0;e<y.length;e++){let t=y[e];if(t&&!T[t]){let e=u.getUniformLocation(this.program,t);e&&(T[t]=e)}}this.fixedUniforms=i(e,T),this.terrainUniforms=((e,n)=>({u_depth:new t.bH(e,n.u_depth),u_terrain:new t.bH(e,n.u_terrain),u_terrain_dim:new t.b8(e,n.u_terrain_dim),u_terrain_matrix:new t.bJ(e,n.u_terrain_matrix),u_terrain_unpack:new t.bK(e,n.u_terrain_unpack),u_terrain_exaggeration:new t.b8(e,n.u_terrain_exaggeration)}))(e,T),this.projectionUniforms=((e,n)=>({u_projection_matrix:new t.bJ(e,n.u_projection_matrix),u_projection_tile_mercator_coords:new t.bK(e,n.u_projection_tile_mercator_coords),u_projection_clipping_plane:new t.bK(e,n.u_projection_clipping_plane),u_projection_transition:new t.b8(e,n.u_projection_transition),u_projection_fallback_matrix:new t.bJ(e,n.u_projection_fallback_matrix)}))(e,T),this.binderUniforms=r?r.getUniforms(e,T):[]}draw(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v){let y=e.gl;if(this.failedToCreate)return;if(e.program.set(this.program),e.setDepthMode(n),e.setStencilMode(r),e.setColorMode(i),e.setCullFace(a),s){e.activeTexture.set(y.TEXTURE2),y.bindTexture(y.TEXTURE_2D,s.depthTexture),e.activeTexture.set(y.TEXTURE3),y.bindTexture(y.TEXTURE_2D,s.texture);for(let e in this.terrainUniforms)this.terrainUniforms[e].set(s[e])}if(c)for(let e in c)this.projectionUniforms[En[e]].set(c[e]);if(o)for(let e in this.fixedUniforms)this.fixedUniforms[e].set(o[e]);h&&h.setUniforms(e,this.binderUniforms,p,{zoom:m});let b=0;switch(t){case y.LINES:b=2;break;case y.TRIANGLES:b=3;break;case y.LINE_STRIP:b=1}for(let n of f.get()){let r=n.vaos||={};(r[l]||(r[l]=new wn)).bind(e,this,u,h?h.getPaintVertexBuffers():[],d,n.vertexOffset,g,_,v),y.drawElements(t,n.primitiveLength*b,y.UNSIGNED_SHORT,n.primitiveOffset*b*2)}}}function kn(e,n,r){let i=1/t.az(r,1,n.transform.tileZoom),a=2**r.tileID.overscaledZ,o=r.tileSize*2**n.transform.tileZoom/a,s=o*(r.tileID.canonical.x+r.tileID.wrap*a),c=o*r.tileID.canonical.y;return{u_image:0,u_texsize:r.imageAtlasTexture.size,u_scale:[i,e.fromScale,e.toScale],u_fade:e.t,u_pixel_coord_upper:[s>>16,c>>16],u_pixel_coord_lower:[65535&s,65535&c]}}let An=(e,n,r,i)=>{let a=e.style.light,o=a.properties.get(`position`),s=[o.x,o.y,o.z],c=t.bN();a.properties.get(`anchor`)===`viewport`&&t.bO(c,e.transform.bearingInRadians),t.bP(s,s,c);let l=e.transform.transformLightDirection(s),u=a.properties.get(`color`);return{u_lightpos:s,u_lightpos_globe:l,u_lightintensity:a.properties.get(`intensity`),u_lightcolor:[u.r,u.g,u.b],u_vertical_gradient:+n,u_opacity:r,u_fill_translate:i}},jn=(e,n,r,i,a,o,s)=>t.e(An(e,n,r,i),kn(o,e,s),{u_height_factor:-(2**a.overscaledZ)/s.tileSize/8}),Mn=(e,n,r,i)=>t.e(kn(n,e,r),{u_fill_translate:i}),Nn=(e,t)=>({u_world:e,u_fill_translate:t}),Pn=(e,n,r,i,a)=>t.e(Mn(e,n,r,a),{u_world:i}),Fn=(e,n,r,i,a)=>{let o=e.transform,s,c,l=0;if(r.paint.get(`circle-pitch-alignment`)===`map`){let e=t.az(n,1,o.zoom);
697s=!0,c=[e,e],l=e/(t.Z*2**n.tileID.overscaledZ)*2*Math.PI*a}else s=!1,c=o.pixelsToGLUnits;return{u_camera_to_center_distance:o.cameraToCenterDistance,u_scale_with_map:+(r.paint.get(`circle-pitch-scale`)===`map`),u_pitch_with_map:+s,u_device_pixel_ratio:e.pixelRatio,u_extrude_scale:c,u_globe_extrude_scale:l,u_translate:i}},In=e=>({u_pixel_extrude_scale:[1/e.width,1/e.height]}),Ln=e=>({u_viewport_size:[e.width,e.height]}),Rn=(e,t=1)=>({u_color:e,u_overlay:0,u_overlay_scale:t}),zn=(e,n,r,i)=>{let a=t.az(e,1,n)/(t.Z*2**e.tileID.overscaledZ)*2*Math.PI*i;return{u_extrude_scale:t.az(e,1,n),u_intensity:r,u_globe_extrude_scale:a}},Bn=(e,n,r,i)=>{let a=t.K();t.bQ(a,0,e.width,e.height,0,0,1);let o=e.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:r,u_color_ramp:i,u_opacity:n.paint.get(`heatmap-opacity`)}},Vn=(e,t,n)=>{let r=n.paint.get(`hillshade-accent-color`),i;switch(n.paint.get(`hillshade-method`)){case`basic`:i=4;break;case`combined`:i=1;break;case`igor`:i=2;break;case`multidirectional`:i=3;break;default:i=0}let a=n.getIlluminationProperties();for(let t=0;t<a.directionRadians.length;t++)n.paint.get(`hillshade-illumination-anchor`)===`viewport`&&(a.directionRadians[t]+=e.transform.bearingInRadians);return{u_image:0,u_latrange:Un(0,t.tileID),u_exaggeration:n.paint.get(`hillshade-exaggeration`),u_altitudes:a.altitudeRadians,u_azimuths:a.directionRadians,u_accent:r,u_method:i,u_highlights:a.highlightColor,u_shadows:a.shadowColor}},Hn=(e,n)=>{let r=n.stride,i=t.K();return t.bQ(i,0,t.Z,-8192,0,0,1),t.L(i,i,[0,-8192,0]),{u_matrix:i,u_image:1,u_dimension:[r,r],u_zoom:e.overscaledZ,u_unpack:n.getUnpackVector()}};function Un(e,n){let r=2**n.canonical.z,i=n.canonical.y;return[new t.$(0,i/r).toLngLat().lat,new t.$(0,(i+1)/r).toLngLat().lat]}let Wn=(e,n,r,i)=>{let a=e.transform;return{u_translation:Yn(e,n,r),u_ratio:i/t.az(n,1,a.zoom),u_device_pixel_ratio:e.pixelRatio,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Gn=(e,n,r,i,a)=>t.e(Wn(e,n,r,i),{u_image:0,u_image_height:a}),Kn=(e,n,r,i,a)=>{let o=e.transform,s=Jn(n,o);return{u_translation:Yn(e,n,r),u_texsize:n.imageAtlasTexture.size,u_ratio:i/t.az(n,1,o.zoom),u_device_pixel_ratio:e.pixelRatio,u_image:0,u_scale:[s,a.fromScale,a.toScale],u_fade:a.t,u_units_to_pixels:[1/o.pixelsToGLUnits[0],1/o.pixelsToGLUnits[1]]}},qn=(e,n,r,i,a,o)=>{let s=e.lineAtlas,c=Jn(n,e.transform),l=r.layout.get(`line-cap`)===`round`,u=s.getDash(a.from,l),d=s.getDash(a.to,l),f=u.width*o.fromScale,p=d.width*o.toScale;return t.e(Wn(e,n,r,i),{u_patternscale_a:[c/f,-u.height/2],u_patternscale_b:[c/p,-d.height/2],u_sdfgamma:s.width/(256*Math.min(f,p)*e.pixelRatio)/2,u_image:0,u_tex_y_a:u.y,u_tex_y_b:d.y,u_mix:o.t})};function Jn(e,n){return 1/t.az(e,1,n.tileZoom)}function Yn(e,n,r){return t.aA(e.transform,n,r.paint.get(`line-translate`),r.paint.get(`line-translate-anchor`))}let Xn=(e,t,n,r,i)=>{return{u_tl_parent:e,u_scale_parent:t,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*r.paint.get(`raster-opacity`),u_image0:0,u_image1:1,u_brightness_low:r.paint.get(`raster-brightness-min`),u_brightness_high:r.paint.get(`raster-brightness-max`),u_saturation_factor:(o=r.paint.get(`raster-saturation`),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=r.paint.get(`raster-contrast`),a>0?1/(1-a):1+a),u_spin_weights:Zn(r.paint.get(`raster-hue-rotate`)),u_coords_top:[i[0].x,i[0].y,i[1].x,i[1].y],u_coords_bottom:[i[3].x,i[3].y,i[2].x,i[2].y]};var a,o};function Zn(e){e*=Math.PI/180;let t=Math.sin(e),n=Math.cos(e);return[(2*n+1)/3,(-Math.sqrt(3)*t-n+1)/3,(Math.sqrt(3)*t-n+1)/3]}let Qn=(e,t,n,r,i,a,o,s,c,l,u,d,f)=>{let p=o.transform;return{u_is_size_zoom_constant:+(e===`constant`||e===`source`),u_is_size_feature_constant:+(e===`constant`||e===`camera`),u_size_t:t?t.uSizeT:0,u_size:t?t.uSize:0,u_camera_to_center_distance:p.cameraToCenterDistance,u_pitch:p.pitch/360*2*Math.PI,u_rotate_symbol:+n,u_aspect_ratio:p.width/p.height,u_fade_change:o.options.fadeDuration?o.symbolFadeChange:1,u_label_plane_matrix:s,u_coord_matrix:c,u_is_text:+u,u_pitch_with_map:+r,u_is_along_line:i,u_is_variable_anchor:a,u_texsize:d,u_texture:0,u_translation:l,u_pitched_scale:f}},$n=(e,n,r,i,a,o,s,c,l,u,d,f,p,m)=>{let h=s.transform;return t.e(Qn(e,n,r,i,a,o,s,c,l,u,d,f,m),{u_gamma_scale:i?Math.cos(h.pitch*Math.PI/180)*h.cameraToCenterDistance:1,u_device_pixel_ratio:s.pixelRatio,u_is_halo:1})},er=(e,n,r,i,a,o,s,c,l,u,d,f,p)=>t.e($n(e,n,r,i,a,o,s,c,l,u,!0,d,0,p),{u_texsize_icon:f,u_texture_icon:1}),tr=(e,t)=>({u_opacity:e,u_color:t}),nr=(e,n,r,i,a)=>t.e(function(e,n,r,i){let a=r.imageManager.getPattern(e.from.toString()),o=r.imageManager.getPattern(e.to.toString()),{width:s,height:c}=r.imageManager.getPixelSize(),l=2**i.tileID.overscaledZ,u=i.tileSize*2**r.transform.tileZoom/l,d=u*(i.tileID.canonical.x+i.tileID.wrap*l),f=u*i.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:a.tl,u_pattern_br_a:a.br,u_pattern_tl_b:o.tl,u_pattern_br_b:o.br,u_texsize:[s,c],u_mix:n.t,u_pattern_size_a:a.displaySize,u_pattern_size_b:
vendor: 5,901 bytes, line 697
697o.displaySize,u_scale_a:n.fromScale,u_scale_b:n.toScale,u_tile_units_to_pixels:1/t.az(i,1,r.transform.tileZoom),u_pixel_coord_upper:[d>>16,f>>16],u_pixel_coord_lower:[65535&d,65535&f]}}(r,a,n,i),{u_opacity:e}),rr=(e,t)=>{},ir={fillExtrusion:(e,n)=>({u_lightpos:new t.bL(e,n.u_lightpos),u_lightpos_globe:new t.bL(e,n.u_lightpos_globe),u_lightintensity:new t.b8(e,n.u_lightintensity),u_lightcolor:new t.bL(e,n.u_lightcolor),u_vertical_gradient:new t.b8(e,n.u_vertical_gradient),u_opacity:new t.b8(e,n.u_opacity),u_fill_translate:new t.bM(e,n.u_fill_translate)}),fillExtrusionPattern:(e,n)=>({u_lightpos:new t.bL(e,n.u_lightpos),u_lightpos_globe:new t.bL(e,n.u_lightpos_globe),u_lightintensity:new t.b8(e,n.u_lightintensity),u_lightcolor:new t.bL(e,n.u_lightcolor),u_vertical_gradient:new t.b8(e,n.u_vertical_gradient),u_height_factor:new t.b8(e,n.u_height_factor),u_opacity:new t.b8(e,n.u_opacity),u_fill_translate:new t.bM(e,n.u_fill_translate),u_image:new t.bH(e,n.u_image),u_texsize:new t.bM(e,n.u_texsize),u_pixel_coord_upper:new t.bM(e,n.u_pixel_coord_upper),u_pixel_coord_lower:new t.bM(e,n.u_pixel_coord_lower),u_scale:new t.bL(e,n.u_scale),u_fade:new t.b8(e,n.u_fade)}),fill:(e,n)=>({u_fill_translate:new t.bM(e,n.u_fill_translate)}),fillPattern:(e,n)=>({u_image:new t.bH(e,n.u_image),u_texsize:new t.bM(e,n.u_texsize),u_pixel_coord_upper:new t.bM(e,n.u_pixel_coord_upper),u_pixel_coord_lower:new t.bM(e,n.u_pixel_coord_lower),u_scale:new t.bL(e,n.u_scale),u_fade:new t.b8(e,n.u_fade),u_fill_translate:new t.bM(e,n.u_fill_translate)}),fillOutline:(e,n)=>({u_world:new t.bM(e,n.u_world),u_fill_translate:new t.bM(e,n.u_fill_translate)}),fillOutlinePattern:(e,n)=>({u_world:new t.bM(e,n.u_world),u_image:new t.bH(e,n.u_image),u_texsize:new t.bM(e,n.u_texsize),u_pixel_coord_upper:new t.bM(e,n.u_pixel_coord_upper),u_pixel_coord_lower:new t.bM(e,n.u_pixel_coord_lower),u_scale:new t.bL(e,n.u_scale),u_fade:new t.b8(e,n.u_fade),u_fill_translate:new t.bM(e,n.u_fill_translate)}),circle:(e,n)=>({u_camera_to_center_distance:new t.b8(e,n.u_camera_to_center_distance),u_scale_with_map:new t.bH(e,n.u_scale_with_map),u_pitch_with_map:new t.bH(e,n.u_pitch_with_map),u_extrude_scale:new t.bM(e,n.u_extrude_scale),u_device_pixel_ratio:new t.b8(e,n.u_device_pixel_ratio),u_globe_extrude_scale:new t.b8(e,n.u_globe_extrude_scale),u_translate:new t.bM(e,n.u_translate)}),collisionBox:(e,n)=>({u_pixel_extrude_scale:new t.bM(e,n.u_pixel_extrude_scale)}),collisionCircle:(e,n)=>({u_viewport_size:new t.bM(e,n.u_viewport_size)}),debug:(e,n)=>({u_color:new t.bI(e,n.u_color),u_overlay:new t.bH(e,n.u_overlay),u_overlay_scale:new t.b8(e,n.u_overlay_scale)}),depth:rr,clippingMask:rr,heatmap:(e,n)=>({u_extrude_scale:new t.b8(e,n.u_extrude_scale),u_intensity:new t.b8(e,n.u_intensity),u_globe_extrude_scale:new t.b8(e,n.u_globe_extrude_scale)}),heatmapTexture:(e,n)=>({u_matrix:new t.bJ(e,n.u_matrix),u_world:new t.bM(e,n.u_world),u_image:new t.bH(e,n.u_image),u_color_ramp:new t.bH(e,n.u_color_ramp),u_opacity:new t.b8(e,n.u_opacity)}),hillshade:(e,n)=>({u_image:new t.bH(e,n.u_image),u_latrange:new t.bM(e,n.u_latrange),u_exaggeration:new t.b8(e,n.u_exaggeration),u_altitudes:new t.bS(e,n.u_altitudes),u_azimuths:new t.bS(e,n.u_azimuths),u_accent:new t.bI(e,n.u_accent),u_method:new t.bH(e,n.u_method),u_shadows:new t.bR(e,n.u_shadows),u_highlights:new t.bR(e,n.u_highlights)}),hillshadePrepare:(e,n)=>({u_matrix:new t.bJ(e,n.u_matrix),u_image:new t.bH(e,n.u_image),u_dimension:new t.bM(e,n.u_dimension),u_zoom:new t.b8(e,n.u_zoom),u_unpack:new t.bK(e,n.u_unpack)}),line:(e,n)=>({u_translation:new t.bM(e,n.u_translation),u_ratio:new t.b8(e,n.u_ratio),u_device_pixel_ratio:new t.b8(e,n.u_device_pixel_ratio),u_units_to_pixels:new t.bM(e,n.u_units_to_pixels)}),lineGradient:(e,n)=>({u_translation:new t.bM(e,n.u_translation),u_ratio:new t.b8(e,n.u_ratio),u_device_pixel_ratio:new t.b8(e,n.u_device_pixel_ratio),u_units_to_pixels:new t.bM(e,n.u_units_to_pixels),u_image:new t.bH(e,n.u_image),u_image_height:new t.b8(e,n.u_image_height)}),linePattern:(e,n)=>({u_translation:new t.bM(e,n.u_translation),u_texsize:new t.bM(e,n.u_texsize),u_ratio:new t.b8(e,n.u_ratio),u_device_pixel_ratio:new t.b8(e,n.u_device_pixel_ratio),u_image:new t.bH(e,n.u_image),u_units_to_pixels:new t.bM(e,n.u_units_to_pixels),u_scale:new t.bL(e,n.u_scale),u_fade:new t.b8(e,n.u_fade)}),lineSDF:(e,n)=>({u_translation:new t.bM(e,n.u_translation),u_ratio:new t.b8(e,n.u_ratio),u_device_pixel_ratio:new t.b8(e,n.u_device_pixel_ratio),u_units_to_pixels:new t.bM(e,n.u_units_to_pixels),u_patternscale_a:new t.bM(e,n.u_patternscale_a),u_patternscale_b:new t.bM(e,n.u_patternscale_b),u_sdfgamma:new t.b8(e,n.u_sdfgamma),u_image:new t.bH(e,n.u_image),u_tex_y_a:new t.b8(e,n.u_tex_y_a),u_tex_y_b:new t.b8(e,n.u_tex_y_b),u_mix:new t.b8(e,n.u_mix)}),raster:(e,n)=>({u_tl_parent:new t.bM(e,n.u_tl_parent),u_scale_parent:new t.b8(e,n.u_scale_parent),u_buffer_scale:new t.b8(e,n.u_buffer_scale),u_fade_t:new t.b8(e,n.u_fade_t),u_opacity:new t.b8(e,n.u_opacity),u_image0:new t.bH(e,n.u_image0),u_image1:new t.bH(e,n.u_image1),u_brightness_low:new t.b8(e,n.u_brightness_low),u_brightness_high:new t.b8(e,n.u_brightness_high),u_saturation_factor:new t.b8(e,n.u_saturation_factor),u_contrast_factor:new t.b8(e,n.u_contrast_factor),u_spin_weights:new t.bL(e,n.u_spin_weights),u_coords_top:new t.bK(e,n.u_coords_top),u_coords_bottom:new t.bK(e,n.u_coords_bottom)}),symbolIcon:(e,n)=>({u_is_size_zoom_constant:new t.bH(e,n.u_is_size_zoom_constant),u_is_size_feature_constant:new t.bH(e,n.u_is_size_feature_constant),u_size_t:new t.b8(e,n.u_size_t),u_size:new t.b8(e,n.u_size),u_camera_to_center_distance:new t.b8(e,n.u_camera_to_center_distance),u_pitch:new t.b8(e,n.u_pitch),u_rotate_symbol:new t.bH(e,n.u_rotate_symbol),u_aspect_ratio:new t.b8(e,n.u_aspect_ratio),u_fade_change:new t.b8(e,n.u_fade_change),u_label_plane_matrix:new t.bJ(e,n.u_label_plane_matrix
697),u_coord_matrix:new t.bJ(e,n.u_coord_matrix),u_is_text:new t.bH(e,n.u_is_text),u_pitch_with_map:new t.bH(e,n.u_pitch_with_map),u_is_along_line:new t.bH(e,n.u_is_along_line),u_is_variable_anchor:new t.bH(e,n.u_is_variable_anchor),u_texsize:new t.bM(e,n.u_texsize),u_texture:new t.bH(e,n.u_texture),u_translation:new t.bM(e,n.u_translation),u_pitched_scale:new t.b8(e,n.u_pitched_scale)}),symbolSDF:(e,n)=>({u_is_size_zoom_constant:new t.bH(e,n.u_is_size_zoom_constant),u_is_size_feature_constant:new t.bH(e,n.u_is_size_feature_constant),u_size_t:new t.b8(e,n.u_size_t),u_size:new t.b8(e,n.u_size),u_camera_to_center_distance:new t.b8(e,n.u_camera_to_center_distance),u_pitch:new t.b8(e,n.u_pitch),u_rotate_symbol:new t.bH(e,n.u_rotate_symbol),u_aspect_ratio:new t.b8(e,n.u_aspect_ratio),u_fade_change:new t.b8(e,n.u_fade_change),u_label_plane_matrix:new t.bJ(e,n.u_label_plane_matrix),u_coord_matrix:new t.bJ(e,n.u_coord_matrix),u_is_text:new t.bH(e,n.u_is_text),u_pitch_with_map:new t.bH(e,n.u_pitch_with_map),u_is_along_line:new t.bH(e,n.u_is_along_line),u_is_variable_anchor:new t.bH(e,n.u_is_variable_anchor),u_texsize:new t.bM(e,n.u_texsize),u_texture:new t.bH(e,n.u_texture),u_gamma_scale:new t.b8(e,n.u_gamma_scale),u_device_pixel_ratio:new t.b8(e,n.u_device_pixel_ratio),u_is_halo:new t.bH(e,n.u_is_halo),u_translation:new t.bM(e,n.u_translation),u_pitched_scale:new t.b8(e,n.u_pitched_scale)}),symbolTextAndIcon:(e,n)=>({u_is_size_zoom_constant:new t.bH(e,n.u_is_size_zoom_constant),u_is_size_feature_constant:new t.bH(e,n.u_is_size_feature_constant),u_size_t:new t.b8(e,n.u_size_t),u_size:new t.b8(e,n.u_size),u_camera_to_center_distance:new t.b8(e,n.u_camera_to_center_distance),u_pitch:new t.b8(e,n.u_pitch),u_rotate_symbol:new t.bH(e,n.u_rotate_symbol),u_aspect_ratio:new t.b8(e,n.u_aspect_ratio),u_fade_change:new t.b8(e,n.u_fade_change),u_label_plane_matrix:new t.bJ(e,n.u_label_plane_matrix),u_coord_matrix:new t.bJ(e,n.u_coord_matrix),u_is_text:new t.bH(e,n.u_is_text),u_pitch_with_map:new t.bH(e,n.u_pitch_with_map),u_is_along_line:new t.bH(e,n.u_is_along_line),u_is_variable_anchor:new t.bH(e,n.u_is_variable_anchor),u_texsize:new t.bM(e,n.u_texsize),u_texsize_icon:new t.bM(e,n.u_texsize_icon),u_texture:new t.bH(e,n.u_texture),u_texture_icon:new t.bH(e,n.u_texture_icon),u_gamma_scale:new t.b8(e,n.u_gamma_scale),u_device_pixel_ratio:new t.b8(e,n.u_device_pixel_ratio),u_is_halo:new t.bH(e,n.u_is_halo),u_translation:new t.bM(e,n.u_translation),u_pitched_scale:new t.b8(e,n.u_pitched_scale)}),background:(e,n)=>({u_opacity:new t.b8(e,n.u_opacity),u_color:new t.bI(e,n.u_color)}),backgroundPattern:(e,n)=>({u_opacity:new t.b8(e,n.u_opacity),u_image:new t.bH(e,n.u_image),u_pattern_tl_a:new t.bM(e,n.u_pattern_tl_a),u_pattern_br_a:new t.bM(e,n.u_pattern_br_a),u_pattern_tl_b:new t.bM(e,n.u_pattern_tl_b),u_pattern_br_b:new t.bM(e,n.u_pattern_br_b),u_texsize:new t.bM(e,n.u_texsize),u_mix:new t.b8(e,n.u_mix),u_pattern_size_a:new t.bM(e,n.u_pattern_size_a),u_pattern_size_b:new t.bM(e,n.u_pattern_size_b),u_scale_a:new t.b8(e,n.u_scale_a),u_scale_b:new t.b8(e,n.u_scale_b),u_pixel_coord_upper:new t.bM(e,n.u_pixel_coord_upper),u_pixel_coord_lower:new t.bM(e,n.u_pixel_coord_lower),u_tile_units_to_pixels:new t.b8(e,n.u_tile_units_to_pixels)}),terrain:(e,n)=>({u_texture:new t.bH(e,n.u_texture),u_ele_delta:new t.b8(e,n.u_ele_delta),u_fog_matrix:new t.bJ(e,n.u_fog_matrix),u_fog_color:new t.bI(e,n.u_fog_color),u_fog_ground_blend:new t.b8(e,n.u_fog_ground_blend),u_fog_ground_blend_opacity:new t.b8(e,n.u_fog_ground_blend_opacity),u_horizon_color:new t.bI(e,n.u_horizon_color),u_horizon_fog_blend:new t.b8(e,n.u_horizon_fog_blend),u_is_globe_mode:new t.b8(e,n.u_is_globe_mode)}),terrainDepth:(e,n)=>({u_ele_delta:new t.b8(e,n.u_ele_delta)}),terrainCoords:(e,n)=>({u_texture:new t.bH(e,n.u_texture),u_terrain_coords_id:new t.b8(e,n.u_terrain_coords_id),u_ele_delta:new t.b8(e,n.u_ele_delta)}),projectionErrorMeasurement:(e,n)=>({u_input:new t.b8(e,n.u_input),u_output_expected:new t.b8(e,n.u_output_expected)}),atmosphere:(e,n)=>({u_sun_pos:new t.bL(e,n.u_sun_pos),u_atmosphere_blend:new t.b8(e,n.u_atmosphere_blend),u_globe_position:new t.bL(e,n.u_globe_position),u_globe_radius:new t.b8(e,n.u_globe_radius),u_inv_proj_matrix:new t.bJ(e,n.u_inv_proj_matrix)}),sky:(e,n)=>({u_sky_color:new t.bI(e,n.u_sky_color),u_horizon_color:new t.bI(e,n.u_horizon_color),u_horizon:new t.bM(e,n.u_horizon),u_horizon_normal:new t.bM(e,n.u_horizon_normal),u_sky_horizon_blend:new t.b8(e,n.u_sky_horizon_blend),u_sky_blend:new t.b8(e,n.u_sky_blend)})};class ar{constructor(e,t,n){this.context=e;let r=e.gl;this.buffer=r.createBuffer(),this.dynamicDraw=!!n,this.context.unbindVAO(),e.bindElementBuffer.set(this.buffer),r.bufferData(r.ELEMENT_ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?r.DYNAMIC_DRAW:r.STATIC_DRAW),this.dynamicDraw||delete t.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(e){let t=this.context.gl;if(!this.dynamicDraw)throw Error(`Attempted to update data while not in dynamic mode.`);this.context.unbindVAO(),this.bind(),t.bufferSubData(t.ELEMENT_ARRAY_BUFFER,0,e.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let or={Int8:`BYTE`,Uint8:`UNSIGNED_BYTE`,Int16:`SHORT`,Uint16:`UNSIGNED_SHORT`,Int32:`INT`,Uint32:`UNSIGNED_INT`,Float32:`FLOAT`};class sr{constructor(e,t,n,r){this.length=t.length,this.attributes=n,this.itemSize=t.bytesPerElement,this.dynamicDraw=r,this.context=e;let i=e.gl;this.buffer=i.createBuffer(),e.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete t.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(e){if(e.length!==this.length)throw Error(`Length of new data is ${e.length}, which doesn't match current length of ${this.length}`);let t=this.context.gl;this.bind(),t.bufferSubData(t.ARRAY_BUFFER,0,e.arrayBuffer)}
697enableAttributes(e,t){for(let n=0;n<this.attributes.length;n++){let r=t.attributes[this.attributes[n].name];r!==void 0&&e.enableVertexAttribArray(r)}}setVertexAttribPointers(e,t,n){for(let r=0;r<this.attributes.length;r++){let i=this.attributes[r],a=t.attributes[i.name];a!==void 0&&e.vertexAttribPointer(a,i.components,e[or[i.type]],!1,this.itemSize,i.offset+this.itemSize*(n||0))}}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}class cr{constructor(e){this.gl=e.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1}get(){return this.current}set(e){}getDefault(){return this.default}setDefault(){this.set(this.default)}}class lr extends cr{getDefault(){return t.b7.transparent}set(e){let t=this.current;(e.r!==t.r||e.g!==t.g||e.b!==t.b||e.a!==t.a||this.dirty)&&(this.gl.clearColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)}}class ur extends cr{getDefault(){return 1}set(e){(e!==this.current||this.dirty)&&(this.gl.clearDepth(e),this.current=e,this.dirty=!1)}}class dr extends cr{getDefault(){return 0}set(e){(e!==this.current||this.dirty)&&(this.gl.clearStencil(e),this.current=e,this.dirty=!1)}}class fr extends cr{getDefault(){return[!0,!0,!0,!0]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.colorMask(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}}class pr extends cr{getDefault(){return!0}set(e){(e!==this.current||this.dirty)&&(this.gl.depthMask(e),this.current=e,this.dirty=!1)}}class mr extends cr{getDefault(){return 255}set(e){(e!==this.current||this.dirty)&&(this.gl.stencilMask(e),this.current=e,this.dirty=!1)}}class hr extends cr{getDefault(){return{func:this.gl.ALWAYS,ref:0,mask:255}}set(e){let t=this.current;(e.func!==t.func||e.ref!==t.ref||e.mask!==t.mask||this.dirty)&&(this.gl.stencilFunc(e.func,e.ref,e.mask),this.current=e,this.dirty=!1)}}class gr extends cr{getDefault(){let e=this.gl;return[e.KEEP,e.KEEP,e.KEEP]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||this.dirty)&&(this.gl.stencilOp(e[0],e[1],e[2]),this.current=e,this.dirty=!1)}}class _r extends cr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.current=e,this.dirty=!1}}class vr extends cr{getDefault(){return[0,1]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||this.dirty)&&(this.gl.depthRange(e[0],e[1]),this.current=e,this.dirty=!1)}}class yr extends cr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.DEPTH_TEST):t.disable(t.DEPTH_TEST),this.current=e,this.dirty=!1}}class br extends cr{getDefault(){return this.gl.LESS}set(e){(e!==this.current||this.dirty)&&(this.gl.depthFunc(e),this.current=e,this.dirty=!1)}}class xr extends cr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.BLEND):t.disable(t.BLEND),this.current=e,this.dirty=!1}}class Sr extends cr{getDefault(){let e=this.gl;return[e.ONE,e.ZERO]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||this.dirty)&&(this.gl.blendFunc(e[0],e[1]),this.current=e,this.dirty=!1)}}class Cr extends cr{getDefault(){return t.b7.transparent}set(e){let t=this.current;(e.r!==t.r||e.g!==t.g||e.b!==t.b||e.a!==t.a||this.dirty)&&(this.gl.blendColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)}}class wr extends cr{getDefault(){return this.gl.FUNC_ADD}set(e){(e!==this.current||this.dirty)&&(this.gl.blendEquation(e),this.current=e,this.dirty=!1)}}class Tr extends cr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.CULL_FACE):t.disable(t.CULL_FACE),this.current=e,this.dirty=!1}}class Er extends cr{getDefault(){return this.gl.BACK}set(e){(e!==this.current||this.dirty)&&(this.gl.cullFace(e),this.current=e,this.dirty=!1)}}class Dr extends cr{getDefault(){return this.gl.CCW}set(e){(e!==this.current||this.dirty)&&(this.gl.frontFace(e),this.current=e,this.dirty=!1)}}class Or extends cr{getDefault(){return null}set(e){(e!==this.current||this.dirty)&&(this.gl.useProgram(e),this.current=e,this.dirty=!1)}}class kr extends cr{getDefault(){return this.gl.TEXTURE0}set(e){(e!==this.current||this.dirty)&&(this.gl.activeTexture(e),this.current=e,this.dirty=!1)}}class Ar extends cr{getDefault(){let e=this.gl;return[0,0,e.drawingBufferWidth,e.drawingBufferHeight]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.viewport(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}}class jr extends cr{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,e),this.current=e,this.dirty=!1}}class Mr extends cr{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindRenderbuffer(t.RENDERBUFFER,e),this.current=e,this.dirty=!1}}class Nr extends cr{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindTexture(t.TEXTURE_2D,e),this.current=e,this.dirty=!1}}class Pr extends cr{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindBuffer(t.ARRAY_BUFFER,e),this.current=e,this.dirty=!1}}class Fr extends cr{getDefault(){return null}set(e){let t=this.gl;t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,e),this.current=e,this.dirty=!1}}class Ir extends cr{getDefault(){return null}set(e){var t;if(e===this.current&&!this.dirty)return;let n=this.gl;qt(n)?n.bindVertexArray(e):(t=n.getExtension(`OES_vertex_array_object`))==null||t.bindVertexArrayOES(e),this.current=e,this.dirty=!1}}class Lr extends cr{getDefault(){return 4}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_ALIGNMENT,e),this.current=e,this.dirty=!1}}class Rr extends cr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e),this.current=e,this.dirty=!1}}class zr extends cr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,e),this.current=e,this.dirty=!1}}class Br extends cr{constructor(e,t){super(e),this.context=e,this.parent=t}getDefault(){return null}}class Vr extends Br{setDirty(){this.dirty=!0}set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0),this.current=e,this.dirty=!1}}class Hr extends Br{set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,e),this.current=e,this.dirty=!1}}class Ur extends Br{set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,e),this.current=e,this.dirty=!1}}let Wr=`Framebuffer is not complete`;class Gr{constructor(e,t,n,r,i){this.context=e,this.width=t,this.height=n;let a=e.gl,o=this.framebuffer=a.createFramebuffer();
697if(this.colorAttachment=new Vr(e,o),r)this.depthAttachment=i?new Ur(e,o):new Hr(e,o);else if(i)throw Error(`Stencil cannot be set without depth`);if(a.checkFramebufferStatus(a.FRAMEBUFFER)!==a.FRAMEBUFFER_COMPLETE)throw Error(Wr)}destroy(){let e=this.context.gl,t=this.colorAttachment.get();if(t&&e.deleteTexture(t),this.depthAttachment){let t=this.depthAttachment.get();t&&e.deleteRenderbuffer(t)}e.deleteFramebuffer(this.framebuffer)}}class Y{constructor(e){if(this.gl=e,this.clearColor=new lr(this),this.clearDepth=new ur(this),this.clearStencil=new dr(this),this.colorMask=new fr(this),this.depthMask=new pr(this),this.stencilMask=new mr(this),this.stencilFunc=new hr(this),this.stencilOp=new gr(this),this.stencilTest=new _r(this),this.depthRange=new vr(this),this.depthTest=new yr(this),this.depthFunc=new br(this),this.blend=new xr(this),this.blendFunc=new Sr(this),this.blendColor=new Cr(this),this.blendEquation=new wr(this),this.cullFace=new Tr(this),this.cullFaceSide=new Er(this),this.frontFace=new Dr(this),this.program=new Or(this),this.activeTexture=new kr(this),this.viewport=new Ar(this),this.bindFramebuffer=new jr(this),this.bindRenderbuffer=new Mr(this),this.bindTexture=new Nr(this),this.bindVertexBuffer=new Pr(this),this.bindElementBuffer=new Fr(this),this.bindVertexArray=new Ir(this),this.pixelStoreUnpack=new Lr(this),this.pixelStoreUnpackPremultiplyAlpha=new Rr(this),this.pixelStoreUnpackFlipY=new zr(this),this.extTextureFilterAnisotropic=e.getExtension(`EXT_texture_filter_anisotropic`)||e.getExtension(`MOZ_EXT_texture_filter_anisotropic`)||e.getExtension(`WEBKIT_EXT_texture_filter_anisotropic`),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=e.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),qt(e)){this.HALF_FLOAT=e.HALF_FLOAT;let t=e.getExtension(`EXT_color_buffer_half_float`);this.RGBA16F=e.RGBA16F??t?.RGBA16F_EXT,this.RGB16F=e.RGB16F??t?.RGB16F_EXT,e.getExtension(`EXT_color_buffer_float`)}else{e.getExtension(`EXT_color_buffer_half_float`),e.getExtension(`OES_texture_half_float_linear`);let t=e.getExtension(`OES_texture_half_float`);this.HALF_FLOAT=t?.HALF_FLOAT_OES}}setDefault(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()}setDirty(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.bindVertexArray.dirty=!0,this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0}createIndexBuffer(e,t){return new ar(this,e,t)}createVertexBuffer(e,t,n){return new sr(this,e,t,n)}createRenderbuffer(e,t,n){let r=this.gl,i=r.createRenderbuffer();return this.bindRenderbuffer.set(i),r.renderbufferStorage(r.RENDERBUFFER,e,t,n),this.bindRenderbuffer.set(null),i}createFramebuffer(e,t,n,r){return new Gr(this,e,t,n,r)}clear({color:e,depth:t,stencil:n}){let r=this.gl,i=0;e&&(i|=r.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),t!==void 0&&(i|=r.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(t),this.depthMask.set(!0)),n!==void 0&&(i|=r.STENCIL_BUFFER_BIT,this.clearStencil.set(n),this.stencilMask.set(255)),r.clear(i)}setCullFace(e){!1===e.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(e.mode),this.frontFace.set(e.frontFace))}setDepthMode(e){e.func!==this.gl.ALWAYS||e.mask?(this.depthTest.set(!0),this.depthFunc.set(e.func),this.depthMask.set(e.mask),this.depthRange.set(e.range)):this.depthTest.set(!1)}setStencilMode(e){e.test.func!==this.gl.ALWAYS||e.mask?(this.stencilTest.set(!0),this.stencilMask.set(e.mask),this.stencilOp.set([e.fail,e.depthFail,e.pass]),this.stencilFunc.set({func:e.test.func,ref:e.ref,mask:e.test.mask})):this.stencilTest.set(!1)}setColorMode(e){t.bE(e.blendFunction,G.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask)}createVertexArray(){return qt(this.gl)?this.gl.createVertexArray():this.gl.getExtension(`OES_vertex_array_object`)?.createVertexArrayOES()}deleteVertexArray(e){return qt(this.gl)?this.gl.deleteVertexArray(e):this.gl.getExtension(`OES_vertex_array_object`)?.deleteVertexArrayOES(e)}unbindVAO(){this.bindVertexArray.set(null)}}let Kr;function qr(e,n,r,i,a){let o=e.context,s=e.transform,c=o.gl,l=e.useProgram(`collisionBox`),u=[],d=0,f=0;for(let t=0;t<i.length;t++){let p=i[t],m=n.getTile(p).getBucket(r);
697if(!m)continue;let h=a?m.textCollisionBox:m.iconCollisionBox,g=m.collisionCircleArray;g.length>0&&(u.push({circleArray:g,circleOffset:f,coord:p}),d+=g.length/4,f=d),h&&l.draw(o,c.LINES,q.disabled,J.disabled,e.colorModeForRenderPass(),K.disabled,In(e.transform),e.style.map.terrain&&e.style.map.terrain.getTerrainData(p),s.getProjectionData({overscaledTileID:p,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),r.id,h.layoutVertexBuffer,h.indexBuffer,h.segments,null,e.transform.zoom,null,null,h.collisionVertexBuffer)}if(!a||!u.length)return;let p=e.useProgram(`collisionCircle`),m=new t.bT;m.resize(4*d),m._trim();let h=0;for(let e of u)for(let t=0;t<e.circleArray.length/4;t++){let n=4*t,r=e.circleArray[n+0],i=e.circleArray[n+1],a=e.circleArray[n+2],o=e.circleArray[n+3];m.emplace(h++,r,i,a,o,0),m.emplace(h++,r,i,a,o,1),m.emplace(h++,r,i,a,o,2),m.emplace(h++,r,i,a,o,3)}(!Kr||Kr.length<2*d)&&(Kr=function(e){let n=2*e,r=new t.bV;r.resize(n),r._trim();for(let e=0;e<n;e++){let t=6*e;r.uint16[t+0]=4*e+0,r.uint16[t+1]=4*e+1,r.uint16[t+2]=4*e+2,r.uint16[t+3]=4*e+2,r.uint16[t+4]=4*e+3,r.uint16[t+5]=4*e+0}return r}(d));let g=o.createIndexBuffer(Kr,!0),_=o.createVertexBuffer(m,t.bU.members,!0);for(let n of u){let i=Ln(e.transform);p.draw(o,c.TRIANGLES,q.disabled,J.disabled,e.colorModeForRenderPass(),K.disabled,i,e.style.map.terrain&&e.style.map.terrain.getTerrainData(n.coord),null,r.id,_,g,t.aJ.simpleSegment(0,2*n.circleOffset,n.circleArray.length,n.circleArray.length/2),null,e.transform.zoom,null,null,null)}_.destroy(),g.destroy()}let Jr=t.ad(new Float32Array(16));function Yr(e,n,r,i,a,o){let{horizontalAlign:s,verticalAlign:c}=t.aE(e);return new t.P((-(s-.5)*n/a+i[0])*o,(-(c-.5)*r/a+i[1])*o)}function Xr(e,n,r,i,a,o){let s=n.tileAnchorPoint.add(new t.P(n.translation[0],n.translation[1]));if(n.pitchWithMap){let e=i.mult(o);r||(e=e.rotate(-a));let t=s.add(e);return We(t.x,t.y,n.pitchedLabelPlaneMatrix,n.getElevation).point}if(r){let t=Xe(n.tileAnchorPoint.x+1,n.tileAnchorPoint.y,n).point.sub(e),r=Math.atan(t.y/t.x)+(t.x<0?Math.PI:0);return e.add(i.rotate(r))}return e.add(i)}function Zr(e,n,r,i,a,o,s,c,l,u,d,f){let p=e.text.placedSymbolArray,m=e.text.dynamicLayoutVertexArray,h=e.icon.dynamicLayoutVertexArray,g={};m.clear();for(let h=0;h<p.length;h++){let _=p.get(h),v=_.hidden||!_.crossTileID||e.allowVerticalPlacement&&!_.placedOrientation?null:i[_.crossTileID];if(v){let i=new t.P(_.anchorX,_.anchorY),p={getElevation:f,width:a.width,height:a.height,pitchedLabelPlaneMatrix:o,pitchWithMap:r,transform:a,tileAnchorPoint:i,translation:u,unwrappedTileID:d},h=r?Ze(i.x,i.y,p):Xe(i.x,i.y,p),y=Ge(a.cameraToCenterDistance,h.signedDistanceFromCamera),b=t.am(e.textSizeData,c,_)*y/t.ay;r&&(b*=e.tilePixelRatio/s);let{width:x,height:S,anchor:C,textOffset:w,textBoxScale:T}=v,E=Yr(C,x,S,w,T,b),D=a.getPitchedTextCorrection(i.x+u[0],i.y+u[1],d),O=Xr(h.point,p,n,E,-a.bearingInRadians,D),k=e.allowVerticalPlacement&&_.placedOrientation===t.al.vertical?Math.PI/2:0;for(let e=0;e<_.numGlyphs;e++)t.as(m,O,k);l&&_.associatedIconIndex>=0&&(g[_.associatedIconIndex]={shiftedAnchor:O,angle:k})}else nt(_.numGlyphs,m)}if(l){h.clear();let n=e.icon.placedSymbolArray;for(let e=0;e<n.length;e++){let r=n.get(e);if(r.hidden)nt(r.numGlyphs,h);else{let n=g[e];if(n)for(let e=0;e<r.numGlyphs;e++)t.as(h,n.shiftedAnchor,n.angle);else nt(r.numGlyphs,h)}}e.icon.dynamicLayoutVertexBuffer.updateData(h)}e.text.dynamicLayoutVertexBuffer.updateData(m)}function Qr(e,t,n){return n.iconsInText&&t?`symbolTextAndIcon`:e?`symbolSDF`:`symbolIcon`}function $r(e,n,r,i,a,o,s,c,l,u,d,f,p){let m=e.context,h=m.gl,g=e.transform,_=c===`map`,v=l===`map`,y=c!==`viewport`&&r.layout.get(`symbol-placement`)!==`point`,b=_&&!v&&!y,x=!r.layout.get(`symbol-sort-key`).isConstant(),S=!1,C=e.getDepthModeForSublayer(0,q.ReadOnly),w=r._unevaluatedLayout.hasValue(`text-variable-anchor`)||r._unevaluatedLayout.hasValue(`text-variable-anchor-offset`),T=[],E=g.getCircleRadiusCorrection();for(let c of i){let i=n.getTile(c),l=i.getBucket(r);if(!l)continue;let d=a?l.text:l.icon;if(!d||!d.segments.get().length||!d.hasVisibleVertices)continue;let f=d.programConfigurations.get(r.id),m=a||l.sdfIcons,C=a?l.textSizeData:l.iconSizeData,D=v||g.pitch!==0,O=e.useProgram(Qr(m,a,l),f),k=t.ak(C,g.zoom),A=e.style.map.terrain&&e.style.map.terrain.getTerrainData(c),ee,te,j,ne,re=[0,0],M=null;if(a)te=i.glyphAtlasTexture,j=h.LINEAR,ee=i.glyphAtlasTexture.size,l.iconsInText&&(re=i.imageAtlasTexture.size,M=i.imageAtlasTexture,ne=D||e.options.rotating||e.options.zooming||C.kind===`composite`||C.kind===`camera`?h.LINEAR:h.NEAREST);else{let t=r.layout.get(`icon-size`).constantOr(0)!==1||l.iconsNeedLinear;te=i.imageAtlasTexture,j=m||e.options.rotating||e.options.zooming||t||D?h.LINEAR:h.NEAREST,ee=i.imageAtlasTexture.size}let ie=t.az(i,1,e.transform.zoom),ae=He(_,e.transform,ie),oe=t.K();t.an(oe,ae);let se=Ue(v,_,e.transform,ie),ce=t.aA(g,i,o,s),le=g.getProjectionData({overscaledTileID:c,applyGlobeMatrix:!p,applyTerrainMatrix:!0}),N=w&&l.hasTextData(),P=r.layout.get(`icon-text-fit`)!==`none`&&N&&l.hasIconData();if(y){let t=e.style.map.terrain?(t,n)=>e.style.map.terrain.getElevation(c,t,n):null;qe(l,e,a,ae,oe,v,u,r.layout.get(`text-rotation-alignment`)===`map`,c.toUnwrapped(),g.width,g.height,ce,t)}let ue=a&&w||P,F=y||ue?Jr:v?ae:e.transform.clipSpaceToPixelsMatrix,de=m&&r.paint.get(a?`text-halo-width`:`icon-halo-width`).constantOr(1)!==0,fe;fe=m?l.iconsInText?er(C.kind,k,b,v,y,ue,e,F,se,ce,ee,re,E):$n(C.kind,k,b,v,y,ue,e,F,se,ce,a,ee,0,E):Qn(C.kind,k,b,v,y,ue,e,F,se,ce,a,ee,E);let I={program:O,buffers:d,uniformValues:fe,projectionData:le,atlasTexture:te,atlasTextureIcon:M,atlasInterpolation:j,atlasInterpolationIcon:ne,isSDF:m,hasHalo:de};if(x&&l.canOverlap){S=!0;let e=d.segments.get();for(let n of e)T.push({segments:new t.aJ([n]),sortKey:n.sortKey,state:I,terrainData:A})}else T.push({segments:d.segments,sortKey:0,state:I,terrainData:A})}S&&T.sort(((e,t)=>
697e.sortKey-t.sortKey));for(let t of T){let n=t.state;if(m.activeTexture.set(h.TEXTURE0),n.atlasTexture.bind(n.atlasInterpolation,h.CLAMP_TO_EDGE),n.atlasTextureIcon&&(m.activeTexture.set(h.TEXTURE1),n.atlasTextureIcon&&n.atlasTextureIcon.bind(n.atlasInterpolationIcon,h.CLAMP_TO_EDGE)),n.isSDF){let i=n.uniformValues;n.hasHalo&&(i.u_is_halo=1,ei(n.buffers,t.segments,r,e,n.program,C,d,f,i,n.projectionData,t.terrainData)),i.u_is_halo=0}ei(n.buffers,t.segments,r,e,n.program,C,d,f,n.uniformValues,n.projectionData,t.terrainData)}}function ei(e,t,n,r,i,a,o,s,c,l,u){let d=r.context;i.draw(d,d.gl.TRIANGLES,a,o,s,K.backCCW,c,u,l,n.id,e.layoutVertexBuffer,e.indexBuffer,t,n.paint,r.transform.zoom,e.programConfigurations.get(n.id),e.dynamicLayoutVertexBuffer,e.opacityVertexBuffer)}function ti(e,n,r,i,a){let o=e.context,s=o.gl,c=J.disabled,l=new G([s.ONE,s.ONE],t.b7.transparent,[!0,!0,!0,!0]),u=n.getBucket(r);if(!u)return;let d=i.key,f=r.heatmapFbos.get(d);f||(f=ri(o,n.tileSize,n.tileSize),r.heatmapFbos.set(d,f)),o.bindFramebuffer.set(f.framebuffer),o.viewport.set([0,0,n.tileSize,n.tileSize]),o.clear({color:t.b7.transparent});let p=u.programConfigurations.get(r.id),m=e.useProgram(`heatmap`,p,!a),h=e.transform.getProjectionData({overscaledTileID:n.tileID,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),g=e.style.map.terrain.getTerrainData(i);m.draw(o,s.TRIANGLES,q.disabled,c,l,K.disabled,zn(n,e.transform.zoom,r.paint.get(`heatmap-intensity`),1),g,h,r.id,u.layoutVertexBuffer,u.indexBuffer,u.segments,r.paint,e.transform.zoom,p)}function ni(e,t,n,r,i){let a=e.context,o=a.gl,s=e.transform;a.setColorMode(e.colorModeForRenderPass());let c=ii(a,t),l=n.key,u=t.heatmapFbos.get(l);if(!u)return;a.activeTexture.set(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,u.colorAttachment.get()),a.activeTexture.set(o.TEXTURE1),c.bind(o.LINEAR,o.CLAMP_TO_EDGE);let d=s.getProjectionData({overscaledTileID:n,applyTerrainMatrix:i,applyGlobeMatrix:!r});e.useProgram(`heatmapTexture`).draw(a,o.TRIANGLES,q.disabled,J.disabled,e.colorModeForRenderPass(),K.disabled,Bn(e,t,0,1),null,d,t.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments,t.paint,s.zoom),u.destroy(),t.heatmapFbos.delete(l)}function ri(e,t,n){let r=e.gl,i=r.createTexture();r.bindTexture(r.TEXTURE_2D,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR);let a=e.HALF_FLOAT??r.UNSIGNED_BYTE,o=e.RGBA16F??r.RGBA;r.texImage2D(r.TEXTURE_2D,0,o,t,n,0,r.RGBA,a,null);let s=e.createFramebuffer(t,n,!1,!1);return s.colorAttachment.set(i),s}function ii(e,t){return t.colorRampTexture||=new v(e,t.colorRamp,e.gl.RGBA),t.colorRampTexture}function ai(e,t,n,r,i){if(!n||!r||!r.imageAtlas)return;let a=r.imageAtlas.patternPositions,o=a[n.to.toString()],s=a[n.from.toString()];if(!o&&s&&(o=s),!s&&o&&(s=o),!o||!s){let e=i.getPaintProperty(t);o=a[e],s=a[e]}o&&s&&e.setConstantPatternPositions(o,s)}function oi(e,n,r,i,a,o,s,c){let l=e.context.gl,u=`fill-pattern`,d=r.paint.get(u),f=d&&d.constantOr(1),p=r.getCrossfadeParameters(),m,h,g,_,v,y=e.transform,b=r.paint.get(`fill-translate`),x=r.paint.get(`fill-translate-anchor`);s?(h=f&&!r.getPaintProperty(`fill-outline-color`)?`fillOutlinePattern`:`fillOutline`,m=l.LINES):(h=f?`fillPattern`:`fill`,m=l.TRIANGLES);let S=d.constantOr(null);for(let d of i){let i=n.getTile(d);if(f&&!i.patternsLoaded())continue;let C=i.getBucket(r);if(!C)continue;let w=C.programConfigurations.get(r.id),T=e.useProgram(h,w),E=e.style.map.terrain&&e.style.map.terrain.getTerrainData(d);f&&(e.context.activeTexture.set(l.TEXTURE0),i.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),w.updatePaintBuffers(p)),ai(w,u,S,i,r);let D=y.getProjectionData({overscaledTileID:d,applyGlobeMatrix:!c,applyTerrainMatrix:!0}),O=t.aA(y,i,b,x);if(s){_=C.indexBuffer2,v=C.segments2;let t=[l.drawingBufferWidth,l.drawingBufferHeight];g=h===`fillOutlinePattern`&&f?Pn(e,p,i,t,O):Nn(t,O)}else _=C.indexBuffer,v=C.segments,g=f?Mn(e,p,i,O):{u_fill_translate:O};let k=e.stencilModeForClipping(d);T.draw(e.context,m,a,k,o,K.backCCW,g,E,D,r.id,C.layoutVertexBuffer,_,v,r.paint,e.transform.zoom,w)}}function si(e,n,r,i,a,o,s,c){let l=e.context,u=l.gl,d=`fill-extrusion-pattern`,f=r.paint.get(d),p=f.constantOr(1),m=r.getCrossfadeParameters(),h=r.paint.get(`fill-extrusion-opacity`),g=f.constantOr(null),_=e.transform;
697for(let f of i){let i=n.getTile(f),v=i.getBucket(r);if(!v)continue;let y=e.style.map.terrain&&e.style.map.terrain.getTerrainData(f),b=v.programConfigurations.get(r.id),x=e.useProgram(p?`fillExtrusionPattern`:`fillExtrusion`,b);p&&(e.context.activeTexture.set(u.TEXTURE0),i.imageAtlasTexture.bind(u.LINEAR,u.CLAMP_TO_EDGE),b.updatePaintBuffers(m));let S=_.getProjectionData({overscaledTileID:f,applyGlobeMatrix:!c,applyTerrainMatrix:!0});ai(b,d,g,i,r);let C=t.aA(_,i,r.paint.get(`fill-extrusion-translate`),r.paint.get(`fill-extrusion-translate-anchor`)),w=r.paint.get(`fill-extrusion-vertical-gradient`),T=p?jn(e,w,h,C,f,m,i):An(e,w,h,C);x.draw(l,l.gl.TRIANGLES,a,o,s,K.backCCW,T,y,S,r.id,v.layoutVertexBuffer,v.indexBuffer,v.segments,r.paint,e.transform.zoom,b,e.style.map.terrain&&v.centroidVertexBuffer)}}function ci(e,t,n,r,i,a,o,s,c){let l=e.style.projection,u=e.context,d=e.transform,f=u.gl,p=[`#define NUM_ILLUMINATION_SOURCES ${n.paint.get(`hillshade-highlight-color`).values.length}`],m=e.useProgram(`hillshade`,null,!1,p),h=!e.options.moving;for(let p of r){let r=t.getTile(p),g=r.fbo;if(!g)continue;let _=l.getMeshFromTileID(u,p.canonical,s,!0,`raster`),v=e.style.map.terrain?.getTerrainData(p);u.activeTexture.set(f.TEXTURE0),f.bindTexture(f.TEXTURE_2D,g.colorAttachment.get());let y=d.getProjectionData({overscaledTileID:p,aligned:h,applyGlobeMatrix:!c,applyTerrainMatrix:!0});m.draw(u,f.TRIANGLES,a,i[p.overscaledZ],o,K.backCCW,Vn(e,r,n),v,y,n.id,_.vertexBuffer,_.indexBuffer,_.segments)}}let li=[new t.P(0,0),new t.P(t.Z,0),new t.P(t.Z,t.Z),new t.P(0,t.Z)];function ui(e,t,n,r,i,a,o,s,c=!1,l=!1){let u=r[r.length-1].overscaledZ,d=e.context,f=d.gl,p=e.useProgram(`raster`),m=e.transform,h=e.style.projection,g=e.colorModeForRenderPass(),_=!e.options.moving;for(let v of r){let r=e.getDepthModeForSublayer(v.overscaledZ-u,n.paint.get(`raster-opacity`)===1?q.ReadWrite:q.ReadOnly,f.LESS),y=t.getTile(v);y.registerFadeDuration(n.paint.get(`raster-fade-duration`));let b=t.findLoadedParent(v,0),x=t.findLoadedSibling(v),S=di(y,b||x||null,t,n,e.transform,e.style.map.terrain),C,w,T=n.paint.get(`raster-resampling`)===`nearest`?f.NEAREST:f.LINEAR;d.activeTexture.set(f.TEXTURE0),y.texture.bind(T,f.CLAMP_TO_EDGE,f.LINEAR_MIPMAP_NEAREST),d.activeTexture.set(f.TEXTURE1),b?(b.texture.bind(T,f.CLAMP_TO_EDGE,f.LINEAR_MIPMAP_NEAREST),C=2**(b.tileID.overscaledZ-y.tileID.overscaledZ),w=[y.tileID.canonical.x*C%1,y.tileID.canonical.y*C%1]):y.texture.bind(T,f.CLAMP_TO_EDGE,f.LINEAR_MIPMAP_NEAREST),y.texture.useMipmap&&d.extTextureFilterAnisotropic&&e.transform.pitch>20&&f.texParameterf(f.TEXTURE_2D,d.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,d.extTextureFilterAnisotropicMax);let E=e.style.map.terrain&&e.style.map.terrain.getTerrainData(v),D=m.getProjectionData({overscaledTileID:v,aligned:_,applyGlobeMatrix:!l,applyTerrainMatrix:!0}),O=Xn(w||[0,0],C||1,S,n,s),k=h.getMeshFromTileID(d,v.canonical,a,o,`raster`);p.draw(d,f.TRIANGLES,r,i?i[v.overscaledZ]:J.disabled,g,c?K.frontCCW:K.backCCW,O,E,D,n.id,k.vertexBuffer,k.indexBuffer,k.segments)}}function di(e,n,r,i,a,s){let c=i.paint.get(`raster-fade-duration`);if(!s&&c>0){let i=o.now(),s=(i-e.timeAdded)/c,l=n?(i-n.timeAdded)/c:-1,u=r.getSource(),d=Pe(a,{tileSize:u.tileSize,roundZoom:u.roundZoom}),f=!n||Math.abs(n.tileID.overscaledZ-d)>Math.abs(e.tileID.overscaledZ-d),p=f&&e.refreshedUponExpiration?1:t.ae(f?s:1-l,0,1);return e.refreshedUponExpiration&&s>=1&&(e.refreshedUponExpiration=!1),n?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}let fi=new t.b7(1,0,0,1),pi=new t.b7(0,1,0,1),mi=new t.b7(0,0,1,1),hi=new t.b7(1,0,1,1),gi=new t.b7(0,1,1,1);function _i(e,t,n,r){yi(e,0,t+n/2,e.transform.width,n,r)}function vi(e,t,n,r){yi(e,t-n/2,0,n,e.transform.height,r)}function yi(e,t,n,r,i,a){let o=e.context,s=o.gl;s.enable(s.SCISSOR_TEST),s.scissor(t*e.pixelRatio,n*e.pixelRatio,r*e.pixelRatio,i*e.pixelRatio),o.clear({color:a}),s.disable(s.SCISSOR_TEST)}function bi(e,n,r){let i=e.context,a=i.gl,o=e.useProgram(`debug`),s=q.disabled,c=J.disabled,l=e.colorModeForRenderPass(),u=`$debug`,d=e.style.map.terrain&&e.style.map.terrain.getTerrainData(r);i.activeTexture.set(a.TEXTURE0);let f=n.getTileByID(r.key).latestRawTileData,p=Math.floor((f&&f.byteLength||0)/1024),m=n.getTile(r).tileSize,h=512/Math.min(m,512)*(r.overscaledZ/e.transform.zoom)*.5,g=r.canonical.toString();r.overscaledZ!==r.canonical.z&&(g+=` => ${r.overscaledZ}`),function(e,t){e.initDebugOverlayCanvas();let n=e.debugOverlayCanvas,r=e.context.gl,i=e.debugOverlayCanvas.getContext(`2d`);i.clearRect(0,0,n.width,n.height),i.shadowColor=`white`,i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle=`white`,i.textBaseline=`top`,i.font=`bold 36px Open Sans, sans-serif`,i.fillText(t,5,5),i.strokeText(t,5,5),e.debugOverlayTexture.update(n),e.debugOverlayTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)}(e,`${g} ${p}kB`);let _=e.transform.getProjectionData({overscaledTileID:r,applyGlobeMatrix:!0,applyTerrainMatrix:!0});o.draw(i,a.TRIANGLES,s,c,G.alphaBlended,K.disabled,Rn(t.b7.transparent,h),null,_,u,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments),o.draw(i,a.LINE_STRIP,s,c,l,K.disabled,Rn(t.b7.red),d,_,u,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments)}function xi(e,t,n,r){let{isRenderingGlobe:i}=r,a=e.context,o=a.gl,s=e.transform,c=e.colorModeForRenderPass(),l=e.getDepthModeFor3D(),u=e.useProgram(`terrain`);a.bindFramebuffer.set(null),a.viewport.set([0,0,e.width,e.height]);for(let r of n){let n=t.getTerrainMesh(r.tileID),d=e.renderToTexture.getTexture(r),f=t.getTerrainData(r.tileID);a.activeTexture.set(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,d.texture);
697let p=Tn(t.getMeshFrameDelta(s.zoom),s.calculateFogMatrix(r.tileID.toUnwrapped()),e.style.sky,s.pitch,i),m=s.getProjectionData({overscaledTileID:r.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0});u.draw(a,o.TRIANGLES,l,J.disabled,c,K.backCCW,p,f,m,`terrain`,n.vertexBuffer,n.indexBuffer,n.segments)}}function Si(e,n){if(!n.mesh){let r=new t.aI;r.emplaceBack(-1,-1),r.emplaceBack(1,-1),r.emplaceBack(1,1),r.emplaceBack(-1,1);let i=new t.aK;i.emplaceBack(0,1,2),i.emplaceBack(0,2,3),n.mesh=new Ot(e.createVertexBuffer(r,kt.members),e.createIndexBuffer(i),t.aJ.simpleSegment(0,0,r.length,i.length))}return n.mesh}class Ci{constructor(e,n){this.context=new Y(e),this.transform=n,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:t.ad(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=Ie.maxUnderzooming+Ie.maxOverzooming+1,this.depthEpsilon=1/2**16,this.crossTileSymbolIndex=new Tt}resize(e,t,n){if(this.width=Math.floor(e*n),this.height=Math.floor(t*n),this.pixelRatio=n,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let e of this.style._order)this.style._layers[e].resize()}setup(){let e=this.context,n=new t.aI;n.emplaceBack(0,0),n.emplaceBack(t.Z,0),n.emplaceBack(0,t.Z),n.emplaceBack(t.Z,t.Z),this.tileExtentBuffer=e.createVertexBuffer(n,kt.members),this.tileExtentSegments=t.aJ.simpleSegment(0,0,4,2);let r=new t.aI;r.emplaceBack(0,0),r.emplaceBack(t.Z,0),r.emplaceBack(0,t.Z),r.emplaceBack(t.Z,t.Z),this.debugBuffer=e.createVertexBuffer(r,kt.members),this.debugSegments=t.aJ.simpleSegment(0,0,4,5);let i=new t.b_;i.emplaceBack(0,0,0,0),i.emplaceBack(t.Z,0,t.Z,0),i.emplaceBack(0,t.Z,0,t.Z),i.emplaceBack(t.Z,t.Z,t.Z,t.Z),this.rasterBoundsBuffer=e.createVertexBuffer(i,Cn.members),this.rasterBoundsSegments=t.aJ.simpleSegment(0,0,4,2);let a=new t.aI;a.emplaceBack(0,0),a.emplaceBack(t.Z,0),a.emplaceBack(0,t.Z),a.emplaceBack(t.Z,t.Z),this.rasterBoundsBufferPosOnly=e.createVertexBuffer(a,kt.members),this.rasterBoundsSegmentsPosOnly=t.aJ.simpleSegment(0,0,4,5);let o=new t.aI;o.emplaceBack(0,0),o.emplaceBack(1,0),o.emplaceBack(0,1),o.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(o,kt.members),this.viewportSegments=t.aJ.simpleSegment(0,0,4,2);let s=new t.b$;s.emplaceBack(0),s.emplaceBack(1),s.emplaceBack(3),s.emplaceBack(2),s.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(s);let c=new t.aK;c.emplaceBack(1,0,2),c.emplaceBack(1,2,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(c);let l=this.context.gl;this.stencilClearMode=new J({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO),this.tileExtentMesh=new Ot(this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}clearStencil(){let e=this.context,n=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let r=t.K();t.bQ(r,0,this.width,this.height,0,0,1),t.M(r,r,[n.drawingBufferWidth,n.drawingBufferHeight,0]);let i={mainMatrix:r,tileMercatorCoords:[0,0,1,1],clippingPlane:[0,0,0,0],projectionTransition:0,fallbackMatrix:r};this.useProgram(`clippingMask`,null,!0).draw(e,n.TRIANGLES,q.disabled,this.stencilClearMode,G.disabled,K.disabled,null,null,i,`$clipping`,this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(e,t,n){if(this.currentStencilSource===e.source||!e.isTileClipped()||!t||!t.length)return;this.currentStencilSource=e.source,this.nextStencilID+t.length>256&&this.clearStencil();let r=this.context;r.setColorMode(G.disabled),r.setDepthMode(q.disabled);let i={};for(let e of t)i[e.key]=this.nextStencilID++;this._renderTileMasks(i,t,n,!0),this._renderTileMasks(i,t,n,!1),this._tileClippingMaskIDs=i}_renderTileMasks(e,t,n,r){let i=this.context,a=i.gl,o=this.style.projection,s=this.transform,c=this.useProgram(`clippingMask`);for(let l of t){let t=e[l.key],u=this.style.map.terrain&&this.style.map.terrain.getTerrainData(l),d=o.getMeshFromTileID(this.context,l.canonical,r,!0,`stencil`),f=s.getProjectionData({overscaledTileID:l,applyGlobeMatrix:!n,applyTerrainMatrix:!0});c.draw(i,a.TRIANGLES,q.disabled,new J({func:a.ALWAYS,mask:0},t,255,a.KEEP,a.KEEP,a.REPLACE),G.disabled,n?K.disabled:K.backCCW,null,u,f,`$clipping`,d.vertexBuffer,d.indexBuffer,d.segments)}}_renderTilesDepthBuffer(){let e=this.context,t=e.gl,n=this.style.projection,r=this.transform,i=this.useProgram(`depth`),a=this.getDepthModeFor3D(),o=Fe(r,{tileSize:r.tileSize});for(let s of o){let o=this.style.map.terrain&&this.style.map.terrain.getTerrainData(s),c=n.getMeshFromTileID(this.context,s.canonical,!0,!0,`raster`),l=r.getProjectionData({overscaledTileID:s,applyGlobeMatrix:!0,applyTerrainMatrix:!0});i.draw(e,t.TRIANGLES,a,J.disabled,G.disabled,K.backCCW,null,o,l,`$clipping`,c.vertexBuffer,c.indexBuffer,c.segments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let e=this.nextStencilID++,t=this.context.gl;
697return new J({func:t.NOTEQUAL,mask:255},e,255,t.KEEP,t.KEEP,t.REPLACE)}stencilModeForClipping(e){let t=this.context.gl;return new J({func:t.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,t.KEEP,t.KEEP,t.REPLACE)}getStencilConfigForOverlapAndUpdateStencilID(e){let t=this.context.gl,n=e.sort(((e,t)=>t.overscaledZ-e.overscaledZ)),r=n[n.length-1].overscaledZ,i=n[0].overscaledZ-r+1;if(i>1){this.currentStencilSource=void 0,this.nextStencilID+i>256&&this.clearStencil();let e={};for(let n=0;n<i;n++)e[n+r]=new J({func:t.GEQUAL,mask:255},n+this.nextStencilID,255,t.KEEP,t.KEEP,t.REPLACE);return this.nextStencilID+=i,[e,n]}return[{[r]:J.disabled},n]}stencilConfigForOverlapTwoPass(e){let t=this.context.gl,n=e.sort(((e,t)=>t.overscaledZ-e.overscaledZ)),r=n[n.length-1].overscaledZ,i=n[0].overscaledZ-r+1;if(this.clearStencil(),i>1){let e={},a={};for(let n=0;n<i;n++)e[n+r]=new J({func:t.GREATER,mask:255},i+1+n,255,t.KEEP,t.KEEP,t.REPLACE),a[n+r]=new J({func:t.GREATER,mask:255},1+n,255,t.KEEP,t.KEEP,t.REPLACE);return this.nextStencilID=2*i+1,[e,a,n]}return this.nextStencilID=3,[{[r]:new J({func:t.GREATER,mask:255},2,255,t.KEEP,t.KEEP,t.REPLACE)},{[r]:new J({func:t.GREATER,mask:255},1,255,t.KEEP,t.KEEP,t.REPLACE)},n]}colorModeForRenderPass(){let e=this.context.gl;if(this._showOverdrawInspector){let n=1/8;return new G([e.CONSTANT_COLOR,e.ONE],new t.b7(n,n,n,0),[!0,!0,!0,!0])}return this.renderPass===`opaque`?G.unblended:G.alphaBlended}getDepthModeForSublayer(e,t,n){if(!this.opaquePassEnabledForLayer())return q.disabled;let r=1-((1+this.currentLayer)*this.numSublayers+e)*this.depthEpsilon;return new q(n||this.context.gl.LEQUAL,t,[r,r])}getDepthModeFor3D(){return new q(this.context.gl.LEQUAL,q.ReadWrite,this.depthRangeFor3D)}opaquePassEnabledForLayer(){return this.currentLayer<this.opaquePassCutoff}render(e,n){var r;this.style=e,this.options=n,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(o.now()),this.imageManager.beginFrame();let i=this.style._order,a=this.style.sourceCaches,s={},c={},l={},u={isRenderingToTexture:!1,isRenderingGlobe:e.projection?.transitionState>0};for(let e in a){let t=a[e];t.used&&t.prepare(this.context),s[e]=t.getVisibleCoordinates(!1),c[e]=s[e].slice().reverse(),l[e]=t.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(let e=0;e<i.length;e++)if(this.style._layers[i[e]].is3D()){this.opaquePassCutoff=e;break}this.maybeDrawDepthAndCoords(!1),this.renderToTexture&&(this.renderToTexture.prepareForRender(this.style,this.transform.zoom),this.opaquePassCutoff=0),this.renderPass=`offscreen`;for(let e of i){let t=this.style._layers[e];if(!t.hasOffscreenPass()||t.isHidden(this.transform.zoom))continue;let n=c[t.source];(t.type===`custom`||n.length)&&this.renderLayer(this,a[t.source],t,n,u)}if((r=this.style.projection)==null||r.updateGPUdependent({context:this.context,useProgram:e=>this.useProgram(e)}),this.context.viewport.set([0,0,this.width,this.height]),this.context.bindFramebuffer.set(null),this.context.clear({color:n.showOverdrawInspector?t.b7.black:t.b7.transparent,depth:1}),this.clearStencil(),this.style.sky&&function(e,t){let n=e.context,r=n.gl,i=((e,t,n)=>{let r=Math.cos(t.rollInRadians),i=Math.sin(t.rollInRadians),a=Oe(t),o=t.getProjectionData({overscaledTileID:null,applyGlobeMatrix:!0,applyTerrainMatrix:!0}).projectionTransition;return{u_sky_color:e.properties.get(`sky-color`),u_horizon_color:e.properties.get(`horizon-color`),u_horizon:[(t.width/2-a*i)*n,(t.height/2+a*r)*n],u_horizon_normal:[-i,r],u_sky_horizon_blend:e.properties.get(`sky-horizon-blend`)*t.height/2*n,u_sky_blend:o}})(t,e.style.map.transform,e.pixelRatio),a=new q(r.LEQUAL,q.ReadWrite,[0,1]),o=J.disabled,s=e.colorModeForRenderPass(),c=e.useProgram(`sky`),l=Si(n,t);c.draw(n,r.TRIANGLES,a,o,s,K.disabled,i,null,void 0,`sky`,l.vertexBuffer,l.indexBuffer,l.segments)}(this,this.style.sky),this._showOverdrawInspector=n.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass=`opaque`,this.currentLayer=i.length-1;this.currentLayer>=0;this.currentLayer--){let e=this.style._layers[i[this.currentLayer]],t=
697a[e.source],n=s[e.source];this._renderTileClippingMasks(e,n,!1),this.renderLayer(this,t,e,n,u)}this.renderPass=`translucent`;let d=!1;for(this.currentLayer=0;this.currentLayer<i.length;this.currentLayer++){let e=this.style._layers[i[this.currentLayer]],t=a[e.source];if(this.renderToTexture&&this.renderToTexture.renderLayer(e,u))continue;this.opaquePassEnabledForLayer()||d||(d=!0,u.isRenderingGlobe&&!this.style.map.terrain&&this._renderTilesDepthBuffer());let n=(e.type===`symbol`?l:c)[e.source];this._renderTileClippingMasks(e,s[e.source],!!this.renderToTexture),this.renderLayer(this,t,e,n,u)}if(u.isRenderingGlobe&&function(e,n,r){let i=e.context,a=i.gl,o=e.useProgram(`atmosphere`),s=new q(a.LEQUAL,q.ReadOnly,[0,1]),c=e.transform,l=function(e,n){let r=e.properties.get(`position`),i=[-r.x,-r.y,-r.z],a=t.ad(new Float64Array(16));return e.properties.get(`anchor`)===`map`&&(t.a_(a,a,n.rollInRadians),t.a$(a,a,-n.pitchInRadians),t.a_(a,a,n.bearingInRadians),t.a$(a,a,n.center.lat*Math.PI/180),t.bp(a,a,-n.center.lng*Math.PI/180)),t.bZ(i,i,a),i}(r,e.transform),u=c.getProjectionData({overscaledTileID:null,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),d=n.properties.get(`atmosphere-blend`)*u.projectionTransition;if(d===0)return;let f=an(c.worldSize,c.center.lat),p=c.inverseProjectionMatrix,m=new Float64Array(4);m[3]=1,t.at(m,m,c.modelViewProjectionMatrix),m[0]/=m[3],m[1]/=m[3],m[2]/=m[3],m[3]=1,t.at(m,m,p),m[0]/=m[3],m[1]/=m[3],m[2]/=m[3],m[3]=1;let h=((e,t,n,r,i)=>({u_sun_pos:e,u_atmosphere_blend:t,u_globe_position:n,u_globe_radius:r,u_inv_proj_matrix:i}))(l,d,[m[0],m[1],m[2]],f,p),g=Si(i,n);o.draw(i,a.TRIANGLES,s,J.disabled,G.alphaBlended,K.disabled,h,null,null,`atmosphere`,g.vertexBuffer,g.indexBuffer,g.segments)}(this,this.style.sky,this.style.light),this.options.showTileBoundaries){let e=function(e,t){let n=null,r=Object.values(e._layers).flatMap((n=>n.source&&!n.isHidden(t)?[e.sourceCaches[n.source]]:[])),i=r.filter((e=>e.getSource().type===`vector`)),a=r.filter((e=>e.getSource().type!==`vector`)),o=e=>{(!n||n.getSource().maxzoom<e.getSource().maxzoom)&&(n=e)};return i.forEach((e=>o(e))),n||a.forEach((e=>o(e))),n}(this.style,this.transform.zoom);e&&function(e,t,n){for(let r=0;r<n.length;r++)bi(e,t,n[r])}(this,e,e.getVisibleCoordinates())}this.options.showPadding&&function(e){let t=e.transform.padding;_i(e,e.transform.height-(t.top||0),3,fi),_i(e,t.bottom||0,3,pi),vi(e,t.left||0,3,mi),vi(e,e.transform.width-(t.right||0),3,hi);let n=e.transform.centerPoint;(function(e,t,n,r){yi(e,t-1,n-10,2,20,r),yi(e,t-10,n-1,20,2,r)})(e,n.x,e.transform.height-n.y,gi)}(this),this.context.setDefault()}maybeDrawDepthAndCoords(e){if(!this.style||!this.style.map||!this.style.map.terrain)return;let n=this.terrainFacilitator.matrix,r=this.transform.modelViewProjectionMatrix,i=this.terrainFacilitator.dirty;i||=e?!t.c0(n,r):!t.c1(n,r),i||=this.style.map.terrain.sourceCache.anyTilesAfterTime(this.terrainFacilitator.renderTime),i&&(t.c2(n,r),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(e,n){let r=e.context,i=r.gl,a=e.transform,o=G.unblended,s=new q(i.LEQUAL,q.ReadWrite,[0,1]),c=n.sourceCache.getRenderableTiles(),l=e.useProgram(`terrainDepth`);r.bindFramebuffer.set(n.getFramebuffer(`depth`).framebuffer),r.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),r.clear({color:t.b7.transparent,depth:1});for(let e of c){let t=n.getTerrainMesh(e.tileID),c=n.getTerrainData(e.tileID),u=a.getProjectionData({overscaledTileID:e.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0}),d={u_ele_delta:n.getMeshFrameDelta(a.zoom)};l.draw(r,i.TRIANGLES,s,J.disabled,o,K.backCCW,d,c,u,`terrain`,t.vertexBuffer,t.indexBuffer,t.segments)}r.bindFramebuffer.set(null),r.viewport.set([0,0,e.width,e.height])}(this,this.style.map.terrain),function(e,n){let r=e.context,i=r.gl,a=e.transform,o=G.unblended,s=new q(i.LEQUAL,q.ReadWrite,[0,1]),c=n.getCoordsTexture(),l=n.sourceCache.getRenderableTiles(),u=e.useProgram(`terrainCoords`);r.bindFramebuffer.set(n.getFramebuffer(`coords`).framebuffer),r.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),r.clear({color:t.b7.transparent,depth:1}),n.coordsIndex=[];for(let e of l){let t=n.getTerrainMesh(e.tileID),l=n.getTerrainData(e.tileID);r.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,c.texture);let d={u_terrain_coords_id:(255-n.coordsIndex.length)/255,u_texture:0,u_ele_delta:n.getMeshFrameDelta(a.zoom)},f=a.getProjectionData({overscaledTileID:e.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0});u.draw(r,i.TRIANGLES,s,J.disabled,o,K.backCCW,d,l,f,`terrain`,t.vertexBuffer,t.indexBuffer,t.segments),n.coordsIndex.push(e.tileID.key)}r.bindFramebuffer.set(null),r.viewport.set([0,0,e.width,e.height])}(this,this.style.map.terrain))}renderLayer(e,n,r,i,a){r.isHidden(this.transform.zoom)||(r.type===`background`||r.type===`custom`||(i||[]).length)&&(this.id=r.id,t.c3(r)?function(e,n,r,i,a,o){if(e.renderPass!==`translucent`)return;let{isRenderingToTexture:s}=o,c=J.disabled,l=e.colorModeForRenderPass();(r._unevaluatedLayout.hasValue(`text-variable-anchor`)||r._unevaluatedLayout.hasValue(`text-variable-anchor-offset`))&&function(e,n,r,i,a,o,s,c,l){let u=n.transform,d=n.style.map.terrain,f=a===`map`,p=o===`map`;for(let a of e){let e=i.getTile(a),o=e.getBucket(r);
697if(!o||!o.text||!o.text.segments.get().length)continue;let m=t.ak(o.textSizeData,u.zoom),h=t.az(e,1,n.transform.zoom),g=He(f,n.transform,h),_=r.layout.get(`icon-text-fit`)!==`none`&&o.hasIconData();if(m){let n=2**(u.zoom-e.tileID.overscaledZ),r=d?(e,t)=>d.getElevation(a,e,t):null;Zr(o,f,p,l,u,g,n,m,_,t.aA(u,e,s,c),a.toUnwrapped(),r)}}}(i,e,r,n,r.layout.get(`text-rotation-alignment`),r.layout.get(`text-pitch-alignment`),r.paint.get(`text-translate`),r.paint.get(`text-translate-anchor`),a),r.paint.get(`icon-opacity`).constantOr(1)!==0&&$r(e,n,r,i,!1,r.paint.get(`icon-translate`),r.paint.get(`icon-translate-anchor`),r.layout.get(`icon-rotation-alignment`),r.layout.get(`icon-pitch-alignment`),r.layout.get(`icon-keep-upright`),c,l,s),r.paint.get(`text-opacity`).constantOr(1)!==0&&$r(e,n,r,i,!0,r.paint.get(`text-translate`),r.paint.get(`text-translate-anchor`),r.layout.get(`text-rotation-alignment`),r.layout.get(`text-pitch-alignment`),r.layout.get(`text-keep-upright`),c,l,s),n.map.showCollisionBoxes&&(qr(e,n,r,i,!0),qr(e,n,r,i,!1))}(e,n,r,i,this.style.placement.variableOffsets,a):t.c4(r)?function(e,n,r,i,a){if(e.renderPass!==`translucent`)return;let{isRenderingToTexture:o}=a,s=r.paint.get(`circle-opacity`),c=r.paint.get(`circle-stroke-width`),l=r.paint.get(`circle-stroke-opacity`),u=!r.layout.get(`circle-sort-key`).isConstant();if(s.constantOr(1)===0&&(c.constantOr(1)===0||l.constantOr(1)===0))return;let d=e.context,f=d.gl,p=e.transform,m=e.getDepthModeForSublayer(0,q.ReadOnly),h=J.disabled,g=e.colorModeForRenderPass(),_=[],v=p.getCircleRadiusCorrection();for(let a=0;a<i.length;a++){let s=i[a],c=n.getTile(s),l=c.getBucket(r);if(!l)continue;let d=r.paint.get(`circle-translate`),f=r.paint.get(`circle-translate-anchor`),m=t.aA(p,c,d,f),h=l.programConfigurations.get(r.id),g=e.useProgram(`circle`,h),y=l.layoutVertexBuffer,b=l.indexBuffer,x=e.style.map.terrain&&e.style.map.terrain.getTerrainData(s),S={programConfiguration:h,program:g,layoutVertexBuffer:y,indexBuffer:b,uniformValues:Fn(e,c,r,m,v),terrainData:x,projectionData:p.getProjectionData({overscaledTileID:s,applyGlobeMatrix:!o,applyTerrainMatrix:!0})};if(u){let e=l.segments.get();for(let n of e)_.push({segments:new t.aJ([n]),sortKey:n.sortKey,state:S})}else _.push({segments:l.segments,sortKey:0,state:S})}u&&_.sort(((e,t)=>
697e.sortKey-t.sortKey));for(let t of _){let{programConfiguration:n,program:i,layoutVertexBuffer:a,indexBuffer:o,uniformValues:s,terrainData:c,projectionData:l}=t.state;i.draw(d,f.TRIANGLES,m,h,g,K.backCCW,s,c,l,r.id,a,o,t.segments,r.paint,e.transform.zoom,n)}}(e,n,r,i,a):t.c5(r)?function(e,n,r,i,a){if(r.paint.get(`heatmap-opacity`)===0)return;let o=e.context,{isRenderingToTexture:s,isRenderingGlobe:c}=a;if(e.style.map.terrain){for(let t of i){let i=n.getTile(t);n.hasRenderableParent(t)||(e.renderPass===`offscreen`?ti(e,i,r,t,c):e.renderPass===`translucent`&&ni(e,r,t,s,c))}o.viewport.set([0,0,e.width,e.height])}else e.renderPass===`offscreen`?function(e,n,r,i){let a=e.context,o=a.gl,s=e.transform,c=J.disabled,l=new G([o.ONE,o.ONE],t.b7.transparent,[!0,!0,!0,!0]);(function(e,n,r){let i=e.gl;e.activeTexture.set(i.TEXTURE1),e.viewport.set([0,0,n.width/4,n.height/4]);let a=r.heatmapFbos.get(t.bW);a?(i.bindTexture(i.TEXTURE_2D,a.colorAttachment.get()),e.bindFramebuffer.set(a.framebuffer)):(a=ri(e,n.width/4,n.height/4),r.heatmapFbos.set(t.bW,a))})(a,e,r),a.clear({color:t.b7.transparent});for(let t=0;t<i.length;t++){let u=i[t];if(n.hasRenderableParent(u))continue;let d=n.getTile(u),f=d.getBucket(r);if(!f)continue;let p=f.programConfigurations.get(r.id),m=e.useProgram(`heatmap`,p),h=s.getProjectionData({overscaledTileID:u,applyGlobeMatrix:!0,applyTerrainMatrix:!1}),g=s.getCircleRadiusCorrection();m.draw(a,o.TRIANGLES,q.disabled,c,l,K.backCCW,zn(d,s.zoom,r.paint.get(`heatmap-intensity`),g),null,h,r.id,f.layoutVertexBuffer,f.indexBuffer,f.segments,r.paint,s.zoom,p)}a.viewport.set([0,0,e.width,e.height])}(e,n,r,i):e.renderPass===`translucent`&&function(e,n){let r=e.context,i=r.gl;r.setColorMode(e.colorModeForRenderPass());let a=n.heatmapFbos.get(t.bW);a&&(r.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,a.colorAttachment.get()),r.activeTexture.set(i.TEXTURE1),ii(r,n).bind(i.LINEAR,i.CLAMP_TO_EDGE),e.useProgram(`heatmapTexture`).draw(r,i.TRIANGLES,q.disabled,J.disabled,e.colorModeForRenderPass(),K.disabled,Bn(e,n,0,1),null,null,n.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,n.paint,e.transform.zoom))}(e,r)}(e,n,r,i,a):t.c6(r)?function(e,n,r,i,a){if(e.renderPass!==`translucent`)return;let{isRenderingToTexture:o}=a,s=r.paint.get(`line-opacity`),c=r.paint.get(`line-width`);if(s.constantOr(1)===0||c.constantOr(1)===0)return;let l=e.getDepthModeForSublayer(0,q.ReadOnly),u=e.colorModeForRenderPass(),d=r.paint.get(`line-dasharray`),f=r.paint.get(`line-pattern`),p=f.constantOr(1),m=r.paint.get(`line-gradient`),h=r.getCrossfadeParameters(),g=p?`linePattern`:d?`lineSDF`:m?`lineGradient`:`line`,_=e.context,y=_.gl,b=e.transform,x=!0;for(let a of i){let i=n.getTile(a);if(p&&!i.patternsLoaded())continue;let s=i.getBucket(r);if(!s)continue;let c=s.programConfigurations.get(r.id),S=e.context.program.get(),C=e.useProgram(g,c),w=x||C.program!==S,T=e.style.map.terrain&&e.style.map.terrain.getTerrainData(a),E=f.constantOr(null);if(E&&i.imageAtlas){let e=i.imageAtlas,t=e.patternPositions[E.to.toString()],n=e.patternPositions[E.from.toString()];t&&n&&c.setConstantPatternPositions(t,n)}let D=b.getProjectionData({overscaledTileID:a,applyGlobeMatrix:!o,applyTerrainMatrix:!0}),O=b.getPixelScale(),k=p?Kn(e,i,r,O,h):d?qn(e,i,r,O,d,h):m?Gn(e,i,r,O,s.lineClipsArray.length):Wn(e,i,r,O);if(p)_.activeTexture.set(y.TEXTURE0),i.imageAtlasTexture.bind(y.LINEAR,y.CLAMP_TO_EDGE),c.updatePaintBuffers(h);else if(d&&(w||e.lineAtlas.dirty))_.activeTexture.set(y.TEXTURE0),e.lineAtlas.bind(_);else if(m){let i=s.gradients[r.id],o=i.texture;if(r.gradientVersion!==i.version){let c=256;if(r.stepInterpolant){let r=n.getSource().maxzoom,i=a.canonical.z===r?Math.ceil(1<<e.transform.maxZoom-a.canonical.z):1;c=t.ae(t.bX(s.maxLineLength/t.Z*1024*i),256,_.maxTextureSize)}i.gradient=t.bY({expression:r.gradientExpression(),evaluationKey:`lineProgress`,resolution:c,image:i.gradient||void 0,clips:s.lineClipsArray}),i.texture?i.texture.update(i.gradient):i.texture=new v(_,i.gradient,y.RGBA),i.version=r.gradientVersion,o=i.texture}_.activeTexture.set(y.TEXTURE0),o.bind(r.stepInterpolant?y.NEAREST:y.LINEAR,y.CLAMP_TO_EDGE)}let A=e.stencilModeForClipping(a);C.draw(_,y.TRIANGLES,l,A,u,K.disabled,k,T,D,r.id,s.layoutVertexBuffer,s.indexBuffer,s.segments,r.paint,e.transform.zoom,c,s.layoutVertexBuffer2),x=!1}}(e,n,r,i,a):t.c7(r)?function(e,n,r,i,a){let o=r.paint.get(`fill-color`),s=r.paint.get(`fill-opacity`);if(s.constantOr(1)===0)return;let{isRenderingToTexture:c}=a,l=e.colorModeForRenderPass(),u=r.paint.get(`fill-pattern`),d=e.opaquePassEnabledForLayer()&&!u.constantOr(1)&&o.constantOr(t.b7.transparent).a===1&&s.c
697onstantOr(0)===1?`opaque`:`translucent`;e.renderPass===d&&oi(e,n,r,i,e.getDepthModeForSublayer(1,e.renderPass===`opaque`?q.ReadWrite:q.ReadOnly),l,!1,c),e.renderPass===`translucent`&&r.paint.get(`fill-antialias`)&&oi(e,n,r,i,e.getDepthModeForSublayer(r.getPaintProperty(`fill-outline-color`)?2:0,q.ReadOnly),l,!0,c)}(e,n,r,i,a):t.c8(r)?function(e,t,n,r,i){let a=n.paint.get(`fill-extrusion-opacity`);if(a===0)return;let{isRenderingToTexture:o}=i;if(e.renderPass===`translucent`){let i=new q(e.context.gl.LEQUAL,q.ReadWrite,e.depthRangeFor3D);if(a!==1||n.paint.get(`fill-extrusion-pattern`).constantOr(1))si(e,t,n,r,i,J.disabled,G.disabled,o),si(e,t,n,r,i,e.stencilModeFor3D(),e.colorModeForRenderPass(),o);else{let a=e.colorModeForRenderPass();si(e,t,n,r,i,J.disabled,a,o)}}}(e,n,r,i,a):t.c9(r)?function(e,t,n,r,i){if(e.renderPass!==`offscreen`&&e.renderPass!==`translucent`)return;let{isRenderingToTexture:a}=i,o=e.context,s=e.style.projection.useSubdivision,c=e.getDepthModeForSublayer(0,q.ReadOnly),l=e.colorModeForRenderPass();if(e.renderPass===`offscreen`)(function(e,t,n,r,i,a,o){let s=e.context,c=s.gl;for(let l of n){let n=t.getTile(l),u=n.dem;if(!u||!u.data||!n.needsHillshadePrepare)continue;let d=u.dim,f=u.stride,p=u.getPixels();if(s.activeTexture.set(c.TEXTURE1),s.pixelStoreUnpackPremultiplyAlpha.set(!1),n.demTexture=n.demTexture||e.getTileTexture(f),n.demTexture){let e=n.demTexture;e.update(p,{premultiply:!1}),e.bind(c.NEAREST,c.CLAMP_TO_EDGE)}else n.demTexture=new v(s,p,c.RGBA,{premultiply:!1}),n.demTexture.bind(c.NEAREST,c.CLAMP_TO_EDGE);s.activeTexture.set(c.TEXTURE0);let m=n.fbo;if(!m){let e=new v(s,{width:d,height:d,data:null},c.RGBA);e.bind(c.LINEAR,c.CLAMP_TO_EDGE),m=n.fbo=s.createFramebuffer(d,d,!0,!1),m.colorAttachment.set(e.texture)}s.bindFramebuffer.set(m.framebuffer),s.viewport.set([0,0,d,d]),e.useProgram(`hillshadePrepare`).draw(s,c.TRIANGLES,i,a,o,K.disabled,Hn(n.tileID,u),null,null,r.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),n.needsHillshadePrepare=!1}})(e,t,r,n,c,J.disabled,l),o.viewport.set([0,0,e.width,e.height]);else if(e.renderPass===`translucent`)if(s){let[i,o,s]=e.stencilConfigForOverlapTwoPass(r);ci(e,t,n,s,i,c,l,!1,a),ci(e,t,n,s,o,c,l,!0,a)}else{let[i,o]=e.getStencilConfigForOverlapAndUpdateStencilID(r);ci(e,t,n,o,i,c,l,!1,a)}}(e,n,r,i,a):t.ca(r)?function(e,t,n,r,i){if(e.renderPass!==`translucent`||n.paint.get(`raster-opacity`)===0||!r.length)return;let{isRenderingToTexture:a}=i,o=t.getSource(),s=e.style.projection.useSubdivision;if(o instanceof pe)ui(e,t,n,r,null,!1,!1,o.tileCoords,o.flippedWindingOrder,a);else if(s){let[i,o,s]=e.stencilConfigForOverlapTwoPass(r);ui(e,t,n,s,i,!1,!0,li,!1,a),ui(e,t,n,s,o,!0,!0,li,!1,a)}else{let[i,o]=e.getStencilConfigForOverlapAndUpdateStencilID(r);ui(e,t,n,o,i,!1,!0,li,!1,a)}}(e,n,r,i,a):t.cb(r)?function(e,t,n,r,i){let a=n.paint.get(`background-color`),o=n.paint.get(`background-opacity`);if(o===0)return;let{isRenderingToTexture:s}=i,c=e.context,l=c.gl,u=e.style.projection,d=e.transform,f=d.tileSize,p=n.paint.get(`background-pattern`);if(e.isPatternMissing(p))return;let m=!p&&a.a===1&&o===1&&e.opaquePassEnabledForLayer()?`opaque`:`translucent`;if(e.renderPass!==m)return;let h=J.disabled,g=e.getDepthModeForSublayer(0,m===`opaque`?q.ReadWrite:q.ReadOnly),_=e.colorModeForRenderPass(),v=e.useProgram(p?`backgroundPattern`:`background`),y=r||Fe(d,{tileSize:f,terrain:e.style.map.terrain});p&&(c.activeTexture.set(l.TEXTURE0),e.imageManager.bind(e.context));let b=n.getCrossfadeParameters();for(let t of y){let r=d.getProjectionData({overscaledTileID:t,applyGlobeMatrix:!s,applyTerrainMatrix:!0}),i=p?nr(o,e,p,{tileID:t,tileSize:f},b):tr(o,a),m=e.style.map.terrain&&e.style.map.terrain.getTerrainData(t),y=u.getMeshFromTileID(c,t.canonical,!1,!0,`raster`);v.draw(c,l.TRIANGLES,g,h,_,K.backCCW,i,m,r,n.id,y.vertexBuffer,y.indexBuffer,y.segments)}}(e,0,r,i,a):t.cc(r)&&function(e,t,n,r){let{isRenderingGlobe:i}=r,a=e.context,o=n.implementation,s=e.style.projection,c=e.transform,l=c.getProjectionDataForCustomLayer(i),u={farZ:c.farZ,nearZ:c.nearZ,fov:c.fov*Math.PI/180,modelViewProjectionMatrix:c.modelViewProjectionMatrix,projectionMatrix:c.projectionMatrix,shaderData:{variantName:s.shaderVariantName,vertexShaderPrelude:`const float PI = 3.141592653589793;\nuniform mat4 u_projection_matrix;\n${s.shaderPreludeCode.vertexSource}`,define:s.shaderDefine},defaultProjectionData:l},d=o.renderingMode?o.renderingMode:`2d`;if(e.renderPass===`offscreen`){let t=o.prerender;t&&(e.setCustomLayerDefaults(),a.setColorMode(e.colorModeForRenderPass()),t.call(o,a.gl,u),a.setDirty(),e.setBaseState())}else if(e.renderPass===`translucent`){e.setCustomLayerDefaults(),a.setColorMode(e.colorModeForRenderPass()),a.setStencilMode(J.disabled);let t=d===`3d`?e.getDepthModeFor3D():e.getDepthModeForSublayer(0,q.ReadOnly);a.setDepthMode(t),o.render(a.gl,u),a.setDirty(),e.setBaseState(),a.bindFramebuffer.set(null)}}(e,0,r,a))}saveTileTexture(e){let t=this._tileTextures[e.size[0]];
697t?t.push(e):this._tileTextures[e.size[0]]=[e]}getTileTexture(e){let t=this._tileTextures[e];return t&&t.length>0?t.pop():null}isPatternMissing(e){if(!e)return!1;if(!e.from||!e.to)return!0;let t=this.imageManager.getPattern(e.from.toString()),n=this.imageManager.getPattern(e.to.toString());return!t||!n}useProgram(e,t,n=!1,r=[]){this.cache=this.cache||{};let i=!!this.style.map.terrain,a=this.style.projection,o=n?Dt.projectionMercator:a.shaderPreludeCode,s=n?At:a.shaderDefine,c=e+(t?t.cacheKey:``)+`/${n?jt:a.shaderVariantName}`+(this._showOverdrawInspector?`/overdraw`:``)+(i?`/terrain`:``)+(r?`/${r.join(`/`)}`:``);return this.cache[c]||(this.cache[c]=new On(this.context,Dt[e],t,ir[e],this._showOverdrawInspector,i,o,s,r)),this.cache[c]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){let e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas??(this.debugOverlayCanvas=document.createElement(`canvas`),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new v(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:e,drawingBufferHeight:t}=this.context.gl;return this.width!==e||this.height!==t}}function wi(e,t){let n,r=!1,i=null,a=null,o=()=>{i=null,r&&=(e.apply(a,n),i=setTimeout(o,t),!1)};return(...e)=>(r=!0,a=this,n=e,i||o(),i)}class Ti{constructor(e){this._getCurrentHash=()=>{let e=window.location.hash.replace(`#`,``);if(this._hashName){let t;return e.split(`&`).map((e=>e.split(`=`))).forEach((e=>{e[0]===this._hashName&&(t=e)})),(t&&t[1]||``).split(`/`)}return e.split(`/`)},this._onHashChange=()=>{let e=this._getCurrentHash();if(!this._isValidHash(e))return!1;let t=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(e[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:t,pitch:+(e[4]||0)}),!0},this._updateHashUnthrottled=()=>{let e=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,e)},this._removeHash=()=>{let e=this._getCurrentHash();if(e.length===0)return;let t=e.join(`/`),n=t;n.split(`&`).length>0&&(n=n.split(`&`)[0]),this._hashName&&(n=`${this._hashName}=${t}`);let r=window.location.hash.replace(n,``);r.startsWith(`#&`)?r=r.slice(0,1)+r.slice(2):r===`#`&&(r=``);let i=window.location.href.replace(/(#.+)?$/,r);i=i.replace(`&&`,`&`),window.history.replaceState(window.history.state,null,i)},this._updateHash=wi(this._updateHashUnthrottled,300),this._hashName=e&&encodeURIComponent(e)}addTo(e){return this._map=e,addEventListener(`hashchange`,this._onHashChange,!1),this._map.on(`moveend`,this._updateHash),this}remove(){return removeEventListener(`hashchange`,this._onHashChange,!1),this._map.off(`moveend`,this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(e){let t=this._map.getCenter(),n=Math.round(100*this._map.getZoom())/100,r=10**Math.ceil((n*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.round(t.lng*r)/r,a=Math.round(t.lat*r)/r,o=this._map.getBearing(),s=this._map.getPitch(),c=``;if(c+=e?`/${i}/${a}/${n}`:`${n}/${a}/${i}
697`,(o||s)&&(c+=`/`+Math.round(10*o)/10),s&&(c+=`/${Math.round(s)}`),this._hashName){let e=this._hashName,t=!1,n=window.location.hash.slice(1).split(`&`).map((n=>{let r=n.split(`=`)[0];return r===e?(t=!0,`${r}=${c}`):n})).filter((e=>e));return t||n.push(`${e}=${c}`),`#${n.join(`&`)}`}return`#${c}`}_isValidHash(e){if(e.length<3||e.some(isNaN))return!1;try{new t.Q(+e[2],+e[1])}catch{return!1}let n=+e[0],r=+(e[3]||0),i=+(e[4]||0);return n>=this._map.getMinZoom()&&n<=this._map.getMaxZoom()&&r>=-180&&r<=180&&i>=this._map.getMinPitch()&&i<=this._map.getMaxPitch()}}let Ei={linearity:.3,easing:t.cd(0,0,.3,1)},Di=t.e({deceleration:2500,maxSpeed:1400},Ei),Oi=t.e({deceleration:20,maxSpeed:1400},Ei),ki=t.e({deceleration:1e3,maxSpeed:360},Ei),Ai=t.e({deceleration:1e3,maxSpeed:90},Ei),ji=t.e({deceleration:1e3,maxSpeed:360},Ei);class Mi{constructor(e){this._map=e,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:o.now(),settings:e})}_drainInertiaBuffer(){let e=this._inertiaBuffer,t=o.now();for(;e.length>0&&t-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let n={zoom:0,bearing:0,pitch:0,roll:0,pan:new t.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:e}of this._inertiaBuffer)n.zoom+=e.zoomDelta||0,n.bearing+=e.bearingDelta||0,n.pitch+=e.pitchDelta||0,n.roll+=e.rollDelta||0,e.panDelta&&n.pan._add(e.panDelta),e.around&&(n.around=e.around),e.pinchAround&&(n.pinchAround=e.pinchAround);let r=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,i={};if(n.pan.mag()){let a=Pi(n.pan.mag(),r,t.e({},Di,e||{})),o=n.pan.mult(a.amount/n.pan.mag()),s=this._map.cameraHelper.handlePanInertia(o,this._map.transform);i.center=s.easingCenter,i.offset=s.easingOffset,Ni(i,a)}if(n.zoom){let e=Pi(n.zoom,r,Oi);i.zoom=this._map.transform.zoom+e.amount,Ni(i,e)}if(n.bearing){let e=Pi(n.bearing,r,ki);
697i.bearing=this._map.transform.bearing+t.ae(e.amount,-179,179),Ni(i,e)}if(n.pitch){let e=Pi(n.pitch,r,Ai);i.pitch=this._map.transform.pitch+e.amount,Ni(i,e)}if(n.roll){let e=Pi(n.roll,r,ji);i.roll=this._map.transform.roll+t.ae(e.amount,-179,179),Ni(i,e)}if(i.zoom||i.bearing){let e=n.pinchAround===void 0?n.around:n.pinchAround;i.around=e?this._map.unproject(e):this._map.getCenter()}return this.clear(),t.e(i,{noMoveStart:!0})}}function Ni(e,t){(!e.duration||e.duration<t.duration)&&(e.duration=t.duration,e.easing=t.easing)}function Pi(e,n,r){let{maxSpeed:i,linearity:a,deceleration:o}=r,s=t.ae(e*a/(n/1e3),-i,i),c=Math.abs(s)/(o*a);return{easing:r.easing,duration:1e3*c,amount:c/2*s}}class Fi extends t.l{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,n,r,i={}){r=r instanceof MouseEvent?r:new MouseEvent(e,r);let a=s.mousePos(n.getCanvas(),r),o=n.unproject(a);super(e,t.e({point:a,lngLat:o,originalEvent:r},i)),this._defaultPrevented=!1,this.target=n}}class Ii extends t.l{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,n,r){let i=e===`touchend`?r.changedTouches:r.touches,a=s.touchPos(n.getCanvasContainer(),i),o=a.map((e=>n.unproject(e))),c=a.reduce(((e,t,n,r)=>e.add(t.div(r.length))),new t.P(0,0));super(e,{points:a,point:c,lngLats:o,lngLat:n.unproject(c),originalEvent:r}),this._defaultPrevented=!1}}class Li extends t.l{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,n){super(e,{originalEvent:n}),this._defaultPrevented=!1}}class Ri{constructor(e,t){this._map=e,this._clickTolerance=t.clickTolerance}reset(){delete this._mousedownPos}wheel(e){return this._firePreventable(new Li(e.type,this._map,e))}mousedown(e,t){return this._mousedownPos=t,this._firePreventable(new Fi(e.type,this._map,e))}mouseup(e){this._map.fire(new Fi(e.type,this._map,e))}click(e,t){this._mousedownPos&&this._mousedownPos.dist(t)>=this._clickTolerance||this._map.fire(new Fi(e.type,this._map,e))}dblclick(e){return this._firePreventable(new Fi(e.type,this._map,e))}mouseover(e){this._map.fire(new Fi(e.type,this._map,e))}mouseout(e){this._map.fire(new Fi(e.type,this._map,e))}touchstart(e){return this._firePreventable(new Ii(e.type,this._map,e))}touchmove(e){this._map.fire(new Ii(e.type,this._map,e))}touchend(e){this._map.fire(new Ii(e.type,this._map,e))}touchcancel(e){this._map.fire(new Ii(e.type,this._map,e))}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class zi{constructor(e){this._map=e}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(e){this._map.fire(new Fi(e.type,this._map,e))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Fi(`contextmenu`,this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(e){this._delayContextMenu?this._contextMenuEvent=e:this._ignoreContextMenu||this._map.fire(new Fi(e.type,this._map,e)),this._map.listens(`contextmenu`)&&e.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Bi{constructor(e){this._map=e}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(e){return this.transform.screenPointToLocation(t.P.convert(e),this._map.terrain)}}class Vi{constructor(e,t){this._map=e,this._tr=new Bi(e),this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=t.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(e,t){this.isEnabled()&&e.shiftKey&&e.button===0&&(s.disableDrag(),this._startPos=this._lastPos=t,this._active=!0)}mousemoveWindow(e,t){if(!this._active)return;let n=t;if(this._lastPos.equals(n)||!this._box&&n.dist(this._startPos)<this._clickTolerance)return;let r=this._startPos;this._lastPos=n,this._box||(this._box=s.create(`div`,`maplibregl-boxzoom`,this._container),this._container.classList.add(`maplibregl-crosshair`),this._fireEvent(`boxzoomstart`,e));let i=Math.min(r.x,n.x),a=Math.max(r.x,n.x),o=Math.min(r.y,n.y),c=Math.max(r.y,n.y);s.setTransform(this._box,`translate(${i}px,${o}px)`),this._box.style.width=a-i+`px`,this._box.style.height=c-o+`px`}mouseupWindow(e,n){if(!this._active||e.button!==0)return;let r=this._startPos,i=n;if(this.reset(),s.suppressClick(),r.x!==i.x||r.y!==i.y)return this._map.fire(new t.l(`boxzoomend`,{originalEvent:e})),{cameraAnimation:e=>e.fitScreenCoordinates(r,i,this._tr.bearing,{linear:!0})};this._fireEvent(`boxzoomcancel`,e)}keydown(e){this._active&&e.keyCode===27&&(this.reset(),this._fireEvent(`boxzoomcancel`,e))}reset(){this._active=!1,this._container.classList.remove(`maplibregl-crosshair`),this._box&&=(s.remove(this._box),null),s.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,n){return this._map.fire(new t.l(e,{originalEvent:n}))}}function Hi(e,t){if(e.length!==t.length)throw Error(`The number of touches and points are not equal - touches ${e.length}, points ${t.length}`);let n={};for(let r=0;r<e.length;r++)n[e[r].identifier]=t[r];return n}class Ui{constructor(e){this.reset(),this.numTouches=e.numTouches}reset(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1}touchstart(e,n,r){(this.centroid||r.length>this.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=e.timeStamp),r.length===this.numTouches&&(this.centroid=function(e){let n=new t.P(0,0);for(let t of e)n._add(t);return n.div(e.length)}(n),this.touches=Hi(r,n)))}touchmove(e,t,n){if(this.aborted||!this.centroid)return;let r=Hi(n,t);for(let e in this.touches){let t=r[e];(!t||t.dist(this.touches[e])>30)&&(this.aborted=!0)}}touchend(e,t,n){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),n.length===0){let e=!this.aborted&&this.centroid;if(this.reset(),e)return e}}}class Wi{constructor(e){this.singleTap=new Ui(e),this.numTaps=e.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(e,t,n){this.singleTap.touchstart(e,t,n)}touchmove(e,t,n){this.singleTap.touchmove(e,t,n)}touchend(e,t,n){let r=this.singleTap.touchend(e,t,n);if(r){let t=e.timeStamp-this.lastTime<500,n=!this.lastTap||this.lastTap.dist(r)<30;if(t&&n||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=r,this.count===this.numTaps)return this.reset(),r}}}class Gi{constructor(e){this._tr=new Bi(e),this._zoomIn=new Wi({numTouches:1,numTaps:2}),this._zoomOut=new Wi({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(e,t,n){this._zoomIn.touchstart(e,t,n),this._zoomOut.touchstart(e,t,n)}touchmove(e,t,n){this._zoomIn.touchmove(e,t,n),this._zoomOut.touchmove(e,t,n)}touchend(e,t,n){let r=this._zoomIn.touchend(e,t,n),i=this._zoomOut.touchend(e,t,n),a=this._tr;return r?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:a.zoom+1,around:a.unproject(r)},{originalEvent:e})}):i?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:a.zoom-1,around:a.unproject(i)},{originalEvent:e})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Ki{constructor(e){this._enabled=!!e.enable,this._moveStateManager=e.moveStateManager,this._clickTolerance=e.clickTolerance||1,this._moveFunction=e.move,this._activateOnStart=!!e.activateOnStart,e.assignEvents(this),this.reset()}reset(e){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(e)}_move(...e){let t=this._moveFunction(...e);if(t.bearingDelta||t.pitchDelta||t.rollDelta||t.around||t.panDelta)return this._active=!0,t}dragStart(e,t){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(e)&&(this._moveStateManager.startMove(e),this._lastPoint=Array.isArray(t)?t[0]:t,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(e,t){if(!this.isEnabled())return;let n=this._lastPoint;if(!n)return;if(e.preventDefault(),!this._moveStateManager.isValidMoveEvent(e))return void this.reset(e);let r=Array.isArray(t)?t[0]:t;return!this._moved&&r.dist(n)<this._clickTolerance?void 0:(this._moved=!0,this._lastPoint=r,this._move(n,r))}dragEnd(e){this.isEnabled()&&this._lastPoint&&this._moveStateManager.isValidEndEvent(e)&&(this._moved&&s.suppressClick(),this.reset(e))}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}getClickTolerance(){return this._clickTolerance}}let qi={0:1,2:2};class Ji{constructor(e){this._correctEvent=e.checkCorrectEvent}startMove(e){let t=s.mouseButton(e);this._eventButton=t}endMove(e){delete this._eventButton}isValidStartEvent(e){return this._correctEvent(e)}isValidMoveEvent(e){return!function(e,t){let n=qi[t];return e.buttons===void 0||(e.buttons&n)!==n}(e,this._eventButton)}isValidEndEvent(e){return s.mouseButton(e)===this._eventButton}}class Yi{constructor(){this._firstTouch=void 0}_isOneFingerTouch(e){return e.targetTouches.length===1}_isSameTouchEvent(e){return e.targetTouches[0].identifier===this._firstTouch}startMove(e){this._firstTouch=e.targetTouches[0].identifier}endMove(e){delete this._firstTouch}isValidStartEvent(e){return this._isOneFingerTouch(e)}isValidMoveEvent(e){return this._isOneFingerTouch(e)&&this._isSameTouchEvent(e)}isValidEndEvent(e){return this._isOneFingerTouch(e)&&this._isSameTouchEvent(e)}}class Xi{constructor(e=new Ji({checkCorrectEvent:()=>!0}),t=new Yi){this.mouseMoveStateManager=e,this.oneFingerTouchMoveStateManager=t}_executeRelevantHandler(e,t,n){return e instanceof MouseEvent?t(e):typeof TouchEvent<`u`&&e instanceof TouchEvent?n(e):void 0}startMove(e){this._executeRelevantHandler(e,(e=>this.mouseMoveStateManager.startMove(e)),(e=>this.oneFingerTouchMoveStateManager.startMove(e)))}endMove(e){this._executeRelevantHandler(e,(e=>this.mouseMoveStateManager.endMove(e)),(e=>this.oneFingerTouchMoveStateManager.endMove(e)))}isValidStartEvent(e){return this._executeRelevantHandler(e,(e=>this.mouseMoveStateManager.isValidStartEvent(e)),(e=>this.oneFingerTouchMoveStateManager.isValidStartEvent(e)))}isValidMoveEvent(e){return this._executeRelevantHandler(e,(e=>this.mouseMoveStateManager.isValidMoveEvent(e)),(e=>this.oneFingerTouchMoveStateManager.isValidMoveEvent(e)))}isValidEndEvent(e){return this._executeRelevantHandler(e,(e=>this.mouseMoveStateManager.isValidEndEvent(e)),(e=>this.oneFingerTouchMoveStateManager.isValidEndEvent(e)))}}let Zi=e=>{e.mousedown=e.dragStart,e.mousemoveWindow=e.dragMove,e.mouseup=e.dragEnd,e.contextmenu=e=>{e.preventDefault()}};class Qi{constructor(e,t){this._clickTolerance=e.clickTolerance||1,this._map=t,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new t.P(0,0)}_shouldBePrevented(e){return e<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(e,t,n){return this._calculateTransform(e,t,n)}touchmove(e,t,n){if(this._active){if(!this._shouldBePrevented(n.length))return e.preventDefault(),this._calculateTransform(e,t,n);this._map.cooperativeGestures.notifyGestureBlocked(`touch_pan`,e)}}touchend(e,t,n){this._calculateTransform(e,t,n),this._active&&this._shouldBePrevented(n.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(e,n,r){r.length>0&&(this._active=!0);let i=Hi(r,n),a=new t.P(0,0),o=new t.P(0,0),s=0;for(let e in i){let t=i[e],n=this._touches[e];n&&(a._add(t),o._add(t.sub(n)),s++,i[e]=t)}if(this._touches=i,this._shouldBePrevented(s)||!o.mag())return;let c=o.div(s);return this._sum._add(c),this._sum.mag()<this._clickTolerance?void 0:{around:a.div(s),panDelta:c}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class $i{constructor(){this.reset()}reset(){this._active=!1,delete this._firstTwoTouches}touchstart(e,t,n){this._firstTwoTouches||n.length<2||(this._firstTwoTouches=[n[0].identifier,n[1].identifier],this._start([t[0],t[1]]))}touchmove(e,t,n){if(!this._firstTwoTouches)return;e.preventDefault();let[r,i]=this._firstTwoTouches,a=ea(n,t,r),o=ea(n,t,i);if(!a||!o)return;let s=this._aroundCenter?null:a.add(o).div(2);return this._move([a,o],s,e)}touchend(e,t,n){if(!this._firstTwoTouches)return;let[r,i]=this._firstTwoTouches,a=ea(n,t,r),o=ea(n,t,i);a&&o||(this._active&&s.suppressClick(),this.reset())}touchcancel(){this.reset()}enable(e){this._enabled=!0,this._aroundCenter=!!e&&e.around===`center`}disable(){this._enabled=!1,this.reset()}isEnabled(){return!!this._enabled}isActive(){return!!this._active}}function ea(e,t,n){for(let r=0;r<e.length;r++)if(e[r].identifier===n)return t[r]}function ta(e,t){return Math.log(e/t)/Math.LN2}class na extends $i{reset(){super.reset(),delete this._distance,delete this._startDistance}_start(e){this._startDistance=this._distance=e[0].dist(e[1])}_move(e,t){let n=this._distance;if(this._distance=e[0].dist(e[1]),this._active||!(Math.abs(ta(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:ta(this._distance,n),pinchAround:t}}}function ra(e,t){return 180*e.angleWith(t)/Math.PI}class ia extends $i{reset(){super.reset(),delete this._minDiameter,delete this._startVector,delete this._vector}_start(e){this._startVector=this._vector=e[0].sub(e[1]),this._minDiameter=e[0].dist(e[1])}_move(e,t,n){let r=this._vector;if(this._vector=e[0].sub(e[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:ra(this._vector,r),pinchAround:t}}_isBelowThreshold(e){this._minDiameter=Math.min(this._minDiameter,e.mag());let t=25/(Math.PI*this._minDiameter)*360,n=ra(e,this._startVector);return Math.abs(n)<t}}function X(e){return Math.abs(e.y)>Math.abs(e.x)}class aa extends $i{constructor(e){super(),this._currentTouchCount=0,this._map=e}
697reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(e,t,n){super.touchstart(e,t,n),this._currentTouchCount=n.length}_start(e){this._lastPoints=e,X(e[0].sub(e[1]))&&(this._valid=!1)}_move(e,t,n){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let r=e[0].sub(this._lastPoints[0]),i=e[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(r,i,n.timeStamp),this._valid?(this._lastPoints=e,this._active=!0,{pitchDelta:(r.y+i.y)/2*-.5}):void 0}gestureBeginsVertically(e,t,n){if(this._valid!==void 0)return this._valid;let r=e.mag()>=2,i=t.mag()>=2;if(!r&&!i)return;if(!r||!i)return this._firstMove===void 0&&(this._firstMove=n),n-this._firstMove<100&&void 0;let a=e.y>0==t.y>0;return X(e)&&X(t)&&a}}let oa={panStep:100,bearingStep:15,pitchStep:10};class sa{constructor(e){this._tr=new Bi(e);let t=oa;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(e){if(e.altKey||e.ctrlKey||e.metaKey)return;let t=0,n=0,r=0,i=0,a=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),i=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),i=1);break;case 38:e.shiftKey?r=1:(e.preventDefault(),a=-1);break;case 40:e.shiftKey?r=-1:(e.preventDefault(),a=1);break;default:return}return this._rotationDisabled&&(n=0,r=0),{cameraAnimation:o=>{let s=this._tr;o.easeTo({duration:300,easeId:`keyboardHandler`,easing:ca,zoom:t?Math.round(s.zoom)+t*(e.shiftKey?2:1):s.zoom,bearing:s.bearing+n*this._bearingStep,pitch:s.pitch+r*this._pitchStep,offset:[-i*this._panStep,-a*this._panStep],center:s.center},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function ca(e){return e*(2-e)}let la=4.000244140625;class ua{constructor(e,t){this._onTimeout=e=>{this._type=`wheel`,this._delta-=this._lastValue,this._active||this._start(e)},this._map=e,this._tr=new Bi(e),this._triggerRenderFrame=t,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(e){this._defaultZoomRate=e}setWheelZoomRate(e){this._wheelZoomRate=e}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&e.around===`center`)}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(e){return!!this._map.cooperativeGestures.isEnabled()&&!(e.ctrlKey||this._map.cooperativeGestures.isBypassed(e))}wheel(e){if(!this.isEnabled())return;if(this._shouldBePrevented(e))return void this._map.cooperativeGestures.notifyGestureBlocked(`wheel_zoom`,e);let t=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=o.now(),r=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,t!==0&&t%la==0?this._type=`wheel`:t!==0&&Math.abs(t)<4?this._type=`trackpad`:r>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(r*t)<200?`trackpad`:`wheel`,this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&(this._lastWheelEvent=e,this._delta-=t,this._active||this._start(e)),e.preventDefault()}_start(e){if(!this._delta)return;this._frameId&&=null,this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let n=s.mousePos(this._map.getCanvas(),e),r=this._tr;this._aroundPoint=this._aroundCenter?r.transform.locationToScreenPoint(t.Q.convert(r.center)):n,this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let e=this._tr.transform;if(typeof this._lastExpectedZoom==`number`){let t=e.zoom-this._lastExpectedZoom;typeof this._startZoom==`number`&&(this._startZoom+=t),typeof this._targetZoom==`number`&&(this._targetZoom+=t)}if(this._delta!==0){let n=this._type===`wheel`&&Math.abs(this._delta)>la?this._wheelZoomRate:this._defaultZoomRate,r=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&r!==0&&(r=1/r);let i=typeof this._targetZoom==`number`?t.ac(this._targetZoom):e.scale;this._targetZoom=e.getConstrained(e.getCameraLngLat(),t.ah(i*r)).zoom,this._type===`wheel`&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let n=typeof this._targetZoom==`number`?this._targetZoom:e.zoom,r=this._startZoom,i=this._easing,a,s=!1;if(this._type===`wheel`&&r&&i){let e=o.now()-this._lastWheelEventTime,c=Math.min((e+5)/200,1),l=i(c);a=t.B.number(r,n,l),c<1?this._frameId||=!0:s=!0}else a=n,s=!0;return this._active=!0,s&&(this._active=!1,this._finishTimeout=setTimeout((()=>
697{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._lastExpectedZoom,delete this._finishTimeout}),200)),this._lastExpectedZoom=a,{noInertia:!0,needsRenderFrame:!s,zoomDelta:a-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let n=t.cf;if(this._prevEase){let e=this._prevEase,r=(o.now()-e.start)/e.duration,i=e.easing(r+.01)-e.easing(r),a=.27/Math.sqrt(i*i+1e-4)*.01,s=Math.sqrt(.0729-a*a);n=t.cd(a,s,.25,1)}return this._prevEase={start:o.now(),duration:e,easing:n},n}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,delete this._lastExpectedZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class Z{constructor(e,t){this._clickZoom=e,this._tapZoom=t}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class da{constructor(e){this._tr=new Bi(e),this.reset()}reset(){this._active=!1}dblclick(e,t){return e.preventDefault(),{cameraAnimation:n=>{n.easeTo({duration:300,zoom:this._tr.zoom+(e.shiftKey?-1:1),around:this._tr.unproject(t)},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class fa{constructor(){this._tap=new Wi({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(e,t,n){if(!this._swipePoint)if(this._tapTime){let r=t[0],i=e.timeStamp-this._tapTime<500,a=this._tapPoint.dist(r)<30;i&&a?n.length>0&&(this._swipePoint=r,this._swipeTouch=n[0].identifier):this.reset()}else this._tap.touchstart(e,t,n)}touchmove(e,t,n){if(this._tapTime){if(this._swipePoint){if(n[0].identifier!==this._swipeTouch)return;let r=t[0],i=r.y-this._swipePoint.y;return this._swipePoint=r,e.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(e,t,n)}touchend(e,t,n){if(this._tapTime)this._swipePoint&&n.length===0&&this.reset();else{let r=this._tap.touchend(e,t,n);r&&(this._tapTime=e.timeStamp,this._tapPoint=r)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class pa{constructor(e,t,n){this._el=e,this._mousePan=t,this._touchPan=n}enable(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(`maplibregl-touch-drag-pan`)}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(`maplibregl-touch-drag-pan`)}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class ma{constructor(e,t,n,r){this._pitchWithRotate=e.pitchWithRotate,this._rollEnabled=e.rollEnabled,this._mouseRotate=t,this._mousePitch=n,this._mouseRoll=r}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable(),this._rollEnabled&&this._mouseRoll.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable(),this._mouseRoll.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())&&(!this._rollEnabled||this._mouseRoll.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()||this._mouseRoll.isActive()}}class ha{constructor(e,t,n,r){this._el=e,this._touchZoom=t,this._touchRotate=n,this._tapDragZoom=r,this._rotationDisabled=!1,this._enabled=!0}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add(`maplibregl-touch-zoom-rotate`)}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(`maplibregl-touch-zoom-rotate`)}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class ga{constructor(e,t){this._bypassKey=navigator.userAgent.indexOf(`Mac`)===-1?`ctrlKey`:`metaKey`,this._map=e,this._options=t,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let e=this._map.getCanvasContainer();e.classList.add(`maplibregl-cooperative-gestures`),this._container=s.create(`div`,`maplibregl-cooperative-gesture-screen`,e);let t=this._map._getUIString(`CooperativeGesturesHandler.WindowsHelpText`);this._bypassKey===`metaKey`&&(t=this._map._getUIString(`CooperativeGesturesHandler.MacHelpText`));let n=this._map._getUIString(`CooperativeGesturesHandler.MobileHelpText`),r=document.createElement(`div`);r.className=`maplibregl-desktop-message`,r.textContent=t,this._container.appendChild(r);let i=document.createElement(`div`);i.className=`maplibregl-mobile-message`,i.textContent=n,this._container.appendChild(i),this._container.setAttribute(`aria-hidden`,`true`)}_destroyUI(){this._container&&(s.remove(this._container),this._map.getCanvasContainer().classList.remove(`maplibregl-cooperative-gestures`)),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destroyUI()}isEnabled(){return this._enabled}isBypassed(e){return e[this._bypassKey]}notifyGestureBlocked(e,n){this._enabled&&(this._map.fire(new t.l(`cooperativegestureprevented`,{gestureType:e,originalEvent:n})),this._container.classList.add(`maplibregl-show`),setTimeout((()=>{this._container.classList.remove(`maplibregl-show`)}),100))}}let _a=e=>e.zoom||e.drag||e.roll||e.pitch||e.rotate;class va extends t.l{}function ya(e){return e.panDelta&&e.panDelta.mag()||e.zoomDelta||e.bearingDelta||e.pitchDelta||e.rollDelta}class ba{constructor(e,n){this.handleWindowEvent=e=>{this.handleEvent(e,`${e.type}Window`)},this.handleEvent=(e,n)=>{if(e.type===`blur`)return void this.stop(!0);this._updatingCamera=!0;let r=e.type===`renderFrame`?void 0:e,i={needsRenderFrame:!1},a={},o={};for(let{handlerName:c,handler:l,allowed:u}of this._handlers){if(!l.isEnabled())continue;let d;if(this._blockedByActive(o,u,c))l.reset();else if(l[n||e.type]){if(t.cg(e,n||e.type)){let t=s.mousePos(this._map.getCanvas(),e);d=l[n||e.type](e,t)}else if(t.ch(e,n||e.type)){let t=this._getMapTouches(e.touches),r=s.touchPos(this._map.getCanvas(),t);d=l[n||e.type](e,r,t)}else t.ci(n||e.type)||(d=l[n||e.type](e));this.mergeHandlerResult(i,a,d,c,r),d&&d.needsRenderFrame&&this._triggerRe
vendor: 1,797 bytes, line 697
697nderFrame()}(d||l.isActive())&&(o[c]=l)}let c={};for(let e in this._previousActiveHandlers)o[e]||(c[e]=r);this._previousActiveHandlers=o,(Object.keys(c).length||ya(i))&&(this._changes.push([i,a,c]),this._triggerRenderFrame()),(Object.keys(o).length||ya(i))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:l}=i;l&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],l(this._map))},this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Mi(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n);let r=this._el;this._listeners=[[r,`touchstart`,{passive:!0}],[r,`touchmove`,{passive:!1}],[r,`touchend`,void 0],[r,`touchcancel`,void 0],[r,`mousedown`,void 0],[r,`mousemove`,void 0],[r,`mouseup`,void 0],[document,`mousemove`,{capture:!0}],[document,`mouseup`,void 0],[r,`mouseover`,void 0],[r,`mouseout`,void 0],[r,`dblclick`,void 0],[r,`click`,void 0],[r,`keydown`,{capture:!1}],[r,`keyup`,void 0],[r,`wheel`,{passive:!1}],[r,`contextmenu`,void 0],[window,`blur`,void 0]];for(let[e,t,n]of this._listeners)s.addEventListener(e,t,e===document?this.handleWindowEvent:this.handleEvent,n)}destroy(){for(let[e,t,n]of this._listeners)s.removeEventListener(e,t,e===document?this.handleWindowEvent:this.handleEvent,n)}_addDefaultHandlers(e){let n=this._map,r=n.getCanvasContainer();this._add(`mapEvent`,new Ri(n,e));let i=n.boxZoom=new Vi(n,e);this._add(`boxZoom`,i),e.interactive&&e.boxZoom&&i.enable();let a=n.cooperativeGestures=new ga(n,e.cooperativeGestures);this._add(`cooperativeGestures`,a),e.cooperativeGestures&&a.enable();let o=new Gi(n),c=new da(n);n.doubleClickZoom=new Z(c,o),this._add(`tapZoom`,o),this._add(`clickZoom`,c),e.
697interactive&&e.doubleClickZoom&&n.doubleClickZoom.enable();let l=new fa;this._add(`tapDragZoom`,l);let u=n.touchPitch=new aa(n);this._add(`touchPitch`,u),e.interactive&&e.touchPitch&&n.touchPitch.enable(e.touchPitch);let d=()=>n.project(n.getCenter()),f=function({enable:e,clickTolerance:n,aroundCenter:r=!0,minPixelCenterThreshold:i=100,rotateDegreesPerPixelMoved:a=.8},o){return new Ki({clickTolerance:n,move:(e,n)=>{let s=o();if(r&&Math.abs(s.y-e.y)>i)return{bearingDelta:t.ce(new t.P(e.x,n.y),n,s)};let c=(n.x-e.x)*a;return r&&n.y<s.y&&(c=-c),{bearingDelta:c}},moveStateManager:new Ji({checkCorrectEvent:e=>s.mouseButton(e)===0&&e.ctrlKey||s.mouseButton(e)===2&&!e.ctrlKey}),enable:e,assignEvents:Zi})}(e,d),p=function({enable:e,clickTolerance:t,pitchDegreesPerPixelMoved:n=-.5}){return new Ki({clickTolerance:t,move:(e,t)=>({pitchDelta:(t.y-e.y)*n}),moveStateManager:new Ji({checkCorrectEvent:e=>s.mouseButton(e)===0&&e.ctrlKey||s.mouseButton(e)===2}),enable:e,assignEvents:Zi})}(e),m=function({enable:e,clickTolerance:t,rollDegreesPerPixelMoved:n=.3},r){return new Ki({clickTolerance:t,move:(e,t)=>{let i=r(),a=(t.x-e.x)*n;return t.y<i.y&&(a=-a),{rollDelta:a}},moveStateManager:new Ji({checkCorrectEvent:e=>s.mouseButton(e)===2&&e.ctrlKey}),enable:e,assignEvents:Zi})}(e,d);n.dragRotate=new ma(e,f,p,m),this._add(`mouseRotate`,f,[`mousePitch`]),this._add(`mousePitch`,p,[`mouseRotate`,`mouseRoll`]),this._add(`mouseRoll`,m,[`mousePitch`]),e.interactive&&e.dragRotate&&n.dragRotate.enable();let h=function({enable:e,clickTolerance:t}){return new Ki({clickTolerance:t,move:(e,t)=>({around:t,panDelta:t.sub(e)}),activateOnStart:!0,moveStateManager:new Ji({checkCorrectEvent:e=>s.mouseButton(e)===0&&!e.ctrlKey}),enable:e,assignEvents:Zi})}(e),g=new Qi(e,n);n.dragPan=new pa(r,h,g),this._add(`mousePan`,h),this._add(`touchPan`,g,[`touchZoom`,`touchRotate`]),e.interactive&&e.dragPan&&n.dragPan.enable(e.dragPan);let _=new ia,v=new na;n.touchZoomRotate=new ha(r,v,_,l),this._add(`touchRotate`,_,[`touchPan`,`touchZoom`]),this._add(`touchZoom`,v,[`touchPan`,`touchRotate`]),e.interactive&&e.touchZoomRotate&&n.touchZoomRotate.enable(e.touchZoomRotate);let y=n.scrollZoom=new ua(n,(()=>this._triggerRenderFrame()));this._add(`scrollZoom`,y,[`mousePan`]),e.interactive&&e.scrollZoom&&n.scrollZoom.enable(e.scrollZoom);let b=n.keyboard=new sa(n);this._add(`keyboard`,b),e.interactive&&e.keyboard&&n.keyboard.enable(),this._add(`blockableMapEvent`,new zi(n))}_add(e,t,n){this._handlers.push({handlerName:e,handler:t,allowed:n}),this._handlersById[e]=t}stop(e){if(!this._updatingCamera){for(let{handler:e}of this._handlers)e.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[]}}isActive(){for(let{handler:e}of this._handlers)if(e.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!_a(this._eventsInProgress)||this.isZooming()}_blockedByActive(e,t,n){for(let r in e)if(r!==n&&(!t||t.indexOf(r)<0))return!0;return!1}_getMapTouches(e){let t=[];for(let n of e)this._el.contains(n.target)&&t.push(n);return t}mergeHandlerResult(e,n,r,i,a){if(!r)return;t.e(e,r);let o={handlerName:i,originalEvent:r.originalEvent||a};r.zoomDelta!==void 0&&(n.zoom=o),r.panDelta!==void 0&&(n.drag=o),r.rollDelta!==void 0&&(n.roll=o),r.pitchDelta!==void 0&&(n.pitch=o),r.bearingDelta!==void 0&&(n.rotate=o)}_applyChanges(){let e={},n={},r={};for(let[i,a,o]of this._changes)i.panDelta&&(e.panDelta=(e.panDelta||new t.P(0,0))._add(i.panDelta)),i.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+i.zoomDelta),i.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+i.bearingDelta),i.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+i.pitchDelta),i.rollDelta&&(e.rollDelta=(e.rollDelta||0)+i.rollDelta),i.around!==void 0&&(e.around=i.around),i.pinchAround!==void 0&&(e.pinchAround=i.pinchAround),i.noInertia&&(e.noInertia=i.noInertia),t.e(n,a),t.e(r,o);this._updateMapTransform(e,n,r),this._changes=[]}_updateMapTransform(e,t,n){let r=this._map,i=r._getTransformForUpdate(),a=r.terrain;if(!(ya(e)||a&&this._terrainMovement))return this._fireEvents(t,n,!0);r._stop(!0);let{panDelta:o,zoomDelta:s,bearingDelta:c,pitchDelta:l,rollDelta:u,around:d,pinchAround:f}=e;
697f!==void 0&&(d=f),d||=r.transform.centerPoint,a&&!i.isPointOnMapSurface(d)&&(d=i.centerPoint);let p={panDelta:o,zoomDelta:s,rollDelta:u,pitchDelta:l,bearingDelta:c,around:d};this._map.cameraHelper.useGlobeControls&&!i.isPointOnMapSurface(d)&&(d=i.centerPoint);let m=d.distSqr(i.centerPoint)<.01?i.center:i.screenPointToLocation(o?d.sub(o):d);a?(this._map.cameraHelper.handleMapControlsRollPitchBearingZoom(p,i),this._terrainMovement||!t.drag&&!t.zoom?t.drag&&this._terrainMovement?i.setCenter(i.screenPointToLocation(i.centerPoint.sub(o))):this._map.cameraHelper.handleMapControlsPan(p,i,m):(this._terrainMovement=!0,this._map._elevationFreeze=!0,this._map.cameraHelper.handleMapControlsPan(p,i,m))):(this._map.cameraHelper.handleMapControlsRollPitchBearingZoom(p,i),this._map.cameraHelper.handleMapControlsPan(p,i,m)),r._applyUpdatedTransform(i),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(t,n,!0)}_fireEvents(e,n,r){let i=_a(this._eventsInProgress),a=_a(e),s={};for(let t in e){let{originalEvent:n}=e[t];this._eventsInProgress[t]||(s[`${t}start`]=n),this._eventsInProgress[t]=e[t]}!i&&a&&this._fireEvent(`movestart`,a.originalEvent);for(let e in s)this._fireEvent(e,s[e]);a&&this._fireEvent(`move`,a.originalEvent);for(let t in e){let{originalEvent:n}=e[t];this._fireEvent(t,n)}let c={},l;for(let e in this._eventsInProgress){let{handlerName:t,originalEvent:r}=this._eventsInProgress[e];this._handlersById[t].isActive()||(delete this._eventsInProgress[e],l=n[t]||r,c[`${e}end`]=l)}for(let e in c)this._fireEvent(e,c[e]);
697let u=_a(this._eventsInProgress),d=(i||a)&&!u;if(d&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let e=this._map._getTransformForUpdate();this._map.getCenterClampedToGround()&&e.recalculateZoomAndCenter(this._map.terrain),this._map._applyUpdatedTransform(e)}if(r&&d){this._updatingCamera=!0;let e=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),n=e=>e!==0&&-this._bearingSnap<e&&e<this._bearingSnap;!e||!e.essential&&o.prefersReducedMotion?(this._map.fire(new t.l(`moveend`,{originalEvent:l})),n(this._map.getBearing())&&this._map.resetNorth()):(n(e.bearing||this._map.getBearing())&&(e.bearing=0),e.freezeElevation=!0,this._map.easeTo(e,{originalEvent:l})),this._updatingCamera=!1}}_fireEvent(e,n){this._map.fire(new t.l(e,n?{originalEvent:n}:{}))}_requestFrame(){return this._map.triggerRepaint(),this._map._renderTaskQueue.add((e=>{delete this._frameId,this.handleEvent(new va(`renderFrame`,{timeStamp:e})),this._applyChanges()}))}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class xa extends t.E{constructor(e,t,n){super(),this._renderFrameCallback=()=>{let e=Math.min((o.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=n.bearingSnap,this.cameraHelper=t,this.on(`moveend`,(()=>{delete this._requestedCameraState}))}migrateProjection(e,t){e.apply(this.transform),this.transform=e,this.cameraHelper=t}getCenter(){return new t.Q(this.transform.center.lng,this.transform.center.lat)}setCenter(e,t){return this.jumpTo({center:e},t)}getCenterElevation(){return this.transform.elevation}setCenterElevation(e,t){return this.jumpTo({elevation:e},t),this}getCenterClampedToGround(){return this._centerClampedToGround}setCenterClampedToGround(e){this._centerClampedToGround=e}panBy(e,n,r){return e=t.P.convert(e).mult(-1),this.panTo(this.transform.center,t.e({offset:e},n),r)}panTo(e,n,r){return this.easeTo(t.e({center:e},n),r)}getZoom(){return this.transform.zoom}setZoom(e,t){return this.jumpTo({zoom:e},t),this}zoomTo(e,n,r){return this.easeTo(t.e({zoom:e},n),r)}zoomIn(e,t){return this.zoomTo(this.getZoom()+1,e,t),this}zoomOut(e,t){return this.zoomTo(this.getZoom()-1,e,t),this}getVerticalFieldOfView(){return this.transform.fov}setVerticalFieldOfView(e,n){return e!=this.transform.fov&&(this.transform.setFov(e),this.fire(new t.l(`movestart`,n)).fire(new t.l(`move`,n)).fire(new t.l(`moveend`,n))),this}getBearing(){return this.transform.bearing}setBearing(e,t){return this.jumpTo({bearing:e},t),this}getPadding(){return this.transform.padding}setPadding(e,t){return this.jumpTo({padding:e},t),this}rotateTo(e,n,r){return this.easeTo(t.e({bearing:e},n),r)}resetNorth(e,n){return this.rotateTo(0,t.e({duration:1e3},e),n),this}resetNorthPitch(e,n){return this.easeTo(t.e({bearing:0,pitch:0,roll:0,duration:1e3},e),n),this}snapToNorth(e,t){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(e,t):this}getPitch(){return this.transform.pitch}setPitch(e,t){return this.jumpTo({pitch:e},t),this}getRoll(){return this.transform.roll}setRoll(e,t){return this.jumpTo({roll:e},t),this}cameraForBounds(e,t){e=P.convert(e).adjustAntiMeridian();let n=t&&t.bearing||0;return this._cameraForBoxAndBearing(e.getNorthWest(),e.getSouthEast(),n,t)}_cameraForBoxAndBearing(e,n,r,i){let a={top:0,bottom:0,right:0,left:0};if(typeof(i=t.e({padding:a,offset:[0,0],maxZoom:this.transform.maxZoom},i)).padding==`number`){let e=i.padding;i.padding={top:e,bottom:e,right:e,left:e}}let o=t.e(a,i.padding);i.padding=o;let s=this.transform,c=new P(e,n);return this.cameraHelper.cameraForBoxAndBearing(i,o,c,r,s)}fitBounds(e,t,n){return this._fitInternal(this.cameraForBounds(e,t),t,n)}fitScreenCoordinates(e,n,r,i,a){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.screenPointToLocation(t.P.convert(e)),this.transform.screenPointToLocation(t.P.convert(n)),r,i),i,a)}_fitInternal(e,n,r){return e?(delete(n=t.e(e,n)).padding,n.linear?this.easeTo(n,r):this.flyTo(n,r)):this}jumpTo(e,n){this.stop();let r=this._getTransformForUpdate(),i=!1,a=!1,o=!1,s=r.zoom;this.cameraHelper.handleJumpToCenterZoom(r,e);let c=r.zoom!==s;return`elevation`in e&&r.elevation!==+e.elevation&&r.setElevation(+e.elevation),`bearing`in e&&r.bearing!==+e.bearing&&(i=!0,r.setBearing(+e.bearing)),`pitch`in e&&r.pitch!==+e.pitch&&(a=!0,r.setPitch(+e.pitch)),`roll`in e&&r.roll!==+e.roll&&(o=!0,r.setRoll(+e.roll)),e.padding==null||r.isPaddingEqual(e.padding)||r.setPadding(e.padding),this._applyUpdatedTransform(r),this.fire(new t.l(`movestart`,n)).fire(new t.l(`move`,n)),c&&this.fire(new t.l(`zoomstart`,n)).fire(new t.l(`zoom`,n)).fire(new t.l(`zoomend`,n)),i&&this.fire(new t.l(`rotatestart`,n)).fire(new t.l(`rotate`,n)).fire(new t.l(`rotateend`,n)),a&&this.fire(new t.l(`pitchstart`,n)).fire(new t.l(`pitch`,n)).fire(new t.l(`pitchend`,n)),o&&this.fire(new t.l(`rollstart`,n)).fire(new t.l(`roll`,n)).fire(new t.l(`rollend`,n)),this.fire(new t.l(`moveend`,n))}calculateCameraOptionsFromTo(e,n,r,i=0){let a=t.$.fromLngLat(e,n),o=t.$.fromLngLat(r,i),s=o.x-a.x,c=o.y-a.y,l=o.z-a.z,u=Math.hypot(s,c,l);
697if(u===0)throw Error(`Can't calculate camera options with same From and To`);let d=Math.hypot(s,c),f=t.ah(this.transform.cameraToCenterDistance/u/this.transform.tileSize),p=180*Math.atan2(s,-c)/Math.PI,m=180*Math.acos(d/u)/Math.PI;return m=l<0?90-m:90+m,{center:o.toLngLat(),elevation:i,zoom:f,pitch:m,bearing:p}}calculateCameraOptionsFromCameraLngLatAltRotation(e,t,n,r,i){let a=this.transform.calculateCenterFromCameraLngLatAlt(e,t,n,r);return{center:a.center,elevation:a.elevation,zoom:a.zoom,bearing:n,pitch:r,roll:i}}easeTo(e,n){this._stop(!1,e.easeId),(!1===(e=t.e({offset:[0,0],duration:500,easing:t.cf},e)).animate||!e.essential&&o.prefersReducedMotion)&&(e.duration=0);let r=this._getTransformForUpdate(),i=this.getBearing(),a=r.pitch,s=r.roll,c=`bearing`in e?this._normalizeBearing(e.bearing,i):i,l=`pitch`in e?+e.pitch:a,u=`roll`in e?this._normalizeBearing(e.roll,s):s,d=`padding`in e?e.padding:r.padding,f=t.P.convert(e.offset),p,m;e.around&&(p=t.Q.convert(e.around),m=r.locationToScreenPoint(p));let h={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching,rolling:this._rolling},g=this.cameraHelper.handleEaseTo(r,{bearing:c,pitch:l,roll:u,padding:d,around:p,aroundPoint:m,offsetAsPoint:f,offset:e.offset,zoom:e.zoom,center:e.center});return this._rotating=this._rotating||i!==c,this._pitching=this._pitching||l!==a,this._rolling=this._rolling||u!==s,this._padding=!r.isPaddingEqual(d),this._zooming=this._zooming||g.isZooming,this._easeId=e.easeId,this._prepareEase(n,e.noMoveStart,h),this.terrain&&this._prepareElevation(g.elevationCenter),this._ease((t=>{g.easeFunc(t),this.terrain&&!e.freezeElevation&&this._updateElevation(t),this._applyUpdatedTransform(r),this._fireMoveEvents(n)}),(t=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(n,t)}),e),this}_prepareEase(e,n,r={}){this._moving=!0,n||r.moving||this.fire(new t.l(`movestart`,e)),this._zooming&&!r.zooming&&this.fire(new t.l(`zoomstart`,e)),this._rotating&&!r.rotating&&this.fire(new t.l(`rotatestart`,e)),this._pitching&&!r.pitching&&this.fire(new t.l(`pitchstart`,e)),this._rolling&&!r.rolling&&this.fire(new t.l(`rollstart`,e))}_prepareElevation(e){this._elevationCenter=e,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(e,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(e){this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom));let n=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(e<1&&n!==this._elevationTarget){let t=this._elevationTarget-this._elevationStart;this._elevationStart+=e*(t-(n-(t*e+this._elevationStart))/(1-e)),this._elevationTarget=n}this.transform.setElevation(t.B.number(this._elevationStart,this._elevationTarget,e))}_finalizeElevation(){this._elevationFreeze=!1,this.getCenterClampedToGround()&&this.transform.recalculateZoomAndCenter(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||=this.transform.clone(),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(e){if(!this.terrain&&e.elevation>=0&&e.pitch<=90)return{};let t=e.getCameraLngLat(),n=e.getCameraAltitude(),r=this.terrain?this.terrain.getElevationForLngLatZoom(t,e.zoom):0;if(n<r){let n=this.calculateCameraOptionsFromTo(t,r,e.center,e.elevation);return{pitch:n.pitch,zoom:n.zoom}}return{}}_applyUpdatedTransform(e){let t=[];if(t.push((e=>this._elevateCameraIfInsideTerrain(e))),this.transformCameraUpdate&&t.push((e=>this.transformCameraUpdate(e))),!t.length)return;let n=e.clone();for(let e of t){let t=n.clone(),{center:r,zoom:i,roll:a,pitch:o,bearing:s,elevation:c}=e(t);r&&t.setCenter(r),c!==void 0&&t.setElevation(c),i!==void 0&&t.setZoom(i),a!==void 0&&t.setRoll(a),o!==void 0&&t.setPitch(o),s!==void 0&&t.setBearing(s),n.apply(t)}this.transform.apply(n)}_fireMoveEvents(e){this.fire(new t.l(`move`,e)),this._zooming&&this.fire(new t.l(`zoom`,e)),this._rotating&&this.fire(new t.l(`rotate`,e)),this._pitching&&this.fire(new t.l(`pitch`,e)),this._rolling&&this.fire(new t.l(`roll`,e))}_afterEase(e,n){if(this._easeId&&n&&this._easeId===n)return;delete this._easeId;let r=this._zooming,i=this._rotating,a=this._pitching,o=this._rolling;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._rolling=!1,this._padding=!1,r&&this.fire(new t.l(`zoomend`,e)),i&&this.fire(new t.l(`rotateend`,e)),a&&this.fire(new t.l(`pitchend`,e)),o&&this.fire(new t.l(`rollend`,e)),this.fire(new t.l(`moveend`,e))}flyTo(e,n){if(!e.essential&&o.prefersReducedMotion){let r=t.O(e,[`center`,`zoom`,`bearing`,`pitch`,`roll`,`elevation`]);return this.jumpTo(r,n)}
697this.stop(),e=t.e({offset:[0,0],speed:1.2,curve:1.42,easing:t.cf},e);let r=this._getTransformForUpdate(),i=r.bearing,a=r.pitch,s=r.roll,c=r.padding,l=`bearing`in e?this._normalizeBearing(e.bearing,i):i,u=`pitch`in e?+e.pitch:a,d=`roll`in e?this._normalizeBearing(e.roll,s):s,f=`padding`in e?e.padding:r.padding,p=t.P.convert(e.offset),m=r.centerPoint.add(p),h=r.screenPointToLocation(m),g=this.cameraHelper.handleFlyTo(r,{bearing:l,pitch:u,roll:d,padding:f,locationAtOffset:h,offsetAsPoint:p,center:e.center,minZoom:e.minZoom,zoom:e.zoom}),_=e.curve,v=Math.max(r.width,r.height),y=v/g.scaleOfZoom,b=g.pixelPathLength;typeof g.scaleOfMinZoom==`number`&&(_=Math.sqrt(v/g.scaleOfMinZoom/b*2));let x=_*_;function S(e){let t=(y*y-v*v+(e?-1:1)*x*x*b*b)/(2*(e?y:v)*x*b);return Math.log(Math.sqrt(t*t+1)-t)}function C(e){return(Math.exp(e)-Math.exp(-e))/2}function w(e){return(Math.exp(e)+Math.exp(-e))/2}let T=S(!1),E=function(e){return w(T)/w(T+_*e)},D=function(e){return v*((w(T)*(C(t=T+_*e)/w(t))-C(T))/x)/b;var t},O=(S(!0)-T)/_;if(Math.abs(b)<2e-6||!isFinite(O)){if(Math.abs(v-y)<1e-6)return this.easeTo(e,n);let t=y<v?-1:1;O=Math.abs(Math.log(y/v))/_,D=()=>0,E=e=>Math.exp(t*_*e)}return e.duration=`duration`in e?+e.duration:1e3*O/(`screenSpeed`in e?+e.screenSpeed/_:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=i!==l,this._pitching=u!==a,this._rolling=d!==s,this._padding=!r.isPaddingEqual(f),this._prepareEase(n,!1),this.terrain&&this._prepareElevation(g.targetCenter),this._ease((o=>{let h=o*O,_=1/E(h),v=D(h);this._rotating&&r.setBearing(t.B.number(i,l,o)),this._pitching&&r.setPitch(t.B.number(a,u,o)),this._rolling&&r.setRoll(t.B.number(s,d,o)),this._padding&&(r.interpolatePadding(c,f,o),m=r.centerPoint.add(p)),g.easeFunc(o,_,v,m),this.terrain&&!e.freezeElevation&&this._updateElevation(o),this._applyUpdatedTransform(r),this._fireMoveEvents(n)}),(()=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(n)}),e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(e,t){var n;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let e=this._onEaseEnd;delete this._onEaseEnd,e.call(this,t)}return e||(n=this.handlers)==null||n.stop(!1),this}_ease(e,t,n){!1===n.animate||n.duration===0?(e(1),t()):(this._easeStart=o.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=t,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(e,n){e=t.aL(e,-180,180);let r=Math.abs(e-n);return Math.abs(e-360-n)<r&&(e-=360),Math.abs(e+360-n)<r&&(e+=360),e}queryTerrainElevation(e){return this.terrain?this.terrain.getElevationForLngLatZoom(t.Q.convert(e),this.transform.tileZoom):null}}let Sa={compact:!0,customAttribution:`<a href="https://maplibre.org/" target="_blank">MapLibre</a>`};class Ca{constructor(e=Sa){this._toggleAttribution=()=>{this._container.classList.contains(`maplibregl-compact`)&&(this._container.classList.contains(`maplibregl-compact-show`)?(this._container.setAttribute(`open`,``),this._container.classList.remove(`maplibregl-compact-show`)):(this._container.classList.add(`maplibregl-compact-show`),this._container.removeAttribute(`open`)))},this._updateData=e=>{!e||e.sourceDataType!==`metadata`&&e.sourceDataType!==`visibility`&&e.dataType!==`style`&&e.type!==`terrain`||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?this._container.setAttribute(`open`,``):this._container.classList.contains(`maplibregl-compact`)||this._container.classList.contains(`maplibregl-attrib-empty`)||(this._container.setAttribute(`open`,``),this._container.classList.add(`maplibregl-compact`,`maplibregl-compact-show`)):(this._container.setAttribute(`open`,``),this._container.classList.contains(`maplibregl-compact`)&&this._container.classList.remove(`maplibregl-compact`,`maplibregl-compact-show`))},this._updateCompactMinimize=()=>{this._container.classList.contains(`maplibregl-compact`)&&this._container.classList.contains(`maplibregl-compact-show`)&&this._container.classList.remove(`maplibregl-compact-show`)},this.options=e}getDefaultPosition(){return`bottom-right`}onAdd(e){return this._map=e,this._compact=this.options.compact,this._container=s.create(`details`,`maplibregl-ctrl maplibregl-ctrl-attrib`),this._compactButton=s.create(`summary`,`maplibregl-ctrl-attrib-button`,this._container),this._compactButton.addEventListener(`click`,this._toggleAttribution),this._setElementTitle(this._compactButton,`ToggleAttribution`),this._innerContainer=s.create(`div`,`maplibregl-ctrl-attrib-inner`,this._container),this._updateAttributions(),this._updateCompact(),this._map.on(`styledata`,this._updateData),this._map.on(`sourcedata`,this._updateData),this._map.on(`terrain`,this._updateData),this._map.on(`resize`,this._updateCompact),this._map.on(`drag`,this._updateCompactMinimize),this._container}onRemove(){s.remove(this._container),this._map.off(`styledata`,this._updateData),this._map.off(`sourcedata`,this._updateData),this._map.off(`terrain`,this._updateData),this._map.off(`resize`,this._updateCompact),this._map.off(`drag`,this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(e,t){let n=this._map._getUIString(`AttributionControl.${t}`);e.title=n,e.setAttribute(`aria-label`,n)}_updateAttributions(){if(!this._map.style)return;let e=[];
697if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=e.concat(this.options.customAttribution.map((e=>typeof e==`string`?e:``))):typeof this.options.customAttribution==`string`&&e.push(this.options.customAttribution)),this._map.style.stylesheet){let e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}let t=this._map.style.sourceCaches;for(let n in t){let r=t[n];if(r.used||r.usedForTerrain){let t=r.getSource();t.attribution&&e.indexOf(t.attribution)<0&&e.push(t.attribution)}}e=e.filter((e=>String(e).trim())),e.sort(((e,t)=>e.length-t.length)),e=e.filter(((t,n)=>{for(let r=n+1;r<e.length;r++)if(e[r].indexOf(t)>=0)return!1;return!0}));let n=e.join(` | `);n!==this._attribHTML&&(this._attribHTML=n,e.length?(this._innerContainer.innerHTML=s.sanitize(n),this._container.classList.remove(`maplibregl-attrib-empty`)):this._container.classList.add(`maplibregl-attrib-empty`),this._updateCompact(),this._editLink=null)}}class wa{constructor(e={}){this._updateCompact=()=>{let e=this._container.children;if(e.length){let t=e[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&t.classList.add(`maplibregl-compact`):t.classList.remove(`maplibregl-compact`)}},this.options=e}getDefaultPosition(){return`bottom-left`}onAdd(e){this._map=e,this._compact=this.options&&this.options.compact,this._container=s.create(`div`,`maplibregl-ctrl`);let t=s.create(`a`,`maplibregl-ctrl-logo`);return t.target=`_blank`,t.rel=`noopener nofollow`,t.href=`https://maplibre.org/`,t.setAttribute(`aria-label`,this._map._getUIString(`LogoControl.Title`)),t.setAttribute(`rel`,`noopener nofollow`),this._container.appendChild(t),this._container.style.display=`block`,this._map.on(`resize`,this._updateCompact),this._updateCompact(),this._container}onRemove(){s.remove(this._container),this._map.off(`resize`,this._updateCompact),this._map=void 0,this._compact=void 0}}class Ta{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(e){let t=++this._id;return this._queue.push({callback:e,id:t,cancelled:!1}),t}remove(e){let t=this._currentlyRunning,n=t?this._queue.concat(t):this._queue;for(let t of n)if(t.id===e)return void(t.cancelled=!0)}run(e=0){if(this._currentlyRunning)throw Error(`Attempting to run(), but is already running.`);let t=this._currentlyRunning=this._queue;this._queue=[];for(let n of t)if(!n.cancelled&&(n.callback(e),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var Ea=t.aG([{name:`a_pos3d`,type:`Int16`,components:3}]);class Da extends t.E{constructor(e){super(),this._lastTilesetChange=o.now(),this.sourceCache=e,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.deltaZoom=1,this.tileSize=e._source.tileSize*2**this.deltaZoom,e.usedForTerrain=!0,e.tileSize=this.tileSize}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(e,n){this.sourceCache.update(e,n),this._renderableTilesKeys=[];let r={};for(let i of Fe(e,{tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:n,calculateTileZoom:this.sourceCache._source.calculateTileZoom}))r[i.key]=!0,this._renderableTilesKeys.push(i.key),this._tiles[i.key]||(i.terrainRttPosMatrix32f=new Float64Array(16),t.bQ(i.terrainRttPosMatrix32f,0,t.Z,t.Z,0,0,1),this._tiles[i.key]=new Se(i,this.tileSize),this._lastTilesetChange=o.now());for(let e in this._tiles)r[e]||delete this._tiles[e]}freeRtt(e){for(let t in this._tiles){let n=this._tiles[t];(!e||n.tileID.equals(e)||n.tileID.isChildOf(e)||e.isChildOf(n.tileID))&&(n.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map((e=>this.getTileByID(e)))}getTileByID(e){return this._tiles[e]}getTerrainCoords(e,t){return t?this._getTerrainCoordsForTileRanges(e,t):this._getTerrainCoordsForRegularTile(e)}_getTerrainCoordsForRegularTile(e){let n={};for(let r of this._renderableTilesKeys){let i=this._tiles[r].tileID,a=e.clone(),o=t.b2();if(i.canonical.equals(e.canonical))t.bQ(o,0,t.Z,t.Z,0,0,1);else if(i.canonical.isChildOf(e.canonical)){let n=i.canonical.z-e.canonical.z,r=i.canonical.x-(i.canonical.x>>n<<n),a=i.canonical.y-(i.canonical.y>>n<<n),s=t.Z>>n;t.bQ(o,0,s,s,0,0,1),t.L(o,o,[-r*s,-a*s,0])}else{if(!e.canonical.isChildOf(i.canonical))continue;{let n=e.canonical.z-i.canonical.z,r=e.canonical.x-(e.canonical.x>>n<<n),a=e.canonical.y-(e.canonical.y>>n<<n),s=t.Z>>n;t.bQ(o,0,t.Z,t.Z,0,0,1),t.L(o,o,[r*s,a*s,0]),t.M(o,o,[1/2**n,1/2**n,0])}}a.terrainRttPosMatrix32f=new Float32Array(o),n[r]=a}return n}_getTerrainCoordsForTileRanges(e,n){let r={};for(let i of this._renderableTilesKeys){let a=this._tiles[i].tileID;if(!this._isWithinTileRanges(a,n))continue;let o=e.clone(),s=t.b2();if(a.canonical.z===e.canonical.z){let n=e.canonical.x-a.canonical.x,r=e.canonical.y-a.canonical.y;t.bQ(s,0,t.Z,t.Z,0,0,1),t.L(s,s,[n*t.Z,r*t.Z,0])}else if(a.canonical.z>e.canonical.z){let n=a.canonical.z-e.canonical.z,r=a.canonical.x-(a.canonical.x>>n<<n),i=a.canonical.y-(a.canonical.y>>n<<n),o=e.canonical.x-(a.canonical.x>>n),c=e.canonical.y-(a.canonical.y>>n),l=t.Z>>n;t.bQ(s,0,l,l,0,0,1),t.L(s,s,[-r*l+o*t.Z,-i*l+c*t.Z,0])}else{let n=e.canonical.z-a.canonical.z,r=e.canonical.x-(e.canonical.x>>n<<n),i=e.canonical.y-(e.canonical.y>>n<<n),o=(e.canonical.x>>n)-a.canonical.x,c=(e.canonical.y>>n)-a.canonical.y,l=t.Z<<n;t.bQ(s,0,l,l,0,0,1),t.L(s,s,[r*t.Z+o*l,i*t.Z+c*l,0])}o.terrainRttPosMatrix32f=new Float32Array(s),r[i]=o}return r}getSourceTile(e,t){let n=this.sourceCache._source,r=e.overscaledZ-this.deltaZoom;if(r>n.maxzoom&&(r=n.maxzoom),r<n.minzoom)return null;this._sourceTileCache[e.key]||(this._sourceTileCache[e.key]=e.scaledTo(r).key);let i=this.sourceCache.getTileByID(this._sourceTileCache[e.key]);if((!i||!i.dem)&&t)for(;r>=n.minzoom&&(!i||!i.dem);)i=this.sourceCache.getTileByID(e.scaledTo(r--).key);return i}anyTilesAfterTime(e=Date.now()){return this._lastTilesetChange>=e}_isWithinTileRanges(e,t){return t[e.canonical.z]&&e.canonical.x>=t[e.canonical.z].minTileX&&e.canonical.x<=t[e.canonical.z].maxTileX&&e.canonical.y>=t[e.canonical.z].minTileY&&e.canonical.y<=t[e.canonical.z].maxTileY}}class Oa{constructor(e,t,n){this._meshCache={},this.painter=e,this.sourceCache=new Da(t),this.options=n,this.exaggeration=typeof n.exaggeration==`number`?n.exaggeration:1,this.qual
697ityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(e,n,r,i=t.Z){if(!(n>=0&&n<i&&r>=0&&r<i))return 0;let a=this.getTerrainData(e),o=a.tile?.dem;if(!o)return 0;let s=t.cj([],[n/i*t.Z,r/i*t.Z],a.u_terrain_matrix),c=[s[0]*o.dim,s[1]*o.dim],l=Math.floor(c[0]),u=Math.floor(c[1]),d=c[0]-l,f=c[1]-u;return o.get(l,u)*(1-d)*(1-f)+o.get(l+1,u)*d*(1-f)+o.get(l,u+1)*(1-d)*f+o.get(l+1,u+1)*d*f}getElevationForLngLatZoom(e,n){if(!t.ck(n,e.wrap()))return 0;let{tileID:r,mercatorX:i,mercatorY:a}=this._getOverscaledTileIDFromLngLatZoom(e,n);return this.getElevation(r,i%t.Z,a%t.Z,t.Z)}getElevation(e,n,r,i=t.Z){return this.getDEMElevation(e,n,r,i)*this.exaggeration}getTerrainData(e){if(!this._emptyDemTexture){let e=this.painter.context,n=new t.R({width:1,height:1},new Uint8Array(4));this._emptyDepthTexture=new v(e,n,e.gl.RGBA,{premultiply:!1}),this._emptyDemUnpack=[0,0,0,0],this._emptyDemTexture=new v(e,new t.R({width:1,height:1}),e.gl.RGBA,{premultiply:!1}),this._emptyDemTexture.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._emptyDemMatrix=t.ad([])}let n=this.sourceCache.getSourceTile(e,!0);if(n&&n.dem&&(!n.demTexture||n.needsTerrainPrepare)){let e=this.painter.context;n.demTexture=this.painter.getTileTexture(n.dem.stride),n.demTexture?n.demTexture.update(n.dem.getPixels(),{premultiply:!1}):n.demTexture=new v(e,n.dem.getPixels(),e.gl.RGBA,{premultiply:!1}),n.demTexture.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),n.needsTerrainPrepare=!1}let r=n&&n+n.tileID.key+e.key;if(r&&!this._demMatrixCache[r]){let r=this.sourceCache.sourceCache._source.maxzoom,i=e.canonical.z-n.tileID.canonical.z;e.overscaledZ>e.canonical.z&&(e.canonical.z>=r?i=e.canonical.z-r:t.w(`cannot calculate elevation if elevation maxzoom > source.maxzoom`));let a=e.canonical.x-(e.canonical.x>>i<<i),o=e.canonical.y-(e.canonical.y>>i<<i),s=t.cl(new Float64Array(16),[1/(t.Z<<i),1/(t.Z<<i),0]);t.L(s,s,[a*t.Z,o*t.Z,0]),this._demMatrixCache[e.key]={matrix:s,coord:e}}return{u_depth:2,u_terrain:3,u_terrain_dim:n&&n.dem&&n.dem.dim||1,u_terrain_matrix:r?this._demMatrixCache[e.key].matrix:this._emptyDemMatrix,u_terrain_unpack:n&&n.dem&&n.dem.getUnpackVector()||this._emptyDemUnpack,u_terrain_exaggeration:this.exaggeration,texture:(n&&n.demTexture||this._emptyDemTexture).texture,depthTexture:(this._fboDepthTexture||this._emptyDepthTexture).texture,tile:n}}getFramebuffer(e){let t=this.painter,n=t.width/devicePixelRatio,r=t.height/devicePixelRatio;return!this._fbo||this._fbo.width===n&&this._fbo.height===r||(this._fbo.destroy(),this._fboCoordsTexture.destroy(),this._fboDepthTexture.destroy(),delete this._fbo,delete this._fboDepthTexture,delete this._fboCoordsTexture),this._fboCoordsTexture||(this._fboCoordsTexture=new v(t.context,{width:n,height:r,data:null},t.context.gl.RGBA,{premultiply:!1}),this._fboCoordsTexture.bind(t.context.gl.NEAREST,t.context.gl.CLAMP_TO_EDGE)),this._fboDepthTexture||(this._fboDepthTexture=new v(t.context,{width:n,height:r,data:null},t.context.gl.RGBA,{premultiply:!1}),this._fboDepthTexture.bind(t.context.gl.NEAREST,t.context.gl.CLAMP_TO_EDGE)),this._fbo||(this._fbo=t.context.createFramebuffer(n,r,!0,!1),this._fbo.depthAttachment.set(t.context.createRenderbuffer(t.context.gl.DEPTH_COMPONENT16,n,r))),this._fbo.colorAttachment.set(e===`coords`?this._fboCoordsTexture.texture:this._fboDepthTexture.texture),this._fbo}getCoordsTexture(){let e=this.painter.context;if(this._coordsTexture)return this._coordsTexture;let n=new Uint8Array(this._coordsTextureSize*this._coordsTextureSize*4);for(let e=0,t=0;e<this._coordsTextureSize;e++)for(let r=0;r<this._coordsTextureSize;r++,t+=4)n[t+0]=255&r,n[t+1]=255&e,n[t+2]=r>>8<<4|e>>8,n[t+3]=0;let r=new v(e,new t.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(n.buffer)),e.gl.RGBA,{premultiply:!1});return r.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=r,r}pointCoordinate(e){this.painter.maybeDrawDepthAndCoords(!0);let n=new Uint8Array(4),r=this.painter.context,i=r.gl,a=Math.round(e.x*this.painter.pixelRatio/devicePixelRatio),o=Math.round(e.y*this.painter.pixelRatio/devicePixelRatio),s=Math.round(this.painter.height/devicePixelRatio);r.bindFramebuffer.set(this.getFramebuffer(`coords`).framebuffer),i.readPixels(a,s-o-1,1,1,i.RGBA,i.UNSIGNED_BYTE,n),r.bindFramebuffer.set(null);let c=n[0]+(n[2]>>4<<8),l=n[1]+((15&n[2])<<8),u=this.coordsIndex[255-n[3]],d=u&&this.sourceCache.getTileByID(u);if(!d)return null;let f=this._coordsTextureSize,p=(1<<d.tileID.canonical.z)*f;return new t.$((d.tileID.canonical.x*f+c)/p+d.tileID.wrap,(d.tileID.canonical.y*f+l)/p,this.getElevation(d.tileID,c,l,f))}depthAtPoint(e){let t=new Uint8Array(4),n=this.painter.context,r=n.gl;return n.bindFramebuffer.set(this.getFramebuffer(`depth`).framebuffer),r.readPixels(e.x,this.painter.height/devicePixelRatio-e.y-1,1,1,r.RGBA,r.UNSIGNED_BYTE,t),n.bindFramebuffer.set(null),(t[0]/16777216+t[1]/65536+t[2]/256+t[3])/256}getTerrainMesh(e){let n=this.painter.style.projection?.transitionState>0,r=n&&e.canonical.y===0,i=n&&e.canonical.y===(1<<e.canonical.z)-1,a=`m_${r?`n`:``}_${i?`s`:``}`;if(this._meshCache[a])return this._meshCache[a];let o=this.painter.context,s=new t.cm,c=new t.aK,l=this.meshSize,u=t.Z/l,d=l*l;for(let e=0;e<=l;e++)for(let t=0;t<=l;t++)s.emplaceBack(t*u,e*u,0);for(let e=0;e<d;e+=l+1)for(let t=0;t<l;t++)c.emplaceBack(t+e,l+t+e+1,l+t+e+2),c.emplaceBack(t+e,l+t+e+2,t+e+1);let f=s.length,p=f+(l+1),m=(l+1)*l,h=r?t.b9:0,g=+!r,_=i?t.ba:t.Z,v=+!i;for(let e=0;e<=l;e++)s.emplaceBack(e*u,h,g);for(let e=0;e<=l;e++)s.emplaceBack(e*u,_,v);for(let e=0;e<l;e++)c.emplaceBack(m+e,p+e,p+e+1),c.emplaceBack(m+e,p+e+1,m+e+1),c.emplaceBack(0+e,f+e+1,f+e),c.emplaceBack(0+e,0+e+1,f+e+1);let y=s.length,b=y+2*(l+1);for(let e of[0,1])for(let n=0;n<=l;n++)for(let r of[0,1])s.emplaceBack(e*t.Z,n*u,r);for(let e=0;e<2*l;e+=2)c.emplaceBack(y+e,y+e+1,y+e+3),c.emplaceBack(y+e,y+e+3,y+e+2),c.emplaceBack(b+e,b+e+3,b+e+1),c.emplaceBack(b+e,b+e+2,b+e+3);let x=new Ot(o.createVertexBuffer(s,Ea.members),o.createIndexBuffer(c),t.aJ.simpleSegment(0,0,s.length,c.length));return this._meshCache[a]=x,x}getMeshFrameDelta(e){return 2*Math.PI*t.bu/2**Math.max(e,0)/5}getMinTileElevationForLngLatZoom(e,t){let{tileID:n}=this._getOverscaledTileIDFromLngLatZoom(e,t);return this.getMinMaxElevation(n).minElevation??0}getMinMaxElevation(e){let t=this.getTerrainData(e).tile,n={minElevation:null,maxElevation:null};return t&&t.dem&&(n.minElevation=t.dem.min*this.exaggeration,n.maxElevation=t.dem.max*this.exaggeration),n}_getOverscaledTileIDFromLngLatZoom(e,n){let r=t.$.fromLngLat(e.wrap()),i=(1<<n)*t.Z,a=r.x*i,o=r.y*i,s=Math.floor(a/t.Z),c=Math.floor(o/t.Z);return{tileID:new t.Y(n,0,n,s,c),mercatorX:a,mercatorY:o}}}class ka{constructor(e,t,n){this._context=e,this._size=t,this._tileSize=n,this._objects=[],this._recentlyUsed=[],this._stamp=0}destruct(){for(let e of this._objects)e.texture.destroy(),e.fbo.destroy()}_createObject(e){let t=this._context.createFramebuffer(this._tileSize,this._tileSize,!0,!0),n=new v(this._context,{width:this._tileSize,height:this._tileSize,data:null},this._context.gl.RGBA);return n.bind(this._context.gl.LINEAR,this._context.gl.CLAMP_TO_EDGE),this._context.extTextureFilterAnisotropic&&this._context.gl.texParameterf(this._context.gl.TEXTURE_2D,this._context.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,this._context.extTextureFilterAnisotropicMax),t.depthAttachment.set(this._context.createRenderbuffer(this._context.gl.DEPTH_STENCIL,this._tileSize,this._tileSize)),t.colorAttachment.set(n.texture),{id:e,fbo:t,texture:n,stamp:-1,inUse:!1}}getObjectForId(e){return this._objects[e]}useObject(e){e.inUse=!0,this._recentlyUsed=this._recentlyUsed.filter((t=>e.id!==t)),this._recentlyUsed.push(e.id)}stampObject(e){e.stamp=++this._stamp}getOrCreateFreeObject(){for(let e of this._recentlyUsed)if(!this._objects[e].inUse)return this._objects[e];if(this._objects.length>=this._size)throw Error(`No free RenderPool available, call freeAllObjects() required!`);let e=this._createObject(this._objects.length);return this._objects.push(e),e}freeObject(e){e.inUse=!1}freeAllObjects(){for(let e of this._objects)this.freeObject(e)}isFull(){return!(this._objects.length<this._size)&&!1===this._objects.some((e=>!e.inUse))}}let Aa={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};
697class ja{constructor(e,t){this.painter=e,this.terrain=t,this.pool=new ka(e.context,30,t.sourceCache.tileSize*t.qualityFactor)}destruct(){this.pool.destruct()}getTexture(e){return this.pool.getObjectForId(e.rtt[this._stacks.length-1].id).texture}prepareForRender(e,t){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=e._order.filter((n=>!e._layers[n].isHidden(t))),this._coordsAscending={};for(let t in e.sourceCaches){this._coordsAscending[t]={};let n=e.sourceCaches[t].getVisibleCoordinates(),r=e.sourceCaches[t].getSource(),i=r instanceof pe?r.terrainTileRanges:null;for(let e of n){let n=this.terrain.sourceCache.getTerrainCoords(e,i);for(let e in n)this._coordsAscending[t][e]||(this._coordsAscending[t][e]=[]),this._coordsAscending[t][e].push(n[e])}}this._coordsAscendingStr={};for(let t of e._order){let n=e._layers[t],r=n.source;if(Aa[n.type]&&!this._coordsAscendingStr[r]){this._coordsAscendingStr[r]={};for(let e in this._coordsAscending[r])this._coordsAscendingStr[r][e]=this._coordsAscending[r][e].map((e=>e.key)).sort().join()}}for(let e of this._renderableTiles)for(let t in this._coordsAscendingStr){let n=this._coordsAscendingStr[t][e.tileID.key];n&&n!==e.rttCoords[t]&&(e.rtt=[])}}renderLayer(e,n){if(e.isHidden(this.painter.transform.zoom))return!1;let r=Object.assign(Object.assign({},n),{isRenderingToTexture:!0}),i=e.type,a=this.painter,o=this._renderableLayerIds[this._renderableLayerIds.length-1]===e.id;if(Aa[i]&&(this._prevType&&Aa[this._prevType]||this._stacks.push([]),this._prevType=i,this._stacks[this._stacks.length-1].push(e.id),!o))return!0;if(Aa[this._prevType]||Aa[i]&&o){this._prevType=i;let e=this._stacks.length-1,n=this._stacks[e]||[];for(let i of this._renderableTiles){if(this.pool.isFull()&&(xi(this.painter,this.terrain,this._rttTiles,r),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(i),i.rtt[e]){let t=this.pool.getObjectForId(i.rtt[e].id);if(t.stamp===i.rtt[e].stamp){this.pool.useObject(t);continue}}let o=this.pool.getOrCreateFreeObject();this.pool.useObject(o),this.pool.stampObject(o),i.rtt[e]={id:o.id,stamp:o.stamp},a.context.bindFramebuffer.set(o.fbo.framebuffer),a.context.clear({color:t.b7.transparent,stencil:0}),a.currentStencilSource=void 0;for(let e=0;e<n.length;e++){let t=a.style._layers[n[e]],s=t.source?this._coordsAscending[t.source][i.tileID.key]:[i.tileID];a.context.viewport.set([0,0,o.fbo.width,o.fbo.height]),a._renderTileClippingMasks(t,s,!0),a.renderLayer(a,a.style.sourceCaches[t.source],t,s,r),t.source&&(i.rttCoords[t.source]=this._coordsAscendingStr[t.source][i.tileID.key])}}return xi(this.painter,this.terrain,this._rttTiles,r),this._rttTiles=[],this.pool.freeAllObjects(),Aa[i]}return!1}}let Ma={"AttributionControl.ToggleAttribution":`Toggle attribution`,"AttributionControl.MapFeedback":`Map feedback`,"FullscreenControl.Enter":`Enter fullscreen`,"FullscreenControl.Exit":`Exit fullscreen`,"GeolocateControl.FindMyLocation":`Find my location`,"GeolocateControl.LocationNotAvailable":`Location not available`,"LogoControl.Title":`MapLibre logo`,"Map.Title":`Map`,"Marker.Title":`Map marker`,"NavigationControl.ResetBearing":`Reset bearing to north`,"NavigationControl.ZoomIn":`Zoom in`,"NavigationControl.ZoomOut":`Zoom out`,"Popup.Close":`Close popup`,"ScaleControl.Feet":`ft`,"ScaleControl.Meters":`m`,"ScaleControl.Kilometers":`km`,"ScaleControl.Miles":`mi`,"ScaleControl.NauticalMiles":`nm`,"GlobeControl.Enable":`Enable globe`,"GlobeControl.Disable":`Disable globe`,"TerrainControl.Enable":`Enable terrain`,"TerrainControl.Disable":`Disable terrain`,"CooperativeGesturesHandler.WindowsHelpText":`Use Ctrl + scroll to zoom the map`,"CooperativeGesturesHandler.MacHelpText":`Use ⌘ + scroll to zoom the map`,"CooperativeGesturesHandler.MobileHelpText":`Use two fingers to move the map`},Q=n,$={hash:!1,interactive:!0,bearingSnap:7,attributionControl:Sa,maplibreLogo:!1,refreshExpiredTiles:!0,canvasContextAttributes:{antialias:!1,preserveDrawingBuffer:!1,powerPreference:`high-performance`,failIfMajorPerformanceCaveat:!1,desynchronized:!1,contextType:void 0},scrollZoom:!0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,trackResize:!0,center:[0,0],elevation:0,zoom:0,bearing:0,pitch:0,roll:0,renderWorldCopies:!0,maxTileC
697acheSize:null,maxTileCacheZoomLevels:t.a.MAX_TILE_CACHE_ZOOM_LEVELS,transformRequest:null,transformCameraUpdate:null,fadeDuration:300,crossSourceCollisions:!0,clickTolerance:3,localIdeographFontFamily:`sans-serif`,pitchWithRotate:!0,rollEnabled:!1,validateStyle:!0,maxCanvasSize:[4096,4096],cancelPendingTileRequestsWhileZooming:!0,centerClampedToGround:!0},Na={showCompass:!0,showZoom:!0,visualizePitch:!1,visualizeRoll:!0};class Pa{constructor(e,n,r=!1){this.mousedown=e=>{this.startMove(e,s.mousePos(this.element,e)),s.addEventListener(window,`mousemove`,this.mousemove),s.addEventListener(window,`mouseup`,this.mouseup)},this.mousemove=e=>{this.move(e,s.mousePos(this.element,e))},this.mouseup=e=>{this._rotatePitchHanlder.dragEnd(e),this.offTemp()},this.touchstart=e=>{e.targetTouches.length===1?(this._startPos=this._lastPos=s.touchPos(this.element,e.targetTouches)[0],this.startMove(e,this._startPos),s.addEventListener(window,`touchmove`,this.touchmove,{passive:!1}),s.addEventListener(window,`touchend`,this.touchend)):this.reset()},this.touchmove=e=>{e.targetTouches.length===1?(this._lastPos=s.touchPos(this.element,e.targetTouches)[0],this.move(e,this._lastPos)):this.reset()},this.touchend=e=>{e.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),delete this._startPos,delete this._lastPos,this.offTemp()},this.reset=()=>{this._rotatePitchHanlder.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10,this.element=n;let i=new Xi;this._rotatePitchHanlder=new Ki({clickTolerance:3,move:(e,i)=>{let a=n.getBoundingClientRect(),o=new t.P((a.bottom-a.top)/2,(a.right-a.left)/2);return{bearingDelta:t.ce(new t.P(e.x,i.y),i,o),pitchDelta:r?-.5*(i.y-e.y):void 0}},moveStateManager:i,enable:!0,assignEvents:()=>{}}),this.map=e,s.addEventListener(n,`mousedown`,this.mousedown),s.addEventListener(n,`touchstart`,this.touchstart,{passive:!1}),s.addEventListener(n,`touchcancel`,this.reset)}startMove(e,t){this._rotatePitchHanlder.dragStart(e,t),s.disableDrag()}move(e,t){let n=this.map,{bearingDelta:r,pitchDelta:i}=this._rotatePitchHanlder.dragMove(e,t)||{};r&&n.setBearing(n.getBearing()+r),i&&n.setPitch(n.getPitch()+i)}off(){let e=this.element;s.removeEventListener(e,`mousedown`,this.mousedown),s.removeEventListener(e,`touchstart`,this.touchstart,{passive:!1}),s.removeEventListener(window,`touchmove`,this.touchmove,{passive:!1}),s.removeEventListener(window,`touchend`,this.touchend),s.removeEventListener(e,`touchcancel`,this.reset),this.offTemp()}offTemp(){s.enableDrag(),s.removeEventListener(window,`mousemove`,this.mousemove),s.removeEventListener(window,`mouseup`,this.mouseup),s.removeEventListener(window,`touchmove`,this.touchmove,{passive:!1}),s.removeEventListener(window,`touchend`,this.touchend)}}let Fa;function Ia(e,n,r,i=!1){if(i||!r.getCoveringTilesDetailsProvider().allowWorldCopies())return e?.wrap();let a=new t.Q(e.lng,e.lat);if(e=new t.Q(e.lng,e.lat),n){let i=new t.Q(e.lng-360,e.lat),a=new t.Q(e.lng+360,e.lat),o=r.locationToScreenPoint(e).distSqr(n);r.locationToScreenPoint(i).distSqr(n)<o?e=i:r.locationToScreenPoint(a).distSqr(n)<o&&(e=a)}for(;Math.abs(e.lng-r.center.lng)>180;){let t=r.locationToScreenPoint(e);if(t.x>=0&&t.y>=0&&t.x<=r.width&&t.y<=r.height)break;e.lng>r.center.lng?e.lng-=360:e.lng+=360}return e.lng!==a.lng&&r.isPointOnMapSurface(r.locationToScreenPoint(e))?e:a}let La={center:`translate(-50%,-50%)`,top:`translate(-50%,0)`,"top-left":`translate(0,0)`,"top-right":`translate(-100%,0)`,bottom:`translate(-50%,-100%)`,"bottom-left":`translate(0,-100%)`,"bottom-right":`translate(-100%,-100%)`,left:`translate(0,-50%)`,right:`translate(-100%,-50%)`};function Ra(e,t,n){let r=e.classList;for(let e in La)r.remove(`maplibregl-${n}-anchor-${e}`);r.add(`maplibregl-${n}-anchor-${t}`)}class za extends t.E{constructor(e){if(super(),this._onKeyPress=e=>{let t=e.code,n=e.charCode||e.keyCode;t!==`Space`&&t!==`Enter`&&n!==32&&n!==13||this.togglePopup()},this._onMapClick=e=>{let t=e.originalEvent.target,n=this._element;this._popup&&(t===n||n.contains(t))&&this.togglePopup()},this._update=e=>{if(!this._map)return;let t=this._map.loaded()&&!this._map.isMoving();(e?.type===`terrain`||e?.type===`render`&&!t)&&this._map.once(`render`,this._update),this._lngLat=Ia(this._lngLat,this._flatPos,this._map.transform),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationToScreenPoint(this._lngLat)._add(this._offset));let n=``;this._rotationAlignment===`viewport`||this._rotationAlignment===`auto`?n=`rotateZ(${this._rotation}deg)`:this._rotationAlignment===`map`&&(n=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let r=``;this._pitchAlignment===`viewport`||this._pitchAlignment===`auto`?r=`rotateX(0deg)`:this._pitchAlignment===`map`&&(r=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||e&&e.type!==`moveend`||(this._pos=this._pos.round()),s.setTransform(this._element,`${La[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${r} ${n}`),o.frameAsync(new AbortController).then((()=>{this._updateOpacity(e&&e.type===`moveend`)})).catch((()=>{}))},this._onMove=e=>{if(!this._isDragging){let t=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=t}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=`none`,this._state===`pending`&&(this._state=`active`,this.fire(new t.l(`dragstart`))),this.fire(new t.l(`drag`)))},this._onUp=()=>{this._element.style.pointerEvents=`auto`,this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(`mousemove`,this._onMove),this._map.off(`touchmove`,this._onMove),this._state===`active`&&this.fire(new t.l(`dragend`)),this._state=`inactive`},this._addDragHandler=e=>{this._element.contains(e.originalEvent.target)&&(e.preventDefault(),this._positionDelta=e.point.sub(this._pos).add(this._offset),this._pointerdownPos=e.point,this._state=`pending`,this._map.on(`mousemove`,this._onMove),this._map.on(`touchmove`,this._onMove),this._map.once(`mouseup`,this._onUp),this._map.once(`touchend`,this._onUp))},this._anchor=e&&e.anchor||`center`,this._color=e&&e.color||`#3FB1CE`,this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._subpixelPositioning=e&&e.subpixelPositioning||!1,this._isDragging=!1,this._state=`inactive`,this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||`auto`,this._pitchAlignment=e&&e.pitchAlignment&&e.pitchAlignment!==`auto`?e.pitchAlignment:this._rotationAlignment,this.setOpacity(e?.opacity,e?.opacityWhenCovered),e&&e.element)this._element=e.element,this._offset=t.P.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=s.create(`div`);let n=s.createNS(`http://www.w3.org/2000/svg`,`svg`);n.setAttributeNS(null,`display`,`block`),n.setAttributeNS(null,`height`,`41px`),n.setAttributeNS(null,`width`,`27px`),n.setAttributeNS(null,`viewBox`,`0 0 27 41`);let r=s.createNS(`http://www.w3.org/2000/svg`,`g`);r.setAttributeNS(null,`stroke`,`none`),r.setAttributeNS(null,`stroke-width`,`1`),r.setAttributeNS(null,`fill`,`none`),r.setAttributeNS(null,`fill-rule`,`evenodd`);let i=s.createNS(`http://www.w3.org/2000/svg`,`g`);i.setAttributeNS(null,`fill-rule`,`nonzero`);let a=s.createNS(`http://www.w3.org/2000/svg`,`g`);a.setAttributeNS(null,`transform`,`translate(3.0, 29.0)`),a.setAttributeNS(null,`fill`,`#000000`);for(let e of[{rx:`10.5`,ry:`5.25002273`},{rx:`10.5`,ry:`5.25002273`},{rx:`9.5`,ry:`4.77275007`},{rx:`8.5`,ry:`4.29549936`},{rx:`7.5`,ry:`3.81822308`},{rx:`6.5`,ry:`3.34094679`},{rx:`5.5`,ry:`2.86367051`},{rx:`4.5`,ry:`2.38636864`}]){let t=s.createNS(`http://www.w3.org/2000/svg`,`ellipse`);t.setAttributeNS(null,`opacity`,`0.04`),t.setAttributeNS(null,`cx`,`10.5`),t.setAttributeNS(null,`cy`,`5.80029008`),t.setAttributeNS(null,`rx`,e.rx),t.setAttributeNS(null,`ry`,e.ry),a.appendChild(t)}let o=s.createNS(`http://www.w3.org/2000/svg`,`g`);o.setAttributeNS(null,`fill`,this._color);
697let c=s.createNS(`http://www.w3.org/2000/svg`,`path`);c.setAttributeNS(null,`d`,`M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z`),o.appendChild(c);let l=s.createNS(`http://www.w3.org/2000/svg`,`g`);l.setAttributeNS(null,`opacity`,`0.25`),l.setAttributeNS(null,`fill`,`#000000`);let u=s.createNS(`http://www.w3.org/2000/svg`,`path`);u.setAttributeNS(null,`d`,`M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z`),l.appendChild(u);let d=s.createNS(`http://www.w3.org/2000/svg`,`g`);d.setAttributeNS(null,`transform`,`translate(6.0, 7.0)`),d.setAttributeNS(null,`fill`,`#FFFFFF`);let f=s.createNS(`http://www.w3.org/2000/svg`,`g`);f.setAttributeNS(null,`transform`,`translate(8.0, 8.0)`);let p=s.createNS(`http://www.w3.org/2000/svg`,`circle`);p.setAttributeNS(null,`fill`,`#000000`),p.setAttributeNS(null,`opacity`,`0.25`),p.setAttributeNS(null,`cx`,`5.5`),p.setAttributeNS(null,`cy`,`5.5`),p.setAttributeNS(null,`r`,`5.4999962`);let m=s.createNS(`http://www.w3.org/2000/svg`,`circle`);m.setAttributeNS(null,`fill`,`#FFFFFF`),m.setAttributeNS(null,`cx`,`5.5`),m.setAttributeNS(null,`cy`,`5.5`),m.setAttributeNS(null,`r`,`5.4999962`),f.appendChild(p),f.appendChild(m),i.appendChild(a),i.appendChild(o),i.appendChild(l),i.appendChild(d),i.appendChild(f),n.appendChild(i),n.setAttributeNS(null,`height`,41*this._scale+`px`),n.setAttributeNS(null,`width`,27*this._scale+`px`),this._element.appendChild(n),this._offset=t.P.convert(e&&e.offset||[0,-14])}if(this._element.classList.add(`maplibregl-marker`),this._element.addEventListener(`dragstart`,(e=>{e.preventDefault()})),this._element.addEventListener(`mousedown`,(e=>{e.preventDefault()})),Ra(this._element,this._anchor,`marker`),e&&e.className)for(let t of e.className.split(` `))this._element.classList.add(t);this._popup=null}addTo(e){return this.remove(),this._map=e,this._element.hasAttribute(`aria-label`)||this._element.setAttribute(`aria-label`,e._getUIString(`Marker.Title`)),e.getCanvasContainer().appendChild(this._element),e.on(`move`,this._update),e.on(`moveend`,this._update),e.on(`terrain`,this._update),e.on(`projectiontransition`,this._update),this.setDraggable(this._draggable),this._update(),this._map.on(`click`,this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off(`click`,this._onMapClick),this._map.off(`move`,this._update),this._map.off(`moveend`,this._update),this._map.off(`terrain`,this._update),this._map.off(`projectiontransition`,this._update),this._map.off(`mousedown`,this._addDragHandler),this._map.off(`touchstart`,this._addDragHandler),this._map.off(`mouseup`,this._onUp),this._map.off(`touchend`,this._onUp),this._map.off(`mousemove`,this._onMove),this._map.off(`touchmove`,this._onMove),delete this._map),s.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.Q.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(`keypress`,this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(`tabindex`)),e){if(!(`offset`in e.options)){let t=38.1,n=13.5,r=13.5/Math.SQRT2;e.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[
6970,-38.1],"bottom-left":[r,-1*(t-n+r)],"bottom-right":[-r,-1*(t-n+r)],left:[n,-1*(t-n)],right:[-13.5,-1*(t-n)]}:this._offset}this._popup=e,this._originalTabIndex=this._element.getAttribute(`tabindex`),this._originalTabIndex||this._element.setAttribute(`tabindex`,`0`),this._element.addEventListener(`keypress`,this._onKeyPress)}return this}setSubpixelPositioning(e){return this._subpixelPositioning=e,this}getPopup(){return this._popup}togglePopup(){let e=this._popup;return this._element.style.opacity===this._opacityWhenCovered||e&&(e.isOpen()?e.remove():(e.setLngLat(this._lngLat),e.addTo(this._map))),this}_updateOpacity(e=!1){var n;let r=this._map?.terrain,i=this._map.transform.isLocationOccluded(this._lngLat);if(!r||i){let e=i?this._opacityWhenCovered:this._opacity;this._element.style.opacity!==e&&(this._element.style.opacity=e);return}if(e)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout((()=>{this._opacityTimeout=null}),100)}let a=this._map,o=a.terrain.depthAtPoint(this._pos),s=a.terrain.getElevationForLngLatZoom(this._lngLat,a.transform.tileZoom);if(a.transform.lngLatToCameraDepth(this._lngLat,s)-o<.006)return void(this._element.style.opacity=this._opacity);let c=-this._offset.y/a.transform.pixelsPerMeter,l=Math.sin(a.getPitch()*Math.PI/180)*c,u=a.terrain.depthAtPoint(new t.P(this._pos.x,this._pos.y-this._offset.y)),d=a.transform.lngLatToCameraDepth(this._lngLat,s+l)-u>.006;(n=this._popup)!=null&&n.isOpen()&&d&&this._popup.remove(),this._element.style.opacity=d?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(e){return this._offset=t.P.convert(e),this._update(),this}addClassName(e){this._element.classList.add(e)}removeClassName(e){this._element.classList.remove(e)}toggleClassName(e){return this._element.classList.toggle(e)}setDraggable(e){return this._draggable=!!e,this._map&&(e?(this._map.on(`mousedown`,this._addDragHandler),this._map.on(`touchstart`,this._addDragHandler)):(this._map.off(`mousedown`,this._addDragHandler),this._map.off(`touchstart`,this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(e){return this._rotation=e||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(e){return this._rotationAlignment=e||`auto`,this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(e){return this._pitchAlignment=e&&e!==`auto`?e:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(e,t){return(this._opacity===void 0||e===void 0&&t===void 0)&&(this._opacity=`1`,this._opacityWhenCovered=`0.2`),e!==void 0&&(this._opacity=e),t!==void 0&&(this._opacityWhenCovered=t),this._map&&this._updateOpacity(!0),this}}let Ba={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},Va=0,Ha=!1,Ua={maxWidth:100,unit:`metric`};function Wa(e,t,n){let r=n&&n.maxWidth||100,i=e._container.clientHeight/2,a=e._container.clientWidth/2,o=e.unproject([a-r/2,i]),s=e.unproject([a+r/2,i]),c=Math.round(e.project(s).x-e.project(o).x),l=Math.min(r,c,e._container.clientWidth),u=o.distanceTo(s);if(n&&n.unit===`imperial`){let n=3.2808*u;n>5280?Ga(t,l,n/5280,e._getUIString(`ScaleControl.Miles`)):Ga(t,l,n,e._getUIString(`ScaleControl.Feet`))}else n&&n.unit===`nautical`?Ga(t,l,u/1852,e._getUIString(`ScaleControl.NauticalMiles`)):u>=1e3?Ga(t,l,u/1e3,e._getUIString(`ScaleControl.Kilometers`)):Ga(t,l,u,e._getUIString(`ScaleControl.Meters`))}function Ga(e,t,n,r){let i=function(e){let t=10**(`${Math.floor(e)}`.length-1),n=e/t;return n=n>=10?10:n>=5?5:n>=3?3:n>=2?2:n>=1?1:function(e){let t=10**Math.ceil(-Math.log(e)/Math.LN10);return Math.round(e*t)/t}(n),t*n}(n);e.style.width=i/n*t+`px`,e.innerHTML=`${i}&nbsp;${r}`}let Ka={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:``,maxWidth:`240px`,subpixelPositioning:!1,locationOccludedOpacity:void 0},qa=[`a[href]`,`[tabindex]:not([tabindex='-1'])`,`[contenteditable]:not([contenteditable='false'])`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`].join(`, `);function Ja(e){if(e){if(typeof e==`number`){let n=Math.round(Math.abs(e)/Math.SQRT2);return{center:new t.P(0,0),top:new t.P(0,e),"top-left":new t.P(n,n),"top-right":new t.P(-n,n),bottom:new t.P(0,-e),"bottom-left":new t.P(n,-n),"bottom-right":new t.P(-n,-n),left:new t.P(e,0),right:new t.P(-e,0)}}if(e instanceof t.P||Array.isArray(e)){let n=t.P.convert(e);return{center:n,top:n,"top-left":n,"top-right":n,bottom:n,"bottom-left":n,"bottom-right":n,left:n,right:n}}return{center:t.P.convert(e.center||[0,0]),top:t.P.convert(e.top||[0,0]),"top-left":t.P.convert(e[`top-left`]||[0,0]),"top-right":t.P.convert(e[`top-right`]||[0,0]),bottom:t.P.convert(e.bottom||[0,0]),"bottom-left":t.P.convert(e[`bottom-left`]||[0,0]),"bottom-right":t.P.convert(e[`bottom-right`]||[0,0]),left:t.P.convert(e.left||[0,0]),right:t.P.convert(e.right||[0,0])}}return Ja(new t.P(0,0))}let Ya=n;
697e.AJAXError=t.cq,e.Event=t.l,e.Evented=t.E,e.LngLat=t.Q,e.MercatorCoordinate=t.$,e.Point=t.P,e.addProtocol=t.cr,e.config=t.a,e.removeProtocol=t.cs,e.AttributionControl=Ca,e.BoxZoomHandler=Vi,e.CanvasSource=he,e.CooperativeGesturesHandler=ga,e.DoubleClickZoomHandler=Z,e.DragPanHandler=pa,e.DragRotateHandler=ma,e.EdgeInsets=W,e.FullscreenControl=class extends t.E{constructor(e={}){super(),this._onFullscreenChange=()=>{let e=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;e?.shadowRoot?.fullscreenElement;)e=e.shadowRoot.fullscreenElement;e===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,e&&e.container&&(e.container instanceof HTMLElement?this._container=e.container:t.w(`Full screen control 'container' must be a DOM element.`)),`onfullscreenchange`in document?this._fullscreenchange=`fullscreenchange`:`onmozfullscreenchange`in document?this._fullscreenchange=`mozfullscreenchange`:`onwebkitfullscreenchange`in document?this._fullscreenchange=`webkitfullscreenchange`:`onmsfullscreenchange`in document&&(this._fullscreenchange=`MSFullscreenChange`)}onAdd(e){return this._map=e,this._container||=this._map.getContainer(),this._controlContainer=s.create(`div`,`maplibregl-ctrl maplibregl-ctrl-group`),this._setupUI(),this._controlContainer}onRemove(){s.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let e=this._fullscreenButton=s.create(`button`,`maplibregl-ctrl-fullscreen`,this._controlContainer);s.create(`span`,`maplibregl-ctrl-icon`,e).setAttribute(`aria-hidden`,`true`),e.type=`button`,this._updateTitle(),this._fullscreenButton.addEventListener(`click`,this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let e=this._getTitle();this._fullscreenButton.setAttribute(`aria-label`,e),this._fullscreenButton.title=e}_getTitle(){return this._map._getUIString(this._isFullscreen()?`FullscreenControl.Exit`:`FullscreenControl.Enter`)}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(`maplibregl-ctrl-shrink`),this._fullscreenButton.classList.toggle(`maplibregl-ctrl-fullscreen`),this._updateTitle(),this._fullscreen?(this.fire(new t.l(`fullscreenstart`)),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new t.l(`fullscreenend`)),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle(`maplibregl-pseudo-fullscreen`),this._handleFullscreenChange(),this._map.resize()}},e.GeoJSONSource=I,e.GeolocateControl=class extends t.E{constructor(e){super(),this._onSuccess=e=>{if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.l(`outofmaxbounds`,e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case`WAITING_ACTIVE`:case`ACTIVE_LOCK`:case`ACTIVE_ERROR`:this._watchState=`ACTIVE_LOCK`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active-error`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-active`);break;case`BACKGROUND`:case`BACKGROUND_ERROR`:this._watchState=`BACKGROUND`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background-error`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-background`);break;default:throw Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!==`OFF`&&this._updateMarker(e),this.options.trackUserLocation&&this._watchState!==`ACTIVE_LOCK`||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove(`maplibregl-user-location-dot-stale`),this.fire(new t.l(`geolocate`,e)),this._finish()}},this._updateCamera=e=>{let n=new t.Q(e.coords.longitude,e.coords.latitude),r=e.coords.accuracy,i=this._map.getBearing(),a=t.e({bearing:i},this.options.fitBoundsOptions),o=P.fromLngLat(n,r);this._map.fitBounds(o,a,{geolocateSource:!0})},this._updateMarker=e=>{if(e){let n=new t.Q(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(n).addTo(this._map),this._userLocationDotMarker.setLngLat(n).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=e=>{if(this._map){if(e.code===1){this._watchState=`OFF`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active-error`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background-error`),this._geolocateButton.disabled=!0;let e=this._map._getUIString(`GeolocateControl.LocationNotAvailable`);this._geolocateButton.title=e,this._geolocateButton.setAttribute(`aria-label`,e),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(e.code===3&&Ha)return;this.options.trackUserLocation&&this._setErrorState()}this._watchState!==`OFF`&&this.options.showUserLocation&&this._dotElement.classList.add(`maplibregl-user-location-dot-stale`),this.fire(new t.l(`error`,e)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener(`contextmenu`,(e=>e.preventDefault())),this._geolocateButton=s.create(`button`,`maplibregl-ctrl-geolocate`,this._container),s.create(`span`,`maplibregl-ctrl-icon`,this._geolocateButton).setAttribute(`aria-hidden`,`true`),this._geolocateButton.type=`button`,this._geolocateButton.disabled=!0)},this._finishSetupUI=e=>{if(this._map){if(!1===e){t.w(`Geolocation support is not available so the GeolocateControl will be disabled.`);let e=this._map._getUIString(`GeolocateControl.LocationNotAvailable`);this._geolocateButton.disabled=!0,this._geolocateButton.title=e,this._geolocateButton.setAttribute(`aria-label`,e)}else{let e=this._map._getUIString(`GeolocateControl.FindMyLocation`);this._geolocateButton.disabled=!1,this._geolocateButton.title=e,this._geolocateButton.setAttribute(`aria-label`,e)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(`aria-pressed`,`false`),this._watchState=`OFF`),this.options.showUserLocation&&(this._dotElement=s.create(`div`,`maplibregl-user-location-dot`),this._userLocationDotMarker=new za({element:this._dotElement}),this._circleElement=s.create(`div`,`maplibregl-user-location-accuracy-circle`),this._accuracyCircleMarker=new za({element:this._circleElement,pitchAlignment:`map`}),this.options.trackUserLocation&&(this._watchState=`OFF`),this._map.on(`zoom`,this._onZoom)),this._geolocateButton.addEventListener(`click`,(()=>this.trigger())),this._setup=!0,this.options.trackUserLocation&&this._map.on(`movestart`,(e=>{e.geolocateSource||this._watchState!==`ACTIVE_LOCK`||e.originalEvent&&e.originalEvent.type===`resize`||(this._watchState=`BACKGROUND`,this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-background`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active`),this.fire(new t.l(`trackuserlocationend`)),this.fire(new t.l(`userlocationlostfocus`)))}))}},this.options=t.e({},Ba,e)}onAdd(e){return this._map=e,this._container=s.create(`div`,`maplibregl-ctrl maplibregl-ctrl-group`),this._setupUI(),function(){return t._(this,arguments,void 0,(function*(e=!1){if(Fa!==void 0&&!e)return Fa;if(window.navigator.permissions===void 0)return Fa=!!window.navigator.geolocation,Fa;try{Fa=(yield window.navigator.permissions.query({name:`geolocation`})).state!==`denied`}catch{Fa=!!window.navigator.geolocation}return Fa}))}().then((e=>this._finishSetupUI(e))),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),s.remove(this._container),this._map.off(`zoom`,this._onZoom),this._map=void 0,Va=0,Ha=!1}_isOutOfMapMaxBounds(e){let t=this._map.getMaxBounds(),n=e.coords;return t&&(n.longitude<t.getWest()||n.longitude>t.getEast()||n.latitude<t.getSouth()||n.latitude>t.getNorth())}_setErrorState(){switch(this._watchState){case`WAITING_ACTIVE`:this._watchState=`ACTIVE_E
697RROR`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-active-error`);break;case`ACTIVE_LOCK`:this._watchState=`ACTIVE_ERROR`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-active-error`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-waiting`);break;case`BACKGROUND`:this._watchState=`BACKGROUND_ERROR`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-background-error`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-waiting`);break;case`ACTIVE_ERROR`:break;default:throw Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){let e=this._map.getBounds(),t=e.getSouthEast(),n=e.getNorthEast(),r=t.distanceTo(n),i=Math.ceil(this._accuracy/(r/this._map._container.clientHeight)*2);this._circleElement.style.width=`${i}px`,this._circleElement.style.height=`${i}px`}trigger(){if(!this._setup)return t.w(`Geolocate control triggered before added to a map`),!1;if(this.options.trackUserLocation){switch(this._watchState){case`OFF`:this._watchState=`WAITING_ACTIVE`,this.fire(new t.l(`trackuserlocationstart`));break;case`WAITING_ACTIVE`:case`ACTIVE_LOCK`:case`ACTIVE_ERROR`:case`BACKGROUND_ERROR`:Va--,Ha=!1,this._watchState=`OFF`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active-error`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background-error`),this.fire(new t.l(`trackuserlocationend`));break;case`BACKGROUND`:this._watchState=`ACTIVE_LOCK`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background`),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.l(`trackuserlocationstart`)),this.fire(new t.l(`userlocationfocus`));break;default:throw Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case`WAITING_ACTIVE`:this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-active`);break;case`ACTIVE_LOCK`:this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-active`);break;case`OFF`:break;default:throw Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState===`OFF`&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let e;this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.setAttribute(`aria-pressed`,`true`),Va++,Va>1?(e={maximumAge:6e5,timeout:0},Ha=!0):(e=this.options.positionOptions,Ha=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.setAttribute(`aria-pressed`,`false`),this.options.showUserLocation&&this._updateMarker(null)}},e.GlobeControl=class{constructor(){this._toggleProjection=()=>{let e=this._map.getProjection()?.type;this._map.setProjection(e!==`mercator`&&e?{type:`mercator`}:{type:`globe`}),this._updateGlobeIcon()},this._updateGlobeIcon=()=>{this._globeButton.classList.remove(`maplibregl-ctrl-globe`),this._globeButton.classList.remove(`maplibregl-ctrl-globe-enabled`),this._map.getProjection()?.type===`globe`?(this._globeButton.classList.add(`maplibregl-ctrl-globe-enabled`),this._globeButton.title=this._map._getUIString(`GlobeControl.Disable`)):(this._globeButton.classList.add(`maplibregl-ctrl-globe`),this._globeButton.title=this._map._getUIString(`GlobeControl.Enable`))}}onAdd(e){return this._map=e,this._container=s.create(`div`,`maplibregl-ctrl maplibregl-ctrl-group`),this._globeButton=s.create(`button`,`maplibregl-ctrl-globe`,this._container),s.create(`span`,`maplibregl-ctrl-icon`,this._globeButton).setAttribute(`aria-hidden`,`true`),this._globeButton.type=`button`,this._globeButton.addEventListener(`click`,this._toggleProjection),this._updateGlobeIcon(),this._map.on(`styledata`,this._updateGlobeIcon),this._container}onRemove(){s.remove(this._container),this._map.off(`styledata`,this._updateGlobeIcon),this._globeButton.removeEventListener(`click`,this._toggleProjection),this._map=void 0}},e.Hash=Ti,e.ImageSource=pe,e.KeyboardHandler=sa,e.LngLatBounds=P,e.LogoControl
697=wa,e.Map=class extends xa{constructor(e){t.cn.mark(t.co.create);let n=Object.assign(Object.assign(Object.assign({},$),e),{canvasContextAttributes:Object.assign(Object.assign({},$.canvasContextAttributes),e.canvasContextAttributes)});if(n.minZoom!=null&&n.maxZoom!=null&&n.minZoom>n.maxZoom)throw Error(`maxZoom must be greater than or equal to minZoom`);if(n.minPitch!=null&&n.maxPitch!=null&&n.minPitch>n.maxPitch)throw Error(`maxPitch must be greater than or equal to minPitch`);if(n.minPitch!=null&&n.minPitch<0)throw Error(`minPitch must be greater than or equal to 0`);if(n.maxPitch!=null&&n.maxPitch>180)throw Error(`maxPitch must be less than or equal to 180`);let r=new zt,i=new Ut;if(n.minZoom!==void 0&&r.setMinZoom(n.minZoom),n.maxZoom!==void 0&&r.setMaxZoom(n.maxZoom),n.minPitch!==void 0&&r.setMinPitch(n.minPitch),n.maxPitch!==void 0&&r.setMaxPitch(n.maxPitch),n.renderWorldCopies!==void 0&&r.setRenderWorldCopies(n.renderWorldCopies),super(r,i,{bearingSnap:n.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new Ta,this._controls=[],this._mapId=t.a4(),this._contextLost=e=>{e.preventDefault(),this._frameRequest&&=(this._frameRequest.abort(),null),this.fire(new t.l(`webglcontextlost`,{originalEvent:e}))},this._contextRestored=e=>{this._setupPainter(),this.resize(),this._update(),this.fire(new t.l(`webglcontextrestored`,{originalEvent:e}))},this._onMapScroll=e=>{if(e.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=n.interactive,this._maxTileCacheSize=n.maxTileCacheSize,this._maxTileCacheZoomLevels=n.maxTileCacheZoomLevels,this._canvasContextAttributes=Object.assign({},n.canvasContextAttributes),this._trackResize=!0===n.trackResize,this._bearingSnap=n.bearingSnap,this._centerClampedToGround=n.centerClampedToGround,this._refreshExpiredTiles=!0===n.refreshExpiredTiles,this._fadeDuration=n.fadeDuration,this._crossSourceCollisions=!0===n.crossSourceCollisions,this._collectResourceTiming=!0===n.collectResourceTiming,this._locale=Object.assign(Object.assign({},Ma),n.locale),this._clickTolerance=n.clickTolerance,this._overridePixelRatio=n.pixelRatio,this._maxCanvasSize=n.maxCanvasSize,this.transformCameraUpdate=n.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=!0===n.cancelPendingTileRequestsWhileZooming,this._imageQueueHandle=m.addThrottleControl((()=>this.isMoving())),this._requestManager=new h(n.transformRequest),typeof n.container==`string`){if(this._container=document.getElementById(n.container),!this._container)throw Error(`Container '${n.container}' not found.`)}else{if(!(n.container instanceof HTMLElement))throw Error(`Invalid type: 'container' must be a String or HTMLElement.`);this._container=n.container}if(n.maxBounds&&this.setMaxBounds(n.maxBounds),this._setupContainer(),this._setupPainter(),this.on(`move`,(()=>this._update(!1))),this.on(`moveend`,(()=>this._update(!1))),this.on(`zoom`,(()=>this._update(!0))),this.on(`terrain`,(()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)})),this.once(`idle`,(()=>{this._idleTriggered=!0})),typeof window<`u`){addEventListener(`online`,this._onWindowOnline,!1);let e=!1,t=wi((e=>{this._trackResize&&!this._removed&&(this.resize(e),this.redraw())}),50);this._resizeObserver=new ResizeObserver((n=>{e?t(n):e=!0})),this._resizeObserver.observe(this._container)}this.handlers=new ba(this,n),this._hash=n.hash&&new Ti(typeof n.hash==`string`&&n.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:n.center,elevation:n.elevation,zoom:n.zoom,bearing:n.bearing,pitch:n.pitch,roll:n.roll}),n.bounds&&(this.resize(),this.fitBounds(n.bounds,t.e({},n.fitBoundsOptions,{duration:0}))));let a=typeof n.style==`string`||n.style?.projection?.type!==`globe`;this.resize(null,a),this._localIdeographFontFamily=n.localIdeographFontFamily,this._validateStyle=n.validateStyle,n.style&&this.setStyle(n.style,{localIdeographFontFamily:n.localIdeographFontFamily}),n.attributionControl&&this.addControl(new Ca(typeof n.attributionControl
697==`boolean`?void 0:n.attributionControl)),n.maplibreLogo&&this.addControl(new wa,n.logoPosition),this.on(`style.load`,(()=>{if(a||this._resizeTransform(),this.transform.unmodified){let e=t.O(this.style.stylesheet,[`center`,`zoom`,`bearing`,`pitch`,`roll`]);this.jumpTo(e)}})),this.on(`data`,(e=>{this._update(e.dataType===`style`),this.fire(new t.l(`${e.dataType}data`,e))})),this.on(`dataloading`,(e=>{this.fire(new t.l(`${e.dataType}dataloading`,e))})),this.on(`dataabort`,(e=>{this.fire(new t.l(`sourcedataabort`,e))}))}_getMapId(){return this._mapId}addControl(e,n){if(n===void 0&&(n=e.getDefaultPosition?e.getDefaultPosition():`top-right`),!e||!e.onAdd)return this.fire(new t.k(Error(`Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.`)));let r=e.onAdd(this);this._controls.push(e);let i=this._controlPositions[n];return n.indexOf(`bottom`)===-1?i.appendChild(r):i.insertBefore(r,i.firstChild),this}removeControl(e){if(!e||!e.onRemove)return this.fire(new t.k(Error(`Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.`)));let n=this._controls.indexOf(e);return n>-1&&this._controls.splice(n,1),e.onRemove(this),this}hasControl(e){return this._controls.indexOf(e)>-1}calculateCameraOptionsFromTo(e,t,n,r){return r==null&&this.terrain&&(r=this.terrain.getElevationForLngLatZoom(n,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(e,t,n,r)}resize(e,n=!0){let[r,i]=this._containerDimensions(),a=this._getClampedPixelRatio(r,i);if(this._resizeCanvas(r,i,a),this.painter.resize(r,i,a),this.painter.overLimit()){let e=this.painter.context.gl;this._maxCanvasSize=[e.drawingBufferWidth,e.drawingBufferHeight];let t=this._getClampedPixelRatio(r,i);this._resizeCanvas(r,i,t),this.painter.resize(r,i,t)}this._resizeTransform(n);let o=!this._moving;return o&&(this.stop(),this.fire(new t.l(`movestart`,e)).fire(new t.l(`move`,e))),this.fire(new t.l(`resize`,e)),o&&this.fire(new t.l(`moveend`,e)),this}_resizeTransform(e=!0){var t;let[n,r]=this._containerDimensions();this.transform.resize(n,r,e),(t=this._requestedCameraState)==null||t.resize(n,r,e)}_getClampedPixelRatio(e,t){let{0:n,1:r}=this._maxCanvasSize,i=this.getPixelRatio(),a=e*i,o=t*i;return Math.min(a>n?n/a:1,o>r?r/o:1)*i}getPixelRatio(){return this._overridePixelRatio??devicePixelRatio}setPixelRatio(e){this._overridePixelRatio=e,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(e){return this.transform.setMaxBounds(P.convert(e)),this._update()}setMinZoom(e){if((e??=-2)>=-2&&e<=this.transform.maxZoom)return this.transform.setMinZoom(e),this._update(),this.getZoom()<e&&this.setZoom(e),this;throw Error(`minZoom must be between -2 and the current maxZoom, inclusive`)}getMinZoom(){return this.transform.minZoom}setMaxZoom(e){if((e??=22)>=this.transform.minZoom)return this.transform.setMaxZoom(e),this._update(),this.getZoom()>e&&this.setZoom(e),this;throw Error(`maxZoom must be greater than the current minZoom`)}getMaxZoom(){return this.transform.maxZoom}setMinPitch(e){if((e??=0)<0)throw Error(`minPitch must be greater than or equal to 0`);if(e>=0&&e<=this.transform.maxPitch)return this.transform.setMinPitch(e),this._update(),this.getPitch()<e&&this.setPitch(e),this;throw Error(`minPitch must be between 0 and the current maxPitch, inclusive`)}getMinPitch(){return this.transform.minPitch}setMaxPitch(e){if((e??=60)>180)throw Error(`maxPitch must be less than or equal to 180`);if(e>=this.transform.minPitch)return this.transform.setMaxPitch(e),this._update(),this.getPitch()>e&&this.setPitch(e),this;throw Error(`maxPitch must be greater than the current minPitch`)}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(e){return this.transform.setRenderWorldCopies(e),this._update()}project(e){return this.transform.locationToScreenPoint(t.Q.convert(e),this.style&&this.terrain)}unproject(e){return this.transform.screenPointToLocation(t.P.convert(e),this.terrain)}isMoving(){return this._moving||this.handlers?.isMoving()}isZooming(){return this._zooming||this.handlers?.isZooming()}isRotating(){return this._rotating||this.handlers?.isRotating()}_createDelegatedListener(e,t,n){if(e===`mouseenter`||e===`mouseover`){let r=!1;return{layers:t,listener:n,delegates:{mousemove:i=>{let a=t.filter((e=>this.getLayer(e))),o=a.length===0?[]:this.queryRenderedFeatures(i.point,{layers:a});o.length?r||(r=!0,n.call(this,new Fi(e,this,i.originalEvent,{features:o}))):r=!1},mouseout:()=>{r=!1}}}}if(e===`mouseleave`||e===`mouseout`){let r=!1;return{layers:t,listener:n,delegates:{mousemove:i=>{let a=t.filter((e=>this.getLayer(e)));(a.length===0?[]:this.queryRenderedFeatures(i.point,{layers:a})).length?r=!0:r&&(r=!1,n.call(this,new Fi(e,this,i.originalEvent)))},mouseout:t=>{r&&(r=!1,n.call(this,new Fi(e,this,t.originalEvent)))}}}}{let r=e=>{let r=t.filter((e=>this.getLayer(e))),i=r.length===0?[]:this.queryRenderedFeatures(e.point,{layers:r});i.length&&(e.features=i,n.call(this,e),delete e.features)};return{layers:t,listener:n,delegates:{[e]:r}}}}_saveDelegatedListener(e,t){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(t)}_removeDelegatedListener(e,t,n){if(!this._delegatedListeners||!this._delegatedListeners[e])return;let r=this._delegatedListeners[e];for(let e=0;e<r.length;e++){let i=r[e];if(i.listener===n&&i.layers.length===t.length&&i.layers.every((e=>t.includes(e)))){for(let e in i.delegates)this.off(e,i.delegates[e]);r.splice(e,1);return}}}on(e,t,n){if(n===void 0)return super.on(e,t);let r=typeof t==`string`?[t]:t,i=this._createDelegatedListener(e,r,n);this._saveDelegatedListener(e,i);for(let e in i.delegates)this.on(e,i.delegates[e]);return{unsubscribe:()=>{this._removeDelegatedListener(e,r,n)}}}once(e,t,n){if(n===void 0)return super.once(e,t);let r=typeof t==`string`?[t]:t,i=this._createDelegatedListener(e,r,n);for(let t in i.delegates){let a=i.delegates[t];i.delegates[t]=(...t)=>{this._removeDelegatedListener(e,r,n),a(...t)}}this._saveDelegatedListener(e,i);for(let e in i.delegates)this.once(e,i.delegates[e]);return this}off(e,t,n){return n===void 0?super.off(e,t):(this._removeDelegatedListener(e,typeof t==`string`?[t]:t,n),this)}queryRenderedFeatures(e,n){if(!this.style)return[];let r,i=e instanceof t.P||Array.isArray(e),a=i?e:[[0,0],[this.transform.width,this.transform.height]];if(n=n||(i?{}:e)||{},a instanceof t.P||typeof a[0]==`number`)r=[t.P.convert(a)];else{let e=t.P.convert(a[0]),n=t.P.convert(a[1]);r=[e,new t.P(n.x,e.y),n,new t.P(e.x,n.y),e]}return this.style.queryRenderedFeatures(r,n,this.transform)}querySourceFeatures(e,t){return this.style.querySourceFeatures(e,t)}setStyle(e,n){return!1!==(n=t.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._val
697idateStyle},n)).diff&&n.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,n),this):(this._localIdeographFontFamily=n.localIdeographFontFamily,this._updateStyle(e,n))}setTransformRequest(e){return this._requestManager.setTransformRequest(e),this}_getUIString(e){let t=this._locale[e];if(t==null)throw Error(`Missing UI string '${e}'`);return t}_updateStyle(e,t){var n;if(t.transformStyle&&this.style&&!this.style._loaded)return void this.style.once(`style.load`,(()=>this._updateStyle(e,t)));let r=this.style&&t.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!e)),e?(this.style=new Sn(this,t||{}),this.style.setEventedParent(this,{style:this.style}),typeof e==`string`?this.style.loadURL(e,t,r):this.style.loadJSON(e,t,r),this):((n=this.style?.projection)==null||n.destroy(),delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Sn(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(e,n){if(typeof e==`string`){let r=this._requestManager.transformRequest(e,`Style`);t.j(r,new AbortController).then((e=>{this._updateDiff(e.data,n)})).catch((e=>{e&&this.fire(new t.k(e))}))}else typeof e==`object`&&this._updateDiff(e,n)}_updateDiff(e,n){try{this.style.setState(e,n)&&this._update(!0)}catch(r){t.w(`Unable to perform style diff: ${r.message||r.error||r}.  Rebuilding the style from scratch.`),this._updateStyle(e,n)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():t.w(`There is no style added to the map.`)}addSource(e,t){return this._lazyInitEmptyStyle(),this.style.addSource(e,t),this._update(!0)}isSourceLoaded(e){let n=this.style&&this.style.sourceCaches[e];if(n!==void 0)return n.loaded();this.fire(new t.k(Error(`There is no source with ID '${e}'`)))}setTerrain(e){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(`data`,this._terrainDataCallback),e){let n=this.style.sourceCaches[e.source];if(!n)throw Error(`cannot load terrain, because there exists no source with ID: ${e.source}`);this.terrain===null&&n.reload();for(let n in this.style._layers){let r=this.style._layers[n];r.type===`hillshade`&&r.source===e.source&&t.w(`You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.`)}this.terrain=new Oa(this.painter,n,e),this.painter.renderToTexture=new ja(this.painter,this.terrain),this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this._terrainDataCallback=t=>{t.dataType===`style`?this.terrain.sourceCache.freeRtt():t.dataType===`source`&&t.tile&&(t.sourceId!==e.source||this._elevationFreeze||(this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this._centerClampedToGround&&this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))),t.source?.type===`image`?this.terrain.sourceCache.freeRtt():this.terrain.sourceCache.freeRtt(t.tile.tileID))},this.style.on(`data`,this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.setMinElevationForCurrentTile(0),this._centerClampedToGround&&this.transform.setElevation(0);return this.fire(new t.l(`terrain`,{terrain:e})),this}getTerrain(){return this.terrain?.options??null}areTilesLoaded(){let e=this.style&&this.style.sourceCaches;for(let t in e){let n=e[t]._tiles;for(let e in n){let t=n[e];if(t.state!==`loaded`&&t.state!==`errored`)return!1}}return!0}removeSource(e){return this.style.removeSource(e),this._update(!0)}getSource(e){return this.style.getSource(e)}setSourceTileLodParams(e,t,n){if(n){let r=this.getSource(n);if(!r)throw Error(`There is no source with ID "${n}", cannot set LOD parameters`);r.calculateTileZoom=L(Math.max(1,e),Math.max(1,t))}else for(let n in this.style.sourceCaches)this.style.sourceCaches[n].getSource().calculateTileZoom=L(Math.max(1,e),Math.max(1,t));return this._update(!0),this}refreshTiles(e,n){let r=this.style.sourceCaches[e];if(!r)throw Error(`There is no source cache with ID "${e}", cannot refresh tile`);n===void 0?r.reload():r.refreshTiles(n.map((e=>new t.a1(e.z,e.x,e.y))))}addImage(e,n,r={}){let{pixelRatio:i=1,sdf:a=!1,stretchX:s,stretchY:c,content:l,textFitWidth:u,textFitHeight:d}=r;if(this._lazyInitEmptyStyle(),!(n instanceof HTMLImageElement||t.b(n))){if(n.width===void 0||n.height===void 0)return this.fire(new t.k(Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));{let{width:r,height:o,data:f}=n,p=n;return this.style.addImage(e,{data:new t.R({width:r,height:o},new Uint8Array(f)),pixelRatio:i,stretchX:s,stretchY:c,content:l,textFitWidth:u,textFitHeight:d,sdf:a,version:0,userImage:p}),p.onAdd&&p.onAdd(this,e),this}}{let{width:r,height:f,data:p}=o.getImageData(n);this.style.addImage(e,{data:new t.R({width:r,height:f},p),pixelRatio:i,stretchX:s,stretchY:c,content:l,textFitWidth:u,textFitHeight:d,sdf:a,version:0})}}updateImage(e,n){let r=this.style.getImage(e);if(!r)return this.fire(new t.k(Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));let{width:i,height:a,data:s}=n instanceof HTMLImageElement||t.b(n)?o.getImageData(n):n;
697if(i===void 0||a===void 0)return this.fire(new t.k(Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(i!==r.data.width||a!==r.data.height)return this.fire(new t.k(Error(`The width and height of the updated image must be that same as the previous version of the image`)));let c=!(n instanceof HTMLImageElement||t.b(n));return r.data.replace(s,c),this.style.updateImage(e,r),this}getImage(e){return this.style.getImage(e)}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new t.k(Error(`Missing required image id`))),!1)}removeImage(e){this.style.removeImage(e)}loadImage(e){return m.getImage(this._requestManager.transformRequest(e,`Image`),new AbortController)}listImages(){return this.style.listImages()}addLayer(e,t){return this._lazyInitEmptyStyle(),this.style.addLayer(e,t),this._update(!0)}moveLayer(e,t){return this.style.moveLayer(e,t),this._update(!0)}removeLayer(e){return this.style.removeLayer(e),this._update(!0)}getLayer(e){return this.style.getLayer(e)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(e,t,n){return this.style.setLayerZoomRange(e,t,n),this._update(!0)}setFilter(e,t,n={}){return this.style.setFilter(e,t,n),this._update(!0)}getFilter(e){return this.style.getFilter(e)}setPaintProperty(e,t,n,r={}){return this.style.setPaintProperty(e,t,n,r),this._update(!0)}getPaintProperty(e,t){return this.style.getPaintProperty(e,t)}setLayoutProperty(e,t,n,r={}){return this.style.setLayoutProperty(e,t,n,r),this._update(!0)}getLayoutProperty(e,t){return this.style.getLayoutProperty(e,t)}setGlyphs(e,t={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(e,t),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(e,t,n={}){return this._lazyInitEmptyStyle(),this.style.addSprite(e,t,n,(e=>{e||this._update(!0)})),this}removeSprite(e){return this._lazyInitEmptyStyle(),this.style.removeSprite(e),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(e,t={}){return this._lazyInitEmptyStyle(),this.style.setSprite(e,t,(e=>{e||this._update(!0)})),this}setLight(e,t={}){return this._lazyInitEmptyStyle(),this.style.setLight(e,t),this._update(!0)}getLight(){return this.style.getLight()}setSky(e,t={}){return this._lazyInitEmptyStyle(),this.style.setSky(e,t),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(e,t){return this.style.setFeatureState(e,t),this._update()}removeFeatureState(e,t){return this.style.removeFeatureState(e,t),this._update()}getFeatureState(e){return this.style.getFeatureState(e)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let e=0,t=0;return this._container&&(e=this._container.clientWidth||400,t=this._container.clientHeight||300),[e,t]}_setupContainer(){let e=this._container;e.classList.add(`maplibregl-map`);let t=this._canvasContainer=s.create(`div`,`maplibregl-canvas-container`,e);this._interactive&&t.classList.add(`maplibregl-interactive`),this._canvas=s.create(`canvas`,`maplibregl-canvas`,t),this._canvas.addEventListener(`webglcontextlost`,this._contextLost,!1),this._canvas.addEventListener(`webglcontextrestored`,this._contextRestored,!1),this._canvas.setAttribute(`tabindex`,this._interactive?`0`:`-1`),this._canvas.setAttribute(`aria-label`,this._getUIString(`Map.Title`)),this._canvas.setAttribute(`role`,`region`);let n=this._containerDimensions(),r=this._getClampedPixelRatio(n[0],n[1]);this._resizeCanvas(n[0],n[1],r);let i=this._controlContainer=s.create(`div`,`maplibregl-control-container`,e),a=this._controlPositions={};[`top-left`,`top-right`,`bottom-left`,`bottom-right`].forEach((e=>{a[e]=s.create(`div`,`maplibregl-ctrl-${e} `,i)})),this._container.addEventListener(`scroll`,this._onMapScroll,!1)}_resizeCanvas(e,t,n){this._canvas.width=Math.floor(n*e),this._canvas.height=Math.floor(n*t),this._canvas.style.width=`${e}px`,this._canvas.style.height=`${t}px`}_setupPainter(){let e=Object.assign(Object.assign({},this._canvasContextAttributes),{alpha:!0,depth:!0,stencil:!0,premultipliedAlpha:!0}),t=null;this._canvas.addEventListener(`webglcontextcreationerror`,(n=>{t={requestedAttributes:e},n&&(t.statusMessage=n.statusMessage,t.type=n.type)}),{once:!0});let n=null;if(n=this._canvasContextAttributes.contextType?this._canvas.getContext(this._canvasContextAttributes.contextType,e):this._canvas.getContext(`webgl2`,e)||this._canvas.getContext(`webgl`,e),!n){let e=`Failed to initialize WebGL`;throw t?(t.message=e,Error(JSON.stringify(t))):Error(e)}this.painter=new Ci(n,this.transform),c.testSupport(n)}migrateProjection(e,n){super.migrateProjection(e,n),this.painter.transform=e,this.fire(new t.l(`projectiontransition`,{newProjection:this.style.projection.name}))}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(e){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||e,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(e){return this._update(),this._renderTaskQueue.add(e)}_cancelRenderFrame(e){this._renderTaskQueue.remove(e)}_render(e){var n;let r=this._idleTriggered?this._fadeDuration:0,i=this.style.projection?.transitionState>0;
697if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),this._removed)return;let a=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let e=this.transform.zoom,n=o.now();this.style.zoomHistory.update(e,n);let i=new t.C(e,{now:n,fadeDuration:r,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),s=i.crossFadingFactor();s===1&&s===this._crossFadingFactor||(a=!0,this._crossFadingFactor=s),this.style.update(i)}let s=this.style.projection?.transitionState>0!==i;(n=this.style.projection)==null||n.setErrorQueryLatitudeDegrees(this.transform.center.lat),this.transform.setTransitionState(this.style.projection?.transitionState,this.style.projection?.latitudeErrorCorrectionRadians),this.style&&(this._sourcesDirty||s)&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),!this._elevationFreeze&&this._centerClampedToGround&&this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.setMinElevationForCurrentTile(0),this._centerClampedToGround&&this.transform.setElevation(0)),this._placementDirty=this.style&&this.style._updatePlacement(this.transform,this.showCollisionBoxes,r,this._crossSourceCollisions,s),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:r,showPadding:this.showPadding}),this.fire(new t.l(`render`)),this.loaded()&&!this._loaded&&(this._loaded=!0,t.cn.mark(t.co.load),this.fire(new t.l(`load`))),this.style&&(this.style.hasTransitions()||a)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let c=this._sourcesDirty||this._styleDirty||this._placementDirty;return c||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.l(`idle`)),!this._loaded||this._fullyLoaded||c||(this._fullyLoaded=!0,t.cn.mark(t.co.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&=(this._frameRequest.abort(),null),this._render(0)),this}remove(){var e;this._hash&&this._hash.remove();for(let e of this._controls)e.onRemove(this);this._controls=[],this._frameRequest&&=(this._frameRequest.abort(),null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window<`u`&&removeEventListener(`online`,this._onWindowOnline,!1),m.removeThrottleControl(this._imageQueueHandle),(e=this._resizeObserver)==null||e.disconnect();let n=this.painter.context.gl.getExtension(`WEBGL_lose_context`);n!=null&&n.loseContext&&n.loseContext(),this._canvas.removeEventListener(`webglcontextrestored`,this._contextRestored,!1),this._canvas.removeEventListener(`webglcontextlost`,this._contextLost,!1),s.remove(this._canvasContainer),s.remove(this._controlContainer),this._container.removeEventListener(`scroll`,this._onMapScroll,!1),this._container.classList.remove(`maplibregl-map`),t.cn.clearMetrics(),this._removed=!0,this.fire(new t.l(`remove`))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,o.frame(this._frameRequest,(e=>{t.cn.frame(e),this._frameRequest=null;try{this._render(e)}catch(e){if(!t.cp(e)&&!function(e){return e.message===Wr}(e))throw e}}),(()=>{})))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(e){this._showTileBoundaries!==e&&(this._showTileBoundaries=e,this._update())}get showPadding(){return!!this._showPadding}set showPadding(e){this._showPadding!==e&&(this._showPadding=e,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(e){this._showCollisionBoxes!==e&&(this._showCollisionBoxes=e,e?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(e){this._showOverdrawInspector!==e&&(this._showOverdrawInspector=e,this._update())}get repaint(){return!!this._repaint}set repaint(e){this._repaint!==e&&(this._repaint=e,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(e){this._vertices=e,this._update()}get version(){return Q}getCameraTargetElevation(){return this.transform.elevation}getProjection(){return this.style.getProjection()}setProjection(e){return this._lazyInitEmptyStyle(),this.style.setProjection(e),this._update(!0)}},e.MapMouseEvent=Fi,e.MapTouchEvent=Ii,e.MapWheelEvent=Li,e.Marker=za,e.NavigationControl
697=class{constructor(e){this._updateZoomButtons=()=>{let e=this._map.getZoom(),t=e===this._map.getMaxZoom(),n=e===this._map.getMinZoom();this._zoomInButton.disabled=t,this._zoomOutButton.disabled=n,this._zoomInButton.setAttribute(`aria-disabled`,t.toString()),this._zoomOutButton.setAttribute(`aria-disabled`,n.toString())},this._rotateCompassArrow=()=>{this._compassIcon.style.transform=this.options.visualizePitch&&this.options.visualizeRoll?`scale(${1/Math.cos(this._map.transform.pitchInRadians)**.5}) rotateZ(${-this._map.transform.roll}deg) rotateX(${this._map.transform.pitch}deg) rotateZ(${-this._map.transform.bearing}deg)`:this.options.visualizePitch?`scale(${1/Math.cos(this._map.transform.pitchInRadians)**.5}) rotateX(${this._map.transform.pitch}deg) rotateZ(${-this._map.transform.bearing}deg)`:this.options.visualizeRoll?`rotate(${-this._map.transform.bearing-this._map.transform.roll}deg)`:`rotate(${-this._map.transform.bearing}deg)`},this._setButtonTitle=(e,t)=>{let n=this._map._getUIString(`NavigationControl.${t}`);e.title=n,e.setAttribute(`aria-label`,n)},this.options=t.e({},Na,e),this._container=s.create(`div`,`maplibregl-ctrl maplibregl-ctrl-group`),this._container.addEventListener(`contextmenu`,(e=>e.preventDefault())),this.options.showZoom&&(this._zoomInButton=this._createButton(`maplibregl-ctrl-zoom-in`,(e=>this._map.zoomIn({},{originalEvent:e}))),s.create(`span`,`maplibregl-ctrl-icon`,this._zoomInButton).setAttribute(`aria-hidden`,`true`),this._zoomOutButton=this._createButton(`maplibregl-ctrl-zoom-out`,(e=>this._map.zoomOut({},{originalEvent:e}))),s.create(`span`,`maplibregl-ctrl-icon`,this._zoomOutButton).setAttribute(`aria-hidden`,`true`)),this.options.showCompass&&(this._compass=this._createButton(`maplibregl-ctrl-compass`,(e=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:e}):this._map.resetNorth({},{originalEvent:e})})),this._compassIcon=s.create(`span`,`maplibregl-ctrl-icon`,this._compass),this._compassIcon.setAttribute(`aria-hidden`,`true`))}onAdd(e){return this._map=e,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,`ZoomIn`),this._setButtonTitle(this._zoomOutButton,`ZoomOut`),this._map.on(`zoom`,this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,`ResetBearing`),this.options.visualizePitch&&this._map.on(`pitch`,this._rotateCompassArrow),this.options.visualizeRoll&&this._map.on(`roll`,this._rotateCompassArrow),this._map.on(`rotate`,this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Pa(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){s.remove(this._container),this.options.showZoom&&this._map.off(`zoom`,this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(`pitch`,this._rotateCompassArrow),this.options.visualizeRoll&&this._map.off(`roll`,this._rotateCompassArrow),this._map.off(`rotate`,this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(e,t){let n=s.create(`button`,e,this._container);return n.type=`button`,n.addEventListener(`click`,t),n}},e.Popup=class extends t.E{constructor(e){super(),this._updateOpacity=()=>{this.options.locationOccludedOpacity!==void 0&&(this._container.style.opacity=this._map.transform.isLocationOccluded(this.getLngLat())?`${this.options.locationOccludedOpacity}`:void 0)},this.remove=()=>(this._content&&s.remove(this._content),this._container&&(s.remove(this._container),delete this._container),this._map&&(this._map.off(`move`,this._update),this._map.off(`move`,this._onClose),this._map.off(`click`,this._onClose),this._map.off(`remove`,this.remove),this._map.off(`mousemove`,this._onMouseMove),this._map.off(`mouseup`,this._onMouseUp),this._map.off(`drag`,this._onDrag),this._map._canvasContainer.classList.remove(`maplibregl-track-pointer`),delete this._map,this.fire(new t.l(`close`))),this),this._onMouseUp=e=>{this._update(e.point)},this._onMouseMove=e=>{this._update(e.point)},this._onDrag=e=>{this._update(e.point)},this._update=e=>{if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=s.create(`div`,`maplibregl-popup`,this._map.getContainer()),this._tip=s.create(`div`,`maplibregl-popup-tip`,this._container),this._container.appendChild(this._content),this.options.className)for(let e of this.options.className.split(` `))this._container.classList.add(e);this._closeButton&&this._closeButton.setAttribute(`aria-label`,this._map._getUIString(`Popup.Close`)),this._trackPointer&&this._container.classList.add(`maplibregl-popup-track-pointer`)}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=Ia(this._lngLat,this._flatPos,this._map.transform,this._trackPointer),this._trackPointer&&!e)return;let t=this._flatPos=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&e?e:this._map.transform.locationToScreenPoint(this._lngLat));let n=this.options.anchor,r=Ja(this.options.offset);if(!n){let e=this._container.offsetWidth,i=this._container.offsetHeight,a;a=t.y+r.bottom.y<i?[`top`]:t.y>this._map.transform.height-i?[`bottom`]:[],t.x<e/2?a.push(`left`):t.x>this._map.transform.width-e/2&&a.push(`right`),n=a.length===0?`bottom`:a.join(`-`)}let i=t.add(r[n]);this.options.subpixelPositioning||(i=i.round()),s.setTransform(this._container,`${La[n]} translate(${i.x}px,${i.y}px)`),Ra(this._container,n,`popup`),this._updateOpacity()},this._onClose=()=>{this.remove()},this.options=t.e(Object.create(Ka),e)}addTo(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on(`click`,this._onClose),this.options.closeOnMove&&this._map.on(`move`,this._onClose),this._map.on(`remove`,this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(`mousemove`,this._onMouseMove),this._map.on(`mouseup`,this._onMouseUp),this._container&&this._container.classList.add(`maplibregl-popup-track-pointer`),this._map._canvasContainer.classList.add(`maplibregl-track-pointer`)):this._map.on(`move`,this._update),this.fire(new t.l(`open`)),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.Q.convert(e),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(`move`,this._update),this._map.off(`mousemove`,this._onMouseMove),this._container&&this._container.classList.remove(`maplibregl-popup-track-pointer`),this._map._canvasContainer.classList.remove(`maplibregl-track-pointer`)),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off(`move`,this._update),this._map.on(`mousemove`,this._onMouseMove),this._map.on(`drag`,this._onDrag),this._container&&this._container.classList.add(`maplibregl-popup-track-pointer`),this._map._canvasContainer.classList.add(`maplibregl-track-pointer`)),this}getElement(){return this._container}setText(e){return this.setDOMContent(document.createTextNode(e))}setHTML(e){let t=document.createDocumentFragment(),n=document.createElement(`body`),r;for(n.innerHTML=e;r=n.firstChild,r;)t.appendChild(r);return this.setDOMContent(t)}getMaxWidth(){return this._container?.style.maxWidth}setMaxWidth(e){return this.options.maxWidth=e,this._update(),this}setDOMContent(e){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=s.create(`div`,`maplibregl-popup-content`,this._container);return this._content.appendChild(e),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(e){return this._container&&this._container.classList.add(e),this}removeClassName(e){return this._container&&this._container.classList.remove(e),this}setOffset(e){return this.options.offset=e,this._update(),this}toggleClassName(e){if(this._container)return this._container.classList.toggle(e)}setSubpixelPositioning(e){this.options.subpixelPositioning=e}_createCloseButton(){this.options.closeButton&&(this._closeButton=s.create(`button`,`maplibregl-popup-close-button`,this._content),this._closeButton.type=`button`,this._closeButton.innerHTML=`&#215;`,this._closeButton.addEventListener(`click`,this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;let e=this._container.querySelector(qa);e&&e.focus()}},e.RasterDEMTileSource=fe,e.RasterTileSource=de,e.ScaleControl=class{constructor(e){this._onMove=()=>{Wa(this._map,this._container,this.options)},this.setUnit=e=>{this.options.unit=e,Wa(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},Ua),e)}getDefaultPosition(){return`bottom-left`}onAdd(e){return this._map=e,this._container=s.create(`div`,`maplibregl-ctrl maplibregl-ctrl-scale`,e.getContainer()),this._map.on(`move`,this._onMove),this._onMove(),this._container}onRemove(){s.remove(this._container),this._map.off(`move`,this._onMove),this._map=void 0}}
697,e.ScrollZoomHandler=ua,e.Style=Sn,e.TerrainControl=class{constructor(e){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove(`maplibregl-ctrl-terrain`),this._terrainButton.classList.remove(`maplibregl-ctrl-terrain-enabled`),this._map.terrain?(this._terrainButton.classList.add(`maplibregl-ctrl-terrain-enabled`),this._terrainButton.title=this._map._getUIString(`TerrainControl.Disable`)):(this._terrainButton.classList.add(`maplibregl-ctrl-terrain`),this._terrainButton.title=this._map._getUIString(`TerrainControl.Enable`))},this.options=e}onAdd(e){return this._map=e,this._container=s.create(`div`,`maplibregl-ctrl maplibregl-ctrl-group`),this._terrainButton=s.create(`button`,`maplibregl-ctrl-terrain`,this._container),s.create(`span`,`maplibregl-ctrl-icon`,this._terrainButton).setAttribute(`aria-hidden`,`true`),this._terrainButton.type=`button`,this._terrainButton.addEventListener(`click`,this._toggleTerrain),this._updateTerrainIcon(),this._map.on(`terrain`,this._updateTerrainIcon),this._container}onRemove(){s.remove(this._container),this._map.off(`terrain`,this._updateTerrainIcon),this._map=void 0}},e.TwoFingersTouchPitchHandler=aa,e.TwoFingersTouchRotateHandler=ia,e.TwoFingersTouchZoomHandler=na,e.TwoFingersTouchZoomRotateHandler=ha,e.VectorTileSource=F,e.VideoSource=me,e.addSourceType=(e,n)=>t._(void 0,void 0,void 0,(function*(){if(_e(e))throw Error(`A source type called "${e}" already exists.`);((e,t)=>{ge[e]=t})(e,n)})),e.clearPrewarmedResources=function(){let e=ne;e&&(e.isPreloaded()&&e.numActive()===1?(e.release(ee),ne=null):console.warn(`Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()`))},e.createTileMesh=Xt,e.getMaxParallelImageRequests=function(){return t.a.MAX_PARALLEL_IMAGE_REQUESTS},e.getRTLTextPluginStatus=function(){return xe().getRTLTextPluginStatus()},e.getVersion=function(){return Ya},e.getWorkerCount=function(){return te.workerCount},e.getWorkerUrl=function(){return t.a.WORKER_URL},e.importScriptInWorkers=function(e){return ae().broadcast(`IS`,e)},e.prewarm=function(){M().acquire(ee)},e.setMaxParallelImageRequests=function(e){t.a.MAX_PARALLEL_IMAGE_REQUESTS=e},e.setRTLTextPlugin=function(e,t){return xe().setRTLTextPlugin(e,t)},e.setWorkerCount=function(e){te.workerCount=e},e.setWorkerUrl=function(e){t.a.WORKER_URL=e}})),e}))})),wo=Symbol(`MapLibre map context`),To=Symbol(`MapLibre marker context`),Eo=class{#e=ie(null);get _map(){return u(this.#e)}set _map(e){se(this.#e,e)}_listener=void 0;_pending=[];userLayers=new De;userSources=new De;baseTerrain;userTerrain;baseSky;userSky;baseLight;userLight;baseProjection;userProjection;get map(){return this._map}set map(e){this._listener&&=(this._map?.off(`styledata`,this._listener),void 0),this._map=e,this._map&&(this._listener=this._onstyledata.bind(this),this._map.on(`styledata`,this._listener))}addLayer(e,t){if(!this.map)throw Error(`Map is not initialized`);this.userLayers.add(e.id),this.waitForStyleLoaded(n=>{n.addLayer(e,t)})}removeLayer(e){if(!this.map)throw Error(`Map is not initialized`);this.userLayers.delete(e),this.waitForStyleLoaded(t=>{t.getLayer(e)&&t.removeLayer(e)})}addSource(e,t){this.userSources.add(e),this.waitForStyleLoaded(n=>{n.addSource(e,t)})}removeSource(e){this.userSources.delete(e),this.waitForStyleLoaded(t=>{t.getSource(e)&&t.removeSource(e)})}waitForStyleLoaded(e,{signal:t}={}){if(!t?.aborted&&this.map){if(this.map.style._loaded){e(this.map);return}
697this._pending.push(e),t?.addEventListener(`abort`,()=>{this._pending=this._pending.filter(t=>t!==e)})}}_onstyledata(e){let t=e.target;if(t?.style._loaded){for(let e of this._pending)e(t);this._pending=[]}}_mergeUserLayers(e,t){let n=new Set(e.filter(e=>this.userLayers.has(e.id)).map(e=>e.id));if(n.size===0)return t;let r=t.filter(e=>!n.has(e.id)),i=new Set(r.map(e=>e.id)),a=new Map,o=[],s=new Map,c;for(let t=e.length-1;t>=0;t--){let r=e[t];n.has(r.id)?c&&s.set(r.id,c):i.has(r.id)&&(c=r.id)}for(let t of e){if(!n.has(t.id))continue;let e=s.get(t.id);if(e){let n=a.get(e)??[];n.push(t),a.set(e,n)}else o.push(t)}let l=[];for(let e of r){let t=a.get(e.id);t&&l.push(...t),l.push(e)}return l.push(...o),l}setStyle(e){let{userSources:t}=this;if(!e){this.map?.setStyle(null);return}this.map?.setStyle(re(e),{transformStyle:(e,n)=>{if(this.baseLight=n.light,this.baseProjection=n.projection,this.baseSky=n.sky,this.baseTerrain=n.terrain,!e)return n;let r=n.sources;for(let[n,i]of Object.entries(e.sources))t.has(n)&&(r[n]=i);let i=this._mergeUserLayers(e.layers??[],n.layers??[]);return{...n,light:this.userLight||this.baseLight,projection:this.userProjection||this.baseProjection,sky:this.userSky||this.baseSky,terrain:this.userTerrain||this.baseTerrain,sources:r,layers:i}}})}};function Do(){let e=new Eo;return ce(wo,e),e}function Oo(){let e=oe(wo);if(!e)throw Error(`Map context not found`);return e}var ko=class{#e=ie(null);get marker(){return u(this.#e)}set marker(e){se(this.#e,e)}};function Ao(){let e=new ko;return ce(To,e),e}function jo(e,t,n){n&&e?.on(t,n);let r=n;return()=>{r&&e?.off(t,r)}}function Mo(e,t){return Array.isArray(e)?[t.lng,t.lat]:`lon`in e?{lon:t.lng,lat:t.lat}:{lng:t.lng,lat:t.lat}}var No=b(Co()),Po=D(`<div><!></div>`);function Fo(t,i){A(i,!0);let o=`boxzoomcancel.boxzoomend.boxzoomstart.click.contextmenu.cooperativegestureprevented.data.dataabort.dataloading.dblclick.drag.dragend.dragstart.error.idle.load.mousedown.mousemove.mouseout.mouseover.mouseup.move.moveend.movestart.pitch.pitchend.pitchstart.projectiontransition.remove.render.resize.rotate.rotateend.rotatestart.rollstart.roll.rollend.sourcedata.sourcedataabort.sourcedataloading.styledata.styledataloading.styleimagemissing.terrain.tiledataloading.touchcancel.touchend.touchmove.touchstart.webglcontextlost.webglcontextrestored.wheel.zoom.zoomend.zoomstart`.split(`.`),s=new Set(o);function c(e){return e.startsWith(`on`)&&s.has(e.slice(2))}let l=v(i,`map`,15,void 0),f=v(i,`class`,3,``),h=v(i,`inlineStyle`,3,``),y=v(i,`autoloadGlobalCss`,3,!0),b=v(i,`padding`,15,void 0),x=v(i,`bearing`,15,void 0),C=v(i,`center`,15,void 0),E=v(i,`elevation`,15,void 0),D=v(i,`interactive`,3,void 0),M=v(i,`pitch`,15,void 0),ae=v(i,`roll`,15,void 0),oe=v(i,`style`,19,()=>({version:8,sources:{},layers:[]})),ce=v(i,`zoom`,15,void 0),le=v(i,`globalState`,19,()=>({})),N=j(i,`$$slots.$$events.$$legacy.map.class.inlineStyle.children.autoloadGlobalCss.padding.fov.cursor.showTileBoundaries.showPadding.showCollisionBoxes.showOverdrawInspector.repaint.vertices.bearing.bearingSnap.center.centerClampedToGround.elevation.interactive.maxBounds.maxPitch.maxZoom.minPitch.minZoom.pitch.pixelRatio.renderWorldCopies.roll.style.transformRequest.zoom.zoomSnap.anisotropicFilterPitch.transformConstrain.boxZoom.cancelPendingTileRequestsWhileZooming.cooperativeGestures.doubleClickZoom.dragPan.dragRotate.keyboard.scrollZoom.touchPitch.touchZoomRotate.transformCameraUpdate.globalState`.split(`.`)),P=p(()=>f());a(()=>{if(y()&&globalThis.window&&!document.querySelector(`link[href$="/maplibre-gl.css"]`)){let e=document.createElement(`link`);e.rel=`stylesheet`,e.href=`https://unpkg.com/maplibre-gl@${No.getVersion()}/dist/maplibre-gl.css`,document.head.appendChild(e)}});let ue=ie(void 0),F=Do();a(()=>{if(l()||!u(ue))return;let e={container:u(ue),...Object.fromEntries(Object.entries({bearing:x(),bearingSnap:i.bearingSnap,center:C(),centerClampedToGround:i.centerClampedToGround,elevation:E(),interactive:D(),maxBounds:i.maxBounds,maxPitch:i.maxPitch,maxZoom:i.maxZoom,minPitch:i.minPitch,minZoom:i.minZoom,pitch:M(),pixelRatio:i.pixelRatio,renderWorldCopies:i.renderWorldCopies,roll:ae(),style:oe(),transformRequest:i.transformRequest,zoom:ce(),zoomSnap:i.zoomSnap,anisotropicFilterPitch:i.anisotropicFilterPitch,transformConstrain:i.transformConstrain,boxZoom:i.boxZoom,cancelPendingTileRequestsWhileZooming:i.cancelPendingTileRequestsWhileZooming,cooperativeGestures:i.cooperativeGestures,doubleClickZoom:i.doubleClickZoom,dragPan:i.dragPan,dragRotate:i.dragRotate,keyboard:i.keyboard,scrollZoom:i.scrollZoom,touchPitch:i.touchPitch,touchZoomRotate:i.touchZoomRotate,transformCameraUpdate:i.transformCameraUpdate,...N}).filter(([e,t])=>t!==void 0&&!c(e)))};l(new No.Map(e)),F.map=l()??null,b()!==void 0&&l().setPadding(b()),i.cursor&&(l().getCanvas().style.cursor=i.cursor),l().on(`move`,()=>{if(!l())return;let e=l().transform;if(C()){let t=No.LngLat.convert(C());(t.lat!==e.center.lat||t.lng!==e.center.lng)&&C(Mo(C(),e.center))}else C(e.center);e.zoom!==ce()&&ce(e.zoom),e.bearing!==x()&&x(e.bearing),e.pitch!==M()&&M(e.pitch),e.roll!==ae()&&ae(e.roll),e.elevation!==E()&&E(e.elevation),b()&&!e.isPaddingEqual(b())&&b(l().getPadding())})});let de=new Map;a(()=>
697{if(!F.map)return;let e=Object.entries(re(le())),t=new Set(e.map(([e])=>e)),n=new AbortController;return F.waitForStyleLoaded(n=>{for(let e of de.keys())t.has(e)||n.setGlobalStateProperty(e,null);for(let[t,r]of e)(!de.has(t)||de.get(t)!==r)&&n.setGlobalStateProperty(t,r);de=new Map(e)},{signal:n.signal}),()=>n.abort()});function fe(e){a(()=>jo(l(),e,N[`on${e}`]))}o.forEach(fe);let I=!0,pe=P.split(/\s+/).filter(Boolean);a(()=>{let e=(f()??``).split(/\s+/).filter(Boolean);if(!u(ue)||I){pe=e;return}let t=new Set(e);for(let e of pe)t.has(e)||u(ue).classList.remove(e);let n=new Set(pe);for(let t of e)n.has(t)||u(ue).classList.add(t);pe=e}),a(()=>{i.fov!==void 0&&l()?.setVerticalFieldOfView(i.fov)}),a(()=>{i.cursor,l()&&!I&&(l().getCanvas().style.cursor=i.cursor??``)}),a(()=>{l()&&i.showTileBoundaries!==void 0&&!I&&l(l().showTileBoundaries=i.showTileBoundaries,!0)}),a(()=>{l()&&i.showPadding!==void 0&&!I&&l(l().showPadding=i.showPadding,!0)}),a(()=>{l()&&i.showCollisionBoxes!==void 0&&!I&&l(l().showCollisionBoxes=i.showCollisionBoxes,!0)}),a(()=>{l()&&i.showOverdrawInspector!==void 0&&!I&&l(l().showOverdrawInspector=i.showOverdrawInspector,!0)}),a(()=>{l()&&i.repaint!==void 0&&!I&&l(l().repaint=i.repaint,!0)}),a(()=>{l()&&i.vertices!==void 0&&!I&&l(l().vertices=i.vertices,!0)}),a(()=>{if(C(),ce(),x(),M(),ae(),E(),b(),!I&&l()){let e=l()._getTransformForUpdate(),t={},n=!1;function r(e,t){return Math.abs(e-t)>1e-14}if(C()){let i=No.LngLat.convert(C());(r(e.center.lat,i.lat)||r(e.center.lng,i.lng))&&(t.center=C(),n=!0)}if(ce()!==void 0&&r(e.zoom,ce())&&(t.zoom=ce(),n=!0),x()!==void 0&&r(e.bearing,x())&&(t.bearing=x(),n=!0),M()!==void 0&&e.pitch!==M()&&(t.pitch=M(),n=!0),ae()!==void 0&&e.roll!==ae()&&(t.roll=ae(),n=!0),E()!==void 0&&e.elevation!==E()&&(t.elevation=E(),n=!0),b()&&!e.isPaddingEqual(b())&&(t.padding=b(),n=!0),n){let e=l(),n=e.stop;e.stop=()=>e._stop(!0),e.jumpTo(t,{reactivity:!0}),e.stop=n}}}),a(()=>{i.bearingSnap,l()&&i.bearingSnap!==void 0&&!I&&l(l()._bearingSnap=i.bearingSnap,!0)}),a(()=>{i.zoomSnap,l()&&i.zoomSnap!==void 0&&!I&&l().getZoomSnap()!==i.zoomSnap&&l().setZoomSnap(i.zoomSnap)}),a(()=>{i.centerClampedToGround,I||l()?.setCenterClampedToGround(i.centerClampedToGround??!1)}),a(()=>{i.maxBounds,I||l()?.setMaxBounds(i.maxBounds)}),a(()=>{i.maxPitch,I||l()?.setMaxPitch(i.maxPitch)}),a(()=>{i.maxZoom,I||l()?.setMaxZoom(i.maxZoom)}),a(()=>{i.minPitch,I||l()?.setMinPitch(i.minPitch)}),a(()=>{i.minZoom,I||l()?.setMinZoom(i.minZoom)}),a(()=>{i.pixelRatio,!I&&i.pixelRatio!==void 0&&l()?.setPixelRatio(i.pixelRatio)}),a(()=>{i.renderWorldCopies,I||l()?.setRenderWorldCopies(i.renderWorldCopies??null)}),a(()=>{oe(),I||F.setStyle(oe())}),a(()=>{i.transformRequest,I||l()?.setTransformRequest(i.transformRequest)}),a(()=>{i.transformConstrain,l()&&!I&&l().setTransformConstrain(i.transformConstrain??null)}),a(()=>{i.anisotropicFilterPitch,l()&&!I&&l().setAnisotropicFilterPitch(i.anisotropicFilterPitch??null)}),a(()=>{i.boxZoom!==void 0&&!I&&(i.boxZoom?l()?.boxZoom.enable():l()?.boxZoom.disable())}),a(()=>{l()&&i.cancelPendingTileRequestsWhileZooming!==void 0&&!I&&l(l().cancelPendingTileRequestsWhileZooming=i.cancelPendingTileRequestsWhileZooming,!0)}),a(()=>{i.cooperativeGestures!==void 0&&!I&&(i.cooperativeGestures?l()?.cooperativeGestures.enable():l()?.cooperativeGestures.disable())}),a(()=>{i.doubleClickZoom!==void 0&&!I&&(i.doubleClickZoom?l()?.doubleClickZoom.enable():l()?.doubleClickZoom.disable())}),a(()=>{i.dragPan!==void 0&&!I&&(i.dragPan?l()?.dragPan.enable(i.dragPan):l()?.dragPan.disable())}),a(()=>{i.dragRotate!==void 0&&!I&&(i.dragRotate?l()?.dragRotate.enable():l()?.dragRotate.disable())}),a(()=>{i.keyboard!==void 0&&!I&&(i.keyboard?l()?.keyboard.enable():l()?.keyboard.disable())}),a(()=>{i.scrollZoom!==void 0&&!I&&(i.scrollZoom?l()?.scrollZoom.enable(i.scrollZoom):l()?.scrollZoom.disable())}),a(()=>{i.touchPitch!==void 0&&!I&&(i.touchPitch?l()?.touchPitch.enable(i.touchPitch):l()?.touchPitch.disable())}),a(()=>{i.touchZoomRotate!==void 0&&!I&&(i.touchZoomRotate?l()?.touchZoomRotate.enable(i.touchZoomRotate):l()?.touchZoomRotate.disable())}),a(()=>{i.transformCameraUpdate,l()&&!I&&l(l().transformCameraUpdate=i.transformCameraUpdate??null,!0)}),a(()=>{I=!1}),te(()=>{F.map=null,l()?.remove(),l(void 0)});var me=Po(),he=m(me),ge=t=>{var n=e();d(g(n),()=>i.children??_,l),O(t,n)};n(he,e=>{l()&&e(ge)}),T(me),k(me,e=>se(ue,e),()=>u(ue)),r(()=>{ne(me,1,ee(P)),w(me,h())}),O(t,me),S()}function Io(e,t){A(t,!0);let n=j(t,[`$$slots`,`$$events`,`$$legacy`]),r=Oo();if(!r.map)throw Error(`Map instance is not initialized.`);a(()=>{r.userSky=re(n),r.waitForStyleLoaded(e=>{e.setSky(r.userSky)})}),te(()=>{r.userSky=void 0,r.waitForStyleLoaded(e=>{e.setSky(r.baseSky)})}),S()}function Lo(e,t){A(t,!0);let n=j(t,[`$$slots`,`$$events`,`$$legacy`]),r=Oo();if(!r.map)throw Error(`Map instance is not initialized.`);a(()=>{r.userProjection=re(n),r.userProjection.type||(r.userProjection.type=`mercator`),r.waitForStyleLoaded(e=>{e.setProjection(r.userProjection)})}),te(()=>{r.userProjection=void 0,r.waitForStyleLoaded(e=>{e.setProjection(r.baseProjection??{type:`mercator`})})}),S()}var Ro=D(`<div><!></div>`),zo=D(`<!> <!>`,1);function Bo(e,t){A(t,!0);let r=ie(null),i=v(t,`lnglat`,15),o=v(t,`class`,3,void 0),s=j(t,[`$$slots`,`$$events`,`$$legacy`,`lnglat`,`class`,`draggable`,`rotation`,`rotationAlignment`,`pitchAlignment`,`opacity`,`color`,`opacityWhenCovered`,`offset`,`subpixelPositioning`,`content`,`children`,`ondrag`,`ondragstart`,`ondragend`,`onclick`]),c=Oo();if(!c.map)throw Error(`Map instance is not initialized.`);let f=ie(null),h=Ao(),y=p(()=>t.content||t.element?[0,0]:[0,-14]);a(()=>
697{if(u(f))return;if(!c.map)throw Error(`MapLibre is not initialized`);let e={draggable:t.draggable,offset:t.offset,opacity:t.opacity,className:o(),opacityWhenCovered:t.opacityWhenCovered,rotation:t.rotation,color:t.color,rotationAlignment:t.rotationAlignment,pitchAlignment:t.pitchAlignment,subpixelPositioning:t.subpixelPositioning,...s};if(t.content){if(!u(r))throw Error(`Marker container is not initialized`);e.element=u(r)}se(f,new No.Marker(e)),h.marker=u(f),u(f).setLngLat(re(i())).addTo(c.map),u(f).on(`drag`,e=>{u(f)&&i(Mo(i(),u(f).getLngLat())),t.ondrag?.(e)})});let b=!0;a(()=>jo(u(f),`dragstart`,t.ondragstart)),a(()=>jo(u(f),`dragend`,t.ondragend)),a(()=>jo(u(f),`click`,t.onclick)),a(()=>{t.draggable,b||u(f)?.setDraggable(t.draggable)}),a(()=>{i()&&!b&&u(f)?.setLngLat(i())}),a(()=>{t.rotation,b||u(f)?.setRotation(t.rotation)}),a(()=>{t.offset,b||u(f)?.setOffset(t.offset??y)}),a(()=>{t.opacity,t.opacityWhenCovered,b||u(f)?.setOpacity(t.opacity,t.opacityWhenCovered)}),a(()=>{t.rotationAlignment,b||u(f)?.setRotationAlignment(t.rotationAlignment)}),a(()=>{t.pitchAlignment,b||u(f)?.setPitchAlignment(t.pitchAlignment)}),a(()=>{t.subpixelPositioning,b||u(f)?.setSubpixelPositioning(t.subpixelPositioning??!1)});let x=[];a(()=>{let e=(o()??``).split(/\s+/).filter(Boolean);if(!u(f)||b){x=e;return}let t=new Set(e);for(let e of x)t.has(e)||u(f).removeClassName(e);let n=new Set(x);for(let t of e)n.has(t)||u(f).addClassName(t);x=e}),a(()=>{b=!1}),te(()=>{u(f)?.remove()});var C=zo(),w=g(C),E=e=>{var n=Ro();d(m(n),()=>t.content),T(n),k(n,e=>se(r,e),()=>u(r)),O(e,n)};n(w,e=>{t.content&&e(E)}),d(l(w,2),()=>t.children??_),O(e,C),S()}var Vo={sources:{avif:``+new URL(`../assets/mierune-pin.DHNd92Lh.avif`,import.meta.url).href+` 90w, `+new URL(`../assets/mierune-pin.DFLJzZDm.avif`,import.meta.url).href+` 180w`,webp:``+new URL(`../assets/mierune-pin.C0qfBg84.webp`,import.meta.url).href+` 90w, `+new URL(`../assets/mierune-pin.COI_7KNs.webp`,import.meta.url).href+` 180w`,png:``+new URL(`../assets/mierune-pin.SIQrfXCH.png`,import.meta.url).href+` 90w, `+new URL(`../assets/mierune-pin.BrYPcUeC.png`,import.meta.url).href+` 180w`},img:{src:``+new URL(`../assets/mierune-pin.BrYPcUeC.png`,import.meta.url).href,w:180,h:396}},Ho=D(`<img alt="Mierune Pin" class="w-24"/>`),Uo=D(`<source/>`),Wo=D(`<picture><!> <img alt="Mierune Pin" class="w-24"/></picture>`),Go=D(`<!> <!> <!>`,1),Ko=D(`<div class="container my-12 sm:my-24"><div class="relative w-full overflow-hidden rounded-lg bg-mierune-blue"><!></div></div>`);function qo(t,i){A(i,!1);let a={"sky-color":`#4B99EC`,"sky-horizon-blend":.4,"horizon-color":`#EBFDFF`,"horizon-fog-blend":.8,"fog-color":`#EBFDFF`,"fog-ground-blend":.4};x();var o=Ko(),s=m(o);Fo(m(s),{class:`aspect-square w-full sm:aspect-video`,style:`https://d1xk691xmd0fei.cloudfront.net/latest/mierune_streets_style/style.json`,center:[141.3448,43.059],zoom:15.4,pitch:60,bearing:80,localIdeographFontFamily:!1,attributionControl:{compact:!0},children:(t,i)=>{var o=Go(),s=g(o);Lo(s,{type:`globe`});var c=l(s,2);Io(c,ae(()=>a)),Bo(l(c,2),{lnglat:[141.34562,43.05906],anchor:`center`,content:t=>{var i=e(),a=g(i),o=t=>{var i=e(),a=g(i),o=e=>{var t=Ho();r(()=>C(t,`src`,Vo)),O(e,t)};n(a,e=>{e(o,-1)}),O(t,i)},s=e=>{var t=Wo(),n=m(t);N(n,1,()=>Object.entries(Vo.sources),f,(e,t)=>{var n=y(()=>le(u(t),2));let i=()=>u(n)[0],a=()=>u(n)[1];var o=Uo();r(()=>{C(o,`srcset`,a()),C(o,`type`,`image/`+i())}),O(e,o)});var i=l(n,2);T(t),r(()=>{C(i,`src`,Vo.img.src),C(i,`width`,Vo.img.w),C(i,`height`,Vo.img.h)}),O(e,t)};n(a,e=>{typeof Vo==`string`?e(o):e(s,-1)}),O(t,i)},$$slots:{content:!0}}),O(t,o)},$$slots:{default:!0}}),T(s),T(o),O(t,o),S()}var Jo=o(`<svg viewBox="0 0 98 96" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.3
69762 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z"></path></svg>`);function Yo(e,t){let n=v(t,`width`,3,`100px`);var i=Jo();r(()=>C(i,`width`,n())),O(e,i)}var Xo=o(`<svg class="translate-x-1" viewBox="0 0 96 81" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_1_2)"><path d="M89.52 69.9085C86.4867 69.9085 84.028 72.3658 84.028 75.3978C84.028 78.4312 86.4867 80.8898 89.52 80.8898C92.552 80.8898 95.0107 78.4312 95.0107 75.3978C95.0107 72.3658 92.552 69.9085 89.52 69.9085ZM89.52 70.5338C92.2027 70.5338 94.3853 72.7165 94.3853 75.3978C94.3853 78.0818 92.2027 80.2645 89.52 80.2645C86.836 80.2645 84.6533 78.0818 84.6533 75.3978C84.6533 72.7165 86.836 70.5338 89.52 70.5338Z"></path><path d="M89.3787 75.1872H88.404V73.2125H89.6373C90.276 73.2125 91.0013 73.3165 91.0013 74.1512C91.0013 75.1112 90.2667 75.1872 89.3733 75.1872M90.3493 75.7739C91.1707 75.7805 91.8427 75.1219 91.852 74.3005C91.852 74.2672 91.8507 74.2325 91.8493 74.1992C91.8493 73.0832 91.176 72.5512 89.7947 72.5512H87.5627V78.3925H88.4013V75.8459H89.4333L89.4573 75.8779L91.0573 78.3925H91.956L90.2333 75.7885L90.3493 75.7739"></path><path d="M74.3854 0.00585315H5.928C2.692 -0.0301469 0.04 2.56051 0 5.79651V74.5379C0.0373333 77.7752 2.692 80.3699 5.928 80.3339H74.3854C77.6294 80.3765 80.292 77.7805 80.3374 74.5379V5.79119C80.2907 2.55119 77.628 -0.0421521 74.3854 0.000514609M23.8254 68.4512H11.9093V30.1152H23.8254V68.4512ZM17.8733 24.8765C14.0587 24.8765 10.9653 21.7832 10.9653 17.9699C10.964 14.1552 14.056 11.0605 17.8707 11.0592C21.6867 11.0592 24.78 14.1525 24.78 17.9672C24.7814 21.7819 21.6893 24.8752 17.8733 24.8765ZM68.4507 68.4512H56.548V49.8099C56.548 45.3645 56.468 39.6419 50.3574 39.6419C44.1574 39.6419 43.208 44.4859 43.208 49.4872V68.4499H31.304V30.1152H42.732V35.3539H42.892C45.2227 31.3712 49.5547 28.9912 54.1667 29.1632C66.232 29.1632 68.456 37.0979 68.456 47.4219L68.4507 68.4512Z"></path></g><defs><clipPath id="clip0_1_2"><rect width="95.0106" height="80.8899"></rect></clipPath></defs></svg>`);function Zo(e,t){let n=v(t,`width`,3,`100px`);var i=Xo();r(()=>C(i,`width`,n())),O(e,i)}var Qo=o(`<svg viewBox="0 0 56.583 55.974" xmlns="http://www.w3.org/2000/svg"><path d="M58.065 87.847c10.899 0 25.824-.553 36.54-.275 14.377.368 19.78 6.63 19.962 22.1.183 8.748 0 33.796 0 33.796H99.012c0-21.915.093-25.532 0-32.438-.182-6.077-1.918-8.974-6.588-9.527-4.945-.553-18.804-.093-18.804-.093v42.058H58.065Z" transform="translate(-58.065 -87.494)"></path></svg>`);function $o(e,t){let n=v(t,`width`,3,`100px`);var i=Qo();r(()=>C(i,`width`,n())),O(e,i)}var es=o(`<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg"><path d="M222.77,227.36C206.59,244.62,184.6,250.29,158,253c-53.89,5.44-100.57-18.62-106.22-78.75a117.62,117.62,0,0,1,14.75-69.77L59.84,78.2c-1.07-4.56,3.13-8.9,7.58-7.82L90.49,76A90.6,90.6,0,0,1,139.1,55.5a89.09,89.09,0,0,1,44.64,7l21.68-13.12a6.41,6.41,0,0,1,9.64,5.21l1.25,30.93h0c16.68,17.6,28,41.64,30.6,68.95,1.45,15.42-.15,27.22-4.24,38.47-1.91,5.27-2.49,9.72,1,14.13,3.34,4.26,8.64,12.53,14.56,11.15,8.88-2.08,18.39-1.53,24.27,2.14A150.16,150.16,0,1,0,258.12,254a35.42,35.42,0,0,1-14.33-5.68C234.86,242.33,226.93,236.7,222.77,227.36Z"></path><path d="M208.92,117.38l14-1.71-.2-2.53-14.37,1.76c-.62-1.81-1.31-3.59-2.08-5.32l15.83-5-.5-3.17-16.84,5.83c-11.29-23.68-35.71-38.06-63.36-35.26A65,65,0,0,0,85.24,120l-16.47-2.49-.18,3.24,16.22,1.75
697a49.84,49.84,0,0,0-1.08,4.91l-14.14,1.13.12,2.53L83.5,130a51.14,51.14,0,0,0-.41,5.7l-12.6,5.15.62,3.13,12-5.62c0,1.68.1,2.57.25,4.26,3.34,35.46,33,42.48,68.35,38.9s63.15-16.4,59.81-51.86c-.16-1.7-.4-2.59-.69-4.24l13,2.82.3-2.86-13.63-2.59A48.79,48.79,0,0,0,208.92,117.38Z"></path></svg>`);function ts(e,t){let n=v(t,`width`,3,`100px`);var i=es();r(()=>C(i,`width`,n())),O(e,i)}var ns=o(`<svg viewBox="0 0 88.3 88.3" xmlns="http://www.w3.org/2000/svg"><g><path class="st0" d="M3.9,83.3h17c0.9,0,1.7-0.5,2.2-1.2L69.9,5.2c0.6-1-0.1-2.2-1.3-2.2H52.5c-0.8,0-1.5,0.4-1.9,1.1L3.1,81.9
698		C2.8,82.5,3.2,83.3,3.9,83.3z"></path><path class="st0" d="M62.5,82.1l22.1-35.5c0.7-1.1-0.1-2.5-1.4-2.5h-16c-0.6,0-1.2,0.3-1.5,0.8L43,81.2c-0.6,0.9,0.1,2.1,1.2,2.1
699		h16.3C61.3,83.3,62.1,82.9,62.5,82.1z"></path></g></svg>`);function rs(e,t){let n=v(t,`width`,3,`100px`);var i=ns();r(()=>C(i,`width`,n())),O(e,i)}var is=o(`<svg viewBox="0 0 1200 1227" xmlns="http://www.w3.org/2000/svg"><path d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z"></path></svg>`);function as(e,t){let n=v(t,`width`,3,`100px`);var i=is();r(()=>C(i,`width`,n())),O(e,i)}var os=o(`<svg viewBox="0 0 28.57 20" xmlns="http://www.w3.org/2000/svg"><g><path d="M27.9727 3.12324C27.6435 1.89323 26.6768 0.926623 25.4468 0.597366C23.2197 2.24288e-07 14.285 0 14.285 0C14.285 0 5.35042 2.24288e-07 3.12323 0.597366C1.89323 0.926623 0.926623 1.89323 0.597366 3.12324C2.24288e-07 5.35042 
6990 10 0 10C0 10 2.24288e-07 14.6496 0.597366 16.8768C0.926623 18.1068 1.89323 19.0734 3.12323 19.4026C5.35042 20 14.285 20 14.285 20C14.285 20 23.2197 20 25.4468 19.4026C26.6768 19.0734 27.6435 18.1068 27.9727 16.8768C28.5701 14.6496 28.5701 10 28.5701 10C28.5701 10 28.5677 5.35042 27.9727 3.12324Z"></path><path d="M11.4253 14.2854L18.8477 10.0004L11.4253 5.71533V14.2854Z"></path></g></svg>`);function ss(e,t){let n=v(t,`width`,3,`100px`);var i=os();r(()=>C(i,`width`,n())),O(e,i)}var cs=o(`<svg viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M120.12 208.29c-3.88-2.9-7.77-4.35-11.65-4.35H91.03v104.47h17.45c3.88 0 7.77-1.45 11.65-4.35 3.88-2.9 5.82-7.25 5.82-13.06v-69.65c-.01-5.8-1.96-10.16-5.83-13.06zM404.1 32H43.9C19.7 32 .06 51.59 0 75.8v360.4C.06 460.41 19.7 480 43.9 480h360.2c24.21 0 43.84-19.59 43.9-43.8V75.8c-.06-24.21-19.7-43.8-43.9-43.8zM154.2 291.19c0 18.81-11.61 47.31-48.36 47.25h-46.4V172.98h47.38c35.44 0 47.36 28.46 47.37 47.28l.01 70.93zm100.68-88.66H201.6v38.42h32.57v29.57H201.6v38.41h53.29v29.57h-62.18c-11.16.29-20.44-8.53-20.72-19.69V193.7c-.27-11.15 8.56-20.41 19.71-20.69h63.19l-.01 29.52zm103.64 115.29c-13.2 30.75-36.85 24.63-47.44 0l-38.53-144.8h32.57l29.71 113.72 29.57-113.72h32.58l-38.46 144.8z"></path></svg>`);function ls(e,t){let n=v(t,`width`,3,`100px`);var i=cs();r(()=>C(i,`width`,n())),O(e,i)}var us=D(`<a target="_blank" rel="noopener noreferrer"><!></a>`),ds=D(`<div class="container my-12 sm:my-24"><h2 class="text-3xl sm:text-5xl"> </h2> <div class="mt-2 grid grid-cols-[repeat(auto-fit,minmax(4rem,1fr))] place-items-center gap-x-6 gap-y-6 border-t border-mierune-black px-4 pt-9 pb-3 sm:my-6 sm:grid-cols-[repeat(auto-fit,minmax(7rem,1fr))] sm:gap-y-12 sm:py-9"></div></div>`);function fs(e,t){A(t,!1);let n=[{name:`GitHub`,href:`https://github.com/MIERUNE/`,icon:Yo,width:`100%`,hoverClass:`[&_path]:group-hover:fill-black`},{name:`Qiita`,href:`https://qiita.com/organizations/MIERUNE`,icon:ts,width:`100%`,hoverClass:`[&_path]:group-hover:fill-[#56C501]`},{name:`Zenn`,href:`https://zenn.dev/p/mierune`,icon:rs,width:`100%`,hoverClass:`[&_path]:group-hover:fill-[#3EA8FF]`},{name:`DEV Community`,href:`https://dev.to/mierune`,icon:ls,width:`90%`,hoverClass:`[&_path]:group-hover:fill-black`},{name:`note`,href:`https://note.com/mierune`,icon:$o,width:`80%`,hoverClass:`[&_path]:group-hover:fill-black`},{name:`YouTube`,href:`https://www.youtube.com/c/MIERUNE`,icon:ss,width:`100%`,hoverClass:`[&_path:nth-child(1)]:group-hover:fill-[#FF0A00] [&_path:nth-child(2)]:group-hover:fill-white [&_path:nth-child(2)]:fill-mierune-grwhite`},{name:Oa(),href:`https://x.com/MIERUNE_inc`,icon:as,width:`80%`,hoverClass:`[&_path]:group-hover:fill-black`},{name:`LinkedIn`,href:`https://www.linkedin.com/company/mierune/`,icon:Zo,width:`100%`,hoverClass:`[&_path]:group-hover:fill-[#0A66C2]`}];x();var i=ds(),a=m(i),o=m(a,!0);T(a);var s=l(a,2);N(s,5,()=>n,e=>e.name,(e,t)=>{var n=us();P(m(n),()=>u(t).icon,(e,n)=>{n(e,{get width(){return u(t).width}})}),T(n),r(e=>{C(n,`href`,u(t).href),ne(n,1,e)},[()=>ee(de(`group flex size-20 place-items-center justify-center rounded-full bg-mierune-grwhite  fill-mierune-dark p-4.5 transition-all hover:scale-120 sm:size-24 sm:p-5.5 [&_path]:transition-colors [&_path]:duration-200`,u(t).hoverClass))]),O(e,n)}),T(s),T(i),r(e=>c(o,e),[()=>Ta()]),O(e,i),S()}var ps=D(`<div class="absolute -z-10"><div class="aspect-1 rounded-full bg-page-about"></div></div>`);function ms(e,t){A(t,!0);let n;M(()=>{Ce(n)}),te(()=>{Te()});let i=new Se(0,{duration:300,easing:we});a(()=>{let e=30+(Math.min(Math.max(t.scrollY,100),900)-100)/800*7470;i.set(e);let r;r=e<=100?(e-30)/70*1:1,n&&t.scrollY>0&&t.scrollY<1e3?(ye(),_e(r)):xe()});var o=ps(),s=m(o);k(s,e=>n=e,()=>n),T(o),r(()=>{w(o,`
700            transform: translate(-${i.current/2}px, -${i.current/2}px);
701            `),w(s,`
702            width: ${i.current??``}px;
703            height: ${i.current??``}px;
704            `)}),O(e,o),S()}var hs=D(`<div class="text-2xl font-semibold tracking-wide sm:text-4xl">Geospatial for Greater Good.</div>`),gs=D(`<!> <div class="relative h-auto w-screen overflow-x-clip overflow-y-visible"><div class="absolute top-[8rem] right-0 bottom-0 left-12 mx-auto max-w-5xl sm:top-7 sm:left-22"><!></div></div> <section class="container my-24"><!> <div><!> <div class="-mr-2 palt text-[2.7rem] font-medium sm:text-[4rem]"> </div></div></section> <div class="py-0 sm:py-16"><!></div> <picture><source type="image/avif"/><source type="image/webp"/><source type="image/jpeg"/><img class="aspect-[2/0.9] w-full object-cover object-[50%_70%]" width="2560" height="1830"/></picture> <!> <!> <div class="grid grid-cols-1 items-center justify-center sm:grid-cols-2"><picture><source type="image/avif"/><source type="image/webp"/><source type="image/png"/><img class="aspect-[2/0.9] w-full object-cover object-[50%_60%]" width="1280" height="854"/></picture> <picture><source type="image/avif"/><source type="image/webp"/><source type="image/png"/><img class="aspect-[2/0.9] w-full object-cover object-[50%_60%]" width="1280" height="854"/></picture> <picture><source type="image/avif"/><source type="image/webp"/><source type="image/png"/><img class="aspect-[2/0.9] w-full object-cover object-[50%_70%]" width="1280" height="854"/></picture> <picture><source type="image/avif"/><source type="image/webp"/><source type="image/png"/><img class="aspect-[2/0.9] w-full object-cover object-[50%_70%]" width="1280" height="854"/></picture></div> <div class="relative mx-auto max-w-5xl"><!> <!> <!></div> <!> <!>`,1);function _s(e,t){A(t,!0);let a=Fe(),o=F(),s=ie(0),d=ie(!1);var f=gs();i(`scroll`,h,()=>{se(s,window.scrollY,!0),se(d,u(s)>200)});var p=g(f);fe(p,{title:`About`,get description(){return a}});var _=l(p,2),v=m(_);ms(m(v),{get scrollY(){return u(s)}}),T(v),T(_);var b=l(_,2),x=m(b);{let e=y(()=>Re());Ee(x,{title:`About`,get subtitle(){return u(e)}})}var w=l(x,2),E=m(w),D=e=>{O(e,hs())};n(E,e=>{o===`ja`&&e(D)});var k=l(E,2),ee=m(k,!0);T(k),T(w),T(b);var te=l(b,2);ja(m(te),{}),T(te);var j=l(te,2),re=m(j);C(re,`srcset`,``+new URL(`../assets/meeting.dEtw41uM.avif`,import.meta.url).href+` 1280w, `+new 
704URL(`../assets/meeting.DeLHScMb.avif`,import.meta.url).href+` 2560w`);var M=l(re);C(M,`srcset`,``+new URL(`../assets/meeting.GJdY1G1a.webp`,import.meta.url).href+` 1280w, `+new URL(`../assets/meeting.BEbNnMa-.webp`,import.meta.url).href+` 2560w`);var ae=l(M);C(ae,`srcset`,``+new URL(`../assets/meeting.zuF9Wfns.jpeg`,import.meta.url).href+` 1280w, `+new URL(`../assets/meeting.CTIZmjO_.jpeg`,import.meta.url).href+` 2560w`);var oe=l(ae);C(oe,`src`,``+new URL(`../assets/meeting.CTIZmjO_.jpeg`,import.meta.url).href),T(j);var ce=l(j,2);Q(ce,{});var le=l(ce,2);_o(le,{});var N=l(le,2),P=m(N),ue=m(P);C(ue,`srcset`,``+new URL(`../assets/office_1.C8y15pub.avif`,import.meta.url).href+` 640w, `+new URL(`../assets/office_1.CifNIZvE.avif`,import.meta.url).href+` 1280w`);var de=l(ue);C(de,`srcset`,``+new URL(`../assets/office_1.CkFtfgb5.webp`,import.meta.url).href+` 640w, `+new URL(`../assets/office_1.CebIK1GX.webp`,import.meta.url).href+` 1280w`);var he=l(de);C(he,`srcset`,``+new URL(`../assets/office_1.DBZarjUF.png`,import.meta.url).href+` 640w, `+new URL(`../assets/office_1.C_gZtp6N.png`,import.meta.url).href+` 1280w`);var ge=l(he);C(ge,`src`,``+new URL(`../assets/office_1.C_gZtp6N.png`,import.meta.url).href),T(P);var _e=l(P,2),ve=m(_e);C(ve,`srcset`,``+new URL(`../assets/office_2.UcKCdhbU.avif`,import.meta.url).href+` 640w, `+new URL(`../assets/office_2.BJNssfBx.avif`,import.meta.url).href+` 1280w`);var ye=l(ve);C(ye,`srcset`,``+new URL(`../assets/office_2.Bh6cvd53.webp`,import.meta.url).href+` 640w, `+new URL(`../assets/office_2.Ca-dawX9.webp`,import.meta.url).href+` 1280w`);var be=l(ye);C(be,`srcset`,``+new URL(`../assets/office_2.Tb4IwV63.png`,import.meta.url).href+` 640w, `+new URL(`../assets/office_2.CJUjHjdk.png`,import.meta.url).href+` 1280w`);var xe=l(be);C(xe,`src`,``+new URL(`../assets/office_2.CJUjHjdk.png`,import.meta.url).href),T(_e);var Se=l(_e,2),Ce=m(Se);C(Ce,`srcset`,``+new URL(`../assets/office_3.DTQ466i_.avif`,import.meta.url).href+` 640w, `+new URL(`../assets/office_3.CyRdA09b.avif`,import.meta.url).href+` 1280w`);var we=l(Ce);C(we,`srcset`,``+new URL(`../assets/office_3.sHSthq7i.webp`,import.meta.url).href+` 640w, `+new URL(`../assets/office_3.EyfJE1at.webp`,import.meta.url).href+` 1280w`);var Te=l(we);C(Te,`srcset`,``+new URL(`../assets/office_3.CGeqHC6B.png`,import.meta.url).href+` 640w, `+new URL(`../assets/office_3.BWdNSSHM.png`,import.meta.url).href+` 1280w`);var De=l(Te);C(De,`src`,``+new URL(`../assets/office_3.BWdNSSHM.png`,import.meta.url).href),T(Se);var Oe=l(Se,2),ke=m(Oe);C(ke,`srcset`,``+new URL(`../assets/office_4.BAa8cv4v.avif`,import.meta.url).href+` 640w, `+new URL(`../assets/office_4.Cd0LJxGq.avif`,import.meta.url).href+` 1280w`);var Ae=l(ke);C(Ae,`srcset`,``+new URL(`../assets/office_4.B8rjq8_6.webp`,import.meta.url).href+` 640w, `+new URL(`../assets/office_4.DfOQ58BW.webp`,import.meta.url).href+` 1280w`);var je=l(Ae);C(je,`srcset`,``+new URL(`../assets/office_4.B53Fha2J.png`,import.meta.url).href+` 640w, `+new URL(`../assets/office_4.8bGCGDJC.png`,import.meta.url).href+` 1280w`);var Me=l(je);C(Me,`src`,``+new URL(`../assets/office_4.8bGCGDJC.png`,import.meta.url).href),T(Oe),T(N);var L=l(N,2),Ne=m(L);So(Ne,{});var Pe=l(Ne,2);qo(Pe,{}),fs(l(Pe,2),{}),T(L);var Ie=l(L,2);pe(Ie,{}),I(l(Ie,2),{}),r((e,t,n,r,i,a)=>{ne(w,1,`mt-48 mb-48 flex flex-col items-center justify-center gap-4 transition-colors duration-400 ${u(d)?`text-mierune-white`:`text-mierune-black`}`),c(ee,e),C(oe,`alt`,t),C(ge,`alt`,n),C(xe,`alt`,r),C(De,`alt`,i),C(Me,`alt`,a)},[()=>me(),()=>Ve(),()=>R(),()=>R(),()=>R(),()=>R()]),O(e,f),S()}export{_s as component};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.