function GetFeatureInfoOfWMS(n){if(typeof GetIfMapWMSLayerClick=="function"&&GetIfMapWMSLayerClick()&&(M.HasLayer(wmsLayerGrp)||typeof piOrgLayer!="undefined"&&M.HasLayer(piOrgLayer))&&(infoContentArray=[],infoPIContentArray=[],wmsGroupArray=[],wmsExtLatlng=n.latlng,typeof piOrgLayer!="undefined"&&M.HasLayer(piOrgLayer)&&piOrgLayer.eachLayer(function(n){CreateWMSGroupArray(n)}),M.HasLayer(wmsLayerGrp)&&wmsLayerGrp.eachLayer(function(n){CreateWMSGroupArray(n)}),wmsGroupArray.length>0)){var t=0;showAjaxIndicator();wmsGroupArray.forEach(function(n){if(n!=undefined){var i=GetFeatureInfoUrl(wmsExtLatlng,n.url,n.crs,n.version,n.format,n.infoFormat,n.layerName,n.isCORSRestricted,n.corsURL,n.viewparams),r="json";n.infoFormat=="text/html"&&(r="html");$.ajax({url:i,type:"GET",dataType:r,success:function(t){if(t!=undefined&&t!="")if(n.infoFormat=="text/html"){var r="<div class='popcontent'><h3><span class='floatLeft' style='height: 7px;'><\/span><\/h3><div style='max-height:350px;max-width:inherit;overflow-y:auto; overflor-x:auto;'><iframe src='"+i+"' sandbox='allow-scripts allow-same-origin' frameborder='0' scrolling='yes' marginheight='0' marginwidth='0' style='overflow-x:auto; overflow-y:auto;display: block;' height='100%' width='100%' horizontalscrolling='yes' verticalscrolling='yes'><\/iframe><\/div><\/div>",u={data:r};infoContentArray.push(u)}else jQuery.type(t)==="string"&&(t=JSON.parse(t)),t.type&&t.type=="FeatureCollection"&&t.features!=undefined&&t.features.length>0&&t.features.forEach(function(t){var i=CreateWFSHtmlContent(t,n.isExtWMS),r={data:i},u;n.isExtWMS?(infoContentArray==undefined&&(infoContentArray=[]),infoContentArray.push(r)):IsPIContentExists(i)||(u={data:i},infoPIContentArray.push(u),infoContentArray==undefined&&(infoContentArray=[]),infoContentArray.push(r))})},error:function(){},complete:function(){t=t+1;t==wmsGroupArray.length&&CombinePIAndExt()}})}})}}function CreateWMSGroupArray(n){var i,t,r;n.options!=undefined&&n.options.minZoom<=M.map.getZoom()&&(i=undefined,wmsGroupArray.length>0&&(t=$.grep(wmsGroupArray,function(t){return t.url==n._url&&t.crs.code==n._crs.code}),t!=undefined&&t.length!=0&&(r=t[0].layerName.split(","),r.indexOf(n.wmsParams.layers)<0&&(t[0].layerName=t[0].layerName+","+n.wmsParams.layers))),i==undefined&&(t==undefined||t!=undefined&&t.length==0)&&(i={url:n._url,crs:n._crs,version:n.wmsParams.version,format:n.wmsParams.format,infoFormat:n.wmsParams.info_format,layerName:n.wmsParams.layers,isCORSRestricted:n.wmsParams.isCORSRestricted,corsURL:n.wmsParams.corsURL,isExtWMS:n.wmsParams.isExtWMS,viewparams:n.wmsParams.viewparams},wmsGroupArray.push(i)))}function IsPIContentExists(n){var t=$.grep(infoPIContentArray,function(t){return t.data==n});return t!=null&&t.length>0?!0:!1}function CombinePIAndExt(){hideAjaxIndicator();infoPIContentArray=null;infoContentArray!=undefined&&infoContentArray.length>0&&ShowInfoPopupWMS(1,infoContentArray.length,!1)}function GetFeatureInfoUrl(n,t,i,r,u,f,e,o,s,h){var a=M.map.latLngToContainerPoint(n,M.map.getZoom()),v=M.map.getSize(),y=parseFloat(r)>=1.3?M.Map.GetBBoxStringV1_0_0():M.Map.GetBBoxString();if(i.code.indexOf("4326")==-1&&i.projection._proj!=undefined){var p=M.map.getBounds(),c=p.getSouthWest(),l=p.getNorthEast();c=i.projection._proj.forward([c.lng,c.lat]);l=i.projection._proj.forward([l.lng,l.lat]);y=[c.join(","),l.join(",")].join(",")}return params={request:"GetFeatureInfo",service:"WMS",version:r,format:u,bbox:y,height:v.y,width:v.x,layers:e,query_layers:e,info_format:f,feature_count:30},h!=undefined&&h.trim()!=""&&(params.viewparams=h),params[parseFloat(params.version)>=1.3?"crs":"srs"]=i.code,params[params.version==="1.3.0"?"i":"x"]=a.x,params[params.version==="1.3.0"?"j":"y"]=a.y,t.indexOf("GetWMSLayerImage")>=0?(metName="GetWMSLayerJsonInfo",f=="text/html"&&(metName="GetWMSLayerHtmlInfo"),t=t.replace("GetWMSLayerImage",metName)):o&&o=="true"&&(metName="GetWMSLayerJsonInfoCORS",f=="text/html"&&(metName="GetWMSLayerHtmlInfoCORS"),t=s.replace("GetWMSLayerJsonInfoCORS",metName)+"?"+t),t+L.Util.getParamString(params,t,!0)}function ShowInfoPopupWMS(n,t,i){var r=infoContentArray[n-1],u;r!=undefined&&(u=r.data,GetHTMLForInfoPopupWMS(u,n,t,i))}function GetHTMLForInfoPopupWMS(n,t,i,r){var u,f;try{n=decodeURIComponent(n)}catch(e){}(t!=1||i!=1)&&(u=i.toString().length,n=n+' <div style="font-weight:bold; font-size:15px; color: '+_themeColor+'; padding-left:5px;text-align: center;">',n=t!=1?n+'<a id="aBack" hreaf="#" onclick="ShowInfoPopupWMS('+(t-1)+","+i+', true)" ><span class="glyphicon glyphicon-triangle-left" style="width:17px; cursor:pointer;" title='+paginatorPrevious+" ><\/span><\/a> ":n+'<span class="glyphicon glyphicon-triangle-left" style="width:17px; color: #434141;" ><\/span> ',n=n+" "+pad(t,u)+" - "+pad(i,u)+" ",n=t<i?n+'<a id="aBack" hreaf="#" onclick="ShowInfoPopupWMS('+(t+1)+","+i+', true)" ><span class="glyphicon glyphicon-triangle-right" style="width:17px; cursor:pointer;"  title='+paginatorNext+"><\/span><\/a> ":n+'<span class="glyphicon glyphicon-triangle-right"style="width:17px; color: #434141;" ><\/span> ',n=n+"<\/div>");r&&M.map._popup._isOpen?(f=M.map._popup,M.map._popup.setContent(n)):(M.map._popup&&M.map._popup._isOpen&&M.map._popup._close(),f=L.popup({closeButton:!0,className:"custom popupContainer"}).setLatLng(wmsExtLatlng).setContent(n).openOn(M.map));typeof MakePopupResizableAndDraggable=="function"&&MakePopupResizableAndDraggable(f,r)}var MarkerClusterGroup,MarkerCluster,infoContentArray,wmsExtLatlng,popupLocation,wmsGroupArray,infoPIContentArray;(function(n,t){typeof exports=="object"&&typeof module!="undefined"?t(exports):typeof define=="function"&&define.amd?define(["exports"],t):t(n.L={})})(this,function(n){"use strict";function s(n){for(var i,r,t=1,u=arguments.length;t<u;t++){r=arguments[t];for(i in r)n[i]=r[i]}return n}function c(n,t){var i=Array.prototype.slice,r;return n.bind?n.bind.apply(n,i.call(arguments,1)):(r=i.call(arguments,2),function(){return n.apply(t,r.length?r.concat(i.call(arguments)):arguments)})}function o(n){return n._leaflet_id=n._leaflet_id||++hf,n._leaflet_id}function cf(n,t,i){var u,r,f,e;return e=function(){u=!1;r&&(f.apply(i,r),r=!1)},f=function(){u?r=arguments:(n.apply(i,arguments),setTimeout(e,t),u=!0)}}function ar(n,t,i){var f=t[1],r=t[0],u=f-r;return n===f&&i?n:((n-r)%u+u)%u+r}function d(){return!1}function yt(n,t){var i=Math.pow(10,t===undefined?6:t);return Math.round(n*i)/i}function lf(n){return n.trim?n.trim():n.replace(/^\s+|\s+$/g,"")}function wi(n){return lf(n).split(/\s+/)}function l(n,t){n.hasOwnProperty("options")||(n.options=n.options?lr(n.options):{});for(var i in t)n.options[i]=t[i];return n.options}function fs(n,t,i){var u=[];for(var r in n)u.push(encodeURIComponent(i?r.toUpperCase():r)+"="+encodeURIComponent(n[r]));return(!t||t.indexOf("?")===-1?"?":"&")+u.join("&")}function os(n,t){return n.replace(es,function(n,i){var r=t[i];if(r===undefined)throw new Error("No value provided for variable "+n);else typeof r=="function"&&(r=r(t));return r})}function ss(n,t){for(var i=0;i<n.length;i++)if(n[i]===t)return i;return-1}function af(n){return window["webkit"+n]||window["moz"+n]||window["ms"+n]}function hs(n){var t=+new Date,i=Math.max(0,16-(t-vf));return vf=t+i,window.setTimeout(n,i)}function g(n,t,i){if(i&&su===hs)n.call(t);else return su.call(window,c(n,t))}function nt(n){n&&yf.call(window,n)}function gt(){}function vc(n){if(typeof L!="undefined"&&L&&L.Mixin){n=ht(n)?n:[n];for(var t=0;t<n.length;t++)n[t]===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)}}function t(n,t,i){this.x=i?Math.round(n):n;this.y=i?Math.round(t):t}function i(n,i,r){return n instanceof t?n:ht(n)?new t(n[0],n[1]):n===undefined||n===null?n:typeof n=="object"&&"x"in n&&"y"in n?new t(n.x,n.y):new t(n,i,r)}function v(n,t){var r,i,u;if(n)for(r=t?[n,t]:n,i=0,u=r.length;i<u;i++)this.extend(r[i])}function ct(n,t){return!n||n instanceof v?n:new v(n,t)}function it(n,t){var r,i,u;if(n)for(r=t?[n,t]:n,i=0,u=r.length;i<u;i++)this.extend(r[i])}function k(n,t){return n instanceof it?n:new it(n,t)}function h(n,t,i){if(isNaN(n)||isNaN(t))throw new Error("Invalid LatLng object: ("+n+", "+t+")");this.lat=+n;this.lng=+t;i!==undefined&&(this.alt=+i)}function y(n,t,i){return n instanceof h?n:ht(n)&&typeof n[0]!="object"?n.length===3?new h(n[0],n[1],n[2]):n.length===2?new h(n[0],n[1]):null:n===undefined||n===null?n:typeof n=="object"&&"lat"in n?new h(n.lat,"lng"in n?n.lng:n.lon,n.alt):t===undefined?null:new h(n,t,i)}function bf(n,t,i,r){if(ht(n)){this._a=n[0];this._b=n[1];this._c=n[2];this._d=n[3];return}this._a=n;this._b=t;this._c=i;this._d=r}function yr(n,t,i,r){return new bf(n,t,i,r)}function as(n){return document.createElementNS("http://www.w3.org/2000/svg",n)}function vs(n,t){for(var u="",i,s,f,e,r=0,o=n.length;r<o;r++){for(f=n[r],i=0,s=f.length;i<s;i++)e=f[i],u+=(i?"L":"M")+e.x+" "+e.y;u+=t?lu?"z":"x":""}return u||"M0 0"}function wt(n){return navigator.userAgent.toLowerCase().indexOf(n)>=0}function gc(n,t,i,r){return t==="touchstart"?tl(n,i,r):t==="touchmove"?ul(n,i,r):t==="touchend"&&fl(n,i,r),this}function nl(n,t,i){var r=n["_leaflet_"+t+i];return t==="touchstart"?n.removeEventListener(re,r,!1):t==="touchmove"?n.removeEventListener(ue,r,!1):t==="touchend"&&(n.removeEventListener(fe,r,!1),n.removeEventListener(ee,r,!1)),this}function tl(n,t,i){var r=c(function(n){if(n.pointerType!=="mouse"&&n.MSPOINTER_TYPE_MOUSE&&n.pointerType!==n.MSPOINTER_TYPE_MOUSE)if(dc.indexOf(n.target.tagName)<0)ot(n);else return;se(n,t)});n["_leaflet_touchstart"+i]=r;n.addEventListener(re,r,!1);th||(document.documentElement.addEventListener(re,il,!0),document.documentElement.addEventListener(ue,rl,!0),document.documentElement.addEventListener(fe,ih,!0),document.documentElement.addEventListener(ee,ih,!0),th=!0)}function il(n){nr[n.pointerId]=n;oe++}function rl(n){nr[n.pointerId]&&(nr[n.pointerId]=n)}function ih(n){delete nr[n.pointerId];oe--}function se(n,t){n.touches=[];for(var i in nr)n.touches.push(nr[i]);n.changedTouches=[n];t(n)}function ul(n,t,i){var r=function(n){(n.pointerType!==n.MSPOINTER_TYPE_MOUSE&&n.pointerType!=="mouse"||n.buttons!==0)&&se(n,t)};n["_leaflet_touchmove"+i]=r;n.addEventListener(ue,r,!1)}function fl(n,t,i){var r=function(n){se(n,t)};n["_leaflet_touchend"+i]=r;n.addEventListener(fe,r,!1);n.addEventListener(ee,r,!1)}function rh(n,t,i){function e(n){var i,t,e;if(lt){if(!pr||n.pointerType==="mouse")return;i=oe}else i=n.touches.length;i>1||(t=Date.now(),e=t-(u||t),r=n.touches?n.touches[0]:n,f=e>0&&e<=s,u=t)}function o(n){if(f&&!r.cancelBubble){if(lt){if(!pr||n.pointerType==="mouse")return;var e={},i;for(var o in r)i=r[o],e[o]=i&&i.bind?i.bind(r):i;r=e}r.type="dblclick";t(r);u=null}}var u,r,f=!1,s=250;return n[tr+vu+i]=e,n[tr+yu+i]=o,n[tr+"dblclick"+i]=t,n.addEventListener(vu,e,!1),n.addEventListener(yu,o,!1),n.addEventListener("dblclick",t,!1),this}function uh(n,t){var i=n[tr+vu+t],r=n[tr+yu+t],u=n[tr+"dblclick"+t];return n.removeEventListener(vu,i,!1),n.removeEventListener(yu,r,!1),pr||n.removeEventListener("dblclick",u,!1),this}function eh(n){return typeof n=="string"?document.getElementById(n):n}function dr(n,t){var i=n.style[t]||n.currentStyle&&n.currentStyle[t],r;return(!i||i==="auto")&&document.defaultView&&(r=document.defaultView.getComputedStyle(n,null),i=r?r[t]:null),i==="auto"?null:i}function e(n,t,i){var r=document.createElement(n);return r.className=t||"",i&&i.appendChild(r),r}function a(n){var t=n.parentNode;t&&t.removeChild(n)}function ce(n){while(n.firstChild)n.removeChild(n.firstChild)}function ir(n){var t=n.parentNode;t&&t.lastChild!==n&&t.appendChild(n)}function rr(n){var t=n.parentNode;t&&t.firstChild!==n&&t.insertBefore(n,t.firstChild)}function le(n,t){if(n.classList!==undefined)return n.classList.contains(t);var i=pu(n);return i.length>0&&new RegExp("(^|\\s)"+t+"(\\s|$)").test(i)}function r(n,t){var r,i,f,u;if(n.classList!==undefined)for(r=wi(t),i=0,f=r.length;i<f;i++)n.classList.add(r[i]);else le(n,t)||(u=pu(n),ae(n,(u?u+" ":"")+t))}function p(n,t){n.classList!==undefined?n.classList.remove(t):ae(n,lf((" "+pu(n)+" ").replace(" "+t+" "," ")))}function ae(n,t){n.className.baseVal===undefined?n.className=t:n.className.baseVal=t}function pu(n){return n.correspondingElement&&(n=n.correspondingElement),n.className.baseVal===undefined?n.className:n.className.baseVal}function ft(n,t){"opacity"in n.style?n.style.opacity=t:"filter"in n.style&&el(n,t)}function el(n,t){var i=!1,r="DXImageTransform.Microsoft.Alpha";try{i=n.filters.item(r)}catch(u){if(t===1)return}t=Math.round(t*100);i?(i.Enabled=t!==100,i.Opacity=t):n.style.filter+=" progid:"+r+"(opacity="+t+")"}function wu(n){for(var i=document.documentElement.style,t=0;t<n.length;t++)if(n[t]in i)return n[t];return!1}function si(n,i,r){var u=i||new t(0,0);n.style[he]=(te?"translate("+u.x+"px,"+u.y+"px)":"translate3d("+u.x+"px,"+u.y+"px,0)")+(r?" scale("+r+")":"")}function b(n,t){n!=undefined&&(n._leaflet_pos=t,ut?si(n,t):(n.style.left=t.x+"px",n.style.top=t.y+"px"))}function oi(n){return n._leaflet_pos||new t(0,0)}function ye(){u(window,"dragstart",ot)}function pe(){w(window,"dragstart",ot)}function be(n){while(n.tabIndex===-1)n=n.parentNode;n.style&&(ku(),bu=n,we=n.style.outline,n.style.outline="none",u(window,"keydown",ku))}function ku(){bu&&(bu.style.outline=we,bu=undefined,we=undefined,w(window,"keydown",ku))}function oh(n){do n=n.parentNode;while((!n.offsetWidth||!n.offsetHeight)&&n!==document.body);return n}function ke(n){var t=n.getBoundingClientRect();return{x:t.width/n.offsetWidth||1,y:t.height/n.offsetHeight||1,boundingClientRect:t}}function u(n,t,i,r){var f,u,e;if(typeof t=="object")for(f in t)du(n,f,t[f],i);else for(t=wi(t),u=0,e=t.length;u<e;u++)du(n,t[u],i,r);return this}function w(n,t,i,r){var f,u,o,e;if(typeof t=="object")for(f in t)de(n,f,t[f],i);else if(t)for(t=wi(t),u=0,o=t.length;u<o;u++)de(n,t[u],i,r);else{for(e in n[et])de(n,e,n[et][e]);delete n[et]}return this}function du(n,t,i,r){var f=t+o(i)+(r?"_"+o(r):""),u,e;if(n[et]&&n[et][f])return this;u=function(t){return i.call(r||n,t||window.event)};e=u;lt&&t.indexOf("touch")===0?gc(n,t,u,f):!pt||t!=="dblclick"||!rh||lt&&br?"addEventListener"in n?t==="mousewheel"?n.addEventListener("onwheel"in n?"wheel":"mousewheel",u,!1):t==="mouseenter"||t==="mouseleave"?(u=function(t){t=t||window.event;nf(n,t)&&e(t)},n.addEventListener(t==="mouseenter"?"mouseover":"mouseout",u,!1)):(t==="click"&&di&&(u=function(n){ol(n,e)}),n.addEventListener(t,u,!1)):"attachEvent"in n&&n.attachEvent("on"+t,u):rh(n,u,f);n[et]=n[et]||{};n[et][f]=u}function de(n,t,i,r){var u=t+o(i)+(r?"_"+o(r):""),f=n[et]&&n[et][u];if(!f)return this;lt&&t.indexOf("touch")===0?nl(n,t,u):!pt||t!=="dblclick"||!uh||lt&&br?"removeEventListener"in n?t==="mousewheel"?n.removeEventListener("onwheel"in n?"wheel":"mousewheel",f,!1):n.removeEventListener(t==="mouseenter"?"mouseover":t==="mouseleave"?"mouseout":t,f,!1):"detachEvent"in n&&n.detachEvent("on"+t,f):uh(n,u);n[et][u]=null}function hi(n){return n.stopPropagation?n.stopPropagation():n.originalEvent?n.originalEvent._stopped=!0:n.cancelBubble=!0,to(n),this}function ge(n){return du(n,"mousewheel",hi),this}function tu(n){return u(n,"mousedown touchstart dblclick",hi),du(n,"click",no),this}function ot(n){return n.preventDefault?n.preventDefault():n.returnValue=!1,this}function bt(n){return ot(n),hi(n),this}function hh(n,i){if(!i)return new t(n.clientX,n.clientY);var r=ke(i),u=r.boundingClientRect;return new t((n.clientX-u.left)/r.x-i.clientLeft,(n.clientY-u.top)/r.y-i.clientTop)}function lh(n){return pr?n.wheelDeltaY/2:n.deltaY&&n.deltaMode===0?-n.deltaY/ch:n.deltaY&&n.deltaMode===1?-n.deltaY*20:n.deltaY&&n.deltaMode===2?-n.deltaY*60:n.deltaX||n.deltaZ?0:n.wheelDelta?(n.wheelDeltaY||n.wheelDelta)/2:n.detail&&Math.abs(n.detail)<32765?-n.detail*20:n.detail?n.detail/-32765*60:0}function no(n){gu[n.type]=!0}function to(n){var t=gu[n.type];return gu[n.type]=!1,t}function nf(n,t){var i=t.relatedTarget;if(!i)return!0;try{while(i&&i!==n)i=i.parentNode}catch(r){return!1}return i!==n}function ol(n,t){var r=n.timeStamp||n.originalEvent&&n.originalEvent.timeStamp,i=io&&r-io;if(i&&i>100&&i<500||n.target._simulatedClick&&!n._simulated){bt(n);return}io=r;t(n)}function hl(n,t){return new f(n,t)}function kh(n,t){if(!t||!n.length)return n.slice();var i=t*t;return n=wl(n,i),pl(n,i)}function dh(n,t,i){return Math.sqrt(iu(n,t,i,!0))}function yl(n,t,i){return iu(n,t,i)}function pl(n,t){var r=n.length,e=typeof Uint8Array!=undefined+""?Uint8Array:Array,u=new e(r),i,f;for(u[0]=u[r-1]=1,eo(n,u,t,0,r-1),f=[],i=0;i<r;i++)u[i]&&f.push(n[i]);return f}function eo(n,t,i,r,u){for(var o=0,e,s,f=r+1;f<=u-1;f++)s=iu(n[f],n[r],n[u],!0),s>o&&(e=f,o=s);o>i&&(t[e]=1,eo(n,t,i,r,e),eo(n,t,i,e,u))}function wl(n,t){for(var r=[n[0]],i=1,u=0,f=n.length;i<f;i++)bl(n[i],n[u])>t&&(r.push(n[i]),u=i);return u<f-1&&r.push(n[f-1]),r}function nc(n,t,i,r,u){var f=r?gh:li(n,i),e=li(t,i),s,o,h;for(gh=e;;){if(!(f|e))return[n,t];if(f&e)return!1;s=f||e;o=tf(n,t,s,i,u);h=li(o,i);s===f?(n=o,f=h):(t=o,e=h)}}function tf(n,i,r,u,f){var s=i.x-n.x,h=i.y-n.y,c=u.min,l=u.max,e,o;return r&8?(e=n.x+s*(l.y-n.y)/h,o=l.y):r&4?(e=n.x+s*(c.y-n.y)/h,o=c.y):r&2?(e=l.x,o=n.y+h*(l.x-n.x)/s):r&1&&(e=c.x,o=n.y+h*(c.x-n.x)/s),new t(e,o,f)}function li(n,t){var i=0;return n.x<t.min.x?i|=1:n.x>t.max.x&&(i|=2),n.y<t.min.y?i|=4:n.y>t.max.y&&(i|=8),i}function bl(n,t){var i=t.x-n.x,r=t.y-n.y;return i*i+r*r}function iu(n,i,r,u){var o=i.x,s=i.y,f=r.x-o,e=r.y-s,c=f*f+e*e,h;return c>0&&(h=((n.x-o)*f+(n.y-s)*e)/c,h>1?(o=r.x,s=r.y):h>0&&(o+=f*h,s+=e*h)),f=n.x-o,e=n.y-s,u?f*f+e*e:new t(o,s)}function ti(n){return!ht(n[0])||typeof n[0][0]!="object"&&typeof n[0][0]!="undefined"}function tc(n){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),ti(n)}function rc(n,t,i){for(var e,a=[1,4,2,8],l,c,o,s,f,u,r=0,h=n.length;r<h;r++)n[r]._code=li(n[r],t);for(c=0;c<4;c++){for(f=a[c],e=[],r=0,h=n.length,l=h-1;r<h;l=r++)o=n[r],s=n[l],o._code&f?s._code&f||(u=tf(s,o,f,t,i),u._code=li(u,t),e.push(u)):(s._code&f&&(u=tf(s,o,f,t,i),u._code=li(u,t),e.push(u)),e.push(o));n=e}return n}function ra(n){return new or(n)}function ua(n,t){return new uu(n,t)}function fa(n,t){return new fu(n,t)}function ea(n,t,i){return new rf(n,t,i)}function oa(n,t){return new kt(n,t)}function sa(n,t){return new vi(n,t)}function ho(n,t){var i=n.type==="Feature"?n.geometry:n,u=i?i.coordinates:null,e=[],o=t&&t.pointToLayer,s=t&&t.coordsToLatLng||co,f,h,r,c,l;if(!u&&!i)return null;switch(i.type){case"Point":return f=s(u),o?o(n,f):new uu(f);case"MultiPoint":for(r=0,c=u.length;r<c;r++)f=s(u[r]),e.push(o?o(n,f):new uu(f));return new ai(e);case"LineString":case"MultiLineString":return h=uf(u,i.type==="LineString"?0:1,s),new kt(h,t);case"Polygon":case"MultiPolygon":return h=uf(u,i.type==="Polygon"?1:2,s),new vi(h,t);case"GeometryCollection":for(r=0,c=i.geometries.length;r<c;r++)l=ho({geometry:i.geometries[r],type:"Feature",properties:n.properties},t),l&&e.push(l);return new ai(e);default:throw new Error("Invalid GeoJSON object.");}}function co(n){return new h(n[1],n[0],n[2])}function uf(n,t,i){for(var u=[],r=0,e=n.length,f;r<e;r++)f=t?uf(n[r],t-1,i):(i||co)(n[r]),u.push(f);return u}function lo(n,t){return t=typeof t=="number"?t:6,n.alt!==undefined?[yt(n.lng,t),yt(n.lat,t),yt(n.alt,t)]:[yt(n.lng,t),yt(n.lat,t)]}function ff(n,t,i,r){for(var u=[],f=0,e=n.length;f<e;f++)u.push(t?ff(n[f],t-1,i,r):lo(n[f],r));return!t&&i&&u.push(u[0]),u}function sr(n,t){return n.feature?s({},n.feature,{geometry:t}):ef(t)}function ef(n){return n.type==="Feature"||n.type==="FeatureCollection"?n:{type:"Feature",properties:{},geometry:n}}function ec(n,t){return new dt(n,t)}function la(n,t,i){return new oc(n,t,i)}function va(n){return new vo(n)}function ya(n){return new cr(n)}function hc(n,t){return new pi(n,t)}function pa(n,t){return new yo(n,t)}function cc(n){return nh?new po(n):null}function lc(n){return lu||au?new ou(n):null}function ba(n,t){return new wo(n,t)}var us=Object.freeze,lr,hf,es,ht,vr,vf,su,yf,cs,tt,bi,pf,hu,ls,gr,nu,ve,ur,bu,we,sh,et,ch,gu,io,st,fr,ph,at,gh,ic,rt,ii,fu,rf,kt,vi,dt,of,yi,sc,vo,cr,pi,yo,vt,po,wo,bo,ko,go,ns,ts,is,rs,ac;Object.freeze=function(n){return n};lr=Object.create||function(){function n(){}return function(t){return n.prototype=t,new n}}();hf=0;es=/\{ *([\w_-]+) *\}/g;ht=Array.isArray||function(n){return Object.prototype.toString.call(n)==="[object Array]"};vr="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";vf=0;su=window.requestAnimationFrame||af("RequestAnimationFrame")||hs;yf=window.cancelAnimationFrame||af("CancelAnimationFrame")||af("CancelRequestAnimationFrame")||function(n){window.clearTimeout(n)};cs=(Object.freeze||Object)({freeze:us,extend:s,create:lr,bind:c,lastId:hf,stamp:o,throttle:cf,wrapNum:ar,falseFn:d,formatNum:yt,trim:lf,splitWords:wi,setOptions:l,getParamString:fs,template:os,isArray:ht,indexOf:ss,emptyImageUrl:vr,requestFn:su,cancelFn:yf,requestAnimFrame:g,cancelAnimFrame:nt});gt.extend=function(n){var i=function(){this.initialize&&this.initialize.apply(this,arguments);this.callInitHooks()},u=i.__super__=this.prototype,t=lr(u),r;t.constructor=i;i.prototype=t;for(r in this)this.hasOwnProperty(r)&&r!=="prototype"&&r!=="__super__"&&(i[r]=this[r]);return n.statics&&(s(i,n.statics),delete n.statics),n.includes&&(vc(n.includes),s.apply(null,[t].concat(n.includes)),delete n.includes),t.options&&(n.options=s(lr(t.options),n.options)),s(t,n),t._initHooks=[],t.callInitHooks=function(){if(!this._initHooksCalled){u.callInitHooks&&u.callInitHooks.call(this);this._initHooksCalled=!0;for(var n=0,i=t._initHooks.length;n<i;n++)t._initHooks[n].call(this)}},i};gt.include=function(n){return s(this.prototype,n),this};gt.mergeOptions=function(n){return s(this.prototype.options,n),this};gt.addInitHook=function(n){var t=Array.prototype.slice.call(arguments,1),i=typeof n=="function"?n:function(){this[n].apply(this,t)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(i),this};tt={on:function(n,t,i){var u,r,f;if(typeof n=="object")for(u in n)this._on(u,n[u],t);else for(n=wi(n),r=0,f=n.length;r<f;r++)this._on(n[r],t,i);return this},off:function(n,t,i){var u,r,f;if(n)if(typeof n=="object")for(u in n)this._off(u,n[u],t);else for(n=wi(n),r=0,f=n.length;r<f;r++)this._off(n[r],t,i);else delete this._events;return this},_on:function(n,t,i){var r,e,u,f,o;for(this._events=this._events||{},r=this._events[n],r||(r=[],this._events[n]=r),i===this&&(i=undefined),e={fn:t,ctx:i},u=r,f=0,o=u.length;f<o;f++)if(u[f].fn===t&&u[f].ctx===i)return;u.push(e)},_off:function(n,t,i){var r,u,f,e;if(this._events&&(r=this._events[n],r)){if(!t){for(u=0,f=r.length;u<f;u++)r[u].fn=d;delete this._events[n];return}if(i===this&&(i=undefined),r)for(u=0,f=r.length;u<f;u++)if((e=r[u],e.ctx===i)&&e.fn===t){e.fn=d;this._firingCount&&(this._events[n]=r=r.slice());r.splice(u,1);return}}},fire:function(n,t,i){var f,r,u,o,e;if(!this.listens(n,i))return this;if(f=s({},t,{type:n,target:this,sourceTarget:t&&t.sourceTarget||this}),this._events&&(r=this._events[n],r)){for(this._firingCount=this._firingCount+1||1,u=0,o=r.length;u<o;u++)e=r[u],e.fn.call(e.ctx||this,f);this._firingCount--}return i&&this._propagateEvent(f),this},listens:function(n,t){var i=this._events&&this._events[n],r;if(i&&i.length)return!0;if(t)for(r in this._eventParents)if(this._eventParents[r].listens(n,t))return!0;return!1},once:function(n,t,i){var r,u;if(typeof n=="object"){for(r in n)this.once(r,n[r],t);return this}u=c(function(){this.off(n,t,i).off(n,u,i)},this);return this.on(n,t,i).on(n,u,i)},addEventParent:function(n){return this._eventParents=this._eventParents||{},this._eventParents[o(n)]=n,this},removeEventParent:function(n){return this._eventParents&&delete this._eventParents[o(n)],this},_propagateEvent:function(n){for(var t in this._eventParents)this._eventParents[t].fire(n.type,s({layer:n.target,propagatedFrom:n.target},n),!0)}};tt.addEventListener=tt.on;tt.removeEventListener=tt.clearAllEventListeners=tt.off;tt.addOneTimeEventListener=tt.once;tt.fireEvent=tt.fire;tt.hasEventListeners=tt.listens;bi=gt.extend(tt);pf=Math.trunc||function(n){return n>0?Math.floor(n):Math.ceil(n)};t.prototype={clone:function(){return new t(this.x,this.y)},add:function(n){return this.clone()._add(i(n))},_add:function(n){return this.x+=n.x,this.y+=n.y,this},subtract:function(n){return this.clone()._subtract(i(n))},_subtract:function(n){return this.x-=n.x,this.y-=n.y,this},divideBy:function(n){return this.clone()._divideBy(n)},_divideBy:function(n){return this.x/=n,this.y/=n,this},multiplyBy:function(n){return this.clone()._multiplyBy(n)},_multiplyBy:function(n){return this.x*=n,this.y*=n,this},scaleBy:function(n){return new t(this.x*n.x,this.y*n.y)},unscaleBy:function(n){return new t(this.x/n.x,this.y/n.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=pf(this.x),this.y=pf(this.y),this},distanceTo:function(n){n=i(n);var t=n.x-this.x,r=n.y-this.y;return Math.sqrt(t*t+r*r)},equals:function(n){return n=i(n),n.x===this.x&&n.y===this.y},contains:function(n){return n=i(n),Math.abs(n.x)<=Math.abs(this.x)&&Math.abs(n.y)<=Math.abs(this.y)},toString:function(){return"Point("+yt(this.x)+", "+yt(this.y)+")"}};v.prototype={extend:function(n){return n=i(n),this.min||this.max?(this.min.x=Math.min(n.x,this.min.x),this.max.x=Math.max(n.x,this.max.x),this.min.y=Math.min(n.y,this.min.y),this.max.y=Math.max(n.y,this.max.y)):(this.min=n.clone(),this.max=n.clone()),this},getCenter:function(n){return new t((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,n)},getBottomLeft:function(){return new t(this.min.x,this.max.y)},getTopRight:function(){return new t(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(n){var r,u;return n=typeof n[0]=="number"||n instanceof t?i(n):ct(n),n instanceof v?(r=n.min,u=n.max):r=u=n,r.x>=this.min.x&&u.x<=this.max.x&&r.y>=this.min.y&&u.y<=this.max.y},intersects:function(n){n=ct(n);var t=this.min,i=this.max,r=n.min,u=n.max,f=u.x>=t.x&&r.x<=i.x,e=u.y>=t.y&&r.y<=i.y;return f&&e},overlaps:function(n){n=ct(n);var t=this.min,i=this.max,r=n.min,u=n.max,f=u.x>t.x&&r.x<i.x,e=u.y>t.y&&r.y<i.y;return f&&e},isValid:function(){return!!(this.min&&this.max)}};it.prototype={extend:function(n){var r=this._southWest,u=this._northEast,t,i;if(n instanceof h)t=n,i=n;else if(n instanceof it){if(t=n._southWest,i=n._northEast,!t||!i)return this}else return n?this.extend(y(n)||k(n)):this;return r||u?(r.lat=Math.min(t.lat,r.lat),r.lng=Math.min(t.lng,r.lng),u.lat=Math.max(i.lat,u.lat),u.lng=Math.max(i.lng,u.lng)):(this._southWest=new h(t.lat,t.lng),this._northEast=new h(i.lat,i.lng)),this},pad:function(n){var t=this._southWest,i=this._northEast,r=Math.abs(t.lat-i.lat)*n,u=Math.abs(t.lng-i.lng)*n;return new it(new h(t.lat-r,t.lng-u),new h(i.lat+r,i.lng+u))},getCenter:function(){return new h((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 h(this.getNorth(),this.getWest())},getSouthEast:function(){return new h(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(n){n=typeof n[0]=="number"||n instanceof h||"lat"in n?y(n):k(n);var r=this._southWest,u=this._northEast,t,i;return n instanceof it?(t=n.getSouthWest(),i=n.getNorthEast()):t=i=n,t.lat>=r.lat&&i.lat<=u.lat&&t.lng>=r.lng&&i.lng<=u.lng},intersects:function(n){n=k(n);var t=this._southWest,i=this._northEast,r=n.getSouthWest(),u=n.getNorthEast(),f=u.lat>=t.lat&&r.lat<=i.lat,e=u.lng>=t.lng&&r.lng<=i.lng;return f&&e},overlaps:function(n){n=k(n);var t=this._southWest,i=this._northEast,r=n.getSouthWest(),u=n.getNorthEast(),f=u.lat>t.lat&&r.lat<i.lat,e=u.lng>t.lng&&r.lng<i.lng;return f&&e},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(n,t){return n?(n=k(n),this._southWest.equals(n.getSouthWest(),t)&&this._northEast.equals(n.getNorthEast(),t)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};h.prototype={equals:function(n,t){if(!n)return!1;n=y(n);var i=Math.max(Math.abs(this.lat-n.lat),Math.abs(this.lng-n.lng));return i<=(t===undefined?1e-9:t)},toString:function(n){return"LatLng("+yt(this.lat,n)+", "+yt(this.lng,n)+")"},distanceTo:function(n){return ui.distance(this,y(n))},wrap:function(){return ui.wrapLatLng(this)},toBounds:function(n){var t=180*n/40075017,i=t/Math.cos(Math.PI/180*this.lat);return k([this.lat-t,this.lng-i],[this.lat+t,this.lng+i])},clone:function(){return new h(this.lat,this.lng,this.alt)}};var ni={latLngToPoint:function(n,t){var i=this.projection.project(n),r=this.scale(t);return this.transformation._transform(i,r)},pointToLatLng:function(n,t){var i=this.scale(t),r=this.transformation.untransform(n,i);return this.projection.unproject(r)},project:function(n){return this.projection.project(n)},unproject:function(n){return this.projection.unproject(n)},scale:function(n){return 256*Math.pow(2,n)},zoom:function(n){return Math.log(n/256)/Math.LN2},getProjectedBounds:function(n){if(this.infinite)return null;var t=this.projection.bounds,i=this.scale(n),r=this.transformation.transform(t.min,i),u=this.transformation.transform(t.max,i);return new v(r,u)},infinite:!1,wrapLatLng:function(n){var t=this.wrapLng?ar(n.lng,this.wrapLng,!0):n.lng,i=this.wrapLat?ar(n.lat,this.wrapLat,!0):n.lat,r=n.alt;return new h(i,t,r)},wrapLatLngBounds:function(n){var t=n.getCenter(),u=this.wrapLatLng(t),i=t.lat-u.lat,r=t.lng-u.lng;if(i===0&&r===0)return n;var f=n.getSouthWest(),e=n.getNorthEast(),o=new h(f.lat-i,f.lng-r),s=new h(e.lat-i,e.lng-r);return new it(o,s)}},ui=s({},ni,{wrapLng:[-180,180],R:6371e3,distance:function(n,t){var i=Math.PI/180,e=n.lat*i,o=t.lat*i,r=Math.sin((t.lat-n.lat)*i/2),u=Math.sin((t.lng-n.lng)*i/2),f=r*r+Math.cos(e)*Math.cos(o)*u*u,s=2*Math.atan2(Math.sqrt(f),Math.sqrt(1-f));return this.R*s}}),wf={R:6378137,MAX_LATITUDE:85.0511287798,project:function(n){var i=Math.PI/180,r=this.MAX_LATITUDE,f=Math.max(Math.min(r,n.lat),-r),u=Math.sin(f*i);return new t(this.R*n.lng*i,this.R*Math.log((1+u)/(1-u))/2)},unproject:function(n){var t=180/Math.PI;return new h((2*Math.atan(Math.exp(n.y/this.R))-Math.PI/2)*t,n.x*t/this.R)},bounds:function(){var n=6378137*Math.PI;return new v([-n,-n],[n,n])}()};bf.prototype={transform:function(n,t){return this._transform(n.clone(),t)},_transform:function(n,t){return t=t||1,n.x=t*(this._a*n.x+this._b),n.y=t*(this._c*n.y+this._d),n},untransform:function(n,i){return i=i||1,new t((n.x/i-this._b)/this._a,(n.y/i-this._d)/this._c)}};hu=s({},ui,{code:"EPSG:3857",projection:wf,transformation:function(){var n=.5/(Math.PI*wf.R);return yr(n,.5,-n,.5)}()});ls=s({},hu,{code:"EPSG:900913"});var kf=document.documentElement.style,cu="ActiveXObject"in window,ki=cu&&!document.addEventListener,pr="msLaunchUri"in navigator&&!("documentMode"in document),df=wt("webkit"),di=wt("android"),wr=wt("android 2")||wt("android 3"),yc=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),ys=di&&wt("Google")&&yc<537&&!("AudioNode"in window),gf=!!window.opera,br=wt("chrome"),ne=wt("gecko")&&!df&&!gf&&!cu,ps=!br&&wt("safari"),ws=wt("phantom"),bs="OTransition"in kf,ks=navigator.platform.indexOf("Win")===0,te=cu&&"transition"in kf,ie="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!wr,ds="MozPerspective"in kf,ut=!window.L_DISABLE_3D&&(te||ie||ds)&&!bs&&!ws,gi=typeof orientation!="undefined"||wt("mobile"),pc=gi&&df,wc=gi&&ie,fi=!window.PointerEvent&&window.MSPointerEvent,lt=!!(window.PointerEvent||fi),pt=!window.L_NO_TOUCH&&(lt||"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),gs=gi&&gf,bc=gi&&ne,ei=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,nh=function(){return!!document.createElement("canvas").getContext}(),lu=!!(document.createElementNS&&as("svg").createSVGRect),au=!lu&&function(){var t,n;try{return t=document.createElement("div"),t.innerHTML='<v:shape adj="1"/>',n=t.firstChild,n.style.behavior="url(#default#VML)",n&&typeof n.adj=="object"}catch(i){return!1}}();var kc=(Object.freeze||Object)({ie:cu,ielt9:ki,edge:pr,webkit:df,android:di,android23:wr,androidStock:ys,opera:gf,chrome:br,gecko:ne,safari:ps,phantom:ws,opera12:bs,win:ks,ie3d:te,webkit3d:ie,gecko3d:ds,any3d:ut,mobile:gi,mobileWebkit:pc,mobileWebkit3d:wc,msPointer:fi,pointer:lt,touch:pt,mobileOpera:gs,mobileGecko:bc,retina:ei,canvas:nh,svg:lu,vml:au}),re=fi?"MSPointerDown":"pointerdown",ue=fi?"MSPointerMove":"pointermove",fe=fi?"MSPointerUp":"pointerup",ee=fi?"MSPointerCancel":"pointercancel",dc=["INPUT","SELECT","OPTION"],nr={},th=!1,oe=0;var vu=fi?"MSPointerDown":lt?"pointerdown":"touchstart",yu=fi?"MSPointerUp":lt?"pointerup":"touchend",tr="_leaflet_";var he=wu(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),kr=wu(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),fh=kr==="webkitTransition"||kr==="OTransition"?kr+"End":"transitionend";"onselectstart"in document?(gr=function(){u(window,"selectstart",ot)},nu=function(){w(window,"selectstart",ot)}):(ur=wu(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]),gr=function(){if(ur){var n=document.documentElement.style;ve=n[ur];n[ur]="none"}},nu=function(){ur&&(document.documentElement.style[ur]=ve,ve=undefined)});sh=(Object.freeze||Object)({TRANSFORM:he,TRANSITION:kr,TRANSITION_END:fh,get:eh,getStyle:dr,create:e,remove:a,empty:ce,toFront:ir,toBack:rr,hasClass:le,addClass:r,removeClass:p,setClass:ae,getClass:pu,setOpacity:ft,testProp:wu,setTransform:si,setPosition:b,getPosition:oi,disableTextSelection:gr,enableTextSelection:nu,disableImageDrag:ye,enableImageDrag:pe,preventOutline:be,restoreOutline:ku,getSizedParentNode:oh,getScale:ke});et="_leaflet_events";ch=ks&&br?2*window.devicePixelRatio:ne?window.devicePixelRatio:1;gu={};var sl=(Object.freeze||Object)({on:u,off:w,stopPropagation:hi,disableScrollPropagation:ge,disableClickPropagation:tu,preventDefault:ot,stop:bt,getMousePosition:hh,getWheelDelta:lh,fakeStop:no,skipped:to,isExternalTarget:nf,addListener:u,removeListener:w}),ah=bi.extend({run:function(n,t,i,r){this.stop();this._el=n;this._inProgress=!0;this._duration=i||.25;this._easeOutPower=1/Math.max(r||.5,.2);this._startPos=oi(n);this._offset=t.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=g(this._animate,this);this._step()},_step:function(n){var t=+new Date-this._startTime,i=this._duration*1e3;t<i?this._runFrame(this._easeOut(t/i),n):(this._runFrame(1),this._complete())},_runFrame:function(n,t){var i=this._startPos.add(this._offset.multiplyBy(n));t&&i._round();b(this._el,i);this.fire("step")},_complete:function(){nt(this._animId);this._inProgress=!1;this.fire("end")},_easeOut:function(n){return 1-Math.pow(1-n,this._easeOutPower)}}),f=bi.extend({options:{crs:hu,center:undefined,zoom:undefined,minZoom:undefined,maxZoom:undefined,layers:[],maxBounds:undefined,renderer:undefined,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(n,t){t=l(this,t);this._handlers=[];this._layers={};this._zoomBoundLayers={};this._sizeChanged=!0;this._initContainer(n);this._initLayout();this._onResize=c(this._onResize,this);this._initEvents();t.maxBounds&&this.setMaxBounds(t.maxBounds);t.zoom!==undefined&&(this._zoom=this._limitZoom(t.zoom));t.center&&t.zoom!==undefined&&this.setView(y(t.center),t.zoom,{reset:!0});this.callInitHooks();this._zoomAnimated=kr&&ut&&!gs&&this.options.zoomAnimation;this._zoomAnimated&&(this._createAnimProxy(),u(this._proxy,fh,this._catchTransitionEnd,this));this._addLayers(this.options.layers)},setView:function(n,t,i){if(t=t===undefined?this._zoom:this._limitZoom(t),n=this._limitCenter(y(n),t,this.options.maxBounds),i=i||{},this._stop(),this._loaded&&!i.reset&&i!==!0){i.animate!==undefined&&(i.zoom=s({animate:i.animate},i.zoom),i.pan=s({animate:i.animate,duration:i.duration},i.pan));var r=this._zoom!==t?this._tryAnimatedZoom&&this._tryAnimatedZoom(n,t,i.zoom):this._tryAnimatedPan(n,i.pan);if(r)return clearTimeout(this._sizeTimer),this}return this._resetView(n,t),this},setZoom:function(n,t){return this._loaded?this.setView(this.getCenter(),n,{zoom:t}):(this._zoom=n,this)},zoomIn:function(n,t){return n=n||(ut?this.options.zoomDelta:1),this.setZoom(this._zoom+n,t)},zoomOut:function(n,t){return n=n||(ut?this.options.zoomDelta:1),this.setZoom(this._zoom-n,t)},setZoomAround:function(n,i,r){var f=this.getZoomScale(i),u=this.getSize().divideBy(2),e=n instanceof t?n:this.latLngToContainerPoint(n),o=e.subtract(u).multiplyBy(1-1/f),s=this.containerPointToLatLng(u.add(o));return this.setView(s,i,{zoom:r})},_getBoundsCenterZoom:function(n,t){t=t||{};n=n.getBounds?n.getBounds():k(n);var u=i(t.paddingTopLeft||t.padding||[0,0]),f=i(t.paddingBottomRight||t.padding||[0,0]),r=this.getBoundsZoom(n,!1,u.add(f));if(r=typeof t.maxZoom=="number"?Math.min(t.maxZoom,r):r,r===Infinity)return{center:n.getCenter(),zoom:r};var e=f.subtract(u).divideBy(2),o=this.project(n.getSouthWest(),r),s=this.project(n.getNorthEast(),r),h=this.unproject(o.add(s).divideBy(2).add(e),r);return{center:h,zoom:r}},fitBounds:function(n,t){if(n=k(n),!n.isValid())throw new Error("Bounds are not valid.");var i=this._getBoundsCenterZoom(n,t);return this.setView(i.center,i.zoom,t)},fitWorld:function(n){return this.fitBounds([[-90,-180],[90,180]],n)},panTo:function(n,t){return this.setView(n,this._zoom,{pan:t})},panBy:function(n,t){if(n=i(n).round(),t=t||{},!n.x&&!n.y)return this.fire("moveend");if(t.animate!==!0&&!this.getSize().contains(n))return this._resetView(this.unproject(this.project(this.getCenter()).add(n)),this.getZoom()),this;if(!this._panAnim){this._panAnim=new ah;this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)}if(t.noMoveStart||this.fire("movestart"),t.animate!==!1){r(this._mapPane,"leaflet-pan-anim");var u=this._getMapPanePos().subtract(n).round();this._panAnim.run(this._mapPane,u,t.duration||.25,t.easeLinearity)}else this._rawPanBy(n),this.fire("move").fire("moveend");return this},flyTo:function(n,t,i){function p(n){var u=n?-1:1,f=n?l:r,e=l*l-r*r+u*s*s*o*o,h=2*f*s*o,t=e/h,i=Math.sqrt(t*t+1)-t;return i<1e-9?-18:Math.log(i)}function w(n){return(Math.exp(n)-Math.exp(-n))/2}function h(n){return(Math.exp(n)+Math.exp(-n))/2}function d(n){return w(n)/h(n)}function nt(n){return r*(h(u)/h(u+f*n))}function tt(n){return r*(h(u)*d(u+f*n)-w(u))/s}function it(n){return 1-Math.pow(1-n,1.5)}function k(){var i=(Date.now()-rt)/ft,u=it(i)*b;i<=1?(this._flyToFrame=g(k,this),this._move(this.unproject(c.add(a.subtract(c).multiplyBy(tt(u)/o)),e),this.getScaleZoom(r/nt(u),e),{flyTo:!0})):this._move(n,t)._moveEnd(!0)}var u;if(i=i||{},i.animate===!1||!ut)return this.setView(n,t,i);this._stop();var c=this.project(this.getCenter()),a=this.project(n),v=this.getSize(),e=this._zoom;n=y(n);t=t===undefined?e:t;var r=Math.max(v.x,v.y),l=r*this.getZoomScale(e,t),o=a.distanceTo(c)||1,f=1.42,s=f*f;u=p(0);var rt=Date.now(),b=(p(1)-u)/f,ft=i.duration?1e3*i.duration:1e3*b*.8;return this._moveStart(!0,i.noMoveStart),k.call(this),this},flyToBounds:function(n,t){var i=this._getBoundsCenterZoom(n,t);return this.flyTo(i.center,i.zoom,t)},setMaxBounds:function(n){if(n=k(n),n.isValid())this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds);else return this.options.maxBounds=null,this.off("moveend",this._panInsideMaxBounds);this.options.maxBounds=n;this._loaded&&this._panInsideMaxBounds();return this.on("moveend",this._panInsideMaxBounds)},setMinZoom:function(n){var t=this.options.minZoom;return(this.options.minZoom=n,this._loaded&&t!==n&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom))?this.setZoom(n):this},setMaxZoom:function(n){var t=this.options.maxZoom;return(this.options.maxZoom=n,this._loaded&&t!==n&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom))?this.setZoom(n):this},panInsideBounds:function(n,t){this._enforcingBounds=!0;var i=this.getCenter(),r=this._limitCenter(i,this._zoom,k(n));return i.equals(r)||this.panTo(r,t),this._enforcingBounds=!1,this},panInside:function(n,t){var f,u;t=t||{};var s=i(t.paddingTopLeft||t.padding||[0,0]),h=i(t.paddingBottomRight||t.padding||[0,0]),a=this.getCenter(),c=this.project(a),r=this.project(n),l=this.getPixelBounds(),o=l.getSize().divideBy(2),e=ct([l.min.add(s),l.max.subtract(h)]);return e.contains(r)||(this._enforcingBounds=!0,f=c.subtract(r),u=i(r.x+f.x,r.y+f.y),(r.x<e.min.x||r.x>e.max.x)&&(u.x=c.x-f.x,f.x>0?u.x+=o.x-s.x:u.x-=o.x-h.x),(r.y<e.min.y||r.y>e.max.y)&&(u.y=c.y-f.y,f.y>0?u.y+=o.y-s.y:u.y-=o.y-h.y),this.panTo(this.unproject(u),t),this._enforcingBounds=!1),this},invalidateSize:function(n){var i;if(!this._loaded)return this;n=s({animate:!1,pan:!0},n===!0?{animate:!0}:n);i=this.getSize();this._sizeChanged=!0;this._lastCenter=null;var r=this.getSize(),u=i.divideBy(2).round(),f=r.divideBy(2).round(),t=u.subtract(f);return!t.x&&!t.y?this:(n.animate&&n.pan?this.panBy(t):(n.pan&&this._rawPanBy(t),this.fire("move"),n.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(c(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:i,newSize:r}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(n){if(n=this._locateOptions=s({timeout:1e4,watch:!1},n),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var t=c(this._handleGeolocationResponse,this),i=c(this._handleGeolocationError,this);return n.watch?this._locationWatchId=navigator.geolocation.watchPosition(t,i,n):navigator.geolocation.getCurrentPosition(t,i,n),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(n){var t=n.code,i=n.message||(t===1?"permission denied":t===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld();this.fire("locationerror",{code:t,message:"Geolocation error: "+i+"."})},_handleGeolocationResponse:function(n){var o=n.coords.latitude,s=n.coords.longitude,i=new h(o,s),e=i.toBounds(n.coords.accuracy*2),r=this._locateOptions,u,f,t;r.setView&&(u=this.getBoundsZoom(e),this.setView(i,r.maxZoom?Math.min(u,r.maxZoom):u));f={latlng:i,bounds:e,timestamp:n.timestamp};for(t in n.coords)typeof n.coords[t]=="number"&&(f[t]=n.coords[t]);this.fire("locationfound",f)},addHandler:function(n,t){if(!t)return this;var i=this[n]=new t(this);return this._handlers.push(i),this.options[n]&&i.enable(),this},remove:function(){if(this._initEvents(!0),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(t){this._container._leaflet_id=undefined;this._containerId=undefined}this._locationWatchId!==undefined&&this.stopLocate();this._stop();a(this._mapPane);this._clearControlPos&&this._clearControlPos();this._resizeRequest&&(nt(this._resizeRequest),this._resizeRequest=null);this._clearHandlers();this._loaded&&this.fire("unload");for(var n in this._layers)this._layers[n].remove();for(n in this._panes)a(this._panes[n]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(n,t){var r="leaflet-pane"+(n?" leaflet-"+n.replace("Pane","")+"-pane":""),i=e("div",r,t||this._mapPane);return n&&(this._panes[n]=i),i},getCenter:function(){return(this._checkIfLoaded(),this._lastCenter&&!this._moved())?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var n=this.getPixelBounds(),t=this.unproject(n.getBottomLeft()),i=this.unproject(n.getTopRight());return new it(t,i)},getMinZoom:function(){return this.options.minZoom===undefined?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===undefined?this._layersMaxZoom===undefined?Infinity:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(n,t,r){n=k(n);r=i(r||[0,0]);var u=this.getZoom()||0,c=this.getMinZoom(),l=this.getMaxZoom(),a=n.getNorthWest(),v=n.getSouthEast(),e=this.getSize().subtract(r),o=ct(this.project(v,u),this.project(a,u)).getSize(),f=ut?this.options.zoomSnap:1,s=e.x/o.x,h=e.y/o.y,y=t?Math.max(s,h):Math.min(s,h);return u=this.getScaleZoom(y,u),f&&(u=Math.round(u/(f/100))*(f/100),u=t?Math.ceil(u/f)*f:Math.floor(u/f)*f),Math.max(c,Math.min(l,u))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new t(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(n,t){var i=this._getTopLeftPoint(n,t);return new v(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(n){return this.options.crs.getProjectedBounds(n===undefined?this.getZoom():n)},getPane:function(n){return typeof n=="string"?this._panes[n]:n},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(n,t){var i=this.options.crs;return t=t===undefined?this._zoom:t,i.scale(n)/i.scale(t)},getScaleZoom:function(n,t){var r=this.options.crs,i;return t=t===undefined?this._zoom:t,i=r.zoom(n*r.scale(t)),isNaN(i)?Infinity:i},project:function(n,t){return t=t===undefined?this._zoom:t,this.options.crs.latLngToPoint(y(n),t)},unproject:function(n,t){return t=t===undefined?this._zoom:t,this.options.crs.pointToLatLng(i(n),t)},layerPointToLatLng:function(n){var t=i(n).add(this.getPixelOrigin());return this.unproject(t)},latLngToLayerPoint:function(n){var t=this.project(y(n))._round();return t._subtract(this.getPixelOrigin())},wrapLatLng:function(n){return this.options.crs.wrapLatLng(y(n))},wrapLatLngBounds:function(n){return this.options.crs.wrapLatLngBounds(k(n))},distance:function(n,t){return this.options.crs.distance(y(n),y(t))},containerPointToLayerPoint:function(n){return i(n).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(n){return i(n).add(this._getMapPanePos())},containerPointToLatLng:function(n){var t=this.containerPointToLayerPoint(i(n));return this.layerPointToLatLng(t)},latLngToContainerPoint:function(n){return this.layerPointToContainerPoint(this.latLngToLayerPoint(y(n)))},mouseEventToContainerPoint:function(n){return hh(n,this._container)},mouseEventToLayerPoint:function(n){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(n))},mouseEventToLatLng:function(n){return this.layerPointToLatLng(this.mouseEventToLayerPoint(n))},_initContainer:function(n){var t=this._container=eh(n);if(t){if(t._leaflet_id)throw new Error("Map container is already initialized.");}else throw new Error("Map container not found.");u(t,"scroll",this._onScroll,this);this._containerId=o(t)},_initLayout:function(){var t=this._container,n;this._fadeAnimated=this.options.fadeAnimation&&ut;r(t,"leaflet-container"+(pt?" leaflet-touch":"")+(ei?" leaflet-retina":"")+(ki?" leaflet-oldie":"")+(ps?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));n=dr(t,"position");n!=="absolute"&&n!=="relative"&&n!=="fixed"&&(t.style.position="relative");this._initPanes();this._initControlPos&&this._initControlPos()},_initPanes:function(){var n=this._panes={};this._paneRenderers={};this._mapPane=this.createPane("mapPane",this._container);b(this._mapPane,new t(0,0));this.createPane("tilePane");this.createPane("shadowPane");this.createPane("overlayPane");this.createPane("markerPane");this.createPane("tooltipPane");this.createPane("popupPane");this.options.markerZoomAnimation||(r(n.markerPane,"leaflet-zoom-hide"),r(n.shadowPane,"leaflet-zoom-hide"))},_resetView:function(n,i){var u,r;b(this._mapPane,new t(0,0));u=!this._loaded;this._loaded=!0;i=this._limitZoom(i);this.fire("viewprereset");r=this._zoom!==i;this._moveStart(r,!1)._move(n,i)._moveEnd(r);this.fire("viewreset");u&&this.fire("load")},_moveStart:function(n,t){return n&&this.fire("zoomstart"),t||this.fire("movestart"),this},_move:function(n,t,i){t===undefined&&(t=this._zoom);var r=this._zoom!==t;return this._zoom=t,this._lastCenter=n,this._pixelOrigin=this._getNewPixelOrigin(n),(r||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)},_moveEnd:function(n){return n&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return nt(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(n){b(this._mapPane,this._getMapPanePos().subtract(n))},_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(n){this._targets={};this._targets[o(this._container)]=this;var t=n?w:u;t(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress",this._handleDOMEvent,this);this.options.trackResize&&t(window,"resize",this._onResize,this);ut&&this.options.transform3DLimit&&(n?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){nt(this._resizeRequest);this._resizeRequest=g(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0;this._container.scrollLeft=0},_onMoveEnd:function(){var n=this._getMapPanePos();Math.max(Math.abs(n.x),Math.abs(n.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(n,t){for(var u=[],r,f=t==="mouseout"||t==="mouseover",i=n.target||n.srcElement,e=!1;i;){if(r=this._targets[o(i)],r&&(t==="click"||t==="preclick")&&!n._simulated&&this._draggableMoved(r)){e=!0;break}if(r&&r.listens(t,!0)){if(f&&!nf(i,n))break;if(u.push(r),f)break}if(i===this._container)break;i=i.parentNode}return u.length||e||f||!nf(i,n)||(u=[this]),u},_handleDOMEvent:function(n){if(this._loaded&&!to(n)){var t=n.type;(t==="mousedown"||t==="keypress")&&be(n.target||n.srcElement);this._fireDOMEvent(n,t)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(n,t,i){var e,u,r,o,f;if((n.type==="click"&&(e=s({},n),e.type="preclick",this._fireDOMEvent(e,e.type,i)),!n._stopped)&&(i=(i||[]).concat(this._findEventTargets(n,t)),i.length))for(u=i[0],t==="contextmenu"&&u.listens(t,!0)&&ot(n),r={originalEvent:n},n.type!=="keypress"&&(o=u.getLatLng&&(!u._radius||u._radius<=10),r.containerPoint=o?this.latLngToContainerPoint(u.getLatLng()):this.mouseEventToContainerPoint(n),r.layerPoint=this.containerPointToLayerPoint(r.containerPoint),r.latlng=o?u.getLatLng():this.layerPointToLatLng(r.layerPoint)),f=0;f<i.length;f++)if(i[f].fire(t,r,!0),r.originalEvent._stopped||i[f].options.bubblingMouseEvents===!1&&ss(this._mouseEvents,t)!==-1)return},_draggableMoved:function(n){return n=n.dragging&&n.dragging.enabled()?n:this,n.dragging&&n.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var n=0,t=this._handlers.length;n<t;n++)this._handlers[n].disable()},whenReady:function(n,t){if(this._loaded)n.call(t||this,{target:this});else this.on("load",n,t);return this},_getMapPanePos:function(){return oi(this._mapPane)||new t(0,0)},_moved:function(){var n=this._getMapPanePos();return n&&!n.equals([0,0])},_getTopLeftPoint:function(n,t){var i=n&&t!==undefined?this._getNewPixelOrigin(n,t):this.getPixelOrigin();return i.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(n,t){var i=this.getSize()._divideBy(2);return this.project(n,t)._subtract(i)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(n,t,i){var r=this._getNewPixelOrigin(i,t);return this.project(n,t)._subtract(r)},_latLngBoundsToNewLayerBounds:function(n,t,i){var r=this._getNewPixelOrigin(i,t);return ct([this.project(n.getSouthWest(),t)._subtract(r),this.project(n.getNorthWest(),t)._subtract(r),this.project(n.getSouthEast(),t)._subtract(r),this.project(n.getNorthEast(),t)._subtract(r)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(n){return this.latLngToLayerPoint(n).subtract(this._getCenterLayerPoint())},_limitCenter:function(n,t,i){if(!i)return n;var r=this.project(n,t),u=this.getSize().divideBy(2),e=new v(r.subtract(u),r.add(u)),f=this._getBoundsOffset(e,i,t);return f.round().equals([0,0])?n:this.unproject(r.add(f),t)},_limitOffset:function(n,t){if(!t)return n;var i=this.getPixelBounds(),r=new v(i.min.add(n),i.max.add(n));return n.add(this._getBoundsOffset(r,t))},_getBoundsOffset:function(n,i,r){var u=ct(this.project(i.getNorthEast(),r),this.project(i.getSouthWest(),r)),f=u.min.subtract(n.min),e=u.max.subtract(n.max),o=this._rebound(f.x,-e.x),s=this._rebound(f.y,-e.y);return new t(o,s)},_rebound:function(n,t){return n+t>0?Math.round(n-t)/2:Math.max(0,Math.ceil(n))-Math.max(0,Math.floor(t))},_limitZoom:function(n){var i=this.getMinZoom(),r=this.getMaxZoom(),t=ut?this.options.zoomSnap:1;return t&&(n=Math.round(n/t)*t),Math.max(i,Math.min(r,n))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){p(this._mapPane,"leaflet-pan-anim");this.fire("moveend")},_tryAnimatedPan:function(n,t){var i=this._getCenterOffset(n)._trunc();return(t&&t.animate)!==!0&&!this.getSize().contains(i)?!1:(this.panBy(i,t),!0)},_createAnimProxy:function(){var n=this._proxy=e("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(n);this.on("zoomanim",function(n){var t=he,i=this._proxy.style[t];si(this._proxy,this.project(n.center,n.zoom),this.getZoomScale(n.zoom,1));i===this._proxy.style[t]&&this._animatingZoom&&this._onZoomTransitionEnd()},this);this.on("load moveend",function(){var t=this.getCenter(),n=this.getZoom();si(this._proxy,this.project(t,n),this.getZoomScale(n,1))},this);this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){a(this._proxy);delete this._proxy},_catchTransitionEnd:function(n){this._animatingZoom&&n.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(n,t,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||i.animate===!1||this._nothingToAnimate()||Math.abs(t-this._zoom)>this.options.zoomAnimationThreshold)return!1;var r=this.getZoomScale(t),u=this._getCenterOffset(n)._divideBy(1-1/r);return i.animate!==!0&&!this.getSize().contains(u)?!1:(g(function(){this._moveStart(!0,!1)._animateZoom(n,t,!0)},this),!0)},_animateZoom:function(n,t,i,u){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=n,this._animateToZoom=t,r(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:n,zoom:t,noUpdate:u}),setTimeout(c(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&p(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),g(function(){this._moveEnd(!0)},this))}});st=gt.extend({options:{position:"topright"},initialize:function(n){l(this,n)},getPosition:function(){return this.options.position},setPosition:function(n){var t=this._map;return t&&t.removeControl(this),this.options.position=n,t&&t.addControl(this),this},getContainer:function(){return this._container},addTo:function(n){this.remove();this._map=n;var t=this._container=this.onAdd(n),u=this.getPosition(),i=n._controlCorners[u];return r(t,"leaflet-control"),u.indexOf("bottom")!==-1?i.insertBefore(t,i.firstChild):i.appendChild(t),this},remove:function(){if(!this._map)return this;if(a(this._container),this.onRemove)this.onRemove(this._map);return this._map=null,this},_refocusOnMap:function(n){this._map&&n&&n.screenX>0&&n.screenY>0&&this._map.getContainer().focus()}});fr=function(n){return new st(n)};f.include({addControl:function(n){return n.addTo(this),this},removeControl:function(n){return n.remove(),this},_initControlPos:function(){function n(n,u){var f=t+n+" "+t+u;i[n+u]=e("div",f,r)}var i=this._controlCorners={},t="leaflet-",r=this._controlContainer=e("div",t+"control-container",this._container);n("top","left");n("top","right");n("bottom","left");n("bottom","right")},_clearControlPos:function(){for(var n in this._controlCorners)a(this._controlCorners[n]);a(this._controlContainer);delete this._controlCorners;delete this._controlContainer}});var vh=st.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(n,t,i,r){return i<r?-1:r<i?1:0}},initialize:function(n,t,i){l(this,i);this._layerControlInputs=[];this._layers=[];this._lastZIndex=0;this._handlingClick=!1;for(var r in n)this._addLayer(n[r],r);for(r in t)this._addLayer(t[r],r,!0)},onAdd:function(n){this._initLayout();this._update();this._map=n;n.on("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(n){return st.prototype.addTo.call(this,n),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var n=0;n<this._layers.length;n++)this._layers[n].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(n,t){return this._addLayer(n,t),this._map?this._update():this},addOverlay:function(n,t){return this._addLayer(n,t,!0),this._map?this._update():this},removeLayer:function(n){n.off("add remove",this._onLayerChange,this);var t=this._getLayer(o(n));return t&&this._layers.splice(this._layers.indexOf(t),1),this._map?this._update():this},expand:function(){r(this._container,"leaflet-control-layers-expanded");this._section.style.height=null;var n=this._map.getSize().y-(this._container.offsetTop+50);return n<this._section.clientHeight?(r(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=n+"px"):p(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return p(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var n="leaflet-control-layers",t=this._container=e("div",n),f=this.options.collapsed,r,i;if(t.setAttribute("aria-haspopup",!0),tu(t),ge(t),r=this._section=e("section",n+"-list"),f){this._map.on("click",this.collapse,this);di||u(t,{mouseenter:this.expand,mouseleave:this.collapse},this)}i=this._layersLink=e("a",n+"-toggle",t);i.href="#";i.title="Layers";pt?(u(i,"click",bt),u(i,"click",this.expand,this)):u(i,"focus",this.expand,this);f||this.expand();this._baseLayersList=e("div",n+"-base",r);this._separator=e("div",n+"-separator",r);this._overlaysList=e("div",n+"-overlays",r);t.appendChild(r)},_getLayer:function(n){for(var t=0;t<this._layers.length;t++)if(this._layers[t]&&o(this._layers[t].layer)===n)return this._layers[t]},_addLayer:function(n,t,i){if(this._map)n.on("add remove",this._onLayerChange,this);this._layers.push({layer:n,name:t,overlay:i});this.options.sortLayers&&this._layers.sort(c(function(n,t){return this.options.sortFunction(n.layer,t.layer,n.name,t.name)},this));this.options.autoZIndex&&n.setZIndex&&(this._lastZIndex++,n.setZIndex(this._lastZIndex));this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;ce(this._baseLayersList);ce(this._overlaysList);this._layerControlInputs=[];for(var n,r,t,u=0,i=0;i<this._layers.length;i++)t=this._layers[i],this._addItem(t),r=r||t.overlay,n=n||!t.overlay,u+=t.overlay?0:1;return this.options.hideSingleBase&&(n=n&&u>1,this._baseLayersList.style.display=n?"":"none"),this._separator.style.display=r&&n?"":"none",this},_onLayerChange:function(n){this._handlingClick||this._update();var t=this._getLayer(o(n.target)),i=t.overlay?n.type==="add"?"overlayadd":"overlayremove":n.type==="add"?"baselayerchange":null;i&&this._map.fire(i,t)},_createRadioElement:function(n,t){var r='<input type="radio" class="leaflet-control-layers-selector" name="'+n+'"'+(t?' checked="checked"':"")+"/>",i=document.createElement("div");return i.innerHTML=r,i.firstChild},_addItem:function(n){var r=document.createElement("label"),e=this._map.hasLayer(n.layer),t,f,i,s;return n.overlay?(t=document.createElement("input"),t.type="checkbox",t.className="leaflet-control-layers-selector",t.defaultChecked=e):t=this._createRadioElement("leaflet-base-layers",e),this._layerControlInputs.push(t),t.layerId=o(n.layer),u(t,"click",this._onInputClick,this),f=document.createElement("span"),f.innerHTML=" "+n.name,i=document.createElement("div"),r.appendChild(i),i.appendChild(t),i.appendChild(f),s=n.overlay?this._overlaysList:this._baseLayersList,s.appendChild(r),this._checkDisabledLayers(),r},_onInputClick:function(){var f=this._layerControlInputs,t,u,i=[],r=[],n;for(this._handlingClick=!0,n=f.length-1;n>=0;n--)t=f[n],u=this._getLayer(t.layerId).layer,t.checked?i.push(u):t.checked||r.push(u);for(n=0;n<r.length;n++)this._map.hasLayer(r[n])&&this._map.removeLayer(r[n]);for(n=0;n<i.length;n++)this._map.hasLayer(i[n])||this._map.addLayer(i[n]);this._handlingClick=!1;this._refocusOnMap()},_checkDisabledLayers:function(){for(var r=this._layerControlInputs,t,n,u=this._map.getZoom(),i=r.length-1;i>=0;i--)t=r[i],n=this._getLayer(t.layerId).layer,t.disabled=n.options.minZoom!==undefined&&u<n.options.minZoom||n.options.maxZoom!==undefined&&u>n.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}}),cl=function(n,t,i){return new vh(n,t,i)},ro=st.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Inzoomen",zoomOutText:"&#x2212;",zoomOutTitle:"Uitzoomen"},onAdd:function(n){var i="leaflet-control-zoom",r=e("div",i+" leaflet-bar"),t=this.options;this._zoomInButton=this._createButton(t.zoomInText,t.zoomInTitle,i+"-in",r,this._zoomIn);this._zoomOutButton=this._createButton(t.zoomOutText,t.zoomOutTitle,i+"-out",r,this._zoomOut);this._updateDisabled();n.on("zoomend zoomlevelschange",this._updateDisabled,this);return r},onRemove:function(n){n.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(n){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(n.shiftKey?3:1))},_zoomOut:function(n){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(n.shiftKey?3:1))},_createButton:function(n,t,i,r,f){var o=e("a",i,r);return o.innerHTML=n,o.href="#",o.title=t,o.setAttribute("role","button"),o.setAttribute("aria-label",t),tu(o),u(o,"click",bt),u(o,"click",f,this),u(o,"click",this._refocusOnMap,this),o},_updateDisabled:function(){var n=this._map,t="leaflet-disabled";p(this._zoomInButton,t);p(this._zoomOutButton,t);(this._disabled||n._zoom===n.getMinZoom())&&r(this._zoomOutButton,t);(this._disabled||n._zoom===n.getMaxZoom())&&r(this._zoomInButton,t)}});f.mergeOptions({zoomControl:!0});f.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new ro,this.addControl(this.zoomControl))});var ll=function(n){return new ro(n)},yh=st.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(n){var t="leaflet-control-scale",i=e("div",t),r=this.options;this._addScales(r,t+"-line",i);n.on(r.updateWhenIdle?"moveend":"move",this._update,this);return n.whenReady(this._update,this),i},onRemove:function(n){n.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(n,t,i){n.metric&&(this._mScale=e("div",t,i));n.imperial&&(this._iScale=e("div",t,i))},_update:function(){var n=this._map,t=n.getSize().y/2,i=n.distance(n.containerPointToLatLng([0,t]),n.containerPointToLatLng([this.options.maxWidth,t]));this._updateScales(i)},_updateScales:function(n){this.options.metric&&n&&this._updateMetric(n);this.options.imperial&&n&&this._updateImperial(n)},_updateMetric:function(n){var t=this._getRoundNum(n),i=t<1e3?t+" m":t/1e3+" km";this._updateScale(this._mScale,i,t/n)},_updateImperial:function(n){var t=n*3.2808399,i,r,u;t>5280?(i=t/5280,r=this._getRoundNum(i),this._updateScale(this._iScale,r+" mi",r/i)):(u=this._getRoundNum(t),this._updateScale(this._iScale,u+" ft",u/t))},_updateScale:function(n,t,i){n.style.width=Math.round(this.options.maxWidth*i)+"px";n.innerHTML=t},_getRoundNum:function(n){var i=Math.pow(10,(Math.floor(n)+"").length-1),t=n/i;return t=t>=10?10:t>=5?5:t>=3?3:t>=2?2:1,i*t}}),al=function(n){return new yh(n)},uo=st.extend({options:{position:"bottomright",prefix:'<a href="http://leafletjs.com" target="_blank" title="A JS library for interactive maps">Leaflet<\/a>'},initialize:function(n){l(this,n);this._attributions={}},onAdd:function(n){n.attributionControl=this;this._container=e("div","leaflet-control-attribution");tu(this._container);for(var t in n._layers)n._layers[t].getAttribution&&this.addAttribution(n._layers[t].getAttribution());return this._update(),this._container},setPrefix:function(n){return this.options.prefix=n,this._update(),this},addAttribution:function(n){return n?(this._attributions[n]||(this._attributions[n]=0),this._attributions[n]++,this._update(),this):this},removeAttribution:function(n){return n?(this._attributions[n]&&(this._attributions[n]--,this._update()),this):this},_update:function(){var n,i,t;if(this._map){n=[];for(i in this._attributions)this._attributions[i]&&n.push(i);t=[];this.options.prefix&&t.push(this.options.prefix);n.length&&t.push(n.join(", "));this._container.innerHTML=t.join(" | ")}}});f.mergeOptions({attributionControl:!0});f.addInitHook(function(){this.options.attributionControl&&(new uo).addTo(this)});ph=function(n){return new uo(n)};st.Layers=vh;st.Zoom=ro;st.Scale=yh;st.Attribution=uo;fr.layers=cl;fr.zoom=ll;fr.scale=al;fr.attribution=ph;at=gt.extend({initialize:function(n){this._map=n},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});at.addTo=function(n,t){return n.addHandler(t,this),this};var vl={Events:tt},wh=pt?"touchstart mousedown":"mousedown",bh={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},fo={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"},ci=bi.extend({options:{clickTolerance:3},initialize:function(n,t,i,r){l(this,r);this._element=n;this._dragStartTarget=t||n;this._preventOutline=i},enable:function(){this._enabled||(u(this._dragStartTarget,wh,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ci._dragging===this&&this.finishDrag(),w(this._dragStartTarget,wh,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(n){if(!n._simulated&&this._enabled&&(this._moved=!1,!le(this._element,"leaflet-zoom-anim"))&&!ci._dragging&&!n.shiftKey&&(n.which===1||n.button===1||n.touches)&&(ci._dragging=this,this._preventOutline&&be(this._element),ye(),gr(),!this._moving)){this.fire("down");var i=n.touches?n.touches[0]:n,r=oh(this._element);this._startPoint=new t(i.clientX,i.clientY);this._parentScale=ke(r);u(document,fo[n.type],this._onMove,this);u(document,bh[n.type],this._onUp,this)}},_onMove:function(n){if(!n._simulated&&this._enabled){if(n.touches&&n.touches.length>1){this._moved=!0;return}var u=n.touches&&n.touches.length===1?n.touches[0]:n,i=new t(u.clientX,u.clientY)._subtract(this._startPoint);(i.x||i.y)&&(Math.abs(i.x)+Math.abs(i.y)<this.options.clickTolerance||(i.x/=this._parentScale.x,i.y/=this._parentScale.y,ot(n),this._moved||(this.fire("dragstart"),this._moved=!0,this._startPos=oi(this._element).subtract(i),r(document.body,"leaflet-dragging"),this._lastTarget=n.target||n.srcElement,window.SVGElementInstance&&this._lastTarget instanceof SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),r(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(i),this._moving=!0,nt(this._animRequest),this._lastEvent=n,this._animRequest=g(this._updatePosition,this,!0)))}},_updatePosition:function(){var n={originalEvent:this._lastEvent};this.fire("predrag",n);b(this._element,this._newPos);this.fire("drag",n)},_onUp:function(n){!n._simulated&&this._enabled&&this.finishDrag()},finishDrag:function(){p(document.body,"leaflet-dragging");this._lastTarget&&(p(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null);for(var n in fo)w(document,fo[n],this._onMove,this),w(document,bh[n],this._onUp,this);pe();nu();this._moved&&this._moving&&(nt(this._animRequest),this.fire("dragend",{distance:this._newPos.distanceTo(this._startPos)}));this._moving=!1;ci._dragging=!1}});ic=(Object.freeze||Object)({simplify:kh,pointToSegmentDistance:dh,closestPointOnSegment:yl,clipSegment:nc,_getEdgeIntersection:tf,_getBitCode:li,_sqClosestPointOnSegment:iu,isFlat:ti,_flat:tc});var kl=(Object.freeze||Object)({clipPolygon:rc}),oo={project:function(n){return new t(n.lng,n.lat)},unproject:function(n){return new h(n.y,n.x)},bounds:new v([-180,-90],[180,90])},so={R:6378137,R_MINOR:6356752.3142451793,bounds:new v([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(n){var u=Math.PI/180,r=this.R,i=n.lat*u,f=this.R_MINOR/r,e=Math.sqrt(1-f*f),o=e*Math.sin(i),s=Math.tan(Math.PI/4-i/2)/Math.pow((1-o)/(1+o),e/2);return i=-r*Math.log(Math.max(s,1e-10)),new t(n.lng*u*r,i)},unproject:function(n){for(var f=180/Math.PI,r=this.R,e=this.R_MINOR/r,o=Math.sqrt(1-e*e),s=Math.exp(-n.y/r),i=Math.PI/2-2*Math.atan(s),c=0,u=.1,t;c<15&&Math.abs(u)>1e-7;c++)t=o*Math.sin(i),t=Math.pow((1-t)/(1+t),o/2),u=Math.PI/2-2*Math.atan(s*t)-i,i+=u;return new h(i*f,n.x*f/r)}},dl=(Object.freeze||Object)({LonLat:oo,Mercator:so,SphericalMercator:wf}),gl=s({},ui,{code:"EPSG:3395",projection:so,transformation:function(){var n=.5/(Math.PI*so.R);return yr(n,.5,-n,.5)}()}),uc=s({},ui,{code:"EPSG:4326",projection:oo,transformation:yr(1/180,1,-1/180,.5)}),na=s({},ni,{projection:oo,transformation:yr(1,0,-1,0),scale:function(n){return Math.pow(2,n)},zoom:function(n){return Math.log(n)/Math.LN2},distance:function(n,t){var i=t.lng-n.lng,r=t.lat-n.lat;return Math.sqrt(i*i+r*r)},infinite:!0});ni.Earth=ui;ni.EPSG3395=gl;ni.EPSG3857=hu;ni.EPSG900913=ls;ni.EPSG4326=uc;ni.Simple=na;rt=bi.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(n){return n.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(n){return n&&n.removeLayer(this),this},getPane:function(n){return this._map.getPane(n?this.options[n]||n:this.options.pane)},addInteractiveTarget:function(n){return this._map._targets[o(n)]=this,this},removeInteractiveTarget:function(n){return delete this._map._targets[o(n)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(n){var t=n.target,i;if(t.hasLayer(this)){if(this._map=t,this._zoomAnimated=t._zoomAnimated,this.getEvents){i=this.getEvents();t.on(i,this);this.once("remove",function(){t.off(i,this)},this)}this.onAdd(t);this.getAttribution&&t.attributionControl&&t.attributionControl.addAttribution(this.getAttribution());this.fire("add");t.fire("layeradd",{layer:this})}}});f.include({addLayer:function(n){if(!n._layerAdd)throw new Error("The provided object is not a Layer.");var t=o(n);return this._layers[t]?this:(this._layers[t]=n,n._mapToAdd=this,n.beforeAdd&&n.beforeAdd(this),this.whenReady(n._layerAdd,n),this)},removeLayer:function(n){var t=o(n);if(!this._layers[t])return this;if(this._loaded)n.onRemove(this);return n.getAttribution&&this.attributionControl&&this.attributionControl.removeAttribution(n.getAttribution()),delete this._layers[t],this._loaded&&(this.fire("layerremove",{layer:n}),n.fire("remove")),n._map=n._mapToAdd=null,this},hasLayer:function(n){return!!n&&o(n)in this._layers},eachLayer:function(n,t){for(var i in this._layers)n.call(t,this._layers[i]);return this},_addLayers:function(n){n=n?ht(n)?n:[n]:[];for(var t=0,i=n.length;t<i;t++)this.addLayer(n[t])},_addZoomLimit:function(n){(isNaN(n.options.maxZoom)||!isNaN(n.options.minZoom))&&(this._zoomBoundLayers[o(n)]=n,this._updateZoomLevels())},_removeZoomLimit:function(n){var t=o(n);this._zoomBoundLayers[t]&&(delete this._zoomBoundLayers[t],this._updateZoomLevels())},_updateZoomLevels:function(){var n=Infinity,t=-Infinity,u=this._getZoomSpan(),r,i;for(r in this._zoomBoundLayers)i=this._zoomBoundLayers[r].options,n=i.minZoom===undefined?n:Math.min(n,i.minZoom),t=i.maxZoom===undefined?t:Math.max(t,i.maxZoom);this._layersMaxZoom=t===-Infinity?undefined:t;this._layersMinZoom=n===Infinity?undefined:n;u!==this._getZoomSpan()&&this.fire("zoomlevelschange");this.options.maxZoom===undefined&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom);this.options.minZoom===undefined&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var er=rt.extend({initialize:function(n,t){l(this,t);this._layers={};var i,r;if(n)for(i=0,r=n.length;i<r;i++)this.addLayer(n[i])},addLayer:function(n){var t=this.getLayerId(n);return this._layers[t]=n,this._map&&this._map.addLayer(n),this},removeLayer:function(n){var t=n in this._layers?n:this.getLayerId(n);return this._map&&this._layers[t]&&this._map.removeLayer(this._layers[t]),delete this._layers[t],this},hasLayer:function(n){return!!n&&(n in this._layers||this.getLayerId(n)in this._layers)},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(n){var r=Array.prototype.slice.call(arguments,1),i,t;for(i in this._layers)t=this._layers[i],t[n]&&t[n].apply(t,r);return this},onAdd:function(n){this.eachLayer(n.addLayer,n)},onRemove:function(n){this.eachLayer(n.removeLayer,n)},eachLayer:function(n,t){for(var i in this._layers)n.call(t,this._layers[i]);return this},getLayer:function(n){return this._layers[n]},getLayers:function(){var n=[];return this.eachLayer(n.push,n),n},setZIndex:function(n){return this.invoke("setZIndex",n)},getLayerId:function(n){return o(n)}}),ta=function(n,t){return new er(n,t)},ai=er.extend({addLayer:function(n){return this.hasLayer(n)?this:(n.addEventParent(this),er.prototype.addLayer.call(this,n),this.fire("layeradd",{layer:n}))},removeLayer:function(n){return this.hasLayer(n)?(n in this._layers&&(n=this._layers[n]),n.removeEventParent(this),er.prototype.removeLayer.call(this,n),this.fire("layerremove",{layer:n})):this},setStyle:function(n){return this.invoke("setStyle",n)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new it,i,n;for(i in this._layers)n=this._layers[i],t.extend(n.getBounds?n.getBounds():n.getLatLng());return t}}),ia=function(n){return new ai(n)},or=gt.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0]},initialize:function(n){l(this,n)},createIcon:function(n){return this._createIcon("icon",n)},createShadow:function(n){return this._createIcon("shadow",n)},_createIcon:function(n,t){var r=this._getIconUrl(n),i;if(!r){if(n==="icon")throw new Error("iconUrl not set in Icon options (see the docs).");return null}return i=this._createImg(r,t&&t.tagName==="IMG"?t:null),this._setIconStyles(i,n),i},_setIconStyles:function(n,t){var f=this.options,u=f[t+"Size"],r,e;typeof u=="number"&&(u=[u,u]);r=i(u);e=i(t==="shadow"&&f.shadowAnchor||f.iconAnchor||r&&r.divideBy(2,!0));n.className="leaflet-marker-"+t+" "+(f.className||"");e&&(n.style.marginLeft=-e.x+"px",n.style.marginTop=-e.y+"px");r&&(n.style.width=r.x+"px",n.style.height=r.y+"px")},_createImg:function(n,t){return t=t||document.createElement("img"),t.src=n,t},_getIconUrl:function(n){return ei&&this.options[n+"RetinaUrl"]||this.options[n+"Url"]}});var ru=or.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(n){return ru.imagePath||(ru.imagePath=this._detectIconPath()),(this.options.imagePath||ru.imagePath)+or.prototype._getIconUrl.call(this,n)},_detectIconPath:function(){var n=e("div","leaflet-default-icon-path",document.body),t=dr(n,"background-image")||dr(n,"backgroundImage");return document.body.removeChild(n),t===null||t.indexOf("url")!==0?"":t.replace(/^url\(["']?/,"").replace(/marker-icon\.png["']?\)$/,"")}}),fc=at.extend({initialize:function(n){this._marker=n},addHooks:function(){var n=this._marker._icon;this._draggable||(this._draggable=new ci(n,n,!0));this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable();r(n,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable();this._marker._icon&&p(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(n){var e=this._marker,o=e._map,c=this._marker.options.autoPanSpeed,s=this._marker.options.autoPanPadding,u=oi(e._icon),r=o.getPixelBounds(),h=o.getPixelOrigin(),t=ct(r.min._subtract(h).add(s),r.max._subtract(h).subtract(s)),f;t.contains(u)||(f=i((Math.max(t.max.x,u.x)-t.max.x)/(r.max.x-t.max.x)-(Math.min(t.min.x,u.x)-t.min.x)/(r.min.x-t.min.x),(Math.max(t.max.y,u.y)-t.max.y)/(r.max.y-t.max.y)-(Math.min(t.min.y,u.y)-t.min.y)/(r.min.y-t.min.y)).multiplyBy(c),o.panBy(f,{animate:!1}),this._draggable._newPos._add(f),this._draggable._startPos._add(f),b(e._icon,this._draggable._newPos),this._onDrag(n),this._panRequest=g(this._adjustPan.bind(this,n)))},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng();this._marker.closePopup().fire("movestart").fire("dragstart")},_onPreDrag:function(n){this._marker.options.autoPan&&(nt(this._panRequest),this._panRequest=g(this._adjustPan.bind(this,n)))},_onDrag:function(n){var t=this._marker,i=t._shadow,r=oi(t._icon),u=t._map.layerPointToLatLng(r);i&&b(i,r);t._latlng=u;n.latlng=u;n.oldLatLng=this._oldLatLng;t.fire("move",n).fire("drag",n)},_onDragEnd:function(n){nt(this._panRequest);delete this._oldLatLng;this._marker.fire("moveend").fire("dragend",n)}}),uu=rt.extend({options:{icon:new ru,interactive:!0,keyboard:!0,title:"",alt:"",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",bubblingMouseEvents:!1,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(n,t){l(this,t);this._latlng=y(n)},onAdd:function(n){if(this._zoomAnimated=this._zoomAnimated&&n.options.markerZoomAnimation,this._zoomAnimated)n.on("zoomanim",this._animateZoom,this);this._initIcon();this.update()},onRemove:function(n){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks());delete this.dragging;this._zoomAnimated&&n.off("zoomanim",this._animateZoom,this);this._removeIcon();this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(n){var t=this._latlng;return this._latlng=y(n),this.update(),this.fire("move",{oldLatLng:t,latlng:this._latlng})},setZIndexOffset:function(n){return this.options.zIndexOffset=n,this.update()},setIcon:function(n){return this.options.icon=n,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var n=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(n)}return this},_initIcon:function(){var n=this.options,f="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),t=n.icon.createIcon(this._icon),e=!1,i,u;if(t!==this._icon&&(this._icon&&this._removeIcon(),e=!0,n.title&&(t.title=n.title),t.tagName==="IMG"&&(t.alt=n.alt||"")),r(t,f),n.keyboard&&(t.tabIndex="0"),this._icon=t,n.riseOnHover)this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex});i=n.icon.createShadow(this._shadow);u=!1;i!==this._shadow&&(this._removeShadow(),u=!0);i&&(r(i,f),i.alt="");this._shadow=i;n.opacity<1&&this._updateOpacity();e&&this.getPane().appendChild(this._icon);this._initInteraction();i&&u&&this.getPane("shadowPane").appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex});a(this._icon);this.removeInteractiveTarget(this._icon);this._icon=null},_removeShadow:function(){this._shadow&&a(this._shadow);this._shadow=null},_setPos:function(n){b(this._icon,n);this._shadow&&b(this._shadow,n);this._zIndex=n.y+this.options.zIndexOffset;this._resetZIndex()},_updateZIndex:function(n){this._icon&&(this._icon.style.zIndex=this._zIndex+n)},_animateZoom:function(n){var t=this._map._latLngToNewLayerPoint(this._latlng,n.zoom,n.center).round();this._setPos(t)},_initInteraction:function(){if(this.options.interactive&&(r(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),fc)){var n=this.options.draggable;this.dragging&&(n=this.dragging.enabled(),this.dragging.disable());this.dragging=new fc(this);n&&this.dragging.enable()}},setOpacity:function(n){return this.options.opacity=n,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var n=this.options.opacity;ft(this._icon,n);this._shadow&&ft(this._shadow,n)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});ii=rt.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(n){this._renderer=n.getRenderer(this)},onAdd:function(){this._renderer._initPath(this);this._reset();this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(n){return l(this,n),this._renderer&&this._renderer._updateStyle(this),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project();this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+this._renderer.options.tolerance}});fu=ii.extend({options:{fill:!0,radius:10},initialize:function(n,t){l(this,t);this._latlng=y(n);this._radius=this.options.radius},setLatLng:function(n){return this._latlng=y(n),this.redraw(),this.fire("move",{latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(n){return this.options.radius=this._radius=n,this.redraw()},getRadius:function(){return this._radius},setStyle:function(n){var t=n&&n.radius||this._radius;return ii.prototype.setStyle.call(this,n),this.setRadius(t),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng);this._updateBounds()},_updateBounds:function(){var n=this._radius,r=this._radiusY||n,t=this._clickTolerance(),i=[n+t,r+t];this._pxBounds=new v(this._point.subtract(i),this._point.add(i))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(n){return n.distanceTo(this._point)<=this._radius+this._clickTolerance()}});rf=fu.extend({initialize:function(n,t,i){if(typeof t=="number"&&(t=s({},i,{radius:t})),l(this,t),this._latlng=y(n),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(n){return this._mRadius=n,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var n=[this._radius,this._radiusY||this._radius];return new it(this._map.layerPointToLatLng(this._point.subtract(n)),this._map.layerPointToLatLng(this._point.add(n)))},setStyle:ii.prototype.setStyle,_project:function(){var e=this._latlng.lng,i=this._latlng.lat,n=this._map,o=n.options.crs,c;if(o.distance===ui.distance){var t=Math.PI/180,u=this._mRadius/ui.R/t,h=n.project([i+u,e]),l=n.project([i-u,e]),f=h.add(l).divideBy(2),s=n.unproject(f).lat,r=Math.acos((Math.cos(u*t)-Math.sin(i*t)*Math.sin(s*t))/(Math.cos(i*t)*Math.cos(s*t)))/t;(isNaN(r)||r===0)&&(r=u/Math.cos(Math.PI/180*i));this._point=f.subtract(n.getPixelOrigin());this._radius=isNaN(r)?0:f.x-n.project([s,e-r]).x;this._radiusY=f.y-h.y}else c=o.unproject(o.project(this._latlng).subtract([this._mRadius,0])),this._point=n.latLngToLayerPoint(this._latlng),this._radius=this._point.x-n.latLngToLayerPoint(c).x;this._updateBounds()}});kt=ii.extend({options:{smoothFactor:1,noClip:!1},initialize:function(n,t){l(this,t);this._setLatLngs(n)},getLatLngs:function(){return this._latlngs},setLatLngs:function(n){return this._setLatLngs(n),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(n){for(var r,t,c,s,u=Infinity,i=null,h=iu,f,e,o=0,l=this._parts.length;o<l;o++)for(r=this._parts[o],t=1,c=r.length;t<c;t++)f=r[t-1],e=r[t],s=h(n,f,e,!0),s<u&&(u=s,i=h(n,f,e));return i&&(i.distance=Math.sqrt(u)),i},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var n,r,e,u,f,t,o,i=this._rings[0],s=i.length;if(!s)return null;for(n=0,r=0;n<s-1;n++)r+=i[n].distanceTo(i[n+1])/2;if(r===0)return this._map.layerPointToLatLng(i[0]);for(n=0,u=0;n<s-1;n++)if(f=i[n],t=i[n+1],e=f.distanceTo(t),u+=e,u>r)return o=(u-r)/e,this._map.layerPointToLatLng([t.x-o*(t.x-f.x),t.y-o*(t.y-f.y)])},getBounds:function(){return this._bounds},addLatLng:function(n,t){return t=t||this._defaultShape(),n=y(n),t.push(n),this._bounds.extend(n),this.redraw()},_setLatLngs:function(n){this._bounds=new it;this._latlngs=this._convertLatLngs(n)},_defaultShape:function(){return ti(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(n){for(var i=[],r=ti(n),t=0,u=n.length;t<u;t++)r?(i[t]=y(n[t]),this._bounds.extend(i[t])):i[t]=this._convertLatLngs(n[t]);return i},_project:function(){var n=new v,i,r;this._rings=[];this._projectLatlngs(this._latlngs,this._rings,n);i=this._clickTolerance();r=new t(i,i);this._bounds.isValid()&&n.isValid()&&(n.min._subtract(r),n.max._add(r),this._pxBounds=n)},_projectLatlngs:function(n,t,i){var e=n[0]instanceof h,f=n.length,r,u;if(e){for(u=[],r=0;r<f;r++)u[r]=this._map.latLngToLayerPoint(n[r]),i.extend(u[r]);t.push(u)}else for(r=0;r<f;r++)this._projectLatlngs(n[r],t,i)},_clipPoints:function(){var o=this._renderer._bounds,i,f,n,t,s,e,r,u;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(o)){if(this.options.noClip){this._parts=this._rings;return}for(i=this._parts,f=0,t=0,s=this._rings.length;f<s;f++)for(u=this._rings[f],n=0,e=u.length;n<e-1;n++)(r=nc(u[n],u[n+1],o,n,!0),r)&&(i[t]=i[t]||[],i[t].push(r[0]),(r[1]!==u[n+1]||n===e-2)&&(i[t].push(r[1]),t++))}},_simplifyPoints:function(){for(var t=this._parts,i=this.options.smoothFactor,n=0,r=t.length;n<r;n++)t[n]=kh(t[n],i)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(n,t){var r,i,f,o,e,u,s=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(n))return!1;for(r=0,o=this._parts.length;r<o;r++)for(u=this._parts[r],i=0,e=u.length,f=e-1;i<e;f=i++)if((t||i!==0)&&dh(n,u[f],u[i])<=s)return!0;return!1}});kt._flat=tc;vi=kt.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var r,e,n,t,u,i,o,s,c,f=this._rings[0],h=f.length;if(!h)return null;for(i=o=s=0,r=0,e=h-1;r<h;e=r++)n=f[r],t=f[e],u=n.y*t.x-t.y*n.x,o+=(n.x+t.x)*u,s+=(n.y+t.y)*u,i+=u*3;return c=i===0?f[0]:[o/i,s/i],this._map.layerPointToLatLng(c)},_convertLatLngs:function(n){var t=kt.prototype._convertLatLngs.call(this,n),i=t.length;return i>=2&&t[0]instanceof h&&t[0].equals(t[i-1])&&t.pop(),t},_setLatLngs:function(n){kt.prototype._setLatLngs.call(this,n);ti(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return ti(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var n=this._renderer._bounds,u=this.options.weight,f=new t(u,u),i,e,r;if(n=new v(n.min.subtract(f),n.max.add(f)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(n)){if(this.options.noClip){this._parts=this._rings;return}for(i=0,e=this._rings.length;i<e;i++)r=rc(this._rings[i],n,!0),r.length&&this._parts.push(r)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(n){var e=!1,i,t,r,u,f,o,h,s;if(!this._pxBounds||!this._pxBounds.contains(n))return!1;for(u=0,h=this._parts.length;u<h;u++)for(i=this._parts[u],f=0,s=i.length,o=s-1;f<s;o=f++)t=i[f],r=i[o],t.y>n.y!=r.y>n.y&&n.x<(r.x-t.x)*(n.y-t.y)/(r.y-t.y)+t.x&&(e=!e);return e||kt.prototype._containsPoint.call(this,n,!0)}});dt=ai.extend({initialize:function(n,t){l(this,t);this._layers={};n&&this.addData(n)},addData:function(n){var f=ht(n)?n:n.features,u,e,i,r,t;if(f){for(u=0,e=f.length;u<e;u++)i=f[u],(i.geometries||i.geometry||i.features||i.coordinates)&&this.addData(i);return this}if((r=this.options,r.filter&&!r.filter(n))||(t=ho(n,r),!t))return this;if(t.feature=ef(n),t.defaultOptions=t.options,this.resetStyle(t),r.onEachFeature)r.onEachFeature(n,t);return this.addLayer(t)},resetStyle:function(n){return n.options=s({},n.defaultOptions),this._setLayerStyle(n,this.options.style),this},setStyle:function(n){return this.eachLayer(function(t){this._setLayerStyle(t,n)},this)},_setLayerStyle:function(n,t){typeof t=="function"&&(t=t(n.feature));n.setStyle&&n.setStyle(t)}});of={toGeoJSON:function(n){return sr(this,{type:"Point",coordinates:lo(this.getLatLng(),n)})}};uu.include(of);rf.include(of);fu.include(of);kt.include({toGeoJSON:function(n){var t=!ti(this._latlngs),i=ff(this._latlngs,t?1:0,!1,n);return sr(this,{type:(t?"Multi":"")+"LineString",coordinates:i})}});vi.include({toGeoJSON:function(n){var t=!ti(this._latlngs),r=t&&!ti(this._latlngs[0]),i=ff(this._latlngs,r?2:t?1:0,!0,n);return t||(i=[i]),sr(this,{type:(r?"Multi":"")+"Polygon",coordinates:i})}});er.include({toMultiPoint:function(n){var t=[];return this.eachLayer(function(i){t.push(i.toGeoJSON(n).geometry.coordinates)}),sr(this,{type:"MultiPoint",coordinates:t})},toGeoJSON:function(n){var r=this.feature&&this.feature.geometry&&this.feature.geometry.type,i,t;return r==="MultiPoint"?this.toMultiPoint(n):(i=r==="GeometryCollection",t=[],this.eachLayer(function(r){var f,u;r.toGeoJSON&&(f=r.toGeoJSON(n),i?t.push(f.geometry):(u=ef(f),u.type==="FeatureCollection"?t.push.apply(t,u.features):t.push(u)))}),i)?sr(this,{geometries:t,type:"GeometryCollection"}):{type:"FeatureCollection",features:t}}});var ha=ec,ao=rt.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(n,t,i){this._url=n;this._bounds=k(t);l(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity());this.options.interactive&&(r(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image));this.getPane().appendChild(this._image);this._reset()},onRemove:function(){a(this._image);this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(n){return this.options.opacity=n,this._image&&this._updateOpacity(),this},setStyle:function(n){return n.opacity&&this.setOpacity(n.opacity),this},bringToFront:function(){return this._map&&ir(this._image),this},bringToBack:function(){return this._map&&rr(this._image),this},setUrl:function(n){return this._url=n,this._image&&(this._image.src=n),this},setBounds:function(n){return this._bounds=k(n),this._map&&this._reset(),this},getEvents:function(){var n={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(n.zoomanim=this._animateZoom),n},setZIndex:function(n){return this.options.zIndex=n,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t=this._url.tagName==="IMG",n=this._image=t?this._url:e("img");if(r(n,"leaflet-image-layer"),this._zoomAnimated&&r(n,"leaflet-zoom-animated"),this.options.className&&r(n,this.options.className),n.onselectstart=d,n.onmousemove=d,n.onload=c(this.fire,this,"load"),n.onerror=c(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(n.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t){this._url=n.src;return}n.src=this._url;n.alt=this.options.alt},_animateZoom:function(n){var t=this._map.getZoomScale(n.zoom),i=this._map._latLngBoundsToNewLayerBounds(this._bounds,n.zoom,n.center).min;si(this._image,i,t)},_reset:function(){var n=this._image,t=new v(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=t.getSize();b(n,t.min);n.style.width=i.x+"px";n.style.height=i.y+"px"},_updateOpacity:function(){ft(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&this.options.zIndex!==undefined&&this.options.zIndex!==null&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var n=this.options.errorOverlayUrl;n&&this._url!==n&&(this._url=n,this._image.src=n)}}),ca=function(n,t,i){return new ao(n,t,i)},oc=ao.extend({options:{autoplay:!0,loop:!0},_initImage:function(){var s=this._url.tagName==="VIDEO",n=this._image=s?this._url:e("video"),t,f,i,u,o;if(r(n,"leaflet-image-layer"),this._zoomAnimated&&r(n,"leaflet-zoom-animated"),n.onselectstart=d,n.onmousemove=d,n.onloadeddata=c(this.fire,this,"load"),s){for(t=n.getElementsByTagName("source"),f=[],i=0;i<t.length;i++)f.push(t[i].src);this._url=t.length>0?f:[n.src];return}for(ht(this._url)||(this._url=[this._url]),n.autoplay=!!this.options.autoplay,n.loop=!!this.options.loop,u=0;u<this._url.length;u++)o=e("source"),o.src=this._url[u],n.appendChild(o)}});var ri=rt.extend({options:{offset:[0,7],className:"",pane:"popupPane"},initialize:function(n,t){l(this,n);this._source=t},onAdd:function(n){this._zoomAnimated=n._zoomAnimated;this._container||this._initLayout();n._fadeAnimated&&ft(this._container,0);clearTimeout(this._removeTimeout);this.getPane().appendChild(this._container);this.update();n._fadeAnimated&&ft(this._container,1);this.bringToFront()},onRemove:function(n){n._fadeAnimated?(ft(this._container,0),this._removeTimeout=setTimeout(c(a,undefined,this._container),200)):a(this._container)},getLatLng:function(){return this._latlng},setLatLng:function(n){return this._latlng=y(n),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(n){return this._content=n,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var n={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(n.zoomanim=this._animateZoom),n},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&ir(this._container),this},bringToBack:function(){return this._map&&rr(this._container),this},_updateContent:function(){if(this._content){var n=this._contentNode,t=typeof this._content=="function"?this._content(this._source||this):this._content;if(typeof t=="string")n.innerHTML=t;else{while(n.hasChildNodes())n.removeChild(n.firstChild);n.appendChild(t)}this.fire("contentupdate")}},_updatePosition:function(){var u,f;if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),n=i(this.options.offset),r=this._getAnchor();this._zoomAnimated?b(this._container,t.add(r)):n=n.add(t).add(r);u=this._containerBottom=-n.y;f=this._containerLeft=-Math.round(this._containerWidth/2)+n.x;this._container.style.bottom=u+"px";this._container.style.left=f+"px"}},_getAnchor:function(){return[0,0]}}),hr=ri.extend({options:{maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(n){return n.openPopup(this),this},onAdd:function(n){if(ri.prototype.onAdd.call(this,n),n.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),!(this._source instanceof ii)))this._source.on("preclick",hi)},onRemove:function(n){ri.prototype.onRemove.call(this,n);n.fire("popupclose",{popup:this});this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof ii||this._source.off("preclick",hi))},getEvents:function(){var n=ri.prototype.getEvents.call(this);return(this.options.closeOnClick!==undefined?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(n.preclick=this._close),this.options.keepInView&&(n.moveend=this._adjustPan),n},_close:function(){this._map&&this._map.closePopup(this)},_initLayout:function(){var n="leaflet-popup",i=this._container=e("div",n+" "+(this.options.className||"")+" leaflet-zoom-animated"),r=this._wrapper=e("div",n+"-content-wrapper",i),t;this._contentNode=e("div",n+"-content",r);tu(r);ge(this._contentNode);u(r,"contextmenu",hi);this._tipContainer=e("div",n+"-tip-container",i);this._tip=e("div",n+"-tip",this._tipContainer);this.options.closeButton&&(t=this._closeButton=e("a",n+"-close-button",i),t.href="#close",t.innerHTML="&#215;",u(t,"click",this._onCloseButtonClick,this))},_updateLayout:function(){var i=this._contentNode,n=i.style,t;n.width="";n.whiteSpace="nowrap";t=i.offsetWidth;t=Math.min(t,this.options.maxWidth);t=Math.max(t,this.options.minWidth);n.width=t+1+"px";n.whiteSpace="";n.height="";var e=i.offsetHeight,u=this.options.maxHeight,f="leaflet-popup-scrolled";u&&e>u?(n.height=u+"px",r(i,f)):p(i,f);this._containerWidth=this._container.offsetWidth},_animateZoom:function(n){var t=this._map._latLngToNewLayerPoint(this._latlng,n.zoom,n.center),i=this._getAnchor();b(this._container,t.add(i))},_adjustPan:function(){if(this.options.autoPan){this._map._panAnim&&this._map._panAnim.stop();var s=this._map,v=parseInt(dr(this._container,"marginBottom"),10)||0,h=this._container.offsetHeight+v,c=this._containerWidth,l=new t(this._containerLeft,-h-this._containerBottom);l._add(oi(this._container));var n=s.layerPointToContainerPoint(l),a=i(this.options.autoPanPadding),f=i(this.options.autoPanPaddingTopLeft||a),e=i(this.options.autoPanPaddingBottomRight||a),o=s.getSize(),r=0,u=0;n.x+c+e.x>o.x&&(r=n.x+c-o.x+e.x);n.x-r-f.x<0&&(r=n.x-f.x);n.y+h+e.y>o.y&&(u=n.y+h-o.y+e.y);n.y-u-f.y<0&&(u=n.y-f.y);(r||u)&&s.fire("autopanstart").panBy([r,u])}},_onCloseButtonClick:function(n){this._close();bt(n)},_getAnchor:function(){return i(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),aa=function(n,t){return new hr(n,t)};f.mergeOptions({closePopupOnClick:!0});f.include({openPopup:function(n,t,i){return(n instanceof hr||(n=new hr(i).setContent(n)),t&&n.setLatLng(t),this.hasLayer(n))?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=n,this.addLayer(n))},closePopup:function(n){return n&&n!==this._popup||(n=this._popup,this._popup=null),n&&this.removeLayer(n),this}});rt.include({bindPopup:function(n,t){if(n instanceof hr?(l(n,t),this._popup=n,n._source=this):((!this._popup||t)&&(this._popup=new hr(t,this)),this._popup.setContent(n)),!this._popupHandlersAdded){this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup});this._popupHandlersAdded=!0}return this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(n,t){if(n instanceof rt||(t=n,n=this),n instanceof ai)for(var i in this._layers){n=this._layers[i];break}return t||(t=n.getCenter?n.getCenter():n.getLatLng()),this._popup&&this._map&&(this._popup._source=n,this._popup.update(),this._map.openPopup(this._popup,t)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(n){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(n)),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(n){return this._popup&&this._popup.setContent(n),this},getPopup:function(){return this._popup},_openPopup:function(n){var t=n.layer||n.target;if(this._popup&&this._map){if(bt(n),t instanceof ii){this.openPopup(n.layer||n.target,n.latlng);return}this._map.hasLayer(this._popup)&&this._popup._source===t?this.closePopup():this.openPopup(t,n.latlng)}},_movePopup:function(n){this._popup.setLatLng(n.latlng)},_onKeyPress:function(n){n.originalEvent.keyCode===13&&this._openPopup(n)}});yi=ri.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(n){ri.prototype.onAdd.call(this,n);this.setOpacity(this.options.opacity);n.fire("tooltipopen",{tooltip:this});this._source&&this._source.fire("tooltipopen",{tooltip:this},!0)},onRemove:function(n){ri.prototype.onRemove.call(this,n);n.fire("tooltipclose",{tooltip:this});this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var n=ri.prototype.getEvents.call(this);return pt&&!this.options.permanent&&(n.preclick=this._close),n},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){var n="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=e("div",n)},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(n){var h=this._map,u=this._container,c=h.latLngToContainerPoint(h.getCenter()),l=h.layerPointToContainerPoint(n),f=this.options.direction,o=u.offsetWidth,s=u.offsetHeight,t=i(this.options.offset),e=this._getAnchor();f==="top"?n=n.add(i(-o/2+t.x,-s+t.y+e.y,!0)):f==="bottom"?n=n.subtract(i(o/2-t.x,-t.y,!0)):f==="center"?n=n.subtract(i(o/2+t.x,s/2-e.y+t.y,!0)):f==="right"||f==="auto"&&l.x<c.x?(f="right",n=n.add(i(t.x+e.x,e.y-s/2+t.y,!0))):(f="left",n=n.subtract(i(o+e.x-t.x,s/2-e.y-t.y,!0)));p(u,"leaflet-tooltip-right");p(u,"leaflet-tooltip-left");p(u,"leaflet-tooltip-top");p(u,"leaflet-tooltip-bottom");r(u,"leaflet-tooltip-"+f);b(u,n)},_updatePosition:function(){var n=this._map.latLngToLayerPoint(this._latlng);this._setPosition(n)},setOpacity:function(n){this.options.opacity=n;this._container&&ft(this._container,n)},_animateZoom:function(n){var t=this._map._latLngToNewLayerPoint(this._latlng,n.zoom,n.center);this._setPosition(t)},_getAnchor:function(){return i(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}});sc=function(n,t){return new yi(n,t)};f.include({openTooltip:function(n,t,i){return(n instanceof yi||(n=new yi(i).setContent(n)),t&&n.setLatLng(t),this.hasLayer(n))?this:this.addLayer(n)},closeTooltip:function(n){return n&&this.removeLayer(n),this}});rt.include({bindTooltip:function(n,t){return n instanceof yi?(l(n,t),this._tooltip=n,n._source=this):((!this._tooltip||t)&&(this._tooltip=new yi(t,this)),this._tooltip.setContent(n)),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(n){if(n||!this._tooltipHandlersAdded){var i=n?"off":"on",t={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?t.add=this._openTooltip:(t.mouseover=this._openTooltip,t.mouseout=this.closeTooltip,this._tooltip.options.sticky&&(t.mousemove=this._moveTooltip),pt&&(t.click=this._openTooltip));this[i](t);this._tooltipHandlersAdded=!n}},openTooltip:function(n,t){if(n instanceof rt||(t=n,n=this),n instanceof ai)for(var i in this._layers){n=this._layers[i];break}return t||(t=n.getCenter?n.getCenter():n.getLatLng()),this._tooltip&&this._map&&(this._tooltip._source=n,this._tooltip.update(),this._map.openTooltip(this._tooltip,t),this._tooltip.options.interactive&&this._tooltip._container&&(r(this._tooltip._container,"leaflet-clickable"),this.addInteractiveTarget(this._tooltip._container))),this},closeTooltip:function(){return this._tooltip&&(this._tooltip._close(),this._tooltip.options.interactive&&this._tooltip._container&&(p(this._tooltip._container,"leaflet-clickable"),this.removeInteractiveTarget(this._tooltip._container))),this},toggleTooltip:function(n){return this._tooltip&&(this._tooltip._map?this.closeTooltip():this.openTooltip(n)),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(n){return this._tooltip&&this._tooltip.setContent(n),this},getTooltip:function(){return this._tooltip},_openTooltip:function(n){var t=n.layer||n.target;this._tooltip&&this._map&&this.openTooltip(t,this._tooltip.options.sticky?n.latlng:undefined)},_moveTooltip:function(n){var t=n.latlng,i,r;this._tooltip.options.sticky&&n.originalEvent&&(i=this._map.mouseEventToContainerPoint(n.originalEvent),r=this._map.containerPointToLayerPoint(i),t=this._map.layerPointToLatLng(r));this._tooltip.setLatLng(t)}});vo=or.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(n){var t=n&&n.tagName==="DIV"?n:document.createElement("div"),r=this.options,u;return t.innerHTML=r.html!==!1?r.html:"",r.bgPos&&(u=i(r.bgPos),t.style.backgroundPosition=-u.x+"px "+-u.y+"px"),this._setIconStyles(t,"icon"),t},createShadow:function(){return null}});or.Default=ru;cr=rt.extend({options:{tileSize:256,opacity:1,updateWhenIdle:gi,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:undefined,maxNativeZoom:undefined,minNativeZoom:undefined,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(n){l(this,n)},onAdd:function(){this._initContainer();this._levels={};this._tiles={};this._resetView();this._update()},beforeAdd:function(n){n._addZoomLimit(this)},onRemove:function(n){this._removeAllTiles();a(this._container);n._removeZoomLimit(this);this._container=null;this._tileZoom=undefined},bringToFront:function(){return this._map&&(ir(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(rr(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(n){return this.options.opacity=n,this._updateOpacity(),this},setZIndex:function(n){return this.options.zIndex=n,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){return this._map&&(this._removeAllTiles(),this._update()),this},getEvents:function(){var n={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=cf(this._onMoveEnd,this.options.updateInterval,this)),n.move=this._onMove),this._zoomAnimated&&(n.zoomanim=this._animateZoom),n},createTile:function(){return document.createElement("div")},getTileSize:function(){var n=this.options.tileSize;return n instanceof t?n:new t(n,n)},_updateZIndex:function(){this._container&&this.options.zIndex!==undefined&&this.options.zIndex!==null&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(n){for(var r=this.getPane().children,t=-n(-Infinity,Infinity),i=0,f=r.length,u;i<f;i++)u=r[i].style.zIndex,r[i]!==this._container&&u&&(t=n(t,+u));isFinite(t)&&(this.options.zIndex=t+n(-1,1),this._updateZIndex())},_updateOpacity:function(){var u,n,t;if(this._map&&!ki){ft(this._container,this.options.opacity);var f=+new Date,i=!1,r=!1;for(u in this._tiles)(n=this._tiles[u],n.current&&n.loaded)&&(t=Math.min(1,(f-n.loaded)/200),ft(n.el,t),t<1?i=!0:(n.active?r=!0:this._onOpaqueTile(n),n.active=!0));r&&!this._noPrune&&this._pruneTiles();i&&(nt(this._fadeFrame),this._fadeFrame=g(this._updateOpacity,this))}},_onOpaqueTile:d,_initContainer:function(){this._container||(this._container=e("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var i=this._tileZoom,u=this.options.maxZoom,t,n,r;if(i===undefined)return undefined;for(t in this._levels)this._levels[t].el.children.length||t===i?(this._levels[t].el.style.zIndex=u-Math.abs(i-t),this._onUpdateLevel(t)):(a(this._levels[t].el),this._removeTilesAtZoom(t),this._onRemoveLevel(t),delete this._levels[t]);return n=this._levels[i],r=this._map,n||(n=this._levels[i]={},n.el=e("div","leaflet-tile-container leaflet-zoom-animated",this._container),n.el.style.zIndex=u,n.origin=r.project(r.unproject(r.getPixelOrigin()),i).round(),n.zoom=i,this._setZoomTransform(n,r.getCenter(),r.getZoom()),d(n.el.offsetWidth),this._onCreateLevel(n)),this._level=n,n},_onUpdateLevel:d,_onRemoveLevel:d,_onCreateLevel:d,_pruneTiles:function(){var t,i,r,n;if(this._map){if(r=this._map.getZoom(),r>this.options.maxZoom||r<this.options.minZoom){this._removeAllTiles();return}for(t in this._tiles)i=this._tiles[t],i.retain=i.current;for(t in this._tiles)i=this._tiles[t],i.current&&!i.active&&(n=i.coords,this._retainParent(n.x,n.y,n.z,n.z-5)||this._retainChildren(n.x,n.y,n.z,n.z+2));for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}},_removeTilesAtZoom:function(n){for(var t in this._tiles)this._tiles[t].coords.z===n&&this._removeTile(t)},_removeAllTiles:function(){for(var n in this._tiles)this._removeTile(n)},_invalidateAll:function(){for(var n in this._levels)a(this._levels[n].el),this._onRemoveLevel(n),delete this._levels[n];this._removeAllTiles();this._tileZoom=undefined},_retainParent:function(n,i,r,u){var o=Math.floor(n/2),s=Math.floor(i/2),e=r-1,h=new t(+o,+s),c,f;return(h.z=+e,c=this._tileCoordsToKey(h),f=this._tiles[c],f&&f.active)?(f.retain=!0,!0):(f&&f.loaded&&(f.retain=!0),e>u)?this._retainParent(o,s,e,u):!1},_retainChildren:function(n,i,r,u){for(var o,s,h,f,e=2*n;e<2*n+2;e++)for(o=2*i;o<2*i+2;o++){if(s=new t(e,o),s.z=r+1,h=this._tileCoordsToKey(s),f=this._tiles[h],f&&f.active){f.retain=!0;continue}else f&&f.loaded&&(f.retain=!0);r+1<u&&this._retainChildren(e,o,r+1,u)}},_resetView:function(n){var t=n&&(n.pinch||n.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),t,t)},_animateZoom:function(n){this._setView(n.center,n.zoom,!0,n.noUpdate)},_clampZoom:function(n){var t=this.options;return undefined!==t.minNativeZoom&&n<t.minNativeZoom?t.minNativeZoom:undefined!==t.maxNativeZoom&&t.maxNativeZoom<n?t.maxNativeZoom:n},_setView:function(n,t,i,r){var u=this._clampZoom(Math.round(t)),f;(this.options.maxZoom!==undefined&&u>this.options.maxZoom||this.options.minZoom!==undefined&&u<this.options.minZoom)&&(u=undefined);f=this.options.updateWhenZooming&&u!==this._tileZoom;(!r||f)&&(this._tileZoom=u,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),u!==undefined&&this._update(n),i||this._pruneTiles(),this._noPrune=!!i);this._setZoomTransforms(n,t)},_setZoomTransforms:function(n,t){for(var i in this._levels)this._setZoomTransform(this._levels[i],n,t)},_setZoomTransform:function(n,t,i){var r=this._map.getZoomScale(i,n.zoom),u=n.origin.multiplyBy(r).subtract(this._map._getNewPixelOrigin(t,i)).round();ut?si(n.el,u,r):b(n.el,u)},_resetGrid:function(){var t=this._map,n=t.options.crs,i=this._tileSize=this.getTileSize(),r=this._tileZoom,u=this._map.getPixelWorldBounds(this._tileZoom);u&&(this._globalTileRange=this._pxBoundsToTileRange(u));this._wrapX=n.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,n.wrapLng[0]],r).x/i.x),Math.ceil(t.project([0,n.wrapLng[1]],r).x/i.y)];this._wrapY=n.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([n.wrapLat[0],0],r).y/i.x),Math.ceil(t.project([n.wrapLat[1],0],r).y/i.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(n){var t=this._map,u=t._animatingZoom?Math.max(t._animateToZoom,t.getZoom()):t.getZoom(),f=t.getZoomScale(u,this._tileZoom),i=t.project(n,this._tileZoom).floor(),r=t.getSize().divideBy(f*2);return new v(i.subtract(r),i.add(r))},_update:function(n){var h=this._map,c,l,o,s,r,f,a,y;if(h&&(c=this._clampZoom(h.getZoom()),n===undefined&&(n=h.getCenter()),this._tileZoom!==undefined)){var w=this._getTiledPixelBounds(n),i=this._pxBoundsToTileRange(w),p=i.getCenter(),u=[],e=this.options.keepBuffer,b=new v(i.getBottomLeft().subtract([e,-e]),i.getTopRight().add([e,-e]));if(!(isFinite(i.min.x)&&isFinite(i.min.y)&&isFinite(i.max.x)&&isFinite(i.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(l in this._tiles)o=this._tiles[l].coords,o.z===this._tileZoom&&b.contains(new t(o.x,o.y))||(this._tiles[l].current=!1);if(Math.abs(c-this._tileZoom)>1){this._setView(n,c);return}for(s=i.min.y;s<=i.max.y;s++)for(r=i.min.x;r<=i.max.x;r++)(f=new t(r,s),f.z=this._tileZoom,this._isValidTile(f))&&(a=this._tiles[this._tileCoordsToKey(f)],a?a.current=!0:u.push(f));if(u.sort(function(n,t){return n.distanceTo(p)-t.distanceTo(p)}),u.length!==0){for(this._loading||(this._loading=!0,this.fire("loading")),y=document.createDocumentFragment(),r=0;r<u.length;r++)this._addTile(u[r],y);this._level.el.appendChild(y)}}},_isValidTile:function(n){var i=this._map.options.crs,t,r;return!i.infinite&&(t=this._globalTileRange,!i.wrapLng&&(n.x<t.min.x||n.x>t.max.x)||!i.wrapLat&&(n.y<t.min.y||n.y>t.max.y))?!1:this.options.bounds?(r=this._tileCoordsToBounds(n),k(this.options.bounds).overlaps(r)):!0},_keyToBounds:function(n){return this._tileCoordsToBounds(this._keyToTileCoords(n))},_tileCoordsToNwSe:function(n){var t=this._map,i=this.getTileSize(),r=n.scaleBy(i),u=r.add(i),f=t.unproject(r,n.z),e=t.unproject(u,n.z);return[f,e]},_tileCoordsToBounds:function(n){var i=this._tileCoordsToNwSe(n),t=new it(i[0],i[1]);return this.options.noWrap||(t=this._map.wrapLatLngBounds(t)),t},_tileCoordsToKey:function(n){return n.x+":"+n.y+":"+n.z},_keyToTileCoords:function(n){var i=n.split(":"),r=new t(+i[0],+i[1]);return r.z=+i[2],r},_removeTile:function(n){var t=this._tiles[n];t&&(a(t.el),delete this._tiles[n],this.fire("tileunload",{tile:t.el,coords:this._keyToTileCoords(n)}))},_initTile:function(n){r(n,"leaflet-tile");var t=this.getTileSize();n.style.width=t.x+"px";n.style.height=t.y+"px";n.onselectstart=d;n.onmousemove=d;ki&&this.options.opacity<1&&ft(n,this.options.opacity);di&&!wr&&(n.style.WebkitBackfaceVisibility="hidden")},_addTile:function(n,t){var r=this._getTilePos(n),u=this._tileCoordsToKey(n),i=this.createTile(this._wrapCoords(n),c(this._tileReady,this,n));this._initTile(i);this.createTile.length<2&&g(c(this._tileReady,this,n,null,i));b(i,r);this._tiles[u]={el:i,coords:n,current:!0};t.appendChild(i);this.fire("tileloadstart",{tile:i,coords:n})},_tileReady:function(n,t,i){t&&this.fire("tileerror",{error:t,tile:i,coords:n});var u=this._tileCoordsToKey(n);(i=this._tiles[u],i)&&(i.loaded=+new Date,this._map._fadeAnimated?(ft(i.el,0),nt(this._fadeFrame),this._fadeFrame=g(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),t||(r(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:n})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),ki||!this._map._fadeAnimated?g(this._pruneTiles,this):setTimeout(c(this._pruneTiles,this),250)))},_getTilePos:function(n){return n.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(n){var i=new t(this._wrapX?ar(n.x,this._wrapX):n.x,this._wrapY?ar(n.y,this._wrapY):n.y);return i.z=n.z,i},_pxBoundsToTileRange:function(n){var t=this.getTileSize();return new v(n.min.unscaleBy(t).floor(),n.max.unscaleBy(t).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var n in this._tiles)if(!this._tiles[n].loaded)return!1;return!0}});pi=cr.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(n,t){if(this._url=n,t=l(this,t),t.detectRetina&&ei&&t.maxZoom>0&&(t.tileSize=Math.floor(t.tileSize/2),t.zoomReverse?(t.zoomOffset--,t.minZoom++):(t.zoomOffset++,t.maxZoom--),t.minZoom=Math.max(0,t.minZoom)),typeof t.subdomains=="string"&&(t.subdomains=t.subdomains.split("")),!di)this.on("tileunload",this._onTileRemove)},setUrl:function(n,t){return this._url===n&&t===undefined&&(t=!0),this._url=n,t||this.redraw(),this},createTile:function(n,t){var i=document.createElement("img");return u(i,"load",c(this._tileOnLoad,this,t,i)),u(i,"error",c(this._tileOnError,this,t,i)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(i.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),i.alt="",i.setAttribute("role","presentation"),i.src=this.getTileUrl(n),i},getTileUrl:function(n){var t={r:ei?"@2x":"",s:this._getSubdomain(n),x:n.x,y:n.y,z:this._getZoomForUrl()},i;return this._map&&!this._map.options.crs.infinite&&(i=this._globalTileRange.max.y-n.y,this.options.tms&&(t.y=i),t["-y"]=i),os(this._url,s(t,this.options))},_tileOnLoad:function(n,t){ki?setTimeout(c(n,this,null,t),0):n(null,t)},_tileOnError:function(n,t,i){var r=this.options.errorTileUrl;r&&t.getAttribute("src")!==r&&(t.src=r);n(i,t)},_onTileRemove:function(n){n.tile.onload=null},_getZoomForUrl:function(){var n=this._tileZoom,t=this.options.maxZoom,i=this.options.zoomReverse,r=this.options.zoomOffset;return i&&(n=t-n),n+r},_getSubdomain:function(n){var t=Math.abs(n.x+n.y)%this.options.subdomains.length;return this.options.subdomains[t]},_abortLoading:function(){var t,n;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&(n=this._tiles[t].el,n.onload=d,n.onerror=d,n.complete||(n.src=vr,a(n),delete this._tiles[t]))},_removeTile:function(n){var t=this._tiles[n];if(t)return ys||t.el.setAttribute("src",vr),cr.prototype._removeTile.call(this,n)},_tileReady:function(n,t,i){if(this._map&&(!i||i.getAttribute("src")!==vr))return cr.prototype._tileReady.call(this,n,t,i)}});yo=pi.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(n,t){var i,r,u,f;this._url=n;i=s({},this.defaultWmsParams);for(r in t)r in this.options||(i[r]=t[r]);t=l(this,t);u=t.detectRetina&&ei?2:1;f=this.getTileSize();i.width=f.x*u;i.height=f.y*u;this.wmsParams=i},onAdd:function(n){this._crs=this.options.crs||n.options.crs;this._wmsVersion=parseFloat(this.wmsParams.version);var t=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[t]=this._crs.code;pi.prototype.onAdd.call(this,n)},getTileUrl:function(n){var r=this._tileCoordsToNwSe(n),u=this._crs,f=ct(u.project(r[0]),u.project(r[1])),t=f.min,i=f.max,o=(this._wmsVersion>=1.3&&this._crs===uc?[t.y,t.x,i.y,i.x]:[t.x,t.y,i.x,i.y]).join(","),e=pi.prototype.getTileUrl.call(this,n);return e+fs(this.wmsParams,e,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+o},setParams:function(n,t){return s(this.wmsParams,n),t||this.redraw(),this}});pi.WMS=yo;hc.wms=pa;vt=rt.extend({options:{padding:.1,tolerance:0},initialize:function(n){l(this,n);o(this);this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&r(this._container,"leaflet-zoom-animated"));this.getPane().appendChild(this._container);this._update();this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this);this._destroyContainer()},getEvents:function(){var n={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(n.zoomanim=this._onAnimZoom),n},_onAnimZoom:function(n){this._updateTransform(n.center,n.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(n,t){var i=this._map.getZoomScale(t,this._zoom),f=oi(this._container),r=this._map.getSize().multiplyBy(.5+this.options.padding),e=this._map.project(this._center,t),o=this._map.project(n,t),s=o.subtract(e),u=r.multiplyBy(-i).add(f).add(r).subtract(s);ut?si(this._container,u,i):b(this._container,u)},_reset:function(){this._update();this._updateTransform(this._center,this._zoom);for(var n in this._layers)this._layers[n]._reset()},_onZoomEnd:function(){for(var n in this._layers)this._layers[n]._project()},_updatePaths:function(){for(var n in this._layers)this._layers[n]._update()},_update:function(){var n=this.options.padding,t=this._map.getSize(),i=this._map.containerPointToLayerPoint(t.multiplyBy(-n)).round();this._bounds=new v(i,i.add(t.multiplyBy(1+n*2)).round());this._center=this._map.getCenter();this._zoom=this._map.getZoom()}});po=vt.extend({getEvents:function(){var n=vt.prototype.getEvents.call(this);return n.viewprereset=this._onViewPreReset,n},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){vt.prototype.onAdd.call(this);this._draw()},_initContainer:function(){var n=this._container=document.createElement("canvas");u(n,"mousemove",cf(this._onMouseMove,32,this),this);u(n,"click dblclick mousedown mouseup contextmenu",this._onClick,this);u(n,"mouseout",this._handleMouseOut,this);this._ctx=n.getContext("2d")},_destroyContainer:function(){nt(this._redrawRequest);delete this._ctx;a(this._container);w(this._container);delete this._container},_updatePaths:function(){var n,t;if(!this._postponeUpdatePaths){this._redrawBounds=null;for(t in this._layers)n=this._layers[t],n._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){vt.prototype._update.call(this);var t=this._bounds,n=this._container,i=t.getSize(),r=ei?2:1;b(n,t.min);n.width=r*i.x;n.height=r*i.y;n.style.width=i.x+"px";n.style.height=i.y+"px";ei&&this._ctx.scale(2,2);this._ctx.translate(-t.min.x,-t.min.y);this.fire("update")}},_reset:function(){vt.prototype._reset.call(this);this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(n){this._updateDashArray(n);this._layers[o(n)]=n;var t=n._order={layer:n,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=t);this._drawLast=t;this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(n){this._requestRedraw(n)},_removePath:function(n){var r=n._order,t=r.next,i=r.prev;t?t.prev=i:this._drawLast=i;i?i.next=t:this._drawFirst=t;delete n._order;delete this._layers[o(n)];this._requestRedraw(n)},_updatePath:function(n){this._extendRedrawBounds(n);n._project();n._update();this._requestRedraw(n)},_updateStyle:function(n){this._updateDashArray(n);this._requestRedraw(n)},_updateDashArray:function(n){if(typeof n.options.dashArray=="string"){for(var r=n.options.dashArray.split(/[, ]+/),u=[],i,t=0;t<r.length;t++){if(i=Number(r[t]),isNaN(i))return;u.push(i)}n.options._dashArray=u}else n.options._dashArray=n.options.dashArray},_requestRedraw:function(n){this._map&&(this._extendRedrawBounds(n),this._redrawRequest=this._redrawRequest||g(this._redraw,this))},_extendRedrawBounds:function(n){if(n._pxBounds){var t=(n.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new v;this._redrawBounds.extend(n._pxBounds.min.subtract([t,t]));this._redrawBounds.extend(n._pxBounds.max.add([t,t]))}},_redraw:function(){this._redrawRequest=null;this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil());this._clear();this._draw();this._redrawBounds=null},_clear:function(){var n=this._redrawBounds,t;n?(t=n.getSize(),this._ctx.clearRect(n.min.x,n.min.y,t.x,t.y)):this._ctx.clearRect(0,0,this._container.width,this._container.height)},_draw:function(){var i,n=this._redrawBounds,r,t;for(this._ctx.save(),n&&(r=n.getSize(),this._ctx.beginPath(),this._ctx.rect(n.min.x,n.min.y,r.x,r.y),this._ctx.clip()),this._drawing=!0,t=this._drawFirst;t;t=t.next)i=t.layer,(!n||i._pxBounds&&i._pxBounds.intersects(n))&&i._updatePath();this._drawing=!1;this._ctx.restore()},_updatePoly:function(n,t){if(this._drawing){var i,r,o,f,e=n._parts,s=e.length,u=this._ctx;if(s){for(u.beginPath(),i=0;i<s;i++){for(r=0,o=e[i].length;r<o;r++)f=e[i][r],u[r?"lineTo":"moveTo"](f.x,f.y);t&&u.closePath()}this._fillStroke(u,n)}}},_updateCircle:function(n){if(this._drawing&&!n._empty()){var u=n._point,t=this._ctx,r=Math.max(Math.round(n._radius),1),i=(Math.max(Math.round(n._radiusY),1)||r)/r;i!==1&&(t.save(),t.scale(1,i));t.beginPath();t.arc(u.x,u.y/i,r,0,Math.PI*2,!1);i!==1&&t.restore();this._fillStroke(t,n)}},_fillStroke:function(n,t){var i=t.options;i.fill&&(n.globalAlpha=i.fillOpacity,n.fillStyle=i.fillColor||i.color,n.fill(i.fillRule||"evenodd"));i.stroke&&i.weight!==0&&(n.setLineDash&&n.setLineDash(t.options&&t.options._dashArray||[]),n.globalAlpha=i.opacity,n.lineWidth=i.weight,n.strokeStyle=i.color,n.lineCap=i.lineCap,n.lineJoin=i.lineJoin,n.stroke())},_onClick:function(n){for(var u=this._map.mouseEventToLayerPoint(n),t,r,i=this._drawFirst;i;i=i.next)t=i.layer,t.options.interactive&&t._containsPoint(u)&&!this._map._draggableMoved(t)&&(r=t);r&&(no(n),this._fireEvent([r],n))},_onMouseMove:function(n){if(this._map&&!this._map.dragging.moving()&&!this._map._animatingZoom){var t=this._map.mouseEventToLayerPoint(n);this._handleMouseHover(n,t)}},_handleMouseOut:function(n){var t=this._hoveredLayer;t&&(p(this._container,"leaflet-interactive"),this._fireEvent([t],n,"mouseout"),this._hoveredLayer=null)},_handleMouseHover:function(n,t){for(var u,i,f=this._drawFirst;f;f=f.next)u=f.layer,u.options.interactive&&u._containsPoint(t)&&(i=u);i!==this._hoveredLayer&&(this._handleMouseOut(n),i&&(r(this._container,"leaflet-interactive"),this._fireEvent([i],n,"mouseover"),this._hoveredLayer=i));this._hoveredLayer&&this._fireEvent([this._hoveredLayer],n)},_fireEvent:function(n,t,i){this._map._fireDOMEvent(t,i||t.type,n)},_bringToFront:function(n){var t=n._order,i,r;if(t){if(i=t.next,r=t.prev,i)i.prev=r;else return;r?r.next=i:i&&(this._drawFirst=i);t.prev=this._drawLast;this._drawLast.next=t;t.next=null;this._drawLast=t;this._requestRedraw(n)}},_bringToBack:function(n){var t=n._order,r,i;if(t){if(r=t.next,i=t.prev,i)i.next=r;else return;r?r.prev=i:i&&(this._drawLast=i);t.prev=null;t.next=this._drawFirst;this._drawFirst.prev=t;this._drawFirst=t;this._requestRedraw(n)}}});var eu=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(n){return document.createElement("<lvml:"+n+' class="lvml">')}}catch(n){return function(n){return document.createElement("<"+n+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),wa={_initContainer:function(){this._container=e("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(vt.prototype._update.call(this),this.fire("update"))},_initPath:function(n){var t=n._container=eu("shape");r(t,"leaflet-vml-shape "+(this.options.className||""));t.coordsize="1 1";n._path=eu("path");t.appendChild(n._path);this._updateStyle(n);this._layers[o(n)]=n},_addPath:function(n){var t=n._container;this._container.appendChild(t);n.options.interactive&&n.addInteractiveTarget(t)},_removePath:function(n){var t=n._container;a(t);n.removeInteractiveTarget(t);delete this._layers[o(n)]},_updateStyle:function(n){var i=n._stroke,r=n._fill,t=n.options,u=n._container;u.stroked=!!t.stroke;u.filled=!!t.fill;t.stroke?(i||(i=n._stroke=eu("stroke")),u.appendChild(i),i.weight=t.weight+"px",i.color=t.color,i.opacity=t.opacity,i.dashStyle=t.dashArray?ht(t.dashArray)?t.dashArray.join(" "):t.dashArray.replace(/( *, *)/g," "):"",i.endcap=t.lineCap.replace("butt","flat"),i.joinstyle=t.lineJoin):i&&(u.removeChild(i),n._stroke=null);t.fill?(r||(r=n._fill=eu("fill")),u.appendChild(r),r.color=t.fillColor||t.color,r.opacity=t.fillOpacity):r&&(u.removeChild(r),n._fill=null)},_updateCircle:function(n){var t=n._point.round(),i=Math.round(n._radius),r=Math.round(n._radiusY||i);this._setPath(n,n._empty()?"M0 0":"AL "+t.x+","+t.y+" "+i+","+r+" 0,23592600")},_setPath:function(n,t){n._path.v=t},_bringToFront:function(n){ir(n._container)},_bringToBack:function(n){rr(n._container)}},sf=au?eu:as,ou=vt.extend({getEvents:function(){var n=vt.prototype.getEvents.call(this);return n.zoomstart=this._onZoomStart,n},_initContainer:function(){this._container=sf("svg");this._container.setAttribute("pointer-events","none");this._rootGroup=sf("g");this._container.appendChild(this._rootGroup)},_destroyContainer:function(){a(this._container);w(this._container);delete this._container;delete this._rootGroup;delete this._svgSize},_onZoomStart:function(){this._update()},_update:function(){if(!this._map._animatingZoom||!this._bounds){vt.prototype._update.call(this);var t=this._bounds,n=t.getSize(),i=this._container;this._svgSize&&this._svgSize.equals(n)||(this._svgSize=n,i.setAttribute("width",n.x),i.setAttribute("height",n.y));b(i,t.min);i.setAttribute("viewBox",[t.min.x,t.min.y,n.x,n.y].join(" "));this.fire("update")}},_initPath:function(n){var t=n._path=sf("path");n.options.className&&r(t,n.options.className);n.options.interactive&&r(t,"leaflet-interactive");this._updateStyle(n);this._layers[o(n)]=n},_addPath:function(n){this._rootGroup||this._initContainer();this._rootGroup.appendChild(n._path);n.addInteractiveTarget(n._path)},_removePath:function(n){a(n._path);n.removeInteractiveTarget(n._path);delete this._layers[o(n)]},_updatePath:function(n){n._project();n._update()},_updateStyle:function(n){var t=n._path,i=n.options;t&&(i.stroke?(t.setAttribute("stroke",i.color),t.setAttribute("stroke-opacity",i.opacity),t.setAttribute("stroke-width",i.weight),t.setAttribute("stroke-linecap",i.lineCap),t.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?t.setAttribute("stroke-dasharray",i.dashArray):t.removeAttribute("stroke-dasharray"),i.dashOffset?t.setAttribute("stroke-dashoffset",i.dashOffset):t.removeAttribute("stroke-dashoffset")):t.setAttribute("stroke","none"),i.fill?(t.setAttribute("fill",i.fillColor||i.color),t.setAttribute("fill-opacity",i.fillOpacity),t.setAttribute("fill-rule",i.fillRule||"evenodd")):t.setAttribute("fill","none"))},_updatePoly:function(n,t){this._setPath(n,vs(n._parts,t))},_updateCircle:function(n){var i=n._point,t=Math.max(Math.round(n._radius),1),u=Math.max(Math.round(n._radiusY),1)||t,r="a"+t+","+u+" 0 1,0 ",f=n._empty()?"M0 0":"M"+(i.x-t)+","+i.y+r+t*2+",0 "+r+-t*2+",0 ";this._setPath(n,f)},_setPath:function(n,t){n._path.setAttribute("d",t)},_bringToFront:function(n){ir(n._path)},_bringToBack:function(n){rr(n._path)}});au&&ou.include(wa);f.include({getRenderer:function(n){var t=n.options.renderer||this._getPaneRenderer(n.options.pane)||this.options.renderer||this._renderer;return t||(t=this._renderer=this._createRenderer()),this.hasLayer(t)||this.addLayer(t),t},_getPaneRenderer:function(n){if(n==="overlayPane"||n===undefined)return!1;var t=this._paneRenderers[n];return t===undefined&&(t=this._createRenderer({pane:n}),this._paneRenderers[n]=t),t},_createRenderer:function(n){return this.options.preferCanvas&&cc(n)||lc(n)}});wo=vi.extend({initialize:function(n,t){vi.prototype.initialize.call(this,this._boundsToLatLngs(n),t)},setBounds:function(n){return this.setLatLngs(this._boundsToLatLngs(n))},_boundsToLatLngs:function(n){return n=k(n),[n.getSouthWest(),n.getNorthWest(),n.getNorthEast(),n.getSouthEast()]}});ou.create=sf;ou.pointsToPath=vs;dt.geometryToLayer=ho;dt.coordsToLatLng=co;dt.coordsToLatLngs=uf;dt.latLngToCoords=lo;dt.latLngsToCoords=ff;dt.getFeature=sr;dt.asFeature=ef;f.mergeOptions({boxZoom:!0});bo=at.extend({initialize:function(n){this._map=n;this._container=n._container;this._pane=n._panes.overlayPane;this._resetStateTimeout=0;n.on("unload",this._destroy,this)},addHooks:function(){u(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){w(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){a(this._pane);delete this._pane},_resetState:function(){this._resetStateTimeout=0;this._moved=!1},_clearDeferredResetState:function(){this._resetStateTimeout!==0&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(n){if(!n.shiftKey||n.which!==1&&n.button!==1)return!1;this._clearDeferredResetState();this._resetState();gr();ye();this._startPoint=this._map.mouseEventToContainerPoint(n);u(document,{contextmenu:bt,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(n){this._moved||(this._moved=!0,this._box=e("div","leaflet-zoom-box",this._container),r(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart"));this._point=this._map.mouseEventToContainerPoint(n);var t=new v(this._point,this._startPoint),i=t.getSize();b(this._box,t.min);this._box.style.width=i.x+"px";this._box.style.height=i.y+"px"},_finish:function(){this._moved&&(a(this._box),p(this._container,"leaflet-crosshair"));nu();pe();w(document,{contextmenu:bt,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(n){if((n.which===1||n.button===1)&&(this._finish(),this._moved)){this._clearDeferredResetState();this._resetStateTimeout=setTimeout(c(this._resetState,this),0);var t=new it(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(t).fire("boxzoomend",{boxZoomBounds:t})}},_onKeyDown:function(n){n.keyCode===27&&this._finish()}});f.addInitHook("addHandler","boxZoom",bo);f.mergeOptions({doubleClickZoom:!0});ko=at.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(n){var t=this._map,i=t.getZoom(),r=t.options.zoomDelta,u=n.originalEvent.shiftKey?i-r:i+r;t.options.doubleClickZoom==="center"?t.setZoom(u):t.setZoomAround(n.containerPoint,u)}});f.addInitHook("addHandler","doubleClickZoom",ko);f.mergeOptions({dragging:!0,inertia:!wr,inertiaDeceleration:3400,inertiaMaxSpeed:Infinity,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});go=at.extend({addHooks:function(){if(!this._draggable){var n=this._map;this._draggable=new ci(n._mapPane,n._container);this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this);this._draggable.on("predrag",this._onPreDragLimit,this);if(n.options.worldCopyJump){this._draggable.on("predrag",this._onPreDragWrap,this);n.on("zoomend",this._onZoomEnd,this);n.whenReady(this._onZoomEnd,this)}}r(this._map._container,"leaflet-grab leaflet-touch-drag");this._draggable.enable();this._positions=[];this._times=[]},removeHooks:function(){p(this._map._container,"leaflet-grab");p(this._map._container,"leaflet-touch-drag");this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var n=this._map,t;n._stop();this._map.options.maxBounds&&this._map.options.maxBoundsViscosity?(t=k(this._map.options.maxBounds),this._offsetLimit=ct(this._map.latLngToContainerPoint(t.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(t.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))):this._offsetLimit=null;n.fire("movestart").fire("dragstart");n.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(n){if(this._map.options.inertia){var t=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i);this._times.push(t);this._prunePositions(t)}this._map.fire("move",n).fire("drag",n)},_prunePositions:function(n){while(this._positions.length>1&&n-this._times[0]>50)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var n=this._map.getSize().divideBy(2),t=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=t.subtract(n).x;this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(n,t){return n-(n-t)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var n=this._draggable._newPos.subtract(this._draggable._startPos),t=this._offsetLimit;n.x<t.min.x&&(n.x=this._viscousLimit(n.x,t.min.x));n.y<t.min.y&&(n.y=this._viscousLimit(n.y,t.min.y));n.x>t.max.x&&(n.x=this._viscousLimit(n.x,t.max.x));n.y>t.max.y&&(n.y=this._viscousLimit(n.y,t.max.y));this._draggable._newPos=this._draggable._startPos.add(n)}},_onPreDragWrap:function(){var i=this._worldWidth,t=Math.round(i/2),n=this._initialWorldOffset,r=this._draggable._newPos.x,u=(r-t+n)%i+t-n,f=(r+t+n)%i-t-n,e=Math.abs(u+n)<Math.abs(f+n)?u:f;this._draggable._absPos=this._draggable._newPos.clone();this._draggable._newPos.x=e},_onDragEnd:function(n){var t=this._map,r=t.options,h=!r.inertia||this._times.length<2;if(t.fire("dragend",n),h)t.fire("moveend");else{this._prunePositions(+new Date);var c=this._lastPos.subtract(this._positions[0]),l=(this._lastTime-this._times[0])/1e3,u=r.easeLinearity,f=c.multiplyBy(u/l),e=f.distanceTo([0,0]),o=Math.min(r.inertiaMaxSpeed,e),a=f.multiplyBy(o/e),s=o/(r.inertiaDeceleration*u),i=a.multiplyBy(-s/2).round();i.x||i.y?(i=t._limitOffset(i,t.options.maxBounds),g(function(){t.panBy(i,{duration:s,easeLinearity:u,noMoveStart:!0,animate:!0})})):t.fire("moveend")}}});f.addInitHook("addHandler","dragging",go);f.mergeOptions({keyboard:!0,keyboardPanDelta:80});ns=at.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(n){this._map=n;this._setPanDelta(n.options.keyboardPanDelta);this._setZoomDelta(n.options.zoomDelta)},addHooks:function(){var n=this._map._container;n.tabIndex<=0&&(n.tabIndex="0");u(n,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this);this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks();w(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this);this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var n=document.body,t=document.documentElement,i=n.scrollTop||t.scrollTop,r=n.scrollLeft||t.scrollLeft;this._map._container.focus();window.scrollTo(r,i)}},_onFocus:function(){this._focused=!0;this._map.fire("focus")},_onBlur:function(){this._focused=!1;this._map.fire("blur")},_setPanDelta:function(n){for(var u=this._panKeys={},i=this.keyCodes,t=0,r=i.left.length;t<r;t++)u[i.left[t]]=[-1*n,0];for(t=0,r=i.right.length;t<r;t++)u[i.right[t]]=[n,0];for(t=0,r=i.down.length;t<r;t++)u[i.down[t]]=[0,n];for(t=0,r=i.up.length;t<r;t++)u[i.up[t]]=[0,-1*n]},_setZoomDelta:function(n){for(var u=this._zoomKeys={},i=this.keyCodes,t=0,r=i.zoomIn.length;t<r;t++)u[i.zoomIn[t]]=n;for(t=0,r=i.zoomOut.length;t<r;t++)u[i.zoomOut[t]]=-n},_addHooks:function(){u(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){w(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(n){if(!n.altKey&&!n.ctrlKey&&!n.metaKey){var r=n.keyCode,t=this._map,u;if(r in this._panKeys)t._panAnim&&t._panAnim._inProgress||(u=this._panKeys[r],n.shiftKey&&(u=i(u).multiplyBy(3)),t.panBy(u),t.options.maxBounds&&t.panInsideBounds(t.options.maxBounds));else if(r in this._zoomKeys)t.setZoom(t.getZoom()+(n.shiftKey?3:1)*this._zoomKeys[r]);else if(r===27&&t._popup&&t._popup.options.closeOnEscapeKey)t.closePopup();else return;bt(n)}}});f.addInitHook("addHandler","keyboard",ns);f.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});ts=at.extend({addHooks:function(){u(this._map._container,"mousewheel",this._onWheelScroll,this);this._delta=0},removeHooks:function(){w(this._map._container,"mousewheel",this._onWheelScroll,this)},_onWheelScroll:function(n){var i=lh(n),r=this._map.options.wheelDebounceTime,t;this._delta+=i;this._lastMousePos=this._map.mouseEventToContainerPoint(n);this._startTime||(this._startTime=+new Date);t=Math.max(r-(+new Date-this._startTime),0);clearTimeout(this._timer);this._timer=setTimeout(c(this._performZoom,this),t);bt(n)},_performZoom:function(){var n=this._map,t=n.getZoom(),i=this._map.options.zoomSnap||0;n._stop();var e=this._delta/(this._map.options.wheelPxPerZoomLevel*4),u=4*Math.log(2/(1+Math.exp(-Math.abs(e))))/Math.LN2,f=i?Math.ceil(u/i)*i:u,r=n._limitZoom(t+(this._delta>0?f:-f))-t;(this._delta=0,this._startTime=null,r)&&(n.options.scrollWheelZoom==="center"?n.setZoom(t+r):n.setZoomAround(this._lastMousePos,t+r))}});f.addInitHook("addHandler","scrollWheelZoom",ts);f.mergeOptions({tap:!0,tapTolerance:15});is=at.extend({addHooks:function(){u(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){w(this._map._container,"touchstart",this._onDown,this)},_onDown:function(n){if(n.touches){if(ot(n),this._fireClick=!0,n.touches.length>1){this._fireClick=!1;clearTimeout(this._holdTimeout);return}var i=n.touches[0],f=i.target;this._startPos=this._newPos=new t(i.clientX,i.clientY);f.tagName&&f.tagName.toLowerCase()==="a"&&r(f,"leaflet-active");this._holdTimeout=setTimeout(c(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",i))},this),1e3);this._simulateEvent("mousedown",i);u(document,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(n){if(clearTimeout(this._holdTimeout),w(document,{touchmove:this._onMove,touchend:this._onUp},this),this._fireClick&&n&&n.changedTouches){var i=n.changedTouches[0],t=i.target;t&&t.tagName&&t.tagName.toLowerCase()==="a"&&p(t,"leaflet-active");this._simulateEvent("mouseup",i);this._isTapValid()&&this._simulateEvent("click",i)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(n){var i=n.touches[0];this._newPos=new t(i.clientX,i.clientY);this._simulateEvent("mousemove",i)},_simulateEvent:function(n,t){var i=document.createEvent("MouseEvents");i._simulated=!0;t.target._simulatedClick=!0;i.initMouseEvent(n,!0,!0,window,1,t.screenX,t.screenY,t.clientX,t.clientY,!1,!1,!1,!1,0,null);t.target.dispatchEvent(i)}});pt&&!lt&&f.addInitHook("addHandler","tap",is);f.mergeOptions({touchZoom:pt&&!wr,bounceAtZoomLimits:!0});rs=at.extend({addHooks:function(){r(this._map._container,"leaflet-touch-zoom");u(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){p(this._map._container,"leaflet-touch-zoom");w(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(n){var t=this._map,i,r;!n.touches||n.touches.length!==2||t._animatingZoom||this._zooming||(i=t.mouseEventToContainerPoint(n.touches[0]),r=t.mouseEventToContainerPoint(n.touches[1]),this._centerPoint=t.getSize()._divideBy(2),this._startLatLng=t.containerPointToLatLng(this._centerPoint),t.options.touchZoom!=="center"&&(this._pinchStartLatLng=t.containerPointToLatLng(i.add(r)._divideBy(2))),this._startDist=i.distanceTo(r),this._startZoom=t.getZoom(),this._moved=!1,this._zooming=!0,t._stop(),u(document,"touchmove",this._onTouchMove,this),u(document,"touchend",this._onTouchEnd,this),ot(n))},_onTouchMove:function(n){var r,e;if(n.touches&&n.touches.length===2&&this._zooming){var t=this._map,u=t.mouseEventToContainerPoint(n.touches[0]),f=t.mouseEventToContainerPoint(n.touches[1]),i=u.distanceTo(f)/this._startDist;if(this._zoom=t.getScaleZoom(i,this._startZoom),!t.options.bounceAtZoomLimits&&(this._zoom<t.getMinZoom()&&i<1||this._zoom>t.getMaxZoom()&&i>1)&&(this._zoom=t._limitZoom(this._zoom)),t.options.touchZoom==="center"){if(this._center=this._startLatLng,i===1)return}else{if(r=u._add(f)._divideBy(2)._subtract(this._centerPoint),i===1&&r.x===0&&r.y===0)return;this._center=t.unproject(t.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(t._moveStart(!0,!1),this._moved=!0);nt(this._animRequest);e=c(t._move,t,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=g(e,this,!0);ot(n)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1;nt(this._animRequest);w(document,"touchmove",this._onTouchMove);w(document,"touchend",this._onTouchEnd);this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});f.addInitHook("addHandler","touchZoom",rs);f.BoxZoom=bo;f.DoubleClickZoom=ko;f.Drag=go;f.Keyboard=ns;f.ScrollWheelZoom=ts;f.Tap=is;f.TouchZoom=rs;Object.freeze=us;n.version="1.4.0+HEAD.3337f36";n.Control=st;n.control=fr;n.Browser=kc;n.Evented=bi;n.Mixin=vl;n.Util=cs;n.Class=gt;n.Handler=at;n.extend=s;n.bind=c;n.stamp=o;n.setOptions=l;n.DomEvent=sl;n.DomUtil=sh;n.PosAnimation=ah;n.Draggable=ci;n.LineUtil=ic;n.PolyUtil=kl;n.Point=t;n.point=i;n.Bounds=v;n.bounds=ct;n.Transformation=bf;n.transformation=yr;n.Projection=dl;n.LatLng=h;n.latLng=y;n.LatLngBounds=it;n.latLngBounds=k;n.CRS=ni;n.GeoJSON=dt;n.geoJSON=ec;n.geoJson=ha;n.Layer=rt;n.LayerGroup=er;n.layerGroup=ta;n.FeatureGroup=ai;n.featureGroup=ia;n.ImageOverlay=ao;n.imageOverlay=ca;n.VideoOverlay=oc;n.videoOverlay=la;n.DivOverlay=ri;n.Popup=hr;n.popup=aa;n.Tooltip=yi;n.tooltip=sc;n.Icon=or;n.icon=ra;n.DivIcon=vo;n.divIcon=va;n.Marker=uu;n.marker=ua;n.TileLayer=pi;n.tileLayer=hc;n.GridLayer=cr;n.gridLayer=ya;n.SVG=ou;n.svg=lc;n.Renderer=vt;n.Canvas=po;n.canvas=cc;n.Path=ii;n.CircleMarker=fu;n.circleMarker=fa;n.Circle=rf;n.circle=ea;n.Polyline=kt;n.polyline=oa;n.Polygon=vi;n.polygon=sa;n.Rectangle=wo;n.rectangle=ba;n.Map=f;n.map=hl;ac=window.L;n.noConflict=function(){return window.L=ac,this};window.L=n}),function(n,t,i){"use strict";L.XmlUtil={namespaces:{xlink:"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/xmlns/",xsd:"http://www.w3.org/2001/XMLSchema",xsi:"http://www.w3.org/2001/XMLSchema-instance",wfs:"http://www.opengis.net/wfs",wfs2:"http://www.opengis.net/wfs/2.0",gml:"http://www.opengis.net/gml",gml3:"http://www.opengis.net/gml/3.2",ogc:"http://www.opengis.net/ogc",ows:"http://www.opengis.net/ows"},xmldoc:(new DOMParser).parseFromString("<root />","text/xml"),setAttributes:function(n,t){var i,r,u;for(i in t)t[i]!=null&&t[i].toString&&(r=t[i].toString(),u=this.namespaces[i.substring(0,i.indexOf(":"))]||null,n.setAttributeNS(u,i,r))},evaluate:function(n,t){var u=new DOMParser,i=u.parseFromString(t,"text/xml"),r=new XPathEvaluator,f=r.createNSResolver(i.documentElement);return r.evaluate(n,i,f,XPathResult.ANY_TYPE,null)},createElementNS:function(n,t,i){var r,u;return i=i||{},r=i.uri,r||(r=this.namespaces[n.substring(0,n.indexOf(":"))]),r||(r=this.namespaces[i.prefix]),u=r?this.xmldoc.createElementNS(r,n):this.xmldoc.createElement(n),t&&this.setAttributes(u,t),i.value!=null&&u.appendChild(this.xmldoc.createTextNode(i.value)),u},createTextNode:function(n){return this.xmldoc.createTextNode(n)},serializeXmlDocumentString:function(n){var i=t.implementation.createDocument("","",null),r;return i.appendChild(n),r=new XMLSerializer,r.serializeToString(i)},serializeXmlToString:function(n){var t=new XMLSerializer;return t.serializeToString(n)},parseXml:function(t){if(typeof n.DOMParser!="undefined")return(new n.DOMParser).parseFromString(t,"text/xml");if(typeof n.ActiveXObject!="undefined"&&new n.ActiveXObject("Microsoft.XMLDOM")){var i=new n.ActiveXObject("Microsoft.XMLDOM");return i.async="false",i.loadXML(t),i}throw new Error("No XML parser found");}};L.Util.request=function(t){t=L.extend({async:!0,method:"GET",data:"",params:{},headers:{},url:n.location.href,success:function(n){console.log(n)},error:function(n){console.log("Ajax request fail");console.log(n)},complete:function(){}},t);var i=t.url+L.Util.getParamString(t.params,t.url);$.ajax({url:i,type:"Post",data:t.data,dataType:"xml",success:function(n){t.success(n)},complete:function(){t.complete()}})};L.Filter=L.Class.extend({initialize:function(){this.filter=L.XmlUtil.createElementNS("ogc:Filter")},toGml:function(){return this.filter},append:function(){return this}});L.Filter.GmlObjectID=L.Filter.extend({append:function(n){return this.filter.appendChild(L.XmlUtil.createElementNS("ogc:GmlObjectId",{"gml:id":n})),this}});L.Format={};L.Format.Scheme=L.Class.extend({initialize:function(n){this.geometryField=n},parse:function(n){for(var i,s,f,r,h,c,e=new L.GML.FeatureType(this.geometryField),l=n.getElementsByTagNameNS(L.XmlUtil.namespaces.xsd,"complexType")[0],o=l.getElementsByTagNameNS(L.XmlUtil.namespaces.xsd,"sequence")[0],u=0;u<o.childNodes.length;u++)(i=o.childNodes[u],i.nodeType===t.ELEMENT_NODE)&&(s=i.attributes.name,s)&&(f=i.attributes.name.value,f!==this.geometryField)&&(r=i.attributes.type,r||(h=i.getElementsByTagNameNS(L.XmlUtil.namespaces.xsd,"restriction"),r=h[0].attributes.base),r)&&(c=r.value.split(":").pop(),e.appendField(f,c));return e}});L.Format.Base=L.Class.extend({defaultOptions:{crs:L.CRS.EPSG3857,coordsToLatLng:function(n){return new L.LatLng(n[1],n[0],n[2])},latLngToCoords:function(n){var t=[n.lng,n.lat];return n.alt!==i&&t.push(n.alt),t},geometryField:"Shape"},initialize:function(n){if(L.setOptions(this,L.extend({},this.defaultOptions,n)),n.crs){var t=n.crs;this.options.coordsToLatLng=function(n){var r=L.point(n[0],n[1]),i=t.projection.unproject(r);return n[2]&&(i.alt=n[2]),i};this.options.latLngToCoords=function(n){var i=L.latLng(n);return t.projection.project(i)}}},setFeatureDescription:function(n){this.namespaceUri=n.attributes.targetNamespace.value;var t=new L.Format.Scheme(this.options.geometryField);this.featureType=t.parse(n)}});L.Format.GeoJSON=L.Format.Base.extend({initialize:function(n){L.Format.Base.prototype.initialize.call(this,n);this.outputFormat="application/json"},responseToLayers:function(n){for(var i=[],r=JSON.parse(n),t=0;t<r.features.length;t++)i.push(this.processFeature(r.features[t]));return i},processFeature:function(n){var t=this.generateLayer(n);return t.feature=n,t},generateLayer:function(n){return L.GeoJSON.geometryToLayer(n,this.options.pointToLayer||null,this.options.coordsToLatLng||null,null)}});L.GML=L.GML||{};L.GML.ParserContainerMixin={parsers:{},initializeParserContainer:function(){this.parsers={}},appendParser:function(n){this.parsers[n.elementTag]=n},parseElement:function(n,t,i){var r=this.parsers[n.tagName];if(!r)throw"unknown child element "+n.tagName;return r.parse(n,t,i)}};L.GML.Element=L.Class.extend({elementTag:"",parse:function(){throw"not implemented parse function in parser for "+this.elementTag;}});L.GML.Geometry=L.GML.Element.extend({statics:{DIM:2},dimensions:function(n){return n.attributes.srsDimension?parseInt(n.attributes.srsDimension.value):this.srsDimensionInTree(n)},srsDimensionInTree:function(n){return n.attributes.srsDimension?parseInt(n.attributes.srsDimension.value):n.parentElement?this.srsDimensionInTree(n.parentElement):L.GML.Geometry.DIM}});L.GML.Coordinates=L.GML.Element.extend({defaultSeparator:{ds:".",cs:",",ts:" "},initialize:function(){this.elementTag="gml:coordinates"},parse:function(n){var r=this.defaultSeparator.ds,u,f,i;n.attributes.decimal&&(r=n.attributes.decimal.value);u=this.defaultSeparator.cs;n.attributes.cs&&(u=n.attributes.cs.value);f=this.defaultSeparator.ts;n.attributes.ts&&(f=n.attributes.ts.value);var t=[],e=n.textContent.split(f),o=function(n){return r!=="."&&(n=n.replace(r,".")),parseFloat(n)};for(i=0;i<e.length;i++)t.push(e[i].split(u).map(o));return t.length===1?t[0]:t}});L.GML.Pos=L.GML.Element.extend({initialize:function(){this.elementTag="gml:pos"},parse:function(n){return n.textContent.split(" ").map(function(n){return parseFloat(n)})}});L.GML.PosList=L.GML.Element.extend({initialize:function(){this.elementTag="gml:posList"},parse:function(n,t){for(var u,r,f=[],e=t.dimensions,o=n.textContent.trim().split(" "),i=0;i<o.length;i+=e){for(u=[],r=i;r<i+e;r++)u.push(parseFloat(o[r]));f.push(u)}return f}});L.GML.PointNode=L.GML.Geometry.extend({includes:L.GML.ParserContainerMixin,initialize:function(){this.elementTag="gml:Point";this.initializeParserContainer();this.appendParser(new L.GML.Pos);this.appendParser(new L.GML.Coordinates)},parse:function(n){return this.parseElement(n.firstChild,{dimensions:this.dimensions(n)})}});L.GML.PointSequence=L.GML.Geometry.extend({includes:L.GML.ParserContainerMixin,initialize:function(){this.initializeParserContainer();this.appendParser(new L.GML.Pos);this.appendParser(new L.GML.PosList);this.appendParser(new L.GML.Coordinates);this.appendParser(new L.GML.PointNode)},parse:function(n){var f=n.firstChild,r=[],t=f.tagName,e,u,i;if(t==="gml:pos"||t==="gml:Point")for(e=this.parsers[t],u=n.getElementsByTagNameNS(L.XmlUtil.namespaces.gml,t.split(":").pop()),i=0;i<u.length;i++)r.push(e.parse(u[i]));else r=this.parseElement(f,{dimensions:this.dimensions(n)});return r}});L.GML.LinearRing=L.GML.PointSequence.extend({initialize:function(){L.GML.PointSequence.prototype.initialize.call(this);this.elementTag="gml:LinearRing"},parse:function(n){var t=L.GML.PointSequence.prototype.parse.call(this,n);return t.pop(),t}});L.GML.LineStringNode=L.GML.PointSequence.extend({initialize:function(){this.elementTag="gml:LineString";L.GML.PointSequence.prototype.initialize.call(this)},parse:function(n){return L.GML.PointSequence.prototype.parse.call(this,n)}});L.GML.PolygonNode=L.GML.Geometry.extend({initialize:function(){this.elementTag="gml:Polygon";this.linearRingParser=new L.GML.LinearRing},parse:function(n){for(var r,u=[],i=0;i<n.childNodes.length;i++)r=n.childNodes[i],r.nodeType===t.ELEMENT_NODE&&u.push(this.linearRingParser.parse(r.firstChild));return u}});L.GML.CoordsToLatLngMixin={transform:function(n,t){var r,i;if(Array.isArray(n[0])){for(r=[],i=0;i<n.length;i++)t.crs&&t.crs.code.indexOf("4326")>-1?r.push(n[i]):r.push(this.transform(n[i],t));return r}return t.coordsToLatLng(n)}};L.GML.Point=L.GML.PointNode.extend({includes:L.GML.CoordsToLatLngMixin,parse:function(n,t,i){var r=L.GML.PointNode.prototype.parse.call(this,n);return i.pointToLayer?i.pointToLayer(n,r):new L.Marker(r)}});L.GML.LineString=L.GML.LineStringNode.extend({includes:L.GML.CoordsToLatLngMixin,parse:function(n,t){var i=new L.Polyline([]),r=L.GML.LineStringNode.prototype.parse.call(this,n);return t.crs&&t.crs.code.indexOf("4326")>-1?i.setLatLngs(r,t):i.setLatLngs(this.transform(r,t)),i}});L.GML.Polygon=L.GML.PolygonNode.extend({includes:L.GML.CoordsToLatLngMixin,parse:function(n,t){var i=new L.Polygon([]),r=L.GML.PolygonNode.prototype.parse.call(this,n);return t.crs&&t.crs.code.indexOf("4326")>-1?i.setLatLngs(r):i.setLatLngs(this.transform(r,t)),i}});L.GML.MultiGeometry=L.GML.Geometry.extend({includes:[L.GML.ParserContainerMixin,L.GML.CoordsToLatLngMixin],initialize:function(){this.initializeParserContainer()},parse:function(n,i){for(var r,u,e,o=[],f=0;f<n.childNodes.length;f++)if(r=n.childNodes[f],r.nodeType===t.ELEMENT_NODE)for(u=0;u<r.childNodes.length;u++)(e=r.childNodes[u],e.nodeType===t.ELEMENT_NODE)&&o.push(this.parseElement(e,i));return this.transform(o,i)}});L.GML.AbstractMultiPolyline=L.GML.MultiGeometry.extend({initialize:function(){L.GML.MultiGeometry.prototype.initialize.call(this);this.appendParser(new L.GML.LineStringNode)},parse:function(n,t){var r=L.GML.MultiGeometry.prototype.parse.call(this,n,t),i=new L.Polyline([]);return i.setLatLngs(r),i}});L.GML.AbstractMultiPolygon=L.GML.MultiGeometry.extend({initialize:function(){L.GML.MultiGeometry.prototype.initialize.call(this);this.appendParser(new L.GML.PolygonNode)},parse:function(n,t){var r=L.GML.MultiGeometry.prototype.parse.call(this,n,t),i=new L.Polygon([]);return i.setLatLngs(r[0]),i}});L.GML.MultiLineString=L.GML.AbstractMultiPolyline.extend({initialize:function(){L.GML.AbstractMultiPolyline.prototype.initialize.call(this);this.elementTag="gml:MultiLineString"}});L.GML.MultiCurve=L.GML.AbstractMultiPolyline.extend({initialize:function(){L.GML.AbstractMultiPolyline.prototype.initialize.call(this);this.elementTag="gml:MultiCurve"}});L.GML.MultiPolygon=L.GML.AbstractMultiPolygon.extend({initialize:function(){L.GML.AbstractMultiPolygon.prototype.initialize.call(this);this.elementTag="gml:MultiPolygon"}});L.GML.MultiSurface=L.GML.AbstractMultiPolygon.extend({initialize:function(){L.GML.AbstractMultiPolygon.prototype.initialize.call(this);this.elementTag="gml:MultiSurface"}});L.GML.MultiPoint=L.GML.MultiGeometry.extend({initialize:function(){L.GML.MultiGeometry.prototype.initialize.call(this);this.elementTag="gml:MultiPoint";this.appendParser(new L.GML.PointNode)},parse:function(n,t,i){for(var e,u=L.GML.MultiGeometry.prototype.parse.call(this,n,t),f=new L.FeatureGroup,r=0;r<u.length;r++)e=i.pointToLayer?i.pointToLayer(n,u[r]):new L.Marker(u[r]),f.addLayer(e);return f}});L.GML.FeatureType=L.Class.extend({primitives:[{types:["byte","decimal","int","integer","long","short"],parse:function(n){return Number(n)}},{types:["string"],parse:function(n){return n}},{types:["boolean"],parse:function(n){return n!=="false"}},{types:["date","time","datetime"],parse:function(n){return new Date(n)}}],initialize:function(n){this.fields={};this.geometryField=n||""},appendField:function(n,t){var i=this;this.primitives.forEach(function(r){r.types.indexOf(t)!==-1&&(i.fields[n]=r.parse)})},parse:function(n){for(var i,u,f={},r=0;r<n.childNodes.length;r++)(i=n.childNodes[r],i.nodeType===t.ELEMENT_NODE)&&(u=i.tagName.split(":").pop(),u!==this.geometryField)&&(f[u]=i.textContent);return{properties:f,id:n.attributes["gml:id"].value}}});L.Format.GML=L.Format.Base.extend({includes:L.GML.ParserContainerMixin,initialize:function(n){L.Format.Base.prototype.initialize.call(this,n);this.outputFormat="text/xml; subtype=gml/3.1.1";this.initializeParserContainer();this.appendParser(new L.GML.Point);this.appendParser(new L.GML.LineString);this.appendParser(new L.GML.Polygon);this.appendParser(new L.GML.MultiLineString);this.appendParser(new L.GML.MultiPolygon);this.appendParser(new L.GML.MultiCurve);this.appendParser(new L.GML.MultiSurface);this.appendParser(new L.GML.MultiPoint)},responseToLayers:function(n,i){for(var h,c,s,l,f,u,e=[],v=$.isXMLDoc(n)?n:L.XmlUtil.parseXml(n),o=v.documentElement,a=o.getElementsByTagNameNS(L.XmlUtil.namespaces.gml,"featureMember"),r=0;r<a.length;r++)(u=a[r].firstChild,i.filter(u))&&e.push(this.processFeature(u,i));if(h=o.getElementsByTagNameNS(L.XmlUtil.namespaces.gml,"featureMembers"),h.length>0)for(c=h[0].childNodes,s=0;s<c.length;s++)if(l=c[s],l.nodeType===t.ELEMENT_NODE){if(!i.filter(u))continue;e.push(this.processFeature(l,i))}for(f=o.getElementsByTagNameNS(L.XmlUtil.namespaces.wfs2,"member"),r=0;r<f.length;r++)(u=f[r].firstChild,i.filter(u))&&e.push(this.processFeature(u,i));for(f=o.getElementsByTagNameNS(L.XmlUtil.namespaces.gml3,"member"),r=0;r<f.length;r++)(u=f[r].firstChild,i.filter(u))&&e.push(this.processFeature(u,i));return e},processFeature:function(n,t){var i=this.generateLayer(n,t);return i.feature=new L.GML.FeatureType(this.options.geometryField).parse(n),i},generateLayer:function(n,t){var i=n.getElementsByTagName(this.options.geometryField)[0];return this.parseElement(i.firstChild,this.options,t)}});L.Util.project=function(n,t){if(L.Util.isArray(t)){var i=[];return t.forEach(function(t){i.push(L.Util.project(n,t))}),i}return n.projection.project(t)};L.GMLUtil={posNode:function(n){return L.XmlUtil.createElementNS("gml:pos",{srsDimension:2},{value:n.x+" "+n.y})},posListNode:function(n,t){var i=[],r,u;return n.forEach(function(n){i.push(n.x+" "+n.y)}),t&&n.length>0&&(r=n[0],i.push(r.x+" "+r.y)),u=i.join(" "),L.XmlUtil.createElementNS("gml:posList",{},{value:u})}};L.Marker.include({toGml:function(n){var t=L.XmlUtil.createElementNS("gml:Point",{srsName:n.code});return t.appendChild(L.GMLUtil.posNode(L.Util.project(n,this.getLatLng()))),t}});L.Polygon.include({toGml:function(n){for(var r,o,c,u,s=this.getLatLngs(),t=[],f=0;f<s.length;f++){var i=s[f],h=L.Polyline._flat(i),e=L.XmlUtil.createElementNS("gml:Polygon",{srsName:n.code,srsDimension:2});if(e.appendChild(L.XmlUtil.createElementNS("gml:exterior")).appendChild(L.XmlUtil.createElementNS("gml:LinearRing",{srsDimension:2})).appendChild(L.GMLUtil.posListNode(L.Util.project(n,h?i:i[0]),!0)),!h)for(r=1;r<i.length;r++)e.appendChild(L.XmlUtil.createElementNS("gml:interior")).appendChild(L.XmlUtil.createElementNS("gml:LinearRing",{srsDimension:2})).appendChild(L.GMLUtil.posListNode(L.Util.project(n,i[r]),!0));t.push(e)}if(t.length===1)return t[0];for(o=L.XmlUtil.createElementNS("gml:MultiPolygon",{srsName:n.code,srsDimension:2}),c=o.appendChild(L.XmlUtil.createElementNS("gml:polygonMembers")),u=0;u<t.length;u++)c.appendChild(t[u]);return o}});L.Polyline.include({_lineStringNode:function(n,t){var i=L.XmlUtil.createElementNS("gml:LineString",{srsName:n.code,srsDimension:2});return i.appendChild(L.GMLUtil.posListNode(L.Util.project(n,t),!1)),i},toGml:function(n){var t=this.getLatLngs(),r,u,i;if(L.Polyline._flat(t))return this._lineStringNode(n,t);for(r=L.XmlUtil.createElementNS("gml:MultiLineString",{srsName:n.code,srsDimension:2}),u=r.appendChild(L.XmlUtil.createElementNS("gml:lineStringMembers")),i=0;i<t.length;i++)u.appendChild(this._lineStringNode(n,t[i]));return r}});L.WFS=L.FeatureGroup.extend({options:{crs:L.CRS.EPSG3857,showExisting:!0,geometryField:"Shape",url:"",version:"1.1.0",typeNS:"",typeName:"",typeNSName:"",data:"",style:{color:"black",weight:1},namespaceUri:""},state:{},initialize:function(n,t){L.setOptions(this,n);this.state={exist:"exist"};this._layers={};this.readFormat=t||new L.Format.GML({crs:this.options.crs,geometryField:this.options.geometryField});this.options.srsName=this.options.crs.code;var i=this;i.loadFeatures()},namespaceName:function(n){return this.options.typeNS+":"+n},describeFeatureType:function(n){var t=this;L.Util.request({url:this.options.url.split("?")[0],params:{request:"DescribeFeatureType",typeName:t.options.typeNSName},success:function(i){var u=L.XmlUtil.parseXml(i),r=u.documentElement;t.readFormat.setFeatureDescription(r);t.options.namespaceUri=r.attributes.targetNamespace.value;typeof n=="function"&&n()}})},getFeature:function(n){var t=L.XmlUtil.createElementNS("wfs:GetFeature",{service:"WFS",version:this.options.version,outputFormat:this.readFormat.outputFormat}),i=t.appendChild(L.XmlUtil.createElementNS("wfs:Query",{typeName:this.options.typeNSName,srsName:this.options.srsName}));return n&&n.toGml&&i.appendChild(n.toGml()),t},loadFeatures:function(){var n=this;L.Util.request({url:this.options.url,data:n.options.data,success:function(t){var i=n.readFormat.responseToLayers(t,{coordsToLatLng:n.options.coordsToLatLng,pointToLayer:n.options.pointToLayer,filter:n.options.filter});return i.forEach(function(t){if(t.state=n.state.exist,n.addLayer(t),n.options.onEachFeature)n.options.onEachFeature(t.feature,t)}),n.setStyle(n.options.style()),n.fire("load"),n},statusCode:{401:function(){console.log("Unatuthorized error. [401]")},404:function(){console.log("Requested page not found. [404]")}},complete:function(){n.options.hideLoading&&n.options.hideLoading()}})}});L.wfs=function(n,t){return new L.WFS(n,t)};L.WFST=L.WFS.extend({initialize:function(n,t){L.WFS.prototype.initialize.call(this,n,t);this.state=L.extend(this.state,{insert:"insert",update:"update",remove:"remove"});this.changes={}},addLayer:function(n){if(L.FeatureGroup.prototype.addLayer.call(this,n),n.feature||(n.feature={properties:{}}),!n.state){n.state=this.state.insert;var t=this.getLayerId(n);this.changes[t]=n}return this},removeLayer:function(n){var t,i;L.FeatureGroup.prototype.removeLayer.call(this,n);t=this.getLayerId(n);t in this.changes?(i=this.changes[t],i.state===this.state.insert?delete this.changes[t]:i.state=this.state.remove):(n.state=this.state.remove,this.changes[t]=n)},editLayer:function(n){n.state!==this.state.insert&&(n.state=this.state.update);var t=this.getLayerId(n);return this.changes[t]=n,this},save:function(){var i=L.XmlUtil.createElementNS("wfs:Transaction",{service:"WFS",version:this.options.version}),r=[],u,t,f,n;for(u in this.changes)t=this.changes[u],f=this[t.state](t),i.appendChild(f),t.state===this.state.insert&&r.push(t);return n=this,L.Util.request({url:this.options.url,data:L.XmlUtil.serializeXmlDocumentString(i),success:function(t){for(var u=L.XmlUtil.evaluate("//wfs:InsertResults/wfs:Feature/ogc:FeatureId/@fid",t),f=new L.Filter.GmlObjectID,i=u.iterateNext();i;)f.append(i.value),i=u.iterateNext();r.forEach(function(t){L.FeatureGroup.prototype.removeLayer.call(n,t)});n.once("load",function(){n.fire("save:success");n.changes={}});n.loadFeatures(f)}}),this}});L.wfst=function(n,t){return new L.WFST(n,t)};L.WFST.include({gmlFeature:function(n){var t=L.XmlUtil.createElementNS(this.options.typeNSName,{},{uri:this.options.namespaceUri}),i=n.feature;for(var r in i.properties)t.appendChild(this.gmlProperty(r,i.properties[r]));return t.appendChild(this.gmlProperty(this.options.geometryField,n.toGml(this.options.crs))),t},gmlProperty:function(n,t){var i=L.XmlUtil.createElementNS(this.namespaceName(n));return t instanceof Element?i.appendChild(t):i.appendChild(L.XmlUtil.createTextNode(t||"")),i},wfsProperty:function(n,t){var r=L.XmlUtil.createElementNS("wfs:Property"),i;return r.appendChild(L.XmlUtil.createElementNS("wfs:Name",{},{value:n})),i=L.XmlUtil.createElementNS("wfs:Value"),t instanceof Element?i.appendChild(t):i.appendChild(L.XmlUtil.createTextNode(t||"")),r.appendChild(i),r}});L.WFST.include({insert:function(n){var t=L.XmlUtil.createElementNS("wfs:Insert");return t.appendChild(this.gmlFeature(n)),t},update:function(n){var t=L.XmlUtil.createElementNS("wfs:Update",{typeName:this.options.typeNSName}),r=n.feature,i,u;for(i in r.properties)t.appendChild(this.wfsProperty(i,r.properties[i]));return t.appendChild(this.wfsProperty(this.namespaceName(this.options.geometryField),n.toGml(this.options.crs))),u=(new L.Filter.GmlObjectID).append(n.feature.id),t.appendChild(u.toGml()),t},remove:function(n){var t=L.XmlUtil.createElementNS("wfs:Delete",{typeName:this.options.typeNSName}),i=(new L.Filter.GmlObjectID).append(n.feature.id);return t.appendChild(i.toGml()),t}})}(window,document);!function(n,t,i){L.drawVersion="0.2.4-dev";L.CalculatedArea=null;L.drawLocal={draw:{toolbar:{actions:{title:"Annuleer tekenen",text:"Annuleren"},finish:{title:"Geometrie gereed",text:"Gereed"},undo:{title:"Wis laatst geplaatste punt",text:"Wis laatste punt"},buttons:{polyline:"Teken een tracé",polygon:"Teken een gesloten polygoon",rectangle:"Teken een rechthoek",circle:"Draw a circle",marker:"Plaats een markering"}},handlers:{circle:{tooltip:{start:"Click and drag to draw circle."},radius:"Radius"},marker:{tooltip:{start:"Klik op de kaart om de markering te plaatsen."}},polygon:{tooltip:{start:"Dubbelklik om te eindigen.",cont:"",end:""}},polyline:{error:"<strong>Fout:<\/strong>  lijnen mogen niet kruisen!",tooltip:{start:"Dubbelklik om te eindigen.",cont:"",end:""}},rectangle:{tooltip:{start:"Klik en sleep om een rechthoek te tekenen."}},simpleshape:{tooltip:{end:"Laat los om de rechthoek te plaatsen."}}}},edit:{toolbar:{actions:{save:{title:"Bevestig alle wijzigingen.",text:"Bevestig"},cancel:{title:"Annuleer alle wijzigingen.",text:"Annuleren"}},buttons:{edit:"Wijzigen van getekende vormen.",editDisabled:"Geen lagen om te wijzigen.",remove:"Verwijderen van getekende vormen.",removeDisabled:"Geen lagen om te verwijderen."}},handlers:{edit:{tooltip:{text:"Wijzig locatie<\/br>en bevestig",subtext:""}},remove:{tooltip:{text:"Klik om te verwijderen<\/br>en bevestig"}}}}};L.Draw={};L.Draw.Feature=L.Handler.extend({includes:L.Mixin.Events,initialize:function(n,t){this._map=n;this._container=n._container;this._overlayPane=n._panes.overlayPane;this._popupPane=n._panes.popupPane;t&&t.shapeOptions&&(t.shapeOptions=L.Util.extend({},this.options.shapeOptions,t.shapeOptions));L.setOptions(this,t)},enable:function(){this._enabled||(L.Handler.prototype.enable.call(this),this.fire("enabled",{handler:this.type}),this._map.fire("draw:drawstart",{layerType:this.type}))},disable:function(){this._enabled&&(L.Handler.prototype.disable.call(this),this._map.fire("draw:drawstop",{layerType:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var n=this._map;n&&(L.DomUtil.disableTextSelection(),n.getContainer().focus(),this._tooltip=new L.Tooltip(this._map),L.DomEvent.on(this._container,"keyup",this._cancelDrawing,this))},removeHooks:function(){this._map&&(L.DomUtil.enableTextSelection(),this._tooltip.dispose(),this._tooltip=null,L.DomEvent.off(this._container,"keyup",this._cancelDrawing,this))},setOptions:function(n){L.setOptions(this,n)},_fireCreatedEvent:function(n){this._map.fire("draw:created",{layer:n,layerType:this.type})},_cancelDrawing:function(n){27===n.keyCode&&this.disable()}});L.Draw.Polyline=L.Draw.Feature.extend({statics:{TYPE:"polyline"},Poly:L.Polyline,options:{allowIntersection:!1,repeatMode:!1,drawError:{color:"#b00b00",timeout:2500},icon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon"}),touchIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-touch-icon"}),guidelineDistance:20,maxGuideLineLength:4e3,shapeOptions:{stroke:!0,color:"#303030",weight:4,opacity:.5,fill:!1,clickable:!0},metric:!0,showLength:!0,zIndexOffset:2e3},initialize:function(n,t){L.Browser.touch&&(this.options.icon=this.options.touchIcon);this.options.drawError.message=L.drawLocal.draw.handlers.polyline.error;t&&t.drawError&&(t.drawError=L.Util.extend({},this.options.drawError,t.drawError));this.type=L.Draw.Polyline.TYPE;L.Draw.Feature.prototype.initialize.call(this,n,t)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this);this._map&&(this._markers=[],this._markerGroup=new L.LayerGroup,this._map.addLayer(this._markerGroup),this._poly=new L.Polyline([],this.options.shapeOptions),this._tooltip.updateContent(this._getTooltipText()),this._mouseMarker||(this._mouseMarker=L.marker(this._map.getCenter(),{icon:L.divIcon({className:"leaflet-mouse-marker",iconAnchor:[20,20],iconSize:[40,40]}),opacity:0,zIndexOffset:this.options.zIndexOffset})),this._mouseMarker.on("mousedown",this._onMouseDown,this).addTo(this._map),this._map.on("mousemove",this._onMouseMove,this).on("mouseup",this._onMouseUp,this).on("zoomlevelschange",this._onZoomChange,this).on("click",this._onTouch,this))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this);this._clearHideErrorTimeout();this._cleanUpShape();this._map.removeLayer(this._markerGroup);delete this._markerGroup;delete this._markers;this._map.removeLayer(this._poly);delete this._poly;this._mouseMarker.off("mousedown",this._onMouseDown,this).off("mouseup",this._onMouseUp,this);this._map.removeLayer(this._mouseMarker);delete this._mouseMarker;this._clearGuides();this._map.off("mousemove",this._onMouseMove,this).off("mouseup",this._onMouseUp,this).off("zoomlevelschange",this._onZoomChange,this).off("click",this._onTouch,this)},deleteLastVertex:function(){if(!(this._markers.length<=1)){var t=this._markers.pop(),n=this._poly,i=this._poly.spliceLatLngs(n.getLatLngs().length-1,1)[0];this._markerGroup.removeLayer(t);n.getLatLngs().length<2&&this._map.removeLayer(n);this._vertexChanged(i,!1)}},addVertex:function(n){var t=this._markers.length;return t>0&&!this.options.allowIntersection&&this._poly.newLatLngIntersects(n)?void this._showErrorTooltip():(this._errorShown&&this._hideErrorTooltip(),this._markers.push(this._createMarker(n)),this._poly.addLatLng(n),2===this._poly.getLatLngs().length&&this._map.addLayer(this._poly),void this._vertexChanged(n,!0))},completeShape:function(){this.type=="polygon"?this._markers.length<=2||(this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable()):this._markers.length<=1||(this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable())},_finishShape:function(){var n=this._poly.getLatLngs(),t=this._poly.newLatLngIntersects(this._poly.getLatLngs()[n.length-1],!0);return!this.options.allowIntersection&&t||!this._shapeIsValid()?void this._showErrorTooltip():(this._fireCreatedEvent(),this.disable(),void(this.options.repeatMode&&this.enable()))},_shapeIsValid:function(){return!0},_onZoomChange:function(){this._updateGuide()},_onMouseMove:function(n){var i=n.layerPoint,t=n.latlng;this._currentLatLng=t;this._updateTooltip(t);this._updateGuide(i);this._mouseMarker.setLatLng(t);L.DomEvent.preventDefault(n.originalEvent)},_onMouseDown:function(n){var t=n.originalEvent;this._mouseDownOrigin=L.point(t.clientX,t.clientY)},_onMouseUp:function(t){if(this._mouseDownOrigin){var i=L.point(t.originalEvent.clientX,t.originalEvent.clientY).distanceTo(this._mouseDownOrigin);Math.abs(i)<9*(n.devicePixelRatio||1)&&this.addVertex(t.latlng)}this._mouseDownOrigin=null},_onTouch:function(n){var i=n.originalEvent,r,u;!i.touches||!i.touches[0]||this._clickHandled||this._touchHandled||this._disableMarkers||(r=i.touches[0].clientX,u=i.touches[0].clientY,this._disableNewMarkers(),this._touchHandled=!0,this._startPoint.call(this,r,u),this._endPoint.call(this,r,u,t),this._touchHandled=null);this._clickHandled=null},_vertexChanged:function(n,t){this._updateFinishHandler();this._updateRunningMeasure(n,t);this._clearGuides();this._updateTooltip()},_updateFinishHandler:function(){var n=this._markers.length;n>1&&this._markers[n-1].on("click",this._finishShape,this);n>2&&this._markers[n-2].off("click",this._finishShape,this)},_createMarker:function(n){var t=new L.Marker(n,{icon:this.options.icon,zIndexOffset:2*this.options.zIndexOffset});return this._markerGroup.addLayer(t),t},_updateGuide:function(n){var t=this._markers.length;t>0&&(n=n||this._map.latLngToLayerPoint(this._currentLatLng),this._clearGuides(),this._drawGuide(this._map.latLngToLayerPoint(this._markers[t-1].getLatLng()),n))},_updateTooltip:function(n){var t=this._getTooltipText();n&&this._tooltip.updatePosition(n);this._errorShown||this._tooltip.updateContent(t)},_drawGuide:function(n,t){var i,e,u,r=Math.floor(Math.sqrt(Math.pow(t.x-n.x,2)+Math.pow(t.y-n.y,2))),s=this.options.guidelineDistance,o=this.options.maxGuideLineLength,f=r>o?r-o:s;for(this._guidesContainer||(this._guidesContainer=L.DomUtil.create("div","leaflet-draw-guides",this._overlayPane));r>f;f+=this.options.guidelineDistance)i=f/r,e={x:Math.floor(n.x*(1-i)+i*t.x),y:Math.floor(n.y*(1-i)+i*t.y)},u=L.DomUtil.create("div","leaflet-draw-guide-dash",this._guidesContainer),u.style.backgroundColor=this._errorShown?this.options.drawError.color:this.options.shapeOptions.color,L.DomUtil.setPosition(u,e)},_updateGuideColor:function(n){if(this._guidesContainer)for(var t=0,i=this._guidesContainer.childNodes.length;i>t;t++)this._guidesContainer.childNodes[t].style.backgroundColor=n},_clearGuides:function(){if(this._guidesContainer)for(;this._guidesContainer.firstChild;)this._guidesContainer.removeChild(this._guidesContainer.firstChild)},_getTooltipText:function(){var n,t,i=this.options.showLength;return 0===this._markers.length?n={text:L.drawLocal.draw.handlers.polyline.tooltip.start}:(t=i?this._getMeasurementString():"",n=1===this._markers.length?{text:L.drawLocal.draw.handlers.polyline.tooltip.cont,subtext:t}:{text:L.drawLocal.draw.handlers.polyline.tooltip.end,subtext:t}),n},_updateRunningMeasure:function(n,t){var i,r,u=this._markers.length;1===this._markers.length?this._measurementRunningTotal=0:(i=u-(t?2:1),r=n.distanceTo(this._markers[i].getLatLng()),this._measurementRunningTotal+=r*(t?1:-1))},_getMeasurementString:function(){var n,t=this._currentLatLng,i=this._markers[this._markers.length-1].getLatLng();return n=this._measurementRunningTotal+t.distanceTo(i),L.GeometryUtil.readableDistance(n,this.options.metric)},_showErrorTooltip:function(){this._errorShown=!0;this._tooltip.showAsError().updateContent({text:this.options.drawError.message});this._updateGuideColor(this.options.drawError.color);this._poly.setStyle({color:this.options.drawError.color});this._clearHideErrorTimeout();this._hideErrorTimeout=setTimeout(L.Util.bind(this._hideErrorTooltip,this),this.options.drawError.timeout)},_hideErrorTooltip:function(){this._errorShown=!1;this._clearHideErrorTimeout();this._tooltip.removeError().updateContent(this._getTooltipText());this._updateGuideColor(this.options.shapeOptions.color);this._poly.setStyle({color:this.options.shapeOptions.color})},_clearHideErrorTimeout:function(){this._hideErrorTimeout&&(clearTimeout(this._hideErrorTimeout),this._hideErrorTimeout=null)},_cleanUpShape:function(){this._markers.length>1&&this._markers[this._markers.length-1].off("click",this._finishShape,this)},_fireCreatedEvent:function(){var n=new this.Poly(this._poly.getLatLngs(),this.options.shapeOptions);L.Draw.Feature.prototype._fireCreatedEvent.call(this,n)}});L.Draw.Polygon=L.Draw.Polyline.extend({statics:{TYPE:"polygon"},Poly:L.Polygon,options:{showArea:!1,shapeOptions:{stroke:!0,color:"#303030",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0}},initialize:function(n,t){L.Draw.Polyline.prototype.initialize.call(this,n,t);this.type=L.Draw.Polygon.TYPE},_updateFinishHandler:function(){var n=this._markers.length;1===n&&this._markers[0].on("click",this._finishShape,this);n>2&&(this._markers[n-1].on("dblclick",this._finishShape,this),n>3&&this._markers[n-2].off("dblclick",this._finishShape,this))},_getTooltipText:function(){var n,t;return 0===this._markers.length?n=L.drawLocal.draw.handlers.polygon.tooltip.start:this._markers.length<3?n=L.drawLocal.draw.handlers.polygon.tooltip.cont:(n=L.drawLocal.draw.handlers.polygon.tooltip.end,t=this._getMeasurementString()),{text:n,subtext:t}},_getMeasurementString:function(){var n=this._area;return void 0==n&&(i=this._poly.getLatLngs(),n=L.GeometryUtil.geodesicArea(i)),n?L.GeometryUtil.readableArea(n,this.options.metric):null},_shapeIsValid:function(){return this._markers.length>=3},_vertexChanged:function(n,t){var i;!this.options.allowIntersection&&this.options.showArea&&(i=this._poly.getLatLngs(),this._area=L.GeometryUtil.geodesicArea(i));L.Draw.Polyline.prototype._vertexChanged.call(this,n,t)},_cleanUpShape:function(){var n=this._markers.length;n>0&&(this._markers[0].off("click",this._finishShape,this),n>2&&this._markers[n-1].off("dblclick",this._finishShape,this))}});L.SimpleShape={};L.Draw.SimpleShape=L.Draw.Feature.extend({options:{repeatMode:!1},initialize:function(n,t){this._endLabelText=L.drawLocal.draw.handlers.simpleshape.tooltip.end;L.Draw.Feature.prototype.initialize.call(this,n,t)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this);this._map&&(this._mapDraggable=this._map.dragging.enabled(),this._mapDraggable&&this._map.dragging.disable(),this._container.style.cursor="crosshair",this._tooltip.updateContent({text:this._initialLabelText}),this._map.on("mousedown",this._onMouseDown,this).on("mousemove",this._onMouseMove,this).on("touchstart",this._onMouseDown,this).on("touchmove",this._onMouseMove,this))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this);this._map&&(this._mapDraggable&&this._map.dragging.enable(),this._container.style.cursor="",this._map.off("mousedown",this._onMouseDown,this).off("mousemove",this._onMouseMove,this).off("touchstart",this._onMouseDown,this).off("touchmove",this._onMouseMove,this),L.DomEvent.off(t,"mouseup",this._onMouseUp,this),L.DomEvent.off(t,"touchend",this._onMouseUp,this),this._shape&&(this._map.removeLayer(this._shape),delete this._shape));this._isDrawing=!1},_getTooltipText:function(){return{text:this._endLabelText}},_onMouseDown:function(n){this._isDrawing=!0;this._startLatLng=n.latlng;L.DomEvent.on(t,"mouseup",this._onMouseUp,this).on(t,"touchend",this._onMouseUp,this).preventDefault(n.originalEvent)},_onMouseMove:function(n){var t=n.latlng;this._tooltip.updatePosition(t);this._isDrawing&&(this._tooltip.updateContent(this._getTooltipText()),this._drawShape(t))},_onMouseUp:function(){this._shape&&this._fireCreatedEvent();this.disable();this.options.repeatMode&&this.enable()}});L.Draw.Rectangle=L.Draw.SimpleShape.extend({statics:{TYPE:"rectangle"},options:{shapeOptions:{stroke:!0,color:"#303030",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0},metric:!0},initialize:function(n,t){this.type=L.Draw.Rectangle.TYPE;this._initialLabelText=L.drawLocal.draw.handlers.rectangle.tooltip.start;L.Draw.SimpleShape.prototype.initialize.call(this,n,t)},_drawShape:function(n){this._shape?this._shape.setBounds(new L.LatLngBounds(this._startLatLng,n)):(this._shape=new L.Rectangle(new L.LatLngBounds(this._startLatLng,n),this.options.shapeOptions),this._map.addLayer(this._shape))},_fireCreatedEvent:function(){var n=new L.Rectangle(this._shape.getBounds(),this.options.shapeOptions);L.Draw.SimpleShape.prototype._fireCreatedEvent.call(this,n)},_getTooltipText:function(){var n,t,i,r=L.Draw.SimpleShape.prototype._getTooltipText.call(this),u=this._shape;return u&&(n=this._shape.getLatLngs(),t=L.GeometryUtil.geodesicArea(n),i=L.GeometryUtil.readableArea(t,this.options.metric)),{text:r.text,subtext:i}}});L.Draw.Circle=L.Draw.SimpleShape.extend({statics:{TYPE:"circle"},options:{shapeOptions:{stroke:!0,color:"#303030",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0},showRadius:!0,metric:!0},initialize:function(n,t){this.type=L.Draw.Circle.TYPE;this._initialLabelText=L.drawLocal.draw.handlers.circle.tooltip.start;L.Draw.SimpleShape.prototype.initialize.call(this,n,t)},_drawShape:function(n){this._shape?this._shape.setRadius(this._startLatLng.distanceTo(n)):(this._shape=new L.Circle(this._startLatLng,this._startLatLng.distanceTo(n),this.options.shapeOptions),this._map.addLayer(this._shape))},_fireCreatedEvent:function(){var n=new L.Circle(this._startLatLng,this._shape.getRadius(),this.options.shapeOptions);L.Draw.SimpleShape.prototype._fireCreatedEvent.call(this,n)},_onMouseMove:function(n){var t,i=n.latlng,r=this.options.showRadius,u=this.options.metric;this._tooltip.updatePosition(i);this._isDrawing&&(this._drawShape(i),t=this._shape.getRadius().toFixed(1),this._tooltip.updateContent({text:this._endLabelText,subtext:r?L.drawLocal.draw.handlers.circle.radius+": "+L.GeometryUtil.readableDistance(t,u):""}))}});L.Draw.Marker=L.Draw.Feature.extend({statics:{TYPE:"marker"},options:{icon:new L.Icon.Default,repeatMode:!1,zIndexOffset:2e3},initialize:function(n,t){this.type=L.Draw.Marker.TYPE;L.Draw.Feature.prototype.initialize.call(this,n,t)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this);this._map&&(this._tooltip.updateContent({text:L.drawLocal.draw.handlers.marker.tooltip.start}),this._mouseMarker||(this._mouseMarker=L.marker(this._map.getCenter(),{icon:L.divIcon({className:"leaflet-mouse-marker",iconAnchor:[20,20],iconSize:[40,40]}),opacity:0,zIndexOffset:this.options.zIndexOffset})),this._mouseMarker.on("click",this._onClick,this).addTo(this._map),this._map.on("mousemove",this._onMouseMove,this),this._map.on("click",this._onTouch,this))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this);this._map&&(this._marker&&(this._marker.off("click",this._onClick,this),this._map.off("click",this._onClick,this).off("click",this._onTouch,this).removeLayer(this._marker),delete this._marker),this._mouseMarker.off("click",this._onClick,this),this._map.removeLayer(this._mouseMarker),delete this._mouseMarker,this._map.off("mousemove",this._onMouseMove,this))},_onMouseMove:function(n){var t=n.latlng;this._tooltip.updatePosition(t);this._mouseMarker.setLatLng(t);this._marker?(t=this._mouseMarker.getLatLng(),this._marker.setLatLng(t)):(this._marker=new L.Marker(t,{icon:this.options.icon,zIndexOffset:this.options.zIndexOffset}),this._marker.on("click",this._onClick,this),this._map.on("click",this._onClick,this).addLayer(this._marker))},_onClick:function(){this._fireCreatedEvent();this.disable();this.options.repeatMode&&this.enable()},_onTouch:function(n){this._onMouseMove(n);this._onClick()},_fireCreatedEvent:function(){var n=new L.Marker.Touch(this._marker.getLatLng(),{icon:this.options.icon});L.Draw.Feature.prototype._fireCreatedEvent.call(this,n)}});L.Edit=L.Edit||{};L.Edit.Marker=L.Handler.extend({initialize:function(n,t){this._marker=n;L.setOptions(this,t)},addHooks:function(){var n=this._marker;n.dragging.enable();n.on("dragend",this._onDragEnd,n);this._toggleMarkerHighlight()},removeHooks:function(){var n=this._marker;n.dragging.disable();n.off("dragend",this._onDragEnd,n);this._toggleMarkerHighlight()},_onDragEnd:function(n){var t=n.target;t.edited=!0},_toggleMarkerHighlight:function(){if(this._icon){var n=this._icon;n.style.display="none";L.DomUtil.hasClass(n,"leaflet-edit-marker-selected")?(L.DomUtil.removeClass(n,"leaflet-edit-marker-selected"),this._offsetMarker(n,-4)):(L.DomUtil.addClass(n,"leaflet-edit-marker-selected"),this._offsetMarker(n,4));n.style.display=""}},_offsetMarker:function(n,t){var i=parseInt(n.style.marginTop,10)-t,r=parseInt(n.style.marginLeft,10)-t;n.style.marginTop=i+"px";n.style.marginLeft=r+"px"}});L.Marker.addInitHook(function(){L.Edit.Marker&&(this.editing=new L.Edit.Marker(this),this.options.editable&&this.editing.enable())});L.Edit=L.Edit||{};L.Edit.Poly=L.Handler.extend({options:{icon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon"}),touchIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-touch-icon"})},initialize:function(n,t){L.Browser.touch&&(this.options.icon=this.options.touchIcon);this._poly=n;L.setOptions(this,t)},addHooks:function(){var n=this._poly;n instanceof L.Polygon||(n.options.editing.fill=!1);n.setStyle(n.options.editing);this._poly._map&&(this._map=this._poly._map,this._markerGroup||this._initMarkers(),this._poly._map.addLayer(this._markerGroup))},removeHooks:function(){var n=this._poly;n.setStyle(n.options.original);n._map&&(n._map.removeLayer(this._markerGroup),delete this._markerGroup,delete this._markers)},updateMarkers:function(){this._markerGroup.clearLayers();this._initMarkers()},_initMarkers:function(){var n,i,t,r,u,f,e;for(this._markerGroup||(this._markerGroup=new L.LayerGroup),this._markers=[],u=this._poly._latlngs,n=0,t=u.length;t>n;n++)r=this._createMarker(u[n],n),r.on("click",this._onMarkerClick,this),this._markers.push(r);for(n=0,i=t-1;t>n;i=n++)(0!==n||L.Polygon&&this._poly instanceof L.Polygon)&&(f=this._markers[i],e=this._markers[n],this._createMiddleMarker(f,e),this._updatePrevNext(f,e))},_createMarker:function(n,t){var i=new L.Marker.Touch(n,{draggable:!0,icon:this.options.icon});return i._origLatLng=n,i._index=t,i.on("drag",this._onMarkerDrag,this).on("dragend",this._fireEdit,this).on("touchmove",this._onTouchMove,this).on("touchend",this._fireEdit,this),this._markerGroup.addLayer(i),i},_removeMarker:function(n){var t=n._index;this._markerGroup.removeLayer(n);this._markers.splice(t,1);this._poly.spliceLatLngs(t,1);this._updateIndexes(t,-1);n.off("drag",this._onMarkerDrag,this).off("dragend",this._fireEdit,this).off("touchmove",this._onMarkerDrag,this).off("touchend",this._fireEdit,this).off("click",this._onMarkerClick,this)},_fireEdit:function(){this._poly.edited=!0;this._poly.fire("edit")},_onMarkerDrag:function(n){var t=n.target,i,r;L.extend(t._origLatLng,t._latlng);t._middleLeft&&t._middleLeft.setLatLng(this._getMiddleLatLng(t._prev,t));t._middleRight&&t._middleRight.setLatLng(this._getMiddleLatLng(t,t._next));i=this._poly;i.intersects()&&(r=i.options.color,i.setStyle({color:i.options.drawError==undefined?"#b00b00":i.options.drawError.color}),L.version.indexOf("0.7")!==0&&t.dragging._draggable._onUp(n),this._onMarkerClick(n),setTimeout(function(){i.setStyle({color:r})},1e3));this._poly.redraw();this._UpdateArea()},_onMarkerClick:function(n){var i=L.Polygon&&this._poly instanceof L.Polygon?4:3,t=n.target;this._poly._latlngs.length<i||(this._removeMarker(t),this._updatePrevNext(t._prev,t._next),t._middleLeft&&this._markerGroup.removeLayer(t._middleLeft),t._middleRight&&this._markerGroup.removeLayer(t._middleRight),t._prev&&t._next?this._createMiddleMarker(t._prev,t._next):t._prev?t._next||(t._prev._middleRight=null):t._next._middleLeft=null,this._fireEdit())},_onTouchMove:function(n){var i=this._map.mouseEventToLayerPoint(n.originalEvent.touches[0]),r=this._map.layerPointToLatLng(i),t=n.target;L.extend(t._origLatLng,r);t._middleLeft&&t._middleLeft.setLatLng(this._getMiddleLatLng(t._prev,t));t._middleRight&&t._middleRight.setLatLng(this._getMiddleLatLng(t,t._next));this._poly.redraw();this.updateMarkers()},_updateIndexes:function(n,t){this._markerGroup.eachLayer(function(i){i._index>n&&(i._index+=t)});this._UpdateArea()},_createMiddleMarker:function(n,t){var e,r,u,f=this._getMiddleLatLng(n,t),i=this._createMarker(f);i.setOpacity(.6);n._middleRight=t._middleLeft=i;r=function(){var r=t._index;i._index=r;i.off("click",e,this).on("click",this._onMarkerClick,this);f.lat=i.getLatLng().lat;f.lng=i.getLatLng().lng;this._poly.spliceLatLngs(r,0,f);this._markers.splice(r,0,i);i.setOpacity(1);this._updateIndexes(r,1);t._index++;this._updatePrevNext(n,i);this._updatePrevNext(i,t);this._poly.fire("editstart")};u=function(){i.off("dragstart",r,this);i.off("dragend",u,this);i.off("touchmove",r,this);this._createMiddleMarker(n,i);this._createMiddleMarker(i,t)};e=function(){r.call(this);u.call(this);this._fireEdit()};i.on("click",e,this).on("dragstart",r,this).on("dragend",u,this).on("touchmove",r,this);this._markerGroup.addLayer(i)},_updatePrevNext:function(n,t){n&&(n._next=t);t&&(t._prev=n)},_getMiddleLatLng:function(n,t){var i=this._poly._map,r=i.project(n.getLatLng()),u=i.project(t.getLatLng());return i.unproject(r._add(u)._divideBy(2))},_UpdateArea:function(){var n,t;this._poly instanceof L.Polygon?(n=L.GeometryUtil.geodesicArea(this._poly._latlngs),t=L.GeometryUtil.readableArea(n)):(n=L.GeometryUtil.geodesicLength(this._poly._latlngs),t=L.GeometryUtil.readableDistance(n,this.options.metric));L.CalculatedArea=t}});L.Polyline.addInitHook(function(){this.editing||(L.Edit.Poly&&(this.editing=new L.Edit.Poly(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()}))});L.Edit=L.Edit||{};L.Edit.SimpleShape=L.Handler.extend({options:{moveIcon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-move"}),resizeIcon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-resize"}),touchMoveIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-move leaflet-touch-icon"}),touchResizeIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-resize leaflet-touch-icon"})},initialize:function(n,t){L.Browser.touch&&(this.options.moveIcon=this.options.touchMoveIcon,this.options.resizeIcon=this.options.touchResizeIcon);this._shape=n;L.Util.setOptions(this,t)},addHooks:function(){var n=this._shape;this._shape._map&&(this._map=this._shape._map,n.setStyle(n.options.editing),n._map&&(this._map=n._map,this._markerGroup||this._initMarkers(),this._map.addLayer(this._markerGroup)))},removeHooks:function(){var t=this._shape,n,i;if(t.setStyle(t.options.original),t._map){for(this._unbindMarker(this._moveMarker),n=0,i=this._resizeMarkers.length;i>n;n++)this._unbindMarker(this._resizeMarkers[n]);this._resizeMarkers=null;this._map.removeLayer(this._markerGroup);delete this._markerGroup}this._map=null},updateMarkers:function(){this._markerGroup.clearLayers();this._initMarkers()},_initMarkers:function(){this._markerGroup||(this._markerGroup=new L.LayerGroup);this._createMoveMarker();this._createResizeMarker()},_createMoveMarker:function(){},_createResizeMarker:function(){},_createMarker:function(n,t){var i=new L.Marker.Touch(n,{draggable:!0,icon:t,zIndexOffset:10});return this._bindMarker(i),this._markerGroup.addLayer(i),i},_bindMarker:function(n){n.on("dragstart",this._onMarkerDragStart,this).on("drag",this._onMarkerDrag,this).on("dragend",this._onMarkerDragEnd,this).on("touchstart",this._onTouchStart,this).on("touchmove",this._onTouchMove,this).on("touchend",this._onTouchEnd,this)},_unbindMarker:function(n){n.off("dragstart",this._onMarkerDragStart,this).off("drag",this._onMarkerDrag,this).off("dragend",this._onMarkerDragEnd,this).off("touchstart",this._onTouchStart,this).off("touchmove",this._onTouchMove,this).off("touchend",this._onTouchEnd,this)},_onMarkerDragStart:function(n){var t=n.target;t.setOpacity(0);this._shape.fire("editstart")},_fireEdit:function(){this._shape.edited=!0;this._shape.fire("edit")},_onMarkerDrag:function(n){var t=n.target,i=t.getLatLng();t===this._moveMarker?this._move(i):this._resize(i);this._shape.redraw()},_onMarkerDragEnd:function(n){var t=n.target;t.setOpacity(1);this._fireEdit()},_onTouchStart:function(n){if(L.Edit.SimpleShape.prototype._onMarkerDragStart.call(this,n),"function"==typeof this._getCorners){var r=this._getCorners(),t=n.target,i=t._cornerIndex;t.setOpacity(0);this._oppositeCorner=r[(i+2)%4];this._toggleCornerMarkers(0,i)}this._shape.fire("editstart")},_onTouchMove:function(n){var i=this._map.mouseEventToLayerPoint(n.originalEvent.touches[0]),t=this._map.layerPointToLatLng(i),r=n.target;return r===this._moveMarker?this._move(t):this._resize(t),this._shape.redraw(),!1},_onTouchEnd:function(n){var t=n.target;t.setOpacity(1);this.updateMarkers();this._fireEdit()},_move:function(){},_resize:function(){}});L.Edit=L.Edit||{};L.Edit.Rectangle=L.Edit.SimpleShape.extend({_createMoveMarker:function(){var n=this._shape.getBounds(),t=n.getCenter();this._moveMarker=this._createMarker(t,this.options.moveIcon)},_createResizeMarker:function(){var t=this._getCorners(),n,i;for(this._resizeMarkers=[],n=0,i=t.length;i>n;n++)this._resizeMarkers.push(this._createMarker(t[n],this.options.resizeIcon)),this._resizeMarkers[n]._cornerIndex=n},_onMarkerDragStart:function(n){L.Edit.SimpleShape.prototype._onMarkerDragStart.call(this,n);var i=this._getCorners(),r=n.target,t=r._cornerIndex;this._oppositeCorner=i[(t+2)%4];this._toggleCornerMarkers(0,t);this._UpdateArea()},_onMarkerDragEnd:function(n){var t,i,r=n.target;r===this._moveMarker&&(t=this._shape.getBounds(),i=t.getCenter(),r.setLatLng(i));this._toggleCornerMarkers(1);this._repositionCornerMarkers();L.Edit.SimpleShape.prototype._onMarkerDragEnd.call(this,n)},_move:function(n){for(var i,r=this._shape.getLatLngs(),e=this._shape.getBounds(),u=e.getCenter(),f=[],t=0,o=r.length;o>t;t++)i=[r[t].lat-u.lat,r[t].lng-u.lng],f.push([n.lat+i[0],n.lng+i[1]]);this._shape.setLatLngs(f);this._repositionCornerMarkers();this._UpdateArea()},_resize:function(n){var t;this._shape.setBounds(L.latLngBounds(n,this._oppositeCorner));t=this._shape.getBounds();this._moveMarker.setLatLng(t.getCenter());this._UpdateArea()},_getCorners:function(){var n=this._shape.getBounds(),t=n.getNorthWest(),i=n.getNorthEast(),r=n.getSouthEast(),u=n.getSouthWest();return[t,i,r,u]},_toggleCornerMarkers:function(n){for(var t=0,i=this._resizeMarkers.length;i>t;t++)this._resizeMarkers[t].setOpacity(n)},_repositionCornerMarkers:function(){for(var t=this._getCorners(),n=0,i=this._resizeMarkers.length;i>n;n++)this._resizeMarkers[n].setLatLng(t[n])},_UpdateArea:function(){var n=L.GeometryUtil.geodesicArea(this._shape._latlngs),t=L.GeometryUtil.readableArea(n);L.CalculatedArea=t}});L.Rectangle.addInitHook(function(){L.Edit.Rectangle&&(this.editing=new L.Edit.Rectangle(this),this.options.editable&&this.editing.enable())});L.Edit=L.Edit||{};L.Edit.Circle=L.Edit.SimpleShape.extend({_createMoveMarker:function(){var n=this._shape.getLatLng();this._moveMarker=this._createMarker(n,this.options.moveIcon)},_createResizeMarker:function(){var n=this._shape.getLatLng(),t=this._getResizeMarkerPoint(n);this._resizeMarkers=[];this._resizeMarkers.push(this._createMarker(t,this.options.resizeIcon))},_getResizeMarkerPoint:function(n){var t=this._shape._radius*Math.cos(Math.PI/4),i=this._map.project(n);return this._map.unproject([i.x+t,i.y-t])},_move:function(n){var t=this._getResizeMarkerPoint(n);this._resizeMarkers[0].setLatLng(t);this._shape.setLatLng(n)},_resize:function(n){var t=this._moveMarker.getLatLng(),i=t.distanceTo(n);this._shape.setRadius(i)}});L.Circle.addInitHook(function(){L.Edit.Circle&&(this.editing=new L.Edit.Circle(this),this.options.editable&&this.editing.enable());this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()});this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()})});L.Map.mergeOptions({touchExtend:!0});L.Map.TouchExtend=L.Handler.extend({initialize:function(n){this._map=n;this._container=n._container;this._pane=n._panes.overlayPane},addHooks:function(){L.DomEvent.on(this._container,"touchstart",this._onTouchStart,this);L.DomEvent.on(this._container,"touchend",this._onTouchEnd,this);L.DomEvent.on(this._container,"touchcancel",this._onTouchCancel,this);L.DomEvent.on(this._container,"touchleave",this._onTouchLeave,this);L.DomEvent.on(this._container,"touchmove",this._onTouchMove,this)},removeHooks:function(){L.DomEvent.off(this._container,"touchstart",this._onTouchStart);L.DomEvent.off(this._container,"touchend",this._onTouchEnd);L.DomEvent.off(this._container,"touchcancel",this._onTouchCancel);L.DomEvent.off(this._container,"touchleave",this._onTouchLeave);L.DomEvent.off(this._container,"touchmove",this._onTouchMove)},_touchEvent:function(n,t){if(n.touches.length){var r=this._map.mouseEventToContainerPoint(n.touches[0]),i=this._map.mouseEventToLayerPoint(n.touches[0]),u=this._map.layerPointToLatLng(i);this._map.fire(t,{latlng:u,layerPoint:i,containerPoint:r,pageX:n.touches[0].pageX,pageY:n.touches[0].pageY,originalEvent:n})}},_onTouchStart:function(n){if(this._map._loaded)this._touchEvent(n,"touchstart")},_onTouchEnd:function(n){if(this._map._loaded)this._touchEvent(n,"touchend")},_onTouchCancel:function(n){if(this._map._loaded)this._touchEvent(n,"touchcancel")},_onTouchLeave:function(n){if(this._map._loaded)this._touchEvent(n,"touchleave")},_onTouchMove:function(n){if(this._map._loaded)this._touchEvent(n,"touchmove")}});L.Map.addInitHook("addHandler","touchExtend",L.Map.TouchExtend);L.Marker.Touch=L.Marker.extend({_initInteraction:function(){var n,i,t;if(this.options.clickable){for(n=this._icon,i=["dblclick","mousedown","mouseover","mouseout","contextmenu","touchstart","touchend","touchmove","touchcancel"],L.DomUtil.addClass(n,"leaflet-clickable"),L.DomEvent.on(n,"click",this._onMouseClick,this),L.DomEvent.on(n,"keypress",this._onKeyPress,this),t=0;t<i.length;t++)L.DomEvent.on(n,i[t],this._fireMouseEvent,this);L.Handler.MarkerDrag&&(this.dragging=new L.Handler.MarkerDrag(this),this.options.draggable&&this.dragging.enable())}}});L.LatLngUtil={cloneLatLngs:function(n){for(var i=[],t=0,r=n.length;r>t;t++)i.push(this.cloneLatLng(n[t]));return i},cloneLatLng:function(n){return L.latLng(n.lat,n.lng)}};L.GeometryUtil=L.extend(L.GeometryUtil||{},{geodesicArea:function(n){var r,u,f=n.length,i=0,e=L.LatLng.DEG_TO_RAD,t;if(f>2){for(t=0;f>t;t++)r=n[t],u=n[(t+1)%f],i+=(u.lng-r.lng)*e*(2+Math.sin(r.lat*e)+Math.sin(u.lat*e));i=40680631590769*i/2}return Math.abs(i)},geodesicLength:function(n){for(var r=0,t=n,u=t[0],i=1;i<t.length;i++)r=r+u.distanceTo(t[i]),u=t[i];return Math.abs(r)},readableArea:function(n){var e;return n.toFixed(2)+" m&sup2;"},readableDistance:function(n){var e;return Math.ceil(n)+" m"}});L.Util.extend(L.LineUtil,{segmentsIntersect:function(n,t,i,r){return this._checkCounterclockwise(n,i,r)!==this._checkCounterclockwise(t,i,r)&&this._checkCounterclockwise(n,t,i)!==this._checkCounterclockwise(n,t,r)},_checkCounterclockwise:function(n,t,i){return(i.y-n.y)*(t.x-n.x)>(t.y-n.y)*(i.x-n.x)}});L.Polyline.include({intersects:function(){var n,i,r,t=this._originalPoints,u=t?t.length:0;if(this._tooFewPointsForIntersection())return!1;for(n=u-1;n>=3;n--)if(i=t[n-1],r=t[n],this._lineSegmentsIntersectsRange(i,r,n-2))return!0;return!1},newLatLngIntersects:function(n,t){return this._map?this.newPointIntersects(this._map.latLngToLayerPoint(n),t):!1},newPointIntersects:function(n,t){var i=this._originalPoints,r=i?i.length:0,u=i?i[r-1]:null,f=r-2;return this._tooFewPointsForIntersection(1)?!1:this._lineSegmentsIntersectsRange(u,n,f,t?1:0)},_tooFewPointsForIntersection:function(n){var t=this._originalPoints,i=t?t.length:0;return i+=n||0,!this._originalPoints||3>=i},_lineSegmentsIntersectsRange:function(n,t,i,r){var f,e,o=this._originalPoints,u;for(r=r||0,u=i;u>r;u--)if(f=o[u-1],e=o[u],L.LineUtil.segmentsIntersect(n,t,f,e))return!0;return!1}});L.Polygon.include({intersects:function(){var f,n,i,r,u,t=this._originalPoints;return this._tooFewPointsForIntersection()?!1:(f=L.Polyline.prototype.intersects.call(this))?!0:(n=t.length,i=t[0],r=t[n-1],u=n-2,this._lineSegmentsIntersectsRange(r,i,u,1))}});L.Control.Draw=L.Control.extend({options:{position:"topleft",draw:{},edit:!1},initialize:function(n){if(L.version<"0.7")throw new Error("Leaflet.draw 0.2.3+ requires Leaflet 0.7.0+. Download latest from https://github.com/Leaflet/Leaflet/");L.Control.prototype.initialize.call(this,n);var t;this._toolbars={};L.DrawToolbar&&this.options.draw&&(t=new L.DrawToolbar(this.options.draw),this._toolbars[L.DrawToolbar.TYPE]=t,this._toolbars[L.DrawToolbar.TYPE].on("enable",this._toolbarEnabled,this));L.EditToolbar&&this.options.edit&&(t=new L.EditToolbar(this.options.edit),this._toolbars[L.EditToolbar.TYPE]=t,this._toolbars[L.EditToolbar.TYPE].on("enable",this._toolbarEnabled,this));L.toolbar=this},onAdd:function(n){var t,i=L.DomUtil.create("div","leaflet-draw"),r=!1,u="leaflet-draw-toolbar-top";for(var f in this._toolbars)this._toolbars.hasOwnProperty(f)&&(t=this._toolbars[f].addToolbar(n),t&&(r||(L.DomUtil.hasClass(t,u)||L.DomUtil.addClass(t.childNodes[0],u),r=!0),i.appendChild(t)));return i},onRemove:function(){for(var n in this._toolbars)this._toolbars.hasOwnProperty(n)&&this._toolbars[n].removeToolbar()},setDrawingOptions:function(n){for(var t in this._toolbars)this._toolbars[t]instanceof L.DrawToolbar&&this._toolbars[t].setOptions(n)},_toolbarEnabled:function(n){var i=n.target;for(var t in this._toolbars)this._toolbars[t]!==i&&this._toolbars[t].disable()}});L.Map.mergeOptions({drawControlTooltips:!0,drawControl:!1});L.Map.addInitHook(function(){this.options.drawControl&&(this.drawControl=new L.Control.Draw,this.addControl(this.drawControl))});L.Toolbar=L.Class.extend({includes:[L.Mixin.Events],initialize:function(n){L.setOptions(this,n);this._modes={};this._actionButtons=[];this._activeMode=null},enabled:function(){return null!==this._activeMode},disable:function(){this.enabled()&&this._activeMode.handler.disable()},addToolbar:function(n){var t,r=L.DomUtil.create("div","leaflet-draw-section"),u=0,f=this._toolbarClass||"",i=this.getModeHandlers(n);for(this._toolbarContainer=L.DomUtil.create("div","leaflet-draw-toolbar leaflet-bar"),this._map=n,t=0;t<i.length;t++)i[t].enabled&&this._initModeHandler(i[t].handler,this._toolbarContainer,u++,f,i[t].title);if(u)return(this._lastButtonIndex=--u,this._actionsContainer=L.DomUtil.create("ul","leaflet-draw-actions"),r.appendChild(this._toolbarContainer),r.appendChild(this._actionsContainer),r)},removeToolbar:function(){var n,t,i;for(n in this._modes)this._modes.hasOwnProperty(n)&&(this._disposeButton(this._modes[n].button,this._modes[n].handler.enable,this._modes[n].handler),this._modes[n].handler.disable(),this._modes[n].handler.off("enabled",this._handlerActivated,this).off("disabled",this._handlerDeactivated,this));for(this._modes={},t=0,i=this._actionButtons.length;i>t;t++)this._disposeButton(this._actionButtons[t].button,this._actionButtons[t].callback,this);this._actionButtons=[];this._actionsContainer=null},_initModeHandler:function(n,t,i,r,u){var f=n.type;this._modes[f]={};this._modes[f].handler=n;this._modes[f].button=this._createButton({type:f,title:u,className:r+"-"+f,container:t,callback:this._modes[f].handler.enable,context:this._modes[f].handler});this._modes[f].buttonIndex=i;this._modes[f].handler.on("enabled",this._handlerActivated,this).on("disabled",this._handlerDeactivated,this)},_createButton:function(n){var t=L.DomUtil.create("a",n.className||"",n.container);return t.href="#",n.text&&(t.innerHTML=n.text),n.title&&(t.title=n.title),L.DomEvent.on(t,"click",L.DomEvent.stopPropagation).on(t,"mousedown",L.DomEvent.stopPropagation).on(t,"dblclick",L.DomEvent.stopPropagation).on(t,"click",L.DomEvent.preventDefault).on(t,"click",n.callback,n.context),t},_disposeButton:function(n,t){L.DomEvent.off(n,"click",L.DomEvent.stopPropagation).off(n,"mousedown",L.DomEvent.stopPropagation).off(n,"dblclick",L.DomEvent.stopPropagation).off(n,"click",L.DomEvent.preventDefault).off(n,"click",t)},_handlerActivated:function(n){this.disable();this._activeMode=this._modes[n.handler];L.DomUtil.addClass(this._activeMode.button,"leaflet-draw-toolbar-button-enabled");this._showActionsToolbar();this.fire("enable")},_handlerDeactivated:function(){this._hideActionsToolbar();L.DomUtil.removeClass(this._activeMode.button,"leaflet-draw-toolbar-button-enabled");this._activeMode=null;this.fire("disable")},_createActions:function(n){for(var f,o,u=this._actionsContainer,i=this.getActions(n),s=i.length,t,r=0,e=this._actionButtons.length;e>r;r++)this._disposeButton(this._actionButtons[r].button,this._actionButtons[r].callback);for(this._actionButtons=[];u.firstChild;)u.removeChild(u.firstChild);for(t=0;s>t;t++)"enabled"in i[t]&&!i[t].enabled||(f=L.DomUtil.create("li","",u),o=this._createButton({title:i[t].title,text:i[t].text,container:f,callback:i[t].callback,context:i[t].context}),this._actionButtons.push({button:o,callback:i[t].callback}))},_showActionsToolbar:function(){var n=this._activeMode.buttonIndex,t=this._lastButtonIndex,i=this._activeMode.button.offsetTop-1;this._createActions(this._activeMode.handler);this._actionsContainer.style.top=i+"px";0===n&&(L.DomUtil.addClass(this._toolbarContainer,"leaflet-draw-toolbar-notop"),L.DomUtil.addClass(this._actionsContainer,"leaflet-draw-actions-top"));n===t&&(L.DomUtil.addClass(this._toolbarContainer,"leaflet-draw-toolbar-nobottom"),L.DomUtil.addClass(this._actionsContainer,"leaflet-draw-actions-bottom"));this._actionsContainer.style.display="block"},_hideActionsToolbar:function(){this._actionsContainer.style.display="none";L.DomUtil.removeClass(this._toolbarContainer,"leaflet-draw-toolbar-notop");L.DomUtil.removeClass(this._toolbarContainer,"leaflet-draw-toolbar-nobottom");L.DomUtil.removeClass(this._actionsContainer,"leaflet-draw-actions-top");L.DomUtil.removeClass(this._actionsContainer,"leaflet-draw-actions-bottom")}});L.Tooltip=L.Class.extend({initialize:function(n){this._map=n;this._popupPane=n._panes.popupPane;this._container=n.options.drawControlTooltips?L.DomUtil.create("div","leaflet-draw-tooltip",this._popupPane):null;this._singleLineLabel=!1},dispose:function(){this._container&&(this._popupPane.removeChild(this._container),this._container=null)},updateContent:function(n){return this._container?(n.subtext=n.subtext||"",0!==n.subtext.length||this._singleLineLabel?n.subtext.length>0&&this._singleLineLabel&&(L.DomUtil.removeClass(this._container,"leaflet-draw-tooltip-single"),this._singleLineLabel=!1):(L.DomUtil.addClass(this._container,"leaflet-draw-tooltip-single"),this._singleLineLabel=!0),this._container.innerHTML=(n.subtext.length>0?'<span class="leaflet-draw-tooltip-subtext">'+n.subtext+"<\/span>":"")+n.text,this):this},updatePosition:function(n){var i=this._map.latLngToLayerPoint(n),t=this._container;return this._container&&(t.style.visibility=this._container.innerHTML.length>0?"inherit":"hidden",L.DomUtil.setPosition(t,i)),this},showAsError:function(){return this._container&&L.DomUtil.addClass(this._container,"leaflet-error-draw-tooltip"),this},removeError:function(){return this._container&&L.DomUtil.removeClass(this._container,"leaflet-error-draw-tooltip"),this}});L.DrawToolbar=L.Toolbar.extend({statics:{TYPE:"draw"},options:{polyline:{},polygon:{},rectangle:{},circle:{},marker:{}},initialize:function(n){for(var t in this.options)this.options.hasOwnProperty(t)&&n[t]&&(n[t]=L.extend({},this.options[t],n[t]));this._toolbarClass="leaflet-draw-draw";L.Toolbar.prototype.initialize.call(this,n)},getModeHandlers:function(n){return[{enabled:this.options.polyline,handler:new L.Draw.Polyline(n,this.options.polyline),title:L.drawLocal.draw.toolbar.buttons.polyline},{enabled:this.options.polygon,handler:new L.Draw.Polygon(n,this.options.polygon),title:L.drawLocal.draw.toolbar.buttons.polygon},{enabled:this.options.rectangle,handler:new L.Draw.Rectangle(n,this.options.rectangle),title:L.drawLocal.draw.toolbar.buttons.rectangle},{enabled:this.options.circle,handler:new L.Draw.Circle(n,this.options.circle),title:L.drawLocal.draw.toolbar.buttons.circle},{enabled:this.options.marker,handler:new L.Draw.Marker(n,this.options.marker),title:L.drawLocal.draw.toolbar.buttons.marker}]},getActions:function(n){return[{enabled:n.completeShape,title:L.drawLocal.draw.toolbar.finish.title,text:L.drawLocal.draw.toolbar.finish.text,callback:n.completeShape,context:n},{enabled:n.deleteLastVertex,title:L.drawLocal.draw.toolbar.undo.title,text:L.drawLocal.draw.toolbar.undo.text,callback:n.deleteLastVertex,context:n},{title:L.drawLocal.draw.toolbar.actions.title,text:L.drawLocal.draw.toolbar.actions.text,callback:this.disable,context:this}]},setOptions:function(n){L.setOptions(this,n);for(var t in this._modes)this._modes.hasOwnProperty(t)&&n.hasOwnProperty(t)&&this._modes[t].handler.setOptions(n[t])}});L.EditToolbar=L.Toolbar.extend({statics:{TYPE:"edit"},options:{edit:{selectedPathOptions:{color:"#303030",opacity:.6,dashArray:"10, 10",fill:!0,fillColor:"#303030",fillOpacity:.1,maintainColor:!1}},remove:{},featureGroup:null},initialize:function(n){n.edit&&("undefined"==typeof n.edit.selectedPathOptions&&(n.edit.selectedPathOptions=this.options.edit.selectedPathOptions),n.edit.selectedPathOptions=L.extend({},this.options.edit.selectedPathOptions,n.edit.selectedPathOptions));n.remove&&(n.remove=L.extend({},this.options.remove,n.remove));this._toolbarClass="leaflet-draw-edit";L.Toolbar.prototype.initialize.call(this,n);this._selectedFeatureCount=0},getModeHandlers:function(n){var t=this.options.featureGroup;return[{enabled:this.options.edit,handler:new L.EditToolbar.Edit(n,{featureGroup:t,selectedPathOptions:this.options.edit.selectedPathOptions}),title:L.drawLocal.edit.toolbar.buttons.edit},{enabled:this.options.remove,handler:new L.EditToolbar.Delete(n,{featureGroup:t}),title:L.drawLocal.edit.toolbar.buttons.remove}]},getActions:function(){return[{title:L.drawLocal.edit.toolbar.actions.save.title,text:L.drawLocal.edit.toolbar.actions.save.text,callback:this._save,context:this},{title:L.drawLocal.edit.toolbar.actions.cancel.title,text:L.drawLocal.edit.toolbar.actions.cancel.text,callback:this.disable,context:this}]},addToolbar:function(n){var t=L.Toolbar.prototype.addToolbar.call(this,n);return this._checkDisabled(),this.options.featureGroup.on("layeradd layerremove",this._checkDisabled,this),t},removeToolbar:function(){this.options.featureGroup.off("layeradd layerremove",this._checkDisabled,this);L.Toolbar.prototype.removeToolbar.call(this)},disable:function(){this.enabled()&&(this._activeMode.handler.revertLayers(),L.Toolbar.prototype.disable.call(this))},_save:function(){try{this._activeMode.handler.save();this._activeMode.handler.disable()}catch(n){}},_checkDisabled:function(){var n,i=this.options.featureGroup,t=0!==i.getLayers().length;this.options.edit&&(n=this._modes[L.EditToolbar.Edit.TYPE].button,t?L.DomUtil.removeClass(n,"leaflet-disabled"):L.DomUtil.addClass(n,"leaflet-disabled"),n.setAttribute("title",t?L.drawLocal.edit.toolbar.buttons.edit:L.drawLocal.edit.toolbar.buttons.editDisabled));this.options.remove&&(n=this._modes[L.EditToolbar.Delete.TYPE].button,t?L.DomUtil.removeClass(n,"leaflet-disabled"):L.DomUtil.addClass(n,"leaflet-disabled"),n.setAttribute("title",t?L.drawLocal.edit.toolbar.buttons.remove:L.drawLocal.edit.toolbar.buttons.removeDisabled))}});L.EditToolbar.Edit=L.Handler.extend({statics:{TYPE:"edit"},includes:L.Mixin.Events,initialize:function(n,t){if(L.Handler.prototype.initialize.call(this,n),L.setOptions(this,t),this._featureGroup=t.featureGroup,!(this._featureGroup instanceof L.FeatureGroup))throw new Error("options.featureGroup must be a L.FeatureGroup");this._uneditedLayerProps={};this.type=L.EditToolbar.Edit.TYPE},enable:function(){!this._enabled&&this._hasAvailableLayers()&&(this.fire("enabled",{handler:this.type}),this._map.fire("draw:editstart",{handler:this.type}),L.Handler.prototype.enable.call(this),this._featureGroup.on("layeradd",this._enableLayerEdit,this).on("layerremove",this._disableLayerEdit,this));L.CalculatedArea=null},disable:function(){this._enabled&&(this._featureGroup.off("layeradd",this._enableLayerEdit,this).off("layerremove",this._disableLayerEdit,this),L.Handler.prototype.disable.call(this),this._map.fire("draw:editstop",{handler:this.type}),this.fire("disabled",{handler:this.type}));L.CalculatedArea=null},addHooks:function(){var n=this._map;n&&(n.getContainer().focus(),this._featureGroup.eachLayer(this._enableLayerEdit,this),this._tooltip=new L.Tooltip(this._map),this._tooltip.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext}),this._map.on("mousemove",this._onMouseMove,this).on("touchmove",this._onMouseMove,this))},removeHooks:function(){this._map&&(this._featureGroup.eachLayer(this._disableLayerEdit,this),this._uneditedLayerProps={},this._tooltip.dispose(),this._tooltip=null,this._map.off("mousemove",this._onMouseMove,this).off("touchmove",this._onMouseMove,this))},revertLayers:function(){this._featureGroup.eachLayer(function(n){this._revertLayer(n)},this)},save:function(){var n=new L.LayerGroup;this._featureGroup.eachLayer(function(t){t.edited&&(n.addLayer(t),t.edited=!1)});this._map.fire("draw:edited",{layers:n})},_backupLayer:function(n){var t=L.Util.stamp(n);this._uneditedLayerProps[t]||(n instanceof L.Polyline||n instanceof L.Polygon||n instanceof L.Rectangle?this._uneditedLayerProps[t]={latlngs:L.LatLngUtil.cloneLatLngs(n.getLatLngs())}:n instanceof L.Circle?this._uneditedLayerProps[t]={latlng:L.LatLngUtil.cloneLatLng(n.getLatLng()),radius:n.getRadius()}:n instanceof L.Marker&&(this._uneditedLayerProps[t]={latlng:L.LatLngUtil.cloneLatLng(n.getLatLng())}))},_revertLayer:function(n){var t=L.Util.stamp(n);n.edited=!1;this._uneditedLayerProps.hasOwnProperty(t)&&(n instanceof L.Polyline||n instanceof L.Polygon||n instanceof L.Rectangle?n.setLatLngs(this._uneditedLayerProps[t].latlngs):n instanceof L.Circle?(n.setLatLng(this._uneditedLayerProps[t].latlng),n.setRadius(this._uneditedLayerProps[t].radius)):n instanceof L.Marker&&n.setLatLng(this._uneditedLayerProps[t].latlng),n.fire("revert-edited",{layer:n}))},_enableLayerEdit:function(n){var i,t=n.layer||n.target||n;this._backupLayer(t);this.options.selectedPathOptions&&(i=L.Util.extend({},this.options.selectedPathOptions),i.maintainColor&&(i.color=t.options.color,i.fillColor=t.options.fillColor),t.options.original=L.extend({},t.options),t.options.editing=i);this.isMarker?(t.dragging.enable(),t.on("dragend",this._onMarkerDragEnd).on("touchmove",this._onTouchMove,this).on("touchend",this._onMarkerDragEnd,this)):t.editing.enable()},_disableLayerEdit:function(n){var t=n.layer||n.target||n;t.edited=!1;t.editing.disable();delete t.options.editing;delete t.options.original;this._selectedPathOptions&&(t instanceof L.Marker?this._toggleMarkerHighlight(t):(t.setStyle(t.options.previousOptions),delete t.options.previousOptions));t instanceof L.Marker?(t.dragging.disable(),t.off("dragend",this._onMarkerDragEnd,this).off("touchmove",this._onTouchMove,this).off("touchend",this._onMarkerDragEnd,this)):t.editing.disable()},_onMouseMove:function(n){this._tooltip.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:(L.CalculatedArea?L.CalculatedArea+"<br />":"")+L.drawLocal.edit.handlers.edit.tooltip.subtext});this._tooltip.updatePosition(n.latlng)},_onTouchMove:function(n){var t=n.originalEvent.changedTouches[0],i=this._map.mouseEventToLayerPoint(t),r=this._map.layerPointToLatLng(i);n.target.setLatLng(r)},_hasAvailableLayers:function(){return 0!==this._featureGroup.getLayers().length}});L.EditToolbar.Delete=L.Handler.extend({statics:{TYPE:"remove"},includes:L.Mixin.Events,initialize:function(n,t){if(L.Handler.prototype.initialize.call(this,n),L.Util.setOptions(this,t),this._deletableLayers=this.options.featureGroup,!(this._deletableLayers instanceof L.FeatureGroup))throw new Error("options.featureGroup must be a L.FeatureGroup");this.type=L.EditToolbar.Delete.TYPE},enable:function(){!this._enabled&&this._hasAvailableLayers()&&(this.fire("enabled",{handler:this.type}),this._map.fire("draw:deletestart",{handler:this.type}),L.Handler.prototype.enable.call(this),this._deletableLayers.on("layeradd",this._enableLayerDelete,this).on("layerremove",this._disableLayerDelete,this))},disable:function(){this._enabled&&(this._deletableLayers.off("layeradd",this._enableLayerDelete,this).off("layerremove",this._disableLayerDelete,this),L.Handler.prototype.disable.call(this),this._map.fire("draw:deletestop",{handler:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var n=this._map;n&&(n.getContainer().focus(),this._deletableLayers.eachLayer(this._enableLayerDelete,this),this._deletedLayers=new L.LayerGroup,this._tooltip=new L.Tooltip(this._map),this._tooltip.updateContent({text:L.drawLocal.edit.handlers.remove.tooltip.text}),this._map.on("mousemove",this._onMouseMove,this))},removeHooks:function(){this._map&&(this._deletableLayers.eachLayer(this._disableLayerDelete,this),this._deletedLayers=null,this._tooltip.dispose(),this._tooltip=null,this._map.off("mousemove",this._onMouseMove,this))},revertLayers:function(){this._deletedLayers.eachLayer(function(n){this._deletableLayers.addLayer(n);n.fire("revert-deleted",{layer:n})},this)},save:function(){this._map.fire("draw:deleted",{layers:this._deletedLayers})},_enableLayerDelete:function(n){var t=n.layer||n.target||n;t.on("click",this._removeLayer,this)},_disableLayerDelete:function(n){var t=n.layer||n.target||n;t.off("click",this._removeLayer,this);this._deletedLayers.removeLayer(t)},_removeLayer:function(n){var t=n.layer||n.target||n;this._deletableLayers.removeLayer(t);this._deletedLayers.addLayer(t);t.fire("deleted")},_onMouseMove:function(n){this._tooltip.updatePosition(n.latlng)},_hasAvailableLayers:function(){return 0!==this._deletableLayers.getLayers().length}})}(window,document);L.Control.Fullscreen=L.Control.extend({options:{position:"topleft",title:{"false":"Volledige scherm weergave","true":"Sluiten volledige scherm weergave"}},onAdd:function(n){var t=L.DomUtil.create("div","leaflet-control-fullscreen leaflet-bar leaflet-control");this.link=L.DomUtil.create("a","leaflet-control-fullscreen-button leaflet-bar-part",t);this.link.href="#";this._map=n;this._map.on("fullscreenchange",this._toggleTitle,this);this._toggleTitle();L.DomEvent.on(this.link,"click",this._click,this);return t},_click:function(n){L.DomEvent.stopPropagation(n);L.DomEvent.preventDefault(n);this._map.toggleFullscreen()},_toggleTitle:function(){this.link.title=this.options.title[this._map.isFullscreen()]}});L.Map.include({isFullscreen:function(){return this._isFullscreen||!1},toggleFullscreen:function(){var n=this.getContainer();this.isFullscreen()?document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.msExitFullscreen?document.msExitFullscreen():(L.DomUtil.removeClass(n,"leaflet-pseudo-fullscreen"),this._setFullscreen(!1),this.invalidateSize(),this.fire("fullscreenchange")):n.requestFullscreen?n.requestFullscreen():n.mozRequestFullScreen?n.mozRequestFullScreen():n.webkitRequestFullscreen?n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):n.msRequestFullscreen?n.msRequestFullscreen():(L.DomUtil.addClass(n,"leaflet-pseudo-fullscreen"),this._setFullscreen(!0),this.invalidateSize(),this.fire("fullscreenchange"))},_setFullscreen:function(n){this._isFullscreen=n;var t=this.getContainer();n?L.DomUtil.addClass(t,"leaflet-fullscreen-on"):L.DomUtil.removeClass(t,"leaflet-fullscreen-on")},_onFullscreenChange:function(){var n=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;n!==this.getContainer()||this._isFullscreen?n!==this.getContainer()&&this._isFullscreen&&(this._setFullscreen(!1),this.fire("fullscreenchange")):(this._setFullscreen(!0),this.fire("fullscreenchange"))}});L.Map.mergeOptions({fullscreenControl:!1});L.Map.addInitHook(function(){var n,t;if(this.options.fullscreenControl&&(this.fullscreenControl=new L.Control.Fullscreen,this.addControl(this.fullscreenControl)),"onfullscreenchange"in document?n="fullscreenchange":"onmozfullscreenchange"in document?n="mozfullscreenchange":"onwebkitfullscreenchange"in document?n="webkitfullscreenchange":"onmsfullscreenchange"in document&&(n="MSFullscreenChange"),n){t=L.bind(this._onFullscreenChange,this);this.whenReady(function(){L.DomEvent.on(document,n,t)});this.on("unload",function(){L.DomEvent.off(document,n,t)})}});L.control.fullscreen=function(n){return new L.Control.Fullscreen(n)};L.TileLayer.TMS=L.TileLayer.extend({_tileFunction:null,_crs:null,_tileNumBounds:null,initialize:function(n,t,i){this._tileFunction=n;this._crs=i;L.TileLayer.prototype.initialize.call(this,null,t);typeof _paq!="undefined"&&_paq.push(["trackEvent","Cyclomedia TMS","Cyclomedia TMS User ID",_loggedInUserIdForPiwik])},getTileUrl:function(n){var r=this._map,i=this._crs!=undefined?this._crs:r.options.crs,h;if(i.code.indexOf("28992")>-1)var t=i.options.resolutions[n.z],e=n.z,o=n.multiplyBy(t),c=o.add(new L.Point(t,t)),s=r.getBounds(),u=i.project(s._northEast),f=i.project(s._southWest),l=[u.x,f.y,f.x,u.y].join(",");else var t=this.options.tileSize,e=n.z,o=n.multiplyBy(t),c=o.add(new L.Point(t,t)),u=i.project(r.unproject(o,e)),f=i.project(r.unproject(c,e)),l=[u.x,f.y,f.x,u.y].join(",");return h={bbox:l,width:t,height:t,zoom:e,tile:{row:this.options.tms?n.y:n.y,column:n.x},subdomain:this._getSubdomain(n)},this._tileFunction(h)},_loadTile:function(n,t){var i,r;n._layer=this;n.onload=this._tileOnLoad;n.onerror=this._tileOnError;this._adjustTilePoint(t);i=this.getTileUrl(t);typeof i=="string"?(n.src=i,this.fire("tileloadstart",{tile:n,url:n.src})):typeof i.then=="function"&&(r=this,i.then(function(t){n.src=t;r.fire("tileloadstart",{tile:n,url:n.src})}))}});L.tileLayer.tms=function(n,t,i){return new L.TileLayer.TMS(n,t,i)};MarkerClusterGroup=L.MarkerClusterGroup=L.FeatureGroup.extend({options:{maxClusterRadius:80,iconCreateFunction:null,clusterPane:L.Marker.prototype.options.pane,spiderfyOnMaxZoom:!0,showCoverageOnHover:!0,zoomToBoundsOnClick:!0,singleMarkerMode:!1,disableClusteringAtZoom:null,removeOutsideVisibleBounds:!0,animate:!0,animateAddingMarkers:!1,spiderfyDistanceMultiplier:4,spiderLegPolylineOptions:{weight:1.5,color:"#222",opacity:.5},chunkedLoading:!1,chunkInterval:200,chunkDelay:50,chunkProgress:null,polygonOptions:{}},initialize:function(n){L.Util.setOptions(this,n);this.options.iconCreateFunction||(this.options.iconCreateFunction=this._defaultIconCreateFunction);this._featureGroup=L.featureGroup();this._featureGroup.addEventParent(this);this._nonPointGroup=L.featureGroup();this._nonPointGroup.addEventParent(this);this._inZoomAnimation=0;this._needsClustering=[];this._needsRemoving=[];this._currentShownBounds=null;this._queue=[];this._childMarkerEventHandlers={dragstart:this._childMarkerDragStart,move:this._childMarkerMoved,dragend:this._childMarkerDragEnd};var t=L.DomUtil.TRANSITION&&this.options.animate;L.extend(this,t?this._withAnimation:this._noAnimation);this._markerCluster=t?L.MarkerCluster:L.MarkerClusterNonAnimated},addLayer:function(n){if(n instanceof L.LayerGroup)return this.addLayers([n]);if(!n.getLatLng||n.isCircleMarker!=undefined)return this._nonPointGroup.addLayer(n),this.fire("layeradd",{layer:n}),this;if(!this._map)return this._needsClustering.push(n),this.fire("layeradd",{layer:n}),this;if(this.hasLayer(n))return this;this._unspiderfy&&this._unspiderfy();this._addLayer(n,this._maxZoom);this.fire("layeradd",{layer:n});this._topClusterLevel._recalculateBounds();this._refreshClustersIcons();var t=n,i=this._zoom;if(n.__parent)while(t.__parent!=undefined&&t.__parent._zoom>=i)t=t.__parent;return this._currentShownBounds.contains(t.getLatLng())&&(this.options.animateAddingMarkers?this._animationAddLayer(n,t):this._animationAddLayerNonAnimated(n,t)),this},removeLayer:function(n){return n instanceof L.LayerGroup?this.removeLayers([n]):n.getLatLng?this._map?n.__parent?(this._unspiderfy&&(this._unspiderfy(),this._unspiderfyLayer(n)),this._removeLayer(n,!0),this.fire("layerremove",{layer:n}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),n.off(this._childMarkerEventHandlers,this),this._featureGroup.hasLayer(n)&&(this._featureGroup.removeLayer(n),n.clusterShow&&n.clusterShow()),this):this:(!this._arraySplice(this._needsClustering,n)&&this.hasLayer(n)&&this._needsRemoving.push({layer:n,latlng:n._latlng}),this.fire("layerremove",{layer:n}),this):(this._nonPointGroup.removeLayer(n),this.fire("layerremove",{layer:n}),this)},addLayers:function(n,t){var h,e,c;if(!L.Util.isArray(n))return this.addLayer(n);var l=this._featureGroup,o=this._nonPointGroup,a=this.options.chunkedLoading,v=this.options.chunkInterval,s=this.options.chunkProgress,u=n.length,r=0,f=!0,i;if(this._map)h=(new Date).getTime(),e=L.bind(function(){for(var w=(new Date).getTime(),y,c,p;r<u;r++){if(a&&r%200==0&&(y=(new Date).getTime()-w,y>v))break;if(i=n[r],i instanceof L.LayerGroup){f&&(n=n.slice(),f=!1);this._extractNonGroupLayers(i,n);u=n.length;continue}if(!i.getLatLng){o.addLayer(i);t||this.fire("layeradd",{layer:i});continue}this.hasLayer(i)||(this._addLayer(i,this._maxZoom),t||this.fire("layeradd",{layer:i}),i.__parent&&i.__parent.getChildCount()===2&&(c=i.__parent.getAllChildMarkers(),p=c[0]===i?c[1]:c[0],l.removeLayer(p)))}s&&s(r,u,(new Date).getTime()-h);r===u?(this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds)):setTimeout(e,this.options.chunkDelay)},this),e();else for(c=this._needsClustering;r<u;r++){if(i=n[r],i instanceof L.LayerGroup){f&&(n=n.slice(),f=!1);this._extractNonGroupLayers(i,n);u=n.length;continue}if(!i.getLatLng){o.addLayer(i);continue}this.hasLayer(i)||c.push(i)}return this},removeLayers:function(n){var i,t,r=n.length,o=this._featureGroup,s=this._nonPointGroup,u=!0,f,e;if(!this._map){for(i=0;i<r;i++){if(t=n[i],t instanceof L.LayerGroup){u&&(n=n.slice(),u=!1);this._extractNonGroupLayers(t,n);r=n.length;continue}this._arraySplice(this._needsClustering,t);s.removeLayer(t);this.hasLayer(t)&&this._needsRemoving.push({layer:t,latlng:t._latlng});this.fire("layerremove",{layer:t})}return this}if(this._unspiderfy)for(this._unspiderfy(),f=n.slice(),e=r,i=0;i<e;i++){if(t=f[i],t instanceof L.LayerGroup){this._extractNonGroupLayers(t,f);e=f.length;continue}this._unspiderfyLayer(t)}for(i=0;i<r;i++){if(t=n[i],t instanceof L.LayerGroup){u&&(n=n.slice(),u=!1);this._extractNonGroupLayers(t,n);r=n.length;continue}if(!t.__parent){s.removeLayer(t);this.fire("layerremove",{layer:t});continue}this._removeLayer(t,!0,!0);this.fire("layerremove",{layer:t});o.hasLayer(t)&&(o.removeLayer(t),t.clusterShow&&t.clusterShow())}return this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds),this},clearLayers:function(){return this._map||(this._needsClustering=[],this._needsRemoving=[],delete this._gridClusters,delete this._gridUnclustered),this._noanimationUnspiderfy&&this._noanimationUnspiderfy(),this._featureGroup.clearLayers(),this._nonPointGroup.clearLayers(),this.eachLayer(function(n){n.off(this._childMarkerEventHandlers,this);delete n.__parent},this),this._map&&this._generateInitialClusters(),this},getBounds:function(){var n=new L.LatLngBounds,t;for(this._topClusterLevel&&n.extend(this._topClusterLevel._bounds),t=this._needsClustering.length-1;t>=0;t--)n.extend(this._needsClustering[t].getLatLng());return n.extend(this._nonPointGroup.getBounds()),n},eachLayer:function(n,t){var r=this._needsClustering.slice(),e=this._needsRemoving,f,i,u;for(this._topClusterLevel&&this._topClusterLevel.getAllChildMarkers(r),i=r.length-1;i>=0;i--){for(f=!0,u=e.length-1;u>=0;u--)if(e[u].layer===r[i]){f=!1;break}f&&n.call(t,r[i])}this._nonPointGroup.eachLayer(n,t)},getLayers:function(){var n=[];return this.eachLayer(function(t){n.push(t)}),n},getLayer:function(n){var t=null;return n=parseInt(n,10),this.eachLayer(function(i){L.stamp(i)===n&&(t=i)}),t},hasLayer:function(n){if(!n)return!1;for(var i=this._needsClustering,t=i.length-1;t>=0;t--)if(i[t]===n)return!0;for(i=this._needsRemoving,t=i.length-1;t>=0;t--)if(i[t].layer===n)return!1;return!!(n.__parent&&n.__parent._group===this)||this._nonPointGroup.hasLayer(n)},zoomToShowLayer:function(n,t){typeof t!="function"&&(t=function(){});var i=function(){if((n._icon||n.__parent._icon)&&!this._inZoomAnimation)if(this._map.off("moveend",i,this),this.off("animationend",i,this),n._icon)t();else if(n.__parent._icon){this.once("spiderfied",t,this);n.__parent.spiderfy()}};if(n._icon&&this._map.getBounds().contains(n.getLatLng()))t();else if(n.__parent._zoom<Math.round(this._map._zoom)){this._map.on("moveend",i,this);this._map.panTo(n.getLatLng())}else{this._map.on("moveend",i,this);this.on("animationend",i,this);n.__parent.zoomToBounds()}},onAdd:function(n){this._map=n;var i,r,t;if(!isFinite(this._map.getMaxZoom()))throw"Map has no maxZoom specified";for(this._featureGroup.addTo(n),this._nonPointGroup.addTo(n),this._gridClusters||this._generateInitialClusters(),this._maxLat=n.options.crs.projection.MAX_LATITUDE,i=0,r=this._needsRemoving.length;i<r;i++)t=this._needsRemoving[i],t.newlatlng=t.layer._latlng,t.layer._latlng=t.latlng;for(i=0,r=this._needsRemoving.length;i<r;i++)t=this._needsRemoving[i],this._removeLayer(t.layer,!0),t.layer._latlng=t.newlatlng;this._needsRemoving=[];this._zoom=Math.round(this._map._zoom);this._currentShownBounds=this._getExpandedVisibleBounds();this._map.on("zoomend",this._zoomEnd,this);this._map.on("moveend",this._moveEnd,this);this._spiderfierOnAdd&&this._spiderfierOnAdd();this._bindEvents();r=this._needsClustering;this._needsClustering=[];this.addLayers(r,!0)},onRemove:function(n){n.off("zoomend",this._zoomEnd,this);n.off("moveend",this._moveEnd,this);this._unbindEvents();this._map._mapPane.className=this._map._mapPane.className.replace(" leaflet-cluster-anim","");this._spiderfierOnRemove&&this._spiderfierOnRemove();delete this._maxLat;this._hideCoverage();this._featureGroup.remove();this._nonPointGroup.remove();this._featureGroup.clearLayers();this._map=null},getVisibleParent:function(n){for(var t=n;t&&!t._icon;)t=t.__parent;return t||null},_arraySplice:function(n,t){for(var i=n.length-1;i>=0;i--)if(n[i]===t)return n.splice(i,1),!0},_removeFromGridUnclustered:function(n,t){for(var i=this._map,r=this._gridUnclustered,u=Math.floor(this._map.getMinZoom());t>=u;t--)if(!r[t].removeObject(n,i.project(n.getLatLng(),t)))break},_childMarkerDragStart:function(n){n.target.__dragStart=n.target._latlng},_childMarkerMoved:function(n){if(!this._ignoreMove&&!n.target.__dragStart){var t=n.target._popup&&n.target._popup.isOpen();this._moveChild(n.target,n.oldLatLng,n.latlng);t&&n.target.openPopup()}},_moveChild:function(n,t,i){n._latlng=t;this.removeLayer(n);n._latlng=i;this.addLayer(n)},_childMarkerDragEnd:function(n){var t=n.target.__dragStart;delete n.target.__dragStart;t&&this._moveChild(n.target,t,n.target._latlng)},_removeLayer:function(n,t,i){var s=this._gridClusters,h=this._gridUnclustered,f=this._featureGroup,e=this._map,c=Math.floor(this._map.getMinZoom()),r,o,u;for(t&&this._removeFromGridUnclustered(n,this._maxZoom),r=n.__parent,o=r._markers,this._arraySplice(o,n);r;){if(r._childCount--,r._boundsNeedUpdate=!0,r._zoom<c)break;else t&&r._childCount<=1?(u=r._markers[0]===n?r._markers[1]:r._markers[0],s[r._zoom].removeObject(r,e.project(r._cLatLng,r._zoom)),h[r._zoom].addObject(u,e.project(u.getLatLng(),r._zoom)),this._arraySplice(r.__parent._childClusters,r),r.__parent._markers.push(u),u.__parent=r.__parent,r._icon&&(f.removeLayer(r),i||f.addLayer(u))):r._iconNeedsUpdate=!0;r=r.__parent}delete n.__parent},_isOrIsParent:function(n,t){while(t){if(n===t)return!0;t=t.parentNode}return!1},fire:function(n,t,i){if(t&&t.layer instanceof L.MarkerCluster){if(t.originalEvent&&this._isOrIsParent(t.layer._icon,t.originalEvent.relatedTarget))return;n="cluster"+n}L.FeatureGroup.prototype.fire.call(this,n,t,i)},listens:function(n,t){return L.FeatureGroup.prototype.listens.call(this,n,t)||L.FeatureGroup.prototype.listens.call(this,"cluster"+n,t)},_defaultIconCreateFunction:function(n){var t=n.getChildCount(),i=" marker-cluster-";return i+=t<10?"small":t<100?"medium":"large",new L.DivIcon({html:"<div><span>"+t+"<\/span><\/div>",className:"marker-cluster"+i,iconSize:new L.Point(40,40)})},_bindEvents:function(){var n=this._map,t=this.options.spiderfyOnMaxZoom,i=this.options.showCoverageOnHover,r=this.options.zoomToBoundsOnClick;if(t||r)this.on("clusterclick",this._zoomOrSpiderfy,this);if(i){this.on("clustermouseover",this._showCoverage,this);this.on("clustermouseout",this._hideCoverage,this);n.on("zoomend",this._hideCoverage,this)}},_zoomOrSpiderfy:function(n){for(var t=n.layer,i=t,r;i._childClusters.length===1;)i=i._childClusters[0];this.options.zoomToBoundsAtLevel!=undefined&&(r=this._map.getBoundsZoom(t._bounds));i._zoom===this._maxZoom&&i._childCount===t._childCount&&this.options.spiderfyOnMaxZoom?t.spiderfy():this.options.zoomToBoundsOnClick?t.zoomToBounds():this.options.zoomToBoundsAtLevel!=undefined&&M.map.setView(t.getBounds().getCenter(),r<this.options.zoomToBoundsAtLevel?r:this.options.zoomToBoundsAtLevel);n.originalEvent&&n.originalEvent.keyCode===13&&this._map._container.focus()},_showCoverage:function(n){var t=this._map;this._inZoomAnimation||(this._shownPolygon&&t.removeLayer(this._shownPolygon),n.layer.getChildCount()>2&&n.layer!==this._spiderfied&&(this._shownPolygon=new L.Polygon(n.layer.getConvexHull(),this.options.polygonOptions),t.addLayer(this._shownPolygon)))},_hideCoverage:function(){this._shownPolygon&&(this._map.removeLayer(this._shownPolygon),this._shownPolygon=null)},_unbindEvents:function(){var n=this.options.spiderfyOnMaxZoom,t=this.options.showCoverageOnHover,i=this.options.zoomToBoundsOnClick,r=this._map;(n||i)&&this.off("clusterclick",this._zoomOrSpiderfy,this);t&&(this.off("clustermouseover",this._showCoverage,this),this.off("clustermouseout",this._hideCoverage,this),r.off("zoomend",this._hideCoverage,this))},_zoomEnd:function(){this._map&&(this._mergeSplitClusters(),this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds())},_moveEnd:function(){if(!this._inZoomAnimation){var n=this._getExpandedVisibleBounds();this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),this._zoom,n);this._topClusterLevel._recursivelyAddChildrenToMap(null,Math.round(this._map._zoom),n);this._currentShownBounds=n;return}},_generateInitialClusters:function(){var t=Math.ceil(this._map.getMaxZoom()),u=Math.floor(this._map.getMinZoom()),i=this.options.maxClusterRadius,r=i,n;for(typeof i!="function"&&(r=function(){return i}),this.options.disableClusteringAtZoom!==null&&(t=this.options.disableClusteringAtZoom-1),this._maxZoom=t,this._gridClusters={},this._gridUnclustered={},n=t;n>=u;n--)this._gridClusters[n]=new L.DistanceGrid(r(n)),this._gridUnclustered[n]=new L.DistanceGrid(r(n));this._topClusterLevel=new this._markerCluster(this,u-1)},_addLayer:function(n,t){var s=this._gridClusters,h=this._gridUnclustered,c=Math.floor(this._map.getMinZoom()),o,r,i,f,u,e;this.options.singleMarkerMode&&this._overrideMarkerIcon(n);n.on(this._childMarkerEventHandlers,this);for(;t>=c;t--)if(!n.zoomThreshold||!(n.zoomThreshold<t)){if(o=this._map.project(n.getLatLng(),t),i=s[t].getNearObject(o),i){i._addChild(n);n.__parent=i;return}if(i=h[t].getNearObject(o),i){if(f=i.__parent,f&&this._removeLayer(i,!1),u=new this._markerCluster(this,t,i,n),s[t].addObject(u,this._map.project(u._cLatLng,t)),i.__parent=u,n.__parent=u,e=u,f!=undefined)for(r=t-1;r>f._zoom;r--)e=new this._markerCluster(this,r,e),s[r].addObject(e,this._map.project(i.getLatLng(),r));f._addChild(e);this._removeFromGridUnclustered(i,t);return}h[t].addObject(n,o)}this._topClusterLevel._addChild(n);n.__parent=this._topClusterLevel;return},_refreshClustersIcons:function(){this._featureGroup.eachLayer(function(n){n instanceof L.MarkerCluster&&n._iconNeedsUpdate&&n._updateIcon()})},_enqueue:function(n){this._queue.push(n);this._queueTimeout||(this._queueTimeout=setTimeout(L.bind(this._processQueue,this),300))},_processQueue:function(){for(var n=0;n<this._queue.length;n++)this._queue[n].call(this);this._queue.length=0;clearTimeout(this._queueTimeout);this._queueTimeout=null},_mergeSplitClusters:function(){var n=Math.round(this._map._zoom);this._processQueue();this._zoom<n&&this._currentShownBounds.intersects(this._getExpandedVisibleBounds())?(this._animationStart(),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),this._zoom,this._getExpandedVisibleBounds()),this._animationZoomIn(this._zoom,n)):this._zoom>n?(this._animationStart(),this._animationZoomOut(this._zoom,n)):this._moveEnd()},_getExpandedVisibleBounds:function(){if(this.options.removeOutsideVisibleBounds){if(L.Browser.mobile)return this._checkBoundsMaxLat(this._map.getBounds())}else return this._mapBoundsInfinite;return this._checkBoundsMaxLat(this._map.getBounds().pad(1))},_checkBoundsMaxLat:function(n){var t=this._maxLat;return t!==undefined&&(n.getNorth()>=t&&(n._northEast.lat=Infinity),n.getSouth()<=-t&&(n._southWest.lat=-Infinity)),n},_animationAddLayerNonAnimated:function(n,t){if(t===n)this._featureGroup.addLayer(n);else if(t._childCount===2){t._addToMap();var i=t.getAllChildMarkers();this._featureGroup.removeLayer(i[0]);this._featureGroup.removeLayer(i[1])}else t._updateIcon()},_extractNonGroupLayers:function(n,t){var u=n.getLayers(),r=0,i;for(t=t||[];r<u.length;r++){if(i=u[r],i instanceof L.LayerGroup){this._extractNonGroupLayers(i,t);continue}t.push(i)}return t},_overrideMarkerIcon:function(n){return n.options.icon=this.options.iconCreateFunction({getChildCount:function(){return 1},getAllChildMarkers:function(){return[n]}})}});L.MarkerClusterGroup.include({_mapBoundsInfinite:new L.LatLngBounds(new L.LatLng(-Infinity,-Infinity),new L.LatLng(Infinity,Infinity))});L.MarkerClusterGroup.include({_noAnimation:{_animationStart:function(){},_animationZoomIn:function(n,t){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),n);this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds());this.fire("animationend")},_animationZoomOut:function(n,t){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),n);this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds());this.fire("animationend")},_animationAddLayer:function(n,t){this._animationAddLayerNonAnimated(n,t)}},_withAnimation:{_animationStart:function(){this._map._mapPane.className+=" leaflet-cluster-anim";this._inZoomAnimation++},_animationZoomIn:function(n,t){var i=this._getExpandedVisibleBounds(),r=this._featureGroup,f=Math.floor(this._map.getMinZoom()),u;this._ignoreMove=!0;this._topClusterLevel._recursively(i,n,f,function(f){var e=f._latlng,s=f._markers,o;for(i.contains(e)||(e=null),f._isSingleParent()&&n+1===t?(r.removeLayer(f),f._recursivelyAddChildrenToMap(null,t,i)):(f.clusterHide(),f._recursivelyAddChildrenToMap(e,t,i)),u=s.length-1;u>=0;u--)o=s[u],i.contains(o._latlng)||r.removeLayer(o)});this._forceLayout();this._topClusterLevel._recursivelyBecomeVisible(i,t);r.eachLayer(function(n){n instanceof L.MarkerCluster||!n._icon||n.clusterShow()});this._topClusterLevel._recursively(i,n,t,function(n){n._recursivelyRestoreChildPositions(t)});this._ignoreMove=!1;this._enqueue(function(){this._topClusterLevel._recursively(i,n,f,function(n){r.removeLayer(n);n.clusterShow()});this._animationEnd()})},_animationZoomOut:function(n,t){this._animationZoomOutSingle(this._topClusterLevel,n-1,t);this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds());this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),n,this._getExpandedVisibleBounds())},_animationAddLayer:function(n,t){var i=this,r=this._featureGroup;r.addLayer(n);t!==n&&(t._childCount>2?(t._updateIcon(),this._forceLayout(),this._animationStart(),n._setPos(this._map.latLngToLayerPoint(t.getLatLng())),n.clusterHide(),this._enqueue(function(){r.removeLayer(n);n.clusterShow();i._animationEnd()})):(this._forceLayout(),i._animationStart(),i._animationZoomOutSingle(t,this._map.getMaxZoom(),this._zoom)))}},_animationZoomOutSingle:function(n,t,i){var r=this._getExpandedVisibleBounds(),u=Math.floor(this._map.getMinZoom()),f;n._recursivelyAnimateChildrenInAndAddSelfToMap(r,u,t+1,i);f=this;this._forceLayout();n._recursivelyBecomeVisible(r,i);this._enqueue(function(){if(n._childCount===1){var e=n._markers[0];this._ignoreMove=!0;e.setLatLng(e.getLatLng());this._ignoreMove=!1;e.clusterShow&&e.clusterShow()}else n._recursively(r,i,u,function(n){n._recursivelyRemoveChildrenFromMap(r,u,t+1)});f._animationEnd()})},_animationEnd:function(){this._map&&(this._map._mapPane.className=this._map._mapPane.className.replace(" leaflet-cluster-anim",""));this._inZoomAnimation--;this.fire("animationend");this.fire("clusteringend")},_forceLayout:function(){L.Util.falseFn(document.body.offsetWidth)}});L.markerClusterGroup=function(n){return new L.MarkerClusterGroup(n)};MarkerCluster=L.MarkerCluster=L.Marker.extend({options:L.Icon.prototype.options,initialize:function(n,t,i,r){L.Marker.prototype.initialize.call(this,i?i._cLatLng||i.getLatLng():new L.LatLng(0,0),{icon:this,pane:n.options.clusterPane});this._group=n;this._zoom=t;this._markers=[];this._childClusters=[];this._childCount=0;this._iconNeedsUpdate=!0;this._boundsNeedUpdate=!0;this._bounds=new L.LatLngBounds;i&&this._addChild(i);r&&this._addChild(r)},getAllChildMarkers:function(n,t){var r,i;for(n=n||[],r=this._childClusters.length-1;r>=0;r--)this._childClusters[r].getAllChildMarkers(n);for(i=this._markers.length-1;i>=0;i--)t&&this._markers[i].__dragStart||n.push(this._markers[i]);return n},getChildCount:function(){return this._childCount},zoomToBounds:function(n){for(var t=this._childClusters.slice(),e=this._group._map,f=e.getBoundsZoom(this._bounds),i=this._zoom+1,o=e.getZoom(),r,u;t.length>0&&f>i;){for(i++,u=[],r=0;r<t.length;r++)u=u.concat(t[r]._childClusters);t=u}f>i?this._group._map.setView(this._latlng,i):f<=o?this._group._map.setView(this._latlng,o+1):this._group._map.fitBounds(this._bounds,n)},getBounds:function(){var n=new L.LatLngBounds;return n.extend(this._bounds),n},_updateIcon:function(){this._iconNeedsUpdate=!0;this._icon&&this.setIcon(this)},createIcon:function(){return this._iconNeedsUpdate&&(this._iconObj=this._group.options.iconCreateFunction(this),this._iconNeedsUpdate=!1),this._iconObj.createIcon()},createShadow:function(){return this._iconObj.createShadow()},_addChild:function(n,t){this._iconNeedsUpdate=!0;this._boundsNeedUpdate=!0;this._setClusterCenter(n);n instanceof L.MarkerCluster?(t||(this._childClusters.push(n),n.__parent=this),this._childCount+=n._childCount):(t||this._markers.push(n),this._childCount++);this.__parent&&this.__parent._addChild(n,!0)},_setClusterCenter:function(n){this._cLatLng||(this._cLatLng=n._cLatLng||n._latlng)},_resetBounds:function(){var n=this._bounds;n._southWest&&(n._southWest.lat=Infinity,n._southWest.lng=Infinity);n._northEast&&(n._northEast.lat=-Infinity,n._northEast.lng=-Infinity)},_recalculateBounds:function(){var o=this._markers,s=this._childClusters,r=0,u=0,f=this._childCount,n,i,t,e;if(f!==0){for(this._resetBounds(),n=0;n<o.length;n++)t=o[n]._latlng,this._bounds.extend(t),r+=t.lat,u+=t.lng;for(n=0;n<s.length;n++)i=s[n],i._boundsNeedUpdate&&i._recalculateBounds(),this._bounds.extend(i._bounds),t=i._wLatLng,e=i._childCount,r+=t.lat*e,u+=t.lng*e;this._latlng=this._wLatLng=new L.LatLng(r/f,u/f);this._boundsNeedUpdate=!1}},_addToMap:function(n){n&&(this._backupLatlng=this._latlng,this.setLatLng(n));this._group._featureGroup.addLayer(this)},_recursivelyAnimateChildrenIn:function(n,t,i){this._recursively(n,this._group._map.getMinZoom(),i-1,function(n){for(var u=n._markers,r,i=u.length-1;i>=0;i--)r=u[i],r._icon&&(r._setPos(t),r.clusterHide())},function(n){for(var u=n._childClusters,r,i=u.length-1;i>=0;i--)r=u[i],r._icon&&(r._setPos(t),r.clusterHide())})},_recursivelyAnimateChildrenInAndAddSelfToMap:function(n,t,i,r){this._recursively(n,r,t,function(u){u._recursivelyAnimateChildrenIn(n,u._group._map.latLngToLayerPoint(u.getLatLng()).round(),i);u._isSingleParent()&&i-1===r?(u.clusterShow(),u._recursivelyRemoveChildrenFromMap(n,t,i)):u.clusterHide();u._addToMap()})},_recursivelyBecomeVisible:function(n,t){this._recursively(n,this._group._map.getMinZoom(),t,null,function(n){n.clusterShow()})},_recursivelyAddChildrenToMap:function(n,t,i){this._recursively(i,this._group._map.getMinZoom()-1,t,function(r){var f,u;if(t!==r._zoom)for(f=r._markers.length-1;f>=0;f--)(u=r._markers[f],i.contains(u._latlng))&&(n&&(u._backupLatlng=u.getLatLng(),u.setLatLng(n),u.clusterHide&&u.clusterHide()),r._group._featureGroup.addLayer(u))},function(t){t.isSoftDeleted||t._addToMap(n)})},_recursivelyRestoreChildPositions:function(n){for(var t,r,u,i=this._markers.length-1;i>=0;i--)t=this._markers[i],t._backupLatlng&&(t.setLatLng(t._backupLatlng),delete t._backupLatlng);if(n-1===this._zoom)for(r=this._childClusters.length-1;r>=0;r--)this._childClusters[r]._restorePosition();else for(u=this._childClusters.length-1;u>=0;u--)this._childClusters[u]._recursivelyRestoreChildPositions(n)},_restorePosition:function(){this._backupLatlng&&(this.setLatLng(this._backupLatlng),delete this._backupLatlng)},_recursivelyRemoveChildrenFromMap:function(n,t,i,r){var u,f;this._recursively(n,t-1,i-1,function(n){for(f=n._markers.length-1;f>=0;f--)u=n._markers[f],r&&r.contains(u._latlng)||(n._group._featureGroup.removeLayer(u),u.clusterShow&&u.clusterShow())},function(n){for(f=n._childClusters.length-1;f>=0;f--)u=n._childClusters[f],r&&r.contains(u._latlng)||(n._group._featureGroup.removeLayer(u),u.clusterShow&&u.clusterShow())})},_recursively:function(n,t,i,r,u){var s=this._childClusters,e=this._zoom,o,f;if(t<=e&&(r&&r(this),u&&e===i&&u(this)),e<t||e<i)for(o=s.length-1;o>=0;o--)f=s[o],f._boundsNeedUpdate&&f._recalculateBounds(),n.intersects(f._bounds)&&f._recursively(n,t,i,r,u)},_isSingleParent:function(){return this._childClusters.length>0&&this._childClusters[0]._childCount===this._childCount}});L.Marker.include({clusterHide:function(){var n=this.options.opacity;return this.setOpacity(0),this.options.opacity=n,this},clusterShow:function(){return this.setOpacity(this.options.opacity)}});L.DistanceGrid=function(n){this._cellSize=n;this._sqCellSize=n*n;this._grid={};this._objectPoint={}};L.DistanceGrid.prototype={addObject:function(n,t){var i=this._getCoord(t.x),r=this._getCoord(t.y),u=this._grid,f=u[r]=u[r]||{},e=f[i]=f[i]||[],o=L.Util.stamp(n);this._objectPoint[o]=t;e.push(n)},updateObject:function(n,t){this.removeObject(n);this.addObject(n,t)},removeObject:function(n,t){var r=this._getCoord(t.x),o=this._getCoord(t.y),s=this._grid,u=s[o]=s[o]||{},f=u[r]=u[r]||[],i,e;for(delete this._objectPoint[L.Util.stamp(n)],i=0,e=f.length;i<e;i++)if(f[i]===n)return f.splice(i,1),e===1&&delete u[r],!0},eachObject:function(n,t){var e,o,i,r,u,f,s,h=this._grid;for(e in h){u=h[e];for(o in u)for(f=u[o],i=0,r=f.length;i<r;i++)s=n.call(t,f[i]),s&&(i--,r--)}},getNearObject:function(n){for(var c=this._getCoord(n.x),l=this._getCoord(n.y),i,r,e,u,a,o,f,v=this._objectPoint,s=this._sqCellSize,h=null,t=l-1;t<=l+1;t++)if(e=this._grid[t],e)for(i=c-1;i<=c+1;i++)if(u=e[i],u)for(r=0,a=u.length;r<a;r++)o=u[r],f=this._sqDist(v[L.Util.stamp(o)],n),(f<s||f<=s&&h===null)&&(s=f,h=o);return h},_getCoord:function(n){var t=Math.floor(n/this._cellSize);return isFinite(t)?t:n},_sqDist:function(n,t){var i=t.x-n.x,r=t.y-n.y;return i*i+r*r}},function(){L.QuickHull={getDistant:function(n,t){var i=t[1].lat-t[0].lat,r=t[0].lng-t[1].lng;return r*(n.lat-t[0].lat)+i*(n.lng-t[0].lng)},findMostDistantPointFromBaseLine:function(n,t){for(var f=0,e=null,o=[],r,u,i=t.length-1;i>=0;i--){if(r=t[i],u=this.getDistant(r,n),u>0)o.push(r);else continue;u>f&&(f=u,e=r)}return{maxPoint:e,newPoints:o}},buildConvexHull:function(n,t){var r=[],i=this.findMostDistantPointFromBaseLine(n,t);return i.maxPoint?(r=r.concat(this.buildConvexHull([n[0],i.maxPoint],i.newPoints)),r.concat(this.buildConvexHull([i.maxPoint,n[1]],i.newPoints))):[n[0]]},getConvexHull:function(n){for(var i=!1,r=!1,o=!1,s=!1,h=null,c=null,l=null,a=null,u=null,f=null,t,e=n.length-1;e>=0;e--)t=n[e],(i===!1||t.lat>i)&&(h=t,i=t.lat),(r===!1||t.lat<r)&&(c=t,r=t.lat),(o===!1||t.lng>o)&&(l=t,o=t.lng),(s===!1||t.lng<s)&&(a=t,s=t.lng);return r!==i?(f=c,u=h):(f=a,u=l),[].concat(this.buildConvexHull([f,u],n),this.buildConvexHull([u,f],n))}}}();L.MarkerCluster.include({getConvexHull:function(){for(var t=this.getAllChildMarkers(),i=[],r,n=t.length-1;n>=0;n--)r=t[n].getLatLng(),i.push(r);return L.QuickHull.getConvexHull(i)}});L.MarkerCluster.include({_2PI:Math.PI*2,_circleFootSeparation:25,_circleStartAngle:0,_spiralFootSeparation:28,_spiralLengthStart:11,_spiralLengthFactor:5,_circleSpiralSwitchover:9,spiderfy:function(){if(this._group._spiderfied!==this&&!this._group._inZoomAnimation){var n=this.getAllChildMarkers(null,!0),r=this._group,u=r._map,t=u.latLngToLayerPoint(this._latlng),i;this._group._unspiderfy();this._group._spiderfied=this;n.length>=this._circleSpiralSwitchover?(i=this._generatePointsSpiral(n.length,t),this.isSoftDeleted=!0,this._group._featureGroup.removeLayer(this)):(t.y+=10,i=this._generatePointsCircle(n.length,t),this.isSoftDeleted=!0,this._group._featureGroup.removeLayer(this));this._animationSpiderfy(n,i)}},unspiderfy:function(n){this._group._inZoomAnimation||(this._animationUnspiderfy(n),this._group._spiderfied=null,this.isSoftDeleted=!1,this._group._featureGroup.addLayer(this))},_generatePointsCircle:function(n,t){var e=this._group.options.spiderfyDistanceMultiplier*this._circleFootSeparation*(2+n),r=e/this._2PI,o=this._2PI/n,u=[],i,f;for(r=Math.max(r,35),u.length=n,i=0;i<n;i++)f=this._circleStartAngle+i*o,u[i]=new L.Point(t.x+r*Math.cos(f),t.y+r*Math.sin(f))._round();return u},_generatePointsSpiral:function(n,t){var f=this._group.options.spiderfyDistanceMultiplier,r=f*this._spiralLengthStart,o=f*this._spiralFootSeparation,s=f*this._spiralLengthFactor*this._2PI,u=0,e=[],i;for(e.length=n,i=n;i>=0;i--)i<n&&(e[i]=new L.Point(t.x+r*Math.cos(u),t.y+r*Math.sin(u))._round()),u+=o/r+i*.0005,r+=s/u;return e},_noanimationUnspiderfy:function(){var t=this._group,u=t._map,f=t._featureGroup,r=this.getAllChildMarkers(null,!0),n,i;for(t._ignoreMove=!0,this.setOpacity(1),i=r.length-1;i>=0;i--)n=r[i],f.removeLayer(n),n._preSpiderfyLatlng&&(n.setLatLng(n._preSpiderfyLatlng),delete n._preSpiderfyLatlng),n.setZIndexOffset&&n.setZIndexOffset(0),n._spiderLeg&&(u.removeLayer(n._spiderLeg),delete n._spiderLeg);t.fire("unspiderfied",{cluster:this,markers:r});t._ignoreMove=!1;t._spiderfied=null}});L.MarkerClusterNonAnimated=L.MarkerCluster.extend({_animationSpiderfy:function(n,t){var r=this._group,o=r._map,s=r._featureGroup,h=this._group.options.spiderLegPolylineOptions,u,i,f,e;for(r._ignoreMove=!0,u=0;u<n.length;u++)e=o.layerPointToLatLng(t[u]),i=n[u],f=new L.Polyline([this._latlng,e],h),o.addLayer(f),i._spiderLeg=f,i._preSpiderfyLatlng=i._latlng,i.setLatLng(e),i.setZIndexOffset&&i.setZIndexOffset(1e6),s.addLayer(i);this.setOpacity(.3);r._ignoreMove=!1;r.fire("spiderfied",{cluster:this,markers:n})},_animationUnspiderfy:function(){this._noanimationUnspiderfy()}});L.MarkerCluster.include({_animationSpiderfy:function(n,t){var y=this,u=this._group,s=u._map,p=u._featureGroup,v=this._latlng,w=s.latLngToLayerPoint(v),l=L.Path.SVG,e=L.extend({},this._group.options.spiderLegPolylineOptions),h=e.opacity,r,i,f,o,a,c;for(h===undefined&&(h=L.MarkerClusterGroup.prototype.options.spiderLegPolylineOptions.opacity),l?(e.opacity=0,e.className=(e.className||"")+" leaflet-cluster-spider-leg"):e.opacity=h,u._ignoreMove=!0,r=0;r<n.length;r++)i=n[r],c=s.layerPointToLatLng(t[r]),f=new L.Polyline([v,c],e),s.addLayer(f),i._spiderLeg=f,l&&(o=f._path,a=o.getTotalLength()+.1,o.style.strokeDasharray=a,o.style.strokeDashoffset=a),i.setZIndexOffset&&i.setZIndexOffset(1e6),i.clusterHide&&i.clusterHide(),p.addLayer(i),i._setPos&&i._setPos(w);for(u._forceLayout(),u._animationStart(),r=n.length-1;r>=0;r--)c=s.layerPointToLatLng(t[r]),i=n[r],i._preSpiderfyLatlng=i._latlng,i.setLatLng(c),i.clusterShow&&i.clusterShow(),l&&(f=i._spiderLeg,o=f._path,o.style.strokeDashoffset=0,f.setStyle({opacity:h}));this.setOpacity(.3);u._ignoreMove=!1;setTimeout(function(){u._animationEnd();u.fire("spiderfied",{cluster:y,markers:n})},200)},_animationUnspiderfy:function(n){var l=this,r=this._group,e=r._map,h=r._featureGroup,a=n?e._latLngToNewLayerPoint(this._latlng,n.zoom,n.center):e.latLngToLayerPoint(this._latlng),u=this.getAllChildMarkers(null,!0),v=L.Path.SVG,t,i,o,s,c,f;for(r._ignoreMove=!0,r._animationStart(),this.setOpacity(1),i=u.length-1;i>=0;i--)(t=u[i],t._preSpiderfyLatlng)&&(t.closePopup(),t.setLatLng(t._preSpiderfyLatlng),delete t._preSpiderfyLatlng,f=!0,t._setPos&&(t._setPos(a),f=!1),t.clusterHide&&(t.clusterHide(),f=!1),f&&h.removeLayer(t),v&&(o=t._spiderLeg,s=o._path,c=s.getTotalLength()+.1,s.style.strokeDashoffset=c,o.setStyle({opacity:0})));r._ignoreMove=!1;setTimeout(function(){var n=0;for(i=u.length-1;i>=0;i--)t=u[i],t._spiderLeg&&n++;for(i=u.length-1;i>=0;i--)(t=u[i],t._spiderLeg)&&(t.clusterShow&&t.clusterShow(),t.setZIndexOffset&&t.setZIndexOffset(0),n>1&&h.removeLayer(t),e.removeLayer(t._spiderLeg),delete t._spiderLeg);r._animationEnd();r.fire("unspiderfied",{cluster:l,markers:u})},200)}});L.MarkerClusterGroup.include({_spiderfied:null,unspiderfy:function(){this._unspiderfy.apply(this,arguments)},_spiderfierOnAdd:function(){this._map.on("click",this._unspiderfyWrapper,this);if(this._map.options.zoomAnimation)this._map.on("zoomstart",this._unspiderfyZoomStart,this);this._map.on("zoomend",this._noanimationUnspiderfy,this);L.Browser.touch||this._map.getRenderer(this)},_spiderfierOnRemove:function(){this._map.off("click",this._unspiderfyWrapper,this);this._map.off("zoomstart",this._unspiderfyZoomStart,this);this._map.off("zoomanim",this._unspiderfyZoomAnim,this);this._map.off("zoomend",this._noanimationUnspiderfy,this);this._noanimationUnspiderfy()},_unspiderfyZoomStart:function(){if(this._map)this._map.on("zoomanim",this._unspiderfyZoomAnim,this)},_unspiderfyZoomAnim:function(n){L.DomUtil.hasClass(this._map._mapPane,"leaflet-touching")||(this._map.off("zoomanim",this._unspiderfyZoomAnim,this),this._unspiderfy(n))},_unspiderfyWrapper:function(){this._unspiderfy()},_unspiderfy:function(n){this._spiderfied&&this._spiderfied.unspiderfy(n)},_noanimationUnspiderfy:function(){this._spiderfied&&this._spiderfied._noanimationUnspiderfy()},_unspiderfyLayer:function(n){n._spiderLeg&&(this._featureGroup.removeLayer(n),n.clusterShow&&n.clusterShow(),n.setZIndexOffset&&n.setZIndexOffset(0),this._map.removeLayer(n._spiderLeg),delete n._spiderLeg)}});L.MarkerClusterGroup.include({refreshClusters:function(n){return n?n instanceof L.MarkerClusterGroup?n=n._topClusterLevel.getAllChildMarkers():n instanceof L.LayerGroup?n=n._layers:n instanceof L.MarkerCluster?n=n.getAllChildMarkers():n instanceof L.Marker&&(n=[n]):n=this._topClusterLevel.getAllChildMarkers(),this._flagParentsIconsNeedUpdate(n),this._refreshClustersIcons(),this.options.singleMarkerMode&&this._refreshSingleMarkerModeMarkers(n),this},_flagParentsIconsNeedUpdate:function(n){var i,t;for(i in n)for(t=n[i].__parent;t;)t._iconNeedsUpdate=!0,t=t.__parent},_refreshSingleMarkerModeMarkers:function(n){var i,t;for(i in n)t=n[i],this.hasLayer(t)&&t.setIcon(this._overrideMarkerIcon(t))}});L.Marker.include({refreshIconOptions:function(n,t){var i=this.options.icon;return L.setOptions(i,n),this.setIcon(i),t&&this.__parent&&this.__parent._group.refreshClusters(this),this}});L.NonTiledLayer=L.Class.extend({includes:L.Mixin.Events,options:{attribution:"",opacity:1,pane:null,zIndex:undefined,minZoom:0,maxZoom:18},key:"",initialize:function(n){L.setOptions(this,n)},onAdd:function(n){if(this._map=n,this._div||(this._div=L.DomUtil.create("div","leaflet-image-layer")),this._pane=this.options.pane?this.options.pane:this._map.getPanes().overlayPane,n.options.zoomAnimation&&L.Browser.any3d)n.on("zoomanim",this._animateZoom,this);this._map.on("moveend",this._update,this);this._pane.appendChild(this._div);this._bufferImage=this._initImage();this._currentImage=this._initImage();this._update()},onRemove:function(n){this._pane.removeChild(this._div);this._div.removeChild(this._bufferImage);this._div.removeChild(this._currentImage);this._map.off("moveend",this._update,this);n.options.zoomAnimation&&n.off("zoomanim",this._animateZoom,this)},addTo:function(n){return n.addLayer(this),this},setOpacity:function(n){return this.options.opacity=n,this._currentImage&&this._updateOpacity(this._currentImage),this._bufferImage&&this._updateOpacity(this._bufferImage),this},bringToFront:function(){return this._div&&this._pane.appendChild(this._div),this},bringToBack:function(){return this._div&&this._pane.insertBefore(this._div,this._pane.firstChild),this},getAttribution:function(){return this.options.attribution},_initImage:function(){var n=L.DomUtil.create("img","leaflet-image-layer");return this.options.zIndex!==undefined&&(n.style.zIndex=this.options.zIndex),this._div.appendChild(n),this._map.options.zoomAnimation&&L.Browser.any3d?L.DomUtil.addClass(n,"leaflet-zoom-animated"):L.DomUtil.addClass(n,"leaflet-zoom-hide"),this._updateOpacity(n),L.extend(n,{galleryimg:"no",onselectstart:L.Util.falseFn,onmousemove:L.Util.falseFn,onload:L.bind(this._onImageLoad,this)}),n},redraw:function(){return this._map&&this._update(),this},_animateZoom:function(n){this._currentImage._bounds&&this._animateImage(this._currentImage,n);this._bufferImage._bounds&&this._animateImage(this._bufferImage,n)},_animateImage:function(n,t){var i=this._map,r=n._scale*i.getZoomScale(t.zoom),f=n._bounds.getNorthWest(),e=n._bounds.getSouthEast(),u=i._latLngToNewLayerPoint(f,t.zoom,t.center),o=i._latLngToNewLayerPoint(e,t.zoom,t.center)._subtract(u),s=u._add(o._multiplyBy(1/2*(1-1/r)));n.style[L.DomUtil.TRANSFORM]=L.DomUtil.getTranslateString(s)+" scale("+r+") ";n._lastScale=r},_resetImage:function(n){if(n._bounds){var t=new L.Bounds(this._map.latLngToLayerPoint(n._bounds.getNorthWest()),this._map.latLngToLayerPoint(n._bounds.getSouthEast())),i=t.getSize();L.DomUtil.setPosition(n,t.min);n.style.width=i.x+"px";n.style.height=i.y+"px"}},_getClippedBounds:function(){var t=this._map.getBounds(),n=t.getNorthWest().lng,i=t.getNorthWest().lat,r=t.getSouthEast().lng,u=t.getSouthEast().lat,f,e;return n=(n+180)%360-180,i>85.05&&(i=85.05),u<-85.05&&(u=-85.05),n<-180&&(n=-180),r>180&&(r=180),f=new L.LatLng(i,n),e=new L.LatLng(u,r),new L.LatLngBounds(f,e)},_update:function(){if(this.options.minZoom&&this._map.getZoom()<this.options.minZoom||this.options.maxZoom&&this._map.getZoom()>this.options.maxZoom){this._currentImage.src=L.Util.emptyImageUrl;this._bufferImage.src=L.Util.emptyImageUrl;this._div.style.visibility="hidden";this._addInteraction&&this._addInteraction(null);return}this._div.style.visibility="visible";var n=this._getClippedBounds(),f=this._map.latLngToContainerPoint(n.getNorthWest()),e=this._map.latLngToContainerPoint(n.getSouthEast()),t=e.x-f.x,i=e.y-f.y;if(!(t<32)&&!(i<32)){this._bufferImage._lastScale===1&&this._resetImage(this._bufferImage);this._bufferImage._scale=this._bufferImage._lastScale;this._currentImage._scale=this._currentImage._lastScale=1;this._currentImage._bounds=n;this._resetImage(this._currentImage);var o=this._onImageUrlAsync,r=this._currentImage,u=n.getNorthWest()+"/"+n.getSouthEast()+"/"+ +t+"/"+ +i;this.key=u;r.key=u;this.getImageUrl?r.src=this.getImageUrl(n.getNorthWest(),n.getSouthEast(),t,i):this.getImageUrlAsync(n.getNorthWest(),n.getSouthEast(),t,i,u,function(n,t,i){o(r,n,t,i)})}},_onImageUrlAsync:function(n,t,i,r){n.key===t&&(n.src=i,n.tag=r,n.key=t)},_onImageLoad:function(n){if(n.target.src!==L.Util.emptyImageUrl&&this.key===n.target.key){this._addInteraction&&this._addInteraction(this._currentImage.tag);L.DomUtil.setOpacity(this._currentImage,this.options.opacity);L.DomUtil.setOpacity(this._bufferImage,0);this._bufferImage.src=L.Util.emptyImageUrl;var t=this._bufferImage;this._bufferImage=this._currentImage;this._currentImage=t;this.fire("load")}},_updateOpacity:function(n){L.DomUtil.setOpacity(n,this.options.opacity)}});L.nonTiledLayer=function(){return new L.NonTiledLayer};L.NonTiledLayer.WMS=L.NonTiledLayer.extend({defaultWmsParams:{service:"WMS",request:"GetMap",version:"1.1.1",layers:"",styles:"",format:"image/jpeg",transparent:!1},initialize:function(n,t){var r,i;this._wmsUrl=n;this._url=n;r=L.extend({},this.defaultWmsParams);for(i in t)L.NonTiledLayer.prototype.options.hasOwnProperty(i)||(r[i]=t[i]);this.wmsParams=r;L.setOptions(this,t)},onAdd:function(n){this._crs=this.options.crs||n.options.crs;this._wmsVersion=parseFloat(this.wmsParams.version);var t=parseFloat(this.wmsParams.version)>=1.3?"crs":"srs";this.wmsParams[t]=this.options.crs.code||n.options.crs.code;L.NonTiledLayer.prototype.onAdd.call(this,n);n.off("click",GetFeatureInfoOfWMS);n.on("click",GetFeatureInfoOfWMS);infoContentArray=undefined},getImageUrl:function(n,t,i,r){var u=this.wmsParams;u.width=i;u.height=r;var f=this.options.crs,e=f.project(n),o=f.project(t);return this._wmsUrl+L.Util.getParamString(u,this._wmsUrl)+"&bbox="+e.x+","+o.y+","+o.x+","+e.y},setParams:function(n,t){return L.extend(this.wmsParams,n),t||this.redraw(),this}});L.nonTiledLayer.wms=function(n,t){return new L.NonTiledLayer.WMS(n,t)};L.Map.PolygonCluster=L.Map.extend({options:{minSize:10},layerGroup:null,removedPaths:[],isCollapsed:function(n,t){var i=n.getBounds(),f=0,e=0,r,u;return i.getNorthEast()&&(r=this.project(i.getNorthEast(),t),u=this.project(i.getSouthWest(),t),f=r.x-u.x,e=u.y-r.y),e<this.options.minSize||f<this.options.minSize},getZoomThreshold:function(n){var i=null,t=this.getZoom();if(this.isCollapsed(n,this.getZoom()))while(!i)t+=1,this.isCollapsed(n,t)||(i=t-1);else while(!i)t-=1,this.isCollapsed(n,t)&&(i=t);return i},initialize:function(n,t){L.Map.prototype.initialize.call(this,n,t);t=L.setOptions(this,t);var r={},i={},u=this;this.on("layeradd",function(n){var t=n.layer,e,f;if(t.getBounds&&t.getLatLngs&&!t.zoomThreshold&&t.isInGroup){if(e=this.getZoomThreshold(t),t.loptions==undefined||t.loptions.html==undefined?f=L.marker(t.getBounds().getCenter()):(pIcon=L.divIcon({html:t.loptions.html}),f=L.marker(t.getBounds().getCenter(),{alt:t.loptions.entity||"",icon:L.divIcon({html:t.loptions.html,className:"custom-leaflet-div-icon"})}),t.loptions.ccolor&&(f.ccolor=t.loptions.ccolor)),t.loptions.onclick)f.on("click",function(){t.loptions.onclick(f,{obj:t.loptions.entity})});if(t.loptions!=undefined&&t.loptions.statusCircle!=undefined&&((t.loptions.statusCircle._latlng==null||t.loptions.statusCircle._latlng==undefined)&&t._latlngs[0]!=undefined&&(t.loptions.statusCircle._latlng=t._latlngs[0]),this.layerGroup.addLayer(t.loptions.statusCircle)),f.polygonId=t._leaflet_id,t.zoomThreshold=e>=23?22:e,f.zoomThreshold=t.zoomThreshold,this.layerGroup&&(t.layerGroup=this.layerGroup,f.layerGroup=this.layerGroup),r[t._leaflet_id]=f,i[t._leaflet_id]=t,this.getZoom()<=e&&(this.removeLayer(t),t.loptions.statusCircle!=undefined&&this.removeLayer(t.loptions.statusCircle),t.isRemoved=!0,this.layerGroup)){if(this.layerGroup.addLayer(f,e),this.layerGroup.hasEventListeners("clusteringend"))return;this.layerGroup.on("clusteringend",function(){this.eachLayer(function(n){if(n.getChildCount){var t=n.getAllChildMarkers();for(j=0;j<n.getChildCount();j++)t[j].polygonId&&t[j].zoomThreshold>=u.getZoom()&&(u.removeLayer(i[t[j].polygonId]),i[t[j].polygonId].loptions.statusCircle!=undefined&&u.removeLayer(i[t[j].polygonId].loptions.statusCircle))}else n.polygonId&&u.getZoom()>i[n.polygonId].zoomThreshold&&(setTimeout(function(){u.addLayer(i[n.polygonId])},300),i[n.polygonId].loptions.statusCircle!=undefined&&setTimeout(function(){u.addLayer(i[n.polygonId].loptions.statusCircle)},300),u.removeLayer(n))})},this)}}});this.on("zoomstart",function(){var n=this.getZoom();this.eachLayer(function(t){t.polygonId?n>i[t.polygonId].zoomThreshold&&(this.addLayer(i[t.polygonId],i[t.polygonId].zoomThreshold),i[t.polygonId].loptions.statusCircle!=undefined&&this.addLayer(i[t.polygonId].loptions.statusCircle),this.removeLayer(t)):t.getLatLngs&&i[t._leaflet_id]&&i[t._leaflet_id].zoomThreshold&&n<=i[t._leaflet_id].zoomThreshold&&(t.isRemoved?(this.removeLayer(t),t.loptions.statusCircle!=undefined&&this.removeLayer(t.loptions.statusCircle),t.layerGroup.addLayer(r[t._leaflet_id],r[t._leaflet_id].zoomThreshold),this.addLayer(r[t._leaflet_id])):(this.removeLayer(t),t.loptions.statusCircle!=undefined&&this.removeLayer(t.loptions.statusCircle),t.layerGroup.addLayer(r[t._leaflet_id],r[t._leaflet_id].zoomThreshold),t.isRemoved=!0))},this)});this.on("dragstart",function(){var n=this.getZoom();this.eachLayer(function(t){t.polygonId?n>i[t.polygonId].zoomThreshold&&(this.addLayer(i[t.polygonId],i[t.polygonId].zoomThreshold),this.removeLayer(t)):t.getLatLngs&&i[t._leaflet_id]&&i[t._leaflet_id].zoomThreshold&&n<=i[t._leaflet_id].zoomThreshold&&(this.removeLayer(t),t.layerGroup.addLayer(r[t._leaflet_id],r[t._leaflet_id].zoomThreshold))},this)})}});L.map.polygoncluster=function(n,t){return new L.Map.PolygonCluster(n,t)};infoPIContentArray=null;L.TileLayer.WMSWithInfo=L.TileLayer.WMS.extend({onAdd:function(n){L.TileLayer.WMS.prototype.onAdd.call(this,n);n.off("click",GetFeatureInfoOfWMS);n.on("click",GetFeatureInfoOfWMS);infoContentArray=undefined},onRemove:function(n){L.TileLayer.WMS.prototype.onRemove.call(this,n);var t=!1;t=typeof piOrgLayer!="undefined"&&M.HasLayer(piOrgLayer)?piOrgLayer.getLayers().length-(this.wmsParams.isExtWMS?0:1)<=0&&(!M.HasLayer(wmsLayerGrp)||M.HasLayer(wmsLayerGrp)&&wmsLayerGrp.getLayers().length-(this.wmsParams.isExtWMS?1:0)<=0):M.HasLayer(wmsLayerGrp)&&wmsLayerGrp.getLayers().length-1<=0;t&&n.off("click",GetFeatureInfoOfWMS);infoContentArray=undefined}});L.tileLayer.wmswithinfo=function(n,t){return new L.TileLayer.WMSWithInfo(n,t)},function(n,t){typeof define=="function"&&define.amd?define(function(){return t()}):typeof module!="undefined"&&typeof exports=="object"?module.exports=t():n.Wkt=t()}(this,function(){var t,i,r,n;return r=this,n=function(t){if(t instanceof n)return t;if(!(this instanceof n))return new n(t);this._wrapped=t},t=function(n,t){return n.substring(0,t.length)===t},i=function(n,t){return n.substring(n.length-t.length)===t},n.delimiter=" ",n.isArray=function(n){return!!(n&&n.constructor===Array)},n.trim=function(n,r){for(r=r||" ";t(n,r);)n=n.substring(1);while(i(n,r))n=n.substring(0,n.length-1);return n},n.Wkt=function(t){this.delimiter=n.delimiter||" ";this.wrapVertices=!0;this.regExes={typeStr:/^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/,spaces:/\s+|\+/,numeric:/-*\d+(\.*\d+)?/,comma:/\s*,\s*/,parenComma:/\)\s*,\s*\(/,coord:/-*\d+\.*\d+ -*\d+\.*\d+/,doubleParenComma:/\)\s*\)\s*,\s*\(\s*\(/,trimParens:/^\s*\(?(.*?)\)?\s*$/,ogcTypes:/^(multi)?(point|line|polygon|box)?(string)?$/i,crudeJson:/^{.*"(type|coordinates|geometries|features)":.*}$/};this.components=undefined;t&&typeof t=="string"?this.read(t):t&&typeof t!==undefined&&this.fromObject(t)},n.Wkt.prototype.isCollection=function(){switch(this.type.slice(0,5)){case"multi":return!0;case"polyg":return!0;default:return!1}},n.Wkt.prototype.sameCoords=function(n,t){return n.x===t.x&&n.y===t.y},n.Wkt.prototype.fromObject=function(n){var t;return t=n.hasOwnProperty("type")&&n.hasOwnProperty("coordinates")?this.fromJson(n):this.deconstruct.call(this,n),this.components=t.components,this.isRectangle=t.isRectangle||!1,this.type=t.type,this},n.Wkt.prototype.toObject=function(t){var i=this.construct[this.type].call(this,t);return typeof i!="object"||n.isArray(i)||(i.properties=this.properties),i},n.Wkt.prototype.toString=function(){return this.write()},n.Wkt.prototype.fromJson=function(t){var r,u,f,i,o,e;if(this.type=t.type.toLowerCase(),this.components=[],t.hasOwnProperty("geometry"))return this.fromJson(t.geometry),this.properties=t.properties,this;if(i=t.coordinates,n.isArray(i[0])){for(r in i)if(i.hasOwnProperty(r))if(n.isArray(i[r][0])){e=[];for(u in i[r])if(i[r].hasOwnProperty(u))if(n.isArray(i[r][u][0])){o=[];for(f in i[r][u])i[r][u].hasOwnProperty(f)&&o.push({x:i[r][u][f][0],y:i[r][u][f][1]});e.push(o)}else e.push({x:i[r][u][0],y:i[r][u][1]});this.components.push(e)}else this.type==="multipoint"?this.components.push([{x:i[r][0],y:i[r][1]}]):this.components.push({x:i[r][0],y:i[r][1]})}else this.components.push({x:i[0],y:i[1]});return this},n.Wkt.prototype.toJson=function(){var t,r,i,u,e,o,f;if(t=this.components,r={coordinates:[],type:function(){var t,n,i;n=this.regExes.ogcTypes.exec(this.type).slice(1);i=[];for(t in n)n.hasOwnProperty(t)&&n[t]!==undefined&&i.push(n[t].toLowerCase().slice(0,1).toUpperCase()+n[t].toLowerCase().slice(1));return i}.call(this).join("")},this.type.toLowerCase()==="box"){r.type="Polygon";r.bbox=[];for(i in t)t.hasOwnProperty(i)&&(r.bbox=r.bbox.concat([t[i].x,t[i].y]));return r.coordinates=[[[t[0].x,t[0].y],[t[0].x,t[1].y],[t[1].x,t[1].y],[t[1].x,t[0].y],[t[0].x,t[0].y]]],r}for(i in t)if(t.hasOwnProperty(i))if(n.isArray(t[i])){f=[];for(u in t[i])if(t[i].hasOwnProperty(u))if(n.isArray(t[i][u])){o=[];for(e in t[i][u])t[i][u].hasOwnProperty(e)&&o.push([t[i][u][e].x,t[i][u][e].y]);f.push(o)}else t[i].length>1?f.push([t[i][u].x,t[i][u].y]):f=f.concat([t[i][u].x,t[i][u].y]);r.coordinates.push(f)}else t.length>1?r.coordinates.push([t[i].x,t[i].y]):r.coordinates=r.coordinates.concat([t[i].x,t[i].y]);return r},n.Wkt.prototype.merge=function(n){var t=this.type.slice(0,5);if(this.type!==n.type&&this.type.slice(5,this.type.length)!==n.type)throw TypeError("The input geometry types must agree or the calling this.Wkt.Wkt instance must be a multigeometry of the other");switch(t){case"point":this.components=[this.components.concat(n.components)];break;case"multi":this.components=this.components.concat(n.type.slice(0,5)==="multi"?n.components:[n.components]);break;default:this.components=[this.components,n.components]}return t!=="multi"&&(this.type="multi"+this.type),this},n.Wkt.prototype.read=function(n){var t;if(t=this.regExes.typeStr.exec(n),t)this.type=t[1].toLowerCase(),this.base=t[2],this.ingest[this.type]&&(this.components=this.ingest[this.type].apply(this,[this.base]));else if(this.regExes.crudeJson.test(n))if(typeof JSON=="object"&&typeof JSON.parse=="function")this.fromJson(JSON.parse(n));else{console.log("JSON.parse() is not available; cannot parse GeoJSON strings");throw{name:"JSONError",message:"JSON.parse() is not available; cannot parse GeoJSON strings"};}else{console.log("Invalid WKT string provided to read()");throw{name:"WKTError",message:"Invalid WKT string provided to read()"};}return this},n.Wkt.prototype.write=function(n){var i,t,r;for(n=n||this.components,t=[],t.push(this.type.toUpperCase()+"("),i=0;i<n.length;i+=1){if(this.isCollection()&&i>0&&t.push(","),!this.extract[this.type])return null;r=this.extract[this.type].apply(this,[n[i]]);this.isCollection()&&this.type!=="multipoint"?t.push("("+r+")"):(t.push(r),i!==n.length-1&&this.type!=="multipoint"&&t.push(","))}return t.push(")"),t.join("")},n.Wkt.prototype.extract={point:function(n){return String(n.x)+this.delimiter+String(n.y)},multipoint:function(n){for(var r=[],i,t=0;t<n.length;t+=1)i=this.extract.point.apply(this,[n[t]]),this.wrapVertices&&(i="("+i+")"),r.push(i);return r.join(",")},linestring:function(n){return this.extract.point.apply(this,[n])},multilinestring:function(n){var t,i=[];if(n.length)for(t=0;t<n.length;t+=1)i.push(this.extract.linestring.apply(this,[n[t]]));else i.push(this.extract.point.apply(this,[n]));return i.join(",")},polygon:function(n){return this.extract.multilinestring.apply(this,[n])},multipolygon:function(n){for(var i=[],t=0;t<n.length;t+=1)i.push("("+this.extract.polygon.apply(this,[n[t]])+")");return i.join(",")},box:function(n){return this.extract.linestring.apply(this,[n])},geometrycollection:function(){console.log("The geometrycollection WKT type is not yet supported.")}},n.Wkt.prototype.ingest={point:function(t){var i=n.trim(t).split(this.regExes.spaces);return[{x:parseFloat(this.regExes.numeric.exec(i[0])[0]),y:parseFloat(this.regExes.numeric.exec(i[1])[0])}]},multipoint:function(t){var i,r,u;for(r=[],u=n.trim(t).split(this.regExes.comma),i=0;i<u.length;i+=1)r.push(this.ingest.point.apply(this,[u[i]]));return r},linestring:function(n){var t,r,i;for(r=this.ingest.multipoint.apply(this,[n]),i=[],t=0;t<r.length;t+=1)i=i.concat(r[t]);return i},multilinestring:function(t){var r,u,f,i;for(u=[],i=n.trim(t).split(this.regExes.doubleParenComma),i.length===1&&(i=n.trim(t).split(this.regExes.parenComma)),r=0;r<i.length;r+=1)f=i[r].replace(this.regExes.trimParens,"$1"),u.push(this.ingest.linestring.apply(this,[f]));return u},polygon:function(t){var r,u,f,e,o,s,i,h,c;for(s=n.trim(t).split(this.regExes.parenComma),f=[],r=0;r<s.length;r+=1){for(o=s[r].replace(this.regExes.trimParens,"$1").split(this.regExes.comma),e=[],u=0;u<o.length;u+=1)i=o[u].split(this.regExes.spaces),i.length>2&&(i=i.filter(function(n){return n!=""})),i.length===2&&(h=i[0],c=i[1],e.push({x:parseFloat(h),y:parseFloat(c)}));f.push(e)}return f},box:function(n){var t,r,i;for(r=this.ingest.multipoint.apply(this,[n]),i=[],t=0;t<r.length;t+=1)i=i.concat(r[t]);return i},multipolygon:function(t){var i,r,f,u;for(r=[],u=n.trim(t).split(this.regExes.doubleParenComma),i=0;i<u.length;i+=1)f=u[i].replace(this.regExes.trimParens,"$1"),r.push(this.ingest.polygon.apply(this,[f]));return r},geometrycollection:function(){console.log("The geometrycollection WKT type is not yet supported.")}},n});Wkt.Wkt.prototype.isRectangle=!1;Wkt.Wkt.prototype.trunc=function(n){for(var i=[],t=0;t<n.length;t+=1)Wkt.isArray(n[t])?i.push(this.trunc(n[t])):t!==0&&this.sameCoords(n[0],n[t])||i.push(n[t]);return i};Wkt.Wkt.prototype.construct={point:function(n,t){var i=t||this.components;return i instanceof Array&&(i=i[0]),L.marker(this.coordsToLatLng(i),n)},multipoint:function(n){for(var i=[],r=this.components,t=0;t<r.length;t+=1)i.push(this.construct.point.call(this,n,r[t]));return L.featureGroup(i,n)},linestring:function(n,t){var i=t||this.components,r=this.coordsToLatLngs(i);return L.polyline(r,n)},multilinestring:function(n){var t=this.components,i=this.coordsToLatLngs(t,1);return L.multiPolyline(i,n)},polygon:function(n){var t=this.trunc(this.components),i=this.coordsToLatLngs(t,1);return L.polygon(i,n)},multipolygon:function(n){var t=this.trunc(this.components),i=this.coordsToLatLngs(t,2);return L.multiPolygon(i,n)},geometrycollection:function(n){var i,t,r;for(i=this.trunc(this.components),r=[],t=0;t<this.components.length;t+=1)r.push(this.construct[i[t].type].call(this,i[t]));return L.featureGroup(r,n)}};L.Util.extend(Wkt.Wkt.prototype,{coordsToLatLngs:L.GeoJSON.coordsToLatLngs,coordsToLatLng:function(n,t){var i=t?n.x:n.y,r=t?n.y:n.x;return L.latLng(i,r,!0)}});Wkt.Wkt.prototype.deconstruct=function(n){var u,o,f,i,r,e,t;if(o=function(n){for(var i=[],t=0;t<n.length;t+=1)Wkt.isArray(n[t])?i.push(o(n[t])):i.push({x:n[t].lng,y:n[t].lat});return i},n.constructor===L.Marker||n.constructor===L.marker)return{type:"point",components:[{x:n.getLatLng().lng,y:n.getLatLng().lat}]};if(n.constructor===L.Rectangle||n.constructor===L.rectangle)return t=n.getBounds(),{type:"polygon",isRectangle:!0,components:[[{x:t.getSouthWest().lng,y:t.getNorthEast().lat},{x:t.getNorthEast().lng,y:t.getNorthEast().lat},{x:t.getNorthEast().lng,y:t.getSouthWest().lat},{x:t.getSouthWest().lng,y:t.getSouthWest().lat},{x:t.getSouthWest().lng,y:t.getNorthEast().lat}]]};if((n.constructor===L.Polyline||n.constructor===L.polyline)&&(r=[],t=n.getLatLngs(),!t[0].equals(t[t.length-1]))){for(i=0;i<t.length;i+=1)r.push({x:t[i].lng,y:t[i].lat});return{type:"linestring",components:r}}if(n.constructor===L.Polygon||n.constructor===L.polygon){for(e=[],r=[],t=n.getLatLngs(),i=0;i<n._latlngs.length;i+=1)r.push({x:t[i].lng,y:t[i].lat});if(r.push({x:t[0].lng,y:t[0].lat}),e.push(r),n._holes&&n._holes.length>0)for(r=o(n._holes),i=0;i<r.length;i++)r[i].push(r[i][0]),e.push(r[i]);return{type:"polygon",components:e}}if(n.constructor===L.MultiPolyline||n.constructor===L.MultiPolygon||n.constructor===L.LayerGroup||n.constructor===L.FeatureGroup){f=[];t=n._layers;for(u in t)t.hasOwnProperty(u)&&(t[u].getLatLngs||t[u].getLatLng)&&f.push(this.deconstruct(t[u]));return{type:function(){switch(n.constructor){case L.MultiPolyline:return"multilinestring";case L.MultiPolygon:return"multipolygon";case L.FeatureGroup:return function(){var t,i,r,u;i=!0;r=!0;u=!0;for(t in n._layers)n._layers.hasOwnProperty(t)&&(n._layers[t].constructor!==L.Marker&&(u=!1),n._layers[t].constructor!==L.Polyline&&(r=!1),n._layers[t].constructor!==L.Polygon&&(i=!1));return u?"multipoint":r?"multilinestring":i?"multipolygon":"geometrycollection"}();default:return"geometrycollection"}}(),components:function(){for(var t=[],n=0;n<f.length;n+=1)f[n].components&&t.push(f[n].components);return t}()}}n.constructor===L.Rectangle||n.constructor===L.rectangle?console.log("Deconstruction of L.Circle objects is not yet supported"):console.log("The passed object does not have any recognizable properties.")};L.TileLayer.WMTS=L.TileLayer.extend({defaultWmtsParams:{service:"WMTS",request:"GetTile",version:"1.0.0",layer:"",style:"",tilematrixSet:"",format:"image/png"},initialize:function(n,t){var i,u,r;this._url=n;i=L.extend({},this.defaultWmtsParams);u=t.tileSize||this.options.tileSize;i.width=t.detectRetina&&L.Browser.retina?i.height=u*2:i.height=u;for(r in t)this.options.hasOwnProperty(r)||r=="matrixIds"||r=="resourceURL"||(i[r]=t[r]);this.wmtsParams=i;this.matrixIds=t.matrixIds||this.getDefaultMatrix();this.resourceURL=t.resourceURL;L.setOptions(this,t)},onAdd:function(n){L.TileLayer.prototype.onAdd.call(this,n)},getTileUrl:function(n,t){var i=this._map;return crs=i.options.crs,t=n.z,tileSize=this.options.tileSize,nwPoint=n.multiplyBy(tileSize),nwPoint.x+=1,nwPoint.y-=1,sePoint=nwPoint.add(new L.Point(tileSize,tileSize)),nw=crs.project(i.unproject(nwPoint,t)),se=crs.project(i.unproject(sePoint,t)),tilewidth=se.x-nw.x,ident=this.matrixIds[t].identifier,X0=this.matrixIds[t].topLeftCorner.lng,Y0=this.matrixIds[t].topLeftCorner.lat,tilecol=Math.floor((nw.x-X0)/tilewidth),tilerow=-Math.floor((nw.y-Y0)/tilewidth),this.resourceURL==""?(url=L.Util.template(this._url,{s:this._getSubdomain(n)}),url+L.Util.getParamString(this.wmtsParams,url)+"&tilematrix="+ident+"&tilerow="+tilerow+"&tilecol="+tilecol):url=this.resourceURL.replace("{TileMatrixSet}",this.wmtsParams.tilematrixSet).replace("{TileMatrix}",ident).replace("{TileRow}",tilerow).replace("{TileCol}",tilecol).replace("{Style}","default")},setParams:function(n,t){return L.extend(this.wmtsParams,n),t||this.redraw(),this},getDefaultMatrix:function(){for(var t=new Array(22),n=0;n<22;n++)t[n]={identifier:""+n,topLeftCorner:new L.LatLng(20037508.3428,-20037508.3428)};return t}});L.tileLayer.wmts=function(n,t){return new L.TileLayer.WMTS(n,t)},function(n){if(typeof exports=="object"&&typeof module!="undefined")module.exports=n();else if(typeof define=="function"&&define.amd)define([],n);else{var t;t=typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:this;t=t.L||(t.L={});t=t.Control||(t.Control={});t.LineStringSelect=n()}}(function(){return function n(t,i,r){function u(f,o){var h,c,s;if(!i[f]){if(!t[f]){if(h=typeof require=="function"&&require,!o&&h)return h(f,!0);if(e)return e(f,!0);c=new Error("Cannot find module '"+f+"'");throw c.code="MODULE_NOT_FOUND",c;}s=i[f]={exports:{}};t[f][0].call(s.exports,function(n){var i=t[f][1][n];return u(i?i:n)},s,s.exports,n,t,i,r)}return i[f].exports}for(var e=typeof require=="function"&&require,f=0;f<r.length;f++)u(r[f]);return u}({1:[function(n,t){(function(i){var r=typeof window!="undefined"?window.L:typeof i!="undefined"?i.L:null;r.Control.LineStringSelect=t.exports=n("./src/select")}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{"./src/select":7}],2:[function(n,t){"use strict";function r(n,t,f,e,o){for(f=f||0,e=e||n.length-1,o=o||u;e>f;){if(e-f>600){var h=e-f+1,v=t-f+1,y=Math.log(h),l=.5*Math.exp(2*y/3),p=.5*Math.sqrt(y*l*(h-l)/h)*(v-h/2<0?-1:1),w=Math.max(f,Math.floor(t-v*l/h+p)),b=Math.min(e,Math.floor(t+(h-v)*l/h+p));r(n,t,w,b,o)}var a=n[t],c=f,s=e;for(i(n,f,t),o(n[e],a)>0&&i(n,f,e);c<s;){for(i(n,c,s),c++,s--;o(n[c],a)<0;)c++;while(o(n[s],a)>0)s--}o(n[f],a)===0?i(n,f,s):(s++,i(n,s,e));s<=t&&(f=s+1);t<=s&&(e=s-1)}}function i(n,t,i){var r=n[t];n[t]=n[i];n[i]=r}function u(n,t){return n<t?-1:n>t?1:0}t.exports=r},{}],3:[function(n,t){"use strict";function e(n,t){if(!(this instanceof e))return new e(n,t);this._maxEntries=Math.max(4,n||9);this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4));t&&this._initFormat(t);this.clear()}function p(n,t,i){if(!i)return t.indexOf(n);for(var r=0;r<t.length;r++)if(i(n,t[r]))return r;return-1}function i(n,t){u(n,0,n.children.length,t,n)}function u(n,t,i,u,e){e||(e=r(null));e.minX=Infinity;e.minY=Infinity;e.maxX=-Infinity;e.maxY=-Infinity;for(var o=t,s;o<i;o++)s=n.children[o],f(e,n.leaf?u(s):s);return e}function f(n,t){return n.minX=Math.min(n.minX,t.minX),n.minY=Math.min(n.minY,t.minY),n.maxX=Math.max(n.maxX,t.maxX),n.maxY=Math.max(n.maxY,t.maxY),n}function l(n,t){return n.minX-t.minX}function a(n,t){return n.minY-t.minY}function h(n){return(n.maxX-n.minX)*(n.maxY-n.minY)}function o(n){return n.maxX-n.minX+(n.maxY-n.minY)}function w(n,t){return(Math.max(t.maxX,n.maxX)-Math.min(t.minX,n.minX))*(Math.max(t.maxY,n.maxY)-Math.min(t.minY,n.minY))}function b(n,t){var i=Math.max(n.minX,t.minX),r=Math.max(n.minY,t.minY),u=Math.min(n.maxX,t.maxX),f=Math.min(n.maxY,t.maxY);return Math.max(0,u-i)*Math.max(0,f-r)}function c(n,t){return n.minX<=t.minX&&n.minY<=t.minY&&t.maxX<=n.maxX&&t.maxY<=n.maxY}function s(n,t){return t.minX<=n.maxX&&t.minY<=n.maxY&&t.maxX>=n.minX&&t.maxY>=n.minY}function r(n){return{children:n,height:1,leaf:!0,minX:Infinity,minY:Infinity,maxX:-Infinity,maxY:-Infinity}}function v(n,t,i,r,u){for(var f=[t,i],e;f.length;)(i=f.pop(),t=f.pop(),i-t<=r)||(e=t+Math.ceil((i-t)/r/2)*r,y(n,e,t,i,u),f.push(t,e,e,i))}t.exports=e;var y=n("quickselect");e.prototype={all:function(){return this._all(this.data,[])},search:function(n){var t=this.data,r=[],h=this.toBBox,f,u,o,i,e;if(!s(n,t))return r;for(f=[];t;){for(u=0,o=t.children.length;u<o;u++)i=t.children[u],e=t.leaf?h(i):i,s(n,e)&&(t.leaf?r.push(i):c(n,e)?this._all(i,r):f.push(i));t=f.pop()}return r},collides:function(n){var t=this.data,o=this.toBBox,u,i,e,r,f;if(!s(n,t))return!1;for(u=[];t;){for(i=0,e=t.children.length;i<e;i++)if(r=t.children[i],f=t.leaf?o(r):r,s(n,f)){if(t.leaf||c(n,f))return!0;u.push(r)}t=u.pop()}return!1},load:function(n){var i,r,t,u;if(!(n&&n.length))return this;if(n.length<this._minEntries){for(i=0,r=n.length;i<r;i++)this.insert(n[i]);return this}return t=this._build(n.slice(),0,n.length-1,0),this.data.children.length?this.data.height===t.height?this._splitRoot(this.data,t):(this.data.height<t.height&&(u=this.data,this.data=t,t=u),this._insert(t,this.data.height-t.height-1,!0)):this.data=t,this},insert:function(n){return n&&this._insert(n,this.data.height-1),this},clear:function(){return this.data=r([]),this},remove:function(n,t){if(!n)return this;for(var i=this.data,h=this.toBBox(n),r=[],s=[],u,f,e,o;i||r.length;){if(i||(i=r.pop(),f=r[r.length-1],u=s.pop(),o=!0),i.leaf&&(e=p(n,i.children,t),e!==-1))return i.children.splice(e,1),r.push(i),this._condense(r),this;o||i.leaf||!c(i,h)?f?(u++,i=f.children[u],o=!1):i=null:(r.push(i),s.push(u),u=0,f=i,i=i.children[0])}return this},toBBox:function(n){return n},compareMinX:l,compareMinY:a,toJSON:function(){return this.data},fromJSON:function(n){return this.data=n,this},_all:function(n,t){for(var i=[];n;)n.leaf?t.push.apply(t,n.children):i.push.apply(i,n.children),n=i.pop();return t},_build:function(n,t,u,f){var l=u-t+1,o=this._maxEntries,e,h,a,s,c,y,p;if(l<=o)return e=r(n.slice(t,u+1)),i(e,this.toBBox),e;for(f||(f=Math.ceil(Math.log(l)/Math.log(o)),o=Math.ceil(l/Math.pow(o,f-1))),e=r([]),e.leaf=!1,e.height=f,h=Math.ceil(l/o),a=h*Math.ceil(Math.sqrt(o)),v(n,t,u,a,this.compareMinX),s=t;s<=u;s+=a)for(y=Math.min(s+a-1,u),v(n,s,y,h,this.compareMinY),c=s;c<=y;c+=h)p=Math.min(c+h-1,y),e.children.push(this._build(n,c,p,f-1));return i(e,this.toBBox),e},_chooseSubtree:function(n,t,i,r){for(var o,a,e,l,u,s,f,c;;){if(r.push(t),t.leaf||r.length-1===i)break;for(f=c=Infinity,o=0,a=t.children.length;o<a;o++)e=t.children[o],u=h(e),s=w(n,e)-u,s<c?(c=s,f=u<f?u:f,l=e):s===c&&u<f&&(f=u,l=e);t=l||t.children[0]}return t},_insert:function(n,t,i){var o=this.toBBox,u=i?n:o(n),r=[],e=this._chooseSubtree(u,this.data,t,r);for(e.children.push(n),f(e,u);t>=0;)if(r[t].children.length>this._maxEntries)this._split(r,t),t--;else break;this._adjustParentBBoxes(u,r,t)},_split:function(n,t){var u=n[t],o=u.children.length,s=this._minEntries,e,f;this._chooseSplitAxis(u,s,o);e=this._chooseSplitIndex(u,s,o);f=r(u.children.splice(e,u.children.length-e));f.height=u.height;f.leaf=u.leaf;i(u,this.toBBox);i(f,this.toBBox);t?n[t-1].children.push(f):this._splitRoot(u,f)},_splitRoot:function(n,t){this.data=r([n,t]);this.data.height=n.height+1;this.data.leaf=!1;i(this.data,this.toBBox)},_chooseSplitIndex:function(n,t,i){for(var c,l,o,e,f,a,s=f=Infinity,r=t;r<=i-t;r++)c=u(n,0,r,this.toBBox),l=u(n,r,i,this.toBBox),o=b(c,l),e=h(c)+h(l),o<s?(s=o,a=r,f=e<f?e:f):o===s&&e<f&&(f=e,a=r);return a},_chooseSplitAxis:function(n,t,i){var r=n.leaf?this.compareMinX:l,u=n.leaf?this.compareMinY:a,f=this._allDistMargin(n,t,i,r),e=this._allDistMargin(n,t,i,u);f<e&&n.children.sort(r)},_allDistMargin:function(n,t,i,r){n.children.sort(r);for(var h=this.toBBox,c=u(n,0,t,h),l=u(n,i-t,i,h),a=o(c)+o(l),s,e=t;e<i-t;e++)s=n.children[e],f(c,n.leaf?h(s):s),a+=o(c);for(e=i-t-1;e>=t;e--)s=n.children[e],f(l,n.leaf?h(s):s),a+=o(l);return a},_adjustParentBBoxes:function(n,t,i){for(var r=i;r>=0;r--)f(t[r],n)},_condense:function(n){for(var t=n.length-1,r;t>=0;t--)n[t].children.length===0?t>0?(r=n[t-1].children,r.splice(r.indexOf(n[t]),1)):this.clear():i(n[t],this.toBBox)},_initFormat:function(n){var t=["return a"," - b",";"];this.compareMinX=new Function("a","b",t.join(n[0]));this.compareMinY=new Function("a","b",t.join(n[1]));this.toBBox=new Function("a","return {minX: a"+n[0]+", minY: a"+n[1]+", maxX: a"+n[2]+", maxY: a"+n[3]+"};")}}},{quickselect:2}],4:[function(n,t){var i=n("./marker"),r=i.extend({options:{radiusRatio:1.2},onAdd:function(n){this.on("mouseover",this._onMouseOver,this).on("mouseout",this._onMouseOut,this);i.prototype.onAdd.call(this,n)},onRemove:function(n){this.off("mouseover",this._onMouseOver,this).off("mouseout",this._onMouseOut,this);i.prototype.onRemove.call(this,n)},_onMouseOver:function(){this.setRadius(this.options.radius*this.options.radiusRatio)},_onMouseOut:function(){this.setRadius(this.options.radius/this.options.radiusRatio)}});t.exports=r},{"./marker":6}],5:[function(n,t){function i(n,t){var i=n[0]-t[0],r=n[1]-t[1];return i*i+r*r}function u(n,t){return Math.sqrt(i(n,t))}function f(n,t,r){var u=r[0]-t[0],e=r[1]-t[1],o=u*u+e*e,f=o&&((n[0]-t[0])*u+(n[1]-t[1])*(r[1]-t[1]))/o;return i(n,f<=0?t:f>=1?r:[t[0]+f*u,t[1]+f*e])}function e(n,t,i){var r=i[0]-t[0],u=i[1]-t[1],e=n[0]-t[0],o=n[1]-t[1],f=(e*r+o*u)/(r*r+u*u);return f<0?0:f>1?1:f}function o(n,t,i){var r=e(n,t,i),u=i[0]-t[0],f=i[1]-t[1];return[t[0]+r*u,t[1]+r*f]}function r(n,t,i){return n+i*(t-n)}function s(n,t,i,u){var f=i/u;return[r(n[0],t[0],f),r(n[1],t[1],f)]}t.exports={pointSegmentDistance:f,closestPointOnSegment:o,pointOnSegment:s,distance:u}},{}],6:[function(n,t){(function(n){var i=typeof window!="undefined"?window.L:typeof n!="undefined"?n.L:null,r=i.CircleMarker.extend({show:function(){return this._container.style.visibility="",this},hide:function(){return this._container.style.visibility="hidden",this}});t.exports=r}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{}],7:[function(n,t){(function(i){var r=typeof window!="undefined"?window.L:typeof i!="undefined"?i.L:null,u=n("./geometry"),f=n("./marker"),e=n("./endpoint"),o=n("./selection"),s=i.rbush||n("rbush"),h=r.Control.extend({includes:r.Mixin.Events,statics:{Selection:o,Endpoint:e,ControlMarker:f},options:{startMarkerClass:"select-marker select-start-marker",endMarkerClass:"select-marker select-end-marker",movingMarkerClass:"select-marker select-moving-marker",name:"leaflet-linestring-select",lineWeight:4,lineTolerance:r.Browser.touch?10:5,movingMarkerStyle:{fillColor:"#fff",fillOpacity:1,weight:2,opacity:.5,color:"#000"},endpointStyle:{radius:5,color:"#111",fillColor:"#fff",fillOpacity:1},selectionStyle:{color:"#0ff",opacity:1},useTouch:r.Browser.touch,position:"topright"},initialize:function(n){n=n||{};this._startMarker=null;this._endMarker=null;this._movingMarker=null;this._feature=null;this._layer=null;this._selection=null;this._tolerance=null;r.Util.setOptions(this,n);r.Control.prototype.initialize.call(this,this.options)},onAdd:function(){var n=this._container=r.DomUtil.create("div",this.options.containerClass);return r.DomEvent.disableClickPropagation(n).disableScrollPropagation(n),n},onRemove:function(){this.disable()},enable:function(n){return this._layer=n.layer,this._feature=n.feature||n.layer.toGeoJSON(),this._createHandles(),this._buildTree(),this._calculatePointerTolerance(),this},disable:function(){return this.reset(),this._layer._map.removeLayer(this._movingMarker),this._movingMarker=null,this._layer.off("click",this._onLayerClick,this),this._layer._map.off("moveend zoomend resize",this._calculatePointerTolerance,this).off("mousemove touchmove",this._onMousemove,this).off(r.Draggable.START.join(" "),this._onMouseDown,this).off("click contextmenu",this._onMapClick,this),this._feature=null,this._layer=null,this},reset:function(){return this._startMarker&&(this._startMarker=null),this._endMarker&&(this._endMarker=null),this._selection&&(this._selection=null),this._movingMarker.setLatLng(this._layer.getLatLngs()[0]),this.fire("reset"),this},getSelection:function(){return this._selection?this._selection.getLatLngs():null},toGeoJSON:function(){return this._selection?this._selection.toGeoJSON():null},selectMeters:function(n,t){if(this.reset(),n<0||t<0)throw new Error("Can't use negative meter values for distance selection");var i=this._pointAtM(n),r=this._pointAtM(t);return i=this._getNearestPoint(i),r=this._getNearestPoint(r),this._setPoint(i,i.start,i.end),this._setPoint(r,r.start,r.end),this},movingMarkerFactory:function(n,t){return new f(n,t)},endpointFactory:function(n,t){return new e(n,t)},selectionFactory:function(n,t,i){return new o(n,t,i)},_distance:function(n,t){return this.options.distance?this.options.distance(n,t):new r.LatLng(n[1],n[0]).distanceTo(new r.LatLng(t[1],t[0]))},_getProjectedPoint:function(n){return this.options.getProjectedPoint?this.options.getProjectedPoint.call(this,n):(n=this._layer._map.options.crs.latLngToPoint(new r.LatLng(n[1],n[0]),this._layer._map.getMaxZoom()),[n.x,n.y])},_pointAtSegmentM:function(n,t,i){var e=this._distance(n,t),f;return n=this._getProjectedPoint(n),t=this._getProjectedPoint(t),f=u.pointOnSegment(n,t,i,e),r.point(f)},_pointAtM:function(n){for(var i=this._feature.geometry.coordinates,f=0,u,e,t=1,o=i.length;t<o;t++)if(e=this._distance(i[t-1],i[t]),f+e<=n)f+=e;else break;return f===n||t===i.length?(u=i[t-1],new r.LatLng(u[1],u[0])):(u=this._pointAtSegmentM(i[t-1],i[t],n-f),this._layer._map.options.crs.pointToLatLng(u,this._layer._map.getMaxZoom()))},_calculatePointerTolerance:function(){var n=this._layer._map.getCenter(),t=this.options.lineWeight*.5+this.options.lineTolerance,i=this._layer._map.layerPointToLatLng(this._layer._map.latLngToLayerPoint(n).add(new r.Point(t,t)));this._tolerance=new r.LatLng(Math.abs(n.lat-i.lat),Math.abs(n.lng-i.lng))},_createHandles:function(){var t=r.latLng(this._layer._latlngs[0]),n=this.options.movingMarkerStyle;n.radius=this.options.lineTolerance;n.className=this.options.movingMarkerClass;this._movingMarker=this.movingMarkerFactory(t,n);this._movingMarker.on("click",this._onMovingMarkerClick,this);this.options.useTouch},_onMovingMarkerClick:function(){this._setPoint(this._movingMarker.getLatLng(),this._movingMarker.start,this._movingMarker.end)},_onLayerClick:function(n){var t=this._getNearestPoint(n.latlng);console.log(t,n.latlng);t?this._setPoint(r.latLng(t),t.start,t.end):this._setPoint(n.latlng)},_onMapClick:function(n){var i,t,f,e,o;this._endMarker||(i=this._layer._map.latLngToLayerPoint(n.latlng),t=this._movingMarker.getLatLng(),this.options.useTouch&&(f=this._getNearestPoint(n.latlng),f&&(t=r.latLng(f),this._movingMarker.setLatLng(t))),e=this._layer._map.latLngToLayerPoint(t),o=u.distance([i.x,i.y],[e.x,e.y]),o<=this.options.lineTolerance*2&&(t=this._getNearestPoint(t),this._setPoint(t,t.start,t.end)))},_addMarker:function(n){var i,t,f,e,o;this._endMarker||(i=this._layer._map.latLngToLayerPoint(n),t=this._movingMarker.getLatLng(),this.options.useTouch&&(f=this._getNearestPoint(evt.latlng),f&&(t=r.latLng(f),this._movingMarker.setLatLng(t))),e=this._layer._map.latLngToLayerPoint(t),o=u.distance([i.x,i.y],[e.x,e.y]),o<=this.options.lineTolerance*2&&(t=this._getNearestPoint(t),this._setPoint(t,t.start,t.end)))},_setPoint:function(n,t,i){var r=this.options.endpointStyle;this._startMarker?this._endMarker||(r.className=this.options.endMarkerClass,this._endMarker=this.endpointFactory(n,r,!0),this._endMarker.start=t,this._endMarker.end=i,this._startMarker&&this._endMarker&&this._onSelect()):(r.className=this.options.startMarkerClass,this._startMarker=this.endpointFactory(n,r,!1),this._startMarker.start=t,this._startMarker.end=i)},_getPointerBounds:function(n){var t=this._tolerance.lng,i=this._tolerance.lat;return{minY:n.lat-i,minX:n.lng-t,maxY:n.lat+i,maxX:n.lng+t}},_onMouseDown:function(n){var i=n.originalEvent.target||n.originalEvent.srcElement,t;if(this.options.useTouch&&(this._startMarker&&(t=this._layer._map.latLngToContainerPoint(this._startMarker.getLatLng()),u.distance([n.containerPoint.x,n.containerPoint.y],[t.x,t.y])<=this.options.lineTolerance*2&&(i=this._startMarker._path)),this._endMarker&&(t=this._layer._map.latLngToContainerPoint(this._endMarker.getLatLng()),u.distance([n.containerPoint.x,n.containerPoint.y],[t.x,t.y])<=this.options.lineTolerance*2&&(i=this._endMarker._path))),this._startMarker&&this._startMarker._path===i?(this._dragging=this._startMarker,this._static=this._endMarker):this._endMarker&&this._endMarker._path===i&&(this._dragging=this._endMarker,this._static=this._startMarker),this._dragging){r.DomEvent.stop(n);this._dragging._dragging=!0;r.Draggable._disabled=!0;this._layer._map.dragging.disable();this._layer._map.once("mouseup",this._stopHandlerDrag,this)}},_stopHandlerDrag:function(n){this._dragging&&(i.clearTimeout(this._dragTimer),r.Draggable._disabled=!1,this._layer._map.dragging.enable(),this._dragging._dragging=null,this._dragging=null,this._onDragStopped(this._dragging,n.latlng))},_onDragStopped:function(){this._startMarker&&this._endMarker&&this._onSelect()},_checkEndPoints:function(){if(this._startMarker.start>this._endMarker.start){var n=this._startMarker;this._startMarker=this._endMarker;this._endMarker=n}},_onSelect:function(){this._checkEndPoints();var t=this._startMarker.end,i=this._endMarker.start,n=this._layer._latlngs.slice(t,i+1);n.unshift(this._startMarker.getLatLng());n.push(this._endMarker.getLatLng());this._selection?(this._selection._latlngs=n,this._selection.updatePathFromSource(this._startMarker.end,this._endMarker.start)):this._selection=this.selectionFactory(n,this.options.selectionStyle,this._layer)},_onMousemove:function(n){var t=this._getNearestPoint(n.latlng);this._dragging?(t&&(this._dragging.start=t.start,this._dragging.end=t.end,this._dragging.setLatLng(t)),this._startMarker&&this._endMarker&&this._onSelect(),i.clearTimeout(this._dragTimer),this._dragTimer=i.setTimeout(this._stopHandlerDrag.bind(this,n),750)):t&&(this._movingMarker.setLatLng(t),this._movingMarker.start=t.start,this._movingMarker.end=t.end)},_getNearestPoint:function(n,t){var w=this._getPointerBounds(n,t),i=this._tree.search(w),f,a;if(i.length!==0){var e=this._feature.geometry.coordinates,h=Number.MAX_VALUE,r=[n.lng,n.lat],o=i[0].start,s=i[0].end,c=e[o],l=e[s];if(i.length>1)for(f=0,a=i.length;f<a;f++){var v=e[i[f].start],y=e[i[f].end],p=u.pointSegmentDistance(r,v,y);p<h&&(h=p,c=v,l=y,o=i[f].start,s=i[f].end)}return r=u.closestPointOnSegment(r,c,l),r=[r[1],r[0]],r.start=o,r.end=s,r}return null},_buildTree:function(){var i=this._feature.geometry.coordinates,r=[],n,u,t;for(this._tree?this._tree.clear():this._tree=s(9,["[0]","[1]","[2]","[3]"]),n=1,u=i.length;n<u;n++)t=this._toTreeNode(i[n-1],i[n]),t.start=n-1,t.end=n,r.push(t);this._tree.load(r)},_toTreeNode:function(n,t){var i=n[0],r=t[0],u=n[1],f=t[1];return i>r&&(r=n[0],i=t[0]),u>f&&(f=n[1],u=t[1]),[i,u,r,f]}});t.exports=h}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{"./endpoint":4,"./geometry":5,"./marker":6,"./selection":8,rbush:3}],8:[function(n,t){(function(n){var i=typeof window!="undefined"?window.L:typeof n!="undefined"?n.L:null,r=i.Polyline.extend({initialize:function(n,t,r){this._source=r;i.Polyline.prototype.initialize.call(this,n,t)},updatePathFromSource:function(n,t){this._originalPoints=this._source._originalPoints.slice(n,t+1);this._originalPoints.unshift(this._layer._map.latLngToLayerPoint(this._latlngs[0]));this._originalPoints.push(this._layer._map.latLngToLayerPoint(this._latlngs[this._latlngs.length-1]));this._updatePath()}});t.exports=r}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{}]},{},[1])(1)});L.Control.ZoomDisplay=L.Control.extend({options:{position:"topleft"},onAdd:function(n){this._map=n;this._container=L.DomUtil.create("div","leaflet-control-zoom-display leaflet-bar-part leaflet-bar");this._container.setAttribute("title","Zoom niveau");this.updateMapZoom(n.getZoom());n.on("zoomend",this.onMapZoomEnd,this);return this._container},onRemove:function(n){n.off("zoomend",this.onMapZoomEnd,this)},onMapZoomEnd:function(){this.updateMapZoom(this._map.getZoom())},updateMapZoom:function(n){typeof n=="undefined"&&(n="");this._container.innerHTML=n}});L.Map.mergeOptions({zoomDisplayControl:!0});L.Map.addInitHook(function(){this.options.zoomDisplayControl&&(this.zoomDisplayControl=new L.Control.ZoomDisplay,this.addControl(this.zoomDisplayControl))});L.control.zoomDisplay=function(n){return new L.Control.ZoomDisplay(n)};L.Control.Button=L.Control.extend({options:{position:"topleft",icon:new L.Icon.Default},initialize:function(n){this._button={};this.setButton(n)},onAdd:function(n){this._map=n;var t=L.DomUtil.create("div","leaflet-control-button");return this._container=t,this._update(),this._container},onRemove:function(){},setButton:function(n){var t={text:"",iconUrl:"fas fa-street-view Cyclomediaview",onClick:n.onClick,hideText:!0,maxWidth:30,doToggle:!1,toggleStatus:!1};this._button=t;this._update()},getText:function(){return this._button.text},getIconUrl:function(){return this._button.iconUrl},destroy:function(){this._button={};this._update()},toggle:function(n){this._button.toggleStatus=typeof n=="boolean"?n:!this._button.toggleStatus;this._update()},_update:function(){this._map&&(this._container.innerHTML="",this._makeButton(this._button))},_makeButton:function(n){var t=L.DomUtil.create("div","leaflet-buttons-control-button",this._container),i,r,u;return n.toggleStatus&&L.DomUtil.addClass(t,"leaflet-buttons-control-toggleon"),i=L.DomUtil.create("i","leaflet-buttons-control-img",t),i.setAttribute("class",n.iconUrl),i.setAttribute("title","Open Cyclomedia Street Smart Viewer"),n.text!==""&&(L.DomUtil.create("br","",t),r=L.DomUtil.create("span","leaflet-buttons-control-text",t),u=document.createTextNode(n.text),r.appendChild(u),n.hideText&&L.DomUtil.addClass(r,"leaflet-buttons-control-text-hide")),L.DomEvent.addListener(t,"click",this._clicked,this),L.DomEvent.disableClickPropagation(t),t},removeHooks:function(){this._map&&(this._marker&&(this._marker.off("click",this._onClick,this),this._map.removeLayer(this._marker),delete this._marker),this._mouseMarker.off("click",this._clicked,this),this._map.removeLayer(this._mouseMarker),delete this._mouseMarker,this._map.off("mousemove",this._onMouseMove,this));typeof MapWMSLayerClick=="function"&&MapWMSLayerClick(!0)},_onMouseMove:function(n){var t=n.latlng;this._mouseMarker.setLatLng(t);this._marker?(t=this._mouseMarker.getLatLng(),this._marker.setLatLng(t)):(this._marker=new L.Marker(t,{icon:this.options.icon,zIndexOffset:this.options.zIndexOffset}),this._marker.on("click",this._button.onClick,this).addTo(this._map),this._map.on("click",this._button.onClick,this))},_clicked:function(){mapctrl=this;isCyclomedia=!0;isAddress&&(M.removeHooksAddress(),isAddress=!1);typeof MapWMSLayerClick=="function"&&MapWMSLayerClick(!1);cyclomediaLayerGroup!=undefined&&M.HasLayer(cyclomediaLayerGroup)&&(M.ClearLayerGroup(cyclomediaLayerGroup),cyclomediaLayerGroup==undefined,window.panoramaViewer!=undefined&&window.panoramaViewer.off($("#cmIframe")[0].contentWindow.StreetSmartApi.Events.panoramaViewer.VIEW_CHANGE,changeview));$("#cmIframe")[0].contentWindow.ClearMapPoistionIcon();this._container.style.cursor="crosshair";this._map.on("mousemove",this._onMouseMove,this);this._map.on("click",CyclomediaButton_onClick);this._map.on("mousedown",CyclomediaButton_onClick);this._mouseMarker||(this._mouseMarker=L.marker(this._map.getCenter(),{icon:L.divIcon({className:"leaflet-mouse-marker",iconAnchor:[20,20],iconSize:[40,40]}),zIndexOffset:this.options.zIndexOffset}));this._button.doToggle&&(this._button.toggleStatus?L.DomUtil.removeClass(this._container.childNodes[0],"leaflet-buttons-control-toggleon"):L.DomUtil.addClass(this._container.childNodes[0],"leaflet-buttons-control-toggleon"),this.toggle());return}});var completeGeoButton=L.Control.extend({options:{position:"topleft"},onAdd:function(){var n=L.DomUtil.create("div","leaflet-bar leaflet-control leaflet-control-custom"),t;return n.style.backgroundColor="#f4f4f4",n.onclick=function(){M.CompleteDrawingIconClick()},t=L.DomUtil.create("i","leaflet-buttons-control-img",n),t.setAttribute("class","fas fa-check CompleteDrawingIcon"),t.setAttribute("title","Intekenen voltooien"),L.DomEvent.addListener(n,"click",M.CompleteDrawingIconClick,this),L.DomEvent.disableClickPropagation(n),M.SetCompletedrawingButton(n),n}}),cancelButton=L.Control.extend({options:{position:"topleft"},onAdd:function(){var n=L.DomUtil.create("div","leaflet-bar leaflet-control leaflet-control-custom"),t;return n.style.backgroundColor="#f4f4f4",n.style.display="none",n.onclick=function(){M.CancelDrawingIconClick()},t=L.DomUtil.create("i","leaflet-buttons-control-img",n),t.setAttribute("class","fas fa-times CancelDrawingIcon"),t.setAttribute("title","Annuleren Geometrie"),M.SetCancelDrawingButton(n),L.DomEvent.addListener(n,"click",M.CancelDrawingIconClick,this),L.DomEvent.disableClickPropagation(n),n}}),geoJsonPasteButton=L.Control.extend({options:{position:"topleft"},onAdd:function(){var n=L.DomUtil.create("div","leaflet-bar leaflet-control leaflet-control-custom"),t;return n.style.backgroundColor="#ffffff",n.onclick=function(){M.GeoJsonPasteIconClick()},t=L.DomUtil.create("i","leaflet-buttons-control-img",n),t.setAttribute("class","fas fa-file-upload CompleteGeoJsonPasteIcon"),t.setAttribute("style","padding:4px 6px;"),t.setAttribute("title","Geometrie import"),M.SetCompletedGeoJsonPasteButton(n),L.DomEvent.addListener(n,"click",M.GeoJsonPasteIconClick,this),L.DomEvent.disableClickPropagation(n),n}}),coordinatesPasteButton=L.Control.extend({options:{position:"topleft",icon:new L.Icon.Default},initialize:function(n){this._button={};this.setButton(n)},onAdd:function(n){this._map=n;var t=L.DomUtil.create("div","leaflet-control-button");return this._container=t,this._update(),this._container},onRemove:function(){},setButton:function(n){var t={text:"",iconUrl:"fas fa-map-marked-alt CopyCoordinatesIcon",onClick:n.onClick,hideText:!0,maxWidth:30,doToggle:!1,toggleStatus:!1};this._button=t;this._update()},getText:function(){return this._button.text},getIconUrl:function(){return this._button.iconUrl},destroy:function(){this._button={};this._update()},toggle:function(n){this._button.toggleStatus=typeof n=="boolean"?n:!this._button.toggleStatus;this._update()},_update:function(){this._map&&(this._container.innerHTML="",this._makeButton(this._button))},_makeButton:function(n){var t=L.DomUtil.create("div","leaflet-buttons-control-button",this._container),i,r,u;return n.toggleStatus&&L.DomUtil.addClass(t,"leaflet-buttons-control-toggleon"),i=L.DomUtil.create("i","leaflet-buttons-control-img",t),i.setAttribute("class",n.iconUrl),i.setAttribute("title","Bepaal coordinaten of dichtstbijzijnde adres op de kaart."),n.text!==""&&(L.DomUtil.create("br","",t),r=L.DomUtil.create("span","leaflet-buttons-control-text",t),u=document.createTextNode(n.text),r.appendChild(u),n.hideText&&L.DomUtil.addClass(r,"leaflet-buttons-control-text-hide")),L.DomEvent.addListener(t,"click",this._clicked,this),L.DomEvent.disableClickPropagation(t),t},removeHooks:function(){this._marker.off("click",this._onClick,this);this._map.removeLayer(this._marker);delete this._marker;this._mouseMarker.off("click",this._clicked,this);this._map.removeLayer(this._mouseMarker);delete this._mouseMarker;this._map.off("mousemove",this._onMouseMove,this);this._map.off("click",CreateCoordinatesPopup);typeof MapWMSLayerClick=="function"&&MapWMSLayerClick(!0)},_onMouseMove:function(n){var t=n.latlng;this._mouseMarker.setLatLng(t);this._marker?(t=this._mouseMarker.getLatLng(),this._marker.setLatLng(t)):(this._marker=new L.Marker(t,{icon:this.options.icon,zIndexOffset:this.options.zIndexOffset}),this._marker.on("click",this._button.onClick,this).addTo(this._map),this._map.on("click",this._button.onClick,this))},_clicked:function(){coordinatemapctrl=this;this._container.style.cursor="crosshair";this._map.on("mousemove",this._onMouseMove,this);this._map.on("click",CreateCoordinatesPopup);this._mouseMarker||(this._mouseMarker=L.marker(this._map.getCenter(),{icon:L.divIcon({className:"leaflet-mouse-marker",iconAnchor:[20,20],iconSize:[40,40]}),zIndexOffset:this.options.zIndexOffset}));this._button.doToggle&&(this._button.toggleStatus?L.DomUtil.removeClass(this._container.childNodes[0],"leaflet-buttons-control-toggleon"):L.DomUtil.addClass(this._container.childNodes[0],"leaflet-buttons-control-toggleon"),this.toggle());return}});L.Map.include({openPopup:function(n,t,i){if(this.dragging.enable(),this.closePopup(),!(n instanceof L.Popup)){var r=n;n=new L.Popup(i).setLatLng(t).setContent(r)}return n._isOpen=!0,this._popup=n,this.dragging.disable(),this.addLayer(n)},closePopup:function(n){return n&&n!==this._popup||(n=this._popup,this._popup=null),n&&(this.removeLayer(n),n._isOpen=!1,this.dragging.enable()),this}}),function(n,t){typeof define=="function"&&define.amd?define(["leaflet"],n):typeof exports=="object"&&(module.exports=n(require("leaflet")));typeof t!="undefined"&&t.L&&(t.L.Control.MiniMap=n(L),t.L.control.minimap=function(n,i){return new t.L.Control.MiniMap(n,i)})}(function(n){var t=n.Control.extend({includes:n.Evented?n.Evented.prototype:n.Mixin.Events,options:{position:"bottomright",toggleDisplay:!1,zoomLevelOffset:-5,zoomLevelFixed:!1,centerFixed:!1,zoomAnimation:!1,autoToggleDisplay:!1,minimized:!1,width:150,height:150,collapsedWidth:19,collapsedHeight:19,aimingRectOptions:{color:"#ff7800",weight:1,clickable:!1},shadowRectOptions:{color:"#000000",weight:1,clickable:!1,opacity:0,fillOpacity:0},strings:{hideText:"Hide MiniMap",showText:"Show MiniMap"},mapOptions:{}},initialize:function(t,i){n.Util.setOptions(this,i);this.options.aimingRectOptions.clickable=!1;this.options.shadowRectOptions.clickable=!1;this._layer=t},onAdd:function(t){this._mainMap=t;this._container=n.DomUtil.create("div","leaflet-control-minimap");this._container.style.width=this.options.width+"px";this._container.style.height=this.options.height+"px";n.DomEvent.disableClickPropagation(this._container);n.DomEvent.on(this._container,"mousewheel",n.DomEvent.stopPropagation);var i={attributionControl:!1,dragging:!this.options.centerFixed,zoomControl:!1,zoomAnimation:this.options.zoomAnimation,autoToggleDisplay:this.options.autoToggleDisplay,touchZoom:this.options.centerFixed?"center":!this._isZoomLevelFixed(),scrollWheelZoom:this.options.centerFixed?"center":!this._isZoomLevelFixed(),doubleClickZoom:this.options.centerFixed?"center":!this._isZoomLevelFixed(),boxZoom:!this._isZoomLevelFixed(),crs:t.options.crs,zoomDisplayControl:!1};return i=n.Util.extend(this.options.mapOptions,i),this._miniMap=new n.Map(this._container,i),this._miniMap.addLayer(this._layer),this._mainMapMoving=!1,this._miniMapMoving=!1,this._userToggledDisplay=!1,this._minimized=!1,this.options.toggleDisplay&&this._addToggleButton(),this._miniMap.whenReady(n.Util.bind(function(){this._aimingRect=n.rectangle(this._mainMap.getBounds(),this.options.aimingRectOptions).addTo(this._miniMap);this._shadowRect=n.rectangle(this._mainMap.getBounds(),this.options.shadowRectOptions).addTo(this._miniMap);this._mainMap.on("moveend",this._onMainMapMoved,this);this._mainMap.on("move",this._onMainMapMoving,this);this._miniMap.on("movestart",this._onMiniMapMoveStarted,this);this._miniMap.on("move",this._onMiniMapMoving,this);this._miniMap.on("moveend",this._onMiniMapMoved,this)},this)),this._container},addTo:function(t){n.Control.prototype.addTo.call(this,t);var i=this.options.centerFixed||this._mainMap.getCenter();return this._miniMap.setView(i,this._decideZoom(!0)),this._setDisplay(this.options.minimized),this},onRemove:function(){this._mainMap.off("moveend",this._onMainMapMoved,this);this._mainMap.off("move",this._onMainMapMoving,this);this._miniMap.off("moveend",this._onMiniMapMoved,this);this._miniMap.removeLayer(this._layer)},changeLayer:function(n){this._miniMap.removeLayer(this._layer);this._layer=n;this._miniMap.addLayer(this._layer)},_addToggleButton:function(){this._toggleDisplayButton=this.options.toggleDisplay?this._createButton("",this._toggleButtonInitialTitleText(),"leaflet-control-minimap-toggle-display leaflet-control-minimap-toggle-display-"+this.options.position,this._container,this._toggleDisplayButtonClicked,this):undefined;this._toggleDisplayButton.style.width=this.options.collapsedWidth+"px";this._toggleDisplayButton.style.height=this.options.collapsedHeight+"px"},_toggleButtonInitialTitleText:function(){return this.options.minimized?this.options.strings.showText:this.options.strings.hideText},_createButton:function(t,i,r,u,f,e){var o=n.DomUtil.create("a",r,u),s;o.innerHTML=t;o.href="#";o.title=i;s=n.DomEvent.stopPropagation;n.DomEvent.on(o,"click",s).on(o,"mousedown",s).on(o,"dblclick",s).on(o,"click",n.DomEvent.preventDefault).on(o,"click",f,e);return o},_toggleDisplayButtonClicked:function(){this._userToggledDisplay=!0;this._minimized?this._restore():this._minimize()},_setDisplay:function(n){n!==this._minimized&&(this._minimized?this._restore():this._minimize())},_minimize:function(){this.options.toggleDisplay?(this._container.style.width=this.options.collapsedWidth+"px",this._container.style.height=this.options.collapsedHeight+"px",this._toggleDisplayButton.className+=" minimized-"+this.options.position,this._toggleDisplayButton.title=this.options.strings.showText):this._container.style.display="none";this._minimized=!0;this._onToggle()},_restore:function(){this.options.toggleDisplay?(this._container.style.width=this.options.width+"px",this._container.style.height=this.options.height+"px",this._toggleDisplayButton.className=this._toggleDisplayButton.className.replace("minimized-"+this.options.position,""),this._toggleDisplayButton.title=this.options.strings.hideText):this._container.style.display="block";this._minimized=!1;this._onToggle()},_onMainMapMoved:function(){if(this._miniMapMoving)this._miniMapMoving=!1;else{var n=this.options.centerFixed||this._mainMap.getCenter();this._mainMapMoving=!0;this._miniMap.setView(n,this._decideZoom(!0));this._setDisplay(this._decideMinimized())}this._aimingRect.setBounds(this._mainMap.getBounds())},_onMainMapMoving:function(){this._aimingRect.setBounds(this._mainMap.getBounds())},_onMiniMapMoveStarted:function(){if(!this.options.centerFixed){var n=this._aimingRect.getBounds(),t=this._miniMap.latLngToContainerPoint(n.getSouthWest()),i=this._miniMap.latLngToContainerPoint(n.getNorthEast());this._lastAimingRectPosition={sw:t,ne:i}}},_onMiniMapMoving:function(){this.options.centerFixed||!this._mainMapMoving&&this._lastAimingRectPosition&&(this._shadowRect.setBounds(new n.LatLngBounds(this._miniMap.containerPointToLatLng(this._lastAimingRectPosition.sw),this._miniMap.containerPointToLatLng(this._lastAimingRectPosition.ne))),this._shadowRect.setStyle({opacity:1,fillOpacity:.3}))},_onMiniMapMoved:function(){this._mainMapMoving?this._mainMapMoving=!1:(this._miniMapMoving=!0,this._mainMap.setView(this._miniMap.getCenter(),this._decideZoom(!1)),this._shadowRect.setStyle({opacity:0,fillOpacity:0}))},_isZoomLevelFixed:function(){var n=this.options.zoomLevelFixed;return this._isDefined(n)&&this._isInteger(n)},_decideZoom:function(n){if(this._isZoomLevelFixed())return n?this.options.zoomLevelFixed:this._mainMap.getZoom();if(n)return this._mainMap.getZoom()+this.options.zoomLevelOffset;var i=this._miniMap.getZoom()-this._mainMap.getZoom(),r=this._miniMap.getZoom()-this.options.zoomLevelOffset,t;return i>this.options.zoomLevelOffset&&this._mainMap.getZoom()<this._miniMap.getMinZoom()-this.options.zoomLevelOffset?this._miniMap.getZoom()>this._lastMiniMapZoom?(t=this._mainMap.getZoom()+1,this._miniMap.setZoom(this._miniMap.getZoom()-1)):t=this._mainMap.getZoom():t=r,this._lastMiniMapZoom=this._miniMap.getZoom(),t},_decideMinimized:function(){return this._userToggledDisplay?this._minimized:this.options.autoToggleDisplay?this._mainMap.getBounds().contains(this._miniMap.getBounds())?!0:!1:this._minimized},_isInteger:function(n){return typeof n=="number"},_isDefined:function(n){return typeof n!="undefined"},_onToggle:function(){n.Util.requestAnimFrame(function(){n.DomEvent.on(this._container,"transitionend",this._fireToggleEvents,this);n.Browser.any3d||n.Util.requestAnimFrame(this._fireToggleEvents,this)},this)},_fireToggleEvents:function(){n.DomEvent.off(this._container,"transitionend",this._fireToggleEvents,this);var t={minimized:this._minimized};this.fire(this._minimized?"minimize":"restore",t);this.fire("toggle",t)}});return n.Map.mergeOptions({miniMapControl:!1}),n.Map.addInitHook(function(){this.options.miniMapControl&&(this.miniMapControl=(new t).addTo(this))}),t},window)