UNPKG

signalk-trackviewer

Version:

Viewer for tracks recorded in SignalK, with GPX export function.

1 lines 1.04 MB
var vk=Object.create;var Zh=Object.defineProperty,yk=Object.defineProperties,wk=Object.getOwnPropertyDescriptor,xk=Object.getOwnPropertyDescriptors,Dk=Object.getOwnPropertyNames,Kl=Object.getOwnPropertySymbols,Ck=Object.getPrototypeOf,Yh=Object.prototype.hasOwnProperty,cv=Object.prototype.propertyIsEnumerable;var lv=(t,i,e)=>i in t?Zh(t,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[i]=e,ye=(t,i)=>{for(var e in i||={})Yh.call(i,e)&&lv(t,e,i[e]);if(Kl)for(var e of Kl(i))cv.call(i,e)&&lv(t,e,i[e]);return t},Nt=(t,i)=>yk(t,xk(i));var Qh=(t,i)=>{var e={};for(var n in t)Yh.call(t,n)&&i.indexOf(n)<0&&(e[n]=t[n]);if(t!=null&&Kl)for(var n of Kl(t))i.indexOf(n)<0&&cv.call(t,n)&&(e[n]=t[n]);return e};var Ek=(t,i)=>()=>(i||t((i={exports:{}}).exports,i),i.exports);var Ik=(t,i,e,n)=>{if(i&&typeof i=="object"||typeof i=="function")for(let r of Dk(i))!Yh.call(t,r)&&r!==e&&Zh(t,r,{get:()=>i[r],enumerable:!(n=wk(i,r))||n.enumerable});return t};var dv=(t,i,e)=>(e=t!=null?vk(Ck(t)):{},Ik(i||!t||!t.__esModule?Zh(e,"default",{value:t,enumerable:!0}):e,t));var c_=Ek((Vu,TC)=>{"use strict";(function(t,i){typeof Vu=="object"&&typeof TC<"u"?i(Vu):typeof define=="function"&&define.amd?define(["exports"],i):(t=typeof globalThis<"u"?globalThis:t||self,i(t.leaflet={}))})(Vu,function(t){"use strict";var i="1.9.4";function e(s){var l,d,h,m;for(d=1,h=arguments.length;d<h;d++){m=arguments[d];for(l in m)s[l]=m[l]}return s}var n=Object.create||function(){function s(){}return function(l){return s.prototype=l,new s}}();function r(s,l){var d=Array.prototype.slice;if(s.bind)return s.bind.apply(s,d.call(arguments,1));var h=d.call(arguments,2);return function(){return s.apply(l,h.length?h.concat(d.call(arguments)):arguments)}}var o=0;function a(s){return"_leaflet_id"in s||(s._leaflet_id=++o),s._leaflet_id}function c(s,l,d){var h,m,g,v;return v=function(){h=!1,m&&(g.apply(d,m),m=!1)},g=function(){h?m=arguments:(s.apply(d,arguments),setTimeout(v,l),h=!0)},g}function u(s,l,d){var h=l[1],m=l[0],g=h-m;return s===h&&d?s:((s-m)%g+g)%g+m}function f(){return!1}function p(s,l){if(l===!1)return s;var d=Math.pow(10,l===void 0?6:l);return Math.round(s*d)/d}function _(s){return s.trim?s.trim():s.replace(/^\s+|\s+$/g,"")}function w(s){return _(s).split(/\s+/)}function y(s,l){Object.prototype.hasOwnProperty.call(s,"options")||(s.options=s.options?n(s.options):{});for(var d in l)s.options[d]=l[d];return s.options}function C(s,l,d){var h=[];for(var m in s)h.push(encodeURIComponent(d?m.toUpperCase():m)+"="+encodeURIComponent(s[m]));return(!l||l.indexOf("?")===-1?"?":"&")+h.join("&")}var I=/\{ *([\w_ -]+) *\}/g;function A(s,l){return s.replace(I,function(d,h){var m=l[h];if(m===void 0)throw new Error("No value provided for variable "+d);return typeof m=="function"&&(m=m(l)),m})}var z=Array.isArray||function(s){return Object.prototype.toString.call(s)==="[object Array]"};function Ne(s,l){for(var d=0;d<s.length;d++)if(s[d]===l)return d;return-1}var be="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function qe(s){return window["webkit"+s]||window["moz"+s]||window["ms"+s]}var zt=0;function st(s){var l=+new Date,d=Math.max(0,16-(l-zt));return zt=l+d,window.setTimeout(s,d)}var at=window.requestAnimationFrame||qe("RequestAnimationFrame")||st,Dt=window.cancelAnimationFrame||qe("CancelAnimationFrame")||qe("CancelRequestAnimationFrame")||function(s){window.clearTimeout(s)};function ft(s,l,d){if(d&&at===st)s.call(l);else return at.call(window,r(s,l))}function Ct(s){s&&Dt.call(window,s)}var Al={__proto__:null,extend:e,create:n,bind:r,get lastId(){return o},stamp:a,throttle:c,wrapNum:u,falseFn:f,formatNum:p,trim:_,splitWords:w,setOptions:y,getParamString:C,template:A,isArray:z,indexOf:Ne,emptyImageUrl:be,requestFn:at,cancelFn:Dt,requestAnimFrame:ft,cancelAnimFrame:Ct};function Wt(){}Wt.extend=function(s){var l=function(){y(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},d=l.__super__=this.prototype,h=n(d);h.constructor=l,l.prototype=h;for(var m in this)Object.prototype.hasOwnProperty.call(this,m)&&m!=="prototype"&&m!=="__super__"&&(l[m]=this[m]);return s.statics&&e(l,s.statics),s.includes&&(Gs(s.includes),e.apply(null,[h].concat(s.includes))),e(h,s),delete h.statics,delete h.includes,h.options&&(h.options=d.options?n(d.options):{},e(h.options,s.options)),h._initHooks=[],h.callInitHooks=function(){if(!this._initHooksCalled){d.callInitHooks&&d.callInitHooks.call(this),this._initHooksCalled=!0;for(var g=0,v=h._initHooks.length;g<v;g++)h._initHooks[g].call(this)}},l},Wt.include=function(s){var l=this.prototype.options;return e(this.prototype,s),s.options&&(this.prototype.options=l,this.mergeOptions(s.options)),this},Wt.mergeOptions=function(s){return e(this.prototype.options,s),this},Wt.addInitHook=function(s){var l=Array.prototype.slice.call(arguments,1),d=typeof s=="function"?s:function(){this[s].apply(this,l)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(d),this};function Gs(s){if(!(typeof L>"u"||!L||!L.Mixin)){s=z(s)?s:[s];for(var l=0;l<s.length;l++)s[l]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",new Error().stack)}}var Kt={on:function(s,l,d){if(typeof s=="object")for(var h in s)this._on(h,s[h],l);else{s=w(s);for(var m=0,g=s.length;m<g;m++)this._on(s[m],l,d)}return this},off:function(s,l,d){if(!arguments.length)delete this._events;else if(typeof s=="object")for(var h in s)this._off(h,s[h],l);else{s=w(s);for(var m=arguments.length===1,g=0,v=s.length;g<v;g++)m?this._off(s[g]):this._off(s[g],l,d)}return this},_on:function(s,l,d,h){if(typeof l!="function"){console.warn("wrong listener type: "+typeof l);return}if(this._listens(s,l,d)===!1){d===this&&(d=void 0);var m={fn:l,ctx:d};h&&(m.once=!0),this._events=this._events||{},this._events[s]=this._events[s]||[],this._events[s].push(m)}},_off:function(s,l,d){var h,m,g;if(this._events&&(h=this._events[s],!!h)){if(arguments.length===1){if(this._firingCount)for(m=0,g=h.length;m<g;m++)h[m].fn=f;delete this._events[s];return}if(typeof l!="function"){console.warn("wrong listener type: "+typeof l);return}var v=this._listens(s,l,d);if(v!==!1){var x=h[v];this._firingCount&&(x.fn=f,this._events[s]=h=h.slice()),h.splice(v,1)}}},fire:function(s,l,d){if(!this.listens(s,d))return this;var h=e({},l,{type:s,target:this,sourceTarget:l&&l.sourceTarget||this});if(this._events){var m=this._events[s];if(m){this._firingCount=this._firingCount+1||1;for(var g=0,v=m.length;g<v;g++){var x=m[g],k=x.fn;x.once&&this.off(s,k,x.ctx),k.call(x.ctx||this,h)}this._firingCount--}}return d&&this._propagateEvent(h),this},listens:function(s,l,d,h){typeof s!="string"&&console.warn('"string" type argument expected');var m=l;typeof l!="function"&&(h=!!l,m=void 0,d=void 0);var g=this._events&&this._events[s];if(g&&g.length&&this._listens(s,m,d)!==!1)return!0;if(h){for(var v in this._eventParents)if(this._eventParents[v].listens(s,l,d,h))return!0}return!1},_listens:function(s,l,d){if(!this._events)return!1;var h=this._events[s]||[];if(!l)return!!h.length;d===this&&(d=void 0);for(var m=0,g=h.length;m<g;m++)if(h[m].fn===l&&h[m].ctx===d)return m;return!1},once:function(s,l,d){if(typeof s=="object")for(var h in s)this._on(h,s[h],l,!0);else{s=w(s);for(var m=0,g=s.length;m<g;m++)this._on(s[m],l,d,!0)}return this},addEventParent:function(s){return this._eventParents=this._eventParents||{},this._eventParents[a(s)]=s,this},removeEventParent:function(s){return this._eventParents&&delete this._eventParents[a(s)],this},_propagateEvent:function(s){for(var l in this._eventParents)this._eventParents[l].fire(s.type,e({layer:s.target,propagatedFrom:s.target},s),!0)}};Kt.addEventListener=Kt.on,Kt.removeEventListener=Kt.clearAllEventListeners=Kt.off,Kt.addOneTimeEventListener=Kt.once,Kt.fireEvent=Kt.fire,Kt.hasEventListeners=Kt.listens;var ar=Wt.extend(Kt);function O(s,l,d){this.x=d?Math.round(s):s,this.y=d?Math.round(l):l}var he=Math.trunc||function(s){return s>0?Math.floor(s):Math.ceil(s)};O.prototype={clone:function(){return new O(this.x,this.y)},add:function(s){return this.clone()._add(F(s))},_add:function(s){return this.x+=s.x,this.y+=s.y,this},subtract:function(s){return this.clone()._subtract(F(s))},_subtract:function(s){return this.x-=s.x,this.y-=s.y,this},divideBy:function(s){return this.clone()._divideBy(s)},_divideBy:function(s){return this.x/=s,this.y/=s,this},multiplyBy:function(s){return this.clone()._multiplyBy(s)},_multiplyBy:function(s){return this.x*=s,this.y*=s,this},scaleBy:function(s){return new O(this.x*s.x,this.y*s.y)},unscaleBy:function(s){return new O(this.x/s.x,this.y/s.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=he(this.x),this.y=he(this.y),this},distanceTo:function(s){s=F(s);var l=s.x-this.x,d=s.y-this.y;return Math.sqrt(l*l+d*d)},equals:function(s){return s=F(s),s.x===this.x&&s.y===this.y},contains:function(s){return s=F(s),Math.abs(s.x)<=Math.abs(this.x)&&Math.abs(s.y)<=Math.abs(this.y)},toString:function(){return"Point("+p(this.x)+", "+p(this.y)+")"}};function F(s,l,d){return s instanceof O?s:z(s)?new O(s[0],s[1]):s==null?s:typeof s=="object"&&"x"in s&&"y"in s?new O(s.x,s.y):new O(s,l,d)}function ce(s,l){if(s)for(var d=l?[s,l]:s,h=0,m=d.length;h<m;h++)this.extend(d[h])}ce.prototype={extend:function(s){var l,d;if(!s)return this;if(s instanceof O||typeof s[0]=="number"||"x"in s)l=d=F(s);else if(s=Je(s),l=s.min,d=s.max,!l||!d)return this;return!this.min&&!this.max?(this.min=l.clone(),this.max=d.clone()):(this.min.x=Math.min(l.x,this.min.x),this.max.x=Math.max(d.x,this.max.x),this.min.y=Math.min(l.y,this.min.y),this.max.y=Math.max(d.y,this.max.y)),this},getCenter:function(s){return F((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,s)},getBottomLeft:function(){return F(this.min.x,this.max.y)},getTopRight:function(){return F(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(s){var l,d;return typeof s[0]=="number"||s instanceof O?s=F(s):s=Je(s),s instanceof ce?(l=s.min,d=s.max):l=d=s,l.x>=this.min.x&&d.x<=this.max.x&&l.y>=this.min.y&&d.y<=this.max.y},intersects:function(s){s=Je(s);var l=this.min,d=this.max,h=s.min,m=s.max,g=m.x>=l.x&&h.x<=d.x,v=m.y>=l.y&&h.y<=d.y;return g&&v},overlaps:function(s){s=Je(s);var l=this.min,d=this.max,h=s.min,m=s.max,g=m.x>l.x&&h.x<d.x,v=m.y>l.y&&h.y<d.y;return g&&v},isValid:function(){return!!(this.min&&this.max)},pad:function(s){var l=this.min,d=this.max,h=Math.abs(l.x-d.x)*s,m=Math.abs(l.y-d.y)*s;return Je(F(l.x-h,l.y-m),F(d.x+h,d.y+m))},equals:function(s){return s?(s=Je(s),this.min.equals(s.getTopLeft())&&this.max.equals(s.getBottomRight())):!1}};function Je(s,l){return!s||s instanceof ce?s:new ce(s,l)}function dt(s,l){if(s)for(var d=l?[s,l]:s,h=0,m=d.length;h<m;h++)this.extend(d[h])}dt.prototype={extend:function(s){var l=this._southWest,d=this._northEast,h,m;if(s instanceof $e)h=s,m=s;else if(s instanceof dt){if(h=s._southWest,m=s._northEast,!h||!m)return this}else return s?this.extend(le(s)||Ye(s)):this;return!l&&!d?(this._southWest=new $e(h.lat,h.lng),this._northEast=new $e(m.lat,m.lng)):(l.lat=Math.min(h.lat,l.lat),l.lng=Math.min(h.lng,l.lng),d.lat=Math.max(m.lat,d.lat),d.lng=Math.max(m.lng,d.lng)),this},pad:function(s){var l=this._southWest,d=this._northEast,h=Math.abs(l.lat-d.lat)*s,m=Math.abs(l.lng-d.lng)*s;return new dt(new $e(l.lat-h,l.lng-m),new $e(d.lat+h,d.lng+m))},getCenter:function(){return new $e((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new $e(this.getNorth(),this.getWest())},getSouthEast:function(){return new $e(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(s){typeof s[0]=="number"||s instanceof $e||"lat"in s?s=le(s):s=Ye(s);var l=this._southWest,d=this._northEast,h,m;return s instanceof dt?(h=s.getSouthWest(),m=s.getNorthEast()):h=m=s,h.lat>=l.lat&&m.lat<=d.lat&&h.lng>=l.lng&&m.lng<=d.lng},intersects:function(s){s=Ye(s);var l=this._southWest,d=this._northEast,h=s.getSouthWest(),m=s.getNorthEast(),g=m.lat>=l.lat&&h.lat<=d.lat,v=m.lng>=l.lng&&h.lng<=d.lng;return g&&v},overlaps:function(s){s=Ye(s);var l=this._southWest,d=this._northEast,h=s.getSouthWest(),m=s.getNorthEast(),g=m.lat>l.lat&&h.lat<d.lat,v=m.lng>l.lng&&h.lng<d.lng;return g&&v},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(s,l){return s?(s=Ye(s),this._southWest.equals(s.getSouthWest(),l)&&this._northEast.equals(s.getNorthEast(),l)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function Ye(s,l){return s instanceof dt?s:new dt(s,l)}function $e(s,l,d){if(isNaN(s)||isNaN(l))throw new Error("Invalid LatLng object: ("+s+", "+l+")");this.lat=+s,this.lng=+l,d!==void 0&&(this.alt=+d)}$e.prototype={equals:function(s,l){if(!s)return!1;s=le(s);var d=Math.max(Math.abs(this.lat-s.lat),Math.abs(this.lng-s.lng));return d<=(l===void 0?1e-9:l)},toString:function(s){return"LatLng("+p(this.lat,s)+", "+p(this.lng,s)+")"},distanceTo:function(s){return hn.distance(this,le(s))},wrap:function(){return hn.wrapLatLng(this)},toBounds:function(s){var l=180*s/40075017,d=l/Math.cos(Math.PI/180*this.lat);return Ye([this.lat-l,this.lng-d],[this.lat+l,this.lng+d])},clone:function(){return new $e(this.lat,this.lng,this.alt)}};function le(s,l,d){return s instanceof $e?s:z(s)&&typeof s[0]!="object"?s.length===3?new $e(s[0],s[1],s[2]):s.length===2?new $e(s[0],s[1]):null:s==null?s:typeof s=="object"&&"lat"in s?new $e(s.lat,"lng"in s?s.lng:s.lon,s.alt):l===void 0?null:new $e(s,l,d)}var Ni={latLngToPoint:function(s,l){var d=this.projection.project(s),h=this.scale(l);return this.transformation._transform(d,h)},pointToLatLng:function(s,l){var d=this.scale(l),h=this.transformation.untransform(s,d);return this.projection.unproject(h)},project:function(s){return this.projection.project(s)},unproject:function(s){return this.projection.unproject(s)},scale:function(s){return 256*Math.pow(2,s)},zoom:function(s){return Math.log(s/256)/Math.LN2},getProjectedBounds:function(s){if(this.infinite)return null;var l=this.projection.bounds,d=this.scale(s),h=this.transformation.transform(l.min,d),m=this.transformation.transform(l.max,d);return new ce(h,m)},infinite:!1,wrapLatLng:function(s){var l=this.wrapLng?u(s.lng,this.wrapLng,!0):s.lng,d=this.wrapLat?u(s.lat,this.wrapLat,!0):s.lat,h=s.alt;return new $e(d,l,h)},wrapLatLngBounds:function(s){var l=s.getCenter(),d=this.wrapLatLng(l),h=l.lat-d.lat,m=l.lng-d.lng;if(h===0&&m===0)return s;var g=s.getSouthWest(),v=s.getNorthEast(),x=new $e(g.lat-h,g.lng-m),k=new $e(v.lat-h,v.lng-m);return new dt(x,k)}},hn=e({},Ni,{wrapLng:[-180,180],R:6371e3,distance:function(s,l){var d=Math.PI/180,h=s.lat*d,m=l.lat*d,g=Math.sin((l.lat-s.lat)*d/2),v=Math.sin((l.lng-s.lng)*d/2),x=g*g+Math.cos(h)*Math.cos(m)*v*v,k=2*Math.atan2(Math.sqrt(x),Math.sqrt(1-x));return this.R*k}}),Ft=6378137,Zi={R:Ft,MAX_LATITUDE:85.0511287798,project:function(s){var l=Math.PI/180,d=this.MAX_LATITUDE,h=Math.max(Math.min(d,s.lat),-d),m=Math.sin(h*l);return new O(this.R*s.lng*l,this.R*Math.log((1+m)/(1-m))/2)},unproject:function(s){var l=180/Math.PI;return new $e((2*Math.atan(Math.exp(s.y/this.R))-Math.PI/2)*l,s.x*l/this.R)},bounds:function(){var s=Ft*Math.PI;return new ce([-s,-s],[s,s])}()};function Xt(s,l,d,h){if(z(s)){this._a=s[0],this._b=s[1],this._c=s[2],this._d=s[3];return}this._a=s,this._b=l,this._c=d,this._d=h}Xt.prototype={transform:function(s,l){return this._transform(s.clone(),l)},_transform:function(s,l){return l=l||1,s.x=l*(this._a*s.x+this._b),s.y=l*(this._c*s.y+this._d),s},untransform:function(s,l){return l=l||1,new O((s.x/l-this._b)/this._a,(s.y/l-this._d)/this._c)}};function fn(s,l,d,h){return new Xt(s,l,d,h)}var Rr=e({},hn,{code:"EPSG:3857",projection:Zi,transformation:function(){var s=.5/(Math.PI*Zi.R);return fn(s,.5,-s,.5)}()}),YI=e({},Rr,{code:"EPSG:900913"});function J_(s){return document.createElementNS("http://www.w3.org/2000/svg",s)}function eb(s,l){var d="",h,m,g,v,x,k;for(h=0,g=s.length;h<g;h++){for(x=s[h],m=0,v=x.length;m<v;m++)k=x[m],d+=(m?"L":"M")+k.x+" "+k.y;d+=l?fe.svg?"z":"x":""}return d||"M0 0"}var _h=document.documentElement.style,Rl="ActiveXObject"in window,QI=Rl&&!document.addEventListener,tb="msLaunchUri"in navigator&&!("documentMode"in document),bh=mn("webkit"),ib=mn("android"),nb=mn("android 2")||mn("android 3"),KI=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),XI=ib&&mn("Google")&&KI<537&&!("AudioNode"in window),vh=!!window.opera,rb=!tb&&mn("chrome"),ob=mn("gecko")&&!bh&&!vh&&!Rl,JI=!rb&&mn("safari"),sb=mn("phantom"),ab="OTransition"in _h,eM=navigator.platform.indexOf("Win")===0,lb=Rl&&"transition"in _h,yh="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!nb,cb="MozPerspective"in _h,tM=!window.L_DISABLE_3D&&(lb||yh||cb)&&!ab&&!sb,qs=typeof orientation<"u"||mn("mobile"),iM=qs&&bh,nM=qs&&yh,db=!window.PointerEvent&&window.MSPointerEvent,ub=!!(window.PointerEvent||db),hb="ontouchstart"in window||!!window.TouchEvent,rM=!window.L_NO_TOUCH&&(hb||ub),oM=qs&&vh,sM=qs&&ob,aM=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,lM=function(){var s=!1;try{var l=Object.defineProperty({},"passive",{get:function(){s=!0}});window.addEventListener("testPassiveEventSupport",f,l),window.removeEventListener("testPassiveEventSupport",f,l)}catch{}return s}(),cM=function(){return!!document.createElement("canvas").getContext}(),wh=!!(document.createElementNS&&J_("svg").createSVGRect),dM=!!wh&&function(){var s=document.createElement("div");return s.innerHTML="<svg/>",(s.firstChild&&s.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"}(),uM=!wh&&function(){try{var s=document.createElement("div");s.innerHTML='<v:shape adj="1"/>';var l=s.firstChild;return l.style.behavior="url(#default#VML)",l&&typeof l.adj=="object"}catch{return!1}}(),hM=navigator.platform.indexOf("Mac")===0,fM=navigator.platform.indexOf("Linux")===0;function mn(s){return navigator.userAgent.toLowerCase().indexOf(s)>=0}var fe={ie:Rl,ielt9:QI,edge:tb,webkit:bh,android:ib,android23:nb,androidStock:XI,opera:vh,chrome:rb,gecko:ob,safari:JI,phantom:sb,opera12:ab,win:eM,ie3d:lb,webkit3d:yh,gecko3d:cb,any3d:tM,mobile:qs,mobileWebkit:iM,mobileWebkit3d:nM,msPointer:db,pointer:ub,touch:rM,touchNative:hb,mobileOpera:oM,mobileGecko:sM,retina:aM,passiveEvents:lM,canvas:cM,svg:wh,vml:uM,inlineSvg:dM,mac:hM,linux:fM},fb=fe.msPointer?"MSPointerDown":"pointerdown",mb=fe.msPointer?"MSPointerMove":"pointermove",pb=fe.msPointer?"MSPointerUp":"pointerup",gb=fe.msPointer?"MSPointerCancel":"pointercancel",xh={touchstart:fb,touchmove:mb,touchend:pb,touchcancel:gb},_b={touchstart:vM,touchmove:Ol,touchend:Ol,touchcancel:Ol},So={},bb=!1;function mM(s,l,d){return l==="touchstart"&&bM(),_b[l]?(d=_b[l].bind(this,d),s.addEventListener(xh[l],d,!1),d):(console.warn("wrong event specified:",l),f)}function pM(s,l,d){if(!xh[l]){console.warn("wrong event specified:",l);return}s.removeEventListener(xh[l],d,!1)}function gM(s){So[s.pointerId]=s}function _M(s){So[s.pointerId]&&(So[s.pointerId]=s)}function vb(s){delete So[s.pointerId]}function bM(){bb||(document.addEventListener(fb,gM,!0),document.addEventListener(mb,_M,!0),document.addEventListener(pb,vb,!0),document.addEventListener(gb,vb,!0),bb=!0)}function Ol(s,l){if(l.pointerType!==(l.MSPOINTER_TYPE_MOUSE||"mouse")){l.touches=[];for(var d in So)l.touches.push(So[d]);l.changedTouches=[l],s(l)}}function vM(s,l){l.MSPOINTER_TYPE_TOUCH&&l.pointerType===l.MSPOINTER_TYPE_TOUCH&&Gt(l),Ol(s,l)}function yM(s){var l={},d,h;for(h in s)d=s[h],l[h]=d&&d.bind?d.bind(s):d;return s=l,l.type="dblclick",l.detail=2,l.isTrusted=!1,l._simulated=!0,l}var wM=200;function xM(s,l){s.addEventListener("dblclick",l);var d=0,h;function m(g){if(g.detail!==1){h=g.detail;return}if(!(g.pointerType==="mouse"||g.sourceCapabilities&&!g.sourceCapabilities.firesTouchEvents)){var v=Cb(g);if(!(v.some(function(k){return k instanceof HTMLLabelElement&&k.attributes.for})&&!v.some(function(k){return k instanceof HTMLInputElement||k instanceof HTMLSelectElement}))){var x=Date.now();x-d<=wM?(h++,h===2&&l(yM(g))):h=1,d=x}}}return s.addEventListener("click",m),{dblclick:l,simDblclick:m}}function DM(s,l){s.removeEventListener("dblclick",l.dblclick),s.removeEventListener("click",l.simDblclick)}var Dh=Nl(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),Zs=Nl(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),yb=Zs==="webkitTransition"||Zs==="OTransition"?Zs+"End":"transitionend";function wb(s){return typeof s=="string"?document.getElementById(s):s}function Ys(s,l){var d=s.style[l]||s.currentStyle&&s.currentStyle[l];if((!d||d==="auto")&&document.defaultView){var h=document.defaultView.getComputedStyle(s,null);d=h?h[l]:null}return d==="auto"?null:d}function tt(s,l,d){var h=document.createElement(s);return h.className=l||"",d&&d.appendChild(h),h}function vt(s){var l=s.parentNode;l&&l.removeChild(s)}function Pl(s){for(;s.firstChild;)s.removeChild(s.firstChild)}function To(s){var l=s.parentNode;l&&l.lastChild!==s&&l.appendChild(s)}function Ao(s){var l=s.parentNode;l&&l.firstChild!==s&&l.insertBefore(s,l.firstChild)}function Ch(s,l){if(s.classList!==void 0)return s.classList.contains(l);var d=Fl(s);return d.length>0&&new RegExp("(^|\\s)"+l+"(\\s|$)").test(d)}function Be(s,l){if(s.classList!==void 0)for(var d=w(l),h=0,m=d.length;h<m;h++)s.classList.add(d[h]);else if(!Ch(s,l)){var g=Fl(s);Eh(s,(g?g+" ":"")+l)}}function Et(s,l){s.classList!==void 0?s.classList.remove(l):Eh(s,_((" "+Fl(s)+" ").replace(" "+l+" "," ")))}function Eh(s,l){s.className.baseVal===void 0?s.className=l:s.className.baseVal=l}function Fl(s){return s.correspondingElement&&(s=s.correspondingElement),s.className.baseVal===void 0?s.className:s.className.baseVal}function Li(s,l){"opacity"in s.style?s.style.opacity=l:"filter"in s.style&&CM(s,l)}function CM(s,l){var d=!1,h="DXImageTransform.Microsoft.Alpha";try{d=s.filters.item(h)}catch{if(l===1)return}l=Math.round(l*100),d?(d.Enabled=l!==100,d.Opacity=l):s.style.filter+=" progid:"+h+"(opacity="+l+")"}function Nl(s){for(var l=document.documentElement.style,d=0;d<s.length;d++)if(s[d]in l)return s[d];return!1}function Or(s,l,d){var h=l||new O(0,0);s.style[Dh]=(fe.ie3d?"translate("+h.x+"px,"+h.y+"px)":"translate3d("+h.x+"px,"+h.y+"px,0)")+(d?" scale("+d+")":"")}function Tt(s,l){s._leaflet_pos=l,fe.any3d?Or(s,l):(s.style.left=l.x+"px",s.style.top=l.y+"px")}function Pr(s){return s._leaflet_pos||new O(0,0)}var Qs,Ks,Ih;if("onselectstart"in document)Qs=function(){Oe(window,"selectstart",Gt)},Ks=function(){lt(window,"selectstart",Gt)};else{var Xs=Nl(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);Qs=function(){if(Xs){var s=document.documentElement.style;Ih=s[Xs],s[Xs]="none"}},Ks=function(){Xs&&(document.documentElement.style[Xs]=Ih,Ih=void 0)}}function Mh(){Oe(window,"dragstart",Gt)}function kh(){lt(window,"dragstart",Gt)}var Ll,Sh;function Th(s){for(;s.tabIndex===-1;)s=s.parentNode;s.style&&(Vl(),Ll=s,Sh=s.style.outlineStyle,s.style.outlineStyle="none",Oe(window,"keydown",Vl))}function Vl(){Ll&&(Ll.style.outlineStyle=Sh,Ll=void 0,Sh=void 0,lt(window,"keydown",Vl))}function xb(s){do s=s.parentNode;while((!s.offsetWidth||!s.offsetHeight)&&s!==document.body);return s}function Ah(s){var l=s.getBoundingClientRect();return{x:l.width/s.offsetWidth||1,y:l.height/s.offsetHeight||1,boundingClientRect:l}}var EM={__proto__:null,TRANSFORM:Dh,TRANSITION:Zs,TRANSITION_END:yb,get:wb,getStyle:Ys,create:tt,remove:vt,empty:Pl,toFront:To,toBack:Ao,hasClass:Ch,addClass:Be,removeClass:Et,setClass:Eh,getClass:Fl,setOpacity:Li,testProp:Nl,setTransform:Or,setPosition:Tt,getPosition:Pr,get disableTextSelection(){return Qs},get enableTextSelection(){return Ks},disableImageDrag:Mh,enableImageDrag:kh,preventOutline:Th,restoreOutline:Vl,getSizedParentNode:xb,getScale:Ah};function Oe(s,l,d,h){if(l&&typeof l=="object")for(var m in l)Oh(s,m,l[m],d);else{l=w(l);for(var g=0,v=l.length;g<v;g++)Oh(s,l[g],d,h)}return this}var pn="_leaflet_events";function lt(s,l,d,h){if(arguments.length===1)Db(s),delete s[pn];else if(l&&typeof l=="object")for(var m in l)Ph(s,m,l[m],d);else if(l=w(l),arguments.length===2)Db(s,function(x){return Ne(l,x)!==-1});else for(var g=0,v=l.length;g<v;g++)Ph(s,l[g],d,h);return this}function Db(s,l){for(var d in s[pn]){var h=d.split(/\d/)[0];(!l||l(h))&&Ph(s,h,null,null,d)}}var Rh={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function Oh(s,l,d,h){var m=l+a(d)+(h?"_"+a(h):"");if(s[pn]&&s[pn][m])return this;var g=function(x){return d.call(h||s,x||window.event)},v=g;!fe.touchNative&&fe.pointer&&l.indexOf("touch")===0?g=mM(s,l,g):fe.touch&&l==="dblclick"?g=xM(s,g):"addEventListener"in s?l==="touchstart"||l==="touchmove"||l==="wheel"||l==="mousewheel"?s.addEventListener(Rh[l]||l,g,fe.passiveEvents?{passive:!1}:!1):l==="mouseenter"||l==="mouseleave"?(g=function(x){x=x||window.event,Nh(s,x)&&v(x)},s.addEventListener(Rh[l],g,!1)):s.addEventListener(l,v,!1):s.attachEvent("on"+l,g),s[pn]=s[pn]||{},s[pn][m]=g}function Ph(s,l,d,h,m){m=m||l+a(d)+(h?"_"+a(h):"");var g=s[pn]&&s[pn][m];if(!g)return this;!fe.touchNative&&fe.pointer&&l.indexOf("touch")===0?pM(s,l,g):fe.touch&&l==="dblclick"?DM(s,g):"removeEventListener"in s?s.removeEventListener(Rh[l]||l,g,!1):s.detachEvent("on"+l,g),s[pn][m]=null}function Fr(s){return s.stopPropagation?s.stopPropagation():s.originalEvent?s.originalEvent._stopped=!0:s.cancelBubble=!0,this}function Fh(s){return Oh(s,"wheel",Fr),this}function Js(s){return Oe(s,"mousedown touchstart dblclick contextmenu",Fr),s._leaflet_disable_click=!0,this}function Gt(s){return s.preventDefault?s.preventDefault():s.returnValue=!1,this}function Nr(s){return Gt(s),Fr(s),this}function Cb(s){if(s.composedPath)return s.composedPath();for(var l=[],d=s.target;d;)l.push(d),d=d.parentNode;return l}function Eb(s,l){if(!l)return new O(s.clientX,s.clientY);var d=Ah(l),h=d.boundingClientRect;return new O((s.clientX-h.left)/d.x-l.clientLeft,(s.clientY-h.top)/d.y-l.clientTop)}var IM=fe.linux&&fe.chrome?window.devicePixelRatio:fe.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function Ib(s){return fe.edge?s.wheelDeltaY/2:s.deltaY&&s.deltaMode===0?-s.deltaY/IM:s.deltaY&&s.deltaMode===1?-s.deltaY*20:s.deltaY&&s.deltaMode===2?-s.deltaY*60:s.deltaX||s.deltaZ?0:s.wheelDelta?(s.wheelDeltaY||s.wheelDelta)/2:s.detail&&Math.abs(s.detail)<32765?-s.detail*20:s.detail?s.detail/-32765*60:0}function Nh(s,l){var d=l.relatedTarget;if(!d)return!0;try{for(;d&&d!==s;)d=d.parentNode}catch{return!1}return d!==s}var MM={__proto__:null,on:Oe,off:lt,stopPropagation:Fr,disableScrollPropagation:Fh,disableClickPropagation:Js,preventDefault:Gt,stop:Nr,getPropagationPath:Cb,getMousePosition:Eb,getWheelDelta:Ib,isExternalTarget:Nh,addListener:Oe,removeListener:lt},Mb=ar.extend({run:function(s,l,d,h){this.stop(),this._el=s,this._inProgress=!0,this._duration=d||.25,this._easeOutPower=1/Math.max(h||.5,.2),this._startPos=Pr(s),this._offset=l.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=ft(this._animate,this),this._step()},_step:function(s){var l=+new Date-this._startTime,d=this._duration*1e3;l<d?this._runFrame(this._easeOut(l/d),s):(this._runFrame(1),this._complete())},_runFrame:function(s,l){var d=this._startPos.add(this._offset.multiplyBy(s));l&&d._round(),Tt(this._el,d),this.fire("step")},_complete:function(){Ct(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(s){return 1-Math.pow(1-s,this._easeOutPower)}}),Qe=ar.extend({options:{crs:Rr,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(s,l){l=y(this,l),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(s),this._initLayout(),this._onResize=r(this._onResize,this),this._initEvents(),l.maxBounds&&this.setMaxBounds(l.maxBounds),l.zoom!==void 0&&(this._zoom=this._limitZoom(l.zoom)),l.center&&l.zoom!==void 0&&this.setView(le(l.center),l.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=Zs&&fe.any3d&&!fe.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),Oe(this._proxy,yb,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(s,l,d){if(l=l===void 0?this._zoom:this._limitZoom(l),s=this._limitCenter(le(s),l,this.options.maxBounds),d=d||{},this._stop(),this._loaded&&!d.reset&&d!==!0){d.animate!==void 0&&(d.zoom=e({animate:d.animate},d.zoom),d.pan=e({animate:d.animate,duration:d.duration},d.pan));var h=this._zoom!==l?this._tryAnimatedZoom&&this._tryAnimatedZoom(s,l,d.zoom):this._tryAnimatedPan(s,d.pan);if(h)return clearTimeout(this._sizeTimer),this}return this._resetView(s,l,d.pan&&d.pan.noMoveStart),this},setZoom:function(s,l){return this._loaded?this.setView(this.getCenter(),s,{zoom:l}):(this._zoom=s,this)},zoomIn:function(s,l){return s=s||(fe.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+s,l)},zoomOut:function(s,l){return s=s||(fe.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-s,l)},setZoomAround:function(s,l,d){var h=this.getZoomScale(l),m=this.getSize().divideBy(2),g=s instanceof O?s:this.latLngToContainerPoint(s),v=g.subtract(m).multiplyBy(1-1/h),x=this.containerPointToLatLng(m.add(v));return this.setView(x,l,{zoom:d})},_getBoundsCenterZoom:function(s,l){l=l||{},s=s.getBounds?s.getBounds():Ye(s);var d=F(l.paddingTopLeft||l.padding||[0,0]),h=F(l.paddingBottomRight||l.padding||[0,0]),m=this.getBoundsZoom(s,!1,d.add(h));if(m=typeof l.maxZoom=="number"?Math.min(l.maxZoom,m):m,m===1/0)return{center:s.getCenter(),zoom:m};var g=h.subtract(d).divideBy(2),v=this.project(s.getSouthWest(),m),x=this.project(s.getNorthEast(),m),k=this.unproject(v.add(x).divideBy(2).add(g),m);return{center:k,zoom:m}},fitBounds:function(s,l){if(s=Ye(s),!s.isValid())throw new Error("Bounds are not valid.");var d=this._getBoundsCenterZoom(s,l);return this.setView(d.center,d.zoom,l)},fitWorld:function(s){return this.fitBounds([[-90,-180],[90,180]],s)},panTo:function(s,l){return this.setView(s,this._zoom,{pan:l})},panBy:function(s,l){if(s=F(s).round(),l=l||{},!s.x&&!s.y)return this.fire("moveend");if(l.animate!==!0&&!this.getSize().contains(s))return this._resetView(this.unproject(this.project(this.getCenter()).add(s)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new Mb,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),l.noMoveStart||this.fire("movestart"),l.animate!==!1){Be(this._mapPane,"leaflet-pan-anim");var d=this._getMapPanePos().subtract(s).round();this._panAnim.run(this._mapPane,d,l.duration||.25,l.easeLinearity)}else this._rawPanBy(s),this.fire("move").fire("moveend");return this},flyTo:function(s,l,d){if(d=d||{},d.animate===!1||!fe.any3d)return this.setView(s,l,d);this._stop();var h=this.project(this.getCenter()),m=this.project(s),g=this.getSize(),v=this._zoom;s=le(s),l=l===void 0?v:l;var x=Math.max(g.x,g.y),k=x*this.getZoomScale(v,l),P=m.distanceTo(h)||1,K=1.42,ve=K*K;function He(At){var Ql=At?-1:1,pk=At?k:x,gk=k*k-x*x+Ql*ve*ve*P*P,_k=2*pk*ve*P,qh=gk/_k,av=Math.sqrt(qh*qh+1)-qh,bk=av<1e-9?-18:Math.log(av);return bk}function ai(At){return(Math.exp(At)-Math.exp(-At))/2}function Ht(At){return(Math.exp(At)+Math.exp(-At))/2}function ji(At){return ai(At)/Ht(At)}var mi=He(0);function Lo(At){return x*(Ht(mi)/Ht(mi+K*At))}function uk(At){return x*(Ht(mi)*ji(mi+K*At)-ai(mi))/ve}function hk(At){return 1-Math.pow(1-At,1.5)}var fk=Date.now(),ov=(He(1)-mi)/K,mk=d.duration?1e3*d.duration:1e3*ov*.8;function sv(){var At=(Date.now()-fk)/mk,Ql=hk(At)*ov;At<=1?(this._flyToFrame=ft(sv,this),this._move(this.unproject(h.add(m.subtract(h).multiplyBy(uk(Ql)/P)),v),this.getScaleZoom(x/Lo(Ql),v),{flyTo:!0})):this._move(s,l)._moveEnd(!0)}return this._moveStart(!0,d.noMoveStart),sv.call(this),this},flyToBounds:function(s,l){var d=this._getBoundsCenterZoom(s,l);return this.flyTo(d.center,d.zoom,l)},setMaxBounds:function(s){return s=Ye(s),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),s.isValid()?(this.options.maxBounds=s,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(s){var l=this.options.minZoom;return this.options.minZoom=s,this._loaded&&l!==s&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(s):this},setMaxZoom:function(s){var l=this.options.maxZoom;return this.options.maxZoom=s,this._loaded&&l!==s&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(s):this},panInsideBounds:function(s,l){this._enforcingBounds=!0;var d=this.getCenter(),h=this._limitCenter(d,this._zoom,Ye(s));return d.equals(h)||this.panTo(h,l),this._enforcingBounds=!1,this},panInside:function(s,l){l=l||{};var d=F(l.paddingTopLeft||l.padding||[0,0]),h=F(l.paddingBottomRight||l.padding||[0,0]),m=this.project(this.getCenter()),g=this.project(s),v=this.getPixelBounds(),x=Je([v.min.add(d),v.max.subtract(h)]),k=x.getSize();if(!x.contains(g)){this._enforcingBounds=!0;var P=g.subtract(x.getCenter()),K=x.extend(g).getSize().subtract(k);m.x+=P.x<0?-K.x:K.x,m.y+=P.y<0?-K.y:K.y,this.panTo(this.unproject(m),l),this._enforcingBounds=!1}return this},invalidateSize:function(s){if(!this._loaded)return this;s=e({animate:!1,pan:!0},s===!0?{animate:!0}:s);var l=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var d=this.getSize(),h=l.divideBy(2).round(),m=d.divideBy(2).round(),g=h.subtract(m);return!g.x&&!g.y?this:(s.animate&&s.pan?this.panBy(g):(s.pan&&this._rawPanBy(g),this.fire("move"),s.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(r(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:l,newSize:d}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(s){if(s=this._locateOptions=e({timeout:1e4,watch:!1},s),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var l=r(this._handleGeolocationResponse,this),d=r(this._handleGeolocationError,this);return s.watch?this._locationWatchId=navigator.geolocation.watchPosition(l,d,s):navigator.geolocation.getCurrentPosition(l,d,s),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(s){if(this._container._leaflet_id){var l=s.code,d=s.message||(l===1?"permission denied":l===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:l,message:"Geolocation error: "+d+"."})}},_handleGeolocationResponse:function(s){if(this._container._leaflet_id){var l=s.coords.latitude,d=s.coords.longitude,h=new $e(l,d),m=h.toBounds(s.coords.accuracy*2),g=this._locateOptions;if(g.setView){var v=this.getBoundsZoom(m);this.setView(h,g.maxZoom?Math.min(v,g.maxZoom):v)}var x={latlng:h,bounds:m,timestamp:s.timestamp};for(var k in s.coords)typeof s.coords[k]=="number"&&(x[k]=s.coords[k]);this.fire("locationfound",x)}},addHandler:function(s,l){if(!l)return this;var d=this[s]=new l(this);return this._handlers.push(d),this.options[s]&&d.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),vt(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(Ct(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var s;for(s in this._layers)this._layers[s].remove();for(s in this._panes)vt(this._panes[s]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(s,l){var d="leaflet-pane"+(s?" leaflet-"+s.replace("Pane","")+"-pane":""),h=tt("div",d,l||this._mapPane);return s&&(this._panes[s]=h),h},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var s=this.getPixelBounds(),l=this.unproject(s.getBottomLeft()),d=this.unproject(s.getTopRight());return new dt(l,d)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(s,l,d){s=Ye(s),d=F(d||[0,0]);var h=this.getZoom()||0,m=this.getMinZoom(),g=this.getMaxZoom(),v=s.getNorthWest(),x=s.getSouthEast(),k=this.getSize().subtract(d),P=Je(this.project(x,h),this.project(v,h)).getSize(),K=fe.any3d?this.options.zoomSnap:1,ve=k.x/P.x,He=k.y/P.y,ai=l?Math.max(ve,He):Math.min(ve,He);return h=this.getScaleZoom(ai,h),K&&(h=Math.round(h/(K/100))*(K/100),h=l?Math.ceil(h/K)*K:Math.floor(h/K)*K),Math.max(m,Math.min(g,h))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new O(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(s,l){var d=this._getTopLeftPoint(s,l);return new ce(d,d.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(s){return this.options.crs.getProjectedBounds(s===void 0?this.getZoom():s)},getPane:function(s){return typeof s=="string"?this._panes[s]:s},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(s,l){var d=this.options.crs;return l=l===void 0?this._zoom:l,d.scale(s)/d.scale(l)},getScaleZoom:function(s,l){var d=this.options.crs;l=l===void 0?this._zoom:l;var h=d.zoom(s*d.scale(l));return isNaN(h)?1/0:h},project:function(s,l){return l=l===void 0?this._zoom:l,this.options.crs.latLngToPoint(le(s),l)},unproject:function(s,l){return l=l===void 0?this._zoom:l,this.options.crs.pointToLatLng(F(s),l)},layerPointToLatLng:function(s){var l=F(s).add(this.getPixelOrigin());return this.unproject(l)},latLngToLayerPoint:function(s){var l=this.project(le(s))._round();return l._subtract(this.getPixelOrigin())},wrapLatLng:function(s){return this.options.crs.wrapLatLng(le(s))},wrapLatLngBounds:function(s){return this.options.crs.wrapLatLngBounds(Ye(s))},distance:function(s,l){return this.options.crs.distance(le(s),le(l))},containerPointToLayerPoint:function(s){return F(s).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(s){return F(s).add(this._getMapPanePos())},containerPointToLatLng:function(s){var l=this.containerPointToLayerPoint(F(s));return this.layerPointToLatLng(l)},latLngToContainerPoint:function(s){return this.layerPointToContainerPoint(this.latLngToLayerPoint(le(s)))},mouseEventToContainerPoint:function(s){return Eb(s,this._container)},mouseEventToLayerPoint:function(s){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(s))},mouseEventToLatLng:function(s){return this.layerPointToLatLng(this.mouseEventToLayerPoint(s))},_initContainer:function(s){var l=this._container=wb(s);if(l){if(l._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");Oe(l,"scroll",this._onScroll,this),this._containerId=a(l)},_initLayout:function(){var s=this._container;this._fadeAnimated=this.options.fadeAnimation&&fe.any3d,Be(s,"leaflet-container"+(fe.touch?" leaflet-touch":"")+(fe.retina?" leaflet-retina":"")+(fe.ielt9?" leaflet-oldie":"")+(fe.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var l=Ys(s,"position");l!=="absolute"&&l!=="relative"&&l!=="fixed"&&l!=="sticky"&&(s.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var s=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Tt(this._mapPane,new O(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Be(s.markerPane,"leaflet-zoom-hide"),Be(s.shadowPane,"leaflet-zoom-hide"))},_resetView:function(s,l,d){Tt(this._mapPane,new O(0,0));var h=!this._loaded;this._loaded=!0,l=this._limitZoom(l),this.fire("viewprereset");var m=this._zoom!==l;this._moveStart(m,d)._move(s,l)._moveEnd(m),this.fire("viewreset"),h&&this.fire("load")},_moveStart:function(s,l){return s&&this.fire("zoomstart"),l||this.fire("movestart"),this},_move:function(s,l,d,h){l===void 0&&(l=this._zoom);var m=this._zoom!==l;return this._zoom=l,this._lastCenter=s,this._pixelOrigin=this._getNewPixelOrigin(s),h?d&&d.pinch&&this.fire("zoom",d):((m||d&&d.pinch)&&this.fire("zoom",d),this.fire("move",d)),this},_moveEnd:function(s){return s&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return Ct(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(s){Tt(this._mapPane,this._getMapPanePos().subtract(s))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(s){this._targets={},this._targets[a(this._container)]=this;var l=s?lt:Oe;l(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&l(window,"resize",this._onResize,this),fe.any3d&&this.options.transform3DLimit&&(s?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){Ct(this._resizeRequest),this._resizeRequest=ft(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var s=this._getMapPanePos();Math.max(Math.abs(s.x),Math.abs(s.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(s,l){for(var d=[],h,m=l==="mouseout"||l==="mouseover",g=s.target||s.srcElement,v=!1;g;){if(h=this._targets[a(g)],h&&(l==="click"||l==="preclick")&&this._draggableMoved(h)){v=!0;break}if(h&&h.listens(l,!0)&&(m&&!Nh(g,s)||(d.push(h),m))||g===this._container)break;g=g.parentNode}return!d.length&&!v&&!m&&this.listens(l,!0)&&(d=[this]),d},_isClickDisabled:function(s){for(;s&&s!==this._container;){if(s._leaflet_disable_click)return!0;s=s.parentNode}},_handleDOMEvent:function(s){var l=s.target||s.srcElement;if(!(!this._loaded||l._leaflet_disable_events||s.type==="click"&&this._isClickDisabled(l))){var d=s.type;d==="mousedown"&&Th(l),this._fireDOMEvent(s,d)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(s,l,d){if(s.type==="click"){var h=e({},s);h.type="preclick",this._fireDOMEvent(h,h.type,d)}var m=this._findEventTargets(s,l);if(d){for(var g=[],v=0;v<d.length;v++)d[v].listens(l,!0)&&g.push(d[v]);m=g.concat(m)}if(m.length){l==="contextmenu"&&Gt(s);var x=m[0],k={originalEvent:s};if(s.type!=="keypress"&&s.type!=="keydown"&&s.type!=="keyup"){var P=x.getLatLng&&(!x._radius||x._radius<=10);k.containerPoint=P?this.latLngToContainerPoint(x.getLatLng()):this.mouseEventToContainerPoint(s),k.layerPoint=this.containerPointToLayerPoint(k.containerPoint),k.latlng=P?x.getLatLng():this.layerPointToLatLng(k.layerPoint)}for(v=0;v<m.length;v++)if(m[v].fire(l,k,!0),k.originalEvent._stopped||m[v].options.bubblingMouseEvents===!1&&Ne(this._mouseEvents,l)!==-1)return}},_draggableMoved:function(s){return s=s.dragging&&s.dragging.enabled()?s:this,s.dragging&&s.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var s=0,l=this._handlers.length;s<l;s++)this._handlers[s].disable()},whenReady:function(s,l){return this._loaded?s.call(l||this,{target:this}):this.on("load",s,l),this},_getMapPanePos:function(){return Pr(this._mapPane)||new O(0,0)},_moved:function(){var s=this._getMapPanePos();return s&&!s.equals([0,0])},_getTopLeftPoint:function(s,l){var d=s&&l!==void 0?this._getNewPixelOrigin(s,l):this.getPixelOrigin();return d.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(s,l){var d=this.getSize()._divideBy(2);return this.project(s,l)._subtract(d)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(s,l,d){var h=this._getNewPixelOrigin(d,l);return this.project(s,l)._subtract(h)},_latLngBoundsToNewLayerBounds:function(s,l,d){var h=this._getNewPixelOrigin(d,l);return Je([this.project(s.getSouthWest(),l)._subtract(h),this.project(s.getNorthWest(),l)._subtract(h),this.project(s.getSouthEast(),l)._subtract(h),this.project(s.getNorthEast(),l)._subtract(h)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(s){return this.latLngToLayerPoint(s).subtract(this._getCenterLayerPoint())},_limitCenter:function(s,l,d){if(!d)return s;var h=this.project(s,l),m=this.getSize().divideBy(2),g=new ce(h.subtract(m),h.add(m)),v=this._getBoundsOffset(g,d,l);return Math.abs(v.x)<=1&&Math.abs(v.y)<=1?s:this.unproject(h.add(v),l)},_limitOffset:function(s,l){if(!l)return s;var d=this.getPixelBounds(),h=new ce(d.min.add(s),d.max.add(s));return s.add(this._getBoundsOffset(h,l))},_getBoundsOffset:function(s,l,d){var h=Je(this.project(l.getNorthEast(),d),this.project(l.getSouthWest(),d)),m=h.min.subtract(s.min),g=h.max.subtract(s.max),v=this._rebound(m.x,-g.x),x=this._rebound(m.y,-g.y);return new O(v,x)},_rebound:function(s,l){return s+l>0?Math.round(s-l)/2:Math.max(0,Math.ceil(s))-Math.max(0,Math.floor(l))},_limitZoom:function(s){var l=this.getMinZoom(),d=this.getMaxZoom(),h=fe.any3d?this.options.zoomSnap:1;return h&&(s=Math.round(s/h)*h),Math.max(l,Math.min(d,s))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){Et(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(s,l){var d=this._getCenterOffset(s)._trunc();return(l&&l.animate)!==!0&&!this.getSize().contains(d)?!1:(this.panBy(d,l),!0)},_createAnimProxy:function(){var s=this._proxy=tt("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(s),this.on("zoomanim",function(l){var d=Dh,h=this._proxy.style[d];Or(this._proxy,this.project(l.center,l.zoom),this.getZoomScale(l.zoom,1)),h===this._proxy.style[d]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){vt(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var s=this.getCenter(),l=this.getZoom();Or(this._proxy,this.project(s,l),this.getZoomScale(l,1))},_catchTransitionEnd:function(s){this._animatingZoom&&s.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(s,l,d){if(this._animatingZoom)return!0;if(d=d||{},!this._zoomAnimated||d.animate===!1||this._nothingToAnimate()||Math.abs(l-this._zoom)>this.options.zoomAnimationThreshold)return!1;var h=this.getZoomScale(l),m=this._getCenterOffset(s)._divideBy(1-1/h);return d.animate!==!0&&!this.getSize().contains(m)?!1:(ft(function(){this._moveStart(!0,d.noMoveStart||!1)._animateZoom(s,l,!0)},this),!0)},_animateZoom:function(s,l,d,h){this._mapPane&&(d&&(this._animatingZoom=!0,this._animateToCenter=s,this._animateToZoom=l,Be(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:s,zoom:l,noUpdate:h}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(r(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&Et(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function kM(s,l){return new Qe(s,l)}var Yi=Wt.extend({options:{position:"topright"},initialize:function(s){y(this,s)},getPosition:function(){return this.options.position},setPosition:function(s)