node-red-contrib-web-worldmap 5.3.0 → 5.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/README.md +9 -2
- package/package.json +1 -1
- package/worldmap/index.html +2 -0
- package/worldmap/leaflet/Leaflet.LimitZoom.js +40 -0
- package/worldmap/leaflet/pmtiles.js +2 -0
- package/worldmap/leaflet/protomaps-leaflet.min.js +1 -1
- package/worldmap/worldmap.js +36 -24
- package/worldmap/images/world-110m-flat.json +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
### Change Log for Node-RED Worldmap
|
|
2
2
|
|
|
3
|
+
- v5.5.0 - Add ability to load raster pmtiles files. Issue #312
|
|
4
|
+
- v5.4.0 - Let msg.payload.command.zoomLevels set an array of acceptable zoom levels. Issue #312
|
|
3
5
|
- v5.3.0 - Let msg.payload.popupOptions object set Leaflet popup options so it can be customised. Issue #311
|
|
4
6
|
- v5.2.0 - Allow left click send back co-ords. Let Button be replaceable more easily and take value property. Issue #308 and #309
|
|
5
7
|
- v5.1.6 - Let Cot __milsym set the SIDC if present.
|
package/README.md
CHANGED
|
@@ -13,6 +13,8 @@ Feel free to [.
|
|
382
|
+
- **zoomLevels** - an array of accepted zoom levels to switch between if you map only supports certain scalings - set to null to clear.
|
|
380
383
|
- **bounds** - if set to an array `[ [ lat(S), lon(W) ], [lat(N), lon(E)] ]` - sets the overall map bounds.
|
|
381
384
|
- **rotation** - rotate the base map to the specified compass angle.
|
|
382
385
|
- **layer** - set map to specified base layer name - `{"command":{"layer":"Esri"}}`
|
|
@@ -770,15 +773,19 @@ You can also load them dynamically with a command like
|
|
|
770
773
|
|
|
771
774
|
Where `opt` can be as per the options file mentioned above - or omitted completely.
|
|
772
775
|
|
|
776
|
+
NOTE: for some reason many files converted to pmtiles format fail to load/display. In this case you can easily use the tileserver-gl map server either natively or via docker (see below) to serve the pmtiles format file.
|
|
777
|
+
|
|
773
778
|
### Using a Docker Map Server
|
|
774
779
|
|
|
775
|
-
I have found the easiest to use mapserver for a decent generic map to be Tileserver-gl. It uses mbtiles format maps - for example from [MapTiler Data](https://data.maptiler.com/downloads/planet/). You can download your mbtiles file into a directory and then from that directory run
|
|
780
|
+
I have found the easiest to use mapserver for a decent generic map to be Tileserver-gl. It uses mbtiles or pmtiles format maps - for example from [MapTiler Data](https://data.maptiler.com/downloads/planet/). You can download your mbtiles file into a directory and then from that directory run
|
|
776
781
|
```
|
|
777
782
|
docker run --name maptiler -d -v $(pwd):/data -p 1884:8080 maptiler/tileserver-gl -p 8080 --mbtiles yourMapFile.mbtiles
|
|
778
783
|
```
|
|
779
784
|
and use a url like `"url": "http://localhost:1884/styles/basic-preview/{z}/{x}/{y}.png"`
|
|
780
785
|
|
|
781
|
-
|
|
786
|
+
This also works for pmtiles format map files.
|
|
787
|
+
|
|
788
|
+
Other more traditional map servers include containers like https://hub.docker.com/r/camptocamp/mapserver, which then assuming you have the mapfile 'my-app.map' in the current working directory, you could mount it as:
|
|
782
789
|
```
|
|
783
790
|
docker run -d --name camptocamp -v $(pwd):/etc/mapserver/:ro -p 1881:80 camptocamp/mapserver
|
|
784
791
|
```
|
package/package.json
CHANGED
package/worldmap/index.html
CHANGED
|
@@ -77,7 +77,9 @@
|
|
|
77
77
|
<script src="leaflet/VectorTileLayer.umd.min.js"></script>
|
|
78
78
|
<script src="leaflet/esri-leaflet.js"></script>
|
|
79
79
|
<script src="leaflet/protomaps-leaflet.min.js"></script>
|
|
80
|
+
<script src="leaflet/pmtiles.js"></script>
|
|
80
81
|
<script src="leaflet/Semicircle.js"></script>
|
|
82
|
+
<script src="leaflet/Leaflet.LimitZoom.js"></script>
|
|
81
83
|
<script src="leaflet/leaflet-arc.min.js"></script>
|
|
82
84
|
<script src="leaflet/leaflet.antimeridian-src.js"></script>
|
|
83
85
|
<script src="leaflet/L.TileLayer.PixelFilter.js"></script>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// Limit leaflet map zoom to a list of variants
|
|
2
|
+
// Written by Ilya Zverev, licensed WTFPL
|
|
3
|
+
|
|
4
|
+
L.Map.mergeOptions({
|
|
5
|
+
zooms: [] // array of integers
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
L.Map.include({
|
|
9
|
+
_limitZoom: function (zoom) {
|
|
10
|
+
var zooms = this.options.zooms;
|
|
11
|
+
if (!zooms || !('length' in zooms) || !zooms.length) {
|
|
12
|
+
var min = this.getMinZoom(),
|
|
13
|
+
max = this.getMaxZoom(),
|
|
14
|
+
snap = L.Browser.any3d ? this.options.zoomSnap : 1;
|
|
15
|
+
if (snap) {
|
|
16
|
+
zoom = Math.round(zoom / snap) * snap;
|
|
17
|
+
}
|
|
18
|
+
return Math.max(min, Math.min(max, zoom));
|
|
19
|
+
} else {
|
|
20
|
+
var z, d = 100, i, dist;
|
|
21
|
+
var dz = -1, dd = 100, dir = zoom - this._zoom;
|
|
22
|
+
var snap = L.Browser.any3d ? this.options.zoomSnap : 1;
|
|
23
|
+
if (snap) {
|
|
24
|
+
zoom = Math.round(zoom / snap) * snap;
|
|
25
|
+
}
|
|
26
|
+
for (i = 0; i < zooms.length; i++) {
|
|
27
|
+
dist = Math.abs(zooms[i] - zoom);
|
|
28
|
+
if (dist < d) {
|
|
29
|
+
z = zooms[i];
|
|
30
|
+
d = dist;
|
|
31
|
+
}
|
|
32
|
+
if (dir * (zooms[i] - this._zoom) > 0 && dist < dd) {
|
|
33
|
+
dz = zooms[i];
|
|
34
|
+
dd = dist;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return dz < 0 ? z : dz;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
});
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var pmtiles=(()=>{var k=Object.defineProperty;var Je=Object.getOwnPropertyDescriptor;var Ye=Object.getOwnPropertyNames;var Qe=Object.prototype.hasOwnProperty;var U=Math.pow;var f=(r,e)=>k(r,"name",{value:e,configurable:!0});var Xe=(r,e)=>{for(var t in e)k(r,t,{get:e[t],enumerable:!0})},_e=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ye(e))!Qe.call(r,i)&&i!==t&&k(r,i,{get:()=>e[i],enumerable:!(n=Je(e,i))||n.enumerable});return r};var et=r=>_e(k({},"__esModule",{value:!0}),r);var m=(r,e,t)=>new Promise((n,i)=>{var a=h=>{try{u(t.next(h))}catch(l){i(l)}},s=h=>{try{u(t.throw(h))}catch(l){i(l)}},u=h=>h.done?n(h.value):Promise.resolve(h.value).then(a,s);u((t=t.apply(r,e)).next())});var Dt={};Xe(Dt,{Compression:()=>Oe,EtagMismatch:()=>B,FetchSource:()=>K,FileSource:()=>oe,PMTiles:()=>P,Protocol:()=>ie,ResolvedValueCache:()=>ue,SharedPromiseCache:()=>G,TileType:()=>se,bytesToHeader:()=>$e,findTile:()=>Fe,getUint64:()=>b,leafletRasterLayer:()=>wt,readVarint:()=>R,tileIdToZxy:()=>Tt,tileTypeExt:()=>Ze,zxyToTileId:()=>Ie});var w=Uint8Array,E=Uint16Array,tt=Int32Array,Me=new w([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Ue=new w([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),rt=new w([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Ee=f(function(r,e){for(var t=new E(31),n=0;n<31;++n)t[n]=e+=1<<r[n-1];for(var i=new tt(t[30]),n=1;n<30;++n)for(var a=t[n];a<t[n+1];++a)i[a]=a-t[n]<<5|n;return{b:t,r:i}},"freb"),Le=Ee(Me,2),Pe=Le.b,nt=Le.r;Pe[28]=258,nt[258]=28;var Se=Ee(Ue,0),it=Se.b,Ut=Se.r,re=new E(32768);for(g=0;g<32768;++g)T=(g&43690)>>1|(g&21845)<<1,T=(T&52428)>>2|(T&13107)<<2,T=(T&61680)>>4|(T&3855)<<4,re[g]=((T&65280)>>8|(T&255)<<8)>>1;var T,g,F=f(function(r,e,t){for(var n=r.length,i=0,a=new E(e);i<n;++i)r[i]&&++a[r[i]-1];var s=new E(e);for(i=1;i<e;++i)s[i]=s[i-1]+a[i-1]<<1;var u;if(t){u=new E(1<<e);var h=15-e;for(i=0;i<n;++i)if(r[i])for(var l=i<<4|r[i],c=e-r[i],o=s[r[i]-1]++<<c,v=o|(1<<c)-1;o<=v;++o)u[re[o]>>h]=l}else for(u=new E(n),i=0;i<n;++i)r[i]&&(u[i]=re[s[r[i]-1]++]>>15-r[i]);return u},"hMap"),$=new w(288);for(g=0;g<144;++g)$[g]=8;var g;for(g=144;g<256;++g)$[g]=9;var g;for(g=256;g<280;++g)$[g]=7;var g;for(g=280;g<288;++g)$[g]=8;var g,Re=new w(32);for(g=0;g<32;++g)Re[g]=5;var g;var at=F($,9,1);var st=F(Re,5,1),ee=f(function(r){for(var e=r[0],t=1;t<r.length;++t)r[t]>e&&(e=r[t]);return e},"max"),z=f(function(r,e,t){var n=e/8|0;return(r[n]|r[n+1]<<8)>>(e&7)&t},"bits"),te=f(function(r,e){var t=e/8|0;return(r[t]|r[t+1]<<8|r[t+2]<<16)>>(e&7)},"bits16"),ot=f(function(r){return(r+7)/8|0},"shft"),ut=f(function(r,e,t){return(e==null||e<0)&&(e=0),(t==null||t>r.length)&&(t=r.length),new w(r.subarray(e,t))},"slc");var ft=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],y=f(function(r,e,t){var n=new Error(e||ft[r]);if(n.code=r,Error.captureStackTrace&&Error.captureStackTrace(n,y),!t)throw n;return n},"err"),ne=f(function(r,e,t,n){var i=r.length,a=n?n.length:0;if(!i||e.f&&!e.l)return t||new w(0);var s=!t,u=s||e.i!=2,h=e.i;s&&(t=new w(i*3));var l=f(function(Te){var Ce=t.length;if(Te>Ce){var De=new w(Math.max(Ce*2,Te));De.set(t),t=De}},"cbuf"),c=e.f||0,o=e.p||0,v=e.b||0,d=e.l,p=e.d,H=e.m,I=e.n,q=i*8;do{if(!d){c=z(r,o,1);var j=z(r,o+1,3);if(o+=3,j)if(j==1)d=at,p=st,H=9,I=5;else if(j==2){var J=z(r,o,31)+257,me=z(r,o+10,15)+4,de=J+z(r,o+5,31)+1;o+=14;for(var O=new w(de),Y=new w(19),x=0;x<me;++x)Y[rt[x]]=z(r,o+x*3,7);o+=me*3;for(var ye=ee(Y),Ge=(1<<ye)-1,qe=F(Y,ye,1),x=0;x<de;){var we=qe[z(r,o,Ge)];o+=we&15;var A=we>>4;if(A<16)O[x++]=A;else{var D=0,V=0;for(A==16?(V=3+z(r,o,3),o+=2,D=O[x-1]):A==17?(V=3+z(r,o,7),o+=3):A==18&&(V=11+z(r,o,127),o+=7);V--;)O[x++]=D}}var xe=O.subarray(0,J),C=O.subarray(J);H=ee(xe),I=ee(C),d=F(xe,H,1),p=F(C,I,1)}else y(1);else{var A=ot(o)+4,W=r[A-4]|r[A-3]<<8,N=A+W;if(N>i){h&&y(0);break}u&&l(v+W),t.set(r.subarray(A,N),v),e.b=v+=W,e.p=o=N*8,e.f=c;continue}if(o>q){h&&y(0);break}}u&&l(v+131072);for(var je=(1<<H)-1,We=(1<<I)-1,Q=o;;Q=o){var D=d[te(r,o)&je],M=D>>4;if(o+=D&15,o>q){h&&y(0);break}if(D||y(2),M<256)t[v++]=M;else if(M==256){Q=o,d=null;break}else{var be=M-254;if(M>264){var x=M-257,Z=Me[x];be=z(r,o,(1<<Z)-1)+Pe[x],o+=Z}var X=p[te(r,o)&We],_=X>>4;X||y(3),o+=X&15;var C=it[_];if(_>3){var Z=Ue[_];C+=te(r,o)&(1<<Z)-1,o+=Z}if(o>q){h&&y(0);break}u&&l(v+131072);var ze=v+be;if(v<C){var Ae=a-C,Ne=Math.min(C,ze);for(Ae+v<0&&y(3);v<Ne;++v)t[v]=n[Ae+v]}for(;v<ze;++v)t[v]=t[v-C]}}e.l=d,e.p=Q,e.b=v,e.f=c,d&&(c=1,e.m=H,e.d=p,e.n=I)}while(!c);return v!=t.length&&s?ut(t,0,v):t.subarray(0,v)},"inflt");var lt=new w(0);var ht=f(function(r){(r[0]!=31||r[1]!=139||r[2]!=8)&&y(6,"invalid gzip data");var e=r[3],t=10;e&4&&(t+=(r[10]|r[11]<<8)+2);for(var n=(e>>3&1)+(e>>4&1);n>0;n-=!r[t++]);return t+(e&2)},"gzs"),ct=f(function(r){var e=r.length;return(r[e-4]|r[e-3]<<8|r[e-2]<<16|r[e-1]<<24)>>>0},"gzl");var vt=f(function(r,e){return((r[0]&15)!=8||r[0]>>4>7||(r[0]<<8|r[1])%31)&&y(6,"invalid zlib data"),(r[1]>>5&1)==+!e&&y(6,"invalid zlib data: "+(r[1]&32?"need":"unexpected")+" dictionary"),(r[1]>>3&4)+2},"zls");function gt(r,e){return ne(r,{i:2},e&&e.out,e&&e.dictionary)}f(gt,"inflateSync");function pt(r,e){var t=ht(r);return t+8>r.length&&y(6,"invalid gzip data"),ne(r.subarray(t,-8),{i:2},e&&e.out||new w(ct(r)),e&&e.dictionary)}f(pt,"gunzipSync");function mt(r,e){return ne(r.subarray(vt(r,e&&e.dictionary),-4),{i:2},e&&e.out,e&&e.dictionary)}f(mt,"unzlibSync");function Be(r,e){return r[0]==31&&r[1]==139&&r[2]==8?pt(r,e):(r[0]&15)!=8||r[0]>>4>7||(r[0]<<8|r[1])%31?gt(r,e):mt(r,e)}f(Be,"decompressSync");var dt=typeof TextDecoder!="undefined"&&new TextDecoder,yt=0;try{dt.decode(lt,{stream:!0}),yt=1}catch(r){}var wt=f((r,e)=>{let t=!1,n="",i=L.GridLayer.extend({createTile:f((a,s)=>{let u=document.createElement("img"),h=new AbortController,l=h.signal;return u.cancel=()=>{h.abort()},t||(r.getHeader().then(c=>{c.tileType===1?console.error("Error: archive contains MVT vector tiles, but leafletRasterLayer is for displaying raster tiles. See https://github.com/protomaps/PMTiles/tree/main/js for details."):c.tileType===2?n="image/png":c.tileType===3?n="image/jpeg":c.tileType===4?n="image/webp":c.tileType===5&&(n="image/avif")}),t=!0),r.getZxy(a.z,a.x,a.y,l).then(c=>{if(c){let o=new Blob([c.data],{type:n}),v=window.URL.createObjectURL(o);u.src=v,u.cancel=void 0,s(void 0,u)}}).catch(c=>{if(c.name!=="AbortError")throw c}),u},"createTile"),_removeTile:f(function(a){let s=this._tiles[a];s&&(s.el.cancel&&s.el.cancel(),s.el.width=0,s.el.height=0,s.el.deleted=!0,L.DomUtil.remove(s.el),delete this._tiles[a],this.fire("tileunload",{tile:s.el,coords:this._keyToTileCoords(a)}))},"_removeTile")});return new i(e)},"leafletRasterLayer"),xt=f(r=>(e,t)=>{if(t instanceof AbortController)return r(e,t);let n=new AbortController;return r(e,n).then(i=>t(void 0,i.data,i.cacheControl||"",i.expires||""),i=>t(i)).catch(i=>t(i)),{cancel:f(()=>n.abort(),"cancel")}},"v3compat"),ae=class ae{constructor(e){this.tilev4=f((e,t)=>m(this,null,function*(){if(e.type==="json"){let v=e.url.substr(10),d=this.tiles.get(v);if(d||(d=new P(v),this.tiles.set(v,d)),this.metadata)return{data:yield d.getTileJson(e.url)};let p=yield d.getHeader();return(p.minLon>=p.maxLon||p.minLat>=p.maxLat)&&console.error(`Bounds of PMTiles archive ${p.minLon},${p.minLat},${p.maxLon},${p.maxLat} are not valid.`),{data:{tiles:[`${e.url}/{z}/{x}/{y}`],minzoom:p.minZoom,maxzoom:p.maxZoom,bounds:[p.minLon,p.minLat,p.maxLon,p.maxLat]}}}let n=new RegExp(/pmtiles:\/\/(.+)\/(\d+)\/(\d+)\/(\d+)/),i=e.url.match(n);if(!i)throw new Error("Invalid PMTiles protocol URL");let a=i[1],s=this.tiles.get(a);s||(s=new P(a),this.tiles.set(a,s));let u=i[2],h=i[3],l=i[4],c=yield s.getHeader(),o=yield s==null?void 0:s.getZxy(+u,+h,+l,t.signal);if(o)return{data:new Uint8Array(o.data),cacheControl:o.cacheControl,expires:o.expires};if(c.tileType===1){if(this.errorOnMissingTile)throw new Error("Tile not found.");return{data:new Uint8Array}}return{data:null}}),"tilev4");this.tile=xt(this.tilev4);this.tiles=new Map,this.metadata=(e==null?void 0:e.metadata)||!1,this.errorOnMissingTile=(e==null?void 0:e.errorOnMissingTile)||!1}add(e){this.tiles.set(e.source.getKey(),e)}get(e){return this.tiles.get(e)}};f(ae,"Protocol");var ie=ae;function S(r,e){return(e>>>0)*4294967296+(r>>>0)}f(S,"toNum");function bt(r,e){let t=e.buf,n=t[e.pos++],i=(n&112)>>4;if(n<128||(n=t[e.pos++],i|=(n&127)<<3,n<128)||(n=t[e.pos++],i|=(n&127)<<10,n<128)||(n=t[e.pos++],i|=(n&127)<<17,n<128)||(n=t[e.pos++],i|=(n&127)<<24,n<128)||(n=t[e.pos++],i|=(n&1)<<31,n<128))return S(r,i);throw new Error("Expected varint not more than 10 bytes")}f(bt,"readVarintRemainder");function R(r){let e=r.buf,t=e[r.pos++],n=t&127;return t<128||(t=e[r.pos++],n|=(t&127)<<7,t<128)||(t=e[r.pos++],n|=(t&127)<<14,t<128)||(t=e[r.pos++],n|=(t&127)<<21,t<128)?n:(t=e[r.pos],n|=(t&15)<<28,bt(n,r))}f(R,"readVarint");function He(r,e,t,n){if(n===0){t===1&&(e[0]=r-1-e[0],e[1]=r-1-e[1]);let i=e[0];e[0]=e[1],e[1]=i}}f(He,"rotate");function zt(r,e){let t=U(2,r),n=e,i=e,a=e,s=[0,0],u=1;for(;u<t;)n=1&a/2,i=1&(a^n),He(u,s,n,i),s[0]+=u*n,s[1]+=u*i,a=a/4,u*=2;return[r,s[0],s[1]]}f(zt,"idOnLevel");var At=[0,1,5,21,85,341,1365,5461,21845,87381,349525,1398101,5592405,22369621,89478485,357913941,1431655765,5726623061,22906492245,91625968981,366503875925,1466015503701,5864062014805,23456248059221,93824992236885,375299968947541,0x5555555555555];function Ie(r,e,t){if(r>26)throw new Error("Tile zoom level exceeds max safe number limit (26)");if(e>U(2,r)-1||t>U(2,r)-1)throw new Error("tile x/y outside zoom level bounds");let n=At[r],i=U(2,r),a=0,s=0,u=0,h=[e,t],l=i/2;for(;l>0;)a=(h[0]&l)>0?1:0,s=(h[1]&l)>0?1:0,u+=l*l*(3*a^s),He(l,h,a,s),l=l/2;return n+u}f(Ie,"zxyToTileId");function Tt(r){let e=0,t=0;for(let n=0;n<27;n++){let i=(1<<n)*(1<<n);if(e+i>r)return zt(n,r-e);e+=i}throw new Error("Tile zoom level exceeds max safe number limit (26)")}f(Tt,"tileIdToZxy");var Oe=(a=>(a[a.Unknown=0]="Unknown",a[a.None=1]="None",a[a.Gzip=2]="Gzip",a[a.Brotli=3]="Brotli",a[a.Zstd=4]="Zstd",a))(Oe||{});function fe(r,e){return m(this,null,function*(){if(e===1||e===0)return r;if(e===2){if(typeof globalThis.DecompressionStream=="undefined")return Be(new Uint8Array(r));let t=new Response(r).body;if(!t)throw new Error("Failed to read response stream");let n=t.pipeThrough(new globalThis.DecompressionStream("gzip"));return new Response(n).arrayBuffer()}throw new Error("Compression method not supported")})}f(fe,"defaultDecompress");var se=(s=>(s[s.Unknown=0]="Unknown",s[s.Mvt=1]="Mvt",s[s.Png=2]="Png",s[s.Jpeg=3]="Jpeg",s[s.Webp=4]="Webp",s[s.Avif=5]="Avif",s))(se||{});function Ze(r){return r===1?".mvt":r===2?".png":r===3?".jpg":r===4?".webp":r===5?".avif":""}f(Ze,"tileTypeExt");var Ct=127;function Fe(r,e){let t=0,n=r.length-1;for(;t<=n;){let i=n+t>>1,a=e-r[i].tileId;if(a>0)t=i+1;else if(a<0)n=i-1;else return r[i]}return n>=0&&(r[n].runLength===0||e-r[n].tileId<r[n].runLength)?r[n]:null}f(Fe,"findTile");var le=class le{constructor(e){this.file=e}getKey(){return this.file.name}getBytes(e,t){return m(this,null,function*(){return{data:yield this.file.slice(e,e+t).arrayBuffer()}})}};f(le,"FileSource");var oe=le,he=class he{constructor(e,t=new Headers){this.url=e,this.customHeaders=t,this.mustReload=!1;let n="";"navigator"in globalThis&&(n=globalThis.navigator.userAgent||"");let i=n.indexOf("Windows")>-1,a=/Chrome|Chromium|Edg|OPR|Brave/.test(n);this.chromeWindowsNoCache=!1,i&&a&&(this.chromeWindowsNoCache=!0)}getKey(){return this.url}setHeaders(e){this.customHeaders=e}getBytes(e,t,n,i){return m(this,null,function*(){let a,s;n?s=n:(a=new AbortController,s=a.signal);let u=new Headers(this.customHeaders);u.set("range",`bytes=${e}-${e+t-1}`);let h;this.mustReload?h="reload":this.chromeWindowsNoCache&&(h="no-store");let l=yield fetch(this.url,{signal:s,cache:h,headers:u});if(e===0&&l.status===416){let d=l.headers.get("Content-Range");if(!d||!d.startsWith("bytes */"))throw new Error("Missing content-length on 416 response");let p=+d.substr(8);l=yield fetch(this.url,{signal:s,cache:"reload",headers:{range:`bytes=0-${p-1}`}})}let c=l.headers.get("Etag");if(c!=null&&c.startsWith("W/")&&(c=null),l.status===416||i&&c&&c!==i)throw this.mustReload=!0,new B(`Server returned non-matching ETag ${i} after one retry. Check browser extensions and servers for issues that may affect correct ETag headers.`);if(l.status>=300)throw new Error(`Bad response code: ${l.status}`);let o=l.headers.get("Content-Length");if(l.status===200&&(!o||+o>t))throw a&&a.abort(),new Error("Server returned no content-length header or content-length exceeding request. Check that your storage backend supports HTTP Byte Serving.");return{data:yield l.arrayBuffer(),etag:c||void 0,cacheControl:l.headers.get("Cache-Control")||void 0,expires:l.headers.get("Expires")||void 0}})}};f(he,"FetchSource");var K=he;function b(r,e){let t=r.getUint32(e+4,!0),n=r.getUint32(e+0,!0);return t*U(2,32)+n}f(b,"getUint64");function $e(r,e){let t=new DataView(r),n=t.getUint8(7);if(n>3)throw new Error(`Archive is spec version ${n} but this library supports up to spec version 3`);return{specVersion:n,rootDirectoryOffset:b(t,8),rootDirectoryLength:b(t,16),jsonMetadataOffset:b(t,24),jsonMetadataLength:b(t,32),leafDirectoryOffset:b(t,40),leafDirectoryLength:b(t,48),tileDataOffset:b(t,56),tileDataLength:b(t,64),numAddressedTiles:b(t,72),numTileEntries:b(t,80),numTileContents:b(t,88),clustered:t.getUint8(96)===1,internalCompression:t.getUint8(97),tileCompression:t.getUint8(98),tileType:t.getUint8(99),minZoom:t.getUint8(100),maxZoom:t.getUint8(101),minLon:t.getInt32(102,!0)/1e7,minLat:t.getInt32(106,!0)/1e7,maxLon:t.getInt32(110,!0)/1e7,maxLat:t.getInt32(114,!0)/1e7,centerZoom:t.getUint8(118),centerLon:t.getInt32(119,!0)/1e7,centerLat:t.getInt32(123,!0)/1e7,etag:e}}f($e,"bytesToHeader");function Ve(r){let e={buf:new Uint8Array(r),pos:0},t=R(e),n=[],i=0;for(let a=0;a<t;a++){let s=R(e);n.push({tileId:i+s,offset:0,length:0,runLength:1}),i+=s}for(let a=0;a<t;a++)n[a].runLength=R(e);for(let a=0;a<t;a++)n[a].length=R(e);for(let a=0;a<t;a++){let s=R(e);s===0&&a>0?n[a].offset=n[a-1].offset+n[a-1].length:n[a].offset=s-1}return n}f(Ve,"deserializeIndex");var ce=class ce extends Error{};f(ce,"EtagMismatch");var B=ce;function ke(r,e){return m(this,null,function*(){let t=yield r.getBytes(0,16384);if(new DataView(t.data).getUint16(0,!0)!==19792)throw new Error("Wrong magic number for PMTiles archive");let i=t.data.slice(0,Ct),a=$e(i,t.etag),s=t.data.slice(a.rootDirectoryOffset,a.rootDirectoryOffset+a.rootDirectoryLength),u=`${r.getKey()}|${a.etag||""}|${a.rootDirectoryOffset}|${a.rootDirectoryLength}`,h=Ve(yield e(s,a.internalCompression));return[a,[u,h.length,h]]})}f(ke,"getHeaderAndRoot");function Ke(r,e,t,n,i){return m(this,null,function*(){let a=yield r.getBytes(t,n,void 0,i.etag),s=yield e(a.data,i.internalCompression),u=Ve(s);if(u.length===0)throw new Error("Empty directory is invalid");return u})}f(Ke,"getDirectory");var ve=class ve{constructor(e=100,t=!0,n=fe){this.cache=new Map,this.maxCacheEntries=e,this.counter=1,this.decompress=n}getHeader(e){return m(this,null,function*(){let t=e.getKey(),n=this.cache.get(t);if(n)return n.lastUsed=this.counter++,n.data;let i=yield ke(e,this.decompress);return i[1]&&this.cache.set(i[1][0],{lastUsed:this.counter++,data:i[1][2]}),this.cache.set(t,{lastUsed:this.counter++,data:i[0]}),this.prune(),i[0]})}getDirectory(e,t,n,i){return m(this,null,function*(){let a=`${e.getKey()}|${i.etag||""}|${t}|${n}`,s=this.cache.get(a);if(s)return s.lastUsed=this.counter++,s.data;let u=yield Ke(e,this.decompress,t,n,i);return this.cache.set(a,{lastUsed:this.counter++,data:u}),this.prune(),u})}prune(){if(this.cache.size>this.maxCacheEntries){let e=1/0,t;this.cache.forEach((n,i)=>{n.lastUsed<e&&(e=n.lastUsed,t=i)}),t&&this.cache.delete(t)}}invalidate(e){return m(this,null,function*(){this.cache.delete(e.getKey())})}};f(ve,"ResolvedValueCache");var ue=ve,ge=class ge{constructor(e=100,t=!0,n=fe){this.cache=new Map,this.invalidations=new Map,this.maxCacheEntries=e,this.counter=1,this.decompress=n}getHeader(e){return m(this,null,function*(){let t=e.getKey(),n=this.cache.get(t);if(n)return n.lastUsed=this.counter++,yield n.data;let i=new Promise((a,s)=>{ke(e,this.decompress).then(u=>{u[1]&&this.cache.set(u[1][0],{lastUsed:this.counter++,data:Promise.resolve(u[1][2])}),a(u[0]),this.prune()}).catch(u=>{s(u)})});return this.cache.set(t,{lastUsed:this.counter++,data:i}),i})}getDirectory(e,t,n,i){return m(this,null,function*(){let a=`${e.getKey()}|${i.etag||""}|${t}|${n}`,s=this.cache.get(a);if(s)return s.lastUsed=this.counter++,yield s.data;let u=new Promise((h,l)=>{Ke(e,this.decompress,t,n,i).then(c=>{h(c),this.prune()}).catch(c=>{l(c)})});return this.cache.set(a,{lastUsed:this.counter++,data:u}),u})}prune(){if(this.cache.size>=this.maxCacheEntries){let e=1/0,t;this.cache.forEach((n,i)=>{n.lastUsed<e&&(e=n.lastUsed,t=i)}),t&&this.cache.delete(t)}}invalidate(e){return m(this,null,function*(){let t=e.getKey();if(this.invalidations.get(t))return yield this.invalidations.get(t);this.cache.delete(e.getKey());let n=new Promise((i,a)=>{this.getHeader(e).then(s=>{i(),this.invalidations.delete(t)}).catch(s=>{a(s)})});this.invalidations.set(t,n)})}};f(ge,"SharedPromiseCache");var G=ge,pe=class pe{constructor(e,t,n){typeof e=="string"?this.source=new K(e):this.source=e,n?this.decompress=n:this.decompress=fe,t?this.cache=t:this.cache=new G}getHeader(){return m(this,null,function*(){return yield this.cache.getHeader(this.source)})}getZxyAttempt(e,t,n,i){return m(this,null,function*(){let a=Ie(e,t,n),s=yield this.cache.getHeader(this.source);if(e<s.minZoom||e>s.maxZoom)return;let u=s.rootDirectoryOffset,h=s.rootDirectoryLength;for(let l=0;l<=3;l++){let c=yield this.cache.getDirectory(this.source,u,h,s),o=Fe(c,a);if(o){if(o.runLength>0){let v=yield this.source.getBytes(s.tileDataOffset+o.offset,o.length,i,s.etag);return{data:yield this.decompress(v.data,s.tileCompression),cacheControl:v.cacheControl,expires:v.expires}}u=s.leafDirectoryOffset+o.offset,h=o.length}else return}throw new Error("Maximum directory depth exceeded")})}getZxy(e,t,n,i){return m(this,null,function*(){try{return yield this.getZxyAttempt(e,t,n,i)}catch(a){if(a instanceof B)return this.cache.invalidate(this.source),yield this.getZxyAttempt(e,t,n,i);throw a}})}getMetadataAttempt(){return m(this,null,function*(){let e=yield this.cache.getHeader(this.source),t=yield this.source.getBytes(e.jsonMetadataOffset,e.jsonMetadataLength,void 0,e.etag),n=yield this.decompress(t.data,e.internalCompression),i=new TextDecoder("utf-8");return JSON.parse(i.decode(n))})}getMetadata(){return m(this,null,function*(){try{return yield this.getMetadataAttempt()}catch(e){if(e instanceof B)return this.cache.invalidate(this.source),yield this.getMetadataAttempt();throw e}})}getTileJson(e){return m(this,null,function*(){let t=yield this.getHeader(),n=yield this.getMetadata(),i=Ze(t.tileType);return{tilejson:"3.0.0",scheme:"xyz",tiles:[`${e}/{z}/{x}/{y}${i}`],vector_layers:n.vector_layers,attribution:n.attribution,description:n.description,name:n.name,version:n.version,bounds:[t.minLon,t.minLat,t.maxLon,t.maxLat],center:[t.centerLon,t.centerLat,t.centerZoom],minzoom:t.minZoom,maxzoom:t.maxZoom}})}};f(pe,"PMTiles");var P=pe;return et(Dt);})();
|
|
2
|
+
//# sourceMappingURL=pmtiles.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var protomapsL=(()=>{var Zr=Object.create;var He=Object.defineProperty;var Jr=Object.getOwnPropertyDescriptor;var Kr=Object.getOwnPropertyNames;var Gr=Object.getPrototypeOf,Qr=Object.prototype.hasOwnProperty;var B=Math.pow;var se=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),en=(t,e)=>{for(var r in e)He(t,r,{get:e[r],enumerable:!0})},Et=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Kr(e))!Qr.call(t,i)&&i!==r&&He(t,i,{get:()=>e[i],enumerable:!(n=Jr(e,i))||n.enumerable});return t};var W=(t,e,r)=>(r=t!=null?Zr(Gr(t)):{},Et(e||!t||!t.__esModule?He(r,"default",{value:t,enumerable:!0}):r,t)),tn=t=>Et(He({},"__esModule",{value:!0}),t);var R=(t,e,r)=>new Promise((n,i)=>{var s=l=>{try{o(r.next(l))}catch(c){i(c)}},a=l=>{try{o(r.throw(l))}catch(c){i(c)}},o=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,a);o((r=r.apply(t,e)).next())});var Q=se((Ki,Ut)=>{"use strict";Ut.exports=fe;function fe(t,e){this.x=t,this.y=e}fe.prototype={clone:function(){return new fe(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},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(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),s=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=s,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}};fe.convert=function(t){return t instanceof fe?t:Array.isArray(t)?new fe(t[0],t[1]):t}});var mt=se((is,Zt)=>{"use strict";var pn=Q();Zt.exports=pe;function pe(t,e,r,n,i){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=i,t.readFields(gn,this,e)}function gn(t,e,r){t==1?e.id=r.readVarint():t==2?bn(r,e):t==3?e.type=r.readVarint():t==4&&(e._geometry=r.pos)}function bn(t,e){for(var r=t.readVarint()+t.pos;t.pos<r;){var n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}pe.types=["Unknown","Point","LineString","Polygon"];pe.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,s=0,a=[],o;t.pos<e;){if(n<=0){var l=t.readVarint();r=l&7,n=l>>3}if(n--,r===1||r===2)i+=t.readSVarint(),s+=t.readSVarint(),r===1&&(o&&a.push(o),o=[]),o.push(new pn(i,s));else if(r===7)o&&o.push(o[0].clone());else throw new Error("unknown command "+r)}return o&&a.push(o),a};pe.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,s=0,a=1/0,o=-1/0,l=1/0,c=-1/0;t.pos<e;){if(n<=0){var u=t.readVarint();r=u&7,n=u>>3}if(n--,r===1||r===2)i+=t.readSVarint(),s+=t.readSVarint(),i<a&&(a=i),i>o&&(o=i),s<l&&(l=s),s>c&&(c=s);else if(r!==7)throw new Error("unknown command "+r)}return[a,l,o,c]};pe.prototype.toGeoJSON=function(t,e,r){var n=this.extent*Math.pow(2,r),i=this.extent*t,s=this.extent*e,a=this.loadGeometry(),o=pe.types[this.type],l,c;function u(y){for(var _=0;_<y.length;_++){var k=y[_],f=180-(k.y+s)*360/n;y[_]=[(k.x+i)*360/n-180,360/Math.PI*Math.atan(Math.exp(f*Math.PI/180))-90]}}switch(this.type){case 1:var h=[];for(l=0;l<a.length;l++)h[l]=a[l][0];a=h,u(a);break;case 2:for(l=0;l<a.length;l++)u(a[l]);break;case 3:for(a=xn(a),l=0;l<a.length;l++)for(c=0;c<a[l].length;c++)u(a[l][c]);break}a.length===1?a=a[0]:o="Multi"+o;var p={type:"Feature",geometry:{type:o,coordinates:a},properties:this.properties};return"id"in this&&(p.id=this.id),p};function xn(t){var e=t.length;if(e<=1)return[t];for(var r=[],n,i,s=0;s<e;s++){var a=yn(t[s]);a!==0&&(i===void 0&&(i=a<0),i===a<0?(n&&r.push(n),n=[t[s]]):n.push(t[s]))}return n&&r.push(n),r}function yn(t){for(var e=0,r=0,n=t.length,i=n-1,s,a;r<n;i=r++)s=t[r],a=t[i],e+=(a.x-s.x)*(s.y+a.y);return e}});var pt=se((ss,Kt)=>{"use strict";var wn=mt();Kt.exports=Jt;function Jt(t,e){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(_n,this,e),this.length=this._features.length}function _n(t,e,r){t===15?e.version=r.readVarint():t===1?e.name=r.readString():t===5?e.extent=r.readVarint():t===2?e._features.push(r.pos):t===3?e._keys.push(r.readString()):t===4&&e._values.push(vn(r))}function vn(t){for(var e=null,r=t.readVarint()+t.pos;t.pos<r;){var n=t.readVarint()>>3;e=n===1?t.readString():n===2?t.readFloat():n===3?t.readDouble():n===4?t.readVarint64():n===5?t.readVarint():n===6?t.readSVarint():n===7?t.readBoolean():null}return e}Jt.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new wn(this._pbf,e,this.extent,this._keys,this._values)}});var Qt=se((as,Gt)=>{"use strict";var kn=pt();Gt.exports=zn;function zn(t,e){this.layers=t.readFields(Tn,{},e)}function Tn(t,e,r){if(t===3){var n=new kn(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}});var er=se((os,Ze)=>{Ze.exports.VectorTile=Qt();Ze.exports.VectorTileFeature=mt();Ze.exports.VectorTileLayer=pt()});var tr=se(gt=>{gt.read=function(t,e,r,n,i){var s,a,o=i*8-n-1,l=(1<<o)-1,c=l>>1,u=-7,h=r?i-1:0,p=r?-1:1,y=t[e+h];for(h+=p,s=y&(1<<-u)-1,y>>=-u,u+=o;u>0;s=s*256+t[e+h],h+=p,u-=8);for(a=s&(1<<-u)-1,s>>=-u,u+=n;u>0;a=a*256+t[e+h],h+=p,u-=8);if(s===0)s=1-c;else{if(s===l)return a?NaN:(y?-1:1)*(1/0);a=a+Math.pow(2,n),s=s-c}return(y?-1:1)*a*Math.pow(2,s-n)};gt.write=function(t,e,r,n,i,s){var a,o,l,c=s*8-i-1,u=(1<<c)-1,h=u>>1,p=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,y=n?0:s-1,_=n?1:-1,k=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=u):(a=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-a))<1&&(a--,l*=2),a+h>=1?e+=p/l:e+=p*Math.pow(2,1-h),e*l>=2&&(a++,l/=2),a+h>=u?(o=0,a=u):a+h>=1?(o=(e*l-1)*Math.pow(2,i),a=a+h):(o=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[r+y]=o&255,y+=_,o/=256,i-=8);for(a=a<<i|o,c+=i;c>0;t[r+y]=a&255,y+=_,a/=256,c-=8);t[r+y-_]|=k*128}});var or=se((cs,ar)=>{"use strict";ar.exports=P;var Je=tr();function P(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}P.Varint=0;P.Fixed64=1;P.Bytes=2;P.Fixed32=5;var bt=(1<<16)*(1<<16),rr=1/bt,Mn=12,sr=typeof TextDecoder=="undefined"?null:new TextDecoder("utf8");P.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,s=this.pos;this.type=n&7,t(i,e,this),this.pos===s&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Ke(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=ir(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Ke(this.buf,this.pos)+Ke(this.buf,this.pos+4)*bt;return this.pos+=8,t},readSFixed64:function(){var t=Ke(this.buf,this.pos)+ir(this.buf,this.pos+4)*bt;return this.pos+=8,t},readFloat:function(){var t=Je.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Je.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e=this.buf,r,n;return n=e[this.pos++],r=n&127,n<128||(n=e[this.pos++],r|=(n&127)<<7,n<128)||(n=e[this.pos++],r|=(n&127)<<14,n<128)||(n=e[this.pos++],r|=(n&127)<<21,n<128)?r:(n=e[this.pos],r|=(n&15)<<28,Pn(r,t,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2===1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=Mn&&sr?Vn(this.buf,e,t):Yn(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==P.Bytes)return t.push(this.readVarint(e));var r=ee(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==P.Bytes)return t.push(this.readSVarint());var e=ee(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==P.Bytes)return t.push(this.readBoolean());var e=ee(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==P.Bytes)return t.push(this.readFloat());var e=ee(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==P.Bytes)return t.push(this.readDouble());var e=ee(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==P.Bytes)return t.push(this.readFixed32());var e=ee(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==P.Bytes)return t.push(this.readSFixed32());var e=ee(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==P.Bytes)return t.push(this.readFixed64());var e=ee(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==P.Bytes)return t.push(this.readSFixed64());var e=ee(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=t&7;if(e===P.Varint)for(;this.buf[this.pos++]>127;);else if(e===P.Bytes)this.pos=this.readVarint()+this.pos;else if(e===P.Fixed32)this.pos+=4;else if(e===P.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+e)},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),be(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),be(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),be(this.buf,t&-1,this.pos),be(this.buf,Math.floor(t*rr),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),be(this.buf,t&-1,this.pos),be(this.buf,Math.floor(t*rr),this.pos+4),this.pos+=8},writeVarint:function(t){if(t=+t||0,t>268435455||t<0){Ln(t,this);return}this.realloc(4),this.buf[this.pos++]=t&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=(t>>>=7)&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=(t>>>=7)&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=t>>>7&127)))},writeSVarint:function(t){this.writeVarint(t<0?-t*2-1:t*2)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(t.length*4),this.pos++;var e=this.pos;this.pos=En(this.buf,t,this.pos);var r=this.pos-e;r>=128&&nr(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),Je.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Je.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&nr(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,P.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,Cn,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Dn,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,Rn,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,An,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,Bn,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,jn,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,On,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Xn,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,In,e)},writeBytesField:function(t,e){this.writeTag(t,P.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,P.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,P.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,P.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,P.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,P.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,P.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,P.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,P.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,P.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};function Pn(t,e,r){var n=r.buf,i,s;if(s=n[r.pos++],i=(s&112)>>4,s<128||(s=n[r.pos++],i|=(s&127)<<3,s<128)||(s=n[r.pos++],i|=(s&127)<<10,s<128)||(s=n[r.pos++],i|=(s&127)<<17,s<128)||(s=n[r.pos++],i|=(s&127)<<24,s<128)||(s=n[r.pos++],i|=(s&1)<<31,s<128))return ge(t,i,e);throw new Error("Expected varint not more than 10 bytes")}function ee(t){return t.type===P.Bytes?t.readVarint()+t.pos:t.pos+1}function ge(t,e,r){return r?e*4294967296+(t>>>0):(e>>>0)*4294967296+(t>>>0)}function Ln(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(r=~(-t%4294967296),n=~(-t/4294967296),r^4294967295?r=r+1|0:(r=0,n=n+1|0)),t>=18446744073709552e3||t<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),Fn(r,n,e),Sn(n,e)}function Fn(t,e,r){r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos]=t&127}function Sn(t,e){var r=(t&7)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127)))))}function nr(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(Math.LN2*7));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function Cn(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function Dn(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function An(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function Bn(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function Rn(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function jn(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function On(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function Xn(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function In(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function Ke(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216}function be(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function ir(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function Yn(t,e,r){for(var n="",i=e;i<r;){var s=t[i],a=null,o=s>239?4:s>223?3:s>191?2:1;if(i+o>r)break;var l,c,u;o===1?s<128&&(a=s):o===2?(l=t[i+1],(l&192)===128&&(a=(s&31)<<6|l&63,a<=127&&(a=null))):o===3?(l=t[i+1],c=t[i+2],(l&192)===128&&(c&192)===128&&(a=(s&15)<<12|(l&63)<<6|c&63,(a<=2047||a>=55296&&a<=57343)&&(a=null))):o===4&&(l=t[i+1],c=t[i+2],u=t[i+3],(l&192)===128&&(c&192)===128&&(u&192)===128&&(a=(s&15)<<18|(l&63)<<12|(c&63)<<6|u&63,(a<=65535||a>=1114112)&&(a=null))),a===null?(a=65533,o=1):a>65535&&(a-=65536,n+=String.fromCharCode(a>>>10&1023|55296),a=56320|a&1023),n+=String.fromCharCode(a),i+=o}return n}function Vn(t,e,r){return sr.decode(t.subarray(e,r))}function En(t,e,r){for(var n=0,i,s;n<e.length;n++){if(i=e.charCodeAt(n),i>55295&&i<57344)if(s)if(i<56320){t[r++]=239,t[r++]=191,t[r++]=189,s=i;continue}else i=s-55296<<10|i-56320|65536,s=null;else{i>56319||n+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):s=i;continue}else s&&(t[r++]=239,t[r++]=191,t[r++]=189,s=null);i<128?t[r++]=i:(i<2048?t[r++]=i>>6|192:(i<65536?t[r++]=i>>12|224:(t[r++]=i>>18|240,t[r++]=i>>12&63|128),t[r++]=i>>6&63|128),t[r++]=i&63|128)}return r}});var Ir=se((Ct,Dt)=>{(function(t,e){typeof Ct=="object"&&typeof Dt!="undefined"?Dt.exports=e():typeof define=="function"&&define.amd?define(e):(t=t||self).RBush=e()})(Ct,function(){"use strict";function t(f,d,m,x,g){(function b(v,w,z,T,M){for(;T>z;){if(T-z>600){var S=T-z+1,A=w-z+1,ae=Math.log(S),G=.5*Math.exp(2*ae/3),Y=.5*Math.sqrt(ae*G*(S-G)/S)*(A-S/2<0?-1:1),q=Math.max(z,Math.floor(w-A*G/S+Y)),Ne=Math.min(T,Math.floor(w+(S-A)*G/S+Y));b(v,w,q,Ne,M)}var X=v[w],oe=z,V=T;for(e(v,z,w),M(v[T],X)>0&&e(v,z,T);oe<V;){for(e(v,oe,V),oe++,V--;M(v[oe],X)<0;)oe++;for(;M(v[V],X)>0;)V--}M(v[z],X)===0?e(v,z,V):e(v,++V,T),V<=w&&(z=V+1),w<=V&&(T=V-1)}})(f,d,m||0,x||f.length-1,g||r)}function e(f,d,m){var x=f[d];f[d]=f[m],f[m]=x}function r(f,d){return f<d?-1:f>d?1:0}var n=function(f){f===void 0&&(f=9),this._maxEntries=Math.max(4,f),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function i(f,d,m){if(!m)return d.indexOf(f);for(var x=0;x<d.length;x++)if(m(f,d[x]))return x;return-1}function s(f,d){a(f,0,f.children.length,d,f)}function a(f,d,m,x,g){g||(g=_(null)),g.minX=1/0,g.minY=1/0,g.maxX=-1/0,g.maxY=-1/0;for(var b=d;b<m;b++){var v=f.children[b];o(g,f.leaf?x(v):v)}return g}function o(f,d){return f.minX=Math.min(f.minX,d.minX),f.minY=Math.min(f.minY,d.minY),f.maxX=Math.max(f.maxX,d.maxX),f.maxY=Math.max(f.maxY,d.maxY),f}function l(f,d){return f.minX-d.minX}function c(f,d){return f.minY-d.minY}function u(f){return(f.maxX-f.minX)*(f.maxY-f.minY)}function h(f){return f.maxX-f.minX+(f.maxY-f.minY)}function p(f,d){return f.minX<=d.minX&&f.minY<=d.minY&&d.maxX<=f.maxX&&d.maxY<=f.maxY}function y(f,d){return d.minX<=f.maxX&&d.minY<=f.maxY&&d.maxX>=f.minX&&d.maxY>=f.minY}function _(f){return{children:f,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function k(f,d,m,x,g){for(var b=[d,m];b.length;)if(!((m=b.pop())-(d=b.pop())<=x)){var v=d+Math.ceil((m-d)/x/2)*x;t(f,v,d,m,g),b.push(d,v,v,m)}}return n.prototype.all=function(){return this._all(this.data,[])},n.prototype.search=function(f){var d=this.data,m=[];if(!y(f,d))return m;for(var x=this.toBBox,g=[];d;){for(var b=0;b<d.children.length;b++){var v=d.children[b],w=d.leaf?x(v):v;y(f,w)&&(d.leaf?m.push(v):p(f,w)?this._all(v,m):g.push(v))}d=g.pop()}return m},n.prototype.collides=function(f){var d=this.data;if(!y(f,d))return!1;for(var m=[];d;){for(var x=0;x<d.children.length;x++){var g=d.children[x],b=d.leaf?this.toBBox(g):g;if(y(f,b)){if(d.leaf||p(f,b))return!0;m.push(g)}}d=m.pop()}return!1},n.prototype.load=function(f){if(!f||!f.length)return this;if(f.length<this._minEntries){for(var d=0;d<f.length;d++)this.insert(f[d]);return this}var m=this._build(f.slice(),0,f.length-1,0);if(this.data.children.length)if(this.data.height===m.height)this._splitRoot(this.data,m);else{if(this.data.height<m.height){var x=this.data;this.data=m,m=x}this._insert(m,this.data.height-m.height-1,!0)}else this.data=m;return this},n.prototype.insert=function(f){return f&&this._insert(f,this.data.height-1),this},n.prototype.clear=function(){return this.data=_([]),this},n.prototype.remove=function(f,d){if(!f)return this;for(var m,x,g,b=this.data,v=this.toBBox(f),w=[],z=[];b||w.length;){if(b||(b=w.pop(),x=w[w.length-1],m=z.pop(),g=!0),b.leaf){var T=i(f,b.children,d);if(T!==-1)return b.children.splice(T,1),w.push(b),this._condense(w),this}g||b.leaf||!p(b,v)?x?(m++,b=x.children[m],g=!1):b=null:(w.push(b),z.push(m),m=0,x=b,b=b.children[0])}return this},n.prototype.toBBox=function(f){return f},n.prototype.compareMinX=function(f,d){return f.minX-d.minX},n.prototype.compareMinY=function(f,d){return f.minY-d.minY},n.prototype.toJSON=function(){return this.data},n.prototype.fromJSON=function(f){return this.data=f,this},n.prototype._all=function(f,d){for(var m=[];f;)f.leaf?d.push.apply(d,f.children):m.push.apply(m,f.children),f=m.pop();return d},n.prototype._build=function(f,d,m,x){var g,b=m-d+1,v=this._maxEntries;if(b<=v)return s(g=_(f.slice(d,m+1)),this.toBBox),g;x||(x=Math.ceil(Math.log(b)/Math.log(v)),v=Math.ceil(b/Math.pow(v,x-1))),(g=_([])).leaf=!1,g.height=x;var w=Math.ceil(b/v),z=w*Math.ceil(Math.sqrt(v));k(f,d,m,z,this.compareMinX);for(var T=d;T<=m;T+=z){var M=Math.min(T+z-1,m);k(f,T,M,w,this.compareMinY);for(var S=T;S<=M;S+=w){var A=Math.min(S+w-1,M);g.children.push(this._build(f,S,A,x-1))}}return s(g,this.toBBox),g},n.prototype._chooseSubtree=function(f,d,m,x){for(;x.push(d),!d.leaf&&x.length-1!==m;){for(var g=1/0,b=1/0,v=void 0,w=0;w<d.children.length;w++){var z=d.children[w],T=u(z),M=(S=f,A=z,(Math.max(A.maxX,S.maxX)-Math.min(A.minX,S.minX))*(Math.max(A.maxY,S.maxY)-Math.min(A.minY,S.minY))-T);M<b?(b=M,g=T<g?T:g,v=z):M===b&&T<g&&(g=T,v=z)}d=v||d.children[0]}var S,A;return d},n.prototype._insert=function(f,d,m){var x=m?f:this.toBBox(f),g=[],b=this._chooseSubtree(x,this.data,d,g);for(b.children.push(f),o(b,x);d>=0&&g[d].children.length>this._maxEntries;)this._split(g,d),d--;this._adjustParentBBoxes(x,g,d)},n.prototype._split=function(f,d){var m=f[d],x=m.children.length,g=this._minEntries;this._chooseSplitAxis(m,g,x);var b=this._chooseSplitIndex(m,g,x),v=_(m.children.splice(b,m.children.length-b));v.height=m.height,v.leaf=m.leaf,s(m,this.toBBox),s(v,this.toBBox),d?f[d-1].children.push(v):this._splitRoot(m,v)},n.prototype._splitRoot=function(f,d){this.data=_([f,d]),this.data.height=f.height+1,this.data.leaf=!1,s(this.data,this.toBBox)},n.prototype._chooseSplitIndex=function(f,d,m){for(var x,g,b,v,w,z,T,M=1/0,S=1/0,A=d;A<=m-d;A++){var ae=a(f,0,A,this.toBBox),G=a(f,A,m,this.toBBox),Y=(g=ae,b=G,v=void 0,w=void 0,z=void 0,T=void 0,v=Math.max(g.minX,b.minX),w=Math.max(g.minY,b.minY),z=Math.min(g.maxX,b.maxX),T=Math.min(g.maxY,b.maxY),Math.max(0,z-v)*Math.max(0,T-w)),q=u(ae)+u(G);Y<M?(M=Y,x=A,S=q<S?q:S):Y===M&&q<S&&(S=q,x=A)}return x||m-d},n.prototype._chooseSplitAxis=function(f,d,m){var x=f.leaf?this.compareMinX:l,g=f.leaf?this.compareMinY:c;this._allDistMargin(f,d,m,x)<this._allDistMargin(f,d,m,g)&&f.children.sort(x)},n.prototype._allDistMargin=function(f,d,m,x){f.children.sort(x);for(var g=this.toBBox,b=a(f,0,d,g),v=a(f,m-d,m,g),w=h(b)+h(v),z=d;z<m-d;z++){var T=f.children[z];o(b,f.leaf?g(T):T),w+=h(b)}for(var M=m-d-1;M>=d;M--){var S=f.children[M];o(v,f.leaf?g(S):S),w+=h(v)}return w},n.prototype._adjustParentBBoxes=function(f,d,m){for(var x=m;x>=0;x--)o(d[x],f)},n.prototype._condense=function(f){for(var d=f.length-1,m=void 0;d>=0;d--)f[d].children.length===0?d>0?(m=f[d-1].children).splice(m.indexOf(f[d]),1):this.clear():s(f[d],this.toBBox)},n})});var Zi={};en(Zi,{CenteredSymbolizer:()=>tt,CenteredTextSymbolizer:()=>ne,CircleSymbolizer:()=>Be,FlexSymbolizer:()=>Ft,Font:()=>qi,GeomType:()=>Mt,GroupSymbolizer:()=>Re,IconSymbolizer:()=>Pt,Index:()=>at,Justify:()=>Br,Labeler:()=>ke,Labelers:()=>ze,LineLabelPlacement:()=>Or,LineLabelSymbolizer:()=>le,LineSymbolizer:()=>O,OffsetSymbolizer:()=>rt,OffsetTextSymbolizer:()=>Oe,Padding:()=>St,PmtilesSource:()=>ve,PolygonSymbolizer:()=>D,Sheet:()=>jt,ShieldSymbolizer:()=>Lt,Static:()=>Bt,TextPlacements:()=>Rr,TextSymbolizer:()=>je,TileCache:()=>Ae,View:()=>st,ZxySource:()=>De,arr:()=>Si,covering:()=>Er,createPattern:()=>Fi,exp:()=>$,getZoom:()=>At,isCcw:()=>Sr,isInRing:()=>Tt,labelRules:()=>Ie,leafletLayer:()=>Hi,linear:()=>nt,paint:()=>Ue,paintRules:()=>Xe,pointInPolygon:()=>Cr,pointMinDistToLines:()=>Ar,pointMinDistToPoints:()=>Dr,sourcesToViews:()=>Ee,step:()=>Bi,toIndex:()=>re,transformGeom:()=>Ve,wrap:()=>Ye});var ie=W(Q(),1);function he(t,e,r){return Math.min(Math.max(t,r),e)}var ft=class extends Error{constructor(e){super(`Failed to parse color: "${e}"`)}},Me=ft;function $t(t){if(typeof t!="string")throw new Me(t);if(t.trim().toLowerCase()==="transparent")return[0,0,0,0];let e=t.trim();e=un.test(t)?sn(t):t;let r=an.exec(e);if(r){let a=Array.from(r).slice(1);return[...a.slice(0,3).map(o=>parseInt(Pe(o,2),16)),parseInt(Pe(a[3]||"f",2),16)/255]}let n=on.exec(e);if(n){let a=Array.from(n).slice(1);return[...a.slice(0,3).map(o=>parseInt(o,16)),parseInt(a[3]||"ff",16)/255]}let i=ln.exec(e);if(i){let a=Array.from(i).slice(1);return[...a.slice(0,3).map(o=>parseInt(o,10)),parseFloat(a[3]||"1")]}let s=cn.exec(e);if(s){let[a,o,l,c]=Array.from(s).slice(1).map(parseFloat);if(he(0,100,o)!==o)throw new Me(t);if(he(0,100,l)!==l)throw new Me(t);return[...fn(a,o,l),Number.isNaN(c)?1:c]}throw new Me(t)}function rn(t){let e=5381,r=t.length;for(;r;)e=e*33^t.charCodeAt(--r);return(e>>>0)%2341}var Nt=t=>parseInt(t.replace(/_/g,""),36),nn="1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm".split(" ").reduce((t,e)=>{let r=Nt(e.substring(0,3)),n=Nt(e.substring(3)).toString(16),i="";for(let s=0;s<6-n.length;s++)i+="0";return t[r]=`${i}${n}`,t},{});function sn(t){let e=t.toLowerCase().trim(),r=nn[rn(e)];if(!r)throw new Me(t);return`#${r}`}var Pe=(t,e)=>Array.from(Array(e)).map(()=>t).join(""),an=new RegExp(`^#${Pe("([a-f0-9])",3)}([a-f0-9])?$`,"i"),on=new RegExp(`^#${Pe("([a-f0-9]{2})",3)}([a-f0-9]{2})?$`,"i"),ln=new RegExp(`^rgba?\\(\\s*(\\d+)\\s*${Pe(",\\s*(\\d+)\\s*",2)}(?:,\\s*([\\d.]+))?\\s*\\)$`,"i"),cn=/^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i,un=/^[a-z]+$/i,Ht=t=>Math.round(t*255),fn=(t,e,r)=>{let n=r/100;if(e===0)return[n,n,n].map(Ht);let i=(t%360+360)%360/60,s=(1-Math.abs(2*n-1))*(e/100),a=s*(1-Math.abs(i%2-1)),o=0,l=0,c=0;i>=0&&i<1?(o=s,l=a):i>=1&&i<2?(o=a,l=s):i>=2&&i<3?(l=s,c=a):i>=3&&i<4?(l=a,c=s):i>=4&&i<5?(o=a,c=s):i>=5&&i<6&&(o=s,c=a);let u=n-s/2,h=o+u,p=l+u,y=c+u;return[h,p,y].map(Ht)};function hn(t,e,r,n){return`rgba(${he(0,255,t).toFixed()}, ${he(0,255,e).toFixed()}, ${he(0,255,r).toFixed()}, ${parseFloat(he(0,1,n).toFixed(3))})`}function qe(t,e,r){let n=(b,v)=>v===3?b:b/255,[i,s,a,o]=$t(t).map(n),[l,c,u,h]=$t(e).map(n),p=h-o,y=r*2-1,k=((y*p===-1?y:y+p/(1+y*p))+1)/2,f=1-k,d=(i*f+l*k)*255,m=(s*f+c*k)*255,x=(a*f+u*k)*255,g=h*r+o*(1-r);return hn(d,m,x,g)}var K=W(Q(),1);var j=class{constructor(e,r){this.str=e!=null?e:r,this.perFeature=typeof this.str=="function"&&this.str.length===2}get(e,r){return typeof this.str=="function"?this.str(e,r):this.str}},C=class{constructor(e,r=1){this.value=e!=null?e:r,this.perFeature=typeof this.value=="function"&&this.value.length===2}get(e,r){return typeof this.value=="function"?this.value(e,r):this.value}},de=class{constructor(e){var r;this.labelProps=(r=e==null?void 0:e.labelProps)!=null?r:["name"],this.textTransform=e==null?void 0:e.textTransform}get(e,r){let n,i;typeof this.labelProps=="function"?i=this.labelProps(e,r):i=this.labelProps;for(let a of i)if(Object.prototype.hasOwnProperty.call(r.props,a)&&typeof r.props[a]=="string"){n=r.props[a];break}let s;return typeof this.textTransform=="function"?s=this.textTransform(e,r):s=this.textTransform,n&&s==="uppercase"?n=n.toUpperCase():n&&s==="lowercase"?n=n.toLowerCase():n&&s==="capitalize"&&(n=n.toLowerCase().split(" ").map(l=>l[0].toUpperCase()+l.slice(1)).join(" ")),n}},me=class{constructor(e){var r,n;e!=null&&e.font?this.font=e.font:(this.family=(r=e==null?void 0:e.fontFamily)!=null?r:"sans-serif",this.size=(n=e==null?void 0:e.fontSize)!=null?n:12,this.weight=e==null?void 0:e.fontWeight,this.style=e==null?void 0:e.fontStyle)}get(e,r){if(this.font)return typeof this.font=="function"?this.font(e,r):this.font;let n="";this.style&&(typeof this.style=="function"?n=`${this.style(e,r)} `:n=`${this.style} `);let i="";this.weight&&(typeof this.weight=="function"?i=`${this.weight(e,r)} `:i=`${this.weight} `);let s;typeof this.size=="function"?s=this.size(e,r):s=this.size;let a;return typeof this.family=="function"?a=this.family(e,r):a=this.family,`${n}${i}${s}px ${a}`}},We=class{constructor(e,r=[]){this.value=e!=null?e:r,this.perFeature=typeof this.value=="function"&&this.value.length===2}get(e,r){return typeof this.value=="function"?this.value(e,r):this.value}};var ht=W(Q(),1);var dn=(t,e,r)=>{let n=[],i,s,a,o=0,l=0,c=0,u=0,h=0,p=0,y=0,_=0,k=0,f=0,d=0,m=0;if(t.length<2)return[];if(t.length===2)return c=Math.sqrt(B(t[1].x-t[0].x,2)+B(t[1].y-t[0].y,2)),[{length:c,beginIndex:0,beginDistance:0,endIndex:2,endDistance:c}];for(u=Math.sqrt(B(t[1].x-t[0].x,2)+B(t[1].y-t[0].y,2)),o=1,l=t.length-1;o<l;o++)i=t[o-1],s=t[o],a=t[o+1],p=s.x-i.x,y=s.y-i.y,_=a.x-s.x,k=a.y-s.y,h=Math.sqrt(_*_+k*k),c+=u,f=Math.acos((p*_+y*k)/(u*h)),(f>e||c-m>r)&&(n.push({length:c-m,beginDistance:m,beginIndex:d,endIndex:o+1,endDistance:c}),d=o,m=c),u=h;return o-d>0&&n.push({length:c-m+h,beginIndex:d,beginDistance:m,endIndex:o+1,endDistance:c+h}),n};function qt(t,e,r,n){let i=[];for(let s of t){let a=dn(s,Math.PI/45,e);for(let o of a)if(o.length>=e+n){let l=new ht.default(s[o.beginIndex].x,s[o.beginIndex].y),c=s[o.endIndex-1],u=new ht.default((c.x-l.x)/o.length,(c.y-l.y)/o.length);for(let h=n;h<o.length-e;h+=r)i.push({start:l.add(u.mult(h)),end:l.add(u.mult(h+e))})}}return i}function Wt(t,e,r,n){let i=e.x-t.x,s=e.y-t.y,a=Math.sqrt(B(e.x-t.x,2)+B(e.y-t.y,2)),o=[];for(let l=0;l<r+n;l+=2*n){let c=l*1/a;o.push({x:t.x+c*i,y:t.y+c*s})}return o}function dt(t,e){if(t.length<=e)return[t];let r=e-1,n=t.lastIndexOf(" ",r),i=t.indexOf(" ",r);if(n===-1&&i===-1)return[t];let s,a;return i===-1||n>=0&&r-n<i-r?(s=t.substring(0,n),a=t.substring(n+1,t.length)):(s=t.substring(0,i),a=t.substring(i+1,t.length)),[s,...dt(a,e)]}var mn="\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DB5\u4E00-\u9FEA\uF900-\uFA6D\uFA70-\uFAD9\u2000",rs=new RegExp(`^[${mn}]+$`);var _e=W(Q(),1),Pr=W(er(),1),Lr=W(or(),1);var we=Math.pow,I=(t,e,r)=>new Promise((n,i)=>{var s=l=>{try{o(r.next(l))}catch(c){i(c)}},a=l=>{try{o(r.throw(l))}catch(c){i(c)}},o=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,a);o((r=r.apply(t,e)).next())}),U=Uint8Array,ye=Uint16Array,Un=Int32Array,ur=new U([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),fr=new U([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),$n=new U([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),hr=function(t,e){for(var r=new ye(31),n=0;n<31;++n)r[n]=e+=1<<t[n-1];for(var i=new Un(r[30]),n=1;n<30;++n)for(var s=r[n];s<r[n+1];++s)i[s]=s-r[n]<<5|n;return{b:r,r:i}},dr=hr(ur,2),mr=dr.b,Nn=dr.r;mr[28]=258,Nn[258]=28;var pr=hr(fr,0),Hn=pr.b,us=pr.r,wt=new ye(32768);for(F=0;F<32768;++F)te=(F&43690)>>1|(F&21845)<<1,te=(te&52428)>>2|(te&13107)<<2,te=(te&61680)>>4|(te&3855)<<4,wt[F]=((te&65280)>>8|(te&255)<<8)>>1;var te,F,Se=function(t,e,r){for(var n=t.length,i=0,s=new ye(e);i<n;++i)t[i]&&++s[t[i]-1];var a=new ye(e);for(i=1;i<e;++i)a[i]=a[i-1]+s[i-1]<<1;var o;if(r){o=new ye(1<<e);var l=15-e;for(i=0;i<n;++i)if(t[i])for(var c=i<<4|t[i],u=e-t[i],h=a[t[i]-1]++<<u,p=h|(1<<u)-1;h<=p;++h)o[wt[h]>>l]=c}else for(o=new ye(n),i=0;i<n;++i)t[i]&&(o[i]=wt[a[t[i]-1]++]>>15-t[i]);return o},Ce=new U(288);for(F=0;F<144;++F)Ce[F]=8;var F;for(F=144;F<256;++F)Ce[F]=9;var F;for(F=256;F<280;++F)Ce[F]=7;var F;for(F=280;F<288;++F)Ce[F]=8;var F,gr=new U(32);for(F=0;F<32;++F)gr[F]=5;var F,qn=Se(Ce,9,1),Wn=Se(gr,5,1),xt=function(t){for(var e=t[0],r=1;r<t.length;++r)t[r]>e&&(e=t[r]);return e},Z=function(t,e,r){var n=e/8|0;return(t[n]|t[n+1]<<8)>>(e&7)&r},yt=function(t,e){var r=e/8|0;return(t[r]|t[r+1]<<8|t[r+2]<<16)>>(e&7)},Zn=function(t){return(t+7)/8|0},Jn=function(t,e,r){(e==null||e<0)&&(e=0),(r==null||r>t.length)&&(r=t.length);var n=new U(r-e);return n.set(t.subarray(e,r)),n},Kn=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],E=function(t,e,r){var n=new Error(e||Kn[t]);if(n.code=t,Error.captureStackTrace&&Error.captureStackTrace(n,E),!r)throw n;return n},kt=function(t,e,r,n){var i=t.length,s=n?n.length:0;if(!i||e.f&&!e.l)return r||new U(0);var a=!r||e.i!=2,o=e.i;r||(r=new U(i*3));var l=function(It){var Yt=r.length;if(It>Yt){var Vt=new U(Math.max(Yt*2,It));Vt.set(r),r=Vt}},c=e.f||0,u=e.p||0,h=e.b||0,p=e.l,y=e.d,_=e.m,k=e.n,f=i*8;do{if(!p){c=Z(t,u,1);var d=Z(t,u+1,3);if(u+=3,d)if(d==1)p=qn,y=Wn,_=9,k=5;else if(d==2){var b=Z(t,u,31)+257,v=Z(t,u+10,15)+4,w=b+Z(t,u+5,31)+1;u+=14;for(var z=new U(w),T=new U(19),M=0;M<v;++M)T[$n[M]]=Z(t,u+M*3,7);u+=v*3;for(var S=xt(T),A=(1<<S)-1,ae=Se(T,S,1),M=0;M<w;){var G=ae[Z(t,u,A)];u+=G&15;var m=G>>4;if(m<16)z[M++]=m;else{var Y=0,q=0;for(m==16?(q=3+Z(t,u,3),u+=2,Y=z[M-1]):m==17?(q=3+Z(t,u,7),u+=3):m==18&&(q=11+Z(t,u,127),u+=7);q--;)z[M++]=Y}}var Ne=z.subarray(0,b),X=z.subarray(b);_=xt(Ne),k=xt(X),p=Se(Ne,_,1),y=Se(X,k,1)}else E(1);else{var m=Zn(u)+4,x=t[m-4]|t[m-3]<<8,g=m+x;if(g>i){o&&E(0);break}a&&l(h+x),r.set(t.subarray(m,g),h),e.b=h+=x,e.p=u=g*8,e.f=c;continue}if(u>f){o&&E(0);break}}a&&l(h+131072);for(var oe=(1<<_)-1,V=(1<<k)-1,ot=u;;ot=u){var Y=p[yt(t,u)&oe],ue=Y>>4;if(u+=Y&15,u>f){o&&E(0);break}if(Y||E(2),ue<256)r[h++]=ue;else if(ue==256){ot=u,p=null;break}else{var Ot=ue-254;if(ue>264){var M=ue-257,Te=ur[M];Ot=Z(t,u,(1<<Te)-1)+mr[M],u+=Te}var lt=y[yt(t,u)&V],ct=lt>>4;lt||E(3),u+=lt&15;var X=Hn[ct];if(ct>3){var Te=fr[ct];X+=yt(t,u)&(1<<Te)-1,u+=Te}if(u>f){o&&E(0);break}a&&l(h+131072);var ut=h+Ot;if(h<X){var Xt=s-X,Wr=Math.min(X,ut);for(Xt+h<0&&E(3);h<Wr;++h)r[h]=n[Xt+h]}for(;h<ut;h+=4)r[h]=r[h-X],r[h+1]=r[h+1-X],r[h+2]=r[h+2-X],r[h+3]=r[h+3-X];h=ut}}e.l=p,e.p=ot,e.b=h,e.f=c,p&&(c=1,e.m=_,e.d=y,e.n=k)}while(!c);return h==r.length?r:Jn(r,0,h)},Gn=new U(0),Qn=function(t){(t[0]!=31||t[1]!=139||t[2]!=8)&&E(6,"invalid gzip data");var e=t[3],r=10;e&4&&(r+=(t[10]|t[11]<<8)+2);for(var n=(e>>3&1)+(e>>4&1);n>0;n-=!t[r++]);return r+(e&2)},ei=function(t){var e=t.length;return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0},ti=function(t,e){return((t[0]&15)!=8||t[0]>>4>7||(t[0]<<8|t[1])%31)&&E(6,"invalid zlib data"),(t[1]>>5&1)==+!e&&E(6,"invalid zlib data: "+(t[1]&32?"need":"unexpected")+" dictionary"),(t[1]>>3&4)+2};function ri(t,e){return kt(t,{i:2},e&&e.out,e&&e.dictionary)}function ni(t,e){var r=Qn(t);return r+8>t.length&&E(6,"invalid gzip data"),kt(t.subarray(r,-8),{i:2},e&&e.out||new U(ei(t)),e&&e.dictionary)}function ii(t,e){return kt(t.subarray(ti(t,e&&e.dictionary),-4),{i:2},e&&e.out,e&&e.dictionary)}function _t(t,e){return t[0]==31&&t[1]==139&&t[2]==8?ni(t,e):(t[0]&15)!=8||t[0]>>4>7||(t[0]<<8|t[1])%31?ri(t,e):ii(t,e)}var si=typeof TextDecoder!="undefined"&&new TextDecoder,ai=0;try{si.decode(Gn,{stream:!0}),ai=1}catch(t){}var br=(t,e)=>t*we(2,e),Le=(t,e)=>Math.floor(t/we(2,e)),Ge=(t,e)=>br(t.getUint16(e+1,!0),8)+t.getUint8(e),xr=(t,e)=>br(t.getUint32(e+2,!0),16)+t.getUint16(e,!0),oi=(t,e,r,n,i)=>{if(t!==n.getUint8(i))return t-n.getUint8(i);let s=Ge(n,i+1);if(e!==s)return e-s;let a=Ge(n,i+4);return r!==a?r-a:0},li=(t,e,r,n)=>{let i=yr(t,e|128,r,n);return i?{z:e,x:r,y:n,offset:i[0],length:i[1],isDir:!0}:null},lr=(t,e,r,n)=>{let i=yr(t,e,r,n);return i?{z:e,x:r,y:n,offset:i[0],length:i[1],isDir:!1}:null},yr=(t,e,r,n)=>{let i=0,s=t.byteLength/17-1;for(;i<=s;){let a=s+i>>1,o=oi(e,r,n,t,a*17);if(o>0)i=a+1;else if(o<0)s=a-1;else return[xr(t,a*17+7),t.getUint32(a*17+13,!0)]}return null},ci=(t,e)=>t.isDir&&!e.isDir?1:!t.isDir&&e.isDir?-1:t.z!==e.z?t.z-e.z:t.x!==e.x?t.x-e.x:t.y-e.y,wr=(t,e)=>{let r=t.getUint8(e*17);return{z:r&127,x:Ge(t,e*17+1),y:Ge(t,e*17+4),offset:xr(t,e*17+7),length:t.getUint32(e*17+13,!0),isDir:r>>7===1}},cr=t=>{let e=[],r=new DataView(t);for(let n=0;n<r.byteLength/17;n++)e.push(wr(r,n));return ui(e)},ui=t=>{t.sort(ci);let e=new ArrayBuffer(17*t.length),r=new Uint8Array(e);for(let n=0;n<t.length;n++){let i=t[n],s=i.z;i.isDir&&(s=s|128),r[n*17]=s,r[n*17+1]=i.x&255,r[n*17+2]=i.x>>8&255,r[n*17+3]=i.x>>16&255,r[n*17+4]=i.y&255,r[n*17+5]=i.y>>8&255,r[n*17+6]=i.y>>16&255,r[n*17+7]=i.offset&255,r[n*17+8]=Le(i.offset,8)&255,r[n*17+9]=Le(i.offset,16)&255,r[n*17+10]=Le(i.offset,24)&255,r[n*17+11]=Le(i.offset,32)&255,r[n*17+12]=Le(i.offset,48)&255,r[n*17+13]=i.length&255,r[n*17+14]=i.length>>8&255,r[n*17+15]=i.length>>16&255,r[n*17+16]=i.length>>24&255}return e},fi=(t,e)=>{if(t.byteLength<17)return null;let r=t.byteLength/17,n=wr(t,r-1);if(n.isDir){let i=n.z,s=e.z-i,a=Math.trunc(e.x/(1<<s)),o=Math.trunc(e.y/(1<<s));return{z:i,x:a,y:o}}return null};function hi(t){return I(this,null,function*(){let e=yield t.getBytes(0,512e3),r=new DataView(e.data),n=r.getUint32(4,!0),i=r.getUint16(8,!0),s=new TextDecoder("utf-8"),a=JSON.parse(s.decode(new DataView(e.data,10,n))),o=0;a.compression==="gzip"&&(o=2);let l=0;"minzoom"in a&&(l=+a.minzoom);let c=0;"maxzoom"in a&&(c=+a.maxzoom);let u=0,h=0,p=0,y=-180,_=-85,k=180,f=85;if(a.bounds){let m=a.bounds.split(",");y=+m[0],_=+m[1],k=+m[2],f=+m[3]}if(a.center){let m=a.center.split(",");u=+m[0],h=+m[1],p=+m[2]}return{specVersion:r.getUint16(2,!0),rootDirectoryOffset:10+n,rootDirectoryLength:i*17,jsonMetadataOffset:10,jsonMetadataLength:n,leafDirectoryOffset:0,leafDirectoryLength:void 0,tileDataOffset:0,tileDataLength:void 0,numAddressedTiles:0,numTileEntries:0,numTileContents:0,clustered:!1,internalCompression:1,tileCompression:o,tileType:1,minZoom:l,maxZoom:c,minLon:y,minLat:_,maxLon:k,maxLat:f,centerZoom:p,centerLon:u,centerLat:h,etag:e.etag}})}function di(t,e,r,n,i,s,a){return I(this,null,function*(){let o=yield r.getArrayBuffer(e,t.rootDirectoryOffset,t.rootDirectoryLength,t);t.specVersion===1&&(o=cr(o));let l=lr(new DataView(o),n,i,s);if(l){let h=(yield e.getBytes(l.offset,l.length,a)).data,p=new DataView(h);return p.getUint8(0)===31&&p.getUint8(1)===139&&(h=_t(new Uint8Array(h))),{data:h}}let c=fi(new DataView(o),{z:n,x:i,y:s});if(c){let u=li(new DataView(o),c.z,c.x,c.y);if(u){let h=yield r.getArrayBuffer(e,u.offset,u.length,t);t.specVersion===1&&(h=cr(h));let p=lr(new DataView(h),n,i,s);if(p){let _=(yield e.getBytes(p.offset,p.length,a)).data,k=new DataView(_);return k.getUint8(0)===31&&k.getUint8(1)===139&&(_=_t(new Uint8Array(_))),{data:_}}}}})}var _r={getHeader:hi,getZxy:di};function xe(t,e){return(e>>>0)*4294967296+(t>>>0)}function mi(t,e){let r=e.buf,n=r[e.pos++],i=(n&112)>>4;if(n<128||(n=r[e.pos++],i|=(n&127)<<3,n<128)||(n=r[e.pos++],i|=(n&127)<<10,n<128)||(n=r[e.pos++],i|=(n&127)<<17,n<128)||(n=r[e.pos++],i|=(n&127)<<24,n<128)||(n=r[e.pos++],i|=(n&1)<<31,n<128))return xe(t,i);throw new Error("Expected varint not more than 10 bytes")}function Fe(t){let e=t.buf,r=e[t.pos++],n=r&127;return r<128||(r=e[t.pos++],n|=(r&127)<<7,r<128)||(r=e[t.pos++],n|=(r&127)<<14,r<128)||(r=e[t.pos++],n|=(r&127)<<21,r<128)?n:(r=e[t.pos],n|=(r&15)<<28,mi(n,t))}function pi(t,e,r,n){if(n===0){r===1&&(e[0]=t-1-e[0],e[1]=t-1-e[1]);let i=e[0];e[0]=e[1],e[1]=i}}var gi=[0,1,5,21,85,341,1365,5461,21845,87381,349525,1398101,5592405,22369621,89478485,357913941,1431655765,5726623061,22906492245,91625968981,366503875925,1466015503701,5864062014805,23456248059221,93824992236885,375299968947541,0x5555555555555];function bi(t,e,r){if(t>26)throw Error("Tile zoom level exceeds max safe number limit (26)");if(e>we(2,t)-1||r>we(2,t)-1)throw Error("tile x/y outside zoom level bounds");let n=gi[t],i=we(2,t),s=0,a=0,o=0,l=[e,r],c=i/2;for(;c>0;)s=(l[0]&c)>0?1:0,a=(l[1]&c)>0?1:0,o+=c*c*(3*s^a),pi(c,l,s,a),c=c/2;return n+o}function vr(t,e){return I(this,null,function*(){if(e===1||e===0)return t;if(e===2){if(typeof globalThis.DecompressionStream=="undefined")return _t(new Uint8Array(t));let r=new Response(t).body;if(!r)throw Error("Failed to read response stream");let n=r.pipeThrough(new globalThis.DecompressionStream("gzip"));return new Response(n).arrayBuffer()}throw Error("Compression method not supported")})}var xi=127;function yi(t,e){let r=0,n=t.length-1;for(;r<=n;){let i=n+r>>1,s=e-t[i].tileId;if(s>0)r=i+1;else if(s<0)n=i-1;else return t[i]}return n>=0&&(t[n].runLength===0||e-t[n].tileId<t[n].runLength)?t[n]:null}var wi=class{constructor(t,e=new Headers){this.url=t,this.customHeaders=e,this.mustReload=!1}getKey(){return this.url}setHeaders(t){this.customHeaders=t}getBytes(t,e,r,n){return I(this,null,function*(){let i,s;r?s=r:(i=new AbortController,s=i.signal);let a=new Headers(this.customHeaders);a.set("range",`bytes=${t}-${t+e-1}`);let o;this.mustReload&&(o="reload");let l=yield fetch(this.url,{signal:s,cache:o,headers:a});if(t===0&&l.status===416){let p=l.headers.get("Content-Range");if(!p||!p.startsWith("bytes */"))throw Error("Missing content-length on 416 response");let y=+p.substr(8);l=yield fetch(this.url,{signal:s,cache:"reload",headers:{range:`bytes=0-${y-1}`}})}let c=l.headers.get("Etag");if(c!=null&&c.startsWith("W/")&&(c=null),l.status===416||n&&c&&c!==n)throw this.mustReload=!0,new vt(n);if(l.status>=300)throw Error(`Bad response code: ${l.status}`);let u=l.headers.get("Content-Length");if(l.status===200&&(!u||+u>e))throw i&&i.abort(),Error("Server returned no content-length header or content-length exceeding request. Check that your storage backend supports HTTP Byte Serving.");return{data:yield l.arrayBuffer(),etag:c||void 0,cacheControl:l.headers.get("Cache-Control")||void 0,expires:l.headers.get("Expires")||void 0}})}};function J(t,e){let r=t.getUint32(e+4,!0),n=t.getUint32(e+0,!0);return r*we(2,32)+n}function _i(t,e){let r=new DataView(t),n=r.getUint8(7);if(n>3)throw Error(`Archive is spec version ${n} but this library supports up to spec version 3`);return{specVersion:n,rootDirectoryOffset:J(r,8),rootDirectoryLength:J(r,16),jsonMetadataOffset:J(r,24),jsonMetadataLength:J(r,32),leafDirectoryOffset:J(r,40),leafDirectoryLength:J(r,48),tileDataOffset:J(r,56),tileDataLength:J(r,64),numAddressedTiles:J(r,72),numTileEntries:J(r,80),numTileContents:J(r,88),clustered:r.getUint8(96)===1,internalCompression:r.getUint8(97),tileCompression:r.getUint8(98),tileType:r.getUint8(99),minZoom:r.getUint8(100),maxZoom:r.getUint8(101),minLon:r.getInt32(102,!0)/1e7,minLat:r.getInt32(106,!0)/1e7,maxLon:r.getInt32(110,!0)/1e7,maxLat:r.getInt32(114,!0)/1e7,centerZoom:r.getUint8(118),centerLon:r.getInt32(119,!0)/1e7,centerLat:r.getInt32(123,!0)/1e7,etag:e}}function kr(t){let e={buf:new Uint8Array(t),pos:0},r=Fe(e),n=[],i=0;for(let s=0;s<r;s++){let a=Fe(e);n.push({tileId:i+a,offset:0,length:0,runLength:1}),i+=a}for(let s=0;s<r;s++)n[s].runLength=Fe(e);for(let s=0;s<r;s++)n[s].length=Fe(e);for(let s=0;s<r;s++){let a=Fe(e);a===0&&s>0?n[s].offset=n[s-1].offset+n[s-1].length:n[s].offset=a-1}return n}function vi(t){let e=new DataView(t);return e.getUint16(2,!0)===2?(console.warn("PMTiles spec version 2 has been deprecated; please see github.com/protomaps/PMTiles for tools to upgrade"),2):e.getUint16(2,!0)===1?(console.warn("PMTiles spec version 1 has been deprecated; please see github.com/protomaps/PMTiles for tools to upgrade"),1):3}var vt=class extends Error{};function ki(t,e){return I(this,null,function*(){let r=yield t.getBytes(0,16384);if(new DataView(r.data).getUint16(0,!0)!==19792)throw new Error("Wrong magic number for PMTiles archive");if(vi(r.data)<3)return[yield _r.getHeader(t)];let i=r.data.slice(0,xi),s=_i(i,r.etag),a=r.data.slice(s.rootDirectoryOffset,s.rootDirectoryOffset+s.rootDirectoryLength),o=`${t.getKey()}|${s.etag||""}|${s.rootDirectoryOffset}|${s.rootDirectoryLength}`,l=kr(yield e(a,s.internalCompression));return[s,[o,l.length,l]]})}function zi(t,e,r,n,i){return I(this,null,function*(){let s=yield t.getBytes(r,n,void 0,i.etag),a=yield e(s.data,i.internalCompression),o=kr(a);if(o.length===0)throw new Error("Empty directory is invalid");return o})}var Ti=class{constructor(t=100,e=!0,r=vr){this.cache=new Map,this.invalidations=new Map,this.maxCacheEntries=t,this.counter=1,this.decompress=r}getHeader(t){return I(this,null,function*(){let e=t.getKey(),r=this.cache.get(e);if(r)return r.lastUsed=this.counter++,yield r.data;let n=new Promise((i,s)=>{ki(t,this.decompress).then(a=>{a[1]&&this.cache.set(a[1][0],{lastUsed:this.counter++,data:Promise.resolve(a[1][2])}),i(a[0]),this.prune()}).catch(a=>{s(a)})});return this.cache.set(e,{lastUsed:this.counter++,data:n}),n})}getDirectory(t,e,r,n){return I(this,null,function*(){let i=`${t.getKey()}|${n.etag||""}|${e}|${r}`,s=this.cache.get(i);if(s)return s.lastUsed=this.counter++,yield s.data;let a=new Promise((o,l)=>{zi(t,this.decompress,e,r,n).then(c=>{o(c),this.prune()}).catch(c=>{l(c)})});return this.cache.set(i,{lastUsed:this.counter++,data:a}),a})}getArrayBuffer(t,e,r,n){return I(this,null,function*(){let i=`${t.getKey()}|${n.etag||""}|${e}|${r}`,s=this.cache.get(i);if(s)return s.lastUsed=this.counter++,yield s.data;let a=new Promise((o,l)=>{t.getBytes(e,r,void 0,n.etag).then(c=>{o(c.data),this.cache.has(i),this.prune()}).catch(c=>{l(c)})});return this.cache.set(i,{lastUsed:this.counter++,data:a}),a})}prune(){if(this.cache.size>=this.maxCacheEntries){let t=1/0,e;this.cache.forEach((r,n)=>{r.lastUsed<t&&(t=r.lastUsed,e=n)}),e&&this.cache.delete(e)}}invalidate(t){return I(this,null,function*(){let e=t.getKey();if(this.invalidations.get(e))return yield this.invalidations.get(e);this.cache.delete(t.getKey());let r=new Promise((n,i)=>{this.getHeader(t).then(s=>{n(),this.invalidations.delete(e)}).catch(s=>{i(s)})});this.invalidations.set(e,r)})}},zr=class{constructor(t,e,r){typeof t=="string"?this.source=new wi(t):this.source=t,r?this.decompress=r:this.decompress=vr,e?this.cache=e:this.cache=new Ti}getHeader(){return I(this,null,function*(){return yield this.cache.getHeader(this.source)})}getZxyAttempt(t,e,r,n){return I(this,null,function*(){let i=bi(t,e,r),s=yield this.cache.getHeader(this.source);if(s.specVersion<3)return _r.getZxy(s,this.source,this.cache,t,e,r,n);if(t<s.minZoom||t>s.maxZoom)return;let a=s.rootDirectoryOffset,o=s.rootDirectoryLength;for(let l=0;l<=3;l++){let c=yield this.cache.getDirectory(this.source,a,o,s),u=yi(c,i);if(u){if(u.runLength>0){let h=yield this.source.getBytes(s.tileDataOffset+u.offset,u.length,n,s.etag);return{data:yield this.decompress(h.data,s.tileCompression),cacheControl:h.cacheControl,expires:h.expires}}a=s.leafDirectoryOffset+u.offset,o=u.length}else return}throw Error("Maximum directory depth exceeded")})}getZxy(t,e,r,n){return I(this,null,function*(){try{return yield this.getZxyAttempt(t,e,r,n)}catch(i){if(i instanceof vt)return this.cache.invalidate(this.source),yield this.getZxyAttempt(t,e,r,n);throw i}})}getMetadataAttempt(){return I(this,null,function*(){let t=yield this.cache.getHeader(this.source),e=yield this.source.getBytes(t.jsonMetadataOffset,t.jsonMetadataLength,void 0,t.etag),r=yield this.decompress(e.data,t.internalCompression),n=new TextDecoder("utf-8");return JSON.parse(n.decode(r))})}getMetadata(){return I(this,null,function*(){try{return yield this.getMetadataAttempt()}catch(t){if(t instanceof vt)return this.cache.invalidate(this.source),yield this.getMetadataAttempt();throw t}})}};var Mt=(n=>(n[n.Point=1]="Point",n[n.Line=2]="Line",n[n.Polygon=3]="Polygon",n))(Mt||{});function re(t){return`${t.x}:${t.y}:${t.z}`}var Mi=(t,e,r)=>{t.pos=e;let n=t.readVarint()+t.pos,i=1,s=0,a=0,o=0,l=1/0,c=-1/0,u=1/0,h=-1/0,p=[],y=[];for(;t.pos<n;){if(s<=0){let _=t.readVarint();i=_&7,s=_>>3}if(s--,i===1||i===2)a+=t.readSVarint()*r,o+=t.readSVarint()*r,a<l&&(l=a),a>c&&(c=a),o<u&&(u=o),o>h&&(h=o),i===1&&(y.length>0&&p.push(y),y=[]),y.push(new _e.default(a,o));else if(i===7)y&&y.push(y[0].clone());else throw new Error(`unknown command ${i}`)}return y&&p.push(y),{geom:p,bbox:{minX:l,minY:u,maxX:c,maxY:h}}};function Fr(t,e){let r=new Pr.VectorTile(new Lr.default(t)),n=new Map;for(let[i,s]of Object.entries(r.layers)){let a=[],o=s;for(let l=0;l<o.length;l++){let c=Mi(o.feature(l)._pbf,o.feature(l)._geometry,e/o.extent),u=0;for(let h of c.geom)u+=h.length;a.push({id:o.feature(l).id,geomType:o.feature(l).type,geom:c.geom,numVertices:u,bbox:c.bbox,props:o.feature(l).properties})}n.set(i,a)}return n}var ve=class{constructor(e,r){typeof e=="string"?this.p=new zr(e):this.p=e,this.zoomaborts=[],this.shouldCancelZooms=r}get(e,r){return R(this,null,function*(){this.shouldCancelZooms&&(this.zoomaborts=this.zoomaborts.filter(a=>a.z!==e.z?(a.controller.abort(),!1):!0));let n=new AbortController;this.zoomaborts.push({z:e.z,controller:n});let i=n.signal,s=yield this.p.getZxy(e.z,e.x,e.y,i);return s?Fr(s.data,r):new Map})}},De=class{constructor(e,r){this.url=e,this.zoomaborts=[],this.shouldCancelZooms=r}get(e,r){return R(this,null,function*(){this.shouldCancelZooms&&(this.zoomaborts=this.zoomaborts.filter(a=>a.z!==e.z?(a.controller.abort(),!1):!0));let n=this.url.replace("{z}",e.z.toString()).replace("{x}",e.x.toString()).replace("{y}",e.y.toString()),i=new AbortController;this.zoomaborts.push({z:e.z,controller:i});let s=i.signal;return new Promise((a,o)=>{fetch(n,{signal:s}).then(l=>l.arrayBuffer()).then(l=>{let c=Fr(l,r);a(c)}).catch(l=>{o(l)})})})}},zt=6378137,Tr=85.0511287798,Qe=zt*Math.PI,Pi=t=>{let e=Math.PI/180,r=Math.max(Math.min(Tr,t[0]),-Tr),n=Math.sin(r*e);return new _e.default(zt*t[1]*e,zt*Math.log((1+n)/(1-n))/2)};function Mr(t){return t*t}function et(t,e){return Mr(t.x-e.x)+Mr(t.y-e.y)}function Li(t,e,r){let n=et(e,r);if(n===0)return et(t,e);let i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return i=Math.max(0,Math.min(1,i)),et(t,new _e.default(e.x+i*(r.x-e.x),e.y+i*(r.y-e.y)))}function Tt(t,e){let r=!1;for(let n=0,i=e.length-1;n<e.length;i=n++){let s=e[n].x,a=e[n].y,o=e[i].x,l=e[i].y;a>t.y!=l>t.y&&t.x<(o-s)*(t.y-a)/(l-a)+s&&(r=!r)}return r}function Sr(t){let e=0;for(let r=0;r<t.length;r++){let n=(r+1)%t.length;e+=t[r].x*t[n].y,e-=t[n].x*t[r].y}return e<0}function Cr(t,e){let r=!1;for(let n of e)if(Sr(n))Tt(t,n)&&(r=!1);else{if(r)return!0;Tt(t,n)&&(r=!0)}return r}function Dr(t,e){let r=1/0;for(let n of e){let i=Math.sqrt(et(t,n[0]));i<r&&(r=i)}return r}function Ar(t,e){let r=1/0;for(let n of e)for(let i=0;i<n.length-1;i++){let s=Math.sqrt(Li(t,n[i],n[i+1]));s<r&&(r=s)}return r}var Ae=class{constructor(e,r){this.source=e,this.cache=new Map,this.inflight=new Map,this.tileSize=r}get(e){return R(this,null,function*(){let r=re(e);return new Promise((n,i)=>{let s=this.cache.get(r);if(s)s.used=performance.now(),n(s.data);else{let a=this.inflight.get(r);a?a.push({resolve:n,reject:i}):(this.inflight.set(r,[]),this.source.get(e,this.tileSize).then(o=>{this.cache.set(r,{used:performance.now(),data:o});let l=this.inflight.get(r);if(l)for(let c of l)c.resolve(o);if(this.inflight.delete(r),n(o),this.cache.size>=64){let c=1/0,u;this.cache.forEach((h,p)=>{h.used<c&&(c=h.used,u=p)}),u&&this.cache.delete(u)}}).catch(o=>{let l=this.inflight.get(r);if(l)for(let c of l)c.reject(o);this.inflight.delete(r),i(o)}))}})})}queryFeatures(e,r,n,i){let s=Pi([r,e]),a=new _e.default((s.x+Qe)/(Qe*2),1-(s.y+Qe)/(Qe*2));a.x>1&&(a.x=a.x-Math.floor(a.x));let o=a.mult(1<<n),l=Math.floor(o.x),c=Math.floor(o.y),u=re({z:n,x:l,y:c}),h=[],p=this.cache.get(u);if(p){let y=new _e.default((o.x-l)*this.tileSize,(o.y-c)*this.tileSize);for(let[_,k]of p.data.entries())for(let f of k)f.geomType===1?Dr(y,f.geom)<i&&h.push({feature:f,layerName:_}):f.geomType===2?Ar(y,f.geom)<i&&h.push({feature:f,layerName:_}):Cr(y,f.geom)&&h.push({feature:f,layerName:_})}return h}};var Br=(n=>(n[n.Left=1]="Left",n[n.Center=2]="Center",n[n.Right=3]="Right",n))(Br||{}),Rr=(l=>(l[l.N=1]="N",l[l.Ne=2]="Ne",l[l.E=3]="E",l[l.Se=4]="Se",l[l.S=5]="S",l[l.Sw=6]="Sw",l[l.W=7]="W",l[l.Nw=8]="Nw",l))(Rr||{}),Fi=(t,e,r)=>{let n=document.createElement("canvas"),i=n.getContext("2d");return n.width=t,n.height=e,i!==null&&r(n,i),n},D=class{constructor(e){var r;this.pattern=e.pattern,this.fill=new j(e.fill,"black"),this.opacity=new C(e.opacity,1),this.stroke=new j(e.stroke,"black"),this.width=new C(e.width,0),this.perFeature=(r=this.fill.perFeature||this.opacity.perFeature||this.stroke.perFeature||this.width.perFeature||e.perFeature)!=null?r:!1,this.doStroke=!1}before(e,r){if(!this.perFeature){e.globalAlpha=this.opacity.get(r),e.fillStyle=this.fill.get(r),e.strokeStyle=this.stroke.get(r);let n=this.width.get(r);n>0&&(this.doStroke=!0),e.lineWidth=n}if(this.pattern){let n=e.createPattern(this.pattern,"repeat");n&&(e.fillStyle=n)}}draw(e,r,n,i){let s=!1;if(this.perFeature){e.globalAlpha=this.opacity.get(n,i),e.fillStyle=this.fill.get(n,i);let o=this.width.get(n,i);o&&(s=!0,e.strokeStyle=this.stroke.get(n,i),e.lineWidth=o)}let a=()=>{e.fill(),(s||this.doStroke)&&e.stroke()};e.beginPath();for(let o of r)for(let l=0;l<o.length;l++){let c=o[l];l===0?e.moveTo(c.x,c.y):e.lineTo(c.x,c.y)}a()}};function Si(t,e){return r=>{let n=r-t;return n>=0&&n<e.length?e[n]:0}}function Ci(t,e){let r=0;for(;e[r+1][0]<t;)r++;return r}function Di(t,e,r){return t*(r-e)+e}function Ai(t,e,r,n){let i=n[e+1][0]-n[e][0],s=t-n[e][0];return i===0?0:r===1?s/i:(B(r,s)-1)/(B(r,i)-1)}function $(t,e){return r=>{if(e.length<1)return 0;if(r<=e[0][0])return e[0][1];if(r>=e[e.length-1][0])return e[e.length-1][1];let n=Ci(r,e),i=Ai(r,n,t,e);return Di(i,e[n][1],e[n+1][1])}}function Bi(t,e){return r=>{if(e.length<1)return 0;let n=t;for(let i=0;i<e.length;i++)r>=e[i][0]&&(n=e[i][1]);return n}}function nt(t){return $(1,t)}var O=class{constructor(e){var r;this.color=new j(e.color,"black"),this.width=new C(e.width),this.opacity=new C(e.opacity),this.dash=e.dash?new We(e.dash):null,this.dashColor=new j(e.dashColor,"black"),this.dashWidth=new C(e.dashWidth,1),this.lineCap=new j(e.lineCap,"butt"),this.lineJoin=new j(e.lineJoin,"miter"),this.skip=!1,this.perFeature=!!(((r=this.dash)==null?void 0:r.perFeature)||this.color.perFeature||this.opacity.perFeature||this.width.perFeature||this.lineCap.perFeature||this.lineJoin.perFeature||e.perFeature)}before(e,r){this.perFeature||(e.strokeStyle=this.color.get(r),e.lineWidth=this.width.get(r),e.globalAlpha=this.opacity.get(r),e.lineCap=this.lineCap.get(r),e.lineJoin=this.lineJoin.get(r))}draw(e,r,n,i){if(this.skip)return;let s=()=>{this.perFeature&&(e.globalAlpha=this.opacity.get(n,i),e.lineCap=this.lineCap.get(n,i),e.lineJoin=this.lineJoin.get(n,i)),this.dash?(e.save(),this.perFeature?(e.lineWidth=this.dashWidth.get(n,i),e.strokeStyle=this.dashColor.get(n,i),e.setLineDash(this.dash.get(n,i))):e.setLineDash(this.dash.get(n)),e.stroke(),e.restore()):(e.save(),this.perFeature&&(e.lineWidth=this.width.get(n,i),e.strokeStyle=this.color.get(n,i)),e.stroke(),e.restore())};e.beginPath();for(let a of r)for(let o=0;o<a.length;o++){let l=a[o];o===0?e.moveTo(l.x,l.y):e.lineTo(l.x,l.y)}s()}},Pt=class{constructor(e){this.name=e.name,this.sheet=e.sheet,this.dpr=window.devicePixelRatio}place(e,r,n){let i=r[0],s=new K.default(r[0][0].x,r[0][0].y),a=this.sheet.get(this.name),o=a.w/this.dpr,l=a.h/this.dpr,c={minX:s.x-o/2,minY:s.y-l/2,maxX:s.x+o/2,maxY:s.y+l/2};return[{anchor:s,bboxes:[c],draw:h=>{h.globalAlpha=1,h.drawImage(this.sheet.canvas,a.x,a.y,a.w,a.h,-a.w/2/this.dpr,-a.h/2/this.dpr,a.w/2,a.h/2)}}]}},Be=class{constructor(e){this.radius=new C(e.radius,3),this.fill=new j(e.fill,"black"),this.stroke=new j(e.stroke,"white"),this.width=new C(e.width,0),this.opacity=new C(e.opacity)}draw(e,r,n,i){e.globalAlpha=this.opacity.get(n,i);let s=this.radius.get(n,i),a=this.width.get(n,i);a>0&&(e.strokeStyle=this.stroke.get(n,i),e.lineWidth=a,e.beginPath(),e.arc(r[0][0].x,r[0][0].y,s+a/2,0,2*Math.PI),e.stroke()),e.fillStyle=this.fill.get(n,i),e.beginPath(),e.arc(r[0][0].x,r[0][0].y,s,0,2*Math.PI),e.fill()}place(e,r,n){let i=r[0],s=new K.default(r[0][0].x,r[0][0].y),a=this.radius.get(e.zoom,n),o={minX:s.x-a,minY:s.y-a,maxX:s.x+a,maxY:s.y+a};return[{anchor:s,bboxes:[o],draw:c=>{this.draw(c,[[new K.default(0,0)]],e.zoom,n)}}]}},Lt=class{constructor(e){this.font=new me(e),this.text=new de(e),this.fill=new j(e.fill,"black"),this.background=new j(e.background,"white"),this.padding=new C(e.padding,0)}place(e,r,n){let i=this.text.get(e.zoom,n);if(!i)return;let s=this.font.get(e.zoom,n);e.scratch.font=s;let a=e.scratch.measureText(i),o=a.width,l=a.actualBoundingBoxAscent,c=a.actualBoundingBoxDescent,u=r[0],h=new K.default(r[0][0].x,r[0][0].y),p=this.padding.get(e.zoom,n),y={minX:h.x-o/2-p,minY:h.y-l-p,maxX:h.x+o/2+p,maxY:h.y+c+p};return[{anchor:h,bboxes:[y],draw:k=>{k.globalAlpha=1,k.fillStyle=this.background.get(e.zoom,n),k.fillRect(-o/2-p,-l-p,o+2*p,l+c+2*p),k.fillStyle=this.fill.get(e.zoom,n),k.font=s,k.fillText(i,-o/2,0)}}]}},Ft=class{constructor(e){this.list=e}place(e,r,n){let i=this.list[0].place(e,r,n);if(!i)return;let s=i[0],a=s.anchor,o=s.bboxes[0],l=o.maxY-o.minY,c=[{draw:s.draw,translate:{x:0,y:0}}],u=[[new K.default(r[0][0].x,r[0][0].y+l)]];for(let p=1;p<this.list.length;p++)i=this.list[p].place(e,u,n),i&&(s=i[0],o=jr(o,s.bboxes[0]),c.push({draw:s.draw,translate:{x:0,y:l}}));return[{anchor:a,bboxes:[o],draw:p=>{for(let y of c)p.save(),p.translate(y.translate.x,y.translate.y),y.draw(p),p.restore()}}]}},jr=(t,e)=>({minX:Math.min(t.minX,e.minX),minY:Math.min(t.minY,e.minY),maxX:Math.max(t.maxX,e.maxX),maxY:Math.max(t.maxY,e.maxY)}),Re=class{constructor(e){this.list=e}place(e,r,n){let i=this.list[0];if(!i)return;let s=i.place(e,r,n);if(!s)return;let a=s[0],o=a.anchor,l=a.bboxes[0],c=[a.draw];for(let h=1;h<this.list.length;h++){if(s=this.list[h].place(e,r,n),!s)return;a=s[0],l=jr(l,a.bboxes[0]),c.push(a.draw)}return[{anchor:o,bboxes:[l],draw:h=>{for(let p of c)p(h)}}]}},tt=class{constructor(e){this.symbolizer=e}place(e,r,n){let i=r[0][0],s=this.symbolizer.place(e,[[new K.default(0,0)]],n);if(!s||s.length===0)return;let a=s[0],o=a.bboxes[0],l=o.maxX-o.minX,c=o.maxY-o.minY,u={minX:i.x-l/2,maxX:i.x+l/2,minY:i.y-c/2,maxY:i.y+c/2};return[{anchor:i,bboxes:[u],draw:p=>{p.translate(-l/2,c/2-o.maxY),a.draw(p,{justify:2})}}]}},St=class{constructor(e,r){this.padding=new C(e,0),this.symbolizer=r}place(e,r,n){let i=this.symbolizer.place(e,r,n);if(!i||i.length===0)return;let s=this.padding.get(e.zoom,n);for(let a of i)for(let o of a.bboxes)o.minX-=s,o.minY-=s,o.maxX+=s,o.maxY+=s;return i}},je=class{constructor(e){this.font=new me(e),this.text=new de(e),this.fill=new j(e.fill,"black"),this.stroke=new j(e.stroke,"black"),this.width=new C(e.width,0),this.lineHeight=new C(e.lineHeight,1),this.letterSpacing=new C(e.letterSpacing,0),this.maxLineCodeUnits=new C(e.maxLineChars,15),this.justify=e.justify}place(e,r,n){let i=this.text.get(e.zoom,n);if(!i)return;let s=this.font.get(e.zoom,n);e.scratch.font=s;let a=this.letterSpacing.get(e.zoom,n),o=dt(i,this.maxLineCodeUnits.get(e.zoom,n)),l="",c=0;for(let m of o)m.length>c&&(c=m.length,l=m);let u=e.scratch.measureText(l),h=u.width+a*(c-1),p=u.actualBoundingBoxAscent,y=u.actualBoundingBoxDescent,_=(p+y)*this.lineHeight.get(e.zoom,n),k=new K.default(r[0][0].x,r[0][0].y),f={minX:k.x,minY:k.y-p,maxX:k.x+h,maxY:k.y+y+(o.length-1)*_};return[{anchor:k,bboxes:[f],draw:(m,x)=>{m.globalAlpha=1,m.font=s,m.fillStyle=this.fill.get(e.zoom,n);let g=this.width.get(e.zoom,n),b=0;for(let v of o){let w=0;if(this.justify===2||x&&x.justify===2?w=(h-m.measureText(v).width)/2:(this.justify===3||x&&x.justify===3)&&(w=h-m.measureText(v).width),g)if(m.lineWidth=g*2,m.strokeStyle=this.stroke.get(e.zoom,n),a>0){let z=w;for(let T of v)m.strokeText(T,z,b),z+=m.measureText(T).width+a}else m.strokeText(v,w,b);if(a>0){let z=w;for(let T of v)m.fillText(T,z,b),z+=m.measureText(T).width+a}else m.fillText(v,w,b);b+=_}}}]}},ne=class{constructor(e){this.centered=new tt(new je(e))}place(e,r,n){return this.centered.place(e,r,n)}},rt=class{constructor(e,r){var n,i,s;this.symbolizer=e,this.offsetX=new C(r.offsetX,0),this.offsetY=new C(r.offsetY,0),this.justify=(n=r.justify)!=null?n:void 0,this.placements=(i=r.placements)!=null?i:[2,6,8,4,1,3,5,7],this.ddValues=(s=r.ddValues)!=null?s:()=>({})}place(e,r,n){if(n.geomType!==1)return;let i=r[0][0],s=this.symbolizer.place(e,[[new K.default(0,0)]],n);if(!s||s.length===0)return;let a=s[0],o=a.bboxes[0],l=this.offsetX,c=this.offsetY,u=this.justify,h=this.placements,{offsetX:p,offsetY:y,justify:_,placements:k}=this.ddValues(e.zoom,n)||{};p&&(l=new C(p,0)),y&&(c=new C(y,0)),_&&(u=_),k&&(h=k);let f=l.get(e.zoom,n),d=c.get(e.zoom,n),m=(w,z)=>({minX:w.x+z.x+o.minX,minY:w.y+z.y+o.minY,maxX:w.x+z.x+o.maxX,maxY:w.y+z.y+o.maxY}),x=new K.default(f,d),g,b=w=>{w.translate(x.x,x.y),a.draw(w,{justify:g})},v=(w,z)=>{let T=m(w,z);if(!e.index.bboxCollides(T,e.order))return[{anchor:i,bboxes:[T],draw:b}]};for(let w of h){let z=this.computeXaxisOffset(f,o,w),T=this.computeYaxisOffset(d,o,w);return g=this.computeJustify(u,w),x=new K.default(z,T),v(i,x)}}computeXaxisOffset(e,r,n){let i=r.maxX,s=i/2;return[1,5].includes(n)?e-s:[8,7,6].includes(n)?e-i:e}computeYaxisOffset(e,r,n){let i=Math.abs(r.minY),s=r.maxY,a=(r.minY+r.maxY)/2;return[3,7].includes(n)?e-a:[8,2,1].includes(n)?e-s:[6,4,5].includes(n)?e+i:e}computeJustify(e,r){return e||([1,5].includes(r)?2:[2,3,4].includes(r)?1:3)}},Oe=class{constructor(e){this.symbolizer=new rt(new je(e),e)}place(e,r,n){return this.symbolizer.place(e,r,n)}},Or=(n=>(n[n.Above=1]="Above",n[n.Center=2]="Center",n[n.Below=3]="Below",n))(Or||{}),le=class{constructor(e){var r;this.font=new me(e),this.text=new de(e),this.fill=new j(e.fill,"black"),this.stroke=new j(e.stroke,"black"),this.width=new C(e.width,0),this.offset=new C(e.offset,0),this.position=(r=e.position)!=null?r:1,this.maxLabelCodeUnits=new C(e.maxLabelChars,40),this.repeatDistance=new C(e.repeatDistance,250)}place(e,r,n){let i=this.text.get(e.zoom,n);if(!i||i.length>this.maxLabelCodeUnits.get(e.zoom,n))return;let s=20,a=n.bbox;if(a.maxY-a.minY<s&&a.maxX-a.minX<s)return;let o=this.font.get(e.zoom,n);e.scratch.font=o;let l=e.scratch.measureText(i),c=l.width,u=l.actualBoundingBoxAscent+l.actualBoundingBoxDescent,h=this.repeatDistance.get(e.zoom,n);e.overzoom>4&&(h*=1<<e.overzoom-4);let p=u*2,y=qt(r,c,h,p);if(y.length===0)return;let _=[];for(let k of y){let f=k.end.x-k.start.x,d=k.end.y-k.start.y,x=Wt(k.start,k.end,c,p/2).map(b=>({minX:b.x-p/2,minY:b.y-p/2,maxX:b.x+p/2,maxY:b.y+p/2})),g=b=>{b.globalAlpha=1,b.rotate(Math.atan2(d,f)),f<0&&(b.scale(-1,-1),b.translate(-c,0));let v=0;this.position===3?v+=u:this.position===2&&(v+=u/2),b.translate(0,v-this.offset.get(e.zoom,n)),b.font=o;let w=this.width.get(e.zoom,n);w&&(b.lineWidth=w,b.strokeStyle=this.stroke.get(e.zoom,n),b.strokeText(i,0,0)),b.fillStyle=this.fill.get(e.zoom,n),b.fillText(i,0,0)};_.push({anchor:k.start,bboxes:x,draw:g,deduplicationKey:i,deduplicationDistance:h})}return _}};var N=(t,e)=>{let r=t[e];return typeof r=="string"?r:""},Xr=(t,e)=>{let r=t[e];return typeof r=="number"?r:0},Xe=t=>[{dataLayer:"earth",symbolizer:new D({fill:t.earth})},{dataLayer:"landuse",symbolizer:new D({fill:(e,r)=>qe(t.park_a,t.park_b,Math.min(Math.max(e/12,12),0))}),filter:(e,r)=>{let n=N(r.props,"pmap:kind");return["allotments","village_green","playground"].includes(n)}},{dataLayer:"landuse",symbolizer:new D({fill:t.park_b,opacity:.7}),filter:(e,r)=>{let n=N(r.props,"pmap:kind");return["national_park","park","cemetery","protected_area","nature_reserve","forest","golf_course"].includes(n)}},{dataLayer:"landuse",symbolizer:new D({fill:t.hospital}),filter:(e,r)=>r.props["pmap:kind"]==="hospital"},{dataLayer:"landuse",symbolizer:new D({fill:t.industrial}),filter:(e,r)=>r.props["pmap:kind"]==="industrial"},{dataLayer:"landuse",symbolizer:new D({fill:t.school}),filter:(e,r)=>{let n=N(r.props,"pmap:kind");return["school","university","college"].includes(n)}},{dataLayer:"landuse",symbolizer:new D({fill:t.beach}),filter:(e,r)=>r.props["pmap:kind"]==="beach"},{dataLayer:"landuse",symbolizer:new D({fill:t.zoo}),filter:(e,r)=>r.props["pmap:kind"]==="zoo"},{dataLayer:"landuse",symbolizer:new D({fill:t.zoo}),filter:(e,r)=>{let n=N(r.props,"pmap:kind");return["military","naval_base","airfield"].includes(n)}},{dataLayer:"natural",symbolizer:new D({fill:(e,r)=>qe(t.wood_a,t.wood_b,Math.min(Math.max(e/12,12),0))}),filter:(e,r)=>{let n=N(r.props,"pmap:kind");return["wood","nature_reserve","forest"].includes(n)}},{dataLayer:"natural",symbolizer:new D({fill:(e,r)=>qe(t.scrub_a,t.scrub_b,Math.min(Math.max(e/12,12),0))}),filter:(e,r)=>{let n=N(r.props,"pmap:kind");return["scrub","grassland","grass"].includes(n)}},{dataLayer:"natural",symbolizer:new D({fill:t.scrub_b}),filter:(e,r)=>{let n=N(r.props,"pmap:kind");return["scrub","grassland","grass"].includes(n)}},{dataLayer:"natural",symbolizer:new D({fill:t.glacier}),filter:(e,r)=>r.props["pmap:kind"]==="glacier"},{dataLayer:"natural",symbolizer:new D({fill:t.sand}),filter:(e,r)=>r.props["pmap:kind"]==="sand"},{dataLayer:"landuse",symbolizer:new D({fill:t.aerodrome}),filter:(e,r)=>r.props["pmap:kind"]==="aerodrome"},{dataLayer:"water",symbolizer:new D({fill:t.water})},{dataLayer:"transit",symbolizer:new O({color:t.runway,width:(e,r)=>$(1.6,[[11,0],[13,4],[19,30]])(e)}),filter:(e,r)=>r.props["pmap:kind_detail"]==="runway"},{dataLayer:"transit",symbolizer:new O({color:t.runway,width:(e,r)=>$(1.6,[[14,0],[14.5,1],[16,6]])(e)}),filter:(e,r)=>r.props["pmap:kind_detail"]==="taxiway"},{dataLayer:"transit",symbolizer:new O({color:t.pier,width:(e,r)=>$(1.6,[[13,0],[13.5,0,5],[21,16]])(e)}),filter:(e,r)=>r.props["pmap:kind"]==="pier"},{dataLayer:"physical_line",minzoom:14,symbolizer:new O({color:t.water,width:(e,r)=>$(1.6,[[9,0],[9.5,1],[18,12]])(e)}),filter:(e,r)=>r.props["pmap:kind"]==="river"},{dataLayer:"physical_line",minzoom:14,symbolizer:new O({color:t.water,width:.5}),filter:(e,r)=>r.props["pmap:kind"]==="stream"},{dataLayer:"landuse",symbolizer:new D({fill:t.pedestrian}),filter:(e,r)=>r.props["pmap:kind"]==="pedestrian"},{dataLayer:"landuse",symbolizer:new D({fill:t.pier}),filter:(e,r)=>r.props["pmap:kind"]==="pier"},{dataLayer:"buildings",symbolizer:new D({fill:t.buildings,opacity:.5})},{dataLayer:"roads",symbolizer:new O({color:t.major,width:(e,r)=>$(1.6,[[14,0],[20,7]])(e)}),filter:(e,r)=>{let n=N(r.props,"pmap:kind");return["other","path"].includes(n)}},{dataLayer:"roads",symbolizer:new O({color:t.major,width:(e,r)=>$(1.6,[[13,0],[18,8]])(e)}),filter:(e,r)=>r.props["pmap:kind"]==="minor_road"},{dataLayer:"roads",symbolizer:new O({color:t.major,width:(e,r)=>$(1.6,[[7,0],[12,1.2],[15,3],[18,13]])(e)}),filter:(e,r)=>r.props["pmap:kind"]==="medium_road"},{dataLayer:"roads",symbolizer:new O({color:t.major,width:(e,r)=>$(1.6,[[6,0],[12,1.6],[15,3],[18,13]])(e)}),filter:(e,r)=>r.props["pmap:kind"]==="major_road"},{dataLayer:"roads",symbolizer:new O({color:t.major,width:(e,r)=>$(1.6,[[3,0],[6,1.1],[12,1.6],[15,5],[18,15]])(e)}),filter:(e,r)=>r.props["pmap:kind"]==="highway"},{dataLayer:"boundaries",symbolizer:new O({dash:[3,2],color:t.boundaries,width:1}),filter:(e,r)=>{let n=r.props["pmap:min_admin_level"];return typeof n=="number"&&n<=2}},{dataLayer:"transit",symbolizer:new O({dash:[.3,.75],color:t.railway,dashWidth:(e,r)=>$(1.6,[[4,0],[7,.15],[19,9]])(e),opacity:.5}),filter:(e,r)=>r.props["pmap:kind"]==="rail"},{dataLayer:"boundaries",symbolizer:new O({dash:[3,2],color:t.boundaries,width:.5}),filter:(e,r)=>{let n=r.props["pmap:min_admin_level"];return typeof n=="number"&&n>2}}],Ie=t=>{let e=["name"];return[{dataLayer:"roads",symbolizer:new le({labelProps:e,fill:t.roads_label_minor,font:"400 12px sans-serif",width:2,stroke:t.roads_label_minor_halo}),minzoom:16,filter:(r,n)=>{let i=N(n.props,"pmap:kind");return["minor_road","other","path"].includes(i)}},{dataLayer:"roads",symbolizer:new le({labelProps:e,fill:t.roads_label_major,font:"400 12px sans-serif",width:2,stroke:t.roads_label_major_halo}),minzoom:12,filter:(r,n)=>{let i=N(n.props,"pmap:kind");return["highway","major_road","medium_road"].includes(i)}},{dataLayer:"roads",symbolizer:new le({labelProps:e,fill:t.roads_label_major,font:"400 12px sans-serif",width:2,stroke:t.roads_label_major_halo}),minzoom:12,filter:(r,n)=>{let i=N(n.props,"pmap:kind");return["highway","major_road","medium_road"].includes(i)}},{dataLayer:"physical_point",symbolizer:new ne({labelProps:e,fill:t.ocean_label,lineHeight:1.5,letterSpacing:1,font:(r,n)=>`400 ${nt([[3,10],[10,12]])(r)}px sans-serif`,textTransform:"uppercase"}),filter:(r,n)=>{let i=N(n.props,"pmap:kind");return["ocean","bay","strait","fjord"].includes(i)}},{dataLayer:"physical_point",symbolizer:new ne({labelProps:e,fill:t.ocean_label,lineHeight:1.5,letterSpacing:1,font:(r,n)=>`400 ${nt([[3,0],[6,12],[10,12]])(r)}px sans-serif`}),filter:(r,n)=>{let i=N(n.props,"pmap:kind");return["sea","lake","water"].includes(i)}},{dataLayer:"places",symbolizer:new ne({labelProps:(r,n)=>r<6?["name:short"]:e,fill:t.state_label,stroke:t.state_label_halo,width:1,lineHeight:1.5,font:(r,n)=>r<6?"400 16px sans-serif":"400 12px sans-serif",textTransform:"uppercase"}),filter:(r,n)=>n.props["pmap:kind"]==="region"},{dataLayer:"places",symbolizer:new ne({labelProps:e,fill:t.country_label,lineHeight:1.5,font:(r,n)=>(r<6,"600 12px sans-serif"),textTransform:"uppercase"}),filter:(r,n)=>n.props["pmap:kind"]==="country"},{dataLayer:"places",minzoom:9,symbolizer:new ne({labelProps:e,fill:t.city_label,lineHeight:1.5,font:(r,n)=>{if(!n)return"400 12px sans-serif";let i=n.props["pmap:min_zoom"],s=400;i&&i<=5&&(s=600);let a=12,o=n.props["pmap:population_rank"];return o&&o>9&&(a=16),`${s} ${a}px sans-serif`}}),sort:(r,n)=>{let i=Xr(r,"pmap:population_rank"),s=Xr(n,"pmap:population_rank");return i-s},filter:(r,n)=>n.props["pmap:kind"]==="locality"},{dataLayer:"places",maxzoom:8,symbolizer:new Re([new Be({radius:2,fill:t.city_circle,stroke:t.city_circle_stroke,width:1.5}),new Oe({labelProps:e,fill:t.city_label,stroke:t.city_label_halo,width:1,offsetX:6,offsetY:4.5,font:(r,n)=>"400 12px sans-serif"})]),filter:(r,n)=>n.props["pmap:kind"]==="locality"}]};var Ri={background:"#cccccc",earth:"#e0e0e0",park_a:"#cfddd5",park_b:"#9cd3b4",hospital:"#e4dad9",industrial:"#d1dde1",school:"#e4ded7",wood_a:"#d0ded0",wood_b:"#a0d9a0",pedestrian:"#e3e0d4",scrub_a:"#cedcd7",scrub_b:"#99d2bb",glacier:"#e7e7e7",sand:"#e2e0d7",beach:"#e8e4d0",aerodrome:"#dadbdf",runway:"#e9e9ed",water:"#80deea",pier:"#e0e0e0",zoo:"#c6dcdc",military:"#dcdcdc",tunnel_other_casing:"#e0e0e0",tunnel_minor_casing:"#e0e0e0",tunnel_link_casing:"#e0e0e0",tunnel_medium_casing:"#e0e0e0",tunnel_major_casing:"#e0e0e0",tunnel_highway_casing:"#e0e0e0",tunnel_other:"#d5d5d5",tunnel_minor:"#d5d5d5",tunnel_link:"#d5d5d5",tunnel_medium:"#d5d5d5",tunnel_major:"#d5d5d5",tunnel_highway:"#d5d5d5",transit_pier:"#e0e0e0",buildings:"#cccccc",minor_service_casing:"#e0e0e0",minor_casing:"#e0e0e0",link_casing:"#e0e0e0",medium_casing:"#e0e0e0",major_casing_late:"#e0e0e0",highway_casing_late:"#e0e0e0",other:"#ebebeb",minor_service:"#ebebeb",minor_a:"#ebebeb",minor_b:"#ffffff",link:"#ffffff",medium:"#f5f5f5",major_casing_early:"#e0e0e0",major:"#ffffff",highway_casing_early:"#e0e0e0",highway:"#ffffff",railway:"#a7b1b3",boundaries:"#adadad",waterway_label:"#ffffff",bridges_other_casing:"#e0e0e0",bridges_minor_casing:"#e0e0e0",bridges_link_casing:"#e0e0e0",bridges_medium_casing:"#e0e0e0",bridges_major_casing:"#e0e0e0",bridges_highway_casing:"#e0e0e0",bridges_other:"#ebebeb",bridges_minor:"#ffffff",bridges_link:"#ffffff",bridges_medium:"#f0eded",bridges_major:"#f5f5f5",bridges_highway:"#ffffff",roads_label_minor:"#91888b",roads_label_minor_halo:"#ffffff",roads_label_major:"#938a8d",roads_label_major_halo:"#ffffff",ocean_label:"#ffffff",peak_label:"#7e9aa0",subplace_label:"#8f8f8f",subplace_label_halo:"#e0e0e0",city_circle:"#ffffff",city_circle_stroke:"#a3a3a3",city_label:"#5c5c5c",city_label_halo:"#e0e0e0",state_label:"#b3b3b3",state_label_halo:"#e0e0e0",country_label:"#a3a3a3"},ji={background:"#34373d",earth:"#1f1f1f",park_a:"#232325",park_b:"#232325",hospital:"#252424",industrial:"#222222",school:"#262323",wood_a:"#202121",wood_b:"#202121",pedestrian:"#1e1e1e",scrub_a:"#222323",scrub_b:"#222323",glacier:"#1c1c1c",sand:"#212123",beach:"#28282a",aerodrome:"#1e1e1e",runway:"#333333",water:"#34373d",pier:"#222222",zoo:"#222323",military:"#242323",tunnel_other_casing:"#141414",tunnel_minor_casing:"#141414",tunnel_link_casing:"#141414",tunnel_medium_casing:"#141414",tunnel_major_casing:"#141414",tunnel_highway_casing:"#141414",tunnel_other:"#292929",tunnel_minor:"#292929",tunnel_link:"#292929",tunnel_medium:"#292929",tunnel_major:"#292929",tunnel_highway:"#292929",transit_pier:"#333333",buildings:"#111111",minor_service_casing:"#1f1f1f",minor_casing:"#1f1f1f",link_casing:"#1f1f1f",medium_casing:"#1f1f1f",major_casing_late:"#1f1f1f",highway_casing_late:"#1f1f1f",other:"#333333",minor_service:"#333333",minor_a:"#3d3d3d",minor_b:"#333333",link:"#3d3d3d",medium:"#3d3d3d",major_casing_early:"#1f1f1f",major:"#3d3d3d",highway_casing_early:"#1f1f1f",highway:"#474747",railway:"#000000",boundaries:"#5b6374",waterway_label:"#717784",bridges_other_casing:"#2b2b2b",bridges_minor_casing:"#1f1f1f",bridges_link_casing:"#1f1f1f",bridges_medium_casing:"#1f1f1f",bridges_major_casing:"#1f1f1f",bridges_highway_casing:"#1f1f1f",bridges_other:"#333333",bridges_minor:"#333333",bridges_link:"#3d3d3d",bridges_medium:"#3d3d3d",bridges_major:"#3d3d3d",bridges_highway:"#474747",roads_label_minor:"#525252",roads_label_minor_halo:"#1f1f1f",roads_label_major:"#666666",roads_label_major_halo:"#1f1f1f",ocean_label:"#717784",peak_label:"#898080",subplace_label:"#525252",subplace_label_halo:"#1f1f1f",city_circle:"#000000",city_circle_stroke:"#7a7a7a",city_label:"#7a7a7a",city_label_halo:"#212121",state_label:"#3d3d3d",state_label_halo:"#1f1f1f",country_label:"#5c5c5c"},Oi={background:"#ffffff",earth:"#ffffff",park_a:"#fcfcfc",park_b:"#fcfcfc",hospital:"#f8f8f8",industrial:"#fcfcfc",school:"#f8f8f8",wood_a:"#fafafa",wood_b:"#fafafa",pedestrian:"#fdfdfd",scrub_a:"#fafafa",scrub_b:"#fafafa",glacier:"#fcfcfc",sand:"#fafafa",beach:"#f6f6f6",aerodrome:"#fdfdfd",runway:"#efefef",water:"#dcdcdc",pier:"#f5f5f5",zoo:"#f7f7f7",military:"#fcfcfc",tunnel_other_casing:"#d6d6d6",tunnel_minor_casing:"#fcfcfc",tunnel_link_casing:"#fcfcfc",tunnel_medium_casing:"#fcfcfc",tunnel_major_casing:"#fcfcfc",tunnel_highway_casing:"#fcfcfc",tunnel_other:"#d6d6d6",tunnel_minor:"#d6d6d6",tunnel_link:"#d6d6d6",tunnel_medium:"#d6d6d6",tunnel_major:"#d6d6d6",tunnel_highway:"#d6d6d6",transit_pier:"#efefef",buildings:"#efefef",minor_service_casing:"#ffffff",minor_casing:"#ffffff",link_casing:"#ffffff",medium_casing:"#ffffff",major_casing_late:"#ffffff",highway_casing_late:"#ffffff",other:"#f5f5f5",minor_service:"#f5f5f5",minor_a:"#ebebeb",minor_b:"#f5f5f5",link:"#ebebeb",medium:"#ebebeb",major_casing_early:"#ffffff",major:"#ebebeb",highway_casing_early:"#ffffff",highway:"#ebebeb",railway:"#d6d6d6",boundaries:"#adadad",waterway_label:"#adadad",bridges_other_casing:"#ffffff",bridges_minor_casing:"#ffffff",bridges_link_casing:"#ffffff",bridges_medium_casing:"#ffffff",bridges_major_casing:"#ffffff",bridges_highway_casing:"#ffffff",bridges_other:"#f5f5f5",bridges_minor:"#f5f5f5",bridges_link:"#ebebeb",bridges_medium:"#ebebeb",bridges_major:"#ebebeb",bridges_highway:"#ebebeb",roads_label_minor:"#adadad",roads_label_minor_halo:"#ffffff",roads_label_major:"#999999",roads_label_major_halo:"#ffffff",ocean_label:"#adadad",peak_label:"#adadad",subplace_label:"#8f8f8f",subplace_label_halo:"#ffffff",city_circle:"#ffffff",city_circle_stroke:"#adadad",city_label:"#5c5c5c",city_label_halo:"#ffffff",state_label:"#b3b3b3",state_label_halo:"#ffffff",country_label:"#b8b8b8"},Xi={background:"#a3a3a3",earth:"#cccccc",park_a:"#c2c2c2",park_b:"#c2c2c2",hospital:"#d0d0d0",industrial:"#c6c6c6",school:"#d0d0d0",wood_a:"#c2c2c2",wood_b:"#c2c2c2",pedestrian:"#c4c4c4",scrub_a:"#c2c2c2",scrub_b:"#c2c2c2",glacier:"#d2d2d2",sand:"#d2d2d2",beach:"#d2d2d2",aerodrome:"#c9c9c9",runway:"#f5f5f5",water:"#a3a3a3",pier:"#b8b8b8",zoo:"#c7c7c7",military:"#bfbfbf",tunnel_other_casing:"#b8b8b8",tunnel_minor_casing:"#b8b8b8",tunnel_link_casing:"#b8b8b8",tunnel_medium_casing:"#b8b8b8",tunnel_major_casing:"#b8b8b8",tunnel_highway_casing:"#b8b8b8",tunnel_other:"#d6d6d6",tunnel_minor:"#d6d6d6",tunnel_link:"#d6d6d6",tunnel_medium:"#d6d6d6",tunnel_major:"#d6d6d6",tunnel_highway:"#d6d6d6",transit_pier:"#b8b8b8",buildings:"#e0e0e0",minor_service_casing:"#cccccc",minor_casing:"#cccccc",link_casing:"#cccccc",medium_casing:"#cccccc",major_casing_late:"#cccccc",highway_casing_late:"#cccccc",other:"#e0e0e0",minor_service:"#e0e0e0",minor_a:"#ebebeb",minor_b:"#e0e0e0",link:"#ebebeb",medium:"#ebebeb",major_casing_early:"#cccccc",major:"#ebebeb",highway_casing_early:"#cccccc",highway:"#ebebeb",railway:"#f5f5f5",boundaries:"#5c5c5c",waterway_label:"#7a7a7a",bridges_other_casing:"#cccccc",bridges_minor_casing:"#cccccc",bridges_link_casing:"#cccccc",bridges_medium_casing:"#cccccc",bridges_major_casing:"#cccccc",bridges_highway_casing:"#cccccc",bridges_other:"#e0e0e0",bridges_minor:"#e0e0e0",bridges_link:"#ebebeb",bridges_medium:"#ebebeb",bridges_major:"#ebebeb",bridges_highway:"#ebebeb",roads_label_minor:"#999999",roads_label_minor_halo:"#e0e0e0",roads_label_major:"#8f8f8f",roads_label_major_halo:"#ebebeb",ocean_label:"#7a7a7a",peak_label:"#5c5c5c",subplace_label:"#7a7a7a",subplace_label_halo:"#cccccc",city_circle:"#c2c2c2",city_circle_stroke:"#7a7a7a",city_label:"#474747",city_label_halo:"#cccccc",state_label:"#999999",state_label_halo:"#cccccc",country_label:"#858585"},Ii={background:"#2b2b2b",earth:"#141414",park_a:"#181818",park_b:"#181818",hospital:"#1d1d1d",industrial:"#101010",school:"#111111",wood_a:"#1a1a1a",wood_b:"#1a1a1a",pedestrian:"#191919",scrub_a:"#1c1c1c",scrub_b:"#1c1c1c",glacier:"#191919",sand:"#161616",beach:"#1f1f1f",aerodrome:"#191919",runway:"#323232",water:"#333333",pier:"#0a0a0a",zoo:"#191919",military:"#121212",tunnel_other_casing:"#101010",tunnel_minor_casing:"#101010",tunnel_link_casing:"#101010",tunnel_medium_casing:"#101010",tunnel_major_casing:"#101010",tunnel_highway_casing:"#101010",tunnel_other:"#292929",tunnel_minor:"#292929",tunnel_link:"#292929",tunnel_medium:"#292929",tunnel_major:"#292929",tunnel_highway:"#292929",transit_pier:"#0a0a0a",buildings:"#0a0a0a",minor_service_casing:"#141414",minor_casing:"#141414",link_casing:"#141414",medium_casing:"#141414",major_casing_late:"#141414",highway_casing_late:"#141414",other:"#1f1f1f",minor_service:"#1f1f1f",minor_a:"#292929",minor_b:"#1f1f1f",link:"#1f1f1f",medium:"#292929",major_casing_early:"#141414",major:"#292929",highway_casing_early:"#141414",highway:"#292929",railway:"#292929",boundaries:"#707070",waterway_label:"#707070",bridges_other_casing:"#141414",bridges_minor_casing:"#141414",bridges_link_casing:"#141414",bridges_medium_casing:"#141414",bridges_major_casing:"#141414",bridges_highway_casing:"#141414",bridges_other:"#1f1f1f",bridges_minor:"#1f1f1f",bridges_link:"#292929",bridges_medium:"#292929",bridges_major:"#292929",bridges_highway:"#292929",roads_label_minor:"#525252",roads_label_minor_halo:"#141414",roads_label_major:"#5c5c5c",roads_label_major_halo:"#141414",ocean_label:"#707070",peak_label:"#707070",subplace_label:"#5c5c5c",subplace_label_halo:"#141414",city_circle:"#000000",city_circle_stroke:"#666666",city_label:"#999999",city_label_halo:"#141414",state_label:"#3d3d3d",state_label_halo:"#141414",country_label:"#707070"},Yi={light:Ri,dark:ji,white:Oi,grayscale:Xi,black:Ii},it=Yi;var Yr=W(Q(),1),Vr=W(Ir(),1);var ce=W(Q(),1);var Ve=(t,e,r)=>{let n=[];for(let i of t){let s=[];for(let a of i)s.push(a.clone().mult(e).add(r));n.push(s)}return n},Ye=(t,e)=>{let r=1<<e;return t<0?r+t:t>=r?t%r:t},st=class{constructor(e,r,n){this.tileCache=e,this.maxDataLevel=r,this.levelDiff=n}dataTilesForBounds(e,r){let n=B(2,e)/B(2,Math.ceil(e)),i=[],s=1,a=this.tileCache.tileSize;if(e<this.levelDiff)s=1/(1<<this.levelDiff-e)*n,i.push({dataTile:{z:0,x:0,y:0},origin:new ce.default(0,0),scale:s,dim:a*s});else if(e<=this.levelDiff+this.maxDataLevel){let o=1<<this.levelDiff,l=256*n,c=Math.ceil(e)-this.levelDiff,u=Math.floor(r.minX/o/l),h=Math.floor(r.minY/o/l),p=Math.floor(r.maxX/o/l),y=Math.floor(r.maxY/o/l);for(let _=u;_<=p;_++)for(let k=h;k<=y;k++){let f=new ce.default(_*o*l,k*o*l);i.push({dataTile:{z:c,x:Ye(_,c),y:Ye(k,c)},origin:f,scale:n,dim:a*n})}}else{let o=1<<this.levelDiff;s=(1<<Math.ceil(e)-this.maxDataLevel-this.levelDiff)*n;let l=Math.floor(r.minX/o/256/s),c=Math.floor(r.minY/o/256/s),u=Math.floor(r.maxX/o/256/s),h=Math.floor(r.maxY/o/256/s);for(let p=l;p<=u;p++)for(let y=c;y<=h;y++){let _=new ce.default(p*o*256*s,y*o*256*s);i.push({dataTile:{z:this.maxDataLevel,x:Ye(p,this.maxDataLevel),y:Ye(y,this.maxDataLevel)},origin:_,scale:s,dim:a*s})}}return i}dataTileForDisplayTile(e){let r,n=1,i=this.tileCache.tileSize,s;if(e.z<this.levelDiff)r={z:0,x:0,y:0},n=1/(1<<this.levelDiff-e.z),s=new ce.default(0,0),i=i*n;else if(e.z<=this.levelDiff+this.maxDataLevel){let a=1<<this.levelDiff;r={z:e.z-this.levelDiff,x:Math.floor(e.x/a),y:Math.floor(e.y/a)},s=new ce.default(r.x*a*256,r.y*a*256)}else{n=1<<e.z-this.maxDataLevel-this.levelDiff;let a=1<<this.levelDiff;r={z:this.maxDataLevel,x:Math.floor(e.x/a/n),y:Math.floor(e.y/a/n)},s=new ce.default(r.x*a*n*256,r.y*a*n*256),i=i*n}return{dataTile:r,scale:n,origin:s,dim:i}}getBbox(e,r){return R(this,null,function*(){let n=this.dataTilesForBounds(e,r);return(yield Promise.all(n.map(s=>this.tileCache.get(s.dataTile)))).map((s,a)=>{let o=n[a];return{data:s,z:e,dataTile:o.dataTile,scale:o.scale,dim:o.dim,origin:o.origin}})})}getDisplayTile(e){return R(this,null,function*(){let r=this.dataTileForDisplayTile(e);return{data:yield this.tileCache.get(r.dataTile),z:e.z,dataTile:r.dataTile,scale:r.scale,origin:r.origin,dim:r.dim}})}queryFeatures(e,r,n,i){let s=Math.round(n),a=Math.min(s-this.levelDiff,this.maxDataLevel),o=i/(1<<s-a);return this.tileCache.queryFeatures(e,r,a,o)}},Ee=t=>{let e=n=>{let i=n.levelDiff===void 0?1:n.levelDiff,s=n.maxDataZoom||15,a;if(typeof n.url=="string")n.url.endsWith(".pmtiles")?a=new ve(n.url,!0):a=new De(n.url,!0);else if(n.url)a=new ve(n.url,!0);else throw new Error(`Invalid source ${n.url}`);let o=new Ae(a,256*1<<i);return new st(o,s,i)},r=new Map;if(t.sources)for(let n in t.sources)r.set(n,e(t.sources[n]));else r.set("",e(t));return r};var Er=(t,e,r)=>{let i=e/256,s=Math.floor(r.minX/256),a=Math.floor(r.minY/256),o=Math.floor(r.maxX/256),l=Math.floor(r.maxY/256),c=Math.log2(i),u=[];for(let h=s;h<=o;h++){let p=h%(1<<t);for(let y=a;y<=l;y++)u.push({display:re({z:t,x:p,y}),key:re({z:t-c,x:Math.floor(p/i),y:Math.floor(y/i)})})}return u},at=class{constructor(e,r){this.tree=new Vr.default,this.current=new Map,this.dim=e,this.maxLabeledTiles=r}hasPrefix(e){for(let r of this.current.keys())if(r.startsWith(e))return!0;return!1}has(e){return this.current.has(e)}size(){return this.current.size}keys(){return this.current.keys()}searchBbox(e,r){let n=new Set;for(let i of this.tree.search(e))i.indexedLabel.order<=r&&n.add(i.indexedLabel);return n}searchLabel(e,r){let n=new Set;for(let i of e.bboxes)for(let s of this.tree.search(i))s.indexedLabel.order<=r&&n.add(s.indexedLabel);return n}bboxCollides(e,r){for(let n of this.tree.search(e))if(n.indexedLabel.order<=r)return!0;return!1}labelCollides(e,r){for(let n of e.bboxes)for(let i of this.tree.search(n))if(i.indexedLabel.order<=r)return!0;return!1}deduplicationCollides(e){if(!e.deduplicationKey||!e.deduplicationDistance)return!1;let r=e.deduplicationDistance,n={minX:e.anchor.x-r,minY:e.anchor.y-r,maxX:e.anchor.x+r,maxY:e.anchor.y+r};for(let i of this.tree.search(n))if(i.indexedLabel.deduplicationKey===e.deduplicationKey&&i.indexedLabel.anchor.dist(e.anchor)<r)return!0;return!1}makeEntry(e){this.current.get(e)&&console.log("consistency error 1");let r=new Set;this.current.set(e,r)}insert(e,r,n){let i={anchor:e.anchor,bboxes:e.bboxes,draw:e.draw,order:r,tileKey:n,deduplicationKey:e.deduplicationKey,deduplicationDistance:e.deduplicationDistance},s=this.current.get(n);if(!s){let l=new Set;this.current.set(n,l),s=l}s.add(i);let a=!1,o=!1;for(let l of e.bboxes)this.tree.insert({minX:l.minX,minY:l.minY,maxX:l.maxX,maxY:l.maxY,indexedLabel:i}),l.minX<0&&(a=!0),l.maxX>this.dim&&(o=!0);if(a||o){let l=a?this.dim:-this.dim,c=[];for(let p of e.bboxes)c.push({minX:p.minX+l,minY:p.minY,maxX:p.maxX+l,maxY:p.maxY});let u={anchor:new Yr.default(e.anchor.x+l,e.anchor.y),bboxes:c,draw:e.draw,order:r,tileKey:n},h=this.current.get(n);h&&h.add(u);for(let p of c)this.tree.insert({minX:p.minX,minY:p.minY,maxX:p.maxX,maxY:p.maxY,indexedLabel:u})}}pruneOrNoop(e){let r=e.split(":"),n,i=0,s=0;for(let a of this.current.keys()){let o=a.split(":");if(o[3]===r[3]){s++;let l=Math.sqrt(B(+o[0]-+r[0],2)+B(+o[1]-+r[1],2));l>i&&(i=l,n=a)}n&&s>this.maxLabeledTiles&&this.pruneKey(n)}}pruneKey(e){let r=this.current.get(e);if(!r)return;let n=[];for(let i of this.tree.all())r.has(i.indexedLabel)&&n.push(i);for(let i of n)this.tree.remove(i);this.current.delete(e)}removeLabel(e){let r=[];for(let i of this.tree.all())e===i.indexedLabel&&r.push(i);for(let i of r)this.tree.remove(i);let n=this.current.get(e.tileKey);n&&n.delete(e)}},ke=class{constructor(e,r,n,i,s){this.index=new at(256*1<<e,i),this.z=e,this.scratch=r,this.labelRules=n,this.callback=s}layout(e){let r=performance.now(),n=new Set;for(let[s,a]of e)for(let o of a){let l=`${re(o.dataTile)}:${s}`;this.index.has(l)||(this.index.makeEntry(l),n.add(l))}let i=new Set;for(let[s,a]of this.labelRules.entries()){if(a.visible===!1||a.minzoom&&this.z<a.minzoom||a.maxzoom&&this.z>a.maxzoom)continue;let o=a.dataSource||"",l=e.get(o);if(!!l)for(let c of l){let u=`${re(c.dataTile)}:${o}`;if(!n.has(u))continue;let h=c.data.get(a.dataLayer);if(h===void 0)continue;let p=h;a.sort&&p.sort((_,k)=>a.sort?a.sort(_.props,k.props):0);let y={index:this.index,zoom:this.z,scratch:this.scratch,order:s,overzoom:this.z-c.dataTile.z};for(let _ of p){if(a.filter&&!a.filter(this.z,_))continue;let k=Ve(_.geom,c.scale,c.origin),f=a.symbolizer.place(y,k,_);if(!!f)for(let d of f){let m=!1;if(!(d.deduplicationKey&&this.index.deduplicationCollides(d))){if(this.index.labelCollides(d,1/0)){if(!this.index.labelCollides(d,s)){let x=this.index.searchLabel(d,1/0);for(let g of x){this.index.removeLabel(g);for(let b of g.bboxes)this.findInvalidatedTiles(i,c.dim,b,u)}this.index.insert(d,s,u),m=!0}}else this.index.insert(d,s,u),m=!0;if(m)for(let x of d.bboxes)(x.maxX>c.origin.x+c.dim||x.minX<c.origin.x||x.minY<c.origin.y||x.maxY>c.origin.y+c.dim)&&this.findInvalidatedTiles(i,c.dim,x,u)}}}}}for(let s of n)this.index.pruneOrNoop(s);return i.size>0&&this.callback&&this.callback(i),performance.now()-r}findInvalidatedTiles(e,r,n,i){let s=Er(this.z,r,n);for(let a of s)a.key!==i&&this.index.hasPrefix(a.key)&&e.add(a.display)}add(e){let r=!0;for(let[i,s]of e)for(let a of s)this.index.has(`${re(a.dataTile)}:${i}`)||(r=!1);return r?0:this.layout(e)}},ze=class{constructor(e,r,n,i){this.labelers=new Map,this.scratch=e,this.labelRules=r,this.maxLabeledTiles=n,this.callback=i}add(e,r){let n=this.labelers.get(e);return n||(n=new ke(e,this.scratch,this.labelRules,this.maxLabeledTiles,this.callback),this.labelers.set(e,n)),n.add(r)}getIndex(e){let r=this.labelers.get(e);if(r)return r.index}};var Ur=W(Q(),1);function Ue(t,e,r,n,i,s,a,o,l){let c=performance.now();t.save(),t.miterLimit=2;for(let u of i){if(u.minzoom&&e<u.minzoom||u.maxzoom&&e>u.maxzoom)continue;let h=r.get(u.dataSource||"");if(!!h)for(let p of h){let y=p.data.get(u.dataLayer);if(y===void 0)continue;u.symbolizer.before&&u.symbolizer.before(t,p.z);let _=p.origin,k=p.dim,f=p.scale;if(t.save(),o){t.beginPath();let d=Math.max(_.x-a.x,s.minX-a.x),m=Math.max(_.y-a.y,s.minY-a.y),x=Math.min(_.x-a.x+k,s.maxX-a.x),g=Math.min(_.y-a.y+k,s.maxY-a.y);t.rect(d,m,x-d,g-m),t.clip()}t.translate(_.x-a.x,_.y-a.y);for(let d of y){let m=d.geom,x=d.bbox;x.maxX*f+_.x<s.minX||x.minX*f+_.x>s.maxX||x.minY*f+_.y>s.maxY||x.maxY*f+_.y<s.minY||u.filter&&!u.filter(p.z,d)||(f!==1&&(m=Ve(m,f,new Ur.default(0,0))),u.symbolizer.draw(t,m,p.z,d))}t.restore()}}if(o&&(t.beginPath(),t.rect(s.minX-a.x,s.minY-a.y,s.maxX-s.minX,s.maxY-s.minY),t.clip()),n){let u=n.searchBbox(s,1/0);for(let h of u)if(t.save(),t.translate(h.anchor.x-a.x,h.anchor.y-a.y),h.draw(t),t.restore(),l){t.lineWidth=.5,t.strokeStyle=l,t.fillStyle=l,t.globalAlpha=1,t.fillRect(h.anchor.x-a.x-2,h.anchor.y-a.y-2,4,4);for(let p of h.bboxes)t.strokeRect(p.minX-a.x,p.minY-a.y,p.maxX-p.minX,p.maxY-p.minY)}}return t.restore(),performance.now()-c}var $e=6378137,$r=85.0511287798,H=$e*Math.PI,Nr=t=>{let e=Math.PI/180,r=Math.max(Math.min($r,t.y),-$r),n=Math.sin(r*e);return new ie.default($e*t.x*e,$e*Math.log((1+n)/(1-n))/2)},Vi=t=>{let e=180/Math.PI;return{lat:(2*Math.atan(Math.exp(t.y/$e))-Math.PI/2)*e,lng:t.x*e/$e}},Ei=(t,e)=>r=>{let n=Nr(r);return new ie.default((n.x+H)/(H*2),1-(n.y+H)/(H*2)).mult((1<<e)*256).sub(t)},Ui=(t,e)=>r=>{let n=new ie.default(r.x,r.y).add(t).div((1<<e)*256),i=new ie.default(n.x*(H*2)-H,(1-n.y)*(H*2)-H);return Vi(i)},At=(t,e)=>{let r=e*(360/t);return Math.log2(r/256)},Bt=class{constructor(e){if(e.theme){let r=it[e.theme];this.paintRules=Xe(r),this.labelRules=Ie(r),this.backgroundColor=r.background}else this.paintRules=e.paintRules||[],this.labelRules=e.labelRules||[],this.backgroundColor=e.backgroundColor;this.views=Ee(e),this.debug=e.debug||""}drawContext(e,r,n,i,s){return R(this,null,function*(){let a=Nr(i),l=new ie.default((a.x+H)/(H*2),1-(a.y+H)/(H*2)).clone().mult(B(2,s)*256).sub(new ie.default(r/2,n/2)),c={minX:l.x,minY:l.y,maxX:l.x+r,maxY:l.y+n},u=[];for(let[m,x]of this.views){let g=x.getBbox(s,c);u.push({key:m,promise:g})}let h=yield Promise.all(u.map(m=>m.promise.then(x=>({status:"fulfilled",value:x,key:m.key}),x=>({status:"rejected",value:[],reason:x,key:m.key})))),p=new Map;for(let m of h)m.status==="fulfilled"&&p.set(m.key,m.value);let y=performance.now(),_=new ke(s,e,this.labelRules,16,void 0),k=_.add(p);this.backgroundColor&&(e.save(),e.fillStyle=this.backgroundColor,e.fillRect(0,0,r,n),e.restore());let f=this.paintRules,d=Ue(e,s,p,_.index,f,c,l,!0,this.debug);if(this.debug){e.save(),e.translate(-l.x,-l.y),e.strokeStyle=this.debug,e.fillStyle=this.debug,e.font="12px sans-serif";let m=0;for(let[x,g]of p){for(let b of g){e.strokeRect(b.origin.x,b.origin.y,b.dim,b.dim);let v=b.dataTile;e.fillText(`${x+(x?" ":"")+v.z} ${v.x} ${v.y}`,b.origin.x+4,b.origin.y+14*(1+m))}m++}e.restore()}return{elapsed:performance.now()-y,project:Ei(l,s),unproject:Ui(l,s)}})}drawCanvas(s,a,o){return R(this,arguments,function*(e,r,n,i={}){let l=window.devicePixelRatio,c=e.clientWidth,u=e.clientHeight;e.width===c*l&&e.height===u*l||(e.width=c*l,e.height=u*l),i.lang&&(e.lang=i.lang);let h=e.getContext("2d");if(!h){console.error("Failed to initialize canvas2d context.");return}return h.setTransform(l,0,0,l,0,0),this.drawContext(h,c,u,r,n)})}drawContextBounds(e,r,n,i,s){return R(this,null,function*(){let a=n.x-r.x,o=new ie.default((r.x+n.x)/2,(r.y+n.y)/2);return this.drawContext(e,i,s,o,At(a,i))})}drawCanvasBounds(a,o,l,c){return R(this,arguments,function*(e,r,n,i,s={}){let u=n.x-r.x,h=new ie.default((r.x+n.x)/2,(r.y+n.y)/2);return this.drawCanvas(e,h,At(u,i),s)})}};var Hr=W(Q(),1);var $i=t=>new Promise(e=>{setTimeout(()=>{e()},t)}),Ni=t=>t.then(e=>({status:"fulfilled",value:e}),e=>({status:"rejected",reason:e})),Hi=(t={})=>{class e extends L.GridLayer{constructor(n={}){if(n.noWrap&&!n.bounds&&(n.bounds=[[-90,-180],[90,180]]),n.attribution==null&&(n.attribution='<a href="https://protomaps.com">Protomaps</a> \xA9 <a href="https://openstreetmap.org/copyright">OpenStreetMap</a>'),super(n),n.theme){let s=it[n.theme];this.paintRules=Xe(s),this.labelRules=Ie(s),this.backgroundColor=s.background}else this.paintRules=n.paintRules||[],this.labelRules=n.labelRules||[],this.backgroundColor=n.backgroundColor;this.lastRequestedZ=void 0,this.tasks=n.tasks||[],this.views=Ee(n),this.debug=n.debug;let i=document.createElement("canvas").getContext("2d");this.scratch=i,this.onTilesInvalidated=s=>{for(let a of s)this.rerenderTile(a)},this.labelers=new ze(this.scratch,this.labelRules,16,this.onTilesInvalidated),this.tileSize=256*window.devicePixelRatio,this.tileDelay=n.tileDelay||3,this.lang=n.lang}renderTile(n,i,s,a=()=>{}){return R(this,null,function*(){this.lastRequestedZ=n.z;let o=[];for(let[w,z]of this.views){let T=z.getDisplayTile(n);o.push({key:w,promise:T})}let l=yield Promise.all(o.map(w=>w.promise.then(z=>({status:"fulfilled",value:z,key:w.key}),z=>({status:"rejected",reason:z,key:w.key})))),c=new Map;for(let w of l)w.status==="fulfilled"?c.set(w.key,[w.value]):w.reason.name==="AbortError"||console.error(w.reason);if(i.key!==s||this.lastRequestedZ!==n.z||(yield Promise.all(this.tasks.map(Ni)),i.key!==s)||this.lastRequestedZ!==n.z)return;let u=this.labelers.add(n.z,c);if(i.key!==s||this.lastRequestedZ!==n.z)return;let h=this.labelers.getIndex(n.z);if(!this._map)return;let p=this._map.getCenter().wrap(),y=this._getTiledPixelBounds(p),k=this._pxBoundsToTileRange(y).getCenter(),f=n.distanceTo(k)*this.tileDelay;if(yield $i(f),i.key!==s||this.lastRequestedZ!==n.z)return;let d=16,m={minX:256*n.x-d,minY:256*n.y-d,maxX:256*(n.x+1)+d,maxY:256*(n.y+1)+d},x=new Hr.default(256*n.x,256*n.y);i.width=this.tileSize,i.height=this.tileSize;let g=i.getContext("2d");if(!g){console.error("Failed to get Canvas context");return}g.setTransform(this.tileSize/256,0,0,this.tileSize/256,0,0),g.clearRect(0,0,256,256),this.backgroundColor&&(g.save(),g.fillStyle=this.backgroundColor,g.fillRect(0,0,256,256),g.restore());let b=0,v=this.paintRules;if(b=Ue(g,n.z,c,this.xray?null:h,v,m,x,!1,this.debug),this.debug){g.save(),g.fillStyle=this.debug,g.font="600 12px sans-serif",g.fillText(`${n.z} ${n.x} ${n.y}`,4,14),g.font="12px sans-serif";let w=28;for(let[z,T]of c){let M=T[0].dataTile;g.fillText(`${z+(z?" ":"")+M.z} ${M.x} ${M.y}`,4,w),w+=14}g.font="600 10px sans-serif",b>8&&(g.fillText(`${b.toFixed()} ms paint`,4,w),w+=14),u>8&&g.fillText(`${u.toFixed()} ms layout`,4,w),g.strokeStyle=this.debug,g.lineWidth=.5,g.beginPath(),g.moveTo(0,0),g.lineTo(0,256),g.stroke(),g.lineWidth=.5,g.beginPath(),g.moveTo(0,0),g.lineTo(256,0),g.stroke(),g.restore()}a()})}rerenderTile(n){for(let i in this._tiles){let s=this._wrapCoords(this._keyToTileCoords(i));n===this._tileCoordsToKey(s)&&this.renderTile(s,this._tiles[i].el,n)}}queryTileFeaturesDebug(n,i,s=16){let a=new Map;for(let[o,l]of this.views)a.set(o,l.queryFeatures(n,i,this._map.getZoom(),s));return a}clearLayout(){this.labelers=new ze(this.scratch,this.labelRules,16,this.onTilesInvalidated)}rerenderTiles(){for(let n in this._tiles){let i=this._wrapCoords(this._keyToTileCoords(n)),s=this._tileCoordsToKey(i);this.renderTile(i,this._tiles[n].el,s)}}createTile(n,i){let s=L.DomUtil.create("canvas","leaflet-tile");s.lang=this.lang;let a=this._tileCoordsToKey(n);return s.key=a,this.renderTile(n,s,a,()=>{i(void 0,s)}),s}_removeTile(n){let i=this._tiles[n];!i||(i.el.removed=!0,i.el.key=void 0,L.DomUtil.removeClass(i.el,"leaflet-tile-loaded"),i.el.width=i.el.height=0,L.DomUtil.remove(i.el),delete this._tiles[n],this.fire("tileunload",{tile:i.el,coords:this._keyToTileCoords(n)}))}}return new e(t)};function Rt(t){let e=0,r=0;for(let o of t)e+=o.w*o.h,r=Math.max(r,o.w);t.sort((o,l)=>l.h-o.h);let i=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}],s=0,a=0;for(let o of t)for(let l=i.length-1;l>=0;l--){let c=i[l];if(!(o.w>c.w||o.h>c.h)){if(o.x=c.x,o.y=c.y,a=Math.max(a,o.y+o.h),s=Math.max(s,o.x+o.w),o.w===c.w&&o.h===c.h){let u=i.pop();l<i.length&&(i[l]=u)}else o.h===c.h?(c.x+=o.w,c.w-=o.w):o.w===c.w?(c.y+=o.h,c.h-=o.h):(i.push({x:c.x+o.w,y:c.y,w:c.w-o.w,h:o.h}),c.y+=o.h,c.h-=o.h);break}}return{w:s,h:a,fill:e/(s*a)||0}}var qi=(t,e,r)=>{let n=new FontFace(t,`url(${e})`,{weight:r});return document.fonts.add(n),n.load()},qr=t=>R(void 0,null,function*(){return new Promise((e,r)=>{let n=new Image;n.onload=()=>e(n),n.onerror=()=>r("Invalid SVG"),n.src=t})}),Wi=`
|
|
1
|
+
"use strict";var protomapsL=(()=>{var Zr=Object.create;var He=Object.defineProperty;var Jr=Object.getOwnPropertyDescriptor;var Kr=Object.getOwnPropertyNames;var Gr=Object.getPrototypeOf,Qr=Object.prototype.hasOwnProperty;var B=Math.pow;var se=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),en=(t,e)=>{for(var r in e)He(t,r,{get:e[r],enumerable:!0})},Et=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Kr(e))!Qr.call(t,i)&&i!==r&&He(t,i,{get:()=>e[i],enumerable:!(n=Jr(e,i))||n.enumerable});return t};var W=(t,e,r)=>(r=t!=null?Zr(Gr(t)):{},Et(e||!t||!t.__esModule?He(r,"default",{value:t,enumerable:!0}):r,t)),tn=t=>Et(He({},"__esModule",{value:!0}),t);var R=(t,e,r)=>new Promise((n,i)=>{var s=l=>{try{o(r.next(l))}catch(c){i(c)}},a=l=>{try{o(r.throw(l))}catch(c){i(c)}},o=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,a);o((r=r.apply(t,e)).next())});var Q=se((Ki,Ut)=>{"use strict";Ut.exports=fe;function fe(t,e){this.x=t,this.y=e}fe.prototype={clone:function(){return new fe(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},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(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),s=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=s,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}};fe.convert=function(t){return t instanceof fe?t:Array.isArray(t)?new fe(t[0],t[1]):t}});var mt=se((is,Zt)=>{"use strict";var pn=Q();Zt.exports=pe;function pe(t,e,r,n,i){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=i,t.readFields(gn,this,e)}function gn(t,e,r){t==1?e.id=r.readVarint():t==2?bn(r,e):t==3?e.type=r.readVarint():t==4&&(e._geometry=r.pos)}function bn(t,e){for(var r=t.readVarint()+t.pos;t.pos<r;){var n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}pe.types=["Unknown","Point","LineString","Polygon"];pe.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,s=0,a=[],o;t.pos<e;){if(n<=0){var l=t.readVarint();r=l&7,n=l>>3}if(n--,r===1||r===2)i+=t.readSVarint(),s+=t.readSVarint(),r===1&&(o&&a.push(o),o=[]),o.push(new pn(i,s));else if(r===7)o&&o.push(o[0].clone());else throw new Error("unknown command "+r)}return o&&a.push(o),a};pe.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,s=0,a=1/0,o=-1/0,l=1/0,c=-1/0;t.pos<e;){if(n<=0){var u=t.readVarint();r=u&7,n=u>>3}if(n--,r===1||r===2)i+=t.readSVarint(),s+=t.readSVarint(),i<a&&(a=i),i>o&&(o=i),s<l&&(l=s),s>c&&(c=s);else if(r!==7)throw new Error("unknown command "+r)}return[a,l,o,c]};pe.prototype.toGeoJSON=function(t,e,r){var n=this.extent*Math.pow(2,r),i=this.extent*t,s=this.extent*e,a=this.loadGeometry(),o=pe.types[this.type],l,c;function u(y){for(var _=0;_<y.length;_++){var k=y[_],f=180-(k.y+s)*360/n;y[_]=[(k.x+i)*360/n-180,360/Math.PI*Math.atan(Math.exp(f*Math.PI/180))-90]}}switch(this.type){case 1:var h=[];for(l=0;l<a.length;l++)h[l]=a[l][0];a=h,u(a);break;case 2:for(l=0;l<a.length;l++)u(a[l]);break;case 3:for(a=xn(a),l=0;l<a.length;l++)for(c=0;c<a[l].length;c++)u(a[l][c]);break}a.length===1?a=a[0]:o="Multi"+o;var p={type:"Feature",geometry:{type:o,coordinates:a},properties:this.properties};return"id"in this&&(p.id=this.id),p};function xn(t){var e=t.length;if(e<=1)return[t];for(var r=[],n,i,s=0;s<e;s++){var a=yn(t[s]);a!==0&&(i===void 0&&(i=a<0),i===a<0?(n&&r.push(n),n=[t[s]]):n.push(t[s]))}return n&&r.push(n),r}function yn(t){for(var e=0,r=0,n=t.length,i=n-1,s,a;r<n;i=r++)s=t[r],a=t[i],e+=(a.x-s.x)*(s.y+a.y);return e}});var pt=se((ss,Kt)=>{"use strict";var wn=mt();Kt.exports=Jt;function Jt(t,e){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(_n,this,e),this.length=this._features.length}function _n(t,e,r){t===15?e.version=r.readVarint():t===1?e.name=r.readString():t===5?e.extent=r.readVarint():t===2?e._features.push(r.pos):t===3?e._keys.push(r.readString()):t===4&&e._values.push(vn(r))}function vn(t){for(var e=null,r=t.readVarint()+t.pos;t.pos<r;){var n=t.readVarint()>>3;e=n===1?t.readString():n===2?t.readFloat():n===3?t.readDouble():n===4?t.readVarint64():n===5?t.readVarint():n===6?t.readSVarint():n===7?t.readBoolean():null}return e}Jt.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new wn(this._pbf,e,this.extent,this._keys,this._values)}});var Qt=se((as,Gt)=>{"use strict";var kn=pt();Gt.exports=zn;function zn(t,e){this.layers=t.readFields(Tn,{},e)}function Tn(t,e,r){if(t===3){var n=new kn(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}});var er=se((os,Ze)=>{Ze.exports.VectorTile=Qt();Ze.exports.VectorTileFeature=mt();Ze.exports.VectorTileLayer=pt()});var tr=se(gt=>{gt.read=function(t,e,r,n,i){var s,a,o=i*8-n-1,l=(1<<o)-1,c=l>>1,u=-7,h=r?i-1:0,p=r?-1:1,y=t[e+h];for(h+=p,s=y&(1<<-u)-1,y>>=-u,u+=o;u>0;s=s*256+t[e+h],h+=p,u-=8);for(a=s&(1<<-u)-1,s>>=-u,u+=n;u>0;a=a*256+t[e+h],h+=p,u-=8);if(s===0)s=1-c;else{if(s===l)return a?NaN:(y?-1:1)*(1/0);a=a+Math.pow(2,n),s=s-c}return(y?-1:1)*a*Math.pow(2,s-n)};gt.write=function(t,e,r,n,i,s){var a,o,l,c=s*8-i-1,u=(1<<c)-1,h=u>>1,p=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,y=n?0:s-1,_=n?1:-1,k=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=u):(a=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-a))<1&&(a--,l*=2),a+h>=1?e+=p/l:e+=p*Math.pow(2,1-h),e*l>=2&&(a++,l/=2),a+h>=u?(o=0,a=u):a+h>=1?(o=(e*l-1)*Math.pow(2,i),a=a+h):(o=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[r+y]=o&255,y+=_,o/=256,i-=8);for(a=a<<i|o,c+=i;c>0;t[r+y]=a&255,y+=_,a/=256,c-=8);t[r+y-_]|=k*128}});var or=se((cs,ar)=>{"use strict";ar.exports=P;var Je=tr();function P(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}P.Varint=0;P.Fixed64=1;P.Bytes=2;P.Fixed32=5;var bt=(1<<16)*(1<<16),rr=1/bt,Mn=12,sr=typeof TextDecoder=="undefined"?null:new TextDecoder("utf8");P.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,s=this.pos;this.type=n&7,t(i,e,this),this.pos===s&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Ke(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=ir(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Ke(this.buf,this.pos)+Ke(this.buf,this.pos+4)*bt;return this.pos+=8,t},readSFixed64:function(){var t=Ke(this.buf,this.pos)+ir(this.buf,this.pos+4)*bt;return this.pos+=8,t},readFloat:function(){var t=Je.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Je.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e=this.buf,r,n;return n=e[this.pos++],r=n&127,n<128||(n=e[this.pos++],r|=(n&127)<<7,n<128)||(n=e[this.pos++],r|=(n&127)<<14,n<128)||(n=e[this.pos++],r|=(n&127)<<21,n<128)?r:(n=e[this.pos],r|=(n&15)<<28,Pn(r,t,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2===1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=Mn&&sr?Vn(this.buf,e,t):Yn(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==P.Bytes)return t.push(this.readVarint(e));var r=ee(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==P.Bytes)return t.push(this.readSVarint());var e=ee(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==P.Bytes)return t.push(this.readBoolean());var e=ee(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==P.Bytes)return t.push(this.readFloat());var e=ee(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==P.Bytes)return t.push(this.readDouble());var e=ee(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==P.Bytes)return t.push(this.readFixed32());var e=ee(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==P.Bytes)return t.push(this.readSFixed32());var e=ee(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==P.Bytes)return t.push(this.readFixed64());var e=ee(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==P.Bytes)return t.push(this.readSFixed64());var e=ee(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=t&7;if(e===P.Varint)for(;this.buf[this.pos++]>127;);else if(e===P.Bytes)this.pos=this.readVarint()+this.pos;else if(e===P.Fixed32)this.pos+=4;else if(e===P.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+e)},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),be(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),be(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),be(this.buf,t&-1,this.pos),be(this.buf,Math.floor(t*rr),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),be(this.buf,t&-1,this.pos),be(this.buf,Math.floor(t*rr),this.pos+4),this.pos+=8},writeVarint:function(t){if(t=+t||0,t>268435455||t<0){Ln(t,this);return}this.realloc(4),this.buf[this.pos++]=t&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=(t>>>=7)&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=(t>>>=7)&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=t>>>7&127)))},writeSVarint:function(t){this.writeVarint(t<0?-t*2-1:t*2)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(t.length*4),this.pos++;var e=this.pos;this.pos=En(this.buf,t,this.pos);var r=this.pos-e;r>=128&&nr(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),Je.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Je.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&nr(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,P.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,Cn,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Dn,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,Rn,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,An,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,Bn,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,jn,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,On,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Xn,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,In,e)},writeBytesField:function(t,e){this.writeTag(t,P.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,P.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,P.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,P.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,P.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,P.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,P.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,P.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,P.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,P.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};function Pn(t,e,r){var n=r.buf,i,s;if(s=n[r.pos++],i=(s&112)>>4,s<128||(s=n[r.pos++],i|=(s&127)<<3,s<128)||(s=n[r.pos++],i|=(s&127)<<10,s<128)||(s=n[r.pos++],i|=(s&127)<<17,s<128)||(s=n[r.pos++],i|=(s&127)<<24,s<128)||(s=n[r.pos++],i|=(s&1)<<31,s<128))return ge(t,i,e);throw new Error("Expected varint not more than 10 bytes")}function ee(t){return t.type===P.Bytes?t.readVarint()+t.pos:t.pos+1}function ge(t,e,r){return r?e*4294967296+(t>>>0):(e>>>0)*4294967296+(t>>>0)}function Ln(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(r=~(-t%4294967296),n=~(-t/4294967296),r^4294967295?r=r+1|0:(r=0,n=n+1|0)),t>=18446744073709552e3||t<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),Fn(r,n,e),Sn(n,e)}function Fn(t,e,r){r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos]=t&127}function Sn(t,e){var r=(t&7)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127)))))}function nr(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(Math.LN2*7));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function Cn(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function Dn(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function An(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function Bn(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function Rn(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function jn(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function On(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function Xn(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function In(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function Ke(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216}function be(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function ir(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function Yn(t,e,r){for(var n="",i=e;i<r;){var s=t[i],a=null,o=s>239?4:s>223?3:s>191?2:1;if(i+o>r)break;var l,c,u;o===1?s<128&&(a=s):o===2?(l=t[i+1],(l&192)===128&&(a=(s&31)<<6|l&63,a<=127&&(a=null))):o===3?(l=t[i+1],c=t[i+2],(l&192)===128&&(c&192)===128&&(a=(s&15)<<12|(l&63)<<6|c&63,(a<=2047||a>=55296&&a<=57343)&&(a=null))):o===4&&(l=t[i+1],c=t[i+2],u=t[i+3],(l&192)===128&&(c&192)===128&&(u&192)===128&&(a=(s&15)<<18|(l&63)<<12|(c&63)<<6|u&63,(a<=65535||a>=1114112)&&(a=null))),a===null?(a=65533,o=1):a>65535&&(a-=65536,n+=String.fromCharCode(a>>>10&1023|55296),a=56320|a&1023),n+=String.fromCharCode(a),i+=o}return n}function Vn(t,e,r){return sr.decode(t.subarray(e,r))}function En(t,e,r){for(var n=0,i,s;n<e.length;n++){if(i=e.charCodeAt(n),i>55295&&i<57344)if(s)if(i<56320){t[r++]=239,t[r++]=191,t[r++]=189,s=i;continue}else i=s-55296<<10|i-56320|65536,s=null;else{i>56319||n+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):s=i;continue}else s&&(t[r++]=239,t[r++]=191,t[r++]=189,s=null);i<128?t[r++]=i:(i<2048?t[r++]=i>>6|192:(i<65536?t[r++]=i>>12|224:(t[r++]=i>>18|240,t[r++]=i>>12&63|128),t[r++]=i>>6&63|128),t[r++]=i&63|128)}return r}});var Ir=se((Ct,Dt)=>{(function(t,e){typeof Ct=="object"&&typeof Dt!="undefined"?Dt.exports=e():typeof define=="function"&&define.amd?define(e):(t=t||self).RBush=e()})(Ct,function(){"use strict";function t(f,d,m,x,g){(function b(v,w,z,T,M){for(;T>z;){if(T-z>600){var S=T-z+1,A=w-z+1,ae=Math.log(S),G=.5*Math.exp(2*ae/3),Y=.5*Math.sqrt(ae*G*(S-G)/S)*(A-S/2<0?-1:1),q=Math.max(z,Math.floor(w-A*G/S+Y)),Ne=Math.min(T,Math.floor(w+(S-A)*G/S+Y));b(v,w,q,Ne,M)}var X=v[w],oe=z,V=T;for(e(v,z,w),M(v[T],X)>0&&e(v,z,T);oe<V;){for(e(v,oe,V),oe++,V--;M(v[oe],X)<0;)oe++;for(;M(v[V],X)>0;)V--}M(v[z],X)===0?e(v,z,V):e(v,++V,T),V<=w&&(z=V+1),w<=V&&(T=V-1)}})(f,d,m||0,x||f.length-1,g||r)}function e(f,d,m){var x=f[d];f[d]=f[m],f[m]=x}function r(f,d){return f<d?-1:f>d?1:0}var n=function(f){f===void 0&&(f=9),this._maxEntries=Math.max(4,f),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function i(f,d,m){if(!m)return d.indexOf(f);for(var x=0;x<d.length;x++)if(m(f,d[x]))return x;return-1}function s(f,d){a(f,0,f.children.length,d,f)}function a(f,d,m,x,g){g||(g=_(null)),g.minX=1/0,g.minY=1/0,g.maxX=-1/0,g.maxY=-1/0;for(var b=d;b<m;b++){var v=f.children[b];o(g,f.leaf?x(v):v)}return g}function o(f,d){return f.minX=Math.min(f.minX,d.minX),f.minY=Math.min(f.minY,d.minY),f.maxX=Math.max(f.maxX,d.maxX),f.maxY=Math.max(f.maxY,d.maxY),f}function l(f,d){return f.minX-d.minX}function c(f,d){return f.minY-d.minY}function u(f){return(f.maxX-f.minX)*(f.maxY-f.minY)}function h(f){return f.maxX-f.minX+(f.maxY-f.minY)}function p(f,d){return f.minX<=d.minX&&f.minY<=d.minY&&d.maxX<=f.maxX&&d.maxY<=f.maxY}function y(f,d){return d.minX<=f.maxX&&d.minY<=f.maxY&&d.maxX>=f.minX&&d.maxY>=f.minY}function _(f){return{children:f,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function k(f,d,m,x,g){for(var b=[d,m];b.length;)if(!((m=b.pop())-(d=b.pop())<=x)){var v=d+Math.ceil((m-d)/x/2)*x;t(f,v,d,m,g),b.push(d,v,v,m)}}return n.prototype.all=function(){return this._all(this.data,[])},n.prototype.search=function(f){var d=this.data,m=[];if(!y(f,d))return m;for(var x=this.toBBox,g=[];d;){for(var b=0;b<d.children.length;b++){var v=d.children[b],w=d.leaf?x(v):v;y(f,w)&&(d.leaf?m.push(v):p(f,w)?this._all(v,m):g.push(v))}d=g.pop()}return m},n.prototype.collides=function(f){var d=this.data;if(!y(f,d))return!1;for(var m=[];d;){for(var x=0;x<d.children.length;x++){var g=d.children[x],b=d.leaf?this.toBBox(g):g;if(y(f,b)){if(d.leaf||p(f,b))return!0;m.push(g)}}d=m.pop()}return!1},n.prototype.load=function(f){if(!f||!f.length)return this;if(f.length<this._minEntries){for(var d=0;d<f.length;d++)this.insert(f[d]);return this}var m=this._build(f.slice(),0,f.length-1,0);if(this.data.children.length)if(this.data.height===m.height)this._splitRoot(this.data,m);else{if(this.data.height<m.height){var x=this.data;this.data=m,m=x}this._insert(m,this.data.height-m.height-1,!0)}else this.data=m;return this},n.prototype.insert=function(f){return f&&this._insert(f,this.data.height-1),this},n.prototype.clear=function(){return this.data=_([]),this},n.prototype.remove=function(f,d){if(!f)return this;for(var m,x,g,b=this.data,v=this.toBBox(f),w=[],z=[];b||w.length;){if(b||(b=w.pop(),x=w[w.length-1],m=z.pop(),g=!0),b.leaf){var T=i(f,b.children,d);if(T!==-1)return b.children.splice(T,1),w.push(b),this._condense(w),this}g||b.leaf||!p(b,v)?x?(m++,b=x.children[m],g=!1):b=null:(w.push(b),z.push(m),m=0,x=b,b=b.children[0])}return this},n.prototype.toBBox=function(f){return f},n.prototype.compareMinX=function(f,d){return f.minX-d.minX},n.prototype.compareMinY=function(f,d){return f.minY-d.minY},n.prototype.toJSON=function(){return this.data},n.prototype.fromJSON=function(f){return this.data=f,this},n.prototype._all=function(f,d){for(var m=[];f;)f.leaf?d.push.apply(d,f.children):m.push.apply(m,f.children),f=m.pop();return d},n.prototype._build=function(f,d,m,x){var g,b=m-d+1,v=this._maxEntries;if(b<=v)return s(g=_(f.slice(d,m+1)),this.toBBox),g;x||(x=Math.ceil(Math.log(b)/Math.log(v)),v=Math.ceil(b/Math.pow(v,x-1))),(g=_([])).leaf=!1,g.height=x;var w=Math.ceil(b/v),z=w*Math.ceil(Math.sqrt(v));k(f,d,m,z,this.compareMinX);for(var T=d;T<=m;T+=z){var M=Math.min(T+z-1,m);k(f,T,M,w,this.compareMinY);for(var S=T;S<=M;S+=w){var A=Math.min(S+w-1,M);g.children.push(this._build(f,S,A,x-1))}}return s(g,this.toBBox),g},n.prototype._chooseSubtree=function(f,d,m,x){for(;x.push(d),!d.leaf&&x.length-1!==m;){for(var g=1/0,b=1/0,v=void 0,w=0;w<d.children.length;w++){var z=d.children[w],T=u(z),M=(S=f,A=z,(Math.max(A.maxX,S.maxX)-Math.min(A.minX,S.minX))*(Math.max(A.maxY,S.maxY)-Math.min(A.minY,S.minY))-T);M<b?(b=M,g=T<g?T:g,v=z):M===b&&T<g&&(g=T,v=z)}d=v||d.children[0]}var S,A;return d},n.prototype._insert=function(f,d,m){var x=m?f:this.toBBox(f),g=[],b=this._chooseSubtree(x,this.data,d,g);for(b.children.push(f),o(b,x);d>=0&&g[d].children.length>this._maxEntries;)this._split(g,d),d--;this._adjustParentBBoxes(x,g,d)},n.prototype._split=function(f,d){var m=f[d],x=m.children.length,g=this._minEntries;this._chooseSplitAxis(m,g,x);var b=this._chooseSplitIndex(m,g,x),v=_(m.children.splice(b,m.children.length-b));v.height=m.height,v.leaf=m.leaf,s(m,this.toBBox),s(v,this.toBBox),d?f[d-1].children.push(v):this._splitRoot(m,v)},n.prototype._splitRoot=function(f,d){this.data=_([f,d]),this.data.height=f.height+1,this.data.leaf=!1,s(this.data,this.toBBox)},n.prototype._chooseSplitIndex=function(f,d,m){for(var x,g,b,v,w,z,T,M=1/0,S=1/0,A=d;A<=m-d;A++){var ae=a(f,0,A,this.toBBox),G=a(f,A,m,this.toBBox),Y=(g=ae,b=G,v=void 0,w=void 0,z=void 0,T=void 0,v=Math.max(g.minX,b.minX),w=Math.max(g.minY,b.minY),z=Math.min(g.maxX,b.maxX),T=Math.min(g.maxY,b.maxY),Math.max(0,z-v)*Math.max(0,T-w)),q=u(ae)+u(G);Y<M?(M=Y,x=A,S=q<S?q:S):Y===M&&q<S&&(S=q,x=A)}return x||m-d},n.prototype._chooseSplitAxis=function(f,d,m){var x=f.leaf?this.compareMinX:l,g=f.leaf?this.compareMinY:c;this._allDistMargin(f,d,m,x)<this._allDistMargin(f,d,m,g)&&f.children.sort(x)},n.prototype._allDistMargin=function(f,d,m,x){f.children.sort(x);for(var g=this.toBBox,b=a(f,0,d,g),v=a(f,m-d,m,g),w=h(b)+h(v),z=d;z<m-d;z++){var T=f.children[z];o(b,f.leaf?g(T):T),w+=h(b)}for(var M=m-d-1;M>=d;M--){var S=f.children[M];o(v,f.leaf?g(S):S),w+=h(v)}return w},n.prototype._adjustParentBBoxes=function(f,d,m){for(var x=m;x>=0;x--)o(d[x],f)},n.prototype._condense=function(f){for(var d=f.length-1,m=void 0;d>=0;d--)f[d].children.length===0?d>0?(m=f[d-1].children).splice(m.indexOf(f[d]),1):this.clear():s(f[d],this.toBBox)},n})});var Zi={};en(Zi,{CenteredSymbolizer:()=>tt,CenteredTextSymbolizer:()=>ne,CircleSymbolizer:()=>Be,FlexSymbolizer:()=>Ft,Font:()=>qi,GeomType:()=>Mt,GroupSymbolizer:()=>Re,IconSymbolizer:()=>Pt,Index:()=>at,Justify:()=>Br,Labeler:()=>ke,Labelers:()=>ze,LineLabelPlacement:()=>Or,LineLabelSymbolizer:()=>le,LineSymbolizer:()=>O,OffsetSymbolizer:()=>rt,OffsetTextSymbolizer:()=>Oe,Padding:()=>St,PmtilesSource:()=>ve,PolygonSymbolizer:()=>D,Sheet:()=>jt,ShieldSymbolizer:()=>Lt,Static:()=>Bt,TextPlacements:()=>Rr,TextSymbolizer:()=>je,TileCache:()=>Ae,View:()=>st,ZxySource:()=>De,arr:()=>Si,covering:()=>Er,createPattern:()=>Fi,exp:()=>$,getZoom:()=>At,isCcw:()=>Sr,isInRing:()=>Tt,labelRules:()=>Ie,leafletLayer:()=>Hi,linear:()=>nt,paint:()=>Ue,paintRules:()=>Xe,pointInPolygon:()=>Cr,pointMinDistToLines:()=>Ar,pointMinDistToPoints:()=>Dr,sourcesToViews:()=>Ee,step:()=>Bi,toIndex:()=>re,transformGeom:()=>Ve,wrap:()=>Ye});var ie=W(Q(),1);function he(t,e,r){return Math.min(Math.max(t,r),e)}var ft=class extends Error{constructor(e){super(`Failed to parse color: "${e}"`)}},Me=ft;function $t(t){if(typeof t!="string")throw new Me(t);if(t.trim().toLowerCase()==="transparent")return[0,0,0,0];let e=t.trim();e=un.test(t)?sn(t):t;let r=an.exec(e);if(r){let a=Array.from(r).slice(1);return[...a.slice(0,3).map(o=>parseInt(Pe(o,2),16)),parseInt(Pe(a[3]||"f",2),16)/255]}let n=on.exec(e);if(n){let a=Array.from(n).slice(1);return[...a.slice(0,3).map(o=>parseInt(o,16)),parseInt(a[3]||"ff",16)/255]}let i=ln.exec(e);if(i){let a=Array.from(i).slice(1);return[...a.slice(0,3).map(o=>parseInt(o,10)),parseFloat(a[3]||"1")]}let s=cn.exec(e);if(s){let[a,o,l,c]=Array.from(s).slice(1).map(parseFloat);if(he(0,100,o)!==o)throw new Me(t);if(he(0,100,l)!==l)throw new Me(t);return[...fn(a,o,l),Number.isNaN(c)?1:c]}throw new Me(t)}function rn(t){let e=5381,r=t.length;for(;r;)e=e*33^t.charCodeAt(--r);return(e>>>0)%2341}var Nt=t=>parseInt(t.replace(/_/g,""),36),nn="1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm".split(" ").reduce((t,e)=>{let r=Nt(e.substring(0,3)),n=Nt(e.substring(3)).toString(16),i="";for(let s=0;s<6-n.length;s++)i+="0";return t[r]=`${i}${n}`,t},{});function sn(t){let e=t.toLowerCase().trim(),r=nn[rn(e)];if(!r)throw new Me(t);return`#${r}`}var Pe=(t,e)=>Array.from(Array(e)).map(()=>t).join(""),an=new RegExp(`^#${Pe("([a-f0-9])",3)}([a-f0-9])?$`,"i"),on=new RegExp(`^#${Pe("([a-f0-9]{2})",3)}([a-f0-9]{2})?$`,"i"),ln=new RegExp(`^rgba?\\(\\s*(\\d+)\\s*${Pe(",\\s*(\\d+)\\s*",2)}(?:,\\s*([\\d.]+))?\\s*\\)$`,"i"),cn=/^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i,un=/^[a-z]+$/i,Ht=t=>Math.round(t*255),fn=(t,e,r)=>{let n=r/100;if(e===0)return[n,n,n].map(Ht);let i=(t%360+360)%360/60,s=(1-Math.abs(2*n-1))*(e/100),a=s*(1-Math.abs(i%2-1)),o=0,l=0,c=0;i>=0&&i<1?(o=s,l=a):i>=1&&i<2?(o=a,l=s):i>=2&&i<3?(l=s,c=a):i>=3&&i<4?(l=a,c=s):i>=4&&i<5?(o=a,c=s):i>=5&&i<6&&(o=s,c=a);let u=n-s/2,h=o+u,p=l+u,y=c+u;return[h,p,y].map(Ht)};function hn(t,e,r,n){return`rgba(${he(0,255,t).toFixed()}, ${he(0,255,e).toFixed()}, ${he(0,255,r).toFixed()}, ${parseFloat(he(0,1,n).toFixed(3))})`}function qe(t,e,r){let n=(b,v)=>v===3?b:b/255,[i,s,a,o]=$t(t).map(n),[l,c,u,h]=$t(e).map(n),p=h-o,y=r*2-1,k=((y*p===-1?y:y+p/(1+y*p))+1)/2,f=1-k,d=(i*f+l*k)*255,m=(s*f+c*k)*255,x=(a*f+u*k)*255,g=h*r+o*(1-r);return hn(d,m,x,g)}var K=W(Q(),1);var j=class{constructor(e,r){this.str=e!=null?e:r,this.perFeature=typeof this.str=="function"&&this.str.length===2}get(e,r){return typeof this.str=="function"?this.str(e,r):this.str}},C=class{constructor(e,r=1){this.value=e!=null?e:r,this.perFeature=typeof this.value=="function"&&this.value.length===2}get(e,r){return typeof this.value=="function"?this.value(e,r):this.value}},de=class{constructor(e){var r;this.labelProps=(r=e==null?void 0:e.labelProps)!=null?r:["name"],this.textTransform=e==null?void 0:e.textTransform}get(e,r){let n,i;typeof this.labelProps=="function"?i=this.labelProps(e,r):i=this.labelProps;for(let a of i)if(Object.prototype.hasOwnProperty.call(r.props,a)&&typeof r.props[a]=="string"){n=r.props[a];break}let s;return typeof this.textTransform=="function"?s=this.textTransform(e,r):s=this.textTransform,n&&s==="uppercase"?n=n.toUpperCase():n&&s==="lowercase"?n=n.toLowerCase():n&&s==="capitalize"&&(n=n.toLowerCase().split(" ").map(l=>l[0].toUpperCase()+l.slice(1)).join(" ")),n}},me=class{constructor(e){var r,n;e!=null&&e.font?this.font=e.font:(this.family=(r=e==null?void 0:e.fontFamily)!=null?r:"sans-serif",this.size=(n=e==null?void 0:e.fontSize)!=null?n:12,this.weight=e==null?void 0:e.fontWeight,this.style=e==null?void 0:e.fontStyle)}get(e,r){if(this.font)return typeof this.font=="function"?this.font(e,r):this.font;let n="";this.style&&(typeof this.style=="function"?n=`${this.style(e,r)} `:n=`${this.style} `);let i="";this.weight&&(typeof this.weight=="function"?i=`${this.weight(e,r)} `:i=`${this.weight} `);let s;typeof this.size=="function"?s=this.size(e,r):s=this.size;let a;return typeof this.family=="function"?a=this.family(e,r):a=this.family,`${n}${i}${s}px ${a}`}},We=class{constructor(e,r=[]){this.value=e!=null?e:r,this.perFeature=typeof this.value=="function"&&this.value.length===2}get(e,r){return typeof this.value=="function"?this.value(e,r):this.value}};var ht=W(Q(),1);var dn=(t,e,r)=>{let n=[],i,s,a,o=0,l=0,c=0,u=0,h=0,p=0,y=0,_=0,k=0,f=0,d=0,m=0;if(t.length<2)return[];if(t.length===2)return c=Math.sqrt(B(t[1].x-t[0].x,2)+B(t[1].y-t[0].y,2)),[{length:c,beginIndex:0,beginDistance:0,endIndex:2,endDistance:c}];for(u=Math.sqrt(B(t[1].x-t[0].x,2)+B(t[1].y-t[0].y,2)),o=1,l=t.length-1;o<l;o++)i=t[o-1],s=t[o],a=t[o+1],p=s.x-i.x,y=s.y-i.y,_=a.x-s.x,k=a.y-s.y,h=Math.sqrt(_*_+k*k),c+=u,f=Math.acos((p*_+y*k)/(u*h)),(f>e||c-m>r)&&(n.push({length:c-m,beginDistance:m,beginIndex:d,endIndex:o+1,endDistance:c}),d=o,m=c),u=h;return o-d>0&&n.push({length:c-m+h,beginIndex:d,beginDistance:m,endIndex:o+1,endDistance:c+h}),n};function qt(t,e,r,n){let i=[];for(let s of t){let a=dn(s,Math.PI/45,e);for(let o of a)if(o.length>=e+n){let l=new ht.default(s[o.beginIndex].x,s[o.beginIndex].y),c=s[o.endIndex-1],u=new ht.default((c.x-l.x)/o.length,(c.y-l.y)/o.length);for(let h=n;h<o.length-e;h+=r)i.push({start:l.add(u.mult(h)),end:l.add(u.mult(h+e))})}}return i}function Wt(t,e,r,n){let i=e.x-t.x,s=e.y-t.y,a=Math.sqrt(B(e.x-t.x,2)+B(e.y-t.y,2)),o=[];for(let l=0;l<r+n;l+=2*n){let c=l*1/a;o.push({x:t.x+c*i,y:t.y+c*s})}return o}function dt(t,e){if(t.length<=e)return[t];let r=e-1,n=t.lastIndexOf(" ",r),i=t.indexOf(" ",r);if(n===-1&&i===-1)return[t];let s,a;return i===-1||n>=0&&r-n<i-r?(s=t.substring(0,n),a=t.substring(n+1,t.length)):(s=t.substring(0,i),a=t.substring(i+1,t.length)),[s,...dt(a,e)]}var mn="\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DB5\u4E00-\u9FEA\uF900-\uFA6D\uFA70-\uFAD9\u2000",rs=new RegExp(`^[${mn}]+$`);var _e=W(Q(),1),Pr=W(er(),1),Lr=W(or(),1);var we=Math.pow,I=(t,e,r)=>new Promise((n,i)=>{var s=l=>{try{o(r.next(l))}catch(c){i(c)}},a=l=>{try{o(r.throw(l))}catch(c){i(c)}},o=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,a);o((r=r.apply(t,e)).next())}),U=Uint8Array,ye=Uint16Array,Un=Int32Array,ur=new U([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),fr=new U([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),$n=new U([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),hr=function(t,e){for(var r=new ye(31),n=0;n<31;++n)r[n]=e+=1<<t[n-1];for(var i=new Un(r[30]),n=1;n<30;++n)for(var s=r[n];s<r[n+1];++s)i[s]=s-r[n]<<5|n;return{b:r,r:i}},dr=hr(ur,2),mr=dr.b,Nn=dr.r;mr[28]=258,Nn[258]=28;var pr=hr(fr,0),Hn=pr.b,us=pr.r,wt=new ye(32768);for(F=0;F<32768;++F)te=(F&43690)>>1|(F&21845)<<1,te=(te&52428)>>2|(te&13107)<<2,te=(te&61680)>>4|(te&3855)<<4,wt[F]=((te&65280)>>8|(te&255)<<8)>>1;var te,F,Se=function(t,e,r){for(var n=t.length,i=0,s=new ye(e);i<n;++i)t[i]&&++s[t[i]-1];var a=new ye(e);for(i=1;i<e;++i)a[i]=a[i-1]+s[i-1]<<1;var o;if(r){o=new ye(1<<e);var l=15-e;for(i=0;i<n;++i)if(t[i])for(var c=i<<4|t[i],u=e-t[i],h=a[t[i]-1]++<<u,p=h|(1<<u)-1;h<=p;++h)o[wt[h]>>l]=c}else for(o=new ye(n),i=0;i<n;++i)t[i]&&(o[i]=wt[a[t[i]-1]++]>>15-t[i]);return o},Ce=new U(288);for(F=0;F<144;++F)Ce[F]=8;var F;for(F=144;F<256;++F)Ce[F]=9;var F;for(F=256;F<280;++F)Ce[F]=7;var F;for(F=280;F<288;++F)Ce[F]=8;var F,gr=new U(32);for(F=0;F<32;++F)gr[F]=5;var F,qn=Se(Ce,9,1),Wn=Se(gr,5,1),xt=function(t){for(var e=t[0],r=1;r<t.length;++r)t[r]>e&&(e=t[r]);return e},Z=function(t,e,r){var n=e/8|0;return(t[n]|t[n+1]<<8)>>(e&7)&r},yt=function(t,e){var r=e/8|0;return(t[r]|t[r+1]<<8|t[r+2]<<16)>>(e&7)},Zn=function(t){return(t+7)/8|0},Jn=function(t,e,r){(e==null||e<0)&&(e=0),(r==null||r>t.length)&&(r=t.length);var n=new U(r-e);return n.set(t.subarray(e,r)),n},Kn=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],E=function(t,e,r){var n=new Error(e||Kn[t]);if(n.code=t,Error.captureStackTrace&&Error.captureStackTrace(n,E),!r)throw n;return n},kt=function(t,e,r,n){var i=t.length,s=n?n.length:0;if(!i||e.f&&!e.l)return r||new U(0);var a=!r||e.i!=2,o=e.i;r||(r=new U(i*3));var l=function(It){var Yt=r.length;if(It>Yt){var Vt=new U(Math.max(Yt*2,It));Vt.set(r),r=Vt}},c=e.f||0,u=e.p||0,h=e.b||0,p=e.l,y=e.d,_=e.m,k=e.n,f=i*8;do{if(!p){c=Z(t,u,1);var d=Z(t,u+1,3);if(u+=3,d)if(d==1)p=qn,y=Wn,_=9,k=5;else if(d==2){var b=Z(t,u,31)+257,v=Z(t,u+10,15)+4,w=b+Z(t,u+5,31)+1;u+=14;for(var z=new U(w),T=new U(19),M=0;M<v;++M)T[$n[M]]=Z(t,u+M*3,7);u+=v*3;for(var S=xt(T),A=(1<<S)-1,ae=Se(T,S,1),M=0;M<w;){var G=ae[Z(t,u,A)];u+=G&15;var m=G>>4;if(m<16)z[M++]=m;else{var Y=0,q=0;for(m==16?(q=3+Z(t,u,3),u+=2,Y=z[M-1]):m==17?(q=3+Z(t,u,7),u+=3):m==18&&(q=11+Z(t,u,127),u+=7);q--;)z[M++]=Y}}var Ne=z.subarray(0,b),X=z.subarray(b);_=xt(Ne),k=xt(X),p=Se(Ne,_,1),y=Se(X,k,1)}else E(1);else{var m=Zn(u)+4,x=t[m-4]|t[m-3]<<8,g=m+x;if(g>i){o&&E(0);break}a&&l(h+x),r.set(t.subarray(m,g),h),e.b=h+=x,e.p=u=g*8,e.f=c;continue}if(u>f){o&&E(0);break}}a&&l(h+131072);for(var oe=(1<<_)-1,V=(1<<k)-1,ot=u;;ot=u){var Y=p[yt(t,u)&oe],ue=Y>>4;if(u+=Y&15,u>f){o&&E(0);break}if(Y||E(2),ue<256)r[h++]=ue;else if(ue==256){ot=u,p=null;break}else{var Ot=ue-254;if(ue>264){var M=ue-257,Te=ur[M];Ot=Z(t,u,(1<<Te)-1)+mr[M],u+=Te}var lt=y[yt(t,u)&V],ct=lt>>4;lt||E(3),u+=lt&15;var X=Hn[ct];if(ct>3){var Te=fr[ct];X+=yt(t,u)&(1<<Te)-1,u+=Te}if(u>f){o&&E(0);break}a&&l(h+131072);var ut=h+Ot;if(h<X){var Xt=s-X,Wr=Math.min(X,ut);for(Xt+h<0&&E(3);h<Wr;++h)r[h]=n[Xt+h]}for(;h<ut;h+=4)r[h]=r[h-X],r[h+1]=r[h+1-X],r[h+2]=r[h+2-X],r[h+3]=r[h+3-X];h=ut}}e.l=p,e.p=ot,e.b=h,e.f=c,p&&(c=1,e.m=_,e.d=y,e.n=k)}while(!c);return h==r.length?r:Jn(r,0,h)},Gn=new U(0),Qn=function(t){(t[0]!=31||t[1]!=139||t[2]!=8)&&E(6,"invalid gzip data");var e=t[3],r=10;e&4&&(r+=(t[10]|t[11]<<8)+2);for(var n=(e>>3&1)+(e>>4&1);n>0;n-=!t[r++]);return r+(e&2)},ei=function(t){var e=t.length;return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0},ti=function(t,e){return((t[0]&15)!=8||t[0]>>4>7||(t[0]<<8|t[1])%31)&&E(6,"invalid zlib data"),(t[1]>>5&1)==+!e&&E(6,"invalid zlib data: "+(t[1]&32?"need":"unexpected")+" dictionary"),(t[1]>>3&4)+2};function ri(t,e){return kt(t,{i:2},e&&e.out,e&&e.dictionary)}function ni(t,e){var r=Qn(t);return r+8>t.length&&E(6,"invalid gzip data"),kt(t.subarray(r,-8),{i:2},e&&e.out||new U(ei(t)),e&&e.dictionary)}function ii(t,e){return kt(t.subarray(ti(t,e&&e.dictionary),-4),{i:2},e&&e.out,e&&e.dictionary)}function _t(t,e){return t[0]==31&&t[1]==139&&t[2]==8?ni(t,e):(t[0]&15)!=8||t[0]>>4>7||(t[0]<<8|t[1])%31?ri(t,e):ii(t,e)}var si=typeof TextDecoder!="undefined"&&new TextDecoder,ai=0;try{si.decode(Gn,{stream:!0}),ai=1}catch(t){}var br=(t,e)=>t*we(2,e),Le=(t,e)=>Math.floor(t/we(2,e)),Ge=(t,e)=>br(t.getUint16(e+1,!0),8)+t.getUint8(e),xr=(t,e)=>br(t.getUint32(e+2,!0),16)+t.getUint16(e,!0),oi=(t,e,r,n,i)=>{if(t!==n.getUint8(i))return t-n.getUint8(i);let s=Ge(n,i+1);if(e!==s)return e-s;let a=Ge(n,i+4);return r!==a?r-a:0},li=(t,e,r,n)=>{let i=yr(t,e|128,r,n);return i?{z:e,x:r,y:n,offset:i[0],length:i[1],isDir:!0}:null},lr=(t,e,r,n)=>{let i=yr(t,e,r,n);return i?{z:e,x:r,y:n,offset:i[0],length:i[1],isDir:!1}:null},yr=(t,e,r,n)=>{let i=0,s=t.byteLength/17-1;for(;i<=s;){let a=s+i>>1,o=oi(e,r,n,t,a*17);if(o>0)i=a+1;else if(o<0)s=a-1;else return[xr(t,a*17+7),t.getUint32(a*17+13,!0)]}return null},ci=(t,e)=>t.isDir&&!e.isDir?1:!t.isDir&&e.isDir?-1:t.z!==e.z?t.z-e.z:t.x!==e.x?t.x-e.x:t.y-e.y,wr=(t,e)=>{let r=t.getUint8(e*17);return{z:r&127,x:Ge(t,e*17+1),y:Ge(t,e*17+4),offset:xr(t,e*17+7),length:t.getUint32(e*17+13,!0),isDir:r>>7===1}},cr=t=>{let e=[],r=new DataView(t);for(let n=0;n<r.byteLength/17;n++)e.push(wr(r,n));return ui(e)},ui=t=>{t.sort(ci);let e=new ArrayBuffer(17*t.length),r=new Uint8Array(e);for(let n=0;n<t.length;n++){let i=t[n],s=i.z;i.isDir&&(s=s|128),r[n*17]=s,r[n*17+1]=i.x&255,r[n*17+2]=i.x>>8&255,r[n*17+3]=i.x>>16&255,r[n*17+4]=i.y&255,r[n*17+5]=i.y>>8&255,r[n*17+6]=i.y>>16&255,r[n*17+7]=i.offset&255,r[n*17+8]=Le(i.offset,8)&255,r[n*17+9]=Le(i.offset,16)&255,r[n*17+10]=Le(i.offset,24)&255,r[n*17+11]=Le(i.offset,32)&255,r[n*17+12]=Le(i.offset,48)&255,r[n*17+13]=i.length&255,r[n*17+14]=i.length>>8&255,r[n*17+15]=i.length>>16&255,r[n*17+16]=i.length>>24&255}return e},fi=(t,e)=>{if(t.byteLength<17)return null;let r=t.byteLength/17,n=wr(t,r-1);if(n.isDir){let i=n.z,s=e.z-i,a=Math.trunc(e.x/(1<<s)),o=Math.trunc(e.y/(1<<s));return{z:i,x:a,y:o}}return null};function hi(t){return I(this,null,function*(){let e=yield t.getBytes(0,512e3),r=new DataView(e.data),n=r.getUint32(4,!0),i=r.getUint16(8,!0),s=new TextDecoder("utf-8"),a=JSON.parse(s.decode(new DataView(e.data,10,n))),o=0;a.compression==="gzip"&&(o=2);let l=0;"minzoom"in a&&(l=+a.minzoom);let c=0;"maxzoom"in a&&(c=+a.maxzoom);let u=0,h=0,p=0,y=-180,_=-85,k=180,f=85;if(a.bounds){let m=a.bounds.split(",");y=+m[0],_=+m[1],k=+m[2],f=+m[3]}if(a.center){let m=a.center.split(",");u=+m[0],h=+m[1],p=+m[2]}return{specVersion:r.getUint16(2,!0),rootDirectoryOffset:10+n,rootDirectoryLength:i*17,jsonMetadataOffset:10,jsonMetadataLength:n,leafDirectoryOffset:0,leafDirectoryLength:void 0,tileDataOffset:0,tileDataLength:void 0,numAddressedTiles:0,numTileEntries:0,numTileContents:0,clustered:!1,internalCompression:1,tileCompression:o,tileType:1,minZoom:l,maxZoom:c,minLon:y,minLat:_,maxLon:k,maxLat:f,centerZoom:p,centerLon:u,centerLat:h,etag:e.etag}})}function di(t,e,r,n,i,s,a){return I(this,null,function*(){let o=yield r.getArrayBuffer(e,t.rootDirectoryOffset,t.rootDirectoryLength,t);t.specVersion===1&&(o=cr(o));let l=lr(new DataView(o),n,i,s);if(l){let h=(yield e.getBytes(l.offset,l.length,a)).data,p=new DataView(h);return p.getUint8(0)===31&&p.getUint8(1)===139&&(h=_t(new Uint8Array(h))),{data:h}}let c=fi(new DataView(o),{z:n,x:i,y:s});if(c){let u=li(new DataView(o),c.z,c.x,c.y);if(u){let h=yield r.getArrayBuffer(e,u.offset,u.length,t);t.specVersion===1&&(h=cr(h));let p=lr(new DataView(h),n,i,s);if(p){let _=(yield e.getBytes(p.offset,p.length,a)).data,k=new DataView(_);return k.getUint8(0)===31&&k.getUint8(1)===139&&(_=_t(new Uint8Array(_))),{data:_}}}}})}var _r={getHeader:hi,getZxy:di};function xe(t,e){return(e>>>0)*4294967296+(t>>>0)}function mi(t,e){let r=e.buf,n=r[e.pos++],i=(n&112)>>4;if(n<128||(n=r[e.pos++],i|=(n&127)<<3,n<128)||(n=r[e.pos++],i|=(n&127)<<10,n<128)||(n=r[e.pos++],i|=(n&127)<<17,n<128)||(n=r[e.pos++],i|=(n&127)<<24,n<128)||(n=r[e.pos++],i|=(n&1)<<31,n<128))return xe(t,i);throw new Error("Expected varint not more than 10 bytes")}function Fe(t){let e=t.buf,r=e[t.pos++],n=r&127;return r<128||(r=e[t.pos++],n|=(r&127)<<7,r<128)||(r=e[t.pos++],n|=(r&127)<<14,r<128)||(r=e[t.pos++],n|=(r&127)<<21,r<128)?n:(r=e[t.pos],n|=(r&15)<<28,mi(n,t))}function pi(t,e,r,n){if(n===0){r===1&&(e[0]=t-1-e[0],e[1]=t-1-e[1]);let i=e[0];e[0]=e[1],e[1]=i}}var gi=[0,1,5,21,85,341,1365,5461,21845,87381,349525,1398101,5592405,22369621,89478485,357913941,1431655765,5726623061,22906492245,91625968981,366503875925,1466015503701,5864062014805,23456248059221,93824992236885,375299968947541,0x5555555555555];function bi(t,e,r){if(t>26)throw Error("Tile zoom level exceeds max safe number limit (26)");if(e>we(2,t)-1||r>we(2,t)-1)throw Error("tile x/y outside zoom level bounds");let n=gi[t],i=we(2,t),s=0,a=0,o=0,l=[e,r],c=i/2;for(;c>0;)s=(l[0]&c)>0?1:0,a=(l[1]&c)>0?1:0,o+=c*c*(3*s^a),pi(c,l,s,a),c=c/2;return n+o}function vr(t,e){return I(this,null,function*(){if(e===1||e===0)return t;if(e===2){if(typeof globalThis.DecompressionStream=="undefined")return _t(new Uint8Array(t));let r=new Response(t).body;if(!r)throw Error("Failed to read response stream");let n=r.pipeThrough(new globalThis.DecompressionStream("gzip"));return new Response(n).arrayBuffer()}throw Error("Compression method not supported")})}var xi=127;function yi(t,e){let r=0,n=t.length-1;for(;r<=n;){let i=n+r>>1,s=e-t[i].tileId;if(s>0)r=i+1;else if(s<0)n=i-1;else return t[i]}return n>=0&&(t[n].runLength===0||e-t[n].tileId<t[n].runLength)?t[n]:null}var wi=class{constructor(t,e=new Headers){this.url=t,this.customHeaders=e,this.mustReload=!1}getKey(){return this.url}setHeaders(t){this.customHeaders=t}getBytes(t,e,r,n){return I(this,null,function*(){let i,s;r?s=r:(i=new AbortController,s=i.signal);let a=new Headers(this.customHeaders);a.set("range",`bytes=${t}-${t+e-1}`);let o;this.mustReload&&(o="reload");let l=yield fetch(this.url,{signal:s,cache:o,headers:a});if(t===0&&l.status===416){let p=l.headers.get("Content-Range");if(!p||!p.startsWith("bytes */"))throw Error("Missing content-length on 416 response");let y=+p.substr(8);l=yield fetch(this.url,{signal:s,cache:"reload",headers:{range:`bytes=0-${y-1}`}})}let c=l.headers.get("Etag");if(c!=null&&c.startsWith("W/")&&(c=null),l.status===416||n&&c&&c!==n)throw this.mustReload=!0,new vt(n);if(l.status>=300)throw Error(`Bad response code: ${l.status}`);let u=l.headers.get("Content-Length");if(l.status===200&&(!u||+u>e))throw i&&i.abort(),Error("Server returned no content-length header or content-length exceeding request. Check that your storage backend supports HTTP Byte Serving.");return{data:yield l.arrayBuffer(),etag:c||void 0,cacheControl:l.headers.get("Cache-Control")||void 0,expires:l.headers.get("Expires")||void 0}})}};function J(t,e){let r=t.getUint32(e+4,!0),n=t.getUint32(e+0,!0);return r*we(2,32)+n}function _i(t,e){let r=new DataView(t),n=r.getUint8(7);if(n>3)throw Error(`Archive is spec version ${n} but this library supports up to spec version 3`);return{specVersion:n,rootDirectoryOffset:J(r,8),rootDirectoryLength:J(r,16),jsonMetadataOffset:J(r,24),jsonMetadataLength:J(r,32),leafDirectoryOffset:J(r,40),leafDirectoryLength:J(r,48),tileDataOffset:J(r,56),tileDataLength:J(r,64),numAddressedTiles:J(r,72),numTileEntries:J(r,80),numTileContents:J(r,88),clustered:r.getUint8(96)===1,internalCompression:r.getUint8(97),tileCompression:r.getUint8(98),tileType:r.getUint8(99),minZoom:r.getUint8(100),maxZoom:r.getUint8(101),minLon:r.getInt32(102,!0)/1e7,minLat:r.getInt32(106,!0)/1e7,maxLon:r.getInt32(110,!0)/1e7,maxLat:r.getInt32(114,!0)/1e7,centerZoom:r.getUint8(118),centerLon:r.getInt32(119,!0)/1e7,centerLat:r.getInt32(123,!0)/1e7,etag:e}}function kr(t){let e={buf:new Uint8Array(t),pos:0},r=Fe(e),n=[],i=0;for(let s=0;s<r;s++){let a=Fe(e);n.push({tileId:i+a,offset:0,length:0,runLength:1}),i+=a}for(let s=0;s<r;s++)n[s].runLength=Fe(e);for(let s=0;s<r;s++)n[s].length=Fe(e);for(let s=0;s<r;s++){let a=Fe(e);a===0&&s>0?n[s].offset=n[s-1].offset+n[s-1].length:n[s].offset=a-1}return n}function vi(t){let e=new DataView(t);return e.getUint16(2,!0)===2?(console.warn("PMTiles spec version 2 has been deprecated; please see github.com/protomaps/PMTiles for tools to upgrade"),2):e.getUint16(2,!0)===1?(console.warn("PMTiles spec version 1 has been deprecated; please see github.com/protomaps/PMTiles for tools to upgrade"),1):3}var vt=class extends Error{};function ki(t,e){return I(this,null,function*(){let r=yield t.getBytes(0,16384);if(new DataView(r.data).getUint16(0,!0)!==19792)throw new Error("Wrong magic number for PMTiles archive");if(vi(r.data)<3)return[yield _r.getHeader(t)];let i=r.data.slice(0,xi),s=_i(i,r.etag),a=r.data.slice(s.rootDirectoryOffset,s.rootDirectoryOffset+s.rootDirectoryLength),o=`${t.getKey()}|${s.etag||""}|${s.rootDirectoryOffset}|${s.rootDirectoryLength}`,l=kr(yield e(a,s.internalCompression));return[s,[o,l.length,l]]})}function zi(t,e,r,n,i){return I(this,null,function*(){let s=yield t.getBytes(r,n,void 0,i.etag),a=yield e(s.data,i.internalCompression),o=kr(a);if(o.length===0)throw new Error("Empty directory is invalid");return o})}var Ti=class{constructor(t=100,e=!0,r=vr){this.cache=new Map,this.invalidations=new Map,this.maxCacheEntries=t,this.counter=1,this.decompress=r}getHeader(t){return I(this,null,function*(){let e=t.getKey(),r=this.cache.get(e);if(r)return r.lastUsed=this.counter++,yield r.data;let n=new Promise((i,s)=>{ki(t,this.decompress).then(a=>{a[1]&&this.cache.set(a[1][0],{lastUsed:this.counter++,data:Promise.resolve(a[1][2])}),i(a[0]),this.prune()}).catch(a=>{s(a)})});return this.cache.set(e,{lastUsed:this.counter++,data:n}),n})}getDirectory(t,e,r,n){return I(this,null,function*(){let i=`${t.getKey()}|${n.etag||""}|${e}|${r}`,s=this.cache.get(i);if(s)return s.lastUsed=this.counter++,yield s.data;let a=new Promise((o,l)=>{zi(t,this.decompress,e,r,n).then(c=>{o(c),this.prune()}).catch(c=>{l(c)})});return this.cache.set(i,{lastUsed:this.counter++,data:a}),a})}getArrayBuffer(t,e,r,n){return I(this,null,function*(){let i=`${t.getKey()}|${n.etag||""}|${e}|${r}`,s=this.cache.get(i);if(s)return s.lastUsed=this.counter++,yield s.data;let a=new Promise((o,l)=>{t.getBytes(e,r,void 0,n.etag).then(c=>{o(c.data),this.cache.has(i),this.prune()}).catch(c=>{l(c)})});return this.cache.set(i,{lastUsed:this.counter++,data:a}),a})}prune(){if(this.cache.size>=this.maxCacheEntries){let t=1/0,e;this.cache.forEach((r,n)=>{r.lastUsed<t&&(t=r.lastUsed,e=n)}),e&&this.cache.delete(e)}}invalidate(t){return I(this,null,function*(){let e=t.getKey();if(this.invalidations.get(e))return yield this.invalidations.get(e);this.cache.delete(t.getKey());let r=new Promise((n,i)=>{this.getHeader(t).then(s=>{n(),this.invalidations.delete(e)}).catch(s=>{i(s)})});this.invalidations.set(e,r)})}},zr=class{constructor(t,e,r){typeof t=="string"?this.source=new wi(t):this.source=t,r?this.decompress=r:this.decompress=vr,e?this.cache=e:this.cache=new Ti}getHeader(){return I(this,null,function*(){return yield this.cache.getHeader(this.source)})}getZxyAttempt(t,e,r,n){return I(this,null,function*(){let i=bi(t,e,r),s=yield this.cache.getHeader(this.source);if(s.specVersion<3)return _r.getZxy(s,this.source,this.cache,t,e,r,n);if(t<s.minZoom||t>s.maxZoom)return;let a=s.rootDirectoryOffset,o=s.rootDirectoryLength;for(let l=0;l<=3;l++){let c=yield this.cache.getDirectory(this.source,a,o,s),u=yi(c,i);if(u){if(u.runLength>0){let h=yield this.source.getBytes(s.tileDataOffset+u.offset,u.length,n,s.etag);return{data:yield this.decompress(h.data,s.tileCompression),cacheControl:h.cacheControl,expires:h.expires}}a=s.leafDirectoryOffset+u.offset,o=u.length}else return}throw Error("Maximum directory depth exceeded")})}getZxy(t,e,r,n){return I(this,null,function*(){try{return yield this.getZxyAttempt(t,e,r,n)}catch(i){if(i instanceof vt)return this.cache.invalidate(this.source),yield this.getZxyAttempt(t,e,r,n);throw i}})}getMetadataAttempt(){return I(this,null,function*(){let t=yield this.cache.getHeader(this.source),e=yield this.source.getBytes(t.jsonMetadataOffset,t.jsonMetadataLength,void 0,t.etag),r=yield this.decompress(e.data,t.internalCompression),n=new TextDecoder("utf-8");return JSON.parse(n.decode(r))})}getMetadata(){return I(this,null,function*(){try{return yield this.getMetadataAttempt()}catch(t){if(t instanceof vt)return this.cache.invalidate(this.source),yield this.getMetadataAttempt();throw t}})}};var Mt=(n=>(n[n.Point=1]="Point",n[n.Line=2]="Line",n[n.Polygon=3]="Polygon",n))(Mt||{});function re(t){return`${t.x}:${t.y}:${t.z}`}var Mi=(t,e,r)=>{t.pos=e;let n=t.readVarint()+t.pos,i=1,s=0,a=0,o=0,l=1/0,c=-1/0,u=1/0,h=-1/0,p=[],y=[];for(;t.pos<n;){if(s<=0){let _=t.readVarint();i=_&7,s=_>>3}if(s--,i===1||i===2)a+=t.readSVarint()*r,o+=t.readSVarint()*r,a<l&&(l=a),a>c&&(c=a),o<u&&(u=o),o>h&&(h=o),i===1&&(y.length>0&&p.push(y),y=[]),y.push(new _e.default(a,o));else if(i===7)y&&y.push(y[0].clone());else throw new Error(`unknown command ${i}`)}return y&&p.push(y),{geom:p,bbox:{minX:l,minY:u,maxX:c,maxY:h}}};function Fr(t,e){let r=new Pr.VectorTile(new Lr.default(t)),n=new Map;for(let[i,s]of Object.entries(r.layers)){let a=[],o=s;for(let l=0;l<o.length;l++){let c=Mi(o.feature(l)._pbf,o.feature(l)._geometry,e/o.extent),u=0;for(let h of c.geom)u+=h.length;a.push({id:o.feature(l).id,geomType:o.feature(l).type,geom:c.geom,numVertices:u,bbox:c.bbox,props:o.feature(l).properties})}n.set(i,a)}return n}var ve=class{constructor(e,r){typeof e=="string"?this.p=new zr(e):this.p=e,this.zoomaborts=[],this.shouldCancelZooms=r}get(e,r){return R(this,null,function*(){this.shouldCancelZooms&&(this.zoomaborts=this.zoomaborts.filter(a=>a.z!==e.z?(a.controller.abort(),!1):!0));let n=new AbortController;this.zoomaborts.push({z:e.z,controller:n});let i=n.signal,s=yield this.p.getZxy(e.z,e.x,e.y,i);return s?Fr(s.data,r):new Map})}},De=class{constructor(e,r){this.url=e,this.zoomaborts=[],this.shouldCancelZooms=r}get(e,r){return R(this,null,function*(){this.shouldCancelZooms&&(this.zoomaborts=this.zoomaborts.filter(a=>a.z!==e.z?(a.controller.abort(),!1):!0));let n=this.url.replace("{z}",e.z.toString()).replace("{x}",e.x.toString()).replace("{y}",e.y.toString()),i=new AbortController;this.zoomaborts.push({z:e.z,controller:i});let s=i.signal;return new Promise((a,o)=>{fetch(n,{signal:s}).then(l=>l.arrayBuffer()).then(l=>{let c=Fr(l,r);a(c)}).catch(l=>{o(l)})})})}},zt=6378137,Tr=85.0511287798,Qe=zt*Math.PI,Pi=t=>{let e=Math.PI/180,r=Math.max(Math.min(Tr,t[0]),-Tr),n=Math.sin(r*e);return new _e.default(zt*t[1]*e,zt*Math.log((1+n)/(1-n))/2)};function Mr(t){return t*t}function et(t,e){return Mr(t.x-e.x)+Mr(t.y-e.y)}function Li(t,e,r){let n=et(e,r);if(n===0)return et(t,e);let i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return i=Math.max(0,Math.min(1,i)),et(t,new _e.default(e.x+i*(r.x-e.x),e.y+i*(r.y-e.y)))}function Tt(t,e){let r=!1;for(let n=0,i=e.length-1;n<e.length;i=n++){let s=e[n].x,a=e[n].y,o=e[i].x,l=e[i].y;a>t.y!=l>t.y&&t.x<(o-s)*(t.y-a)/(l-a)+s&&(r=!r)}return r}function Sr(t){let e=0;for(let r=0;r<t.length;r++){let n=(r+1)%t.length;e+=t[r].x*t[n].y,e-=t[n].x*t[r].y}return e<0}function Cr(t,e){let r=!1;for(let n of e)if(Sr(n))Tt(t,n)&&(r=!1);else{if(r)return!0;Tt(t,n)&&(r=!0)}return r}function Dr(t,e){let r=1/0;for(let n of e){let i=Math.sqrt(et(t,n[0]));i<r&&(r=i)}return r}function Ar(t,e){let r=1/0;for(let n of e)for(let i=0;i<n.length-1;i++){let s=Math.sqrt(Li(t,n[i],n[i+1]));s<r&&(r=s)}return r}var Ae=class{constructor(e,r){this.source=e,this.cache=new Map,this.inflight=new Map,this.tileSize=r}get(e){return R(this,null,function*(){let r=re(e);return new Promise((n,i)=>{let s=this.cache.get(r);if(s)s.used=performance.now(),n(s.data);else{let a=this.inflight.get(r);a?a.push({resolve:n,reject:i}):(this.inflight.set(r,[]),this.source.get(e,this.tileSize).then(o=>{this.cache.set(r,{used:performance.now(),data:o});let l=this.inflight.get(r);if(l)for(let c of l)c.resolve(o);if(this.inflight.delete(r),n(o),this.cache.size>=64){let c=1/0,u;this.cache.forEach((h,p)=>{h.used<c&&(c=h.used,u=p)}),u&&this.cache.delete(u)}}).catch(o=>{let l=this.inflight.get(r);if(l)for(let c of l)c.reject(o);this.inflight.delete(r),i(o)}))}})})}queryFeatures(e,r,n,i){let s=Pi([r,e]),a=new _e.default((s.x+Qe)/(Qe*2),1-(s.y+Qe)/(Qe*2));a.x>1&&(a.x=a.x-Math.floor(a.x));let o=a.mult(1<<n),l=Math.floor(o.x),c=Math.floor(o.y),u=re({z:n,x:l,y:c}),h=[],p=this.cache.get(u);if(p){let y=new _e.default((o.x-l)*this.tileSize,(o.y-c)*this.tileSize);for(let[_,k]of p.data.entries())for(let f of k)f.geomType===1?Dr(y,f.geom)<i&&h.push({feature:f,layerName:_}):f.geomType===2?Ar(y,f.geom)<i&&h.push({feature:f,layerName:_}):Cr(y,f.geom)&&h.push({feature:f,layerName:_})}return h}};var Br=(n=>(n[n.Left=1]="Left",n[n.Center=2]="Center",n[n.Right=3]="Right",n))(Br||{}),Rr=(l=>(l[l.N=1]="N",l[l.Ne=2]="Ne",l[l.E=3]="E",l[l.Se=4]="Se",l[l.S=5]="S",l[l.Sw=6]="Sw",l[l.W=7]="W",l[l.Nw=8]="Nw",l))(Rr||{}),Fi=(t,e,r)=>{let n=document.createElement("canvas"),i=n.getContext("2d");return n.width=t,n.height=e,i!==null&&r(n,i),n},D=class{constructor(e){var r;this.pattern=e.pattern,this.fill=new j(e.fill,"black"),this.opacity=new C(e.opacity,1),this.stroke=new j(e.stroke,"black"),this.width=new C(e.width,0),this.perFeature=(r=this.fill.perFeature||this.opacity.perFeature||this.stroke.perFeature||this.width.perFeature||e.perFeature)!=null?r:!1,this.doStroke=!1}before(e,r){if(!this.perFeature){e.globalAlpha=this.opacity.get(r),e.fillStyle=this.fill.get(r),e.strokeStyle=this.stroke.get(r);let n=this.width.get(r);n>0&&(this.doStroke=!0),e.lineWidth=n}if(this.pattern){let n=e.createPattern(this.pattern,"repeat");n&&(e.fillStyle=n)}}draw(e,r,n,i){let s=!1;if(this.perFeature){e.globalAlpha=this.opacity.get(n,i),e.fillStyle=this.fill.get(n,i);let o=this.width.get(n,i);o&&(s=!0,e.strokeStyle=this.stroke.get(n,i),e.lineWidth=o)}let a=()=>{e.fill(),(s||this.doStroke)&&e.stroke()};e.beginPath();for(let o of r)for(let l=0;l<o.length;l++){let c=o[l];l===0?e.moveTo(c.x,c.y):e.lineTo(c.x,c.y)}a()}};function Si(t,e){return r=>{let n=r-t;return n>=0&&n<e.length?e[n]:0}}function Ci(t,e){let r=0;for(;e[r+1][0]<t;)r++;return r}function Di(t,e,r){return t*(r-e)+e}function Ai(t,e,r,n){let i=n[e+1][0]-n[e][0],s=t-n[e][0];return i===0?0:r===1?s/i:(B(r,s)-1)/(B(r,i)-1)}function $(t,e){return r=>{if(e.length<1)return 0;if(r<=e[0][0])return e[0][1];if(r>=e[e.length-1][0])return e[e.length-1][1];let n=Ci(r,e),i=Ai(r,n,t,e);return Di(i,e[n][1],e[n+1][1])}}function Bi(t,e){return r=>{if(e.length<1)return 0;let n=t;for(let i=0;i<e.length;i++)r>=e[i][0]&&(n=e[i][1]);return n}}function nt(t){return $(1,t)}var O=class{constructor(e){var r;this.color=new j(e.color,"black"),this.width=new C(e.width),this.opacity=new C(e.opacity),this.dash=e.dash?new We(e.dash):null,this.dashColor=new j(e.dashColor,"black"),this.dashWidth=new C(e.dashWidth,1),this.lineCap=new j(e.lineCap,"butt"),this.lineJoin=new j(e.lineJoin,"miter"),this.skip=!1,this.perFeature=!!(((r=this.dash)==null?void 0:r.perFeature)||this.color.perFeature||this.opacity.perFeature||this.width.perFeature||this.lineCap.perFeature||this.lineJoin.perFeature||e.perFeature)}before(e,r){this.perFeature||(e.strokeStyle=this.color.get(r),e.lineWidth=this.width.get(r),e.globalAlpha=this.opacity.get(r),e.lineCap=this.lineCap.get(r),e.lineJoin=this.lineJoin.get(r))}draw(e,r,n,i){if(this.skip)return;let s=()=>{this.perFeature&&(e.globalAlpha=this.opacity.get(n,i),e.lineCap=this.lineCap.get(n,i),e.lineJoin=this.lineJoin.get(n,i)),this.dash?(e.save(),this.perFeature?(e.lineWidth=this.dashWidth.get(n,i),e.strokeStyle=this.dashColor.get(n,i),e.setLineDash(this.dash.get(n,i))):e.setLineDash(this.dash.get(n)),e.stroke(),e.restore()):(e.save(),this.perFeature&&(e.lineWidth=this.width.get(n,i),e.strokeStyle=this.color.get(n,i)),e.stroke(),e.restore())};e.beginPath();for(let a of r)for(let o=0;o<a.length;o++){let l=a[o];o===0?e.moveTo(l.x,l.y):e.lineTo(l.x,l.y)}s()}},Pt=class{constructor(e){this.name=e.name,this.sheet=e.sheet,this.dpr=window.devicePixelRatio}place(e,r,n){let i=r[0],s=new K.default(r[0][0].x,r[0][0].y),a=this.sheet.get(this.name),o=a.w/this.dpr,l=a.h/this.dpr,c={minX:s.x-o/2,minY:s.y-l/2,maxX:s.x+o/2,maxY:s.y+l/2};return[{anchor:s,bboxes:[c],draw:h=>{h.globalAlpha=1,h.drawImage(this.sheet.canvas,a.x,a.y,a.w,a.h,-a.w/2/this.dpr,-a.h/2/this.dpr,a.w/2,a.h/2)}}]}},Be=class{constructor(e){this.radius=new C(e.radius,3),this.fill=new j(e.fill,"black"),this.stroke=new j(e.stroke,"white"),this.width=new C(e.width,0),this.opacity=new C(e.opacity)}draw(e,r,n,i){e.globalAlpha=this.opacity.get(n,i);let s=this.radius.get(n,i),a=this.width.get(n,i);a>0&&(e.strokeStyle=this.stroke.get(n,i),e.lineWidth=a,e.beginPath(),e.arc(r[0][0].x,r[0][0].y,s+a/2,0,2*Math.PI),e.stroke()),e.fillStyle=this.fill.get(n,i),e.beginPath(),e.arc(r[0][0].x,r[0][0].y,s,0,2*Math.PI),e.fill()}place(e,r,n){let i=r[0],s=new K.default(r[0][0].x,r[0][0].y),a=this.radius.get(e.zoom,n),o={minX:s.x-a,minY:s.y-a,maxX:s.x+a,maxY:s.y+a};return[{anchor:s,bboxes:[o],draw:c=>{this.draw(c,[[new K.default(0,0)]],e.zoom,n)}}]}},Lt=class{constructor(e){this.font=new me(e),this.text=new de(e),this.fill=new j(e.fill,"black"),this.background=new j(e.background,"white"),this.padding=new C(e.padding,0)}place(e,r,n){let i=this.text.get(e.zoom,n);if(!i)return;let s=this.font.get(e.zoom,n);e.scratch.font=s;let a=e.scratch.measureText(i),o=a.width,l=a.actualBoundingBoxAscent,c=a.actualBoundingBoxDescent,u=r[0],h=new K.default(r[0][0].x,r[0][0].y),p=this.padding.get(e.zoom,n),y={minX:h.x-o/2-p,minY:h.y-l-p,maxX:h.x+o/2+p,maxY:h.y+c+p};return[{anchor:h,bboxes:[y],draw:k=>{k.globalAlpha=1,k.fillStyle=this.background.get(e.zoom,n),k.fillRect(-o/2-p,-l-p,o+2*p,l+c+2*p),k.fillStyle=this.fill.get(e.zoom,n),k.font=s,k.fillText(i,-o/2,0)}}]}},Ft=class{constructor(e){this.list=e}place(e,r,n){let i=this.list[0].place(e,r,n);if(!i)return;let s=i[0],a=s.anchor,o=s.bboxes[0],l=o.maxY-o.minY,c=[{draw:s.draw,translate:{x:0,y:0}}],u=[[new K.default(r[0][0].x,r[0][0].y+l)]];for(let p=1;p<this.list.length;p++)i=this.list[p].place(e,u,n),i&&(s=i[0],o=jr(o,s.bboxes[0]),c.push({draw:s.draw,translate:{x:0,y:l}}));return[{anchor:a,bboxes:[o],draw:p=>{for(let y of c)p.save(),p.translate(y.translate.x,y.translate.y),y.draw(p),p.restore()}}]}},jr=(t,e)=>({minX:Math.min(t.minX,e.minX),minY:Math.min(t.minY,e.minY),maxX:Math.max(t.maxX,e.maxX),maxY:Math.max(t.maxY,e.maxY)}),Re=class{constructor(e){this.list=e}place(e,r,n){let i=this.list[0];if(!i)return;let s=i.place(e,r,n);if(!s)return;let a=s[0],o=a.anchor,l=a.bboxes[0],c=[a.draw];for(let h=1;h<this.list.length;h++){if(s=this.list[h].place(e,r,n),!s)return;a=s[0],l=jr(l,a.bboxes[0]),c.push(a.draw)}return[{anchor:o,bboxes:[l],draw:h=>{for(let p of c)p(h)}}]}},tt=class{constructor(e){this.symbolizer=e}place(e,r,n){let i=r[0][0],s=this.symbolizer.place(e,[[new K.default(0,0)]],n);if(!s||s.length===0)return;let a=s[0],o=a.bboxes[0],l=o.maxX-o.minX,c=o.maxY-o.minY,u={minX:i.x-l/2,maxX:i.x+l/2,minY:i.y-c/2,maxY:i.y+c/2};return[{anchor:i,bboxes:[u],draw:p=>{p.translate(-l/2,c/2-o.maxY),a.draw(p,{justify:2})}}]}},St=class{constructor(e,r){this.padding=new C(e,0),this.symbolizer=r}place(e,r,n){let i=this.symbolizer.place(e,r,n);if(!i||i.length===0)return;let s=this.padding.get(e.zoom,n);for(let a of i)for(let o of a.bboxes)o.minX-=s,o.minY-=s,o.maxX+=s,o.maxY+=s;return i}},je=class{constructor(e){this.font=new me(e),this.text=new de(e),this.fill=new j(e.fill,"black"),this.stroke=new j(e.stroke,"black"),this.width=new C(e.width,0),this.lineHeight=new C(e.lineHeight,1),this.letterSpacing=new C(e.letterSpacing,0),this.maxLineCodeUnits=new C(e.maxLineChars,15),this.justify=e.justify}place(e,r,n){let i=this.text.get(e.zoom,n);if(!i)return;let s=this.font.get(e.zoom,n);e.scratch.font=s;let a=this.letterSpacing.get(e.zoom,n),o=dt(i,this.maxLineCodeUnits.get(e.zoom,n)),l="",c=0;for(let m of o)m.length>c&&(c=m.length,l=m);let u=e.scratch.measureText(l),h=u.width+a*(c-1),p=u.actualBoundingBoxAscent,y=u.actualBoundingBoxDescent,_=(p+y)*this.lineHeight.get(e.zoom,n),k=new K.default(r[0][0].x,r[0][0].y),f={minX:k.x,minY:k.y-p,maxX:k.x+h,maxY:k.y+y+(o.length-1)*_};return[{anchor:k,bboxes:[f],draw:(m,x)=>{m.globalAlpha=1,m.font=s,m.fillStyle=this.fill.get(e.zoom,n);let g=this.width.get(e.zoom,n),b=0;for(let v of o){let w=0;if(this.justify===2||x&&x.justify===2?w=(h-m.measureText(v).width)/2:(this.justify===3||x&&x.justify===3)&&(w=h-m.measureText(v).width),g)if(m.lineWidth=g*2,m.strokeStyle=this.stroke.get(e.zoom,n),a>0){let z=w;for(let T of v)m.strokeText(T,z,b),z+=m.measureText(T).width+a}else m.strokeText(v,w,b);if(a>0){let z=w;for(let T of v)m.fillText(T,z,b),z+=m.measureText(T).width+a}else m.fillText(v,w,b);b+=_}}}]}},ne=class{constructor(e){this.centered=new tt(new je(e))}place(e,r,n){return this.centered.place(e,r,n)}},rt=class{constructor(e,r){var n,i,s;this.symbolizer=e,this.offsetX=new C(r.offsetX,0),this.offsetY=new C(r.offsetY,0),this.justify=(n=r.justify)!=null?n:void 0,this.placements=(i=r.placements)!=null?i:[2,6,8,4,1,3,5,7],this.ddValues=(s=r.ddValues)!=null?s:()=>({})}place(e,r,n){if(n.geomType!==1)return;let i=r[0][0],s=this.symbolizer.place(e,[[new K.default(0,0)]],n);if(!s||s.length===0)return;let a=s[0],o=a.bboxes[0],l=this.offsetX,c=this.offsetY,u=this.justify,h=this.placements,{offsetX:p,offsetY:y,justify:_,placements:k}=this.ddValues(e.zoom,n)||{};p&&(l=new C(p,0)),y&&(c=new C(y,0)),_&&(u=_),k&&(h=k);let f=l.get(e.zoom,n),d=c.get(e.zoom,n),m=(w,z)=>({minX:w.x+z.x+o.minX,minY:w.y+z.y+o.minY,maxX:w.x+z.x+o.maxX,maxY:w.y+z.y+o.maxY}),x=new K.default(f,d),g,b=w=>{w.translate(x.x,x.y),a.draw(w,{justify:g})},v=(w,z)=>{let T=m(w,z);if(!e.index.bboxCollides(T,e.order))return[{anchor:i,bboxes:[T],draw:b}]};for(let w of h){let z=this.computeXaxisOffset(f,o,w),T=this.computeYaxisOffset(d,o,w);return g=this.computeJustify(u,w),x=new K.default(z,T),v(i,x)}}computeXaxisOffset(e,r,n){let i=r.maxX,s=i/2;return[1,5].includes(n)?e-s:[8,7,6].includes(n)?e-i:e}computeYaxisOffset(e,r,n){let i=Math.abs(r.minY),s=r.maxY,a=(r.minY+r.maxY)/2;return[3,7].includes(n)?e-a:[8,2,1].includes(n)?e-s:[6,4,5].includes(n)?e+i:e}computeJustify(e,r){return e||([1,5].includes(r)?2:[2,3,4].includes(r)?1:3)}},Oe=class{constructor(e){this.symbolizer=new rt(new je(e),e)}place(e,r,n){return this.symbolizer.place(e,r,n)}},Or=(n=>(n[n.Above=1]="Above",n[n.Center=2]="Center",n[n.Below=3]="Below",n))(Or||{}),le=class{constructor(e){var r;this.font=new me(e),this.text=new de(e),this.fill=new j(e.fill,"black"),this.stroke=new j(e.stroke,"black"),this.width=new C(e.width,0),this.offset=new C(e.offset,0),this.position=(r=e.position)!=null?r:1,this.maxLabelCodeUnits=new C(e.maxLabelChars,40),this.repeatDistance=new C(e.repeatDistance,250)}place(e,r,n){let i=this.text.get(e.zoom,n);if(!i||i.length>this.maxLabelCodeUnits.get(e.zoom,n))return;let s=20,a=n.bbox;if(a.maxY-a.minY<s&&a.maxX-a.minX<s)return;let o=this.font.get(e.zoom,n);e.scratch.font=o;let l=e.scratch.measureText(i),c=l.width,u=l.actualBoundingBoxAscent+l.actualBoundingBoxDescent,h=this.repeatDistance.get(e.zoom,n);e.overzoom>4&&(h*=1<<e.overzoom-4);let p=u*2,y=qt(r,c,h,p);if(y.length===0)return;let _=[];for(let k of y){let f=k.end.x-k.start.x,d=k.end.y-k.start.y,x=Wt(k.start,k.end,c,p/2).map(b=>({minX:b.x-p/2,minY:b.y-p/2,maxX:b.x+p/2,maxY:b.y+p/2})),g=b=>{b.globalAlpha=1,b.rotate(Math.atan2(d,f)),f<0&&(b.scale(-1,-1),b.translate(-c,0));let v=0;this.position===3?v+=u:this.position===2&&(v+=u/2),b.translate(0,v-this.offset.get(e.zoom,n)),b.font=o;let w=this.width.get(e.zoom,n);w&&(b.lineWidth=w,b.strokeStyle=this.stroke.get(e.zoom,n),b.strokeText(i,0,0)),b.fillStyle=this.fill.get(e.zoom,n),b.fillText(i,0,0)};_.push({anchor:k.start,bboxes:x,draw:g,deduplicationKey:i,deduplicationDistance:h})}return _}};var N=(t,e)=>{let r=t[e];return typeof r=="string"?r:""},Xr=(t,e)=>{let r=t[e];return typeof r=="number"?r:0},Xe=t=>[{dataLayer:"earth",symbolizer:new D({fill:t.earth})},{dataLayer:"landuse",symbolizer:new D({fill:(e,r)=>qe(t.park_a,t.park_b,Math.min(Math.max(e/12,12),0))}),filter:(e,r)=>{let n=N(r.props,"pmap:kind");return["allotments","village_green","playground"].includes(n)}},{dataLayer:"landuse",symbolizer:new D({fill:t.park_b,opacity:.7}),filter:(e,r)=>{let n=N(r.props,"pmap:kind");return["national_park","park","cemetery","protected_area","nature_reserve","forest","golf_course"].includes(n)}},{dataLayer:"landuse",symbolizer:new D({fill:t.hospital}),filter:(e,r)=>r.props["pmap:kind"]==="hospital"},{dataLayer:"landuse",symbolizer:new D({fill:t.industrial}),filter:(e,r)=>r.props["pmap:kind"]==="industrial"},{dataLayer:"landuse",symbolizer:new D({fill:t.school}),filter:(e,r)=>{let n=N(r.props,"pmap:kind");return["school","university","college"].includes(n)}},{dataLayer:"landuse",symbolizer:new D({fill:t.beach}),filter:(e,r)=>r.props["pmap:kind"]==="beach"},{dataLayer:"landuse",symbolizer:new D({fill:t.zoo}),filter:(e,r)=>r.props["pmap:kind"]==="zoo"},{dataLayer:"landuse",symbolizer:new D({fill:t.zoo}),filter:(e,r)=>{let n=N(r.props,"pmap:kind");return["military","naval_base","airfield"].includes(n)}},{dataLayer:"natural",symbolizer:new D({fill:(e,r)=>qe(t.wood_a,t.wood_b,Math.min(Math.max(e/12,12),0))}),filter:(e,r)=>{let n=N(r.props,"pmap:kind");return["wood","nature_reserve","forest"].includes(n)}},{dataLayer:"natural",symbolizer:new D({fill:(e,r)=>qe(t.scrub_a,t.scrub_b,Math.min(Math.max(e/12,12),0))}),filter:(e,r)=>{let n=N(r.props,"pmap:kind");return["scrub","grassland","grass"].includes(n)}},{dataLayer:"natural",symbolizer:new D({fill:t.scrub_b}),filter:(e,r)=>{let n=N(r.props,"pmap:kind");return["scrub","grassland","grass"].includes(n)}},{dataLayer:"natural",symbolizer:new D({fill:t.glacier}),filter:(e,r)=>r.props["pmap:kind"]==="glacier"},{dataLayer:"natural",symbolizer:new D({fill:t.sand}),filter:(e,r)=>r.props["pmap:kind"]==="sand"},{dataLayer:"landuse",symbolizer:new D({fill:t.aerodrome}),filter:(e,r)=>r.props["pmap:kind"]==="aerodrome"},{dataLayer:"water",symbolizer:new D({fill:t.water})},{dataLayer:"transit",symbolizer:new O({color:t.runway,width:(e,r)=>$(1.6,[[11,0],[13,4],[19,30]])(e)}),filter:(e,r)=>r.props["pmap:kind_detail"]==="runway"},{dataLayer:"transit",symbolizer:new O({color:t.runway,width:(e,r)=>$(1.6,[[14,0],[14.5,1],[16,6]])(e)}),filter:(e,r)=>r.props["pmap:kind_detail"]==="taxiway"},{dataLayer:"transit",symbolizer:new O({color:t.pier,width:(e,r)=>$(1.6,[[13,0],[13.5,0,5],[21,16]])(e)}),filter:(e,r)=>r.props["pmap:kind"]==="pier"},{dataLayer:"physical_line",minzoom:14,symbolizer:new O({color:t.water,width:(e,r)=>$(1.6,[[9,0],[9.5,1],[18,12]])(e)}),filter:(e,r)=>r.props["pmap:kind"]==="river"},{dataLayer:"physical_line",minzoom:14,symbolizer:new O({color:t.water,width:.5}),filter:(e,r)=>r.props["pmap:kind"]==="stream"},{dataLayer:"landuse",symbolizer:new D({fill:t.pedestrian}),filter:(e,r)=>r.props["pmap:kind"]==="pedestrian"},{dataLayer:"landuse",symbolizer:new D({fill:t.pier}),filter:(e,r)=>r.props["pmap:kind"]==="pier"},{dataLayer:"buildings",symbolizer:new D({fill:t.buildings,opacity:.5})},{dataLayer:"roads",symbolizer:new O({color:t.major,width:(e,r)=>$(1.6,[[14,0],[20,7]])(e)}),filter:(e,r)=>{let n=N(r.props,"pmap:kind");return["other","path"].includes(n)}},{dataLayer:"roads",symbolizer:new O({color:t.major,width:(e,r)=>$(1.6,[[13,0],[18,8]])(e)}),filter:(e,r)=>r.props["pmap:kind"]==="minor_road"},{dataLayer:"roads",symbolizer:new O({color:t.major,width:(e,r)=>$(1.6,[[7,0],[12,1.2],[15,3],[18,13]])(e)}),filter:(e,r)=>r.props["pmap:kind"]==="medium_road"},{dataLayer:"roads",symbolizer:new O({color:t.major,width:(e,r)=>$(1.6,[[6,0],[12,1.6],[15,3],[18,13]])(e)}),filter:(e,r)=>r.props["pmap:kind"]==="major_road"},{dataLayer:"roads",symbolizer:new O({color:t.major,width:(e,r)=>$(1.6,[[3,0],[6,1.1],[12,1.6],[15,5],[18,15]])(e)}),filter:(e,r)=>r.props["pmap:kind"]==="highway"},{dataLayer:"boundaries",symbolizer:new O({dash:[3,2],color:t.boundaries,width:1}),filter:(e,r)=>{let n=r.props["pmap:min_admin_level"];return typeof n=="number"&&n<=2}},{dataLayer:"transit",symbolizer:new O({dash:[.3,.75],color:t.railway,dashWidth:(e,r)=>$(1.6,[[4,0],[7,.15],[19,9]])(e),opacity:.5}),filter:(e,r)=>r.props["pmap:kind"]==="rail"},{dataLayer:"boundaries",symbolizer:new O({dash:[3,2],color:t.boundaries,width:.5}),filter:(e,r)=>{let n=r.props["pmap:min_admin_level"];return typeof n=="number"&&n>2}}],Ie=t=>{let e=["name"];return[{dataLayer:"roads",symbolizer:new le({labelProps:e,fill:t.roads_label_minor,font:"400 12px sans-serif",width:2,stroke:t.roads_label_minor_halo}),minzoom:16,filter:(r,n)=>{let i=N(n.props,"pmap:kind");return["minor_road","other","path"].includes(i)}},{dataLayer:"roads",symbolizer:new le({labelProps:e,fill:t.roads_label_major,font:"400 12px sans-serif",width:2,stroke:t.roads_label_major_halo}),minzoom:12,filter:(r,n)=>{let i=N(n.props,"pmap:kind");return["highway","major_road","medium_road"].includes(i)}},{dataLayer:"roads",symbolizer:new le({labelProps:e,fill:t.roads_label_major,font:"400 12px sans-serif",width:2,stroke:t.roads_label_major_halo}),minzoom:12,filter:(r,n)=>{let i=N(n.props,"pmap:kind");return["highway","major_road","medium_road"].includes(i)}},{dataLayer:"physical_point",symbolizer:new ne({labelProps:e,fill:t.ocean_label,lineHeight:1.5,letterSpacing:1,font:(r,n)=>`400 ${nt([[3,10],[10,12]])(r)}px sans-serif`,textTransform:"uppercase"}),filter:(r,n)=>{let i=N(n.props,"pmap:kind");return["ocean","bay","strait","fjord"].includes(i)}},{dataLayer:"physical_point",symbolizer:new ne({labelProps:e,fill:t.ocean_label,lineHeight:1.5,letterSpacing:1,font:(r,n)=>`400 ${nt([[3,0],[6,12],[10,12]])(r)}px sans-serif`}),filter:(r,n)=>{let i=N(n.props,"pmap:kind");return["sea","lake","water"].includes(i)}},{dataLayer:"places",symbolizer:new ne({labelProps:(r,n)=>r<6?["name:short"]:e,fill:t.state_label,stroke:t.state_label_halo,width:1,lineHeight:1.5,font:(r,n)=>r<6?"400 16px sans-serif":"400 12px sans-serif",textTransform:"uppercase"}),filter:(r,n)=>n.props["pmap:kind"]==="region"},{dataLayer:"places",symbolizer:new ne({labelProps:e,fill:t.country_label,lineHeight:1.5,font:(r,n)=>(r<6,"600 12px sans-serif"),textTransform:"uppercase"}),filter:(r,n)=>n.props["pmap:kind"]==="country"},{dataLayer:"places",minzoom:9,symbolizer:new ne({labelProps:e,fill:t.city_label,lineHeight:1.5,font:(r,n)=>{if(!n)return"400 12px sans-serif";let i=n.props["pmap:min_zoom"],s=400;i&&i<=5&&(s=600);let a=12,o=n.props["pmap:population_rank"];return o&&o>9&&(a=16),`${s} ${a}px sans-serif`}}),sort:(r,n)=>{let i=Xr(r,"pmap:population_rank"),s=Xr(n,"pmap:population_rank");return i-s},filter:(r,n)=>n.props["pmap:kind"]==="locality"},{dataLayer:"places",maxzoom:8,symbolizer:new Re([new Be({radius:2,fill:t.city_circle,stroke:t.city_circle_stroke,width:1.5}),new Oe({labelProps:e,fill:t.city_label,stroke:t.city_label_halo,width:1,offsetX:6,offsetY:4.5,font:(r,n)=>"400 12px sans-serif"})]),filter:(r,n)=>n.props["pmap:kind"]==="locality"}]};var Ri={background:"#cccccc",earth:"#e0e0e0",park_a:"#cfddd5",park_b:"#9cd3b4",hospital:"#e4dad9",industrial:"#d1dde1",school:"#e4ded7",wood_a:"#d0ded0",wood_b:"#a0d9a0",pedestrian:"#e3e0d4",scrub_a:"#cedcd7",scrub_b:"#99d2bb",glacier:"#e7e7e7",sand:"#e2e0d7",beach:"#e8e4d0",aerodrome:"#dadbdf",runway:"#e9e9ed",water:"#80deea",pier:"#e0e0e0",zoo:"#c6dcdc",military:"#dcdcdc",tunnel_other_casing:"#e0e0e0",tunnel_minor_casing:"#e0e0e0",tunnel_link_casing:"#e0e0e0",tunnel_medium_casing:"#e0e0e0",tunnel_major_casing:"#e0e0e0",tunnel_highway_casing:"#e0e0e0",tunnel_other:"#d5d5d5",tunnel_minor:"#d5d5d5",tunnel_link:"#d5d5d5",tunnel_medium:"#d5d5d5",tunnel_major:"#d5d5d5",tunnel_highway:"#d5d5d5",transit_pier:"#e0e0e0",buildings:"#cccccc",minor_service_casing:"#e0e0e0",minor_casing:"#e0e0e0",link_casing:"#e0e0e0",medium_casing:"#e0e0e0",major_casing_late:"#e0e0e0",highway_casing_late:"#e0e0e0",other:"#ebebeb",minor_service:"#ebebeb",minor_a:"#ebebeb",minor_b:"#ffffff",link:"#ffffff",medium:"#f5f5f5",major_casing_early:"#e0e0e0",major:"#ffffff",highway_casing_early:"#e0e0e0",highway:"#ffffff",railway:"#a7b1b3",boundaries:"#adadad",waterway_label:"#ffffff",bridges_other_casing:"#e0e0e0",bridges_minor_casing:"#e0e0e0",bridges_link_casing:"#e0e0e0",bridges_medium_casing:"#e0e0e0",bridges_major_casing:"#e0e0e0",bridges_highway_casing:"#e0e0e0",bridges_other:"#ebebeb",bridges_minor:"#ffffff",bridges_link:"#ffffff",bridges_medium:"#f0eded",bridges_major:"#f5f5f5",bridges_highway:"#ffffff",roads_label_minor:"#91888b",roads_label_minor_halo:"#ffffff",roads_label_major:"#938a8d",roads_label_major_halo:"#ffffff",ocean_label:"#ffffff",peak_label:"#7e9aa0",subplace_label:"#8f8f8f",subplace_label_halo:"#e0e0e0",city_circle:"#ffffff",city_circle_stroke:"#a3a3a3",city_label:"#5c5c5c",city_label_halo:"#e0e0e0",state_label:"#b3b3b3",state_label_halo:"#e0e0e0",country_label:"#a3a3a3"},ji={background:"#34373d",earth:"#1f1f1f",park_a:"#232325",park_b:"#232325",hospital:"#252424",industrial:"#222222",school:"#262323",wood_a:"#202121",wood_b:"#202121",pedestrian:"#1e1e1e",scrub_a:"#222323",scrub_b:"#222323",glacier:"#1c1c1c",sand:"#212123",beach:"#28282a",aerodrome:"#1e1e1e",runway:"#333333",water:"#34373d",pier:"#222222",zoo:"#222323",military:"#242323",tunnel_other_casing:"#141414",tunnel_minor_casing:"#141414",tunnel_link_casing:"#141414",tunnel_medium_casing:"#141414",tunnel_major_casing:"#141414",tunnel_highway_casing:"#141414",tunnel_other:"#292929",tunnel_minor:"#292929",tunnel_link:"#292929",tunnel_medium:"#292929",tunnel_major:"#292929",tunnel_highway:"#292929",transit_pier:"#333333",buildings:"#111111",minor_service_casing:"#1f1f1f",minor_casing:"#1f1f1f",link_casing:"#1f1f1f",medium_casing:"#1f1f1f",major_casing_late:"#1f1f1f",highway_casing_late:"#1f1f1f",other:"#333333",minor_service:"#333333",minor_a:"#3d3d3d",minor_b:"#333333",link:"#3d3d3d",medium:"#3d3d3d",major_casing_early:"#1f1f1f",major:"#3d3d3d",highway_casing_early:"#1f1f1f",highway:"#474747",railway:"#000000",boundaries:"#5b6374",waterway_label:"#717784",bridges_other_casing:"#2b2b2b",bridges_minor_casing:"#1f1f1f",bridges_link_casing:"#1f1f1f",bridges_medium_casing:"#1f1f1f",bridges_major_casing:"#1f1f1f",bridges_highway_casing:"#1f1f1f",bridges_other:"#333333",bridges_minor:"#333333",bridges_link:"#3d3d3d",bridges_medium:"#3d3d3d",bridges_major:"#3d3d3d",bridges_highway:"#474747",roads_label_minor:"#525252",roads_label_minor_halo:"#1f1f1f",roads_label_major:"#666666",roads_label_major_halo:"#1f1f1f",ocean_label:"#717784",peak_label:"#898080",subplace_label:"#525252",subplace_label_halo:"#1f1f1f",city_circle:"#000000",city_circle_stroke:"#7a7a7a",city_label:"#7a7a7a",city_label_halo:"#212121",state_label:"#3d3d3d",state_label_halo:"#1f1f1f",country_label:"#5c5c5c"},Oi={background:"#ffffff",earth:"#ffffff",park_a:"#fcfcfc",park_b:"#fcfcfc",hospital:"#f8f8f8",industrial:"#fcfcfc",school:"#f8f8f8",wood_a:"#fafafa",wood_b:"#fafafa",pedestrian:"#fdfdfd",scrub_a:"#fafafa",scrub_b:"#fafafa",glacier:"#fcfcfc",sand:"#fafafa",beach:"#f6f6f6",aerodrome:"#fdfdfd",runway:"#efefef",water:"#dcdcdc",pier:"#f5f5f5",zoo:"#f7f7f7",military:"#fcfcfc",tunnel_other_casing:"#d6d6d6",tunnel_minor_casing:"#fcfcfc",tunnel_link_casing:"#fcfcfc",tunnel_medium_casing:"#fcfcfc",tunnel_major_casing:"#fcfcfc",tunnel_highway_casing:"#fcfcfc",tunnel_other:"#d6d6d6",tunnel_minor:"#d6d6d6",tunnel_link:"#d6d6d6",tunnel_medium:"#d6d6d6",tunnel_major:"#d6d6d6",tunnel_highway:"#d6d6d6",transit_pier:"#efefef",buildings:"#efefef",minor_service_casing:"#ffffff",minor_casing:"#ffffff",link_casing:"#ffffff",medium_casing:"#ffffff",major_casing_late:"#ffffff",highway_casing_late:"#ffffff",other:"#f5f5f5",minor_service:"#f5f5f5",minor_a:"#ebebeb",minor_b:"#f5f5f5",link:"#ebebeb",medium:"#ebebeb",major_casing_early:"#ffffff",major:"#ebebeb",highway_casing_early:"#ffffff",highway:"#ebebeb",railway:"#d6d6d6",boundaries:"#adadad",waterway_label:"#adadad",bridges_other_casing:"#ffffff",bridges_minor_casing:"#ffffff",bridges_link_casing:"#ffffff",bridges_medium_casing:"#ffffff",bridges_major_casing:"#ffffff",bridges_highway_casing:"#ffffff",bridges_other:"#f5f5f5",bridges_minor:"#f5f5f5",bridges_link:"#ebebeb",bridges_medium:"#ebebeb",bridges_major:"#ebebeb",bridges_highway:"#ebebeb",roads_label_minor:"#adadad",roads_label_minor_halo:"#ffffff",roads_label_major:"#999999",roads_label_major_halo:"#ffffff",ocean_label:"#adadad",peak_label:"#adadad",subplace_label:"#8f8f8f",subplace_label_halo:"#ffffff",city_circle:"#ffffff",city_circle_stroke:"#adadad",city_label:"#5c5c5c",city_label_halo:"#ffffff",state_label:"#b3b3b3",state_label_halo:"#ffffff",country_label:"#b8b8b8"},Xi={background:"#a3a3a3",earth:"#cccccc",park_a:"#c2c2c2",park_b:"#c2c2c2",hospital:"#d0d0d0",industrial:"#c6c6c6",school:"#d0d0d0",wood_a:"#c2c2c2",wood_b:"#c2c2c2",pedestrian:"#c4c4c4",scrub_a:"#c2c2c2",scrub_b:"#c2c2c2",glacier:"#d2d2d2",sand:"#d2d2d2",beach:"#d2d2d2",aerodrome:"#c9c9c9",runway:"#f5f5f5",water:"#a3a3a3",pier:"#b8b8b8",zoo:"#c7c7c7",military:"#bfbfbf",tunnel_other_casing:"#b8b8b8",tunnel_minor_casing:"#b8b8b8",tunnel_link_casing:"#b8b8b8",tunnel_medium_casing:"#b8b8b8",tunnel_major_casing:"#b8b8b8",tunnel_highway_casing:"#b8b8b8",tunnel_other:"#d6d6d6",tunnel_minor:"#d6d6d6",tunnel_link:"#d6d6d6",tunnel_medium:"#d6d6d6",tunnel_major:"#d6d6d6",tunnel_highway:"#d6d6d6",transit_pier:"#b8b8b8",buildings:"#e0e0e0",minor_service_casing:"#cccccc",minor_casing:"#cccccc",link_casing:"#cccccc",medium_casing:"#cccccc",major_casing_late:"#cccccc",highway_casing_late:"#cccccc",other:"#e0e0e0",minor_service:"#e0e0e0",minor_a:"#ebebeb",minor_b:"#e0e0e0",link:"#ebebeb",medium:"#ebebeb",major_casing_early:"#cccccc",major:"#ebebeb",highway_casing_early:"#cccccc",highway:"#ebebeb",railway:"#f5f5f5",boundaries:"#5c5c5c",waterway_label:"#7a7a7a",bridges_other_casing:"#cccccc",bridges_minor_casing:"#cccccc",bridges_link_casing:"#cccccc",bridges_medium_casing:"#cccccc",bridges_major_casing:"#cccccc",bridges_highway_casing:"#cccccc",bridges_other:"#e0e0e0",bridges_minor:"#e0e0e0",bridges_link:"#ebebeb",bridges_medium:"#ebebeb",bridges_major:"#ebebeb",bridges_highway:"#ebebeb",roads_label_minor:"#999999",roads_label_minor_halo:"#e0e0e0",roads_label_major:"#8f8f8f",roads_label_major_halo:"#ebebeb",ocean_label:"#7a7a7a",peak_label:"#5c5c5c",subplace_label:"#7a7a7a",subplace_label_halo:"#cccccc",city_circle:"#c2c2c2",city_circle_stroke:"#7a7a7a",city_label:"#474747",city_label_halo:"#cccccc",state_label:"#999999",state_label_halo:"#cccccc",country_label:"#858585"},Ii={background:"#2b2b2b",earth:"#141414",park_a:"#181818",park_b:"#181818",hospital:"#1d1d1d",industrial:"#101010",school:"#111111",wood_a:"#1a1a1a",wood_b:"#1a1a1a",pedestrian:"#191919",scrub_a:"#1c1c1c",scrub_b:"#1c1c1c",glacier:"#191919",sand:"#161616",beach:"#1f1f1f",aerodrome:"#191919",runway:"#323232",water:"#333333",pier:"#0a0a0a",zoo:"#191919",military:"#121212",tunnel_other_casing:"#101010",tunnel_minor_casing:"#101010",tunnel_link_casing:"#101010",tunnel_medium_casing:"#101010",tunnel_major_casing:"#101010",tunnel_highway_casing:"#101010",tunnel_other:"#292929",tunnel_minor:"#292929",tunnel_link:"#292929",tunnel_medium:"#292929",tunnel_major:"#292929",tunnel_highway:"#292929",transit_pier:"#0a0a0a",buildings:"#0a0a0a",minor_service_casing:"#141414",minor_casing:"#141414",link_casing:"#141414",medium_casing:"#141414",major_casing_late:"#141414",highway_casing_late:"#141414",other:"#1f1f1f",minor_service:"#1f1f1f",minor_a:"#292929",minor_b:"#1f1f1f",link:"#1f1f1f",medium:"#292929",major_casing_early:"#141414",major:"#292929",highway_casing_early:"#141414",highway:"#292929",railway:"#292929",boundaries:"#707070",waterway_label:"#707070",bridges_other_casing:"#141414",bridges_minor_casing:"#141414",bridges_link_casing:"#141414",bridges_medium_casing:"#141414",bridges_major_casing:"#141414",bridges_highway_casing:"#141414",bridges_other:"#1f1f1f",bridges_minor:"#1f1f1f",bridges_link:"#292929",bridges_medium:"#292929",bridges_major:"#292929",bridges_highway:"#292929",roads_label_minor:"#525252",roads_label_minor_halo:"#141414",roads_label_major:"#5c5c5c",roads_label_major_halo:"#141414",ocean_label:"#707070",peak_label:"#707070",subplace_label:"#5c5c5c",subplace_label_halo:"#141414",city_circle:"#000000",city_circle_stroke:"#666666",city_label:"#999999",city_label_halo:"#141414",state_label:"#3d3d3d",state_label_halo:"#141414",country_label:"#707070"},Yi={light:Ri,dark:ji,white:Oi,grayscale:Xi,black:Ii},it=Yi;var Yr=W(Q(),1),Vr=W(Ir(),1);var ce=W(Q(),1);var Ve=(t,e,r)=>{let n=[];for(let i of t){let s=[];for(let a of i)s.push(a.clone().mult(e).add(r));n.push(s)}return n},Ye=(t,e)=>{let r=1<<e;return t<0?r+t:t>=r?t%r:t},st=class{constructor(e,r,n){this.tileCache=e,this.maxDataLevel=r,this.levelDiff=n}dataTilesForBounds(e,r){let n=B(2,e)/B(2,Math.ceil(e)),i=[],s=1,a=this.tileCache.tileSize;if(e<this.levelDiff)s=1/(1<<this.levelDiff-e)*n,i.push({dataTile:{z:0,x:0,y:0},origin:new ce.default(0,0),scale:s,dim:a*s});else if(e<=this.levelDiff+this.maxDataLevel){let o=1<<this.levelDiff,l=256*n,c=Math.ceil(e)-this.levelDiff,u=Math.floor(r.minX/o/l),h=Math.floor(r.minY/o/l),p=Math.floor(r.maxX/o/l),y=Math.floor(r.maxY/o/l);for(let _=u;_<=p;_++)for(let k=h;k<=y;k++){let f=new ce.default(_*o*l,k*o*l);i.push({dataTile:{z:c,x:Ye(_,c),y:Ye(k,c)},origin:f,scale:n,dim:a*n})}}else{let o=1<<this.levelDiff;s=(1<<Math.ceil(e)-this.maxDataLevel-this.levelDiff)*n;let l=Math.floor(r.minX/o/256/s),c=Math.floor(r.minY/o/256/s),u=Math.floor(r.maxX/o/256/s),h=Math.floor(r.maxY/o/256/s);for(let p=l;p<=u;p++)for(let y=c;y<=h;y++){let _=new ce.default(p*o*256*s,y*o*256*s);i.push({dataTile:{z:this.maxDataLevel,x:Ye(p,this.maxDataLevel),y:Ye(y,this.maxDataLevel)},origin:_,scale:s,dim:a*s})}}return i}dataTileForDisplayTile(e){let r,n=1,i=this.tileCache.tileSize,s;if(e.z<this.levelDiff)r={z:0,x:0,y:0},n=1/(1<<this.levelDiff-e.z),s=new ce.default(0,0),i=i*n;else if(e.z<=this.levelDiff+this.maxDataLevel){let a=1<<this.levelDiff;r={z:e.z-this.levelDiff,x:Math.floor(e.x/a),y:Math.floor(e.y/a)},s=new ce.default(r.x*a*256,r.y*a*256)}else{n=1<<e.z-this.maxDataLevel-this.levelDiff;let a=1<<this.levelDiff;r={z:this.maxDataLevel,x:Math.floor(e.x/a/n),y:Math.floor(e.y/a/n)},s=new ce.default(r.x*a*n*256,r.y*a*n*256),i=i*n}return{dataTile:r,scale:n,origin:s,dim:i}}getBbox(e,r){return R(this,null,function*(){let n=this.dataTilesForBounds(e,r);return(yield Promise.all(n.map(s=>this.tileCache.get(s.dataTile)))).map((s,a)=>{let o=n[a];return{data:s,z:e,dataTile:o.dataTile,scale:o.scale,dim:o.dim,origin:o.origin}})})}getDisplayTile(e){return R(this,null,function*(){let r=this.dataTileForDisplayTile(e);return{data:yield this.tileCache.get(r.dataTile),z:e.z,dataTile:r.dataTile,scale:r.scale,origin:r.origin,dim:r.dim}})}queryFeatures(e,r,n,i){let s=Math.round(n),a=Math.min(s-this.levelDiff,this.maxDataLevel),o=i/(1<<s-a);return this.tileCache.queryFeatures(e,r,a,o)}},Ee=t=>{let e=n=>{let i=n.levelDiff===void 0?1:n.levelDiff,s=n.maxDataZoom||15,a;if(typeof n.url=="string")new URL(n.url,"http://example.com").pathname.endsWith(".pmtiles")?a=new ve(n.url,!0):a=new De(n.url,!0);else if(n.url)a=new ve(n.url,!0);else throw new Error(`Invalid source ${n.url}`);let o=new Ae(a,256*1<<i);return new st(o,s,i)},r=new Map;if(t.sources)for(let n in t.sources)r.set(n,e(t.sources[n]));else r.set("",e(t));return r};var Er=(t,e,r)=>{let i=e/256,s=Math.floor(r.minX/256),a=Math.floor(r.minY/256),o=Math.floor(r.maxX/256),l=Math.floor(r.maxY/256),c=Math.log2(i),u=[];for(let h=s;h<=o;h++){let p=h%(1<<t);for(let y=a;y<=l;y++)u.push({display:re({z:t,x:p,y}),key:re({z:t-c,x:Math.floor(p/i),y:Math.floor(y/i)})})}return u},at=class{constructor(e,r){this.tree=new Vr.default,this.current=new Map,this.dim=e,this.maxLabeledTiles=r}hasPrefix(e){for(let r of this.current.keys())if(r.startsWith(e))return!0;return!1}has(e){return this.current.has(e)}size(){return this.current.size}keys(){return this.current.keys()}searchBbox(e,r){let n=new Set;for(let i of this.tree.search(e))i.indexedLabel.order<=r&&n.add(i.indexedLabel);return n}searchLabel(e,r){let n=new Set;for(let i of e.bboxes)for(let s of this.tree.search(i))s.indexedLabel.order<=r&&n.add(s.indexedLabel);return n}bboxCollides(e,r){for(let n of this.tree.search(e))if(n.indexedLabel.order<=r)return!0;return!1}labelCollides(e,r){for(let n of e.bboxes)for(let i of this.tree.search(n))if(i.indexedLabel.order<=r)return!0;return!1}deduplicationCollides(e){if(!e.deduplicationKey||!e.deduplicationDistance)return!1;let r=e.deduplicationDistance,n={minX:e.anchor.x-r,minY:e.anchor.y-r,maxX:e.anchor.x+r,maxY:e.anchor.y+r};for(let i of this.tree.search(n))if(i.indexedLabel.deduplicationKey===e.deduplicationKey&&i.indexedLabel.anchor.dist(e.anchor)<r)return!0;return!1}makeEntry(e){this.current.get(e)&&console.log("consistency error 1");let r=new Set;this.current.set(e,r)}insert(e,r,n){let i={anchor:e.anchor,bboxes:e.bboxes,draw:e.draw,order:r,tileKey:n,deduplicationKey:e.deduplicationKey,deduplicationDistance:e.deduplicationDistance},s=this.current.get(n);if(!s){let l=new Set;this.current.set(n,l),s=l}s.add(i);let a=!1,o=!1;for(let l of e.bboxes)this.tree.insert({minX:l.minX,minY:l.minY,maxX:l.maxX,maxY:l.maxY,indexedLabel:i}),l.minX<0&&(a=!0),l.maxX>this.dim&&(o=!0);if(a||o){let l=a?this.dim:-this.dim,c=[];for(let p of e.bboxes)c.push({minX:p.minX+l,minY:p.minY,maxX:p.maxX+l,maxY:p.maxY});let u={anchor:new Yr.default(e.anchor.x+l,e.anchor.y),bboxes:c,draw:e.draw,order:r,tileKey:n},h=this.current.get(n);h&&h.add(u);for(let p of c)this.tree.insert({minX:p.minX,minY:p.minY,maxX:p.maxX,maxY:p.maxY,indexedLabel:u})}}pruneOrNoop(e){let r=e.split(":"),n,i=0,s=0;for(let a of this.current.keys()){let o=a.split(":");if(o[3]===r[3]){s++;let l=Math.sqrt(B(+o[0]-+r[0],2)+B(+o[1]-+r[1],2));l>i&&(i=l,n=a)}n&&s>this.maxLabeledTiles&&this.pruneKey(n)}}pruneKey(e){let r=this.current.get(e);if(!r)return;let n=[];for(let i of this.tree.all())r.has(i.indexedLabel)&&n.push(i);for(let i of n)this.tree.remove(i);this.current.delete(e)}removeLabel(e){let r=[];for(let i of this.tree.all())e===i.indexedLabel&&r.push(i);for(let i of r)this.tree.remove(i);let n=this.current.get(e.tileKey);n&&n.delete(e)}},ke=class{constructor(e,r,n,i,s){this.index=new at(256*1<<e,i),this.z=e,this.scratch=r,this.labelRules=n,this.callback=s}layout(e){let r=performance.now(),n=new Set;for(let[s,a]of e)for(let o of a){let l=`${re(o.dataTile)}:${s}`;this.index.has(l)||(this.index.makeEntry(l),n.add(l))}let i=new Set;for(let[s,a]of this.labelRules.entries()){if(a.visible===!1||a.minzoom&&this.z<a.minzoom||a.maxzoom&&this.z>a.maxzoom)continue;let o=a.dataSource||"",l=e.get(o);if(!!l)for(let c of l){let u=`${re(c.dataTile)}:${o}`;if(!n.has(u))continue;let h=c.data.get(a.dataLayer);if(h===void 0)continue;let p=h;a.sort&&p.sort((_,k)=>a.sort?a.sort(_.props,k.props):0);let y={index:this.index,zoom:this.z,scratch:this.scratch,order:s,overzoom:this.z-c.dataTile.z};for(let _ of p){if(a.filter&&!a.filter(this.z,_))continue;let k=Ve(_.geom,c.scale,c.origin),f=a.symbolizer.place(y,k,_);if(!!f)for(let d of f){let m=!1;if(!(d.deduplicationKey&&this.index.deduplicationCollides(d))){if(this.index.labelCollides(d,1/0)){if(!this.index.labelCollides(d,s)){let x=this.index.searchLabel(d,1/0);for(let g of x){this.index.removeLabel(g);for(let b of g.bboxes)this.findInvalidatedTiles(i,c.dim,b,u)}this.index.insert(d,s,u),m=!0}}else this.index.insert(d,s,u),m=!0;if(m)for(let x of d.bboxes)(x.maxX>c.origin.x+c.dim||x.minX<c.origin.x||x.minY<c.origin.y||x.maxY>c.origin.y+c.dim)&&this.findInvalidatedTiles(i,c.dim,x,u)}}}}}for(let s of n)this.index.pruneOrNoop(s);return i.size>0&&this.callback&&this.callback(i),performance.now()-r}findInvalidatedTiles(e,r,n,i){let s=Er(this.z,r,n);for(let a of s)a.key!==i&&this.index.hasPrefix(a.key)&&e.add(a.display)}add(e){let r=!0;for(let[i,s]of e)for(let a of s)this.index.has(`${re(a.dataTile)}:${i}`)||(r=!1);return r?0:this.layout(e)}},ze=class{constructor(e,r,n,i){this.labelers=new Map,this.scratch=e,this.labelRules=r,this.maxLabeledTiles=n,this.callback=i}add(e,r){let n=this.labelers.get(e);return n||(n=new ke(e,this.scratch,this.labelRules,this.maxLabeledTiles,this.callback),this.labelers.set(e,n)),n.add(r)}getIndex(e){let r=this.labelers.get(e);if(r)return r.index}};var Ur=W(Q(),1);function Ue(t,e,r,n,i,s,a,o,l){let c=performance.now();t.save(),t.miterLimit=2;for(let u of i){if(u.minzoom&&e<u.minzoom||u.maxzoom&&e>u.maxzoom)continue;let h=r.get(u.dataSource||"");if(!!h)for(let p of h){let y=p.data.get(u.dataLayer);if(y===void 0)continue;u.symbolizer.before&&u.symbolizer.before(t,p.z);let _=p.origin,k=p.dim,f=p.scale;if(t.save(),o){t.beginPath();let d=Math.max(_.x-a.x,s.minX-a.x),m=Math.max(_.y-a.y,s.minY-a.y),x=Math.min(_.x-a.x+k,s.maxX-a.x),g=Math.min(_.y-a.y+k,s.maxY-a.y);t.rect(d,m,x-d,g-m),t.clip()}t.translate(_.x-a.x,_.y-a.y);for(let d of y){let m=d.geom,x=d.bbox;x.maxX*f+_.x<s.minX||x.minX*f+_.x>s.maxX||x.minY*f+_.y>s.maxY||x.maxY*f+_.y<s.minY||u.filter&&!u.filter(p.z,d)||(f!==1&&(m=Ve(m,f,new Ur.default(0,0))),u.symbolizer.draw(t,m,p.z,d))}t.restore()}}if(o&&(t.beginPath(),t.rect(s.minX-a.x,s.minY-a.y,s.maxX-s.minX,s.maxY-s.minY),t.clip()),n){let u=n.searchBbox(s,1/0);for(let h of u)if(t.save(),t.translate(h.anchor.x-a.x,h.anchor.y-a.y),h.draw(t),t.restore(),l){t.lineWidth=.5,t.strokeStyle=l,t.fillStyle=l,t.globalAlpha=1,t.fillRect(h.anchor.x-a.x-2,h.anchor.y-a.y-2,4,4);for(let p of h.bboxes)t.strokeRect(p.minX-a.x,p.minY-a.y,p.maxX-p.minX,p.maxY-p.minY)}}return t.restore(),performance.now()-c}var $e=6378137,$r=85.0511287798,H=$e*Math.PI,Nr=t=>{let e=Math.PI/180,r=Math.max(Math.min($r,t.y),-$r),n=Math.sin(r*e);return new ie.default($e*t.x*e,$e*Math.log((1+n)/(1-n))/2)},Vi=t=>{let e=180/Math.PI;return{lat:(2*Math.atan(Math.exp(t.y/$e))-Math.PI/2)*e,lng:t.x*e/$e}},Ei=(t,e)=>r=>{let n=Nr(r);return new ie.default((n.x+H)/(H*2),1-(n.y+H)/(H*2)).mult((1<<e)*256).sub(t)},Ui=(t,e)=>r=>{let n=new ie.default(r.x,r.y).add(t).div((1<<e)*256),i=new ie.default(n.x*(H*2)-H,(1-n.y)*(H*2)-H);return Vi(i)},At=(t,e)=>{let r=e*(360/t);return Math.log2(r/256)},Bt=class{constructor(e){if(e.theme){let r=it[e.theme];this.paintRules=Xe(r),this.labelRules=Ie(r),this.backgroundColor=r.background}else this.paintRules=e.paintRules||[],this.labelRules=e.labelRules||[],this.backgroundColor=e.backgroundColor;this.views=Ee(e),this.debug=e.debug||""}drawContext(e,r,n,i,s){return R(this,null,function*(){let a=Nr(i),l=new ie.default((a.x+H)/(H*2),1-(a.y+H)/(H*2)).clone().mult(B(2,s)*256).sub(new ie.default(r/2,n/2)),c={minX:l.x,minY:l.y,maxX:l.x+r,maxY:l.y+n},u=[];for(let[m,x]of this.views){let g=x.getBbox(s,c);u.push({key:m,promise:g})}let h=yield Promise.all(u.map(m=>m.promise.then(x=>({status:"fulfilled",value:x,key:m.key}),x=>({status:"rejected",value:[],reason:x,key:m.key})))),p=new Map;for(let m of h)m.status==="fulfilled"&&p.set(m.key,m.value);let y=performance.now(),_=new ke(s,e,this.labelRules,16,void 0),k=_.add(p);this.backgroundColor&&(e.save(),e.fillStyle=this.backgroundColor,e.fillRect(0,0,r,n),e.restore());let f=this.paintRules,d=Ue(e,s,p,_.index,f,c,l,!0,this.debug);if(this.debug){e.save(),e.translate(-l.x,-l.y),e.strokeStyle=this.debug,e.fillStyle=this.debug,e.font="12px sans-serif";let m=0;for(let[x,g]of p){for(let b of g){e.strokeRect(b.origin.x,b.origin.y,b.dim,b.dim);let v=b.dataTile;e.fillText(`${x+(x?" ":"")+v.z} ${v.x} ${v.y}`,b.origin.x+4,b.origin.y+14*(1+m))}m++}e.restore()}return{elapsed:performance.now()-y,project:Ei(l,s),unproject:Ui(l,s)}})}drawCanvas(s,a,o){return R(this,arguments,function*(e,r,n,i={}){let l=window.devicePixelRatio,c=e.clientWidth,u=e.clientHeight;e.width===c*l&&e.height===u*l||(e.width=c*l,e.height=u*l),i.lang&&(e.lang=i.lang);let h=e.getContext("2d");if(!h){console.error("Failed to initialize canvas2d context.");return}return h.setTransform(l,0,0,l,0,0),this.drawContext(h,c,u,r,n)})}drawContextBounds(e,r,n,i,s){return R(this,null,function*(){let a=n.x-r.x,o=new ie.default((r.x+n.x)/2,(r.y+n.y)/2);return this.drawContext(e,i,s,o,At(a,i))})}drawCanvasBounds(a,o,l,c){return R(this,arguments,function*(e,r,n,i,s={}){let u=n.x-r.x,h=new ie.default((r.x+n.x)/2,(r.y+n.y)/2);return this.drawCanvas(e,h,At(u,i),s)})}};var Hr=W(Q(),1);var $i=t=>new Promise(e=>{setTimeout(()=>{e()},t)}),Ni=t=>t.then(e=>({status:"fulfilled",value:e}),e=>({status:"rejected",reason:e})),Hi=(t={})=>{class e extends L.GridLayer{constructor(n={}){if(n.noWrap&&!n.bounds&&(n.bounds=[[-90,-180],[90,180]]),n.attribution==null&&(n.attribution='<a href="https://protomaps.com">Protomaps</a> \xA9 <a href="https://openstreetmap.org/copyright">OpenStreetMap</a>'),super(n),n.theme){let s=it[n.theme];this.paintRules=Xe(s),this.labelRules=Ie(s),this.backgroundColor=s.background}else this.paintRules=n.paintRules||[],this.labelRules=n.labelRules||[],this.backgroundColor=n.backgroundColor;this.lastRequestedZ=void 0,this.tasks=n.tasks||[],this.views=Ee(n),this.debug=n.debug;let i=document.createElement("canvas").getContext("2d");this.scratch=i,this.onTilesInvalidated=s=>{for(let a of s)this.rerenderTile(a)},this.labelers=new ze(this.scratch,this.labelRules,16,this.onTilesInvalidated),this.tileSize=256*window.devicePixelRatio,this.tileDelay=n.tileDelay||3,this.lang=n.lang}renderTile(n,i,s,a=()=>{}){return R(this,null,function*(){this.lastRequestedZ=n.z;let o=[];for(let[w,z]of this.views){let T=z.getDisplayTile(n);o.push({key:w,promise:T})}let l=yield Promise.all(o.map(w=>w.promise.then(z=>({status:"fulfilled",value:z,key:w.key}),z=>({status:"rejected",reason:z,key:w.key})))),c=new Map;for(let w of l)w.status==="fulfilled"?c.set(w.key,[w.value]):w.reason.name==="AbortError"||console.error(w.reason);if(i.key!==s||this.lastRequestedZ!==n.z||(yield Promise.all(this.tasks.map(Ni)),i.key!==s)||this.lastRequestedZ!==n.z)return;let u=this.labelers.add(n.z,c);if(i.key!==s||this.lastRequestedZ!==n.z)return;let h=this.labelers.getIndex(n.z);if(!this._map)return;let p=this._map.getCenter().wrap(),y=this._getTiledPixelBounds(p),k=this._pxBoundsToTileRange(y).getCenter(),f=n.distanceTo(k)*this.tileDelay;if(yield $i(f),i.key!==s||this.lastRequestedZ!==n.z)return;let d=16,m={minX:256*n.x-d,minY:256*n.y-d,maxX:256*(n.x+1)+d,maxY:256*(n.y+1)+d},x=new Hr.default(256*n.x,256*n.y);i.width=this.tileSize,i.height=this.tileSize;let g=i.getContext("2d");if(!g){console.error("Failed to get Canvas context");return}g.setTransform(this.tileSize/256,0,0,this.tileSize/256,0,0),g.clearRect(0,0,256,256),this.backgroundColor&&(g.save(),g.fillStyle=this.backgroundColor,g.fillRect(0,0,256,256),g.restore());let b=0,v=this.paintRules;if(b=Ue(g,n.z,c,this.xray?null:h,v,m,x,!1,this.debug),this.debug){g.save(),g.fillStyle=this.debug,g.font="600 12px sans-serif",g.fillText(`${n.z} ${n.x} ${n.y}`,4,14),g.font="12px sans-serif";let w=28;for(let[z,T]of c){let M=T[0].dataTile;g.fillText(`${z+(z?" ":"")+M.z} ${M.x} ${M.y}`,4,w),w+=14}g.font="600 10px sans-serif",b>8&&(g.fillText(`${b.toFixed()} ms paint`,4,w),w+=14),u>8&&g.fillText(`${u.toFixed()} ms layout`,4,w),g.strokeStyle=this.debug,g.lineWidth=.5,g.beginPath(),g.moveTo(0,0),g.lineTo(0,256),g.stroke(),g.lineWidth=.5,g.beginPath(),g.moveTo(0,0),g.lineTo(256,0),g.stroke(),g.restore()}a()})}rerenderTile(n){for(let i in this._tiles){let s=this._wrapCoords(this._keyToTileCoords(i));n===this._tileCoordsToKey(s)&&this.renderTile(s,this._tiles[i].el,n)}}queryTileFeaturesDebug(n,i,s=16){let a=new Map;for(let[o,l]of this.views)a.set(o,l.queryFeatures(n,i,this._map.getZoom(),s));return a}clearLayout(){this.labelers=new ze(this.scratch,this.labelRules,16,this.onTilesInvalidated)}rerenderTiles(){for(let n in this._tiles){let i=this._wrapCoords(this._keyToTileCoords(n)),s=this._tileCoordsToKey(i);this.renderTile(i,this._tiles[n].el,s)}}createTile(n,i){let s=L.DomUtil.create("canvas","leaflet-tile");s.lang=this.lang;let a=this._tileCoordsToKey(n);return s.key=a,this.renderTile(n,s,a,()=>{i(void 0,s)}),s}_removeTile(n){let i=this._tiles[n];!i||(i.el.removed=!0,i.el.key=void 0,L.DomUtil.removeClass(i.el,"leaflet-tile-loaded"),i.el.width=i.el.height=0,L.DomUtil.remove(i.el),delete this._tiles[n],this.fire("tileunload",{tile:i.el,coords:this._keyToTileCoords(n)}))}}return new e(t)};function Rt(t){let e=0,r=0;for(let o of t)e+=o.w*o.h,r=Math.max(r,o.w);t.sort((o,l)=>l.h-o.h);let i=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}],s=0,a=0;for(let o of t)for(let l=i.length-1;l>=0;l--){let c=i[l];if(!(o.w>c.w||o.h>c.h)){if(o.x=c.x,o.y=c.y,a=Math.max(a,o.y+o.h),s=Math.max(s,o.x+o.w),o.w===c.w&&o.h===c.h){let u=i.pop();l<i.length&&(i[l]=u)}else o.h===c.h?(c.x+=o.w,c.w-=o.w):o.w===c.w?(c.y+=o.h,c.h-=o.h):(i.push({x:c.x+o.w,y:c.y,w:c.w-o.w,h:o.h}),c.y+=o.h,c.h-=o.h);break}}return{w:s,h:a,fill:e/(s*a)||0}}var qi=(t,e,r)=>{let n=new FontFace(t,`url(${e})`,{weight:r});return document.fonts.add(n),n.load()},qr=t=>R(void 0,null,function*(){return new Promise((e,r)=>{let n=new Image;n.onload=()=>e(n),n.onerror=()=>r("Invalid SVG"),n.src=t})}),Wi=`
|
|
2
2
|
<svg width="20px" height="20px" viewBox="0 0 50 50" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
|
3
3
|
<rect width="50" height="50" fill="#cccccc"/>
|
|
4
4
|
<g transform="translate(5,5)">
|
package/worldmap/worldmap.js
CHANGED
|
@@ -2613,7 +2613,7 @@ function doCommand(cmd) {
|
|
|
2613
2613
|
delete buttons[b.name];
|
|
2614
2614
|
}
|
|
2615
2615
|
buttons[b.name] = L.easyButton( b.icon, function() {
|
|
2616
|
-
ws.send(JSON.stringify({action:"button", name:b
|
|
2616
|
+
ws.send(JSON.stringify({action:"button", name:b?.name, value:b?.value}));
|
|
2617
2617
|
}, b.name, { position:b.position||'topright' });
|
|
2618
2618
|
buttons[b.name].addTo(map);
|
|
2619
2619
|
}
|
|
@@ -2727,29 +2727,33 @@ function doCommand(cmd) {
|
|
|
2727
2727
|
basemaps[cmd.map.name].removeFrom(map);
|
|
2728
2728
|
existsalready = true;
|
|
2729
2729
|
}
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
opt.
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
|
|
2738
|
-
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
2730
|
+
const p = new pmtiles.PMTiles(cmd.map.pmtiles);
|
|
2731
|
+
p.getHeader().then((h) => {
|
|
2732
|
+
var opt = cmd.map.opt || {};
|
|
2733
|
+
if (!opt.maxZoom) { opt.maxZoom = h.maxZoom || 20; }
|
|
2734
|
+
opt.maxDataZoom = opt.maxDataZoom || 15;
|
|
2735
|
+
opt.attribution = opt.attribution || '© Protomaps & OSM';
|
|
2736
|
+
if (!opt.paintRules && !opt.labelRules && !opt.backgroundColor && !opt.theme) {
|
|
2737
|
+
opt.theme = "light"; // light, dark, white, black, grayscale
|
|
2738
|
+
}
|
|
2739
|
+
if (h.tileType === 1) {
|
|
2740
|
+
opt.url = cmd.map.pmtiles;
|
|
2741
|
+
basemaps[cmd.map.name] = protomapsL.leafletLayer(opt);
|
|
2742
|
+
}
|
|
2743
|
+
else {
|
|
2744
|
+
basemaps[cmd.map.name] = pmtiles.leafletRasterLayer(p, opt);
|
|
2745
|
+
}
|
|
2746
|
+
if (!existsalready) {
|
|
2747
|
+
layercontrol.addBaseLayer(basemaps[cmd.map.name],cmd.map.name);
|
|
2748
|
+
}
|
|
2749
|
+
if (Object.keys(basemaps).length === 1) {
|
|
2750
|
+
baselayername = cmd.map.name;
|
|
2751
|
+
basemaps[baselayername].addTo(map);
|
|
2752
|
+
}
|
|
2753
|
+
if (pmtloaded === "") { pmtloaded = cmd.map.name; }
|
|
2754
|
+
});
|
|
2755
|
+
}
|
|
2756
|
+
catch(e) { console.log(e); }
|
|
2753
2757
|
}
|
|
2754
2758
|
// Add or swap new minimap layer
|
|
2755
2759
|
if (cmd.map && cmd.map.hasOwnProperty("minimap")) {
|
|
@@ -3127,6 +3131,14 @@ function doCommand(cmd) {
|
|
|
3127
3131
|
document.getElementById("lockit").checked = lockit;
|
|
3128
3132
|
}
|
|
3129
3133
|
// if (cmd.hasOwnProperty("panlock") && lockit === true) { doLock(true); }
|
|
3134
|
+
|
|
3135
|
+
if (cmd.hasOwnProperty("zoomLevels")) {
|
|
3136
|
+
if (Array.isArray(cmd.zoomLevels) && cmd?.zoomLevels.length > 0) {
|
|
3137
|
+
map.options.zooms = cmd.zoomLevels;
|
|
3138
|
+
}
|
|
3139
|
+
else { delete map.options.zooms; }
|
|
3140
|
+
}
|
|
3141
|
+
|
|
3130
3142
|
// Move to a new position
|
|
3131
3143
|
var clat = map.getCenter().lat;
|
|
3132
3144
|
var clon = map.getCenter().lng;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"type":"Topology","objects":{"countries":{"type":"GeometryCollection","geometries":[{"type":"MultiPolygon","arcs":[[[0]],[[1]],[[2]]]},{"type":"Polygon","arcs":[[3,4,5,6,7,8,9,10,11]]},{"type":"Polygon","arcs":[[12,13,14,15]]},{"type":"MultiPolygon","arcs":[[[16,17,18,19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]],[[44]],[[45]],[[46]],[[47]],[[48]]]},{"type":"MultiPolygon","arcs":[[[-20,49,50,51]],[[52]],[[53]],[[54]],[[55]],[[56]],[[57]],[[58]],[[-18,59]],[[60]]]},{"type":"Polygon","arcs":[[61,62,63,64,65,66]]},{"type":"Polygon","arcs":[[-64,67,68,69,70]]},{"type":"MultiPolygon","arcs":[[[71,72]],[[73]],[[74]],[[75]]]},{"type":"MultiPolygon","arcs":[[[-73,76]],[[77,78]],[[79]],[[80,81]],[[82]],[[83]],[[84]],[[85]],[[86]],[[87]],[[88]],[[89]],[[90]]]},{"type":"MultiPolygon","arcs":[[[91,92]],[[93,94,95,96,97,98]]]},{"type":"MultiPolygon","arcs":[[[-93,99]],[[100,-96,101,102]]]},{"type":"Polygon","arcs":[[-9,103,104,105,106,107,108,109,110,111,112]]},{"type":"Polygon","arcs":[[113,114,115,116]]},{"type":"Polygon","arcs":[[-4,117,118,119,-114,120]]},{"type":"Polygon","arcs":[[121,122,123,124,125,126,127,128]]},{"type":"Polygon","arcs":[[-123,129,130,131,132]]},{"type":"Polygon","arcs":[[133,134]]},{"type":"Polygon","arcs":[[-134,135]]},{"type":"MultiPolygon","arcs":[[[136]],[[137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,-67]],[[153]],[[154]],[[155]],[[156]],[[157]],[[158]],[[159,160,161]],[[162]],[[163]],[[164]],[[165]],[[166,167]]]},{"type":"MultiPolygon","arcs":[[[168]],[[169]],[[170]]]},{"type":"Polygon","arcs":[[171]]},{"type":"MultiPolygon","arcs":[[[172]],[[-148,173,174,175]],[[176]],[[177]]]},{"type":"Polygon","arcs":[[178]]},{"type":"Polygon","arcs":[[179]]},{"type":"Polygon","arcs":[[180,-78]]},{"type":"Polygon","arcs":[[181,182,183,184,185,186,187],[188]]},{"type":"Polygon","arcs":[[-189]]},{"type":"Polygon","arcs":[[-51,189,190,191,192]]},{"type":"Polygon","arcs":[[193,194,-94]]},{"type":"Polygon","arcs":[[-194,-99,195,196,197,198,199,200,201,202,203]]},{"type":"Polygon","arcs":[[-197,204,-97,-101,205]]},{"type":"Polygon","arcs":[[-198,-206,-103,206,207,208]]},{"type":"Polygon","arcs":[[-199,-209,209,210,211,212,213]]},{"type":"Polygon","arcs":[[-212,214,215,216]]},{"type":"Polygon","arcs":[[-216,217,218,219]]},{"type":"Polygon","arcs":[[-219,220,221,222]]},{"type":"Polygon","arcs":[[-222,223,224,225,226]]},{"type":"Polygon","arcs":[[-225,227,228]]},{"type":"Polygon","arcs":[[-192,229,230,-226,-229,231]]},{"type":"Polygon","arcs":[[-191,232,-230]]},{"type":"Polygon","arcs":[[-200,-214,233,234]]},{"type":"Polygon","arcs":[[-201,-235,235,236]]},{"type":"Polygon","arcs":[[-202,-237,237,238]]},{"type":"MultiPolygon","arcs":[[[-203,-239,239]],[[240,241,242,243,244,245,246,247]],[[248]]]},{"type":"Polygon","arcs":[[-208,249,-210]]},{"type":"Polygon","arcs":[[250]]},{"type":"Polygon","arcs":[[251]]},{"type":"Polygon","arcs":[[252]]},{"type":"Polygon","arcs":[[-184,253,254,255]]},{"type":"Polygon","arcs":[[-183,256,257,-254]]},{"type":"Polygon","arcs":[[-182,258,259,260,-257]]},{"type":"Polygon","arcs":[[261,262,263,264,265,266,267]]},{"type":"Polygon","arcs":[[-264,268,269,270,271,272,273]]},{"type":"Polygon","arcs":[[-14,274,-269,-263,275]]},{"type":"Polygon","arcs":[[276,277,278,279,280]]},{"type":"Polygon","arcs":[[-132,281,282,-280,283,-271,284,285]]},{"type":"Polygon","arcs":[[-281,-283,286,287]]},{"type":"Polygon","arcs":[[-131,288,289,290,291,292,-287,-282]]},{"type":"Polygon","arcs":[[-278,293,294,295]]},{"type":"Polygon","arcs":[[-295,296,297,298]]},{"type":"Polygon","arcs":[[-273,299,-298,300,301,302]]},{"type":"Polygon","arcs":[[-265,-274,-303,303,304,305,306]]},{"type":"Polygon","arcs":[[-266,-307,307]]},{"type":"Polygon","arcs":[[-302,308,309,-304]]},{"type":"Polygon","arcs":[[-305,-310,310]]},{"type":"Polygon","arcs":[[-272,-284,-279,-296,-299,-300]]},{"type":"Polygon","arcs":[[-109,311,-289,-130,-122,312]]},{"type":"Polygon","arcs":[[-108,313,314,315,-290,-312]]},{"type":"Polygon","arcs":[[-291,-316,316,317]]},{"type":"Polygon","arcs":[[-292,-318,318]]},{"type":"Polygon","arcs":[[-8,319,320,-255,-258,-261,321,-104]]},{"type":"Polygon","arcs":[[-7,322,-320]]},{"type":"Polygon","arcs":[[-6,323,-187,324,-185,-256,-321,-323]]},{"type":"Polygon","arcs":[[-186,-325]]},{"type":"MultiPolygon","arcs":[[[-107,325,-314]],[[-105,-322,-260,326]]]},{"type":"Polygon","arcs":[[-10,-113,327]]},{"type":"Polygon","arcs":[[328,329,330,331,332,333,334]]},{"type":"Polygon","arcs":[[-334,335,336]]},{"type":"Polygon","arcs":[[337]]},{"type":"Polygon","arcs":[[-330,338]]},{"type":"Polygon","arcs":[[-268,339]]},{"type":"Polygon","arcs":[[340,341,342]]},{"type":"Polygon","arcs":[[-13,343,344,-341,345,-285,-270,-275]]},{"type":"Polygon","arcs":[[-329,346,347,348,349,-331,-339]]},{"type":"Polygon","arcs":[[350,351,352,353,354]]},{"type":"Polygon","arcs":[[355,356]]},{"type":"Polygon","arcs":[[357,358,359]]},{"type":"Polygon","arcs":[[-348,360,361,362,363,-360,364]]},{"type":"MultiPolygon","arcs":[[[-354,365,366,367]],[[-352,368]]]},{"type":"MultiPolygon","arcs":[[[369]],[[370]]]},{"type":"Polygon","arcs":[[371,372,373,374]]},{"type":"Polygon","arcs":[[-372,375,376,377,378,379]]},{"type":"Polygon","arcs":[[-373,-380,380,381,382]]},{"type":"Polygon","arcs":[[-379,383,384,385,386,-381]]},{"type":"Polygon","arcs":[[-374,-383,387,388]]},{"type":"MultiPolygon","arcs":[[[389,389,389]],[[-150,390,391,392,393]]]},{"type":"Polygon","arcs":[[-392,394]]},{"type":"Polygon","arcs":[[-152,395]]},{"type":"Polygon","arcs":[[-386,396,397,398,399,400,401,402,403]]},{"type":"Polygon","arcs":[[-385,404,-397]]},{"type":"Polygon","arcs":[[-403,405]]},{"type":"Polygon","arcs":[[-401,406]]},{"type":"Polygon","arcs":[[-399,407,408,409,410]]},{"type":"Polygon","arcs":[[-70,411,412,-410,413,414]]},{"type":"Polygon","arcs":[[-69,415,416,-412]]},{"type":"Polygon","arcs":[[-63,417,-416,-68]]},{"type":"Polygon","arcs":[[-65,-71,-415,418,419]]},{"type":"Polygon","arcs":[[-363,420,421,422,423,424,-419,-414,-409,425]]},{"type":"Polygon","arcs":[[-335,-337,426,427,-361,-347]]},{"type":"Polygon","arcs":[[-423,428,429,430,431]]},{"type":"Polygon","arcs":[[-175,432,433]]},{"type":"Polygon","arcs":[[-143,434,435,436,437]]},{"type":"Polygon","arcs":[[-142,438,-167,439,440,441,442,443,444,445,-435]]},{"type":"Polygon","arcs":[[-436,-446,446,447,448,449,-160,450]]},{"type":"Polygon","arcs":[[451,452,453,454,455,456,457]]},{"type":"Polygon","arcs":[[-444,458,459,460,461,-452,462]]},{"type":"Polygon","arcs":[[-442,463]]},{"type":"Polygon","arcs":[[-441,464,465,466,-459,-443,-464]]},{"type":"Polygon","arcs":[[-437,-451,-162,467,468]]},{"type":"Polygon","arcs":[[-144,-438,-469,469,470]]},{"type":"Polygon","arcs":[[-145,-471,471]]},{"type":"Polygon","arcs":[[-449,472,-456,473,-241,474,475,476,477,478,479]]},{"type":"Polygon","arcs":[[-466,480,481,482,483,484]]},{"type":"MultiPolygon","arcs":[[[485]],[[-483,486,487,488,489]]]},{"type":"MultiPolygon","arcs":[[[-362,-428,490,491,-430,-421]],[[-482,492,-487]]]},{"type":"Polygon","arcs":[[-489,493,494,495,496]]},{"type":"Polygon","arcs":[[-461,497,498,499,500,501]]},{"type":"Polygon","arcs":[[-455,502,-242,-474]]},{"type":"Polygon","arcs":[[-475,-248,503]]},{"type":"Polygon","arcs":[[-476,-504,-247,504,505]]},{"type":"Polygon","arcs":[[-477,-506,506]]},{"type":"Polygon","arcs":[[507,508]]},{"type":"Polygon","arcs":[[-508,509,-245,510]]},{"type":"Polygon","arcs":[[511,512]]},{"type":"Polygon","arcs":[[513]]},{"type":"MultiPolygon","arcs":[[[514]],[[515]],[[516]],[[517]],[[518]]]},{"type":"MultiPolygon","arcs":[[[519]],[[520]]]},{"type":"MultiPolygon","arcs":[[[521]],[[522]]]},{"type":"Polygon","arcs":[[523]]},{"type":"MultiPolygon","arcs":[[[524]],[[-62,-153,-396,-151,-394,525,-388,-382,-387,-404,-406,-402,-407,-400,-411,-413,-417,-418]]]},{"type":"Polygon","arcs":[[526]]},{"type":"MultiPolygon","arcs":[[[-454,527,528,-243,-503]],[[529]],[[530]]]},{"type":"MultiPolygon","arcs":[[[-479,531]],[[532]]]},{"type":"MultiPolygon","arcs":[[[-513,533]],[[534]]]},{"type":"Polygon","arcs":[[535]]},{"type":"MultiPolygon","arcs":[[[-139,536,-424,-432,537]],[[-422,-429]]]},{"type":"Polygon","arcs":[[-140,-538,-431,-492,538]]},{"type":"MultiPolygon","arcs":[[[539]],[[540]],[[541]],[[542]],[[543]],[[544]],[[545]]]},{"type":"MultiPolygon","arcs":[[[-377,546]],[[-82,547,548,549]]]},{"type":"Polygon","arcs":[[-549,550]]},{"type":"Polygon","arcs":[[-453,-462,-502,551,-528]]},{"type":"Polygon","arcs":[[-147,552,-433,-174]]},{"type":"Polygon","arcs":[[-445,-463,-458,553,-447]]},{"type":"Polygon","arcs":[[-448,-554,-457,-473]]},{"type":"Polygon","arcs":[[-127,554,555,556]]},{"type":"MultiPolygon","arcs":[[[557]],[[558]],[[559]]]},{"type":"Polygon","arcs":[[-196,-98,-205]]},{"type":"Polygon","arcs":[[-367,560,561]]},{"type":"Polygon","arcs":[[-349,-365,-359,562,-357,563,-355,-368,-562,564]]},{"type":"MultiPolygon","arcs":[[[565]],[[566]],[[567]],[[568]],[[569]],[[570]],[[571]],[[572]]]},{"type":"Polygon","arcs":[[573,574]]},{"type":"Polygon","arcs":[[-575,575]]},{"type":"Polygon","arcs":[[-344,-16,576]]},{"type":"Polygon","arcs":[[-125,577,578,-332,579]]},{"type":"Polygon","arcs":[[-124,-133,-286,-346,-343,580,-578]]},{"type":"Polygon","arcs":[[-115,-120,581,-128,-557,582,583]]},{"type":"Polygon","arcs":[[-556,584,585,-583]]},{"type":"Polygon","arcs":[[-116,-584,-586,586]]},{"type":"Polygon","arcs":[[-12,587,-111,588,-118]]},{"type":"Polygon","arcs":[[-11,-328,-112,-588]]},{"type":"Polygon","arcs":[[-499,589,590]]},{"type":"Polygon","arcs":[[-484,-490,-497,591,592]]},{"type":"Polygon","arcs":[[-460,-467,-485,-593,593,594,-590,-498]]},{"type":"Polygon","arcs":[[-495,595,-500,-591,-595,596]]},{"type":"Polygon","arcs":[[-496,-597,-594,-592]]},{"type":"Polygon","arcs":[[597]]},{"type":"Polygon","arcs":[[-110,-313,-129,-582,-119,-589]]}]},"land":{"type":"GeometryCollection","geometries":[{"type":"MultiPolygon","arcs":[[[0]],[[1]],[[2]],[[4,323,187,258,326,105,325,314,316,318,292,287,276,293,296,300,308,310,305,307,266,339,261,275,14,576,344,341,580,578,332,335,426,490,538,140,438,167,439,464,480,492,487,493,595,500,551,528,243,510,508,509,245,504,506,477,531,479,449,160,467,469,471,145,552,433,175,148,390,394,392,525,388,374,375,546,377,383,404,397,407,425,363,357,562,355,563,350,368,352,365,560,564,349,579,125,554,584,586,116,120],[424,419,65,137,536]],[[18,49,189,232,230,226,222,219,216,212,233,235,237,239,203,194,94,101,206,249,210,214,217,220,223,227,231,192,51,16,59]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]],[[44]],[[45]],[[46]],[[47]],[[48]],[[52]],[[53]],[[54]],[[55]],[[56]],[[57]],[[58]],[[60]],[[71,76]],[[73]],[[74]],[[75]],[[78,180]],[[79]],[[549,80,547,550]],[[82]],[[83]],[[84]],[[85]],[[86]],[[87]],[[88]],[[89]],[[90]],[[91,99]],[[134,135]],[[136]],[[153]],[[154]],[[155]],[[156]],[[157]],[[158]],[[162]],[[163]],[[164]],[[165]],[[168]],[[169]],[[170]],[[171]],[[172]],[[176]],[[177]],[[178]],[[179]],[[248]],[[250]],[[251]],[[252]],[[337]],[[369]],[[370]],[],[[485]],[[511,533]],[[513]],[[514]],[[515]],[[516]],[[517]],[[518]],[[519]],[[520]],[[521]],[[522]],[[523]],[[524]],[[526]],[[529]],[[530]],[[532]],[[534]],[[535]],[[539]],[[540]],[[541]],[[542]],[[543]],[[544]],[[545]],[[557]],[[558]],[[559]],[[565]],[[566]],[[567]],[[568]],[[569]],[[570]],[[571]],[[572]],[[573,575]],[[597]]]}]}},"arcs":[[[999999,425769],[0,-2810],[-1766,-1418],[-1775,-1213],[-357,2147],[1389,1182],[880,316],[1629,1796]],[[994792,417490],[689,950],[957,-1662],[-459,-3007],[-1723,-791],[-1531,712],[-268,2532],[1072,1978],[1263,-712]],[[574,426036],[-344,-2770],[-230,-307],[0,2810],[574,267]],[[594176,512827],[470,-632],[10072,-11732],[189,-3341],[3987,-5757]],[[608894,491365],[-1282,-7096],[165,-3264],[1778,-2098],[83,-1497],[-764,-3478],[159,-1750],[-182,-2751],[970,-3610],[1150,-5678],[1019,-1260]],[[611990,458883],[-2210,-3339],[-3037,-2236],[-1667,94],[-990,-1727],[-1933,-148],[-726,-728],[-3338,1622],[-2090,-465]],[[595999,451956],[-777,7832],[-942,2685],[-559,1593],[-2723,1074]],[[590998,465140],[-1577,1729],[-1765,969],[-1107,965],[-1161,1466]],[[585388,470269],[-1500,7256],[-1611,3225],[-555,3340],[277,2995],[-500,5298]],[[581499,492383],[1149,274],[1008,2086],[1081,3004],[685,1205],[-25,1872],[-599,1305],[-161,2268]],[[584637,504397],[802,729],[161,3388],[-1103,3250]],[[584497,511764],[974,691],[3046,-74],[5659,446]],[[475928,677568],[2,-386],[-54,-1116]],[[475876,676066],[-8,-8723],[-9117,302],[90,-14736],[-2603,-517],[-679,-2958],[526,-8316],[-10878,36],[-606,-1921]],[[452601,639233],[120,2433]],[[452721,641666],[48,-9],[6256,460],[333,2075],[1138,2587],[917,7952],[3862,6215],[1306,7260],[868,422],[905,4488],[2336,618],[1006,-748],[1261,0],[895,1311],[1717,185],[-63,3086],[422,0]],[[158778,800482],[-373,15],[-5378,5655],[-1984,2488],[-5031,2385],[-1548,5097],[396,3535],[-3554,2452],[-487,4643],[-3361,4181],[-58,2967]],[[137400,833900],[1544,2777],[-77,3633],[-4722,3664],[-2841,6570],[-1736,4131],[-2543,2596],[-1872,2358],[-1475,2979],[-2788,-1866],[-2703,-3218],[-2467,3784],[-1940,2522],[-2705,1594],[-2736,170],[15,32789],[18,21377]],[[108372,919760],[5182,-1388],[4373,-2770],[2896,-530],[2439,2402],[3364,1799],[4126,-703],[4161,2529],[4546,1435],[1908,-2387],[2073,1346],[620,2712],[1920,-614],[4697,-5164],[3698,3904],[376,-4370],[3413,945],[1048,1681],[3365,-333],[4248,-2418],[6501,-2111],[3823,-978],[2721,371],[3747,-2920],[-3909,-2858],[5022,-1235],[7498,679],[2366,1008],[2961,-3453],[3021,2913],[-2835,2443],[1794,1972],[3381,265],[2223,576],[2242,-1375],[2791,-3129],[3102,460],[4908,-2597],[4312,915],[4052,-139],[-320,3584],[2470,1006],[4304,-1954],[-17,-5448],[1768,4592],[2235,-155],[1256,5789],[-2976,3552],[-3242,2326],[223,6364],[3284,4180],[3663,-924],[2811,-2542],[3774,-6493],[-2465,-2829],[5166,-1165],[-12,-5890],[3712,4514],[3321,-3707],[-828,-4271],[2687,-3886],[2901,4162],[2026,4971],[152,6321],[3947,-442],[4107,-848],[3728,-2857],[167,-2859],[-2067,-3070],[1959,-3083],[-354,-2801],[-5439,-4027],[-3863,-888],[-2873,1733],[-828,-2891],[-2677,-4856],[-811,-2519],[-3221,-3897],[-3977,-381],[-2193,-2434],[-183,-3743],[-3232,-720],[-3399,-4667],[-3012,-6485],[-1077,-4540],[-154,-6689],[4082,-960],[1251,-5392],[1299,-4369],[3887,1138],[5162,-2494],[2777,-2189],[1987,-2721],[3481,-1585],[2943,-2426],[4587,-332],[3021,-556],[-454,-4988],[865,-5789],[2012,-6445],[4132,-5468],[2139,1875],[1503,5921],[-1451,9095],[-1959,3031],[4447,2699],[3147,4037],[1540,4013],[-227,3849],[-1887,4892],[-3374,4334],[3278,6035],[-1211,5213],[-928,8994],[1934,1330],[4762,-1567],[2856,-560],[2301,1512],[2587,-1950],[3421,-3339],[842,-2235],[4954,-437],[-83,-4838],[923,-7279],[2537,-900],[2014,-3392],[4022,3198],[2657,6354],[1838,2677],[2163,-5142],[3618,-7346],[3072,-6908],[-1117,-3617],[3695,-3248],[2496,-3290],[4430,-1489],[1783,-1837],[1101,-4873],[2163,-765],[1116,-2172],[203,-6472],[-2016,-2165],[-1994,-2021],[-4578,-2047],[-3495,-4731],[-4696,-934],[-5941,1212],[-4169,42],[-2877,-399],[-2326,-4132],[-3541,-2552],[-4007,-7622],[-3197,-5316],[2359,946],[4459,7567],[5827,4798],[4156,574],[2459,-2824],[-2624,-3868],[881,-6207],[906,-4345],[3608,-2876],[4591,833],[2785,6474],[193,-4177],[1794,-2086],[-3437,-3773],[-6152,-3427],[-2755,-2330],[-3104,-4148],[-2109,423],[-107,4875],[4823,4762],[-4446,-189],[-3087,-701]],[[313507,778239],[-1817,3255],[3,7853],[-1233,1661],[-1863,-978],[-923,1513],[-2119,-4346],[-847,-4481],[-986,-2620],[-1180,-891],[-890,-290],[-277,-1421],[-5119,-5],[-4220,-39],[-1254,-1060],[-2935,-4147],[-347,-449],[-889,-2244],[-2550,2],[-2729,-23],[-1254,-914],[449,-1131],[250,-1756],[-53,-584],[-3634,-2865],[-2862,-905],[-3226,-3075],[-697,0],[-944,908],[-311,823],[61,601],[611,2016],[1306,3167],[812,3404],[-556,5004],[-592,5226],[-2895,2703],[343,1024],[-407,704],[-763,0],[-559,913],[-139,1364],[-541,-596],[-745,177],[170,571],[-654,567],[-269,1514],[-2156,1844],[-2249,1918],[-2717,2227],[-2606,2090],[-2486,-1630],[-908,-57],[-3417,1497],[-2250,-748],[-2694,1785],[-2836,917],[-1940,354],[-863,975],[-493,3162],[-941,-28],[-8,-2213],[-5749,4],[-9504,-4],[-9439,0],[-8338,0],[-8334,0],[-8194,0],[-8467,0],[-2731,0],[-8247,0],[-7888,0]],[[266684,877955],[2064,2657],[3816,-55],[-59,-1116],[-3251,-3176],[-1962,132],[-608,1558]],[[278400,937560],[-3056,3054],[117,2073],[1336,383],[6357,-620],[4790,-3164],[246,-1591],[-2953,168],[-2992,122],[-3040,-774],[-805,349]],[[276901,875840],[1073,1728],[1137,-126],[706,-1181],[-1088,-3026],[-1228,489],[-729,1719],[129,397]],[[239964,950098],[-1511,-2233],[-4033,429],[-3367,1502],[1478,2593],[3994,1551],[2425,-2020],[1014,-1822]],[[239333,964725],[-1265,-165],[-5206,367],[-741,1610],[5594,-84],[1950,-1069],[-332,-659]],[[231238,971900],[3319,-2002],[-752,-2081],[-4110,-1188],[-2263,1338],[-1190,2161],[-220,2383],[3597,-230],[1619,-381]],[[255138,946713],[-4485,710],[-7382,1856],[-961,3162],[-338,2855],[-2788,2514],[-5747,704],[-3219,1783],[1045,2363],[5725,-366],[3084,-1852],[5469,13],[2398,-1894],[-633,-2163],[3188,-1303],[1764,-1368],[3747,-254],[4053,-482],[4415,1248],[5656,491],[4514,-405],[2975,-2172],[621,-2383],[-1733,-1531],[-4142,-1237],[-3556,700],[-7968,-887],[-5702,-102]],[[190932,968370],[3917,-902],[-924,-1723],[-5178,-1658],[-4120,1860],[2249,1836],[4056,587]],[[191767,972122],[3613,-1166],[-3384,-1123],[-4613,6],[45,821],[2850,1724],[1489,-262]],[[345555,813826],[-1483,-3628],[-1839,-5038],[1814,1946],[1865,-1234],[-975,-2008],[2465,-1579],[1282,1403],[2770,-1771],[-860,-4217],[1944,984],[354,-3055],[863,-3580],[-1170,-5068],[-1256,-215],[-1826,1088],[603,4711],[-774,732],[-3223,-4995],[-1658,200],[1962,2706],[-2666,1399],[-2984,-344],[-5391,176],[-426,1705],[1730,2028],[-1209,1564],[2333,3470],[2870,9172],[1722,3277],[2410,1985],[1289,-252],[-536,-1562]],[[266992,893255],[3042,-1974],[3182,-1795],[246,-2738],[2045,448],[1983,-1909],[-2465,-1812],[-4323,1385],[-1560,2592],[-2755,-3065],[-3952,-2979],[-954,3368],[-3765,-553],[2415,2849],[355,4532],[947,5275],[2008,-470],[515,-2532],[1421,888],[1615,-1510]],[[281192,934964],[2628,2289],[6163,-2913],[3826,-2745],[360,-2512],[5158,1302],[2895,-3668],[6705,-2275],[2420,-2321],[2628,-5390],[-5101,-2683],[6543,-3760],[4410,-1265],[3992,-5293],[4370,-382],[-865,-4042],[-4876,-6689],[-3417,2461],[-4368,5540],[-3594,-722],[-351,-3299],[2922,-3348],[3771,-2650],[1144,-1530],[1807,-5700],[-956,-4139],[-3504,1560],[-6967,4611],[3927,-4963],[2892,-3477],[452,-2011],[-7532,2299],[-5962,3343],[-3366,2806],[970,1624],[-4145,2960],[-4045,2794],[45,-1670],[-8032,-919],[-2350,1978],[1829,4240],[5220,102],[5718,736],[-928,2056],[969,2873],[3594,5609],[-764,2547],[-1071,1973],[-4254,2794],[-5628,1958],[1779,1458],[-2940,3580],[-2448,328],[-2191,1961],[-1487,-1700],[-5036,-740],[-10109,1286],[-5876,1690],[-4504,868],[-2311,2023],[2905,2627],[-3946,25],[-880,5831],[2135,5151],[2856,2352],[7173,1531],[-2045,-3722],[2189,-3590],[2567,4643],[7040,2365],[4766,-5957],[-414,-3770],[5495,1671]],[[237490,945231],[5788,-201],[5306,-1401],[-4151,-5128],[-3312,-1119],[-2980,-4304],[-3169,215],[-1733,5058],[43,2863],[1452,2448],[2756,1569]],[[158736,956643],[4715,4307],[5705,3730],[4260,-80],[3810,847],[-381,-4425],[-2140,-1998],[-2595,-281],[-5164,-2465],[-4446,-882],[-3764,1247]],[[131361,829507],[2667,461],[-832,-6539],[2418,-4631],[-1108,11],[-1674,2634],[-1027,2651],[-1401,1793],[-514,2532],[165,1837],[1306,-749]],[[206966,974985],[5452,-784],[7512,-2102],[2125,-2739],[1081,-2403],[-4536,642],[-4572,1867],[-6184,214],[2682,1711],[-3358,1387],[-202,2207]],[[156917,797661],[-1397,-802],[-4562,2616],[-833,2044],[-2486,2016],[-500,1641],[-2860,1036],[-1070,3134],[240,1333],[2916,-1256],[1704,-873],[2611,-610],[945,-1987],[1373,-2734],[2773,-2377],[1146,-3181]],[[162395,947039],[3967,-1195],[7094,-320],[2698,-1669],[2982,-2423],[-3492,-1453],[-6811,-4048],[-3444,-4031],[0,-2513],[-7312,-2776],[-1466,2524],[-6414,3045],[1192,2439],[1924,4206],[2409,3786],[-2716,3529],[9389,899]],[[200501,955082],[2474,964],[2911,-250],[489,-2822],[-1690,-2731],[-9407,-894],[-7009,-2494],[-4224,-130],[-354,1877],[5769,2547],[-12550,-686],[-3884,1029],[3790,5626],[2615,1611],[7817,-1943],[4935,-3410],[4853,-438],[-3973,5509],[2545,2098],[2868,-667],[937,-2745],[1088,-2051]],[[204104,939133],[3111,-2323],[1744,-5611],[861,-4062],[4665,-2852],[5013,-2726],[-302,-2533],[-4561,-464],[1772,-2213],[-936,-2113],[-5027,905],[-4778,1555],[-3229,-350],[-5215,-1953],[-7039,-864],[-4942,-544],[-1505,2718],[-3792,1569],[-2466,-644],[-3423,4560],[1848,614],[4288,983],[3916,-259],[3626,1002],[-5372,1346],[-5936,-458],[-3939,116],[-1465,2122],[6442,2304],[-4285,-81],[-4850,1517],[2331,4315],[1934,2293],[7437,3505],[2839,-1112],[-1387,-2700],[6182,1743],[3863,-2908],[3138,2941],[2539,-1887],[2273,-5658],[1395,2387],[-1973,5898],[2444,843],[2761,-921]],[[221004,937001],[-3060,3767],[3288,2787],[3313,-1212],[4955,729],[722,-1670],[-2593,-2761],[4204,-2480],[-500,-5183],[-4555,-2229],[-2675,481],[-1922,2199],[-6903,4444],[55,1843],[5671,-715]],[[203889,942150],[3722,231],[2111,-1267],[-2444,-3801],[-4334,4031],[945,806]],[[226389,960118],[2123,-2669],[87,-2955],[-1266,-4281],[-4580,-591],[-2986,921],[58,3360],[-4553,-443],[-176,4450],[2988,-180],[4184,1964],[3907,-333],[214,757]],[[233287,982476],[1925,1756],[2848,403],[-1214,1320],[6460,293],[3547,-3075],[4675,-1233],[4555,-1090],[2195,-3801],[3349,-1861],[-3815,-1713],[-5133,-4331],[-4914,-414],[-5756,737],[-2985,2347],[43,2089],[2196,1534],[-5080,-44],[-3061,1915],[-1760,2608],[1925,2560]],[[245591,989916],[4131,1098],[3244,188],[5450,933],[4084,2146],[3444,-301],[3000,-1612],[2111,3110],[3667,921],[4981,637],[8491,239],[1476,-622],[8020,974],[6016,-365],[6016,-366],[7424,-451],[5965,-737],[5083,-1563],[-122,-1537],[-6778,-2499],[-6720,-1166],[-2512,-1289],[6048,29],[-6555,-3493],[-4527,-1631],[-4751,-4704],[-5730,-955],[-1770,-1174],[-8410,-617],[3829,-722],[-1920,-1029],[2297,-2840],[-2639,-1975],[-4291,-1630],[-1317,-2254],[-3880,-1721],[388,-1303],[4747,223],[60,-1406],[-7423,-3455],[-7258,1589],[-8160,-892],[-4134,696],[-5251,302],[-349,2763],[5135,1303],[-1368,4156],[1695,404],[7426,-2485],[-3788,3693],[-4505,1105],[2250,2228],[4926,1371],[788,2008],[-3923,2250],[-1179,2967],[7592,-248],[2194,-624],[4335,2099],[-6255,665],[-9720,-367],[-4910,1955],[-2315,2328],[-3244,1688],[-609,1965]],[[291066,906700],[-1805,-1701],[-3114,-288],[-693,2818],[1180,3227],[2546,799],[2168,-1595],[31,-2466],[-313,-794]],[[232618,918482],[1694,-2202],[-1728,-2020],[-3744,1745],[-2262,-629],[-3793,2587],[2444,1786],[1942,2496],[2947,-1633],[1667,-1036],[833,-1094]],[[320780,805510],[961,485],[3652,-1445],[2841,-2406],[81,-1057],[-1352,-103],[-3600,1806],[-2583,2720]],[[322181,789172],[973,-2799],[2014,-772],[2576,157],[-1366,-2360],[-1029,-375],[-3524,2444],[-694,1928],[1050,1777]],[[313507,778239],[480,-1888],[-2967,-2790],[-2854,-1988],[-2933,-1704],[-1471,-3420],[-470,-1296],[-28,-3053],[916,-3053],[1153,-144],[-292,2102],[834,-1279],[-223,-1645],[-1875,-934],[-1334,112],[-2054,-1005],[-1209,-288],[-1615,-284],[-2315,-1667],[4080,1084],[822,-1091],[-3888,-1727],[-1770,-12],[83,707],[-846,-1597],[817,-264],[-599,-4137],[-2022,-4432],[-206,1479],[-610,299],[-911,1440],[577,-3101],[690,-1025],[42,-2176],[-891,-2238],[-1563,-4599],[-253,229],[859,3918],[-1419,2201],[-326,4785],[-535,-2491],[593,-3653],[-1835,903],[1912,-1855],[119,-5480],[797,-398],[288,-1992],[391,-5762],[-1766,-4274],[-2874,-1708],[-1826,-3378],[-1387,-369],[-1406,-2116],[-397,-1932],[-3050,-3738],[-1565,-2742],[-1309,-3414],[-429,-4091],[491,-4000],[927,-4926],[1235,-4077],[15,-2488],[1315,-6681],[-87,-3883],[-121,-2240],[-693,-3516],[-830,-727],[-1367,699],[-439,2526],[-1055,1325],[-1473,4952],[-1292,4406],[-417,2253],[570,3823],[-777,3167],[-2166,4818],[-1084,883],[-2803,-2613],[-497,287],[-1348,2687],[-1741,1424],[-3140,-723],[-2465,636],[-2119,-396],[-1148,-899],[500,-1530],[-45,-2336],[590,-1138],[-529,-757],[-1031,850],[-1043,-1093],[-2015,179],[-2074,3044],[-2423,-718],[-2020,1333],[-1728,-404],[-2338,-1346],[-2529,-4269],[-2760,-2483],[-1517,-2750],[-638,-2591],[-28,-3974],[139,-2764],[527,-1958]],[[230166,667280],[-1083,-173],[-1972,1267],[-2167,1785],[-778,2707],[-611,4031],[-1639,3283],[-960,3375],[-1394,3942],[-1958,2296],[-2271,-111],[-1750,-4550],[-2305,1728],[-1436,1739],[-692,3166],[-921,3008],[-1650,2533],[-1421,1820],[-1013,2042],[-4812,2],[-5,-2376],[-2203,-2],[-5524,-42],[-6337,4057],[-4195,2800],[260,1126],[-3527,-625],[-3157,-443]],[[174645,705665],[-467,2942],[-1800,3311],[-1297,689],[-303,1652],[-1559,290],[-994,1557],[-2580,568],[-709,930],[-337,3158],[-2695,5785],[-2314,8006],[99,1334],[-1226,1903],[-2150,4825],[-383,4696],[-1480,3145],[609,4773],[-97,4939],[-887,4414],[1086,5427],[337,5226],[338,5226],[-502,7725],[-878,4926],[-810,2674],[337,1124],[4017,-1956],[1479,-5437],[688,1521],[-445,4722],[-944,4722]],[[68327,633935],[494,-500],[450,-771],[708,-2018],[-66,-319],[-1086,-1230],[-888,-900],[-406,-963],[-690,824],[79,1610],[-459,2097],[138,640],[482,939],[-192,1133],[161,537],[212,-107],[1063,-972]],[[66679,637875],[-233,-691],[-931,-412],[-478,1212],[-319,469],[-25,359],[272,494],[987,-547],[727,-884]],[[64560,640253],[-86,-623],[-1489,167],[209,702],[1366,-246]],[[61041,643363],[232,-370],[802,-1904],[-150,-332],[-199,74],[-967,202],[-353,1306],[-108,230],[743,794]],[[57317,646231],[58,-1342],[-330,-570],[-935,1050],[143,420],[424,564],[640,-122]],[[37589,866042],[2204,-521],[265,-2210],[-1705,-895],[-1821,1076],[-1686,1565],[2743,985]],[[74365,852133],[1844,-389],[1177,-1787],[-2404,-2737],[-2774,-2195],[-1420,1487],[-430,2697],[2523,2047],[1484,877]],[[137400,833900],[-1527,2166],[-2449,1836],[-785,5023],[-3581,4658],[-1497,5438],[-2667,372],[-4417,141],[-3255,1658],[-5744,5976],[-2659,1093],[-4859,2055],[-3846,-491],[-5463,2646],[-3302,2453],[-3083,-1218],[573,-4001],[-1536,-369],[-3214,-1201],[-2445,-1944],[-3079,-1223],[-397,3393],[1249,5649],[2953,1772],[-762,1445],[-3541,-3209],[-1896,-3833],[-4002,-4097],[2032,-2796],[-2625,-4137],[-2986,-2410],[-2780,-1757],[-688,-2550],[-4337,-2974],[-878,-2703],[-3250,-2462],[-1906,443],[-2593,-1606],[-2819,-1961],[-2310,-1926],[-4767,-1645],[-435,968],[3039,2691],[2717,1777],[2961,3150],[3446,651],[1370,2361],[3850,3447],[620,1153],[2051,2034],[479,4367],[1413,3401],[-3203,-1746],[-896,991],[-1504,-2094],[-1814,2921],[-749,-2067],[-1038,2872],[-2777,-2306],[-1706,5],[-239,3428],[502,2112],[-1788,2051],[-3612,-1104],[-2344,2703],[-1901,1382],[-12,3262],[-2140,2454],[1074,3311],[2265,3214],[991,2956],[2248,421],[1905,-921],[2241,2778],[2017,-496],[2117,1787],[-517,2630],[-1554,1037],[2056,2222],[-1706,-66],[-2948,-1254],[-846,-1272],[-2191,1270],[-3929,-646],[-4068,1381],[-1165,2316],[-3516,3347],[3904,2409],[6196,2812],[2284,0],[-378,-2876],[5863,224],[-2255,3567],[-3417,2193],[-1976,2879],[-2665,2456],[-3817,1821],[1555,3018],[4928,187],[3506,2624],[661,2804],[2838,2737],[2706,659],[5265,2556],[2554,-385],[4275,3070],[4203,-1210],[2010,-2599],[1234,1115],[4694,-346],[-166,-1324],[4250,-979],[2833,576],[5852,-1820],[5342,-541],[2139,-749],[3696,936],[4214,-1731],[3018,-806]],[[22968,885613],[1714,-1096],[1732,592],[2246,-1520],[2758,-769],[-229,-627],[-2104,-1219],[-2114,1252],[-1058,1045],[-2449,-334],[-662,507],[166,2169]],[[742666,801720],[-2115,-3834],[-2307,-538],[-132,-5775],[-1545,-2603],[-5511,1895],[-2004,-10310],[-1422,-1282],[-5503,-2301],[2501,-10004],[-1906,-1499],[222,-3283]],[[722944,762186],[-1712,845],[-1393,2069],[-4122,603],[-4606,157],[-1009,-634],[-3956,2421],[-1576,-1192],[-432,-3400],[-4570,1984],[-1829,-813],[-622,-2523]],[[697117,761703],[-1593,-1064],[-3664,-4015],[-1215,-4121],[-1035,-36],[-761,2728],[-3533,186],[-565,4718],[-1353,40],[207,5777],[-3326,4206],[-4764,-449],[-3257,-839],[-2652,5191],[-2273,2178],[-4306,4123],[-519,500],[-7151,-3403],[110,-21234]],[[655467,756189],[-1425,-281],[-1944,4516],[-1878,1613],[-3153,-1198],[-1227,-1917]],[[645840,758922],[-156,1405],[682,2400],[-529,2006],[-3220,1962],[-1253,5172],[-1534,1457],[-93,1876],[2703,-547],[106,4211],[2363,935],[2426,-860],[500,5618],[-495,3561],[-2779,-278],[-2362,1405],[-3216,-2532],[-2592,-1208]],[[636391,785505],[-1410,932],[282,2963],[-1771,3848],[-2061,-161],[-2358,3906],[1603,4365],[-811,1175],[2216,6327],[2857,-3340],[346,4206],[5734,6264],[4339,149],[6123,-3988],[3289,-2329],[2947,2429],[4404,116],[3552,-2985],[807,1709],[3902,-248],[696,2727],[-4501,3961],[2666,2805],[-520,1569],[2666,1498],[-2005,3944],[1274,1966],[10394,2004],[1356,1422],[6951,2126],[2497,2389],[4992,-1241],[875,-5969],[2900,1402],[3568,-1964],[-230,-3143],[2664,328],[6962,5435],[-1017,-1806],[3544,-4449],[6207,-14626],[1481,3015],[3826,-3317],[3992,1479],[1533,-1036],[1337,-3327],[1942,-1118],[1183,-2445],[3578,771],[1474,-3523]],[[697117,761703],[825,-567],[-2332,-3730],[2050,-2168],[1979,1436],[3292,-3034],[-3557,-4148],[-2113,568]],[[697261,750060],[-1147,-149],[-398,1601],[579,2670],[-3714,-1338],[-883,-3695],[-1320,-3183],[-2319,271],[-720,-2536],[2038,-1374],[600,-4288],[-1561,-5828]],[[688416,732211],[-2095,1216],[-1548,38]],[[684773,733465],[77,3524],[-3695,2465],[-2905,2820],[-1812,2712],[-3177,3977],[-1365,5937],[-932,1045],[-3004,-265],[-1062,1180],[-297,4595],[-3743,3043],[-2341,-3346],[-2373,-1984],[456,-2900],[-3133,-79]],[[891666,503324],[4820,-3968],[5135,-3295],[1915,-2951],[1546,-2895],[422,-3393],[4629,-3559],[675,-3054],[-2556,-620],[613,-3838],[2480,-3778],[1804,-6108],[1591,192],[-111,-2551],[2144,-979],[-833,-1086],[2952,-2423],[-308,-1665],[-1839,-401],[-684,1492],[-2387,647],[-2805,867],[-2160,3674],[-1577,3167],[-1443,5040],[-3623,2518],[-2353,-1642],[-1696,-1902],[354,-4247],[-2182,-1980],[-1556,963],[-2873,240]],[[891760,465789],[-47,18768],[-47,18767]],[[923999,497221],[1056,-1843],[333,-2995],[-869,-1534],[-524,3399],[-646,2225],[-1258,1887],[-1580,2457],[-2006,1693],[772,1391],[1500,-1613],[944,-1267],[1167,-1382],[1111,-2418]],[[920281,484662],[-1520,-1400],[-1425,-1347],[-1476,7],[-2277,1673],[-1587,1606],[230,1782],[2491,-841],[1520,450],[418,2761],[399,143],[270,-3057],[1585,439],[784,1971],[1550,2054],[-305,3393],[1663,110],[561,-946],[-55,-3194],[-933,-3516],[-1455,-473],[-438,-1615]],[[929888,487546],[841,-1306],[1347,-3651],[1312,-1954],[-389,-1613],[-778,-575],[-1203,2211],[-1216,3658],[-597,4386],[384,557],[299,-1713]],[[891760,465789],[-2474,4727],[-2821,1158],[-684,-1641],[-3519,-177],[1179,4687],[1749,1599],[-724,6262],[-1334,4834],[-5385,4877],[-2291,481],[-4171,5322],[-820,-2798],[-1066,-508],[-631,2112],[-8,2502],[-2123,2829],[2992,2074],[1981,-112],[-233,1528],[-4066,11],[-1100,3429],[-2482,1063],[-1176,2850],[3745,1395],[1424,1877],[4459,-2365],[439,-2141],[775,-9313],[2875,-3448],[2322,6109],[3187,3476],[2469,4],[2376,-2007],[2060,-2060],[2982,-1101]],[[847134,467086],[282,-1136],[51,-1746]],[[847467,464204],[-1812,-4301],[-2378,-1267],[-333,691],[250,1958],[1194,3513],[2746,2288]],[[872805,478589],[-270,4335],[493,2070],[581,1947],[632,-1685],[-7,-2746],[-1429,-3921]],[[827449,542126],[-1580,-5201],[2042,-5453],[-480,-2649],[3115,-5329],[-3292,-680],[-926,-3926],[120,-5219],[-2671,-3938],[-73,-5735],[-1071,-8807],[-409,2049],[-3156,-2592],[-1100,3521],[-1981,325],[-1385,1845],[-3302,-2071],[-1014,2787],[-1819,-316],[-2290,664],[-425,7724],[-1386,1601],[-1334,4926],[-387,5038],[324,5336],[1650,3827]],[[804619,529853],[464,-3849],[1900,-3254],[1792,1171],[1773,-415],[1619,2913],[1332,504],[2628,-1613],[2265,1227],[1424,8009],[1070,2003],[962,6550],[3193,-3],[2408,-970]],[[859363,502161],[3057,-1680],[1009,-4404],[-2345,2374],[-2320,482],[-1569,-380],[-1921,203],[658,3166],[3431,239]],[[852429,496466],[-1919,1058],[-541,2476],[2810,277],[690,-1899],[-1040,-1912]],[[855367,530821],[199,-3145],[1640,-505],[261,-2352],[-146,-5032],[-1432,563],[-423,-3504],[1144,-3040],[-777,-691],[-1121,3648],[-825,7361],[558,4601],[922,2096]],[[841465,523338],[3194,241],[2746,4182],[484,-1286],[-2231,-5713],[-2088,-1107],[-2673,1126],[-4629,-288],[-2427,-829],[-395,-4359],[2486,-5121],[1500,2609],[5180,1959],[-228,-2652],[-1211,837],[-1206,-3374],[-2445,-2233],[2629,-7380],[-508,-1978],[2498,-6647],[-24,-3783],[-1483,-1693],[-1089,2025],[1342,4715],[-2726,-2229],[-691,1594],[360,2223],[-2003,3377],[207,5612],[-1853,-1751],[235,-6714],[113,-8239],[-1762,-836],[-1193,1690],[796,5301],[-430,5557],[-1168,43],[-862,3945],[1147,3771],[396,4572],[1396,8681],[583,2374],[2361,4278],[2170,-1701],[3502,-799]],[[834152,459220],[-3687,4035],[2591,1132],[1459,-1754],[972,-1749],[-167,-1554],[-1168,-110]],[[837059,469136],[1850,438],[2489,2110],[-407,-3199],[-4174,-1635],[-3695,710],[-9,2105],[2206,1197],[1740,-1726]],[[828501,470140],[1716,471],[689,-2449],[-3211,-1156],[-1924,-773],[-1494,45],[955,3316],[1523,46],[744,2036],[1002,-1536]],[[801352,481315],[379,-2049],[5322,-574],[612,2374],[5153,-2769],[1011,-3733],[4167,-1050],[3407,-3422],[-3169,-2195],[-3055,2320],[-2514,-156],[-2882,426],[-2600,1034],[-3218,2199],[-2039,571],[-1155,-720],[-5066,2371],[-482,2476],[-2542,424],[1906,5502],[3371,-340],[2241,-2250],[1153,-439]],[[789916,512050],[471,-4017],[967,-3213],[2040,-509],[1351,-3645],[-697,-7163],[-111,-8908],[-3076,-121],[-2339,4815],[-3567,4705],[-1189,3491],[-2103,4689],[-1379,4317],[-2113,8062],[-2439,4800],[-816,4951],[-1024,4495],[-2505,3626],[-1452,4928],[-2091,3225],[-2898,6346],[-244,2931],[1789,-232],[4300,-1112],[2456,-5632],[2148,-3905],[1532,-2396],[2632,-6190],[2824,-90],[2334,-3945],[1607,-4822],[2115,-2631],[-1113,-4702],[1592,-2000],[998,-148]],[[309350,215172],[1066,-2670],[1389,-4319],[3611,-3455],[3889,-1440],[-1250,-2879],[-2639,-288],[-1416,2034]],[[314000,202155],[-1674,154],[-2975,3],[-1,12860]],[[339930,344286],[-694,-4608],[-743,-5920],[27,-5736],[-603,-1282],[-215,-3722]],[[337702,323018],[-190,-3006],[3527,-4933],[-379,-3970],[1736,-2509],[-142,-2813],[-2669,-7385],[-4118,-3089],[-5571,-1199],[-3052,580],[584,-3434],[-569,-4311],[513,-2904],[-1666,-2026],[-2847,-795],[-2671,2097],[-1072,-1507],[388,-5722],[1875,-1734],[1521,1816],[827,-2991],[-2557,-1788],[-2231,-3581],[-408,-5793],[-657,-3084],[-2624,-16],[-2178,-2950],[-796,-4319],[2732,-4216],[2655,-1165],[-955,-5166],[-3281,-3249],[-1805,-6751],[-2535,-2272],[-1139,-2697],[897,-5981],[1849,-3334],[-1171,291]],[[309523,217112],[-2574,903],[-6713,770],[-1151,3358],[54,4313],[-1850,-371],[-978,2088],[-243,6107],[2131,2533],[881,3653],[-323,2912],[1473,4916],[1014,7626],[-298,3380],[1213,1091],[-298,2170],[-1288,1154],[915,2416],[-1253,2183],[-649,6644],[1117,1172],[-469,7020],[652,5898],[743,5138],[1663,2090],[-844,5622],[-9,5291],[2103,3760],[-65,4811],[1586,5622],[7,5296],[-721,1052],[-1280,9941],[1711,5924],[-262,5577],[992,5234],[1820,5401],[1960,3581],[-831,2260],[580,1854],[-88,9597],[3025,2840],[954,5984],[-338,1442]],[[313592,387365],[2315,5204],[3635,-1403],[1633,-4159],[1083,4632],[3168,-238],[449,-1232]],[[325875,390169],[5106,-9397],[2272,-876],[3394,-4254],[2860,-2251],[399,-2541],[-2735,-8754],[2802,-1567],[3119,-879],[2197,925],[2520,4412],[454,5082]],[[348263,370069],[1375,1103],[1394,-3324],[-57,-4599],[-2338,-3175],[-1866,-2344],[-3135,-5591],[-3706,-7853]],[[314000,202155],[-920,-2329],[-2382,-1789],[-1365,183],[-1645,466],[-2016,1732],[-2910,832],[-3495,3218],[-2837,3096],[-3826,6450],[2290,-1209],[3900,-3847],[3684,-2067],[1433,2641],[901,3942],[2561,2378],[1977,-680]],[[306693,417057],[1362,-3917],[370,-4155],[1457,-2438],[-874,-5572],[1492,-6460],[1088,-7939],[2004,789]],[[309523,217112],[-2471,44],[-1338,-1417],[-2506,-2080],[-448,-5380],[-1176,-133],[-3134,1872],[-3180,4010],[-3456,3296],[-870,3647],[787,3375],[-1397,3830],[-357,9816],[1182,5539],[2934,4450],[-4217,1679],[2646,5089],[945,9565],[3087,-2026],[1452,11930],[-1864,1531],[-868,-7189],[-1752,811],[872,8236],[947,10669],[1277,3936],[-800,5620],[-230,6488],[1171,187],[1704,9300],[1921,9213],[1176,8582],[-640,8628],[829,4751],[-332,7108],[1624,7032],[500,11140],[892,11961],[869,12875],[-203,9426],[-579,8111]],[[304520,412634],[1428,1471],[745,2952]],[[585388,470269],[-1094,586],[-3731,-972],[-745,-688],[-791,-3677],[622,-2539],[-494,-6819],[-344,-5780],[751,-1025],[1942,-2241],[762,1047],[232,-6210],[-2126,48],[-1140,3169],[-1024,2454],[-2129,805],[-623,3018],[-1698,-1818],[-2224,803],[-929,2615],[-1763,531],[-1302,-139],[-160,1790],[-958,145]],[[566422,455372],[-1265,339],[-1720,-862],[-1208,141],[-687,-528],[148,6853],[-926,2137],[-204,3542],[409,3471],[-563,2222],[-51,3624],[-3370,-51],[242,2075],[-1417,-21],[-150,-998],[-1723,-225],[-697,-3356],[-416,-1440],[-1535,813],[-917,-810],[-1837,-466],[-1063,3011],[-639,1863],[-797,3453],[-685,4291],[-8197,77],[-974,-692],[-805,107],[-1147,-774]],[[534228,483168],[-389,1786]],[[533839,484954],[707,609],[87,2510],[454,1481],[1011,1210]],[[536098,490764],[730,-586],[950,2204],[1513,-57],[178,-1630],[1038,-1020],[1634,3609],[1618,2813],[702,1843],[-93,4738],[1207,5594],[1273,2967],[1828,2775],[320,1837],[69,2112],[453,1999],[-146,3264],[346,5103],[543,3593],[832,3079],[165,3478]],[[551258,538479],[250,4016],[1081,2924],[1488,1855],[2285,-1957],[1770,-2125],[2032,-567],[2072,-1124],[830,3478],[382,444],[1266,-578],[3092,2874],[1096,-1218],[900,172],[416,1401],[1033,493],[2089,-606],[1782,-132],[917,611]],[[576039,548440],[1683,-4755],[1247,-698],[743,967],[1285,-379],[1547,1218],[660,-2459],[2445,-3827]],[[585649,538507],[-168,-6734],[1113,-780],[-893,-2045],[-1067,-1529],[-1062,-3003],[-584,-2678],[-157,-4622],[-643,-2201],[-23,-4342]],[[582165,510573],[-799,-1605],[-103,-3427],[-382,-444],[-257,-3150]],[[580624,501947],[699,-2618],[176,-6946]],[[615514,508604],[-1645,4751],[-33,20979],[2428,6532]],[[616264,540866],[759,1816],[1781,106],[2476,4060],[3618,254],[7850,17284]],[[632748,564386],[1937,4807],[1254,3536],[0,3005],[1,5810],[9,2372],[18,94]],[[635967,584010],[887,114],[1280,855],[1473,580],[1315,1971],[1053,16],[63,-1592],[-257,-3350],[11,-3027],[-587,-2080],[-782,-6225],[-1338,-6432],[-1717,-7355],[-2384,-8440],[-2371,-6448],[-3267,-7856],[-2780,-4662],[-4155,-5718],[-2589,-4380],[-3040,-6976],[-641,-3037],[-627,-1364]],[[594176,512827],[-28,6103],[796,2334],[1367,3812],[1011,4197],[-1222,6611],[-325,2890],[-1317,3998]],[[594458,542772],[1709,3440],[1882,3794]],[[598049,550006],[1443,-966],[0,-3232],[949,-1895],[1934,0],[3516,-4891],[878,-58],[650,158],[615,-664],[1853,-453],[821,2400],[2537,2409],[1120,-1947],[1899,-1]],[[615514,508604],[-1946,-2299],[-686,-2403],[-1041,-422],[-394,-4058],[-892,-2323],[-542,-3832],[-1119,-1902]],[[568242,565689],[-2115,2517],[-964,1658],[-178,1790],[451,2397],[-8,2350],[-1602,3600],[-315,2464]],[[563511,582465],[33,1395],[-1020,1698],[-31,3345],[-582,2222],[-976,-333],[280,2115],[719,2400],[-314,2385],[913,1767],[-579,1345],[734,3556],[1269,4241],[2395,-402],[-137,22860]],[[566215,631059],[34,2416],[3195,18],[0,11500]],[[569444,644993],[11167,0],[10777,0],[11018,0]],[[602406,644993],[895,-5650],[-609,-1045],[404,-5929],[1019,-6875],[1059,-1418],[1520,-2128]],[[606694,621948],[-1406,-3287],[-2046,-947],[-874,-1766],[-274,-3827],[-1197,-8462],[295,-2306]],[[601192,601353],[-442,-4946],[-1129,-5672],[-1676,-2854],[-1191,-4399],[-279,-2354],[-1316,-1613],[-822,-6027],[37,-5177]],[[594374,568311],[-32,4490],[-384,114],[47,2867],[-333,1978],[-1431,2274],[-334,4152],[334,4251],[-1288,396],[-190,-1286],[-1669,-296],[667,-1681],[239,-3460],[-1526,-3164],[-1383,-4152],[-1431,-593],[-2337,3361],[-1049,-1186],[-286,-1681],[-1430,-1088],[-96,-1186],[-2766,0],[-381,1186],[-2003,198],[-1001,-989],[-763,495],[-1431,3361],[-477,1582],[-2003,-791],[-763,-2669],[-715,-5141],[-954,-1088],[-853,-627],[1890,-2249]],[[563511,582465],[-1758,-981],[-1410,-2332],[-2008,-6283],[-2614,-2668],[-2683,358],[-783,-530],[275,-2027],[-1448,-2013],[-1180,-2248],[-3497,-2204],[-694,1304],[-460,113],[-512,-1481],[-2297,-433]],[[542442,561040],[435,1560],[-875,3970],[-391,2384],[-1210,977],[-1640,3361],[604,2718],[1266,-579],[783,410],[1552,-56],[-1512,5235],[101,3825],[-185,3821],[-1104,3687]],[[540266,592353],[277,2713],[-1781,133],[6,3704],[-1156,2133],[1199,7586],[3543,5430],[147,7491],[1070,11686],[604,2478],[-1156,1975],[-44,1831],[-1040,1498],[-682,8952]],[[541253,649963],[2804,3148],[11079,-11026],[11079,-11026]],[[300799,631831],[243,-3137],[-213,-2213],[-677,-971],[715,-1729],[-57,-1564]],[[300810,622217],[-1845,978],[-1311,-399],[-1695,416],[-1299,-1076],[-1488,1794],[245,1857],[2556,-800],[2096,-462],[1000,1282],[-1268,2495],[21,2199],[-1753,898],[626,1591],[1694,-255],[2410,-904]],[[300799,631831],[347,981],[2168,-26],[1646,-1483],[732,145],[504,-2043],[1520,115],[-89,-1716],[1235,-208],[1366,-2113],[-1032,-2344],[-1321,1252],[-1275,-241],[-914,274],[-501,-1050],[-1066,-355],[-423,1397],[-918,-827],[-1112,-3943],[-715,915],[-141,1656]],[[996458,927746],[3541,2401],[0,-3936],[-3046,-294],[-495,1829]],[[636391,785505],[-1265,-3415],[-2694,-949],[-2760,-5945],[2524,-5465],[-273,-3879],[3033,-6782]],[[634956,759070],[-1659,-2322],[-476,-1465],[-1229,394],[-1909,3498],[-781,193]],[[628902,759368],[-1746,1335],[-850,2363],[-2591,1205],[-1684,-905],[-487,1071],[-3782,2761],[-4090,932],[-2348,984],[-338,-680]],[[610986,768434],[-3542,4866],[-3169,2173],[-2399,3383],[2021,920],[2305,4817],[-1553,2279],[4094,2350],[-74,1259],[-2493,-928]],[[606176,789553],[88,2558],[1431,1608],[2688,422],[438,1921],[-614,3175],[1128,3016],[-33,1691],[-4094,1874],[-1624,-62],[-1714,2696],[-2131,-912],[-3528,2025],[60,1133],[-988,2497],[-2215,279],[-230,1788],[694,1166],[-1775,3261],[-2880,-557],[-844,289],[-702,-1309],[-1037,232]],[[588294,818344],[0,1],[-683,3687],[-653,1912],[535,538],[2241,-200],[1081,1260],[-800,1535],[-1873,1014],[167,1040],[-1130,1050],[-1742,3771],[595,1553],[-272,2704],[-2715,1373],[-1458,-687],[-394,1429],[-2925,1444]],[[578268,841768],[-893,3399],[-237,2793],[-1338,1326]],[[575800,849286],[1190,1828],[-823,5371],[1976,3318],[-418,1006]],[[577725,860809],[3157,3182],[-2910,2739]],[[577972,866730],[5947,7351],[2580,3327],[1045,2936],[-4112,3946],[1136,3753],[-2501,4286],[1870,4937],[-3230,6555],[2563,4342],[-4254,3838],[405,4032]],[[579421,916033],[2244,530],[4726,2311]],[[586391,918874],[2866,2003],[4563,-3482],[7607,-1370],[10496,-6514],[2132,-2737],[183,-3832],[-3084,-3026],[-4535,-1536],[-12401,4378],[-2040,-732],[4529,-4218],[177,-2672],[182,-5884],[3576,-1756],[2171,-1495],[359,2792],[-1674,2475],[1768,2181],[6715,-3585],[2339,1404],[-1869,4217],[6474,5641],[2563,-332],[2594,-2013],[1618,3958],[-2316,3433],[1360,3444],[-2042,3572],[7770,-1847],[1587,-3226],[-3517,-711],[19,-3204],[2186,-1972],[4292,1249],[679,3673],[5803,2743],[9693,4945],[2096,-283],[-2739,-3495],[3446,-600],[1990,1967],[5206,159],[4125,2387],[3165,-3469],[3157,3814],[-2911,3336],[1445,1901],[8205,-1743],[3845,-1800],[10067,-6579],[1857,3013],[-2823,3045],[-81,1222],[-3348,565],[916,2730],[-1486,4493],[-84,1843],[5126,5215],[1823,5234],[2066,1132],[7354,-1518],[579,-3203],[-2633,-4671],[1728,-1836],[894,-4026],[-631,-7891],[3064,-3530],[-1192,-3844],[-5441,-8180],[3175,-849],[1105,2074],[3056,1478],[738,2850],[2404,2742],[-1619,3274],[1296,3802],[-3037,474],[-668,3203],[2216,5783],[-3607,4696],[4971,3881],[-643,4095],[1386,131],[1459,-3193],[-1096,-5557],[2973,-1052],[-1267,4153],[4649,2264],[5765,305],[5133,-3283],[-2470,4796],[-277,6135],[4830,1162],[6682,-254],[6019,754],[-2257,3011],[3214,3782],[3192,159],[5400,2857],[7335,767],[927,1578],[7294,534],[2273,-1293],[6234,3060],[5103,-95],[766,2485],[2654,2451],[6558,2364],[4764,-1866],[-3783,-1420],[6292,-882],[750,-2846],[2538,1401],[8121,-76],[6262,-2809],[2230,-2158],[-692,-2993],[-3072,-1705],[-7300,-3197],[-2087,-1708],[3445,-807],[4108,-1452],[2501,1089],[1417,-3696],[1220,1496],[4442,910],[8912,-951],[677,-2694],[11613,-857],[159,4399],[5895,-1008],[4434,32],[4486,-3034],[1279,-3686],[-1644,-2411],[3489,-4532],[4369,-2338],[2680,6043],[4456,-2591],[4734,1548],[5377,-1772],[2046,1615],[4543,-807],[-2005,5346],[3667,2495],[25089,-3740],[2364,-3418],[7272,-4401],[11216,1089],[5531,-948],[2312,-2381],[-338,-4212],[3422,-1639],[3718,1179],[4926,151],[5245,-1130],[5264,637],[4839,-5119],[3442,1842],[-2246,3681],[1237,2558],[8862,-1610],[5778,345],[7989,-2749],[3889,-2513],[0,-22943],[-20,-31],[-3571,-2530],[-3600,422],[2505,-3065],[1653,-4745],[1284,-1552],[322,-2382],[-717,-1525],[-5177,1254],[-7764,-4335],[-2470,-671],[-4251,-4046],[-4031,-3535],[-1022,-2617],[-3973,3984],[-7237,-4521],[-1264,2139],[-2676,-2467],[-3715,790],[-895,-3788],[-3333,-5573],[99,-2327],[3164,-1291],[-372,-8384],[-2579,-213],[-1189,-4817],[1155,-2480],[-4857,-2941],[-964,-6576],[-4141,-1404],[-833,-5851],[-4004,-5365],[-1027,3967],[-1189,8402],[-1551,12797],[1336,7987],[2343,3437],[145,2691],[4317,1288],[4962,7251],[4782,5921],[4993,4595],[2233,8118],[-3375,-485],[-1668,-4744],[-7046,-6325],[-2275,7082],[-7172,-1955],[-6951,-9654],[2293,-3531],[-6200,-1504],[-4294,-593],[201,4164],[-4318,874],[-3441,-2829],[-8494,990],[-9137,-1707],[-8998,-11241],[-10645,-13582],[4376,-726],[1366,-3606],[2698,-1280],[1778,2877],[3046,-374],[4011,-6335],[94,-4900],[-2172,-5754],[-234,-6877],[-1253,-9207],[-4187,-8333],[-930,-3984],[-3771,-6706],[-3741,-6648],[-1795,-3403],[-3701,-3379],[-1752,-74],[-1745,2799],[-3728,-4215],[-433,-1916]],[[863277,761437],[-389,1008]],[[862888,762445],[-17,2926],[1419,155],[400,6804],[-732,4932],[2384,2034],[3371,-1019],[1868,5602],[952,6309],[1079,2108],[1460,5182],[-4591,-1698],[-2408,-2272],[-4220,7],[-1125,5411],[-3290,4094],[-4835,1841],[-1028,5641],[-967,3536],[-1041,2478],[-1717,5809],[-2439,2120],[-4158,1715],[-3682,-156],[-3452,-1038],[-2295,-2866],[1525,-1368],[34,-3180],[-1545,-1846],[-2507,-6108],[25,-2534],[-3914,-3639],[-3335,2174]],[[824107,805599],[-3314,-480],[-1455,1930],[-1665,622],[-4069,-4058],[-3657,-954],[-2553,-1427],[-3499,937],[-2576,-59],[-1686,2943],[-2720,2768],[-2784,758],[-3514,-752],[-2625,-1068],[-3947,2422],[-529,4316],[-3266,1480],[-2522,674],[-3112,2381],[-2877,-5969],[1128,-3389],[-2700,-4010],[-4016,1447],[-2772,208],[-1857,2690],[-2898,85],[-2415,1767],[-4225,-2709],[-5301,-4960],[-2928,-998]],[[743753,802194],[-1087,-474]],[[760493,984908],[6009,1300],[5397,-2899],[6396,-5568],[-685,-5178],[-6061,-719],[-7737,1662],[-4610,2198],[-2132,4131],[-3790,1139],[7213,3934]],[[785660,974868],[7040,-3271],[-824,-2340],[-15660,-2222],[5075,7561],[2281,647],[2088,-375]],[[885641,956759],[7335,-252],[10041,-3054],[-2185,-4277],[-10239,160],[-4607,-1361],[-5502,3745],[1492,3959],[3665,1080]],[[911728,952205],[6970,-1508],[-3210,-2276],[-4440,515],[-5162,2273],[664,1865],[5178,-869]],[[888508,940825],[2635,2276],[3473,533],[3947,-2202],[336,-1513],[-4212,-41],[-5693,642],[-486,305]],[[624574,982404],[5423,1049],[4220,69],[568,-1551],[1595,1378],[2619,950],[4120,-1262],[-1075,-878],[-3729,-759],[-2498,-437],[-387,-945],[-3247,-952],[-3009,1365],[1582,1798],[-6182,175]],[[563141,831163],[-5108,-87],[-3421,654]],[[554612,831730],[633,2535],[3833,1867]],[[559078,836132],[2910,-1008],[1227,-914],[-296,-1577],[222,-1470]],[[648633,943013],[6651,5055],[-752,2614],[6214,3040],[9170,3700],[9245,1078],[4758,2135],[5405,748],[1931,-2274],[-1865,-1792],[-9843,-2856],[-8482,-2746],[-8629,-5481],[-4140,-5621],[-4354,-5539],[565,-4783],[5314,-4723],[-1641,-506],[-9077,749],[-737,2557],[-5028,1543],[-406,3111],[2840,1236],[-94,3140],[5509,4911],[-2554,704]],[[896984,827575],[962,-5550],[-71,-5667],[1146,-5811],[2795,-10201],[-4112,1902],[-1709,-8322],[2708,-5902],[-78,-4024],[-2105,3472],[-1821,-4458],[-514,4833],[310,5610],[-317,6214],[643,4354],[123,7701],[-1628,5661],[246,7870],[2567,2650],[-1103,2668],[1236,809],[722,-3809]],[[14088,905328],[-239,-3580],[1874,-1432],[-645,4184],[7541,-859],[5438,-5389],[-2754,-2510],[-4554,-596],[-68,-5627],[-1112,-1198],[-2602,172],[-2117,2008],[-3693,1679],[-621,2498],[-2821,942],[-3159,-747],[-1510,2015],[604,2141],[-3327,-1368],[1253,-2710],[-1576,-2444],[0,22943],[6806,-4397],[7282,-5725]],[[3628,926561],[-3628,-350],[0,3936],[356,242],[2354,-12],[4018,-1648],[-238,-787],[-2862,-1381]],[[592877,783044],[732,1426],[1975,-1235],[893,-227],[361,-1137],[419,-176]],[[597257,781695],[22,-498],[1359,-1389],[2834,345],[-543,-2054],[-3041,-998],[-3771,-3331],[-1544,1171],[612,2706],[-3035,1686],[491,1104],[2659,1914],[-423,693]],[[280611,672578],[1305,461],[1834,-173],[83,-1497],[-3028,-922],[-194,2131]],[[283916,674018],[2195,-2592],[-479,-4093],[-511,738],[45,3010],[-1244,2275],[-6,662]],[[282803,663481],[836,-232],[972,-4780],[15,-3342],[-682,-286],[-706,3318],[-1040,1667],[605,3655]],[[330000,219701],[3333,3455],[2361,-1440],[1667,2304],[2222,-2592],[-833,-2015],[-3750,-1728],[-1250,2016],[-2361,-2592],[-1389,2592]],[[542063,977132],[1055,1968],[4078,200],[3503,-2010],[9144,-4294],[-6990,-2267],[-1543,-4238],[-2437,-1086],[-1323,-4772],[-3347,-224],[-5974,3512],[2519,2046],[-4164,1666],[-5411,4863],[-2161,4509],[7573,2062],[1521,-2016],[3957,81]],[[579421,916033],[1177,4041],[-3564,2290],[-4313,-1952],[-1363,-4222],[-2648,-2548],[-2983,1391],[-3627,-285],[-3087,3045],[-1665,-1521]],[[557348,916272],[-1723,-237],[-407,-3789],[-5236,922],[-735,-3206],[-2667,19],[-1834,-4097],[-2779,-6384],[-4313,-8102],[1012,-1968],[-967,-2282],[-2755,99],[-1804,-5402],[171,-7647],[1775,-2919],[-919,-6770],[-2311,-3948],[-1225,-3318]],[[530631,857243],[-1863,3534],[-5485,-6661],[-3704,-1350],[-3841,2933],[-993,6191],[-879,13291],[2558,3705],[7335,4835],[5484,5943],[5085,8026],[6675,11120],[4652,4334],[7633,7223],[6096,2521],[4570,-306],[4230,4771],[5066,-255],[4987,1148],[8689,-4214],[-3578,-1541],[3043,-3617]],[[576131,979332],[-4119,-3102],[-8056,-678],[-8192,961],[-494,1586],[-3986,101],[-3040,2644],[8578,1608],[4033,-1385],[2809,1725],[7023,-1439],[5444,-2021]],[[568678,966648],[-6205,-2355],[-4901,1337],[1917,1485],[-1679,1841],[5757,1153],[1103,-2161],[4008,-1300]],[[370100,994141],[9326,3439],[9747,-259],[3543,2125],[9817,553],[22188,-723],[17375,-4566],[-5129,-2218],[-10627,-253],[-14952,-562],[1399,-1028],[9833,635],[8367,-1986],[5392,1763],[2310,-2065],[-3049,-3351],[7072,2142],[13487,2234],[8328,-1115],[1560,-2461],[-11324,-4097],[-1569,-1325],[-8878,-996],[6433,-276],[-3249,-4199],[-2237,-3736],[88,-6408],[3335,-3760],[-4339,-238],[-4568,-1822],[5126,-3051],[653,-4894],[-2970,-533],[3598,-4954],[-6170,-413],[3221,-2342],[-911,-2032],[-3916,-891],[-3871,-17],[3480,-3901],[37,-2564],[-5496,2383],[-1430,-1541],[3750,-1440],[3640,-3520],[1053,-4637],[-4951,-1110],[-2142,2220],[-3434,3308],[950,-3908],[-3226,-3028],[7320,-245],[3829,-314],[-7445,-5014],[-7550,-4540],[-8129,-1989],[-3064,-25],[-2873,-2219],[-3864,-6079],[-5975,-4036],[-1919,-238],[-3698,-1414],[-3992,-1345],[-2380,-3562],[-38,-4037],[-1405,-3781],[-4530,-4608],[1119,-4500],[-1249,-4762],[-1423,-5622],[-3914,-351],[-4100,4702],[-5554,29],[-2695,3158],[-1854,5624],[-4813,7162],[-1408,3752],[-379,5173],[-3848,5314],[1001,4244],[-1855,2030],[2747,6730],[4181,2142],[1097,2409],[581,4499],[-3174,-2039],[-1512,-857],[-2495,-821],[-3409,1880],[-185,3912],[1087,3063],[2576,84],[5670,-1532],[-4775,3657],[-2486,1972],[-2766,-810],[-2319,1427],[3102,5366],[-1690,2145],[-2204,3980],[-3344,6107],[-3536,2237],[32,2411],[-7454,3369],[-5897,420],[-7424,-233],[-6778,-423],[-3224,1834],[-4827,3621],[7294,1811],[5591,305],[-11886,1497],[-6261,2351],[382,2237],[10517,2771],[10174,2767],[1074,2095],[-7497,2068],[2421,2296],[9617,4020],[4041,617],[-1157,2588],[6579,1516],[8542,904],[8536,52],[3031,-1793],[7369,3170],[6630,-2154],[3900,-454],[5769,-1873],[-6605,3104],[380,2466]],[[691485,238273],[1792,-1814],[2625,-720],[97,-1094],[-777,-2620],[-4264,-375],[-70,3067],[410,2376],[187,1180]],[[847134,467086],[327,1358],[2391,1295],[1938,195],[868,719],[1052,-714],[-1022,-1560],[-2895,-2521],[-2326,-1654]],[[545402,353729],[1331,2848],[1097,-1577],[468,-2462],[1246,-420],[1747,-1089],[1492,421],[2480,2944],[2,21270]],[[555265,375664],[750,-865],[1647,-5472],[-256,-3509],[620,-2022],[1990,587],[1389,2570],[1315,1733],[680,2758],[1355,1335],[1171,-699],[1327,-1613],[2261,-285],[1776,1341],[281,1796],[489,2756],[1511,461],[835,2163],[925,3838],[2494,4299],[3930,4241]],[[581755,391077],[1131,-63],[1344,-975],[936,691],[1476,-576]],[[586642,390154],[1331,-8105],[722,-4091],[-494,-6421],[237,-2067]],[[588438,369470],[-1402,1054],[-803,-410],[-262,-1677],[-759,-2162],[26,-1991],[1658,-3122],[1626,622],[565,2557]],[[589087,364341],[2107,-48]],[[591194,364293],[-694,-4192],[-328,-4785],[-719,-2599],[-1895,-2908],[-543,-833],[-1177,-2926],[-775,-2959],[-1575,-4126],[-3140,-5942],[-1960,-3454],[-2098,-2621],[-2903,-2234],[-1416,-300],[-359,-1599],[-1688,851],[-1375,-1096],[-3011,1110],[-1682,-702],[-1151,301],[-2864,-2273],[-2372,-912],[-1716,-2177],[-1264,-138],[-1175,2053],[-939,106],[-1196,2571],[-131,-799],[-369,1548],[15,3377],[-902,3859],[896,1049],[-73,4420],[-1819,5390],[-1395,4878],[-5,15],[-1994,7483]],[[580495,351547],[-1213,1774],[-1298,-1175],[-1505,-2253],[-1482,-3647],[2084,-4429],[994,572],[511,1840],[1548,900],[472,1879],[852,2801],[-963,1738]],[[230166,667280],[-1078,-5056],[-485,-4145],[-203,-7715],[-268,-2813],[482,-3141],[861,-2809],[554,-4466],[1844,-4288],[649,-3286],[1086,-2835],[2950,-1528],[1148,-2409],[2436,1609],[2119,582],[2079,1035],[1749,988],[1767,2350],[662,3359],[228,4838],[480,1683],[1881,1508],[2938,1336],[2459,-200],[1685,487],[666,-1221],[-94,-2774],[-1493,-3423],[-660,-3506],[512,-1003],[-416,-2490],[-696,-4493],[-705,1479],[-581,-96]],[[254722,624837],[-528,-76],[-995,-3476],[-504,681],[-337,-265],[22,-847]],[[252380,620854],[-2569,63],[-2593,-10],[-2,-3242],[-1255,-14],[1034,-1922],[1027,-1330],[309,-1248],[450,-349],[-71,-1962],[-3566,-17],[-1337,-4694],[395,-1076],[-322,-1351],[-68,-1677]],[[243812,602025],[-3144,6200],[-1433,1870],[-2268,1502],[-1551,-418],[-2231,-2167],[-1400,-568],[-1962,1518],[-2082,1096],[-2596,2642],[-2082,806],[-3145,2678],[-2324,2752],[-701,1538],[-1555,344],[-2841,1823],[-1157,2627],[-2985,3269],[-1391,3632],[-663,2806],[927,562],[-286,1643],[639,1493],[14,1992],[-937,2586],[-251,2292],[-931,2906],[-2448,5724],[-2793,4499],[-1352,3590],[-2384,2351],[-511,1407],[424,3559],[-1416,1343],[-1640,2799],[-692,4018],[-1495,469],[-1613,3033],[-1301,2801],[-121,1800],[-1494,4343],[-984,4410],[42,2212],[-2009,2285],[-927,-251],[-1586,1586],[-445,-2338],[460,-2764],[270,-4324],[953,-2374],[2061,-3967],[458,-1356],[422,-411],[367,-1978],[494,80],[557,-3715],[844,-1465],[591,-2039],[1746,-2930],[922,-5358],[824,-2522],[772,-2698],[153,-3038],[1339,-190],[1114,-2617],[1008,-2571],[-68,-1031],[-1169,-2116],[-492,28],[-732,3501],[-1818,3282],[-2003,2784],[-1421,1463],[92,4214],[-422,3121],[-1323,1785],[-1910,2569],[-367,-741],[-700,1501],[-1714,1394],[-1637,3343],[203,435],[1144,-327],[1030,2151],[104,2598],[-2138,4109],[-1630,1594],[-1025,3596],[-1030,3776],[-1287,4603],[-1128,5181]],[[339930,344286],[1803,614],[2785,-4454],[1033,169],[2859,-3690],[2179,-3183],[1606,-3918],[-1225,-2732],[769,-3262]],[[351739,323830],[-1202,-3619],[-3137,-3201],[-2051,1152],[-1503,-617],[-2568,2473],[-1884,-185],[-1692,3185]],[[348263,370069],[545,3323],[376,3406],[2,3166],[-1000,1045],[-1042,-931],[-1035,255],[-325,2217],[-258,5277],[-521,1720],[-1876,1559],[-1134,-1128],[-2932,1106],[185,7817],[-822,3202]],[[338426,402103],[869,1190],[-268,3283],[762,2523],[493,4536],[-656,3581],[-1517,1616],[-298,2273],[407,3326],[-5325,238],[-1068,6705],[810,96],[-36,2484],[-542,1681],[-122,3329],[-1613,1708],[-1748,-57],[-1150,1673],[-1877,1141],[-1093,2152],[-3111,950],[-3016,5158],[223,3861],[-342,2214],[296,4316],[-3635,-975],[-1463,-2163],[-2429,-2333],[-620,-1742],[-1430,-126],[-2065,487]],[[306862,455228],[-1567,-992],[-1264,662],[186,8748],[-2280,-3394],[-2451,149],[-1050,3071],[-1844,334],[587,2473],[-1543,3504],[-1156,5186],[732,1053],[-3,2433],[1680,1662],[-277,3114],[709,2004],[201,2687],[3177,3920],[2276,1108],[373,865],[2503,-270]],[[305851,493545],[1248,15790],[66,2498],[-435,3298],[-1232,2101],[14,4184],[1564,949],[556,-596],[94,2205],[-1628,596],[-34,3603],[5412,-128],[919,1985],[771,-1827],[542,-3397],[524,710]],[[314232,525516],[1529,-3046],[2160,373],[538,1763],[2066,1344],[1143,945],[323,2439],[1984,1639],[-150,1210],[-2353,495],[-386,3627],[112,3861],[-1243,1492],[521,530],[2056,-736],[2209,-1440],[802,1361],[1997,894],[3107,2156],[1016,2198],[-368,1625]],[[331295,548246],[1444,254],[647,-1327],[-361,-2528],[954,-873],[637,-2676],[-770,-2029],[-442,-4902],[711,-2912],[201,-2665],[1709,-2702],[1364,-285],[307,1128],[877,249],[1257,1010],[903,1531],[1537,-488],[676,206]],[[342946,529237],[1510,-471],[250,1176],[-466,1145],[278,1668],[1121,-512],[1312,589],[1591,-1220]],[[348542,531612],[1213,-1188],[860,1561],[621,-241],[379,-1621],[1330,412],[1065,2187],[853,4241],[1643,5270]],[[356506,542233],[946,272],[687,-3185],[1558,-10071],[1486,-951],[75,-3975],[-2090,-4741],[864,-1736],[4911,-904],[100,-5772],[2110,3778],[3495,-2069],[4614,-3517],[1355,-3375],[-455,-3188],[3230,1775],[5406,-3046],[4150,224],[4106,-4766],[3548,-6451],[2139,-1661],[2376,-231],[1007,-1817],[942,-7332],[461,-3485],[-1106,-9520],[-1413,-3760],[-3915,-8013],[-1770,-6510],[-2056,-4993],[-695,-112],[-776,-4237],[197,-10791],[-774,-8876],[-295,-3797],[-879,-2272],[-492,-7699],[-2817,-7517],[-472,-5948],[-2248,-2496],[-651,-3452],[-3017,14],[-4370,-2213],[-1957,-2562],[-3111,-1682],[-3269,-4586],[-2351,-5711],[-404,-4300],[462,-3181],[-519,-5817],[-631,-2810],[-1941,-3170],[-3082,-10135],[-2443,-4569],[-1888,-2693],[-1267,-5478],[-1838,-3293]],[[338426,402103],[-47,1775],[-2588,2946],[-2579,82],[-4841,-1676],[-1332,-5068],[-70,-3098],[-1094,-6895]],[[306693,417057],[1752,6216],[-1195,4840],[638,1936],[-498,2135],[1085,2877],[55,4901],[136,4048],[597,1949],[-2401,9269]],[[304520,412634],[-2785,3307],[-241,2363],[-5507,5783],[-4981,6298],[-2143,3550],[-1151,4757],[456,1659],[-2352,7558],[-2739,10625],[-2624,11467],[-1136,2624],[-874,4242],[-2159,3758],[-1979,2332],[899,2570],[-1346,5493],[865,4033],[2214,3637]],[[276937,498690],[329,-2398],[-792,-1371],[75,-2110],[1148,458],[1122,-622],[1166,-2908],[1571,2369],[525,3885],[1702,5011],[3341,2271],[3028,6030],[865,3744],[-387,4373]],[[290630,517422],[740,546],[1847,-2727],[887,-2718],[1286,-1484],[1636,-6038],[2069,-721],[1530,1522],[1003,-996],[1668,495],[2127,-2697],[-1792,-5861],[830,-136],[1390,-3062]],[[290630,517422],[-1190,1364],[-1363,1908],[-789,-916],[-2358,799],[-676,2477],[-518,-92],[-2779,3288]],[[280957,526250],[-377,1788],[1037,432],[-123,2885],[651,2086],[1378,386],[1170,3619],[1063,3021],[-1024,1371],[524,3342],[-626,5269],[595,1512],[-438,4870],[-1125,3068]],[[283662,559899],[356,2799],[895,-414],[524,1712],[-645,3392],[337,842]],[[285129,568230],[1436,-183],[2084,4020],[1143,613],[28,1905],[512,4866],[1593,2673],[1750,109],[221,1200],[2174,-480],[2186,2908],[1082,1287],[1345,2775],[984,-353],[729,-1515],[-540,-1939]],[[301856,586116],[-1784,-965],[-704,-2880],[-1076,-1651],[-807,-2140],[-340,-4109],[-770,-3368],[1434,-386],[356,-2647],[613,-1267],[219,-2319],[-330,-2132],[98,-1201],[684,-481],[661,-2008],[3572,554],[1614,-734],[1955,-4956],[1123,616],[2001,-308],[1583,657],[982,-990],[-500,-3102],[-620,-1933],[-218,-4131],[559,-3826],[790,-1711],[95,-1290],[-1407,-2866],[1008,-1269],[738,-2014],[847,-5743]],[[283662,559899],[-926,1661],[-595,3109],[686,1538],[-704,395],[-518,1902],[-1384,1601],[-1215,-367],[-563,-2003],[-1122,-1447],[-606,-201],[-273,-1198],[1325,-3126],[-758,-736],[-401,-853],[-1293,-294],[-481,3440],[-361,-979],[-916,338],[-561,2317],[-1139,383],[-721,674],[-1192,-9],[-86,-1250],[-319,871]],[[269539,565665],[146,1143],[232,1168],[-108,1042],[415,682],[-577,856],[-16,2318],[1074,514]],[[270705,573388],[997,-2066],[-57,-1220],[1109,-259],[262,469],[763,-1415],[1367,416],[1182,1454],[1687,1162],[948,1721],[1533,-338],[-103,-567],[1549,-196],[1236,-995],[906,-1732],[1045,-1592]],[[269539,565665],[-1507,1278],[-564,1208],[320,1000],[-101,1273],[-770,1378],[-1093,1132],[-957,739],[-182,1684],[-729,1029],[179,-1674],[-554,-1376],[-635,1598],[-893,569],[-379,1160],[15,1754],[368,1814],[-784,811],[636,1113]],[[261909,582155],[419,741],[1830,-1525],[639,750],[881,-480],[460,-1185],[820,-384],[665,1221]],[[267623,581293],[704,-3129],[1074,-2318],[1304,-2458]],[[261909,582155],[-961,1814],[-1298,2323],[-611,1941],[-1171,1810],[-1392,2601],[309,891],[458,-867],[210,407]],[[257453,593075],[864,237],[348,1315],[407,51],[-59,2832],[651,136],[580,-41],[599,1537],[820,-1164],[285,714],[512,685],[969,1586],[46,1185],[267,-50],[356,1376],[291,168],[473,-880],[556,-260],[614,732],[702,4],[964,752],[385,785],[952,-118]],[[269035,604657],[-239,-553],[-141,-1285],[283,-2108],[-640,-1961],[-298,-2318],[-90,-2537],[149,-1485],[70,-2592],[-424,-566],[-260,-2463],[191,-1521],[-568,-1473],[129,-1556],[426,-946]],[[257453,593075],[-479,1802],[-844,500]],[[256130,595377],[193,2307],[-377,624],[-572,410],[-1219,-686],[-103,776],[-839,923],[-598,1149],[-819,485]],[[251796,601365],[577,1462],[-221,1130],[195,1106],[1318,1612],[1265,2197]],[[254930,608872],[289,-225],[609,1012],[795,83],[258,-470],[431,286],[1290,-519],[1284,150],[894,637],[325,645],[886,-298],[664,-391],[727,135],[552,499],[1269,-798],[440,-128],[848,-1076],[803,-1291],[1010,-882],[731,-1584]],[[256130,595377],[-308,-1356],[-1609,86],[-1000,552],[-1149,1145],[-1543,357],[-787,1237]],[[249734,597398],[86,844],[952,1453],[522,637],[-148,678],[650,355]],[[252380,620854],[-21,-4566],[-218,-6499],[829,2]],[[252970,609791],[906,-1042],[239,858],[815,-735]],[[249734,597398],[-1425,1004],[-1733,104],[-1270,1143],[-1494,2376]],[[254722,624837],[10,-845],[527,-27],[-47,-1566],[-449,-2491],[243,-891],[-291,-2060],[175,-551],[-322,-2910],[-546,-1527],[-501,-184],[-551,-1994]],[[301856,586116],[-79,-1361],[-1630,-672],[906,-2613],[-34,-3012],[-1225,-3345],[1051,-4569],[1198,374],[623,4162],[-861,2027],[-140,4360],[3459,2341],[-385,2714],[974,1817],[997,-4047],[1948,-93],[1805,-3212],[109,-1906],[2494,-51],[2967,592],[1591,-2579],[2124,-712],[1559,1799],[32,1450],[3440,348],[3329,80],[-2359,-1701],[949,-2719],[2222,-432],[2106,-2832],[442,-4614],[1448,130],[1088,-1357]],[[334004,566483],[-2200,-3383],[-243,-2100],[951,-2137],[-690,-1079],[-1709,-924],[55,-2660],[-753,-1585],[1880,-4369]],[[334004,566483],[1824,-2119],[1719,-3752],[78,-2965],[1047,-136],[1488,-2810],[1097,-2005]],[[341257,552696],[-444,-5180],[-1686,-1503],[150,-1358],[-513,-2971],[1231,-4182],[890,-7],[364,-3251],[1697,-5007]],[[341257,552696],[3328,-1153],[299,1038],[2246,416],[2986,-1548]],[[350116,551449],[-1446,-4951],[220,-3940],[1090,-3413],[-485,-2478],[-245,-2634],[-708,-2421]],[[350116,551449],[944,-633],[2045,-1363],[2941,-4861],[460,-2359]],[[517184,803153],[1311,-1508],[4002,-1060],[-1404,-3944],[-353,-4103]],[[520740,792538],[-762,-983],[-1266,530],[89,-1464],[-2031,-3236],[-41,-2607],[1326,902],[954,-2525]],[[519009,783155],[-114,-1628],[817,-2162],[-963,-1754],[716,-4456],[1506,-730],[-318,-2500]],[[520653,769925],[-2517,-3254],[-5478,1560],[-4046,-1869],[-318,-3468]],[[508294,762894],[-3220,-746],[-3126,2605],[-1009,-1245],[-5114,2617],[-1107,2239]],[[494718,768364],[1436,3454],[529,11474],[-2866,6043],[-2049,2914],[-4245,2215],[-280,4199],[3601,1253],[4665,-1481],[-880,6518],[2622,-2470],[6467,4491],[834,4719],[2430,1162]],[[506982,812855],[402,-2025],[1291,-95],[1292,-2311],[1938,-2716],[1426,449],[2430,-2625]],[[515761,803532],[621,-500],[802,121]],[[524294,763788],[1789,2199],[472,-4939],[-917,-4448],[-1262,1172],[-643,3876],[561,2140]],[[276937,498690],[1479,4304],[-601,2515],[-1062,-2675],[-1664,2524],[564,1623],[-469,5227],[973,869],[511,3587],[1051,3709],[-193,2350],[1522,1236],[1909,2291]],[[315882,624922],[1420,-507],[500,-1144],[-711,-1452],[-2091,34],[-1623,-203],[-162,2464],[394,842],[2273,-34]],[[284529,624782],[1869,-516],[1476,-1383],[460,-1577],[-1953,-107],[-843,-963],[-1555,924],[-1588,2099],[333,1316],[1168,401],[633,-194]],[[271477,651838],[2399,-411],[2183,-65],[2609,-1962],[1105,-2108],[2595,650],[984,-1353],[2352,-3566],[1730,-2598],[914,79],[1657,-1174],[-203,-1621],[2048,-238],[2100,-2357],[-330,-1349],[-1847,-731],[-1870,-286],[-1913,456],[-3978,-561],[1862,3213],[-1132,1496],[-1790,385],[-960,1662],[-659,3280],[-1569,-225],[-2591,1545],[-833,1208],[-3621,892],[-969,1123],[1041,1439],[-2724,295],[-1996,-2993],[-1151,-80],[-398,-1405],[-1375,-630],[-1189,546],[1467,1779],[602,2078],[1255,1281],[1419,1122],[2103,551],[673,633]],[[581755,391077],[-1770,2602],[-2148,884],[-817,3652],[-7,2032],[-1190,619],[-3144,6326],[-873,3332],[-559,1027],[-1069,4605]],[[570178,416156],[3105,-631],[902,-663],[938,133],[1538,3727],[2416,4737],[994,453],[338,1996],[1582,2294],[2104,789]],[[584095,428991],[179,-2149],[2317,115],[1288,-1216],[598,-1424],[1323,-419],[1443,-1850],[6,-7289],[-542,-3991],[-119,-4304],[447,-1706],[-314,-3390],[-420,-524],[-732,-4153],[-2927,-6537]],[[555265,375664],[0,16808],[2738,200],[82,20514],[2067,190],[4283,2017],[1062,-2374],[1773,2257],[843,12],[1565,1298]],[[569678,416586],[500,-430]],[[545402,353729],[-2064,4350],[-1087,4206],[-613,5606],[-685,4173],[-931,8868],[-62,6889],[-356,3141],[-1081,2374],[-1433,4758],[-1460,6909],[-607,3615],[-2260,5622],[-169,4419]],[[532594,418659],[1337,1095],[1663,981],[1801,-172],[1656,-2604],[420,405],[11260,248],[1925,-2759],[6724,-815],[5106,2347]],[[564486,417385],[2274,1308],[1802,-331],[1096,-1298],[20,-478]],[[453573,596589],[-1146,4484],[-1386,2050],[1222,1094],[1346,4043],[660,2957]],[[454269,611217],[951,1847],[1380,-497],[1356,1255],[1551,63],[1327,-1693],[1844,-1525],[1681,-4237],[1833,-3956]],[[466192,602474],[127,-3582],[548,-3298],[1040,-1618],[237,-2227],[-128,-1794]],[[468016,589955],[-401,-324],[-1514,455],[-209,-641],[-612,-128],[-1997,1404],[-1340,59]],[[461943,590780],[-5134,242],[-744,-649],[-920,186],[-1472,-938]],[[453673,589621],[-455,4414]],[[453218,594035],[2528,-122],[667,807],[498,47],[1030,1330],[1191,-1216],[1207,-102],[1202,1293],[-561,1664],[-916,-970],[-862,27],[-1096,1418],[-881,-93],[-627,-1364],[-3025,-165]],[[466192,602474],[935,1050],[467,3393],[880,132],[1940,-1604],[1567,1139],[1073,-382],[417,1281],[11146,87],[618,4032],[-481,710],[-1341,24854],[-1341,24854],[4252,103]],[[486324,662123],[9370,-12565],[9370,-12565],[660,-2699],[1730,-1647],[1286,-936],[32,-3664],[3081,564]],[[511853,628611],[8,-13263],[-1519,-3847],[-236,-3548],[-2468,-914],[-3790,-495],[-1027,-2046],[-1780,-226]],[[501041,604272],[-1781,-27],[-693,1105],[-1530,-820],[-2596,-2389],[-530,-1800],[-2155,-2581],[-378,-1480],[-1164,-1172],[-1343,776],[-762,-1405],[-407,-3950],[-2205,-4773],[64,-1950],[-757,-2441],[183,-3343]],[[484987,578022],[-1146,-854],[-648,-726],[-430,2463],[-802,-650],[-479,113],[-512,-1681],[-2145,47],[-769,865],[-362,-523]],[[477694,577076],[-848,1660],[147,1715],[-347,672],[-592,-567],[109,1874],[569,1482],[-1138,2413],[-331,1588],[-618,1265],[-556,151],[-667,-806],[-897,-770],[-762,-1247],[-1189,460],[-771,1463],[-461,192],[-725,-768],[-440,-6],[-161,2108]],[[475876,676066],[10448,-13943]],[[454269,611217],[-241,3104],[776,2839],[345,5422],[-307,5691],[-336,2863],[277,2872],[-718,2738],[-1464,2487]],[[507476,554342],[-2295,-672]],[[505181,553670],[-684,3973],[126,13225],[-559,1187],[-106,2826],[-965,2017],[-848,1700],[353,3032]],[[502498,581630],[956,652],[565,2518],[1358,538],[607,1722]],[[505984,587060],[933,1686],[995,15],[2119,-3314]],[[510031,585447],[-109,-1913],[625,-3416],[-547,-2318],[292,-1549],[-1347,-3565],[-856,-1766],[-523,-3632],[70,-3664],[-160,-9282]],[[540266,592353],[-785,-330],[-89,-1833]],[[539392,590190],[-517,-128],[-1879,6305],[-652,229],[-2172,-3219],[-2151,1681],[-1495,336],[-801,-809],[-1629,175],[-1638,-2454],[-1417,-141],[-3362,2977],[-1316,-1414],[-1418,98],[-1042,2175],[-2784,2149],[-2985,-682],[-724,-1246],[-390,-3312],[-797,-2322],[-192,-5141]],[[505984,587060],[63,3944],[-3203,1306],[-86,2787],[-1564,3760],[-373,2623],[220,2792]],[[511853,628611],[3918,2568],[8042,11313],[9518,10976]],[[533331,653468],[4395,-2483],[1562,-3163],[1965,2141]],[[539392,590190],[1100,-2294],[-303,-1040],[-147,-1914],[-2340,-4457],[-734,-3675],[-392,-2993],[-589,-1283],[-561,-4032],[-1485,-2372],[-431,-2914],[-624,-2320],[-259,-2393],[-1909,-1941],[-1559,2367],[-1053,-96],[-1655,-3370],[-804,-52],[-1321,-5556],[-715,-4076]],[[523611,545779],[-2883,-2072],[-1055,302],[-1068,-1290],[-2222,126],[-1487,3602],[-914,4169],[-1967,3794],[-2087,-71],[-2452,3]],[[542442,561040],[-1397,-5836],[-666,-1046],[-215,-4464],[277,-2426],[-224,-1716],[1313,-3007],[237,-2068],[1025,-2972],[1271,-1853],[124,-2626],[293,-1669]],[[544480,531357],[-200,-3110],[-2207,1361],[-2246,1520],[-3506,226]],[[536321,531354],[-346,314],[-1644,-742],[-1688,771],[-1320,-378]],[[531323,531319],[-4520,131]],[[526803,531450],[405,4547],[-1085,3808],[-1268,976],[-564,2581],[-711,826],[31,1591]],[[505181,553670],[-2237,-1229]],[[502944,552441],[-620,2022],[-740,3654],[-221,2864],[614,5187],[-696,2101],[-265,4537],[5,4182],[-1160,2970],[205,1795]],[[500066,581753],[2432,-123]],[[502944,552441],[-4355,-3371],[-1544,-1975],[-2503,-1670],[-2476,1635]],[[492066,547060],[126,2273],[-1205,4961],[725,6503],[1170,4837],[-737,8194]],[[492145,573828],[-379,4335],[66,3268],[4825,271],[1227,-420],[897,930],[1285,-459]],[[484987,578022],[1250,-1256],[485,-1905],[1249,-1216],[972,1449],[1301,219],[1901,-1485]],[[492066,547060],[-1264,-58],[-1938,1126],[-1781,-67],[-3290,-1005],[-1929,-1662],[-2750,-2112],[-537,151]],[[478577,543433],[213,4743],[266,721],[-85,2269],[-1176,2412],[-883,385],[-809,1581],[604,2558],[-278,2784],[128,1675]],[[476557,562561],[441,6],[163,2512],[-214,1112],[265,801],[1032,692],[-686,4610],[-641,2381],[223,1955],[554,446]],[[476557,562561],[-786,147],[-566,-2318],[-785,28],[-541,1226],[184,2313],[-1162,3528],[-725,-648],[-593,-129]],[[471583,566708],[-765,-330],[31,2112],[-446,1506],[90,1675],[-602,2420],[-773,2060],[-2222,6],[-647,-1085],[-766,-131],[-474,-1242],[-320,-1598],[-1485,-2532]],[[463204,569569],[-1219,3408],[-1080,2254],[-711,746],[-694,1145],[-315,2544],[-406,1269],[-808,943]],[[457971,581878],[1235,2807],[843,-107],[724,967],[613,9],[438,763],[-236,1909],[304,602],[51,1952]],[[457971,581878],[-1483,2408],[-1170,381],[-637,1623],[16,876],[-847,1223],[-177,1232]],[[478577,543433],[-728,-51],[-2863,2745],[-2524,4383],[-2366,3151],[-1871,3716]],[[468225,557377],[664,1843],[147,1675],[1254,3125],[1293,2688]],[[468225,557377],[-748,427],[-2000,2320],[-1447,3085],[-486,2104],[-340,4256]],[[551258,538479],[-1787,322],[-1880,967],[-1655,-3052],[-1456,-5359]],[[568242,565689],[1521,-2327],[26,-1872],[1868,-2999],[1157,-2492],[702,-3455],[2076,-2279],[447,-1825]],[[536098,490764],[-1041,1976],[-839,-969],[-1121,-2486]],[[533097,489285],[-2281,6099]],[[530816,495384],[2114,3179],[-1047,3808],[952,1448],[1875,706],[221,2552],[1484,-2766],[2452,-242],[852,2721],[351,3829],[-303,4496],[-1314,3406],[1203,6670],[-694,1144],[-2066,-469],[-777,2976],[202,2512]],[[530816,495384],[-2855,5813],[-1836,4752],[-1687,5949],[89,1913],[607,1842],[675,4192],[560,4270]],[[526369,524115],[937,333],[4041,-59],[-24,6930]],[[526369,524115],[-521,868],[955,6467]],[[590998,465140],[1311,-2569],[706,-4888],[-473,-1561],[-558,-4668],[533,-4772],[-874,-2005],[-843,-5350],[1461,-1491]],[[592261,437836],[-8430,-4747],[264,-4098]],[[564486,417385],[-1813,3597],[-1874,4712],[128,18324],[5784,-73],[-237,1988],[414,2157],[-488,2701],[316,2793],[-294,1788]],[[595999,451956],[-777,-4377],[777,-7486],[965,83],[1002,-1856],[1164,-4165],[236,-7405],[-1203,-1213],[-847,-3996],[-1813,3558],[-206,4060],[585,2677],[-161,2308],[-1097,1457],[-764,-529],[-1599,2764]],[[611990,458883],[449,-2582],[-114,-5737],[343,-5053],[108,-9000],[489,-2821],[-829,-4115],[-1078,-3999],[-1768,-3571],[-2540,-2190],[-3131,-2795],[-3138,-6181],[-1069,-1051],[-1939,-4092],[-1145,-1332],[-234,-4106],[1317,-4361],[548,-3378],[34,-1722],[491,288],[-79,-5649],[-451,-2675],[655,-986],[-413,-2396],[-1161,-2049],[-2292,-1946],[-3340,-3117],[-1219,-2129],[239,-2426],[710,-388],[-239,-3031]],[[589087,364341],[-238,2546],[-411,2583]],[[533839,484954],[-742,4331]],[[532594,418659],[-261,3621],[385,5063],[958,5273],[145,2471],[901,5192],[662,2359],[1596,3768],[891,2563],[292,4266],[-146,3264],[-831,2059],[-739,3494],[-683,3455],[150,1197],[853,2283],[-842,5563],[-569,3856],[-1392,3643],[264,1119]],[[580624,501947],[1687,-453],[851,3279],[1475,-376]],[[599221,706666],[-484,-1815]],[[598737,704851],[-1004,797],[-582,-3835],[698,-646],[-709,-792],[-120,-1517],[1306,781]],[[598326,699639],[65,-2240],[-1384,-9207]],[[597007,688192],[-276,1496],[-1550,8398]],[[595181,698086],[808,1897],[-189,327],[734,2692],[564,4344],[397,1458],[77,60]],[[597572,708864],[929,-11],[256,1009],[745,76]],[[599502,709938],[43,-2357],[-377,-876],[53,-39]],[[597572,708864],[989,4691],[1382,4058],[52,200]],[[599995,717813],[1249,-293],[455,-2259],[-1515,-2170],[-682,-3153]],[[637620,446486],[738,-2450],[687,-3804],[447,-6928],[720,-2694],[-276,-2761],[-491,-1694],[-944,3374],[-522,-1704],[530,-4266],[-247,-2442],[-766,-1330],[-175,-4878],[-1094,-6714],[-1371,-7936],[-1716,-10911],[-1064,-8007],[-1255,-6679],[-2259,-1363],[-2425,-2436],[-1600,1470],[-2205,2060],[-767,3039],[-183,5106],[-978,4591],[-254,4143],[497,4152],[1279,997],[8,1917],[1327,4366],[251,3668],[-645,2726],[-526,3632],[-222,5306],[971,3222],[372,3653],[1384,212],[1550,1181],[1028,1042],[1220,77],[1584,3282],[2286,3546],[833,2897],[-378,2462],[1180,-693],[1531,4002],[51,3463],[920,2576],[969,-2472]],[[598737,704851],[-1,-3522],[-410,-1690]],[[453218,594035],[355,2554]],[[526339,692835],[-1185,10338],[-1713,2324],[-24,1394],[-2271,3431],[-245,4338],[1712,3212],[654,4750],[-440,5490],[564,2955]],[[523391,731067],[3025,2325],[1945,-691],[-82,-2914],[2356,2119],[198,-1106],[-1389,-2822],[-19,-2664],[962,-1430],[-366,-4985],[-1828,-2895],[528,-3139],[1436,-97],[699,-2738],[1057,-901]],[[531913,709129],[-157,-4423],[-1354,-1653],[-856,-1845],[-1907,-2220],[295,-2385],[-240,-2433],[-1355,-1335]],[[475928,677568],[-23,6823],[4486,4250],[2773,878],[2274,1547],[1062,2884],[3248,2279],[120,4264],[1607,502],[1256,2130],[3635,971],[510,2238],[-732,1223],[-960,6080],[-165,3503],[-1047,3688]],[[493972,720828],[2670,3147],[3003,1001],[1754,2376],[2675,1753],[4708,1026],[4595,468],[1401,-856],[2615,2270],[2969,45],[1129,-1340],[1900,349]],[[526339,692835],[898,-5085],[151,-2675],[-489,-4699],[201,-2625],[-353,-3152],[242,-3621],[-1102,-2406],[1642,-4198],[105,-2468],[987,-3211],[1299,1055],[2192,-2675],[1219,-3607]],[[599221,706666],[3095,-2282],[5440,6137]],[[607756,710521],[1120,-7012]],[[608876,703509],[-530,-869],[-5563,-2889],[2769,-5759],[-919,-978],[-457,-1928],[-2120,-798],[-664,-2073],[-1201,-1773],[-3091,916]],[[597100,687358],[-93,834]],[[643276,657924],[494,280],[103,-1579],[2174,908],[2297,-151],[1678,-170],[1902,3894],[2073,3693],[1755,3549]],[[655752,668348],[528,-1963]],[[656280,666385],[377,-4549]],[[656657,661836],[-1418,-22],[-228,-3751],[492,-801],[-1257,-1134],[-8,-2354],[-810,-2383],[-72,-2319]],[[653356,649072],[-560,-1217],[-8350,2903],[-1064,5835],[-106,1331]],[[641139,660857],[-184,4191],[748,3021],[759,619],[840,-1805],[49,-3371],[-603,-3388]],[[642748,660124],[-770,-409],[-839,1142]],[[633262,690925],[580,-2542],[-248,-1314],[895,-4344]],[[634489,682725],[-1965,-149],[-692,2744],[-2475,555]],[[629357,685875],[2039,5529],[1866,-479]],[[607756,710521],[6149,5993],[1050,6963],[-262,4206],[1520,1423],[1424,3594]],[[617637,732700],[1193,895],[3231,-743],[976,-1467],[1331,972]],[[624368,732357],[1800,-6869],[1821,-1729],[210,-3364],[-1398,-1987],[-644,-4494],[1924,-5474],[3404,-3157],[1429,-4376],[-456,-4171],[888,1],[27,-3067],[1537,-3028]],[[634910,690642],[-1648,283]],[[629357,685875],[-5165,460],[-7832,11582],[-4138,4031],[-3346,1561]],[[656657,661836],[1246,-3934],[1550,-2090],[2038,-753],[1645,-1050],[1254,-3301],[748,-1913],[995,-729],[-5,-1285],[-1011,-3432],[-444,-1616],[-1170,-1842],[-1037,-3945],[-1260,302],[-578,-1373],[-446,-2920],[342,-3849],[-262,-708],[-1279,19],[-1735,-2152],[-270,-2806],[-636,-1215],[-1727,46],[-1088,-1450],[14,-2326],[-1344,-1599],[-1533,543],[-1858,-1943],[-1283,-326]],[[647523,614189],[-906,4024],[-2173,9503]],[[644444,627716],[8333,5759],[1852,11518],[-1273,4079]],[[655752,668348],[809,1961],[343,-500],[-262,-2380],[-362,-1044]],[[964490,426779],[1745,-3308],[-916,-758],[-931,2522],[102,1544]],[[963313,428063],[-398,1590],[-57,4413],[1329,-1771],[451,-4642],[-747,723],[-578,-313]],[[784957,588479],[-658,6955],[1779,4788],[3592,1100],[2604,-827]],[[792274,600495],[2292,-2258],[1256,3971],[2463,-2120]],[[798285,600088],[644,-3841],[-343,-6901],[-4669,-4432],[1220,-3488],[-2916,-418],[-2404,-2319]],[[789817,578689],[-2325,840],[-1130,3001],[-1405,5949]],[[784957,588479],[-2493,2644],[-2376,-107],[407,4524],[-2446,-34],[-220,-6334],[-1499,-8411],[-904,-5087],[191,-4168],[1810,-181],[1127,-5256],[499,-4985],[1550,-3298],[1683,-670],[1439,-2989]],[[783725,554127],[-908,-2365],[-1834,-688],[-218,2957],[-2267,2522],[-483,-1027]],[[778015,555526],[-1097,2210],[-475,2852],[-1476,3251],[-1346,2731],[-456,-3385],[-527,3199],[303,3594],[818,5523]],[[773759,575501],[1346,5917],[1526,5369],[-1086,5252],[43,2675],[-317,3215],[-1853,4575],[-663,2889],[959,1065],[1017,5006],[-1138,3801],[-1763,4204],[-1342,5054],[1172,1046],[1266,6226],[1961,258],[1621,2497],[1591,1332]],[[778099,635882],[1203,-1778],[159,-3460],[1877,-264],[-683,-6068],[65,-5162],[2928,3436],[832,-1016],[1627,167],[559,2004],[2101,-396],[2113,-4677],[173,-5684],[2249,-5019],[-124,-4874],[-904,-2596]],[[778099,635882],[592,2120],[2364,3746]],[[781055,641748],[250,-1353],[1481,-157],[-420,6587],[1440,844]],[[783806,647669],[1623,-4547],[1248,-5232],[3419,-45],[1077,-5023],[-1775,-1508],[-797,-2070],[3328,-3445],[2308,-6805],[1751,-5074],[2102,-4007],[700,-4068],[-505,-5757]],[[773759,575501],[-268,4274],[854,4412],[-934,3407],[226,6274],[-1128,2983],[-905,6893],[-502,7275],[-1201,4769],[-1830,-2888],[-3157,-4105],[-1558,513],[-1721,1350],[957,7137],[-579,5392],[-2178,6640],[340,2076],[-1625,738],[-1971,4698]],[[756579,637339],[-182,4633],[970,-872],[56,4130]],[[757423,645230],[1371,1367],[-294,2445],[628,1961],[108,5960],[2171,-1312],[1239,4748],[140,2806],[1533,4831],[-84,3296],[3596,3979],[1985,-1041],[-228,3543],[974,1057],[-210,2183]],[[770352,681053],[1625,428],[928,-3391],[1213,-1373],[81,-4407],[-111,-4750],[-2632,-4809],[-333,-6831],[2933,955],[662,-5301],[1759,-1116],[-809,-4784],[2063,-2161],[1203,-1061],[2038,1677],[83,-2381]],[[783806,647669],[1490,1406],[2216,-29],[2701,664],[2367,3069],[1339,-2160],[2540,-1052],[-440,-3317],[1323,-2340],[2797,-1495]],[[800139,642415],[-3709,-4927],[-2315,-5441],[-610,-3996],[2124,-6070],[2598,-7525],[2521,-3557],[1688,-4625],[1272,-10657],[-375,-10131],[-2317,-3793],[-3181,-3707],[-2266,-4801],[-3464,-5362],[-1008,3693],[781,3901],[-2061,3272]],[[863277,761437],[0,0]],[[863277,761437],[-1056,346],[-1205,-1950],[-830,-1960],[105,-4136],[-1436,-1273],[-494,-1016],[-1047,-1702],[-1850,-947],[-1205,-1547],[-87,-2493],[-324,-636],[1105,-936],[1573,-2526]],[[856526,740661],[-400,-1393],[-1182,-379],[-1963,-279],[-1083,-2599],[-1240,205],[-173,-523]],[[850485,735693],[-1349,1096],[-336,-1082],[-814,-478],[-98,1084],[-719,527],[-747,919],[760,2534],[656,676],[-248,1053],[705,3106],[-182,941],[-1621,628],[-1311,1544]],[[845181,748241],[2262,3693],[3062,3096],[1908,4084],[1319,-1805],[2402,-210],[-434,3038],[4290,2481],[1104,3227],[1794,-3400]],[[856526,740661],[2398,-6795],[688,-3733],[21,-6634],[-1047,-3166],[-2515,-1106],[-2220,-2388],[-2503,-493],[-310,3135],[515,4319],[-1228,5995],[2063,970],[-1903,4928]],[[824107,805599],[-1353,-4342],[-1962,-5754],[715,-2354],[1573,730],[2740,-896],[2135,2125],[2229,-1841],[2517,-4026],[-304,-2046],[-2191,649],[-4035,-764],[-1956,-1639],[-2035,-3806],[-4235,-2231],[-2768,-3058],[-2855,1168],[-1564,521],[-1458,-3713],[887,-2213],[450,-1900],[-1944,-1937],[-1994,-3084],[-3245,-2026],[-4164,-219],[-4487,-1999],[-3234,-3092],[-1230,1790],[-3361,-5],[-4109,3498],[-2742,858],[-3695,-801],[-5733,1291],[-3063,-134],[-1630,3420],[-1265,5309],[-1717,639],[-3356,3589],[-3741,804],[-3301,984],[-1000,2498],[1070,6728],[-1917,4639],[-3962,2162],[-2335,3055],[-729,4018]],[[757423,645230],[-1463,9136],[-767,-19],[-454,-3680],[-1520,2985],[857,3277],[1243,333],[1281,4873],[-1602,984],[-2576,-86],[-2643,790],[-245,4004],[-1326,284],[-2200,2489],[-982,-3907],[2005,-3049],[-1736,-2146],[-617,-2098],[1710,-1543],[-473,-3471],[963,-4330],[432,-4742]],[[747310,645314],[-398,-2103],[-1889,73],[-3425,-1196],[160,-4332],[-1483,-3407],[-3997,-3877],[-3109,-6775],[-2089,-3633],[-2767,-3770],[-5,-2648],[-1385,-1420],[-2502,-2063],[-1297,-304],[-833,-4392],[578,-7491],[148,-4777],[-1177,-5471],[-13,-9784],[-1437,-279],[-1265,-4392],[846,-1898],[-2533,-1633],[-935,-3916],[-1115,-1656],[-2630,5378],[-1286,8064],[-1066,5809],[-973,2724],[-1476,5532],[-689,7202],[-480,3598],[-2527,7909],[-1151,11160],[-830,7370],[10,6975],[-539,5393],[-4043,-3447],[-1957,691],[-3629,6979],[1335,2082],[-820,2260],[-3258,4888]],[[689379,654737],[1850,3842],[6113,-15],[-552,4944],[-1560,2921],[-317,4432],[-1818,2586],[3061,6037],[3226,-438],[2905,6038],[1742,5844],[2696,5779],[-43,4105],[2369,3331],[-2242,2844],[-964,3896],[-985,5046],[1362,2483],[4214,-1405],[3096,856],[2682,4840]],[[716214,722703],[2986,-6750],[-281,-4697],[1105,-2948],[-91,-2940],[-1994,774],[779,-6348],[2730,-3647],[3860,-4026]],[[725308,692121],[-1762,-2613],[-1079,-5387],[2691,-2179],[2619,-2825],[3623,-3231],[3808,-746],[1602,-2929],[2146,-549],[3342,-1342],[2313,96],[318,2279],[-365,3660],[214,2480]],[[744778,678835],[1694,1211],[233,-4535]],[[746705,675511],[60,-1154],[2525,-2186],[1746,901],[2345,-387],[2267,171],[195,3538],[-1131,1838]],[[754712,678232],[2240,720],[2529,4283],[3202,3668],[2330,-1415],[1980,2425],[1302,-3581],[-938,-2419],[2995,-860]],[[756579,637339],[-794,3002],[-160,2933],[-529,2772],[-1160,3353],[-2559,230],[253,-2374],[-872,-3204],[-1182,1167],[-404,-1048],[-787,628],[-1075,516]],[[746705,675511],[1838,4281],[1500,1461],[1985,-1333],[1468,-140],[1216,-1548]],[[725308,692121],[1152,1377],[2227,-1770],[2804,-3752],[1561,-827],[932,-2766],[2159,-1135],[2254,-2529],[3143,-1321],[3238,-563]],[[689379,654737],[-2036,1456],[-829,4139],[-2146,4386],[-5118,-1083],[-4513,-108],[-3912,-807]],[[670825,662720],[1047,6690],[4007,2975],[-230,2652],[-1329,932],[-77,5072],[-2655,2533],[-1118,3478],[-1376,3029]],[[669094,690081],[4655,-2941],[2779,862],[1660,-734],[562,1262],[1935,-506],[3610,2395],[97,4900],[1549,3260],[2068,-10],[303,1611],[2123,751],[1027,-537],[1087,1620],[-154,3458],[1180,3476],[1768,1457],[-1092,3810],[2642,-180],[764,2074],[-116,2212],[1384,2420],[-318,2864],[-657,2440],[1622,2509],[2983,1210],[3187,669],[1413,1063],[1617,646]],[[708772,732142],[2052,-2685],[822,-4425],[4568,-2329]],[[688416,732211],[849,-702],[2011,1850],[935,-1113],[896,2637],[1661,-120],[427,847],[294,2322],[1196,2003],[1504,-1309],[-302,-1760],[840,-274],[-259,-4838],[1100,-1886],[968,1210],[1232,572],[1731,2578],[1913,-424],[2865,-9]],[[708277,733795],[495,-1653]],[[669094,690081],[2520,5221],[-228,3706],[-2103,971],[-218,3656],[-910,4598],[1188,3153],[-1209,850],[763,4191],[1132,7175]],[[670029,723602],[2833,-2185],[2095,768],[580,2610],[2193,868],[1565,1751],[555,4606],[2341,1114],[435,2050],[1310,-1540],[837,-179]],[[697261,750060],[-1017,-1777],[-3024,964],[-263,-3320],[3012,446],[3432,-1870],[5252,874]],[[704653,745377],[704,-5329],[913,580],[1687,-1311],[-97,-2240],[417,-3282]],[[722944,762186],[-391,-1302],[-4377,-3120],[-990,-2285],[-3563,-685],[-1050,-3677],[-2941,772],[-1919,-1126],[-2652,-2721],[383,-1347],[-791,-1318]],[[670029,723602],[-243,4846],[-2071,206],[-3175,5100],[-2218,630],[-3071,2919],[-1976,531],[-1219,-1073],[-1858,167],[-1976,-3292],[-2440,-1114]],[[649782,732522],[-517,4072],[404,6024],[-2167,1949],[713,3943],[-1844,336],[615,4854],[2619,-1413],[2441,1842],[-2024,3457],[-796,3294],[-2236,-1469],[-283,-4220],[-867,3731]],[[624368,732357],[0,1],[-1519,4613],[543,1784],[-867,6604],[1902,1641]],[[624427,747000],[441,-2173],[1403,-2658],[1905,-766]],[[628176,741403],[1006,170]],[[629182,741573],[3276,4248],[1042,426],[820,-1690],[-957,-2850],[1732,-3015],[691,287]],[[635786,738979],[879,-4246],[2634,-1200],[1929,-2889],[3949,-993],[4338,1524],[267,1347]],[[670825,662720],[-5225,1739],[-3029,1323],[-3135,749],[-1185,7061],[-1329,1021],[-2135,-1029],[-2801,-2788],[-3395,1911],[-2804,4425],[-2674,1641],[-1855,5464],[-2050,7678],[-1495,-933],[-1765,1908],[-1038,-2248]],[[599995,717813],[-259,4406],[679,2370]],[[600415,724589],[744,1262],[744,1262],[151,3212],[909,-1120],[3058,1602],[1478,-1084],[2285,18],[3197,2161],[1496,-98],[3160,896]],[[628176,741403],[-1134,3332],[13,888],[-1227,-13],[-823,1545],[-578,-155]],[[624427,747000],[-1094,1681],[-2066,1432],[268,2802],[-472,2027]],[[621063,754942],[3860,898]],[[624923,755840],[575,-1513],[1058,-997],[-559,-1444],[1480,-1975],[-783,-1834],[1179,-1567],[1247,-943],[62,-3994]],[[557348,916272],[3703,-2819],[4336,-3921],[73,-8868],[938,-2241]],[[566398,898423],[-4779,-1631],[-2693,-4018],[434,-3527],[-4419,-4630],[-5364,-4954],[-2023,-8110],[1977,-4057],[2657,-3194],[-2552,-6497],[-2889,-1347],[-1059,-9668],[-1578,-5395],[-3370,556],[-1572,-4567],[-3216,-265],[-883,5444],[-2325,6535],[-2113,8145]],[[588294,818344],[-2385,-341],[-856,-1264],[-178,-2899],[-1105,557],[-2507,-276],[-728,1346],[-1042,-1004],[-1045,832],[-2187,116],[-3101,1382],[-2806,451],[-2151,-127],[-1523,-1561],[-1328,-225]],[[565352,815331],[-53,2564],[-857,2668],[1666,1176],[16,2296],[-770,2190],[-121,2548]],[[565233,828773],[2685,-39],[3016,2169],[644,3251],[2278,1844],[-261,2580]],[[573595,838578],[1689,969],[2984,2221]],[[606176,789553],[-2218,-460],[-1848,-1864],[-2600,-303],[-2393,-2147],[140,-3084]],[[592877,783044],[-382,626],[-4317,1455],[-192,2148],[-2573,-709],[-1031,-3172],[-2151,-4256]],[[582231,779136],[-1260,988],[-1306,-926],[-1239,1061]],[[578426,780259],[699,625],[485,1976],[761,1836],[-197,1031],[581,460],[274,-797],[1637,-169],[735,426],[-518,584],[197,858],[-970,1464],[-402,2408],[-1012,942],[200,1951],[-1255,1550],[-1143,215],[-2047,1795],[-1847,-570],[-662,-849]],[[573942,795995],[-1172,1],[-699,-1347],[-2050,-553],[-948,-884],[-1290,1407],[-1781,22],[-1719,637],[-1199,-1233]],[[563084,794045],[-193,1544],[-1543,1566]],[[561348,797155],[543,2322],[770,1499]],[[562661,800976],[606,-336],[-716,2588],[2522,4790],[1379,670],[297,1616],[-1397,5027]],[[562661,800976],[-2640,2214],[-1999,-814],[-1312,591],[-1641,-1234],[-1401,2041],[-1142,-782],[-157,348]],[[552369,803340],[-1278,2836],[-2065,348],[-264,1803],[-1905,644],[-415,-1487],[-1509,1191],[174,1584],[-2077,501],[-1317,1854]],[[541713,812614],[-1138,3678],[216,1985],[-687,3080],[-1009,2053],[775,1537],[-649,2930]],[[539221,827877],[1898,1692],[4335,2663],[3498,1949],[2772,-973],[209,-1405],[2679,-73]],[[563141,831163],[1425,-616],[667,-1774]],[[547165,795435],[-211,-2354],[-1564,-11],[538,-1248],[-922,-3707]],[[545006,788115],[-530,-972],[-2429,-144],[-1402,-1306],[-2294,446]],[[538351,786139],[-3972,1487],[-621,2003],[-2745,-1001],[-323,-1095],[-1683,819]],[[529007,788352],[-1417,156],[-1257,1049],[425,1409],[-108,1022]],[[526650,791988],[839,318],[1405,-1599],[396,1519],[2450,-245],[1985,1033],[1332,-177],[866,-1179],[259,978],[-393,3753],[998,731],[979,2655]],[[537766,799775],[2064,-1854],[1562,2356],[978,430],[2156,-1757],[1305,299],[1280,-1088]],[[547111,798161],[-223,-731],[277,-1995]],[[563084,794045],[-1696,-1208],[-1315,-3906],[-1679,-3905],[-2227,-1086]],[[556167,783940],[-1734,255],[-2128,-1514]],[[552305,782681],[-1039,-860],[-2294,1107],[-2077,2470],[-882,709]],[[546013,786107],[-540,1944],[-467,64]],[[547165,795435],[1414,-1475],[1024,-628],[2331,706],[224,1156],[1104,171],[1352,894],[301,-368],[1304,719],[651,1355],[911,351],[2975,-1750],[592,589]],[[578426,780259],[-498,2628],[294,2459],[-89,2527],[-1603,3425],[-881,2428],[-860,1707],[-847,562]],[[582231,779136],[64,-1485],[-1347,-1240],[-843,540],[-778,-6948]],[[579327,770003],[-1633,605],[-2021,2093],[-3270,-1338],[-1378,-1469],[-4079,303],[-2135,898],[-1076,-422],[-799,2368]],[[562936,773041],[-509,1004],[644,972],[-685,717],[-872,-1291],[-1620,1673],[-218,2374],[-1692,1355],[-312,1832],[-1505,2263]],[[559078,836132],[-590,4841]],[[558488,840973],[3181,1767],[4659,-370],[2729,570],[389,-1198],[1479,-370],[2670,-2794]],[[558488,840973],[96,4336],[1365,3616],[2618,1967],[2206,-4303],[2228,112],[534,4421]],[[567535,851122],[2366,1018],[1217,-706],[2391,-2137],[2291,-11]],[[567535,851122],[323,3398],[-1022,-726],[-1763,2047],[-241,3308],[3512,1605],[3500,836],[3014,-952],[2867,171]],[[541713,812614],[-1239,-600],[-733,661],[-696,-1096],[-1995,-1115],[-1032,-1435],[-2018,-1254],[486,-1712],[294,-2428],[1418,-1384],[1568,-2476]],[[526650,791988],[-2977,1761],[-570,-1251],[-2363,40]],[[517184,803153],[156,2525],[-554,1301]],[[516786,806979],[315,3891]],[[517101,810870],[-466,6034],[1668,3],[704,2167],[693,5273],[-520,1948]],[[519180,826295],[543,1219],[2322,313],[515,-1270],[1886,2839],[-635,2159],[-128,3266]],[[523683,834821],[2100,-759],[1777,876]],[[527560,834938],[49,-2225],[2807,-1342],[-29,-2044],[2824,1081],[1562,1577],[3136,-2273],[1312,-1835]],[[579327,770003],[-1441,-2386],[-1015,-4119],[897,-3285]],[[577768,760213],[-2392,772],[-2829,-1812]],[[572547,759173],[-31,-2867],[-2524,-544],[-1957,2012],[-2224,-1583],[-2055,167]],[[563756,756358],[-197,3808],[-1391,1849]],[[562168,762015],[456,812],[-301,685],[468,1833],[1058,1800],[-1349,2486],[-249,2103],[685,1307]],[[573027,721586],[-347,-1699],[-4000,-490],[28,951],[-3389,1123],[514,2447],[1518,-1940],[2162,328],[2068,-409],[-68,-1002],[1514,691]],[[572547,759173],[1353,-1524],[-860,-3605],[-660,-645]],[[572380,753399],[-1693,163],[-1449,545],[-3364,-1497],[1925,-3238],[-1411,-938],[-1547,-6],[-1469,2966],[-522,-1264],[621,-3439],[1390,-2703],[-1047,-1262],[1547,-2654],[1375,-1670],[41,-3254],[-2569,1526],[819,-2937],[-1764,-605],[1054,-5082],[-1845,-72],[-2278,2505],[-1042,4607],[-486,3832],[-1083,2647],[-1423,3284],[-188,1640]],[[555972,746493],[1291,2793],[167,1872],[903,835],[55,1513]],[[558388,753506],[1817,510],[1059,1258],[1506,-111],[457,1004],[529,191]],[[600415,724589],[-1021,2612],[1052,2163],[-1694,-491],[-2323,1325],[-1910,-3314],[-4216,-647],[-2249,3090],[-2995,194],[-640,-2389],[-1920,-684],[-2686,3067],[-3033,-104],[-1645,5728],[-2029,3194],[1351,4479],[-1761,2752],[3081,5507],[4278,231],[1167,4376],[5294,-762],[3339,3735],[3237,1628],[4595,123],[4849,-4059],[3985,-2228],[3236,888],[2391,-513],[3279,3006]],[[615427,757496],[2960,274],[2676,-2828]],[[577768,760213],[330,-2214],[2425,-1860],[-506,-1411],[-3298,-318],[-1185,-1781],[-2318,-3101],[-874,2682],[38,1189]],[[555972,746493],[-473,403],[-55,1267],[-1539,1934],[-242,2744],[235,3929],[379,1788],[-467,907]],[[553810,759465],[-187,1833],[1204,2836],[177,-1084],[747,510]],[[555751,763560],[592,-1545],[665,-590],[187,-2087]],[[557195,759338],[-353,-1960],[394,-2470],[1152,-1402]],[[552305,782681],[674,-2231],[883,-1641],[-1070,-2167]],[[552792,776642],[-1256,1275],[-1920,-80],[-2388,956],[-1298,-127],[-602,-1195],[-997,1322],[-581,-2390],[1360,-2693],[602,-1784],[1277,-2152],[1059,-1274],[1048,-2406],[2459,-2180]],[[551555,763914],[-306,-980]],[[551249,762934],[-2611,2131],[-1611,2074],[-2540,1711],[-2336,4239],[560,430],[-1266,2422],[-52,1944],[-1786,908],[-851,-2486],[-820,1928],[62,2000],[99,93]],[[538097,780328],[1936,-197],[508,972],[945,-940],[1090,-111],[-10,1609],[965,590],[270,2326],[2212,1530]],[[529007,788352],[-220,-2361],[-1224,-972],[-2056,722],[-601,-2323],[-1323,-183],[-482,913],[-1557,-1953],[-1339,-274],[-1196,1234]],[[515761,803532],[301,3229],[724,218]],[[506982,812855],[2226,1136]],[[509208,813991],[2033,-452],[2575,1197],[1758,-2521],[1527,-1345]],[[509208,813991],[1431,1583],[2433,8472],[3800,2411],[2308,-162]],[[474903,759483],[1008,1463],[1133,839],[697,-2819],[1640,7],[476,727],[1619,-201],[776,-2889],[-1283,-1559],[-36,-4493],[-451,-843],[-112,-2722],[-1200,-474],[1113,-3452],[-767,-3784],[958,-1712],[-381,-1566],[-1030,-2159],[232,-1907]],[[479295,731939],[-1117,-1494],[-1464,809],[-1434,-634],[425,4507],[-261,3541],[-1243,531],[-664,2183],[221,3770],[1107,2090],[197,2328],[580,3463],[-62,2440],[-555,2068],[-122,1942]],[[474903,759483],[140,4101],[-1135,2498],[3930,4157],[3399,-1039],[3729,36],[2956,-983],[2307,302],[4489,-191]],[[508294,762894],[149,-3345],[-2633,-3836],[-3559,-1217],[-248,-1937],[-1707,-3193],[-1071,-4687],[1084,-3291],[-1607,-2569],[-601,-3744],[-2097,-1147],[-1967,-4429],[-3526,-87],[-2647,109],[-1740,-2034],[-1061,-2176],[-1359,478],[-1029,1945],[-787,3313],[-2593,892]],[[482783,828514],[458,-4114],[-2099,-5143],[-4925,-3403],[-3932,871],[2253,6013],[-1451,5855],[3779,4511],[2100,2690]],[[478966,835794],[572,-3086],[-572,-3086],[1718,79],[2099,-1187]],[[960499,396901],[2278,-3571],[1444,-2648],[-1055,-1383],[-1529,1557],[-1987,2592],[-1790,3051],[-1839,4060],[-384,1953],[1195,-83],[1556,-1957],[1222,-1959],[889,-1612]],[[950330,457929],[776,-1979],[-1940,37],[-1056,3543],[1660,-1393],[560,-208]],[[949110,463013],[-418,-1062],[-2059,4992],[-578,3441],[944,0],[1000,-4607],[1111,-2764]],[[946811,461441],[-1083,-128],[-1703,582],[-581,888],[174,2286],[1834,-906],[904,-1209],[455,-1513]],[[943444,472112],[652,-1828],[118,-1157],[-2177,2442],[-1521,2070],[-1042,1917],[414,587],[1278,-1382],[2278,-2649]],[[936499,477861],[1107,-1878],[-553,-328],[-1215,1312],[-1141,2367],[143,959],[1659,-2432]],[[991349,287563],[-1050,-3103],[-1377,-3943],[-2146,-2296],[-477,1511],[-1158,829],[1601,4738],[-909,3169],[-2989,2304],[78,2086],[2007,2009],[469,4434],[-129,3724],[-1125,3859],[74,1015],[-1327,2377],[-2186,5096],[-1162,4077],[1031,452],[1512,-3199],[2161,-1493],[785,-5131],[2013,-6062],[58,3932],[1254,-1570],[416,-4356],[2235,-1877],[1877,-461],[1587,2197],[1408,-666],[-673,-5110],[-846,-3361],[-2120,119],[-742,-1751],[258,-2477],[-408,-1072]],[[971299,267469],[2380,3015],[1667,2989],[1236,4292],[1052,1457],[413,3215],[1948,2662],[616,-2448],[630,-2379],[1976,2335],[803,-2433],[3,-2424],[-1034,-2667],[-1816,-4244],[-1421,-2316],[1025,-2771],[-2143,-71],[-2377,-2170],[-744,-3769],[-1579,-5827],[-2181,-2574],[-1386,-1644],[-2559,123],[-1799,1899],[-3019,405],[-466,2114],[1493,4272],[3492,5684],[1794,1083],[1996,2192]],[[910247,283289],[1666,-387],[197,-6836],[-952,-1984],[-287,-4633],[-970,1577],[-1929,-4014],[-575,310],[-1708,179],[-1712,4929],[-380,3802],[-1603,5016],[71,2641],[1817,-510],[2684,-1988],[1512,790],[2169,1108]],[[850412,332770],[-2944,-2953],[-2409,-1328],[-535,-3020],[-1026,-2340],[-2357,-140],[-1744,-512],[-2456,1050],[-1997,-628],[-1907,-265],[-1652,-3071],[-810,261],[-1393,-1628],[-1336,-1831],[-2026,226],[-1862,2],[-2947,3678],[-1493,1094],[61,3300],[1379,784],[471,1312],[-98,2068],[339,4004],[-311,3413],[-1468,5821],[-456,3288],[120,3280],[-1106,3749],[-71,1692],[-1230,2294],[-346,4511],[-1588,4559],[-384,2456],[1220,-2490],[-937,5342],[1378,-1669],[822,-2230],[-47,2949],[-1374,4534],[-267,1814],[-644,1723],[302,3331],[569,1418],[379,2881],[-297,3366],[1148,4144],[210,-4386],[1173,3962],[2257,1925],[1353,2456],[2123,2114],[1263,449],[765,-710],[2189,2147],[1684,638],[422,1262],[735,526],[1535,-136],[2920,1686],[1510,2557],[709,3078],[1629,2923],[125,2298],[73,3131],[1944,4894],[1170,-4972],[1182,1149],[-989,2721],[871,2794],[1226,-1248],[337,4382],[1518,2833],[670,2273],[1397,981],[43,1609],[1221,-671],[49,1447],[1221,825],[1343,776],[2052,-2643],[1542,-3411],[1738,-39],[1767,-540],[-589,3162],[1331,4619],[1252,1505],[-433,1438],[1206,3290],[1683,2031],[1421,-684],[2334,1085],[-50,2943],[-2035,1896],[1479,836],[1840,-1427],[1476,-2362],[2339,-1473],[793,582],[1722,-1770],[1623,1649],[1044,-502],[650,1107],[1275,-2849],[-740,-3083],[-1055,-2326],[-954,-192],[322,-2302],[-817,-2878],[-986,-2830],[199,-1626],[2208,-3182],[2139,-1846],[1431,-1983],[2008,-3412],[783,6],[1454,-1475],[422,-1779],[2652,-1953],[1834,1968],[543,3092],[564,2553],[345,3157],[844,4582],[-385,2785],[200,1676],[-321,3296],[364,4338],[533,1170],[-433,1923],[671,3053],[528,3164],[70,1643],[1032,2157],[783,-2817],[193,-3613],[692,-696],[119,-2419],[1010,-2929],[208,-3260],[-98,-2092],[1001,-4519],[1782,2172],[920,-2438],[1333,-2249],[-286,-2552],[593,-4938],[421,-2875],[700,-703],[754,-4922],[-268,-2986],[899,-3905],[3010,-3009],[1963,-2737],[1863,-2506],[-364,-1395],[1589,-3612],[1080,-6231],[1109,1266],[1126,-2496],[679,885],[479,-6103],[1971,-3536],[1290,-2198],[2171,-4662],[780,-4628],[72,-3284],[-192,-3564],[1324,-4894],[-159,-5097],[-481,-2667],[-750,-5137],[57,-3302],[-550,-4128],[-1227,-5238],[-2058,-2830],[-1014,-4461],[-926,-2847],[-824,-4970],[-1072,-2871],[-702,-4309],[-359,-3967],[142,-1821],[-1593,-2001],[-3109,-209],[-2563,-2362],[-1277,-2231],[-1678,-2472],[-2301,2546],[-1702,1015],[431,3002],[-1518,-1089],[-2432,-4171],[-2402,1562],[-1575,911],[-1588,412],[-2689,1666],[-1796,3549],[-515,4373],[-646,2910],[-1365,2336],[-2672,693],[913,2794],[-672,4276],[-1357,-3986],[-2471,-1058],[1452,3186],[421,3323],[1073,2821],[-221,4264],[-2260,-4911],[-1736,-1969],[-1064,-4581],[-2169,2370],[87,3056],[-1739,4176],[-1465,2158],[522,1330],[-3564,3490],[-1952,164],[-2672,2804],[-4973,-545],[-3597,-2062],[-3161,-1922],[-2651,381]],[[727188,561622],[-418,-5996],[-1165,-1640],[-2416,-1317],[-1322,4579],[-492,8277],[1257,9348],[1920,-3199],[1293,-4056],[1343,-5996]],[[804097,623096],[-2278,1785],[-80,4954],[1369,2610],[3035,1613],[1597,-136],[620,-2198],[-1220,-2534],[-643,-3326],[-2400,-2768]],[[845181,748241],[-3883,-1674],[-2045,-2692],[-2991,-1572],[1476,2669],[-581,2242],[2199,3871],[-1467,3018],[-2421,-2033],[-3137,-4005],[-1711,-3718],[-2724,-277],[-1417,-2687],[1464,-3894],[2273,-945],[93,-2585],[2198,-1682],[3113,4112],[2466,-2242],[1796,-154],[450,-3017],[-3932,-1608],[-1298,-3109],[-2701,-2889],[-1426,-4031],[2990,-3165],[1091,-5664],[1690,-5277],[1887,-4424],[-45,-4278],[-1744,-1573],[665,-3071],[1635,-1788],[-427,-4690],[-706,-4564],[-1552,-518],[-2028,-6233],[-2250,-7558],[-2579,-6873],[-3821,-5315],[-3863,-4847],[-3130,-661],[-1698,-2558],[-961,1869],[-1571,-2862],[-3882,-2885],[-2939,-883],[-949,-6082],[-1539,-337],[-729,4179],[658,2228],[-3727,1844],[-1312,-938]],[[838271,658781],[-1673,-9234],[-1190,-4724],[-1464,4863],[-317,4269],[1635,5657],[2223,4359],[1268,-1715],[-482,-3475]],[[538351,786139],[-301,-2837],[665,-2452]],[[538715,780850],[-2211,839],[-2258,-2044],[153,-2858],[-340,-1641],[911,-2932],[2604,-2900],[1397,-4761],[3091,-4641],[2177,36],[677,-1273],[-779,-1148],[2487,-2081],[2040,-1742],[2382,-3003],[287,-1076],[-519,-2062],[-1541,2689],[-2414,947],[-1169,-3725],[2008,-2135],[-330,-3005],[-1160,-341],[-1484,-4939],[-1158,-444],[11,1761],[567,3088],[604,1231],[-1085,3337],[-848,2904],[-1153,718],[-820,2485],[-1785,1047],[-1202,2315],[-2055,373],[-2171,2600],[-2541,3748],[-1889,3317],[-866,5693],[-1382,670],[-2260,1901],[-1279,-778],[-1605,-2673],[-1154,-422]],[[541003,737963],[2109,503],[-1001,-4533],[416,-1784],[-583,-2961],[-2124,2169],[-1413,621],[-3877,2928],[389,2957],[3250,-527],[2834,627]],[[524194,753835],[1389,1786],[1666,-4089],[-390,-7617],[-1263,364],[-1133,-1923],[-1052,1527],[-111,6948],[-634,3293],[1528,-289]],[[523683,834821],[-1127,3196],[-84,5887],[462,1555],[797,1728],[2448,357],[975,1589],[2234,1624],[-94,-2961],[-822,-1876],[333,-1613],[1506,-871],[-679,-2173],[-827,626],[-2000,-4147],[755,-2804]],[[534363,841436],[886,-2888],[-1666,-4664],[-2907,3253],[-388,2390],[4075,1909]],[[478966,835794],[2328,237],[2978,-3560],[-1489,-3957]],[[491406,825848],[4,-1],[409,3343],[-1860,3547],[-43,81],[-3373,1014],[-662,1558],[1010,2574],[-914,1586],[-1495,-2723],[-163,5551],[-1403,2937],[1009,5954],[2158,4671],[2218,-456],[3351,485],[-2969,-6231],[2830,789],[3044,-30],[-724,-4692],[-2497,-5162],[2872,-367],[220,-605],[2474,-6795],[1902,-925],[1709,-6561],[792,-2275],[3365,-1097],[-337,-3683],[-1415,-1689],[1109,-2979],[-2499,-3016],[-3716,53],[-4729,-1583],[-1295,1133],[-1837,-2698],[-2570,654],[-1951,-2199],[-1477,1150],[4074,6048],[2487,1244],[-22,5],[-4338,960],[-786,2291],[2903,1785],[-1522,3102],[528,3772],[4129,-520]],[[459698,901008],[-642,-3726],[3139,-3928],[-3612,-4392],[-8012,-3947],[-2394,-1050],[-3657,848],[-7751,1823],[2735,2545],[-6046,2816],[4918,1117],[-119,1690],[-5830,1340],[1877,3751],[4210,852],[4329,-3907],[4221,3136],[3495,-1628],[4530,3069],[4609,-409]],[[634956,759070],[1461,-3033],[1413,-4085],[1294,-269],[855,-1553],[-2287,-463],[-484,-4473],[-477,-2017],[-1019,-1346],[74,-2852]],[[624923,755840],[680,941],[2070,-1656],[1498,-342],[378,675],[-1368,3116],[721,794]],[[615427,757496],[415,2461],[-694,3928],[-1606,2123],[-1539,662],[-1017,1764]],[[835649,591461],[-1418,4388],[2380,-211],[964,-2074],[-736,-4976],[-1190,2873]],[[840516,575777],[697,1614],[307,3574],[1532,339],[-448,-3878],[2056,5560],[-265,-5494],[-998,-1893],[-870,-3638],[-873,-1706],[-1710,3981],[572,1541]],[[851046,566757],[282,-3826],[164,-3230],[-946,-5270],[-1015,5870],[-1299,-2921],[887,-4243],[-796,-2699],[-3269,3342],[-781,4168],[847,2739],[-1759,2723],[-873,-2388],[-1307,222],[-2055,-3213],[-460,1685],[1090,4854],[1750,1620],[1515,2170],[981,-2607],[2112,1577],[454,2570],[1963,153],[-165,4453],[2252,-2731],[233,-2900],[195,-2118]],[[829179,571950],[-3696,-5465],[1362,4028],[2007,3557],[1668,3984],[1456,5720],[494,-4695],[-1833,-3171],[-1458,-3958]],[[839824,623253],[-452,-2388],[948,-4128],[-731,-4786],[-1638,-1908],[-438,-4643],[622,-4587],[1472,-634],[1229,681],[3470,-3193],[-265,-3135],[906,-1383],[-288,-2654],[-2165,2827],[-1026,3025],[-715,-2114],[-1769,3448],[-2523,-851],[-1382,1272],[141,2381],[868,1465],[-830,1332],[-358,-2076],[-1372,3309],[-415,2508],[-103,5513],[1118,-1895],[288,9010],[905,5218],[1682,-7],[1712,-1644],[856,1500],[253,-1463]],[[838995,584040],[-430,2741],[1667,-1783],[1768,9],[-54,-2406],[-1287,-2445],[-1764,-1730],[-98,2676],[198,2938]],[[848617,588341],[781,-6430],[-2144,1528],[58,-1933],[680,-3554],[-1321,-1290],[-116,4050],[-836,300],[-435,3486],[1635,-459],[-37,2180],[-1697,4397],[2667,-127],[765,-2148]],[[783725,554127],[639,-538],[1640,-3476],[1165,-3856],[160,-3878],[-296,-2620],[270,-1980],[203,-3408],[978,-1587],[1093,-5093],[-53,-1947],[-1970,-384],[-2628,4266],[-3286,4571],[-325,2934],[-1606,3852],[-384,4769],[-1002,3140],[305,4193],[-613,2441]],[[804619,529853],[2036,-1974],[2147,1076],[559,4876],[1185,1086],[3330,1247],[1992,4556],[1365,3642]],[[817233,544362],[1265,-2985],[583,1962],[1328,-182],[162,3677],[125,2837]],[[820696,549671],[2139,4005],[1401,4501],[1123,19],[1427,-2914],[127,-2503],[1830,-1605],[2317,-1733],[-198,-2256],[-1864,-286],[497,-2812],[-2046,-1961]],[[817233,544362],[1099,2154],[2364,3155]],[[538097,780328],[618,522]],[[577972,866730],[-5042,-459],[-4884,-2111],[-4520,-1215],[-1608,3142],[-2690,1890],[618,5674],[-1349,5194],[1325,3354],[2518,3617],[6355,6246],[1855,1204],[-289,2435],[-3863,2722]],[[547111,798161],[394,1267],[1231,-97],[948,595],[75,536],[532,274],[182,1310],[638,250],[430,1037],[828,7]],[[606694,621948],[1613,-6667],[765,-5286],[1523,-2805],[3791,-5440],[1544,-3283],[1505,-3323],[869,-1978],[1365,-1733]],[[619669,591433],[-837,-1406],[-1189,500]],[[617643,590527],[-950,1863],[-1142,3377],[-1232,1850],[-718,1988],[-2418,2309],[-1904,69],[-670,1204],[-1629,-1354],[-1686,2614],[-867,-4298],[-3235,1204]],[[894123,743935],[-2570,-5798],[47,-5943],[-1046,-4596],[484,-2886],[-1446,-4058],[-3550,-2710],[-4883,-353],[-3957,-6574],[-1867,2213],[-115,4305],[-4831,-1271],[-3288,-2712],[-3251,-111],[2816,-4237],[-1854,-9788],[-1795,-2423],[-1344,2238],[681,5190],[-1758,1675],[-1129,3949],[2626,1775],[1457,3620],[2794,2977],[2038,3937],[5529,1718],[2970,-1178],[2907,10238],[1852,-2750],[4075,5759],[1580,2238],[1745,7042],[-476,6476],[1173,3637],[2954,1057],[1514,-7987],[-82,-4669]],[[901703,771463],[1965,2441],[618,-6466],[-4121,-1576],[-2433,-5719],[-4368,3936],[-1511,-6301],[-3090,-87],[-382,5726],[1374,4431],[2968,320],[809,7967],[822,4488],[3264,-5996],[2132,-1936],[1953,-1228]],[[867697,711011],[1536,3436],[1580,-667],[1142,2421],[2040,-1242],[355,-1975],[-1564,-3485],[-1140,1848],[-1424,-1339],[-737,-3369],[-1811,1640],[23,2732]],[[647523,614189],[-2009,-1547],[-538,-2557],[-65,-1964],[-2766,-2431],[-4438,-2686],[-2488,-4064],[-1223,-317],[-833,341],[-1623,-2390],[-1771,-1109],[-2332,-299],[-701,-327],[-608,-1521],[-728,-420],[-430,-1465],[-1375,127],[-887,-781],[-1923,293],[-722,3364],[79,3148],[-454,1699],[-543,4259],[-799,2367],[556,281],[-285,2631],[337,1111],[-123,2511]],[[618831,612443],[1219,1837],[-285,2428],[737,2831],[1140,-1498],[754,521],[3205,132],[509,-576],[2686,-576],[1064,288],[695,-1919],[1296,960],[1991,6046],[2593,2592],[8009,2207]],[[634489,682725],[1087,-4966],[1367,-1316],[476,-2022],[1893,-2421],[168,-2376],[-277,-1918],[352,-1935],[798,-1614],[370,-1888],[416,-1412]],[[642748,660124],[528,-2200]],[[618831,612443],[-361,2458],[-837,1734],[-214,2297],[-1435,2064],[-1481,4829],[-783,4693],[-1922,3963],[-1238,946],[-1840,5488],[-321,4002],[118,3414],[-1593,6386],[-1303,2247],[-1500,1191],[-914,3300],[152,1301],[-772,2986],[-811,1286],[-1085,4284],[-1691,4644],[-1417,3955],[-1383,-28],[432,3161],[124,2016],[344,2298]],[[364831,68836],[1415,-1],[4135,1242],[4189,-1242],[3427,-2482],[1197,-3498],[327,-2483],[108,-2934],[-4298,-1805],[-4515,-1467],[-5223,-1354],[-5821,-1129],[-6583,339],[-3646,1918],[490,2370],[5930,1580],[2394,1918],[1741,2483],[1251,2144],[1687,2031],[1795,2370]],[[315861,56116],[6256,-226],[5985,-564],[2067,2370],[1469,2031],[2884,-2370],[-816,-2934],[-816,-2595],[-5822,790],[-6202,-339],[-3482,1919],[0,225],[-1523,1693]],[[294678,107867],[1904,677],[3210,-225],[816,2934],[163,2144],[-54,4626],[1578,2709],[2557,902],[1469,-2143],[653,-2145],[1196,-2595],[925,-2483],[762,-2595],[326,-2595],[-489,-2257],[-762,-2145],[-3264,-789],[-3101,-1129],[-3645,113],[1360,2257],[-3265,-790],[-3101,-790],[-2122,1693],[-163,2369],[3047,2257]],[[215748,104269],[1741,1016],[3536,-790],[4026,-451],[3047,-791],[3046,677],[1633,-3272],[-2177,451],[-3373,-225],[-3427,225],[-3754,-338],[-2829,1128],[-1469,2370]],[[159384,94113],[598,1918],[3319,-1015],[3591,-903],[3319,1016],[-1578,-2032],[-2612,-1467],[-3862,452],[-2775,2031]],[[146436,95241],[2013,1242],[2774,-1354],[4244,-2257],[-1632,225],[-3591,565],[-3808,1579]],[[45242,65676],[1686,2144],[5169,-903],[2775,-1805],[2121,-2031],[762,-2596],[-5332,-790],[-3645,2032],[-1632,2031],[-109,338],[-1795,1580]],[[999999,30445],[0,-30445],[-999999,0],[0,30445],[160,-47],[2455,3352],[5005,-1805],[322,201],[2934,1836],[382,-65],[326,-43],[4020,-2398],[3517,2398],[631,328],[8161,1015],[2643,-1343],[1305,-688],[4189,-1918],[7888,-1467],[6257,-1806],[10718,-1354],[7997,1580],[11806,-1129],[6692,-1805],[7345,1693],[7725,1580],[599,2708],[-10936,226],[-8976,1354],[-2340,2257],[-7453,1241],[489,2595],[1034,2370],[1034,2144],[-544,2370],[-4625,1580],[-2122,2031],[-4298,1806],[6747,-339],[6419,903],[4026,-1919],[4951,1693],[4570,2144],[2231,1919],[-979,2369],[-3591,1580],[-4080,1693],[-5713,338],[-5005,790],[-5387,564],[-1795,2145],[-3590,1805],[-2177,2032],[-870,6544],[1360,-564],[2502,-1806],[4570,565],[4408,790],[2284,-2483],[4407,564],[3700,1242],[3482,1579],[3155,1919],[4189,564],[-108,2144],[-980,2144],[816,2031],[3591,1016],[1632,-1919],[4244,1129],[3210,1467],[3971,113],[3754,564],[3754,1354],[2993,1241],[3373,1242],[2176,-339],[1904,-451],[4135,790],[3699,-1016],[3809,113],[3645,790],[3754,-564],[4135,-565],[3862,226],[4026,-113],[4135,-113],[3809,226],[2829,1693],[3373,903],[3482,-1242],[3319,1016],[2992,2031],[1795,-1805],[979,-2032],[1796,-1918],[2883,1693],[3319,-2144],[3754,-677],[3210,-1580],[3917,338],[3536,1016],[4190,-226],[3754,-790],[3808,-1015],[1469,2482],[-1796,1919],[-1360,2031],[-3590,451],[-1578,2144],[-599,2145],[-979,4287],[2122,-790],[3645,-338],[3591,338],[3264,-902],[2829,-1693],[1197,-2031],[3754,-339],[3591,790],[3808,1129],[3428,677],[2829,-1354],[3699,451],[2394,4401],[2231,-2595],[3210,-1016],[3482,564],[2285,-2257],[3645,-225],[3373,-677],[3319,-1242],[2176,2144],[1088,2032],[2775,-2257],[3808,564],[2829,-1241],[1904,-1919],[3700,564],[2883,1242],[2829,1467],[3373,789],[3918,678],[3536,790],[2720,1241],[1632,1805],[653,2483],[-326,2370],[-871,2257],[-979,2257],[-870,2256],[-708,2032],[-163,2257],[272,2256],[1306,2145],[1088,2369],[435,2257],[-544,2483],[-326,2257],[1360,2595],[1523,1693],[1796,2144],[1904,1805],[2230,1693],[1089,2482],[1523,1580],[1741,1468],[2666,338],[1741,1805],[1958,1129],[2285,677],[2013,1467],[1578,1806],[2176,677],[1632,-1467],[-1033,-1919],[-2829,-1693],[-1197,-1241],[-2068,903],[-2285,-564],[-1904,-1354],[-2013,-1467],[-1360,-1693],[-381,-2257],[163,-2144],[1306,-1918],[-1904,-1355],[-2612,-451],[-1523,-1918],[-1632,-1806],[-1741,-2483],[-435,-2143],[979,-2370],[1469,-1806],[2285,-1353],[2122,-1806],[1142,-2257],[599,-2144],[816,-2257],[1306,-1918],[815,-2144],[381,-5304],[817,-2144],[217,-2257],[871,-2257],[-381,-3047],[-1524,-2370],[-1632,-1918],[-3699,-790],[-1252,-2031],[-1686,-1919],[-4190,-2144],[-3699,-903],[-3482,-1241],[-3754,-1241],[-2230,-2370],[-4462,-225],[-4896,225],[-4407,-451],[-4679,0],[871,-2257],[4243,-1015],[3101,-1580],[1741,-2031],[-3101,-1806],[-4787,564],[-3972,-1467],[-163,-2370],[-109,-2257],[3264,-1918],[599,-2144],[3536,-2144],[5876,-903],[5005,-1580],[3972,-1805],[5059,-1806],[6910,-903],[6800,-1579],[4734,-1693],[5168,-1919],[2720,-2708],[1361,-2144],[3373,2032],[4570,1692],[4842,1806],[5767,1467],[4951,1580],[6909,112],[6801,-789],[5603,-1355],[1796,2483],[3863,1692],[7018,113],[5495,1242],[5223,1241],[5767,790],[6148,1016],[4298,1467],[-1959,2031],[-1197,2031],[0,2144],[-5386,-226],[-5713,-902],[-5440,0],[-762,2144],[381,4288],[1251,1241],[3972,1354],[4679,1354],[3373,1693],[3373,1693],[2503,2257],[3808,1015],[3754,790],[1904,451],[4298,226],[4081,790],[3427,1128],[3373,1355],[3047,1354],[3863,1805],[2448,1919],[2611,1692],[816,2257],[-2937,1354],[979,2370],[1850,1806],[2883,1128],[3047,1354],[2829,1806],[2176,2257],[1360,2708],[2013,1580],[3319,-339],[1360,-1918],[3319,-226],[109,2144],[1414,2257],[2992,-564],[708,-2144],[3318,-339],[3591,1016],[3482,677],[3156,-338],[1196,-2370],[3047,1918],[2829,1016],[3156,790],[3101,790],[2829,1354],[3101,902],[2394,1242],[1686,2031],[2068,-1467],[2883,790],[2013,-2708],[1578,-2031],[3156,1128],[1251,2257],[2829,1580],[3645,-339],[1088,-2144],[2285,2144],[2993,677],[3264,226],[2938,-113],[3101,-677],[2992,-339],[1306,-1918],[1795,-1693],[3047,1016],[3264,226],[3156,0],[3101,112],[2774,791],[2938,677],[2448,1580],[2612,1015],[2829,564],[2122,1580],[1523,3160],[1578,1918],[2883,-903],[1089,-2031],[2393,-1354],[2884,451],[1958,-2031],[2068,-1467],[2829,1354],[979,2483],[2503,1015],[2883,1919],[2721,790],[3264,1128],[2176,1241],[2285,1354],[2176,1242],[2612,-677],[2502,2031],[1796,1580],[2611,-113],[2285,1354],[544,2031],[2340,1580],[2285,1129],[2774,902],[2557,452],[2449,-339],[2611,-564],[2231,-1580],[272,-2483],[2448,-1918],[1687,-1580],[3318,-677],[1850,-1580],[2285,-1579],[2666,-339],[2230,1128],[2395,2370],[2611,-1241],[2720,-677],[2612,-677],[2720,-452],[2775,0],[2284,-5980],[-108,-1467],[-327,-2596],[-2666,-1466],[-2176,-2145],[381,-2257],[3101,113],[-381,-2257],[-1414,-2144],[-1306,-2370],[2122,-1805],[3210,-564],[3210,1015],[1523,2257],[925,2144],[1523,1806],[1741,1693],[707,2031],[1470,2821],[1740,564],[3156,226],[2775,677],[2829,903],[1360,2257],[816,2144],[1904,2143],[2720,1467],[2340,1129],[1523,1918],[1578,1016],[2013,903],[2775,-565],[2502,565],[2720,677],[3047,-339],[2013,1580],[1415,3837],[1033,-1580],[1306,-2708],[2339,-1129],[2666,-451],[2666,677],[2829,-452],[2612,-112],[1741,564],[2339,-339],[2122,-1241],[2502,790],[2993,0],[2557,790],[2883,-790],[1850,1918],[1415,1919],[1904,1580],[3482,4288],[1795,-790],[2122,-1580],[1850,-2031],[3536,-3498],[2720,-113],[2557,0],[2993,677],[2992,790],[2285,1579],[1904,1693],[3101,226],[2068,1241],[2176,-1128],[1414,-1806],[1959,-1805],[3047,225],[1904,-1467],[3319,-1467],[3481,-564],[2884,451],[2176,1806],[1850,1806],[2503,451],[2502,-790],[2884,-564],[2611,903],[2503,0],[2448,-565],[2557,-564],[2503,1016],[2992,902],[2829,226],[3156,0],[2557,564],[2502,452],[762,2821],[109,2370],[1741,-1580],[489,-2596],[925,-2369],[1143,-1919],[2339,-1015],[3156,338],[3645,113],[2502,339],[3646,0],[2611,112],[3645,-225],[3101,-452],[1959,-1805],[-544,-2144],[1795,-1693],[2992,-1354],[3101,-1467],[3591,-1015],[3754,-904],[2829,-902],[3156,-113],[1795,1919],[2448,-1580],[2122,-1806],[2449,-1354],[3373,-564],[3210,-677],[1360,-2257],[3155,-1354],[2122,-2032],[3101,-902],[3210,113],[2992,-339],[3319,113],[3319,-451],[3101,-790],[2883,-1355],[2884,-1128],[1958,-1693],[-326,-2257],[-1469,-2031],[-1251,-2595],[-980,-2031],[-1305,-2370],[-3645,-903],[-1633,-2031],[-3591,-1242],[-1251,-2256],[-1904,-2145],[-2013,-1805],[-1143,-2370],[-707,-2144],[-272,-2596],[55,-2143],[1577,-2257],[599,-2144],[1306,-2032],[5168,-789],[1088,-2483],[-5005,-903],[-4244,-1241],[-5277,-226],[-2339,-3272],[-490,-2708],[-1197,-2145],[-1469,-2144],[3700,-1918],[1414,-2370],[2394,-2144],[3373,-1918],[3863,-1806],[4189,-1805],[6366,-1806],[1414,-2821],[7998,-1241],[536,-441],[2075,-1703],[7671,1467],[6365,-1806],[4786,-1387]],[[590921,720665],[196,31],[402,1389],[2000,-77],[2526,1718],[-1877,-2452],[203,-1079]],[[594371,720195],[-298,202],[-531,-436],[-416,120],[-138,-221],[-55,582],[-201,353],[-535,60],[-754,-491],[-522,301]],[[594371,720195],[86,-463],[-2847,-2339],[-1360,747],[-649,2313],[1320,212]],[[452721,641666],[131,2669],[1067,1569],[909,3001],[-180,1949],[955,4064],[1547,3661],[935,928],[735,3359],[66,3068],[1003,3560],[1850,2099],[1761,5881],[51,80],[1396,2212],[2583,636],[2189,3936],[1393,1535],[2319,4808],[-695,7165],[1056,4955],[372,3033],[1787,3890],[2787,2631],[2060,2381],[1856,5962],[873,3537],[2045,-28],[1675,-2444],[2641,398],[2877,-1271],[1207,-62]],[[569444,644993],[0,21207],[0,20479],[-833,4639],[715,3556],[-430,2463],[1006,2763]],[[569902,700100],[3696,96],[2673,-1523],[2758,-1702],[1286,-897],[2138,1825],[1144,1650],[2449,475],[1976,-727],[756,-2857],[645,1882],[2226,-1361],[2165,-326],[1367,1451]],[[597007,688192],[-781,-2314],[-597,-4351],[-756,-2998],[-648,-1006],[-925,1858],[-1254,2570],[-1982,8255],[-286,-522],[1151,-6077],[1706,-5789],[2099,-8970],[1026,-3131],[892,-3253],[2493,-6375],[-552,-1004],[90,-3743],[3235,-5169],[488,-1180]],[[531913,709129],[3262,-1982],[1167,496],[2320,-961],[3686,-2574],[1301,-5118],[2494,-1118],[3915,-2411],[2959,-2863],[1355,1494],[1331,2649],[-647,4411],[871,2801],[2002,2699],[1912,786],[3758,-1179],[947,-2575],[1034,-24],[885,-982],[2760,-676],[677,-1902]],[[598049,550006],[-1641,6267],[-1269,1335],[-487,2303],[-1407,2807],[-1706,413],[946,3280],[1474,141],[415,1759]],[[617643,590527],[-977,-2547],[-940,-2700],[217,-1590],[44,-1751],[1552,-97],[669,409],[616,-1027]],[[618824,581224],[-606,-2040],[1026,-3171],[1025,-2773],[1060,-2055],[9082,-6834],[2337,35]],[[619669,591433],[658,-1782],[-88,-2391],[-1584,-1378],[1192,-1576]],[[619847,584306],[-1023,-3082]],[[619847,584306],[904,-1061],[545,-2382],[1253,-2411],[1379,-19],[2618,1473],[3024,683],[2445,1789],[1378,379],[992,1051],[1582,202]],[[584497,511764],[-1660,-1778],[-672,587]],[[585649,538507],[1144,1570],[1766,-1287],[2236,1347],[1954,-13],[1709,2648]],[[552792,776642],[1008,16],[-696,-2534],[1339,-2214],[-405,-2709],[-654,-255]],[[553384,768946],[-519,-526],[-903,-1338],[-407,-3168]],[[557195,759338],[353,-48],[124,1179],[1640,892],[623,221]],[[559935,761582],[945,337],[1288,96]],[[559935,761582],[-93,433],[332,685],[312,1402],[-395,-32],[-540,1068],[-457,270],[-363,917],[-519,358],[-395,813],[-498,-319],[-384,-1912],[-665,-414]],[[556270,764851],[229,494],[-1059,1195],[-913,620],[-406,798],[-737,988]],[[553810,759465],[-581,446],[-779,1880],[-1201,1143]],[[556270,764851],[-519,-1291]],[[328666,580263],[1598,749],[583,-202],[-111,-4290],[-2320,-633],[-500,518],[806,1584],[-56,2274]]],"bbox":[-180,-90,180.00000000000006,83.64513000000001],"transform":{"scale":[0.00036000036000036006,0.00017364530364530364],"translate":[-180,-90]}}
|