From 482afa06fedf9d4c211ba04617b0b8f7abf2976e Mon Sep 17 00:00:00 2001 From: w8r Date: Tue, 5 Mar 2024 13:47:59 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20w8r/Leaf?= =?UTF-8?q?let.Path.Transform@da270b21daa7086241f574acdad1530e9e701c81=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc | 61 - .gitignore | 2 - Readme.md | 91 - assets/index-BCYdgecX.js | 8 + assets/index-BnqAo-xz.css | 1 + dist/L.Path.Transform-src.js | 1600 -- dist/L.Path.Transform.js | 13 - example/css/style.css | 61 - example/css/topcoat-desktop-light.css | 3509 ---- example/font/LICENSE.txt | 93 - example/font/SourceCodePro-Black.otf | Bin 88472 -> 0 bytes example/font/SourceCodePro-Bold.otf | Bin 92248 -> 0 bytes example/font/SourceCodePro-ExtraLight.otf | Bin 84636 -> 0 bytes example/font/SourceCodePro-Light.otf | Bin 88152 -> 0 bytes example/font/SourceCodePro-Regular.otf | Bin 89600 -> 0 bytes example/font/SourceCodePro-Semibold.otf | Bin 89576 -> 0 bytes example/font/SourceSansPro-Black.otf | Bin 98472 -> 0 bytes example/font/SourceSansPro-BlackIt.otf | Bin 96536 -> 0 bytes example/font/SourceSansPro-Bold.otf | Bin 104072 -> 0 bytes example/font/SourceSansPro-BoldIt.otf | Bin 101848 -> 0 bytes example/font/SourceSansPro-ExtraLight.otf | Bin 94560 -> 0 bytes example/font/SourceSansPro-ExtraLightIt.otf | Bin 92880 -> 0 bytes example/font/SourceSansPro-It.otf | Bin 100556 -> 0 bytes example/font/SourceSansPro-Light.otf | Bin 98972 -> 0 bytes example/font/SourceSansPro-LightIt.otf | Bin 97352 -> 0 bytes example/font/SourceSansPro-Regular.otf | Bin 101820 -> 0 bytes example/font/SourceSansPro-Semibold.otf | Bin 101772 -> 0 bytes example/font/SourceSansPro-SemiboldIt.otf | Bin 100000 -> 0 bytes example/index.html | 64 - example/js/app.js | 258 - example/js/bundle.js | 15475 ------------------ index.html | 63 +- index.js | 5 - package-lock.json | 2674 --- package.json | 52 - src/Matrix.js | 204 - src/Path.Transform.js | 767 - src/Util.js | 57 - src/header.js | 7 - 39 files changed, 71 insertions(+), 24994 deletions(-) delete mode 100644 .eslintrc delete mode 100644 .gitignore delete mode 100644 Readme.md create mode 100644 assets/index-BCYdgecX.js create mode 100644 assets/index-BnqAo-xz.css delete mode 100644 dist/L.Path.Transform-src.js delete mode 100644 dist/L.Path.Transform.js delete mode 100644 example/css/style.css delete mode 100755 example/css/topcoat-desktop-light.css delete mode 100755 example/font/LICENSE.txt delete mode 100755 example/font/SourceCodePro-Black.otf delete mode 100755 example/font/SourceCodePro-Bold.otf delete mode 100755 example/font/SourceCodePro-ExtraLight.otf delete mode 100755 example/font/SourceCodePro-Light.otf delete mode 100755 example/font/SourceCodePro-Regular.otf delete mode 100755 example/font/SourceCodePro-Semibold.otf delete mode 100755 example/font/SourceSansPro-Black.otf delete mode 100755 example/font/SourceSansPro-BlackIt.otf delete mode 100755 example/font/SourceSansPro-Bold.otf delete mode 100755 example/font/SourceSansPro-BoldIt.otf delete mode 100755 example/font/SourceSansPro-ExtraLight.otf delete mode 100755 example/font/SourceSansPro-ExtraLightIt.otf delete mode 100755 example/font/SourceSansPro-It.otf delete mode 100755 example/font/SourceSansPro-Light.otf delete mode 100755 example/font/SourceSansPro-LightIt.otf delete mode 100755 example/font/SourceSansPro-Regular.otf delete mode 100755 example/font/SourceSansPro-Semibold.otf delete mode 100755 example/font/SourceSansPro-SemiboldIt.otf delete mode 100644 example/index.html delete mode 100644 example/js/app.js delete mode 100644 example/js/bundle.js delete mode 100644 index.js delete mode 100644 package-lock.json delete mode 100644 package.json delete mode 100644 src/Matrix.js delete mode 100644 src/Path.Transform.js delete mode 100644 src/Util.js delete mode 100644 src/header.js diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 54dc3a6..0000000 --- a/.eslintrc +++ /dev/null @@ -1,61 +0,0 @@ -{ - "env": { - "browser": true - }, - "globals": { - "L": true - }, - "rules": { - "yoda": 0, - "block-scoped-var": 2, - "camelcase": 1, - "comma-style": 2, - "curly": [ - 2, - "all" - ], - "dot-notation": 0, - "eqeqeq": [ - 2, - "allow-null" - ], - "guard-for-in": 2, - "key-spacing": 0, - "new-cap": 2, - "no-bitwise": 2, - "no-caller": 2, - "no-cond-assign": [ - 2, - "except-parens" - ], - "no-debugger": 2, - "no-empty": 2, - "no-eval": 2, - "no-extend-native": 2, - "no-extra-parens": 0, - "no-irregular-whitespace": 2, - "no-iterator": 2, - "no-loop-func": 2, - "no-multi-spaces": 0, - "no-multi-str": 0, - "no-mixed-spaces-and-tabs": 0, - "no-new": 2, - "no-plusplus": 0, - "no-proto": 2, - "no-script-url": 2, - "no-sequences": 2, - "no-shadow": 2, - "no-undef": 2, - "no-underscore-dangle": 0, - "no-unused-vars": [2, {"vars": "all", "args": "none"}], - "no-use-before-define": [2, "nofunc"], - "no-with": 2, - "quotes": [2, "single"], - "semi": [2, "always"], - "no-extra-semi": 2, // disallow unnecessary semicolons - "semi-spacing": [1, {"before": false, "after": true}], // enforce spacing before and after semicolons - "strict": 0, - "valid-typeof": 2, - "wrap-iife": [2, "inside"] - } -} diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 9daa824..0000000 --- a/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -.DS_Store -node_modules diff --git a/Readme.md b/Readme.md deleted file mode 100644 index 2e20543..0000000 --- a/Readme.md +++ /dev/null @@ -1,91 +0,0 @@ -# Leaflet.Path.Transform [![npm version](https://badge.fury.io/js/leaflet-path-transform.svg)](https://badge.fury.io/js/leaflet-path-transform) - -Drag/rotate/resize handler for [leaflet](http://leafletjs.com) vector features. - -![screenshot 2016-03-21 15 31 48](https://cloud.githubusercontent.com/assets/26884/13921863/4470b97c-ef7a-11e5-8ea2-46161fffaedd.png) - -Includes [L.Path.Drag](https://github.com/w8r/Leaflet.Path.Drag), so you don't -need to include it once again. - -### Requirements - -Leaflet 1.0+ - -### API -```shell -npm install leaflet-path-transform --save -``` -or include `dist/L.Path.Transform.js` file - -```js -require('leaflet-path-transform'); - -var map = L.map('map-canvas').setView(center, zoom); -var polygon = L.polygon([..., ...], { transform: true }).addTo(map); - -polygon.transform.enable(); -// or partially: -polygon.transform.enable({rotation: true, scaling: false}); -// or, on an already enabled handler: -polygon.transform.setOptions({rotation: true, scaling: false}); -``` - -### `options` - -* **`options.handlerOptions`** - **<[Path_options](http://leafletjs.com/reference.html#path-options)>** - edge markers options -* **`options.boundsOptions`** - **<[Polyline_options](http://leafletjs.com/reference.html#polyline-options)>** - bounding rectangle options -* **`options.rotateHandleOptions`** - **<[Polyline_options](http://leafletjs.com/reference.html#polyline-options)>** - rotation handle line styles -* **`options.handleLength`** - **Number** - Length of the rotation handle in pixels. Defaults to 20. -* **`options.rotation`** - **Boolean** - Enable/disable rotation. Default `true` -* **`options.scaling`** - **Boolean** - Enable/disable scaling. Default `true` -* **`options.uniformScaling`** - **Boolean** - Use uniform scaling (maintain aspect ratio). Default `true` - -**Handles** - -For the corner and rotation handles plugin provides 2 classes: -`L.PathTransform.Handle` and `L.PathTransform.RotateHandle`, they are derived from `L.CircleMarker` and you can adjust them as you want. Also you can use some other compatible marker types by providing respective constructors through `options.handleClass` and `options.rotateHandleClass`. - -**Cursors:** - -Handler assigns `resize` cursors to handles. You can override that by setting `options.handlerOptions.setCursor` and `options.rotateHandleOptions.setCursor` to `false` - - -### Events - -Following events are fired on the transformed layer - -* **`rotatestart`, `rotate`, `rotateend`** - `{ rotation: }` -* **`scalestart`, `scale`, `scaleend`** - `{ scale: }` -* **`transformstart`, `transform`, `transformed`** - `{ rotation: ..., scale: ..., matrix: }` - - -### Dragging - -To control features dragging, see -[L.Path.Drag docs](https://github.com/w8r/Leaflet.Path.Drag). - -```js -polygon.dragging.disable(); -polygon.dragging.enable(); -``` - - - -### TODO - - - [ ] Tests - - [ ] Precision fix for rotation - - [x] Leaflet 1.x support - - [x] [Leaflet.Editable](https://github.com/Leaflet/Leaflet.Editable) adapter - - [ ] [Leaflet.draw](https://github.com/Leaflet/Leaflet.draw) adapter - - [x] Canvas renderer support - -### License - - Copyright (c) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/assets/index-BCYdgecX.js b/assets/index-BCYdgecX.js new file mode 100644 index 0000000..284d9b6 --- /dev/null +++ b/assets/index-BCYdgecX.js @@ -0,0 +1,8 @@ +(function(){const u=document.createElement("link").relList;if(u&&u.supports&&u.supports("modulepreload"))return;for(const d of document.querySelectorAll('link[rel="modulepreload"]'))f(d);new MutationObserver(d=>{for(const y of d)if(y.type==="childList")for(const g of y.addedNodes)g.tagName==="LINK"&&g.rel==="modulepreload"&&f(g)}).observe(document,{childList:!0,subtree:!0});function a(d){const y={};return d.integrity&&(y.integrity=d.integrity),d.referrerPolicy&&(y.referrerPolicy=d.referrerPolicy),d.crossOrigin==="use-credentials"?y.credentials="include":d.crossOrigin==="anonymous"?y.credentials="omit":y.credentials="same-origin",y}function f(d){if(d.ep)return;d.ep=!0;const y=a(d);fetch(d.href,y)}})();var $o=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Qo(h){return h&&h.__esModule&&Object.prototype.hasOwnProperty.call(h,"default")?h.default:h}var ni={exports:{}};/* @preserve + * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com + * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade + */(function(h,u){(function(a,f){f(u)})($o,function(a){var f="1.9.4";function d(t){var e,i,n,o;for(i=1,n=arguments.length;i"u"||!L||!L.Mixin)){t=st(t)?t:[t];for(var e=0;e0?Math.floor(t):Math.ceil(t)};b.prototype={clone:function(){return new b(this.x,this.y)},add:function(t){return this.clone()._add(P(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(P(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new b(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new b(this.x/t.x,this.y/t.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=li(this.x),this.y=li(this.y),this},distanceTo:function(t){t=P(t);var e=t.x-this.x,i=t.y-this.y;return Math.sqrt(e*e+i*i)},equals:function(t){return t=P(t),t.x===this.x&&t.y===this.y},contains:function(t){return t=P(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+Z(this.x)+", "+Z(this.y)+")"}};function P(t,e,i){return t instanceof b?t:st(t)?new b(t[0],t[1]):t==null?t:typeof t=="object"&&"x"in t&&"y"in t?new b(t.x,t.y):new b(t,e,i)}function D(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=J(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>=e.x&&n.x<=i.x,r=o.y>=e.y&&n.y<=i.y;return s&&r},overlaps:function(t){t=J(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>e.x&&n.xe.y&&n.y=e.lat&&o.lat<=i.lat&&n.lng>=e.lng&&o.lng<=i.lng},intersects:function(t){t=G(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=e.lat&&n.lat<=i.lat,r=o.lng>=e.lng&&n.lng<=i.lng;return s&&r},overlaps:function(t){t=G(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>e.lat&&n.late.lng&&n.lng1,Hn=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",k,e),window.removeEventListener("testPassiveEventSupport",k,e)}catch{}return t}(),Fn=function(){return!!document.createElement("canvas").getContext}(),Ee=!!(document.createElementNS&&di("svg").createSVGRect),Gn=!!Ee&&function(){var t=document.createElement("div");return t.innerHTML="",(t.firstChild&&t.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"}(),Wn=!Ee&&function(){try{var t=document.createElement("div");t.innerHTML='';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&typeof e.adj=="object"}catch{return!1}}(),Un=navigator.platform.indexOf("Mac")===0,jn=navigator.platform.indexOf("Linux")===0;function ht(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var w={ie:te,ielt9:Cn,edge:fi,webkit:Se,android:mi,android23:pi,androidStock:En,opera:Ce,chrome:gi,gecko:vi,safari:zn,phantom:yi,opera12:wi,win:On,ie3d:xi,webkit3d:ke,gecko3d:Pi,any3d:Zn,mobile:Rt,mobileWebkit:An,mobileWebkit3d:In,msPointer:Li,pointer:bi,touch:Bn,touchNative:Ti,mobileOpera:Dn,mobileGecko:Nn,retina:Rn,passiveEvents:Hn,canvas:Fn,svg:Ee,vml:Wn,inlineSvg:Gn,mac:Un,linux:jn},Mi=w.msPointer?"MSPointerDown":"pointerdown",Si=w.msPointer?"MSPointerMove":"pointermove",Ci=w.msPointer?"MSPointerUp":"pointerup",ki=w.msPointer?"MSPointerCancel":"pointercancel",ze={touchstart:Mi,touchmove:Si,touchend:Ci,touchcancel:ki},Ei={touchstart:Xn,touchmove:ee,touchend:ee,touchcancel:ee},Ct={},zi=!1;function qn(t,e,i){return e==="touchstart"&&Jn(),Ei[e]?(i=Ei[e].bind(this,i),t.addEventListener(ze[e],i,!1),i):(console.warn("wrong event specified:",e),k)}function Vn(t,e,i){if(!ze[e]){console.warn("wrong event specified:",e);return}t.removeEventListener(ze[e],i,!1)}function Kn(t){Ct[t.pointerId]=t}function Yn(t){Ct[t.pointerId]&&(Ct[t.pointerId]=t)}function Oi(t){delete Ct[t.pointerId]}function Jn(){zi||(document.addEventListener(Mi,Kn,!0),document.addEventListener(Si,Yn,!0),document.addEventListener(Ci,Oi,!0),document.addEventListener(ki,Oi,!0),zi=!0)}function ee(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){e.touches=[];for(var i in Ct)e.touches.push(Ct[i]);e.changedTouches=[e],t(e)}}function Xn(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&V(e),ee(t,e)}function $n(t){var e={},i,n;for(n in t)i=t[n],e[n]=i&&i.bind?i.bind(t):i;return t=e,e.type="dblclick",e.detail=2,e.isTrusted=!1,e._simulated=!0,e}var Qn=200;function to(t,e){t.addEventListener("dblclick",e);var i=0,n;function o(s){if(s.detail!==1){n=s.detail;return}if(!(s.pointerType==="mouse"||s.sourceCapabilities&&!s.sourceCapabilities.firesTouchEvents)){var r=Di(s);if(!(r.some(function(c){return c instanceof HTMLLabelElement&&c.attributes.for})&&!r.some(function(c){return c instanceof HTMLInputElement||c instanceof HTMLSelectElement}))){var l=Date.now();l-i<=Qn?(n++,n===2&&e($n(s))):n=1,i=l}}}return t.addEventListener("click",o),{dblclick:e,simDblclick:o}}function eo(t,e){t.removeEventListener("dblclick",e.dblclick),t.removeEventListener("click",e.simDblclick)}var Oe=oe(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),Ht=oe(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Zi=Ht==="webkitTransition"||Ht==="OTransition"?Ht+"End":"transitionend";function Ai(t){return typeof t=="string"?document.getElementById(t):t}function Ft(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!i||i==="auto")&&document.defaultView){var n=document.defaultView.getComputedStyle(t,null);i=n?n[e]:null}return i==="auto"?null:i}function O(t,e,i){var n=document.createElement(t);return n.className=e||"",i&&i.appendChild(n),n}function N(t){var e=t.parentNode;e&&e.removeChild(t)}function ie(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function kt(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function Et(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function Ze(t,e){if(t.classList!==void 0)return t.classList.contains(e);var i=ne(t);return i.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(i)}function M(t,e){if(t.classList!==void 0)for(var i=j(e),n=0,o=i.length;n0?2*window.devicePixelRatio:1;function Ri(t){return w.edge?t.wheelDeltaY/2:t.deltaY&&t.deltaMode===0?-t.deltaY/oo:t.deltaY&&t.deltaMode===1?-t.deltaY*20:t.deltaY&&t.deltaMode===2?-t.deltaY*60:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?-t.detail*20:t.detail?t.detail/-32765*60:0}function je(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch{return!1}return i!==t}var so={__proto__:null,on:T,off:B,stopPropagation:bt,disableScrollPropagation:Ue,disableClickPropagation:jt,preventDefault:V,stop:Tt,getPropagationPath:Di,getMousePosition:Ni,getWheelDelta:Ri,isExternalTarget:je,addListener:T,removeListener:B},Hi=Dt.extend({run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=Lt(t),this._offset=e.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=Y(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=this._duration*1e3;ethis.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),n=this._limitCenter(i,this._zoom,G(t));return i.equals(n)||this.panTo(n,e),this._enforcingBounds=!1,this},panInside:function(t,e){e=e||{};var i=P(e.paddingTopLeft||e.padding||[0,0]),n=P(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),s=this.project(t),r=this.getPixelBounds(),l=J([r.min.add(i),r.max.subtract(n)]),c=l.getSize();if(!l.contains(s)){this._enforcingBounds=!0;var _=s.subtract(l.getCenter()),p=l.extend(s).getSize().subtract(c);o.x+=_.x<0?-p.x:p.x,o.y+=_.y<0?-p.y:p.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=d({animate:!1,pan:!0},t===!0?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var i=this.getSize(),n=e.divideBy(2).round(),o=i.divideBy(2).round(),s=n.subtract(o);return!s.x&&!s.y?this:(t.animate&&t.pan?this.panBy(s):(t.pan&&this._rawPanBy(s),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(g(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=d({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=g(this._handleGeolocationResponse,this),i=g(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){if(this._container._leaflet_id){var e=t.code,i=t.message||(e===1?"permission denied":e===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})}},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e=t.coords.latitude,i=t.coords.longitude,n=new A(e,i),o=n.toBounds(t.coords.accuracy*2),s=this._locateOptions;if(s.setView){var r=this.getBoundsZoom(o);this.setView(n,s.maxZoom?Math.min(r,s.maxZoom):r)}var l={latlng:n,bounds:o,timestamp:t.timestamp};for(var c in t.coords)typeof t.coords[c]=="number"&&(l[c]=t.coords[c]);this.fire("locationfound",l)}},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),N(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(et(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var t;for(t in this._layers)this._layers[t].remove();for(t in this._panes)N(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var i="leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),n=O("div",i,e||this._mapPane);return t&&(this._panes[t]=n),n},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds(),e=this.unproject(t.getBottomLeft()),i=this.unproject(t.getTopRight());return new X(e,i)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=G(t),i=P(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),l=t.getSouthEast(),c=this.getSize().subtract(i),_=J(this.project(l,n),this.project(r,n)).getSize(),p=w.any3d?this.options.zoomSnap:1,x=c.x/_.x,C=c.y/_.y,K=e?Math.max(x,C):Math.min(x,C);return n=this.getScaleZoom(K,n),p&&(n=Math.round(n/(p/100))*(p/100),n=e?Math.ceil(n/p)*p:Math.floor(n/p)*p),Math.max(o,Math.min(s,n))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new b(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var i=this._getTopLeftPoint(t,e);return new D(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(t===void 0?this.getZoom():t)},getPane:function(t){return typeof t=="string"?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=e===void 0?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs;e=e===void 0?this._zoom:e;var n=i.zoom(t*i.scale(e));return isNaN(n)?1/0:n},project:function(t,e){return e=e===void 0?this._zoom:e,this.options.crs.latLngToPoint(E(t),e)},unproject:function(t,e){return e=e===void 0?this._zoom:e,this.options.crs.pointToLatLng(P(t),e)},layerPointToLatLng:function(t){var e=P(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){var e=this.project(E(t))._round();return e._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(E(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(G(t))},distance:function(t,e){return this.options.crs.distance(E(t),E(e))},containerPointToLayerPoint:function(t){return P(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return P(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(P(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(E(t)))},mouseEventToContainerPoint:function(t){return Ni(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=Ai(t);if(e){if(e._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");T(e,"scroll",this._onScroll,this),this._containerId=v(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&w.any3d,M(t,"leaflet-container"+(w.touch?" leaflet-touch":"")+(w.retina?" leaflet-retina":"")+(w.ielt9?" leaflet-oldie":"")+(w.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=Ft(t,"position");e!=="absolute"&&e!=="relative"&&e!=="fixed"&&e!=="sticky"&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),W(this._mapPane,new b(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(M(t.markerPane,"leaflet-zoom-hide"),M(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){W(this._mapPane,new b(0,0));var n=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var o=this._zoom!==e;this._moveStart(o,i)._move(t,e)._moveEnd(o),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){e===void 0&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return et(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){W(this._mapPane,this._getMapPanePos().subtract(t))},_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(t){this._targets={},this._targets[v(this._container)]=this;var e=t?B:T;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),w.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){et(this._resizeRequest),this._resizeRequest=Y(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i=[],n,o=e==="mouseout"||e==="mouseover",s=t.target||t.srcElement,r=!1;s;){if(n=this._targets[v(s)],n&&(e==="click"||e==="preclick")&&this._draggableMoved(n)){r=!0;break}if(n&&n.listens(e,!0)&&(o&&!je(s,t)||(i.push(n),o))||s===this._container)break;s=s.parentNode}return!i.length&&!r&&!o&&this.listens(e,!0)&&(i=[this]),i},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e=t.target||t.srcElement;if(!(!this._loaded||e._leaflet_disable_events||t.type==="click"&&this._isClickDisabled(e))){var i=t.type;i==="mousedown"&&Re(e),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){if(t.type==="click"){var n=d({},t);n.type="preclick",this._fireDOMEvent(n,n.type,i)}var o=this._findEventTargets(t,e);if(i){for(var s=[],r=0;r0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=w.any3d?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){F(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._trunc();return(e&&e.animate)!==!0&&!this.getSize().contains(i)?!1:(this.panBy(i,e),!0)},_createAnimProxy:function(){var t=this._proxy=O("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(e){var i=Oe,n=this._proxy.style[i];Pt(this._proxy,this.project(e.center,e.zoom),this.getZoomScale(e.zoom,1)),n===this._proxy.style[i]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){N(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();Pt(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||i.animate===!1||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),o=this._getCenterOffset(t)._divideBy(1-1/n);return i.animate!==!0&&!this.getSize().contains(o)?!1:(Y(function(){this._moveStart(!0,i.noMoveStart||!1)._animateZoom(t,e,!0)},this),!0)},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,M(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(g(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&F(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function ro(t,e){return new z(t,e)}var rt=dt.extend({options:{position:"topright"},initialize:function(t){I(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),n=t._controlCorners[i];return M(e,"leaflet-control"),i.indexOf("bottom")!==-1?n.insertBefore(e,n.firstChild):n.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(N(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),qt=function(t){return new rt(t)};z.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",i=this._controlContainer=O("div",e+"control-container",this._container);function n(o,s){var r=e+o+" "+e+s;t[o+s]=O("div",r,i)}n("top","left"),n("top","right"),n("bottom","left"),n("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)N(this._controlCorners[t]);N(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Fi=rt.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(v(t.target)),i=e.overlay?t.type==="add"?"overlayadd":"overlayremove":t.type==="add"?"baselayerchange":null;i&&this._map.fire(i,e)},_createRadioElement:function(t,e){var i='",n=document.createElement("div");return n.innerHTML=i,n.firstChild},_addItem:function(t){var e=document.createElement("label"),i=this._map.hasLayer(t.layer),n;t.overlay?(n=document.createElement("input"),n.type="checkbox",n.className="leaflet-control-layers-selector",n.defaultChecked=i):n=this._createRadioElement("leaflet-base-layers_"+v(this),i),this._layerControlInputs.push(n),n.layerId=v(t.layer),T(n,"click",this._onInputClick,this);var o=document.createElement("span");o.innerHTML=" "+t.name;var s=document.createElement("span");e.appendChild(s),s.appendChild(n),s.appendChild(o);var r=t.overlay?this._overlaysList:this._baseLayersList;return r.appendChild(e),this._checkDisabledLayers(),e},_onInputClick:function(){if(!this._preventClick){var t=this._layerControlInputs,e,i,n=[],o=[];this._handlingClick=!0;for(var s=t.length-1;s>=0;s--)e=t[s],i=this._getLayer(e.layerId).layer,e.checked?n.push(i):e.checked||o.push(i);for(s=0;s=0;o--)e=t[o],i=this._getLayer(e.layerId).layer,e.disabled=i.options.minZoom!==void 0&&ni.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section;this._preventClick=!0,T(t,"click",V),this.expand();var e=this;setTimeout(function(){B(t,"click",V),e._preventClick=!1})}}),ao=function(t,e,i){return new Fi(t,e,i)},qe=rt.extend({options:{position:"topleft",zoomInText:'',zoomInTitle:"Zoom in",zoomOutText:'',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=O("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.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(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){var s=O("a",i,n);return s.innerHTML=t,s.href="#",s.title=e,s.setAttribute("role","button"),s.setAttribute("aria-label",e),jt(s),T(s,"click",Tt),T(s,"click",o,this),T(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";F(this._zoomInButton,e),F(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||t._zoom===t.getMinZoom())&&(M(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||t._zoom===t.getMaxZoom())&&(M(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}});z.mergeOptions({zoomControl:!0}),z.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new qe,this.addControl(this.zoomControl))});var ho=function(t){return new qe(t)},Gi=rt.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=O("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=O("div",e,i)),t.imperial&&(this._iScale=O("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,i=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(i)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t),i=e<1e3?e+" m":e/1e3+" km";this._updateScale(this._mScale,i,e/t)},_updateImperial:function(t){var e=t*3.2808399,i,n,o;e>5280?(i=e/5280,n=this._getRoundNum(i),this._updateScale(this._iScale,n+" mi",n/i)):(o=this._getRoundNum(e),this._updateScale(this._iScale,o+" ft",o/e))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:1,e*i}}),uo=function(t){return new Gi(t)},lo='',Ve=rt.extend({options:{position:"bottomright",prefix:''+(w.inlineSvg?lo+" ":"")+"Leaflet"},initialize:function(t){I(this,t),this._attributions={}},onAdd:function(t){t.attributionControl=this,this._container=O("div","leaflet-control-attribution"),jt(this._container);for(var e in t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",function(){this.removeAttribution(t.layer.getAttribution())},this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(' ')}}});z.mergeOptions({attributionControl:!0}),z.addInitHook(function(){this.options.attributionControl&&new Ve().addTo(this)});var co=function(t){return new Ve(t)};rt.Layers=Fi,rt.Zoom=qe,rt.Scale=Gi,rt.Attribution=Ve,qt.layers=ao,qt.zoom=ho,qt.scale=uo,qt.attribution=co;var lt=dt.extend({initialize:function(t){this._map=t},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}});lt.addTo=function(t,e){return t.addHandler(e,this),this};var _o={Events:Q},Wi=w.touch?"touchstart mousedown":"mousedown",yt=Dt.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){I(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(T(this._dragStartTarget,Wi,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(yt._dragging===this&&this.finishDrag(!0),B(this._dragStartTarget,Wi,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(this._enabled&&(this._moved=!1,!Ze(this._element,"leaflet-zoom-anim"))){if(t.touches&&t.touches.length!==1){yt._dragging===this&&this.finishDrag();return}if(!(yt._dragging||t.shiftKey||t.which!==1&&t.button!==1&&!t.touches)&&(yt._dragging=this,this._preventOutline&&Re(this._element),Be(),Gt(),!this._moving)){this.fire("down");var e=t.touches?t.touches[0]:t,i=Ii(this._element);this._startPoint=new b(e.clientX,e.clientY),this._startPos=Lt(this._element),this._parentScale=He(i);var n=t.type==="mousedown";T(document,n?"mousemove":"touchmove",this._onMove,this),T(document,n?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(t){if(this._enabled){if(t.touches&&t.touches.length>1){this._moved=!0;return}var e=t.touches&&t.touches.length===1?t.touches[0]:t,i=new b(e.clientX,e.clientY)._subtract(this._startPoint);!i.x&&!i.y||Math.abs(i.x)+Math.abs(i.y)s&&(r=l,s=c);s>i&&(e[r]=1,Ye(t,e,i,n,r),Ye(t,e,i,r,o))}function go(t,e){for(var i=[t[0]],n=1,o=0,s=t.length;ne&&(i.push(t[n]),o=n);return oe.max.x&&(i|=2),t.ye.max.y&&(i|=8),i}function vo(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n}function Vt(t,e,i,n){var o=e.x,s=e.y,r=i.x-o,l=i.y-s,c=r*r+l*l,_;return c>0&&(_=((t.x-o)*r+(t.y-s)*l)/c,_>1?(o=i.x,s=i.y):_>0&&(o+=r*_,s+=l*_)),r=t.x-o,l=t.y-s,n?r*r+l*l:new b(o,s)}function nt(t){return!st(t[0])||typeof t[0][0]!="object"&&typeof t[0][0]<"u"}function Ji(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),nt(t)}function Xi(t,e){var i,n,o,s,r,l,c,_;if(!t||t.length===0)throw new Error("latlngs not passed");nt(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);var p=E([0,0]),x=G(t),C=x.getNorthWest().distanceTo(x.getSouthWest())*x.getNorthEast().distanceTo(x.getNorthWest());C<1700&&(p=Ke(t));var K=t.length,q=[];for(i=0;in){c=(s-n)/o,_=[l.x-c*(l.x-r.x),l.y-c*(l.y-r.y)];break}var $=e.unproject(P(_));return E([$.lat+p.lat,$.lng+p.lng])}var yo={__proto__:null,simplify:qi,pointToSegmentDistance:Vi,closestPointOnSegment:mo,clipSegment:Yi,_getEdgeIntersection:ae,_getBitCode:Mt,_sqClosestPointOnSegment:Vt,isFlat:nt,_flat:Ji,polylineCenter:Xi},Je={project:function(t){return new b(t.lng,t.lat)},unproject:function(t){return new A(t.y,t.x)},bounds:new D([-180,-90],[180,90])},Xe={R:6378137,R_MINOR:6356752314245179e-9,bounds:new D([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(t){var e=Math.PI/180,i=this.R,n=t.lat*e,o=this.R_MINOR/i,s=Math.sqrt(1-o*o),r=s*Math.sin(n),l=Math.tan(Math.PI/4-n/2)/Math.pow((1-r)/(1+r),s/2);return n=-i*Math.log(Math.max(l,1e-10)),new b(t.lng*e*i,n)},unproject:function(t){for(var e=180/Math.PI,i=this.R,n=this.R_MINOR/i,o=Math.sqrt(1-n*n),s=Math.exp(-t.y/i),r=Math.PI/2-2*Math.atan(s),l=0,c=.1,_;l<15&&Math.abs(c)>1e-7;l++)_=o*Math.sin(r),_=Math.pow((1-_)/(1+_),o/2),c=Math.PI/2-2*Math.atan(s*_)-r,r+=c;return new A(r*e,t.x*e/i)}},wo={__proto__:null,LonLat:Je,Mercator:Xe,SphericalMercator:Le},xo=d({},vt,{code:"EPSG:3395",projection:Xe,transformation:function(){var t=.5/(Math.PI*Xe.R);return Nt(t,.5,-t,.5)}()}),$i=d({},vt,{code:"EPSG:4326",projection:Je,transformation:Nt(1/180,1,-1/180,.5)}),Po=d({},_t,{projection:Je,transformation:Nt(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,n=e.lat-t.lat;return Math.sqrt(i*i+n*n)},infinite:!0});_t.Earth=vt,_t.EPSG3395=xo,_t.EPSG3857=Te,_t.EPSG900913=Sn,_t.EPSG4326=$i,_t.Simple=Po;var at=Dt.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[v(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[v(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var i=this.getEvents();e.on(i,this),this.once("remove",function(){e.off(i,this)},this)}this.onAdd(e),this.fire("add"),e.fire("layeradd",{layer:this})}}});z.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=v(t);return this._layers[e]?this:(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t),this)},removeLayer:function(t){var e=v(t);return this._layers[e]?(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return v(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){t=t?st(t)?t:[t]:[];for(var e=0,i=t.length;ethis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()=2&&e[0]instanceof A&&e[0].equals(e[i-1])&&e.pop(),e},_setLatLngs:function(t){mt.prototype._setLatLngs.call(this,t),nt(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return nt(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,i=new b(e,e);if(t=new D(t.min.subtract(i),t.max.add(i)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(t))){if(this.options.noClip){this._parts=this._rings;return}for(var n=0,o=this._rings.length,s;nt.y!=o.y>t.y&&t.x<(o.x-n.x)*(t.y-n.y)/(o.y-n.y)+n.x&&(e=!e);return e||mt.prototype._containsPoint.call(this,t,!0)}});function Eo(t,e){return new Zt(t,e)}var pt=ft.extend({initialize:function(t,e){I(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e=st(t)?t:t.features,i,n,o;if(e){for(i=0,n=e.length;i0&&o.push(o[0].slice()),o}function At(t,e){return t.feature?d({},t.feature,{geometry:e}):_e(e)}function _e(t){return t.type==="Feature"||t.type==="FeatureCollection"?t:{type:"Feature",properties:{},geometry:t}}var ei={toGeoJSON:function(t){return At(this,{type:"Point",coordinates:ti(this.getLatLng(),t)})}};he.include(ei),$e.include(ei),ue.include(ei),mt.include({toGeoJSON:function(t){var e=!nt(this._latlngs),i=de(this._latlngs,e?1:0,!1,t);return At(this,{type:(e?"Multi":"")+"LineString",coordinates:i})}}),Zt.include({toGeoJSON:function(t){var e=!nt(this._latlngs),i=e&&!nt(this._latlngs[0]),n=de(this._latlngs,i?2:e?1:0,!0,t);return e||(n=[n]),At(this,{type:(i?"Multi":"")+"Polygon",coordinates:n})}}),zt.include({toMultiPoint:function(t){var e=[];return this.eachLayer(function(i){e.push(i.toGeoJSON(t).geometry.coordinates)}),At(this,{type:"MultiPoint",coordinates:e})},toGeoJSON:function(t){var e=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(e==="MultiPoint")return this.toMultiPoint(t);var i=e==="GeometryCollection",n=[];return this.eachLayer(function(o){if(o.toGeoJSON){var s=o.toGeoJSON(t);if(i)n.push(s.geometry);else{var r=_e(s);r.type==="FeatureCollection"?n.push.apply(n,r.features):n.push(r)}}}),i?At(this,{geometries:n,type:"GeometryCollection"}):{type:"FeatureCollection",features:n}}});function en(t,e){return new pt(t,e)}var zo=en,fe=at.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,e,i){this._url=t,this._bounds=G(e),I(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(M(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){N(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&kt(this._image),this},bringToBack:function(){return this._map&&Et(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=G(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t=this._url.tagName==="IMG",e=this._image=t?this._url:O("img");if(M(e,"leaflet-image-layer"),this._zoomAnimated&&M(e,"leaflet-zoom-animated"),this.options.className&&M(e,this.options.className),e.onselectstart=k,e.onmousemove=k,e.onload=g(this.fire,this,"load"),e.onerror=g(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(e.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t){this._url=e.src;return}e.src=this._url,e.alt=this.options.alt},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),i=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;Pt(this._image,i,e)},_reset:function(){var t=this._image,e=new D(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=e.getSize();W(t,e.min),t.style.width=i.x+"px",t.style.height=i.y+"px"},_updateOpacity:function(){it(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)},getCenter:function(){return this._bounds.getCenter()}}),Oo=function(t,e,i){return new fe(t,e,i)},nn=fe.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var t=this._url.tagName==="VIDEO",e=this._image=t?this._url:O("video");if(M(e,"leaflet-image-layer"),this._zoomAnimated&&M(e,"leaflet-zoom-animated"),this.options.className&&M(e,this.options.className),e.onselectstart=k,e.onmousemove=k,e.onloadeddata=g(this.fire,this,"load"),t){for(var i=e.getElementsByTagName("source"),n=[],o=0;o0?n:[e.src];return}st(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted,e.playsInline=!!this.options.playsInline;for(var s=0;so?(e.height=o+"px",M(t,s)):F(t,s),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),i=this._getAnchor();W(this._container,e.add(i))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var t=this._map,e=parseInt(Ft(this._container,"marginBottom"),10)||0,i=this._container.offsetHeight+e,n=this._containerWidth,o=new b(this._containerLeft,-i-this._containerBottom);o._add(Lt(this._container));var s=t.layerPointToContainerPoint(o),r=P(this.options.autoPanPadding),l=P(this.options.autoPanPaddingTopLeft||r),c=P(this.options.autoPanPaddingBottomRight||r),_=t.getSize(),p=0,x=0;s.x+n+c.x>_.x&&(p=s.x+n-_.x+c.x),s.x-p-l.x<0&&(p=s.x-l.x),s.y+i+c.y>_.y&&(x=s.y+i-_.y+c.y),s.y-x-l.y<0&&(x=s.y-l.y),(p||x)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([p,x]))}},_getAnchor:function(){return P(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),Io=function(t,e){return new me(t,e)};z.mergeOptions({closePopupOnClick:!0}),z.include({openPopup:function(t,e,i){return this._initOverlay(me,t,e,i).openOn(this),this},closePopup:function(t){return t=arguments.length?t:this._popup,t&&t.close(),this}}),at.include({bindPopup:function(t,e){return this._popup=this._initOverlay(me,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),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(t){return this._popup&&(this instanceof ft||(this._popup._source=this),this._popup._prepareOpen(t||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){if(!(!this._popup||!this._map)){Tt(t);var e=t.layer||t.target;if(this._popup._source===e&&!(e instanceof wt)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng);return}this._popup._source=e,this.openPopup(t.latlng)}},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){t.originalEvent.keyCode===13&&this._openPopup(t)}});var pe=ct.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){ct.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){ct.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=ct.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip",e=t+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=O("div",e),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+v(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i,n=this._map,o=this._container,s=n.latLngToContainerPoint(n.getCenter()),r=n.layerPointToContainerPoint(t),l=this.options.direction,c=o.offsetWidth,_=o.offsetHeight,p=P(this.options.offset),x=this._getAnchor();l==="top"?(e=c/2,i=_):l==="bottom"?(e=c/2,i=0):l==="center"?(e=c/2,i=_/2):l==="right"?(e=0,i=_/2):l==="left"?(e=c,i=_/2):r.xthis.options.maxZoom||in?this._retainParent(o,s,r,n):!1)},_retainChildren:function(t,e,i,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*e;s<2*e+2;s++){var r=new b(o,s);r.z=i+1;var l=this._tileCoordsToKey(r),c=this._tiles[l];if(c&&c.active){c.retain=!0;continue}else c&&c.loaded&&(c.retain=!0);i+1this.options.maxZoom||this.options.minZoom!==void 0&&o1){this._setView(t,i);return}for(var x=o.min.y;x<=o.max.y;x++)for(var C=o.min.x;C<=o.max.x;C++){var K=new b(C,x);if(K.z=this._tileZoom,!!this._isValidTile(K)){var q=this._tiles[this._tileCoordsToKey(K)];q?q.current=!0:r.push(K)}}if(r.sort(function($,Bt){return $.distanceTo(s)-Bt.distanceTo(s)}),r.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var ot=document.createDocumentFragment();for(C=0;Ci.max.x)||!e.wrapLat&&(t.yi.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return G(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),o=n.add(i),s=e.unproject(n,t.z),r=e.unproject(o,t.z);return[s,r]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),i=new X(e[0],e[1]);return this.options.noWrap||(i=this._map.wrapLatLngBounds(i)),i},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),i=new b(+e[0],+e[1]);return i.z=+e[2],i},_removeTile:function(t){var e=this._tiles[t];e&&(N(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){M(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=k,t.onmousemove=k,w.ielt9&&this.options.opacity<1&&it(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),g(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&Y(g(this._tileReady,this,t,null,o)),W(o,i),this._tiles[n]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);i=this._tiles[n],i&&(i.loaded=+new Date,this._map._fadeAnimated?(it(i.el,0),et(this._fadeFrame),this._fadeFrame=Y(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(M(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),w.ielt9||!this._map._fadeAnimated?Y(this._pruneTiles,this):setTimeout(g(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new b(this._wrapX?H(t.x,this._wrapX):t.x,this._wrapY?H(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new D(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});function No(t){return new Yt(t)}var It=Yt.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,e=I(this,e),e.detectRetina&&w.retina&&e.maxZoom>0?(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom=Math.min(e.maxZoom,e.minZoom+1)):(e.zoomOffset++,e.maxZoom=Math.max(e.minZoom,e.maxZoom-1)),e.minZoom=Math.max(0,e.minZoom)):e.zoomReverse?e.minZoom=Math.min(e.maxZoom,e.minZoom):e.maxZoom=Math.max(e.minZoom,e.maxZoom),typeof e.subdomains=="string"&&(e.subdomains=e.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&e===void 0&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return T(i,"load",g(this._tileOnLoad,this,e,i)),T(i,"error",g(this._tileOnError,this,e,i)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(i.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(i.referrerPolicy=this.options.referrerPolicy),i.alt="",i.src=this.getTileUrl(t),i},getTileUrl:function(t){var e={r:w.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var i=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=i),e["-y"]=i}return ri(this._url,d(e,this.options))},_tileOnLoad:function(t,e){w.ielt9?setTimeout(g(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&&e.getAttribute("src")!==n&&(e.src=n),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom,i=this.options.zoomReverse,n=this.options.zoomOffset;return i&&(t=e-t),t+n},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)if(this._tiles[t].coords.z!==this._tileZoom&&(e=this._tiles[t].el,e.onload=k,e.onerror=k,!e.complete)){e.src=Qt;var i=this._tiles[t].coords;N(e),delete this._tiles[t],this.fire("tileabort",{tile:e,coords:i})}},_removeTile:function(t){var e=this._tiles[t];if(e)return e.el.setAttribute("src",Qt),Yt.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(!(!this._map||i&&i.getAttribute("src")===Qt))return Yt.prototype._tileReady.call(this,t,e,i)}});function rn(t,e){return new It(t,e)}var an=It.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i=d({},this.defaultWmsParams);for(var n in e)n in this.options||(i[n]=e[n]);e=I(this,e);var o=e.detectRetina&&w.retina?2:1,s=this.getTileSize();i.width=s.x*o,i.height=s.y*o,this.wmsParams=i},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[e]=this._crs.code,It.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,n=J(i.project(e[0]),i.project(e[1])),o=n.min,s=n.max,r=(this._wmsVersion>=1.3&&this._crs===$i?[o.y,o.x,s.y,s.x]:[o.x,o.y,s.x,s.y]).join(","),l=It.prototype.getTileUrl.call(this,t);return l+$t(this.wmsParams,l,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,e){return d(this.wmsParams,t),e||this.redraw(),this}});function Ro(t,e){return new an(t,e)}It.WMS=an,rn.wms=Ro;var gt=at.extend({options:{padding:.1},initialize:function(t){I(this,t),v(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),M(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 t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),s=n.multiplyBy(-i).add(o).subtract(this._map._getNewPixelOrigin(t,e));w.any3d?Pt(this._container,s,i):W(this._container,s)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var t in this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new D(i,i.add(e.multiplyBy(1+t*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),hn=gt.extend({options:{tolerance:0},getEvents:function(){var t=gt.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){gt.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");T(t,"mousemove",this._onMouseMove,this),T(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),T(t,"mouseout",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext("2d")},_destroyContainer:function(){et(this._redrawRequest),delete this._ctx,N(this._container),B(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var t;this._redrawBounds=null;for(var e in this._layers)t=this._layers[e],t._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){gt.prototype._update.call(this);var t=this._bounds,e=this._container,i=t.getSize(),n=w.retina?2:1;W(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",w.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){gt.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[v(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,n=e.prev;i?i.prev=n:this._drawLast=n,n?n.next=i:this._drawFirst=i,delete t._order,delete this._layers[v(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if(typeof t.options.dashArray=="string"){var e=t.options.dashArray.split(/[, ]+/),i=[],n,o;for(o=0;o')}}catch{}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),Ho={_initContainer:function(){this._container=O("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(gt.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=Jt("shape");M(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=Jt("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[v(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;N(e),t.removeInteractiveTarget(e),delete this._layers[v(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e||(e=t._stroke=Jt("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=st(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i||(i=t._fill=Jt("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,"+65535*360)},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){kt(t._container)},_bringToBack:function(t){Et(t._container)}},ge=w.vml?Jt:di,Xt=gt.extend({_initContainer:function(){this._container=ge("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=ge("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){N(this._container),B(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){gt.prototype._update.call(this);var t=this._bounds,e=t.getSize(),i=this._container;(!this._svgSize||!this._svgSize.equals(e))&&(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),W(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=ge("path");t.options.className&&M(e,t.options.className),t.options.interactive&&M(e,"leaflet-interactive"),this._updateStyle(t),this._layers[v(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){N(t._path),t.removeInteractiveTarget(t._path),delete this._layers[v(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,i=t.options;e&&(i.stroke?(e.setAttribute("stroke",i.color),e.setAttribute("stroke-opacity",i.opacity),e.setAttribute("stroke-width",i.weight),e.setAttribute("stroke-linecap",i.lineCap),e.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?e.setAttribute("stroke-dasharray",i.dashArray):e.removeAttribute("stroke-dasharray"),i.dashOffset?e.setAttribute("stroke-dashoffset",i.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),i.fill?(e.setAttribute("fill",i.fillColor||i.color),e.setAttribute("fill-opacity",i.fillOpacity),e.setAttribute("fill-rule",i.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,_i(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n=Math.max(Math.round(t._radiusY),1)||i,o="a"+i+","+n+" 0 1,0 ",s=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+o+i*2+",0 "+o+-i*2+",0 ";this._setPath(t,s)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){kt(t._path)},_bringToBack:function(t){Et(t._path)}});w.vml&&Xt.include(Ho);function ln(t){return w.svg||w.vml?new Xt(t):null}z.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if(t==="overlayPane"||t===void 0)return!1;var e=this._paneRenderers[t];return e===void 0&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&un(t)||ln(t)}});var cn=Zt.extend({initialize:function(t,e){Zt.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return t=G(t),[t.getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});function Fo(t,e){return new cn(t,e)}Xt.create=ge,Xt.pointsToPath=_i,pt.geometryToLayer=le,pt.coordsToLatLng=Qe,pt.coordsToLatLngs=ce,pt.latLngToCoords=ti,pt.latLngsToCoords=de,pt.getFeature=At,pt.asFeature=_e,z.mergeOptions({boxZoom:!0});var dn=lt.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){T(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){B(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){N(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(t){if(!t.shiftKey||t.which!==1&&t.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),Gt(),Be(),this._startPoint=this._map.mouseEventToContainerPoint(t),T(document,{contextmenu:Tt,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=O("div","leaflet-zoom-box",this._container),M(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new D(this._point,this._startPoint),i=e.getSize();W(this._box,e.min),this._box.style.width=i.x+"px",this._box.style.height=i.y+"px"},_finish:function(){this._moved&&(N(this._box),F(this._container,"leaflet-crosshair")),Wt(),De(),B(document,{contextmenu:Tt,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if(!(t.which!==1&&t.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(g(this._resetState,this),0);var e=new X(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){t.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});z.addInitHook("addHandler","boxZoom",dn),z.mergeOptions({doubleClickZoom:!0});var _n=lt.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,o=t.originalEvent.shiftKey?i-n:i+n;e.options.doubleClickZoom==="center"?e.setZoom(o):e.setZoomAround(t.containerPoint,o)}});z.addInitHook("addHandler","doubleClickZoom",_n),z.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var fn=lt.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new yt(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}M(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){F(this._map._container,"leaflet-grab"),F(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 t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=G(this._map.options.maxBounds);this._offsetLimit=J(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.xe.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,s=(n+e+i)%t-e-i,r=Math.abs(o+i)0?s:-s))-e;this._delta=0,this._startTime=null,r&&(t.options.scrollWheelZoom==="center"?t.setZoom(e+r):t.setZoomAround(this._lastMousePos,e+r))}});z.addInitHook("addHandler","scrollWheelZoom",pn);var Go=600;z.mergeOptions({tapHold:w.touchNative&&w.safari&&w.mobile,tapTolerance:15});var gn=lt.extend({addHooks:function(){T(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){B(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(clearTimeout(this._holdTimeout),t.touches.length===1){var e=t.touches[0];this._startPos=this._newPos=new b(e.clientX,e.clientY),this._holdTimeout=setTimeout(g(function(){this._cancel(),this._isTapValid()&&(T(document,"touchend",V),T(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",e))},this),Go),T(document,"touchend touchcancel contextmenu",this._cancel,this),T(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function t(){B(document,"touchend",V),B(document,"touchend touchcancel",t)},_cancel:function(){clearTimeout(this._holdTimeout),B(document,"touchend touchcancel contextmenu",this._cancel,this),B(document,"touchmove",this._onMove,this)},_onMove:function(t){var e=t.touches[0];this._newPos=new b(e.clientX,e.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,e){var i=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});i._simulated=!0,e.target.dispatchEvent(i)}});z.addInitHook("addHandler","tapHold",gn),z.mergeOptions({touchZoom:w.touch,bounceAtZoomLimits:!0});var vn=lt.extend({addHooks:function(){M(this._map._container,"leaflet-touch-zoom"),T(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){F(this._map._container,"leaflet-touch-zoom"),B(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(!(!t.touches||t.touches.length!==2||e._animatingZoom||this._zooming)){var i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),e.options.touchZoom!=="center"&&(this._pinchStartLatLng=e.containerPointToLatLng(i.add(n)._divideBy(2))),this._startDist=i.distanceTo(n),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),T(document,"touchmove",this._onTouchMove,this),T(document,"touchend touchcancel",this._onTouchEnd,this),V(t)}},_onTouchMove:function(t){if(!(!t.touches||t.touches.length!==2||!this._zooming)){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),o=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(o,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoome.getMaxZoom()&&o>1)&&(this._zoom=e._limitZoom(this._zoom)),e.options.touchZoom==="center"){if(this._center=this._startLatLng,o===1)return}else{var s=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(o===1&&s.x===0&&s.y===0)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(s),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),et(this._animRequest);var r=g(e._move,e,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=Y(r,this,!0),V(t)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,et(this._animRequest),B(document,"touchmove",this._onTouchMove,this),B(document,"touchend touchcancel",this._onTouchEnd,this),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))}});z.addInitHook("addHandler","touchZoom",vn),z.BoxZoom=dn,z.DoubleClickZoom=_n,z.Drag=fn,z.Keyboard=mn,z.ScrollWheelZoom=pn,z.TapHold=gn,z.TouchZoom=vn,a.Bounds=D,a.Browser=w,a.CRS=_t,a.Canvas=hn,a.Circle=$e,a.CircleMarker=ue,a.Class=dt,a.Control=rt,a.DivIcon=sn,a.DivOverlay=ct,a.DomEvent=so,a.DomUtil=no,a.Draggable=yt,a.Evented=Dt,a.FeatureGroup=ft,a.GeoJSON=pt,a.GridLayer=Yt,a.Handler=lt,a.Icon=Ot,a.ImageOverlay=fe,a.LatLng=A,a.LatLngBounds=X,a.Layer=at,a.LayerGroup=zt,a.LineUtil=yo,a.Map=z,a.Marker=he,a.Mixin=_o,a.Path=wt,a.Point=b,a.PolyUtil=fo,a.Polygon=Zt,a.Polyline=mt,a.Popup=me,a.PosAnimation=Hi,a.Projection=wo,a.Rectangle=cn,a.Renderer=gt,a.SVG=Xt,a.SVGOverlay=on,a.TileLayer=It,a.Tooltip=pe,a.Transformation=be,a.Util=Tn,a.VideoOverlay=nn,a.bind=g,a.bounds=J,a.canvas=un,a.circle=Co,a.circleMarker=So,a.control=qt,a.divIcon=Do,a.extend=d,a.featureGroup=bo,a.geoJSON=en,a.geoJson=zo,a.gridLayer=No,a.icon=To,a.imageOverlay=Oo,a.latLng=E,a.latLngBounds=G,a.layerGroup=Lo,a.map=ro,a.marker=Mo,a.point=P,a.polygon=Eo,a.polyline=ko,a.popup=Io,a.rectangle=Fo,a.setOptions=I,a.stamp=v,a.svg=ln,a.svgOverlay=Ao,a.tileLayer=rn,a.tooltip=Bo,a.transformation=Nt,a.version=f,a.videoOverlay=Zo;var Wo=window.L;a.noConflict=function(){return window.L=Wo,this},window.L=a})})(ni,ni.exports);var m=ni.exports;const ts=Qo(m);m.SVG.include({_resetTransformPath:function(h){h._path.setAttributeNS(null,"transform","")},transformPath:function(h,u){h._path.setAttributeNS(null,"transform","matrix("+u.join(" ")+")")}});m.SVG.include(m.Browser.vml?{_resetTransformPath:function(h){h._skew&&(h._skew.on=!1,h._path.removeChild(h._skew),h._skew=null)},transformPath:function(h,u){let a=h._skew;a||(a=m.SVG.create("skew"),h._path.appendChild(a),a.style.behavior="url(#default#VML)",h._skew=a);const f=u[0].toFixed(8)+" "+u[1].toFixed(8)+" "+u[2].toFixed(8)+" "+u[3].toFixed(8)+" 0 0",d=Math.floor(u[4]).toFixed()+", "+Math.floor(u[5]).toFixed(),y=this._path.style;let g=parseFloat(y.left),S=parseFloat(y.top),v=parseFloat(y.width),R=parseFloat(y.height);isNaN(g)&&(g=0),isNaN(S)&&(S=0),(isNaN(v)||!v)&&(v=1),(isNaN(R)||!R)&&(R=1);const H=(-g/v-.5).toFixed(8)+" "+(-S/R-.5).toFixed(8);a.on="f",a.matrix=f,a.origin=H,a.offset=d,a.on=!0}}:{});function es(){return!0}m.Canvas.include({_resetTransformPath:function(h){this._containerCopy&&(delete this._containerCopy,h._containsPoint_&&(h._containsPoint=h._containsPoint_,delete h._containsPoint_,this._requestRedraw(h)))},transformPath:function(h,u){let a=this._containerCopy;const f=this._ctx;let d;const y=m.Browser.retina?2:1,g=this._bounds,S=g.getSize(),v=g.min;a||(a=this._containerCopy=document.createElement("canvas"),d=a.getContext("2d"),a.width=y*S.x,a.height=y*S.y,this._removePath(h),this._redraw(),d.translate(y*g.min.x,y*g.min.y),d.drawImage(this._container,0,0),this._initPath(h),h._containsPoint_=h._containsPoint,h._containsPoint=es),f.save(),f.clearRect(v.x,v.y,S.x*y,S.y*y),f.setTransform(1,0,0,1,0,0),f.restore(),f.save(),f.drawImage(this._containerCopy,0,0,S.x,S.y),f.transform.apply(f,u),this._drawing=!0,h._updatePath(),this._drawing=!1,f.restore()}});/** + * Leaflet vector features drag functionality + * @author Alexander Milevski + * @preserve + */m.Path.include({_transform:function(h){return this._renderer&&(h?this._renderer.transformPath(this,h):(this._renderer._resetTransformPath(this),this._update())),this},_onMouseClick:function(h){this.dragging&&this.dragging.moved()||this._map.dragging&&this._map.dragging.moved()||this._fireMouseEvent(h)}});const is={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},ns={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"};function os(h,u){const a=h.x-u.x,f=h.y-u.y;return Math.sqrt(a*a+f*f)}m.Handler.PathDrag=m.Handler.extend({statics:{DRAGGING_CLS:"leaflet-path-draggable"},initialize:function(h){this._path=h,this._matrix=null,this._startPoint=null,this._dragStartPoint=null,this._mapDraggingWasEnabled=!1,this._path._dragMoved=!1},addHooks:function(){this._path.on("mousedown",this._onDragStart,this),this._path.options.className=this._path.options.className?this._path.options.className+" "+m.Handler.PathDrag.DRAGGING_CLS:m.Handler.PathDrag.DRAGGING_CLS,this._path._path&&m.DomUtil.addClass(this._path._path,m.Handler.PathDrag.DRAGGING_CLS)},removeHooks:function(){this._path.off("mousedown",this._onDragStart,this),this._path.options.className=this._path.options.className.replace(new RegExp("\\s+"+m.Handler.PathDrag.DRAGGING_CLS),""),this._path._path&&m.DomUtil.removeClass(this._path._path,m.Handler.PathDrag.DRAGGING_CLS)},moved:function(){return this._path._dragMoved},_onDragStart:function(h){const u=h.originalEvent._simulated?"touchstart":h.originalEvent.type;this._mapDraggingWasEnabled=!1,this._startPoint=h.containerPoint.clone(),this._dragStartPoint=h.containerPoint.clone(),this._matrix=[1,0,0,1,0,0],m.DomEvent.stop(h.originalEvent),m.DomUtil.addClass(this._path._renderer._container,"leaflet-interactive"),m.DomEvent.on(document,ns[u],this._onDrag,this).on(document,is[u],this._onDragEnd,this),this._path._map.dragging.enabled()&&(this._path._map.dragging.disable(),this._mapDraggingWasEnabled=!0),this._path._dragMoved=!1,this._path._popup&&this._path._popup.close(),this._replaceCoordGetters(h)},_onDrag:function(h){m.DomEvent.stop(h);const u=h.touches&&h.touches.length>=1?h.touches[0]:h,a=this._path._map.mouseEventToContainerPoint(u);if(h.type==="touchmove"&&!this._path._dragMoved&&this._dragStartPoint.distanceTo(a)<=this._path._map.options.tapTolerance)return;const f=a.x,d=a.y,y=f-this._startPoint.x,g=d-this._startPoint.y;(y||g)&&(this._path._dragMoved||(this._path._dragMoved=!0,this._path.options.interactive=!1,this._path._map.dragging._draggable._moved=!0,this._path.fire("dragstart",h),this._path.bringToFront()),this._matrix[4]+=y,this._matrix[5]+=g,this._startPoint.x=f,this._startPoint.y=d,this._path.fire("predrag",h),this._path._transform(this._matrix),this._path.fire("drag",h))},_onDragEnd:function(h){const u=this._path._map.mouseEventToContainerPoint(h),a=this.moved();if(a&&(this._transformPoints(this._matrix),this._path._updatePath(),this._path._project(),this._path._transform(null),m.DomEvent.stop(h)),m.DomEvent.off(document,"mousemove touchmove",this._onDrag,this),m.DomEvent.off(document,"mouseup touchend",this._onDragEnd,this),this._restoreCoordGetters(),a){this._path.fire("dragend",{distance:os(this._dragStartPoint,u)});const f=this._path._containsPoint;this._path._containsPoint=m.Util.falseFn,m.Util.requestAnimFrame(function(){this._path._dragMoved=!1,this._path.options.interactive=!0,this._path._containsPoint=f},this)}this._mapDraggingWasEnabled&&this._path._map.dragging.enable()},_transformPoints:function(h,u){const a=this._path,f=L.point(h[4],h[5]),d=a._map.options.crs,y=d.transformation,g=d.scale(a._map.getZoom()),S=d.projection,v=y.untransform(f,g).subtract(y.untransform(m.point(0,0),g)),R=!u;if(a._bounds=new m.LatLngBounds,a._point)u=S.unproject(S.project(a._latlng)._add(v)),R&&(a._latlng=u,a._point._add(f));else if(a._rings||a._parts){const H=a._rings||a._parts;let k=a._latlngs;u=u||k,m.Util.isArray(k[0])||(k=[k],u=[u]);for(let Z=0,tt=H.length;Z{var f=1+a/h.distanceTo(u);return new L.Point(h.x+(u.x-h.x)*f,h.y+(u.y-h.y)*f)},as=(...h)=>{var u=1,a,f,d=h[u];function y(S){return Object.prototype.toString.call(S)==="[object Object]"}for(var g=h[0];d;){d=h[u++];for(a in d)d.hasOwnProperty(a)&&(f=d[a],y(f)&&y(g[a])?g[a]=L.PathTransform.merge(g[a],f):g[a]=f)}return g};class xt{constructor(u,a,f,d,y,g){this._matrix=[u,a,f,d,y,g]}transform(u){return this._transform(u.clone())}_transform(u){const a=this._matrix,f=u.x,d=u.y;return u.x=a[0]*f+a[1]*d+a[4],u.y=a[2]*f+a[3]*d+a[5],u}untransform(u){const a=this._matrix;return new m.Point((u.x/a[0]-a[4])/a[0],(u.y/a[2]-a[5])/a[2])}clone(){const u=this._matrix;return new xt(u[0],u[1],u[2],u[3],u[4],u[5])}translate(u){if(u===void 0)return new m.Point(this._matrix[4],this._matrix[5]);let a,f;return typeof u=="number"?a=f=u:(a=u.x,f=u.y),this._add(1,0,0,1,a,f)}scale(u,a){if(u===void 0)return new m.Point(this._matrix[0],this._matrix[3]);let f,d;return a=a||new m.Point(0,0),typeof u=="number"?f=d=u:(f=u.x,d=u.y),this._add(f,0,0,d,a.x,a.y)._add(1,0,0,1,-a.x,-a.y)}rotate(u,a){const f=Math.cos(u),d=Math.sin(u);return a=a||new m.Point(0,0),this._add(f,d,-d,f,a.x,a.y)._add(1,0,0,1,-a.x,-a.y)}flip(){return this._matrix[1]*=-1,this._matrix[2]*=-1,this}_add(u,a,f,d,y,g){const S=[[],[],[]];let v=this._matrix;const R=[[v[0],v[2],v[4]],[v[1],v[3],v[5]],[0,0,1]];let H=[[u,f,y],[a,d,g],[0,0,1]],k;u&&u instanceof xt&&(v=u._matrix,H=[[v[0],v[2],v[4]],[v[1],v[3],v[5]],[0,0,1]]);for(let Z=0;Z<3;Z++)for(let tt=0;tt<3;tt++){k=0;for(let j=0;j<3;j++)k+=R[Z][j]*H[j][tt];S[Z][tt]=k}return this._matrix=[S[0][0],S[1][0],S[0][1],S[1][1],S[0][2],S[1][2]],this}}const ye=(h,u,a,f,d,y)=>new xt(h,u,a,f,d,y),hs=["nesw-resize","nwse-resize","nesw-resize","nwse-resize"],oi=m.CircleMarker.extend({options:{className:"leaflet-path-transform-handler"},onAdd:function(h){m.CircleMarker.prototype.onAdd.call(this,h),this._path&&this.options.setCursor&&(this._path.style.cursor=hs[this.options.index])}}),Pn=oi.extend({options:{className:"leaflet-path-transform-handler transform-handler--rotate"},onAdd(h){m.CircleMarker.prototype.onAdd.call(this,h),this._path&&this.options.setCursor&&(this._path.style.cursor="all-scroll")}}),si=m.Handler.extend({options:{rotation:!0,scaling:!0,uniformScaling:!0,maxZoom:22,handlerOptions:{radius:5,fillColor:"#ffffff",color:"#202020",fillOpacity:1,weight:2,opacity:.7,setCursor:!0},boundsOptions:{weight:1,opacity:1,dashArray:[3,3],fill:!1,noClip:!0},rotateHandleOptions:{weight:1,opacity:1,setCursor:!0},handleLength:20,edgesCount:4,handleClass:oi,rotateHandleClass:Pn},initialize(h){this._path=h,this._map=null,this._activeMarker=null,this._originMarker=null,this._rotationMarker=null,this._rotationOrigin=null,this._scaleOrigin=null,this._angle=0,this._scale=m.point(1,1),this._initialDist=0,this._initialDistX=0,this._initialDistY=0,this._rotationStart=null,this._rotationOriginPt=null,this._matrix=new xt(1,0,0,1,0,0),this._projectedMatrix=new xt(1,0,0,1,0,0),this._handlersGroup=null,this._rect=null,this._handlers=[],this._handleLine=null},enable(h){this._path._map&&(this._map=this._path._map,h&&this.setOptions(h),m.Handler.prototype.enable.call(this))},addHooks(){this._createHandlers(),this._path.on("dragstart",this._onDragStart,this).on("dragend",this._onDragEnd,this)},removeHooks(){this._hideHandlers(),this._path.off("dragstart",this._onDragStart,this).off("dragend",this._onDragEnd,this),this._handlersGroup=null,this._rect=null,this._handlers=[]},setOptions(h){const u=this._enabled;return u&&this.disable(),this.options=as({},si.prototype.options,h),u&&this.enable(),this},rotate(h,u){return this.transform(h,null,u)},scale(h,u){return typeof h=="number"&&(h=m.point(h,h)),this.transform(0,h,null,u)},transform(h,u,a,f){const d=this._path.getCenter();return a=a||d,f=f||d,this._map=this._path._map,this._transformPoints(this._path,h,u,a,f),this._transformPoints(this._rect,h,u,a,f),this._transformPoints(this._handleLine,h,u,a,f),this._updateHandlers(),this},_update(){const h=this._matrix;for(const u of this._handlers)u!==this._originMarker&&(u._point=h.transform(u._initialPoint),u._updatePath());this._applyTransform(h.clone().flip()),this._path.fire("transform",{layer:this._path})},_applyTransform(h){this._path._transform(h._matrix),this._rect._transform(h._matrix),this.options.rotation&&this._handleLine._transform(h._matrix)},_apply(){const h=this._map,u=this._matrix.clone(),a=this._angle,f=this._scale.clone();this._transformGeometries();for(const d of this._handlers)d._latlng=h.layerPointToLatLng(d._point),delete d._initialPoint,d.redraw();this._matrix=new xt(1,0,0,1,0,0),this._scale=m.point(1,1),this._angle=0,this._updateHandlers(),h.dragging.enable(),this._path.fire("transformed",{matrix:u,scale:f,rotation:a,layer:this._path})},reset(){this._enabled&&(this._rect&&(this._handlersGroup.removeLayer(this._rect),this._rect=this._getBoundingPolygon().addTo(this._handlersGroup)),this._updateHandlers())},_updateHandlers(){const h=this._handlersGroup;this._rectShape=this._rect.toGeoJSON(),this._handleLine&&this._handlersGroup.removeLayer(this._handleLine),this._rotationMarker&&this._handlersGroup.removeLayer(this._rotationMarker),this._handleLine=this._rotationMarker=null;for(let u=this._handlers.length-1;u>=0;u--)h.removeLayer(this._handlers[u]);this._createHandlers()},_transformGeometries(){this._path._transform(null),this._rect._transform(null),this._transformPoints(this._path),this._transformPoints(this._rect),this.options.rotation&&(this._handleLine._transform(null),this._transformPoints(this._handleLine,this._angle,null,this._origin))},_getProjectedMatrix(h,u,a,f){const d=this._map,y=d.getMaxZoom()||this.options.maxZoom;let g=ye(1,0,0,1,0,0),S;return h=h||this._angle||0,u=u||this._scale||m.point(1,1),u.x===1&&u.y===1||(f=f||this._scaleOrigin,S=d.project(f,y),g=g._add(ye(1,0,0,1,S.x,S.y))._add(ye(u.x,0,0,u.y,0,0))._add(ye(1,0,0,1,-S.x,-S.y))),h&&(a=a||this._rotationOrigin,S=d.project(a,y),g=g.rotate(h,S).flip()),g},_transformPoint(h,u,a,f){return a.unproject(u.transform(a.project(h,f)),f)},_transformPoints(h,u,a,f,d){const y=h._map,g=y.getMaxZoom()||this.options.maxZoom,S=this._projectedMatrix=this._getProjectedMatrix(u,a,f,d);if(h._point){h._latlng=this._transformPoint(h._latlng,S,y,g);const v=this._getBoundingPolygon(),R=Math.floor(Math.abs(v._bounds._southWest.lat-v._bounds._northEast.lat)/2);h.setRadius(R)}else if(h._rings||h._parts){const v=h._rings;let R=h._latlngs;h._bounds=new m.LatLngBounds,m.Util.isArray(R[0])||(R=[R]);for(let H=0,k=v.length;Hh.bringToFront());for(const h of this._handlers)h._initialPoint=h._point.clone()},_getBoundingPolygon(){return this._rectShape?m.GeoJSON.geometryToLayer(this._rectShape,this.options.boundsOptions):new m.Rectangle(this._path.getBounds(),this.options.boundsOptions)},_createHandler(h,u,a){const f=this.options.handleClass,d=new f(h,m.Util.extend({},this.options.handlerOptions,{className:"leaflet-drag-transform-marker drag-marker--"+a+" drag-marker--"+u,index:a,type:u}));return d.on("mousedown",this._onScaleStart,this),d},_hideHandlers(){this._map.removeLayer(this._handlersGroup)},_onDragStart(){this._hideHandlers()},_onDragEnd(h){const u=this._rect,a=(h.layer?h.layer:this._path).dragging._matrix.slice();u.dragging||(u.dragging=new ss(u)),u.dragging.enable(),this._map.addLayer(u),u.dragging._transformPoints(a),u._updatePath(),u._project(),u.dragging.disable(),this._map.addLayer(this._handlersGroup),this._updateHandlers(),this._path.fire("transformed",{scale:L.point(1,1),rotation:0,matrix:new xt(...a),translate:m.point(a[4],a[5]),layer:this._path})}});m.Handler.RotateHandle=Pn;m.Handler.Handle=oi;m.Path.addInitHook(function(){this.options.transform&&(this.transform=new si(this,this.options.transform))});ts.Handler.PathTransform=si;m.Icon.Default.imagePath="http://cdn.leafletjs.com/leaflet-0.7/images";var St=window.map=new m.Map("map",{}).setView([22.42658,114.1952],11);m.tileLayer("http://{s}.tile.osm.org/{z}/{x}/{y}.png",{attribution:'© OSM contributors'}).addTo(St);function us(h,u){var a=[];return h.forEach(function(f,d,y){if(a.push(f.concat()),dinput{position:absolute;overflow:hidden;padding:0;border:0;opacity:.001;z-index:1;vertical-align:top;outline:none}.button,.topcoat-button,.topcoat-button--quiet,.topcoat-button--large,.topcoat-button--large--quiet,.topcoat-button--cta,.topcoat-button--large--cta,.topcoat-button-bar__button,.topcoat-button-bar__button--large{position:relative;display:inline-block;vertical-align:top;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none}.button--disabled,.topcoat-button:disabled,.topcoat-button--quiet:disabled,.topcoat-button--large:disabled,.topcoat-button--large--quiet:disabled,.topcoat-button--cta:disabled,.topcoat-button--large--cta:disabled,.topcoat-button-bar__button:disabled,.topcoat-button-bar__button--large:disabled{opacity:.3;cursor:default;pointer-events:none}.topcoat-button,.topcoat-button--quiet,.topcoat-button--large,.topcoat-button--large--quiet,.topcoat-button--cta,.topcoat-button--large--cta,.topcoat-button-bar__button,.topcoat-button-bar__button--large{padding:0 .563rem;font-size:12px;line-height:1.313rem;letter-spacing:0;color:#454545;text-shadow:0 1px #fff;vertical-align:top;background-color:#e5e9e8;box-shadow:inset 0 1px #fff;border:1px solid #9daca9;border-radius:4px}.topcoat-button:hover,.topcoat-button--quiet:hover,.topcoat-button--large:hover,.topcoat-button--large--quiet:hover,.topcoat-button-bar__button:hover,.topcoat-button-bar__button--large:hover{background-color:#eff1f1}.topcoat-button:focus,.topcoat-button--quiet:focus,.topcoat-button--quiet:hover:focus,.topcoat-button--large:focus,.topcoat-button--large--quiet:focus,.topcoat-button--large--quiet:hover:focus,.topcoat-button--cta:focus,.topcoat-button--large--cta:focus,.topcoat-button-bar__button:focus,.topcoat-button-bar__button--large:focus{border:1px solid #0036ff;box-shadow:inset 0 1px #ffffff5c,0 0 0 2px #6fb5f1;outline:0}.topcoat-button:active,.topcoat-button--large:active,.topcoat-button-bar__button:active,.topcoat-button-bar__button--large:active,:checked+.topcoat-button-bar__button{border:1px solid #9daca9;background-color:#d2d6d6;box-shadow:inset 0 1px #0000001a}.topcoat-button--large,.topcoat-button--large--quiet,.topcoat-button-bar__button--large{font-size:.875rem;font-weight:600;line-height:1.688rem;padding:0 .875rem}.button-bar,.topcoat-button-bar{display:table;table-layout:fixed;white-space:nowrap;margin:0;padding:0}.button-bar__item,.topcoat-button-bar__item{display:table-cell;width:auto;border-radius:0}.button-bar__item>input,.topcoat-button-bar__item>input{position:absolute;overflow:hidden;padding:0;border:0;opacity:.001;z-index:1;vertical-align:top;outline:none}.topcoat-button-bar>.topcoat-button-bar__item:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.topcoat-button-bar>.topcoat-button-bar__item:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.topcoat-button-bar__item:first-child>.topcoat-button-bar__button,.topcoat-button-bar__item:first-child>.topcoat-button-bar__button--large{border-right:none}.topcoat-button-bar__item:last-child>.topcoat-button-bar__button,.topcoat-button-bar__item:last-child>.topcoat-button-bar__button--large{border-left:none}.topcoat-button-bar__button{border-radius:inherit}.topcoat-button-bar__button:focus,.topcoat-button-bar__button--large:focus{z-index:1}.topcoat-button-bar__button--large{border-radius:inherit}.button{position:relative;display:inline-block;vertical-align:top;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none}.button--disabled{opacity:.3;cursor:default;pointer-events:none}.button,.topcoat-button,.topcoat-button--quiet,.topcoat-button--large,.topcoat-button--large--quiet,.topcoat-button--cta,.topcoat-button--large--cta{position:relative;display:inline-block;vertical-align:top;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none}.button--disabled,.topcoat-button:disabled,.topcoat-button--quiet:disabled,.topcoat-button--large:disabled,.topcoat-button--large--quiet:disabled,.topcoat-button--cta:disabled,.topcoat-button--large--cta:disabled{opacity:.3;cursor:default;pointer-events:none}.topcoat-button,.topcoat-button--quiet,.topcoat-button--large,.topcoat-button--large--quiet,.topcoat-button--cta,.topcoat-button--large--cta{padding:0 .563rem;font-size:12px;line-height:1.313rem;letter-spacing:0;color:#454545;text-shadow:0 1px #fff;vertical-align:top;background-color:#e5e9e8;box-shadow:inset 0 1px #fff;border:1px solid #9daca9;border-radius:4px}.topcoat-button:hover,.topcoat-button--quiet:hover,.topcoat-button--large:hover,.topcoat-button--large--quiet:hover{background-color:#eff1f1}.topcoat-button:focus,.topcoat-button--quiet:focus,.topcoat-button--quiet:hover:focus,.topcoat-button--large:focus,.topcoat-button--large--quiet:focus,.topcoat-button--large--quiet:hover:focus,.topcoat-button--cta:focus,.topcoat-button--large--cta:focus{border:1px solid #0036ff;box-shadow:inset 0 1px #ffffff5c,0 0 0 2px #6fb5f1;outline:0}.topcoat-button:active,.topcoat-button--large:active{border:1px solid #9daca9;background-color:#d2d6d6;box-shadow:inset 0 1px #0000001a}.topcoat-button--quiet{background:transparent;border:1px solid transparent;box-shadow:none}.topcoat-button--quiet:hover,.topcoat-button--large--quiet:hover{text-shadow:0 1px #fff;border:1px solid #9daca9;box-shadow:inset 0 1px #fff}.topcoat-button--quiet:active,.topcoat-button--quiet:focus:active,.topcoat-button--large--quiet:active,.topcoat-button--large--quiet:focus:active{color:#454545;text-shadow:0 1px #fff;background-color:#d2d6d6;border:1px solid #9daca9;box-shadow:inset 0 1px #0000001a}.topcoat-button--large,.topcoat-button--large--quiet{font-size:.875rem;font-weight:600;line-height:1.688rem;padding:0 .875rem}.topcoat-button--large--quiet{background:transparent;border:1px solid transparent;box-shadow:none}.topcoat-button--cta,.topcoat-button--large--cta{border:1px solid #134f7f;background-color:#288edf;box-shadow:inset 0 1px #ffffff5c;color:#fff;font-weight:500;text-shadow:0 -1px rgba(0,0,0,.36)}.topcoat-button--cta:hover,.topcoat-button--large--cta:hover{background-color:#4ca1e4}.topcoat-button--cta:active,.topcoat-button--large--cta:active{background-color:#1e7dc8;box-shadow:inset 0 1px #0000001f}.topcoat-button--large--cta{font-size:.875rem;font-weight:600;line-height:1.688rem;padding:0 .875rem}.checkbox{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox__label{position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox--disabled{opacity:.3;cursor:default;pointer-events:none}.checkbox:before,.checkbox:after{content:"";position:absolute}.checkbox:before{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box}input[type=checkbox]{position:absolute;overflow:hidden;padding:0;border:0;opacity:.001;z-index:1;vertical-align:top;outline:none}.checkbox,.topcoat-checkbox__checkmark{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox__label,.topcoat-checkbox{position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox--disabled,input[type=checkbox]:disabled+.topcoat-checkbox__checkmark{opacity:.3;cursor:default;pointer-events:none}.checkbox:before,.checkbox:after,.topcoat-checkbox__checkmark:before,.topcoat-checkbox__checkmark:after{content:"";position:absolute}.checkbox:before,.topcoat-checkbox__checkmark:before{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box}.topcoat-checkbox__checkmark{height:1rem}input[type=checkbox]{height:1rem;width:1rem;margin-top:0;margin-right:-1rem;margin-bottom:-1rem;margin-left:0}input[type=checkbox]:checked+.topcoat-checkbox__checkmark:after{opacity:1}.topcoat-checkbox{line-height:1rem}.topcoat-checkbox__checkmark:before{width:1rem;height:1rem;background:#e5e9e8;border:1px solid #9daca9;border-radius:3px;box-shadow:inset 0 1px #fff}.topcoat-checkbox__checkmark{width:1rem;height:1rem}.topcoat-checkbox__checkmark:after{top:2px;left:1px;opacity:0;width:14px;height:4px;background:transparent;border:7px solid #454545;border-width:3px;border-top:none;border-right:none;border-radius:1px;-webkit-transform:rotate(-50deg);-ms-transform:rotate(-50deg);transform:rotate(-50deg)}input[type=checkbox]:focus+.topcoat-checkbox__checkmark:before{border:1px solid #0036ff;box-shadow:inset 0 1px #ffffff5c,0 0 0 2px #6fb5f1}input[type=checkbox]:active+.topcoat-checkbox__checkmark:before{border:1px solid #9daca9;background-color:#d2d6d6;box-shadow:inset 0 1px #0000001a}input[type=checkbox]:disabled:active+.topcoat-checkbox__checkmark:before{border:1px solid #9daca9;background:#e5e9e8;box-shadow:inset 0 1px #fff}.button,.topcoat-icon-button,.topcoat-icon-button--quiet,.topcoat-icon-button--large,.topcoat-icon-button--large--quiet{position:relative;display:inline-block;vertical-align:top;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none}.button--disabled,.topcoat-icon-button:disabled,.topcoat-icon-button--quiet:disabled,.topcoat-icon-button--large:disabled,.topcoat-icon-button--large--quiet:disabled{opacity:.3;cursor:default;pointer-events:none}.topcoat-icon-button,.topcoat-icon-button--quiet,.topcoat-icon-button--large,.topcoat-icon-button--large--quiet{padding:0 .25rem;line-height:1.313rem;letter-spacing:0;color:#454545;text-shadow:0 1px #fff;vertical-align:baseline;background-color:#e5e9e8;box-shadow:inset 0 1px #fff;border:1px solid #9daca9;border-radius:4px}.topcoat-icon-button:hover,.topcoat-icon-button--quiet:hover,.topcoat-icon-button--large:hover,.topcoat-icon-button--large--quiet:hover{background-color:#eff1f1}.topcoat-icon-button:focus,.topcoat-icon-button--quiet:focus,.topcoat-icon-button--quiet:hover:focus,.topcoat-icon-button--large:focus,.topcoat-icon-button--large--quiet:focus,.topcoat-icon-button--large--quiet:hover:focus{border:1px solid #0036ff;box-shadow:inset 0 1px #ffffff5c,0 0 0 2px #6fb5f1;outline:0}.topcoat-icon-button:active,.topcoat-icon-button--large:active{border:1px solid #9daca9;background-color:#d2d6d6;box-shadow:inset 0 1px #0000001a}.topcoat-icon-button--quiet{background:transparent;border:1px solid transparent;box-shadow:none}.topcoat-icon-button--quiet:hover,.topcoat-icon-button--large--quiet:hover{text-shadow:0 1px #fff;border:1px solid #9daca9;box-shadow:inset 0 1px #fff}.topcoat-icon-button--quiet:active,.topcoat-icon-button--quiet:focus:active,.topcoat-icon-button--large--quiet:active,.topcoat-icon-button--large--quiet:focus:active{color:#454545;text-shadow:0 1px #fff;background-color:#d2d6d6;border:1px solid #9daca9;box-shadow:inset 0 1px #0000001a}.topcoat-icon-button--large,.topcoat-icon-button--large--quiet{width:1.688rem;height:1.688rem;line-height:1.688rem}.topcoat-icon-button--large--quiet{background:transparent;border:1px solid transparent;box-shadow:none}.topcoat-icon,.topcoat-icon--large{position:relative;display:inline-block;vertical-align:top;overflow:hidden;width:.81406rem;height:.81406rem;vertical-align:middle;top:-1px}.topcoat-icon--large{width:1.06344rem;height:1.06344rem;top:-2px}.input{padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;vertical-align:top;outline:none}.input:disabled{opacity:.3;cursor:default;pointer-events:none}.list{padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:auto;-webkit-overflow-scrolling:touch}.list__header{margin:0}.list__container{padding:0;margin:0;list-style-type:none}.list__item{margin:0;padding:0}.navigation-bar{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;white-space:nowrap;overflow:hidden;word-spacing:0;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.navigation-bar__item{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;position:relative;display:inline-block;vertical-align:top;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none}.navigation-bar__title{padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notification,.topcoat-notification{position:relative;display:inline-block;vertical-align:top;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none}.topcoat-notification{padding:.15em .5em .2em;border-radius:2px;background-color:#ec514e;color:#fff}.radio-button{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.radio-button__label{position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.radio-button:before,.radio-button:after{content:"";position:absolute;border-radius:100%}.radio-button:after{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.radio-button:before{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box}.radio-button--disabled{opacity:.3;cursor:default;pointer-events:none}input[type=radio]{position:absolute;overflow:hidden;padding:0;border:0;opacity:.001;z-index:1;vertical-align:top;outline:none}.radio-button,.topcoat-radio-button__checkmark{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.radio-button__label,.topcoat-radio-button{position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.radio-button:before,.radio-button:after,.topcoat-radio-button__checkmark:before,.topcoat-radio-button__checkmark:after{content:"";position:absolute;border-radius:100%}.radio-button:after,.topcoat-radio-button__checkmark:after{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.radio-button:before,.topcoat-radio-button__checkmark:before{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box}.radio-button--disabled,input[type=radio]:disabled+.topcoat-radio-button__checkmark{opacity:.3;cursor:default;pointer-events:none}input[type=radio]{height:1.063rem;width:1.063rem;margin-top:0;margin-right:-1.063rem;margin-bottom:-1.063rem;margin-left:0}input[type=radio]:checked+.topcoat-radio-button__checkmark:after{opacity:1}.topcoat-radio-button{color:#454545;line-height:1.063rem}.topcoat-radio-button__checkmark:before{width:1.063rem;height:1.063rem;background:#e5e9e8;border:1px solid #9daca9;box-shadow:inset 0 1px #fff}.topcoat-radio-button__checkmark{position:relative;width:1.063rem;height:1.063rem}.topcoat-radio-button__checkmark:after{opacity:0;width:.313rem;height:.313rem;background:#454545;border:1px solid rgba(0,0,0,.1);box-shadow:0 1px #ffffff80;-webkit-transform:none;-ms-transform:none;transform:none;top:.313rem;left:.313rem}input[type=radio]:focus+.topcoat-radio-button__checkmark:before{border:1px solid #0036ff;box-shadow:inset 0 1px #ffffff5c,0 0 0 2px #6fb5f1}input[type=radio]:active+.topcoat-radio-button__checkmark:before{border:1px solid #9daca9;background-color:#d2d6d6;box-shadow:inset 0 1px #0000001a}input[type=radio]:disabled:active+.topcoat-radio-button__checkmark:before{border:1px solid #9daca9;background:#e5e9e8;box-shadow:inset 0 1px #fff}.range{padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;vertical-align:top;outline:none;-webkit-appearance:none}.range__thumb{cursor:pointer}.range__thumb--webkit{cursor:pointer;-webkit-appearance:none}.range:disabled{opacity:.3;cursor:default;pointer-events:none}.range,.topcoat-range{padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;vertical-align:top;outline:none;-webkit-appearance:none}.range__thumb,.topcoat-range::-moz-range-thumb{cursor:pointer}.range__thumb--webkit,.topcoat-range::-webkit-slider-thumb{cursor:pointer;-webkit-appearance:none}.range:disabled,.topcoat-range:disabled{opacity:.3;cursor:default;pointer-events:none}.topcoat-range{border:1px solid #9daca9;background-color:#d6dcdb;height:.5rem;border-radius:15px}.topcoat-range::-moz-range-track{border:1px solid #9daca9;background-color:#d6dcdb;height:.5rem;border-radius:15px}.topcoat-range::-webkit-slider-thumb{height:1.313rem;width:.75rem;background-color:#e5e9e8;border:1px solid #9daca9;border-radius:4px;box-shadow:inset 0 1px #fff}.topcoat-range::-moz-range-thumb{height:1.313rem;width:.75rem;background-color:#e5e9e8;border:1px solid #9daca9;border-radius:4px;box-shadow:inset 0 1px #fff}.topcoat-range:focus::-webkit-slider-thumb{border:1px solid #0036ff;box-shadow:inset 0 1px #ffffff5c,0 0 0 2px #6fb5f1}.topcoat-range:focus::-moz-range-thumb{border:1px solid #0036ff;box-shadow:inset 0 1px #ffffff5c,0 0 0 2px #6fb5f1}.topcoat-range:active::-webkit-slider-thumb{border:1px solid #9daca9;box-shadow:inset 0 1px #fff}.topcoat-range:active::-moz-range-thumb{border:1px solid #9daca9;box-shadow:inset 0 1px #fff}.search-input{padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;vertical-align:top;outline:none;-webkit-appearance:none}.search-input:disabled{opacity:.3;cursor:default;pointer-events:none}.search-input,.topcoat-search-input,.topcoat-search-input--large{padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;vertical-align:top;outline:none;-webkit-appearance:none}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.search-input:disabled,.topcoat-search-input:disabled,.topcoat-search-input--large:disabled{opacity:.3;cursor:default;pointer-events:none}.topcoat-search-input,.topcoat-search-input--large{line-height:1.313rem;height:1.313rem;font-size:12px;border:1px solid #9daca9;background-color:#fff;box-shadow:inset 0 1px #0000003b;color:#454545;padding:0 0 0 1.3rem;border-radius:15px;background-position:1rem center;background-repeat:no-repeat;background-size:12px}.topcoat-search-input:focus,.topcoat-search-input--large:focus{background-color:#fff;color:#454545;border:1px solid #0036ff;box-shadow:inset 0 1px #0000003b,0 0 0 2px #6fb5f1}.topcoat-search-input::-webkit-search-cancel-button,.topcoat-search-input::-webkit-search-decoration,.topcoat-search-input--large::-webkit-search-cancel-button,.topcoat-search-input--large::-webkit-search-decoration{margin-right:5px}.topcoat-search-input:focus::-webkit-input-placeholder{color:#c6c8c8}.topcoat-search-input:disabled::-webkit-input-placeholder{color:#454545}.topcoat-search-input:disabled::-moz-placeholder{color:#454545}.topcoat-search-input:disabled:-ms-input-placeholder{color:#454545}.topcoat-search-input--large{line-height:1.688rem;height:1.688rem;font-size:.875rem;font-weight:400;padding:0 0 0 1.8rem;border-radius:25px;background-position:1.2rem center;background-size:.875rem}.topcoat-search-input--large:disabled{color:#454545}.topcoat-search-input--large:disabled::-webkit-input-placeholder{color:#454545}.topcoat-search-input--large:disabled::-moz-placeholder{color:#454545}.topcoat-search-input--large:disabled:-ms-input-placeholder{color:#454545}.switch{position:relative;display:inline-block;vertical-align:top;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box}.switch__input{position:absolute;overflow:hidden;padding:0;border:0;opacity:.001;z-index:1;vertical-align:top;outline:none}.switch__toggle{position:relative;display:inline-block;vertical-align:top;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch__toggle:before,.switch__toggle:after{content:"";position:absolute;z-index:-1;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box}.switch--disabled{opacity:.3;cursor:default;pointer-events:none}.switch,.topcoat-switch{position:relative;display:inline-block;vertical-align:top;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box}.switch__input,.topcoat-switch__input{position:absolute;overflow:hidden;padding:0;border:0;opacity:.001;z-index:1;vertical-align:top;outline:none}.switch__toggle,.topcoat-switch__toggle{position:relative;display:inline-block;vertical-align:top;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch__toggle:before,.switch__toggle:after,.topcoat-switch__toggle:before,.topcoat-switch__toggle:after{content:"";position:absolute;z-index:-1;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box}.switch--disabled,.topcoat-switch__input:disabled+.topcoat-switch__toggle{opacity:.3;cursor:default;pointer-events:none}.topcoat-switch{font-size:12px;padding:0 .563rem;border-radius:4px;border:1px solid #9daca9;overflow:hidden;width:3.5rem}.topcoat-switch__toggle:before,.topcoat-switch__toggle:after{top:-1px;width:2.6rem}.topcoat-switch__toggle:before{content:"ON";color:#288edf;background-color:#e5f1fb;right:.8rem;padding-left:.75rem}.topcoat-switch__toggle{line-height:1.313rem;height:1.313rem;width:1rem;border-radius:4px;color:#454545;text-shadow:0 1px #fff;background-color:#e5e9e8;border:1px solid #9daca9;margin-left:-.6rem;margin-bottom:-1px;margin-top:-1px;box-shadow:inset 0 1px #fff;-webkit-transition:margin-left .05s ease-in-out;transition:margin-left .05s ease-in-out}.topcoat-switch__toggle:after{content:"OFF";background-color:#d2d6d6;left:.8rem;padding-left:.6rem}.topcoat-switch__input:checked+.topcoat-switch__toggle{margin-left:1.85rem}.topcoat-switch__input:active+.topcoat-switch__toggle{border:1px solid #9daca9;box-shadow:inset 0 1px #fff}.topcoat-switch__input:focus+.topcoat-switch__toggle{border:1px solid #0036ff;box-shadow:0 0 0 2px #6fb5f1}.topcoat-switch__input:disabled+.topcoat-switch__toggle:after,.topcoat-switch__input:disabled+.topcoat-switch__toggle:before{background:transparent}.button,.topcoat-tab-bar__button{position:relative;display:inline-block;vertical-align:top;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none}.button--quiet{background:transparent;border:1px solid transparent;box-shadow:none}.button--disabled,.topcoat-tab-bar__button:disabled{opacity:.3;cursor:default;pointer-events:none}.button-bar,.topcoat-tab-bar{display:table;table-layout:fixed;white-space:nowrap;margin:0;padding:0}.button-bar__item,.topcoat-tab-bar__item{display:table-cell;width:auto;border-radius:0}.button-bar__item>input,.topcoat-tab-bar__item>input{position:absolute;overflow:hidden;padding:0;border:0;opacity:.001;z-index:1;vertical-align:top;outline:none}.button-bar__button{border-radius:inherit}.button-bar__item:disabled{opacity:.3;cursor:default;pointer-events:none}.topcoat-tab-bar__button{padding:0 .563rem;height:1.313rem;line-height:1.313rem;letter-spacing:0;color:#454545;text-shadow:0 1px #fff;vertical-align:top;background-color:#e5e9e8;box-shadow:inset 0 1px #fff;border-top:1px solid #9daca9}.topcoat-tab-bar__button:active,.topcoat-tab-bar__button--large:active,:checked+.topcoat-tab-bar__button{color:#288edf;background-color:#e5f1fb;box-shadow:inset 0 0 1px #0000001a}.topcoat-tab-bar__button:focus,.topcoat-tab-bar__button--large:focus{z-index:1;box-shadow:inset 0 1px #ffffff5c,0 0 0 2px #6fb5f1;outline:0}.input,.topcoat-text-input,.topcoat-text-input--large{padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;vertical-align:top;outline:none}.input:disabled,.topcoat-text-input:disabled,.topcoat-text-input--large:disabled{opacity:.3;cursor:default;pointer-events:none}.topcoat-text-input,.topcoat-text-input--large{line-height:1.313rem;font-size:12px;letter-spacing:0;padding:0 .563rem;border:1px solid #9daca9;border-radius:4px;background-color:#fff;box-shadow:inset 0 1px #0000001a;color:#454545;vertical-align:top}.topcoat-text-input:focus,.topcoat-text-input--large:focus{background-color:#fff;color:#454545;border:1px solid #0036ff;box-shadow:0 0 0 2px #6fb5f1}.topcoat-text-input:disabled::-webkit-input-placeholder{color:#454545}.topcoat-text-input:disabled::-moz-placeholder{color:#454545}.topcoat-text-input:disabled:-ms-input-placeholder{color:#454545}.topcoat-text-input:invalid{border:1px solid #ec514e}.topcoat-text-input--large{line-height:1.688rem;font-size:.875rem}.topcoat-text-input--large:disabled{color:#454545}.topcoat-text-input--large:disabled::-webkit-input-placeholder{color:#454545}.topcoat-text-input--large:disabled::-moz-placeholder{color:#454545}.topcoat-text-input--large:disabled:-ms-input-placeholder{color:#454545}.topcoat-text-input--large:invalid{border:1px solid #ec514e}.textarea{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none;vertical-align:top;resize:none;outline:none}.textarea:disabled{opacity:.3;cursor:default;pointer-events:none}.textarea,.topcoat-textarea,.topcoat-textarea--large{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none;vertical-align:top;resize:none;outline:none}.textarea:disabled,.topcoat-textarea:disabled,.topcoat-textarea--large:disabled{opacity:.3;cursor:default;pointer-events:none}.topcoat-textarea,.topcoat-textarea--large{padding:1rem;font-size:1rem;font-weight:400;border-radius:4px;line-height:1.313rem;border:1px solid #9daca9;background-color:#fff;box-shadow:inset 0 1px #0000001a;color:#454545;letter-spacing:0}.topcoat-textarea:focus,.topcoat-textarea--large:focus{background-color:#fff;color:#454545;border:1px solid #0036ff;box-shadow:0 0 0 2px #6fb5f1}.topcoat-textarea:disabled::-webkit-input-placeholder{color:#454545}.topcoat-textarea:disabled::-moz-placeholder{color:#454545}.topcoat-textarea:disabled:-ms-input-placeholder{color:#454545}.topcoat-textarea--large{font-size:1.3rem;line-height:1.688rem}.topcoat-textarea--large:disabled{color:#454545}.topcoat-textarea--large:disabled::-webkit-input-placeholder{color:#454545}.topcoat-textarea--large:disabled::-moz-placeholder{color:#454545}.topcoat-textarea--large:disabled:-ms-input-placeholder{color:#454545}body{margin:0;padding:0;background:#dfe2e2;color:#000;font:16px "Source Sans 3",helvetica,arial,sans-serif;font-weight:400}:focus{outline-color:transparent;outline-style:none}.topcoat-icon--menu-stack{background-size:cover}.quarter{width:25%}.half{width:50%}.three-quarters{width:75%}.third{width:33.333%}.two-thirds{width:66.666%}.full{width:100%}.left{text-align:left}.center{text-align:center}.right{text-align:right}.reset-ui{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;position:relative;display:inline-block;vertical-align:top;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}html,body{margin:0;padding:0;background:#fff}h2,h3{font-weight:300}#map{width:100%;height:100%;display:block;float:left}#controls{display:block;position:absolute;top:10px;right:10px;background:#fff;box-shadow:0 1px 5px #000000a6;border-radius:4px;z-index:400}#controls p em{color:#888;font-size:.9em}#controls ul{padding-left:0;list-style:none}#controls .wrapper{padding:30px}#controls .github-button{color:#fff}@media screen and (max-width: 960px){#controls{display:block;z-index:999;bottom:0;left:0;right:0;max-height:300px;top:inherit;font-size:.75em}#controls .wrapper{padding:10px 20px}} diff --git a/dist/L.Path.Transform-src.js b/dist/L.Path.Transform-src.js deleted file mode 100644 index ff7417b..0000000 --- a/dist/L.Path.Transform-src.js +++ /dev/null @@ -1,1600 +0,0 @@ -/** - * Leaflet vector features drag functionality - * @author Alexander Milevski - * @preserve - */ - -/** - * Matrix transform path for SVG/VML - * Renderer-independent - */ -L.Path.include({ - - /** - * Applies matrix transformation to SVG - * @param {Array.?} matrix - */ - _transform: function(matrix) { - if (this._renderer) { - if (matrix) { - this._renderer.transformPath(this, matrix); - } else { - // reset transform matrix - this._renderer._resetTransformPath(this); - this._update(); - } - } - return this; - }, - - /** - * Check if the feature was dragged, that'll supress the click event - * on mouseup. That fixes popups for example - * - * @param {MouseEvent} e - */ - _onMouseClick: function(e) { - if ((this.dragging && this.dragging.moved()) || - (this._map.dragging && this._map.dragging.moved())) { - return; - } - - this._fireMouseEvent(e); - } - -}); -var END = { - mousedown: 'mouseup', - touchstart: 'touchend', - pointerdown: 'touchend', - MSPointerDown: 'touchend' -}; - -var MOVE = { - mousedown: 'mousemove', - touchstart: 'touchmove', - pointerdown: 'touchmove', - MSPointerDown: 'touchmove' -}; - -function distance(a, b) { - var dx = a.x - b.x, dy = a.y - b.y; - return Math.sqrt(dx * dx + dy * dy); -} - -/** - * Drag handler - * @class L.Path.Drag - * @extends {L.Handler} - */ -L.Handler.PathDrag = L.Handler.extend( /** @lends L.Path.Drag.prototype */ { - - statics: { - DRAGGING_CLS: 'leaflet-path-draggable', - }, - - - /** - * @param {L.Path} path - * @constructor - */ - initialize: function(path) { - - /** - * @type {L.Path} - */ - this._path = path; - - /** - * @type {Array.} - */ - this._matrix = null; - - /** - * @type {L.Point} - */ - this._startPoint = null; - - /** - * @type {L.Point} - */ - this._dragStartPoint = null; - - /** - * @type {Boolean} - */ - this._mapDraggingWasEnabled = false; - - }, - - /** - * Enable dragging - */ - addHooks: function() { - this._path.on('mousedown', this._onDragStart, this); - - this._path.options.className = this._path.options.className ? - (this._path.options.className + ' ' + L.Handler.PathDrag.DRAGGING_CLS) : - L.Handler.PathDrag.DRAGGING_CLS; - - if (this._path._path) { - L.DomUtil.addClass(this._path._path, L.Handler.PathDrag.DRAGGING_CLS); - } - }, - - /** - * Disable dragging - */ - removeHooks: function() { - this._path.off('mousedown', this._onDragStart, this); - - this._path.options.className = this._path.options.className - .replace(new RegExp('\\s+' + L.Handler.PathDrag.DRAGGING_CLS), ''); - if (this._path._path) { - L.DomUtil.removeClass(this._path._path, L.Handler.PathDrag.DRAGGING_CLS); - } - }, - - /** - * @return {Boolean} - */ - moved: function() { - return this._path._dragMoved; - }, - - /** - * Start drag - * @param {L.MouseEvent} evt - */ - _onDragStart: function(evt) { - var eventType = evt.originalEvent._simulated ? 'touchstart' : evt.originalEvent.type; - - this._mapDraggingWasEnabled = false; - this._startPoint = evt.containerPoint.clone(); - this._dragStartPoint = evt.containerPoint.clone(); - this._matrix = [1, 0, 0, 1, 0, 0]; - L.DomEvent.stop(evt.originalEvent); - - L.DomUtil.addClass(this._path._renderer._container, 'leaflet-interactive'); - L.DomEvent - .on(document, MOVE[eventType], this._onDrag, this) - .on(document, END[eventType], this._onDragEnd, this); - - if (this._path._map.dragging.enabled()) { - // I guess it's required because mousdown gets simulated with a delay - //this._path._map.dragging._draggable._onUp(evt); - - this._path._map.dragging.disable(); - this._mapDraggingWasEnabled = true; - } - this._path._dragMoved = false; - - if (this._path._popup) { // that might be a case on touch devices as well - this._path._popup._close(); - } - - this._replaceCoordGetters(evt); - }, - - /** - * Dragging - * @param {L.MouseEvent} evt - */ - _onDrag: function(evt) { - L.DomEvent.stop(evt); - - var first = (evt.touches && evt.touches.length >= 1 ? evt.touches[0] : evt); - var containerPoint = this._path._map.mouseEventToContainerPoint(first); - - // skip taps - if (evt.type === 'touchmove' && !this._path._dragMoved) { - var totalMouseDragDistance = this._dragStartPoint.distanceTo(containerPoint); - if (totalMouseDragDistance <= this._path._map.options.tapTolerance) { - return; - } - } - - var x = containerPoint.x; - var y = containerPoint.y; - - var dx = x - this._startPoint.x; - var dy = y - this._startPoint.y; - - // Send events only if point was moved - if (dx || dy) { - if (!this._path._dragMoved) { - this._path._dragMoved = true; - this._path.fire('dragstart', evt); - // we don't want that to happen on click - this._path.bringToFront(); - } - - this._matrix[4] += dx; - this._matrix[5] += dy; - - this._startPoint.x = x; - this._startPoint.y = y; - - this._path.fire('predrag', evt); - this._path._transform(this._matrix); - this._path.fire('drag', evt); - } - }, - - /** - * Dragging stopped, apply - * @param {L.MouseEvent} evt - */ - _onDragEnd: function(evt) { - var containerPoint = this._path._map.mouseEventToContainerPoint(evt); - var moved = this.moved(); - - // apply matrix - if (moved) { - this._transformPoints(this._matrix); - this._path._updatePath(); - this._path._project(); - this._path._transform(null); - - L.DomEvent.stop(evt); - } - - - L.DomEvent.off(document, 'mousemove touchmove', this._onDrag, this); - L.DomEvent.off(document, 'mouseup touchend', this._onDragEnd, this); - - this._restoreCoordGetters(); - - // consistency - if (moved) { - this._path.fire('dragend', { - distance: distance(this._dragStartPoint, containerPoint) - }); - - // hack for skipping the click in canvas-rendered layers - var contains = this._path._containsPoint; - this._path._containsPoint = L.Util.falseFn; - L.Util.requestAnimFrame(function() { - L.DomEvent.skipped({ type: 'click' }); - this._path._containsPoint = contains; - }, this); - } - - this._matrix = null; - this._startPoint = null; - this._dragStartPoint = null; - this._path._dragMoved = false; - - if (this._mapDraggingWasEnabled) { - if (moved) L.DomEvent.fakeStop({ type: 'click' }); - this._path._map.dragging.enable(); - } - }, - - - /** - * Applies transformation, does it in one sweep for performance, - * so don't be surprised about the code repetition. - * - * [ x ] [ a b tx ] [ x ] [ a * x + b * y + tx ] - * [ y ] = [ c d ty ] [ y ] = [ c * x + d * y + ty ] - * - * @param {Array.} matrix - */ - _transformPoints: function(matrix, dest) { - var path = this._path; - var i, len, latlng; - - var px = L.point(matrix[4], matrix[5]); - - var crs = path._map.options.crs; - var transformation = crs.transformation; - var scale = crs.scale(path._map.getZoom()); - var projection = crs.projection; - - var diff = transformation.untransform(px, scale) - .subtract(transformation.untransform(L.point(0, 0), scale)); - var applyTransform = !dest; - - path._bounds = new L.LatLngBounds(); - - // console.time('transform'); - // all shifts are in-place - if (path._point) { // L.Circle - dest = projection.unproject( - projection.project(path._latlng)._add(diff)); - if (applyTransform) { - path._latlng = dest; - path._point._add(px); - } - } else if (path._rings || path._parts) { // everything else - var rings = path._rings || path._parts; - var latlngs = path._latlngs; - dest = dest || latlngs; - if (!L.Util.isArray(latlngs[0])) { // polyline - latlngs = [latlngs]; - dest = [dest]; - } - for (i = 0, len = rings.length; i < len; i++) { - dest[i] = dest[i] || []; - for (var j = 0, jj = rings[i].length; j < jj; j++) { - latlng = latlngs[i][j]; - dest[i][j] = projection - .unproject(projection.project(latlng)._add(diff)); - if (applyTransform) { - path._bounds.extend(latlngs[i][j]); - rings[i][j]._add(px); - } - } - } - } - return dest; - // console.timeEnd('transform'); - }, - - - - /** - * If you want to read the latlngs during the drag - your right, - * but they have to be transformed - */ - _replaceCoordGetters: function() { - if (this._path.getLatLng) { // Circle, CircleMarker - this._path.getLatLng_ = this._path.getLatLng; - this._path.getLatLng = L.Util.bind(function() { - return this.dragging._transformPoints(this.dragging._matrix, {}); - }, this._path); - } else if (this._path.getLatLngs) { - this._path.getLatLngs_ = this._path.getLatLngs; - this._path.getLatLngs = L.Util.bind(function() { - return this.dragging._transformPoints(this.dragging._matrix, []); - }, this._path); - } - }, - - - /** - * Put back the getters - */ - _restoreCoordGetters: function() { - if (this._path.getLatLng_) { - this._path.getLatLng = this._path.getLatLng_; - delete this._path.getLatLng_; - } else if (this._path.getLatLngs_) { - this._path.getLatLngs = this._path.getLatLngs_; - delete this._path.getLatLngs_; - } - } - -}); - - -/** - * @param {L.Path} layer - * @return {L.Path} - */ -L.Handler.PathDrag.makeDraggable = function(layer) { - layer.dragging = new L.Handler.PathDrag(layer); - return layer; -}; - - -/** - * Also expose as a method - * @return {L.Path} - */ -L.Path.prototype.makeDraggable = function() { - return L.Handler.PathDrag.makeDraggable(this); -}; - - -L.Path.addInitHook(function() { - if (this.options.draggable) { - // ensure interactive - this.options.interactive = true; - - if (this.dragging) { - this.dragging.enable(); - } else { - L.Handler.PathDrag.makeDraggable(this); - this.dragging.enable(); - } - } else if (this.dragging) { - this.dragging.disable(); - } -}); -L.SVG.include({ - - /** - * Reset transform matrix - */ - _resetTransformPath: function(layer) { - layer._path.setAttributeNS(null, 'transform', ''); - }, - - /** - * Applies matrix transformation to SVG - * @param {L.Path} layer - * @param {Array.} matrix - */ - transformPath: function(layer, matrix) { - layer._path.setAttributeNS(null, 'transform', - 'matrix(' + matrix.join(' ') + ')'); - } - -}); -L.SVG.include(!L.Browser.vml ? {} : { - - /** - * Reset transform matrix - */ - _resetTransformPath: function(layer) { - if (layer._skew) { - // super important! workaround for a 'jumping' glitch: - // disable transform before removing it - layer._skew.on = false; - layer._path.removeChild(layer._skew); - layer._skew = null; - } - }, - - /** - * Applies matrix transformation to VML - * @param {L.Path} layer - * @param {Array.} matrix - */ - transformPath: function(layer, matrix) { - var skew = layer._skew; - - if (!skew) { - skew = L.SVG.create('skew'); - layer._path.appendChild(skew); - skew.style.behavior = 'url(#default#VML)'; - layer._skew = skew; - } - - // handle skew/translate separately, cause it's broken - var mt = matrix[0].toFixed(8) + ' ' + matrix[1].toFixed(8) + ' ' + - matrix[2].toFixed(8) + ' ' + matrix[3].toFixed(8) + ' 0 0'; - var offset = Math.floor(matrix[4]).toFixed() + ', ' + - Math.floor(matrix[5]).toFixed() + ''; - - var s = this._path.style; - var l = parseFloat(s.left); - var t = parseFloat(s.top); - var w = parseFloat(s.width); - var h = parseFloat(s.height); - - if (isNaN(l)) l = 0; - if (isNaN(t)) t = 0; - if (isNaN(w) || !w) w = 1; - if (isNaN(h) || !h) h = 1; - - var origin = (-l / w - 0.5).toFixed(8) + ' ' + (-t / h - 0.5).toFixed(8); - - skew.on = 'f'; - skew.matrix = mt; - skew.origin = origin; - skew.offset = offset; - skew.on = true; - } - -}); -function TRUE_FN () { return true; } - -L.Canvas.include({ - - /** - * Do nothing - * @param {L.Path} layer - */ - _resetTransformPath: function(layer) { - if (!this._containerCopy) return; - - delete this._containerCopy; - - if (layer._containsPoint_) { - layer._containsPoint = layer._containsPoint_; - delete layer._containsPoint_; - - this._requestRedraw(layer); - } - }, - - - /** - * Algorithm outline: - * - * 1. pre-transform - clear the path out of the canvas, copy canvas state - * 2. at every frame: - * 2.1. save - * 2.2. redraw the canvas from saved one - * 2.3. transform - * 2.4. draw path - * 2.5. restore - * 3. Repeat - * - * @param {L.Path} layer - * @param {Array.} matrix - */ - transformPath: function(layer, matrix) { - var copy = this._containerCopy; - var ctx = this._ctx, copyCtx; - var m = L.Browser.retina ? 2 : 1; - var bounds = this._bounds; - var size = bounds.getSize(); - var pos = bounds.min; - - if (!copy) { // get copy of all rendered layers - copy = this._containerCopy = document.createElement('canvas'); - copyCtx = copy.getContext('2d'); - // document.body.appendChild(copy); - - copy.width = m * size.x; - copy.height = m * size.y; - - this._removePath(layer); - this._redraw(); - - copyCtx.translate(m * bounds.min.x, m * bounds.min.y); - copyCtx.drawImage(this._container, 0, 0); - this._initPath(layer); - - // avoid flickering because of the 'mouseover's - layer._containsPoint_ = layer._containsPoint; - layer._containsPoint = TRUE_FN; - } - - ctx.save(); - ctx.clearRect(pos.x, pos.y, size.x * m, size.y * m); - ctx.setTransform(1, 0, 0, 1, 0, 0); - ctx.restore(); - ctx.save(); - - ctx.drawImage(this._containerCopy, 0, 0, size.x, size.y); - ctx.transform.apply(ctx, matrix); - - // now draw one layer only - this._drawing = true; - layer._updatePath(); - this._drawing = false; - - ctx.restore(); - } - -}); -/** - * Drag/rotate/resize handler for [leaflet](http://leafletjs.com) vector features. - * - * @author Alexander Milevski - * @license MIT - * @preserve - */ -/** - * @namespace - * @type {Object} - */ -L.PathTransform = {}; - -/** - * Point on the line segment or its extention - * - * @param {L.Point} start - * @param {L.Point} final - * @param {Number} distPx - * @return {L.Point} - */ -L.PathTransform.pointOnLine = function(start, final, distPx) { - var ratio = 1 + distPx / start.distanceTo(final); - return new L.Point( - start.x + (final.x - start.x) * ratio, - start.y + (final.y - start.y) * ratio - ); -}; - - -/** - * Deep merge objects. - */ -L.PathTransform.merge = function() { - var i = 1; - var key, val; - var obj = arguments[i]; - - function isObject(object) { - return Object.prototype.toString.call(object) === '[object Object]'; - } - - // make sure we don't modify source element and it's properties - // objects are passed by reference - var target = arguments[0]; - - while (obj) { - obj = arguments[i++]; - for (key in obj) { - if (!obj.hasOwnProperty(key)) { - continue; - } - - val = obj[key]; - - if (isObject(val) && isObject(target[key])){ - target[key] = L.Util.merge(target[key], val); - } else { - target[key] = val; - } - } - } - return target; -}; -/** - * @class L.Matrix - * - * @param {Number} a - * @param {Number} b - * @param {Number} c - * @param {Number} d - * @param {Number} e - * @param {Number} f - */ -L.Matrix = function(a, b, c, d, e, f) { - - /** - * @type {Array.} - */ - this._matrix = [a, b, c, d, e, f]; -}; - - -L.Matrix.prototype = { - - - /** - * @param {L.Point} point - * @return {L.Point} - */ - transform: function(point) { - return this._transform(point.clone()); - }, - - - /** - * Destructive - * - * [ x ] = [ a b tx ] [ x ] = [ a * x + b * y + tx ] - * [ y ] = [ c d ty ] [ y ] = [ c * x + d * y + ty ] - * - * @param {L.Point} point - * @return {L.Point} - */ - _transform: function(point) { - var matrix = this._matrix; - var x = point.x, y = point.y; - point.x = matrix[0] * x + matrix[1] * y + matrix[4]; - point.y = matrix[2] * x + matrix[3] * y + matrix[5]; - return point; - }, - - - /** - * @param {L.Point} point - * @return {L.Point} - */ - untransform: function (point) { - var matrix = this._matrix; - return new L.Point( - (point.x / matrix[0] - matrix[4]) / matrix[0], - (point.y / matrix[2] - matrix[5]) / matrix[2] - ); - }, - - - /** - * @return {L.Matrix} - */ - clone: function() { - var matrix = this._matrix; - return new L.Matrix( - matrix[0], matrix[1], matrix[2], - matrix[3], matrix[4], matrix[5] - ); - }, - - - /** - * @param {L.Point=|Number=} translate - * @return {L.Matrix|L.Point} - */ - translate: function(translate) { - if (translate === undefined) { - return new L.Point(this._matrix[4], this._matrix[5]); - } - - var translateX, translateY; - if (typeof translate === 'number') { - translateX = translateY = translate; - } else { - translateX = translate.x; - translateY = translate.y; - } - - return this._add(1, 0, 0, 1, translateX, translateY); - }, - - - /** - * @param {L.Point=|Number=} scale - * @return {L.Matrix|L.Point} - */ - scale: function(scale, origin) { - if (scale === undefined) { - return new L.Point(this._matrix[0], this._matrix[3]); - } - - var scaleX, scaleY; - origin = origin || L.point(0, 0); - if (typeof scale === 'number') { - scaleX = scaleY = scale; - } else { - scaleX = scale.x; - scaleY = scale.y; - } - - return this - ._add(scaleX, 0, 0, scaleY, origin.x, origin.y) - ._add(1, 0, 0, 1, -origin.x, -origin.y); - }, - - - /** - * m00 m01 x - m00 * x - m01 * y - * m10 m11 y - m10 * x - m11 * y - * @param {Number} angle - * @param {L.Point=} origin - * @return {L.Matrix} - */ - rotate: function(angle, origin) { - var cos = Math.cos(angle); - var sin = Math.sin(angle); - - origin = origin || new L.Point(0, 0); - - return this - ._add(cos, sin, -sin, cos, origin.x, origin.y) - ._add(1, 0, 0, 1, -origin.x, -origin.y); - }, - - - /** - * Invert rotation - * @return {L.Matrix} - */ - flip: function() { - this._matrix[1] *= -1; - this._matrix[2] *= -1; - return this; - }, - - - /** - * @param {Number|L.Matrix} a - * @param {Number} b - * @param {Number} c - * @param {Number} d - * @param {Number} e - * @param {Number} f - */ - _add: function(a, b, c, d, e, f) { - var result = [[], [], []]; - var src = this._matrix; - var m = [ - [src[0], src[2], src[4]], - [src[1], src[3], src[5]], - [ 0, 0, 1] - ]; - var other = [ - [a, c, e], - [b, d, f], - [0, 0, 1] - ], val; - - - if (a && a instanceof L.Matrix) { - src = a._matrix; - other = [ - [src[0], src[2], src[4]], - [src[1], src[3], src[5]], - [ 0, 0, 1]]; - } - - for (var i = 0; i < 3; i++) { - for (var j = 0; j < 3; j++) { - val = 0; - for (var k = 0; k < 3; k++) { - val += m[i][k] * other[k][j]; - } - result[i][j] = val; - } - } - - this._matrix = [ - result[0][0], result[1][0], result[0][1], - result[1][1], result[0][2], result[1][2] - ]; - return this; - } - - -}; - - -L.matrix = function(a, b, c, d, e, f) { - return new L.Matrix(a, b, c, d, e, f); -}; - - -/** - * Marker handler - * @extends {L.CircleMarker} - */ -L.PathTransform.Handle = L.CircleMarker.extend({ - options: { - className: 'leaflet-path-transform-handler' - }, - - onAdd: function (map) { - L.CircleMarker.prototype.onAdd.call(this, map); - if (this._path && this.options.setCursor) { // SVG/VML - this._path.style.cursor = L.PathTransform.Handle.CursorsByType[ - this.options.index - ]; - } - } -}); - - -/** - * @const - * @type {Array} - */ -L.PathTransform.Handle.CursorsByType = [ - 'nesw-resize', 'nwse-resize', 'nesw-resize', 'nwse-resize' -]; - - -/** - * @extends {L.Handler.PathTransform.Handle} - */ -L.PathTransform.RotateHandle = L.PathTransform.Handle.extend({ - options: { - className: 'leaflet-path-transform-handler transform-handler--rotate' - }, - - onAdd: function (map) { - L.CircleMarker.prototype.onAdd.call(this, map); - if (this._path && this.options.setCursor) { // SVG/VML - this._path.style.cursor = 'all-scroll'; - } - } -}); - -L.Handler.PathTransform = L.Handler.extend({ - - options: { - rotation: true, - scaling: true, - uniformScaling: true, - maxZoom: 22, - - // edge handlers - handlerOptions: { - radius: 5, - fillColor: '#ffffff', - color: '#202020', - fillOpacity: 1, - weight: 2, - opacity: 0.7, - setCursor: true - }, - - // rectangle - boundsOptions: { - weight: 1, - opacity: 1, - dashArray: [3, 3], - fill: false - }, - - // rotation handler - rotateHandleOptions: { - weight: 1, - opacity: 1, - setCursor: true - }, - // rotation handle length - handleLength: 20, - - // maybe I'll add skewing in the future - edgesCount: 4, - - handleClass: L.PathTransform.Handle, - rotateHandleClass: L.PathTransform.RotateHandle - }, - - - /** - * @class L.Handler.PathTransform - * @constructor - * @param {L.Path} path - */ - initialize: function(path) { - // references - this._path = path; - this._map = null; - - // handlers - this._activeMarker = null; - this._originMarker = null; - this._rotationMarker = null; - - // origins & temporary state - this._rotationOrigin = null; - this._scaleOrigin = null; - this._angle = 0; - this._scale = L.point(1, 1); - this._initialDist = 0; - this._initialDistX = 0; - this._initialDistY = 0; - this._rotationStart = null; - this._rotationOriginPt = null; - - // preview and transform matrix - this._matrix = new L.Matrix(1, 0, 0, 1, 0, 0); - this._projectedMatrix = new L.Matrix(1, 0, 0, 1, 0, 0); - - // ui elements - this._handlersGroup = null; - this._rect = null; - this._handlers = []; - this._handleLine = null; - }, - - - /** - * If the polygon is not rendered, you can transform it yourself - * in the coordinates, and do it properly. - * @param {Object=} options - */ - enable: function(options) { - if (this._path._map) { - this._map = this._path._map; - if (options) { - this.setOptions(options); - } - L.Handler.prototype.enable.call(this); - } - }, - - - /** - * Init interactions and handlers - */ - addHooks: function() { - this._createHandlers(); - this._path - .on('dragstart', this._onDragStart, this) - .on('dragend', this._onDragEnd, this); - }, - - - /** - * Remove handlers - */ - removeHooks: function() { - this._hideHandlers(); - this._path - .off('dragstart', this._onDragStart, this) - .off('dragend', this._onDragEnd, this); - this._handlersGroup = null; - this._rect = null; - this._handlers = []; - }, - - - /** - * Change editing options - * @param {Object} options - */ - setOptions: function(options) { - var enabled = this._enabled; - if (enabled) { - this.disable(); - } - - this.options = L.PathTransform.merge({}, - L.Handler.PathTransform.prototype.options, - options); - - if (enabled) { - this.enable(); - } - - return this; - }, - - - /** - * @param {Number} angle - * @param {L.LatLng} origin - * @return {L.Handler.PathTransform} - */ - rotate: function(angle, origin) { - return this.transform(angle, null, origin); - }, - - - /** - * @param {L.Point|Number} scale - * @param {L.LatLng} origin - * @return {L.Handler.PathTransform} - */ - scale: function(scale, origin) { - if (typeof scale === 'number') { - scale = L.point(scale, scale); - } - return this.transform(0, scale, null, origin); - }, - - - /** - * @param {Number} angle - * @param {L.Point} scale - * @param {L.LatLng=} rotationOrigin - * @param {L.LatLng=} scaleOrigin - * @return {L.Handler.PathTransform} - */ - transform: function(angle, scale, rotationOrigin, scaleOrigin) { - var center = this._path.getCenter(); - rotationOrigin = rotationOrigin || center; - scaleOrigin = scaleOrigin || center; - this._map = this._path._map; - this._transformPoints(this._path, angle, scale, rotationOrigin, scaleOrigin); - return this; - }, - - - /** - * Update the polygon and handlers preview, no reprojection - */ - _update: function() { - var matrix = this._matrix; - - // update handlers - for (var i = 0, len = this._handlers.length; i < len; i++) { - var handler = this._handlers[i]; - if (handler !== this._originMarker) { - handler._point = matrix.transform(handler._initialPoint); - handler._updatePath(); - } - } - - matrix = matrix.clone().flip(); - - this._applyTransform(matrix); - this._path.fire('transform', { layer: this._path }); - }, - - - /** - * @param {L.Matrix} matrix - */ - _applyTransform: function(matrix) { - this._path._transform(matrix._matrix); - this._rect._transform(matrix._matrix); - - if (this.options.rotation) { - this._handleLine._transform(matrix._matrix); - } - }, - - - /** - * Apply final transformation - */ - _apply: function() { - //console.group('apply transform'); - var map = this._map; - var matrix = this._matrix.clone(); - var angle = this._angle; - var scale = this._scale.clone(); - - this._transformGeometries(); - - // update handlers - for (var i = 0, len = this._handlers.length; i < len; i++) { - var handler = this._handlers[i]; - handler._latlng = map.layerPointToLatLng(handler._point); - delete handler._initialPoint; - handler.redraw(); - } - - this._matrix = L.matrix(1, 0, 0, 1, 0, 0); - this._scale = L.point(1, 1); - this._angle = 0; - - this._updateHandlers(); - - map.dragging.enable(); - this._path.fire('transformed', { - matrix: matrix, - scale: scale, - rotation: angle, - // angle: angle * (180 / Math.PI), - layer: this._path - }); - // console.groupEnd('apply transform'); - }, - - - /** - * Recalculate rotation handlers position - */ - _updateHandlers: function() { - var handlersGroup = this._handlersGroup; - - this._rectShape = this._rect.toGeoJSON(); - - if (this._handleLine) { - this._handlersGroup.removeLayer(this._handleLine); - } - - if (this._rotationMarker) { - this._handlersGroup.removeLayer(this._rotationMarker); - } - - this._handleLine = this._rotationMarker = null; - - for (var i = this._handlers.length - 1; i >= 0; i--) { - handlersGroup.removeLayer(this._handlers[i]); - } - - this._createHandlers(); - }, - - - /** - * Transform geometries separately - */ - _transformGeometries: function() { - this._path._transform(null); - this._rect._transform(null); - - this._transformPoints(this._path); - this._transformPoints(this._rect); - - if (this.options.rotation) { - this._handleLine._transform(null); - this._transformPoints(this._handleLine, this._angle, null, this._origin); - } - }, - - - /** - * @param {Number} angle - * @param {Number} scale - * @param {L.LatLng=} rotationOrigin - * @param {L.LatLng=} scaleOrigin - */ - _getProjectedMatrix: function(angle, scale, rotationOrigin, scaleOrigin) { - var map = this._map; - var zoom = map.getMaxZoom() || this.options.maxZoom; - var matrix = L.matrix(1, 0, 0, 1, 0, 0); - var origin; - - angle = angle || this._angle || 0; - scale = scale || this._scale || L.point(1, 1); - - if (!(scale.x === 1 && scale.y === 1)) { - scaleOrigin = scaleOrigin || this._scaleOrigin; - origin = map.project(scaleOrigin, zoom); - matrix = matrix - ._add(L.matrix(1, 0, 0, 1, origin.x, origin.y)) - ._add(L.matrix(scale.x, 0, 0, scale.y, 0, 0)) - ._add(L.matrix(1, 0, 0, 1, -origin.x, -origin.y)); - } - - if (angle) { - rotationOrigin = rotationOrigin || this._rotationOrigin; - origin = map.project(rotationOrigin, zoom); - matrix = matrix.rotate(angle, origin).flip(); - } - - return matrix; - }, - - - /** - * @param {L.LatLng} latlng - * @param {L.Matrix} matrix - * @param {L.Map} map - * @param {Number} zoom - * @return {L.LatLng} - */ - _transformPoint: function(latlng, matrix, map, zoom) { - return map.unproject(matrix.transform( - map.project(latlng, zoom)), zoom); - }, - - - /** - * Applies transformation, does it in one sweep for performance, - * so don't be surprised about the code repetition. - * - * @param {L.Path} path - * @param {Number=} angle - * @param {L.Point=} scale - * @param {L.LatLng=} rotationOrigin - * @param {L.LatLng=} scaleOrigin - */ - _transformPoints: function(path, angle, scale, rotationOrigin, scaleOrigin) { - var map = path._map; - var zoom = map.getMaxZoom() || this.options.maxZoom; - var i, len; - - var projectedMatrix = this._projectedMatrix = - this._getProjectedMatrix(angle, scale, rotationOrigin, scaleOrigin); - // console.time('transform'); - - // all shifts are in-place - if (path._point) { // L.Circle - path._latlng = this._transformPoint( - path._latlng, projectedMatrix, map, zoom); - } else if (path._rings || path._parts) { // everything else - var rings = path._rings; - var latlngs = path._latlngs; - path._bounds = new L.LatLngBounds(); - - if (!L.Util.isArray(latlngs[0])) { // polyline - latlngs = [latlngs]; - } - for (i = 0, len = rings.length; i < len; i++) { - for (var j = 0, jj = rings[i].length; j < jj; j++) { - latlngs[i][j] = this._transformPoint( - latlngs[i][j], projectedMatrix, map, zoom); - path._bounds.extend(latlngs[i][j]); - } - } - } - - path._reset(); - //console.timeEnd('transform'); - }, - - - /** - * Creates markers and handles - */ - _createHandlers: function() { - var map = this._map; - this._handlersGroup = this._handlersGroup || - new L.LayerGroup().addTo(map); - this._rect = this._rect || - this._getBoundingPolygon().addTo(this._handlersGroup); - - if (this.options.scaling) { - this._handlers = []; - for (var i = 0; i < this.options.edgesCount; i++) { - // TODO: add stretching - this._handlers.push( - this._createHandler(this._rect._latlngs[0][i], i * 2, i) - .addTo(this._handlersGroup)); - } - } - - // add bounds - if (this.options.rotation) { - //add rotation handler - this._createRotationHandlers(); - } - }, - - - /** - * Rotation marker and small connectin handle - */ - _createRotationHandlers: function() { - var map = this._map; - var latlngs = this._rect._latlngs[0]; - - var bottom = new L.LatLng( - (latlngs[0].lat + latlngs[3].lat) / 2, - (latlngs[0].lng + latlngs[3].lng) / 2); - // hehe, top is a reserved word - var topPoint = new L.LatLng( - (latlngs[1].lat + latlngs[2].lat) / 2, - (latlngs[1].lng + latlngs[2].lng) / 2); - - var handlerPosition = map.layerPointToLatLng( - L.PathTransform.pointOnLine( - map.latLngToLayerPoint(bottom), - map.latLngToLayerPoint(topPoint), - this.options.handleLength) - ); - - this._handleLine = new L.Polyline([topPoint, handlerPosition], - this.options.rotateHandleOptions).addTo(this._handlersGroup); - var RotateHandleClass = this.options.rotateHandleClass; - this._rotationMarker = new RotateHandleClass(handlerPosition, - this.options.handlerOptions) - .addTo(this._handlersGroup) - .on('mousedown', this._onRotateStart, this); - - this._rotationOrigin = new L.LatLng( - (topPoint.lat + bottom.lat) / 2, - (topPoint.lng + bottom.lng) / 2 - ); - - this._handlers.push(this._rotationMarker); - }, - - - /** - * @return {L.LatLng} - */ - _getRotationOrigin: function() { - var latlngs = this._rect._latlngs[0]; - var lb = latlngs[0]; - var rt = latlngs[2]; - - return new L.LatLng( - (lb.lat + rt.lat) / 2, - (lb.lng + rt.lng) / 2 - ); - }, - - - /** - * Secure the rotation origin - * @param {Event} evt - */ - _onRotateStart: function(evt) { - var map = this._map; - - map.dragging.disable(); - - this._originMarker = null; - this._rotationOriginPt = map.latLngToLayerPoint(this._getRotationOrigin()); - this._rotationStart = evt.layerPoint; - this._initialMatrix = this._matrix.clone(); - - this._angle = 0; - this._path._map - .on('mousemove', this._onRotate, this) - .on('mouseup', this._onRotateEnd, this); - - this._cachePoints(); - this._path - .fire('transformstart', { layer: this._path }) - .fire('rotatestart', { layer: this._path, rotation: 0 }); - }, - - - /** - * @param {Event} evt - */ - _onRotate: function(evt) { - var pos = evt.layerPoint; - var previous = this._rotationStart; - var origin = this._rotationOriginPt; - - // rotation step angle - this._angle = Math.atan2(pos.y - origin.y, pos.x - origin.x) - - Math.atan2(previous.y - origin.y, previous.x - origin.x); - - this._matrix = this._initialMatrix - .clone() - .rotate(this._angle, origin) - .flip(); - - this._update(); - this._path.fire('rotate', { layer: this._path, rotation: this._angle }); - }, - - - /** - * @param {Event} evt - */ - _onRotateEnd: function(evt) { - this._path._map - .off('mousemove', this._onRotate, this) - .off('mouseup', this._onRotateEnd, this); - - this._apply(); - this._path.fire('rotateend', { layer: this._path, rotation: this._angle }); - }, - - - /** - * @param {Event} evt - */ - _onScaleStart: function(evt) { - var marker = evt.target; - var map = this._map; - - map.dragging.disable(); - - this._activeMarker = marker; - - this._originMarker = this._handlers[(marker.options.index + 2) % 4]; - this._scaleOrigin = this._originMarker.getLatLng(); - - this._initialMatrix = this._matrix.clone(); - this._cachePoints(); - - this._map - .on('mousemove', this._onScale, this) - .on('mouseup', this._onScaleEnd, this); - this._initialDist = this._originMarker._point.distanceTo(this._activeMarker._point); - this._initialDistX = this._originMarker._point.x - this._activeMarker._point.x; - this._initialDistY = this._originMarker._point.y - this._activeMarker._point.y; - - this._path - .fire('transformstart', { layer: this._path }) - .fire('scalestart', { layer: this._path, scale: L.point(1, 1) }); - - this._map.removeLayer(this._handleLine); - this._map.removeLayer(this._rotationMarker); - - //this._handleLine = this._rotationMarker = null; - }, - - - /** - * @param {Event} evt - */ - _onScale: function(evt) { - var originPoint = this._originMarker._point; - var ratioX, ratioY; - if (this.options.uniformScaling) { - ratioX = originPoint.distanceTo(evt.layerPoint) / this._initialDist; - ratioY = ratioX; - } else { - ratioX = (originPoint.x - evt.layerPoint.x) / this._initialDistX; - ratioY = (originPoint.y - evt.layerPoint.y) / this._initialDistY; - } - - this._scale = new L.Point(ratioX, ratioY); - - // update matrix - this._matrix = this._initialMatrix - .clone() - .scale(this._scale, originPoint); - - this._update(); - this._path.fire('scale', { - layer: this._path, scale: this._scale.clone() }); - }, - - - /** - * Scaling complete - * @param {Event} evt - */ - _onScaleEnd: function(evt) { - this._map - .off('mousemove', this._onScale, this) - .off('mouseup', this._onScaleEnd, this); - - this._map.addLayer(this._handleLine); - this._map.addLayer(this._rotationMarker); - - this._apply(); - this._path.fire('scaleend', { - layer: this._path, scale: this._scale.clone() }); - }, - - - /** - * Cache current handlers positions - */ - _cachePoints: function() { - this._handlersGroup.eachLayer(function(layer) { - layer.bringToFront(); - }); - for (var i = 0, len = this._handlers.length; i < len; i++) { - var handler = this._handlers[i]; - handler._initialPoint = handler._point.clone(); - } - }, - - - /** - * Bounding polygon - * @return {L.Polygon} - */ - _getBoundingPolygon: function() { - if (this._rectShape) { - return L.GeoJSON.geometryToLayer( - this._rectShape, this.options.boundsOptions); - } else { - return new L.Rectangle( - this._path.getBounds(), this.options.boundsOptions); - } - }, - - - /** - * Create corner marker - * @param {L.LatLng} latlng - * @param {Number} type one of L.Handler.PathTransform.HandlerTypes - * @param {Number} index - * @return {L.Handler.PathTransform.Handle} - */ - _createHandler: function(latlng, type, index) { - var HandleClass = this.options.handleClass; - var marker = new HandleClass(latlng, - L.Util.extend({}, this.options.handlerOptions, { - className: 'leaflet-drag-transform-marker drag-marker--' + - index + ' drag-marker--' + type, - index: index, - type: type - }) - ); - - marker.on('mousedown', this._onScaleStart, this); - return marker; - }, - - - /** - * Hide(not remove) the handlers layer - */ - _hideHandlers: function() { - this._map.removeLayer(this._handlersGroup); - }, - - - /** - * Hide handlers and rectangle - */ - _onDragStart: function() { - this._hideHandlers(); - }, - - - /** - * Drag rectangle, re-create handlers - */ - _onDragEnd: function(evt) { - var rect = this._rect; - var matrix = (evt.layer ? evt.layer : this._path).dragging._matrix.slice(); - - if (!rect.dragging) { - rect.dragging = new L.Handler.PathDrag(rect); - } - rect.dragging.enable(); - this._map.addLayer(rect); - rect.dragging._transformPoints(matrix); - rect._updatePath(); - rect._project(); - rect.dragging.disable(); - - this._map.addLayer(this._handlersGroup); - this._updateHandlers(); - - this._path.fire('transformed', { - scale: L.point(1, 1), - rotation: 0, - matrix: L.matrix.apply(undefined, matrix), - translate: L.point(matrix[4], matrix[5]), - layer: this._path - }); - } -}); - - -L.Path.addInitHook(function() { - if (this.options.transform) { - this.transform = new L.Handler.PathTransform(this, this.options.transform); - } -}); diff --git a/dist/L.Path.Transform.js b/dist/L.Path.Transform.js deleted file mode 100644 index 781491d..0000000 --- a/dist/L.Path.Transform.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Leaflet vector features drag functionality - * @author Alexander Milevski - * @preserve - */ -L.Path.include({_transform:function(t){if(this._renderer){if(t){this._renderer.transformPath(this,t)}else{this._renderer._resetTransformPath(this);this._update()}}return this},_onMouseClick:function(t){if(this.dragging&&this.dragging.moved()||this._map.dragging&&this._map.dragging.moved()){return}this._fireMouseEvent(t)}});var END={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"};var MOVE={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"};function distance(t,i){var a=t.x-i.x,n=t.y-i.y;return Math.sqrt(a*a+n*n)}L.Handler.PathDrag=L.Handler.extend({statics:{DRAGGING_CLS:"leaflet-path-draggable"},initialize:function(t){this._path=t;this._matrix=null;this._startPoint=null;this._dragStartPoint=null;this._mapDraggingWasEnabled=false},addHooks:function(){this._path.on("mousedown",this._onDragStart,this);this._path.options.className=this._path.options.className?this._path.options.className+" "+L.Handler.PathDrag.DRAGGING_CLS:L.Handler.PathDrag.DRAGGING_CLS;if(this._path._path){L.DomUtil.addClass(this._path._path,L.Handler.PathDrag.DRAGGING_CLS)}},removeHooks:function(){this._path.off("mousedown",this._onDragStart,this);this._path.options.className=this._path.options.className.replace(new RegExp("\\s+"+L.Handler.PathDrag.DRAGGING_CLS),"");if(this._path._path){L.DomUtil.removeClass(this._path._path,L.Handler.PathDrag.DRAGGING_CLS)}},moved:function(){return this._path._dragMoved},_onDragStart:function(t){var i=t.originalEvent._simulated?"touchstart":t.originalEvent.type;this._mapDraggingWasEnabled=false;this._startPoint=t.containerPoint.clone();this._dragStartPoint=t.containerPoint.clone();this._matrix=[1,0,0,1,0,0];L.DomEvent.stop(t.originalEvent);L.DomUtil.addClass(this._path._renderer._container,"leaflet-interactive");L.DomEvent.on(document,MOVE[i],this._onDrag,this).on(document,END[i],this._onDragEnd,this);if(this._path._map.dragging.enabled()){this._path._map.dragging.disable();this._mapDraggingWasEnabled=true}this._path._dragMoved=false;if(this._path._popup){this._path._popup._close()}this._replaceCoordGetters(t)},_onDrag:function(t){L.DomEvent.stop(t);var i=t.touches&&t.touches.length>=1?t.touches[0]:t;var a=this._path._map.mouseEventToContainerPoint(i);if(t.type==="touchmove"&&!this._path._dragMoved){var n=this._dragStartPoint.distanceTo(a);if(n<=this._path._map.options.tapTolerance){return}}var r=a.x;var e=a.y;var s=r-this._startPoint.x;var o=e-this._startPoint.y;if(s||o){if(!this._path._dragMoved){this._path._dragMoved=true;this._path.fire("dragstart",t);this._path.bringToFront()}this._matrix[4]+=s;this._matrix[5]+=o;this._startPoint.x=r;this._startPoint.y=e;this._path.fire("predrag",t);this._path._transform(this._matrix);this._path.fire("drag",t)}},_onDragEnd:function(t){var i=this._path._map.mouseEventToContainerPoint(t);var a=this.moved();if(a){this._transformPoints(this._matrix);this._path._updatePath();this._path._project();this._path._transform(null);L.DomEvent.stop(t)}L.DomEvent.off(document,"mousemove touchmove",this._onDrag,this);L.DomEvent.off(document,"mouseup touchend",this._onDragEnd,this);this._restoreCoordGetters();if(a){this._path.fire("dragend",{distance:distance(this._dragStartPoint,i)});var n=this._path._containsPoint;this._path._containsPoint=L.Util.falseFn;L.Util.requestAnimFrame(function(){L.DomEvent.skipped({type:"click"});this._path._containsPoint=n},this)}this._matrix=null;this._startPoint=null;this._dragStartPoint=null;this._path._dragMoved=false;if(this._mapDraggingWasEnabled){if(a)L.DomEvent.fakeStop({type:"click"});this._path._map.dragging.enable()}},_transformPoints:function(t,i){var a=this._path;var n,r,e;var s=L.point(t[4],t[5]);var o=a._map.options.crs;var h=o.transformation;var _=o.scale(a._map.getZoom());var l=o.projection;var d=h.untransform(s,_).subtract(h.untransform(L.point(0,0),_));var p=!i;a._bounds=new L.LatLngBounds;if(a._point){i=l.unproject(l.project(a._latlng)._add(d));if(p){a._latlng=i;a._point._add(s)}}else if(a._rings||a._parts){var f=a._rings||a._parts;var g=a._latlngs;i=i||g;if(!L.Util.isArray(g[0])){g=[g];i=[i]}for(n=0,r=f.length;n - * @license MIT - * @preserve - */ -L.PathTransform={};L.PathTransform.pointOnLine=function(t,i,a){var n=1+a/t.distanceTo(i);return new L.Point(t.x+(i.x-t.x)*n,t.y+(i.y-t.y)*n)};L.PathTransform.merge=function(){var t=1;var i,a;var n=arguments[t];function r(t){return Object.prototype.toString.call(t)==="[object Object]"}var e=arguments[0];while(n){n=arguments[t++];for(i in n){if(!n.hasOwnProperty(i)){continue}a=n[i];if(r(a)&&r(e[i])){e[i]=L.Util.merge(e[i],a)}else{e[i]=a}}}return e};L.Matrix=function(t,i,a,n,r,e){this._matrix=[t,i,a,n,r,e]};L.Matrix.prototype={transform:function(t){return this._transform(t.clone())},_transform:function(t){var i=this._matrix;var a=t.x,n=t.y;t.x=i[0]*a+i[1]*n+i[4];t.y=i[2]*a+i[3]*n+i[5];return t},untransform:function(t){var i=this._matrix;return new L.Point((t.x/i[0]-i[4])/i[0],(t.y/i[2]-i[5])/i[2])},clone:function(){var t=this._matrix;return new L.Matrix(t[0],t[1],t[2],t[3],t[4],t[5])},translate:function(t){if(t===undefined){return new L.Point(this._matrix[4],this._matrix[5])}var i,a;if(typeof t==="number"){i=a=t}else{i=t.x;a=t.y}return this._add(1,0,0,1,i,a)},scale:function(t,i){if(t===undefined){return new L.Point(this._matrix[0],this._matrix[3])}var a,n;i=i||L.point(0,0);if(typeof t==="number"){a=n=t}else{a=t.x;n=t.y}return this._add(a,0,0,n,i.x,i.y)._add(1,0,0,1,-i.x,-i.y)},rotate:function(t,i){var a=Math.cos(t);var n=Math.sin(t);i=i||new L.Point(0,0);return this._add(a,n,-n,a,i.x,i.y)._add(1,0,0,1,-i.x,-i.y)},flip:function(){this._matrix[1]*=-1;this._matrix[2]*=-1;return this},_add:function(t,i,a,n,r,e){var s=[[],[],[]];var o=this._matrix;var h=[[o[0],o[2],o[4]],[o[1],o[3],o[5]],[0,0,1]];var _=[[t,a,r],[i,n,e],[0,0,1]],l;if(t&&t instanceof L.Matrix){o=t._matrix;_=[[o[0],o[2],o[4]],[o[1],o[3],o[5]],[0,0,1]]}for(var d=0;d<3;d++){for(var p=0;p<3;p++){l=0;for(var f=0;f<3;f++){l+=h[d][f]*_[f][p]}s[d][p]=l}}this._matrix=[s[0][0],s[1][0],s[0][1],s[1][1],s[0][2],s[1][2]];return this}};L.matrix=function(t,i,a,n,r,e){return new L.Matrix(t,i,a,n,r,e)};L.PathTransform.Handle=L.CircleMarker.extend({options:{className:"leaflet-path-transform-handler"},onAdd:function(t){L.CircleMarker.prototype.onAdd.call(this,t);if(this._path&&this.options.setCursor){this._path.style.cursor=L.PathTransform.Handle.CursorsByType[this.options.index]}}});L.PathTransform.Handle.CursorsByType=["nesw-resize","nwse-resize","nesw-resize","nwse-resize"];L.PathTransform.RotateHandle=L.PathTransform.Handle.extend({options:{className:"leaflet-path-transform-handler transform-handler--rotate"},onAdd:function(t){L.CircleMarker.prototype.onAdd.call(this,t);if(this._path&&this.options.setCursor){this._path.style.cursor="all-scroll"}}});L.Handler.PathTransform=L.Handler.extend({options:{rotation:true,scaling:true,uniformScaling:true,maxZoom:22,handlerOptions:{radius:5,fillColor:"#ffffff",color:"#202020",fillOpacity:1,weight:2,opacity:.7,setCursor:true},boundsOptions:{weight:1,opacity:1,dashArray:[3,3],fill:false},rotateHandleOptions:{weight:1,opacity:1,setCursor:true},handleLength:20,edgesCount:4,handleClass:L.PathTransform.Handle,rotateHandleClass:L.PathTransform.RotateHandle},initialize:function(t){this._path=t;this._map=null;this._activeMarker=null;this._originMarker=null;this._rotationMarker=null;this._rotationOrigin=null;this._scaleOrigin=null;this._angle=0;this._scale=L.point(1,1);this._initialDist=0;this._initialDistX=0;this._initialDistY=0;this._rotationStart=null;this._rotationOriginPt=null;this._matrix=new L.Matrix(1,0,0,1,0,0);this._projectedMatrix=new L.Matrix(1,0,0,1,0,0);this._handlersGroup=null;this._rect=null;this._handlers=[];this._handleLine=null},enable:function(t){if(this._path._map){this._map=this._path._map;if(t){this.setOptions(t)}L.Handler.prototype.enable.call(this)}},addHooks:function(){this._createHandlers();this._path.on("dragstart",this._onDragStart,this).on("dragend",this._onDragEnd,this)},removeHooks:function(){this._hideHandlers();this._path.off("dragstart",this._onDragStart,this).off("dragend",this._onDragEnd,this);this._handlersGroup=null;this._rect=null;this._handlers=[]},setOptions:function(t){var i=this._enabled;if(i){this.disable()}this.options=L.PathTransform.merge({},L.Handler.PathTransform.prototype.options,t);if(i){this.enable()}return this},rotate:function(t,i){return this.transform(t,null,i)},scale:function(t,i){if(typeof t==="number"){t=L.point(t,t)}return this.transform(0,t,null,i)},transform:function(t,i,a,n){var r=this._path.getCenter();a=a||r;n=n||r;this._map=this._path._map;this._transformPoints(this._path,t,i,a,n);return this},_update:function(){var t=this._matrix;for(var i=0,a=this._handlers.length;i=0;i--){t.removeLayer(this._handlers[i])}this._createHandlers()},_transformGeometries:function(){this._path._transform(null);this._rect._transform(null);this._transformPoints(this._path);this._transformPoints(this._rect);if(this.options.rotation){this._handleLine._transform(null);this._transformPoints(this._handleLine,this._angle,null,this._origin)}},_getProjectedMatrix:function(t,i,a,n){var r=this._map;var e=r.getMaxZoom()||this.options.maxZoom;var s=L.matrix(1,0,0,1,0,0);var o;t=t||this._angle||0;i=i||this._scale||L.point(1,1);if(!(i.x===1&&i.y===1)){n=n||this._scaleOrigin;o=r.project(n,e);s=s._add(L.matrix(1,0,0,1,o.x,o.y))._add(L.matrix(i.x,0,0,i.y,0,0))._add(L.matrix(1,0,0,1,-o.x,-o.y))}if(t){a=a||this._rotationOrigin;o=r.project(a,e);s=s.rotate(t,o).flip()}return s},_transformPoint:function(t,i,a,n){return a.unproject(i.transform(a.project(t,n)),n)},_transformPoints:function(t,i,a,n,r){var e=t._map;var s=e.getMaxZoom()||this.options.maxZoom;var o,h;var _=this._projectedMatrix=this._getProjectedMatrix(i,a,n,r);if(t._point){t._latlng=this._transformPoint(t._latlng,_,e,s)}else if(t._rings||t._parts){var l=t._rings;var d=t._latlngs;t._bounds=new L.LatLngBounds;if(!L.Util.isArray(d[0])){d=[d]}for(o=0,h=l.length;o input { - position: absolute; - overflow: hidden; - padding: 0; - border: 0; - opacity: 0.001; - z-index: 1; - vertical-align: top; - outline: none; -} - -.button-bar__button { - border-radius: inherit; -} - -.button-bar__item:disabled { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -.button, -.topcoat-button, -.topcoat-button--quiet, -.topcoat-button--large, -.topcoat-button--large--quiet, -.topcoat-button--cta, -.topcoat-button--large--cta, -.topcoat-button-bar__button, -.topcoat-button-bar__button--large { - position: relative; - display: inline-block; - vertical-align: top; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - text-decoration: none; -} - -.button--quiet { - background: transparent; - border: 1px solid transparent; - box-shadow: none; -} - -.button--disabled, -.topcoat-button:disabled, -.topcoat-button--quiet:disabled, -.topcoat-button--large:disabled, -.topcoat-button--large--quiet:disabled, -.topcoat-button--cta:disabled, -.topcoat-button--large--cta:disabled, -.topcoat-button-bar__button:disabled, -.topcoat-button-bar__button--large:disabled { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -.topcoat-button, -.topcoat-button--quiet, -.topcoat-button--large, -.topcoat-button--large--quiet, -.topcoat-button--cta, -.topcoat-button--large--cta, -.topcoat-button-bar__button, -.topcoat-button-bar__button--large { - padding: 0 0.563rem; - font-size: 12px; - line-height: 1.313rem; - letter-spacing: 0; - color: #454545; - text-shadow: 0 1px #fff; - vertical-align: top; - background-color: #e5e9e8; - box-shadow: inset 0 1px #fff; - border: 1px solid #9daca9; - border-radius: 4px; -} - -.topcoat-button:hover, -.topcoat-button--quiet:hover, -.topcoat-button--large:hover, -.topcoat-button--large--quiet:hover, -.topcoat-button-bar__button:hover, -.topcoat-button-bar__button--large:hover { - background-color: #eff1f1; -} - -.topcoat-button:focus, -.topcoat-button--quiet:focus, -.topcoat-button--quiet:hover:focus, -.topcoat-button--large:focus, -.topcoat-button--large--quiet:focus, -.topcoat-button--large--quiet:hover:focus, -.topcoat-button--cta:focus, -.topcoat-button--large--cta:focus, -.topcoat-button-bar__button:focus, -.topcoat-button-bar__button--large:focus { - border: 1px solid #0036ff; - box-shadow: inset 0 1px rgba(255,255,255,0.36), 0 0 0 2px #6fb5f1; - outline: 0; -} - -.topcoat-button:active, -.topcoat-button--large:active, -.topcoat-button-bar__button:active, -.topcoat-button-bar__button--large:active, -:checked + .topcoat-button-bar__button { - border: 1px solid #9daca9; - background-color: #d2d6d6; - box-shadow: inset 0 1px rgba(0,0,0,0.1); -} - -.topcoat-button--quiet { - background: transparent; - border: 1px solid transparent; - box-shadow: none; -} - -.topcoat-button--quiet:hover, -.topcoat-button--large--quiet:hover { - text-shadow: 0 1px #fff; - border: 1px solid #9daca9; - box-shadow: inset 0 1px #fff; -} - -.topcoat-button--quiet:active, -.topcoat-button--quiet:focus:active, -.topcoat-button--large--quiet:active, -.topcoat-button--large--quiet:focus:active { - color: #454545; - text-shadow: 0 1px #fff; - background-color: #d2d6d6; - border: 1px solid #9daca9; - box-shadow: inset 0 1px rgba(0,0,0,0.1); -} - -.topcoat-button--large, -.topcoat-button--large--quiet, -.topcoat-button-bar__button--large { - font-size: 0.875rem; - font-weight: 600; - line-height: 1.688rem; - padding: 0 0.875rem; -} - -.topcoat-button--large--quiet { - background: transparent; - border: 1px solid transparent; - box-shadow: none; -} - -.topcoat-button--cta, -.topcoat-button--large--cta { - border: 1px solid #134f7f; - background-color: #288edf; - box-shadow: inset 0 1px rgba(255,255,255,0.36); - color: #fff; - font-weight: 500; - text-shadow: 0 -1px rgba(0,0,0,0.36); -} - -.topcoat-button--cta:hover, -.topcoat-button--large--cta:hover { - background-color: #4ca1e4; -} - -.topcoat-button--cta:active, -.topcoat-button--large--cta:active { - background-color: #1e7dc8; - box-shadow: inset 0 1px rgba(0,0,0,0.12); -} - -.topcoat-button--large--cta { - font-size: 0.875rem; - font-weight: 600; - line-height: 1.688rem; - padding: 0 0.875rem; -} - -.button-bar, -.topcoat-button-bar { - display: table; - table-layout: fixed; - white-space: nowrap; - margin: 0; - padding: 0; -} - -.button-bar__item, -.topcoat-button-bar__item { - display: table-cell; - width: auto; - border-radius: 0; -} - -.button-bar__item > input, -.topcoat-button-bar__item > input { - position: absolute; - overflow: hidden; - padding: 0; - border: 0; - opacity: 0.001; - z-index: 1; - vertical-align: top; - outline: none; -} - -.button-bar__button { - border-radius: inherit; -} - -.button-bar__item:disabled { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -/* topdoc - name: Button Bar - description: Component of grouped buttons - modifiers: - :disabled: Disabled state - markup: -
-
- -
-
- -
-
- -
-
- examples: - mobile button bar: http://codepen.io/Topcoat/pen/kdKyg - tags: - - desktop - - light - - dark - - mobile - - button - - group - - bar -*/ - -.topcoat-button-bar > .topcoat-button-bar__item:first-child { - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} - -.topcoat-button-bar > .topcoat-button-bar__item:last-child { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} - -.topcoat-button-bar__item:first-child > .topcoat-button-bar__button, -.topcoat-button-bar__item:first-child > .topcoat-button-bar__button--large { - border-right: none; -} - -.topcoat-button-bar__item:last-child > .topcoat-button-bar__button, -.topcoat-button-bar__item:last-child > .topcoat-button-bar__button--large { - border-left: none; -} - -.topcoat-button-bar__button { - border-radius: inherit; -} - -.topcoat-button-bar__button:focus, -.topcoat-button-bar__button--large:focus { - z-index: 1; -} - -/* topdoc - name: Large Button Bar - description: A button bar, only larger - modifiers: - :disabled: Disabled state - markup: -
-
- -
-
- -
-
- -
-
- tags: - - desktop - - light - - dark - - mobile - - button - - group - - bar - - large -*/ - -.topcoat-button-bar__button--large { - border-radius: inherit; -} - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -.button { - position: relative; - display: inline-block; - vertical-align: top; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - text-decoration: none; -} - -.button--quiet { - background: transparent; - border: 1px solid transparent; - box-shadow: none; -} - -.button--disabled { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -.button, -.topcoat-button, -.topcoat-button--quiet, -.topcoat-button--large, -.topcoat-button--large--quiet, -.topcoat-button--cta, -.topcoat-button--large--cta { - position: relative; - display: inline-block; - vertical-align: top; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - text-decoration: none; -} - -.button--quiet { - background: transparent; - border: 1px solid transparent; - box-shadow: none; -} - -.button--disabled, -.topcoat-button:disabled, -.topcoat-button--quiet:disabled, -.topcoat-button--large:disabled, -.topcoat-button--large--quiet:disabled, -.topcoat-button--cta:disabled, -.topcoat-button--large--cta:disabled { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -/* topdoc - name: Button - description: A simple button - modifiers: - :active: Active state - :disabled: Disabled state - :hover: Hover state - :focus: Focused - markup: - - - examples: - mobile button: http://codepen.io/Topcoat/pen/DpKtf - tags: - - desktop - - light - - mobile - - button -*/ - -.topcoat-button, -.topcoat-button--quiet, -.topcoat-button--large, -.topcoat-button--large--quiet, -.topcoat-button--cta, -.topcoat-button--large--cta { - padding: 0 0.563rem; - font-size: 12px; - line-height: 1.313rem; - letter-spacing: 0; - color: #454545; - text-shadow: 0 1px #fff; - vertical-align: top; - background-color: #e5e9e8; - box-shadow: inset 0 1px #fff; - border: 1px solid #9daca9; - border-radius: 4px; -} - -.topcoat-button:hover, -.topcoat-button--quiet:hover, -.topcoat-button--large:hover, -.topcoat-button--large--quiet:hover { - background-color: #eff1f1; -} - -.topcoat-button:focus, -.topcoat-button--quiet:focus, -.topcoat-button--quiet:hover:focus, -.topcoat-button--large:focus, -.topcoat-button--large--quiet:focus, -.topcoat-button--large--quiet:hover:focus, -.topcoat-button--cta:focus, -.topcoat-button--large--cta:focus { - border: 1px solid #0036ff; - box-shadow: inset 0 1px rgba(255,255,255,0.36), 0 0 0 2px #6fb5f1; - outline: 0; -} - -.topcoat-button:active, -.topcoat-button--large:active { - border: 1px solid #9daca9; - background-color: #d2d6d6; - box-shadow: inset 0 1px rgba(0,0,0,0.1); -} - -/* topdoc - name: Quiet Button - description: A simple, yet quiet button - modifiers: - :active: Quiet button active state - :disabled: Disabled state - :hover: Hover state - :focus: Focused - markup: - - - tags: - - desktop - - light - - mobile - - button - - quiet -*/ - -.topcoat-button--quiet { - background: transparent; - border: 1px solid transparent; - box-shadow: none; -} - -.topcoat-button--quiet:hover, -.topcoat-button--large--quiet:hover { - text-shadow: 0 1px #fff; - border: 1px solid #9daca9; - box-shadow: inset 0 1px #fff; -} - -.topcoat-button--quiet:active, -.topcoat-button--quiet:focus:active, -.topcoat-button--large--quiet:active, -.topcoat-button--large--quiet:focus:active { - color: #454545; - text-shadow: 0 1px #fff; - background-color: #d2d6d6; - border: 1px solid #9daca9; - box-shadow: inset 0 1px rgba(0,0,0,0.1); -} - -/* topdoc - name: Large Button - description: A big ol button - modifiers: - :active: Active state - :disabled: Disabled state - :hover: Hover state - :focus: Focused - markup: - - - tags: - - desktop - - light - - mobile - - button - - large -*/ - -.topcoat-button--large, -.topcoat-button--large--quiet { - font-size: 0.875rem; - font-weight: 600; - line-height: 1.688rem; - padding: 0 0.875rem; -} - -/* topdoc - name: Large Quiet Button - description: A large, yet quiet button - modifiers: - :active: Active state - :disabled: Disabled state - :hover: Hover state - :focus: Focused - markup: - - - tags: - - desktop - - light - - mobile - - button - - large - - quiet -*/ - -.topcoat-button--large--quiet { - background: transparent; - border: 1px solid transparent; - box-shadow: none; -} - -/* topdoc - name: Call To Action Button - description: A CALL TO ARMS, er, ACTION! - modifiers: - :active: Active state - :disabled: Disabled state - :hover: Hover state - :focus: Focused - markup: - - - tags: - - desktop - - light - - mobile - - button - - call to action -*/ - -.topcoat-button--cta, -.topcoat-button--large--cta { - border: 1px solid #134f7f; - background-color: #288edf; - box-shadow: inset 0 1px rgba(255,255,255,0.36); - color: #fff; - font-weight: 500; - text-shadow: 0 -1px rgba(0,0,0,0.36); -} - -.topcoat-button--cta:hover, -.topcoat-button--large--cta:hover { - background-color: #4ca1e4; -} - -.topcoat-button--cta:active, -.topcoat-button--large--cta:active { - background-color: #1e7dc8; - box-shadow: inset 0 1px rgba(0,0,0,0.12); -} - -/* topdoc - name: Large Call To Action Button - description: Like call to action, but bigger - modifiers: - :active: Active state - :disabled: Disabled state - :hover: Hover state - :focus: Focused - markup: - - - tags: - - desktop - - light - - mobile - - button - - large - - call to action -*/ - -.topcoat-button--large--cta { - font-size: 0.875rem; - font-weight: 600; - line-height: 1.688rem; - padding: 0 0.875rem; -} - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -input[type="checkbox"] { - position: absolute; - overflow: hidden; - padding: 0; - border: 0; - opacity: 0.001; - z-index: 1; - vertical-align: top; - outline: none; -} - -.checkbox { - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - position: relative; - display: inline-block; - vertical-align: top; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.checkbox__label { - position: relative; - display: inline-block; - vertical-align: top; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.checkbox--disabled { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -.checkbox:before, -.checkbox:after { - content: ''; - position: absolute; -} - -.checkbox:before { - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; -} - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -input[type="checkbox"] { - position: absolute; - overflow: hidden; - padding: 0; - border: 0; - opacity: 0.001; - z-index: 1; - vertical-align: top; - outline: none; -} - -.checkbox, -.topcoat-checkbox__checkmark { - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - position: relative; - display: inline-block; - vertical-align: top; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.checkbox__label, -.topcoat-checkbox { - position: relative; - display: inline-block; - vertical-align: top; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.checkbox--disabled, -input[type="checkbox"]:disabled + .topcoat-checkbox__checkmark { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -.checkbox:before, -.checkbox:after, -.topcoat-checkbox__checkmark:before, -.topcoat-checkbox__checkmark:after { - content: ''; - position: absolute; -} - -.checkbox:before, -.topcoat-checkbox__checkmark:before { - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; -} - -/* topdoc - name: Checkbox - description: Default skin for Topcoat checkbox - modifiers: - :focus: Focus state - :disabled: Disabled state - markup: - -
-
- - examples: - mobile checkbox: http://codepen.io/Topcoat/pen/piHcs - tags: - - desktop - - light - - mobile - - checkbox -*/ - -.topcoat-checkbox__checkmark { - height: 1rem; -} - -input[type="checkbox"] { - height: 1rem; - width: 1rem; - margin-top: 0; - margin-right: -1rem; - margin-bottom: -1rem; - margin-left: 0; -} - -input[type="checkbox"]:checked + .topcoat-checkbox__checkmark:after { - opacity: 1; -} - -.topcoat-checkbox { - line-height: 1rem; -} - -.topcoat-checkbox__checkmark:before { - width: 1rem; - height: 1rem; - background: #e5e9e8; - border: 1px solid #9daca9; - border-radius: 3px; - box-shadow: inset 0 1px #fff; -} - -.topcoat-checkbox__checkmark { - width: 1rem; - height: 1rem; -} - -.topcoat-checkbox__checkmark:after { - top: 2px; - left: 1px; - opacity: 0; - width: 14px; - height: 4px; - background: transparent; - border: 7px solid #454545; - border-width: 3px; - border-top: none; - border-right: none; - border-radius: 1px; - -webkit-transform: rotate(-50deg); - -ms-transform: rotate(-50deg); - transform: rotate(-50deg); -} - -input[type="checkbox"]:focus + .topcoat-checkbox__checkmark:before { - border: 1px solid #0036ff; - box-shadow: inset 0 1px rgba(255,255,255,0.36), 0 0 0 2px #6fb5f1; -} - -input[type="checkbox"]:active + .topcoat-checkbox__checkmark:before { - border: 1px solid #9daca9; - background-color: #d2d6d6; - box-shadow: inset 0 1px rgba(0,0,0,0.1); -} - -input[type="checkbox"]:disabled:active + .topcoat-checkbox__checkmark:before { - border: 1px solid #9daca9; - background: #e5e9e8; - box-shadow: inset 0 1px #fff; -} - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -.button, -.topcoat-icon-button, -.topcoat-icon-button--quiet, -.topcoat-icon-button--large, -.topcoat-icon-button--large--quiet { - position: relative; - display: inline-block; - vertical-align: top; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - text-decoration: none; -} - -.button--quiet { - background: transparent; - border: 1px solid transparent; - box-shadow: none; -} - -.button--disabled, -.topcoat-icon-button:disabled, -.topcoat-icon-button--quiet:disabled, -.topcoat-icon-button--large:disabled, -.topcoat-icon-button--large--quiet:disabled { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -/* topdoc - name: Icon Button - description: Like button, but it has an icon. - modifiers: - :active: Active state - :disabled: Disabled state - :hover: Hover state - :focus: Focused - markup: - - - tags: - - desktop - - light - - mobile - - button - - icon -*/ - -.topcoat-icon-button, -.topcoat-icon-button--quiet, -.topcoat-icon-button--large, -.topcoat-icon-button--large--quiet { - padding: 0 0.25rem; - line-height: 1.313rem; - letter-spacing: 0; - color: #454545; - text-shadow: 0 1px #fff; - vertical-align: baseline; - background-color: #e5e9e8; - box-shadow: inset 0 1px #fff; - border: 1px solid #9daca9; - border-radius: 4px; -} - -.topcoat-icon-button:hover, -.topcoat-icon-button--quiet:hover, -.topcoat-icon-button--large:hover, -.topcoat-icon-button--large--quiet:hover { - background-color: #eff1f1; -} - -.topcoat-icon-button:focus, -.topcoat-icon-button--quiet:focus, -.topcoat-icon-button--quiet:hover:focus, -.topcoat-icon-button--large:focus, -.topcoat-icon-button--large--quiet:focus, -.topcoat-icon-button--large--quiet:hover:focus { - border: 1px solid #0036ff; - box-shadow: inset 0 1px rgba(255,255,255,0.36), 0 0 0 2px #6fb5f1; - outline: 0; -} - -.topcoat-icon-button:active, -.topcoat-icon-button--large:active { - border: 1px solid #9daca9; - background-color: #d2d6d6; - box-shadow: inset 0 1px rgba(0,0,0,0.1); -} - -/* topdoc - name: Quiet Icon Button - description: Like quiet button, but it has an icon. - modifiers: - :active: Active state - :disabled: Disabled state - :hover: Hover state - :focus: Focused - markup: - - - tags: - - desktop - - light - - mobile - - button - - icon - - quiet -*/ - -.topcoat-icon-button--quiet { - background: transparent; - border: 1px solid transparent; - box-shadow: none; -} - -.topcoat-icon-button--quiet:hover, -.topcoat-icon-button--large--quiet:hover { - text-shadow: 0 1px #fff; - border: 1px solid #9daca9; - box-shadow: inset 0 1px #fff; -} - -.topcoat-icon-button--quiet:active, -.topcoat-icon-button--quiet:focus:active, -.topcoat-icon-button--large--quiet:active, -.topcoat-icon-button--large--quiet:focus:active { - color: #454545; - text-shadow: 0 1px #fff; - background-color: #d2d6d6; - border: 1px solid #9daca9; - box-shadow: inset 0 1px rgba(0,0,0,0.1); -} - -/* topdoc - name: Large Icon Button - description: Like large button, but it has an icon. - modifiers: - :active: Active state - :disabled: Disabled state - :hover: Hover state - :focus: Focused - markup: - - - tags: - - desktop - - light - - mobile - - button - - icon - - large -*/ - -.topcoat-icon-button--large, -.topcoat-icon-button--large--quiet { - width: 1.688rem; - height: 1.688rem; - line-height: 1.688rem; -} - -/* topdoc - name: Large Quiet Icon Button - description: Like large button, but it has an icon and this one is quiet. - modifiers: - :active: Active state - :disabled: Disabled state - :hover: Hover state - markup: - - - tags: - - desktop - - light - - mobile - - button - - icon - - large - - quiet -*/ - -.topcoat-icon-button--large--quiet { - background: transparent; - border: 1px solid transparent; - box-shadow: none; -} - -.topcoat-icon, -.topcoat-icon--large { - position: relative; - display: inline-block; - vertical-align: top; - overflow: hidden; - width: 0.81406rem; - height: 0.81406rem; - vertical-align: middle; - top: -1px; -} - -.topcoat-icon--large { - width: 1.06344rem; - height: 1.06344rem; - top: -2px; -} - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -.input { - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - vertical-align: top; - outline: none; -} - -.input:disabled { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -.list { - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - overflow: auto; - -webkit-overflow-scrolling: touch; -} - -.list__header { - margin: 0; -} - -.list__container { - padding: 0; - margin: 0; - list-style-type: none; -} - -.list__item { - margin: 0; - padding: 0; -} - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -.navigation-bar { - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - white-space: nowrap; - overflow: hidden; - word-spacing: 0; - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.navigation-bar__item { - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - position: relative; - display: inline-block; - vertical-align: top; - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; -} - -.navigation-bar__title { - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; -} - -/* -Copyright 2012 Adobe Systems Inc.; -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -.notification { - position: relative; - display: inline-block; - vertical-align: top; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - text-decoration: none; -} - -/* -Copyright 2012 Adobe Systems Inc.; -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -.notification, -.topcoat-notification { - position: relative; - display: inline-block; - vertical-align: top; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - text-decoration: none; -} - -/* topdoc - name: Notification - description: Notification badge - markup: - 1 - tags: - - desktop - - light - - mobile - - notification -*/ - -.topcoat-notification { - padding: 0.15em 0.5em 0.2em; - border-radius: 2px; - background-color: #ec514e; - color: #fff; -} - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -input[type="radio"] { - position: absolute; - overflow: hidden; - padding: 0; - border: 0; - opacity: 0.001; - z-index: 1; - vertical-align: top; - outline: none; -} - -.radio-button { - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - position: relative; - display: inline-block; - vertical-align: top; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.radio-button__label { - position: relative; - display: inline-block; - vertical-align: top; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.radio-button:before, -.radio-button:after { - content: ''; - position: absolute; - border-radius: 100%; -} - -.radio-button:after { - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} - -.radio-button:before { - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; -} - -.radio-button--disabled { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -input[type="radio"] { - position: absolute; - overflow: hidden; - padding: 0; - border: 0; - opacity: 0.001; - z-index: 1; - vertical-align: top; - outline: none; -} - -.radio-button, -.topcoat-radio-button__checkmark { - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - position: relative; - display: inline-block; - vertical-align: top; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.radio-button__label, -.topcoat-radio-button { - position: relative; - display: inline-block; - vertical-align: top; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.radio-button:before, -.radio-button:after, -.topcoat-radio-button__checkmark:before, -.topcoat-radio-button__checkmark:after { - content: ''; - position: absolute; - border-radius: 100%; -} - -.radio-button:after, -.topcoat-radio-button__checkmark:after { - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} - -.radio-button:before, -.topcoat-radio-button__checkmark:before { - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; -} - -.radio-button--disabled, -input[type="radio"]:disabled + .topcoat-radio-button__checkmark { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -/* topdoc - name: Radio Button - description: A button that can play music, but usually just plays ads. - modifiers: - markup: - - -
-
- - -
-
- - -
-
- - - examples: - Mobile Radio Button: http://codepen.io/Topcoat/pen/HDcJj - tags: - - desktop - - light - - mobile - - Radio -*/ - -input[type="radio"] { - height: 1.063rem; - width: 1.063rem; - margin-top: 0; - margin-right: -1.063rem; - margin-bottom: -1.063rem; - margin-left: 0; -} - -input[type="radio"]:checked + .topcoat-radio-button__checkmark:after { - opacity: 1; -} - -.topcoat-radio-button { - color: #454545; - line-height: 1.063rem; -} - -.topcoat-radio-button__checkmark:before { - width: 1.063rem; - height: 1.063rem; - background: #e5e9e8; - border: 1px solid #9daca9; - box-shadow: inset 0 1px #fff; -} - -.topcoat-radio-button__checkmark { - position: relative; - width: 1.063rem; - height: 1.063rem; -} - -.topcoat-radio-button__checkmark:after { - opacity: 0; - width: 0.313rem; - height: 0.313rem; - background: #454545; - border: 1px solid rgba(0,0,0,0.1); - box-shadow: 0 1px rgba(255,255,255,0.5); - -webkit-transform: none; - -ms-transform: none; - transform: none; - top: 0.313rem; - left: 0.313rem; -} - -input[type="radio"]:focus + .topcoat-radio-button__checkmark:before { - border: 1px solid #0036ff; - box-shadow: inset 0 1px rgba(255,255,255,0.36), 0 0 0 2px #6fb5f1; -} - -input[type="radio"]:active + .topcoat-radio-button__checkmark:before { - border: 1px solid #9daca9; - background-color: #d2d6d6; - box-shadow: inset 0 1px rgba(0,0,0,0.1); -} - -input[type="radio"]:disabled:active + .topcoat-radio-button__checkmark:before { - border: 1px solid #9daca9; - background: #e5e9e8; - box-shadow: inset 0 1px #fff; -} - -/* -Copyright 2012 Adobe Systems Inc.; -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -/* -Copyright 2012 Adobe Systems Inc.; -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -.range { - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - vertical-align: top; - outline: none; - -webkit-appearance: none; -} - -.range__thumb { - cursor: pointer; -} - -.range__thumb--webkit { - cursor: pointer; - -webkit-appearance: none; -} - -.range:disabled { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -/* -Copyright 2012 Adobe Systems Inc.; -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -/* -Copyright 2012 Adobe Systems Inc.; -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -.range, -.topcoat-range { - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - vertical-align: top; - outline: none; - -webkit-appearance: none; -} - -.range__thumb, -.topcoat-range::-moz-range-thumb { - cursor: pointer; -} - -.range__thumb--webkit, -.topcoat-range::-webkit-slider-thumb { - cursor: pointer; - -webkit-appearance: none; -} - -.range:disabled, -.topcoat-range:disabled { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -/* topdoc - name: Range - description: Range input - modifiers: - :active: Active state - :disabled: Disabled state - :hover: Hover state - :focus: Focused - markup: - - - examples: - mobile range: http://codepen.io/Topcoat/pen/BskEn - tags: - - desktop - - mobile - - range -*/ - -.topcoat-range { - border-radius: 4px; - border: 1px solid #9daca9; - background-color: #d6dcdb; - height: 0.5rem; - border-radius: 15px; -} - -.topcoat-range::-moz-range-track { - border-radius: 4px; - border: 1px solid #9daca9; - background-color: #d6dcdb; - height: 0.5rem; - border-radius: 15px; -} - -.topcoat-range::-webkit-slider-thumb { - height: 1.313rem; - width: 0.75rem; - background-color: #e5e9e8; - border: 1px solid #9daca9; - border-radius: 4px; - box-shadow: inset 0 1px #fff; -} - -.topcoat-range::-moz-range-thumb { - height: 1.313rem; - width: 0.75rem; - background-color: #e5e9e8; - border: 1px solid #9daca9; - border-radius: 4px; - box-shadow: inset 0 1px #fff; -} - -.topcoat-range:focus::-webkit-slider-thumb { - border: 1px solid #0036ff; - box-shadow: inset 0 1px rgba(255,255,255,0.36), 0 0 0 2px #6fb5f1; -} - -.topcoat-range:focus::-moz-range-thumb { - border: 1px solid #0036ff; - box-shadow: inset 0 1px rgba(255,255,255,0.36), 0 0 0 2px #6fb5f1; -} - -.topcoat-range:active::-webkit-slider-thumb { - border: 1px solid #9daca9; - box-shadow: inset 0 1px #fff; -} - -.topcoat-range:active::-moz-range-thumb { - border: 1px solid #9daca9; - box-shadow: inset 0 1px #fff; -} - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -.search-input { - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - vertical-align: top; - outline: none; - -webkit-appearance: none; -} - -input[type="search"]::-webkit-search-cancel-button { - -webkit-appearance: none; -} - -.search-input:disabled { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -.search-input, -.topcoat-search-input, -.topcoat-search-input--large { - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - vertical-align: top; - outline: none; - -webkit-appearance: none; -} - -input[type="search"]::-webkit-search-cancel-button { - -webkit-appearance: none; -} - -.search-input:disabled, -.topcoat-search-input:disabled, -.topcoat-search-input--large:disabled { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -/* topdoc - name: Search Input - description: A text input designed for searching. - modifiers: - :disabled: Disabled state - markup: - - - tags: - - desktop - - light - - mobile - - text - - input - - search - - form -*/ - -.topcoat-search-input, -.topcoat-search-input--large { - line-height: 1.313rem; - height: 1.313rem; - font-size: 12px; - border: 1px solid #9daca9; - background-color: #fff; - box-shadow: inset 0 1px 0 rgba(0,0,0,0.23); - color: #454545; - padding: 0 0 0 1.3rem; - border-radius: 15px; - background-image: url("../img/search.svg"); - background-position: 1rem center; - background-repeat: no-repeat; - background-size: 12px; -} - -.topcoat-search-input:focus, -.topcoat-search-input--large:focus { - background-color: #fff; - color: #454545; - border: 1px solid #0036ff; - box-shadow: inset 0 1px 0 rgba(0,0,0,0.23), 0 0 0 2px #6fb5f1; -} - -.topcoat-search-input::-webkit-search-cancel-button, -.topcoat-search-input::-webkit-search-decoration, -.topcoat-search-input--large::-webkit-search-cancel-button, -.topcoat-search-input--large::-webkit-search-decoration { - margin-right: 5px; -} - -.topcoat-search-input:focus::-webkit-input-placeholder, -.topcoat-search-input:focus::-webkit-input-placeholder { - color: #c6c8c8; -} - -.topcoat-search-input:disabled::-webkit-input-placeholder { - color: #454545; -} - -.topcoat-search-input:disabled::-moz-placeholder { - color: #454545; -} - -.topcoat-search-input:disabled:-ms-input-placeholder { - color: #454545; -} - -/* topdoc - name: Large Search Input - description: A large text input designed for searching. - modifiers: - :disabled: Disabled state - markup: - - - tags: - - desktop - - light - - mobile - - text - - input - - search - - form - - large -*/ - -.topcoat-search-input--large { - line-height: 1.688rem; - height: 1.688rem; - font-size: 0.875rem; - font-weight: 400; - padding: 0 0 0 1.8rem; - border-radius: 25px; - background-position: 1.2rem center; - background-size: 0.875rem; -} - -.topcoat-search-input--large:disabled { - color: #454545; -} - -.topcoat-search-input--large:disabled::-webkit-input-placeholder { - color: #454545; -} - -.topcoat-search-input--large:disabled::-moz-placeholder { - color: #454545; -} - -.topcoat-search-input--large:disabled:-ms-input-placeholder { - color: #454545; -} - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -.switch { - position: relative; - display: inline-block; - vertical-align: top; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; -} - -.switch__input { - position: absolute; - overflow: hidden; - padding: 0; - border: 0; - opacity: 0.001; - z-index: 1; - vertical-align: top; - outline: none; -} - -.switch__toggle { - position: relative; - display: inline-block; - vertical-align: top; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.switch__toggle:before, -.switch__toggle:after { - content: ''; - position: absolute; - z-index: -1; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; -} - -.switch--disabled { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -.switch, -.topcoat-switch { - position: relative; - display: inline-block; - vertical-align: top; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; -} - -.switch__input, -.topcoat-switch__input { - position: absolute; - overflow: hidden; - padding: 0; - border: 0; - opacity: 0.001; - z-index: 1; - vertical-align: top; - outline: none; -} - -.switch__toggle, -.topcoat-switch__toggle { - position: relative; - display: inline-block; - vertical-align: top; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.switch__toggle:before, -.switch__toggle:after, -.topcoat-switch__toggle:before, -.topcoat-switch__toggle:after { - content: ''; - position: absolute; - z-index: -1; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; -} - -.switch--disabled, -.topcoat-switch__input:disabled + .topcoat-switch__toggle { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -/* topdoc - name: Switch - description: Default skin for Topcoat switch - modifiers: - :focus: Focus state - :disabled: Disabled state - markup: - -
-
- -
-
- - examples: - mobile switch: http://codepen.io/Topcoat/pen/upxds - tags: - - desktop - - light - - mobile - - switch -*/ - -.topcoat-switch { - font-size: 12px; - padding: 0 0.563rem; - border-radius: 4px; - border: 1px solid #9daca9; - overflow: hidden; - width: 3.5rem; -} - -.topcoat-switch__toggle:before, -.topcoat-switch__toggle:after { - top: -1px; - width: 2.6rem; -} - -.topcoat-switch__toggle:before { - content: 'ON'; - color: #288edf; - background-color: #e5f1fb; - right: 0.8rem; - padding-left: 0.75rem; -} - -.topcoat-switch__toggle { - line-height: 1.313rem; - height: 1.313rem; - width: 1rem; - border-radius: 4px; - color: #454545; - text-shadow: 0 1px #fff; - background-color: #e5e9e8; - border: 1px solid #9daca9; - margin-left: -0.6rem; - margin-bottom: -1px; - margin-top: -1px; - box-shadow: inset 0 1px #fff; - -webkit-transition: margin-left 0.05s ease-in-out; - transition: margin-left 0.05s ease-in-out; -} - -.topcoat-switch__toggle:after { - content: 'OFF'; - background-color: #d2d6d6; - left: 0.8rem; - padding-left: 0.6rem; -} - -.topcoat-switch__input:checked + .topcoat-switch__toggle { - margin-left: 1.85rem; -} - -.topcoat-switch__input:active + .topcoat-switch__toggle { - border: 1px solid #9daca9; - box-shadow: inset 0 1px #fff; -} - -.topcoat-switch__input:focus + .topcoat-switch__toggle { - border: 1px solid #0036ff; - box-shadow: 0 0 0 2px #6fb5f1; -} - -.topcoat-switch__input:disabled + .topcoat-switch__toggle:after, -.topcoat-switch__input:disabled + .topcoat-switch__toggle:before { - background: transparent; -} - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -.button, -.topcoat-tab-bar__button { - position: relative; - display: inline-block; - vertical-align: top; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - text-decoration: none; -} - -.button--quiet { - background: transparent; - border: 1px solid transparent; - box-shadow: none; -} - -.button--disabled, -.topcoat-tab-bar__button:disabled { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -.button-bar, -.topcoat-tab-bar { - display: table; - table-layout: fixed; - white-space: nowrap; - margin: 0; - padding: 0; -} - -.button-bar__item, -.topcoat-tab-bar__item { - display: table-cell; - width: auto; - border-radius: 0; -} - -.button-bar__item > input, -.topcoat-tab-bar__item > input { - position: absolute; - overflow: hidden; - padding: 0; - border: 0; - opacity: 0.001; - z-index: 1; - vertical-align: top; - outline: none; -} - -.button-bar__button { - border-radius: inherit; -} - -.button-bar__item:disabled { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -/* topdoc - name: Tab Bar - description: Component of tab buttons - modifiers: - :disabled: Disabled state - markup: -
- - - -
- examples: - mobile tab bar: http://codepen.io/Topcoat/pen/rJICF - tags: - - desktop - - light - - dark - - mobile - - tab - - group - - bar -*/ - -.topcoat-tab-bar__button { - padding: 0 0.563rem; - height: 1.313rem; - line-height: 1.313rem; - letter-spacing: 0; - color: #454545; - text-shadow: 0 1px #fff; - vertical-align: top; - background-color: #e5e9e8; - box-shadow: inset 0 1px #fff; - border-top: 1px solid #9daca9; -} - -.topcoat-tab-bar__button:active, -.topcoat-tab-bar__button--large:active, -:checked + .topcoat-tab-bar__button { - color: #288edf; - background-color: #e5f1fb; - box-shadow: inset 0 0 1px rgba(0,0,0,0.1); -} - -.topcoat-tab-bar__button:focus, -.topcoat-tab-bar__button--large:focus { - z-index: 1; - box-shadow: inset 0 1px rgba(255,255,255,0.36), 0 0 0 2px #6fb5f1; - outline: 0; -} - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -.input, -.topcoat-text-input, -.topcoat-text-input--large { - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - vertical-align: top; - outline: none; -} - -.input:disabled, -.topcoat-text-input:disabled, -.topcoat-text-input--large:disabled { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -/* topdoc - name: Text input - description: Topdoc text input - modifiers: - :disabled: Disabled state - :focus: Focused - :invalid: Hover state - markup: - -
-
- -
-
- - tags: - - desktop - - mobile - - text - - input -*/ - -.topcoat-text-input, -.topcoat-text-input--large { - line-height: 1.313rem; - font-size: 12px; - letter-spacing: 0; - padding: 0 0.563rem; - border: 1px solid #9daca9; - border-radius: 4px; - background-color: #fff; - box-shadow: inset 0 1px rgba(0,0,0,0.1); - color: #454545; - vertical-align: top; -} - -.topcoat-text-input:focus, -.topcoat-text-input--large:focus { - background-color: #fff; - color: #454545; - border: 1px solid #0036ff; - box-shadow: 0 0 0 2px #6fb5f1; -} - -.topcoat-text-input:disabled::-webkit-input-placeholder { - color: #454545; -} - -.topcoat-text-input:disabled::-moz-placeholder { - color: #454545; -} - -.topcoat-text-input:disabled:-ms-input-placeholder { - color: #454545; -} - -.topcoat-text-input:invalid { - border: 1px solid #ec514e; -} - -/* topdoc - name: Large Text Input - description: A bigger input, still for text. - modifiers: - :disabled: Disabled state - :focus: Focused - :invalid: Hover state - markup: - -
-
- -
-
- - tags: - - desktop - - light - - mobile - - form - - input - - large -*/ - -.topcoat-text-input--large { - line-height: 1.688rem; - font-size: 0.875rem; -} - -.topcoat-text-input--large:disabled { - color: #454545; -} - -.topcoat-text-input--large:disabled::-webkit-input-placeholder { - color: #454545; -} - -.topcoat-text-input--large:disabled::-moz-placeholder { - color: #454545; -} - -.topcoat-text-input--large:disabled:-ms-input-placeholder { - color: #454545; -} - -.topcoat-text-input--large:invalid { - border: 1px solid #ec514e; -} - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -.textarea { - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - vertical-align: top; - resize: none; - outline: none; -} - -.textarea:disabled { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -/** -* -* Copyright 2012 Adobe Systems Inc.; -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -.textarea, -.topcoat-textarea, -.topcoat-textarea--large { - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - vertical-align: top; - resize: none; - outline: none; -} - -.textarea:disabled, -.topcoat-textarea:disabled, -.topcoat-textarea--large:disabled { - opacity: 0.3; - cursor: default; - pointer-events: none; -} - -/* topdoc - name: Textarea - description: A whole area, just for text. - modifiers: - :disabled: Disabled state - markup: - -
-
- - tags: - - desktop - - light - - mobile - - form - - input - - textarea -*/ - -.topcoat-textarea, -.topcoat-textarea--large { - padding: 1rem; - font-size: 1rem; - font-weight: 400; - border-radius: 4px; - line-height: 1.313rem; - border: 1px solid #9daca9; - background-color: #fff; - box-shadow: inset 0 1px rgba(0,0,0,0.1); - color: #454545; - letter-spacing: 0; -} - -.topcoat-textarea:focus, -.topcoat-textarea--large:focus { - background-color: #fff; - color: #454545; - border: 1px solid #0036ff; - box-shadow: 0 0 0 2px #6fb5f1; -} - -.topcoat-textarea:disabled::-webkit-input-placeholder { - color: #454545; -} - -.topcoat-textarea:disabled::-moz-placeholder { - color: #454545; -} - -.topcoat-textarea:disabled:-ms-input-placeholder { - color: #454545; -} - -/* topdoc - name: Large Textarea - description: A whole area, just for text; now available in large. - modifiers: - :disabled: Disabled state - markup: - -
-
- - tags: - - desktop - - light - - mobile - - form - - input - - textarea -*/ - -.topcoat-textarea--large { - font-size: 1.3rem; - line-height: 1.688rem; -} - -.topcoat-textarea--large:disabled { - color: #454545; -} - -.topcoat-textarea--large:disabled::-webkit-input-placeholder { - color: #454545; -} - -.topcoat-textarea--large:disabled::-moz-placeholder { - color: #454545; -} - -.topcoat-textarea--large:disabled:-ms-input-placeholder { - color: #454545; -} - -@font-face { - font-family: "Source Sans"; - src: url("../font/SourceSansPro-Regular.otf"); -} - -@font-face { - font-family: "Source Sans"; - src: url("../font/SourceSansPro-Light.otf"); - font-weight: 200; -} - -@font-face { - font-family: "Source Sans"; - src: url("../font/SourceSansPro-Semibold.otf"); - font-weight: 600; -} - -body { - margin: 0; - padding: 0; - background: #dfe2e2; - color: #000; - font: 16px "Source Sans", helvetica, arial, sans-serif; - font-weight: 400; -} - -:focus { - outline-color: transparent; - outline-style: none; -} - -.topcoat-icon--menu-stack { - background: url("../img/hamburger_dark.svg") no-repeat; - background-size: cover; -} - -.quarter { - width: 25%; -} - -.half { - width: 50%; -} - -.three-quarters { - width: 75%; -} - -.third { - width: 33.333%; -} - -.two-thirds { - width: 66.666%; -} - -.full { - width: 100%; -} - -.left { - text-align: left; -} - -.center { - text-align: center; -} - -.right { - text-align: right; -} - -.reset-ui { - -moz-box-sizing: border-box; - box-sizing: border-box; - background-clip: padding-box; - position: relative; - display: inline-block; - vertical-align: top; - padding: 0; - margin: 0; - font: inherit; - color: inherit; - background: transparent; - border: none; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; -} - -/* This file should include color and image variables corresponding to the dark theme */ - -/* ---------- colors ---------- */ - -/* ---------- darken ---------- */ - -/* ---------- lighten ---------- */ - -/* ---------- alphas ---------- */ - -/* ---------- thickness ---------- */ - -/* ---------- shadows ---------- */ - -/* Icons */ - -/* Navigation Bar */ - -/* Text Input */ - -/* List */ - -/* Overlay */ - -/* Progress bar */ - -/* Checkbox */ - -/* Range input */ - -/* Radio Button */ - -/* Tab bar */ - -/* Switch */ - -/* Icon Button */ - -/* Navigation bar */ - -/* List */ - -/* Search Input */ - -/* Textarea */ - -/* Checkbox */ - -/* Radio */ - -/* Range input */ - -/* Search Input */ - -/* Switch */ - -/* This file should include color and image variables corresponding to the light theme */ - -/* ---------- colors ---------- */ - -/* ---------- darken ---------- */ - -/* ---------- lighten ---------- */ - -/* ---------- alphas ---------- */ - -/* ---------- thickness ---------- */ - -/* ---------- shadows ---------- */ - -/* Secondary colors (based on colors above) - -Everything below this line should be calculated using the variables above. This area is for people that want to totally customize everything. Have fun, bros! - -*/ - -/* Icons */ - -/* Navigation Bar */ - -/* Text Input */ - -/* List */ - -/* Overlay */ - -/* Progress bar */ - -/* Checkbox */ - -/* Range input */ - -/* Radio Button */ - -/* Tab bar */ - -/* Switch */ - -/* Containers */ - -/* Icon Button */ - -/* Navigation bar */ - -/* List */ - -/* Search Input */ - -/* Text Area */ - -/* Checkbox */ - -/* Radio */ - -/* Range input */ - -/* Search Input */ - -/* Switch */ - -/* Call To Action */ - -/* Text Input */ - -/* Radio input */ - -/* Overlay */ - -/* Textarea */ - -/* Progress bar container */ - -/* Progress bar progress */ - -/* Switch */ - -/* Notification */ - -/* Search */ \ No newline at end of file diff --git a/example/font/LICENSE.txt b/example/font/LICENSE.txt deleted file mode 100755 index d154618..0000000 --- a/example/font/LICENSE.txt +++ /dev/null @@ -1,93 +0,0 @@ -Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. - -This Font Software is licensed under the SIL Open Font License, Version 1.1. - -This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL - - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/example/font/SourceCodePro-Black.otf b/example/font/SourceCodePro-Black.otf deleted file mode 100755 index ba47f3db43526fb256b02073eb102750867745f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88472 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

8Wc&+}CCU`jEs&%D@qL+549E1WlFUd_B& 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

5F3@lk=wUo4h}Sj4dZPqpjX68^CY3bERopSoeA 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⋘kI`WEq$ellKm7mq2TD_fz zAkvd7L6biiX>xbwNp|Jlg?3ZlEIxUqgZuGcs!aF)D>jXaf^<5!(mW}B{K1p{-#GyN zciiXaN*xBRxju8B+lwncB~pls9o1CYx~-c6Y}B)U zUUx04e$ussnCs2E^~<+y7F))NPs|BNpcWpb6J zwz@LK^&{a*ToTkTvSK9#_ne7Iw<{*y@W71BvY7ko)U`vqT5h#GOEKwxJ1&$SIR2K4 z|Aj%OvYOsbPwQs>;d{F69yX`~XV3d%-x;$fIb+kD;_rKVwyza@F@BU?-0Sf5 zTi$hfY+=^pt9sD)sHN?kr%bF;VO|;U%^m$`?@O8EInHBI22clic(`r5DXwE!V#AU3F&5+yRA6F3s84vPnSw zE8Ckiua>;R@_eN#XF52Zp6f7hcE`G>8sB*0aV>0(V_w}?Rc_{*KRdddq;Ib{&pmAF z^FI43$3?07e2=#GZ+6Z#Zbh>F;*_I3VkY-rnKSR}#y1Q04m?q@$Kk{t{+q1LyH2yR zZ_=~-;+Zv9Hkof{vRqdC_<}WU=UsM9lv-dk;5lqvn0Qk6eC1%Po7?;NrO)}?)F;H^@2y~u@+K9X(G$)IC_8i z=r4;}1kJzJJ>qmh1=CPn#KW_-)ouG!IGa7FK7Vsp=XNz3bO{LrtCA3CzH@hcLd?C+{_~534cErCaJHM_ zG4jj2HI`*w=)G38|2TL0fW4}OOCttNiI*NayUeLg!PDyZJij0G4)ol#f7(RJSibzA zst>njR2ki}M_K>*=VvwxJYhE^rFwb$>Cs=gxwk6SYH;IN#>{W>l#6GQJ-$uI6~*!fkLdpW+zM|UT&Fx}XmmBVs1wBLMP#rOXS7EdcR!*<$h zCp?O~#++OnEoyo|MVii#|PD(imhnKgjsoTHN*N-f0E~00GDZ0ssI2 diff --git a/example/font/SourceCodePro-ExtraLight.otf b/example/font/SourceCodePro-ExtraLight.otf deleted file mode 100755 index 5cb8e5fb97423708576a22c0496cc62aef8866bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84636 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 diff --git a/example/font/SourceCodePro-Light.otf b/example/font/SourceCodePro-Light.otf deleted file mode 100755 index e3c0a7492fd2233e1328ed072111c0df84ed9bcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88152 zcmdqK2V7HE|2TZ^4M`vu!U#bnO^ACTh7DQ=BPfc14EG8UAPNMNuoU-bZJ*X|ty=fi zI&dIbtJb!*)!JHZt5xf$b`RU9_F`k}|NA{BF<|ZUJiq6Cf1m&7ebMBed+#~lz0SRy zLsnj17EzMfL_#JdC*>NSZ1=)$!X?%dLi(hnrRi@879}Brn+ZAlTWW6lpgr=Q8F2pq zA-dIrQjKZ7!+U>7xK6du|JN$v|}_Hz^cAH7W^lCR+kIdysHO84>JH-A?0Z_w)!!sAu=fpL=afBr-WKkD8$ z_g>=Pppe)-_6qIhjPxxZ2(%l#6t=eTXkN)YTS9J8q<_?H71~t8}%M zq?0P$)ea#3s&ZF5kVsYatPRA5sOGrZ91&DYTx}lOYh7&#QLA1BUO6wY4f2HQ4Og2Z zJ%Te_ZJsEDt6gmg85}&{)%I%9M@nqLr(D-%q>H-0t1Tx-)kUthH;D=9Qk(hbv8>$sY4%Sh%|)bca%P<$Xa05=hoRB=5o6}y`s=+tF+oo4s%h2KB=rs zpMwMJ`W&;}Y^#Qgxz;LMp&4Kmnf2K=t3Cto=a@^X%1pM%2t#CaUo@@0tQ+=%PQ7R+ zxRI4?9AUQEE!GM>>zkd64TGU?snteI%G#DNN z(M5~Jt~co&HdB$g++>@gw-)~kru3Eyy`$8u&#$lmi~3v#a0)VR*<_ol%Jiub`oYk()ZwV?)4O*~O-+Oeg&9$3E${89t2F-)<*o1bP)Oaw z^)(hp>3t38)2tN^eI`U7eOD%ct`FCg{(oCMehNQDUMWbQQj}{gcGQ?`W<6XevlN;u z>>%H&iXxCG3OqMGL!VV?u3()rSch=E#~dOf?!$8pM@WU%N(;a#Fqc_t!ck9n(Nt!) z>P^)qOPQ&l%*@1N(x)X2*P9%D^e!pd3vHH4hdsh>DT}b$N_uCdWgvoH|NW1jf-;e9 z%+#l4W#;KK(o>9?xyF_}=zHm-;`C|e0$Y{IRtFwti2r|x(od0{V@w*BoMA*^oAo7D z;2v!ph58qP>bn7(-SwyjhgENPSjxdK9UvmBt*ofV0zO-0t_E3FmYczd07{{?41|ad zZ>cuxi_x?yZPv-=LWez^f~cy5aNwZW=-on_8Tx_)n~RI#1|`K*h`whjr1~kdRFqU% z0Cgb%FE6hGM+0ACx&xX3dNtBv(ihvzZ~%>3(JYE>V9`M46!g%VQcGberN*u=H`Rgq z_4ZO=s)$)YIRb$b=vis9IVvEelv*m89Z(;(yKD(0l$HVJ0>)#fEZjFt&n)EzNAQAA&4 z1*#F5sj?EJ4}Gcptc6t+3bjaJrOJ+?MYmwe1>kUEv9(~3*##7m>6z(y=~+MyAr6>{L6D^$C1|VeVl_CrWQ?P(Vxgr@;hKpvBnBH1TIsj z-KN-D9B8`w3UiI#Tv2VYSu0S^jNPOvN2%5JS0?S25(sY)3lNbRTj1X%5G%{E?JyUX zR#*x_H#Ih>XP|;{7crG!#GsIxQY+{H%NZ8HTxQ*hDoQ}MF=tqMZZ7zQzKcF3D>K#Y zAK7MGxy4RPHZWDFkIcX!5KsZ}Fr3A3Od}ATOUyK5pcq})tpyHnX%vMCsHlXvz{J}M zJskwGh(+K!h%C?(qOh3)q%qJHli_O1K*&-G#M!deA-k&Legvo0!~Jae09r5$%yVv6 zF9tKV)*!JUup&rW)(U$ctQaD@>od(zfw^3z6%+_dHn-tezyK^T64F~0XvAYf82R=0 zy$A+8Xxk81-C53+K>(Jyte9#hs{6kl`%s~};oZ+AEd@t28`irI&mh#qFh{#mh}i_W zn5qvg2^7jwDO3$mG2nGJr+@$rMI8-N4vcCoqrM$FvgGE9b47ZWL@^RNAVT&sK}Ln5 z#a!#qyMkY7Rk^967nB=Cw93QzI!0!o8^no$2hxGfT4}Rjfm04df`fRvmzy0h&;ezJ z#avcor^Nw|Lj(Y#03sR`Xe_V;5uSW*1!7%eTr@*=vq0>wwwP;J#zf>`u{NroXfO}! zUsU?{T7iL-`oD&4mOmiV*!AYxN|2w$LH*hR#P3paH69|jv1fo+iEA<)wJmvUbv zEG@aR4D^67;EK}~Sj9j#h04rr{~$=nP9PG@hnO)iVpqZ_h*4+?EFmJ>EQ`i;r?n0C zM8aLJ{UCCBi_HL7h-=ZewI@M=2cGPzDF6*c2?{Q^Iv_TfD~hZ(kQ}JaR0IWx!vZH5 zY990@=vrH7uB2{lDx6Ybt$|vqgo*rqBn01XLC3>r#-xp+Z9%k+6_{`pYKniMAZit{ zOggPtbcHc2ErAVBn4<9k3t5+KL(nb*mdmT`w7zPYH9;3pJc085S|+h@NC&xu*m5B2 zPg5K)U~A=_5LN&8YqD07pd!k{l#`i+b(m`&=?WQ8R6_8?ny(5h0yR->wLrCB?2fdk z7vv3YrJwI1@NTIC)t)AOjaEBhzz@;rgVU z^juUzT29t501m1E86l7PAVTO0X2$46wcs_pN9XYO4FY=MXqVtpjY$~*5bPrJuYDsP z`kV%5JH5-yC8jdCUtZ>V_~L#}MxTJ?)m38cRtd9Pn3O`jR)J5SlH4u5$dSG z4#^rSL6SnOq>|JT8?lfQQc4`~ls1YONF;p1@3*6%l|+i5ZvinwI~PXSp|6>g!%>qWWy3Wq zT*Zu-V`YdBic;MtM}hU8K!Idq@0N)MNt=)UO`&i8eIY1r_bn0XEhLu=gf4^j`$@ zbz5cxrJx+{Ilw|IfdbV1|DJv8NjK^<{~1l)sYlgNxt0P~5Bh+fqye=kJw3?;uF8Ra zJ?YxYPP$TgB!O)H6Q4rOwe+h0?^%x@Q4sv(ft(rj9vLBT#UQO3kd=+fiuFKm!zfZg zBMjOv+9XB*v{AQ(=R(xVfb%SBCusW~$QWxp5W?Z!!=eL5h`-X;8aw(G`V4wTCA678 zVH7QcD>c+2m_NCDn&6Hd?xCMm!^Z;WCWszoFh&m}&@0h;Fb1T7cMYd)2l#~k0b8^K zR`kP47-0umF}9V#5&gCVd?X9TXWZwY7x};O59R04L^j0kOv+al9P^-+0a{9-S99U} z@ARMt+A(j%(XnQbmJM`{R#8WV63`3N zy*rM(E%o19D8?bC&F%on?F|lUMVO~85KCCT#2AiNgf>tHK7sbc@+^L1E=Ieoq_KxZ zB9>Foelg~tCAu@bh4$Bj54xjPB|x>3$pEF0+8lb0n~Exc%Blm5Z*JZ^W6@U403WGk z8Q2Vv@xG11a!bVou-$nNz0{qL^gtcvFsuyF=MWCwMas)5|16`iyo8jw{f<${Xs?D* zOdjZ8#grzLn7c2^1|ti*$6_>-Cgxw3Lu+WPDx_ZO<_}{4=4rG?Rzun0KGPINC^vl6 zl$#P3D;Ug5+SdV?S(Sp(uoA|3;(;d*qp!D&OGrPn4#b06#K?mbxwX(bW+6Q->1Og_ zR9C?`qzmPTGOmI)i)whK93bO)vFnP@z)^_1W!3P_ACP%ENYk)SC zv8{z<-CAbyMe0$uXcH*S)|uTc8ILER1XvyDjvlQoy(PT}dn)M9LS=-t7mI%^0=2Xo zgo^nYN1#tL4}Gx4cvvlh60pK3l(m~P6Zml@aK&tw<$bsPS;4-l0Ee3vPmFYPk2#%L zt=pG9_KiGyDjwwP?=;|v7pahy(jez%!Y2&budQpcmY&gC*PcA+(M^Z{ zXvXk&x^R0(OMkb6$$(9-EBwiDumS+?mB^4RT^l3dF+GM>8=5=`oR2&y^u$y=fBHJ|BW5C ztN9w>pirN8aSejU?qsvY{h+hZmHcQ zDm#>ijr=E?M6H)l_$<322F8&Yu(4|_f0w`+W@Pjtb{%~RrGWJ-)*I+IHE@qTpF#aF z3AD_6=+_vDk$&urlrld+>wmBUV-j%d@9$;hkpRxra$p{l4%q?cZU z`6HWBR1Q?z;h)=gSyW}uk8s|G8fOwfI^7kMyFzql5M~oNi#1c*c59I3&DOl*GfRw2 zXc2C!KwZ0Im>cH5=N@g6VPbU=p1W({I#@Ur^{N6c0W&W_rWaaf$hG_IA!ym{~5O|TDa$PZtmTZLO*oRCft%mTu3k4CeyJU zo=muBBat*$X9BnEDMst8^7nSfswK4a))5DxU?fNEh?C9UaORJ4LRub-Lnu+~jWePL za}o2Re;2n|z3Q$5SY3*K)^ZNQ=t6zr(_c6DQIz}t9`ApyJC-NVm;P>E@^==8md32< zznO!ebpO>X1S@y+-Im_REXM7js7<$hv1biz*2QeNb;ZFdX!fMeO*I?+u-ZEUAm;&Y zHvd5ikWaUS&?emTKvo5|wo!LYh;*W@^@1atqhdD1NL35pn48?SEy|)4vIJU61@uRW zW487@%R^e&lMGffGy7xK>5&1>4loblw*~qmE~a0UB=$Bx6gtKqq!uyakwB3P3CJaD{S49X)J*ZiPEY8}|0#X)R|qcS9K=T=ZAWxJ=@$D=rpe zZ7uvK+7&%8ll?m{{cn7QVf5Hv4$#$luI!0W?&tF@=O1iNgVI4+;+zg`6JvoVU!(TW z>R66?cs6XE|J;?H+ak~tZ14|hV>Oni{!5{D(%MT}&X(Lh!2E;3VATLVuXE>QjNtBP zF>G$?&K<4m1ZI(F-)<|xk;tukj^VZz?8#*5&gv*-)T5g#x3*h8yNaRuW6Uow zdh*|K?itl`9@Dal^Yp-XXl}YZ8vpC8f<3`wIoUm%XYrPCgRzux$vhY{GwL5B16lz- z3qa3DpJ85y-pZbUpf=bYj2`GK|IXqW)LO7OGuQ=cf#Jr8I|X3i^A)tvB3dA~`FNuw^@amd}5J*W8ZJjj!4V_VtI-)j-2hI&CCVsQ(##2}U z31f{%{w*WVgVoQ2RW*)7dttRP+8E3D9_n!pmJ9Q-44^$7;s?&y80~|hjc*U#Z`pF8 zl?MEcgr4|@3V)*`7rya*RTjMaOo#XIM)>GquA4;f;QbCXl8uDBdGLll3w~!H4|*^d zInWQ^;EjeW2pfMZA(NgBh5nfU3$52kMo}C_fQI<803YHW23PUTAL7J*I0E^|hjVNX zf@{exe3>u`@nV0RkD|_y(mc5C!P=TCgv{_EWlS31H*9VT3iB;>RbVd4ShV zCrS<}O@dE0eCNPjd{3DVqwox`=EE@?`my(x2pOqDYVp}>Cded*9tQzbq=3EeWU|6J zbT;6|9)p0cJW2&(Lhi69N+l2O<8Qp+c*HuCUS*V_Oi;^6iw6qkf5gq`K>3ew!NcDa zK>jn}A3|mp@>e?WcQLY{4`M~w_}ey2_9!)cr^)P!Nr!3NV}VF@Dqul+k#CRAThfb? z|EmrjW&>`ULRhFBlt%`YLN3V92pU01>p}ZYaY>NDWY&#Rb@yd5WKS|sf5SnW zOzsTcgIpkABdN?hQfG2T3eipwqx&g|N5_a0X?D|tHjB38_5_bq(94h##Du!WGsJ+N zfR>a6GR1ptFJw5}dd#O|-B58{Yx%mp#of<6?q5X+CL=d)gze!StpjDrC`2tYY5aS* zEPDOVf6u2kt!+vmCgN{6;P`TAVa?`wDvz}bdv=-)k<$wFxqs&^4=OCIrCH@&N#|9C zKs7?cip>U5oXx!Kz}JJ8= zL+%Xs5qFk5$9>Fw!hONr;Fs|)^UJxfc@?Z6mk=*l4K9Nf+1@~bf(XPHa)^@nlK>J( zf?(x!Fs#ZBA#F%o(vE}@4bSm%p66F_fAS}R2QAT&FyOO2WQ&fZ6X^`k2)n{to9?6s z=?NCw3$)c6emf%)etRRD#E@8C!pnFsehqNehx7wW9Yy{@UL?oJ*W@em4f&3IOMWEx zI3LcNQ*gdqXRZ_1h3m!*;LV;M~m3{R+OgUd+SS@aI)7bzU1wcSU0+?gu25&yEzm92J+E7$TdBLF zm+RH~P`ysy0oME&^wIi0`c(Z?eVu-mev$rZ{R{dv`t|xv`tAA#{XYG{_Nw-6+UwhQ zXy2uMMEkt<6WTxDf$t#e;NKyrgSta#2VIAr9R_!p)WO_&Rp-^6_jGRTe7N(m&Tn^q zuS;N;$z4@lbDaFWdmuwSSWh4Dw6Wk()5&Ubl)ObgBA=40PB^%^2s)bzsLFLlGH}Z%0*ZH?W7uO_2A_KVufm}LDy4;t`AdpKI$YsQR zx%lezx=y+tx;S03Zj7!>H(U3#?l~%#)gYH3eOvt_dOej(ls*yUQmJ?7XXt0^pK{4% zqkfxyH^`-_m0WV$k8S^qOD=&Rmv;B%Qq-A%TpBv>@BCWlqac@ey9Bu8!l7KaR|vUx z3_gcIM&w>Ke2zc^_H2Nt==!-g^WI4CsTM!?ivCpG%eXi6-r##l_xj(9y%&Bj?4IVH z@4fA`lP~x`LZCnQzPxwy-skr|1;}Ubo%!>|%^*TN??Qyr@Oj*A{z?8H{8QXF5a%-> z(vO5#KN|d)y;G@y$o3EZC9;Mbrcv@3xj=4mQy}{P0rB4(G62T^PLKgG{=du(;Fmzm zwn6lV*v~!9ErWR67j|NKl>7jd@m-PyaWtFbNDe0K0rPktiPxt`=@ZWwu+n@&z}_2eCH26>m8N#5gT zkupw8ws7OgUapiJ8pE{QDWlF2h%3VD??ksVwC*~t}>eVm2t=O&XwoRz%BRg!buBJwf!1o@Qv2f4&O zOTOTik^$rv83-9K31WLP`6pD)zd}`i8|uy9pbi$H9&Uy@{0`Kczmp-vNhWduWD*xh zOk5Bt;8diL3noRJnwTLL6mxAzJ?wTfgX=|>ahYT}mqk`^+2j>&I9bW%kX2kRS#Nhm*_@5FcJ3;5ZPm$&mT@=KxK*w4R-l_37y z+XrkNEvJ^1I0W-t0?$zr+9jyQDe9>mRiV0#9fOIW{~9q7k6*hO$l#C0j=*%_5;>82|zu21Wf?czA`sY*<5P zkjKf>WGPumHjwS4fgFG`phzbPMm5<^!RHc~>$ebEMF_4^C~JZw z?IdAP){ z39=xWR@O<@QRxg_;dqVcCY^iLOY=dmOtU=Z!J1RRN zdtY{5c18B3><8Jevft&L+*|H150Pu-9pydb26?PJS)MM>mXDNAkelUYa=Uz*e3pEn z{3-bh^5yci^3C!c@+SEk@^|EC<)6u~$-kEWB)=`c=PmR0^A7gbcz5vb?rrdn_wMg) z^v>|k^&aDG@-FqB;%)by?)|v;Gv3R+*L!dG-sAn6_gmhly+8H7>iv!PFWyccFCRaj z5T7ugZa$GdF+NE?=|1^B6MTw&tUmQV3w)mPdC_N;&t{+9K21Kyect!^#OJcl4WI9P ze(|}ZkSGL2u;LL#XGJeXtYUy-uwuAkw4zW^uBcYbS3Iv+so1R8t!PplQ=C+sQ(RWu zRQ#m4Bk)3i5GM2xVuXHzQ5YtS6ebB4VX81)SRgzttPr*d`-P*zyTTdag7Ag#y>MIj z!&mMb=o{+W%{SgR**C*?wC_Y;v+oq&slGM7GkoXyF7jRM`=al1-!;CQd|&n5Lei43Aeu;hq{8Ide_zm|PX{glBJs2r#qq|8+2E5|7dm6MfIm9@%Q%7x0OlrJckE7vNwD0e9vm9Hz`Ql3(tReq+t zruVMMzBmWEjSN*^8|Iz=p|J?w2fHI(6fIgsWKvY0dKt{mWfZ~9vfY||y1C|AB3D_HO zJm7S|<$$jP#6UhUFz}JUo`G?J#=z{riGh;?>jLKnJ{kC2;LCyQ0(S=P4?G!>L5iTjpteC_L0y7+1;qsQ4N4A556TW288jit98?x$51JM< zC+P8@#X&Cxy%MxOXj@Q2P*c#+pc6r-gFX(r6!b;Vw?RJ#H3!{O$y9!-V3kJILDgMl zP{phItBk4)Rjz7`%A_h)Syk1l8LIiJCsog>URJGEZBp$}?Nhy`I<9(8bw+hwbw%~1 z>Ic=YDrYbs>=PUi+$LBT+&MTrI6Amba8mH#;H=;g!Q+FAf~N%Ag6o232R|14bnuJ8 zD}vVrZw=lZd?5Hp@Y})f2cHYR7<@hWo8Vi)V(_18soGbqQirPBtGlUttK-!D)T!#B z>KyfG^(1wPxJQbQsy|oXRDZAjr~3C0 zF2p;;KO`hX8`2?UZpev{OCjGS!HRX*0V1iu2K%YNCOL-4lvFrG8j}p{5XBBL>=4He z3G9%>4k_$lq=#fSE}4x>X5*6MlB^}Luzm`3F+{~gr3o{^M>CftbmhOP< zQ_Sg%WE>P3m6F~Xa!MK5xp%keFE7J%-U3!$!ps7S_s9D^Ol2un2Pd7#p3(2+rnV^HIa`BY8$ObYo_|M@o9h$H{6l8B}R zr=lD|F7fP;$PUSHh%_3RB#d$SOq2QdC1GUr85wpX!){~(Ni&Rug}K${k(9xa9tKCk zo=~s{g2g_X-XHC`L$M{ehBKsTOloNfV7^kY-|>np(I%1CzuQorGM1 zR+zOUA(wE5T*85IndFKU%zBgAxMVginT<=1H+ft?GQm(tX)5$EP)HS1c%R53x1u7A z1_s`cRzzLjOz)T(*|4`6L@e|DVU(<7MqM(aE}0EacKMded>M5qjJlL~Go!A=Lr@8Y zT+$LUcx-fuhps3DWiZ51*Dv*qq%=e^$Wh6q;QFwC3%EY)Xn{c%2Sr99QD8L8JX09K zDajT_hU*YfG`SU2aP#;nC9vyPMH%cvU@0u4LM)>cl>wm?WHd9SXr`!W205CEA||?m z4ykZ6VTg45JtH@UjfzREFyRiOu%St*+1i5am^ABO-GKR)D`B`om@7)8GBHyZi8N9d zfkUG8z8j=6!cv)zQkjm7Oh-l>3;`k8Mv0~;vGF!H?UBYFa&g5*2uX4G=eMuM@eMUxvkr82JM5IO5P=~Lf4AyuUtZ@f~I(om(a|e({ z8WUW@8PYVS+_c1L6wI`irVRms34z*;Au1LP6AskGqhe{Wh>ArL4N+8ta6qVVVB(Eu z_Yx3?Au0j6g#&T{2NseOjiv~bi4qD&N&_4{B*O_6H5}b+L6gZH8dUOdMA=7}5O8FQ zkv1R@MYP-6c1tZg zLh!4gEi>+XN?WkS73+i|GSJuzd#j?dq9P+vJyDTS29qPA5VpxP!A7e#i+xIjsk9DU zoe_zHaPv^y=)pywy{Zy6@G?i>5$U5xN*}f;eYAn}VFT%-M@k>I7=75H^kD-wnSn@V zE_Tqa^o(xa#7==OYY}b2_ABKk+M=?;4b&Jdu#p<21&%IS3f#0ngV9ppq6LmFS_ZYZ@?xv-{PH8EsfE|HAE_g&*=#kQbEh-nGu@+ zT}Hpl>30SFX4Y3p+f(Vcjef)Cs$f*in5t;Ints>NZ)T5mv^|Y}n^`2H#>s*aHqmJy z(9s^0dhm6)ZZcNcU?*OPIf+qa78{12C__?QC2U9qJA1+QoAd%LeWDC>)&mFXa|T+C zz!~O&sHn(Tdzr~z8UZ_u7P1S8xW^Xkd1NYs)DBy);QmLZGT1eV9_hAXwX|7ju~Za; zU>$WZ&;Z~;ISz}d3^oXb%MRqH4E7zy9r!3@1Lh%c_BeYLI1p|j2OC%wRTW~L0HGin zw%~%21h&(n=ZOZB&1S8ss$^$T^sLBQgY`;OES(2N#ime@v9w-^ijR$gJ-kdMY)C9E z_@ZKyS(oH^dasBLr!^Q1$E*Se%qoyZ=viDOJ&TXT{1X)ymsDn*2Kx(|@yrm7i3biW zH_?L55Jl&5a9~-5)^&y`I%k3dOG7C%=|-hsGKGsY8$}yvPJ;u4KI9T+Y&5;W!E=RX zx@bd`=L*FQlRM89n&zVoF`g?l<3}6fJXdHQj5fr3uF!HI+K}M6LTQaQBzmq;vZD=2 zo-34tXhX8+ii?>P&lQ@1qYY{IuS7B~s7MXbw5|bBGDhf}6wVmQQH;(g51mnr&L|I^ zQB=^;(Jo;nfZSXXpw0VO4S3q3Qwyo$9T(lS*?NpiFLIV)q0L8L65Nn{hKh}Wy zg?mUo9B5REHK3Wn8R`fQShm3d^$rI#FQ^1j5^!MnsD;59vI+-=j};lQkt_nRS|gTD z#GwnrM`zn`#_&Zle31-aB*PcU@X-e=PY@fXkV#WQ^IjK6q>FP`CxXZYy+1)wl|@eE%)<1e1!i)Z-anLHC1z66FZ zf#FMF_!1bt1conx;iFTdsMrLCFM;uw!0;t7e016bT^K$(ZGtm~FOlI(WccXg8>mwl zzC?yEk>N{Z_+aLWzM07IB{F=83|}I{m&o`_WcU&pe~E|>Y9Jg3hZy=N5&pM#@AvF_ z`TzD`gLq);J1!7kR}O%``qBt*z&ms0-0Sdr2A%mdctyB~KOy1am0yfxsH9BdfLD7@ zN%l%EN<^&!lNq?6SnYXO7tdDG<%qSZn ztAST&kITN46M2xlExaPb7h`$yLirMS{dGzHt^6l%A9&@}!#l!z5WMDE=zYrjWAB^Z z-}rDoGI*WU+b4^@!kX+;;WHmzVJ-7n1Fx`l`h4Z{z0W;(Wu;d{EBYuZ6gEW-yr_Cg z@q%KRV!L9$;seE9p_`B(m;{@!T-Yp}7H$aN3b%Z{eB1f<_Z{S$>s#Pk>TCC{_nqzg zB)oLm<$KikU3krO!S{PViJ!M$J9xbm;TI3Dl`{Nt{YLxQ{p$Q4_j?LnC++cj-R~{G zQ+{XRWzsEpiR7;gQ9h#Vpo~}cQ5uyamF3E5$~o}j=o#e_L2z=VJ)0rr5}fQ11s1gr_z8E_!rSipM$X9F$;+=Q1! zKL-3WpgB+)7!(*57#^4yI1pYLrNc|3{J=5r;;1Ol5?B>DC-AAj=L1&+ZU}reaBtwj zz@ve0!ONo$13!kBN8bhh7Q_Yl2DJ(55Y!{6cTh}F;(2kN+8HUzdx^R$$2M(h)YZKz zEt@c^dZ@-37=K;#TNKvZQ})!7CzmV<6?O4foNb&+r=q7bQrEOKS}TZ0XQ{qFhvnii=LUbBJ?jU#H+ygbAm` z9@^h}i$P-0Z(oVgVyylvXOJ^U-`g3hI~XFWE?gJk*A*_rI91M|ez8vYRfT@n#2}sU zOp0`uctZBeh|5lOT>QjJvu@R7>83qrcAeFT{I=vr{}CoE%#$vX?U^ugW0uD0*S?oC z+!=K(S`0dUvY~Nrm{TF|@kCZuM@@dtvK^zs#8@$1tsnBa7$EvwzIp5L;hIs$!ko{` zb4KKrsdEZ4LEIA3BrcQz7qQX_GN;U0ZXIPESv~@|C_idDQhwO!BUZE> z2OaLlN`+rT4v62&&V6`r#|N5k_l(qsIhziMN91Bi?t4z3{y7tbB1M8i{o;(pvu1`C zRMck9)y=ruQ|9d7Z)9Y2|0805U31UzcMWpqxLesGFG_xTTO6lr4v`;S^4hw0Ls!jT zG4mCjQgT+jqIMRGGG{w6{_2UHZynZEZkFbc9bGwCNFo8SY)XeXf=(WPvclxQtw7c77PVV)wUmkq*<>d{!89StP zMdkC#G=oZZej3(%-f5EyzlAi1>~Z#Q{#5M0=Wa-$*#GXQ&i*oC@WjEJ5 zFlr2(E^Sh%K2GST6}}C9$Fi%i#8z2sSvPgZi!UyI_C?*oq~h!xv$r5-G#^sGICJsL znW5&Xj#KmiMU;zly&U03n$+E_}n`={T|KC zPYx3fNxlma!)4<5@5Hv^IB{%GG1xgF%-K`c^aoKlU$`X~jpv;{&H>JW{hfYJBaq#& zVbg&F4dt27>B^>5&Y7YaRkLw-SebK-x_<4tnY%QXP9GD4zsx)`Xvl<#c_X$>`e@g- zm)C6$>#=ZLQI5u1{nFC9Fy;5nnQC#t-OR>jhjX_~n6<0<+OD9pjf?k-2lh`ppt>P? zi+$9ez1?_Ww@wTw{HI+Xnw&Wt0-GZB-OqHY^Wp-rpSu0_=$&7Ne)#6$D?c8|O3j-* zX2?XH>V|W-bAY!sz%Lw%O{TgN0_t6^i+#6bk9@jgNHYXZC=)Om6w}Krt=xhh2>iCws`gV*N(qCLu(4rzmaui|L!##HUV3U zk*$v`vd7CISFJBAUs|MjG;L_7Fy#T&<hLqE(%p9oCpgE* zp6(&tKWg0iVH(xt429~7Aofy-I&I$S^rsgpwutQ%C9`#cMC=jL+-{Hahvs_|Wx`}_ zp-fP(KBcX$sjsi8SvGxDm>3nZYWeb2tESJ?3UfBiEDyC7qZK_{E|DQb z=MMXN%j`LiEtsPd)aN&BT=MFh2O~e#9BA5beREjZ%hE@uR?e~HjJr8NGhzJHsEROQ zzvRo1ea$9W<700xIslyRaVkW)^Q3f}Oq7WycZ&+?)3QYq9?zZ_de^l7PSWxd-=_s9gz!PO1BpAM^#l|MGUzFH&5Mk^rq-hh<%x%j#B z^QJpp$2<2qKNt6nmkAE-iXDP_gsk^5h0uIK)GEZ(En@Z-Ri&8Pd_jFgtGcyE``FCt zYK^M$6|GX;bN8V4vveEQNi*JZyn8Y9(%N_5drLQUoishmJg7&g(p?Lw%s&i!GfX(D zSU9V?N+ZmALm@bi%9Qy#Dw|esesSqC-SiF8IWuQIHcex*3+mmn-gC7hWXiXeHf%YD z32_!A#1RT^uvQ{)Pd0ylP$5jObvTySft&0QSAv^#+b34;lZf5GuG*i;y!`ox@7%tf z_D({gF|)mHU&w_6$4{L)klXLk2_uFKnQ-(oo$_&oS*BE9-ul7o&;F>*t88ps5LPC; zrWLkso?W?J=Nu%TGG)s2Qq5rV>zBfWWi>U^!9tdUg$Qc<@)@gEEq{64+UYODn+TN@=mDTKJjai_z!cug#S^@EdJb~NtaQaW@{xn)wA(0phI zCuZ&yv-V2FOmV4tuQ*+{XV0cpdo;(_mS==H$Ltj+$}gAfO&U`=Rp6S_nj~NUpiXM| zsN`df*z53jqHkF9IOnw@anIdIxzl%Cwv)@v-*UahVlT1sZh-Wt%(#U3wL?xqGle-1<@F?b_Gaeny3fE zJFsip;n#|{PZ(D^dCce?Qx1l0@TzdE+_huv>dhP1RhJgqYb(Q)U|pMDT)LcE*Nj*vvo?fSi93%D-(jQ z?3=x>;DAu47@<(D{z)NIO}f)ZJlg0yDyR=FZGs?~4?*%9#W6Y(!lZJpw)nVWo7is4 z51^)@JH2Ax2?TH$v|9~MKgcaIy zS*al2yfa$e`?hqrOyt{31=+WAwZf9kQtPwUC0j!`?q2rB^Sb$4q(kRr+D3*7>gPp+ z^srg}w6j18oF3ipeDRL|B$?o}?!D8cMhN=qfcR;naCXNV2c8WRB+hYOU}dl0S)*Po z`y>SdV$a)BldLBVjbguZ>eb7au30mES#|aF`l_nsGgpTxx5#!bUb+fs-_v|g3;_4+ zEcR3gPwr{{bdMlbzs8Ar@tg#{s@3AT*PQ2M%G&FSPqeCR8wg0;CcJVm^q|;X@wgbS zomm#@sGcbtIfyzcT~IlBgl0tLb|@ywWaEUpkE;*Mooky%NXunHbL5@lrCMQxVm1Wc zd`^6-Q6fGiEQ54Zzf9P>KIf=L5Dh1fuH5ySu4a?8tZ3Xcn8>y7Lg~5KoFTag)HG+j zb~i(&v}w#C+wq>XEwZ{`R!PC7sKFGLA^_6n5)f~DItEPZ5A^(3#E#^6|034oOl?_>oBlw zRtUT7yT!2GQ+Erap4~d=vPKA^GXX*4)H#D9oU5H9zIGC^lgJ4gPsmonEcr|IF7a5I zOc=E1T6{j^wn)e9mak6Xe zrQ2~XHDC0Vi1USWoH*>R3ErPtJqTux&=3pUUNzzYo%S*D625uu09g_x^QPq zxmH-|co7QaC&keB>3@mfeERo#PTT>}V~4O~)tEz&K=wnuBD|ys`l?Y7x2nbO8$~aS z+T!=upi#r!Xc86Q2%-cPE;uLd5DfyBhta}LF+wX;NDnPq3j*lTC~RB0EeM!9(x}=c ze%GKDwrkFxIVqAKC%h-9_gL4K!=Lpj)Cns$Xf`daniS@&7S!9U;sDW9wMr^DWA6OU ziLz#I5N2~)qvUc(bLt+UK-4Jq?yC^iZm9`V?rt8qTWGk`VYdKF7zpXmjwH7uI|wYz zA@J9jUnSgQ9N9^@MSkQ70&8u^Zo(~<6Zm7$4IH1@BA9 z+l2S?A}0tR#F1r$yn+jZ$w>l>c*y&NyhnI7M@|vGjURc2@SO=cP53TySojDlQuqi0 zYeV_oA+Rt57NqcLgnUf+K{8lw%4hn((oaOYXp|D@bh7X9pM**kn4nB0W0?i|B4r^_~6%aWD_B43BO+AWg=da z2*23}mj3V!Is(fC1AX{2KCn_477P;&2TQC8Phj~f(Gysx32UrzkxLT%rELPsOJH>g zsp4R<73>}knXCRTUhl%mJ_lLR}OLmC9n>fY$RkeA*+Za z9sZs;fwj)C)LAlwBP$3zot9(}GLcAz5we6xGP{s^9#+pts=UZ7Lgo=zGDbkE3kjJ^ z;15}o$B1OwP04Y5u$==7G)-U>r(nU`7n~Ot!0EZJTyHJ`mXKv~1zZWYi4Wlod?Kug z$%0idi(skNRalnwrzBR=Pcl_fEop$|ga7nWz*?35Ua4MVy{ujiuh+bO_7bH;>Mhm6 znv>zu)$sUxzw{mHXVULv3V7%}PF5~kD|<)wiR>$RFsuZbB|joRC;!d6op+RXt@mPY z(PyB~Yw+m0vm#DmRFo>}70)TQ!b9uV6lWDTg*HM@p}#O(C=#X#i-nWIFR)&stM3S3 z2Rx#F%UAUC^NaLL^&9KA&hL=l2Y$De3Cc8BvtWh?&MTGMl}DAIC~qk5`iJZvXfEZv}7x+JN4$zQ7*vY`~6yD}lbSmS6}x3U=f21t<#iF zTRVNzIiU08&NZF)b-vL>+oeaBiCqqK`KqhXwNKY4yT06YbJxRNzwYMKtz);;Zlk+d zyFK0QNVl8ae(LVsJ*NB6?vuJ#bwASm^X|X(2rR*JxU%O_2}|P zKkMh$ufE?W{gwSQ`#;}*WB=Ftf71W zEZ0A`O>S6j*WBK@@wo$X2jynvj?A5yYtAjtt;(H|J3sfy+~;y%&RvtcC3k1;{@k0n z-{t<2+nkq~m!CH_uOQEoSD9CxSD!aO@2R{O^Umg7%=;qmyS!iX?&hcEm*qc~zbt=k z{`&ll`J3~%=3g7penkEV(}-mw^G2FR&KddI$nQt#Mwv(1Mma`p8g+5B|LEe;Yet_R z<2}YQX5U!p*od)%#!edBFm~@a-MA6s-WlI*{FL!;Pe`4xeq!LnQ0HPNf;8 zj?(p|pIW4r2>9))TFaA`wU$38&z^j7%77`$r<^I{%f^>2F56bFDqm85wEWwO;EH|~ zc@Pvmdu#vVUd&4gPvj8~8(l2FCzLrenNgu4BF9jN{L$ZdH+0rm8trE32BSKCNo5 zZeMMvPOmmqPp^Kdx~ckP^}QP3n(j3jHP)IZYBtv#sQIwwpS3=<9cvS6hu6-neYUo- z_QyJXT~1v=-Ai>#>Xz2MT(_)lb6sQIJ9Qt|HBZw_>ocuz+B4I3Py2kj-}FbOhfj~6 zo;*Esdj9l+>1ETWO@Dm)OVc+@e|7r7>Bpy^oPKHg5B1*lkJNXqH`Y(8FRQPupH=^C z{kr;H^~dYa)?cdsw*J={WQNa-;2GgF5@rmXF=R&RjQKO3o3V1nt22(zI6dRaj2~wF zK2thVGc#gl|C!k{%VsW|xo+mcnI~snoOxsBty%uFB4!z9O_)_P>xo&5XKk2ubk?a^ zU(C8QTbQkz9W#5t?DW|aW|z#KGkfLiS7*OH`?J}%=LmCp%t@P*J7@Bo*>jf7IWXtK zoI7(hb03|XId{_B=jX1R`|8|-bKjkNZtl&wzs&t(Uf{g$^9IbDFt2jnw0ZOAJw0#f zytVVT&)Yxm=)BYOF3tOP-f#20<_FE!&hIvV;QaapofgC`7_=aN!Gr}B3#Ki2VZr(Z z2Ns-MaBacQPc}54-^*P%ApUw#av`KS`%bsJ*|Gz7 Z2%EhkErP322FqK>?y}MNI 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 D{gKXx diff --git a/example/font/SourceCodePro-Regular.otf b/example/font/SourceCodePro-Regular.otf deleted file mode 100755 index 40208be604a26af38c4dedb943c11c5a2e45aad3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89600 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 Vd^)H~a&+r1-Cfd$w_U+7{~wtKlK21s diff --git a/example/font/SourceCodePro-Semibold.otf b/example/font/SourceCodePro-Semibold.otf deleted file mode 100755 index 65b82d105c5d6cfd4abaf63846ad71bd650a2a53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89576 zcmdqK33wCL`Y?WG(j;xBP1~fY(2_LlTPbb2QHn^H6pE!S-B~4V(}ku@Ns}&YW#3c~ zQ32UE5kwReWD!I~Q53EyvIxi`D7f!a4Br0V_nd^Zi1*&#{Xf6wd%mxb%$YOiy!&=$ zdZt-xZTq)B1<^|A=sX0$}{-4)mgbe zs_l)>2Cuq6xGoC_kuRt=HP%YrMo=8kLu56kYV)MkF>B%cWkMbtRBNrXx9%g+gbcd_ z*Y$+Mp_1J7YX;4H#DCClL?XEfJ>O9+p>@B{NC=l=NvA$(Em z@z&-1n-mhe#=c=hHj%syClbDhFCtPHy9kbiJj{;Vcw*r6&@0G%BwiAp_kt5SAsvt= z`jeEJY=nm1$@Aa0$`B(LIDv4>@FI7Ge+sXGmI&#=oxF=5XD|pH=|GIGHV=@;x!Mxa zla#vJUTwxmNdkG))h{E#a9b6o8J;;*iEwF8N_dM<0jq+s>qt~N&m^(I%FhxSfaTS7GI{lF{d1-3yJsZYAv z9El7naMlsZEq42oa}1*kPgB1 zuC_o7!HZpOzpi_OkGR@OGHjrGOaRdhJnZTZBmo02vNrG-KJZ&tn$HBF%WMhHZR#$1Q(X-*%x!8z|OsuflORP2Zcoq>KnOJSAGF$Cs5thngLqu#u zY(iw@{eilOs;twS^md!6)Ld<{Rq3r||AISxWsTlmVbQzNS{)aYb~=km~3V} zbXY1&%r$i&Uq?+TNE8L0o1UT1sx{ZJ!5M5oxZYzCQ4x3Hxuzqe5^HTGz$rFctPSC) zC+sv?>a2QGy{Xb-Dz=!Jcue}Vq>*})eW2bY#kvw(Wv#s~qOQ^sVYQX_&q~Wc1pWT| zA3p_UBHNg$Ps_^8(`Tfo7&CK?ZF$i5(;MRSY35>^!(?j$SBs4Q|B2F1k)2~q8j+k~ zL}8othN+WLaBn1|tF} zB~}Xv5k0@M-mEV})2g*uCz?y_b>S3*qZZce#|TLKBCWq`SW@zhZk?iwcY z0$o-F?Ep&+2Vpr%!PLU_)z;F=GBi4*4R8W4w#s4$h6^Ow(xf+mgMOXX)RaZo7KB7qf09f}s+f+-h(!%3yB4TH=sprTCAOwUWt z%FOjsbV);-cL%R7Kt>su6Cy!Kb!O@%WtA2n;Vz?0#gGi$iFFt#-fZht*ZY3tqZyTe zh-^SRCMdM5I(?m^qyi-Ze4>Rj+W>?t&r*cpU<#FBQLaeFl;Pr<`XIIPF76!dNeped zKv6Nh*VUR!T!zii>rG{LS9FFj>#7mzFe9Q|fg1)t3yO!z8k5Bx=h{L?8DR*4c!4ni zl-*987y)XnH2@9Fu1??9mHu9a4C@HD7rHV;TdY+59`~t+=!1rADy7b4w}yktEoM8I zL%1HSpw3YY;mGd54t>9V?y!NEXsoe94uNiJxGb)=A=@2k?-2s%rb%B?VX6Vql!L+9 zs!bRRZP<+g(`}0F#et@)uQ501%{BFvHfs&anX#MXuvb`Ze`T_+vK+!2!~#TQ#uoT@ zImF6pY}?Hx6*ZM5pqmC8)H6`QxQm!tFk(9rLm;3A;$b+8;h07sI+vSi#y~N;uv?4m;L<1x z6HrkLae;}q9eO$mViAkLO%PdNBt&5|1xRC{D<(s4+d#-t3dC7U`;hIZxf{U&6y%=2 zK?`PqdCu+XWnjkE1|${)RtibWT2nU=D~71v`b;xaU@li_M?8cjo7-?I!2l{@CZsn9 zXvAYf82R;gy$B}UYugZ4-C53+K>(K7Qbsjn=>4zf-j_Q!yt}!it>9>8!+Q7r8HAb` z=4e+6F`FP4Q}v-GfkIg-g{lE62JB~x3kc9q)X^Yi$Eeme>escbSSMaNFRGVu0LAg;%t2|t|V`K)pL7W(PARXAOwYEwuaH@ewa1hV% zYO@_C+M&#-G+RpRXmNn^5CMQFhKL3Q8Vl?|geRX{fmqiZ7tN5}Dj{~)SDG7G#zf>` zu{NroXfO}!UsU?{T7ij_`oD&4mOmiV)alKQwIIJrJN0WjltvTu(agLGB5(dfGbYdU=;(|6urY06F`uVoj@d*4>4n4#IA)|5Tno(SVBa$ zSr(1yO=}w*iG;gc`(EVq5?cYV5Z7jGdryJ_4?NjbQve!@5)@o*wL@$$*OXdqAURN- zsT2wjdnKG;sJYjdU}$5Bxt6-MsidmL+5ojwITQKaNC>{&hK~Euj7b|s+lFWxD=?uK zYKniMAZit{OgimYbcHc2ErAVBn4<9k3t5+KL(sMW%hirLT3@xznxG3PobcGBkDj|4c&F27%Kuy$J zE1}vib4OZKj63|eL-pOV795{~PfgEF$w*2cVax&O!;EanmYbE9SD2Jz)Tig_vvaZv z(o>D8`YuViaNZ?cUznaZEGs`x4Or5BIZFR zM0Q5H5&F_IQ!?^X(=&(alVM(F7A^`$q~`(9yevA^1uESL^V0M{Ov*5ToRplNk)Agy zT%VSnmx(ab0BDjvJ1HkGJtaRQDMz23p942KjQ}GRz-FdrrsV(@;|L?HI{{EiR`#fz z^r6G@!eLS#bcXBma*|SwBa(6+4o3>JfaM%L9TEXl0t~&e04L`TOUlU5qd@M$&=1SX zNQKeKMxZ_kR+@|)V4MmtT%VdWB55dc;D(FCTpV~LfRY+&%rxdCWrXWAA*meNs+(E-E1{Cu;-%2UUQKkjH!wAq)jGWAvh0un(`%HT+$JfKfQxCAd^$QU(A7 zyU6_O*ogbyr@_@ue~Y=?WP$6|7T3)e_YE`meXzWyS}fmcVSx+lQYhJK@CH3s7iQGK zSTm`Hqn@Ob8d3sRZ2$|uP4rqRiJ-QIU zY+e?fSpef~Kwl-ysR7(=p=ZNPcTXhXOa!S}fnVgm2Douwiy-mzYBkVT1@Lf88Bl4V zJQ$!AOFs!PD)N6sX?sakQVo~@uN`PMQ63Se4Y29~YZ-k1H@edUoyfZ#_(P54!&xPq zp|(&PcEEvWs7(`GD<%B_n+?v8Q=Efsl!^ncB5jp)bi{u}O*Y^_UF$)&XjQ{pP|;%T zV08lldw--?Ml<=|#QhKclHP^|1yj*9ze3Ua!!T zG@urxrze@fRW;DBho>WLEubfrM-s^9Kk+iuTw6c;zt4L7h=SlJ59G|K_s9r&D+6gY zfUIm(R%`_N9LALz8gtNo(Izn(ppCjMJQw0v2ApS6J3-s`K+b3fAsnvVFGgUT_$z(w zv7=w1&!A`2LYw&$##IaSG*F9R{^TBMf-7}!4gIVhK9z88f;eb_IeM6ZUWwL&F(3`R zYb0&k!6)?h*kT=EML(>C8FfG_MmP%`(QnJaN3vjk#$68jk^d9_P<|dwWJ4U!qAfPdjll5H`u8aVdk!cSi*8A#&EPEv;oYkXiqHj z;x}ezw98r=dsrl5IR)((V-8xPJLgx@@p|wWs%+bArzR7?Qdo%hhs-T6ol)L{<8Dgk{C;ow!IyqfaQG8)TE zNSWL37=?`XdYHxJf&NuSX+nv)$D(X7vao9`Ml)$*{$)9|fySy5>ZNY}Fa}_rMtfvc zRUKSsn!*U>hL4(ZQ^H~egIP<*+5t1GRWKUX!aPqr@Z@3i^|o;d>1Wn~cuIP z$3!VZ8c~-B!9yuZ&u!f`Faj+JVsjg0eu`nI3Q!;%-}s>j4_GVwCc|vUO|QE!%%5k^9S;VMluI zH=oH7tLg@z4P|U=BU!hWnS7CYlr7o>O0#`tcT2|O2`B+p2fCw2drNOiFT$P#`m3Ze z!rF_)KNf-7+6_X*{ERcur7C{MEVHV2T&6x@OxE8o#w#)Lq+y1OzUkWsiL$&z_10`T9Ezc;ZDWWTiC7xtZ|EgAeB6TpCTfw5gAB0dia0 z>*A6|8BmHVDYt~&G@-W83Ry0}=zv)yKRK&(;dUx#tn=L=#8HBtcOF45f~MaW3<=yHCbEF zXs>He9`xv@%YU?D_&Z&=y`!za*Ma3>u5KT(Q7>-pkwVlo%9_O!JPzoXr4NA4yQ50gOKyoY{`kr?U6(MT!t1GN5oD=;PjxBmWKRvro9N-YQ0G3k&UaQ%jP zLQi_YCxy0C|B^qlDMffsuMYmXeV0X5cK-<1ZK!c30i@GiF}W*5cLrfLfvZ?EwQaWs zS>9~VJKn{_$b=T*whGj>JBGPo{(J7xCK)DH7vZ_P25xfIEVw>kZKgjrg`PSPXL;&m zHWsts{o)XgMcZeY1AW@kZnpb=f_n^RK@V*ARmLe>_x#VeWzoXDo^x~WmK6G-do|&f zEaF0X(KeZm>)_6Wdo>b8b9E+g%kE;d&nka!cdS}MOK%@>5DG?e#Ev-G>J3-^C?}-l z-Z+F3#nHGTx;GawFZy?Jo7JoCI)K%s=x1%$AdD{57v2MQb8n#B|Mz(RbKS8#fxh&2 z>yp2-IJ7ioP5;dr1f~10Rv}oqqwlu$K4vj)4@GUd?Tg)OV5=@>!|f{$Rzb6SeQv7R z?EBT;5db+4aI^IfQh~JmO;dMM>gl^L?RX{6T6F zBOV!TXp^PXXWT1FH$FE9jEZ6k8LI%aA`e$6XVlUC*5_8Zg0$gi51#gNW@|T;5yC}( z#f-}&-oD~uG1k_`f1+K{12fsb^V0vuR~SZ*{pA2%?bphl2<5&%-*)}M)-)&`lqIg| z&^9p^c=9!B53P>nsQYKb_W93U>A5WeJ;4V5kTzChdFsCuYA5Zzr0r_S?E}m|7z|bo z;QcyxPR0oCz8AyRrtaL)zD{5kiT3Tb5}b+Ly4M(PYr&CBmhP;MQbs+xxpHf}?Y*lQ zs&D4A9++;4x34Gv9p|1|ZPzhvt2oaHe1_(x%cJqXt}56aJeHH)t9cf088;Y98JEn1 zF*Bq7F*2YP;JpC!eDoRSb?B|^4hU+4UBT#qzVh!ZoMM)2q`%4;i;f_P@vFtv@f9FA-TpQcYcK%+AC^ggz z`Vfm-s5PdI`&Cmoo<+=mw?<-+(GpM>%q|cMp5I%4qcxz$(My=;{U`S`5QAIJcz>T^ zYHx{uhp{buw}rJ`Km5OcpX~2#!ed2wcUL)?BV_g2+75AB83#%N%q zgEl@rbU$Uwg;pByR|q5V2^Id1M=pHh^QtU(_L&aP;f?Uo!&*0qUcu{KXe29yt9kH* zJ_~+lAP+_`7&$NwpWuyx9)yj*m5@o#9)|Im01K_xNQx*9BS1rZS%435kAPl$@`pHa z9L_*K^5GoYL!mF(g)b9kAzmDh>rvDhQkn<-9<1%DLdXmsQpO~c0z5F9lK?h88%9{8 zD1N*nng@8@bfV;t(j@p~!*>o`#pjgyFbmJHHy@7KFpfR9M94@LQj7OiGeIUf^f(lt zA_eSuCzBPfp|b%uju;AbK@Bv z$nIpI{zif}ncNw?d$~Zq3aQLIQfG2T3eipwqx&w2N5_a0X?D|tHjB38_5_bq(94h# z#Du!WGsJ+NfR>a6GR13dFJw5}dd#PD-B58}d-=M(#XZhF?_Wg-CL=d)gze!StpjDr zC`2tYY5aS*EPDOVf6u2st!>I7CgN{6;QVT6Va?{bE047cyLXxmk<$uS@ve;Lcg*sj z&cceC)!(&rbyWhiBTTH@Y!J)Y`l}AOySER=-LJR&zP(ucVOGExj(3sR-9gw?4f~1V z!w0dQ#-tPO#--;nt_8075YctTy{{TN|K$(IeaU^pYxsJ8A@?EoHP^}$-iLpRyT<*_ zUFD_R3GO8K5AGxG6!$Ur33rb{o5T$2nppmUe5FUI_{tR2f%}t=tvmw*%@+1SJI7i zhdYHm;n_`Z(uec~yX^-$>kq%95e2`)5lv!9EHB|@ycfR#I2%YF1bZzakCCUzo8%_> zirgaKkgv)2q?PmGyg3Eu%XR0vaXq+R+(TR%XXJ)*>D(}`jkDiQ+_>I=mvfZzm{Lkui+c{=lHGs4*o@cGygoF!{-6+Ke>GF7WWmu ziQmRg;WzTzxnH^8xEqo%_)U`p@)X&~6>u%wZSH&S2ku+$JAOHTlzW0);OFs8+|S%E z+zZ?eUf}LL<+p~j!)p9B)EHiDLG8uAcwd}{se!TKf|BpKjY8w z7x?r1MgAo5lEb?JxL_~>IY_ua;2lCnlL=%pnGUm#l2haixlFE;pUCfA6mV|lrgJm6 zCESzT2JU6Q;;Wq6mR0qyp?a_=ktq!^OyNo_*C)<)kV`Kq>HXg-!8+tOz2|nzOMWF?yq!z zt^1+wZ+3sT`|%!uJtp>4_sntft*szKJy_2`@U$`DQB%lza)i7?J|<`3-3&L#&qU;6 zxD2ksC71QwOJMb1a$oZus9dr^E=6tR@)(uNZvHj?Ab*&D7j$t|LL@Sfiwfk@Rnp_G zT!w;NvOq2ccje-%)9bqF`sm_x$-2=xi*AN)vF=GKm-QeQmA-?%lU`5dV$dgmTx#`p z{WSdy{o^jVJg0v_zYFBDznxriJCEu7gi9`gAeWAJ0~B;*VDu%D}MTpN9D+135mk_oxG9X`)r-E#HP)eBe8Up)tBA6-3p^@FRc zuC!eF`N|Jh=U$z8HSucfRsEGMS2kaPH)>q5!Ds%JX;(&H8FFR7=Up!aU6Nh$xi{@JZ!{!}mP+tcDL@<&N+%{CNHeMiajmyyE~^ zz-RnLH=Tby^6&A-UE|;7KLQ`VJC?uV9*uqc=j`Je`x$?Qzs6tZzvO@9|0xNO1WWXi zE_h9%htEfnGm_6FFvI;L0V&|e^CS7l)4pFz@+!=L&;5TSAhk9>|1M9o%L#4cyE|4( z!XQ#&q;)_n_2zvc!YcV3?pJ;jCqmRc195mQ--*{kqnT z3*vkRMEXLA^`pR#*^`w9h-{DX&yWq|5RH;=lJn#SR|V1kPl*5CkO46McY_Ro@qZ=v z5WgH^whf{`#C~ou_bkNYM0i`vAo3m5$9G5;#L;YyBRQOejO2Kd%XyIkPEN*heq^k)N?&aBiEZWaec^iE`m(vB1tnB zMP_gYE}G2bV#sVRp3LH6$s8_@EZ`E!BJM%*I5&hm$_?gH$unSc%ejZi3N8aP2-yzr zUfIDtLSEn|ke9hqvWqj5SGaPrn=2#xxoWbHvyda4gS^Exkhi%;a+GT#?{JgJ32qiS z!#zqqq}O0Bgnhl6mpE4O5Wq9k@vaj z2=_}*eJi7erg$rD@(d66@bom??_i7O#{xJt5@n@A3FR`NPmOHOkO$*0^Ra+Z6H zT;!ILFSr%tA@U;`0vRs}VtX?A1?uNtp|<}Gs?Oh`8Wy1{Zh>n2HdLK|km1Bh9^nGW z1TK)6I29@8)TD$9BBh*$m?0LFaSxEGTsWD=^&`)6nPe50MOJg!WDPfxtmSgZIxd&2 z=kmyAu83^mMv>>Z(PS$(hCI)WB_D7z$cNla@(*qf`G}iKPC+F3n43>N;TDi{+~edD z_aylo-jH*ddy4ymRtiq66QCZzis2`yO$4Y)LillfH@-Vx%+G+lyn}z5Ujg;TUj8Un zg80+A2kIgSP4uMA7e~B!h-cgbY{SUC?@hr=5r6zn{t&r8T71bLxA{N*khFw&J?6{h z-|2Qc|BtECPEkkwJH-qRd|yk*J9-raB*5Ygm7NBvwysc}MM2f_5Xf`{RQF@xE*AdQ zVFQ^)7Ldhc1zAhBkR4<<*$0)#JLDfwiChAI{RXshnw?q1vm35Q#l?{+RBukTxkmbq7$ckl^vRau#HdQuTwn(;AwnDZ}wner>wp+Ge zc0_hec0zVec3JkN>^s@7vOnaU+*|H150-1?UFCh`k@8r1vOHa$EiaUhmz(7ld7XT+ zyjea^{fOb=w|As> zy!T*lqj!dPuJ>qflXr!8m3N)@6z>JzPk68L-t4`@`xWokz2EUZ>3!DwiuWz=pS_(v zUOs+4!9HO=y?mm4VtkT((tYxM#`~1{Sbe7Y%=LNP=V_mHKF|B?^4ah6w$BNlGd`Dm zuKRrB^Rv%wg+w7Jf)t$;-4*>5v5JQj!xSSGqZB2IYDK+bj$)Z&t>SsbF2#Pun~Dz< zrxlkJHxxf8ZVS8+AcP5hgc#vL!6=Ln3WW(mr7%gDBFq&Q3#)|}guTKM;eFwha9;RA z_*VE$_|sSJ8|WM2+silJH`zDCca-lVzGmMl-$}j=zSDeX`!4id;`_AkD&GyhTYX>j zeZ_ab?;F1F_**KaXYfn#d&n=vZ@Aw` zzaqa!{L1{Q{TlqH`_1=T=C{i4Ilt%qUiN#Gy-*?|!XHnbJ=g zq|_?ADf=o7$^_*Qu@*U-e z%1@M^DX%JTDt}S_;V<>~^?$%$=il2u(m&BZ*?)w8p8q5MW&V@=8~tbdFYZgiPC90BD>8fm1p=!L!tg@); zRFhRRRSQ&0RL`i^s5Yx!Q0-RjR~=CuQ=L?Os=BE9LiM%kCsm88RV`Edse{y^>MrWu z>PU6Gda&B4&QRy7N2^Wh3bj>Tub!r!qkdHVqN$ z!CbI+uzzrHur|0$@T}lt!Iy)-PlEmI@P3G-VjH||1zw>O8I_U>hbUuGBs&<`A%-2| z*kJ%WB(XyZI~eI9naxXP^OD)TW|{ zOh83Ssnu>Ofj2tYQ|UPc7|Fm#8dHH#lif(K7#Z0{O1AOtG)4iVE}2o6%%&$Z>QWeW zDU7-lMqNsrkx@6)L(otPd1zb6@HR8UP!C-O1Qi(>6CW8J89mH1lhR;dkPS)0icPk3 zJG@-QoX$wbNl}KB^!AWb(&)4lMtVw8IwNR!JFxKPv$zZ@xePZM(3PA4py=#qrk!X8 zB%1LbW5}daGCfmbV(IW0Mq><{6*C~K4S_MntO`d>xyk0JwwN3UJ~ApbiqXgfn!*H{ z$^@Fq1e(e~rZSMJ1G3;%BQ^MePf-%nnmG;3v1~raBjWgy`HRUrYyEp5PP3TAX$Q;RYtFli4+Gcit0ZCsy$Nn(ml zLM}lo%vzF=OE^O=;lQ{|a>WW}y~%7|GMkso<|W6QJgy%#AhLwgRN`Tvges=wE|H~f zMMW7S8TiPwQtJ9h!#qb1qh`eqnRm1Get!+$k9v` zG0`=2N{yR|$SAkpGje0tteAuv6TWB^UUyPqwzeTVCe8X+H(jtTeuvDg_RHh>%(~%J;LqJHjQKIQdY`o1)dz3MjO^#)gW7F#BxVn2} z7K=c^&zU6R80@%cyBkhqR2)TQh+^R47`Qk_OF}%n#|e}NFNdMZV{U>0!SPo~pyPp3 z(edDb9u5cea5%U;oXOc3?{K-pT}c=jeMUxvkr82JM5IMEP={}z3^sTeY;XsJCVIWe za|Mt_83(wgGo)!uxoHWLDVWJ^O&bCN69ToHNJA_dCLE}V8)9j&FvKE>kp?P4I3QFw zF!9E-YXcBRq+tMZ3kT!^4lE=m7)=o-6D1Umlm<9@NQM(CYB;*tf+mwYG^pg^h_a6` zA>gPKBW*w+igGui-HljxBi`Lea5s|OjZ}9d&DBVD!%23-Np{0Y1~{%57GVMc+Jp)? zaS`VU7Ze}{3>=A7jSGW;VQ`0y2-9S<%^Cqwp&AM!dbBsNb9)7NI_)Wgm$b14yfl$E z>M9%A5rSV0ZJF@}s>&}A*9O?Wv=wTZT+EpY0lrMS*bOK}~grL+d#7X)&_Bho^Tloo7JxzGmEf(?`l zJyKe*#pHr5Di>^c$xZsUQCJUr?csmQe9m!;YcPh~%ed$;u zZPr#+)|7!@?M*N-62OCU?3E@9ygn4V?Z}S>-b#$`=cAA#F%N;W$JIH&f$#-$@OrCK zM+w#m5DKE<1zk{*z{|Gic|xSgX0tXpYT22Ao|Re~uwF65(siIAHid$WrS*y-KGpzl z_%fBVDY3NRGsGsdA<6OdS}B`OYcQCOSp^Q5RUnPfv$!aF79WNA#}F5nWU)?$w-1`} zEHWAs4;)x-q6J-~fv)A?z_JRh>mm(w%>)OQhEizKHKbrNg-)7{q9bWeg9C&<a9X=F65Ye1BY5xORYGe)w3(P{9| zX<&33JaihUprfN*!WsZ_b4h?U?_!O_(>8EG4(xzuloCgnWw!h-SgIC(nhNmt(wAp@+3lCmtV>O7@Whb=h znUlhb1<(m=L^5xKmpMaTDlyYoQG;2@)kdF)r4oPx^`6*B>L{_4Md(ERz<~y!SQZCj zBWdoBjYR#zH6$MnG%CeLqM5-N>Ie>4w!s1Q4hJ+Zs02|GaA5eTg~1uJ3I~Rd6&bNn zECR4vBbF}2VF<%VSKDyL@I^6vQ4C)c!xzQy(HkpJc`|$k#vip|=w$fl8Vk-CK5EKv z#`rTZdzBN;ve!xzo?qgHN+Wq~J_1|B$L_@bFS=?xa>Wb&lTM} zqqke&jNzkeF*sxVMKgTS3||bx7sL3AVf@7~dD43_hFE%s1`dorx;BF|#$OD>7sL3A zVfbPge=!VS48s@0@X?Ci5KAk1I52#%3|}ncFP8B~Z@0h@#$PPMM{9rRWccXH3(gom zx&VVShL5hd46*di3mh1K^kxg3F??|hA6-E}C*v=U;frJV;uwE%3|}1MkKUw#35>ru zhL0{l46*S{p79J{JmW8(;frVZ;u(MO3|~CM7tip~^$S2@_~IG9c*b8m!xzu+#WQ&h zVE6_wd;=K10Sw;&hHn7FH-O=zOCv+<0ETY><8J`NH-O=z%O)7Y@X=)xoH2X}3||7n zM{nOiox<=XFnkFNUjoAiD_8W*1conx;Y(on5*WS&#$N)%m%#W-KzvXG;XF9R(7&1R zzx{51&pR>y7yf9(J@3ZjI^h$`VPq@5rRGKv@TwUKTA&l%>duWD{kJ;hEWf z*=gAYS*v`ke5!o4e24s1`C<9T@~hsxy!*oQt%2TSy(f9sd(VMqS}VP`d++i7fIi9k z)%y>hem+Ct*_GXAj?Ys*&-$$O+3s`8r$xajE#V?8$MJqg)dQcc9JS=1j`N9l%4s`&YL47IQ@%8l$@=f#|;XB&5+PBVk z7CdiS?YqHWI<#rq}0)1*wl(S9bs3co3Sv*B6N6MpOcw)*Yz zJLGrF?*qS&{m%OR?Dw0WQ^~_qB$YBm*;(03*>2r<9+=Q=^}iEy`AZ89X;q!IPtK|0MqccwW@xKi&Tc|5g4Q;aSmM|JVKB z^ncg?r2kd_TmC=#i}0+71gHWY2+##|g{MXR0t^8u0cipG0pkP8111GD1o_Nr6KHGXh5jjt{H~Yz&+m zxF~RW;D*5G+dM-$8~8=w4}ngVOr=rx z?)&0GjWbRZ!o}X7oZPhIh_3V#scpPzYEh_R=<8q14ij(79$&tA!-f#CQ^L2-9?l?V zKp$tUPV_mTxv=8hJtsoXzdG)rFhR5N!n%*veY)m!$0f40DeH!;P1~5*;jDALM)a3C zD{gm@Iy=Gf&n{9?Av-J@rDBatc|;tj6&3wN4g6Ew663`IPQ@*!2L37fIS1%OA^7`) zA6~d{aCooYV}>Utj`{FAo$yqq^p^OVOwRNg^C3m9a`tjpajT83$u4{>Mddr3D-8GIV>D;xO=WhuW z74Lo|O7?__rk1CrPEKZU&Yd!@sc7ohj`L+ruQwfTdaZ{zw}VqI6Kn4@HCv>k8_Fw2 zgif2bc**oI;hoEx%nz?sd=)B&-}vIUud`ntup=z?Woh=tf;ERj4(@sWAIJ9BSG=Y> z_Nnx6{zES$hB`a;OYGYB*S~KeX+eoF7tTnwa?T@NKV+)(JBUr3++xCyZNP z5bBh7?d^;S6D|dd-r^Us{rh%oJQ#X%bNQe!=N{-eDi_s-pE#vMa!UotkHKO`*&cDi z)5n+YUAhZ&u&n6Gam&W-b(%Vep|USqnx&m(?R&CU&&wcch zrt)dqGn+!ztX{c!>*}cuQ)W+VXx6E(gMARq=p)7F&b;-?p?%i%6{~bhxO?|#mH(##4UNzZLUmT*;WIZgMFU$Hs8YTP2=`9t#WIt(@2X<~d za9lffXZ3+FrR11+UgNA5J2-vC#7ie%eD8?v;g6-oWyN(MC9fej#NJ}hGdD!;@UHr* z7s5XLM7r1X@NN)wk~7$;c1{cvK5lVp#Qt}N$((-2jH3ML&gH8P=xVP>r%#+T*A_a; zy!k{}%QojmxuDs(dGm`qZJR49>TDI2n`}G7#LVEGo1m`_`fSj*8Tyo$gIiL+a~fL4 zi-zy+r1lmKcg8ynG9gEMN;Ev95Xby9NtCD$>YEhm&z=~jg;s%9eIPp;zSbKR>b>ie z73u>M@)dC5s1{BKX@!%^-ragU4(v8mY}Qty~)ovRbXB#}S&?UnSMPIXvM zS!UJB9c!OixpsNjtSwvSZwwX0JkcU(wr||9efwJqi)Djjdzkp3b_1Lqfzyp}Du@GG zmKe1qwke}$>sC&zSXLJ5axiB+b-pm+;EUT1>~e{^;7*jRovYmGC2!|Wq7$T4x#!hs zheFT1x&Qt5A9*Q#a^r%z)5D&8Ln?Oq*g0M{)fx4&O}c#Ts%0BPU)V6Es>VLqQc=Bn zog++ndd6q-KGH3gz30@4DR-n03~qOEN}Mmtgs`XXJkU>}o~d_^z2nfVU5R%0@{ApB zyQ@RH8*=1SJHuN=4X+Ul52jJed!zV#JIfn##ASMgJBL!!+c=B z>81CN?b&ts@LqG)hzaFIVM0H}zn~+9{2d*0X562S6!JH8%$eb$<4mxaA``PjxhNH@ zMT=7|5@&vx^Ff*DednmArEI@k4E)&WjB&=M4sixTyq#oSwRd*dn)Pdztq=aw= zOxAt42n^7ozeZkt9j*!O5vmNtv&gF(Eg;Mfya7)=&&Ua+u>*ANv_wFP{ ziYw*LgU&Cdf~XV8MTKz3sfo|OCH541ym|fde7 zhho_YPK>=MDlbdKSn)?q-rnM4yI)?rX}j)m+0qK>M`Et*=GfQc3JM$TX5IE&>6-03 zR=yDW+8W!$$HSbRr;aE$hFpA7v+afTH=fZAl{eUJ&67fF>z8i#6G$&JcyjXhj)b7(iLEJmF;ngE2L*BA)E2*ATUo~+{(^lQ%k3af&sCklo z{1lziS$#$f`f|YMpM4^xT^aV7a9z}%7nRqAK?-rvoo*VD2o{ zHGg&yy@kl4=UxlzJ5>{XeS#RO6ILojYfGZ$#LkyqS-)vc(*~WhhrF)dG0PS@zUIY$ zgvBn>=-|E^vA~(_~K!kiJw>x?yCf`ck@9=&6Ooeo@qFkEBUY%La-8 z(g>MQu4rx$DqlG`?X}QTM|ZvRihYZqN>B)zVy##l{F)YSAe*<=><&{xKz#0a$dNJI zIxm5McvdUy-unEmUDj=-6)<@F#!cI{**99|YBAbD+ffT4^u&^|JXy)yy2>%3W9nXf zWiFgiTM$VG%yIh4qMQclRp{%d06DdMdb;tnO6>Mtrubpzd+POKx0X*e@5$5?e$c9) z*e(Vs)WeR>R;U;Js8DBLP^j1EY*T!KhQ3#{JNJs-5V*XZtDJUmmD5`$#A(J>RE@)I z)n5@NtgmnB{!_!ceF_mKs6QO4RqxpJtyKMCsY1Q_oI)^a$C#VP&DW`a9iUbJ-lzy2 z?|6Cdys%-ilqIhw-wG8@Dq@GDe5Jxhi^XoQuHIOOar_(kt7})U+Y-8UW&I;z&aZCJ zj#H%R&oRRRmpCBDMmP}rO|rd6&gU6Fov2yvEQ1zi9+t!yH4pko1^ zH@s39Do8#L7JVSZd=206&iACEM&_(*=_-yBmr0$_p5{CxT_7HE`am^yTK1*bQ`%2< z-P!YuR;f8WUW^l?q@qj?^?Ov&I8p5!1Pt6f%ZY=<6%ui9%T0~A;;eH8cH)+mrg7VE0n3vS?5yP_c78F6sp1C7r!XLXKsgxehOi*;%$Xoz5dR1=OVdMeDyMS zz9n07UVK&4l70D3Hjr^cHccUn+*|$D)>oFV*`S;BrgXNziStBniD1^cf?CT?040*E z3gLoQ3>ROQh)Y^dX}+t`#>$jO-+Jl$U17!@(hSF>`s%#W3yGlukP)L*PY{!|GH~MF zTA|>QJnhb^ehNX3pBt7gd-%!SMVCV_?-o#Ews8+r%l0#UQCuFI(&kk_wNC5^=Gp z5)&JQPlKVo8yxAPR&bI(L!9JCtus%i9H&(s0rQ+Vck0xpP~ojT3MlOlEm++QX>97O z`nfu#MqGQ=xfY~i0CTK-VGKqP;gp#EkxEPx7x(>KeML+YY89$a!Ft6bx3qV50$3p= z`#{yZ+g@1-;u9cT?OL{c)rL^vac!vp^1BWmr#c089ddH-?z8)MG}Sz>`{20r;DnrQ z14Es`QAti;;if`4Zl~oy7-$O}RS>;6aiPdd#Dx%YKGcFyuY5>cDN{NZwOn^vgiEg+ zI{qX?pGAL$0Pv#P+OpCRVT9thdcisVX3Mt?0$2b@euAjfIu{AjTXJXkoF~OZFw-ZU ziO%pRrTye$xbWpwvA;@O4J*6{fV%w^FN~$!e!Wj|M7X9ECqq1b>OtwPmLi#O>6}(5 zADcKUOt|sN$rFodNVivxc7^nOnV|ZZ3S=Tk&8w~fV#T`kn>Me5SkXXZ#Uc5flYb1C zR?Awx6RvpX_6KskmOc zM1E(fxK6qdMkXuv=H!?rjMORDr)dv~ydZ*y^b&;=q973-{aRf5^+AZR>spRVgxg?i z0;q)uxr(1e!+fowByIdjaY`#Tg6MZWxnkA&P~n#L z&k*4ot5&$deelb1QFr_o2*=GDvHO?8EyX@ifI@tvK_z4<_G^W7#ZSVlPf>I#2&TeV z`O)X5)l9NC*Hl%mUe^#NyslM(gGPx4v9m%9fN&^4?Yamef?7cnikJ$HkyI}Z|5`l% zwQ!{1no8_O0N;b_P4O}Y+e--(fM0om5>0+5_@0)e|Lq+MYg3|)7;IF7}>Gi!ZeqwpL z;2itMRMn&65%{k@LJKJ8SS+AK&@>3wCVJbzS2bs3uZjZ?SG>kyOxaxGH_h zQMIf*)afmV4{>6_WpMyx7D1SKsO9yGTcF`Ykqd<^?FH_pX$cpJ zs8O_B7Z-u!0eW$*MA$Ro=+QlU1(AP5^i~Px+09cNp#m*{HVU`%-`cl=6CVkO^d`-#T52`MQiecgd!jIay zih6PHkK!ueNcP4@b0DjWPkkj;-UPkA^uFVLm4LU5;stP^0YU>9o&am)?SkqnQNC6j zuoaA~sCZI&rS9-}=_bJ$eq6kAO1yGhB{;Ni1D9`_Um88yT%NBJ4u1edV6`E@J_$m) zbR@|g$xZ@WfZ#qRd697QIr0+W7W$Dz1ore0_>kkJBTo>%J0T|t z-$M=?EMeyhA3k0PUK0raybo+K;&-7!e;1_Kv|uDl(Rk z@dWle!ym4OoocYf6m~(v<|cT92W(X%+X;V(z-}0_lJ4^BO!&(LHcj(a65)?nOF9v< zgh;eH*v1CC%V8@u?4*IM=n{ZzB9aFQY(J6=_J$YrNQQDmMqqC*Y^@=y2-$=?6uBW1 z*l$gqBjkBP))7fM{B3grd#YhewPZL)RukBvBgr7-5h58u$Z{gd>_MjTuti7W@FLBG z%qFlkjeu0=5i*OAxrEFolF2tDZ{w|Vd?CeXu$s5YX^=e!TXuA?l`evdhmF*Quu;d( z?SgH3iF`Vr%a7%sf{oJO@xQ`$*g#3TBuCODnJ0Ni@~2lYY=?=5Z7}1!rg}XI8((fo z_0m{rnlw*ZC0!$ZPWlUMR`G#b?BTMJuq9=m?3C=9JPfv)B+K*Ui{yvBC9qMX(R+pW z0q;+I`uYrkjUHdY297u2ruZerH*h<=w~!{33S~lrun0D0>=fP;E(zcJ^1h+Ik-igr z=lE{%ecksQ+yIaEOZRK^TjKYE-x0s_a8o-$S*Tp9yrKLJZdgCypYA`_-{C*kf4%?9 zu$ke@fP{eI0Tltw0c!(Z3-|(VH1`Nh4s--A34A&5BiMG3rYcv>Rc(Py1#hbUq54g& zQirP()x*^J>Pq!Y^%nIp_2nP}TLGR5x}^!$^wh+_uk9a&U&$X6TpzqR_|4$&9vJk1 z?SaJ)Y$7cO%{YRa>J3rX@ z+0NIx1aztHs_EL;^=#K0U0b>d-NL#(-fexiSG#xbKCpXc_p0s-x^L7v_FdX{d*2g%zv%l%c$e_n@Mpqzgr5%ox?gO+;(pEj*7Q5w z@7IV2A_hi`i+C^MLd5s|rTqu>FYIsczqtRV{s;Ph(*N5?HT)*R=*ZoXXQEP~-i!Lm zAQ<`^#u*M8zKl+f9vN+mo)Wz!`f7A*Ooy1*nB16;Vt$PkV!OmHh}{(D9oIQ-P+U>m zs<_>8@5Nn(QGxN7ju!L1J! zJY;=n=MZ7Yh#`*;c{8a;(yXL|$@1i!hzo$_qTo|I2h#MI!_ z=+x@eS5rSXYK+5;&l_*2g{Q4c+n086sBCDTp<{+l8@g%e=ffPs-W~RRdPMrv^nJr6 z!!w3Y89r_J*@t^PocZv=htFmNWIU4bQpTl>%Oes-q>RWJVH>f2#NiRYX7%{rgelI@e7mOUeTZT5kY zokmU_`P9huBlnFwk>iyUmNO>jtK7icak*>q6nPnW|H${skI!F`|Bw7r`JWV&6j%xz z1=9-V7Cc_?bitZ}=L&Wf>@7H4@NU7$f-?n|3%)A&p+GG7vrt;-SEwoMRM@q!PhnJH zLSa(ju)?gug@sEBpDA2j_)}p^;XjL{MZQJqqK-xSqTWS@qJc%pMZ=47ibfZe6jc?~ z6-_CcUG!+tvZAMpmKUuoT2*v?RQFL2kIEnQ_~@ad^G44ceSGxoF@49(81wj;C1XyH zxjnYu*g0e082kIU9^>YZ`(%9A@fqVw#!nu9eEf%x40xpWk!ur@COk9YXH$*oWN}J~ zq{LG4P3e%*=goc0+spjRs>8plS)mA-UbrwT&x~YeXu61W=_pzYp`{wb-VSfRjeIT zdwG)gB*Ub!ljcrZJ!!wq*Op*2+Q!=^+UD5S*pAu0sPn7qSGS<vfHXdxe+{8C&n+7(GYpQKp+w@Y?Cr!UieqeIUcpv4Q|qVBpZfIFO;g{PdSMzrt?#s~ zX?4?9Ogl8~__XuWzMS^Uv_GeNO;=6VPmi2FWO~;0@zX8S>!&wQUod_7^yjC)IsM}F zTg{|d*W9-`p?OGiZgX*SZS(BrmCak5cQ?P@{9g0v=4;JAHUBxocZOz$VaCWAkIX2W z(J+ zc}M1bFz?K~tMk5{C(h^R`_1n#zsLNT`N{J$=Z~E~alT{zjQK0(pI$I^!IA~*7reaS z;DQqiE-d(Mp=@F3!pMcg78X5vre*0_?%*ZytIs6|gIgZE-RsU{vP*Y1XvFvj({f6o$EcyyXS)wRa|9Uf6G|R+pzrH6v@I~R_@Ks^(oT}yAx|ff=A0qnp ze$^SGbLPXncjqPzEXd`T_t>&B%@vVh>CXKcvFxH;{p)v!s)i;NmiG-)Zr5_hM4_Kn z`RJ{dvRm94z%maOYlF4Q0tNRA+}r4_P_C~Rw|pm#_>L3(phNV-8*5v{W#2iMi6g`# z-`$CkDUU0-gQBmv?pH~77%#?YIlOgchvAi4rKnV_)<$ZT%|EnMe!E1WJg?wB7k!oh z&hJ`|G;lCaE*VGBq>6#!EK$y#z9p`)D3p)Bf~#wZdh9l>+A>h9UY)8yf?rceI@95E zZieZrK^ z!MASJx19Ka+bb%77Xj~{f36XGym8~ouN`4evmK1?J zxK8>Dp&q-VlXeHT3hpw=*>;{V>00pVfU9-sPB}18b~_d86>3g(ZMx&tZ8q^`q0PQS zbvDLshzZ*RE$imt8$H9u=CL~E=sSV+raVZPuIW&<6{{NTGtGO-2T;uRCQQ2~sNA zE6*XntJSK2Nqt=XhYv9=y{n_n&}2hDbWPqP_UYN)d)V5T(I&fXqV*N}q7DFLid?WF zrE)2K@V`pwQ#&bk6GZDQtl+9QHWh$pRw9*uWDQY)V58nF>L73Q7_b^j)+$|^Fk6$K zo|T6Hgvvt#BB)iU$0OEbr~X1r!nHlov!}%y?RqI6w4W)?(0<;i0PSarGqj%v!lC_4 zc82zIpEIt0jL(jtIN0%Lm_CFZqLlnIlXHIbgd)M&t;_Nd~w>D zq}x80_0a&GQKaYTn&m~V6WOPyNA6BA&izTpej;1Fbi1fkJ-zh2#1z0Iyq5vX6rLqY znb0Kcy0MmmJX>=Z3>%Ld|Yel$RkBniu%d_Q28^M0sP%GU}bSvtDQcQ&O__IXwu?iGeJd&t6)q-17o_KE)*qr=N018JVTR5N%y||j?s!jKu27pk z(^V5{v(NBve-62Ht(8S<7qTNKTf|CjRibMODraQyGq z)G(derrW6H{^%;|n8BZ#@@r-eCzlCcI`%Wa>lZ3RpR6hGMKx z&!%&8uP=q;)Ivu_)`Fr71iMAKk5A-WqE5N?PjEsGqB1Q&ocuwfa^=VL%?b8R&RzZU z!(&=Ba~tMlYNSqq*j_5m1NGH)gl9cdI{`%pjhCh3?9K5tEbNXgOEs zmd)CdrygahK&EYY-1l&8SUE7CH0l_jUVO=^G^!76z#OV0|DTPASl_qobE*_z8rxB~ z-=ba|J-xNEcl>70wZ;u`SC^fPNzHJu8(l&Ks-4tXY2t@Z3R1tWRqC@)omESTQufmK zyf?p5<=P7ESMBA!QLwV`-Z5;rH>@n8{PvhE#3aYykMtycUF2Cy=_clJI@2EM(5Gb5 z7t+KQid3A=?#WIH>zMueeXbX+Ux(a6;h2AoWBwVA`8SWXkvsA7QXz_7CtLZvAU%KT ztMEgSU0|JIQ^Lpjp$yJUD_GOu=tIFmMx9Cue1?;b_hnr+@5{>qxeGc7MNRzgyzgW9 z=_M7{5O1W_7bP}K)JBB~eLt{ZRN|8={Yg%Lw#Df9#;q_w;}odeJ)75M>4q?R(y&3; zb-pKch2p{e$;nGiOAFW;a)X%;TZOyzXhAV-F;0mISj-Ph1C7^k?Ub09St>DJ{YK8g z0i<*i#?1-xA7L0C#I>BAOSGH-!jTa`9#f?l&U;Y2YTs626Vj;BS<#+DZ*X@@p){o` z@A8UbVT<_pb_+OCpAwH}^U}L$)3`$E50oyZnrh{EWbDO4A!ivD>SUin>46!UZ>;D! z@Lnpg+NSitf?07rDGtV`W>3$9eGJkoGnVeDnXjEyZ1jM1gT@kF#CR`b?k!vq{lt+| zI}O1uk+rgunnq!P{}`*FtAQHsun}irSgPd)oTYN-0+C-dR-wRmuVm@1MZ*Z?-MoMg z$~&p3lR$urV}1Y2f)g$<1F%+ji_&eio@$WU!~&WK)S=EN-hc>~o>ycOLAaIt zTMsp%bldH0@ig?c#9l<5b{0BuJHEF#Cr91YSHViD@4t#hVegensH46@FOX0|#Uzq# zVy5&6Rio55vUE*D^hZGS93c7&%vKI2>(OHoHI7g@MarxPGKaoa-`3^LU{i7p5_82k z@{#j0r$~tB8HX~p?s%)Ou`RXMzPAUXRS5=@wi=9=Z)|WU6iiV z6;>%lz$&_wVHe zhp1_qx2WwKCuNbJh)LqM2jC%Xq`?p$jDz@KQ(IB}TDv9wy8xx|8v^-PuFl(IKiqZfxrQpQwW7aTvfElRl<_ui!?+j#ia|SjKFh91;{2t|PUIHM* z0>D1hKi^h_bhU>(!Ckk@Y*}0Ht-q`?+G(wR&%2#Qm3R$z)bK%#&8QJ9%U-64=$B`7JZE(l}|Blc};TSqq5)+A5^W#7hCszUN@Bi2`_>9tq9&C zOZ`)pZfYZZiUD55_#R?-S24P$kHsiuAFk2;^u;vo8pW^l3bmfsQU9t7G65$l@|Mx2 zW&9pTMm}>W`Z^vtIO4UAsKsU4i|%Q^pCE z$tja3(+_u(v}7;!cU-94Dvqm_Pow>c;_pSj@C)*`<$`=(azTDtM!HRviV{k0$mfs__SChTPlV(L+jhtj0d0n0nH+N4m%pqa#8NX}l zIG7A?qz?3*EO~d`*XI{q+_1izTnx;q5|=eOh5x*}m#J$VowPA)=;3VL*u80!kHLsv zvyyuhm_0Uw(_pm=$gO~WeqQ^DJw#ko|Fsmb9a1jl^M>i@M(l*1!VYm)cgs@pDYYympcZcz_r0t1A8`Kw++x7}BS^W#yKvLW!W2KX z;+Sd0QPYa!rWHp{D{#g)aXCvjtXPA0LH_~rx*0HUSOMsDa}dytcgBKlyfc>+YF*~v zZE#EVg%d#XZ?L-INO|%eY(`;~Ri4?)gsDauR}nIo(GH_>5^NW~|`f&WP7=Y5~|V#hLh(OmGj zv7Y?NVbf536{^r!XStOEAxa4y(p0gBq%wh;?jYfNy5fm`6*jOyRlenC;ZkZCh zZuC$Sm%71LtI*6ku2%Sg^-*j}IYm`vm}x@Hr+Xs&E$=He0Y}=WJTw^8e8RM#}lS3rvTfkGWm-yfxdwv$JlNvN0Yek?XGAdG4sW z*1#wlE7Rz<*7btCL`~#NPHeW{JLmgqco^n8zhg6KH_u9KsK4T3!l55{Bfu02`RdljU0pJKr zeXCz+SAD4z&`Q9BdpH`ZaISJc?(f_Da$C-&?N>2v*2-}0DjS0f^p#e|0H$!F@-W-d z#8YsC6O~JuB@G5~W^kf%8gemIT?Mn?^{7~cihog1(uz+y*EMayC*S)ynSoZ{9y*S? zW8c=MO|{>SLv_`R`md~>(ioUn9*2n~c!)jByOF~C_!b<3R{Vxm7EOV`?+r6$(nEsy zwIIC(p|s+^%7V!?9BHI@(+W$|{{%LSG6@9l+lAo#u5jCGG`5SH#-U$@=vFZWX_Ur9 z(94;~qA%}mv1C!dJrHbweCFq2*%zqES)J&6(0SR|z^AS8g*sGat}!6MW0Xq?YZ$#X z;Yyt8X8eI{`rh%qpPT#Ob|3xRFk<`J%J#?KtMNrkKG>bVgx$FsWSLAYTPnF=(7lmf zpQP{Ld|U)iE8XAikHK1m7j>4UKN~0%yUAO*CnD{(cAqR4r90b{+Z{hNcN5J)-TL?W zK(BB?%qqI?t?blrP}8;02H;?+Z?&t2gQZevD#yW{9NpeqMphST5YX%fr&+mXB~l$9 z{P7EZeGfsPeaM}sjt77n;#JNjecCvZ?ZGi20#P`UOh9Cs6YFHf!!aqK3&XQ1p0lzrv#jwFcl&4>Qi_CW zVKI;1w$)-DJpl{)&-uQE*((qVFm;VPb0d3lfU)pCY8ru-?x3MGv~vf|IDIB^5!00r zv1Cqi`0^j(%b$bg{~PW}x#pxlJ+xW6d?Ib@1U?ICyuvhIAq^Gose8Da(LwVAU*$(3 zfK8H-{9w-r%#!(rh7SK;57}f@1QR=Wk(lp;Ov@66GHdz4p1GDvF68j+5SHcJ8{06j zBxkf4=!`a#oUx_2C&UAo({m3g>7cX4NeWr-{iJT-O0$)vr1XqcsZ>d^_$dSi&*FXx zK+t2kS>1lWsLW3$%d{Qj(>9e)+d)hlX3Ek)B2^Lx2JC=%v6tYoB+>1mftjeHoGvU; zFpIz|3#JEC)43Y159VN6a4>^870GU5__+mf5Dx4q@dG4T?WlN+7y z`OGNgoIM+}=dfvsu)2rND`2RHtK&*>-AD}y2*ZiW-mk6(T8&3 z5rgH#W%6FnVId zKI~TR=2Y(K?F?7QAuDn1b0o~*@5p=iB!=xa+=}g8uTmek62-szWto%IPcKEEVEB#9 z;bO@>P4w;O>7>za7m70w(DmDtI1?I>a!XJ^~f>U1bY1+ z3KF|tORN#p8tRmO%KIQa+4aav~-ktN*w2nv-ls8rk87&?l z_*#*V{chYrQ%RrrmsKaTm6Ws_)(wHMZg>J8ME!do#NiRW3{uj2ms1fgr^i2WIUN-= z+~7PIE~jc2Ix0)?o2bs>Q@WNol$OHN4HC>NnUJD3T{}?0u~)u$N<$Hp^W#i$DTR(k z+D%AOUmX_TFArZFX!PUMAE=W2-k&x7w`a#PF2=@A_lh$~`>89%$Q=YJPFt7#O<7aD z6z4)sUG*P)Cehp4tPZP}TaWCI9*s&!0ESEBxZQ?|^J4$`Wjfeua2J&i<{A(>#O@aV zmbhN+(ogwY8rwp#+6{S7tSS5hN=sxuKPOsF{|WrIvqux7$pQD>pf^%c1(36B673m+ zrt-6S-V$0r>y7jWG78ypI)+?mH&-*@Hm5_nY&;ci$TT^*O~ zgR3K|@ufz+!_;&Sw?JWbl(3GIimuA1$;CSxqIujrycMdHxATqk6vgY%1`wgsk;Sik zp0(Ce9bZH2q(UB*5UPR(hhuO`4R z&-*`@Urm_6x6Y`z21sM^P|WD2yP1sI zzUHQf(l~py2`#~$4^v$lDN_IR0FLuB*HzIvU-RaUH_{X}kUp3H-{C+?0*Dx;KR0h! zykfh_7h(MRIriN5-V2F4`k6!K1{)?o>%4DE+{05Q_KX&lL=cgtXfZ_W>O+-H1)orI zy_Cym)`(L%an#ikRKb=9RhZ3#D%kR%3T+$WXFkk|_Rr@*6*|JK=%DQ}P;v8rMn=6b z`t7|3;3B+H1!P+TbyU+iKk`c}jD8<0_EPBQv^C;^ybBuq#9>=F8*#{wPe41^2|lC^Ct#0Pz%6u ziaUVaA=@Zwx&?}wKR&U`f_iQ8pY1uqaP8W6+;)qX4LAo4n;%LSeNq}M?+;M6zN&~0U3VhI=sc7*Y=4lq(Hq#y4O;W>p+<9O40 z){*p@?OM4)tUA(j&)Cz5vs*~N{G3)iG`Ao0RiAW_JnzWQ`|}=>3wTTPr58jz7|Ybt z;4NcCtPL#Uq(ab@Ds18gDDRG!u~175$b|mG&2q!-<`zdw=@q4wmDJ~uh9rQ?O{I1) zp~D{MC3&$y7-&8(@)AYz6SS_ppF2Cv*6z`V+4K-UOcSI}A%P`Uccjk?ENys4!{5zv z5xJR|#U#(4O`5+@M**NlEH-(Ex$4bgmPaqJ^+1flV1ayC%}4e;{S5SObs$bw9asYy z*YdBYbS(t!QVw|nySBRI0{gbkq`wAD+m27dx(LT(*KRoYZ(&{3mc{M0zy&E|qu^%i zJ&0^93U1Pi8!@|RPo)j-X8lu$h;tKVdU0hP3gy$mKih+`Mk+Tie2Z1ChE+yyc!@#| zCj0Gb%r=yI?@*4@45(g_>*;uP^_O>t(v?!CiR$W?a;X?JnD{OA zs4nx-GqI!2Nl)T=9s5>aI)Y7!%vrN-JcA|wRr=k;8jC$5hxks(QX7{v(sRYuFfmM0|stfvV@;SB*o}8+?ac({{)?zC*5+?2vPa zmk@_NqDj$H#aDT|a3(x`Uo!_asc&%%(1e4n%TJDYY8r+zH{X{z#LGaY} zbZZ%>-amHw<_B^eyJ3dHbCRiPvSutx-xW^=3%8AvYg(1^cVo4TXLL#)$}MX(mfx1j zL)TbIq1$EPXxc`s3xj-3GH}}>8Tij)P&|U*sxLeN!KD>SIt);CZb-$S0OO?AA91`J z<@ub>I84rmXJDMq&6Si{bZfp+S%96%SkO{W%_T7p-dI_J9u!!8hm-%=)))?5nx!3qLn*xku z)8rZ3=I)Gfd~xu?t*9O5$>3lcJd@qy2fFGahxHHb_dZ@zn=LL0Lrnc$l1Hax=*I0$ z3qEXsJWWL4v?~)%j@l1yF`tv{U+06XT~kO6?@-mp*dw;^B`%0Od*tBGPBp5J>om~K z_v{N}rLwH)&Dt+B_r_%IGwTtt@uu}vTQZ0 zWAQ1sR++dKwBEbV0Q$Nauy0ra_;qs$bPW;iDJj(S0DYnL<%p-UkedHXNBHe4Jx0V5 zjuVG((Kpx@G?9HNZ&1wB=T6hiU1A~KSz@0&=>g2fuW+;R2QV8yb6u3~CGyi31siLp zJ4gy1t_J4q&_^`|OJytFLzPRs$~{y$g(?p&^P~1dN%|IdUrFK7xZWOGp#l`gsPWJW zRnA)RI_6uTd!$EJv;M47a!kXB{qMb@!Tf~QEZO;H`e@8fx79}w_i_{WPcxDry|oAr z{w0$tBiABF;M&Q0cTt_Yra#ZyiF3bDT@6`nO#fCq5})ap?u}aA8~ViG^kRH+z*xtz zWBgmRblIBF+vwI>ClwzZdENWY9M3N0N=r5TH;-Lwgi;c;-dAhSoVw@xnm z*=19lW7Li<*%@hp+^Ydaf`+WM5buOi*)4C6ygkYk18*Ah%b7J^ zk*7|yq!xdL<22-+TR@Ti5sX{(`DEouR&&WpnuzctdUdvt8<%n_X}i}@V>4%;#*R`7 zGf?}LPL7@v{DygXuioNm9QLzr{QiBx8HP8fF5ELgW!iqu?UUD{3LK@qcU-cW$V|=+ z+1C)ra}R=J*EJskP3(Uao&>a#s>28h^I7*XY-yc9s=>t|GY@2%Q;2+cN$T3fb(3<- zg?NpfHPq15XZLLr4W@~Y5FN?UNgoWoyXH3XJsS++Ir}W}XZmc4@l$(R>Goc2YAyQR z4_*u>^LXpEihH{7S>efA%hNeQ=7dv)y1x5PL#@Xj^14!JN#42Q#Xu~cL6bnLKP88e zq@PC)Qa-8{`qBjm?RPE%IHc{3Es4M!h(cOS)V&8Vb=_XlPbn;9~4Ym_D1u;xE;!`@!I8)KnZl zbyl0YLF|LmDHey553YGvuoh%URv_uULgl&uMDj-vlhCbfHCx`ZQ5-%7ye6~|A5{`) z8#^{x38eMoQ7z?TwJDpy+Ok(_J{S~N@%5QxWgI65#{LtypL$uA_G=M6_KO~fSTzT+ z8>C5=m{q8I6)K8kWyOgH$A3lTRCB2|%;=k+x=)6xq;$L|lQhN5V?G&?epzu9UsAPs z|Cs7L^};p967lFCQ_CWFWT5`2N>*>r9Zyz9zpYE5b;)Wd?}2lv9yp^1XE8g`R7dfe z!xc9O9Hs>k^8>?d1w?HvQ|NIP%9jbi_P^!8Zj?a!`&eR%eB^9_tl#RY2#`6h{s1=3 z>Lb|y3!n%9DiH3!)ioD-cSqzqw@h6#A?g1gz+gVhbBnIaRRsF1f-W0!eyeC!vm{oU zp8^k-lF@U@&s?0IuID#2IjtRn4A3q25X%2PZqs;xmV0IvsZ|4=HGmkLIyl#iv#fMh@^ z|Nl|y{op>oyO#85I)y^{h|-249N@eUz*9KzDFB{a0v!7nL`1SOh|}i%wVJV3sskq? z_HiO2#*BTs*9;;;N;HFxh%$qY*lSTR#yVT*h$EFgz>hKW2E5H^A;!6+32k8@pIWU! zzeAax3iT^;{!r&8uabfqH%clzR({8wxt#lEQT(0VVySPn4bASSluDp#cRtF1A49@G z25b6Wlk%c=@B8w{=zBN@E$0Y)w0Hv+H!T`k)MU5#Ny?j|tNoPHDHn>Gd~D=INh9U8 zM&Rg00?Z2ky%{iq)-(}JJxci$HD4#P>0o}p<{_r+RRhj@zp9F~Tm6oeYltoYJFV$L z9xvPjhD+0t#2HldQ@UPNIa$>FqwF`|BKy70nWlU$AG`iu_N#fFaRGJG-8N$O1gSfmg?jqY*Hht*Ndzh-8OL_MearU zNVK5=!{zyRbz>7#CLDx4(p$|<(Yb)xySe!f_b@HJt)m{y_Rn%~H>7K2_K3ZEb|`UA zw1|ByQXmfqXY!w4qNWc)8|L8R3L^M3s&T~RyX}wH>eR_|ct7qgd3#o-&WR-nto*f> zR6g%kOxy|M(Ca$ier^+74b46GX3R6eSZLmc=SS%?M^xgNgSPD)Z5q%@H{j@H|I08Br7yv6nV=1@ zKK=%-p`s0D13((FGO%%AKh&+s%1>G{>DLe=;%3)3cOKNh&~Iqyw!x+mZFHXL=OzF| z4f^6K>_Cgf6gm5F^3_WRhc;h}gYW@KH>lhL>#R4l8U_|wG)ZO^^J>8fy8?YyKtEEW zs?S*6cI^W_`xp~j>9*`o2~9IRIyA7!Y7;9G7KF^7ILYx%fK01}CNujFX=!Nbo(zl_ zDI(6;=M)T*{&{np?y8x4mR5n+1P{pdLaiQXeg3*)qlR+-P+N9ia3AbBaiF22fBa1o z?L*2jJ(CW%A>Fl%!~+M6vn%T$>W3)LRkTlh?@t@7rt{j?(3`Vo`e8wn0}%i&OzSP&))9d`v*tnD}Mz^(5zR8ATJEQkUaAjBUs;;{G@ZH@U_) ziaotWxBID{mcDHjocebf)6p<0aM>C!leBI^4V~0)+Rp8B_89W6Cf!Qo0Gh6bbKX;U znOO+PgCM%qI+P+qQJc$Zxb&Vr&BGYcM7Jh7cGW&Z&aRQoOw654tP2jz@u@zP91+3z zF@r59q+!+WTRdd{;;qAY(zQ55N1q8#X=PYyXxfHUIK6Hd5ZXU%z*Dvo+lbdW$fL9I z!`Mch$7?x2K|f?hw>d-Ra5wN-hh`_wN*+Q(%Q1sc576ES2WaJrlx4{)5AuNB16R4P z9+b?6m%A$@)9}^FD^phR^c4e_xvv~_fHxxWMv8>TGXm`sanM~**QkHV((Z@{I_bjl zzzIwJ5i-12TlU#76C6%sb#QWiKyx-EhaC##fWrFYe}iALIps(%fE=3~aYUE8DK_DR zVg0)K^VY#p4k+OT!L4dU%mH%|7>;OtK0X_9VfaT7jr z$g1yB{R)pjVe846S}=s6m2N)GQ6jeQ-554+Rv1-Q2DPecqVvUx@G4P5U~42jKSuN9 zfupM6QoH9Ck01kmC-65QY4?0eq-vAD>RVm=N93>o}HqD#05un@w3cA*T z#e?MqGv_UuYY3UXI?|-(z&H51zVWU;w<9+#UA`V$>R-;25VPfsiNhH)7-vizV$?3+ zGP-}sP>t%8h04EVz#{LqrZDIPiU4{XsD2{>uP@+5R#RS59_aXJjgF7xQqkxVsc598 zH|V4h@%Nx9;_B63FjFyRe&Ct;iD#~cnpR*4?+p=A@LP!PR?_+rC=`n_?kEzA5^)IS z_8RnhC(!HnltpJjuMhfHIIAfK`h`v!X?{hQFF%#2IhS z+>b!4LlV397&5}egq)uHN1QYw{qn!gz(`2{prru45~CcarYiyVDxk&!=vDMEo7QR) zK#XBTCZsgg@)mqL21xo(L9iN&m&n}?W6Y>K5Ot#mDJ3GnNQ>6>AK9>B_@HaOA|@R^ zqqyCW;;s0ItoVqm0D;T>;>;PVQ#YM(Oc}ldvG_D)s}_25+DvW-)Cs)CPh2Lrh-+K< zG*Ya+{H z41};JwL~9o4HTJvbQRoa6pINJtbr_3_gb?Cx~D8pDVe)yK6eB8+(l#Vq^NM<6k13; za$*S#fyT`V@Ed3tq?rZv6kL`jx;-!;{JUlr1dkIwiSCL8k!MlU5Dk_4aENs{#6BFN zn=^;l4+@6xU*BbLwIkRJ?C$npGk|zFa~A$*OmX(bLcDL0=S1HcrE5oyMJ4R!hC{A8 z3pav5nMZaaP^Kjo?TqPAQBMru3`#5*lv7)c2#>Dk82#TD=|~=W^TQ?k0+(!#cFDe| zBC@ior*=+^#75;sw5>WAU4Cxnm$BJ$8=I?$(le`#syFuPNKGMvqHv;Ei-H9xcSkE$ zfKtD0RLA9sBVp{C#=&Lg-9?edD3Yxed0a(Ig=dWP+m>YAxI3csc+jp1H=&mPA6@iT zJ^4NcNC@-*5~t0me>D37YU>#|Z+PdpcEUnWe9|s6spD|!J=0FT$NbcLR&we+)=s^U z2kOcj_R;j&h-YN|5OjDY>L4eENAKKe-0O0<*U^Et6MVg=c^SI9@69wx*N@@7hqNuR zaS7}E#taxWW{{_GYRt^&U5=_$+)VafH8yP2wxsjX*CX!ORuqCeP3+|}sPFy(hexK{ zo;`FfJ=Za(Pey|}JzCfI*wAlBAET7tV~AUyA04Y)Z$|c4PVCrw(3s+xJn=w?tsTVk zZPAs+ufXY&CwbMQGOQ}AT91`sUd;0m`+};P)N^IBGrF?YthH+L4sxy<_A^Z$A%@D8B^FYr8RhV@;u)^7!hBtR^{}LN10$A>wxRdmUNCJHoDHfuhV68Hw26CqDx3fiNV_@`-XI^ z&c0%wv4N~5zb0u&F5<7yHwXz|O*v1txgCx)-K<41y0PQX!Apn=TjwMz`%^owfjx~U z+v?)?9mESM=aanpxbz)DzlcLS_2@bJm-aoQ5{Gh^1Zw(#qTX18;8xTf|2w4FC1yhob)uHY<=)x4gxz+Y|{Ng)kXAVP7XOdx27_$s2?bYL)kLb zS8kDsleJ}>@42xRAuj?ryP+Oa0ZaQowu z>OM`+r5~SIpMOhh-rCTmY`Lu)S&My#bT!dvb-qkxU>sZ%T@zp3!5!$(G!QqzM-{mY$z51rP>Th$iAMw|J0=;1DVZwlbd`001pFV6m6m(l~=Tg zJeln?W?-LJX@)mO9C9FzJDRmKCC$Xz&H1HA1B1KA=13om=^<>aE7SMDFlz*#>Rs=( zhG3OhZ`St_v*!4<0{GR7)nHDp-GEm6aI1YY z_IYLI!OEHJ8a|;hxzq>Y7?fXuS{LcddmYl>qt?ztsaH5^o%(=UZFIZ$9o)iEYiyrx zeFp=zhPCg~bL4x}y8n=p3rp~-HX$5$dFmArvo&sWoCUA?alC3~!K+FZysEAH8FX{t3=1k+b)eyKU4H%K14D9B zpzkh|o$8NB7#0L;DFegS(yC}ufMG7Smx?`Wa15)!+74vZLfBM}VVKp%IrOWBVH~$( zX(=#l|E(Ng*wv$b*;i{#y$AKPVAy7081Rr|*mDiT5H*`AIqfYNmTF=hX0>qn@dJiI z)UJpR0wXq zG~lOaQXWD9-o3WD~4Oj1rE*GI+Pmk)BbN0dR2}TX-L_UAG;80&*}%< zQE>2K7G1K14RmG+2?#TfcQjpMCFG) zYfSXP`_v*~A_4NwC?Em)oN4LvPD`KZ7BTC;tRBOQLa`xe(<5OIWJ&YlX>hYfx{0S# z6r0L(FY|cO{qEY3TGYLlXa`{hzAqto^gO!U7^XTr|MFdGj1s}T1bLmZ6oW?-3Q%lU zlnVGziA~l%t0?>*mdpgz*_yi3SQ~nouu`$pKHd4Jd(LvpXO=n?>Pcj(by)q9BG-|2 z9R=ts_6v%wSJo?cl|1b~`c*?WdL<)_xrS;8V-7hZWOY^OjLlt9zI*ZX!-wro<7ve% z_3K~kau-~u(?jc%>O`B9-Q@b}#D{u2*6xo=2$cQ8MyeU2qSm4vxrH>8| zCFnEQH>`;xYvPK(_(V;oQ$_x#tZD268yd@;WJ)~6`WN|A|5Nbk{g8X;q0R3Nv2z~=3E^c&OV8A)dyrTqBF1kx=wUerr3nQpOfLj0-KX%`&d^o(Yb zv3=KM;c<9i4^!{CuH7BmZS}qsf|s}2hD`8o*JWA%o{l{N0_$SzKNkIAeOGn1QP&g= zkgE&q&bvQ!FTmLUD6%E;jX#2a!3=yT(~$irzd)IyKXlc#GO(b&q4xeoC{8F->~TZ& z(A&LKhv1INwxP~1VWEHWl60twPJ2%TI*a>Rxi1lc_A%+5KhZYPPyd$#;3C)h(HvR?KG2;i@_tVJ)0y zYwr%sTtT&FQ!R3unW?Or&1$V+wV2Z?on5QDYTiBj+XX`lsm$w91=0gJg+G;JHf@R7 zXuRV=R)H-Y$4m(rJH^;6nSHkDnj;;g-E!10mtAcP(v^xX-I|YG9W%&{ zb*JqcYB_rOPZ%_C6`eI2^ssW-=thjJ(+&;pbZ^{`Rm(z zcfbyaKi;WO@yDN_ME?BVPj5{7%QWeBD*s8=>D=6`F171)>)OQB@`RjvCQgX%tUDrj z+|+GZy)I&lW6J0-593clY7P11HvQH$)2B?H9s(C7wfU7NciUdFzj1@4i}ce4-1+gU zl?>NDVJ3YxTg<|`r$OkPEb64x;jaaTgjr4-{#p6?=T1h6Q6T+v#e!~Hw2R5)Us>mF2!TiD-Zv5*PZ=WZ%ZfpvkAx^qdc%9zy zDp-ZjJ3nO=*-uOX&2MHws3PQwkHCF^X32e?~P$=P^nrMC^0D|=Dc zLVfuoixXI1-9=$5KJv4h;5wFd_p^T%!l|{cy)cQj)-h50=panQN4=JJaQDi(MlG)k zH?w748X$Oz9i^!aEqi$YrOCgO^gEN%cQ=7l+HewEx$>A0koJ5l*JYLCv6T%yny?Bw zy9?q4G4_dC;feJ#+-*atj1A=?C|Pn)91Jandyem7oIh{Te8U8akcVva4vTc$6T9`O zamkWJOAME$$y;ZJPv18A__=aEyT)uCynY)g<=U+BXAZhKa~92k4x~x98g=r9-}W~7 zvN|Kzj@dLO!lCcayS)$lr%!kAWwkEPilpkgrArqr#ghhk7Ym-(-`6Axh~*qAs?JSB zyP_H|L@>&W@RO*hUArT7m7@C96V;`AMfG?`dJ$Mb;Tj9(p0N7HE;R zNK{yh?nqpvFvoggmA&GCj`#{dbb_ByJW*s~OXd7l6hd>X^IWk}O(d@p_csvP@@wL( zp7?WBndPFe_J`mt5rTpRB1`V6goKJAXo$wY5X&wS7g-*XX@`eo?trvwSC*Ds6r>9{ zYmTHQC#N}{9hBITS}I{%)<+m(Hw7VDMc#<+{p)ms*mRW=Ur#)@SER2xiXj1F{7*{A z>Adu_r>*Ii8)SXmhO!RJe||_H|E%E`*A70RvQ%Ux*-77vU!n zri0y)ip8_S;+e2`ZXNNB#k2YeHL!T!v{cknTTu?PNf)qq^=cwxm8d3Q@j7AgT43=y zVewkH;1Rq-3Y`g2Xd@P{Vo#-q(pQ-z_JCIS0u4EDO-*vCB7*BR!Lv|jg%z>7Uj@I& z*x)F`wF_s+=C=W78jl?_b)ui?*K};2Ci+~&0HPoCTefbYD&mCYVR-(KmYt_z=d7s> zXtp+LGr7Xmt_6Gcuip`C9CJiBEpP(P@!li$W@hc#cPwJltl%)yo^)OKgs~e28=RVS zW7Z}+Jm%)W>*2+=__&WRwy7f#wn13ZPZ#d*zkaPq%TDJV&OZGM=4!*)J7=wFbB>L= zq-cn|Y8-!xr23HFElpGOE#~XGUT14_z-WAVmVFtf-xIMlWqZWjSrMSw#Pl0y4<07# z%z+v9RPmzQ&6elrn`;wqNrlchv%KYXE7yguHO^nRenEsGP1w6-?u7BfCU)=TxiQkz zE=2B`>HB~_zm|6P*x;>=jMDGsPQvh@m7CWsU$J(jX>M5P{0)X{$KtPs&kUQf)^s%! z`jF+pLBCGsQNLPs9oBN>CZDZSP4o4r=sz_WdM&@uDPc2=NGNn3J9+X1e@7T>Qf(S7 zd-_Kt?%uXFCTjbHQ6t7r@;2EmQ2cz2%g$g08teJ+kC2r;?IqjlxzaLnRyW{wV{3Ei z2J;cHEm|LuW4DImSut`%sG75M%Tj(PeO^5WBv>O$`DH@?ss4R}0+y|rXdK@|7qUHS zM!bRaF=uX>=p6F~-9@bcXd3|eb3p6Vk=E22lzMAmN^XvD{OA*A)IAoMf>1HvP&ovV zWaU{!yz3R)1eX<%;xQI!BP#TSf9Ew8Bm5jU@K)UB#B-^%j&AL#-#+4!CO>E*hnyBBlX3e?{hK(z-oeKB*^|P23?l;re5aWf2($O<@E*|uWtc%V9G#P`R%x4R)U}i<`-I8F~x^DjL2-Aj(x>b`WFZDAF zaQE%w!#jJ0_m7rkkx!O2waO)Zjtx-ZkUTyyBQV2Ike+<(WVdkFji#Y%N3P!DxM}11 zeX%>uQ+5~=({$mU9-I0a8n_MX)jMm#ktwEq)AySF9RmV`-95&v-!cYhzw9izV=1QO zA?lS{UTzZS`g=m`s#V*K!I`>QL4k888u|ooIcy?(Du0%hzu#6rqaoi$SHJ`;yKGIh z@<`6LQQg!#auWp2_8uQNW1M05wD1%Yxiw}U`k!J3UQ3DJ60-|0Ev^`dFsyd84lIWQ zf#+C((LWbJEZ=|$kQ-}a_MGWC!_#4bFe7GWj5)@Qnv_GxKU#O5YM-~xQ7hPhrQ$WV zlKqN(OCpzUb66rQ8?(%3na?(6U+x8>Zr;%SB8+E^=X%Zep6lf>Uzi&`H)?kDII=I- zUGQV}vyqDQ1xQ~IH8*T420!cM`$GK5)tlFBTC>UFS7B|?x}ddz zdwZ07C@>rP@iqOVYbbd2oH2Q3(9Fqbz#JB`X-3$n4l?G_k+8HaX`me3 zRX1_c77|%xR|2EU%e9s6QiWX0&-{FLJ_2!OmTt6Q~v+|p%XRNv!2Wo4O3q6|$B^k0 z#~LI1>OyyHU$x7S9_`zExrzA-3uY~tKGpFGLPR1h#-#IN|cvKyqskb6SMrs|x#}kDP76se6rN1UG12V~`q@5s@oW2d{>WyVHl3^0JlZ8UHYPND zt7*X?-N=RG$GaKEjb0VzZGz-bFAw&KKXEcHey{e3r-^;9_s0vt{sud>{t2pk9B&q$ zrpl*n=!jZhzM6UT_U-ORTea%eyIHfW-d9a0$_(|1K9IaCdf&dCUhad(c|qn&H@r{j~wjiv2J99xACW@IbhAvz;f4z|!UKPM3cM#0cGooTr6wkF|){QmQpQ~%n8E%NG zru_=LoYsT8J9`=1s$&o!ZxM~@aq`3oIsuW;T&SXh_7&k)Z^cgNSala_Lyz+x<@7>JR%?<+pvR=aumYHLASh{4QcJ2;j*Et?WuC~y zyW!Svc}R^F(1{HjJ#tcC!!Lc04VFl?2V0ndeh+rJa55NMh^K<6p6nX7C5 zR3FGX2Q#aH;oTQH1O_czKG`&-QP|Ar*@+7s==;47>B~^lHX4g?!g+Xsbj1nXv6b7B zPZ+junlpQY$4qEC>_kc)+Gt+-iFTGFn{Ah2dRB}NOdHveQ|l|vDnlj4jhBO%Sz9pS|4z@ z(1OEz)8xhaxkq%zg$;w2%+l2+9&$aMIbo>kmjmR~wlu#Ho8LfRljb9c zJe$uK(&KV(J^l>7%x2!DnUD2P*i0DD(9BC|ZI5yz7MgM`|LVi5h@)!_X&W7v^QpbQ zdx*PND+8@Ab0v9vmvtuA{-Hpx>dRdO`f_URB=)5N%IxxvnX+o-tm4W7ZG~;Gmyd7ASO{tpuADfq=TO|1854Gy zo`G9AUaKdo+l}f@&@Xk??eHA8p`YQ$A3H$(XLq*atJJ-lckP0+jboNZ(sE6UK~>PH0(59-B-m5~@c zCc?y;q+wY7<<`POpGL8j_@KVAOj+NODSKxb+w1%L9_%t*PU|KtUa@G!O2^fURxey_ z%z`BDGpLb(>a_kTjlSQIT&i+(zXo*w>{jw?seYci6JF13pwm-9>X*l=>ZeWhM(m0j zF86RSS3maf_vH8huV@?{Blq-)>b1f_`Z4df=6b0?UR6BrFrgm%f@7`g6Ffog5M-2= z=lyU?51=pg87mKO-Iri%wDcOGvg+{}@G+3ax_F{tRf{dqTWd^9btCy(>= z2^=-sRvo90owH-|_6gWNBlfxNbXksf7VB#yOpsk9*#%kw()1O{- zIQl@EEuZFq{QRtokGp5u7pN^@br_D5x3~qO*VWC|-^&Q-1he zbqp=*+!Lr13(!$nf%T`^Ia^O;tbXipB@1yKp3hA3iyIbUOSNHNMpo+XKx>FFY^f(i z#jBpl(1Fw!PvJiVzO`io^tA`;I_jS!>ALD`dszO(mcdVQ4oo4bjbrHiu(=V&S`&23 zrYj*X7CU;kD@qc`ToTeeC=kXu=ZFlIKJLCC}lt#aB?zRbo z?EEKkADYOzu})CCtI;wr#C_igi0eA(qzqQA_$rv-ki%3Lae?uB*gElI;l&vIXG4uu z2l?XRv^%%@rnGC@chEdhEqh5Wc4LD!j#P(HBfOkb>{?RbAPNkeCsI`3PZMzCedTt9 z${wRRWUG*0HY}~KsabNj6P9l1*lbrkik#UIt_frdix<4M%f2rjB4_bH$>_HZ_FpyR z{pS)->6X%03fY(KPd%z2kOk!RgLLQx;$C#j)=T5grQv$zQVJ0Mwoo(j7jLh>;WoMe zdpkm5TZ*$}NG%|;kZwjHsYE{UzJn`Eo-ZDV=ZmRvwzSEtJ}TYOV!Q_bu~)1j;z4ZK zykp%KL)3<8fxiCJ+)W6aG)RAZJ03HgWO>Xqz%;6lZm=?VjS2C664!4yCU)uXK4rYG zk#dWJAVSqNVssO=^?O=YrbvN*m3|5M7kaLZ}(ju+eOphXnS#wpa=d zvjU)-WcTo zYhd-a$6lMiuleNQ{!8|MS#>sBUHHqYquDC=R}P?s24L*Iz0=YRSC1xVWqHJRni4pF z&UDj?!!WJ9#N35oRzKcfw|3Kpm0Juk5mUX!O`PI2)@S49NhP3Z;YIsYTESc&yyOs{ zo2d*Y;DI33vszZT@%*iawg=b>=tnT32H4f+9?iz}`2V_l53nebuV1*kC&4rfAPy?y z%wSeT9fFFA5pzH!31&bLl%OONilQQ7M%NrjW&s208c;;Vtm~R1=B%r(+JlYq{i+8L z-TlY!zVGwgOEagdD~D63PNj2Z*&0Rihuf=(#%XTpBXsDu%17J))F9uT8{mjJLHE`i zW{oRx%0u6Vey(>Afl-4J*T#e(@=c3Q@{KuL^5qT_v=KGt?A-ek7kt@D6vbSPE5(wU%xyUe@a}gJA0S@9?i*Li!ejnr_`JCizJ_A zd@k1)x`R3L`YbCYmI~reuY4`i$LWogrRLlsi48pPn0&!IUN$m4u~f{xSM4Te%p2?7 zEz@pV>D})^LAPZA7lHKn#*)`E-lK?D?;^3QcX1v?uqh=DLO6Ia=8P>1D#NAe-Eo_$ z)E%p?wldDcol}n_>8VHZ9`3M#s}Pb4Lm7ky;_9J=bX@m)XrUgCd=I|6Gg^r6&L2U+ zNmdm4(;w+K`o^L++&0W|k8w>8aH^Sd+-p0=H0Qo7!qqKqDp+-ZMkaF!pV=BKC2g=i&DU-H3W4Vp&n~WZRv!lS)z)0{6YNi~ zhbnOouThPHFhi;h*OL`KeBnb6A0hDJYw&T2UkZyA-z@~4=lUKG1)b+y2|wT=w}F%e z$4f4O)lz(hxBv6^z;qU`oy==BoNT6KDW_h9^GcT1TvMstY~CsmdxNzz_XCIYAuO7Ti zYdOU6bmtpHUa}{M+v%L#jd`lV>_B(FaQ}gWL%04OthEf|yEIe=M&$guH*<4d_Ldlr zP1?aR5z(VmD4zXG+!Y#w>xg47@m@IME1h+7&e4=7Mq|>mXYEiG9@>5`haAt|(S60{ z(I-?J*5iDx7Ueb^-<>$+mrZ{x0s-`Jfu(Jxoa8^?Kh^-#I!y_8$G<*dn5-QClj*J=~z z&X{4nC)hU&_o%H}*@0x6KJ5G+i@0LYfbpD9JLs0H+skv@a2!779UhgecvOu`{Mh?X z%ip-}y_5;9B+0+5pPixNRGZ#oUk+=A_9HP=+giU_cCcXO@|5JIn&tN;3lrlO#Ho07 zWPM(x#VWgQH{XG`wQf9Zi1(C)c?)m`&yjcUeHV zO;|8newrITQ+|dYexF~C?)gGL=3O;No}P%kPEI@#*WDklx3av#O(>RHK6XD9a+_np zrX6|y;>D5Xe081;Y3J^SBXX@F_mMY(61>L;^9vplKYi+RI5^3-s?RI=K0I6CbkI*T zn~3q?P2T8Fyr$3Ur-;t_DZA;Xyy4$~Obp^S^8>go81>J*F7@pOl~nvGZ0T-$NACom zwGT7gow(=B8I{!I_I<6#8J8rNrlD)R(jRz0bN!)8>m?zr3zbhd=5F1%KE}IEaQ7ZP zHJmFyN*Na&855`)8oc$Eb_=-DPZvIL7S`|GPdeGTcIR7a_+(k+gs`~L<9~Inxn|kw zUsnHORBz>Vp9iXQ`8hebznQR}JGGW8T2JF>2-GoD7je!Pm9rPmUcAH_>!kDXr_nn| z=g(a@-64pBZXeYINqY?KHN2b3+b?}*sCG8DPB~}J z{DoR>tSoim(uIpPx!L*YM^*Xx<3qExi)Sqa;z29K>^XC0gSrPiqgUw{_6c#G0HG9Iz_^@Kn(5~Up$Xg~rYL;yGg5y3_A5ulR{hZUwqToGD`W0Y8LZN@jl z72;-?1u8C{zQ9@ih9e%-`Lmq)SuD*JaDK|{O`CS^h};+&8aXyNXj5dimRE{DJ-~>= z8MVAwr%ucEV6%-MwEv_%E$%Vk$elYUj$FKWVqn|00|r8d04LtVb-7M+x_z7r4iOB2 zz8+MO3*SY?hxjYG1Zlx(2{(z4mG$+JC^qYtpc;0FwrqYR-+V(ba&0~-afB<4tIelL zN^Ltlk}uci0%4bk&MtqX7R)zAprZ|yT&4`dw^b7U6`%1)ovBYXgg=~#IW8m$ERxJG z-7yC%?n4a`>wD^lDzSFIo>y_}CA{jIl1nRHG*e#TRi+@3XCa|1Nbb@vM)LFZxpSnY zi~02u!A(C5DSLA{Q0%}V*-Y6@eG_H5huJbi2vm3jb;fR`{*ZoM=^*Q!#D2{QcUC-8pX2*s&j~4IB&p>)%4@NxkzJv5G*zMQl@ggI|I4*$Z z@_yrtFNw|-D!q=3EBtip3}>RzSC?Ij-s9$GJt{eBdYERB_y8b_wUx6RgTl-HzrT*vjC89A6% z?xy9yRB7R_mYVCwAHeHhp1sn~|COr`MQ-=dA!g|3EB{E&KX}>tvfrUb$(o_Eiy09k z{A0p_#})oY7m4&#$pmGi1%88EtzGj6|FJ;xtE^}AmOU6tFK89Fp}36;7IAsxS~))A z@FB>@P^^=$Q|oJRFKBKWpPH@^uHz8t5Xs@4+;Fq}Jw z4PSTtZ;RA=oU@nfuZGIG)^hF;c1RLBDXU6G5ENo%9FlaCDiTQ{zL$v8$U!oYvy2k2 z`0shfbzTK=node9X!k>LiA7`XxQI(E@xld&5Ov8wgCu35#BUMztz;k$3JU5p7G;A~ zgAC;~$WR`UDYsnoOrEMP2_d@pxOOEWxqmHFi8rWJ2W|z5SmF)2|bDwosR}LoCp-S1xcwQBq|1-XK>@RhPK^pyAIgRsM4|k^*+)$Rwr2 zYYtksvcTU;PBk@D`Xf^3FG~WI&7@EHMv^O1ej*0}_0ng;2dT41h(O;CH;?;7svAfj z;sOY!8b(Tk@fI+9&nsL~JtTru|9EBJabt)2TKlaZw{t_<+U=WTR!1i%&rM0zEZDR@ zZRZ*zMTs>$pUNi%+NC_bVbg)b)`!M#3>p_Vadbq+dQUz9?;8#i&CB6_-Py7f{>Mh-YqMs|I(?2%|r$;n6$B(?gw3jwfvsPBAl^PjuD|q$9Q)~3mT7>OK$NP=ZyI5c-&EoS zZEBoO-^?;i->_sE(I+#)pid^PT%U{~7Vh(pv7p&2#XFV9!Eu%&^lo3|<;rH#49aHo z5F@pZ=$*uvS~VBA0G6XhNTRB(QYmF0(z$Rdq!keZg;h&u{cnNE&F%DGXMKwO8zGg z)`n_5vQ2qsXZ|sA0c>p2gxCO8z=ZUTN%-d55J3z&R@B3x{MYtHfuKo@bTna~dsY|RMK+-r; z<-)ww`p1|Dgpp6UO@_KSb!h+?Te#t)iSQ9D=Q_wslHg~Gy5taEQSkiLnhPsQB7Vo= ztMoCx4hbO};8Tfv`xIYLV*OsenMCYGEW$WDxm1x45f;Ql07o6e=V6i!I0tZHN7YhA zusl|+w<}5Fsjt?v5cY)}Ux(6>qCNmQu#}G@hC`gCx}qqYshlM9Lt#id^VC=+BPm&? z9epVj8OvrQMT0|WeI+uafR>#!zTh2R1>PuiMHLW#PU_)?C?Gc^?I;I9uLUHB71o9b znve)ku2QUg3NcjFo1rkMHvvOQVWtrDOqVCBxdPN3Rbq`0M};yaBI;x6k|ads&9zil z)GoZEz(RUyf6DbFg`+~z4OTDYmIc3}JxD11<8;)Fp&5i=YD1e@a|H+0%hfUzpwtd~ zVsb#s5#D@(OfjXrBphiibV!LD zK{{YjjZ58ybs4Y({>x(lm7R-KbvzBTBnt#uX>b5RT0rO|9Kr;XqMw1Jdvl+aCBDz){0(uAT%hW7KU}fVkp4vp zokz-r)&7$FM!i-oP$>{>gCiP(B0U?uoGP`Gf(B@iDD~YviBO@^6$lR{qS#B!AwFlx z1La&nDa4|de5i=;vyd35*$STGyo5M0s8mEpa;Ufa3MpU-gobT6j~LE6$Lpp^ZxINFC#>u8_AFR05Ed)G`t%cuuTy%8OP}!G@+g zSQ#BDBv(WJ)w;5&_yTDus#lpKM|=cJ$e5zfA@u|&0bxje3p5CoU1D9e#y%_aFp}`p zHqbm|EvK^Cks(v$M`*CBRsLhXNbCJILelm%5cucXGYm$0Nc5_WH8_T=t-*O#Zz=D~ zLlpw=i*r0EfE9;N=tl6>c=Oaz!7I*T)Yg{P=O~%r<4e2}IfAUR+HinVxkq0Jf_C5# z3)eudf34*4jfi~9(|})+qE=s@M>Krum*)bjif-f!wM@v#ln-fPqP49t8riUREPizHVOm8Rh<{AU( zP!I&S1Nne!Y5kHUuo$o=Jev@t5j>Y9(N5^rWI!f-14scOD;2>Sq34$*O-3-{P|5dk z1&DwPE4A}Rzp#QIA*}a1Ft-(+$dE(Eo1>&JTOlE(Fxq2aB{6|9Pp0SUv2au%*1y&# zb7pFgDvOC=x(vnzFfI^`dUm23den#qeKL#&za^51>Jo`yTapN4qQO`OW0_$55 zB_77ra(#LceqZ8C)1?Z0`QXb3Up~SYi!T;mEcxOJitzgqKT8gCEX=WA;`vy?#TH+- z__8Hm*NWuVzQlLJQIa7@!x{;Z5L=4mTcqLn60X4SGa9rs`HK3o9KI{yP| zAn}udkS~BQpVDO5mBy6h!A}4BYvL6(XD+{tTyRjc@;&S|60|Osu@Taix2O_NEN++~ z)+PG(Lae1MVr31nHYsUMV)gkdsgg$e*F^GlJ{{>J zK)#HBqrXfnSdyDkme>r$nb>eC7mK_JxyY9dy9NtINo(AxCe2yW8qF!RVJ@otnn<6{ z4^dWB6=`xq4eOI_{QkUe3OOuHk890+G z%#}@ssNjay&LuTh9uWy3pnwp6xjlrn7?MDw{172I&@AwZ1y%-oLkuV6XzPMfB%ZKb zpRoMO@`KA4FW&uV8X5VrnK76^cCM{sNiSb+$_60N&vM)?bI1>|7 z{p;$dEol`)(Ud(knp!~RQhK@rolNg#6ifrA71NuU#;j$oF~y>qqNbt<(InA!(FM^T zVx_pYxSlvfJVl%+J}rjy1PPA!NfIRUBx#b}l8chZQnA!XY9ehUwUgRQ{iVUuSm`g) zz0w2H6VfZv8`4iQ6PZ@lNH$(JO}0RmDmy4UFZ*5gTK2`r*hpz)ZB)mosZmR#_C{_- zi;b2W?KRRHi;azq6~@(!t&H7`gN?@<&oo|Wyw-S=aklY(jqk|KW-XwgKCp9m%G!OW7=TE4!P$#y(;{n9wE?6BCo>CY?;Wn+!4; zVG?T+Z!*nfw#f>UttPo9yG+iQTs664^3gtz*0nHKFjmx1s1#a7BSi~EONEPKfWlibN)e-& zs7O%EQ7lv}Q><2`D>f;%D~>9DS3Fa^RQ#bRGqW&Ln>8`BH*+#;Yu3@MtJy%a!Db`P z!p&mLCYvRg%`%&Bw!$paEXQoO*>ST|X6McBnmsmqYo<4+%*Ey==H}*B<|=a=^ZMqF z=3UHtn-4JeF&|_;!aUeK%6x+PO!N8XOU>7sXPR#|&oe#HEo`AzeC=C8~@Sx^=- z3sZ~g7Agy^MSTl93ulY27VZ{9EJ7?IEyi0USj@JVZ;@)T++vNzCW{=4{T4?oj$53w zxb$yIWf4TOXckCWt{?#?sRi}BKWTam`3SurcG`D;uS%BXi>2PfM^6~4>Je>_S|$^u zmgT#0(kq3zNB3(MN?AT>lC2ld-~#YcWx|Ps>gphzkjM zfrB$3V$Z0)Eja{o-$6vlUS#*9! zcEac!Ek8u&9~v}qq>4QV(ItF1G~AhRZHuqu?%Av1^7sfl4ktoo6DEXC4?+BWpWyg< zqbpDTJf0mJwncmPvLtV$d!CaDo5q%WHGYhiJ$+W`f9g@_Gl+}3bFtVUV_5sMjNyXc zCI3>AG0P=cVf%Hw6q1HIa&_cwdDmFqn8DFL*kq0=h&vdQ--hd26M8SXF{K?PtmvH; zXDTh^W-QH1-LrTXxl=GQ)qiQg34TUR&P@8aq%O{QN<&M{l6_`-C3_;0X~*IVrxkc| zAvHToJ@}9W?|83iUO3F3TsZq^a^WbwSxw$p%KmAkhxEa7*!f!ehF^*+yM=E`TS?gp zonC@MFMl<`~0AdgvI&(K~PP5xHZ?LsBp!qeVW)}$-j~`EW_!ZD#z#&e>_IV zimq^N)tqrNuKA@aS%;2k249u@JDRSvER?z**dMZO2#aG<Lj-N1NylQm(>J8d1yt^`X>2KlI>#{aTnl2$QHJ~(vD&>`932ek@8 zq0B+^i8v0HO!VZK`#>OSPt5NQEP_Iry^Fd)gs3|d${aK&dTbWCs9COaNu6%$kx`RJ z%+Rb430MX>Ck7?ie0kSnl^+CM36BB``V1NcO$phf4=jPEge96JgQf&ldGFNOKmT+) z>Fn&*zh1pleeP+`ibEr}Ub(tyLw5G2ah z`rp=HU3&$>>ejig@3gLaM!TBaU_MRBhY-B0E#*VL)+HBH4|CllT!b{A?}n|=YMqsV z?Ifd)U7cK{;_M&X;Hqm`x`SNA(p>X9T=UD2XG5;cUGMv9@2@M$fyo&J@=f^U`4q%*H_tU zQ{PQztqb>VE4s8Rz%wvzlz*rOXWw`5zRLPfU9qcbd;i*-N8bCoXG21O<&7iRdyf=Z ze`x<3C;{u#tA5Wtg9}1&Y2Wg3&oTW5J6kJ?aXO3(1$QrlB)vOQc1i5Gg%K*AYSxFB z4A?Y0Ct5pO#{M=_ex$qPs-zNx$Y?yA`D zMAW)nKfS_j(I+3@^f;J z9vr=W@XQ%0$ul(z&+j~RF58Gr=r3n0)L=iCvZJD6LPlE$WRBYqj}~C(4wAEvu#~g- z<7&f6#Kky?n1+LhZfzsUDMW?x1yOcZAs)Mz)D>FJo}-@H4Tb`}gXeDFJ_xa*gL}8r zvVvauc5m3ZFSzg`&f^7r2UI!+RkNr?Sa=9Dt#J6bgyspAT+lNX9(5I}pUE_uEbZ|4u`46SEe=$*>O9=VPn(RPHvm$qUT`N~CX7d4 z>MLi7PD8tw>_~%#)LrOdQu&aOF+-u0r+h0>aRL&LgA#_$)>!JHJGgX${H5rM)eCN~ z^z?MjBIz_niv7IPC4RW%nDjSp_yNvIvOt>DFOj#v$@RT2OX~6_vJQOe*v1&sBj38< zZe1NY>#BZmP|ogNx$3yQukSE&s`op+UWF6E(Kr!|w)e+@AK`=xE~qJSaXkPBg3NK! zr5O$cnezdfV^&;;M;r}lQZ*kznrR2Vy(2H-YeFnB8mzsBka68HeQhQAO>&O)l)0d=XpBx(3sq>&9d#$~cy|CoO#xvFh zL$=ge$hpXmC1+h%E1-vybGW2tXRe(VV;#-P_*UcXhSalecg*v0!Tv3|8^K~N^_HBK z^2uB^Wx?J}(88?YX<1l!*n}~vfT#>eu7b=y$alu|I->1@=|C~8nrE6GiHBroybpH9x%O7Kq{5eC3$MZcX8P8x1@f@4jM%MO$VA_o zf$u_mr{i1kfSha(pBR%kWTuhN9hpKIGgPv9nw%wCW*pdZg?rhZ3`%0Qbs`G)vOAS4 z+}oNK9=F?9#nSp(5QBEM}If}U{8-dqfTk}i=!s2*|K@vTB!V;7!f{x669&DR!^TIs1{+* zo-eqMdyXzQI12YW=dftsBb)301Py6$r}NY%M}9~ffz=j^V&VZRPn=7Bo8gwGFoO#}* zhn&LtdGPVB1BZut4cHf!zi8pyd5bhD-TeJpg&L6)Fm@cyE7)N#*`V5EX?qBFVawO} zvEP9?u3<}w#ZuPeS@H_X?<;m@ z#=r*FFMHI11KGLxheCG@84?;iNCR#JL(oOFqH^5n1i=VvGFE1&ve!Z|0y>MF_ae)K zQg&*rb!=>6MHd;2E}}_rlc0|n#NU_r9>k>lOFYdg?@O_^CV@m11<`#tbs8Fg2$sxA z%RP{(CF8b^3zf0uaur<4rTHiV$Km!op%=Sg7|Sl-pGv8^e-43_gra z-(g)aXggVYdd-Tk3c;d|-$O}e|2{~r|5=H>^cAVElWiSz86VA)oYWw7b zIs1I`vxt4ib-*pAcPuu~k*8Pcg-%43jKwFGYbl?pW%UU(7mM>Du`J|^-chsDIg!Lp%BFEP zYBqb@pra}_JmTme75EQucZMC~T(V<4JzvsF*fEAzXLUZ5)fHnXo(OS0Ea&)JL0a}v z&8Q;DxS)~o?ke7-0Xs;I#Xv+6qrP%A>Iz4zxu8=494b-2V?J5%T#OpQYA7Ta30RsZ zoRVUdr_(p2Zz?zW0WBS3r^%ih9K0t&ldEZLA@FXNmjTe;|ZwB#igT?qzqj9P(R z`l2G-7-t{STrSSC3bT&^8>z7(kfOLvTRWme(XZD*i>Ru#tx?CLWs^oSA%+_aPOFT?!ny zz^*KdJpsKPYgqinA{`e-8XCN2dT3~L?3mG+aoJi0(czV<^^vlWgu4_~Oyio@Ac!{u zzM^4)nf0Ht*kPtv32!20j}|Qy#MQ=*9fCSsK=8_h8$$4ES*Gex+Ngf6qeDkbV6o($ z!d|9#-+lRzbA+hxU)hRnXsi@p;+;`wXClTdI-m22!?>#kHuhRTlwM+7(?14-v{k*6 zZ4Q0rtgtNw;)4qtIMRO3N+0-!m2n;KN-oIwj&0CIy@dTFY-dVIo=D&8 zA3TO~PC!}7Cy=rQ0QFGs)9;m&F$B?&w7s^oc|S~LhFttTWPkFLNQF^}Ld$jkDc8M$dEcMzz`}q3kpf@H)A*;SBJTvd?a@ET+Zk=! z0j920Bbb~7TyF#{S5tL=%In{k=pWnKP@Pa~E|de+0KKOx)dk-!KiG9Ew>wScQ{-nx zUBweZjia7odH*=|J22k|(1$tz_YPD)$_y26s zqXxjWCZ5q{xZxz!gc~)CnvSP8wT3!FZKO5}zs*!0wH4+E)CKAj1+mxv!Y!*j+?M|! zTsk$2nnR^inb@+JMXjO^Q}d|})OISF%0am&!#oFWv#2N3N@^{&941frNTPm$-&Ml* zEcj`GocE$^QJW#45CdUuK-o|u@#}-H0IE4TW20C-I9zZIN#` zgmOchbON+SJ#|MrZA9F)P`{n1hSYFS1~bI3!S4vQ1hu*bW{nVnylYXl%AVl)M0KWo zsXwW?LaY5jU8Az7htvu@uTi%TQMT7;tr;+R*$6s`;4x(V)E z;raxAmr{@LoDlr)6#V!ijd$4csRtiR(OMU%vxwy$LTwT1iPY69xDdD>Rz+jQqn|OwVyrQvEGSD#N!36PQlYlA zl#RcCSPWGtz%zmV(LvPj0=y9z7(SM|C&1SuBO=48F9gz5aFl-_Eft`7L~M8zZ7o2X zNWAEV0a8W}-52+%ni@zWgy*gHBjBAE6O;E?EOojn~Ozz{$OIzoUkfR6Me0Zs#S zqLTzTFFH0Lnobqqis;y}(eye2ZWQVQ=uqWN3pHeb5|m$z8jzw6D7>qF(Wn&?l0cDA zmxQ(ZZlYmF+zrr7FdHDjI9k9vF>16L>a;p+s+wuE3h|>5ivcY}-v|^N0ag=}jpS-# zXFyA_g8+L1Ru^|6&=9H;GDroOkM<_-8laKRpn^Ry5)A?k9Zf}1lQ5E}P|K)wprAR_ zUeNd=VD>f87=qczgXjy>vGHVj+3TL2Z!tIpNK~?@Iw=XzGLEO^-DAU~COBFiz!f zxAJ$0;4Wf7ni`tgI-3)1q?-;(t$i1Wk z>=dXIYsv`&9KwCheY!dWYNqr$C`V`V(BsC?PN;_q_FDuxX3%-a+4qFqd z6{x!e?`r5h8mhj?6#ezChy^SbSpYr~sQ{me%mCjYKXPD~6;)fL#P?m1C1A0r7T_aM zjh}oN3qB-*5A=2BiAVRQv4e1A9go~r5QK=X)Hc~slcYt;vtv>Ky zCYVN5nn2B%M}pndO1mwUrt_7i(h3uyY9v)k49Z60Lrqd9gt9S@2$f^L3T~irhO`KU zEB8ON(hfAP+%B=wj!?F*s6$%x4rQt);1q?rVZ<(!g6Yb1W4bdvn4U~89FXY4^kw=n z?#uwjjp+{`*6`7aY0Wq@ZJ4%9JH~}+&valqGF=!~rW4Z{@hLDCBW}EDam~uOD{M4X zY#6bP80{%G^h!exz)3RRj1M!A@n!s&LCj!g2s4x!#tdghF#b#c6UdBYf`GrHm=GqE z8O@Ag!kBO-f{A3tGUF&lGzs~$W>idVM$Kp#En~yfVd^sVn1)OvrasdEK78S$G1G*x zWtuW}Of#lA(}K}4_KXwLl5t=hQ7apPE3{}UYM1;oqI;nBHJF-=6~1YF-=Jz?tjM8r z=^gY=dKbN$&ZGCxd+B}juk?QU0DX`?MCa3o=_7OjeUvVwk1?K16zNI``zvKkAE!^y zMf6FGF{kM>^jRhvZlpDKm1V-mE^0`X^8Z_<|Bv#5n))gIafZ?{)k!{?Xr>l(kGao0 zWF9k5ndi()<~8${dB=QUJ~E$~Zz4)07D+`$BDu&!q!5{ls)?$LtZ;zFS{Mm;2tC9O zTzm&`pFZdz5ukKQ=ppOCspWyn5$yBENXsyTG15waZ>`W`jp^$!cLQdrm?rcMn7aeV zYBRRj5Hp{S{ zu>xbxM8r}XTum|Je8fCKyf2tn%p2wp<~{Q#^NIP&l!4okh-4yT5i2qknTae!mLjF7 zhNu>yw3LWGPhSHjKcF8{a=HvdmI=uxLsF%gu1r6n=ff-l1w$>iVqDR=l9*(S6b2sy z;DeZ2F&zzlMRiagWL&5X?vSF5Xk*HnPN&oH4S$C8kcOJE{IBzkI;20-90QtKybe_lb>0ADL?g@~ zo1pHSQg&1`%(T!3sBH(##hg%h|ZasPGc2~HTwOiE{{QATJ%6QKn`!;yR7 z8rtu#qXI?*VPyC(aRzvR3dK(j-YE44p7}c`Ebs(qnF<~nbP{a=zA)TBY7Es-fUUyE zgpZ-R3$Sl==%gUZLx4Vr+rTlA_9NWnU%%;cA5yGsQ0NmB_)T;4j=E?&2aNMwgd8%$ zcu(>`qwffBQSb71is3CW@cFbPfRd7dLsEp9cEukpJxocyUHQ71A||o$E|6YBY$m{h z*6_X#zpVeIH%aS%FTLU5YtLc+egmBCW0dwCzCQ!68LEgj!cRe02X@;C_C;{RLpP-D zXb0LEhc&y>y=iyahaQ3_fDWM}=oqSioij}tsRpEXd}R30<;xicLDYjU>^ZC6<}upx)4Ym70eC-Y%9PP4Cb=5PB6C=U^@Y} zCTUTNnOku65z@^U%xwj88uJA94uYTMg8d-o1pIFo%t`@vWC(3^5&U-$piY2Z0(26f z5#j#nMuNGy0GkQ0ivV+(y>M+Ivk-oh>E$_p`SrmVw+^c~TfwF8#fnlPzE5Gkbp>zo+``JxI>A(kvG6ra zA3%ejQs1z;Ag5l_=F|t;3S9REx-RVDlWvUl1t+++MaWZhC)jkS`;r)F584Xv`?N1T z3^TG*vWX z7N94A)JnnJNq{W`SYLpx1?V6^Zvi?9u&n^=mZ=c)AY!K8meqhcLNL!QYY6iZ0;w~C z&o}`#6Chh=2G{n2xtjnT1?Vb3X91oTVrW9l)O5inQh>%nSV}OTA%2(xOac6mIUE@W z6rj?EStDwN23JFGWM%@EGAjVr5*ua(lO}{P;7fgks*msnOtA*mIAAR4fL~W|pY8}{ zz@4}7hu8#ILx8^saFzgv3vjUjF~-9uC^4XhK@5mppwPet3V1>Nue?cG|9k0)g#Knt zYOB0|5=v)B_)I{;Inn~3X5h~5Vg-zt3@cz*5(D2~TUY^W1zXIk39lxsrCQ+BDnJP85P3oD%nbI;QEm0E*t1%2s+p{`j zsidhw#8^uxoxfDxR0_hCh_ObT=BXQ?v#VlLJ3}+AHnu{@(;w5fXettm96?kJe!^Cn zu1=N6#MLiOm^g2pWuv}U4L)Bs{ONCERRH$d@s0cfoUJ-%K?OW?w z5(n0@xoenzbhM45jeBfBSZJV)dsHa+z=<}lK~XWG!J&cvF`zrZX*s@K_HiQ1>GcbL9)iPt(Ni=;vrJFv7nLeF5J;ZO_ z2UQAPJ{}E&?)Nr-^zZU6wphNXXn{@S3N!uodc(&yX_a+4>DkUzHfKFI z%zD=T@RU{G>UVRz6Q_J*mN9N*-=OBxL%MBZL_nvi*+Y|vkgtP%t2Mo7*O2O8-SX~6 zzEo~8bKakgYmZ885x@7um*RKNe>tRH7-qM5z`5ufSp}Z&+^#h&h@%HiPaRh0{iU5{ z&wi`pdp@+rqpr2r)au%1&X7B6C^Mh=%*rFMg$KU=FvJY;8Lnz%j$ExZTH*NuYSgg zr6FCS*0&9LIA-p;y3IbWa9dTByZdq4HkZan>OHs~mG!~gb5zdw+yMgaWKMsin|@zs zg0iVCX}V0z;533G`O=E*bhf(2X${lrC)Ev!i5c6rMT@|wu;y{-*U>0q^T5dP7T7pw z7UL?@RTfk;UtGLezasltq{p2oU{y80F0Iy$LldAyN<(PMvzSf?Pd znUUDUB1Se%ry<`KVvv_COPz(i88Apd1gV#2XZvQ3IyG@ufRU`8x9|O&UJXY)3wjxy zbLX=2`6B~UBY(m-Q6g3XH7m9@+Bad3(Vo*$;rogU6e~8iJf3{|_s`+)`&jc=OPZ~u z)?IqGdhUac`E90|1fQ238nVJ`m)z!V`xF^;Zj^Dxw0Mu_3emMOlZqrYU!U6E zC0=H?sl8F~9qP^3rRwMpQ7e}0w79nLj|DHce_S@eM@tItsTC6%A9}a>W<784O)3$pZ*11^f-Ra%DZTfBei}hp6}7!mAf6@ z)6_oerz+D;pIfE74C-vJ)LD`iFtRim7!(~76cu6P>OVHfzPhd&v6fk~U1OsH{3GH* z!@`0pnoDje^$PJH9}{F>-q~2o>IRD+slUBeXixNWt8!=3)uJmpxuI|C(35pe-}^TC zbgUQ@{znK(B3-v?t&ou*kv5|+PRbdAQCrUJ$~t%6CRaXX&i2`{@ABN<7auh{GRi+c zb7bvX2TRU4Zkwr_<2!ZU?J;*-tus4v>GgyU<2O!?bUCsl*YrTh$FQYm@;#bu>)HO( z-m620tC;m)T8zz+WvbXEw(;=RG2c)_SoDyvxDs&p;q0Mj%#|+d zXTJ10Dvvn+?L_ap`(+l(>&D;i(CCt8!t3?+r{6!VTkH1m-921aSr1RsEP6cb)7$v> zQ?>=r3qSQ^@BLQSXY()TbCTn7-X1Xh^KrkMX?#dpPW5)XXCFOSPEc;^rr-E4dp*G& z0~s>XNzwVi(CRu9JFU1a#{5=kPH7HFx_?BB47gGiRa`p@q={gvy1`F$=?4l!OF@_5 z$wCaw%&MiUQGwqgOA}BSAewVC`(`a2tF}J|E;7{i9#ittx3Ft%`#BR=HeGfkaXWpj zcHi?mQhXzdjhbW*J9TD>pK0%+E05w*Ln8t z=g*f@-!6JDbF2URmPT%qa`yRm{?qotv(q<+-96ZJR);-n_uPCiu9N5Ih zL8ohFQ{mIVbYcwd9vNlhZ{Q^-1&y?cjSj+|dDukzZaP;IR%Gc?5ya*{<4ei--V$B^ zpOb{#`bI`gCbe8Q!er~SKJDD@#2<3$R{LPn``?-{B?FBzN6u0<`t&~gl>MBcb)VaA z-PmRKLj8X4eLMH{+5K(dRN27Sf4JTb4p91E9ATPuhm?UY4(Vo$>RU)$mEv zg{t+hKBX@%bnJD*HE^^?pWhcgA3LDmr8%LKPmcY(`%bl(+mna(@wvS0h;n@Tj*l4) zKIGO;9aZzmN2&OaMf)F9kMFkKQ>%-?h)Z8@t%Cmb!MQ zvoZB+)md`0`nT=29w!%G7592PKd?u#OX!TV-+JUXo!bAzFFA^}S1!30jEa6#-Dv8Q zj_ad;b(CKm+R*wbU^8@JGt%lN z+5DrvJvPwaQRvG*ciZ+P3L9}N3Xnx)EOJ!jkJ*Te7VJn& z{~fPXWkyy`lQPdw(QqeY=l6W(2A`whhrWICtovd`#`aZH$7*&jXxHsg z(l7S6!u#@0?$ef?um7P_vAE;IpbJiQ{gp3+$Bz8{eZ-$ znmkpn9p`)J+`WKL4&1`A!@KSn^Tzr}*6 zvHmuoAND%?=9o$gG@-#?Xo73xNX#<8^^!@31Ev(;Cm3z)zf(G33_dF<-Q^#P1;&-c zZ)7QV^$!aTj*N;3^|!YWdIcCJBTxSbo8FPpLH6}@b%;NCb?eR}BLk4`L@-z=4Cc}0 z6Oy2j_SJOeLP@I|drcf01UeTHW8XpNBG_5B>>4^MG{!&7rdQWWvewL|Uua-dWOQV3 zjEyJ2c>ky%8y{q3q+!M#=TMQb=$|G0FG=3MLJQBKjWhf&i?573?9!&gpaMJ#+dc~HKkEm4W;DFy_bE`$ES`|^#A>gsv>$H@0L>i_G2)x)ep)tBFny4sj~Y_jlG{Eb1U zCXD$M_tL?&II82SsL=V8*YC#sx?3*_?{9Ivk{Z){-*I~3BVC{Dot=CKj<~jP#-DRv z735!a?H^>(F-louSoW>5agtq4)~zv}ko@dTpEapj=hLmfE;L$~T|x3Dqo&4Vv4xO4 zVOI46<-(Mv6LHdt+vu<~lIECZpVXp)_(cagHX}&Z>@V{zS5H@ilRyi*k{E2n?R5n0 z*%3)S=_GwOT2@2!ACbVn;f_SQag~IR76<79|IJxjyNXac=5I>lAL{=j<*QPfpeUV| zl%}4zrp{_w^@}UFyqw(dW1rIt7G8fRY52#Z-#4vA?=d!%u?wb>m==o7G3ori8m1Bp zOe2;(%YGs-!hCOQh<|?WT@U8?g3cSJL?*90{B8f)ePiAfItQr&?7QAxo!!Rq$gHJh zVN}V1rAyOR4}R8P+f3wl|53)>z-xz|G>xGrH_M`8THPL&x^lICa*h2*?mG8ksG+Y)q?smwzO9RTBi*G$w>^}OkL9WqmleK4bOU{@~ zz1wcujd~gKt5yx}nB2O3*Fm&rwf4&;kCL0KY|T5&+qqoTx%n0?-6FD=@tv@JO)n(e zXmRJ;-%`-C*n3d%0TXq$0r+3&91fL+vc@X zmVRzE#{7EhbX|ftB;jn+Sj~C0(Y)f&rJGu3u9-aT{>le$TlX7&pDfS#hE8G62%|RnL6d@ z-4e+mRnIk{&kC|!Tsl)7ikCe(@p$RDYu@xps$uU=E_>1&ZZX*uK5fCG29qxy=~(+! zi)CM)%pPB~$7k21c3wJ9RdIk*ndZ{RK}#CXdeXOs+tk5dvzDw(C_ev3R_q^tC_ndj zrmq!sqq&py#=K2^r{*8*Z_<9?d)>8-trlFH7I(c?^9|>xIyIY9L5jbD6n_yGCVrk= zjx|uwP~9k9(2o?<=RaT~Z7awg!{{{D|Cr$ftMTK)7N(v5>l~&q=rq$|DK)K8T7#qt zzVt6c4dJ+(jcO?jH2)o6Dy+#h5L@Z0SJaP)sWgdDzsQP(7~FFfCf)X!bi)EOGV==V ztDk$HUdOOVKI_`hA=YBfdXY)w2oAVYQKX}gM zN%o|)x(UTSoO?G5yOc1_I{x+8Ej!=!e{5#r`9(SGTg-}H^=D0QSbK5x9y|I5&O4ay zbfu`AU;On`z=-#*ztmW{OX0OW$R9O#?2hOCVTOh z?QfPG7<#IXXJMjeU~V;2_t_Sz_Ff*#QtZ~WPqj8$C24+g$%dYbFWV=I%`h6U4305O zKdt+}lLKeW|1z`qzEhSqeFYHDxO}s$F>NmsVZjD_ZMs^OJ6Ogddy^_0gjiR*$`@;| zz`FQ%{z9p%Tjk4yEOn-vPg9U-r9a`*$%43zuHN^^#r9Z^UfSL?s^sg@UNVn1-R>IC zbb6b+uR+zZ7ORNjM4C#~)%f;@v_~!HUiF$e#DBZuJ;P6*YPtDckG2o$4GhsGj7~mG z*>zeVN-8<*pMGW0yW8$#E&SJ?X`9hwch}544mmdUr)+)Qt7wNvuF4x5zy71|gNzsT zY#jQX;X{@hXI~$Y96R;Vp1wteFUmgbnKf&`>A3C}Cdg{pWzIcoU94<$wZ+=I(c6O` zecRvrOZUMqVg~6v%1+d1&A&Rfy@T8D&L{OFXvd^}Yb}e|nG^Ni;r=Fh&MRG>@9N1G z`FwlV>eiL!cTzg-ePzF_&Vv2nA9qTA4PWOwCfKu9gT@yU*XBe8B+n~q++7_k`Mhq* z-E67Fqyu+XTc0_v-|Tx=3PU(qs0;u%l@3kkjPo%?O6+%#S)c?p9(cf%L zRl%R3x|-i}BeG{JKV&rUq++YqSYmHRHk!y*lY^s!b4%wzf5CykCc|seZ6@B_Iy~q8 z{_#GA-_EtU_cIPmpO)JF?iR^IS!Uywt-rkO~e3nw}&p6M^%2(8vyAN!0e))Z~liPr47JY-hPHJRUt|rgdaO9TK4Q^>-lk(H>i+|a Clv%m} diff --git a/example/font/SourceSansPro-Black.otf b/example/font/SourceSansPro-Black.otf deleted file mode 100755 index 13338c22b5b10c678c960aef42aa3995ac238a7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98472 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%0Di9AI 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 LW7(w#;t2Ua82QPZ diff --git a/example/font/SourceSansPro-Bold.otf b/example/font/SourceSansPro-Bold.otf deleted file mode 100755 index 8998f3de6e545d65c4a7048dd56e678ae3bf4f38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104072 zcmdqK2Y6J~_9(v3nU>5+CS@2(!ps~(2}lSjBoKPa1Og!mDfBi;CIymAm{dYZD1wR? z5KuaT^o|s%DxxBy*b4}FK}8X}pgVX_{%f5*he;Igz3=|t?|a{SNoLMIyR5bL>U*D( z^z7_(VjvAfMJ6T0XW16ES^g~H>NXQXdM73)i(wspFC}EqD}=l|J}E0@(82)`UeJD( zkl^iul5EL6%X_^_xK3*5|MQ@X^sKW5hxQRJ8qNo;AC#4o@W;EIIcRSr#K$K+t9#VA z@@2_{a2e2lQeLUOeEd0UIU)Tn6XJcg$YIZyTq(~%+qdwEErJT&vlev$@9$|5Bi8^VFT+OeD!&{KBG5!g2)F+JsD9W8AN=+s{oG}qs7b23tRn4! zG}cE=T968NSwni01@5wz1d^BBWgVGB-glS1NDvq8E_)LnZkW3)kT%?CciA`K70%@@ z8%PIZEGq*-y>X1Y%n`wu?=JIDcDl=6r^{aH$PX9eOG?Dd;=-cJ3Nh1B;c!($WtOwbl?MatWffwE%bDOT z$&U<=h>q@qn$d@~Vk5M5!$zo2Pq6)Il!z@O9IlFDXPL-`XJla^BBD=`vog@J506(z-aj=Tz1q zO!P=TGWKP(~DhRk+|g-)0~sxvb6FANns!!)~yD27U>SW#JA zT2%tdEY>((CHXbQ`3^DPQ4PE-FLi*v0F*pu2`~|@ytvvS7N8cDyPT69d6gAmGKi{j z@Bx)FHn}y=<$%6mtB!&KXpl*<=b@Pu=gIOZDK0ClDhAYf0KBxc3Tz6@hRF_S0_fF9 zhg~diIp6>ib)s4nxIlS<%qeJ$HATgFMKU!NVyS%^h+nKIf=T5w4Jbt*Z~{Hc?XJo) z@E%3QeZ|DNK$R0gSAnL60kf*|LDj;#?>X@7946e&DwW`?Vko6A~$Sq_L1k~9=UYtby2Z~-`+6uX*Ckm&_vfhlPz*(vF1S-$#^WYl@Zd4&KO1)xrd1R+&8 zWGg8sE&&qmPn3yR^tkfDAb5wXb48a2k&kMW2P|>{?HG$tvns@js=OlP2+R{ToaqK2 zWHD7n7zV0P3>xM3WK0c32CxEb@S(A(~>9#qTknQt&>g$o72MxGJ4tAo3DNC8$G~2wG54l?(2uvI;B2Zrv2Oflacn zaY77%YFTlaUu{CR;%WcH1dz=%F|Wv82COLrg>#kK(HFX~8Xcyhip|-9swBuW8E6xMi)VLsZfn-I= zSIR+&K_E3nPLKg+F3f?s)w&r~G65O3%wZ{6Szr@lCowTSElIJD42P?NGvccAA**% ztfDt&43S;LGzTPGZc}MSJh&y7qBzB%0L3s8!dn$c#G^y#`NjKI1Oxu8+u&D~DCdqK z0LxKQAWJ5y%fBA`z}YGA?#Gg*jFTf9rnV1`AhL>KjCO|*haF9anlUZtr&cFb+My{MNC8v8tanf6AkL&{EJBcUMet9rv9&P zo5c@^G!>$wwjB6ZTq)aiC8S4SQBBOyZGY%&mgxB<7H zF2gJaqA6O3+a~}cAvys|FdkyWK#yGxqrgX@DzJcv(`He$M;AG_!JbIC+qD0TTyA13 z0OsPF^lffQkl=wOyK@RaBclWXmpUuKH#o}joi5-Uh|Zo52}orzoS>`uvn@f_+B`?O zY}WR?DP_(Y$fXJy%kO(aujSqWu+%)kBrZ>i78oPMrQhmlq6e{7!sca=OJO@$dv5C z={eaV^vH})%N`A@2QfZvv^X>+Eh$X2je?a}R+gBaDW(j|NKLUpT}oPFYEDv0+8{9j z#-*j>qHtJBHUP~|mxsDRrPyFxvIxW^4hG2a2`Q;5*`ve6~A4P-1$<=**NsgR{e6P&QPCiP@R)Nw#6} znM1>n!gQE&rYLs_2Py%EXd8ipvj)efri#dr`!K}8>8VN3JHZCj$HPjKkpmN#85kxe z#Se=ggfmd!VmJ2;JRCqy4YH-#GUHRj#H$nZN@#DI-&|Y++)2W=a+cAvrUB7yt)R z0FQ8vIlw~b3TnpaMX_KVw#jSw`w9WQaI~9oNw)Y@00?@K_Se4Q58RT$)lT;kN1?q0 z+Dl8aVDCxZ<|&CUfy}H7gOuGN?SPTDYurwjHUoQ>{9@< zC;_Os!0T`lBY%3qoT5nFe>9io^cTx~vIE9S;FTS?gmSS%c?#4y0o#8kJrO9xSy#f$ zP$oHWRt#q-FXUP!;J`DK5=twdbO&rMIKw&O7%U?{s-P8VE0%kQ|5v({0XV8;O-cfO ziDa-FDr!_E=v{BX-ksFQzv0kV(bjO8f>LO!1g$Lx3KD^$awsD`Oe6ny>byug%Ub@Q z(bPq@vKpDMMKG&B+l5Gyfm-CANYY?dr9i((LYrwxsLYT5+jYX1=m~zZfqP7&Ju}C- z6#x%vfCDa>1FQ$y5c&)B6ih2o(@_6W^Ax?!0{@f>=jpQaQKLPOQ=36RkM|&(N3Zi& z`kG@$Ye7pueJ_VHqX+$E3Dnfca%NVd^t3}u1+<~{RKuqj&h6k6N??o#Bhc1RC(yE! z!DfcbP!g zN{3@Mlu|)TiE?cgeE*#sM4%n5HC7($0B*U!51>{|lk3qF_mpS)e`1c^?(;YUEZGJ! z8wRl?6-tU`qht#~E==}{cUCm@-)ks(7beXv07)KrhKWGinj)07g#K zC$tPv{>G?_dRZ=e6y{%8q(J?}h>e} zmIt8MQs(9vi@NG?!)0;R0g$oXCBss0sRG)Wq%dwO@KI649B8fH}wae=!&-9)Gs0ZOgj({N)bH| zQlvF!;aYz^P4|!Y#W#-kerW7FKd4apmGcS}aw%{1_Nx3jm$r%(b zm&n|)%akFFC`*Lkp%l5NXm=U(KutnliJFXj#dbC)%s^3>QKOL`q8vex6P}qN#mL<} z=*Q-vU@Vg%v50|M-c;KaX;;WRKwU&_VBEo3VWdG{&3J@47q;cYuTuA~c)|2Q$(THI zYwGtIb=cNC`YC$DG#EL8yg=HS9FRMRyJ?0k0=-O&k;{MPts-rOxBreK59Tw&j`Tce zJmVu~$u&S5%FES+vx<}%f026RE$RevQ*`s2MRw#J&e3BD$N`q!Dc+;GrZ=S*VNV5k z#WIgDqhkJ#d7!3xgHSO(;|R2AW}$!1F&>nQAP1Z<3VE%}%no*34zpsq%i_MGe@@WN zD!`%8;_;En>@lV@tyOHpC`Iq2a7dvErG;9^VhMT&lp^-~t3;bxvG~BOd@#U4i$`3Y0Sd;v|BU;J zmqm+5Ey5Uxd{@>*jH}G!Q~*r$;fjthc`81Hnc_jj~6#f$Na<9Q5VP5` z`}*8ey74makRLAcpGXq@bfFBNMK{F2X5;{Dtd7O+LO8>Sj8??z(Wa0Kn7?Aafp${^ zZEV*C<-<78H145YqbElCu{To6>;Sd@&lwowfFi%Y=aq*8xKhi6bxaCG2VB2loDfMT z_$12Zq`$HovTiF9WO1|k z+;MjjJrin#q7^7>#fK>{|NZPyCmAM|7vZ^*15b13EVw>kWhOs`LQfuuqda*s>x)tF zL4FAPqVBWEfi_*zY_zhUp!C5g=z*=YvYE1V&;QzNnYU2ZbIR-$PN5wts|kg(hzsdO z-DEPZfSn0tH4-Vu>NJ=w+r?-eRsLS@Shj?k-rVCL6!heX9dWYN8?OA3Pe{w3{Sa~# zd*h1e&#{PE(ZBQCEMHaf0G5}coi$y9FuG7)xTmYkK1!bbe~ePxJ$rdb3){(HIWyBgrkx%h;OYS55Pla!f5gS)i=4#Xjt4?V|AW*bMm%ENL?3{9 zidPqf>6U?lr@R{G!A3d88pzf7R3`C8fIp_Eh<;njNWj$%0mp5H4DK^0DgTY|g0Pfc*F&RC$ zvKPbFrb_H+o+mJkMEzE@1V=KmN&Cmv~~tl z;dt|W^54zeGYX@Kg0*QD=jnl0#*`i&iT`y~!FKRiOjcI&%-^!vpf6>!WEPB(8Rd^& z614#L0?_i&W|-BXwXz)$lm=@-?}4`R?=+r4tpzXU0KGsdFx=>IrvMDxUqKDcm$N3% z3>E+D$qAVrJeVKiy%dpaC>OLL=C@F4 zOd1c$rm#QrnE!5##2}+4pe&ePAQn9L@LGvAXcuhfiCNx%vY&w%6h7nrKEu>p6aNll zQ}~L8HC;dazrRoR_d4OxqU`&toHP=De?LsQYV)8hgGm}~3ga)vf-;Z{^AU=ys-YG4 zXi<~U*Le8f)bso~`}uQLjpNX(DtQp+b1rCqOpz zU@$VFA6~&54K)ZG?=?u1&xS((G=PQLYa^p%95#T4_|gF%;vNRIc;ydqVm};#^T>g7 zEDwUZ1UJ4k7=?JTKdwhnW=Lr^)O)ZtrwSo6d`KDNOd`yI(Hsx3@!BxL8ZG0;9noyS ztI&y@LrUY}lL6nE(2Cb7b6^ynVQmf^GoT;4Zi$eQDx?i#w40(c5Mp`^jF#aQMMhEhLgc}~- zxqwr8#R>*KDa?Fv(Do}A;bN(vUqV!Y7{VNZ_c%E<*o<%mobIK;tlC&bNNgEPGg85*+9p9FJj&IF>26HeI z3$cQr+JRedPdbo}u$dPMmsh%whe%gYt!}{9?rkUsy z4+8^uj4UHBkn7|N@+G-Jz9QcciPLauPRn_5?KqJO;W}`=xp;0Mm%t@)iCigH!j*C5 zdLH}HPkJyj3586=J@B~No1d?0V+y?Ae4%j@{P{3Y%& za)DpRFX4T7Uv4$GhVRI?#3X3VD}&ME(g}`HB3> zb>$+t6mA&j;AU})xux7jZa+x#EAAVRM^An@Kbp6LR1fk;Vb(A5Z}M08&*9m2AC;fV zs0vnfP<2*?t0GmW%!%d{^DuLUInzAKJl4F{yup0J;%8}R>1gR{>0?Q;n(RgooEt+M2i>#56?u1(PD2gNt`N96YIrC#YN(Baih3d+$Qc84~U1wtjjoFcE1_sGZODrm^hgmU3r4=$C<;EH5E zY~c2B=eaMro1l*#J{;hWfUIBO&+r%cYbv7B0v`f_5A9W*?(<;~@F5-eFycNRd@Q1+ zgXJMhtR=xR#!_Nwuq?7HmHDs%_z)v*!`Dd5BFo&4Q=Ajk)96Cw9rg3k%y3AtAd zpXZ^VhEE#SC_neIL4TV3+?#OEcCY`vp7&16mF>YUElTsf-|yYM_shNS0oKiXH~x^W zcP8XIyuaakD1178@$MJzeDS){xB2n24?b&2$miio?X`=aP5o@=wf8?8O~|!V@Ok0d ziEFp6{e11mYd^r*SJ$pz`|R3*Yk}8%u6bWudu`>l%xkIFdR{$w^~BY~gj{_TKI^Y8 zzdH5m$gAmBx?V9~3BJDgb)s-4gW zJ`eg)J=LuC-}(7wKE0`bR(!3h2Y5R4l#hci3;}=nEqKZz@Oa1h0PvdMfge50NAc0% zJD=x6!K?kuNAi<-KmHkh6Tg{PfuBwVPdx&B^(gRAxcPuy?izWF-$T}u7ySYcW<={{IkgrK!auZU}JD}BfAsP4` zlBRo*g#AG>L9cT-6&cHUlX0A$jOPSWz_lQwIUOnFOr(fwNs75vWHQ&9lyPmzRL)AO zxb~!m>qusBT}Un0mCOXqnZbB~e>1!+-?vb;ZWEVG%?B>Rk16&?C$mNrxTroMu zO(yShbIE($Jn{iIpIqb?lB?WOGJt$X29oc=Z~p)Z{g05E{sd|B&ydjFf<*H+B%HrM zqWdc(bd(GsjbsAnLnd;*WD;i}cFvFFa{eTb3n2MiAaQU;Qpbgo>0D>Bf*VX$aw%jL zH-xO_hLSa0Dp|`7BkQ;{vXRRq&v02}6PHakb2(%SH-eny>d5Qdbn+%Qi=5}`3B0+5 zyv@xf?{IU-hui}433!i7+&{==ZV}%?j_@WqzU$>kFF;Pw5weL0zJl+~_u*^#6%g-V z=6Cb^z^k0+FUeUP80Wpikk35eha+kp{1#_qZ>VVcju5Qw_S+QlTM74DsSo+BjQ`E4 zYHXpFrr&MRR{h#>Nh2 zAw1$5C@q9i%g?I7O_E@XfN`(!Z}A`U zm-x^4uR(n&|2rtF9zt?k2*?jXTGC53K$WZ-rpi{0R!veBs>)PVsu`*|sz+4IRBKhw zsP?E1sZOX)t6o>Vt-7eXs`^Uxz3R3~QuAtWwZFQR+M@2L4pT>~d#mHsgVpKk5$bX3 zLUpOSMm;x@gXT9ar!{Cz+P2#E+K04}+FsfL+GOoeZKig#c9OPGTc)kjPS?)SKB8T$eM-Ad zyGgrOdsur?`?B_&_8slV+E2CDwcl!QY47NWPOB4it#wviCtWvP4_zN!f-Xguq07;Y z)8*+V>!#{zb+dHybc=N>b?bFIbo+HjbT8;$)xDwnPQ&`6)9W#>rC#g2wtDULI_&j=*K1zycwO}R%ec z_iNtocwg|o>V4DumiJw~T5r&|*0<9?q>s|~)+gzQ=||`%=!^6&{dE02{p0%O`t|y4 z`u+N&`qTP1^&jdl>p$1u)c>S!6ga_K2oQpW4nj8}Mi?NZ2${kp!70=U^Mrp0PYUaV zZNh%xnDCPDhVY^Asqn2J`DlIoecJf6^XcLf?bFxC<}=J^q>tTavQMqg0-vQmYkju( z?D0A5^PjBg*`c;7+3!+f)RNBd6nb@)#4o$6cT zJJWZr@1wqpeV_DQX5qwgOEwZY5aXD}Lq z45Fcfp{pUv5N8-@7-UE@j516#6d5WFGYkt1j~bpZtTb#g>@plM95b9Uyl!~M@Uh{l z;VZ-UhF=VS_-Xun{EU7wxGQTRn8Gdv99`k#` zZ>8VUep~(a_#N^);dk2ab-xe%F8O`w_nlv(-#vf5e}I2m|Mvdj{xSXo{RjDH`j7U{ z_n+cl?LX815&y;htNl0n@Ag0Ff875i|FiyY`+wwr#s7x?5B|ReZ~W0;K_i^0s8`82zWia)jXjKs@$jHBJoq1<>w?#4z`Ic*A`_F~5NV5#V23Dn=)n%L?9huH;@KgQ z9c=O;fsIRG;}Y1ogxGjzAv{k#CDEP-FD^;UD|W%lG73r@wTXFlK%bcJthDFBJ9;XU z#^|-l^xEzZW2hNf35=`+HavlmmB`3SWMm~WvJzu$jI2Q( zf(FTu2Q`HZ@1lwt5Q`UqN=h&yQ`|S#9oDPBO;R`8F7q-iHwCwjD<;zg-Hxn5`&f0D;-`J zQ6`T{Vq_$-!AWeejSaTp;0VyJOqs+?4~a1hPz)O!!v@FLvgCeQf8t6E0*#1@Wb=+? zuwxlvakgv^RJjg1GN`c(YOF0s7EBJCevT~h92dN5A?L50h?WUXLIwg~da^?tJ0!p% z(q?0vu*K#u5$4?IgpJW>W7usByNxjof>fBA#N#aC3}*=k zHp_UoTVQINz{Vx8aS3c(LQgy6K%PuYo`>>0St5D&smoU+6lsfKa3hlQWh-~cE%53c z^h)sBD)35<`@>{<5*S$tjI0DUJi%>EZoOq>B{H%Sdpa0dg&u+mWypn1A%m4i7kcQ5 zLQoMAv9gsHc}B`KL@~%w2}NM#@M;dQa(Gz*l8l2Q-IkKbC{0W#X87HQ@chZmz=1{g zoKgsHaw;o!lG~+>!=rVaonL>R;q+;TX&K_)3 zkGL{BzS0q1Qc>h^GJ2hV)p%w`?l9nXQ*MWl#271EL!?c%1~|ky?`wP#qbP|?p z5m(*kgpJW>V?@{(5jI9da%7Ec+cok8YdjOIQEY#j+&<0I0!Slmz1+hY(qtypVf z4eOMU9d4I7l9((PB5jGiltMgoV|)p>+u_fR%kIWyZ;A_EAO&K9P99utuLX6ol;DVR zQqbAlSmGm%XNl@S<035e#3%3ISO&kfFxQX*P z6B#nP6YPoUjT==I!=N~oaCkD`&Ws(7?v7~i?(xxy?s3t|G@_MhM8h;nDoX4XMd9`W zfKumhIm64#s!G9U%E!tYc3xQoenqY+fERhO0=!sHE>slPvLpD|GP&fy7X-*9cu5lL zBtx!rL&hUQmX9)IEXk1N0z$?DLY9v*WGperSdt-QL52(tQ>Gb@2w6VLkg+5~mJ0|O z3kX?0%8;?dAY(~}j0IH32svKCYedmjq9P;FR-z)KBJ7pndGK;L8F@ujIlPm~5spVh zE+1v&Sdx*;1w@VoL@pm?5l}$AiaSXj^KNJ>?QCvAo(c2E~{29mKPV76##cDr@_Do01pzX zEVh@xi!Y(N5+_vxug=9c%gK-xjl39$j)?Nq z$hct<>#315p6G}ko*Fs%iH?Z%)SxQ`1U)@9a%L1A(aTdK=NZuvah@8P?C6MiPmMf- z=!gVQje9bQo*J10(Gkh_Ya-b!WR^xm%PAhPl1)Tjd&3zcIf~I4<)Jf*(HZ5TGfHN3 zbhMjUys(SR?SXNv9@U#TGZ+aXxKj^o)u1;E{{XTikfCr3r0#>c%4%n~!nh!Imak!x9zbJWE|7m`%aUh9Lyy zIl|E+lwkmJm*ux<|4+XS+Vd8*|9!6%7xCrbZo-we}?Vs zews8*mSzcTSZ~)H)V9)g)Xs-Z=bhRE+9R;({GRrb_A_08u0&U^tI;jet<(Le`&IY5 z*D$XF*dTt)Yq8fxuY+DMdcEv*(_8Ir@b2!N1lzyW-ZNnPca!%%?<3x)z2DMv`u_Ss z`fU9Y*wo#rKLi`P@900#e=4*P+6l3O4YqGb2#*LGVB7XJ;h#dIkJ?A?WAq93>FhJy zXN=DrpCvx4d^Y-Q_u1`pz~=>@^RPwxkOR}F6(-Zxw{TsPb_{O+grYvtF)FUGI8U$Wm2*m51?H_BYrormcl~*PoqucpF8&d)&Dz^P1vXjpV3W1N zf4cu{{{{Yw{Gaq+0~@W|V5{|n|BL>w`M>G^32d|e>VFS5Spx!s0xSXT13Cx91SABc z2aF5I3z!@*HJ~=2K45;p!hj_Ks{@`6*cEUj;N^g~11<&pGvKR$9|CR%{1!+8wShvQ ze_(K+7}zy1DzIN*Lg3KA^uX*~v($@nU1`Xf^BeZQU>Wm;rmC>Gp&&SA^zM&lS?TlI zMJpC<+7d*AZ9hxxBtg=3mSQZl-3zAkPafPkUN6wE>rFI?`p_1%I9)F#O1_doDwc|= zuhfDjTB%VTo%tzkMO(gd@$)ZU?kBaBT4nW$vIUVKQi z?Zn}=hl5XTbWU7kl}6R{%4{Dbd_Yf|B)yF#ZBt8(4VD{yPQsHF==8#Lf#SD z!t#PyCmf|8K{qN&I-2z5mv`2d z?zUe3QgdYD;6vSmC7aaYd$T~rr%cc8*>QW7rH5|n)T-&l!9`W8cUgsxTQ>Hj{?aD; z5Oq;M$psTyMg8w~(+VmY)RGR-zD`d*`TVj|%TBaetX(>G`G_Y+zagD$O^0cz*By~| zG*6IToilh&@?2Y+1=?Bf!tePc`f6(_Kx>m;oi%7ya(yy1%y|cX-=2UCU9|%3KFqXk z`Ra9REDP2={pgk_e%zg5T*Z) zK2)kV?iKaM2{C$OSp<}`&Bh7BNi)zMYMk*Z%`h2HW|yffKK;nLV9H%PMYUVzZJM*%`pK_S z3QSC+|22$SUOM;m;S-jO8=BgRvbw_Hq2o?pyLR;Sd(Ui~Q?tqX)|Z++lSe(17A%=1 z-!Li8D)f9M<@(FVx9mS`S)>(4>(A4ND)qDzH6~Nh_^a62Y`lFc+-&@A;2 zsjkVnK~U8n1e z$4Yk5K>fBuL2nN|l$e%RJ${nqY>sB*x(#bL2k%%ved^?r8Dp)+8^d(xcGMM@y6Q?M zPhGvc!fK#S`cG4S*|yWCwr@RfV7qfJMj3}k9KWevGEz}ka<({GK0%&R;;SE8s6D? z{OmVDw7aA|Az3U^{qG{}OzSUcX@FF(5lqWuDUX~qH~&$K@pcc;gm+e+e)glF-7~jO zUuQ9xzJBKd`lIBJyLB5h0R7S1{lB(eQBN-4eM5M=CC$;&EZX8Wt)!Jwi|?heK%JI$ zzPrQJ7`07D`H#j*5mLm!9Jo1BFrC;91~GZpSj8Zyu@*Re@aW1-`>aK;Yi3kb%&!QZ zG(%hv^cI_aa%J>v(5NaVvIH!X>DlIgjno7V3PKDerEvemGxs(i6C zSnQH63Bz}d+go8>pcB3sX%>>|shW~6zolv+Ba-UpRny#CG>(Spjg=c)8V}_hd%y7K zVDQ1@1FHY$h|>uhtc!KV+PAkqd+K};RYjkdTJ;-RGJ3e>!${5EgL^g{4Ss%G*~C$W zxsuk}US~W+ExYrx#^e?c%Ne(Azr$+Sw`J>|y)WyFino;SvkDpYRG__Y(e8-v#>R^# z54yLg{>q3K8M+?<-7y*6xd)(|3h0U%x*LG5C~ItPIiTB$=u~@KHkN>)Jg23H8i#7W zxSKBd(^Wd@(A}XL;ZyTBG|nub{APgsq-q*2WNU6|!>Cpx8MVR!X#~}MMfLPa>Qi4M zpea5{{mer9kSm{dk!LxZrP;pmnRQ!&_id9XO($t`>L z3do-^df_|MMEkBEW?7GI-@A5K@QJ;y!HI<>6RkA2vD9=ZH*IgvU@1uQ6Q$Ww1@-O@ z-a+^6W!jns^@fS(XS*gATj@hjyz=}z!TS$ZS8TKzu040+{iW8y+9`AEswM_ctfRbn z>2qVR1q+(RS|LMEN5z}oSbl2#`JiKt9TLCDGHaOT`A1ea)CSen&lC31$4$VOZ95Jg zaPF|@-q0Vi(y;^dX{8VrcAP%@+Rp5ln3C*tt8h!NqS1PAoSn5oAN_e@#)hL9_0H>Q zH*m=(?I7&S^mAP|^XQ^HyJZ0cx!LDF)C&@K{%!ybZ4CH=>Y{e&UfA&TzBTI>JiOK- z9M+GWJVn170@|z1okt@$kGsvC$EmXodhpd6*;jXveYN5IW2Wp`uKbzxix$taOqGac z?$cWyJ`_xY4}VFCwQ;r-3c-SF42scCu5{Js%=Hqg8(UK!;n4OS2L;omDVkS4-+ht# z1W{q~#mvtweWqxR_I{>UR8VAP+yv0bV*S_P{!2DTg8N@c{Tn-jiw@nB^5gE!OO~zy z$DJzmtZpo%!xq*EFzsDCx3AfRF&T=xwyoK$gy*pziz(wB6DC?tx$HY^!9yk%<>p!! zXa#99U2=t{T;VqTLN&KlG>tAXUA^!Ig}Y??zY!bTf2hPs4WM2(Y22q}Z%#NOr)FKi@}6wmj0$18rG0UeUJBF-8{X9m zkeUYFfT`rr5#hgrE(e8+(g-Q%hD2zPm1@-)Wgk)y=Jt=yoY_85(ny-J_zbJztRB2i zr2f?f8yA@kTg^kX1rJx2P6(b*NxSJ6JvaD9uyD7&{!TAW8qk=cidkni3{1-#oVTfb zPX!uneHtXiBTfIL9oOw!cW})XBeK~sxnLHe--(%fi0P1Jt;1C5fl zX=togn$_5rj;1R$QjAs_DLt)uggz|`;HH_5X?fFZ;OIfxS+)8XQ{SWK^M44Y9p3zz z23i{jNuBTZ(e-eakC;4p!x5K7*#1t?sfl}Kj=!=%7*jZfb}*lW2t>PrmwQO)4LK3$ zMShuH*sFi_5QNt)`q4#G^n0f~Z#7)`?)B?e0%_?l-G4FO*ecXd(hC{p8`VPMaFD@p z^qwFyunUv%2KCoZPtd#~%hdGzUWnU8J4gQt;OMP8y)-?w((T`SX#@@g;{PG_R|!+* zn}r*@%t9}-Vdw7MTT8-eEAz)K!R=4i3SUOh;K=KN!gFuEzsM?lL`Cz2J(B-o%k+57 zD~I%kDRZZR`6()`RKv+%WxztZ@sBR3nN1PB_?k$1Xq7y33 zfgjU$!fX0h9)SqK(~-9zLxG!_XghuF0*l}@AGmE6&Y9!1LN%?Y-gGGS7HB^`XrhMd zbyCcnNz^zL?62)J*G8$qUo$P1RemMPMi?Ya29fWp-c7dY5-`Y0g&%%pFcCne3EvORpu$P zY2>rHFTAk-(2Fk?92_;ukvGy}xGCv1SG0yilbpXzIiaj?AhY|2w()7YO|w{c_i4IS z^QhJUPL>V?2e%s>_fb92x&!^ui-(S0e-d&GPH(uSI!srZZV7c;cFnhfq)f<#z~fXD zOnWwO+_}TGvA75}h)XtA?X?QkcZPqfrycZK;gHrgZ0;pTMKQ1<;bRow>PXC9BK= zL}&YCEA71G<>%j(qq9(xXO%K<(FwXMpyd6&)2liQQlL}5~?t$^k*SeqzNK9Ity5SKVR<_b$brEScDH0=z{ zsumh2-MTwTD{%7~KUE3!b)|(zg*%zlhZ72qjDYp$l$EZP+k!T%TfK49x*39MmRYz- z^%{U}NQTV>K_c1-|(g0N#R#tT_K1GNGM&M>Ou=y@utge5OLb0+9W!ERxO zYx>-2b<-_iSDUGcF0K)

Vgv3)EY0u+knN=(mHO7r@(oq%{^a>|Xlh3W5GguX6WD z8rW`oVXN9tnjj6|a9^K=ghkJ#+z2*oU9$42wZX!YHvrH}0(b5w6(q2m zXt#g7qX92d2TT?wOxQO?&`9mHLQ;nLeIRvnjWAMw64OP2wz@?}Ql1lZw9^I6Wu4Ti zzednLP2<36RZDRi0hR-_PPg=)eFJzz4ZpweLwoGJ_6O3>V=5L90h9tBhdkNeD zPT=2n?jhU)j_f1cqrUL07TjUXt%v2=|pYJmUnn&T~Hz@-pFmZV3eZtW)L2{}jjK#sf#&&~P5LssN1!iVVK`5?H-n|}!Y zGb-V`wuC#M;VyhWfshXgpQwSGqxlqXc&3Zb;^8?WeuSD_BIE)`;6I&yLin-XWEsah z3~;wJU#TKb624Xgk2b(v`}{0;Ooj0EEy-tuhet9#C;SRE+)~Z2<;XTdo+12tH7Vuz zO)*4ANPstg(G1Vc!Q*ozn1fAR{GX+h@OdV9j0qks#9PPX3Ea;Ow{64Q3*cD=xY-|G zdJFITfLpwIO5pKs@+g6)TzGgK&_&=83%H}6cysWC1UxoC#t|}sz*Bi-Jp7YZ0uM&P zvwCnFKRjdzk7JOXgug@J25_>9@V^mw9FLdqVIlr*PqL7}Q*H1lnkvRhHWGNG5&tD> zE`cY>RXGG6vQmw}2W(U$z2J=xs!1Ht!vFsya5p(wL&zoqPuy_>Rq#|G*-FTELY^in z7;7N}Zc?`rRUSvy61XW{16C z#UD~>VEa2*6``7`dQ`OqHoxCjbL#f$e(G$s9q#yEu6|Daq9y>gze_cBngyC|aF6!a z+E{I>Hb?8!&eN{dzN`I7=L`2$*TVhNyL4}R@m{fBC0@^Yz2nV!_keqxU-JG*pQhg< z_zD&w9JaCT!W?0>a7cJgcoXhAzU?FUwD*bgN%JZ2ndP(0=Y-EUzQJ%0@e<#|zTX%E z;V$58!z{xJ!#=|ohTr^J!?yBnzZd+@`+efC_V4H)m;NA%kU@Le` zKt;eKaJTKL02*is91!RT+z@y!@Oz`d*xhI|jxm-RR~e5O-!{?~0WD%%3~Mp1#g-Nq zP2r~DrWabaYB{v!{Fbk^(zhDlYF(>4t-G|I*m_;-SK6rCWVe~pW(6+AMyCU|M^v%#+iUkd)It=P7(ZB5(9+dkX&jkcee!_8yN^UP<>Us`xemSwhO zjpc;pidAO~wf45=SRK}C>mutj*5lR>tv`s~Vmon|I0+sDd=ei0+biB`m({MO-LiHE z+uaCh8!{kdX2_=@ciV@yAKpH+K` z?ONXTnXWs!z7Q4~mK(M>>}C7E$3*$x$Ps z3ZrI4t&Dm#>g#B~=%LYN(VzBk^qAk{P>)Yy{9-1=ER1Q4C9#pQ{bNgF55!)L{iUa& zXUCqKdcNB8YA>$W)Ltuk{SntDE;=qft~73X+#_)-=) zC$djNpN)Oq?CaaNPv5$}`}#`#a{A5gx4Pf6{od^Nd4FyHPW^}UFYf7+8(o=N$!w5GI?Y2^+A0H?HY7vaNc0Y zVAtRe2HzZfFU31WOj(w)D&<(p#S}UuaL7YL(uYhKvSi4yp*cg>4&68O`=LLk`lSY> zPE36w_36|fhxHjYc-Vqrj}F^DZ0E4Xw1?6TrmNFU>7CP^=~L6^razp%JpI-5_tQU5 zzn#HlBxelH7?UwBV@k%_jGYsh9( zL0Q>Z4`(gTT9fr+*7dBfvcAsxJ?mb!G24_KlAV-2BKwK#H?zOa(d9UDUe39kb7KTQ zqSc7>5mQF&A311b&B!yOyhqI#b!v3-81N z$L<|_Z0yTp&yT${_M5T4jw9n*j|&+WF|NA1oa5@o%^SC9-0E>V#yvak*tmDc zT^x6P+z;cu#+$~AKehj!8<|_2yDayU+*`T7Ug8TTwpDDykJei2ZbqxuN9e#>WXM_X7Rbnm6P9}GHlAG62Foqr7cSv zO0Sm1mGvp>S2mz*r8C62)cIri!t&pyu5)?0R#aFk##hX)SX%LVrBK9t=?Ycs9yv@Lbr>PFYq*X^!*x9-Mt z_4KjR7ffG1ec$wx(?6d6(~Pz=;%4N}czDLunZYwB&)hll$jlFBUY+^y=rb)@$lp)rZ#G>Wk~^>KE4Ut-nzJW&N)We1l&@w}##g6C36< zJkhYR;Z(zghU*Q#G~Ao*J-gfNl-V<9KQ;U0?DuAWHT(9Qpg9BQl+0N<=cPGs&iQE0 z&vS0i`E_pS+yQe(%`KR_bnXjtKbxnT7d~&yyqWXX&3ksu z57QX#`Wa&N)XNNed(W8K>DMl#S~}ns?LxJI^YyUc=pdAE&ZHYj7MRLZRuRC@xnB-;ljcLW?BaqcE;^6 z8%uhcjcb$jhQWvqme8tpX2Uw5ZYr#WMpJJG$_BYx7F~CluW&^R5$LSM(!}o2Z6#K(G?SI`SQgtJXa~Bvf#?4 zr7`EO!8EVdHQyPWJ$%j4QY#JIcNuc-#2~odnI!qh*E>_MOTN@vX6bnByCiA}e*Vz% z6`QPvZ5xgvQ%2B^Dq7jNYn{Fk_8Cl4C|#u)Xf{k9Y35!7QO5xK4zO(iJlPD}&U6y+ z(4{wgJj%>HtXH)+8>TFzR!RS^K5%a1+s1M_yd|}1>F7J61}+o!mtN5r_tz%PN~uZo zTA;0Yf7bch_xjRTTEni1;dL{&^3K*!v!S}d%sth3NcB`p8mT=?+pONRYWJFhur;+d zZ}sH0#cxP$TGL)yX)wJE7g;Z8q)6>Z$!}Katl}BDa9y(Y(9AtEc4Se%)>51nE?m8< zG0+e_M>BxXP`zQC%gpUiRqY-9fZ3rAYnhi7S`|4>9Ebr+6+SNGY z&6ZRLd$KEDoMg5iI97Ee_}8DlgO;#?-%CE@$HBi5v@ZTwLkGg9DGj~*s)AoGRKl=^(`RPk`~fRR0|8Fc^EiNyAOX zQ59z6%0w9X%!Z3*+7WPey1&g`1y>wrzwx2oFaz6g`}-(ve_v>}{e2X-zYSZ=+zPWQ zL~odR!CbEh<1)=VXqvqDVC{3V6#83@-_maJAc&EprxxYo-udO(CpD7K?|lJnM=c$s zh7KT*?OQJBt;Wl4nan_lAcb#H3R3K)F4XVn@n?4JwmdulG?a$wjF<29h22l%xAkLk z^@sEG*XIO>bi#`>AShTdzXlUTvd>P`8&__kMvd{T11@IH{tU=IqUVlL%h%Mb>Ii)& z)!#64S3&E-^oE*x8p^I|*UA@RkHUqYTDSyzlwE-}3|$C&?yYLL6^#p2uth=pYiVrb zJh&7;M4B~g%&d|1Bk@xFi|~7LD4o?B_AU(@%z>Nklor|^+ zg1bI&WySVY+gEG@n_1&rUAo43BCa)!(!%D}!?Xikrjf$5#eEu_v&v>W0q)FgGq%s# zHt|wxDN0M*OLH`am-K-v8Xq?9|2WZPET1Z=!D!p-4R7nYXB$I?=^+R_51UI62kzX- zG_5pKAJ|wazncUhL1}5sxN~laSyDHvq`U7dHm%pgwd0xY`WI;1K-fOHTlkT&vC(kn zl4!%mPg$jTchAchPEe79jd1Y{>=85u+{rL~qnF0C zjMVSAn;^HpeS?FY&wZ-KzIR?SN&CX-KCM)EcSIBF=vQ~nnWjEGy{0I*csgAEu=dd= zEj>Kuv*6DUoqTVZRr>!pdk?TEuI>*Q#GTbif`-W$vzys9_MXIO?26qOYwS|22!c`- z5Kva^v0+6;5K-wx0Tn5V8hecjb}_bKjSbJ>ki6gT&MsI|zW?_<@AF1>?z!il+fTm} z%JWp{?1R4@w5Bc>u3xaBw6d#WY*dhs_srnwGiFA{ZI9Zt#i)E$^~~O#M~^sV^zG|B zY4D(ImovuRNSSwCa+ZGh7X*;k2t2mUym?c%hVCriF3(`+5&rz4j4Nq*R3g~ z)P|On^%09!o?I(!fwE&};5?|jrUvTrm8-rPEed5m^FxdIlbrCHjFM0m9}kU=P`YPl z+Lbj%xNl7QJEom%fmw#8a?u?8b0Zt1d?<~u_T+Egd?zYZxF3~|G=*H|1~FBFzHap{ zSnzJ|%DwQ;ELtkiwX!_%N7z0U8}1n@J^jxrJ0tHOv!<;NY-o8|j(93OpK3`^o(*Km zvt1H#Q~#^IV&bf+VIFlkWg}a^86$enpA{P9<(}cJA3M>t^IYR8Zd>@q^_$|8U9$Dr z8R={ob}045cd75orAp;_Rlnlj9g6>#Wh?z<*MSdK{2o#hf0)0u6iZdD1z!+a+%84nhee(aE!wM z-JpF_PNweJxOuz5meztR+D6{pH;xfP1Q4 zY9sqnH_^?*W%_V^^Zu$c)cLFT_f|MVWsmKX*+H*#QtC0~urh|KDjI4OV4TudlWkhh z>_JmzI|N7@QctfwoSa?o1!E?6(#MRSl*h`8!lidU&;q&UV(BdamCB1m^Oo(*pp>JL__$RkS6y#75r=oK6j>cLB{7-zn;DJJ`%Sa zo*j=W$DKzl0qaj)R1~ksEiY1=4Mo3nr6rTmNi+Nk~NMRN&gB5~i zEfd#H65devzglD1*dG3j2{#vB+d$OV$4&7c>p1Xdeoy9}y~~V{bpFA)4-$^LxGh2s zMawl|kA24h!0fE`Ay^^6Ztr5(UPsPne$XX8kgfFx(k<$;m_8RC)`wRC6~4FR^Oymo z)ms}njD-zKmjO6P1x_u82MRwW%)v)`pCtKXc@fs)2yBW#=}^f7DS^@lquLv_T3@;D zHB`u;FCR!tim11_K>kerRNSAPeSfX78wc(nG-#?@Hu!_r;14!LY|;yFUht|o_bb~j z7Kx6=1Y9!x!acZahW& z`9dt&bNb>kqwt#9m4bX+^=?7iQx+J7GRPAKiE2WegZ<^!**@ocQU|+7;5H#h3TI?D zxq+z6xJ5HKp@_WBi#<5u%tMFE zwAr=vZJQYxTL2g>mDLHbJ4bDmZ*U>JZQ)trUsa}{T)med7Vdi8ot0mzB|OXIJpG-= z{-_(2Kjmbadcz1MQwlZn!e-5zr4R6r*q$1bdSHu@dCzE>cn(U|NHkcEwj6ZZiDQkv z;yD{PuA38(0H zrLHKXY^CPQe$}+#gj3;)ug10~TkTy`Wxz{5yOchWsP~`!+Di-_+}s9GFbH@|y;#9w z<@5Jvq5F{d{u+t3=M`SG#JsndAJZ`%>Dy_PF3D4 z42ms9hQ_sMC>EF#5KRN3sNOtX#ENu&d%}+xixXZiM41oy%j)Q6NTsi$Q7skKcA?to z-n@`bA(&84bwZglDQg7lk~NYNnJaSvU_J(MA3Q`;?nL$;Z%!pm%=Go(;T znDPNYlH7z1cVEjHYS!G0my2&oxOm_HO5c}_1n=|s`EhdQ{@;xGqCWuv3#Q+|A?uN*!j4E(w8&V;43U6 z2DN7E%mdZ3~@AtxE$8@=xFe)`7=%0gvqh9(yTx zYBJC%^}XPwY-%dr*NJ2Q!6&X=~7eTaE3o1t@w{Y4?;;RsC#_C zDV~hlwd2$vb?voPYsvBwCf<)LFaDRRuTWJ+)mQ&ewe?$_!LI)g2(TbA0P2EdgqPD1 z$jE8Z-al>sg@!kvp&T^4siZ+=Eh;uAL-JVu0Xl~j(mPrP;f2!mPq%+T`5Y);0OfNF zO7n7gVA)G%vL0-fXwW~0kq94>^oZSwJbfC-zmyKa^Un^OjlvaC{DqH?Nz2<}B=N|V z`_!N5ZYyF{oL(t*)FIR`)yI9pNZnmp^v|@a+FVswP!+ne2Q(f~vUUI?3}Hg~OzHT6 zewS%~-+}+sthUf_PgSLbMpatO{(CLe7bcrscsEK{QUlCOWHa%ff&u!nLXed_f~k1YT2dM( z{Ap5Z{+Tj_#Wwt{{*VV$O>M@N5}ZKg8?%C2sb1CMh!1L1MfX2>>vOKk5D|BE!UIlt zqa<)l6^E)$0HfB#%fj`&+5k4jT46j3dr`Iu35~r`T~D zGIcvrw&d^63UuFXC@j$&8rmt*Ua#nzwo$B_pB#GD+gR+X`NeO?>Et*SI z9o|88j!yEIchN_7*TDH^0-)WsTHt-Z;9l<8f9pWH*VIi0IPiYDrj16}L{$Q^Tqo+r zd3%oYoVG66!yt_6@-4nk-f_b1H$BxpfAjT|zWbXb8L@9{HDo=lb)oXPUK!mEp0Ra} z74`|N=n4}BJf?CgZ$S?>=0BCcfNS9RI>0i@8LXC$$aATS*nqD z4rs?vje3+`k7|qqZrKFn$e&!DyhTbsr=)ZEv|E{vt!%m@8S!JXFPw_EdGCN^XN8_E zlNg1-l?3Isimb?t2~<*la=t0ytp1qVNOhIC#j3^YUtnA3F6PHloH%081b+C@&a6xS z0vXPt09$ZW{SajTZAwdVnFLj~P|D~lW8@iyH;h6IF!q)jjRDFa&8C}Y7RN25+2(Ax zA(o+ts+6ub7m;6vD3o6clP*~<8ANgbV9V=2Sh*UdIR1JQY93|~%7cO(Ck*(RkK2-# z7i*-C4(vZm19b1kEh02Y4P7)MbkX*~D9LULcF%BTx)m{3ar0H9}0OfgVc}1sQZJ@en5GPk2ZhhgeG>HnObUF!_ujokIa zEB$6CK>ls`82wa?%X(GW#ctAZbPx5~1^3Lt~ZV}ywD1IFC3!B88 zCp?TiIS{B}aAcdU(g+Nd zuk5CxXOa+PPK#j`wDUnitvlI?z^tQ^k?AT!?m&%=+Oa03ZT(n~Z*_R3hjra_C ztSH1l8;53?=*CL6K#$OfCrS2DkBeEMGvU)}QOW5AC=y^hWd~{+GoQ*W%6uRNz59s{ zmHAYjuqc40&>BYXt^*`mBFkcaI{esOna^BNY)tVfsEy{mZ&Q3vE@)W36YGB8X zqUuirtl2Gr+ZtXA_@f5Q(j@D8O*6_ zD1t7U;a=!SpIZNlzf$4bFE6A`V&mXpBYWz*58wYZ%osqPVq)6fxMTW~gGj}`&RE`! z`#ETFP>4=(rE0hVy5fJf;K`=Y6vXA$R5~~8F~xC|!FDnXd9WOZz;c`i%W()S$9WB; zvvOzgHTNAg)gUVJUtnmVe4!8j&-DkQ{!{KiTOM|4`izGwc8?;QDg>cI4k}C^D-W8@XsyO*alY}K8Y%i4!Za(u zrCI@SniU{ZtpMt7dLVb+gDNJ%k?Ub~pT{TSSWhw!J~&t`1>(5xi#GDm71o65{}4~j zqEpQw)o3Bu>VaHOJd>Sy{J3*w-@Z;02MpLd@yzOf8Ok)d^FV3%X=w!8^jrsjSx?oA zr3KVB5H#d~{;MD&2h?8$>a5GGx7>gAa$|u-se}LN2kuiH(wNdme*M z9fl%zyD-s2wh}(zUuy}U3nh#f0$z6<59g;m5(3y*?O|gTz{YA1#>xq^j9^zUD;E4B z_?w*hnF|dVr&DADS@u#muT(ktVZB_`8!mS`F9k!K4X}z^8L=)(k3o#v!t7}Nrag%~ zevy_(A=TzFSTEk|I)aZYd!G-AZh)YC&~u}KRJrJcoLztQYYy@+?8O#r2P6Q@1z<1$ za~nuGa;8|w2?6)u!u}O!QcR){T$0H<>z!u&j&|8(|8w0v4Wt`oO~ksK5PTN_427JN z!i$!gh)`O#yYB-%tJ;H%AsZhZFP5%7nv5y%ut)pJ_8`E+9uy?oH;}N#PDnp+f}j25 z`7;pVgc7y!WP7wOxSHJPd)_5MsX|{$q4N=l0<7mQU+PL+vE+OR!KRJa(E4Kq3cJ~6 z@@JcAw+Sm?23x*j$?iiZmKl3P2R_pe;Zr2?%XbZZpjR4FL-7PxG3fS|LAO^2-JT8l z3=;!QZ+6*Z-|VWxI+JAz`ZKG! zG(wqt8__OYJO5bA8h-ket*{Q2bSP<`-+M&W;pA1dSi;$) zV+X8oQ>7+jXTswRhNb??W`z5#3i!gu+oK{Kf$+2^jTTv|giQUxXs>Zdl`t}(!;rc< zM(OE;F^7INIPE$(wNQVU<#aHPrjK~aV2K=J<8(l-|Dja*e6W+Z!+1lEr$hWeeUCoK zzF?Fkr7?ZN!=cG+GOP>NFnHP&!FYaUuDEOUp6Ils!6mi-FVXr+qg!87^_d@<4Q-W= z3wVq7j@(%G7IChBr!>{PMtIHJl0R0#)8p+=++0^@f~p0u6}F@<(iWx#{u(?Ht)jw) zd>p)sGR;9o)A+3WLV)TDvjiZly?#7#>{FeS7?Ne=YEPnPquLh0ky{&H3N_$*8m4dCsvoBpI0qPw4O zsE7V1_l%O;yRvfP66X4CH&))i6TTf**qb_%GJv*;J$a#g1pk9nTw;gt&4iIC zdQ}Hw3uV~e*$jO(o<3)`oDnE_Qb%foHiV~fh(r@!d#C|I!jt=aIxt{z7{}8#9DsKj ziZ&G6Q$je)(Tc$J%Hrv)xOMrKhNy-+!j57}XPRrlhi)Ahr4$g03;Sge*s)KAN1!#F z64>4RJJsWbM zW$bP#ja$irf1n-t7GfDY;of+g)ug5DUMYL=-U#7ZsT?FWLzOcslpp@9AG2zxr|-&eqn|anb>M9`16duXiBhbiO}Z8okXqI9^tT-`tD7 z%x`WH{N`Tth2PxEsug~7i@M;`H;aMh0iq_CA)-up74D&$0)-ci-EOebbbd6CWi*`! zUlH0EoVopCy3`OKsr`}Zd{}87`!+6>_KWccG}BhiUKgc{OJe7UOC051M@{^o4+6@A&30CaUqWr?;C6a5{vVtSA-M(q^<6`Fr>JIEi6_Gi#u5G_ zFhJ|!K0bYMxlt&8&aC1FDHv?Y|LD`R|Fi1BB2n{9R_tW6gwdZNH+iL)L!Du2J+I)u zXVk;&zP+{&d?wHIJ6m1=3F53)O#x#G8ry;|SrwUJREJ30seJAg@wFd675)Ge_=jXU z?Wgh`uBhwD#COs>MJ5NZ_|-YMO+HP+W@;o{BrCqj?^6PPWm9Vk50k(dRW`l^0S8hs(9B0QNN}UT& zn~knk{LW(t5iSZpnThMAwFK`lFgwagXq@H+RCscBu&AA6i#O+st7zxqpOYK%%1O2_ z>*uOYpIJ{^TiiZhoT??rx3M7hF~Bo#!R)f0+M|;tD1V0Xl6|=EPQv+j-eX?P%EO#Q zk@3al)1EyFBLYa zC{uv)R1aR*c<;~P_L6b{*90rCkGuT?0Q!_Iatj36J}?7Ct60*2hS9XASd3gYN1lSb;s1s$%wV_qe z_M4=k*)Reh)ef4Bb*Vj?u2F2Yf}@&rVQcuRO$K4pOtRK2p1W|#e0}Jwwa}P4!9X0V zZd(heZZOZ*Cveog#vFBJ{?Ex%Bv%Qs^MQSMS17@*sFyR#VPRhTy^7$C z-v}}(t9Qcmo+odTiMjF$iKffy-q;S|kO!pYKFly#F2p30dJrX=a4CkU)`Tn4ky5zJ z3RfA@hwtIM&QQ|O^0f96Bcg;_p5`}DTR%YOFzBoALFcFhkRed_fV^Z$X4Zdmh%(^N>0<)NN{rNF%A_bOz(R^uR2O{ zqfMge1U!<<=TRdLyzHHd6KJy~Y_&2Ml|k6ohh+eP;u=h+>ic{Od694!RsN=VvUi`i zKYv8ASznOH3x#!g;etI~V~5a5cH%=oEVQIxxM#`0P^czgxPbf%+Zl5O=Cm`E1)Zs> z@B+0ThtZ{pC@C&Mfg>e2;`=LnFL9*Dv-#~f=$e_ya-%DYq)MWa>8dJflMVv3w1%nu z&GpLfmwPq`KCnzExce&9{QV#u2g?-3JiJc_^AVD8r!KU%Y67SWDw}c#+|NmBKU9Q~ z_~-)`Fm1*CC-70m0G%vEQ>QH)P=wU(k?^zn4i)Y68Z?9=WRFN)a5HDLHO$klb=08 ziNh(zL2Rf?4pi4h=IEFh9=L3}kFMRMVS}aztXdypa62O|h+e#9yY6Pj!DCyZ=g;0~ zpdPQpVY|l;*KC{Qw82pif5vLaBi3WfkhF0|#~}yD?=H~zWaP}s)mzeuT$pj#Z4Xpk z;PmnI4Sn?F-UAqlA((;BYJy0dFCm)QL5>)}LJb0bOFDSqKnhaQxDOj{5WI#@J@}hZ zX;MpR|FSs=7xyLpl4Tf{b;RSS{_q(lf(hxPm=Km}5yD8{7b4i8pFD<5G#qdlkq zc!5AGmgr1&%7GNNU9yXizJd1j86~|IC*hW84YlJe{Cg-eYv;*9Y`s_@Wawwz{*YR! zf|PH$D}#OoXc^G2{tit_DZl-np|(qThfh>4F4p=RIB_0;(mM={YfgDMLtO^cZ-BbY zf;x|9fQ43a)v__7aL>xJH!fJQ%`uXtyI?!Ws$vUSu|1@;FaLw#x@ZEjLMvdqXtJPt zciA(<<&;#!oFDsC1^f$uzXJ4&if*xsSLZL+LzsLQX~om4SbvXcsPd7>B=b45Es}Xc zR4OdLkN2MXm1^s#y;AL=@+tK1mL;Jyd)$&Vvk?0*J-}nqXr1tCp==|*n{$ZeAcFFP zr($+$D?`*X^{CXmR5-=XvAc*{IHkrd+(q2NMHaUpoY+yGR$;k9#Tq!~hhNn+!QDFq zT!kg$#XZ0=1h;|Ugo@xc5S&*LoC0gnQ+gMgxRQIgArpktR;0_gRl;BO7#8*HMV!UI(TkhWA5b=50c`~F|IKR@9p+$yf_ z3&;;~*ZBknj~zcDD%IKW!`B)iFMIMSpCb!A`n_jxjohgba_(;4d-S62e$TZ2v4&C6 zP7%qvZBZL`rlkh^q=R*NBCWvZ_0^b*%(wQ2tRvK0B1Go2G>N%fC}KyHnKQ7U}xaSFWTJIv}{If$Yv* zPRc!&73(?4AVhWV>D@)CO+A-))p_{`Oqn`u-L@$P!D&<@jS%IPyC>*~o<2Eo@xGB- zDm@pT)(IQ;T}gbX`>oG)BtC4@wYegqH!SRB|1}o)@;|HQCae1hf1$P1QQSr?mY#!K zotYOKXC85`rGK2ij36sJz=xI!DU@as)0W4tidj`nI5qvXX2I;43xf5Nd}9wG!4@`- z7M?J*!QccbwY$zoHjT52lUCT&Jh}IEe}jb~CYUIl7GAMo( zL^oGUt}L}zQ;8f^F~ago{z&DX%thxJf6SEpu8f01YMa(Y^gS2`cXMvWB$k`eo#kds zvgBrjs{iO!B!-freg=9-4|&qJxVD?1&P+9uXfJBaM1{TPNFu?X?20A=6yiiv={5uj zMn*LrO%1$3+8cdPajLno6xP^O)>ukKV;)xIe`OC;qE<{J>27kp!Swk^-UB7AD}MpX z{5)w2l=&0dFr7U4@2}L!_i=_!K6~QX)oAZAHESyUad}bYcywe3%4wDU8pqG&N$sgd zLrO%_P8M($VsB1MX%A{b>_JVQy`?KqYTFe}LiencFd86I;yDEdayAMzc9V^Y1{T^@ zZ6r7&&lgLOy_9S;aE1eEidIRS#76n=u zz00FTe@<@BX3DuRPrCfd17i`SLgoN62#`5uNcsu#UI=)m0JBEr(-!`*xyZLdRsI-+ zI#Ft!GpLgm(KDWhW962#Q=1J;IMYIXdtHlXF@h)S$59JuX+;!TFz%}9vb+3j7B6Iv zR<3hRdF7ZEC<5;yN8`cB-OS%>=}&CUnp3f|3L$c@GPk!{P$7ugB%*#^Wqssn9RUxY zf30p^ihhyX|4XIoxYhHdOQjeO*6J)PTFP$q*{1g;UYcb>MowJ##u8VYBPCgCgk_B&lwev#_YgwwncRG2V@K_6MITOD4w`BYF*>)WNQG8VnFRw zB%^?2y^LHz3}^&$5HBjUrl?XIK(O+9JbhDET}+VQlCr z>6!53!h}qBi;U@O5i#9W33Cbr%(MIza0_Y>BVrf7=)=GJp@}?qCO%wbR_k`KO2dOj zo(=h2VAg6aMYDuVmhZ~phP*dRcQlu*5tOZim0Pl5yzel_U01JV?L3^CGRHm9xHM$R ztYBUJNe)8|G)>+wx|~w#^%$Gt81K0CiyvF11SJN=1%9Da8?v(>)jgjvIeuK!h%XYo zCPhrr*K6DsQB93rw}g**qkFK3x1lCOOFLaNvWVD4 z)&NRBqFn>ybQU6AnK_d>zs;bj6)u>QXc~k&Y939aZ7$-hFTxaq^o-_MYwBT9g+Y(e zlI?#tNr*GWk(CC2ujPeIE4f)tEW4Qz8J%g?I;o-Bp#jNnsc&7tDmO1cTnB z{D`WOr->xDWZIo3QYq|-t=Kt-RDnZ_knOOMu-zW}a=1M8_Zew0OQdG31FR_~w%bi?yPMd4Hvy}I z6?XI`akpg7XItw%e-V%cp7M<3Nr_!hKNZ!TP~C@)p4v7BUmRUvrfdZP7F6);bB@CV`7QrTp7vCv@+b3j+b;9uX#pV1YUC#YNxT< z&aAd4tDVMbJDCu3S|FY^JB9S=Yi2;t7!OvRF*7vB2^iw|-6iSw4=sS*2<3~RdlG*S(u;KS$!=J1U zzo{Y_`bd+S4Bf##XS~GJR;|EOs}3U5kS+G4kjg4MvC7j}H?bgNbRhoa~uF&%vH)wD31nS`H?!89PVnQOTJ;w~Pvyh{}N}VhyCR2H-2f3q`Df zG!xdQkZyI98TZf`)l&p%-T#FccX=@L7;!M&#bDIsLYd2mlj%Vw@1%F0k+@^N5w08# z>Qw(HCiGyLe1!RrIGM~2B#v+(c@GU+E>9{PNX|%)9{FR|w#T3c!(-3`ml*V5dklIo zJmw0IR!7G$2NEZ&x0nh__DaIgf+=tynUsL!zF$hS=QFn)pf!7tV9_5!-h@VM?33+* z*ukDnoIRU3dmtWDfTeg9#=;60l0dkSjD-uyvfV>V%q}D+IdvxLs54PVoryYZCdL$~ zGx6>;ST@cKYU`tJoeMS5VscHim{}7oUZ{x{lh74xozyy(t&ZIFG#ej__sOlcfUiNBLF7RvteaxNz3u>yRR1XMQ0g^&TU&@b9GF`+(HK3Q{i?C{3~4!GE4F zU<_!Xy@dn4VsBwV3(cqT#R4#)FrWQ~OBY78vLOL5Y=x+~Rhc>KT_00rOAKsUmtjmr z;#IRXE8A?%x@@s#!6IrlW-+rN%vmQ99s^Kj#zGq`G;#>+T+sVHGb0g7cBu9%SPD@B zbzX_(`?HIGeFwFN`8%vuD0*csdTXqb$@mvBAXPc{n?#dUt5g=)IMpa+HeF`Q%SC%< z4MFx)PHRU`Wd^DIM2!*)yT~JLQMSf5mvMdIbFA;-6U0}f7v5${JZ$h;oFRw6f{g6qic}C&# zF*+$`Z;ww&+7K{xtgDx!mtl6?+_wHjT2(>&!%16dbJv|*9Q;u8Rzv)i%`8V-5< zGW~$58cVy+$vvRv-$7qXvPZZ6KFjkbeXPAi*dyu6-jO64|+L2Emh?4%vFzy8%X3py!$B&Q(XTgm~4+mi#1ePcNl2d;?%c(!{pK|IyQgiBeL{9xj z5|Zc-#{92lZoJ>Y#g@LSMU9agVrdK{qej%b+P(6Da7Nv!g_l+b7nolaS2lLfWryc> zyLRx@sU<&{8cV5=pZd|4hyjFR12gnnQjH|GQE{ z(KhR#)K+xY2ar|9!EL)zj7sAL!$$YiPo5aF)gSr7z?dUE;v?$S`nHU%I#Ox!X zK5W5_F;Z})6z+oDK4L~pdi-|7wJ8Vuhw4U5_Hh{DoN~y3%uRY4D)!qpcH4ekUh>wR zc?s@g+-FVo^)v`~m5s>jQvYF3WC_sSyYxq~L*Bp?1Jb}<-kp${cTD%H%Q>Z*!hhcv z&+w!>QyH7ZT#4;|f0?=mT7>kKSXwq5a%k7c{gk=Vwg6WDlTvGJ4>>c(Ty+%K7k ze+)U7EnBb}=ZP)oZY1j$m#;q15#R2bVq3WbQTqq6W)jg*}hxFKU&eCAnfofE2na&t%?3ooY=rLBTx@T&b_e^IOrD>?* z{`Wo8OxlhS7>4{uw8)VkU(vm6b{cJ)BdH6w8y2oy^qlWq*|7r<;IV`|P|c>6qXqps zr}nEo`t|MbDSZbRu6EL-BqyR@1@Y)t^U7|Guk6-AwuU>gZjH}^^kwN*hO^Yu+^za- z!PU2PYt2?jO%13Yx@E7_Ft50-6O{U)if1+3iRKlTkE5VxOMW~xQ;!0*Tj7q#H4sX* z_-mp+98NM3LtzOV0VmqcYG||g01$HxNm3X z{sI>@hx&+-J16clb}L^l3g=>YSszLRtS`f9uO*gvOX_8F`I`R?u10{W|RgYhS6aV z#vz^i2%IiU=n{Jd1NA*AN^FMo*sT5nRK$W<05rn5&9W20y*y?FaG)Y6D?r7X=7!}9 z2&5xq*Yl>Y1UK{`SR|2SN~xwhs3sQc_XUckTmQ+!oekH!Y2xDIqIc*s<7P~-R~r7b zSwVo2w;vvFsOXqM*kLBmdldT3T2Th#B-Jqz?RL>u-qc&zLB~NUE~a%jH=4RAHFU~H zw?>er@WhS-*@g~<8gFm!z{&baUR$z?sNpXGghmp!!LEir95eSJ!P19J(qk1>q1Q)v zHdMBw@%w*PPAnb63X|14B^0eV9N||m7$uYL)7RDqi{06ZkTa+%Z=?EIptiYyn%{Eg zY5YmCnWJO(7P|H+V~+1hPR`Gs5zb4yut82ie7!*zzhR$s&aKdvKKUG&m7=&3iiwa{uyR|=D_xp zbV{m26CPOamJN7xV1g(c9+Vq6+f%q-)vp81Uk5%YAIQF9Bm=Q|=%Tv07U23wvd*L^ z8#oTs5Q`2Uy?SlP5&LdK26yaqcu=9ywzX2{CNk4`+eG{%wv)YYB2&pirO%s&)>wfy zG*0Ow{=QSwooYclLv?jjH<=n;q*{ircWT-yk^{_}J#|XYT%~@oB0=+Hu8Q@_+vF-= ziNCvOiV3=(`qWcLJsqfiTapZ4yJ!lPTFKxd>*|!c9!jHbN-ec&^DAY;u2|ouDmJ$< z7*LHjEF1RhisA}W^+Ls5h^x!mW^XsKGr5*MQ(QYg|8p4Jo%DPXeTw)%q2%=(QL)OL za>sDuN+35ObmKweffc#ObeH@RMn~X=%8%HZaOudxeFeIM5gW4%(O3F&-%WI@W9+qd z(g2jZ>)H1_wTH#s0W&S(Tj<3!5Rrh*g+INQjouj#3>q3SZM=TsQSl4x{XMQLy!qK6A zo?Qp7a2T!|W(paPZZB0@m%XuGPx&_MmDV_Epv!urX~x-76JA*^K6(>^zb!!Vw9kfS z0_riRI9Ed99DF4AYsQuDu3A3kkvs+ySc{(1|L`op9+TBQ8w}ZV@%r6st&Z&({F1El z{4OY3-`Pl&)`gpmtzK>G^d4k2W^g@?Z5O%s|E#8&tX|=Lq>fBW7$$F|Hgj{N)hPR) z)hM=sJ@C@NJoTSf{GMWw+N=pvy0NJ9Fz~=_!px6=gsvgGFld$Agyu*QVT#=v_&2nP z(AW-cOIC~gOO?4Qp45r9copru}Gbc=PiAq5%vG4cx zNT&Hy_9gF&aH%vIF|`dlR`eT9`|avc>+G}FU(x+D zHraH=i@*M}sC;t0D^=aUYfIuzgTq-(fbWc1?)sswyU!j;%{dXbIdn#h@!&B{vd5&j zf%=AD+bh-0=&1K4`snI?hL7w@U%$M5#s=mGqgZ-BgDbh3{q#}S)MiGd0avPw5$U5O zZC+gPq_MsMql`*%v=>gyPw8YHRm(iEyCBax`QV9P_8mWP(1wB`G?De)VuZHxt%|{} zR%z81Q_kOQOI3_{Rof0aT2gZKXmRn8K`mPj9@N&@;gI;t(F87Wkme{i;j$)nUBu>C zUA9|{lc5#&OH=VcjCS+d&{-jKW(OE;AL0=Un*%Re-?qE|kZP6CwPunf3pm-^eGJNs2M zn-Q}7LcEllUy$#&eL|#he3Zs-?d+B7brGxA#%$R>YgUXQ`5}`Pc#*29JrH^7uj^|HqOgU!oxTcvgen`+rJs#it@*!+P zGhoFCSuR+cs@rO4U_ma2f8*bKkyxEc-vYPA09v&)OP={a+Uh zxtg^vE+gKsj1!6-*5!EpqJKp-eg_xnq8OlynyUP)j92tUJp>g!R4LypDnZn)DRnxzZ{7Ao zhABmwnQmj|OwcQzDmBi+;xiH_!>3R}_c&V*Po-K78|vf{8dnejx<_cf<$_hZgMBx6 z=<9aG(y0zgI^_;My=#A5=602A$F)1A9>nu0Pw!&{dMN_gDPxrB%8w9=kY8&*-5xIb z&5lmppIDR|vu;J$@jv!k6j?Tg6qjKO)KY-KCPa1W9o% zbHS>Y4&>G4_)Q{kvx75N11HDNs?D|W`Aw{^`Im_7%ky7*=3sH)Ti~M+lN(X z`yd!~e&8AKjna$f3nY0}7yK#eePCYFzftaKKP@W+yGa4&P6^A}4G zNM&`qO3DR#A)h7W(|O^|vmf*gFWY%bq7yKI z-IbJ8m3>fFMe_K``k+K_l9WNL4@yV$q3PedphO4p${^MSCEDBtr9bP!Ui1J+SPzuw zrM%KW+!D*jsXY+U1D_Dq15{CaFp+gYd8~FodCWSXJVpnUQ>+8Z#(M~7XB|*h-r>tX zV;u-RB866vkGNdWU#nsUmPGQk80n##q%(~0+n}4i{X5~ILHrp;cBq-^Um4L<0IF*- znnRZ&2>zc2J=9DwxigZ#RVn_K5&SLa9m2?+drvyVh+TSzS86d@Y55U}mUowak4wg* zS{`5HQ7z1O235H$(MAk7;SsQ5w zy?)i-IdS;%wIR8^O*0oS2r{lbhzDKoD<&>T8L`(x6B!-3DpsEy=kMa-=i@%bZ)1ut zga8nEqx8as0*P*kUfx>{&NFU~-i$Z8QlbLgTxSIP8lkY*BW|AV8Z%U{RQut3NDVcQ zb|}4a^vKmB#~k~qo~9Yoji**^&-_J?i)~gkLn$A=e_u+*g#_f-AX;%tM9h{AhK#_Z zuxUE)>HeP6W^A!6H_IDJo1-Gx8%jRGbA#~uk#Khdf9Lk`yc2m-(MY(kf8q53N%q2nuA5WSw`_X*pz9p8#*OxhO~C?tb7c?D5dk^ z@4&mMz}7FG+oa*`)QZ;=Khn|1cs=p9<@Ln&-|AXTZ|B^>fCT%r>YhZuimq|q>FIHC z={vj=TwT3AC#yw~I0ZfzuWrpgcu9BMC(YT_)7RA{(LcqoblH-n`bpmYqk{~#L-|p> zzciFroY_-}eQ#RtdilCkeeLTSw>oW{=WpkeHqoy>8w3@Eiz$hl@FeasZuL~nEqOw{uek8xnwS9Z4O8@ed-kud za0UH}jqx``7ytNkhvMRsA|n@sL>ZOZTK|xcxwr+C`4oQj%;Do#t+zg=YPVVD`|#e9 zLh{OMXRlcwMI$TAriiP8{ldNVE!}_YVGPweFVb|$R+hb_Wrwc~iPWZVh}^P1V$oux zkV6c>Cnt|x$vA%J(!g_evBg~-CkMmd1(`e+=0I*oVaL2iSnD) zbzX>%DQwyD`G%RDHR$rfMEyB=)h$SK!Jygj`Q z=`*KoMo_k=pSO>3F*kQNUK7Kh#OPBkgW~4r?QK}hh3(d~<81w<57)jRzAWM9pV3U; z8XuZ~wLfKYAkL*l+`JUPzf??E`&hZf)ca<|%AH53BTwkag}H$@OYrdqZ`P|P7P{4e ze#HsN8)G&b7Yx^odCu1D@nZ>b36W8AXGa>9&$R);v*xpPdsbe4-+C8%IGEcVm9TM} ze*FflL1WZi&5E$u%LDZ8ZvJD{&iukUqwJ>eA{tp_o%HDNBb$wsC;Fu2&D^8Eo45D) z5y!0)HX7X{+*e2IHb$(Cjg1Wr-fGy(_}j^wN9enZ8aHs*UhiGO#?)EKa|3k2v*-Bu zct&iQiuHb-!mm-UYu3NKwE0CA#Lg)rZl-QsxiZ=?^P*aowhxeZQ^wkG&kA$@#X>ogXRS4UFSz<8fj>K zWxTdy(#S%z7((kWS+AzwZ6Hvr2fx69Prd>F$_Yv{p9UC8ujdo-SZICD_D5QO1FDRw z){%0k%@YRu5f@K(k@q#rxX5o36gv%l!d*e#=A5U}IJmK95f}J$A~nX0xhRcivfm+3 zJ@Fg3@JK7xESkM#vzlSD;3ER|*^f*?Y&UG&uz0indU{rIiV?cp>!5zJ^5tBQuxa!0!W0*lIzMhs ziZgv#yB=9kOZaA|e!KaHrV+QAeNvCY z6Gu*6wT`(%+9x(JhlPu`E}kiU`QzDU6UWZ>b2X+9&}`hgC48HHcdY+dq(C3VEeu&4 zHdEJbPuHi0pRbCOLgLemc+q0)0>3~Hz3nJo8A-O+F5IMVZdxb4f;!md7Ws>AeKo!r z`Jw4x+)v~`Fj7%_?c8Y??>IlNb?*A!z4|w5S@1(~LR`e=t;R*}ng!Y^Gdvu9rmWgD z&4Ahd9D8E>zJl%B6E|(1KMQ-pO6wmSG7o#AydJHWC$LR{ivY9cE7$#%8lAV!xJ)|s z!lztUynYh0=8s1^bo_Bp+qNeMT{He#b&^-&p55_@8JTg@#*Otx&M6qlYCWe>&#iNi z@6aAEx|G}$e?6}WPD-1brcX^@9hqeOwdcjcfyXs5iR*Xl(d`c1F(bin?0EOW-n}%D z9&T&!P^4>E@Kj^(U%PiZIzZ#^89I5KZfwNlEz=AG2Wa3-+)X^PGb1;5Co=lGxHvet z>^zF6wqXvL*35sKznnzV>f;4ayA$-)y2l%#d~IMQkB5)Kq%5c8AJC*&Hm26s8U+3gIeW=6O%{!q4?q&63aw>-=k7`haz~5+EEaHCx(_QAbiP&StER+Wi4CLA#N_n#Nx8Z; zKd=3Hje%Hhk!Mgp&)>RW>(;%z&noXV-p2VHqF|ZE>JM&d*wU~tT~DWBgS-vYiP=G> z_4@VTue3M74rh8JAus}oHz8Z%d1KpN)MA*@0{`XkN<|~~Fa}atP|IJHmIv8?ZSmp> zdj`2NH(L23Xk75vpt0B-Gj|8?3Ene`zNoEQT}V@uUkHsfXI;or@bsf^L^mI=Ko|Yc zNtqXC8p*y$>Bs%NX35&MtCp-KGb63Of zl_pb-0~Tod9MJw8wq!0IOj^IA6K{eW@jb0oTwmJCBz1p6M<6=gJS1akz zRIAkV|E87ll}>4J>l>;SWN3c(F?8 zC0v%n;4CYYtO=N~##av$SnXkhlt#hE1>-ccxo-0{4T})9&@fctX8JfT{vu>)$g){0 z0~G7pVH=a@XXxq6jED5m24gHC8dm$dKDX+iCMP^LDO(^@gB)e~Q+qi)=wMTQIjWkQ=ge{%3kX_gjPc)-B zVMJ&>jUxGctyEX~>y)pLH7s#9geWyM`P}-_h(+rcZ&>_=uspOeen&h#6aGtb&Vet~ z#adFBTLhgb-hjnwwNY2<_JsA@!&9r#XN5{_Zc*f-$c2&BsBRG+9r=0Hl9j9W@@RQk z7_Q|Z^EJJ1Xv2fUgI5Gso56Kkpy~aGcFvIT&LgK+Gp|}}5)S7chWgOj`eG?{DYc<8 zB=?)l&C1o}aIwlPaUti5r&;1SWmu`WgWKSsapa~`2p*b9$Hn5!5i&X+?oFXzDWQY3 z9Vt`;qkSmXYrbaWuMS%EAH`HkrlZ$T>ypAlK#cepyWLfu0dK$45WGC*j1tw8ZqS zQS$=9NPR*J#60DbF-rYzR6j(!qOWGVm+$(q`VMXTDpeKR6MdfS+8GtU9T{NOxN828 z8*&#{YRMR71OT?vk)My7^1y|2*HI)MzYbz0&#w zdxuPBT}$6?^4(;tmyVvfiha3~scq95v3`lHUn7q@Y1My}r{?ZGxxM>-qVde(q1@7y zOIEJbty!`L=hGo{mK~!l{AoEj$gbp8FCaF+ZYS&oPgWz}d!~tU(XVrgEjQORbHPk~ zTZcltk)_MNR=g{Ire~rNX@0I>(+I9sld>G*N8+sYvwDVnB_3Awv`TI7@32VmV*8N$ zc$Y$)VSwLKgC|-5KgWMe``6}d%}lRG1&SkvVI5NHloKZe<`c=LkI2IUhk&9aasVe@r82aN89v=sC3IOaTwVt?ab(8n)?Vx&uXR~1s7 zCoARgR!MfQ_2ArP`kZO=YW2Rh7IVg0hl0^Sk6IY3c3m zZm=zD`Wye8K6!qI{YTheK)F$pP;51WHol{8sm{yOmB-@4vuXqNtf*F>OU+yKF}Gl) ze17(wChA$KZNyJ)i8icSdZ7_mTxF@f_<&VsRa-P?Rav!%Mo{LJQc@D1Ad&A9`c`S| z|MXY93(lSwN8I*9A(|FJsUz#!Xx*p#h7O-wt?ykWMJqRw8^ZZheSZBGr#{9mL=P)p zA!c3AygW`?pj6jP&{B(9LueL!jD#*0wP9ba5Z(HrR_MZ%hZM2oUI%}=au+&m8w@b* zQuvobHh5u+P6_wy$L0IRK`Bm;BUHUobxz1Ra4hf835#CId&K*CB^RTRH^!`2qTq_& zl-vj^%2Z#RcYpOwDHT2vBJ7_bjn|f_m`&UC37dm`+^2>(7=?8O1GLAJf~HLK4f62t z*_h&I>^Dj?D)o@pIsLWs&`NovOo}uLBkj{-Vwi5K|E?Ybpqm6Qto8FGIyDuAOTUs7^fno~H3t_eT{Pp*bg|c@Br6wB` zxg*(%F&X?+|1HoYzpl_Et8ak|WvVtT|2VW^6JwY*>~-=szKi{UiG3^eU}bLk&`_eO zpKdHHj8~V$w9>CjsXHNu%+;8<54DhN%&*6!o9Fw#bdlHUd^qalQ2r$jg+@yey;cyw z$41jG>Nvf3XnnQq)7*fco7FVI!)q;CuIOc&(y7^H_sn6md!WUhZSTNk7u} zHnd6ZCGJf_MoqV5Cnq-#KFwpVv4fH>I^&ObzB?O~CXfdJZAIqh=xe6daYFL)a(z|6%Vt0HQed|95up4!Avzdh`QC zY>0YTQL*>lYpf_Bf`Wj(_g>r8ls!D+{Xa8zhuHG+ z@?PG*{Ww0ev$NCZ`q;2D8X`2YNO@yUwa31C% zYm;m;2AaGjZ`Y&7x^AgQp}QB84+kZ8tieIY+((;f@;zvBN1ha>3PzllrNqZ~KjpDK z*mQc6YMp~r^MK>0URGpI^&EQo#mF3{!qf_{}xVIMA)n zD`*efnYuo8ldoIq$?bLYzDK{=eCJ3&owM@jVJX8BeBJtVjQuX$w_DeQy4~qJuk&w% ze>(xN(92#K#b1=0zLTIVs%yvCJ2rpcnGXD-+zhQOO1A-4=fpZJIH(Z&tT_uAzB08$ zjqF9Ut5?$%LmROm_ct^5CFR0oyv&pme#72y#T+9h{On9giV_)3UT)v8V9`qdQCO)v zbJ8@Zk{L5*DdtB;T#@W?s22t=CjJKqx8c}@;Ai6VutUsGmxpiooH146Fuv-CPt~_i zf;8!h@|D#uoQ=_Ae!*}btHbQ7Jt$VQb>C)P18|08{E?V0`?1?zUK_GHz^zB5;Hw*Y0(j5AE3%-#aa!Ut;W# zNMH5X>5>ComyCsArG!hS9(c2r+!d1^%SWzEoxa}pz@80s@eFF4f4;d?$^NyIngZ)$XG`WU76~GyoMqr>F?Wjz{bk~8|BseNyV?n?q2fmqG-~wdLNx{m0G*bcM6y;4cE+^ zId@(FUM&{SU$o#$|8pn5+x3I5{=4XQrvesCoj+xgkEx~IjF~fM_^Y?ztO$Fu)_6=< zi!CBjx@pa|yNKCKF1^9t_csbKl2_xqCb*;iswt(j#*G@&8dLh+#?Z$YA~(GO1;4SA zJWV0@u9;G$bh$OgJ%|zdCl+c<>C&1;_*if9lAH3eI6hy20(f1Ikl=2K^5PH;*8HZ| zylz4)aw#88osV}rDI}tigp@E{I}I{&Dmfud6i!G%8uSZOO%u^p(|%?%!1o2I-p?9L zjfR`Tp*#gYxw^!e+vlZ#b9cy|@6Slyr!mzyP3olCm4-RR!CRuDp~t>|+92%T_mxSC zA0ObwR8{FA*3>I1RmH+})sNLAMZj%Y-^;JB{&);?f=4+V?irK+NtiSJ-??QinJ3DAjm z;_vjjRj#$y1>N3=oh2myue~y*@Qae~b&1&D!T2MpUsTVSF7^ez6o}||&iKTRM*Prj z!=-U zgVIWg*^Q;2DWy2m11$PGB(>fkm5`fCg4RE~5VoMEG4sUp6GVSg*l5huJet1mzy+TR zeGgQg?%&C7|MKAp31f%%2~ZbQvv^x}Q;>r4r)Vn8kL=ybr`6uxKhF0*Vb^Eun$4S+ zuh|b>WY?foR2q$)8O9q-7a8um;-2bof+{lHIY}1;6#Ir%t4X0#g7F4Z`BBi)xKrvu zR!K4;)womhTJfdSgAJcdTaAXNn#xy%Itxh|&aaipUK=5s% zA{HGtHeT%q7o?8&t~5akr0K^QZ)6kbq{MDjEYUaKIG}|B6lg!Os6L4^W@0-kk*Z@m zDt(;!3AHD2MrfKRkncu83N>Dbjx^(CI#};YkM~VCUZw|sK*^AJh)7Fc3sTQIn)i+s zS#wBURiTcc;1uPZ&Rd&e#HVtxlKt}n8+ zJN2cK)-)EZrD1;)t?B&!xGg4S2&Q8B{jrCeR=g>IZWR=aH)K>@Kii;(g1O=W&N)O1y;wvgXWwo$o6OPl*=m`#=WZKc4U zwfSu;Y4dB`CNp0P1E5Rf4prs8-Q+aie^fpB=^0ds=I|-W*zk!X5||%)`to@t_A7)b zPfuTaQkgu>Uu_`)llq-Meka`K{;y(g>4%OUQ3k zcvSQ@C8HIr$TSKj7vpv4{(XjzqEIUOD^}z`vE8ud&>Cez6i&u4yw=i_-dq&4B`uKKP zbSP7>q|zXr$FRRpsEvCu$KK?uke)w7(_~0|j}AVa)($?9wtj8K)}%EFGiS`6HPe6o zrqtCtm)WcHy(Nx(c~*!u?$TV{n11-A&xw?@K7*5o#l)>2v3cIS*%-u3PaHNPdaS+L zSVxK>rzM3j$5==6bV1gxAAPosO&hbyzhrOuq6v#ejr8f8IIiCmeEHH6+RUb5H+n}@ePa6J919%#=+?)2@Z)slbR}h@Dldd8Ot)J6+4KX;aC&k4 zW%<-eHZ5ygR&L&z77(r&Vqqt2?y@9DHeS`V(BfE`7FvwUCsO@IY1ioK zQ6Nd2R>S-jmokdOZ(FcJfkw)>X2LO6Pxs-7nifhLP^qTzLeVPI_Md>^R0mTD-C-SB22&tF1yK=!eoE|_Zi$<%hdmId*mLGUg!`GUqo z6t`KBK-|}&r=iOgKZ9~{E@3K;7(@W$4at4y1$6z-1*Frpp624>mq zE_$f>w{AO4rHt31Mf=(q?781b4;(yC_j#vL724;mDztY}Et1!IW4k>~gB>A^Vf?iQ z7ZJK*e*5vDk`x-+s)PIdCU#1CS|(0OUlh<%;dXw=RCZ$F&O~-%;k8~kv2Ze89ZD#B z<~PMod%Dfuax%kY)KaLn7fw6Bt;n^UcRs>2RMQ*IC6p8LztI#^ygQ1);(5dyoTY9# z7X7xOS260>c;n_V9LPY%KBxWiWbFW~ANqFD@imux4$)H<=KGIpMXO{Y&Zi&GcFX6t zzswFzpYRVM4o9Yc%TA1EN2aqA;}4)~W6@f+)VrDjPD|n6x@97Adi26PcJu<>H_wh< zD7tSR)tN=BGm}q|42E?ByAslwECsU2KKE&Xokv87)wJ+Rc?G-#=Ve`;iJmBVZm zG}YnESC}f5RC2z`5r;@#aw8r*N4OGPS8g_UnfQ|!l0;I;dET2Z!-w;O`Hg}`XeM+N zdJFx9al%Gnr*K3#DV!7D$bw|$WR+y~WHV%QWXojV$=&3o@V0~v%llu;}GG{(xJD*0EZNZ#SWVs_BkAKIO~w@@RLK1!y6^9 zR4ZMTA<8Ps>dIQmM#^T&SmhYySIP|KG39k-w$cEl!Dg|HSXFExejyGJ2aCz#2yvpg zSX?je5ci3P#be?_6{k|D+*E$55~_x({;CAkaMf7VJk?fJrs{<1wCa}Xp(m4^cZg<@4c-Zl#;}geMjsR;tx%U$stMMO|Or zQr%wNMIEOeqn@u`tlp?TpgyI(q`sxjRvXkmsh_LgI?0?ookE-{In{J(=+xY)ol{q* zflgzb<~S{ITH^Gz(>AB0PM4f+INfo2;*{rPc9uIkI=eZ0I{P~pcMfr`;9SMIrgL5A zHqO1AtP#p69&OdA0L8=dI3roew!5cRu5M$@zQdC(bXNUpp7L2rfz&wTs5Z z$EBo8MVFc`OO4yl|0R z3S7B=s;Xh7QvCYds!OZBTX79ryjL|@S$kFUuiJQCH?7l1I)$lkJ|-(0;`)1_TnbU_ zkt)cg9uWO4#m{dn#iMf5-#~l-Z!p4X38}KK2)xG`A7Lj+B-kg-6`%< z79M;nwe`Rx;TVO~%@~f8-rAW$Ms^?3Yh*VRaKzD3nWK)hl|sBsVG5~hLAYGB=;P0G zE)7*hsrYj6b0GBbze??nPX^9bef&QM*4B!P4=y~o__+Oi#p2G3dVbY2)70Hds*A-D z#wl2Mpy**5HL3fwFDB7MCLW!1c>IwL(kL&SXy4H^YJ88$-PnW4N2ea1eB=xIprk^y zsPyYQeBF%zd_F8Cnw$^Tk+`de(vR--pRW)fN=-FI)jjEs*Q@_VdF@Vs&N$-(pygSG`^KapqlZnCF_FQ(CpztD;wZV!(c(*2X$ z!*?Gpx;=b3-5&lAx;@;NZV&Hn+a7)(ZTIK5hkrr0hhv%2eJJVp89F-df22+1=l7L~ z+_&fw5yy9rRPO8FZ*@0c5$6}a(qhVIuu>d5K3pkE&V4msgvg^$-yV6wSE};lx}*s( zjyEaoM9J4UTCMoa5m_N2ti1d(x3K*oV zlVl=Zt?DYp2<7`*Lvk#(K z>G&XuFLrc0K<%X!7B=>uu4s-)@!C?B+*DQ}+O$!tallMx<-5%i-`}-tmY9ys5+^>n zSzzt^u_E)xZy931WU6i6}1eVH6 zE$@@G7e8X%t_N0!?n+;|emy>Md^Hg3cH1d_>2|nkm+m8zdi(EeEMK)Xed#9Ot;@$G z;6x_RaUG%?`E=af>wgee847mcL{oLxxSCm>jS~(#WN;$bW%iq)C6dk9@%ZZb#V}O!sjH)6srPxBD&8C9KeNAF$=#&7C_kj~p6k5|;*i5g#=&+SkO?i_;*=i;qli$r+l5*df4f}UMDan*h-KzRV4qCP@ zElAwJSFD}CYdkv3ZK%dw;8C-`>l6xTEc-_=A(t9>qo;1G?KR3G;x zsN-JAv~gdGg7UYC&;l+FZ;zr^Qc4@7p{5P^1`>!*V)IQyrTGx(;xzvyZRObQ-7UWk zcGvf$yX&`Ncl|c(t{?FJ?s_qVXM-yVsD!r6jvzCQRi+pD#gnN`XP3gwtPSJ8$l% z+<)w2Sf{t{ys3npH=>V8W!ZUSJ4sy<2L90D3^=h5supMR7M|~`5Eb~0g2RFpYS-qe#2RV&ttP_W@9>b1|) zm7O9YmC!DJUvj`A2kf&=8PlOKslHv4V98$zb#z;<`kd&!LMwg|s}v8m zRf@Mzc_XDD5#NYK>&)ZuS3*P`P3D){`}8>DWO|%2<{hhGKqwSB<=gUlkK>>UPocFO zlKY08kt_PN`6l*a#(@=>QHi}RpE7aW6ndiE(v9L=oI5ruen4g?-!8p+=_Uq+**qUKs&q_fx|ZplN-fo2ZGl?8Dl*!?F)6 z#$WwdN;bG=S{7}kW{Re&_sU34J+yS#g*npkN^!p8M7UOLroAjm4jC8e=gmhk$C`DG z9N4w{EPP)k}`C#xE1F+Qr&!_bxszV6-A9r$cfje+A~?8 zcfja18>ix~;UW>o7Y!FT(qr3j6iD4WP`VT%4v&fH<)fzgA3tI0c;6J%&X&~~$JYc< zNns~KyJH{i1e2Y->{IEANoE%vHmqr+QXIcTDMD%SJ*9|Aq>;m?h(k8T#0*Ik!6e^O zCfVRW@I5BMhjX_3={a@=CD6T3OGM2*MVj=5RdI~S*f>Ke{-o`dAuh0%b zeqH>roJ9p9Hy)jOTLU$_ulplk_3|ygXE*h#SR%4_SJ9#v zajRCWUvL?(q>z91RfpwA3>Tpe0cT$)h=Y~t=cBaZ1e{5hm%ygB-t@-Q7G4;CQ%a6n zaXdCL-e-pE#$T}#RjMEs?g`xgi*;8Z2EX`7e@!?penl5^bXJJ2r=Z0ZNAZX;qwpO; zqzWgSE5w9B{c(=D=$b7xHk*56_);8-FdW>Pio!ifLbc!{+eZ444I_hnmgCR+M&j&q zsghP4J_gb;@Qf5Fc5aP!*X*z?-AOySy)Iq4BT8imMscNt>mJY%E1EQ};gARCkpUv0Wi(bn1R)qA7rV#AOTpSB0dz2c3d7;$ zPjPs;c$ljB7Bw%BjS2*34T(5Mue#WPouDcvN)?qNJ?73;r0Z(~L|1hG;xjp>-m!eU z%@^CQO#rJWPCR4GFp%44jEfC|sJXUi$JT?sC)P!_!5B=+c#7#~b#K~n(~lp{^ZZ$v zprT)pD$-#IT^5*&Re|EbDPtrDt#~C}D~?zXmTIhMDPm2LTbvizCiS)$P zmA)b*!>F-S#g-GaB0K5WSIlpR7hcRx9!$l|yp%48ZRO7~G6orYqtlXUmr-FNVjpCJlNK#%S6xNpRkn#&oaaBPzFb5XG0Io`4qDYjs>K+Cbz?>B%(;qtOp{(*bb?Nk zid%*lj}feNcMwELxd1f7SSbpuB+@zHo;ViWR8eHYQu5M@)|YuZb%S~Pn~HJR#lmqM zzng2zUBk7eIiK&rwd5Oe<@hA7As+<02#mpfD%X;P0w&IhkAj;F$Oo1ITk*UnyN2*F zxQ1{+d|A$mU&=M(%bJZsDCfvmhHfn+E3m^yh z8TSrAJ&POH2zH8)_u7%R<@->vdy!KXwlQtzPl2}mUq>k+>Ys$C^z zNNv#f8B1S5`wQZ4Hse~ERN$Nn`wrTFd;&s8t_kZ`Xy5V|Ayoe3u&l3|#}&6;!*Kj^QeJ>?&jfqT)J}4rqURy#RW8%Y{;~vX4O>y?~4W$Q6_= zos$8s!gMZ7sEx9rF3AYa2WScST2b734aT)1P!cGP`0D`0G1e&q1iA~5PzCbwVP2;sf!@|tq{1JBu8HDz5=G*~#)d4C%14ICn=BonK zU9h5_^;!~F`m7P4=K7dB*?>OUNA?5fBb4FF3$1~Q=z|*J+K$s&ufDMR3bk1LK?qMl z(+J{SxEXgn5dA|i z`m<2Td2gf<$}#@pHgG;%8pgR5f}u_0cHUk zfn@*qV!joVai#uj@p!{d zaRfLItMLWaAnMoaZP9M zGR}ChnGMiC0;rfRo8!44pbFeta4lg*<43qb`0?Br{0O(2ONF@!Kf+z)zJ>WCeuT@% zj}TZmp17m`C&Y_*!R||ZVU__$@g#(lg}aXEU~fa(!QO>*ff-Gr;WCDdg?%wu26H)C z4wsc=CCpW16NL`}W(O^}wHv*R2%k#ppnI2X>1({P@gH|NV~xd5&h`kmmuedANOyUcvl zuWxb`_l%jj{rU|` zg*0Yn%Y>x^z;u&=mRUT7VG$>fbj8A}C#U1Wxw>3au07YCi{u7!N!%!I8aIzy z0)E-VWpMksZ@9DE748nF=bj)waURPMJd#%?i*6Stfm6ji=^S1j(mV1GgmgcUsB@Y-yP%0<# zx)yhNbJ$ana}`&fYl~+})U*fZCj@gmI1RlApNFtK|3)au@q(;~k5J|#g!w=Z03YQ) z@Da#-_%Rbf*g}w(l4y$>Ttluk*A*=h z&kf@ya0|JWXoa2JA&$1U41F6fz&~v0cdRz_a6GMN8G1RJ+onR>#X?)Y&4y~Cc|!>F zb~FT!)=<&jj(%);@svWto`0 z>CS(__uzZ-z4+dIAHFXi$@k-<`53-G=AC%i68LDzx8hs#ZTPl)JH9>Nf$zw7;=A(Q z_|81~TG=er2aS6cu(&X8o6CwKF1&1|Y$1HjD0JhI8!aEl$Mb`*RxW{0KpTbY&r$NT^LLTy`v~ z4eRcz^AUV4z6RcSdEpj()aL8(b@_UHeZB$TkZ;5{=9}=%`4*t^X2?$vXpYE2(Jv4g zYkS%fvPez|S#W_|B;S%tsJJU@e<$(vp@tvkPCJK zCR+tZtfTZ4d0Bmy%4^(R&Hzq|gVg8wA&~bxKMayy0s3zV3aU-+lb>++1!z5tuS4|YDeiiJ?kntogEy-14ag&sgS$T9ld60}@+0{fcYVP# z)%ZrlKwjW368sa+HztqCFSzRmUaHPFAx}sy-n62@R}p-3*kZt6wfGjW^#`BT;G4o0 z#dqOrQi_Evpp-y+3iN)or@$CKRH#ZYw*CaKf=?O0{-wGVsv#YLH}Y=Rs zBN0I+C!DX0W@!2=^KKfzxJ6oQ0cp`=h+2oXYs@&bB2P9Qf)Hh9KF3NUBt&HF%l zASZkPo)NTYKi0#*j=3VFi(2UhmR`lLfsD8Kh=C7kYsq)A_!X+6q;y>2htVnsipcTi zwv;TzJz}t?_Y+!4NyFj(2@B`Pm;39bK<$)5S``SS4*I)coP#w7eu&#Z$G_+s<1p%@ z`3l01BO1s9f?je6>j~(nfsR*_*hreTPBHimvASw;M=(w-2{}?4rBX6~UM%L~tc2BB zd^K4P>a)@|2Os2eEl{d*TyK_oAC_8QmcK}p^%d6-t(M32N6Q(xD74-iE*dRZz{T)y z`M2Bvv?RyHqBVJLAX-$$#i3OdTs&IVo*RVLRdR#T!YVESt?bSvqNP2!A!uzME(tB} z$0eiH{kashd>}Uztsle<0|f+g!$Aclxe=g*(%eW;LkKqt6cNge233^j#t1sl21fko z3H(r3rO-yV$Zc|md`Gg#_v9|QN3bu66fk-rTqvd7Pf9;XJ|+SG5_N*&sB~3g?4SPL zyFegD0{Fwb0KHn?1>U*X#{2ehQAvZjip&fj)Hf-PtIf=ogW?9oaow5OCpmUh6c^3R zfryJ(Ms>`jV`9iBGy#qK{X1g4mt$1PVLZcOr0k6Mk3dj|WxPql5R7%$Rp@BFuCQF? zQ>@qhoB~B8imFHlC9%`#Hle?@{gFEL>vTmdD((^Eq-pRv2l#JXX&QfjI$ba`bCNrc z(f2LKNL}s-X-ry@_M|K6Mf#J0B#{im z`)NyDCy^Os9;i*}cnVp$gm6?Ie9L&r%)Z~^h zdkiycGneJeK8BgCnAwS$HJRC+-+-8_FnbU)HOy?mOiOIO%&uUjH_O!={w_lKQ#)D4 z>}uxzBmWpKPRu@&x?}d`2F$tCBnO!P%FOg&W-#-a$IKjNZssxCB!29v9W$pglQ2_c zra#RIYHL4y_GETvmbW3)M2a+5>CAK`RNBp9_OjIEerNVjWPiAVEN#_p;W*({eGc_X? zMx?UXf*4n?gxmY5&&|Pm$}+q!Za`186K{;~sP>O(wla5;(ky8AW14LYs-+Yg1iE7s z3+jIhs%;FKo`DcH>fHwVy+|6<5}BW&L_W-{!OWh_)G@OpHM!NyK9HGhn9CAocVuQu zW(F~H95cHxvlBJBRAz6&OiyNNnAw7vZp>W9Oc!R_Gt--ycFZinOjl-xQ+!u7>%>0s-`R4RhWgKbmENO*fQ1%qW6&6g#5@)0yPKnOJGlC zF5Bt5ehov792U|-d8HA$G)6+f7%Av58jIlSW6a!|>xj9A)?6RF!^X1|5Gm19S|fNr zfy*RjXX7Q(g4wq)b1r+jhuNDm^DJ{QF>^O_Sw_w3rE5%K`CyU(GZ%D}!~IvTG_Ais zJ%MpE9orV^abbVNT)_R+=TI3+7GlKGREQQ*glWQY;fi1o-pZV1C1v5V#4oO>uQ%|H^*+1-Eq6ScCYN!_NDFX+xM^^X1~Bb-Tt(_-ag0vjf1^| zheNPKRfnby-5uf`MmfxISmLn3VYkC^hbshuxN6f=+FjrNes=O*f)m+t86|G8CjZ#g) zez0Y#b*gQu{iJ{qK>K9IdPVJqhIPG_O>g?m((s`Wo9Oo6zY0mqd&pYd# zbDiI~$gn@l%O%Jq)TOFRU6$#gmCa>?b1ORmcs zSDCBY)yp-=HNv&CYohBc*A1@UxMsP&bW^#NbgS#u-7Up!o?DvRNw;jb7w(+9t9!6} zRrjXu-Q5Sc4|AX5zR*3*{Tui5?swb`?k_c*My>JFglNJwjWr!Lk(xx!IL#c*3Qd}3 zzvi^&hUTH>g{Htm>EY#3(xa|NYmXit13gA~O!HXmvCdzbF|E63}Nx4pNAcd&PP?{M$>-Yvbm zd-w4k?49DB?tR3sxnEnq&VD`oBK-#V4fad%8|62_Z<^m6zlDCw{8syI@JsjG>9^nS zh~G)S^L|(SZu#Byd+7JXFURktpV9BFR;KmP`e_?$`)fyOmudHFbNvT2xYg5~%XyoPT$uR148Q&I-6kTofOB6PB6YQmEi0NVnL`} z#6v?~LtF~Pg?U57@eH|mg?REfIr2ySoQJC(t_HZiV!6Hq*9FM+PCV&|Ckyao!Y6Vf zXSt|^^+T%=XMp(%QbND}QI2Ve@(@=ZEfwBpi^F$_`3+{0g76)&IC33~ckB`j};0(`L#L|he-KAmsj%{MTk;Ae>o^-fdHWp|XyXzM>j z$ZWV2Skt1kSJcnPckgokemMwYd5JVV7#%!CPGrbQAS?G%JTtKT(6&KN*)!U%EDWgm z338u9{Uhg;K0?@+OZv6R6WQ{qObp zuaEiuCq&Uv`5%vu|Mj|}z0121^`F1{xYv^74dt1IzS%fGi}e#9`+GNP|9{U$CH1G@ zH{QLI{CQgd-eQVjM(*>m{?C&q|3}x($M1{(O_z_~G~d0c{?W5fzr}vqm5z5TRQg9T z{&${z?me2O{(t+k&vQCThqdFyFs~DWzT!W2SER;1o`LxLT&PU2%x(NTHW{6BLQGGr zb3&IsF;hZ0@%_1z|CEbm4(9JRX-j*d-M!H6by>Ur`*-hViT>F3{!G!|e@Am;nTz^k z+xwhuX@O6<{q@U$u0{)l-4gdmyVwe#O!Zid41u6hxn4hc&R0dkX ze`}x(&=zP1!~g?;SYRL!2gCz|fcd}z;7ed3un1TTd<854mIBLw<-iKyYhWdSxo&(- zeZj2(Qh~L=I$%Ap0oVv^0!+wX0q{HU7BHLh2=)~a0`PzU$N)K@0PFyJzyVMKBA@~s z0X5(RI0G(#E8qsW0~!Exvcwbc0x%beZ^3!Q7pM!=1L^|}fQCRLpfS({XbLm~ngcC> zmOv|@HP8lV3$z2;108^lKqsIx&;^JFVt@faEHDs=114kN;}l>jFb$Xv%m8Krvw+#a z9AGXm4_JaQ%YfyWH(vpK4XgyVz%3ov3Ty+m0~x>$U?;E(*bVFf_5%BW{lEbr6F3MQ z0uBR5fTO@Sz%k%BZ~{09oB~b*XMnT7IkeZ`-Q)ay@ym!FWq1HQG(RB*%rD?8GdM&E zB~*E^J;SqCc$P25XGD?CBFceSvgy@sy^Qji*mojB4b}fLIIQBL_Zmkh7KWm4loa z;4_ar#ucd$llc%S0L({}Nxa6nOfiNGvaCEOftw}`wDn%PD6MDk&sj5ndF-v z(%gMeFWH508WAcFA*gQyd>UCz(D-Og*q%Ise?7`=FyBCGkKp$P{L=Al*FShdDHvZ( zxDwd)8VY>H1v8h=$0hJ~n3Z(^9+)p-m4zovFVujK`4D39;;zGf1Gov?0&c_o4)7h2 z1$+H`gchCm~rG0+5P3N!72gCpafLLH45C_BqgMj(K0^mzv zA+QKo415JF0hR*GfaSmn;A>zdunJfWtN~JiwZJ-HJ+J}T2y6njqmD9w9l%at7qA=H z1MEZH?FSA3nZQBd5bE$Sa0ECCd;=TmkeakmY*Nb9u;YJ!G~XGFuOs zt%uCkLuTtCv-ObKddO@&WVRkMTMwD7hs@SPX6qrd^^nmjrCklA|hOL@p!J>;z(@-_|fHVyJN4e}QI_28BcYz4Lf+kp&V2e1>^1?&d)0DFOb zz<%HWkO>?F4grUOBfwGM8{iml95?}-1Wo~`fiu8a;2i3d=Lx=u3+5?BY*_z_9tIi| zz_~}jwb|gmG=MV= z;7kKJ(*VvifHMu?OanO60M0akGY#NO131$FPB4HI4B!LP!Q5rhz)sK%Hrz&NNVG8h0Q0)dLTJhroW6EQ=G(JJI(T z(D&q`@5x2qlWQI0=Az%p#Td7M)3H)!p_ExDWfn@Ag;HjrlvyZc7D}0gQf8r)Stw-| zN|}XHW}%c>C}kE(nT1kjp_ExDWfn@Ag;Hjrlv&(Zr2iwN7nP8Zu;3j7c*g+VF@Sdr z;2i^a#{k|jfOibw9RqmB0NycxcMRYi19-;(-Z6l84B#CDc*g+V!PynQxB*QGyoa`jey2L6QC*33}_Ct09pdA zfYv}8pe@i2Xb*G%Is%=5&OjF+8sm)^U;q#c3j9moK706T$Qz;0j<112nZQBd5O5ec0vrXt0geI3ffK+<;1qBgI0Kvo&Y^u9F<$k6%@b=$yfEVMF(1cn z0WV0@x_D#D!44uB*9mKDhJd<1#Y;#TQY9BsB^Od97g8k`QY9BsB^Od97g8k`QY9Bs zB^Od97g8k`QY9BsB^Od97g8k`QY9BsB^Od97g8k`QY9BsB^Oe~2&rO(R53!T7{Ry4 z!MDf3x5vS^$HBM9!MDf3x5vS^$GIQOZ-@q?4D2E%o`4tN4fp`QKqyz2OviY01~3zt z1y#9zc2l4tNUW}r#+UYSH2^$e_9{G*)z=~@bd5zUedALgOlaDtE znnsZx+xZsSlyjNp?uFJ3#){-TbCww+Z8OHWuxFZg;`ahSBYK;E=?^^!`+FA-Dbx60 zm|vUmMt~TN|2#r-Hp@*eeCOJHv;5F_kSDVNW*&Ued&K|wKhQ77LgM=VAHrT_IV*hf zF0J={QeQR~tUk8>v2x*!$o#!|l=(4g4kbsva?C%Qx0>%F%?+?Ww)wVQE%~wC6}?*O z<t6F5 z*k}vGN6}Q_g4`C(V_|%l!?D_JSMWZgHhL}O?Du2)qdQwFg|$FywMablxh>72@qmtL z-$O@+9B4HgR7q*`A~Qea~O|3LL2Qxn_Xn) zCG!O2C=)&}nh)Wwt0Gh=oMzo+2!r{>?_@|v2T`eQXoOJbv> zBE13iZ>x(>g)QpFaztwrbpP-CnKvMgY}5+t`^*KjPCxgDdVdYyHk$mywk{fnt;UMF z724Yt+L)!VT-N$||Ec8;eQaSK-bo5G-6itT-yfCdBhR030F69hb+iB_pJASCPC#p) zHs80E3A2cw{tGVZ3|d2Z7zJlrC>7K~X_-j_(7Kh{anGoW*7N887$>4fvHcaL8MLI8 zK5b8JS6d%oy$`|F2W!NAa4n5ds~4^^>oaZjpEv^k#O^d&NAJS_85`|m5jGbyXP^B0e0=ZM z8`F+NW%9OhJv&Si94{?q4j&hcQ!)Q1p+EH`q11uqG`IFi~zgwtIon zQ@O%wmbO>XzOm4Aq2>K@7dq21S@xgIbs(t6{$0oqZAIx5xwO!ab5URK`>;HreekFL z%ySUO=V+W#-UrX{?qB$4dj@&^6mw~x{i8MZVf%hEp1a`O0r2|=y(UY*#hRhG) zM#m^0wSZarP&U&37QVNC91qHkeuKGRv|Mebr398*qjn2Nz<-gJvQZTakM^PR>Em+2 z{R3I?hvj-^NvmkNXfBGjpDizN#hb4!$3?E#z0Y)vaZJaUAJZ{L^;po|n^oYCYEr9= zU7FF@yGeDZRl^?NROpMMI@D@19cmFwhgxl>L#+rGoU1{~0mb3;;OB&tDI~H0d zseZI(Oeb1vrW36V(}~uO=|pSKw4rrm+R!>NZD^gblM&j41nh>z?h+aHJ8Gc2tUPpl zK)Zn8BDe}}f|uZpoH_w6$gLal?2P=Sa+RRn?OWuW>UXO`$|65iNjqq5t478mC*jD+ zVrZXTg8bBA`KbjBJ6pKgEI)OiGv_#FGpKg9dPs{vyDrtOM0dc_U92=$9)c&XRKte? zbZglg8wiPq=SXcS;@pDg&}Bk(jldVx79vLu?LgZyP6a({3WV~NoZRu zjr#WET5+8)PZ9&YbcGuM3v}aBvF$S!8UO;gi=-SWkA3@8 zGu=~CjV$E;K}$y(p>)f!S9&G#(j28bhkg6^q5CC{{K^YtDE99w$PC_|w`EfD z_y9hD%;t;n#mF3fF28`x<@LOte2JWE-^)GK5@*T11IxV^%e^1Vy_V&^9?N}mXvmm` zeA66%fi~I0#c}(%A5fMbk^60bGWRR3xo-h|8fG$(m+=lH0lEh?D1$feO~&)Syf2x+ zYk6qWM2;VjNyzOWj;aQst%f~HsChZ=?C_JJ#_e$@;s=da_}QT}j&O6vPXHCU;E5}K z0;tIi&#?&;&#~1Kt?hxI6I#m?zUX+!6*}^~;mZd^P`;2wrw1?=3fh`UPo zg@L{+so&Nr%GOv^OC1VT?m0KSb<6bj8M#G0=!Q7VTV~OeWL7anmuoSdq*J?N?%)?FHIj z0zXuzju%-5F85?w83UMB#&VP!;6gR}_>teqTj-WG<3I&J(3Tvl>cJV%=xfK@L1!rV z19k`KNe%(csh~*|+lisyTg|IscjBF3cjnPAQCfr!P|zYw&>~E555hj+AD~y@!MU^_ zaAFimH7Ze^N|XvI-O>Jq(j3(n=nmSV)JFSY57aEBHdzsBgRUU_6pY&37`1tW$^zj= zDa?*hmqtepFg88KjZ;BCqY+b5r)#452G_bMrT?^XJQdLQ!zSoWONq5=uFM% z%nNd$1xi7wjW9YRjLw`vPn+OEsmFy;4-e|OhWx*y8wH~qH_*x(aE%F+;ln6HLjs}K zsW|JUi<3|iiWyjFA3@txBeh}H1vU6EYVc#!pk;I*f(|C36)6QcG73;L3cz=8%rpBl z3h-fV?}N5qiFsh!>OQR1eOap)W3BGXTHT(tx&v!q`YM!V6=1?i)p#OH?VxL?3oYW}x6XfpA5=2XUmGYKOy&}xjvLv+mbd&h$sRB=U-g)G@jZ^cl zYwEjwpIJL^|J>eFr7R4vq=z5S276wqI0oV1s%(e^1A-in=PgFdh5r zPH)31R>FUk>Q$<$Yn2^*rB{pGjSY=&BOVVWv zAAcrkn%}6Tz;c02D(NP!DOywlnKN-Nr<*vFpE!}*(k(jWZmn5kM`abfp3rdg+a?3u zJGE}xM9jJQ^Od}CsZH#`UAg;5Oj6Dn<`MIV-+sVx zASETSMuiIflH$t`Lz5(RZ&yq8;Z-!q!)@5Nr(MABh36lun{FkMdIxu3N z{k{uHgAP16u3omO%IO&wZsZO6wS|xAc7D0#-0JH;eLee!I!CKdP(@$1JJMrW$4!e5 zIbUx*d+Y0js7o;p>n4n8|5Pp9i5qoR?v-1xk4!nnbuMi<{6StfeN!l$8E zj;E~i!7hF!+7P_e$-BT9 zZ|_|Hj}lcoeK+w9SoAbd&dQ=qj(LCeU~c=y4WxU6nmUGU_@K&k6K5A;m+tk#G&(oh z0`_jIE>X!TP#YH5pl@PSn7huEI@`I44TmO0_8mMdHa4VSP+lE!oE87T(r@lXaEf@ix7!WaI6>r9+uSf{NA( z<>pDmiPKFYN}f{GmW#VLT)G^%LpgTlw&_E2_qP7^!3n2hF@2A&@9%f_aQ?+gTc_w| zb{#k8UflhvtDTNr&l&M@_@;3Q5yuwoa6B~NRs7qR zN?*AycRi>dP$B)vk0)o%2{|>p*!1Y5le>0F7$I=bi>l9#qo^ZN) z)Ga_(Ll>^Anp!!v;xygoIwK3M6eX1g^;p+LDOFqIgMR6~9)>8;FTs#IwSeR{Zgv96ad#no*7L5_73FBakBKa#ap9u(a?-pSge zp~)$Mt)o(gCnUv%p+!(-GSMxpbiXoz6?M9*fi|BOaSajJI3X#p@6eP12}w{I*gtS+ za#Uc#;P{bYjdTrYSivpA79_AieBb2cz)FE_hepQ7_6uyA6bsdZBj4{B0_$1gN*PJT zYZWTubydT{KpHj?U#Y6DT3A(EH}L;dVgFh8vm@BvzRaj9tNWb{etrL`no_TS-F`l7X3wCfA?cgy@0o8r*y+Ho11o~RKQ%R{H#i=X{G+@5xW{$YBxhDqUhP?@^7JLMUUYa`LSyZIcIzhY z&^b|NX5$&TPC!TU{&)i1KFBr-Au3s4UGKF$Q@_x4({<5x@^Ap%#Y9zziH*isH$Z1+ z9XiY0=RdybGi}@4d2y$%P8fKrsaNP|@AA459>uNQQG7y7!h2(w3d53_8;$AR@MQeW zsLdzu=N!(}IsDe3`Wt>nrLd2B6)H>?1vl6Aj=Y-Xv#dg`XW7fk9UY#xab!?<&gspm zBV4yfsv9NtKl9Vl=yJ;(#`WHD=ThmYmn7ZZr-?p4f6T(}_OXGE-`5^AIKpvo))U2- zb-fN6PyGDgUcK~(O9C%k?ym`-cwzC2byLcSZVB`5sqUBH?`@dv-S9@eQS#X4UEB1z zIBwEFkxwt-S$*HV@jp$83i)c*(P{c#6FnxEbN*jDbMNnpCaqizd0y@#PoGPvNk04{ zm@lw(>YwLMtVXxb%?*sx*fy{Aa`gM9wXP0DecSo6`PhCNn|c)Pn5*7>BsHG5t!$1< z)wiiJ-(rn8jF*ILld#W-`Q+r)Y7x>LfANLRr!|7tR=iCH_8?frfW_KBXt5^xbPbnB zL2_ZA<*gtCDV7e5Vr>hxiZyEkOGvS16p~t$Tda_u1}?S|OB6s6T?}jmmzS5LMs!g@ zq5`lCG&C^O1NNrC<(eu+x#pao0_>;&8_uA9iV?6^0_&p~0J|lo@B$3fM=>;k7hrc$ zy#;Lhg3RX-=5kKV$xO>H%F9eN6a*)CV4I60I5AJbE5A6^P}x8cq>f8O$}uHB321L6 zu#E=v46qjk?bD>D7|Iw(fqg0>?3o8NDi_@Lf+;n$Gq3^63Y)rQre~HU<|uf&zzbel%qWt3gv=W72AW@!Jl&TO0bW#e$kTN5f6PWQi0dN24@tSD95}O^{cZGzy>Mja5 ze7|bjSB5RG;^gP|3TS_I-1KpY!DHt~Klon@?45u5nyFNn&atZ(g|n^V7P(F8o?f*g zws*4X)5ES|+Yj(>TEpM8E=2U4%QkJTs9ye}-^&|(u4QVOed&9#M`iie*)#1oRCpOC zoBnc=zn17d{rNYa*n^pn@}!Be8rZ-q2ljeFB?`EEgwk>V_Dvi>Qt~X82IdB)3yc>S zw&}xKD8Mbwg#ZY$DPpT!Pxf0m62VX8Po%Vl~hcO zVlw!WAhPTcE3^$l8NkoS;KT0Fk$gcVrC+020-#nYLS6F$T!L?5(Z)o zBIjqWd{wRX#rtGm|Md^7YVRLkT0R$;hB+aAbOJgG*uP^D0QMdc!xGXg;MN~-XU>1L zY!2?Yt$MwErng71>y3DcD65l?5}z82rrL?_kV&gsbfhGFHBY^b?jzUVs<)?Ro%9g6 zeeR}Kq1>O_a%UgDF`w3We)eu7H$m}$h|l)N6g4=xJ62w4`nx7x;v&NR&7Gbp8DEg4^`$tIJnpr0=g@=fJk|@2!l=4xSB)9>$L% zCO$H`Xx0?5yn*?&NOO>ad|8*G(vJT}l7AiOh}k<<1_(9nzAAgiExq2g+vw$$@bB-R99OGbD>>uein+B@zL{kUTrX`j zsAtKjKdoIVcUG38=YHmt<>rg$R5v`B`S6{&Z~QrHk#}uZE__ut-J{BFvAidFuJ~e( zrK>mmKAV-)h|vT=dlg{XmD+rS>LsWvg?w1OV8Gs=yt-2;(x%R_!oGD0lk-404YH;4blx#QA^M; zB1_QZf?@+LSh2^%WFRMnzqCcE1?biakAUV-kH{BFm z(U3P72X4KpvWOXoz`}=_3C>~$hA*(Z7i0mpmX`o~&xXL>Gf)87w-bQ1fqVnJJ#~$A zEs&bQSnCDkii6m8a+uOHlO;zIPkZcSTpP9`h5u&H#3Q@U@H|~xwLq!Rsbx zn`(Ati>-r3|7?Nt%4%o46;4l(kL~d>Ic0O>srj}1r3!mZUaQ?)$NT)~tnUlAC{8ra zZ+j83TeYTyFXCURbh7<9!RB(V+39LF14t0GR|Z+V_Yliv^7{ zfC-NiI%}c9XvoeC9C-mwdKgH;XAwA=4SA4S5G)2VNIY&sKHva1qJ1H1poGNZ0gYKM z6lmZBHR}^Wt!2>2wt|5&!f+Nt;J9+J&AvlUD=z;pP=C1mT1xQD|6TLGA=kCQ;Xszg z2H{itr=%GCe0G#$?)8kr`Fnq||IS&oET+k+PX6wfhMIR%H~7EwD4b{4a&%s)X3FN^ zIsZ(a->+RfQF(h|MW~34m%?-nqX5_oUDfY;0YUZV?#qT;JB`F6h;)BdRu>D zyHjnbqI{6@cfSkwEswuhix~y!GygY!J`j{6^WHS%T2EWlr%mlk6dzXa)tbGokpIQQ z6*tTlH!rk2ujHiEw9Wc^?BvXSPHPl3n*1I;7wZh;GreTyvFM+eP-|QZ^FE=MAqN%Z z-qgiu8*u(x!=Ty9GG(LU(N}2^c3)C=#2cmh{678gp%(|c>hX`i^(5I8EjD_`CNMAn E0H_sezW@LL diff --git a/example/font/SourceSansPro-BoldIt.otf b/example/font/SourceSansPro-BoldIt.otf deleted file mode 100755 index 071d0c398eb8a00c9533afc192952cf4d3e2c8ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101848 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 !)L#gmlQYt3YS5TN0N?R9R>N6pI8DLX=F#< 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�T>kZe&r8tZo6BIDswE2 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

Jv&&bdeknIcpZxUoif<2BX_?hHWJssh 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 diff --git a/example/font/SourceSansPro-ExtraLight.otf b/example/font/SourceSansPro-ExtraLight.otf deleted file mode 100755 index 43e0c69ff3d98460951c3edd92c3817d076f9597..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94560 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 diff --git a/example/font/SourceSansPro-ExtraLightIt.otf b/example/font/SourceSansPro-ExtraLightIt.otf deleted file mode 100755 index 01ac8765b95426f579ff5b485e27b30b07469ac2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92880 zcmdqK3tSXc`#64Pc6WeTSZ*#VxXXxlMdXgCm0T7@5s-_DX1Xj3tXvjY5Yddx%)Di0 zW~Qb{8}X8vnVBh>nfaQTnb}RPOv~Qx_gNdu-}B7bal!QM{l5SI_w)Pw|G@5?Idjf) zp8NBhGiQdJf`S~PBX<)OnVp)FZ(7m&;hluZ{)P}TDlH>J_@;GRIU(cUC1krPJwJ2Y zT<*udgvl99NZ3>3(oGpjxg*;N!(M^*KaI=H$v-!vXbEBb;r!Mg#^o2L{&{jRLm1T$ zg!uaA;krN=Z0cPn<}CPamj9SviAwb))Q~sFT=h|oSEK*@PA#aOAS`f%#aj4*eyS(_ z{EiUy1i1blT>p~1di5l|h~KItLUM^}Box)mqvUs@A%tDdPP_UenTSV{&fGy_83Agw zDwRsD@?q6*;sxyyC;2BOJ=Mf8M37kayQ>_I$OHk(Yw;rUDf=)S1i*=qfy`UidfkE- z;e+3yFYy$ znMQZLmh@&8yUTuouQ8k4WgY1sJlkCkApXJky32tiFnBF3!+?D76YerYw877~%Pf@l zy2~o!6Z{&`%BWE;^MjAO%M6L{G0t6PiEobu?y`zZ>9N#ZR+H2o=iFrtsn>_Q%N&W< zuXUHb$Se9I?y@(D4^jI1kX|AC-1S-#8*<8B_UpH@r^a2@k@2I}xXS^=IO;=pIgmt* z5@{J|>@m8xyUdV~(Zk(k7RqVvvWf(aE@~HIqhq2Y@jF&XDX|w@h5RN*y|v0AWL8`3 zbv5=nbG@}BN=T`!6!L6k<@F9B&+4$&&4tQ*dqbTCI+&{+LT;U1FwLv4GiPC=%zAUB z%@Pw89Tztm)oL_tiY=kx@U9KvdQPh8=AZ-$Yl^kbVY62Y6lQKd7NVm^m)q+t_UgHK z7L^n|y2@N(wbz$MRoaSUqY|PLM#jY^-+XBIpf-nK769`SYn8dKLa>+q8%7AWYN5W| zDil`RfGt9PJ#YuQSC@>i*9msGQYTpK4b}B^Hmf7*=KRbxH&hDgQNnm=T3%mYGit<$ z#>U1dGYTNeVy_xe-&A8wv)44$Avgas83}`L2x&;9&}geKza}*y!(Lr4WP_&?22lnK ziW2^}IpN3q@df3;XnF8_due^6xy~v;1*nO&+5xO=s4fBKA#d|DvxJ-)Yc*}0MH@s4 z9u0_zx(3hP9U)olH8y}#Y^}66Mxsct(p>4V3+B0ITcx?U(n>jD7BW&M3+DP!f}3Fu zOP#Hz-Vx=nRYuwC%0}d5WZ?kA|N9?5UM3>flr3cBWETionQ5l%d{b8%gyBMLqL5)N zu4^#YHGznull~tL>Br~hnNlXDW|@%LR-w!e)T25hQ~$zHVK9(6L_jgr+XY9xt*W6C zlv!xB*HxA@+DfcKiFGdUvZl%k`T|fa_DWzP`UBfst5AwsR8wc4W3|*fB4rQ_HQ+7k z<O1}{=> ztD$-zo2$dEOTeLwEKnCv9*0cAHN`|)pvsP*8$eSdfmsbDplXpqmA%APib{vL!I(fx zovpY5Jp-a#*(8`j!|l~&cmyfHIk3ChUN1Q8m7uCkSXt$;R?Y=)A)w6U!6E@&OC^kf z9jlu_5Oub>lwsgqy%7|sPDU0<27K$Rl~%LI*by1(Gtu3l zj=7mm;nrDe8*Ft}S^q$R+(HIHK%E%`s(1{K7ZFPAfHe+guBid;LtB}Dc1wc{Mb=0l zrNM!$MYEv71>kUEtLs7_)eFckGqW=bGIO%?{rHFs)Op2uMF1M5piVdlLULGTD=D>A z0t(j%r6LwQu6#TQ-dZ=qTe0czg1NNb?VZ8Rx}%Zk1utgf0a91^NUKb~kpS2dJ@E12j-OhtSoOZq7qG>LkSq-4UYe zsIvGy=2HdU2Nl^|A{$q|JrYD-X{`r!h!j8z91X?bj_Mn*LKr?=aT|C^_BD2hAy6$V zF7>Nj&{jO{bxZ)+Gzpe+b2YH03>2=e%8b6S4y(~&DyrC>9jLlOwY5>OR?oH7*{hMy zl-!ht`f_{SUx{?s%D}yWFTjDUSOWVl17BH%<$9~7yxL{~*)-Nc>H^7%lCRW&5`#b* z%k3Zo%v`7gbE|bXtYidoO?i_t^Yg(bgn>d@PIkItAGy}LDw{*j(m+)q6|w?_fIv0) z!$|7GF^qtBF0;xJ1KH>v-CkS|CXK8x0~R&l7bttX4KH^BUqn4{6L=PA30~ML1C)KB z+b2V9S4T)g3i#Q|?k>Bb`kDs^P!M}=GAyVC#yQ2*OF@n8jfgBTtOSCVz1lGfGlrNU zLber>Ew`z3Lmu2xouW84PyieBgz(k?67lE|dVb-W6+wsVbsPMu66M?x1YlV!OJ&K# z4*B+k%i=>#0)f&{3RweW3|LRoS#Z#h z)X7e&9=%#uukV0{G`P9_T#4Z3D0;$r@Q}mJ5K$p%vCgX(+|IAOp~_r69MX*vIm^Ro zJbGrp8`z1C2f{&}y{68F2~HIt2?pY6US+L^j`fgc*sPT$4mml%emDStCmfY?i|S&AZu>)LLp^XE#CUMDvj0oFCK4K!+))NvfE#f8>1xbkAey3e zxP1aJ5~35Z1mht_4D{GF&pN*_~6sF!GQf;3|7P_y%iriM6!Uy zSt*&5OnCr(yopZP@^dl@rl#bXgv@*)H!o*OX1Xa|h)BtY^N2`cYG%RsoWcSDTI8i< z7ZkzlK}g9i5+-J5r$-8=X)qJZ&lhs?gv?2~S(zrN%gj#8DooGJ9w($izw8{G6i&)4 z0H6gqa#uH~OcV6W5CEC9@c=m`H8U%-peRzv$SlZ4m>B>xMaWIbE67YM%u2}`3BZkm*mH!%`1%mI?~ z1i48RUz%AnU6xq$jg}oz(EwiBc!nqSO`r) z%_zPo7OcZ-@*Mt}LO?6*?PgrMDJ2U4f?j0*wQbZ5mt=6ZGosR3X0C+mRh90=7iAgE zvpD8n`pSp3DR~*FGNlqSw`vSxW>2v!AM)E$@D!P_oGQR#b2N#8Pvo_7ER<4639*x6 zVuf-(X(A3%59KO23M7+M6AN6eBQ^53S-w_6qU3&+q!NyK#74?UIb6XWdC=DZpE@!Z zzOiLK^lX503!LK!W`Kz;bD_=-M-!O`ee0k;>l&m?s4)X{8}y0+7||pSen$hY=_D0; zjP3?ifk`0_zbQo8KSze}-(ZFO@ZdE?rqTg8+JPdW8=kpjV;?Lde;VK_;%1Xu zNBvjWZ#*>W3YzLo=3*V~#vG5}lTo<-oB3N?9PKG`Th(zHcT60dPlaO_cjufm?MTbJU6^xgI@p zl1%CU4H}1E<8dxnvI%512_jP#loZWI$(Dg!sO%N*tZ3@rYbbgbD$OAPNwJ1{S&J~r z+rUGhm!zHQxHQgM0Ww~%lVK@bF#~M$;~34*N|h)h z0CpIe%79X|Im8dIBIZ>x{WMO|XoHw3c1JO!xX*=Nlpkncr7}*)9i=Vu2K@rPMm;a( zCPq~n85?C^Ws$8^p$~lkMqkuNnt?gsI+YZ9C8d{(xp|38N)u+a zsLQC)$PYn|Ajk<1Wr#6y*8=S*9m4V#zvBhf10`ef(AL%OQ|$0s_vokS4b@=e2=W4Pr*c5<;MiTWb^-9ET8v!2 zp0|p$72f_GM{dk#Iy&NWqyChSm^C*7ZYZz1E}T`QO!fE{`vuNBJ7 zV8=B;71doD_Z9uKgKjp!7z!>PAE{7}F`a6yV#^-=Mw&et57Kor33&WPIz*)mh`HJD zDS!{g;e6SfM0ClI@&R&J-HUK@qZBYj@1$@@!3m{>T1aCFdIyvuw)?9@yIQeu!>oKf zz(I@0u?7PajCubV_Z2UT7LQtlF%bE#%!?>jsmE~uO!VQ3j!=0jKD?{nK(B(<=$ZR^ zC`2EFUI8gaeeIr;b+wG{vZfvfeV|7+5&zLV;AXN=tfQ;FJ3#X=R(JQMo##1JKo zyr%vHsioO$_qh^!cElQOg6b=kO;`ML01D2okb4-3uFvOghP$FiN)|%%3uQh|wJHN7 zKrQxq?No9A%sw!FVk@MP%K2td>A%s#uCz{q(YnXN?sJHn(W=PlM!u42Dqc}MGG;I+b=#Xvn?!RW2DzziC5XlyTlR-kQAi$%H9TFh(E@^Ez8 zTEUe{psSQHi|Nko?rr`~6R6#wZK4h0I85zGWJo2|a4&t0XPBJ&RUQAhq0Nur-Fli}0oh9gjltS}m_qw%{8&M+dQ z714UMDdYm?ub6M3-88~Ay6S@Rp&aNM_t37<6C?iE8Zo7IfZBh321Yrc$nWO7@^AoW zYI!h^$%N>D^EZqW0vQOOG`XDqm-vw@V}v=o1AZ0TrCyb;3gNsBB~Cejcq$o_k|8P) zgz5y&Vy&`nD-xt}vpem$;)$LKHA2w}l(pi+6qtWcJ?bPKiRMLkuH?W??wkeZ2eeG( zr(o#G1F@GUPo`}#3f{;MVO!LF8adFWE4%ep))SOA7zI7Bm8+CeI`8?PQA@prGM`hZ zS2%@ssLUo5&f-{zFX|?hu>)2nl-Wp(9ILZ|TDpqSJ*wPX?`XD!n%>>xAQbfEI696= zXKy(3M?N7g*ZU#lD7MBK(e<&2TG8M6ZJMttc>v8z(ayTgK`34*FI?kQsE?JY|L@2B z&t*sB1lrQg<|Q}NIMg(%P5;dt1iAa~W+9k!q3w3HKB_T_g`zYS{i16PI3w`1r!vFU zT_uC2D|HIiwD*m2?g| zZv$hKlG`FL${|Xirc^_FYNv+>I6J^Ngx@x3k7H5!A}6u6 z^@h;V{~)$FA|5GjsFNkK%_uWUWjuufibb&u8M6S?A`ex_XOz*6=I3^}g1BL8&p6%r zj1<##NQ8^_iV>G`ynDt)eQaG9`-yXV4~%4gXQls*tF`&c>>i))Ne&guqU-l<(>r97Hmm*sYG?;GRje* zN|AQgwX1kp-qdE%+9^zh#TyV;L(_@%;u@T zrPQD=rBqT2#>kBFN6&y-fNKG0`DioL>d;#03J6MrUP14Hw(@rxPod5OjkAJYpcLrX z=y59m2ClE5hL*@#lZQgZ|9Wylss}gb$A8La>Lop++?dlS3&js9ZRtA2e`i6SSewvI zcWy34yEr9#(Ij|F;09sHOdC(5;;1xj)!p6M@+49*$XrB$RPjW*5d(U^lky7Z(77-+wipL^706iNNJt&FM6MLTb=)U|{c+TZaxKLSd4f_# zTs%-P{^Qsb59I$8H$2?Af%Ip=FG8jo@>e`?heZyw!BG)5?$M#VN3P*LO{!OvJ5=Hx z4MeQdVHCs{>GsIHE56A2zslf7I-uwj!b0gFKeA*l$~^OMo$?tmL_NU~l~odtjB!lFS-}T&7IjIn z1P@ox$`BJA31y9EI09M%YElmH6t5{(NXJm*SSa^Zpklx7{8g+)X{Yr2cOHWBNEsVp zduT`PKweS|QOcAXe-D>>umAb(oe^?wQwBZ}cQ|1GDkx#j=2?|jc8@7L(o8qlkA|4y zY>CFdd?@2;oM%T+CD2s~wYYMD87ZBOnQvHI2IFHp^zt;$XUY#c!?U;WU^P62-Ge@9 zO#0x{xbiv2z;o%uhluVg%5&AU-_5@nmarOj1iOme%Dls>+1_j@+mG#FuCM`&#D+7c zn0J}e%zMoH%m>Ve%ty=_<}C9E^C!ELeU^QWW!d5Kljdr8Vw{8L!MyJ=}CH#-teq;7#qg+W&5x%u)WyNfCd9Gl5h}pUkD8SNPjW_mIDXD z4VocjC_Mcg36s<)*mQy$6JueMTRcf%4XnT#*%yJVQSj9GBru`nWG#7_d`>QsFUXhV z68V})jD}G&9OKROWdtUI>CcQ}Qkbz!DwEEnF;z?@Q_a+{{n-`l8ukHpAls82#8}y( z>|k~ndx8Ci-2-a)IJ=+S&F*5KXIHbG?91#S_BD1Ndw?xx=fK#%GdZk^W!RV4SJ;Qx zz3f3&$NDo@Rq?Q$B$+%!wlKMD5F5;Tvpy`xda=*2XPD*W19mg}AnVKeF^@4D*#T?_ z%d=Xxg^YxdmPDq5W5slAE{Oj@vIa(3P4lF3+rF`LXMcaa0+HFA=?M?L|r{78OdhA}ZrCNqh#GIuennTMDb z=2?*DCFX08M-n@kEn>|e)m`k1K=lFkP4*mn0iN~uRr#xeRbi_Bs==x#RgCHtLz*Ge zFv*Z>$TLhc%rI;+Y&GmN`WyQi2N;JLM;kMZ7Ngy`#JJkH*0|pIxbd>!CFq4v!6-z) zBR|nXoG?mA7ixtjp;=faJRm$Qvz(z-#hxQ zjbJ0V2>*zn2z^9ogfU`R#Q2EW5!L})2kaWKXF%tGg9Bb4@W#NvfpZ2056Y9+t5<<% z0%*%9Fs&J2XbZ?z@(MXj-XZUkPeDU|A|eyT#4}k;E>kY^VJowPInI2+d~9=uOf;q%ryDDccN-rt zJ|y#DEASym=q2>u+1)x7& zey-ke)pYgNt4UX1l`H#!T^g0kSO2(rE{)IO{T81Og3o}9 zCojHz@ua<=Bo>u2udHV}q^b0z{lk?@IUM!`4mfmsQk$KdlU$lS<|XD6`r zh!?wweVpA2Qh$Y|w9Clixm+M%8LzW%uvw^|lInC_k#VpcX!!AJyxg@{LNWe?SlT+~`O3NVnR*^Yh(& zdRPCf_*zvwcslfyE5R2=fWQ0(JY_j}yqDNO@S5L(AKlHyvT@)$JJ~_t)qY}Q*g32} zyNzvSpI}wsr?bFQPXS*&4LlSsU!a#ePnNUW$>ZcD*~`5Q-s&^P3f}v7@ZW0i;OM^v z@Zjjb*D|BnXP6xD+*RninfsZC!Jm#M{~}|^SCGVB2CcpV>BJw9c3p)u?oW~jdR@q< z$PC7Z+|KZ1CZi>#Ob=4Tc#$$jPs*7PVqae&x|B1n9*bzlg!*k9%f8r9g~5cpR_U4 zNIO$Ro?@nx?ePATXP8;!S;kCuFtf=EOc~kDl#))yP7W}&W2!Q4qs zF-yq%%rf!;ImfIfpD=64$IOFdD>IoKV-}KI;r%jA%s}!8Gmac$8pvy)(TABv@;Wn* z9ATPB1=E{6$xJ0XnPResDQD~1JK06-Vt3^D8KTG!>|Aysdk^~y`y1U^1T>L>4fE$$Dlyd6dZ{8<+{?F=is!$YhaC z%p|gz$tEpK9@)m^lUAmHJi!zaCo_folbKJBG7HF?%w6O-(@frC?j|RgMdWSf9&(yl zN&?lm*YDxM|v&f6ayfeh-Mw^D0VbEk6jP({t){#y92z+arO*m za94kY&u++PZt%kpH4A==38Rm8+~~C@czML{73B9y=JzUJ@_RM=yIu8rjrwk1Rw|L6 z{QddgM{4>E8RXw**t3EEG!U}!`5<-*0EGli2dP*e(hpLr7)Uv81IA7w1rR84-M$74 zauHbyX~%jnNhj$bJIRZXR{fKl0K+^7X~fqcj?3^yBrhh2=>IGG& z>NV9d)k)P^)n}@2R6nUMtBIOZ`>KQ0z198HL)9_rk?Pyj8R|*u0`&}avARm_P%l*9 zt6r{Nqu!)$Q$M5Lt=_9XpnhF_T>Y;4jQTV6*XrNYe`tI({u;few?@zm(nM(zG-EWW zn(>+(%@oZ{O^L>?nX6f>S*}^5c~rAS^Q30G=6TIN%`2KCnzuCXYR+iRYrfQculY@L zh4bQcoSy5$_2Y(c(OeRDD`(=exIC_io5huIwcI?enY)i$#XZbzlf4SOrg}~HD)yS=)#%mi zwcKm1*A}m*ymorMpkClvG+>v)!v)DpYVRxd$0FF?>D^P_x{NHGw-jwfAGHS!}@4_dieD55qyUD z#P}rpr1@m|6#C5cDf6lIneVgMXNAvNpUpl``t0!8<8#pGn9sXD=X^f*`PN6|3Gc%P z@?rb{K8jD^$M9+V1b#9f*G6fRv?gtVc9zzrt<%oe-lJWqU8j9q`=s_+?MvE2+LPK(wO?z0)&A+r`RaUo z`S$f4>Kp4j#y7(^$9JZ0rEjC}BHssmANGCBcdPG{zEAr;=li1X%f7GqzTx|}?|Z&y zeLwU4()T;xUwnV}BYvEpuV0W~FF&JSf4`xA34UY!Ci+eGo9Z{y&+J$3SLx^QYw}y@ zcdy?HzlZ!b_-*xT^V{k7qTfNk<9?_8KK1*|?<>C_{jTWLI;}29*IO5%8={NWCF{oO z#_6(kQ+0Rfth!2_LpNWyNO!+(weAt!X5ACI4&8IQy}DO)M|5xLPV3I{!9HI@ZaFS)xX34IsZ=o*ZfcT zzvqA6|4aX${eKV81o#F72ZRRn4Hz6SA|Np!C189&e!%nqb3kRlf`I!1)&*=0*b(qj zz|nwr11%gA^F9(qzuOMBJKB!Mnzo4N(F+sNmnS!!{@`I)anS;uM>_Kyb76hFM7J^fP zbAzX+z@ygi>VlNwI(QKXyxk=_CM_KfF{YGgdWfZmczQ^rhmrJy^?0J)xqmNN-M4N(kx~eKCQ%FZ??c&hU(Mha~V=Jg&S>3 z2Mo>iCi#kq;%k!eHC^jQho)$yQnXTO_f(2j8bvFOqLoI`N=r0Rw8nW58Ye>@*A+6n zcPn+g@d{rE4ONxq2BbVXCOwYgO(`-Z7E%codMKhe znCJ*5I)aI6K}Pgcc-Vffb*fCnR1XnT;blSaaJF!Pk&7hpg7&%=A zGrg-|V@%1Eqa!oSlp1pv)1qKfVq~Bxl#&!GqLd_BnM@C<^x(Edsw=6qUn=dFO8ccI znJEV>GBOqq<`$XjmTTCRC{l-G6#vXJ9@U|;(1=efbWJFRaTB#JR zRN6h&t-=(oG>TRlMJp}IO3^CwAXFwpF6#;zOe?O;gI6qqijGc{O{?6~Q^p~dLXJ%> z2h)N#dVp!cI}Q+K>=cvkws4ARTB?nX?>{I?ozE_A04BZ7sWH4_KHugHsd=c;oTPHRy)Pl{#UJb z`z6X)w{J+NjCE^#It80f!KNqMJsOXk2OCbUlQEJ{5|Zi^#9~Yd6y*d8Jt4y(w{u*_ zkOUMbm?kANkq(|1SFgZ{j!BdUijAS*5-GSuss+hO@J1dG3B2Y*775jQwBd%oQj2y3 z5<@$J0~#zG&|u-qvB5(v#m_{MFi|8-6p4(OM%jKFWda*L1U4%6-6UUc z@?3#IV@xC6-RYnil*Jjz^JOseyDBW$H)VpX6w$E>vc|?HAX3q>i7}TR!+@h_NH~#M1xE!fC{n&*oe~S9%rZyPGUP&xDQ%=uNP%XQFHvSQ{JF<6yT>wj z9Shzq1!93lp0V7X3F>4i!4c)83}&yQbM z>*c2Mnf$6EdJ6AXu$Rb1c-csmSuVM8DR$!muMLxNfukFjVg(l{P+W@LxWLhkOYt>a ziWOXnyW!$KQ*eP(1(#xnf=jVO#-*eh-hTsp!6V`#A7xyyB=bcsATC%yzQ{)z7c5b} zU`gf+7Cd~pc1CfLPbn@~q_|*7#s$QQ!9EI)h>Lubalw*|i(Eiluz;)F7AV%HNIhH`T``xjbL~wo)I9o!}K( zFo}_C9hUM&inT*NfD?lj;D7Mj)KCZSnT42^99wCtLuVcvosw7s?_h$LS-~48Oq;6Xz5HghGs6BDZIk*G>|t1iBDPKF$fAsNg$(a``_gl|oQ zcQ%zYSTG*~V~>NkPC?EEZ;+DDlcUXbb@s-F8hREhpOx4fF(HdhkY|vw328FOgfxth zu}KNB@Y*VK8SRoFr?RmLskBLIl67!1X+iHRwd z_WAHiJu99?$6+c32O6g3j5Rt|o(#eP6L2`tOh=x3MaRmR!9mVHV$(3MfHO=(V1kF^ z;Q^c*QVB&l;KRXFBPaZE(XpNyd2E;+dTQj1CoVePQzIuoanXsM8g!*FK$53M&Wz%s zM|x`HJR>eT*;6B<9T%PAsgWs&i%#{_xQR*g)W{r&i_W-K6GN$xSsEQDr+C0hN{BqE zg)@qBEX6a{gJ&$oGuDG=tjy@RI5)FK0$FYj$i-`;M&oIhMqRjySKN5Z#qNFFa=|NI zWCLPXpvgr~A3SyUk&E50xVef~x^Nax-IA1xo<515apYq6EADadN*CPl)IE+|?B2&c z4qoY^H8fE{&ePN-n%We+hZsVT#Ttbkp&A2_yX;O1L62fg=`=x3rwMX8&2UY~Yq*9= z0|(?U9O$&vB;y?;PcR@4M^6L?8ReMt)Et_h=KM98ryym6fgF{>a!1Z8IoeuSR;o?`^nk{SEIzqp-oE#wO zqyYGxVBGbIUgVq?&V3$szJ1)dhGk7l8^g8w&6_v2Y;In^ps8trqnh6suI+2kiL;ya zVuMq8&|h&4*j-hdvalpqjr{Yy+hNs_rR9DVW&In zqZ^kkSW+9V-MDe%md%USEr6ef1?v`V3>OE6bgR2)kV=+FA%#+}Q1LTyl-?$d(M-;q zY@ZrdXl^_HtLWP)X0Hy{GDq88#r=7${{5Xt4{Q#1a79g4OHo)+mQ<&ys+i%J7$yzO7YWdHtH_G= z;_XLwm(6sBw{FzztD3PVB}}T5e5D1_)Nt)%hS?o?VN#IPLmDV$NbI4Ub0?1M+;`02 zkkp#K4TWh#!g6M`Z7&ONYS7qrbyl1V6Um8FBG($O-TbZIwCAMdUtyx}rT0beQ|7&s zc7!K%YGyjkJC21OKYa4@QwPgtZ8x@T*6g!Q+BG^%VpDF3Gj+~9SP_05=>6lt zACJvym)P~j+t%7Q?+R^eacsN~yxZ9s+F^H&TW!?oJJxS@ zZr-yx=TO+r*4?|-1N$qQn`)b8Ej^MSW`#wV=5U>U%aWGGwV`D*8}plus~a^(*Bw2` z*KVv@XVj`hA*7vqRdk9@S5Hj^Ck>M-=G1=QMnt1iFHvyueAiE5B$GIPHgGfPUG6Wz9{YGg{53+MMgxZ8m;xSkSo0 z5mvaMb?=5%>sPH0KOugs5qm-BUR;}KoNK6%jJGUZ+Ms!#(@ro1|6<~Uzs!c?L__eG zMGZx>CWq>Bo1NmtHgTnsInXBVZ&QgY#h>(_?3o-h=$5#oq@pt-*}QV|%1z<#zkcfR zXTro%ajt%Et+hQTOo|5^n4LC^1sk1OZjBR&mi2hxDM>93K6TK!_mHt^i^g0eYi{V| zpT$s6Tmp()aJ}M|!ti%V1>suN9x+`n`5qhh1v#%g%{2Emaj&#?4Kdj<)Ts+rwUY!agHue2z3x3I%s^2k`aC#$9{&g&r|) z&#_n++HJ-Sb2U%2KeOQ_cS$B$M}OAw>$TSc2u?IuQp0|NV7*7bmt5;1_!5=)Q56DIdOF7 zflh64F)wayHE17hc0QD6(6)1*oP3TqX`GztYmGMM$}~+I_ql7DMkJs@gliRjHHX)C z9Ow*lZd?owZ9|J@eN*GQim?0{=HZRu4#{`oQjJ!hG{eJZ^2xr*5-UYYYTz#k7ysdU zO|RAO-L({JW4PHX;y8H6jTEmsQ{}`*$iqYQ!S>v_4Ru>%%>uB4tV;%UM+QkhG z3&OMuTQs$0vl?cFX@LnJgM?n;#GuPMKtw7KA8ZxlTYhY1jyS~`PSp|dtiEVR?VcTb zTH4x;tGUHyO$)bEoT6E^{(;TwLyygAom^&F*i>O$*Pz+hv3)~(Sm!2(xq10LOYaPq zdMp`H9vdoFibUTyKvQP1Hk5@`I5zG&ai&9LSBLA$7FJlNh7~pK*trUjE585nypv&C z{k~-zn;SqG=N8>{jDL0G)1ZuPpo~Txs9L8%tMBSq!6S8Xx<)NJp_OgoMJMwibwYQE zFX)qI9sd0L4=;T3N#|&ZG%ashK0o}n+_ZV+VN$6yS3lFav+78g7%%F?Y2u@zZ_b55 zeG`UALBkH2zU@5bJk%L3<IfOaTbXTmxxg}%xr63SQ~y^yjLUM3*3I38!bJ*d7-9dSNn#2 zVdoBMS1(+#WKpPA-|5`B`(UWEc_U;KcRQNa-?PEEYSoHWVfU8S*3D`1)`cb-_G&Au z4O(Cv1oEj(I~B%d1LK+vU!Q|uzuF*`a@sfM@2~1GzWd0|-7iC6YU8xGF9j>jF=%s> zoZ_EOagLJ_U2UobTY&xplOf>he*Kp?SX7&im<>}0NkJo$28^&C*j*d0Td{)I=Kkz- zg&bVb7_`t8AN*{G7@`k;TYNx#p|!0IR10iuk-2&HlFCA9TQ89hiQz7|vNVm{l|EOd zEL)%v_j2V@Dma8^#8k~iPWQE|4iefbPP@i%$u)c3!F9*h9Rv`qQpBk%v6}6iIM)^X zp%~#XG*4Za*<3i{%Ise4vY}{-IH~4J#4XZL%~Gyb9GdBhfGVwKHK(;K?JNwdu$PrB z3fDCooM3fEaDqg7T+_};-r{p&wpgGk zY!C;oH#9D2Y-(D+XhXOZD+ZNA>Zo4&QCk?@G+W2GQdzuS-jvY7< zwt3ysrE9~3H?42e1i!gv!NOI|VUuRe%(sLu<$|By`1xGu+$~eZ>{Z+Rj6s~{)asqw zEk9~(oX+)HDSj^9HReRE*cOd0oMS-AkN5T+|h5mU>CLB5D3`jqYUI z!Q-bxTkqaH*Ri0Xv1xttX15(rw-!%xcx#)+Y3g__S5`G+^3+gBX?ARIu3f*;xM;Ix zu_vin@uoq0iI*9u-_>4~IXq=}ioJFNIH2v~7|r&bds=se>GT!c5s3xeRUH!_1wyow zCZ}2Q!?dA4A3c3x?~V#fixD#PT@9AqkiV0(TcloEr+BMVE3OgmaWXqDXQ_6G_vkNY zBpLq5;6VDWUmy%SIni6}16=Jwtr(6m)OZie)SIxXyNHTMWV9Xj{eVR#Dx` zX!TXx(S8txv_Uw(Y1dw=|6t~Rqjs*Vu2H*r{l?9kn>REyH7^9cUa&b_3$R&fsN_4t zqHPoN+Em(=t5&QGgVrTZNUMWf_vyEAono&o$27H^HtgN~+js5^hs3e0^p2{@5TE&@ zWie7f!bE9QxUN;qXcb4cYUheyIK};qTImj_IMS(gO>>I#AqhPyzM;`}hJ!b9x_)tL zbH!?>IM&JRbM;cW#%skXtGD!${*-4`A932yeNFB8mNG|$)wqXwI8}dHCot(NJvC)lG>X*LtvjNfq$B~oiIxovV$>;qTk$F+AdWA5Z-ee_VUT0wwGILY~ z`yI(X1|FV(g%QU zAo#bAuqT{sCGfluY$b+AonT8i`3HeVf?(?@*+AF}1Re=uFX96W?B_{j1yR9P*40F1 z3@0rF9!7_Uj$qp=JP)e^ux6sV4LA9##(KkZ>#9tKz{dai1op9#jfAukc`m27n3wWHE~&n+R-&Rb>-0i>Pu4Y=Kqf4kUN7@GmD-jcNjXTTEc< zH@TOP`v|#*kR=4R%Bt>6Q;o#+wA-OuCCK&^2<1HNkM(7G!j|6+d*(81q>o{5g^l#<;9-MjVfQKryH^dcb9EBzSFKPrsaB~TRduKisZOW|tM5`T zRX?cS0Q*fpR)48U(xhl6z)sQ{%{`h8npa`RsK_O7+1&ly(XG1F+Zf4cKS-BkZq?br#FX7kl+xbrZ zZT>9(lXkE+SzD+r*4Aj7wX3yTwa;k}YEQ!+$r#@h-zmNozIVgU$R~XF!YbM)u=}x> z-#}PB8|#h3I0C#YLDO^5j}3{k=J8(4||V$dpLW%+T*hxKj>BZ z+w>Fk)Ae)oOY|G`&+8BC-_w5`(lexgNK8mt$dnLENKHs{$eNI6LS7GfH{`RBi#>bw zT+s8Oo=^2W)brz>fAs3vE2dXouj*d+_j2|+*6Z8ezP+P+=l8y=_Y=L3hkAz&4Sg_d zT-f7bPlt7e9S{3B?7Oh5eTMaUw9iw0_V#(R&&LL>K`0a_^@e4Jrwj)T9~fN5 zAmcpaCgTy~H{pTdiQzNC7l&^R?+m{npBc?02%? z=l#U~e1Aj#g#LN`EBoKu|B3!D4;Ve*u>oxZUL5e*Kz?A(!1)6|8u-P)Uk0fM1q>Q6 zsC>}eK`RHf47xnnd$2Hg5@0 zqd$!PD*D%$K`|p^CdF7{nqt<*?29=a^Gj@4Y;0_HY-Q|&vCqc7126mU7grc}S6o}% zg?L^3viNQBugCwC5SEaZP@eEW!t)882}ct?O!y^{P4rLfmzb28mspkfXHt67^rY2E zk0<>j=}gkOr0o}#%>84Qk7*gxI_9M@`^UUF=DS0|<1O26Ieu&0 zt($Ls{?-GxesJqIw}ssnf7_hfei$o^tslEDB|7Dflw+y&X}!}L(^jNyN_#f#)wK80 zzDWB$-7j58kB9#$QkY(n?nqyf{&4zJ>3h?UrhkzBRk~!-nhd7lrZJ`orfDXdsmZk5 z^qA>s(@Ul|O=nDBnXY7LGkRwX$cV{E&nV2WWi(~1%-EE%BjeSKQyE`m{5Fmo*JE77 zxc=h?jvG8~=(zH6+s1t~?#uBp#I5^M(A? z1>pq`7W`Itd*SnihYQ~;yj1w-6k*DeDbGwzpSou1rD=v~_f7lfv_Ff~Mf#!%MO8%$ zi&hprTJ%)Wo}!~g9~AvLJz;vr^x4zrO+PRrZN_~we!PA1?RVY&!pyLl1vBT*{PvE9 zJGR{M#vQ-T3ZIoYt6>0#+_8D*JZDYC#qf@QU3i{)9%E0$B1iC0k0im+UKfr{t58Z%Qs(Icu<0u*O(Zt-02j)(UHr^-=3?>!s4(rK3tS zN*hb>Eq$c)snXXqxXYx2P_SfU0@X4e-6E}pf z_6q*;=(-Dsz7M@H?x3VIO3_@Ev|r!Gi{60B!C5JBw@s8H!(l@Dh5nfMCSb$`{~+=w zCf_RQ2h5O$hU>PzfvM$4gYLCW2FCShra@;l+{Ww1Z=EZCOZ$j}aPWP^1h(Y)9)*}XJ^=7gf^?y7T<5%Uqp7cgC>G^->hCTWc6(&^-)ezT_0&ax$*v?Q0B&#g{Z< zkGFVf3}=^R*NE*8N$?OkHJ7(Y(rr2ZfpH7xI@OG93l7%^aB_|TR!v%d`6vSHO~SowTt z>$^P6=PwTDYk)0~IEyRWRl^LrfAY-tt^!pFubXdR&b9aBbrV+Xyv#N-pSW^Wa61N8 zDSp6}JE`TDh<*glUyV|z*Ud64q!EeQfQZ=k_NCDy(Fx`C*m-i#3*{~0*!eQ^djB9ScxApG! z6tNVS_c`fpjV|gmf8G@x1I*-CxwfeacwL$yXm4BaQ*nIow6TWZrv#7yES9}$5btaZ zauu`%&pQzk{Nm;l4#N!R?ux@VOE%~pY2L`+&Ii9};dK=Ts1iSIQwav0)Ux#>p4lh9 zrF!2rO@EX#8FW=VV)TKlz*PrJ8AA=hADCfjdomnb47$TS_U)ogt47vxUnRCU` zr(qdY=FgX(oY1f0X149IbzzPw|DQ?YaxCVlxVZ7b`jc}FlJG|^%*3{f<2A56^MvaG znO_GCt;ek42gR+LgBSRRJ%EA!FU9Z7`Z8%ebPE1J6fWn^h5IEi`(J6GOX!Kf;OwuJrou+f|#nGkmJ_fM#4y3QXs9%lV)^;w$5M-KPdIt4$Tj>&_aO z(`~9agKqilhM<#e!OyzNfz$TBz?FHtPFUe|O>1Nhy8={VpOBrLxXD!q%6hBxX6?+{ z8IGBttc&+7>0G?GNPJUPRuBl=qKW~74g-EOGh8LA8K~qs(b(SMY-??Y1-cDY8!FaU z9hCZjvi1{~i?hW$QCHPcki+h%b<_gT=C;Kx&FxdgAkfvXrMVj27M@9RJ+2zU>t5g) zhbumx2UpkmqwMTlWH&DrU&$M9a97={a!q-h-+d)-0JahXozQHqlNY%wljWL2tvg$x zYMsjEEp8gXeqH?8QennquIJxWao(O)t61(8GL@V5uu)u8z$F6W`_LU5oE*x^DO8oBfbp5ORsR5c!nYwbE z#1EJOiXL@LCFV&1lljT6UN^aGaTM-a;600{qQ>l^$cs$l_jVFN6n9-bLy zv76lss2f^f0d?};uw8AtVF49~0Ko#?PJY}Urzi8`1XnMa(VeYF|HX(aK@3xV*Xhf+ zA;SUfOY8O14Nvk3SDwGFO~B=6_4)s*H5?tT`SAKS$RPj(xT?gnm!H;mxrYGv3%cB1 zFpAvL>)`*4)X7-LIyL}qFVXuFPx20~>-`FGhRFVB^mf9EOw_Tqmf&ByDOm6o>G40u zTw_2vt|k?sO1#-F=K(j-h6b0Qr@F9;n_-(-Fs;O}Yu|xg;W}~s3a5Cx^ZX|UrsDDk zDwk1wP%oLepG4vC8Tv;3JMPL|e+<^_;9!w+u12(TcYv*m7a_#|larH% zl~8T8V6m9Gh|gbsGK0rN zM$9@UZp}1ol&ax6u9Wq7lV&$b()h8wuAIjtN6hNH-(WS=iWxzWPF>0r?^(0LnwdOu(xHyhxT8(tjD2fr)6CPu>2WAHaIx54d);CCm#4=aYj-&~LZ zMhA(H9KLWk_#0?>R#YF?4}j|T0oI4_!>YO!@fA0@g<(grryJemyKe26x5&#yp2D5IDy}ZDcB=;X%pOD155cCo$)p)F_qWt zL|UH`%U=R1PL|KnrZ*v=Go7jYw_wUU4QR)=!8xo)AldGbk#;HS&*lh2B`Re43Q)*< z0)qw~2W2h2v`EJ);z|jZzJs1q+n#Hcl1RirzaR4T- zkd}Ur0+h2K>`YExxJjV;>e(bt}lYW zbUo}MddbB-DfZHcF4#}u)Tg}3Yb4j3eA+U&@BS_~_{zO-)98fw1zdlJZ|A;q-3ztu zO!)tB_9g&PRqg*c<1kmc(CCkG{Mw9n#?)NOCCwcd+*cGuL`6j05D^g(M?wT5L{vf~ zB}Bq;97jSzL_|YGB_f)T$P5jU%*@Qpe9O+A&e;3^oIBuF@Avoq{#iNqoaZdhS)cQ) z(KV)tDT#C^eI_~DosR=?gIP+AVhf3tOmh?j zP4g=&Djh$Cf-ERc9!E9m(&8HLYqNEP2r;iJVOU;s*=>^E;0 z${(%6thJK+3}O5h{|`ui5=gsm7OwGRof%*05?mSYUQB+NT&MbWz5q$$2)pxqkTg6Q zWCchzo31j3t>c^FdiyVsg2SYJeTxT%>`gKB(FN@6YkZ2RlsA~w^1k}OCN0lj`;Y?+K(q|G2-~W5Wml}8o#AO%%pRPc%{fuSHPps&^`9f$+K<~ z*xyOkC47c})2^rB@fpT0Ltu-zr!el)V5Fb7;(0?>V%E#L^FfW6^9;cX&@s0#)fqz3 zZ#{)s*4;=fLL#Wd5tC4e6>+nY54z(y^yr(e$R)#!Eb)8u{qB4WnbVIYIk6IL2s9g> zIVM_jlw@P;Ng*ZG8OsENS!M6agBilB{$%Hcl);XSp2AqGp9762jWcxU5O!+(9A|!K zqfKXyGn5IcqoPGDP-idSy>PCEzTTT|pi?F;$}11kZ8@xtDNa07sqqyqm4(hbqEqcB z?S4_K*2Lrt?yI=4%ID~4ZR^8r`d%O7Vtv0J3e|pN^tX2u^FF+==4)*x|5?I?s8hK1 zir2DHkk^oR)wIveZe*HHbi?&^)^R?)g`aQZCLJ&<6| zh`ZnCDfegw0Ivh^3;?eI@cQ2YM}pc_{x5)-I0&@JcjgCqX#6bsosoBwAI(S2&8Yb- zYQBz|n;+NA7LU}4vtp|4#3q5JJv#g!fPZcf#9vJ5X4Zg!SUw4l}CQclZ%{91GUEU-5^nO%%$T6?kniYYPwVX{Cj&)9qxNg zk}kyH@8bs|rSevup7blbN#>9t8f6iC1&Hyeb`=J2rJe7~BMG-UOLA(Zmg!146$gSzKv*M-6=lrpvgJ zqgx+|EkL{3ZXJNfe;Yc)lQ)TLp5p+J_r)KUFs1-xZBO_DWUlxFHZGD2pGp-+*k(-P z*TtD5P2UJ*W-=~Mb%uORK2blfj~E%FP;EZ$RlWS`+l!}nDo)5rfVyAMV|BkOOQlA2 zCNC;GGDBBTrZ^87=>M}8BjFUm2gMdQ|o%=>0uUjp7svlnyR3f<`{?S#C zQWLFYt|Rpd(b0=th3}T~HjUX`Jea3iSI9SuBNe1iUUU6#+Qy3DQD!}zONS*#DoC#t zrBkPCRL2HS9`nZdz`V*}9nhOqSRH&-OPm{S5U2Xt4b;6r&*mF?V4*(6J+-vc;J#EB zt_Oc5oJ;|A1tyE?%5q+H1eetmBQ%XchM46KZN1b<;R>=846;YOB9ZeQqZrShtXAx0 zdP;6ABi*84Od7J-3?>cj@n|lPWZzw_?7Q=$&$|j6zQ+2s$m+%QEGhocVI0RT+#IqN zH+1W7b_KjC5f6;fL!8*f{H7pX%TfZn0p1jFBR7Ex#_adMg$a=KB55fZ0sS)m0n=;oq>IP0Uf-xKkV>_Hbgv!DPrk1j~Y)fI}UbS}P%h>&k0Rho~#y&QqDNjZ;e1r2qV?bIZw&- ziBp0uASBo?2zpAzg`YGX*5A&nsm>$4T$JCY^PljxKDOO`1^ldk@Ch$&eV-@CE1!J7 zUc!?P9N#TXUw}>lcJ`0#ASBI2J>DwTa8PY%{@6;yxyT@SmJ z759rcb(_%o@tHVv3EvOoUJtWOV${WpQ&BHcu!zWfETI9yVQ~SL5K55utpkK##06cY z4<~$h+r#i-y8@c+Yx4l%oLJpYKv`))O4TKcvj_8A_Dk;=FaT9w%;m|)wkdeX9BX;V zI5M%nSoWuLvA@J6whxVbBTv4xf?$ zI%vmEen=*m^aOLOE-9_ftI?8;kiY=l-*kg1ZL=5FhdV@;Z;ZT#B&}j zOKB=JvCI#Vxfq!rcHv9J&-=5i?p9=wL71E;MHljy#BVW8$bQw#${j_yMJRW)3tuSy zfb#@7JgX6x_mfH!g!foZgORu!S>BY}f~qhcMFZnewlF?H5cf}Jl{){ur{sMo<2Z1; zZGD=ft2&xamv&{PHcFL#Y<|)pRJ&Yk1N*VeIe)LRSUfjExaz-JctG0VtYCfq8x+}Y zTbm2K=-%m2_mv>(Su^4wv&w{?`=H~dg*_yzw<_x1TTZ?p{RTwYfCH3UCH3Q{XF;L=V@T`HF_Q86{dXO_=$p|q^NSPuddy49+m zqbEY4tt=w2U?i_6U1^W!IKq(a5*8Izc@tE#;CfqG2kikeH8 zitFlhUb)o)_1g2yv_;>d@Ef32HT9f*7w=s?x%QNei%wNGd2+z`0DWV!f6;iYWSOFW zY?*S&ylk?=GDTHR7bVh;ey}@HH4zav2rOc5G+lklA_gGWJ0|$11ZViTj2%BVgqft| z*GMKQlc4cCh!IH`9(TwN+M7XQ>l`d4g`{z>|9{iChu}hXZt9JAow8LxK~{@8F9Ba< zN`WM?AVWl*2TN#le2ZPhLql8S8Dy<>xIhkzBfAQ_9?LaEckzSG0+VyxvO>~vW*MKx zw%uO#^mNGvaW760`>A&dV+AOBsm?S(i!z@Nq-zwaYs>i8=t!IiyO;8!w;3ZtoY^8! zoe`l}r=C1(`m(87iOb&+b_l&3T>e6k#AL79lRHS9Ls5!2TiKj+#rYR&Q9bG+Kq2(If4=ho%$pwzf1s@TBajXiZkSkF4EpeFah4_YkFhbxOz+ zPk9J{ah#4g%C0-WegW8Zfc*ln>rkKkg>)9rVnQUb9NB37N6FkNfpitW?uz=@*|pS+ z#V(2Oenw^2P}$F@>>7ZEh{xkuqmJwApF4(oZ1hkbK#q&^pKB@3RNY>~OTRY<3(>c| zgdObOMAnvIVd8BM_Q}Qu3HyVE*}wH?3Ei!-8`!47LO2Y$USTP(Vhxg=!NPRX5#xyj zXI90&V1e=XhoXMa3^KCW94zFJrTtJsmS%0<%hO(uj&>Dlc{0K(FYTDh1ts#Q3rovO z^{^u-P85{2{NIut{cayDKuXIxN_kNe&S%734KhP+u=kFDT~~s$(w<-t*IFT@+V5f! zNOgmsN=80kzR3O&M%y8iwOP4*5X$f zW`2*{FhXPi>;9x#cQP-Z{E7ZCE$Y!cSq=*)#|XS;UypTviTsIM@%cUBML$tkJ`f9Y$o_0M_aEdDF;`TRIu2LX26|1F@{yw zJ+BaC>qormk8VN@S%kalFWgms;I8^>1Ix!Bfj1kSGi8#Z zIDE+g7(KRFsx8S_xo@q0(gg5kbD}@Ls91Tp#8813p2PO}#M=d1j(|g3lPpNM93Zv0 zBVinUv$^J8slHogwa-nhWP6Rva_}VBULVqvD^Jm-V@LV)4bt6>n|*$;wg;XVbUtoK zQ)5%pQv|0nPxy#0U>vulS%E_9hv;!xc-?-EB{UL^1aMYVh!@qfV2&5U)kCA6>fgoP z2s^H`u;aQO0?3w0tTZ3Apu!4LDSi|nsLBQct`Tr$fNNxMY~e{&R)`aAud1Ingf<0TrS_{7Iwet>6nMFS%yHIkWm>#R_>s_FNVbt?=3K7JZ9LHt$yj4kCeR+f5) zZpnoyd<70B=$X`-r|`Ja*fFvliywL?-zGuo#*QWArdy}*FSAo(JKH|^OcK)Br9)jF zfpbWgNoPk6?><%Rr~3XM42M2vhC|;!XE^i~GaRBzrNgCF!3Amo>%9bKs=(HCqs5{2 zLOP1;J)~4@%hp7(jVKP~zZI&?_bu`U=R-@Y121k1^y)O8|L}~WG2@epZ#2bmg|tnz z&fgqlF4LT^IBhL2hzd9BV8mMx8ff&>j+*S};hz_J%U^$G>ArQ#G_z+dm^ghwVM&Az z8aLJEdral#H#!Vs!g}P6mOEGzK_K+up2DU{jz-GNP&!&+KY*dQ zCb(a=#939}z5y9t_@ho3ged7wWkx3s?Iha4{x6)X*97ve6~LK{yYdCV?MdWAkS^Q* zL3b%sytsz{rwr;OUc?GrBrz7C@pS63#?z)vJRKxn^pG;8YZKXL9%pYxb}#Xp{!%vB zJoOgRk#*!r1zP~Yi@!K}#3zcMGg!{D%{$89fvN-3i)=x+yS3Qz82Xt?Lv8caIo!iLas2S9c!^H0-6$kJ zRqS!0XPSsYArm+24o=yKR$xFjTc1)!o@1XV-<1}TI0FJZ@dNQ%Jij0^AW4_u>qc7S*5! ztb#Kl*4R^51ey0V_-3iP$NeQ;n3V1;yCcZ9r{T6Z;93?UtM{zv`Cr`=&7+>`9jm56 zfW@;kdgK(7*sWzZ1o^@?|0%e$F??yO`W_MSoOtqe6i0d~Pv#c1X!ns#cv2vtJ^0(7 zS0x+kp|COldSK+B^pbe2tOwcS_BH&I&m*?&UP7)!@H@2m$OhYX50-+r2pRc3-y3Xf z+Xq-sC`00{(Dx(X+m3V#tUD!3mi&>Vn5rsp*(WYm=DAVB1GT#y3Ibi(v?_PuzZ7F z=!XVbxrO|MTXRj8`i%vbnn?R5=rk%nJL$hLUr*mi^1w#mwd4#$n~6r+!)tZ%@`6Ci zOEHEM>k7m2f?uNDW@bc@-qw@e=CNtLUn&b;bab8;7QIwMyS`TIaffuh3-i?Zq|Msq zMYa0JYNgP-l|kzS0jiEwn1UD8sr$ULsy66n3&#S&-oFCLTN*_hrOlPm< z&$tRGPT+rk;5F@V3!%F5jAICtGekdj456IM6pKX&^;#8+$x8cLn6tOMP?yA+4Y|9& z;lXVsXYy1F9Z;$f69v^ivd%s-R#1(=vrRSc`G*_P*oNRKx*l56-|+6_FuP9pzu%M! zI)(e2?}}%;DEY3CP=l&8PhiY}YgKh>Tg>+V-NB0T3n7vGI1mqM$KPbL&2yW;KK?Zj zvNxOO5`M2Fosyu4(&h;+$6iSROqM9h0i(7}84MVv{@Mxm8Bzw>ys-!OLh($NNPb0v zyKUhr)&f~<#n)z=H#nJ07cG(eiSOT;@*Emr>XLiSNSJ9m+YenR0&pGOB;Dss2Mn5Y zDS7ZIb1NIHEvN{~tornj-hIoLSi0=V7C)$~O zhw%U$Z$<@Yk-Y`EXHkKt#Izg-rX{POmyz_cJl()}iF-LtD3wGwfEadLNCAW=>w_oj zgePkuemr@9GU{)9uG>|Nr#g=D=4%;CO7#(ny@^sErSWtXV|k)Wcrc>gljcxw=m8p zARMnr3{44xh++^W4u}B82gS>>gvmWhA@>0Elmhg)jG~U-`yr?U|LA$JhUPw-|SI8E!6ohU41=vZ1l2t+Ue#p5?_v0R8jlRj5b_$FkoiMAa=(s8 zc7qf0ug6d0dxL3$!lrY4laaKC;kT+e9+3Av0om*c$mV!JHhWIvGl(;Y*(e?c;ytW6 z46=#U`7^8Y8mqIZwazTkxhpCKAUvZ^D(WvWYN90O4+HxTC=6!opbr?2)pLuWlz!xI5ghzR_%2}F(Jev?w-MiXD-zxw#v1)ZgT#p{(*T^28xy?VBG!o2bZJ&cKdQU7rEi!V>^4_P&MxbNV(y0<>u zT6k1LF3?xhK?4_$_L?#0^M$w8-Ez58bNAEVG^ZmYBVu7?5 z|9p$5&h~Q(+MSb9e}>{$4-2jsk(1m*T;V{HZYKOa@~WoE&)PFpxKTWNGKem&KmCZp zioiRrju)LRdn~G7lkbe+y|3~aVlU`%ABhprS7MhO+=!e-o^tz%gPXgMx;am*3=;gA zgPXyv4sHeu-XLrKgdPY7O;Xs)?Be_Li-o0+asC51&j-$Zz-j@~_X3IY%V3;2F|2!* zK+6s8sTkfj3mM+Mfw$(35Qg_%fNS(h8ie}4VNNjc)_5IC8eKZVwy6Wgz{UQJLOBJ) z!Umu-8vtUL2H+w`_F({Aqybo9?Vl=KEs_SHO@DfV4Zvs&0GO|A0Aeu!Gq3Ww(g2)@ z5k@~5fHoF+(tk4mBOL?qo9HYjZZJ}V-<3KtjV!ziL5z2{bHWLA`mZ$#c;Ja)DZ<0Q$V|P1R;G#sl_!i6-(Hqt<|J2}p&XHs^ z+*WG%$>4EaMpN^DYuwWIytZ$OQ%->`=cKOW^{Qj67FMTDwT@M*LlJRc1DrRJj&-Uf*aM%y_0b#lDRI+r z7-d=&4{c8BsOYFDz3M=8Mr@8T*JRYGmSiVnMWd)zYVCEi`@K5C3<-&QoYcyxC#`If zTFD{aYIBMr15EPeNFl=(MSSLPSyGv|K6q5cv6+UYBb z>!3EYygZ$-T5HAiWS)#@tS2x%J}n<)<_Z2D?Wi_FPTTPmn>TT5t&F(k%gH+1oE0p= z)*cD-kRS;&SWySWtyUP)CYJ&Fv;eYnhulMB7|kk3sg>2_%adpq_SGPL0Y>^J4v_rI z>W7eA;H^`(ZP}7CS@pD2CXHh8e~lv<2K|JTZ*ahcD7PhLSV}34($|c zaaHyC;G%%3%Vy2?EnHEiSFWMX7Fh(001ZQ#BBr=l(zm1;bljhvWtVUqcA(?bx#^0~ z#uzxl)R6U!@NLzVc^|+K{Bk_sFI$ zJvDT_2Yh68rJg$YLxT)t#!cveZPAc6QN%gqhE%eT(e|-XmP5XfpT-Q5A-0bdq&=5v zWakd`eDo`dap^`_QK!R^4FjD{zLd`bC>~{`2S+?@zba@Cj(xS~=!i!j12p41q0CfZ zl$VWC`nIQLr8<&oV62PxhgGCTa|6QF(Fj85k579UM11ZhGRxxLGdaW21t-w4toi`CNU0 z`F^fGt8UNLOsh+AMs7*HHr=F{m0&UHYpdY16)g>?gKU4w#)|LC$I?No1#y$@PrPog z@bn$E`OnP}uugG6+#;TGtgS&fGiWc{pD>oa!jr>lv$!sTvmbW0uQrRT+bZeH;yMy9 z!*pzxlS$%c_2o;ahvsIkxOLZ@Z0sAGaW5*>(7S(rqM<2px(7zHotSUI~GDzeiO1roA!xsS%6(J!ucJF`IVO%<>DI6hS5B5tZ7;nwrZ8 zlX77j`i13q!8fEAUB83yn(Fex^3%l;!Ff96a(J?mHNbTfIpG1Ste0(59CRSvp*^_1h{=n{1SnWSjus`A4Fr}`}$qhCNji594y zd}|^)Q6z+md_gAbIi~;hWl4H-Mf6_ zmR|XpI0RlI&9X-EjGTNSa;tHIjZWf08-21`s3b=f55WQ2Dycd-amsV#Pjf*LnOR^k zyFbjkWl`-fhn7`%c0uH6ZEZ=*X7YQu_+k&qgso78v0s}zLt`?Px_h@s_i-E+A;+o#`eV7)J* zGeFqwqyrzmLi(YbUHaYzT>$N0{Fy;|TA)LCg>h4XGDFK}frUO|g z;mLDFNIp6_2TH?hEo2gg&>+Khhj$F746~MeN05-4Fbsi=jqNnhJ;1XcInMBuzMIYR5W1D2Nhj6GLag#c zI*DOPJ!@pC`Ep-+m?0Sl9CO(8c8F`i@w;3Z+~0!o?Klr(J!Xdk$M-Dq^p4WZ#sR@M zB?MFJ7=myW$mZ1u3~NYthGHBr+-{Ml)=3!R6lGJIhu)4Ps~Lu38Iizpol?ch>I9@>=PUhdGdIMTw z$ZiZVvKN@uG0Y}`og*z=@mDO|9t<~6a*$0RJbX$E_cM#Uk{onQAlVB?gWp23TtR-2 zmaRrY?-E+6 zu?<6%>~&yz2gMePa~P&%A#l3|RJYhxGgPH-csT?cVj)A8?5mTVw#qM&eGFZ4phnh| zFE^7B%Y;yVfv}km<>^r7LiiY3ziyT{!z*QGNu&UAc5J@(){VQwtzkv6Pe8CCJVc+u zW#KyN1T*TscAOXU$+`ChYDnefHBh@7Rpwt`oS&U-)Wzj0Vxz)i!?b=uh4l^951R6F z6QXkUIXMbbR76&=_LYgW&1<0ihoU6;TKoVGb_%26t3o?q@N3j8bvchC zsQdubgT4Tsc@4!#L|4T9QaU^MzEVeUW9>@Cio}@kFl|gidRn4B&Y(!l%1X-Co<5Xc zwO4;tTv*K0Q1YI*79(-^fRKIT)=lusFa)Du(4{2qa3?Z{&V*RFp8WhHPybDJnPv56 z`DOB%IwdhBAyH%46PL5+-PCt7blXgdZAn{qY}3BIH7z}DM{4T3`Wxc-ANk#qBiIWj zGNQ#7Y-ve}IZs=V^Q1B#2P`_hS1i)ov*9ne<%{(2>R_S}iF(!B7o=avx7yT}|pibkSU#TH%r7{OF zX~n2&fSq}#WzsI_u1_G>v0z8BW%maL)xcqXpIL8);ShWQ{$=ud1W)V4a~2HdyaPfh zZp8EX`KEj=h6Da|_gEBZ3CTN>v@61*f+NscM!D4OjFz2rgK3k?^YCyFvlN0PvX&K8 z7Z?uDI-(EGi3B}VkY_2$H^)Th=yGxu#>lYj664Uyl~DR8`-pb5?jt;jT{r)TMsjL>sTNHS={V{`J-5e;CEzL+dh z+-A$ZKbLbGU5o0!fbEKM4DBdXCTqk3|Ch9`0_d9xe}6_EtbQ}M7-ivQiItA{Qb>+Y zNsQ6>=Y&-j7n<^m;7mNpANx^BW666a*(F%ELn`^68eSSwdIR}Wo=ZBZW0KQacTPrfwzjUIw!*^99sh;SJJE#!16b#8tso0g{4@Gh ze57JQc<6#a>|3;Jg8O_~F8L5Oy{9G{q(A}Q9C@1@NzG;<1DJ^=?3Lf5M-t%M zo}RoSBsMmZd2P=!nKKKt)rEm?BsDOp<8Pw`)$ z|NKhMR%3jY{vx-_r0B_^=Jfb2shhQ)zSBqPRd=0^(<$nl1JS)wj6hXgJN@$(CcC@3v2sHgx7 z6E=S2E3>S@LJnEvVh7Seoty1*Sy51IJYS{B+j=O7}r8!mmO2sM8A<|*yzQ@KY!)ccUr>e|A^!>H4s zp~I#IpSn(*zH7dYMxoy&lJ+vv!9wO?O7Gg3cQ%QGCLv_W~ijt5Z3&N^I9t-@? z|J|3sly4Sb`st4MMl|%<>dBXCFfM-Lb|&n2>n+VI0k6H{t4oeikY6Nj^#^I(rJBNq zhr4%V?ADOihYG4+=`e0v>DE)n4hq4$0^eDNPBY^|(^V7s*&r(v7lTy*PwDsQ&kFh~ z2gV83dh93#9n$hUgpNj6CF8>(9Jn3G$hyja*zZ?4@+SEi8=w__kMsB&-UY%r6T;Nn<(z@jEl<+ypo$y`5(J@K&eTmb@ zg7)=U-;#d2^dw$tB8f{qvg`1!!!D#y`o^Ku_4p6>f6`Xx1^b)yrYuEy}xx0Af$`dMFe%!Fm$$7u0IcJu7Q|)DYdje!RI`r@C^1XfRhBsgt71 zR_X?e9u1XMO#3!Lw}EoN*hrke+>wQyRQvKK{_B@$v+GGiNDK~e0 zUdZA3>6oD2W^t~WY%@n0+-HjyAo@rWd#G1))0vZ!pSXeagko?+;8-uMAv!%XS|1y! zh&ARWnYE4Omxm-D}}$jI7$Pj@)I~8Iz3sy7pn^E zcinX%U8VW%#T`sJlw#765$sbX(s5jhImK)|C~QoP+=&IC%2_R@h{HsiduDY74^m)U?4r-E>);D)^e~zQG;%5;xfl5RBtZCg`Ub8 z=_`9?D#mi}>{pPArD`-c0q^7kal9WrprFp&VmOvthu83d(aAvNDz|w|%Z~+!1Y+UN zkev#`bI0*<1ah05iZ5A@$1~23wC4_+q0mTl5RvF`RA|UKbsl+DK{j&T-yF7xx@lqW ztA?XDr^=AQNjs9ZC+X=1j?{IW!R^f0k&&UfGx>Bk-6(D~9X5g~@HBz~ng_1Xd2(2B znj@;aRfIpFua=~Ejb`$N=?;s$AuoiVcPuVQu}+b3>Oj9hu)Jo6ms$yT`_7Gmd_z#K z9z4LM>XF?3<~TljsDgHsSV8~8#rs9~R^%BX&HmbM-Cm)c$Cmikmz7)ci{K_Nae+5~ zTby?lW^e2?Ic$E2*}mC=*&uP8I_r{xtmC%rNZF=|+_rJ+CLJVn9n}XODo7+ZF4S{% z4{bHD{qe&38Sm-oDsKNx1v&eMdMwuvH@&E@b`*y_2rLc2GIqQN`|%Ao!p=CBE$FuS z?&S9$>TB2l&*F9+c;}#b=Z+maHMKyW*)@{)*cCJxMFYD<_4xsJw&+x+T2ACIcb+LYdiB-nX?KvE{HByghvL1&DQq! zZH7wyW{@Q#NGHbu#2S?D0H#qNnynt471#&{CW#@gWGHE$raK3XKIu-N-L})0;QlgQ zLsjPn{IFRkHJN))(dz0xc-7)CpY1P!Y5T{i#6znOEX9`ESh~8{XAia%hWRA(Vt*f_ zjF>s%HXPdYcP=?XQOn)6t{b;oPkp%Q$+#QHK3GD%-OGn|()utA8o7*jckIm2lNV?y zi{0Qx%6{Gdopm>He(BSp!c=ZsS>(~>@4Jv!+2G|d*P2WKN?dZ(ACr^BuQA<1{XF*H zB=gy?`5r~YJB~+e2avii;c(l^Xw%*2tZ|cPrnX} z`$xUlUq|d3_O>T0c98B=yOF*4=9iPzx$Y4E9aU|HcHlwvJXlH9sin9)c^nJUqkw(Ot>W3No5g?T2z1I}SH99kfcsXNcNi+PqN& zKVWgLyRAFc85k6-dex@hcKcib-=AkPCIX3m(i_fHRbCHvg29P&5+ABn8{_{Wnv}t5 zH6InLK=`RG@z2Mf5|5TV+xHF6_5EuEkb9=znNBSoH-JcFJ;#QbgYGB9eF8=Uy562~ zZ^V|)OI;^lHnQMXzdzsjKL@`OV|lU%Y@JD_N>j6mY{w(+GZtwAwf^Pcqrk7rCv)K+ zPOA0Me^={YsMP>o5bL5i5PXu~TYA`&4KDeEI875&eNcwq?Jfk%M2zjmFVU zxLVvtL<4#2s%n&k2I*PB?&N$HN^u~vQ7^52R$y5xh=Y(Wc7j5=)a>izSJ~+z`RR9g zZ)~t%Wn%Xtc^P?K{hk0KfaQo&I@a(h$i^qjl)lO9&JqAQwU1e=Nhr**DGOz{@f5sG zPM(2=a~b$isazTD)JRuh>(TCFdq~M@!B$h7>E^Z%ncrr2Gp^+((lJ69&bUb1Bgkg% zWjJ!C?h(Y9V`+ITo1uEhTx*tyrGoTaQ^&xtM+QyoN*Ha ze8+nE72brrU=1V-F6!C7W%czHCDoN>0h7!0vsU=|cxjbe7R5pibfEc9c!!A+-Q}^g zgE}!%k({2DlC5pZy9M6`daU3K@-|H7U5HbzrKw7rm6?)~uFo(j(vo6RW3)rV`% zz<{8?Kl(a400g9RFH;dJkcEqDPY5uX}JpDQvVx_SXc$LM}Q^nV(pKiSPDa=j_^yOj(t@z*8OUTu~0shb%#PBOn@2tDNs z`l>-4h%+VigFf&%`W5+|jw8P+(nPK;97ozAijN@U=r0Q8znIchuK0~Sm%2$Z*7XXJ zhhX{wm5;eFK0iqyyD~ih{pXQKHBw>pioFLKEneCXa|ofs`1q)BkW~LN@|*( zOlg~umXVgOtFCM)x}j}q2%cT3PftoqOw`aBZIe?{l6A^&NP<~*020&#WQUsUrTcKY zZYEn4;x4m&7mHoE1&1t>70PcS#4|E-49ts<#Di+OkM7Nhh7Y(K6!oJh z+5%%N9ZWk<8N3V2%OMYje)SOI2~C1@NIT+X*-Vk36Fdnct`wBs*nd>g54dZ&`P)s4 ztT^xL-K+53G#^B(*YvX6x2;h9Tz4gpJR=Po? zfB;Jl0)%7^MOG=4@8^r#;AVTiT-;5LsqORd{z|cLOXaX;b|Uu!mTQsUXi|&a+lp-v z+RUz_X?XOBek4_q*4FMvc0j|b7>$+N|eE(At%gcWl$t_Oor%62dbgwQuA1;h|R%F<+ z@G!p=?2h~5F$wS?24IbCo_cankk1NpXnCqW9bs}~O?kzZyoyx4GQOTCNAECpKI|~r z$6?YB;%jDm8E=C%J6TVb%gK6XZW%9L#P>V+78f%UMf-U1TQU-kYY{K*TVPQ{Mn(X= zJVZm2-5_fq^JYer)QU>Mss{&kG(t8>t;CC8p};EP#ZK^bMcXDTL@zx2hu6P8FyrV!M21s3f=|x!G~>22lEW! zEa00Zp=;Y^XBQ?-=ts7ym-8RA{p&o z_W{&ihuIdXp^F(xU+@i| ztxJtm+^i_Clwts5=Pjy}O}EN}=^_|Zd0S-^##+_#m!a62n~CW0EEZ>6bac#~xNH{Z z9q~DHP6!4>FI>xKq409@sw~+o4}jlO_OViyXqHcXyc+)@1O2 zqA9+^Kx&_}F}^C4+Ae~;d)iSY1GX^WJDAjeG%;o|4b6_2hS9dwPrO(@Zss?Xe8$fB zs?cP+_^eAyTW8pdA}UFwc<~w68@6{@umpc{0qdf(?Oha79gzH|tCqBQP`4>bo7W25 zBgtMUX-~6lhGEqbhhbG~*>{l9%Vz(GWk^oe(HMMoKnE8#_qMmk2(|+(k^*cc<^HyX z4yWrj<=1=&c~^DpzO9dBUiB+XkB)6%pi)!?f3k-G`|;SoRg(fME0=oI6 z@IXWjW&w4djRz6MJs&edDV`!rWEN=Hi>EdV*pRQv%s6qxPvZpyO7d3P|A+k>mnp8# zY|O06%*ZUyG|=sZ9d540e5q@(n_Fp`+lykR z`csut4GSRH+i4*}3LbLGbGjzuWjzqDFhzDkc1rf|Hly0CY4el(CHY$U$MTEvCTE%R z|8ef_Jl%Pb^HJv?oF6DgDCR35SXLw|QWPddxuQYwgW?aa2RD$LiqL?Yxn0}|u7a!N zF1PL2c1T;_woz@9+ZMGgX?wBlrM8W2|8QCC67G`jvd<;YH4)>8#fm>rP~lUPq%4qv)m%x3~pQ9w!0m5JLOj4_NiN~TeI6=FTQ}_ zf&E|fcyauT(_RdGaruj}FYbA<;KdU!o__J{i`6gIz4+COR}f0@+ZS)WNM5unos=r& z%gVmW!OBs}iOQ)MeqZGRhLLtVMXiZWJ=gR#PZ=i;J!os0`rbr4;f%50%eE%kip8z!jS8_N`oeA&q zQb4F^UVqnyr^r8gvUZiB%|q1Xu+u z_7BV@q}V@6rHK`-v40xvo1+31gM<8hW@+ORQq$w~t|2^g-Spo$ZgLIl$-6c<2bpUE z>b1A)&);x3TG9XiaI}KB?&K_!WD&kP6x^Gklc5Lw2Dze^q7USKCXkmQZ^HZ*a8ymK z;KJ?w;VQTo_s5q|UZ+eKZirJdt21l%SP|%?9M8UK_DzcXZ3wI#=an!$!3!c{f6|H0 z5Z{D$1d9_7gEsd9%Owk0&n%Ec5SKrzZv@;})?f45V4uNb#+Kc=Ra0^Ev`%Gjj#UpY z@+)f6+^DO#R8tk?;o&uVdaw?!>uHKb6cP!zcjsLmvw6P+$6!@hD?(jC#DUBpoIxXYCkGNuJ%}7Q@a%ng+!m%gXu((j`#5E>_$5+{;+BpO+_2wbWJAmsJ>bt}sHl)etFEjR6aH`~w!1 zJkV0*bsL_kZZ{GB(t`4dxonoid#373O`7I_%AT`lMXU(WA#8YIVU6juwz+V@#Hn8W z=_EZwS@7}GqsD7gUyrf0&2ayU(lEX9x?t5_uCKaNA5c0qDk3S?pf3XB*dZ;Zb2&dc zEh|=GwB%$JYby$ZXN{fhzhHV;evv`%D*5v40LH`&SM`Fhf{MD+W#wh3m-W{}EWTY6 z5W2*$N=v)Yfog*>FQGtt|Mnf?d3Sb&m)CT^zO#!1YEP9M&O4~5Fhid>P8%MXkpqh{ zb#*~;Wxd7{lWmBOjWHOq5^{9sh3!kim&^}!aYZ*0GKHud4ATU-qILbdWBT*FkVv#47L?d*c9K#D@R5}i?)Fs>lvBiHhXL7r{Q ziOY=9yQ&AD4!B%WkdtN7#Tl6%YfP|qd`M+;mL4Mb^z5`8qvm{6)u`b^hvO70tW?)$ zSC?04&l`gR6Lusd$Lf{x$d2S1I&_K?UBpSLISP7G5)kj^>@N063fI(*Vjr;jIZj+J z+S76r_{HSM-*NU0b~}Q(pH9j`l!0~8ZwACz`SP6ngQqn4;YQyyT?%~*l)jn!QHbKg z4H1b85|a&`ZgZ~V_&x>y9igV4%)6!wt&won2(#!J1j^y6$(abjwF?{~BU1WXX7X2o zD+Jov zNd4Fu6F05Y(j|1MI>1~MR;>lwMG2nad&F(l&7RbGz$>&l(4nL&}jS7-;#RBPnd?sqbvtx2|va)k?WA{Yswx>X^W#>uD$+P(`uD-%E@H-4kj^h(wj*QS!7 zfZ6_`zP^q_O;Uob5uMeKwXJalNZQs+3)!IQ*`G z7KpOX)eWW7F%Clp(8ZJ=69{z`GUOJ*x$=6Y>SssL!IpS2eEn~a*9NbM@Qcv99u{(G=fi?B&cmB`Z4Gfl z5i123yldQ1!F3ZO$d34Y!#O#gA zFG*YOkhhudOCGs%Qd|MuzgexCPza`Qd=ety5-`JH?3x#L$4)2c6y()?aBZm?g?r&%_2 zN4(p%vCo?cYrY>*Y4BK^x0h|}dBNw`BPVgXwvysWLhcf|VpZ|cD_DwN_)Wz{#Q`t= z`l5=z;EKZrhgK=}52BS%jJr( z@o0bPfdR$nk#a@x2~COjlW?0gc27qB`b4!Gcj}8(yNgHuiV)m=562DMNWA}R`Zm1c zNFP6ZEmu+84R0mmcV`tP2Lk;R18kq$3MlyfNs!=h{A}PF+_a8e^(3~qM;a(Cc5rd5 zt-|titzWNEyqwp;c|%KjuNgaR#T*5Gs}i@HSv5Q>Q}FL;J&G8nz}Ju-#SP<2uAAQU zGj*Stex^?Ui{C2zc!$Dt?ou@c?|=>VOM`Z(nlW)evGWWC-fSMX1~=jQ;`H!1jp+wg zp7gd=N%)=HRd_AFRF!%ntA;I&;v`6FK_$gE#mj9JPg>>qDe%Kj;wOe6^AE2o-m^;a zD0!@0(a-NU1>R3lH3qfgSI=w}<`*UKwgf*KbLp~NF*|piT#@1TtwQt3f<>P!8b5FB zsIg;4jhQzdFB;>8HOK_>sci-BLo~hz?fvI!s8fSSqS31q#bL0Uu23vEGFFZQ?TQ0_ zt_uDo)(2}8k<+g623$}?zI&i}=U92WCqFdrH8JJ%7DfHmZ}OjYonpJ}_igw@mt3KH z8i!%LUJ_@caGi*QrwaTM&syl+_Xhiw=`M;-mwfuE;+t<5tle7)Yx&@w-N(M|qZpaH zpa0CR0>6t=vTv=VxH^sh1egL}%EFJ&C{{i79BhXL13#ps@SiixMuCaJnF-e;DUpzir1}jp-5JD9@k*_2j{a*vpRCJK5Ruo6#t&;V4k48~kFL&rq8%uK5P(|?~ z{)@Vb?|%I1TOSp^wInH4JyH!*tiUNM#h76uMkw$ur-~55;z$tLMF_oWJjEhNAoC;* zSriGRg}^@e8^Yg(1d{XcuP2PjVdo)yB@hQBl4zzh+dS?jais>5$U2gabU*3L&XQER z$9R#hCS7O|@+(Ollo5=wf|-icp=U@iDIz*%OKjzs=Y;$)jPLKZ>aVVoAfW|qUTOeqi)BDQ+KH$7y0Rz2& zmI7IC!Ao@nk8nQuuf#Kq3wZ8%fT!wkJ`|9f_>uGEKLO|Emx1%RHB9_&;rj}08RWqk z6Utd0XnnWmD^n2{bMLmMn!-O<#N;lAxpVDeHpl%wF24|%4IZ{ z-$G8GB3dEW4d}yBKo8vF{V|sON8oGEzlDRw$Mh8-de9ulDa;AuZsS?_i3!H-JdPg6 z`sGiY=|RxKL83)@CBRd-?O{KI9S)=e0e~m^Qin#6L3AI|Z8hGf2Z$Or+JSVNN#D|R z2T2gzmhx_+toy)Sk?tU5oT)t2fpk$MPLy}hSU%lmti$GX z+mXuAu0rE=DkHJf)_9oOLT1|<_rYIP*gcF}$r<#c2cGJ1dnoycPDY)R(Vhdun_eXC z*j&g(fDR|kS##2XMM5W#3Eobnhlwxk0{x;h*+Jt-FW`OJ4dZIEhr`Z=KNUzOM@cr& zip(ZmfJoZK_yGBu(>Ty@oUxF0!(0d(Jc+dq{s+Kqy73y{y3^uzqB055>k9iMMc05oPi z0J}NB!#OVm13aGF5de>C5BQUIMx7aBer7aCVn;!yHGl>m-gn zg`eXl>4v;IGk94#azfBH536Gix7a%L>3wrpC~OWLeT?;0kNJ9rIWELJxf^dmX2md- zv5=*M|4tYWvwrCR`$Q>eL2n(22GCk;j7=!u4EhYDZAd-lN<0BC<_;Z=qs;FPzlIfI z4obMJ1>f#R8!wVJ;EOEUie$kS{DnD7CZAzkOQUt9hZMa|hB*Ki zBcpLqvXtb)T#bujhK|7e1s5fca8U{eI9^TFaC=fuxP7P(%$l?&%ph6|;X0~=`z`u5 z++Ar`n8`F5A*1OSxaZROFc)ISLg^y92;n(22j&vG1R{M%_QfAS&$H)kwk6@^KL@IfI*~)o0KIEOdCK|!c-@x$0ty4VOC8|=@U=u z2s3=(kOAqmp)i}K!J@5%*)AC(NN4DFc&fwlF7WWavWZ zOkvK28A=xmGZ$tUT`kP@FvIC4VQ$YD(mR9h5oUhIkU<&rurN=Fu`-P*gWEK|PQt}a z8J`81oU^Rm6ywEHb5jx{?NH7|IZqjV=1(#CH4tJYON8#qC4D;oJ8FPEi zO$DXHlnx`8vy?B)i!fcJv)q))VY

!t{peCIc;ta!T`}Ookd2rM3qoZ6sEdSke(| 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 LuQU3NA>{u6ogZx( diff --git a/example/font/SourceSansPro-It.otf b/example/font/SourceSansPro-It.otf deleted file mode 100755 index 51577d6d0262b323103ae6fc13a88c9c73d388a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100556 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

-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 RROFJB&iwh+8Nge17yw?P4&VR) diff --git a/example/font/SourceSansPro-Light.otf b/example/font/SourceSansPro-Light.otf deleted file mode 100755 index 9d8fb28c11a430bda05269b3e36951b84c88806d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98972 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 YT$ig$-89DX+DUzQsIMkO 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�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 diff --git a/example/font/SourceSansPro-SemiboldIt.otf b/example/font/SourceSansPro-SemiboldIt.otf deleted file mode 100755 index 8a668e48720053d578b77bec94cf7b9ea462ed66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100000 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
  • Rf2JCSvKD8bR~ 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 - - L.Path.Transform - - - - - - - - - - - - -
    -
    -
    -

    L.Path.Transform

    -
    Star - Fork -

    - Drag handlers around to see it in action
    - Red polygon has ~13 000 points
    - -

      -
    • - -
    • -
    • - -
    • -
    • - -
    • -

    • -
    • - -
    • -
    - Documentation -

    -
    -
    - - - - diff --git a/example/js/app.js b/example/js/app.js deleted file mode 100644 index 1694396..0000000 --- a/example/js/app.js +++ /dev/null @@ -1,258 +0,0 @@ -var L = require('leaflet'); -var DragHandler = require('../../index'); - -L.Icon.Default.imagePath = "http://cdn.leafletjs.com/leaflet-0.7/images"; - -//////////////////////////////////////////////////////////////////////////////// -var map = global.map = new L.Map('map', { - // crs: L.CRS.EPSG4326 // that was tested as well -}).setView([22.42658, 114.1952], 11); - -L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', { - attribution: '© ' + - 'OSM contributors' -}).addTo(map); - -//////////////////////////////////////////////////////////////////////////////// -function interpolateArr(array, insert) { - var res = []; - array.forEach(function(p, i, arr) { - res.push(p.concat()); - - if (i < arr.length - 1) { - var diff = [arr[i + 1][0] - p[0], arr[i + 1][1] - p[1]]; - for (var i = 1; i < insert; i++) { - res.push([p[0] + (diff[0] * i) / insert, p[1] + (diff[1] * i) / insert]); - } - } - }); - - return res; -} - -//////////////////////////////////////////////////////////////////////////////// -var polygon = global.polygon = new L.Polygon( - L.GeoJSON.coordsToLatLngs( - - // ~ 13 000 points - interpolateArr([ - [113.97697448730469, 22.403410892712124], - [113.98658752441405, 22.38373008592495], - [114.01268005371094, 22.369126397545887], - [114.02778625488281, 22.38563480185718], - [114.04701232910156, 22.395157990290755], - [114.06005859375, 22.413567638369805], - [114.06280517578125, 22.432609534876796], - [114.04838562011717, 22.444668051657157], - [114.04289245605469, 22.44847578656544], - [114.03259277343749, 22.444668051657157], - [114.01954650878906, 22.447206553211814], - [113.99620056152344, 22.436417600763114], - [113.98178100585938, 22.420549970290875], - [113.97697448730469, 22.403410892712124] - ], 1000) - ), { - color: '#f00', - interactive: true, - draggable: true, - transform: true - }).addTo(map); -//polygon.transform.enable(); - -var polyline = global.polyline = new L.Polyline( - L.GeoJSON.coordsToLatLngs([ - [114.14314270019531, 22.49479484975443], - [114.1534423828125, 22.485912942320958], - [114.15206909179688, 22.4732235144781], - [114.14932250976561, 22.459898363943893], - [114.15962219238281, 22.447206553211814], - [114.169921875, 22.447206553211814], - [114.19395446777344, 22.459898363943893], - [114.20631408691406, 22.46116748110935], - [114.21180725097655, 22.473858013487614], - [114.22416687011719, 22.471320000009992], - [114.23721313476562, 22.476395980457973], - [114.24201965332031, 22.49352604073722], - [114.2303466796875, 22.51572851830351], - [114.21798706054688, 22.524608511026262], - [114.20768737792969, 22.524608511026262], - [114.20768737792969, 22.536024805886974] - ]), { - weight: 15, - draggable: true, - transform: true - }) - .bindPopup("L.Polyline") - .addTo(map); -// polyline.transform.enable(); - -var rectangle = global.rectangle = new L.Rectangle(L.latLngBounds([ - [22.334833457530486, 114.0154266357422], - [22.244615500323064, 114.14108276367189] -]), { - weight: 2, - draggable: true, - transform: true - }) - .bindPopup("L.Rectangle") - .addTo(map); - -var polygonWithHole = global.polygonWithHole = new L.Polygon( - [ - L.GeoJSON.coordsToLatLngs([ - [114.2749786376953, 22.412932863517717], - [114.28390502929688, 22.40087159030595], - [114.29008483886717, 22.38880927045556], - [114.30107116699219, 22.382460260815716], - [114.31892395019531, 22.391983666602783], - [114.32304382324219, 22.380555501421533], - [114.34295654296875, 22.372936203113838], - [114.334716796875, 22.384364994133303], - [114.33059692382812, 22.393888269511194], - [114.32167053222655, 22.40087159030595], - [114.32785034179688, 22.413567638369805], - [114.33197021484375, 22.42499308964722], - [114.32579040527344, 22.430705462748918], - [114.33197021484375, 22.43959090917266], - [114.33746337890624, 22.449110398886106], - [114.33540344238281, 22.461802035333992], - [114.32510375976562, 22.464340223177118], - [114.32922363281249, 22.472589012561954], - [114.32373046875, 22.477030464933307], - [114.31961059570312, 22.478933900916928], - [114.3017578125, 22.466243833549445], - [114.30244445800781, 22.457360094750083], - [114.29283142089844, 22.454821779075832], - [114.28390502929688, 22.45101421842269], - [114.2749786376953, 22.442764145001707], - [114.29077148437499, 22.428166659279615], - [114.27703857421875, 22.420549970290875], - [114.2749786376953, 22.412932863517717] - ]), - L.GeoJSON.coordsToLatLngs([ - [114.30107116699219, 22.43387890178297], - [114.29351806640625, 22.414202410321302], - [114.30587768554686, 22.408489358342635], - [114.32235717773438, 22.421184710331858], - [114.30107116699219, 22.43387890178297] - ]) - ], { - draggable: true, - transform: true - } - ) - .addTo(map); -//polygonWithHole.transform.enable(); - -var multiPolygon = global.multiPolygon = new L.Polygon([ - L.GeoJSON.coordsToLatLngs([ - [114.20562744140625, 22.32085984100593], - [114.21592712402344, 22.35261603551215], - [114.26467895507812, 22.351345926606957], - [114.2749786376953, 22.32403578584038], - [114.29214477539062, 22.32721165838893], - [114.3017578125, 22.311966810977616], - [114.29420471191406, 22.291002427735325], - [114.29351806640625, 22.272576585413475], - [114.28390502929688, 22.26177410097435], - [114.268798828125, 22.281472122783818], - [114.2749786376953, 22.294814367780518], - [114.26948547363281, 22.30243793590448], - [114.27017211914062, 22.31514295816939], - [114.2578125, 22.311966810977616], - [114.24751281738281, 22.299896792751927], - [114.24545288085938, 22.291002427735325], - [114.22966003417969, 22.307520083522476], - [114.22073364257812, 22.305614299837046], - [114.20562744140625, 22.32085984100593] - ]), - L.GeoJSON.coordsToLatLngs([ - [114.31549072265625, 22.33927931468312], - [114.32029724121094, 22.326576489662482], - [114.32991027832031, 22.326576489662482], - [114.33334350585938, 22.332292904091716], - [114.32304382324219, 22.3424548401465], - [114.31549072265625, 22.33927931468312] - ]), - L.GeoJSON.coordsToLatLngs([ - [114.27909851074219, 22.244615500323064], - [114.28115844726562, 22.251606295132948], - [114.28665161132812, 22.255419308858556], - [114.29969787597656, 22.26113863474449], - [114.2962646484375, 22.250970782750866], - [114.29489135742188, 22.24080219246335], - [114.29008483886717, 22.238895499613232], - [114.27909851074219, 22.244615500323064] - ]) -], { - draggable: true, - transform: true, - color: '#092' -}).bindPopup('MultiPolygon').addTo(map); -//multiPolygon.transform.enable(); - -var multiPolyline = global.multiPolyline = new L.Polyline([ - L.GeoJSON.coordsToLatLngs([ - [113.89869689941406, 22.399601921706953], - [113.89801025390625, 22.422454181709707], - [113.90350341796875, 22.43324421978117], - [113.90968322753906, 22.449110398886106], - [113.90693664550781, 22.478299425162852], - [113.9234161376953, 22.488450688325408], - [113.9337158203125, 22.483375149789623], - [113.9447021484375, 22.492257220085193], - [113.95225524902344, 22.51255695405145] - ]), - - L.GeoJSON.coordsToLatLngs([ - [113.8677978515625, 22.39261853713738], - [113.86917114257811, 22.42753195115699], - [113.9234161376953, 22.462436586653148], - [113.94813537597656, 22.473858013487614], - [113.9783477783203, 22.49923558968306], - [113.99688720703125, 22.51192263246886], - [114.01336669921875, 22.501138720300254], - [114.02503967285155, 22.508116641853675] - ]) -], { - draggable: true, - transform: true, - color: '#e90' -}).bindPopup('MultiPolyline').addTo(map); -// multiPolyline.transform.enable(); - -var layers = [polygon, polyline, rectangle, multiPolyline, multiPolygon, polygonWithHole]; - -function update() { - L.Util.requestAnimFrame(function() { - var dragging = document.querySelector('#dragging').checked; - var scaling = document.querySelector('#scaling').checked; - var rotation = document.querySelector('#rotation').checked; - var uniform = document.querySelector('#uniform').checked; - - layers.forEach(function(layer) { - - if (layer.dragging) { - layer.dragging[dragging ? 'enable': 'disable'](); - } else { - layer.eachLayer(function(sublayer) { - sublayer.dragging[dragging ? 'enable': 'disable'](); - }); - } - - - layer.transform.setOptions({ - scaling: scaling, - rotation: rotation, - uniformScaling: uniform - }).enable(); - }); - }); -} - -[].slice.call(document.querySelectorAll('input[type=checkbox]')) -.forEach(function(checkbox) { - L.DomEvent.on(checkbox, 'change', update); -}); - -update(); diff --git a/example/js/bundle.js b/example/js/bundle.js deleted file mode 100644 index 7225edb..0000000 --- a/example/js/bundle.js +++ /dev/null @@ -1,15475 +0,0 @@ -(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;oOSM contributors' -}).addTo(map); - -//////////////////////////////////////////////////////////////////////////////// -function interpolateArr(array, insert) { - var res = []; - array.forEach(function(p, i, arr) { - res.push(p.concat()); - - if (i < arr.length - 1) { - var diff = [arr[i + 1][0] - p[0], arr[i + 1][1] - p[1]]; - for (var i = 1; i < insert; i++) { - res.push([p[0] + (diff[0] * i) / insert, p[1] + (diff[1] * i) / insert]); - } - } - }); - - return res; -} - -//////////////////////////////////////////////////////////////////////////////// -var polygon = global.polygon = new L.Polygon( - L.GeoJSON.coordsToLatLngs( - - // ~ 13 000 points - interpolateArr([ - [113.97697448730469, 22.403410892712124], - [113.98658752441405, 22.38373008592495], - [114.01268005371094, 22.369126397545887], - [114.02778625488281, 22.38563480185718], - [114.04701232910156, 22.395157990290755], - [114.06005859375, 22.413567638369805], - [114.06280517578125, 22.432609534876796], - [114.04838562011717, 22.444668051657157], - [114.04289245605469, 22.44847578656544], - [114.03259277343749, 22.444668051657157], - [114.01954650878906, 22.447206553211814], - [113.99620056152344, 22.436417600763114], - [113.98178100585938, 22.420549970290875], - [113.97697448730469, 22.403410892712124] - ], 1000) - ), { - color: '#f00', - interactive: true, - draggable: true, - transform: true - }).addTo(map); -//polygon.transform.enable(); - -var polyline = global.polyline = new L.Polyline( - L.GeoJSON.coordsToLatLngs([ - [114.14314270019531, 22.49479484975443], - [114.1534423828125, 22.485912942320958], - [114.15206909179688, 22.4732235144781], - [114.14932250976561, 22.459898363943893], - [114.15962219238281, 22.447206553211814], - [114.169921875, 22.447206553211814], - [114.19395446777344, 22.459898363943893], - [114.20631408691406, 22.46116748110935], - [114.21180725097655, 22.473858013487614], - [114.22416687011719, 22.471320000009992], - [114.23721313476562, 22.476395980457973], - [114.24201965332031, 22.49352604073722], - [114.2303466796875, 22.51572851830351], - [114.21798706054688, 22.524608511026262], - [114.20768737792969, 22.524608511026262], - [114.20768737792969, 22.536024805886974] - ]), { - weight: 15, - draggable: true, - transform: true - }) - .bindPopup("L.Polyline") - .addTo(map); -// polyline.transform.enable(); - -var rectangle = global.rectangle = new L.Rectangle(L.latLngBounds([ - [22.334833457530486, 114.0154266357422], - [22.244615500323064, 114.14108276367189] -]), { - weight: 2, - draggable: true, - transform: true - }) - .bindPopup("L.Rectangle") - .addTo(map); - -var polygonWithHole = global.polygonWithHole = new L.Polygon( - [ - L.GeoJSON.coordsToLatLngs([ - [114.2749786376953, 22.412932863517717], - [114.28390502929688, 22.40087159030595], - [114.29008483886717, 22.38880927045556], - [114.30107116699219, 22.382460260815716], - [114.31892395019531, 22.391983666602783], - [114.32304382324219, 22.380555501421533], - [114.34295654296875, 22.372936203113838], - [114.334716796875, 22.384364994133303], - [114.33059692382812, 22.393888269511194], - [114.32167053222655, 22.40087159030595], - [114.32785034179688, 22.413567638369805], - [114.33197021484375, 22.42499308964722], - [114.32579040527344, 22.430705462748918], - [114.33197021484375, 22.43959090917266], - [114.33746337890624, 22.449110398886106], - [114.33540344238281, 22.461802035333992], - [114.32510375976562, 22.464340223177118], - [114.32922363281249, 22.472589012561954], - [114.32373046875, 22.477030464933307], - [114.31961059570312, 22.478933900916928], - [114.3017578125, 22.466243833549445], - [114.30244445800781, 22.457360094750083], - [114.29283142089844, 22.454821779075832], - [114.28390502929688, 22.45101421842269], - [114.2749786376953, 22.442764145001707], - [114.29077148437499, 22.428166659279615], - [114.27703857421875, 22.420549970290875], - [114.2749786376953, 22.412932863517717] - ]), - L.GeoJSON.coordsToLatLngs([ - [114.30107116699219, 22.43387890178297], - [114.29351806640625, 22.414202410321302], - [114.30587768554686, 22.408489358342635], - [114.32235717773438, 22.421184710331858], - [114.30107116699219, 22.43387890178297] - ]) - ], { - draggable: true, - transform: true - } - ) - .addTo(map); -//polygonWithHole.transform.enable(); - -var multiPolygon = global.multiPolygon = new L.Polygon([ - L.GeoJSON.coordsToLatLngs([ - [114.20562744140625, 22.32085984100593], - [114.21592712402344, 22.35261603551215], - [114.26467895507812, 22.351345926606957], - [114.2749786376953, 22.32403578584038], - [114.29214477539062, 22.32721165838893], - [114.3017578125, 22.311966810977616], - [114.29420471191406, 22.291002427735325], - [114.29351806640625, 22.272576585413475], - [114.28390502929688, 22.26177410097435], - [114.268798828125, 22.281472122783818], - [114.2749786376953, 22.294814367780518], - [114.26948547363281, 22.30243793590448], - [114.27017211914062, 22.31514295816939], - [114.2578125, 22.311966810977616], - [114.24751281738281, 22.299896792751927], - [114.24545288085938, 22.291002427735325], - [114.22966003417969, 22.307520083522476], - [114.22073364257812, 22.305614299837046], - [114.20562744140625, 22.32085984100593] - ]), - L.GeoJSON.coordsToLatLngs([ - [114.31549072265625, 22.33927931468312], - [114.32029724121094, 22.326576489662482], - [114.32991027832031, 22.326576489662482], - [114.33334350585938, 22.332292904091716], - [114.32304382324219, 22.3424548401465], - [114.31549072265625, 22.33927931468312] - ]), - L.GeoJSON.coordsToLatLngs([ - [114.27909851074219, 22.244615500323064], - [114.28115844726562, 22.251606295132948], - [114.28665161132812, 22.255419308858556], - [114.29969787597656, 22.26113863474449], - [114.2962646484375, 22.250970782750866], - [114.29489135742188, 22.24080219246335], - [114.29008483886717, 22.238895499613232], - [114.27909851074219, 22.244615500323064] - ]) -], { - draggable: true, - transform: true, - color: '#092' -}).bindPopup('MultiPolygon').addTo(map); -//multiPolygon.transform.enable(); - -var multiPolyline = global.multiPolyline = new L.Polyline([ - L.GeoJSON.coordsToLatLngs([ - [113.89869689941406, 22.399601921706953], - [113.89801025390625, 22.422454181709707], - [113.90350341796875, 22.43324421978117], - [113.90968322753906, 22.449110398886106], - [113.90693664550781, 22.478299425162852], - [113.9234161376953, 22.488450688325408], - [113.9337158203125, 22.483375149789623], - [113.9447021484375, 22.492257220085193], - [113.95225524902344, 22.51255695405145] - ]), - - L.GeoJSON.coordsToLatLngs([ - [113.8677978515625, 22.39261853713738], - [113.86917114257811, 22.42753195115699], - [113.9234161376953, 22.462436586653148], - [113.94813537597656, 22.473858013487614], - [113.9783477783203, 22.49923558968306], - [113.99688720703125, 22.51192263246886], - [114.01336669921875, 22.501138720300254], - [114.02503967285155, 22.508116641853675] - ]) -], { - draggable: true, - transform: true, - color: '#e90' -}).bindPopup('MultiPolyline').addTo(map); -// multiPolyline.transform.enable(); - -var layers = [polygon, polyline, rectangle, multiPolyline, multiPolygon, polygonWithHole]; - -function update() { - L.Util.requestAnimFrame(function() { - var dragging = document.querySelector('#dragging').checked; - var scaling = document.querySelector('#scaling').checked; - var rotation = document.querySelector('#rotation').checked; - var uniform = document.querySelector('#uniform').checked; - - layers.forEach(function(layer) { - - if (layer.dragging) { - layer.dragging[dragging ? 'enable': 'disable'](); - } else { - layer.eachLayer(function(sublayer) { - sublayer.dragging[dragging ? 'enable': 'disable'](); - }); - } - - - layer.transform.setOptions({ - scaling: scaling, - rotation: rotation, - uniformScaling: uniform - }).enable(); - }); - }); -} - -[].slice.call(document.querySelectorAll('input[type=checkbox]')) -.forEach(function(checkbox) { - L.DomEvent.on(checkbox, 'change', update); -}); - -update(); - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -},{"../../index":2,"leaflet":9}],2:[function(require,module,exports){ -var L = require('leaflet'); -require('leaflet-path-drag'); -require('./src/Util'); -require('./src/Matrix'); -require('./src/Path.Transform'); - -},{"./src/Matrix":10,"./src/Path.Transform":11,"./src/Util":12,"leaflet":9,"leaflet-path-drag":3}],3:[function(require,module,exports){ -require('./src/SVG'); -require('./src/SVG.VML'); -require('./src/Canvas'); -require('./src/Path.Transform'); -require('./src/Path.Drag'); - -module.exports = L.Path.Drag; - -},{"./src/Canvas":4,"./src/Path.Drag":5,"./src/Path.Transform":6,"./src/SVG":8,"./src/SVG.VML":7}],4:[function(require,module,exports){ -function TRUE_FN () { return true; } - -L.Canvas.include({ - - /** - * Do nothing - * @param {L.Path} layer - */ - _resetTransformPath: function(layer) { - if (!this._containerCopy) return; - - delete this._containerCopy; - - if (layer._containsPoint_) { - layer._containsPoint = layer._containsPoint_; - delete layer._containsPoint_; - - this._requestRedraw(layer); - } - }, - - - /** - * Algorithm outline: - * - * 1. pre-transform - clear the path out of the canvas, copy canvas state - * 2. at every frame: - * 2.1. save - * 2.2. redraw the canvas from saved one - * 2.3. transform - * 2.4. draw path - * 2.5. restore - * 3. Repeat - * - * @param {L.Path} layer - * @param {Array.} matrix - */ - transformPath: function(layer, matrix) { - var copy = this._containerCopy; - var ctx = this._ctx, copyCtx; - var m = L.Browser.retina ? 2 : 1; - var bounds = this._bounds; - var size = bounds.getSize(); - var pos = bounds.min; - - if (!copy) { // get copy of all rendered layers - copy = this._containerCopy = document.createElement('canvas'); - copyCtx = copy.getContext('2d'); - // document.body.appendChild(copy); - - copy.width = m * size.x; - copy.height = m * size.y; - - this._removePath(layer); - this._redraw(); - - copyCtx.translate(m * bounds.min.x, m * bounds.min.y); - copyCtx.drawImage(this._container, 0, 0); - this._initPath(layer); - - // avoid flickering because of the 'mouseover's - layer._containsPoint_ = layer._containsPoint; - layer._containsPoint = TRUE_FN; - } - - ctx.save(); - ctx.clearRect(pos.x, pos.y, size.x * m, size.y * m); - ctx.setTransform(1, 0, 0, 1, 0, 0); - ctx.restore(); - ctx.save(); - - ctx.drawImage(this._containerCopy, 0, 0, size.x, size.y); - ctx.transform.apply(ctx, matrix); - - // now draw one layer only - this._drawing = true; - layer._updatePath(); - this._drawing = false; - - ctx.restore(); - } - -}); - -},{}],5:[function(require,module,exports){ -var END = { - mousedown: 'mouseup', - touchstart: 'touchend', - pointerdown: 'touchend', - MSPointerDown: 'touchend' -}; - -var MOVE = { - mousedown: 'mousemove', - touchstart: 'touchmove', - pointerdown: 'touchmove', - MSPointerDown: 'touchmove' -}; - -function distance(a, b) { - var dx = a.x - b.x, dy = a.y - b.y; - return Math.sqrt(dx * dx + dy * dy); -} - -/** - * Drag handler - * @class L.Path.Drag - * @extends {L.Handler} - */ -L.Handler.PathDrag = L.Handler.extend( /** @lends L.Path.Drag.prototype */ { - - statics: { - DRAGGING_CLS: 'leaflet-path-draggable', - }, - - - /** - * @param {L.Path} path - * @constructor - */ - initialize: function(path) { - - /** - * @type {L.Path} - */ - this._path = path; - - /** - * @type {Array.} - */ - this._matrix = null; - - /** - * @type {L.Point} - */ - this._startPoint = null; - - /** - * @type {L.Point} - */ - this._dragStartPoint = null; - - /** - * @type {Boolean} - */ - this._mapDraggingWasEnabled = false; - - }, - - /** - * Enable dragging - */ - addHooks: function() { - this._path.on('mousedown', this._onDragStart, this); - - this._path.options.className = this._path.options.className ? - (this._path.options.className + ' ' + L.Handler.PathDrag.DRAGGING_CLS) : - L.Handler.PathDrag.DRAGGING_CLS; - - if (this._path._path) { - L.DomUtil.addClass(this._path._path, L.Handler.PathDrag.DRAGGING_CLS); - } - }, - - /** - * Disable dragging - */ - removeHooks: function() { - this._path.off('mousedown', this._onDragStart, this); - - this._path.options.className = this._path.options.className - .replace(new RegExp('\\s+' + L.Handler.PathDrag.DRAGGING_CLS), ''); - if (this._path._path) { - L.DomUtil.removeClass(this._path._path, L.Handler.PathDrag.DRAGGING_CLS); - } - }, - - /** - * @return {Boolean} - */ - moved: function() { - return this._path._dragMoved; - }, - - /** - * Start drag - * @param {L.MouseEvent} evt - */ - _onDragStart: function(evt) { - var eventType = evt.originalEvent._simulated ? 'touchstart' : evt.originalEvent.type; - - this._mapDraggingWasEnabled = false; - this._startPoint = evt.containerPoint.clone(); - this._dragStartPoint = evt.containerPoint.clone(); - this._matrix = [1, 0, 0, 1, 0, 0]; - L.DomEvent.stop(evt.originalEvent); - - L.DomUtil.addClass(this._path._renderer._container, 'leaflet-interactive'); - L.DomEvent - .on(document, MOVE[eventType], this._onDrag, this) - .on(document, END[eventType], this._onDragEnd, this); - - if (this._path._map.dragging.enabled()) { - // I guess it's required because mousdown gets simulated with a delay - //this._path._map.dragging._draggable._onUp(evt); - - this._path._map.dragging.disable(); - this._mapDraggingWasEnabled = true; - } - this._path._dragMoved = false; - - if (this._path._popup) { // that might be a case on touch devices as well - this._path._popup._close(); - } - - this._replaceCoordGetters(evt); - }, - - /** - * Dragging - * @param {L.MouseEvent} evt - */ - _onDrag: function(evt) { - L.DomEvent.stop(evt); - - var first = (evt.touches && evt.touches.length >= 1 ? evt.touches[0] : evt); - var containerPoint = this._path._map.mouseEventToContainerPoint(first); - - // skip taps - if (evt.type === 'touchmove' && !this._path._dragMoved) { - var totalMouseDragDistance = this._dragStartPoint.distanceTo(containerPoint); - if (totalMouseDragDistance <= this._path._map.options.tapTolerance) { - return; - } - } - - var x = containerPoint.x; - var y = containerPoint.y; - - var dx = x - this._startPoint.x; - var dy = y - this._startPoint.y; - - // Send events only if point was moved - if (dx || dy) { - if (!this._path._dragMoved) { - this._path._dragMoved = true; - this._path.fire('dragstart', evt); - // we don't want that to happen on click - this._path.bringToFront(); - } - - this._matrix[4] += dx; - this._matrix[5] += dy; - - this._startPoint.x = x; - this._startPoint.y = y; - - this._path.fire('predrag', evt); - this._path._transform(this._matrix); - this._path.fire('drag', evt); - } - }, - - /** - * Dragging stopped, apply - * @param {L.MouseEvent} evt - */ - _onDragEnd: function(evt) { - var containerPoint = this._path._map.mouseEventToContainerPoint(evt); - var moved = this.moved(); - - // apply matrix - if (moved) { - this._transformPoints(this._matrix); - this._path._updatePath(); - this._path._project(); - this._path._transform(null); - - L.DomEvent.stop(evt); - } - - - L.DomEvent.off(document, 'mousemove touchmove', this._onDrag, this); - L.DomEvent.off(document, 'mouseup touchend', this._onDragEnd, this); - - this._restoreCoordGetters(); - - // consistency - if (moved) { - this._path.fire('dragend', { - distance: distance(this._dragStartPoint, containerPoint) - }); - - // hack for skipping the click in canvas-rendered layers - var contains = this._path._containsPoint; - this._path._containsPoint = L.Util.falseFn; - L.Util.requestAnimFrame(function() { - L.DomEvent.skipped({ type: 'click' }); - this._path._containsPoint = contains; - }, this); - } - - this._matrix = null; - this._startPoint = null; - this._dragStartPoint = null; - this._path._dragMoved = false; - - if (this._mapDraggingWasEnabled) { - if (moved) L.DomEvent.fakeStop({ type: 'click' }); - this._path._map.dragging.enable(); - } - }, - - - /** - * Applies transformation, does it in one sweep for performance, - * so don't be surprised about the code repetition. - * - * [ x ] [ a b tx ] [ x ] [ a * x + b * y + tx ] - * [ y ] = [ c d ty ] [ y ] = [ c * x + d * y + ty ] - * - * @param {Array.} matrix - */ - _transformPoints: function(matrix, dest) { - var path = this._path; - var i, len, latlng; - - var px = L.point(matrix[4], matrix[5]); - - var crs = path._map.options.crs; - var transformation = crs.transformation; - var scale = crs.scale(path._map.getZoom()); - var projection = crs.projection; - - var diff = transformation.untransform(px, scale) - .subtract(transformation.untransform(L.point(0, 0), scale)); - var applyTransform = !dest; - - path._bounds = new L.LatLngBounds(); - - // console.time('transform'); - // all shifts are in-place - if (path._point) { // L.Circle - dest = projection.unproject( - projection.project(path._latlng)._add(diff)); - if (applyTransform) { - path._latlng = dest; - path._point._add(px); - } - } else if (path._rings || path._parts) { // everything else - var rings = path._rings || path._parts; - var latlngs = path._latlngs; - dest = dest || latlngs; - if (!L.Util.isArray(latlngs[0])) { // polyline - latlngs = [latlngs]; - dest = [dest]; - } - for (i = 0, len = rings.length; i < len; i++) { - dest[i] = dest[i] || []; - for (var j = 0, jj = rings[i].length; j < jj; j++) { - latlng = latlngs[i][j]; - dest[i][j] = projection - .unproject(projection.project(latlng)._add(diff)); - if (applyTransform) { - path._bounds.extend(latlngs[i][j]); - rings[i][j]._add(px); - } - } - } - } - return dest; - // console.timeEnd('transform'); - }, - - - - /** - * If you want to read the latlngs during the drag - your right, - * but they have to be transformed - */ - _replaceCoordGetters: function() { - if (this._path.getLatLng) { // Circle, CircleMarker - this._path.getLatLng_ = this._path.getLatLng; - this._path.getLatLng = L.Util.bind(function() { - return this.dragging._transformPoints(this.dragging._matrix, {}); - }, this._path); - } else if (this._path.getLatLngs) { - this._path.getLatLngs_ = this._path.getLatLngs; - this._path.getLatLngs = L.Util.bind(function() { - return this.dragging._transformPoints(this.dragging._matrix, []); - }, this._path); - } - }, - - - /** - * Put back the getters - */ - _restoreCoordGetters: function() { - if (this._path.getLatLng_) { - this._path.getLatLng = this._path.getLatLng_; - delete this._path.getLatLng_; - } else if (this._path.getLatLngs_) { - this._path.getLatLngs = this._path.getLatLngs_; - delete this._path.getLatLngs_; - } - } - -}); - - -/** - * @param {L.Path} layer - * @return {L.Path} - */ -L.Handler.PathDrag.makeDraggable = function(layer) { - layer.dragging = new L.Handler.PathDrag(layer); - return layer; -}; - - -/** - * Also expose as a method - * @return {L.Path} - */ -L.Path.prototype.makeDraggable = function() { - return L.Handler.PathDrag.makeDraggable(this); -}; - - -L.Path.addInitHook(function() { - if (this.options.draggable) { - // ensure interactive - this.options.interactive = true; - - if (this.dragging) { - this.dragging.enable(); - } else { - L.Handler.PathDrag.makeDraggable(this); - this.dragging.enable(); - } - } else if (this.dragging) { - this.dragging.disable(); - } -}); - -},{}],6:[function(require,module,exports){ -/** - * Leaflet vector features drag functionality - * @author Alexander Milevski - * @preserve - */ - -/** - * Matrix transform path for SVG/VML - * Renderer-independent - */ -L.Path.include({ - - /** - * Applies matrix transformation to SVG - * @param {Array.?} matrix - */ - _transform: function(matrix) { - if (this._renderer) { - if (matrix) { - this._renderer.transformPath(this, matrix); - } else { - // reset transform matrix - this._renderer._resetTransformPath(this); - this._update(); - } - } - return this; - }, - - /** - * Check if the feature was dragged, that'll supress the click event - * on mouseup. That fixes popups for example - * - * @param {MouseEvent} e - */ - _onMouseClick: function(e) { - if ((this.dragging && this.dragging.moved()) || - (this._map.dragging && this._map.dragging.moved())) { - return; - } - - this._fireMouseEvent(e); - } - -}); - -},{}],7:[function(require,module,exports){ -L.SVG.include(!L.Browser.vml ? {} : { - - /** - * Reset transform matrix - */ - _resetTransformPath: function(layer) { - if (layer._skew) { - // super important! workaround for a 'jumping' glitch: - // disable transform before removing it - layer._skew.on = false; - layer._path.removeChild(layer._skew); - layer._skew = null; - } - }, - - /** - * Applies matrix transformation to VML - * @param {L.Path} layer - * @param {Array.} matrix - */ - transformPath: function(layer, matrix) { - var skew = layer._skew; - - if (!skew) { - skew = L.SVG.create('skew'); - layer._path.appendChild(skew); - skew.style.behavior = 'url(#default#VML)'; - layer._skew = skew; - } - - // handle skew/translate separately, cause it's broken - var mt = matrix[0].toFixed(8) + ' ' + matrix[1].toFixed(8) + ' ' + - matrix[2].toFixed(8) + ' ' + matrix[3].toFixed(8) + ' 0 0'; - var offset = Math.floor(matrix[4]).toFixed() + ', ' + - Math.floor(matrix[5]).toFixed() + ''; - - var s = this._path.style; - var l = parseFloat(s.left); - var t = parseFloat(s.top); - var w = parseFloat(s.width); - var h = parseFloat(s.height); - - if (isNaN(l)) l = 0; - if (isNaN(t)) t = 0; - if (isNaN(w) || !w) w = 1; - if (isNaN(h) || !h) h = 1; - - var origin = (-l / w - 0.5).toFixed(8) + ' ' + (-t / h - 0.5).toFixed(8); - - skew.on = 'f'; - skew.matrix = mt; - skew.origin = origin; - skew.offset = offset; - skew.on = true; - } - -}); - -},{}],8:[function(require,module,exports){ -L.SVG.include({ - - /** - * Reset transform matrix - */ - _resetTransformPath: function(layer) { - layer._path.setAttributeNS(null, 'transform', ''); - }, - - /** - * Applies matrix transformation to SVG - * @param {L.Path} layer - * @param {Array.} matrix - */ - transformPath: function(layer, matrix) { - layer._path.setAttributeNS(null, 'transform', - 'matrix(' + matrix.join(' ') + ')'); - } - -}); - -},{}],9:[function(require,module,exports){ -/* - * Leaflet 1.1.0, a JS library for interactive maps. http://leafletjs.com - * (c) 2010-2017 Vladimir Agafonkin, (c) 2010-2011 CloudMade - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.L = global.L || {}))); -}(this, (function (exports) { 'use strict'; - -var version = "1.1.0"; - -/* - * @namespace Util - * - * Various utility functions, used by Leaflet internally. - */ - -// @function extend(dest: Object, src?: Object): Object -// Merges the properties of the `src` object (or multiple objects) into `dest` object and returns the latter. Has an `L.extend` shortcut. -function extend(dest) { - var i, j, len, src; - - for (j = 1, len = arguments.length; j < len; j++) { - src = arguments[j]; - for (i in src) { - dest[i] = src[i]; - } - } - return dest; -} - -// @function create(proto: Object, properties?: Object): Object -// Compatibility polyfill for [Object.create](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/create) -var create = Object.create || (function () { - function F() {} - return function (proto) { - F.prototype = proto; - return new F(); - }; -})(); - -// @function bind(fn: Function, …): Function -// Returns a new function bound to the arguments passed, like [Function.prototype.bind](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function/bind). -// Has a `L.bind()` shortcut. -function bind(fn, obj) { - var slice = Array.prototype.slice; - - if (fn.bind) { - return fn.bind.apply(fn, slice.call(arguments, 1)); - } - - var args = slice.call(arguments, 2); - - return function () { - return fn.apply(obj, args.length ? args.concat(slice.call(arguments)) : arguments); - }; -} - -// @property lastId: Number -// Last unique ID used by [`stamp()`](#util-stamp) -var lastId = 0; - -// @function stamp(obj: Object): Number -// Returns the unique ID of an object, assiging it one if it doesn't have it. -function stamp(obj) { - /*eslint-disable */ - obj._leaflet_id = obj._leaflet_id || ++lastId; - return obj._leaflet_id; - /*eslint-enable */ -} - -// @function throttle(fn: Function, time: Number, context: Object): Function -// Returns a function which executes function `fn` with the given scope `context` -// (so that the `this` keyword refers to `context` inside `fn`'s code). The function -// `fn` will be called no more than one time per given amount of `time`. The arguments -// received by the bound function will be any arguments passed when binding the -// function, followed by any arguments passed when invoking the bound function. -// Has an `L.throttle` shortcut. -function throttle(fn, time, context) { - var lock, args, wrapperFn, later; - - later = function () { - // reset lock and call if queued - lock = false; - if (args) { - wrapperFn.apply(context, args); - args = false; - } - }; - - wrapperFn = function () { - if (lock) { - // called too soon, queue to call later - args = arguments; - - } else { - // call and lock until later - fn.apply(context, arguments); - setTimeout(later, time); - lock = true; - } - }; - - return wrapperFn; -} - -// @function wrapNum(num: Number, range: Number[], includeMax?: Boolean): Number -// Returns the number `num` modulo `range` in such a way so it lies within -// `range[0]` and `range[1]`. The returned value will be always smaller than -// `range[1]` unless `includeMax` is set to `true`. -function wrapNum(x, range, includeMax) { - var max = range[1], - min = range[0], - d = max - min; - return x === max && includeMax ? x : ((x - min) % d + d) % d + min; -} - -// @function falseFn(): Function -// Returns a function which always returns `false`. -function falseFn() { return false; } - -// @function formatNum(num: Number, digits?: Number): Number -// Returns the number `num` rounded to `digits` decimals, or to 5 decimals by default. -function formatNum(num, digits) { - var pow = Math.pow(10, digits || 5); - return Math.round(num * pow) / pow; -} - -// @function trim(str: String): String -// Compatibility polyfill for [String.prototype.trim](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim) -function trim(str) { - return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, ''); -} - -// @function splitWords(str: String): String[] -// Trims and splits the string on whitespace and returns the array of parts. -function splitWords(str) { - return trim(str).split(/\s+/); -} - -// @function setOptions(obj: Object, options: Object): Object -// Merges the given properties to the `options` of the `obj` object, returning the resulting options. See `Class options`. Has an `L.setOptions` shortcut. -function setOptions(obj, options) { - if (!obj.hasOwnProperty('options')) { - obj.options = obj.options ? create(obj.options) : {}; - } - for (var i in options) { - obj.options[i] = options[i]; - } - return obj.options; -} - -// @function getParamString(obj: Object, existingUrl?: String, uppercase?: Boolean): String -// Converts an object into a parameter URL string, e.g. `{a: "foo", b: "bar"}` -// translates to `'?a=foo&b=bar'`. If `existingUrl` is set, the parameters will -// be appended at the end. If `uppercase` is `true`, the parameter names will -// be uppercased (e.g. `'?A=foo&B=bar'`) -function getParamString(obj, existingUrl, uppercase) { - var params = []; - for (var i in obj) { - params.push(encodeURIComponent(uppercase ? i.toUpperCase() : i) + '=' + encodeURIComponent(obj[i])); - } - return ((!existingUrl || existingUrl.indexOf('?') === -1) ? '?' : '&') + params.join('&'); -} - -var templateRe = /\{ *([\w_\-]+) *\}/g; - -// @function template(str: String, data: Object): String -// Simple templating facility, accepts a template string of the form `'Hello {a}, {b}'` -// and a data object like `{a: 'foo', b: 'bar'}`, returns evaluated string -// `('Hello foo, bar')`. You can also specify functions instead of strings for -// data values — they will be evaluated passing `data` as an argument. -function template(str, data) { - return str.replace(templateRe, function (str, key) { - var value = data[key]; - - if (value === undefined) { - throw new Error('No value provided for variable ' + str); - - } else if (typeof value === 'function') { - value = value(data); - } - return value; - }); -} - -// @function isArray(obj): Boolean -// Compatibility polyfill for [Array.isArray](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray) -var isArray = Array.isArray || function (obj) { - return (Object.prototype.toString.call(obj) === '[object Array]'); -}; - -// @function indexOf(array: Array, el: Object): Number -// Compatibility polyfill for [Array.prototype.indexOf](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf) -function indexOf(array, el) { - for (var i = 0; i < array.length; i++) { - if (array[i] === el) { return i; } - } - return -1; -} - -// @property emptyImageUrl: String -// Data URI string containing a base64-encoded empty GIF image. -// Used as a hack to free memory from unused images on WebKit-powered -// mobile devices (by setting image `src` to this string). -var emptyImageUrl = 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs='; - -// inspired by http://paulirish.com/2011/requestanimationframe-for-smart-animating/ - -function getPrefixed(name) { - return window['webkit' + name] || window['moz' + name] || window['ms' + name]; -} - -var lastTime = 0; - -// fallback for IE 7-8 -function timeoutDefer(fn) { - var time = +new Date(), - timeToCall = Math.max(0, 16 - (time - lastTime)); - - lastTime = time + timeToCall; - return window.setTimeout(fn, timeToCall); -} - -var requestFn = window.requestAnimationFrame || getPrefixed('RequestAnimationFrame') || timeoutDefer; -var cancelFn = window.cancelAnimationFrame || getPrefixed('CancelAnimationFrame') || - getPrefixed('CancelRequestAnimationFrame') || function (id) { window.clearTimeout(id); }; - -// @function requestAnimFrame(fn: Function, context?: Object, immediate?: Boolean): Number -// Schedules `fn` to be executed when the browser repaints. `fn` is bound to -// `context` if given. When `immediate` is set, `fn` is called immediately if -// the browser doesn't have native support for -// [`window.requestAnimationFrame`](https://developer.mozilla.org/docs/Web/API/window/requestAnimationFrame), -// otherwise it's delayed. Returns a request ID that can be used to cancel the request. -function requestAnimFrame(fn, context, immediate) { - if (immediate && requestFn === timeoutDefer) { - fn.call(context); - } else { - return requestFn.call(window, bind(fn, context)); - } -} - -// @function cancelAnimFrame(id: Number): undefined -// Cancels a previous `requestAnimFrame`. See also [window.cancelAnimationFrame](https://developer.mozilla.org/docs/Web/API/window/cancelAnimationFrame). -function cancelAnimFrame(id) { - if (id) { - cancelFn.call(window, id); - } -} - - -var Util = (Object.freeze || Object)({ - extend: extend, - create: create, - bind: bind, - lastId: lastId, - stamp: stamp, - throttle: throttle, - wrapNum: wrapNum, - falseFn: falseFn, - formatNum: formatNum, - trim: trim, - splitWords: splitWords, - setOptions: setOptions, - getParamString: getParamString, - template: template, - isArray: isArray, - indexOf: indexOf, - emptyImageUrl: emptyImageUrl, - requestFn: requestFn, - cancelFn: cancelFn, - requestAnimFrame: requestAnimFrame, - cancelAnimFrame: cancelAnimFrame -}); - -// @class Class -// @aka L.Class - -// @section -// @uninheritable - -// Thanks to John Resig and Dean Edwards for inspiration! - -function Class() {} - -Class.extend = function (props) { - - // @function extend(props: Object): Function - // [Extends the current class](#class-inheritance) given the properties to be included. - // Returns a Javascript function that is a class constructor (to be called with `new`). - var NewClass = function () { - - // call the constructor - if (this.initialize) { - this.initialize.apply(this, arguments); - } - - // call all constructor hooks - this.callInitHooks(); - }; - - var parentProto = NewClass.__super__ = this.prototype; - - var proto = create(parentProto); - proto.constructor = NewClass; - - NewClass.prototype = proto; - - // inherit parent's statics - for (var i in this) { - if (this.hasOwnProperty(i) && i !== 'prototype' && i !== '__super__') { - NewClass[i] = this[i]; - } - } - - // mix static properties into the class - if (props.statics) { - extend(NewClass, props.statics); - delete props.statics; - } - - // mix includes into the prototype - if (props.includes) { - checkDeprecatedMixinEvents(props.includes); - extend.apply(null, [proto].concat(props.includes)); - delete props.includes; - } - - // merge options - if (proto.options) { - props.options = extend(create(proto.options), props.options); - } - - // mix given properties into the prototype - extend(proto, props); - - proto._initHooks = []; - - // add method for calling all hooks - proto.callInitHooks = function () { - - if (this._initHooksCalled) { return; } - - if (parentProto.callInitHooks) { - parentProto.callInitHooks.call(this); - } - - this._initHooksCalled = true; - - for (var i = 0, len = proto._initHooks.length; i < len; i++) { - proto._initHooks[i].call(this); - } - }; - - return NewClass; -}; - - -// @function include(properties: Object): this -// [Includes a mixin](#class-includes) into the current class. -Class.include = function (props) { - extend(this.prototype, props); - return this; -}; - -// @function mergeOptions(options: Object): this -// [Merges `options`](#class-options) into the defaults of the class. -Class.mergeOptions = function (options) { - extend(this.prototype.options, options); - return this; -}; - -// @function addInitHook(fn: Function): this -// Adds a [constructor hook](#class-constructor-hooks) to the class. -Class.addInitHook = function (fn) { // (Function) || (String, args...) - var args = Array.prototype.slice.call(arguments, 1); - - var init = typeof fn === 'function' ? fn : function () { - this[fn].apply(this, args); - }; - - this.prototype._initHooks = this.prototype._initHooks || []; - this.prototype._initHooks.push(init); - return this; -}; - -function checkDeprecatedMixinEvents(includes) { - if (!L || !L.Mixin) { return; } - - includes = isArray(includes) ? includes : [includes]; - - for (var i = 0; i < includes.length; i++) { - if (includes[i] === 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); - } - } -} - -/* - * @class Evented - * @aka L.Evented - * @inherits Class - * - * A set of methods shared between event-powered classes (like `Map` and `Marker`). Generally, events allow you to execute some function when something happens with an object (e.g. the user clicks on the map, causing the map to fire `'click'` event). - * - * @example - * - * ```js - * map.on('click', function(e) { - * alert(e.latlng); - * } ); - * ``` - * - * Leaflet deals with event listeners by reference, so if you want to add a listener and then remove it, define it as a function: - * - * ```js - * function onClick(e) { ... } - * - * map.on('click', onClick); - * map.off('click', onClick); - * ``` - */ - -var Events = { - /* @method on(type: String, fn: Function, context?: Object): this - * Adds a listener function (`fn`) to a particular event type of the object. You can optionally specify the context of the listener (object the this keyword will point to). You can also pass several space-separated types (e.g. `'click dblclick'`). - * - * @alternative - * @method on(eventMap: Object): this - * Adds a set of type/listener pairs, e.g. `{click: onClick, mousemove: onMouseMove}` - */ - on: function (types, fn, context) { - - // types can be a map of types/handlers - if (typeof types === 'object') { - for (var type in types) { - // we don't process space-separated events here for performance; - // it's a hot path since Layer uses the on(obj) syntax - this._on(type, types[type], fn); - } - - } else { - // types can be a string of space-separated words - types = splitWords(types); - - for (var i = 0, len = types.length; i < len; i++) { - this._on(types[i], fn, context); - } - } - - return this; - }, - - /* @method off(type: String, fn?: Function, context?: Object): this - * Removes a previously added listener function. If no function is specified, it will remove all the listeners of that particular event from the object. Note that if you passed a custom context to `on`, you must pass the same context to `off` in order to remove the listener. - * - * @alternative - * @method off(eventMap: Object): this - * Removes a set of type/listener pairs. - * - * @alternative - * @method off: this - * Removes all listeners to all events on the object. - */ - off: function (types, fn, context) { - - if (!types) { - // clear all listeners if called without arguments - delete this._events; - - } else if (typeof types === 'object') { - for (var type in types) { - this._off(type, types[type], fn); - } - - } else { - types = splitWords(types); - - for (var i = 0, len = types.length; i < len; i++) { - this._off(types[i], fn, context); - } - } - - return this; - }, - - // attach listener (without syntactic sugar now) - _on: function (type, fn, context) { - this._events = this._events || {}; - - /* get/init listeners for type */ - var typeListeners = this._events[type]; - if (!typeListeners) { - typeListeners = []; - this._events[type] = typeListeners; - } - - if (context === this) { - // Less memory footprint. - context = undefined; - } - var newListener = {fn: fn, ctx: context}, - listeners = typeListeners; - - // check if fn already there - for (var i = 0, len = listeners.length; i < len; i++) { - if (listeners[i].fn === fn && listeners[i].ctx === context) { - return; - } - } - - listeners.push(newListener); - }, - - _off: function (type, fn, context) { - var listeners, - i, - len; - - if (!this._events) { return; } - - listeners = this._events[type]; - - if (!listeners) { - return; - } - - if (!fn) { - // Set all removed listeners to noop so they are not called if remove happens in fire - for (i = 0, len = listeners.length; i < len; i++) { - listeners[i].fn = falseFn; - } - // clear all listeners for a type if function isn't specified - delete this._events[type]; - return; - } - - if (context === this) { - context = undefined; - } - - if (listeners) { - - // find fn and remove it - for (i = 0, len = listeners.length; i < len; i++) { - var l = listeners[i]; - if (l.ctx !== context) { continue; } - if (l.fn === fn) { - - // set the removed listener to noop so that's not called if remove happens in fire - l.fn = falseFn; - - if (this._firingCount) { - /* copy array in case events are being fired */ - this._events[type] = listeners = listeners.slice(); - } - listeners.splice(i, 1); - - return; - } - } - } - }, - - // @method fire(type: String, data?: Object, propagate?: Boolean): this - // Fires an event of the specified type. You can optionally provide an data - // object — the first argument of the listener function will contain its - // properties. The event can optionally be propagated to event parents. - fire: function (type, data, propagate) { - if (!this.listens(type, propagate)) { return this; } - - var event = extend({}, data, {type: type, target: this}); - - if (this._events) { - var listeners = this._events[type]; - - if (listeners) { - this._firingCount = (this._firingCount + 1) || 1; - for (var i = 0, len = listeners.length; i < len; i++) { - var l = listeners[i]; - l.fn.call(l.ctx || this, event); - } - - this._firingCount--; - } - } - - if (propagate) { - // propagate the event to parents (set with addEventParent) - this._propagateEvent(event); - } - - return this; - }, - - // @method listens(type: String): Boolean - // Returns `true` if a particular event type has any listeners attached to it. - listens: function (type, propagate) { - var listeners = this._events && this._events[type]; - if (listeners && listeners.length) { return true; } - - if (propagate) { - // also check parents for listeners if event propagates - for (var id in this._eventParents) { - if (this._eventParents[id].listens(type, propagate)) { return true; } - } - } - return false; - }, - - // @method once(…): this - // Behaves as [`on(…)`](#evented-on), except the listener will only get fired once and then removed. - once: function (types, fn, context) { - - if (typeof types === 'object') { - for (var type in types) { - this.once(type, types[type], fn); - } - return this; - } - - var handler = bind(function () { - this - .off(types, fn, context) - .off(types, handler, context); - }, this); - - // add a listener that's executed once and removed after that - return this - .on(types, fn, context) - .on(types, handler, context); - }, - - // @method addEventParent(obj: Evented): this - // Adds an event parent - an `Evented` that will receive propagated events - addEventParent: function (obj) { - this._eventParents = this._eventParents || {}; - this._eventParents[stamp(obj)] = obj; - return this; - }, - - // @method removeEventParent(obj: Evented): this - // Removes an event parent, so it will stop receiving propagated events - removeEventParent: function (obj) { - if (this._eventParents) { - delete this._eventParents[stamp(obj)]; - } - return this; - }, - - _propagateEvent: function (e) { - for (var id in this._eventParents) { - this._eventParents[id].fire(e.type, extend({layer: e.target}, e), true); - } - } -}; - -// aliases; we should ditch those eventually - -// @method addEventListener(…): this -// Alias to [`on(…)`](#evented-on) -Events.addEventListener = Events.on; - -// @method removeEventListener(…): this -// Alias to [`off(…)`](#evented-off) - -// @method clearAllEventListeners(…): this -// Alias to [`off()`](#evented-off) -Events.removeEventListener = Events.clearAllEventListeners = Events.off; - -// @method addOneTimeEventListener(…): this -// Alias to [`once(…)`](#evented-once) -Events.addOneTimeEventListener = Events.once; - -// @method fireEvent(…): this -// Alias to [`fire(…)`](#evented-fire) -Events.fireEvent = Events.fire; - -// @method hasEventListeners(…): Boolean -// Alias to [`listens(…)`](#evented-listens) -Events.hasEventListeners = Events.listens; - -var Evented = Class.extend(Events); - -/* - * @class Point - * @aka L.Point - * - * Represents a point with `x` and `y` coordinates in pixels. - * - * @example - * - * ```js - * var point = L.point(200, 300); - * ``` - * - * All Leaflet methods and options that accept `Point` objects also accept them in a simple Array form (unless noted otherwise), so these lines are equivalent: - * - * ```js - * map.panBy([200, 300]); - * map.panBy(L.point(200, 300)); - * ``` - */ - -function Point(x, y, round) { - // @property x: Number; The `x` coordinate of the point - this.x = (round ? Math.round(x) : x); - // @property y: Number; The `y` coordinate of the point - this.y = (round ? Math.round(y) : y); -} - -Point.prototype = { - - // @method clone(): Point - // Returns a copy of the current point. - clone: function () { - return new Point(this.x, this.y); - }, - - // @method add(otherPoint: Point): Point - // Returns the result of addition of the current and the given points. - add: function (point) { - // non-destructive, returns a new point - return this.clone()._add(toPoint(point)); - }, - - _add: function (point) { - // destructive, used directly for performance in situations where it's safe to modify existing point - this.x += point.x; - this.y += point.y; - return this; - }, - - // @method subtract(otherPoint: Point): Point - // Returns the result of subtraction of the given point from the current. - subtract: function (point) { - return this.clone()._subtract(toPoint(point)); - }, - - _subtract: function (point) { - this.x -= point.x; - this.y -= point.y; - return this; - }, - - // @method divideBy(num: Number): Point - // Returns the result of division of the current point by the given number. - divideBy: function (num) { - return this.clone()._divideBy(num); - }, - - _divideBy: function (num) { - this.x /= num; - this.y /= num; - return this; - }, - - // @method multiplyBy(num: Number): Point - // Returns the result of multiplication of the current point by the given number. - multiplyBy: function (num) { - return this.clone()._multiplyBy(num); - }, - - _multiplyBy: function (num) { - this.x *= num; - this.y *= num; - return this; - }, - - // @method scaleBy(scale: Point): Point - // Multiply each coordinate of the current point by each coordinate of - // `scale`. In linear algebra terms, multiply the point by the - // [scaling matrix](https://en.wikipedia.org/wiki/Scaling_%28geometry%29#Matrix_representation) - // defined by `scale`. - scaleBy: function (point) { - return new Point(this.x * point.x, this.y * point.y); - }, - - // @method unscaleBy(scale: Point): Point - // Inverse of `scaleBy`. Divide each coordinate of the current point by - // each coordinate of `scale`. - unscaleBy: function (point) { - return new Point(this.x / point.x, this.y / point.y); - }, - - // @method round(): Point - // Returns a copy of the current point with rounded coordinates. - round: function () { - return this.clone()._round(); - }, - - _round: function () { - this.x = Math.round(this.x); - this.y = Math.round(this.y); - return this; - }, - - // @method floor(): Point - // Returns a copy of the current point with floored coordinates (rounded down). - floor: function () { - return this.clone()._floor(); - }, - - _floor: function () { - this.x = Math.floor(this.x); - this.y = Math.floor(this.y); - return this; - }, - - // @method ceil(): Point - // Returns a copy of the current point with ceiled coordinates (rounded up). - ceil: function () { - return this.clone()._ceil(); - }, - - _ceil: function () { - this.x = Math.ceil(this.x); - this.y = Math.ceil(this.y); - return this; - }, - - // @method distanceTo(otherPoint: Point): Number - // Returns the cartesian distance between the current and the given points. - distanceTo: function (point) { - point = toPoint(point); - - var x = point.x - this.x, - y = point.y - this.y; - - return Math.sqrt(x * x + y * y); - }, - - // @method equals(otherPoint: Point): Boolean - // Returns `true` if the given point has the same coordinates. - equals: function (point) { - point = toPoint(point); - - return point.x === this.x && - point.y === this.y; - }, - - // @method contains(otherPoint: Point): Boolean - // Returns `true` if both coordinates of the given point are less than the corresponding current point coordinates (in absolute values). - contains: function (point) { - point = toPoint(point); - - return Math.abs(point.x) <= Math.abs(this.x) && - Math.abs(point.y) <= Math.abs(this.y); - }, - - // @method toString(): String - // Returns a string representation of the point for debugging purposes. - toString: function () { - return 'Point(' + - formatNum(this.x) + ', ' + - formatNum(this.y) + ')'; - } -}; - -// @factory L.point(x: Number, y: Number, round?: Boolean) -// Creates a Point object with the given `x` and `y` coordinates. If optional `round` is set to true, rounds the `x` and `y` values. - -// @alternative -// @factory L.point(coords: Number[]) -// Expects an array of the form `[x, y]` instead. - -// @alternative -// @factory L.point(coords: Object) -// Expects a plain object of the form `{x: Number, y: Number}` instead. -function toPoint(x, y, round) { - if (x instanceof Point) { - return x; - } - if (isArray(x)) { - return new Point(x[0], x[1]); - } - if (x === undefined || x === null) { - return x; - } - if (typeof x === 'object' && 'x' in x && 'y' in x) { - return new Point(x.x, x.y); - } - return new Point(x, y, round); -} - -/* - * @class Bounds - * @aka L.Bounds - * - * Represents a rectangular area in pixel coordinates. - * - * @example - * - * ```js - * var p1 = L.point(10, 10), - * p2 = L.point(40, 60), - * bounds = L.bounds(p1, p2); - * ``` - * - * All Leaflet methods that accept `Bounds` objects also accept them in a simple Array form (unless noted otherwise), so the bounds example above can be passed like this: - * - * ```js - * otherBounds.intersects([[10, 10], [40, 60]]); - * ``` - */ - -function Bounds(a, b) { - if (!a) { return; } - - var points = b ? [a, b] : a; - - for (var i = 0, len = points.length; i < len; i++) { - this.extend(points[i]); - } -} - -Bounds.prototype = { - // @method extend(point: Point): this - // Extends the bounds to contain the given point. - extend: function (point) { // (Point) - point = toPoint(point); - - // @property min: Point - // The top left corner of the rectangle. - // @property max: Point - // The bottom right corner of the rectangle. - if (!this.min && !this.max) { - this.min = point.clone(); - this.max = point.clone(); - } else { - this.min.x = Math.min(point.x, this.min.x); - this.max.x = Math.max(point.x, this.max.x); - this.min.y = Math.min(point.y, this.min.y); - this.max.y = Math.max(point.y, this.max.y); - } - return this; - }, - - // @method getCenter(round?: Boolean): Point - // Returns the center point of the bounds. - getCenter: function (round) { - return new Point( - (this.min.x + this.max.x) / 2, - (this.min.y + this.max.y) / 2, round); - }, - - // @method getBottomLeft(): Point - // Returns the bottom-left point of the bounds. - getBottomLeft: function () { - return new Point(this.min.x, this.max.y); - }, - - // @method getTopRight(): Point - // Returns the top-right point of the bounds. - getTopRight: function () { // -> Point - return new Point(this.max.x, this.min.y); - }, - - // @method getTopLeft(): Point - // Returns the top-left point of the bounds (i.e. [`this.min`](#bounds-min)). - getTopLeft: function () { - return this.min; // left, top - }, - - // @method getBottomRight(): Point - // Returns the bottom-right point of the bounds (i.e. [`this.max`](#bounds-max)). - getBottomRight: function () { - return this.max; // right, bottom - }, - - // @method getSize(): Point - // Returns the size of the given bounds - getSize: function () { - return this.max.subtract(this.min); - }, - - // @method contains(otherBounds: Bounds): Boolean - // Returns `true` if the rectangle contains the given one. - // @alternative - // @method contains(point: Point): Boolean - // Returns `true` if the rectangle contains the given point. - contains: function (obj) { - var min, max; - - if (typeof obj[0] === 'number' || obj instanceof Point) { - obj = toPoint(obj); - } else { - obj = toBounds(obj); - } - - if (obj instanceof Bounds) { - min = obj.min; - max = obj.max; - } else { - min = max = obj; - } - - return (min.x >= this.min.x) && - (max.x <= this.max.x) && - (min.y >= this.min.y) && - (max.y <= this.max.y); - }, - - // @method intersects(otherBounds: Bounds): Boolean - // Returns `true` if the rectangle intersects the given bounds. Two bounds - // intersect if they have at least one point in common. - intersects: function (bounds) { // (Bounds) -> Boolean - bounds = toBounds(bounds); - - var min = this.min, - max = this.max, - min2 = bounds.min, - max2 = bounds.max, - xIntersects = (max2.x >= min.x) && (min2.x <= max.x), - yIntersects = (max2.y >= min.y) && (min2.y <= max.y); - - return xIntersects && yIntersects; - }, - - // @method overlaps(otherBounds: Bounds): Boolean - // Returns `true` if the rectangle overlaps the given bounds. Two bounds - // overlap if their intersection is an area. - overlaps: function (bounds) { // (Bounds) -> Boolean - bounds = toBounds(bounds); - - var min = this.min, - max = this.max, - min2 = bounds.min, - max2 = bounds.max, - xOverlaps = (max2.x > min.x) && (min2.x < max.x), - yOverlaps = (max2.y > min.y) && (min2.y < max.y); - - return xOverlaps && yOverlaps; - }, - - isValid: function () { - return !!(this.min && this.max); - } -}; - - -// @factory L.bounds(corner1: Point, corner2: Point) -// Creates a Bounds object from two corners coordinate pairs. -// @alternative -// @factory L.bounds(points: Point[]) -// Creates a Bounds object from the given array of points. -function toBounds(a, b) { - if (!a || a instanceof Bounds) { - return a; - } - return new Bounds(a, b); -} - -/* - * @class LatLngBounds - * @aka L.LatLngBounds - * - * Represents a rectangular geographical area on a map. - * - * @example - * - * ```js - * var corner1 = L.latLng(40.712, -74.227), - * corner2 = L.latLng(40.774, -74.125), - * bounds = L.latLngBounds(corner1, corner2); - * ``` - * - * All Leaflet methods that accept LatLngBounds objects also accept them in a simple Array form (unless noted otherwise), so the bounds example above can be passed like this: - * - * ```js - * map.fitBounds([ - * [40.712, -74.227], - * [40.774, -74.125] - * ]); - * ``` - * - * Caution: if the area crosses the antimeridian (often confused with the International Date Line), you must specify corners _outside_ the [-180, 180] degrees longitude range. - */ - -function LatLngBounds(corner1, corner2) { // (LatLng, LatLng) or (LatLng[]) - if (!corner1) { return; } - - var latlngs = corner2 ? [corner1, corner2] : corner1; - - for (var i = 0, len = latlngs.length; i < len; i++) { - this.extend(latlngs[i]); - } -} - -LatLngBounds.prototype = { - - // @method extend(latlng: LatLng): this - // Extend the bounds to contain the given point - - // @alternative - // @method extend(otherBounds: LatLngBounds): this - // Extend the bounds to contain the given bounds - extend: function (obj) { - var sw = this._southWest, - ne = this._northEast, - sw2, ne2; - - if (obj instanceof LatLng) { - sw2 = obj; - ne2 = obj; - - } else if (obj instanceof LatLngBounds) { - sw2 = obj._southWest; - ne2 = obj._northEast; - - if (!sw2 || !ne2) { return this; } - - } else { - return obj ? this.extend(toLatLng(obj) || toLatLngBounds(obj)) : this; - } - - if (!sw && !ne) { - this._southWest = new LatLng(sw2.lat, sw2.lng); - this._northEast = new LatLng(ne2.lat, ne2.lng); - } else { - sw.lat = Math.min(sw2.lat, sw.lat); - sw.lng = Math.min(sw2.lng, sw.lng); - ne.lat = Math.max(ne2.lat, ne.lat); - ne.lng = Math.max(ne2.lng, ne.lng); - } - - return this; - }, - - // @method pad(bufferRatio: Number): LatLngBounds - // Returns bigger bounds created by extending the current bounds by a given percentage in each direction. - pad: function (bufferRatio) { - var sw = this._southWest, - ne = this._northEast, - heightBuffer = Math.abs(sw.lat - ne.lat) * bufferRatio, - widthBuffer = Math.abs(sw.lng - ne.lng) * bufferRatio; - - return new LatLngBounds( - new LatLng(sw.lat - heightBuffer, sw.lng - widthBuffer), - new LatLng(ne.lat + heightBuffer, ne.lng + widthBuffer)); - }, - - // @method getCenter(): LatLng - // Returns the center point of the bounds. - getCenter: function () { - return new LatLng( - (this._southWest.lat + this._northEast.lat) / 2, - (this._southWest.lng + this._northEast.lng) / 2); - }, - - // @method getSouthWest(): LatLng - // Returns the south-west point of the bounds. - getSouthWest: function () { - return this._southWest; - }, - - // @method getNorthEast(): LatLng - // Returns the north-east point of the bounds. - getNorthEast: function () { - return this._northEast; - }, - - // @method getNorthWest(): LatLng - // Returns the north-west point of the bounds. - getNorthWest: function () { - return new LatLng(this.getNorth(), this.getWest()); - }, - - // @method getSouthEast(): LatLng - // Returns the south-east point of the bounds. - getSouthEast: function () { - return new LatLng(this.getSouth(), this.getEast()); - }, - - // @method getWest(): Number - // Returns the west longitude of the bounds - getWest: function () { - return this._southWest.lng; - }, - - // @method getSouth(): Number - // Returns the south latitude of the bounds - getSouth: function () { - return this._southWest.lat; - }, - - // @method getEast(): Number - // Returns the east longitude of the bounds - getEast: function () { - return this._northEast.lng; - }, - - // @method getNorth(): Number - // Returns the north latitude of the bounds - getNorth: function () { - return this._northEast.lat; - }, - - // @method contains(otherBounds: LatLngBounds): Boolean - // Returns `true` if the rectangle contains the given one. - - // @alternative - // @method contains (latlng: LatLng): Boolean - // Returns `true` if the rectangle contains the given point. - contains: function (obj) { // (LatLngBounds) or (LatLng) -> Boolean - if (typeof obj[0] === 'number' || obj instanceof LatLng || 'lat' in obj) { - obj = toLatLng(obj); - } else { - obj = toLatLngBounds(obj); - } - - var sw = this._southWest, - ne = this._northEast, - sw2, ne2; - - if (obj instanceof LatLngBounds) { - sw2 = obj.getSouthWest(); - ne2 = obj.getNorthEast(); - } else { - sw2 = ne2 = obj; - } - - return (sw2.lat >= sw.lat) && (ne2.lat <= ne.lat) && - (sw2.lng >= sw.lng) && (ne2.lng <= ne.lng); - }, - - // @method intersects(otherBounds: LatLngBounds): Boolean - // Returns `true` if the rectangle intersects the given bounds. Two bounds intersect if they have at least one point in common. - intersects: function (bounds) { - bounds = toLatLngBounds(bounds); - - var sw = this._southWest, - ne = this._northEast, - sw2 = bounds.getSouthWest(), - ne2 = bounds.getNorthEast(), - - latIntersects = (ne2.lat >= sw.lat) && (sw2.lat <= ne.lat), - lngIntersects = (ne2.lng >= sw.lng) && (sw2.lng <= ne.lng); - - return latIntersects && lngIntersects; - }, - - // @method overlaps(otherBounds: Bounds): Boolean - // Returns `true` if the rectangle overlaps the given bounds. Two bounds overlap if their intersection is an area. - overlaps: function (bounds) { - bounds = toLatLngBounds(bounds); - - var sw = this._southWest, - ne = this._northEast, - sw2 = bounds.getSouthWest(), - ne2 = bounds.getNorthEast(), - - latOverlaps = (ne2.lat > sw.lat) && (sw2.lat < ne.lat), - lngOverlaps = (ne2.lng > sw.lng) && (sw2.lng < ne.lng); - - return latOverlaps && lngOverlaps; - }, - - // @method toBBoxString(): String - // Returns a string with bounding box coordinates in a 'southwest_lng,southwest_lat,northeast_lng,northeast_lat' format. Useful for sending requests to web services that return geo data. - toBBoxString: function () { - return [this.getWest(), this.getSouth(), this.getEast(), this.getNorth()].join(','); - }, - - // @method equals(otherBounds: LatLngBounds, maxMargin?: Number): Boolean - // Returns `true` if the rectangle is equivalent (within a small margin of error) to the given bounds. The margin of error can be overriden by setting `maxMargin` to a small number. - equals: function (bounds, maxMargin) { - if (!bounds) { return false; } - - bounds = toLatLngBounds(bounds); - - return this._southWest.equals(bounds.getSouthWest(), maxMargin) && - this._northEast.equals(bounds.getNorthEast(), maxMargin); - }, - - // @method isValid(): Boolean - // Returns `true` if the bounds are properly initialized. - isValid: function () { - return !!(this._southWest && this._northEast); - } -}; - -// TODO International date line? - -// @factory L.latLngBounds(corner1: LatLng, corner2: LatLng) -// Creates a `LatLngBounds` object by defining two diagonally opposite corners of the rectangle. - -// @alternative -// @factory L.latLngBounds(latlngs: LatLng[]) -// Creates a `LatLngBounds` object defined by the geographical points it contains. Very useful for zooming the map to fit a particular set of locations with [`fitBounds`](#map-fitbounds). -function toLatLngBounds(a, b) { - if (a instanceof LatLngBounds) { - return a; - } - return new LatLngBounds(a, b); -} - -/* @class LatLng - * @aka L.LatLng - * - * Represents a geographical point with a certain latitude and longitude. - * - * @example - * - * ``` - * var latlng = L.latLng(50.5, 30.5); - * ``` - * - * All Leaflet methods that accept LatLng objects also accept them in a simple Array form and simple object form (unless noted otherwise), so these lines are equivalent: - * - * ``` - * map.panTo([50, 30]); - * map.panTo({lon: 30, lat: 50}); - * map.panTo({lat: 50, lng: 30}); - * map.panTo(L.latLng(50, 30)); - * ``` - */ - -function LatLng(lat, lng, alt) { - if (isNaN(lat) || isNaN(lng)) { - throw new Error('Invalid LatLng object: (' + lat + ', ' + lng + ')'); - } - - // @property lat: Number - // Latitude in degrees - this.lat = +lat; - - // @property lng: Number - // Longitude in degrees - this.lng = +lng; - - // @property alt: Number - // Altitude in meters (optional) - if (alt !== undefined) { - this.alt = +alt; - } -} - -LatLng.prototype = { - // @method equals(otherLatLng: LatLng, maxMargin?: Number): Boolean - // Returns `true` if the given `LatLng` point is at the same position (within a small margin of error). The margin of error can be overriden by setting `maxMargin` to a small number. - equals: function (obj, maxMargin) { - if (!obj) { return false; } - - obj = toLatLng(obj); - - var margin = Math.max( - Math.abs(this.lat - obj.lat), - Math.abs(this.lng - obj.lng)); - - return margin <= (maxMargin === undefined ? 1.0E-9 : maxMargin); - }, - - // @method toString(): String - // Returns a string representation of the point (for debugging purposes). - toString: function (precision) { - return 'LatLng(' + - formatNum(this.lat, precision) + ', ' + - formatNum(this.lng, precision) + ')'; - }, - - // @method distanceTo(otherLatLng: LatLng): Number - // Returns the distance (in meters) to the given `LatLng` calculated using the [Haversine formula](http://en.wikipedia.org/wiki/Haversine_formula). - distanceTo: function (other) { - return Earth.distance(this, toLatLng(other)); - }, - - // @method wrap(): LatLng - // Returns a new `LatLng` object with the longitude wrapped so it's always between -180 and +180 degrees. - wrap: function () { - return Earth.wrapLatLng(this); - }, - - // @method toBounds(sizeInMeters: Number): LatLngBounds - // Returns a new `LatLngBounds` object in which each boundary is `sizeInMeters/2` meters apart from the `LatLng`. - toBounds: function (sizeInMeters) { - var latAccuracy = 180 * sizeInMeters / 40075017, - lngAccuracy = latAccuracy / Math.cos((Math.PI / 180) * this.lat); - - return toLatLngBounds( - [this.lat - latAccuracy, this.lng - lngAccuracy], - [this.lat + latAccuracy, this.lng + lngAccuracy]); - }, - - clone: function () { - return new LatLng(this.lat, this.lng, this.alt); - } -}; - - - -// @factory L.latLng(latitude: Number, longitude: Number, altitude?: Number): LatLng -// Creates an object representing a geographical point with the given latitude and longitude (and optionally altitude). - -// @alternative -// @factory L.latLng(coords: Array): LatLng -// Expects an array of the form `[Number, Number]` or `[Number, Number, Number]` instead. - -// @alternative -// @factory L.latLng(coords: Object): LatLng -// Expects an plain object of the form `{lat: Number, lng: Number}` or `{lat: Number, lng: Number, alt: Number}` instead. - -function toLatLng(a, b, c) { - if (a instanceof LatLng) { - return a; - } - if (isArray(a) && typeof a[0] !== 'object') { - if (a.length === 3) { - return new LatLng(a[0], a[1], a[2]); - } - if (a.length === 2) { - return new LatLng(a[0], a[1]); - } - return null; - } - if (a === undefined || a === null) { - return a; - } - if (typeof a === 'object' && 'lat' in a) { - return new LatLng(a.lat, 'lng' in a ? a.lng : a.lon, a.alt); - } - if (b === undefined) { - return null; - } - return new LatLng(a, b, c); -} - -/* - * @namespace CRS - * @crs L.CRS.Base - * Object that defines coordinate reference systems for projecting - * geographical points into pixel (screen) coordinates and back (and to - * coordinates in other units for [WMS](https://en.wikipedia.org/wiki/Web_Map_Service) services). See - * [spatial reference system](http://en.wikipedia.org/wiki/Coordinate_reference_system). - * - * Leaflet defines the most usual CRSs by default. If you want to use a - * CRS not defined by default, take a look at the - * [Proj4Leaflet](https://github.com/kartena/Proj4Leaflet) plugin. - */ - -var CRS = { - // @method latLngToPoint(latlng: LatLng, zoom: Number): Point - // Projects geographical coordinates into pixel coordinates for a given zoom. - latLngToPoint: function (latlng, zoom) { - var projectedPoint = this.projection.project(latlng), - scale = this.scale(zoom); - - return this.transformation._transform(projectedPoint, scale); - }, - - // @method pointToLatLng(point: Point, zoom: Number): LatLng - // The inverse of `latLngToPoint`. Projects pixel coordinates on a given - // zoom into geographical coordinates. - pointToLatLng: function (point, zoom) { - var scale = this.scale(zoom), - untransformedPoint = this.transformation.untransform(point, scale); - - return this.projection.unproject(untransformedPoint); - }, - - // @method project(latlng: LatLng): Point - // Projects geographical coordinates into coordinates in units accepted for - // this CRS (e.g. meters for EPSG:3857, for passing it to WMS services). - project: function (latlng) { - return this.projection.project(latlng); - }, - - // @method unproject(point: Point): LatLng - // Given a projected coordinate returns the corresponding LatLng. - // The inverse of `project`. - unproject: function (point) { - return this.projection.unproject(point); - }, - - // @method scale(zoom: Number): Number - // Returns the scale used when transforming projected coordinates into - // pixel coordinates for a particular zoom. For example, it returns - // `256 * 2^zoom` for Mercator-based CRS. - scale: function (zoom) { - return 256 * Math.pow(2, zoom); - }, - - // @method zoom(scale: Number): Number - // Inverse of `scale()`, returns the zoom level corresponding to a scale - // factor of `scale`. - zoom: function (scale) { - return Math.log(scale / 256) / Math.LN2; - }, - - // @method getProjectedBounds(zoom: Number): Bounds - // Returns the projection's bounds scaled and transformed for the provided `zoom`. - getProjectedBounds: function (zoom) { - if (this.infinite) { return null; } - - var b = this.projection.bounds, - s = this.scale(zoom), - min = this.transformation.transform(b.min, s), - max = this.transformation.transform(b.max, s); - - return new Bounds(min, max); - }, - - // @method distance(latlng1: LatLng, latlng2: LatLng): Number - // Returns the distance between two geographical coordinates. - - // @property code: String - // Standard code name of the CRS passed into WMS services (e.g. `'EPSG:3857'`) - // - // @property wrapLng: Number[] - // An array of two numbers defining whether the longitude (horizontal) coordinate - // axis wraps around a given range and how. Defaults to `[-180, 180]` in most - // geographical CRSs. If `undefined`, the longitude axis does not wrap around. - // - // @property wrapLat: Number[] - // Like `wrapLng`, but for the latitude (vertical) axis. - - // wrapLng: [min, max], - // wrapLat: [min, max], - - // @property infinite: Boolean - // If true, the coordinate space will be unbounded (infinite in both axes) - infinite: false, - - // @method wrapLatLng(latlng: LatLng): LatLng - // Returns a `LatLng` where lat and lng has been wrapped according to the - // CRS's `wrapLat` and `wrapLng` properties, if they are outside the CRS's bounds. - wrapLatLng: function (latlng) { - var lng = this.wrapLng ? wrapNum(latlng.lng, this.wrapLng, true) : latlng.lng, - lat = this.wrapLat ? wrapNum(latlng.lat, this.wrapLat, true) : latlng.lat, - alt = latlng.alt; - - return new LatLng(lat, lng, alt); - }, - - // @method wrapLatLngBounds(bounds: LatLngBounds): LatLngBounds - // Returns a `LatLngBounds` with the same size as the given one, ensuring - // that its center is within the CRS's bounds. - // Only accepts actual `L.LatLngBounds` instances, not arrays. - wrapLatLngBounds: function (bounds) { - var center = bounds.getCenter(), - newCenter = this.wrapLatLng(center), - latShift = center.lat - newCenter.lat, - lngShift = center.lng - newCenter.lng; - - if (latShift === 0 && lngShift === 0) { - return bounds; - } - - var sw = bounds.getSouthWest(), - ne = bounds.getNorthEast(), - newSw = new LatLng(sw.lat - latShift, sw.lng - lngShift), - newNe = new LatLng(ne.lat - latShift, ne.lng - lngShift); - - return new LatLngBounds(newSw, newNe); - } -}; - -/* - * @namespace CRS - * @crs L.CRS.Earth - * - * Serves as the base for CRS that are global such that they cover the earth. - * Can only be used as the base for other CRS and cannot be used directly, - * since it does not have a `code`, `projection` or `transformation`. `distance()` returns - * meters. - */ - -var Earth = extend({}, CRS, { - wrapLng: [-180, 180], - - // Mean Earth Radius, as recommended for use by - // the International Union of Geodesy and Geophysics, - // see http://rosettacode.org/wiki/Haversine_formula - R: 6371000, - - // distance between two geographical points using spherical law of cosines approximation - distance: function (latlng1, latlng2) { - var rad = Math.PI / 180, - lat1 = latlng1.lat * rad, - lat2 = latlng2.lat * rad, - a = Math.sin(lat1) * Math.sin(lat2) + - Math.cos(lat1) * Math.cos(lat2) * Math.cos((latlng2.lng - latlng1.lng) * rad); - - return this.R * Math.acos(Math.min(a, 1)); - } -}); - -/* - * @namespace Projection - * @projection L.Projection.SphericalMercator - * - * Spherical Mercator projection — the most common projection for online maps, - * used by almost all free and commercial tile providers. Assumes that Earth is - * a sphere. Used by the `EPSG:3857` CRS. - */ - -var SphericalMercator = { - - R: 6378137, - MAX_LATITUDE: 85.0511287798, - - project: function (latlng) { - var d = Math.PI / 180, - max = this.MAX_LATITUDE, - lat = Math.max(Math.min(max, latlng.lat), -max), - sin = Math.sin(lat * d); - - return new Point( - this.R * latlng.lng * d, - this.R * Math.log((1 + sin) / (1 - sin)) / 2); - }, - - unproject: function (point) { - var d = 180 / Math.PI; - - return new LatLng( - (2 * Math.atan(Math.exp(point.y / this.R)) - (Math.PI / 2)) * d, - point.x * d / this.R); - }, - - bounds: (function () { - var d = 6378137 * Math.PI; - return new Bounds([-d, -d], [d, d]); - })() -}; - -/* - * @class Transformation - * @aka L.Transformation - * - * Represents an affine transformation: a set of coefficients `a`, `b`, `c`, `d` - * for transforming a point of a form `(x, y)` into `(a*x + b, c*y + d)` and doing - * the reverse. Used by Leaflet in its projections code. - * - * @example - * - * ```js - * var transformation = L.transformation(2, 5, -1, 10), - * p = L.point(1, 2), - * p2 = transformation.transform(p), // L.point(7, 8) - * p3 = transformation.untransform(p2); // L.point(1, 2) - * ``` - */ - - -// factory new L.Transformation(a: Number, b: Number, c: Number, d: Number) -// Creates a `Transformation` object with the given coefficients. -function Transformation(a, b, c, d) { - if (isArray(a)) { - // use array properties - this._a = a[0]; - this._b = a[1]; - this._c = a[2]; - this._d = a[3]; - return; - } - this._a = a; - this._b = b; - this._c = c; - this._d = d; -} - -Transformation.prototype = { - // @method transform(point: Point, scale?: Number): Point - // Returns a transformed point, optionally multiplied by the given scale. - // Only accepts actual `L.Point` instances, not arrays. - transform: function (point, scale) { // (Point, Number) -> Point - return this._transform(point.clone(), scale); - }, - - // destructive transform (faster) - _transform: function (point, scale) { - scale = scale || 1; - point.x = scale * (this._a * point.x + this._b); - point.y = scale * (this._c * point.y + this._d); - return point; - }, - - // @method untransform(point: Point, scale?: Number): Point - // Returns the reverse transformation of the given point, optionally divided - // by the given scale. Only accepts actual `L.Point` instances, not arrays. - untransform: function (point, scale) { - scale = scale || 1; - return new Point( - (point.x / scale - this._b) / this._a, - (point.y / scale - this._d) / this._c); - } -}; - -// factory L.transformation(a: Number, b: Number, c: Number, d: Number) - -// @factory L.transformation(a: Number, b: Number, c: Number, d: Number) -// Instantiates a Transformation object with the given coefficients. - -// @alternative -// @factory L.transformation(coefficients: Array): Transformation -// Expects an coeficients array of the form -// `[a: Number, b: Number, c: Number, d: Number]`. - -function toTransformation(a, b, c, d) { - return new Transformation(a, b, c, d); -} - -/* - * @namespace CRS - * @crs L.CRS.EPSG3857 - * - * The most common CRS for online maps, used by almost all free and commercial - * tile providers. Uses Spherical Mercator projection. Set in by default in - * Map's `crs` option. - */ - -var EPSG3857 = extend({}, Earth, { - code: 'EPSG:3857', - projection: SphericalMercator, - - transformation: (function () { - var scale = 0.5 / (Math.PI * SphericalMercator.R); - return toTransformation(scale, 0.5, -scale, 0.5); - }()) -}); - -var EPSG900913 = extend({}, EPSG3857, { - code: 'EPSG:900913' -}); - -// @namespace SVG; @section -// There are several static functions which can be called without instantiating L.SVG: - -// @function create(name: String): SVGElement -// Returns a instance of [SVGElement](https://developer.mozilla.org/docs/Web/API/SVGElement), -// corresponding to the class name passed. For example, using 'line' will return -// an instance of [SVGLineElement](https://developer.mozilla.org/docs/Web/API/SVGLineElement). -function svgCreate(name) { - return document.createElementNS('http://www.w3.org/2000/svg', name); -} - -// @function pointsToPath(rings: Point[], closed: Boolean): String -// Generates a SVG path string for multiple rings, with each ring turning -// into "M..L..L.." instructions -function pointsToPath(rings, closed) { - var str = '', - i, j, len, len2, points, p; - - for (i = 0, len = rings.length; i < len; i++) { - points = rings[i]; - - for (j = 0, len2 = points.length; j < len2; j++) { - p = points[j]; - str += (j ? 'L' : 'M') + p.x + ' ' + p.y; - } - - // closes the ring for polygons; "x" is VML syntax - str += closed ? (svg ? 'z' : 'x') : ''; - } - - // SVG complains about empty path strings - return str || 'M0 0'; -} - -/* - * @namespace Browser - * @aka L.Browser - * - * A namespace with static properties for browser/feature detection used by Leaflet internally. - * - * @example - * - * ```js - * if (L.Browser.ielt9) { - * alert('Upgrade your browser, dude!'); - * } - * ``` - */ - -var style$1 = document.documentElement.style; - -// @property ie: Boolean; `true` for all Internet Explorer versions (not Edge). -var ie = 'ActiveXObject' in window; - -// @property ielt9: Boolean; `true` for Internet Explorer versions less than 9. -var ielt9 = ie && !document.addEventListener; - -// @property edge: Boolean; `true` for the Edge web browser. -var edge = 'msLaunchUri' in navigator && !('documentMode' in document); - -// @property webkit: Boolean; -// `true` for webkit-based browsers like Chrome and Safari (including mobile versions). -var webkit = userAgentContains('webkit'); - -// @property android: Boolean -// `true` for any browser running on an Android platform. -var android = userAgentContains('android'); - -// @property android23: Boolean; `true` for browsers running on Android 2 or Android 3. -var android23 = userAgentContains('android 2') || userAgentContains('android 3'); - -// @property opera: Boolean; `true` for the Opera browser -var opera = !!window.opera; - -// @property chrome: Boolean; `true` for the Chrome browser. -var chrome = userAgentContains('chrome'); - -// @property gecko: Boolean; `true` for gecko-based browsers like Firefox. -var gecko = userAgentContains('gecko') && !webkit && !opera && !ie; - -// @property safari: Boolean; `true` for the Safari browser. -var safari = !chrome && userAgentContains('safari'); - -var phantom = userAgentContains('phantom'); - -// @property opera12: Boolean -// `true` for the Opera browser supporting CSS transforms (version 12 or later). -var opera12 = 'OTransition' in style$1; - -// @property win: Boolean; `true` when the browser is running in a Windows platform -var win = navigator.platform.indexOf('Win') === 0; - -// @property ie3d: Boolean; `true` for all Internet Explorer versions supporting CSS transforms. -var ie3d = ie && ('transition' in style$1); - -// @property webkit3d: Boolean; `true` for webkit-based browsers supporting CSS transforms. -var webkit3d = ('WebKitCSSMatrix' in window) && ('m11' in new window.WebKitCSSMatrix()) && !android23; - -// @property gecko3d: Boolean; `true` for gecko-based browsers supporting CSS transforms. -var gecko3d = 'MozPerspective' in style$1; - -// @property any3d: Boolean -// `true` for all browsers supporting CSS transforms. -var any3d = !window.L_DISABLE_3D && (ie3d || webkit3d || gecko3d) && !opera12 && !phantom; - -// @property mobile: Boolean; `true` for all browsers running in a mobile device. -var mobile = typeof orientation !== 'undefined' || userAgentContains('mobile'); - -// @property mobileWebkit: Boolean; `true` for all webkit-based browsers in a mobile device. -var mobileWebkit = mobile && webkit; - -// @property mobileWebkit3d: Boolean -// `true` for all webkit-based browsers in a mobile device supporting CSS transforms. -var mobileWebkit3d = mobile && webkit3d; - -// @property msPointer: Boolean -// `true` for browsers implementing the Microsoft touch events model (notably IE10). -var msPointer = !window.PointerEvent && window.MSPointerEvent; - -// @property pointer: Boolean -// `true` for all browsers supporting [pointer events](https://msdn.microsoft.com/en-us/library/dn433244%28v=vs.85%29.aspx). -var pointer = !!(window.PointerEvent || msPointer); - -// @property touch: Boolean -// `true` for all browsers supporting [touch events](https://developer.mozilla.org/docs/Web/API/Touch_events). -// This does not necessarily mean that the browser is running in a computer with -// a touchscreen, it only means that the browser is capable of understanding -// touch events. -var touch = !window.L_NO_TOUCH && (pointer || 'ontouchstart' in window || - (window.DocumentTouch && document instanceof window.DocumentTouch)); - -// @property mobileOpera: Boolean; `true` for the Opera browser in a mobile device. -var mobileOpera = mobile && opera; - -// @property mobileGecko: Boolean -// `true` for gecko-based browsers running in a mobile device. -var mobileGecko = mobile && gecko; - -// @property retina: Boolean -// `true` for browsers on a high-resolution "retina" screen. -var retina = (window.devicePixelRatio || (window.screen.deviceXDPI / window.screen.logicalXDPI)) > 1; - - -// @property canvas: Boolean -// `true` when the browser supports [``](https://developer.mozilla.org/docs/Web/API/Canvas_API). -var canvas = (function () { - return !!document.createElement('canvas').getContext; -}()); - -// @property svg: Boolean -// `true` when the browser supports [SVG](https://developer.mozilla.org/docs/Web/SVG). -var svg = !!(document.createElementNS && svgCreate('svg').createSVGRect); - -// @property vml: Boolean -// `true` if the browser supports [VML](https://en.wikipedia.org/wiki/Vector_Markup_Language). -var vml = !svg && (function () { - try { - var div = document.createElement('div'); - div.innerHTML = ''; - - var shape = div.firstChild; - shape.style.behavior = 'url(#default#VML)'; - - return shape && (typeof shape.adj === 'object'); - - } catch (e) { - return false; - } -}()); - - -function userAgentContains(str) { - return navigator.userAgent.toLowerCase().indexOf(str) >= 0; -} - - -var Browser = (Object.freeze || Object)({ - ie: ie, - ielt9: ielt9, - edge: edge, - webkit: webkit, - android: android, - android23: android23, - opera: opera, - chrome: chrome, - gecko: gecko, - safari: safari, - phantom: phantom, - opera12: opera12, - win: win, - ie3d: ie3d, - webkit3d: webkit3d, - gecko3d: gecko3d, - any3d: any3d, - mobile: mobile, - mobileWebkit: mobileWebkit, - mobileWebkit3d: mobileWebkit3d, - msPointer: msPointer, - pointer: pointer, - touch: touch, - mobileOpera: mobileOpera, - mobileGecko: mobileGecko, - retina: retina, - canvas: canvas, - svg: svg, - vml: vml -}); - -/* - * Extends L.DomEvent to provide touch support for Internet Explorer and Windows-based devices. - */ - - -var POINTER_DOWN = msPointer ? 'MSPointerDown' : 'pointerdown'; -var POINTER_MOVE = msPointer ? 'MSPointerMove' : 'pointermove'; -var POINTER_UP = msPointer ? 'MSPointerUp' : 'pointerup'; -var POINTER_CANCEL = msPointer ? 'MSPointerCancel' : 'pointercancel'; -var TAG_WHITE_LIST = ['INPUT', 'SELECT', 'OPTION']; -var _pointers = {}; -var _pointerDocListener = false; - -// DomEvent.DoubleTap needs to know about this -var _pointersCount = 0; - -// Provides a touch events wrapper for (ms)pointer events. -// ref http://www.w3.org/TR/pointerevents/ https://www.w3.org/Bugs/Public/show_bug.cgi?id=22890 - -function addPointerListener(obj, type, handler, id) { - if (type === 'touchstart') { - _addPointerStart(obj, handler, id); - - } else if (type === 'touchmove') { - _addPointerMove(obj, handler, id); - - } else if (type === 'touchend') { - _addPointerEnd(obj, handler, id); - } - - return this; -} - -function removePointerListener(obj, type, id) { - var handler = obj['_leaflet_' + type + id]; - - if (type === 'touchstart') { - obj.removeEventListener(POINTER_DOWN, handler, false); - - } else if (type === 'touchmove') { - obj.removeEventListener(POINTER_MOVE, handler, false); - - } else if (type === 'touchend') { - obj.removeEventListener(POINTER_UP, handler, false); - obj.removeEventListener(POINTER_CANCEL, handler, false); - } - - return this; -} - -function _addPointerStart(obj, handler, id) { - var onDown = bind(function (e) { - if (e.pointerType !== 'mouse' && e.pointerType !== e.MSPOINTER_TYPE_MOUSE && e.pointerType !== e.MSPOINTER_TYPE_MOUSE) { - // In IE11, some touch events needs to fire for form controls, or - // the controls will stop working. We keep a whitelist of tag names that - // need these events. For other target tags, we prevent default on the event. - if (TAG_WHITE_LIST.indexOf(e.target.tagName) < 0) { - preventDefault(e); - } else { - return; - } - } - - _handlePointer(e, handler); - }); - - obj['_leaflet_touchstart' + id] = onDown; - obj.addEventListener(POINTER_DOWN, onDown, false); - - // need to keep track of what pointers and how many are active to provide e.touches emulation - if (!_pointerDocListener) { - // we listen documentElement as any drags that end by moving the touch off the screen get fired there - document.documentElement.addEventListener(POINTER_DOWN, _globalPointerDown, true); - document.documentElement.addEventListener(POINTER_MOVE, _globalPointerMove, true); - document.documentElement.addEventListener(POINTER_UP, _globalPointerUp, true); - document.documentElement.addEventListener(POINTER_CANCEL, _globalPointerUp, true); - - _pointerDocListener = true; - } -} - -function _globalPointerDown(e) { - _pointers[e.pointerId] = e; - _pointersCount++; -} - -function _globalPointerMove(e) { - if (_pointers[e.pointerId]) { - _pointers[e.pointerId] = e; - } -} - -function _globalPointerUp(e) { - delete _pointers[e.pointerId]; - _pointersCount--; -} - -function _handlePointer(e, handler) { - e.touches = []; - for (var i in _pointers) { - e.touches.push(_pointers[i]); - } - e.changedTouches = [e]; - - handler(e); -} - -function _addPointerMove(obj, handler, id) { - var onMove = function (e) { - // don't fire touch moves when mouse isn't down - if ((e.pointerType === e.MSPOINTER_TYPE_MOUSE || e.pointerType === 'mouse') && e.buttons === 0) { return; } - - _handlePointer(e, handler); - }; - - obj['_leaflet_touchmove' + id] = onMove; - obj.addEventListener(POINTER_MOVE, onMove, false); -} - -function _addPointerEnd(obj, handler, id) { - var onUp = function (e) { - _handlePointer(e, handler); - }; - - obj['_leaflet_touchend' + id] = onUp; - obj.addEventListener(POINTER_UP, onUp, false); - obj.addEventListener(POINTER_CANCEL, onUp, false); -} - -/* - * Extends the event handling code with double tap support for mobile browsers. - */ - -var _touchstart = msPointer ? 'MSPointerDown' : pointer ? 'pointerdown' : 'touchstart'; -var _touchend = msPointer ? 'MSPointerUp' : pointer ? 'pointerup' : 'touchend'; -var _pre = '_leaflet_'; - -// inspired by Zepto touch code by Thomas Fuchs -function addDoubleTapListener(obj, handler, id) { - var last, touch$$1, - doubleTap = false, - delay = 250; - - function onTouchStart(e) { - var count; - - if (pointer) { - if ((!edge) || e.pointerType === 'mouse') { return; } - count = _pointersCount; - } else { - count = e.touches.length; - } - - if (count > 1) { return; } - - var now = Date.now(), - delta = now - (last || now); - - touch$$1 = e.touches ? e.touches[0] : e; - doubleTap = (delta > 0 && delta <= delay); - last = now; - } - - function onTouchEnd(e) { - if (doubleTap && !touch$$1.cancelBubble) { - if (pointer) { - if ((!edge) || e.pointerType === 'mouse') { return; } - // work around .type being readonly with MSPointer* events - var newTouch = {}, - prop, i; - - for (i in touch$$1) { - prop = touch$$1[i]; - newTouch[i] = prop && prop.bind ? prop.bind(touch$$1) : prop; - } - touch$$1 = newTouch; - } - touch$$1.type = 'dblclick'; - handler(touch$$1); - last = null; - } - } - - obj[_pre + _touchstart + id] = onTouchStart; - obj[_pre + _touchend + id] = onTouchEnd; - obj[_pre + 'dblclick' + id] = handler; - - obj.addEventListener(_touchstart, onTouchStart, false); - obj.addEventListener(_touchend, onTouchEnd, false); - - // On some platforms (notably, chrome<55 on win10 + touchscreen + mouse), - // the browser doesn't fire touchend/pointerup events but does fire - // native dblclicks. See #4127. - // Edge 14 also fires native dblclicks, but only for pointerType mouse, see #5180. - obj.addEventListener('dblclick', handler, false); - - return this; -} - -function removeDoubleTapListener(obj, id) { - var touchstart = obj[_pre + _touchstart + id], - touchend = obj[_pre + _touchend + id], - dblclick = obj[_pre + 'dblclick' + id]; - - obj.removeEventListener(_touchstart, touchstart, false); - obj.removeEventListener(_touchend, touchend, false); - if (!edge) { - obj.removeEventListener('dblclick', dblclick, false); - } - - return this; -} - -/* - * @namespace DomEvent - * Utility functions to work with the [DOM events](https://developer.mozilla.org/docs/Web/API/Event), used by Leaflet internally. - */ - -// Inspired by John Resig, Dean Edwards and YUI addEvent implementations. - -// @function on(el: HTMLElement, types: String, fn: Function, context?: Object): this -// Adds a listener function (`fn`) to a particular DOM event type of the -// element `el`. You can optionally specify the context of the listener -// (object the `this` keyword will point to). You can also pass several -// space-separated types (e.g. `'click dblclick'`). - -// @alternative -// @function on(el: HTMLElement, eventMap: Object, context?: Object): this -// Adds a set of type/listener pairs, e.g. `{click: onClick, mousemove: onMouseMove}` -function on(obj, types, fn, context) { - - if (typeof types === 'object') { - for (var type in types) { - addOne(obj, type, types[type], fn); - } - } else { - types = splitWords(types); - - for (var i = 0, len = types.length; i < len; i++) { - addOne(obj, types[i], fn, context); - } - } - - return this; -} - -var eventsKey = '_leaflet_events'; - -// @function off(el: HTMLElement, types: String, fn: Function, context?: Object): this -// Removes a previously added listener function. If no function is specified, -// it will remove all the listeners of that particular DOM event from the element. -// Note that if you passed a custom context to on, you must pass the same -// context to `off` in order to remove the listener. - -// @alternative -// @function off(el: HTMLElement, eventMap: Object, context?: Object): this -// Removes a set of type/listener pairs, e.g. `{click: onClick, mousemove: onMouseMove}` - -// @alternative -// @function off(el: HTMLElement): this -// Removes all known event listeners -function off(obj, types, fn, context) { - - if (typeof types === 'object') { - for (var type in types) { - removeOne(obj, type, types[type], fn); - } - } else if (types) { - types = splitWords(types); - - for (var i = 0, len = types.length; i < len; i++) { - removeOne(obj, types[i], fn, context); - } - } else { - for (var j in obj[eventsKey]) { - removeOne(obj, j, obj[eventsKey][j]); - } - delete obj[eventsKey]; - } -} - -function addOne(obj, type, fn, context) { - var id = type + stamp(fn) + (context ? '_' + stamp(context) : ''); - - if (obj[eventsKey] && obj[eventsKey][id]) { return this; } - - var handler = function (e) { - return fn.call(context || obj, e || window.event); - }; - - var originalHandler = handler; - - if (pointer && type.indexOf('touch') === 0) { - // Needs DomEvent.Pointer.js - addPointerListener(obj, type, handler, id); - - } else if (touch && (type === 'dblclick') && addDoubleTapListener && - !(pointer && chrome)) { - // Chrome >55 does not need the synthetic dblclicks from addDoubleTapListener - // See #5180 - addDoubleTapListener(obj, handler, id); - - } else if ('addEventListener' in obj) { - - if (type === 'mousewheel') { - obj.addEventListener('onwheel' in obj ? 'wheel' : 'mousewheel', handler, false); - - } else if ((type === 'mouseenter') || (type === 'mouseleave')) { - handler = function (e) { - e = e || window.event; - if (isExternalTarget(obj, e)) { - originalHandler(e); - } - }; - obj.addEventListener(type === 'mouseenter' ? 'mouseover' : 'mouseout', handler, false); - - } else { - if (type === 'click' && android) { - handler = function (e) { - filterClick(e, originalHandler); - }; - } - obj.addEventListener(type, handler, false); - } - - } else if ('attachEvent' in obj) { - obj.attachEvent('on' + type, handler); - } - - obj[eventsKey] = obj[eventsKey] || {}; - obj[eventsKey][id] = handler; -} - -function removeOne(obj, type, fn, context) { - - var id = type + stamp(fn) + (context ? '_' + stamp(context) : ''), - handler = obj[eventsKey] && obj[eventsKey][id]; - - if (!handler) { return this; } - - if (pointer && type.indexOf('touch') === 0) { - removePointerListener(obj, type, id); - - } else if (touch && (type === 'dblclick') && removeDoubleTapListener) { - removeDoubleTapListener(obj, id); - - } else if ('removeEventListener' in obj) { - - if (type === 'mousewheel') { - obj.removeEventListener('onwheel' in obj ? 'wheel' : 'mousewheel', handler, false); - - } else { - obj.removeEventListener( - type === 'mouseenter' ? 'mouseover' : - type === 'mouseleave' ? 'mouseout' : type, handler, false); - } - - } else if ('detachEvent' in obj) { - obj.detachEvent('on' + type, handler); - } - - obj[eventsKey][id] = null; -} - -// @function stopPropagation(ev: DOMEvent): this -// Stop the given event from propagation to parent elements. Used inside the listener functions: -// ```js -// L.DomEvent.on(div, 'click', function (ev) { -// L.DomEvent.stopPropagation(ev); -// }); -// ``` -function stopPropagation(e) { - - if (e.stopPropagation) { - e.stopPropagation(); - } else if (e.originalEvent) { // In case of Leaflet event. - e.originalEvent._stopped = true; - } else { - e.cancelBubble = true; - } - skipped(e); - - return this; -} - -// @function disableScrollPropagation(el: HTMLElement): this -// Adds `stopPropagation` to the element's `'mousewheel'` events (plus browser variants). -function disableScrollPropagation(el) { - return addOne(el, 'mousewheel', stopPropagation); -} - -// @function disableClickPropagation(el: HTMLElement): this -// Adds `stopPropagation` to the element's `'click'`, `'doubleclick'`, -// `'mousedown'` and `'touchstart'` events (plus browser variants). -function disableClickPropagation(el) { - on(el, 'mousedown touchstart dblclick', stopPropagation); - addOne(el, 'click', fakeStop); - return this; -} - -// @function preventDefault(ev: DOMEvent): this -// Prevents the default action of the DOM Event `ev` from happening (such as -// following a link in the href of the a element, or doing a POST request -// with page reload when a `
    ` is submitted). -// Use it inside listener functions. -function preventDefault(e) { - if (e.preventDefault) { - e.preventDefault(); - } else { - e.returnValue = false; - } - return this; -} - -// @function stop(ev): this -// Does `stopPropagation` and `preventDefault` at the same time. -function stop(e) { - preventDefault(e); - stopPropagation(e); - return this; -} - -// @function getMousePosition(ev: DOMEvent, container?: HTMLElement): Point -// Gets normalized mouse position from a DOM event relative to the -// `container` or to the whole page if not specified. -function getMousePosition(e, container) { - if (!container) { - return new Point(e.clientX, e.clientY); - } - - var rect = container.getBoundingClientRect(); - - return new Point( - e.clientX - rect.left - container.clientLeft, - e.clientY - rect.top - container.clientTop); -} - -// Chrome on Win scrolls double the pixels as in other platforms (see #4538), -// and Firefox scrolls device pixels, not CSS pixels -var wheelPxFactor = - (win && chrome) ? 2 * window.devicePixelRatio : - gecko ? window.devicePixelRatio : 1; - -// @function getWheelDelta(ev: DOMEvent): Number -// Gets normalized wheel delta from a mousewheel DOM event, in vertical -// pixels scrolled (negative if scrolling down). -// Events from pointing devices without precise scrolling are mapped to -// a best guess of 60 pixels. -function getWheelDelta(e) { - return (edge) ? e.wheelDeltaY / 2 : // Don't trust window-geometry-based delta - (e.deltaY && e.deltaMode === 0) ? -e.deltaY / wheelPxFactor : // Pixels - (e.deltaY && e.deltaMode === 1) ? -e.deltaY * 20 : // Lines - (e.deltaY && e.deltaMode === 2) ? -e.deltaY * 60 : // Pages - (e.deltaX || e.deltaZ) ? 0 : // Skip horizontal/depth wheel events - e.wheelDelta ? (e.wheelDeltaY || e.wheelDelta) / 2 : // Legacy IE pixels - (e.detail && Math.abs(e.detail) < 32765) ? -e.detail * 20 : // Legacy Moz lines - e.detail ? e.detail / -32765 * 60 : // Legacy Moz pages - 0; -} - -var skipEvents = {}; - -function fakeStop(e) { - // fakes stopPropagation by setting a special event flag, checked/reset with skipped(e) - skipEvents[e.type] = true; -} - -function skipped(e) { - var events = skipEvents[e.type]; - // reset when checking, as it's only used in map container and propagates outside of the map - skipEvents[e.type] = false; - return events; -} - -// check if element really left/entered the event target (for mouseenter/mouseleave) -function isExternalTarget(el, e) { - - var related = e.relatedTarget; - - if (!related) { return true; } - - try { - while (related && (related !== el)) { - related = related.parentNode; - } - } catch (err) { - return false; - } - return (related !== el); -} - -var lastClick; - -// this is a horrible workaround for a bug in Android where a single touch triggers two click events -function filterClick(e, handler) { - var timeStamp = (e.timeStamp || (e.originalEvent && e.originalEvent.timeStamp)), - elapsed = lastClick && (timeStamp - lastClick); - - // are they closer together than 500ms yet more than 100ms? - // Android typically triggers them ~300ms apart while multiple listeners - // on the same event should be triggered far faster; - // or check if click is simulated on the element, and if it is, reject any non-simulated events - - if ((elapsed && elapsed > 100 && elapsed < 500) || (e.target._simulatedClick && !e._simulated)) { - stop(e); - return; - } - lastClick = timeStamp; - - handler(e); -} - - - - -var DomEvent = (Object.freeze || Object)({ - on: on, - off: off, - stopPropagation: stopPropagation, - disableScrollPropagation: disableScrollPropagation, - disableClickPropagation: disableClickPropagation, - preventDefault: preventDefault, - stop: stop, - getMousePosition: getMousePosition, - getWheelDelta: getWheelDelta, - fakeStop: fakeStop, - skipped: skipped, - isExternalTarget: isExternalTarget, - addListener: on, - removeListener: off -}); - -/* - * @namespace DomUtil - * - * Utility functions to work with the [DOM](https://developer.mozilla.org/docs/Web/API/Document_Object_Model) - * tree, used by Leaflet internally. - * - * Most functions expecting or returning a `HTMLElement` also work for - * SVG elements. The only difference is that classes refer to CSS classes - * in HTML and SVG classes in SVG. - */ - - -// @property TRANSFORM: String -// Vendor-prefixed transform style name (e.g. `'webkitTransform'` for WebKit). -var TRANSFORM = testProp( - ['transform', 'WebkitTransform', 'OTransform', 'MozTransform', 'msTransform']); - -// webkitTransition comes first because some browser versions that drop vendor prefix don't do -// the same for the transitionend event, in particular the Android 4.1 stock browser - -// @property TRANSITION: String -// Vendor-prefixed transition style name. -var TRANSITION = testProp( - ['webkitTransition', 'transition', 'OTransition', 'MozTransition', 'msTransition']); - -// @property TRANSITION_END: String -// Vendor-prefixed transitionend event name. -var TRANSITION_END = - TRANSITION === 'webkitTransition' || TRANSITION === 'OTransition' ? TRANSITION + 'End' : 'transitionend'; - - -// @function get(id: String|HTMLElement): HTMLElement -// Returns an element given its DOM id, or returns the element itself -// if it was passed directly. -function get(id) { - return typeof id === 'string' ? document.getElementById(id) : id; -} - -// @function getStyle(el: HTMLElement, styleAttrib: String): String -// Returns the value for a certain style attribute on an element, -// including computed values or values set through CSS. -function getStyle(el, style) { - var value = el.style[style] || (el.currentStyle && el.currentStyle[style]); - - if ((!value || value === 'auto') && document.defaultView) { - var css = document.defaultView.getComputedStyle(el, null); - value = css ? css[style] : null; - } - return value === 'auto' ? null : value; -} - -// @function create(tagName: String, className?: String, container?: HTMLElement): HTMLElement -// Creates an HTML element with `tagName`, sets its class to `className`, and optionally appends it to `container` element. -function create$1(tagName, className, container) { - var el = document.createElement(tagName); - el.className = className || ''; - - if (container) { - container.appendChild(el); - } - return el; -} - -// @function remove(el: HTMLElement) -// Removes `el` from its parent element -function remove(el) { - var parent = el.parentNode; - if (parent) { - parent.removeChild(el); - } -} - -// @function empty(el: HTMLElement) -// Removes all of `el`'s children elements from `el` -function empty(el) { - while (el.firstChild) { - el.removeChild(el.firstChild); - } -} - -// @function toFront(el: HTMLElement) -// Makes `el` the last child of its parent, so it renders in front of the other children. -function toFront(el) { - var parent = el.parentNode; - if (parent.lastChild !== el) { - parent.appendChild(el); - } -} - -// @function toBack(el: HTMLElement) -// Makes `el` the first child of its parent, so it renders behind the other children. -function toBack(el) { - var parent = el.parentNode; - if (parent.firstChild !== el) { - parent.insertBefore(el, parent.firstChild); - } -} - -// @function hasClass(el: HTMLElement, name: String): Boolean -// Returns `true` if the element's class attribute contains `name`. -function hasClass(el, name) { - if (el.classList !== undefined) { - return el.classList.contains(name); - } - var className = getClass(el); - return className.length > 0 && new RegExp('(^|\\s)' + name + '(\\s|$)').test(className); -} - -// @function addClass(el: HTMLElement, name: String) -// Adds `name` to the element's class attribute. -function addClass(el, name) { - if (el.classList !== undefined) { - var classes = splitWords(name); - for (var i = 0, len = classes.length; i < len; i++) { - el.classList.add(classes[i]); - } - } else if (!hasClass(el, name)) { - var className = getClass(el); - setClass(el, (className ? className + ' ' : '') + name); - } -} - -// @function removeClass(el: HTMLElement, name: String) -// Removes `name` from the element's class attribute. -function removeClass(el, name) { - if (el.classList !== undefined) { - el.classList.remove(name); - } else { - setClass(el, trim((' ' + getClass(el) + ' ').replace(' ' + name + ' ', ' '))); - } -} - -// @function setClass(el: HTMLElement, name: String) -// Sets the element's class. -function setClass(el, name) { - if (el.className.baseVal === undefined) { - el.className = name; - } else { - // in case of SVG element - el.className.baseVal = name; - } -} - -// @function getClass(el: HTMLElement): String -// Returns the element's class. -function getClass(el) { - return el.className.baseVal === undefined ? el.className : el.className.baseVal; -} - -// @function setOpacity(el: HTMLElement, opacity: Number) -// Set the opacity of an element (including old IE support). -// `opacity` must be a number from `0` to `1`. -function setOpacity(el, value) { - if ('opacity' in el.style) { - el.style.opacity = value; - } else if ('filter' in el.style) { - _setOpacityIE(el, value); - } -} - -function _setOpacityIE(el, value) { - var filter = false, - filterName = 'DXImageTransform.Microsoft.Alpha'; - - // filters collection throws an error if we try to retrieve a filter that doesn't exist - try { - filter = el.filters.item(filterName); - } catch (e) { - // don't set opacity to 1 if we haven't already set an opacity, - // it isn't needed and breaks transparent pngs. - if (value === 1) { return; } - } - - value = Math.round(value * 100); - - if (filter) { - filter.Enabled = (value !== 100); - filter.Opacity = value; - } else { - el.style.filter += ' progid:' + filterName + '(opacity=' + value + ')'; - } -} - -// @function testProp(props: String[]): String|false -// Goes through the array of style names and returns the first name -// that is a valid style name for an element. If no such name is found, -// it returns false. Useful for vendor-prefixed styles like `transform`. -function testProp(props) { - var style = document.documentElement.style; - - for (var i = 0; i < props.length; i++) { - if (props[i] in style) { - return props[i]; - } - } - return false; -} - -// @function setTransform(el: HTMLElement, offset: Point, scale?: Number) -// Resets the 3D CSS transform of `el` so it is translated by `offset` pixels -// and optionally scaled by `scale`. Does not have an effect if the -// browser doesn't support 3D CSS transforms. -function setTransform(el, offset, scale) { - var pos = offset || new Point(0, 0); - - el.style[TRANSFORM] = - (ie3d ? - 'translate(' + pos.x + 'px,' + pos.y + 'px)' : - 'translate3d(' + pos.x + 'px,' + pos.y + 'px,0)') + - (scale ? ' scale(' + scale + ')' : ''); -} - -// @function setPosition(el: HTMLElement, position: Point) -// Sets the position of `el` to coordinates specified by `position`, -// using CSS translate or top/left positioning depending on the browser -// (used by Leaflet internally to position its layers). -function setPosition(el, point) { - - /*eslint-disable */ - el._leaflet_pos = point; - /*eslint-enable */ - - if (any3d) { - setTransform(el, point); - } else { - el.style.left = point.x + 'px'; - el.style.top = point.y + 'px'; - } -} - -// @function getPosition(el: HTMLElement): Point -// Returns the coordinates of an element previously positioned with setPosition. -function getPosition(el) { - // this method is only used for elements previously positioned using setPosition, - // so it's safe to cache the position for performance - - return el._leaflet_pos || new Point(0, 0); -} - -// @function disableTextSelection() -// Prevents the user from generating `selectstart` DOM events, usually generated -// when the user drags the mouse through a page with text. Used internally -// by Leaflet to override the behaviour of any click-and-drag interaction on -// the map. Affects drag interactions on the whole document. - -// @function enableTextSelection() -// Cancels the effects of a previous [`L.DomUtil.disableTextSelection`](#domutil-disabletextselection). -var disableTextSelection; -var enableTextSelection; -var _userSelect; -if ('onselectstart' in document) { - disableTextSelection = function () { - on(window, 'selectstart', preventDefault); - }; - enableTextSelection = function () { - off(window, 'selectstart', preventDefault); - }; -} else { - var userSelectProperty = testProp( - ['userSelect', 'WebkitUserSelect', 'OUserSelect', 'MozUserSelect', 'msUserSelect']); - - disableTextSelection = function () { - if (userSelectProperty) { - var style = document.documentElement.style; - _userSelect = style[userSelectProperty]; - style[userSelectProperty] = 'none'; - } - }; - enableTextSelection = function () { - if (userSelectProperty) { - document.documentElement.style[userSelectProperty] = _userSelect; - _userSelect = undefined; - } - }; -} - -// @function disableImageDrag() -// As [`L.DomUtil.disableTextSelection`](#domutil-disabletextselection), but -// for `dragstart` DOM events, usually generated when the user drags an image. -function disableImageDrag() { - on(window, 'dragstart', preventDefault); -} - -// @function enableImageDrag() -// Cancels the effects of a previous [`L.DomUtil.disableImageDrag`](#domutil-disabletextselection). -function enableImageDrag() { - off(window, 'dragstart', preventDefault); -} - -var _outlineElement; -var _outlineStyle; -// @function preventOutline(el: HTMLElement) -// Makes the [outline](https://developer.mozilla.org/docs/Web/CSS/outline) -// of the element `el` invisible. Used internally by Leaflet to prevent -// focusable elements from displaying an outline when the user performs a -// drag interaction on them. -function preventOutline(element) { - while (element.tabIndex === -1) { - element = element.parentNode; - } - if (!element.style) { return; } - restoreOutline(); - _outlineElement = element; - _outlineStyle = element.style.outline; - element.style.outline = 'none'; - on(window, 'keydown', restoreOutline); -} - -// @function restoreOutline() -// Cancels the effects of a previous [`L.DomUtil.preventOutline`](). -function restoreOutline() { - if (!_outlineElement) { return; } - _outlineElement.style.outline = _outlineStyle; - _outlineElement = undefined; - _outlineStyle = undefined; - off(window, 'keydown', restoreOutline); -} - - -var DomUtil = (Object.freeze || Object)({ - TRANSFORM: TRANSFORM, - TRANSITION: TRANSITION, - TRANSITION_END: TRANSITION_END, - get: get, - getStyle: getStyle, - create: create$1, - remove: remove, - empty: empty, - toFront: toFront, - toBack: toBack, - hasClass: hasClass, - addClass: addClass, - removeClass: removeClass, - setClass: setClass, - getClass: getClass, - setOpacity: setOpacity, - testProp: testProp, - setTransform: setTransform, - setPosition: setPosition, - getPosition: getPosition, - disableTextSelection: disableTextSelection, - enableTextSelection: enableTextSelection, - disableImageDrag: disableImageDrag, - enableImageDrag: enableImageDrag, - preventOutline: preventOutline, - restoreOutline: restoreOutline -}); - -/* - * @class PosAnimation - * @aka L.PosAnimation - * @inherits Evented - * Used internally for panning animations, utilizing CSS3 Transitions for modern browsers and a timer fallback for IE6-9. - * - * @example - * ```js - * var fx = new L.PosAnimation(); - * fx.run(el, [300, 500], 0.5); - * ``` - * - * @constructor L.PosAnimation() - * Creates a `PosAnimation` object. - * - */ - -var PosAnimation = Evented.extend({ - - // @method run(el: HTMLElement, newPos: Point, duration?: Number, easeLinearity?: Number) - // Run an animation of a given element to a new position, optionally setting - // duration in seconds (`0.25` by default) and easing linearity factor (3rd - // argument of the [cubic bezier curve](http://cubic-bezier.com/#0,0,.5,1), - // `0.5` by default). - run: function (el, newPos, duration, easeLinearity) { - this.stop(); - - this._el = el; - this._inProgress = true; - this._duration = duration || 0.25; - this._easeOutPower = 1 / Math.max(easeLinearity || 0.5, 0.2); - - this._startPos = getPosition(el); - this._offset = newPos.subtract(this._startPos); - this._startTime = +new Date(); - - // @event start: Event - // Fired when the animation starts - this.fire('start'); - - this._animate(); - }, - - // @method stop() - // Stops the animation (if currently running). - stop: function () { - if (!this._inProgress) { return; } - - this._step(true); - this._complete(); - }, - - _animate: function () { - // animation loop - this._animId = requestAnimFrame(this._animate, this); - this._step(); - }, - - _step: function (round) { - var elapsed = (+new Date()) - this._startTime, - duration = this._duration * 1000; - - if (elapsed < duration) { - this._runFrame(this._easeOut(elapsed / duration), round); - } else { - this._runFrame(1); - this._complete(); - } - }, - - _runFrame: function (progress, round) { - var pos = this._startPos.add(this._offset.multiplyBy(progress)); - if (round) { - pos._round(); - } - setPosition(this._el, pos); - - // @event step: Event - // Fired continuously during the animation. - this.fire('step'); - }, - - _complete: function () { - cancelAnimFrame(this._animId); - - this._inProgress = false; - // @event end: Event - // Fired when the animation ends. - this.fire('end'); - }, - - _easeOut: function (t) { - return 1 - Math.pow(1 - t, this._easeOutPower); - } -}); - -/* - * @class Map - * @aka L.Map - * @inherits Evented - * - * The central class of the API — it is used to create a map on a page and manipulate it. - * - * @example - * - * ```js - * // initialize the map on the "map" div with a given center and zoom - * var map = L.map('map', { - * center: [51.505, -0.09], - * zoom: 13 - * }); - * ``` - * - */ - -var Map = Evented.extend({ - - options: { - // @section Map State Options - // @option crs: CRS = L.CRS.EPSG3857 - // The [Coordinate Reference System](#crs) to use. Don't change this if you're not - // sure what it means. - crs: EPSG3857, - - // @option center: LatLng = undefined - // Initial geographic center of the map - center: undefined, - - // @option zoom: Number = undefined - // Initial map zoom level - zoom: undefined, - - // @option minZoom: Number = * - // Minimum zoom level of the map. - // If not specified and at least one `GridLayer` or `TileLayer` is in the map, - // the lowest of their `minZoom` options will be used instead. - minZoom: undefined, - - // @option maxZoom: Number = * - // Maximum zoom level of the map. - // If not specified and at least one `GridLayer` or `TileLayer` is in the map, - // the highest of their `maxZoom` options will be used instead. - maxZoom: undefined, - - // @option layers: Layer[] = [] - // Array of layers that will be added to the map initially - layers: [], - - // @option maxBounds: LatLngBounds = null - // When this option is set, the map restricts the view to the given - // geographical bounds, bouncing the user back if the user tries to pan - // outside the view. To set the restriction dynamically, use - // [`setMaxBounds`](#map-setmaxbounds) method. - maxBounds: undefined, - - // @option renderer: Renderer = * - // The default method for drawing vector layers on the map. `L.SVG` - // or `L.Canvas` by default depending on browser support. - renderer: undefined, - - - // @section Animation Options - // @option zoomAnimation: Boolean = true - // Whether the map zoom animation is enabled. By default it's enabled - // in all browsers that support CSS3 Transitions except Android. - zoomAnimation: true, - - // @option zoomAnimationThreshold: Number = 4 - // Won't animate zoom if the zoom difference exceeds this value. - zoomAnimationThreshold: 4, - - // @option fadeAnimation: Boolean = true - // Whether the tile fade animation is enabled. By default it's enabled - // in all browsers that support CSS3 Transitions except Android. - fadeAnimation: true, - - // @option markerZoomAnimation: Boolean = true - // Whether markers animate their zoom with the zoom animation, if disabled - // they will disappear for the length of the animation. By default it's - // enabled in all browsers that support CSS3 Transitions except Android. - markerZoomAnimation: true, - - // @option transform3DLimit: Number = 2^23 - // Defines the maximum size of a CSS translation transform. The default - // value should not be changed unless a web browser positions layers in - // the wrong place after doing a large `panBy`. - transform3DLimit: 8388608, // Precision limit of a 32-bit float - - // @section Interaction Options - // @option zoomSnap: Number = 1 - // Forces the map's zoom level to always be a multiple of this, particularly - // right after a [`fitBounds()`](#map-fitbounds) or a pinch-zoom. - // By default, the zoom level snaps to the nearest integer; lower values - // (e.g. `0.5` or `0.1`) allow for greater granularity. A value of `0` - // means the zoom level will not be snapped after `fitBounds` or a pinch-zoom. - zoomSnap: 1, - - // @option zoomDelta: Number = 1 - // Controls how much the map's zoom level will change after a - // [`zoomIn()`](#map-zoomin), [`zoomOut()`](#map-zoomout), pressing `+` - // or `-` on the keyboard, or using the [zoom controls](#control-zoom). - // Values smaller than `1` (e.g. `0.5`) allow for greater granularity. - zoomDelta: 1, - - // @option trackResize: Boolean = true - // Whether the map automatically handles browser window resize to update itself. - trackResize: true - }, - - initialize: function (id, options) { // (HTMLElement or String, Object) - options = setOptions(this, options); - - this._initContainer(id); - this._initLayout(); - - // hack for https://github.com/Leaflet/Leaflet/issues/1980 - this._onResize = bind(this._onResize, this); - - this._initEvents(); - - if (options.maxBounds) { - this.setMaxBounds(options.maxBounds); - } - - if (options.zoom !== undefined) { - this._zoom = this._limitZoom(options.zoom); - } - - if (options.center && options.zoom !== undefined) { - this.setView(toLatLng(options.center), options.zoom, {reset: true}); - } - - this._handlers = []; - this._layers = {}; - this._zoomBoundLayers = {}; - this._sizeChanged = true; - - this.callInitHooks(); - - // don't animate on browsers without hardware-accelerated transitions or old Android/Opera - this._zoomAnimated = TRANSITION && any3d && !mobileOpera && - this.options.zoomAnimation; - - // zoom transitions run with the same duration for all layers, so if one of transitionend events - // happens after starting zoom animation (propagating to the map pane), we know that it ended globally - if (this._zoomAnimated) { - this._createAnimProxy(); - on(this._proxy, TRANSITION_END, this._catchTransitionEnd, this); - } - - this._addLayers(this.options.layers); - }, - - - // @section Methods for modifying map state - - // @method setView(center: LatLng, zoom: Number, options?: Zoom/pan options): this - // Sets the view of the map (geographical center and zoom) with the given - // animation options. - setView: function (center, zoom, options) { - - zoom = zoom === undefined ? this._zoom : this._limitZoom(zoom); - center = this._limitCenter(toLatLng(center), zoom, this.options.maxBounds); - options = options || {}; - - this._stop(); - - if (this._loaded && !options.reset && options !== true) { - - if (options.animate !== undefined) { - options.zoom = extend({animate: options.animate}, options.zoom); - options.pan = extend({animate: options.animate, duration: options.duration}, options.pan); - } - - // try animating pan or zoom - var moved = (this._zoom !== zoom) ? - this._tryAnimatedZoom && this._tryAnimatedZoom(center, zoom, options.zoom) : - this._tryAnimatedPan(center, options.pan); - - if (moved) { - // prevent resize handler call, the view will refresh after animation anyway - clearTimeout(this._sizeTimer); - return this; - } - } - - // animation didn't start, just reset the map view - this._resetView(center, zoom); - - return this; - }, - - // @method setZoom(zoom: Number, options?: Zoom/pan options): this - // Sets the zoom of the map. - setZoom: function (zoom, options) { - if (!this._loaded) { - this._zoom = zoom; - return this; - } - return this.setView(this.getCenter(), zoom, {zoom: options}); - }, - - // @method zoomIn(delta?: Number, options?: Zoom options): this - // Increases the zoom of the map by `delta` ([`zoomDelta`](#map-zoomdelta) by default). - zoomIn: function (delta, options) { - delta = delta || (any3d ? this.options.zoomDelta : 1); - return this.setZoom(this._zoom + delta, options); - }, - - // @method zoomOut(delta?: Number, options?: Zoom options): this - // Decreases the zoom of the map by `delta` ([`zoomDelta`](#map-zoomdelta) by default). - zoomOut: function (delta, options) { - delta = delta || (any3d ? this.options.zoomDelta : 1); - return this.setZoom(this._zoom - delta, options); - }, - - // @method setZoomAround(latlng: LatLng, zoom: Number, options: Zoom options): this - // Zooms the map while keeping a specified geographical point on the map - // stationary (e.g. used internally for scroll zoom and double-click zoom). - // @alternative - // @method setZoomAround(offset: Point, zoom: Number, options: Zoom options): this - // Zooms the map while keeping a specified pixel on the map (relative to the top-left corner) stationary. - setZoomAround: function (latlng, zoom, options) { - var scale = this.getZoomScale(zoom), - viewHalf = this.getSize().divideBy(2), - containerPoint = latlng instanceof Point ? latlng : this.latLngToContainerPoint(latlng), - - centerOffset = containerPoint.subtract(viewHalf).multiplyBy(1 - 1 / scale), - newCenter = this.containerPointToLatLng(viewHalf.add(centerOffset)); - - return this.setView(newCenter, zoom, {zoom: options}); - }, - - _getBoundsCenterZoom: function (bounds, options) { - - options = options || {}; - bounds = bounds.getBounds ? bounds.getBounds() : toLatLngBounds(bounds); - - var paddingTL = toPoint(options.paddingTopLeft || options.padding || [0, 0]), - paddingBR = toPoint(options.paddingBottomRight || options.padding || [0, 0]), - - zoom = this.getBoundsZoom(bounds, false, paddingTL.add(paddingBR)); - - zoom = (typeof options.maxZoom === 'number') ? Math.min(options.maxZoom, zoom) : zoom; - - if (zoom === Infinity) { - return { - center: bounds.getCenter(), - zoom: zoom - }; - } - - var paddingOffset = paddingBR.subtract(paddingTL).divideBy(2), - - swPoint = this.project(bounds.getSouthWest(), zoom), - nePoint = this.project(bounds.getNorthEast(), zoom), - center = this.unproject(swPoint.add(nePoint).divideBy(2).add(paddingOffset), zoom); - - return { - center: center, - zoom: zoom - }; - }, - - // @method fitBounds(bounds: LatLngBounds, options?: fitBounds options): this - // Sets a map view that contains the given geographical bounds with the - // maximum zoom level possible. - fitBounds: function (bounds, options) { - - bounds = toLatLngBounds(bounds); - - if (!bounds.isValid()) { - throw new Error('Bounds are not valid.'); - } - - var target = this._getBoundsCenterZoom(bounds, options); - return this.setView(target.center, target.zoom, options); - }, - - // @method fitWorld(options?: fitBounds options): this - // Sets a map view that mostly contains the whole world with the maximum - // zoom level possible. - fitWorld: function (options) { - return this.fitBounds([[-90, -180], [90, 180]], options); - }, - - // @method panTo(latlng: LatLng, options?: Pan options): this - // Pans the map to a given center. - panTo: function (center, options) { // (LatLng) - return this.setView(center, this._zoom, {pan: options}); - }, - - // @method panBy(offset: Point, options?: Pan options): this - // Pans the map by a given number of pixels (animated). - panBy: function (offset, options) { - offset = toPoint(offset).round(); - options = options || {}; - - if (!offset.x && !offset.y) { - return this.fire('moveend'); - } - // If we pan too far, Chrome gets issues with tiles - // and makes them disappear or appear in the wrong place (slightly offset) #2602 - if (options.animate !== true && !this.getSize().contains(offset)) { - this._resetView(this.unproject(this.project(this.getCenter()).add(offset)), this.getZoom()); - return this; - } - - if (!this._panAnim) { - this._panAnim = new PosAnimation(); - - this._panAnim.on({ - 'step': this._onPanTransitionStep, - 'end': this._onPanTransitionEnd - }, this); - } - - // don't fire movestart if animating inertia - if (!options.noMoveStart) { - this.fire('movestart'); - } - - // animate pan unless animate: false specified - if (options.animate !== false) { - addClass(this._mapPane, 'leaflet-pan-anim'); - - var newPos = this._getMapPanePos().subtract(offset).round(); - this._panAnim.run(this._mapPane, newPos, options.duration || 0.25, options.easeLinearity); - } else { - this._rawPanBy(offset); - this.fire('move').fire('moveend'); - } - - return this; - }, - - // @method flyTo(latlng: LatLng, zoom?: Number, options?: Zoom/pan options): this - // Sets the view of the map (geographical center and zoom) performing a smooth - // pan-zoom animation. - flyTo: function (targetCenter, targetZoom, options) { - - options = options || {}; - if (options.animate === false || !any3d) { - return this.setView(targetCenter, targetZoom, options); - } - - this._stop(); - - var from = this.project(this.getCenter()), - to = this.project(targetCenter), - size = this.getSize(), - startZoom = this._zoom; - - targetCenter = toLatLng(targetCenter); - targetZoom = targetZoom === undefined ? startZoom : targetZoom; - - var w0 = Math.max(size.x, size.y), - w1 = w0 * this.getZoomScale(startZoom, targetZoom), - u1 = (to.distanceTo(from)) || 1, - rho = 1.42, - rho2 = rho * rho; - - function r(i) { - var s1 = i ? -1 : 1, - s2 = i ? w1 : w0, - t1 = w1 * w1 - w0 * w0 + s1 * rho2 * rho2 * u1 * u1, - b1 = 2 * s2 * rho2 * u1, - b = t1 / b1, - sq = Math.sqrt(b * b + 1) - b; - - // workaround for floating point precision bug when sq = 0, log = -Infinite, - // thus triggering an infinite loop in flyTo - var log = sq < 0.000000001 ? -18 : Math.log(sq); - - return log; - } - - function sinh(n) { return (Math.exp(n) - Math.exp(-n)) / 2; } - function cosh(n) { return (Math.exp(n) + Math.exp(-n)) / 2; } - function tanh(n) { return sinh(n) / cosh(n); } - - var r0 = r(0); - - function w(s) { return w0 * (cosh(r0) / cosh(r0 + rho * s)); } - function u(s) { return w0 * (cosh(r0) * tanh(r0 + rho * s) - sinh(r0)) / rho2; } - - function easeOut(t) { return 1 - Math.pow(1 - t, 1.5); } - - var start = Date.now(), - S = (r(1) - r0) / rho, - duration = options.duration ? 1000 * options.duration : 1000 * S * 0.8; - - function frame() { - var t = (Date.now() - start) / duration, - s = easeOut(t) * S; - - if (t <= 1) { - this._flyToFrame = requestAnimFrame(frame, this); - - this._move( - this.unproject(from.add(to.subtract(from).multiplyBy(u(s) / u1)), startZoom), - this.getScaleZoom(w0 / w(s), startZoom), - {flyTo: true}); - - } else { - this - ._move(targetCenter, targetZoom) - ._moveEnd(true); - } - } - - this._moveStart(true); - - frame.call(this); - return this; - }, - - // @method flyToBounds(bounds: LatLngBounds, options?: fitBounds options): this - // Sets the view of the map with a smooth animation like [`flyTo`](#map-flyto), - // but takes a bounds parameter like [`fitBounds`](#map-fitbounds). - flyToBounds: function (bounds, options) { - var target = this._getBoundsCenterZoom(bounds, options); - return this.flyTo(target.center, target.zoom, options); - }, - - // @method setMaxBounds(bounds: Bounds): this - // Restricts the map view to the given bounds (see the [maxBounds](#map-maxbounds) option). - setMaxBounds: function (bounds) { - bounds = toLatLngBounds(bounds); - - if (!bounds.isValid()) { - this.options.maxBounds = null; - return this.off('moveend', this._panInsideMaxBounds); - } else if (this.options.maxBounds) { - this.off('moveend', this._panInsideMaxBounds); - } - - this.options.maxBounds = bounds; - - if (this._loaded) { - this._panInsideMaxBounds(); - } - - return this.on('moveend', this._panInsideMaxBounds); - }, - - // @method setMinZoom(zoom: Number): this - // Sets the lower limit for the available zoom levels (see the [minZoom](#map-minzoom) option). - setMinZoom: function (zoom) { - this.options.minZoom = zoom; - - if (this._loaded && this.getZoom() < this.options.minZoom) { - return this.setZoom(zoom); - } - - return this; - }, - - // @method setMaxZoom(zoom: Number): this - // Sets the upper limit for the available zoom levels (see the [maxZoom](#map-maxzoom) option). - setMaxZoom: function (zoom) { - this.options.maxZoom = zoom; - - if (this._loaded && (this.getZoom() > this.options.maxZoom)) { - return this.setZoom(zoom); - } - - return this; - }, - - // @method panInsideBounds(bounds: LatLngBounds, options?: Pan options): this - // Pans the map to the closest view that would lie inside the given bounds (if it's not already), controlling the animation using the options specific, if any. - panInsideBounds: function (bounds, options) { - this._enforcingBounds = true; - var center = this.getCenter(), - newCenter = this._limitCenter(center, this._zoom, toLatLngBounds(bounds)); - - if (!center.equals(newCenter)) { - this.panTo(newCenter, options); - } - - this._enforcingBounds = false; - return this; - }, - - // @method invalidateSize(options: Zoom/Pan options): this - // Checks if the map container size changed and updates the map if so — - // call it after you've changed the map size dynamically, also animating - // pan by default. If `options.pan` is `false`, panning will not occur. - // If `options.debounceMoveend` is `true`, it will delay `moveend` event so - // that it doesn't happen often even if the method is called many - // times in a row. - - // @alternative - // @method invalidateSize(animate: Boolean): this - // Checks if the map container size changed and updates the map if so — - // call it after you've changed the map size dynamically, also animating - // pan by default. - invalidateSize: function (options) { - if (!this._loaded) { return this; } - - options = extend({ - animate: false, - pan: true - }, options === true ? {animate: true} : options); - - var oldSize = this.getSize(); - this._sizeChanged = true; - this._lastCenter = null; - - var newSize = this.getSize(), - oldCenter = oldSize.divideBy(2).round(), - newCenter = newSize.divideBy(2).round(), - offset = oldCenter.subtract(newCenter); - - if (!offset.x && !offset.y) { return this; } - - if (options.animate && options.pan) { - this.panBy(offset); - - } else { - if (options.pan) { - this._rawPanBy(offset); - } - - this.fire('move'); - - if (options.debounceMoveend) { - clearTimeout(this._sizeTimer); - this._sizeTimer = setTimeout(bind(this.fire, this, 'moveend'), 200); - } else { - this.fire('moveend'); - } - } - - // @section Map state change events - // @event resize: ResizeEvent - // Fired when the map is resized. - return this.fire('resize', { - oldSize: oldSize, - newSize: newSize - }); - }, - - // @section Methods for modifying map state - // @method stop(): this - // Stops the currently running `panTo` or `flyTo` animation, if any. - stop: function () { - this.setZoom(this._limitZoom(this._zoom)); - if (!this.options.zoomSnap) { - this.fire('viewreset'); - } - return this._stop(); - }, - - // @section Geolocation methods - // @method locate(options?: Locate options): this - // Tries to locate the user using the Geolocation API, firing a [`locationfound`](#map-locationfound) - // event with location data on success or a [`locationerror`](#map-locationerror) event on failure, - // and optionally sets the map view to the user's location with respect to - // detection accuracy (or to the world view if geolocation failed). - // Note that, if your page doesn't use HTTPS, this method will fail in - // modern browsers ([Chrome 50 and newer](https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins)) - // See `Locate options` for more details. - locate: function (options) { - - options = this._locateOptions = extend({ - timeout: 10000, - watch: false - // setView: false - // maxZoom: - // maximumAge: 0 - // enableHighAccuracy: false - }, options); - - if (!('geolocation' in navigator)) { - this._handleGeolocationError({ - code: 0, - message: 'Geolocation not supported.' - }); - return this; - } - - var onResponse = bind(this._handleGeolocationResponse, this), - onError = bind(this._handleGeolocationError, this); - - if (options.watch) { - this._locationWatchId = - navigator.geolocation.watchPosition(onResponse, onError, options); - } else { - navigator.geolocation.getCurrentPosition(onResponse, onError, options); - } - return this; - }, - - // @method stopLocate(): this - // Stops watching location previously initiated by `map.locate({watch: true})` - // and aborts resetting the map view if map.locate was called with - // `{setView: true}`. - stopLocate: function () { - if (navigator.geolocation && navigator.geolocation.clearWatch) { - navigator.geolocation.clearWatch(this._locationWatchId); - } - if (this._locateOptions) { - this._locateOptions.setView = false; - } - return this; - }, - - _handleGeolocationError: function (error) { - var c = error.code, - message = error.message || - (c === 1 ? 'permission denied' : - (c === 2 ? 'position unavailable' : 'timeout')); - - if (this._locateOptions.setView && !this._loaded) { - this.fitWorld(); - } - - // @section Location events - // @event locationerror: ErrorEvent - // Fired when geolocation (using the [`locate`](#map-locate) method) failed. - this.fire('locationerror', { - code: c, - message: 'Geolocation error: ' + message + '.' - }); - }, - - _handleGeolocationResponse: function (pos) { - var lat = pos.coords.latitude, - lng = pos.coords.longitude, - latlng = new LatLng(lat, lng), - bounds = latlng.toBounds(pos.coords.accuracy), - options = this._locateOptions; - - if (options.setView) { - var zoom = this.getBoundsZoom(bounds); - this.setView(latlng, options.maxZoom ? Math.min(zoom, options.maxZoom) : zoom); - } - - var data = { - latlng: latlng, - bounds: bounds, - timestamp: pos.timestamp - }; - - for (var i in pos.coords) { - if (typeof pos.coords[i] === 'number') { - data[i] = pos.coords[i]; - } - } - - // @event locationfound: LocationEvent - // Fired when geolocation (using the [`locate`](#map-locate) method) - // went successfully. - this.fire('locationfound', data); - }, - - // TODO handler.addTo - // TODO Appropiate docs section? - // @section Other Methods - // @method addHandler(name: String, HandlerClass: Function): this - // Adds a new `Handler` to the map, given its name and constructor function. - addHandler: function (name, HandlerClass) { - if (!HandlerClass) { return this; } - - var handler = this[name] = new HandlerClass(this); - - this._handlers.push(handler); - - if (this.options[name]) { - handler.enable(); - } - - return this; - }, - - // @method remove(): this - // Destroys the map and clears all related event listeners. - remove: function () { - - this._initEvents(true); - - if (this._containerId !== this._container._leaflet_id) { - throw new Error('Map container is being reused by another instance'); - } - - try { - // throws error in IE6-8 - delete this._container._leaflet_id; - delete this._containerId; - } catch (e) { - /*eslint-disable */ - this._container._leaflet_id = undefined; - /*eslint-enable */ - this._containerId = undefined; - } - - remove(this._mapPane); - - if (this._clearControlPos) { - this._clearControlPos(); - } - - this._clearHandlers(); - - if (this._loaded) { - // @section Map state change events - // @event unload: Event - // Fired when the map is destroyed with [remove](#map-remove) method. - this.fire('unload'); - } - - var i; - for (i in this._layers) { - this._layers[i].remove(); - } - for (i in this._panes) { - remove(this._panes[i]); - } - - this._layers = []; - this._panes = []; - delete this._mapPane; - delete this._renderer; - - return this; - }, - - // @section Other Methods - // @method createPane(name: String, container?: HTMLElement): HTMLElement - // Creates a new [map pane](#map-pane) with the given name if it doesn't exist already, - // then returns it. The pane is created as a child of `container`, or - // as a child of the main map pane if not set. - createPane: function (name, container) { - var className = 'leaflet-pane' + (name ? ' leaflet-' + name.replace('Pane', '') + '-pane' : ''), - pane = create$1('div', className, container || this._mapPane); - - if (name) { - this._panes[name] = pane; - } - return pane; - }, - - // @section Methods for Getting Map State - - // @method getCenter(): LatLng - // Returns the geographical center of the map view - getCenter: function () { - this._checkIfLoaded(); - - if (this._lastCenter && !this._moved()) { - return this._lastCenter; - } - return this.layerPointToLatLng(this._getCenterLayerPoint()); - }, - - // @method getZoom(): Number - // Returns the current zoom level of the map view - getZoom: function () { - return this._zoom; - }, - - // @method getBounds(): LatLngBounds - // Returns the geographical bounds visible in the current map view - getBounds: function () { - var bounds = this.getPixelBounds(), - sw = this.unproject(bounds.getBottomLeft()), - ne = this.unproject(bounds.getTopRight()); - - return new LatLngBounds(sw, ne); - }, - - // @method getMinZoom(): Number - // Returns the minimum zoom level of the map (if set in the `minZoom` option of the map or of any layers), or `0` by default. - getMinZoom: function () { - return this.options.minZoom === undefined ? this._layersMinZoom || 0 : this.options.minZoom; - }, - - // @method getMaxZoom(): Number - // Returns the maximum zoom level of the map (if set in the `maxZoom` option of the map or of any layers). - getMaxZoom: function () { - return this.options.maxZoom === undefined ? - (this._layersMaxZoom === undefined ? Infinity : this._layersMaxZoom) : - this.options.maxZoom; - }, - - // @method getBoundsZoom(bounds: LatLngBounds, inside?: Boolean): Number - // Returns the maximum zoom level on which the given bounds fit to the map - // view in its entirety. If `inside` (optional) is set to `true`, the method - // instead returns the minimum zoom level on which the map view fits into - // the given bounds in its entirety. - getBoundsZoom: function (bounds, inside, padding) { // (LatLngBounds[, Boolean, Point]) -> Number - bounds = toLatLngBounds(bounds); - padding = toPoint(padding || [0, 0]); - - var zoom = this.getZoom() || 0, - min = this.getMinZoom(), - max = this.getMaxZoom(), - nw = bounds.getNorthWest(), - se = bounds.getSouthEast(), - size = this.getSize().subtract(padding), - boundsSize = toBounds(this.project(se, zoom), this.project(nw, zoom)).getSize(), - snap = any3d ? this.options.zoomSnap : 1, - scalex = size.x / boundsSize.x, - scaley = size.y / boundsSize.y, - scale = inside ? Math.max(scalex, scaley) : Math.min(scalex, scaley); - - zoom = this.getScaleZoom(scale, zoom); - - if (snap) { - zoom = Math.round(zoom / (snap / 100)) * (snap / 100); // don't jump if within 1% of a snap level - zoom = inside ? Math.ceil(zoom / snap) * snap : Math.floor(zoom / snap) * snap; - } - - return Math.max(min, Math.min(max, zoom)); - }, - - // @method getSize(): Point - // Returns the current size of the map container (in pixels). - getSize: function () { - if (!this._size || this._sizeChanged) { - this._size = new Point( - this._container.clientWidth || 0, - this._container.clientHeight || 0); - - this._sizeChanged = false; - } - return this._size.clone(); - }, - - // @method getPixelBounds(): Bounds - // Returns the bounds of the current map view in projected pixel - // coordinates (sometimes useful in layer and overlay implementations). - getPixelBounds: function (center, zoom) { - var topLeftPoint = this._getTopLeftPoint(center, zoom); - return new Bounds(topLeftPoint, topLeftPoint.add(this.getSize())); - }, - - // TODO: Check semantics - isn't the pixel origin the 0,0 coord relative to - // the map pane? "left point of the map layer" can be confusing, specially - // since there can be negative offsets. - // @method getPixelOrigin(): Point - // Returns the projected pixel coordinates of the top left point of - // the map layer (useful in custom layer and overlay implementations). - getPixelOrigin: function () { - this._checkIfLoaded(); - return this._pixelOrigin; - }, - - // @method getPixelWorldBounds(zoom?: Number): Bounds - // Returns the world's bounds in pixel coordinates for zoom level `zoom`. - // If `zoom` is omitted, the map's current zoom level is used. - getPixelWorldBounds: function (zoom) { - return this.options.crs.getProjectedBounds(zoom === undefined ? this.getZoom() : zoom); - }, - - // @section Other Methods - - // @method getPane(pane: String|HTMLElement): HTMLElement - // Returns a [map pane](#map-pane), given its name or its HTML element (its identity). - getPane: function (pane) { - return typeof pane === 'string' ? this._panes[pane] : pane; - }, - - // @method getPanes(): Object - // Returns a plain object containing the names of all [panes](#map-pane) as keys and - // the panes as values. - getPanes: function () { - return this._panes; - }, - - // @method getContainer: HTMLElement - // Returns the HTML element that contains the map. - getContainer: function () { - return this._container; - }, - - - // @section Conversion Methods - - // @method getZoomScale(toZoom: Number, fromZoom: Number): Number - // Returns the scale factor to be applied to a map transition from zoom level - // `fromZoom` to `toZoom`. Used internally to help with zoom animations. - getZoomScale: function (toZoom, fromZoom) { - // TODO replace with universal implementation after refactoring projections - var crs = this.options.crs; - fromZoom = fromZoom === undefined ? this._zoom : fromZoom; - return crs.scale(toZoom) / crs.scale(fromZoom); - }, - - // @method getScaleZoom(scale: Number, fromZoom: Number): Number - // Returns the zoom level that the map would end up at, if it is at `fromZoom` - // level and everything is scaled by a factor of `scale`. Inverse of - // [`getZoomScale`](#map-getZoomScale). - getScaleZoom: function (scale, fromZoom) { - var crs = this.options.crs; - fromZoom = fromZoom === undefined ? this._zoom : fromZoom; - var zoom = crs.zoom(scale * crs.scale(fromZoom)); - return isNaN(zoom) ? Infinity : zoom; - }, - - // @method project(latlng: LatLng, zoom: Number): Point - // Projects a geographical coordinate `LatLng` according to the projection - // of the map's CRS, then scales it according to `zoom` and the CRS's - // `Transformation`. The result is pixel coordinate relative to - // the CRS origin. - project: function (latlng, zoom) { - zoom = zoom === undefined ? this._zoom : zoom; - return this.options.crs.latLngToPoint(toLatLng(latlng), zoom); - }, - - // @method unproject(point: Point, zoom: Number): LatLng - // Inverse of [`project`](#map-project). - unproject: function (point, zoom) { - zoom = zoom === undefined ? this._zoom : zoom; - return this.options.crs.pointToLatLng(toPoint(point), zoom); - }, - - // @method layerPointToLatLng(point: Point): LatLng - // Given a pixel coordinate relative to the [origin pixel](#map-getpixelorigin), - // returns the corresponding geographical coordinate (for the current zoom level). - layerPointToLatLng: function (point) { - var projectedPoint = toPoint(point).add(this.getPixelOrigin()); - return this.unproject(projectedPoint); - }, - - // @method latLngToLayerPoint(latlng: LatLng): Point - // Given a geographical coordinate, returns the corresponding pixel coordinate - // relative to the [origin pixel](#map-getpixelorigin). - latLngToLayerPoint: function (latlng) { - var projectedPoint = this.project(toLatLng(latlng))._round(); - return projectedPoint._subtract(this.getPixelOrigin()); - }, - - // @method wrapLatLng(latlng: LatLng): LatLng - // Returns a `LatLng` where `lat` and `lng` has been wrapped according to the - // map's CRS's `wrapLat` and `wrapLng` properties, if they are outside the - // CRS's bounds. - // By default this means longitude is wrapped around the dateline so its - // value is between -180 and +180 degrees. - wrapLatLng: function (latlng) { - return this.options.crs.wrapLatLng(toLatLng(latlng)); - }, - - // @method wrapLatLngBounds(bounds: LatLngBounds): LatLngBounds - // Returns a `LatLngBounds` with the same size as the given one, ensuring that - // its center is within the CRS's bounds. - // By default this means the center longitude is wrapped around the dateline so its - // value is between -180 and +180 degrees, and the majority of the bounds - // overlaps the CRS's bounds. - wrapLatLngBounds: function (latlng) { - return this.options.crs.wrapLatLngBounds(toLatLngBounds(latlng)); - }, - - // @method distance(latlng1: LatLng, latlng2: LatLng): Number - // Returns the distance between two geographical coordinates according to - // the map's CRS. By default this measures distance in meters. - distance: function (latlng1, latlng2) { - return this.options.crs.distance(toLatLng(latlng1), toLatLng(latlng2)); - }, - - // @method containerPointToLayerPoint(point: Point): Point - // Given a pixel coordinate relative to the map container, returns the corresponding - // pixel coordinate relative to the [origin pixel](#map-getpixelorigin). - containerPointToLayerPoint: function (point) { // (Point) - return toPoint(point).subtract(this._getMapPanePos()); - }, - - // @method layerPointToContainerPoint(point: Point): Point - // Given a pixel coordinate relative to the [origin pixel](#map-getpixelorigin), - // returns the corresponding pixel coordinate relative to the map container. - layerPointToContainerPoint: function (point) { // (Point) - return toPoint(point).add(this._getMapPanePos()); - }, - - // @method containerPointToLatLng(point: Point): LatLng - // Given a pixel coordinate relative to the map container, returns - // the corresponding geographical coordinate (for the current zoom level). - containerPointToLatLng: function (point) { - var layerPoint = this.containerPointToLayerPoint(toPoint(point)); - return this.layerPointToLatLng(layerPoint); - }, - - // @method latLngToContainerPoint(latlng: LatLng): Point - // Given a geographical coordinate, returns the corresponding pixel coordinate - // relative to the map container. - latLngToContainerPoint: function (latlng) { - return this.layerPointToContainerPoint(this.latLngToLayerPoint(toLatLng(latlng))); - }, - - // @method mouseEventToContainerPoint(ev: MouseEvent): Point - // Given a MouseEvent object, returns the pixel coordinate relative to the - // map container where the event took place. - mouseEventToContainerPoint: function (e) { - return getMousePosition(e, this._container); - }, - - // @method mouseEventToLayerPoint(ev: MouseEvent): Point - // Given a MouseEvent object, returns the pixel coordinate relative to - // the [origin pixel](#map-getpixelorigin) where the event took place. - mouseEventToLayerPoint: function (e) { - return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(e)); - }, - - // @method mouseEventToLatLng(ev: MouseEvent): LatLng - // Given a MouseEvent object, returns geographical coordinate where the - // event took place. - mouseEventToLatLng: function (e) { // (MouseEvent) - return this.layerPointToLatLng(this.mouseEventToLayerPoint(e)); - }, - - - // map initialization methods - - _initContainer: function (id) { - var container = this._container = get(id); - - if (!container) { - throw new Error('Map container not found.'); - } else if (container._leaflet_id) { - throw new Error('Map container is already initialized.'); - } - - on(container, 'scroll', this._onScroll, this); - this._containerId = stamp(container); - }, - - _initLayout: function () { - var container = this._container; - - this._fadeAnimated = this.options.fadeAnimation && any3d; - - addClass(container, 'leaflet-container' + - (touch ? ' leaflet-touch' : '') + - (retina ? ' leaflet-retina' : '') + - (ielt9 ? ' leaflet-oldie' : '') + - (safari ? ' leaflet-safari' : '') + - (this._fadeAnimated ? ' leaflet-fade-anim' : '')); - - var position = getStyle(container, 'position'); - - if (position !== 'absolute' && position !== 'relative' && position !== 'fixed') { - container.style.position = 'relative'; - } - - this._initPanes(); - - if (this._initControlPos) { - this._initControlPos(); - } - }, - - _initPanes: function () { - var panes = this._panes = {}; - this._paneRenderers = {}; - - // @section - // - // Panes are DOM elements used to control the ordering of layers on the map. You - // can access panes with [`map.getPane`](#map-getpane) or - // [`map.getPanes`](#map-getpanes) methods. New panes can be created with the - // [`map.createPane`](#map-createpane) method. - // - // Every map has the following default panes that differ only in zIndex. - // - // @pane mapPane: HTMLElement = 'auto' - // Pane that contains all other map panes - - this._mapPane = this.createPane('mapPane', this._container); - setPosition(this._mapPane, new Point(0, 0)); - - // @pane tilePane: HTMLElement = 200 - // Pane for `GridLayer`s and `TileLayer`s - this.createPane('tilePane'); - // @pane overlayPane: HTMLElement = 400 - // Pane for vector overlays (`Path`s), like `Polyline`s and `Polygon`s - this.createPane('shadowPane'); - // @pane shadowPane: HTMLElement = 500 - // Pane for overlay shadows (e.g. `Marker` shadows) - this.createPane('overlayPane'); - // @pane markerPane: HTMLElement = 600 - // Pane for `Icon`s of `Marker`s - this.createPane('markerPane'); - // @pane tooltipPane: HTMLElement = 650 - // Pane for tooltip. - this.createPane('tooltipPane'); - // @pane popupPane: HTMLElement = 700 - // Pane for `Popup`s. - this.createPane('popupPane'); - - if (!this.options.markerZoomAnimation) { - addClass(panes.markerPane, 'leaflet-zoom-hide'); - addClass(panes.shadowPane, 'leaflet-zoom-hide'); - } - }, - - - // private methods that modify map state - - // @section Map state change events - _resetView: function (center, zoom) { - setPosition(this._mapPane, new Point(0, 0)); - - var loading = !this._loaded; - this._loaded = true; - zoom = this._limitZoom(zoom); - - this.fire('viewprereset'); - - var zoomChanged = this._zoom !== zoom; - this - ._moveStart(zoomChanged) - ._move(center, zoom) - ._moveEnd(zoomChanged); - - // @event viewreset: Event - // Fired when the map needs to redraw its content (this usually happens - // on map zoom or load). Very useful for creating custom overlays. - this.fire('viewreset'); - - // @event load: Event - // Fired when the map is initialized (when its center and zoom are set - // for the first time). - if (loading) { - this.fire('load'); - } - }, - - _moveStart: function (zoomChanged) { - // @event zoomstart: Event - // Fired when the map zoom is about to change (e.g. before zoom animation). - // @event movestart: Event - // Fired when the view of the map starts changing (e.g. user starts dragging the map). - if (zoomChanged) { - this.fire('zoomstart'); - } - return this.fire('movestart'); - }, - - _move: function (center, zoom, data) { - if (zoom === undefined) { - zoom = this._zoom; - } - var zoomChanged = this._zoom !== zoom; - - this._zoom = zoom; - this._lastCenter = center; - this._pixelOrigin = this._getNewPixelOrigin(center); - - // @event zoom: Event - // Fired repeatedly during any change in zoom level, including zoom - // and fly animations. - if (zoomChanged || (data && data.pinch)) { // Always fire 'zoom' if pinching because #3530 - this.fire('zoom', data); - } - - // @event move: Event - // Fired repeatedly during any movement of the map, including pan and - // fly animations. - return this.fire('move', data); - }, - - _moveEnd: function (zoomChanged) { - // @event zoomend: Event - // Fired when the map has changed, after any animations. - if (zoomChanged) { - this.fire('zoomend'); - } - - // @event moveend: Event - // Fired when the center of the map stops changing (e.g. user stopped - // dragging the map). - return this.fire('moveend'); - }, - - _stop: function () { - cancelAnimFrame(this._flyToFrame); - if (this._panAnim) { - this._panAnim.stop(); - } - return this; - }, - - _rawPanBy: function (offset) { - setPosition(this._mapPane, this._getMapPanePos().subtract(offset)); - }, - - _getZoomSpan: function () { - return this.getMaxZoom() - this.getMinZoom(); - }, - - _panInsideMaxBounds: function () { - if (!this._enforcingBounds) { - this.panInsideBounds(this.options.maxBounds); - } - }, - - _checkIfLoaded: function () { - if (!this._loaded) { - throw new Error('Set map center and zoom first.'); - } - }, - - // DOM event handling - - // @section Interaction events - _initEvents: function (remove$$1) { - this._targets = {}; - this._targets[stamp(this._container)] = this; - - var onOff = remove$$1 ? off : on; - - // @event click: MouseEvent - // Fired when the user clicks (or taps) the map. - // @event dblclick: MouseEvent - // Fired when the user double-clicks (or double-taps) the map. - // @event mousedown: MouseEvent - // Fired when the user pushes the mouse button on the map. - // @event mouseup: MouseEvent - // Fired when the user releases the mouse button on the map. - // @event mouseover: MouseEvent - // Fired when the mouse enters the map. - // @event mouseout: MouseEvent - // Fired when the mouse leaves the map. - // @event mousemove: MouseEvent - // Fired while the mouse moves over the map. - // @event contextmenu: MouseEvent - // Fired when the user pushes the right mouse button on the map, prevents - // default browser context menu from showing if there are listeners on - // this event. Also fired on mobile when the user holds a single touch - // for a second (also called long press). - // @event keypress: KeyboardEvent - // Fired when the user presses a key from the keyboard while the map is focused. - onOff(this._container, 'click dblclick mousedown mouseup ' + - 'mouseover mouseout mousemove contextmenu keypress', this._handleDOMEvent, this); - - if (this.options.trackResize) { - onOff(window, 'resize', this._onResize, this); - } - - if (any3d && this.options.transform3DLimit) { - (remove$$1 ? this.off : this.on).call(this, 'moveend', this._onMoveEnd); - } - }, - - _onResize: function () { - cancelAnimFrame(this._resizeRequest); - this._resizeRequest = requestAnimFrame( - function () { this.invalidateSize({debounceMoveend: true}); }, this); - }, - - _onScroll: function () { - this._container.scrollTop = 0; - this._container.scrollLeft = 0; - }, - - _onMoveEnd: function () { - var pos = this._getMapPanePos(); - if (Math.max(Math.abs(pos.x), Math.abs(pos.y)) >= this.options.transform3DLimit) { - // https://bugzilla.mozilla.org/show_bug.cgi?id=1203873 but Webkit also have - // a pixel offset on very high values, see: http://jsfiddle.net/dg6r5hhb/ - this._resetView(this.getCenter(), this.getZoom()); - } - }, - - _findEventTargets: function (e, type) { - var targets = [], - target, - isHover = type === 'mouseout' || type === 'mouseover', - src = e.target || e.srcElement, - dragging = false; - - while (src) { - target = this._targets[stamp(src)]; - if (target && (type === 'click' || type === 'preclick') && !e._simulated && this._draggableMoved(target)) { - // Prevent firing click after you just dragged an object. - dragging = true; - break; - } - if (target && target.listens(type, true)) { - if (isHover && !isExternalTarget(src, e)) { break; } - targets.push(target); - if (isHover) { break; } - } - if (src === this._container) { break; } - src = src.parentNode; - } - if (!targets.length && !dragging && !isHover && isExternalTarget(src, e)) { - targets = [this]; - } - return targets; - }, - - _handleDOMEvent: function (e) { - if (!this._loaded || skipped(e)) { return; } - - var type = e.type; - - if (type === 'mousedown' || type === 'keypress') { - // prevents outline when clicking on keyboard-focusable element - preventOutline(e.target || e.srcElement); - } - - this._fireDOMEvent(e, type); - }, - - _mouseEvents: ['click', 'dblclick', 'mouseover', 'mouseout', 'contextmenu'], - - _fireDOMEvent: function (e, type, targets) { - - if (e.type === 'click') { - // Fire a synthetic 'preclick' event which propagates up (mainly for closing popups). - // @event preclick: MouseEvent - // Fired before mouse click on the map (sometimes useful when you - // want something to happen on click before any existing click - // handlers start running). - var synth = extend({}, e); - synth.type = 'preclick'; - this._fireDOMEvent(synth, synth.type, targets); - } - - if (e._stopped) { return; } - - // Find the layer the event is propagating from and its parents. - targets = (targets || []).concat(this._findEventTargets(e, type)); - - if (!targets.length) { return; } - - var target = targets[0]; - if (type === 'contextmenu' && target.listens(type, true)) { - preventDefault(e); - } - - var data = { - originalEvent: e - }; - - if (e.type !== 'keypress') { - var isMarker = (target.options && 'icon' in target.options); - data.containerPoint = isMarker ? - this.latLngToContainerPoint(target.getLatLng()) : this.mouseEventToContainerPoint(e); - data.layerPoint = this.containerPointToLayerPoint(data.containerPoint); - data.latlng = isMarker ? target.getLatLng() : this.layerPointToLatLng(data.layerPoint); - } - - for (var i = 0; i < targets.length; i++) { - targets[i].fire(type, data, true); - if (data.originalEvent._stopped || - (targets[i].options.bubblingMouseEvents === false && indexOf(this._mouseEvents, type) !== -1)) { return; } - } - }, - - _draggableMoved: function (obj) { - obj = obj.dragging && obj.dragging.enabled() ? obj : this; - return (obj.dragging && obj.dragging.moved()) || (this.boxZoom && this.boxZoom.moved()); - }, - - _clearHandlers: function () { - for (var i = 0, len = this._handlers.length; i < len; i++) { - this._handlers[i].disable(); - } - }, - - // @section Other Methods - - // @method whenReady(fn: Function, context?: Object): this - // Runs the given function `fn` when the map gets initialized with - // a view (center and zoom) and at least one layer, or immediately - // if it's already initialized, optionally passing a function context. - whenReady: function (callback, context) { - if (this._loaded) { - callback.call(context || this, {target: this}); - } else { - this.on('load', callback, context); - } - return this; - }, - - - // private methods for getting map state - - _getMapPanePos: function () { - return getPosition(this._mapPane) || new Point(0, 0); - }, - - _moved: function () { - var pos = this._getMapPanePos(); - return pos && !pos.equals([0, 0]); - }, - - _getTopLeftPoint: function (center, zoom) { - var pixelOrigin = center && zoom !== undefined ? - this._getNewPixelOrigin(center, zoom) : - this.getPixelOrigin(); - return pixelOrigin.subtract(this._getMapPanePos()); - }, - - _getNewPixelOrigin: function (center, zoom) { - var viewHalf = this.getSize()._divideBy(2); - return this.project(center, zoom)._subtract(viewHalf)._add(this._getMapPanePos())._round(); - }, - - _latLngToNewLayerPoint: function (latlng, zoom, center) { - var topLeft = this._getNewPixelOrigin(center, zoom); - return this.project(latlng, zoom)._subtract(topLeft); - }, - - _latLngBoundsToNewLayerBounds: function (latLngBounds, zoom, center) { - var topLeft = this._getNewPixelOrigin(center, zoom); - return toBounds([ - this.project(latLngBounds.getSouthWest(), zoom)._subtract(topLeft), - this.project(latLngBounds.getNorthWest(), zoom)._subtract(topLeft), - this.project(latLngBounds.getSouthEast(), zoom)._subtract(topLeft), - this.project(latLngBounds.getNorthEast(), zoom)._subtract(topLeft) - ]); - }, - - // layer point of the current center - _getCenterLayerPoint: function () { - return this.containerPointToLayerPoint(this.getSize()._divideBy(2)); - }, - - // offset of the specified place to the current center in pixels - _getCenterOffset: function (latlng) { - return this.latLngToLayerPoint(latlng).subtract(this._getCenterLayerPoint()); - }, - - // adjust center for view to get inside bounds - _limitCenter: function (center, zoom, bounds) { - - if (!bounds) { return center; } - - var centerPoint = this.project(center, zoom), - viewHalf = this.getSize().divideBy(2), - viewBounds = new Bounds(centerPoint.subtract(viewHalf), centerPoint.add(viewHalf)), - offset = this._getBoundsOffset(viewBounds, bounds, zoom); - - // If offset is less than a pixel, ignore. - // This prevents unstable projections from getting into - // an infinite loop of tiny offsets. - if (offset.round().equals([0, 0])) { - return center; - } - - return this.unproject(centerPoint.add(offset), zoom); - }, - - // adjust offset for view to get inside bounds - _limitOffset: function (offset, bounds) { - if (!bounds) { return offset; } - - var viewBounds = this.getPixelBounds(), - newBounds = new Bounds(viewBounds.min.add(offset), viewBounds.max.add(offset)); - - return offset.add(this._getBoundsOffset(newBounds, bounds)); - }, - - // returns offset needed for pxBounds to get inside maxBounds at a specified zoom - _getBoundsOffset: function (pxBounds, maxBounds, zoom) { - var projectedMaxBounds = toBounds( - this.project(maxBounds.getNorthEast(), zoom), - this.project(maxBounds.getSouthWest(), zoom) - ), - minOffset = projectedMaxBounds.min.subtract(pxBounds.min), - maxOffset = projectedMaxBounds.max.subtract(pxBounds.max), - - dx = this._rebound(minOffset.x, -maxOffset.x), - dy = this._rebound(minOffset.y, -maxOffset.y); - - return new Point(dx, dy); - }, - - _rebound: function (left, right) { - return left + right > 0 ? - Math.round(left - right) / 2 : - Math.max(0, Math.ceil(left)) - Math.max(0, Math.floor(right)); - }, - - _limitZoom: function (zoom) { - var min = this.getMinZoom(), - max = this.getMaxZoom(), - snap = any3d ? this.options.zoomSnap : 1; - if (snap) { - zoom = Math.round(zoom / snap) * snap; - } - return Math.max(min, Math.min(max, zoom)); - }, - - _onPanTransitionStep: function () { - this.fire('move'); - }, - - _onPanTransitionEnd: function () { - removeClass(this._mapPane, 'leaflet-pan-anim'); - this.fire('moveend'); - }, - - _tryAnimatedPan: function (center, options) { - // difference between the new and current centers in pixels - var offset = this._getCenterOffset(center)._floor(); - - // don't animate too far unless animate: true specified in options - if ((options && options.animate) !== true && !this.getSize().contains(offset)) { return false; } - - this.panBy(offset, options); - - return true; - }, - - _createAnimProxy: function () { - - var proxy = this._proxy = create$1('div', 'leaflet-proxy leaflet-zoom-animated'); - this._panes.mapPane.appendChild(proxy); - - this.on('zoomanim', function (e) { - var prop = TRANSFORM, - transform = this._proxy.style[prop]; - - setTransform(this._proxy, this.project(e.center, e.zoom), this.getZoomScale(e.zoom, 1)); - - // workaround for case when transform is the same and so transitionend event is not fired - if (transform === this._proxy.style[prop] && this._animatingZoom) { - this._onZoomTransitionEnd(); - } - }, this); - - this.on('load moveend', function () { - var c = this.getCenter(), - z = this.getZoom(); - setTransform(this._proxy, this.project(c, z), this.getZoomScale(z, 1)); - }, this); - - this._on('unload', this._destroyAnimProxy, this); - }, - - _destroyAnimProxy: function () { - remove(this._proxy); - delete this._proxy; - }, - - _catchTransitionEnd: function (e) { - if (this._animatingZoom && e.propertyName.indexOf('transform') >= 0) { - this._onZoomTransitionEnd(); - } - }, - - _nothingToAnimate: function () { - return !this._container.getElementsByClassName('leaflet-zoom-animated').length; - }, - - _tryAnimatedZoom: function (center, zoom, options) { - - if (this._animatingZoom) { return true; } - - options = options || {}; - - // don't animate if disabled, not supported or zoom difference is too large - if (!this._zoomAnimated || options.animate === false || this._nothingToAnimate() || - Math.abs(zoom - this._zoom) > this.options.zoomAnimationThreshold) { return false; } - - // offset is the pixel coords of the zoom origin relative to the current center - var scale = this.getZoomScale(zoom), - offset = this._getCenterOffset(center)._divideBy(1 - 1 / scale); - - // don't animate if the zoom origin isn't within one screen from the current center, unless forced - if (options.animate !== true && !this.getSize().contains(offset)) { return false; } - - requestAnimFrame(function () { - this - ._moveStart(true) - ._animateZoom(center, zoom, true); - }, this); - - return true; - }, - - _animateZoom: function (center, zoom, startAnim, noUpdate) { - if (startAnim) { - this._animatingZoom = true; - - // remember what center/zoom to set after animation - this._animateToCenter = center; - this._animateToZoom = zoom; - - addClass(this._mapPane, 'leaflet-zoom-anim'); - } - - // @event zoomanim: ZoomAnimEvent - // Fired on every frame of a zoom animation - this.fire('zoomanim', { - center: center, - zoom: zoom, - noUpdate: noUpdate - }); - - // Work around webkit not firing 'transitionend', see https://github.com/Leaflet/Leaflet/issues/3689, 2693 - setTimeout(bind(this._onZoomTransitionEnd, this), 250); - }, - - _onZoomTransitionEnd: function () { - if (!this._animatingZoom) { return; } - - removeClass(this._mapPane, 'leaflet-zoom-anim'); - - this._animatingZoom = false; - - this._move(this._animateToCenter, this._animateToZoom); - - // This anim frame should prevent an obscure iOS webkit tile loading race condition. - requestAnimFrame(function () { - this._moveEnd(true); - }, this); - } -}); - -// @section - -// @factory L.map(id: String, options?: Map options) -// Instantiates a map object given the DOM ID of a `
    ` element -// and optionally an object literal with `Map options`. -// -// @alternative -// @factory L.map(el: HTMLElement, options?: Map options) -// Instantiates a map object given an instance of a `
    ` HTML element -// and optionally an object literal with `Map options`. -function createMap(id, options) { - return new Map(id, options); -} - -/* - * @class Control - * @aka L.Control - * @inherits Class - * - * L.Control is a base class for implementing map controls. Handles positioning. - * All other controls extend from this class. - */ - -var Control = Class.extend({ - // @section - // @aka Control options - options: { - // @option position: String = 'topright' - // The position of the control (one of the map corners). Possible values are `'topleft'`, - // `'topright'`, `'bottomleft'` or `'bottomright'` - position: 'topright' - }, - - initialize: function (options) { - setOptions(this, options); - }, - - /* @section - * Classes extending L.Control will inherit the following methods: - * - * @method getPosition: string - * Returns the position of the control. - */ - getPosition: function () { - return this.options.position; - }, - - // @method setPosition(position: string): this - // Sets the position of the control. - setPosition: function (position) { - var map = this._map; - - if (map) { - map.removeControl(this); - } - - this.options.position = position; - - if (map) { - map.addControl(this); - } - - return this; - }, - - // @method getContainer: HTMLElement - // Returns the HTMLElement that contains the control. - getContainer: function () { - return this._container; - }, - - // @method addTo(map: Map): this - // Adds the control to the given map. - addTo: function (map) { - this.remove(); - this._map = map; - - var container = this._container = this.onAdd(map), - pos = this.getPosition(), - corner = map._controlCorners[pos]; - - addClass(container, 'leaflet-control'); - - if (pos.indexOf('bottom') !== -1) { - corner.insertBefore(container, corner.firstChild); - } else { - corner.appendChild(container); - } - - return this; - }, - - // @method remove: this - // Removes the control from the map it is currently active on. - remove: function () { - if (!this._map) { - return this; - } - - remove(this._container); - - if (this.onRemove) { - this.onRemove(this._map); - } - - this._map = null; - - return this; - }, - - _refocusOnMap: function (e) { - // if map exists and event is not a keyboard event - if (this._map && e && e.screenX > 0 && e.screenY > 0) { - this._map.getContainer().focus(); - } - } -}); - -var control = function (options) { - return new Control(options); -}; - -/* @section Extension methods - * @uninheritable - * - * Every control should extend from `L.Control` and (re-)implement the following methods. - * - * @method onAdd(map: Map): HTMLElement - * Should return the container DOM element for the control and add listeners on relevant map events. Called on [`control.addTo(map)`](#control-addTo). - * - * @method onRemove(map: Map) - * Optional method. Should contain all clean up code that removes the listeners previously added in [`onAdd`](#control-onadd). Called on [`control.remove()`](#control-remove). - */ - -/* @namespace Map - * @section Methods for Layers and Controls - */ -Map.include({ - // @method addControl(control: Control): this - // Adds the given control to the map - addControl: function (control) { - control.addTo(this); - return this; - }, - - // @method removeControl(control: Control): this - // Removes the given control from the map - removeControl: function (control) { - control.remove(); - return this; - }, - - _initControlPos: function () { - var corners = this._controlCorners = {}, - l = 'leaflet-', - container = this._controlContainer = - create$1('div', l + 'control-container', this._container); - - function createCorner(vSide, hSide) { - var className = l + vSide + ' ' + l + hSide; - - corners[vSide + hSide] = create$1('div', className, container); - } - - createCorner('top', 'left'); - createCorner('top', 'right'); - createCorner('bottom', 'left'); - createCorner('bottom', 'right'); - }, - - _clearControlPos: function () { - for (var i in this._controlCorners) { - remove(this._controlCorners[i]); - } - remove(this._controlContainer); - delete this._controlCorners; - delete this._controlContainer; - } -}); - -/* - * @class Control.Layers - * @aka L.Control.Layers - * @inherits Control - * - * The layers control gives users the ability to switch between different base layers and switch overlays on/off (check out the [detailed example](http://leafletjs.com/examples/layers-control/)). Extends `Control`. - * - * @example - * - * ```js - * var baseLayers = { - * "Mapbox": mapbox, - * "OpenStreetMap": osm - * }; - * - * var overlays = { - * "Marker": marker, - * "Roads": roadsLayer - * }; - * - * L.control.layers(baseLayers, overlays).addTo(map); - * ``` - * - * The `baseLayers` and `overlays` parameters are object literals with layer names as keys and `Layer` objects as values: - * - * ```js - * { - * "": layer1, - * "": layer2 - * } - * ``` - * - * The layer names can contain HTML, which allows you to add additional styling to the items: - * - * ```js - * {" My Layer": myLayer} - * ``` - */ - -var Layers = Control.extend({ - // @section - // @aka Control.Layers options - options: { - // @option collapsed: Boolean = true - // If `true`, the control will be collapsed into an icon and expanded on mouse hover or touch. - collapsed: true, - position: 'topright', - - // @option autoZIndex: Boolean = true - // If `true`, the control will assign zIndexes in increasing order to all of its layers so that the order is preserved when switching them on/off. - autoZIndex: true, - - // @option hideSingleBase: Boolean = false - // If `true`, the base layers in the control will be hidden when there is only one. - hideSingleBase: false, - - // @option sortLayers: Boolean = false - // Whether to sort the layers. When `false`, layers will keep the order - // in which they were added to the control. - sortLayers: false, - - // @option sortFunction: Function = * - // A [compare function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) - // that will be used for sorting the layers, when `sortLayers` is `true`. - // The function receives both the `L.Layer` instances and their names, as in - // `sortFunction(layerA, layerB, nameA, nameB)`. - // By default, it sorts layers alphabetically by their name. - sortFunction: function (layerA, layerB, nameA, nameB) { - return nameA < nameB ? -1 : (nameB < nameA ? 1 : 0); - } - }, - - initialize: function (baseLayers, overlays, options) { - setOptions(this, options); - - this._layerControlInputs = []; - this._layers = []; - this._lastZIndex = 0; - this._handlingClick = false; - - for (var i in baseLayers) { - this._addLayer(baseLayers[i], i); - } - - for (i in overlays) { - this._addLayer(overlays[i], i, true); - } - }, - - onAdd: function (map) { - this._initLayout(); - this._update(); - - this._map = map; - map.on('zoomend', this._checkDisabledLayers, this); - - for (var i = 0; i < this._layers.length; i++) { - this._layers[i].layer.on('add remove', this._onLayerChange, this); - } - - return this._container; - }, - - addTo: function (map) { - Control.prototype.addTo.call(this, map); - // Trigger expand after Layers Control has been inserted into DOM so that is now has an actual height. - return this._expandIfNotCollapsed(); - }, - - onRemove: function () { - this._map.off('zoomend', this._checkDisabledLayers, this); - - for (var i = 0; i < this._layers.length; i++) { - this._layers[i].layer.off('add remove', this._onLayerChange, this); - } - }, - - // @method addBaseLayer(layer: Layer, name: String): this - // Adds a base layer (radio button entry) with the given name to the control. - addBaseLayer: function (layer, name) { - this._addLayer(layer, name); - return (this._map) ? this._update() : this; - }, - - // @method addOverlay(layer: Layer, name: String): this - // Adds an overlay (checkbox entry) with the given name to the control. - addOverlay: function (layer, name) { - this._addLayer(layer, name, true); - return (this._map) ? this._update() : this; - }, - - // @method removeLayer(layer: Layer): this - // Remove the given layer from the control. - removeLayer: function (layer) { - layer.off('add remove', this._onLayerChange, this); - - var obj = this._getLayer(stamp(layer)); - if (obj) { - this._layers.splice(this._layers.indexOf(obj), 1); - } - return (this._map) ? this._update() : this; - }, - - // @method expand(): this - // Expand the control container if collapsed. - expand: function () { - addClass(this._container, 'leaflet-control-layers-expanded'); - this._form.style.height = null; - var acceptableHeight = this._map.getSize().y - (this._container.offsetTop + 50); - if (acceptableHeight < this._form.clientHeight) { - addClass(this._form, 'leaflet-control-layers-scrollbar'); - this._form.style.height = acceptableHeight + 'px'; - } else { - removeClass(this._form, 'leaflet-control-layers-scrollbar'); - } - this._checkDisabledLayers(); - return this; - }, - - // @method collapse(): this - // Collapse the control container if expanded. - collapse: function () { - removeClass(this._container, 'leaflet-control-layers-expanded'); - return this; - }, - - _initLayout: function () { - var className = 'leaflet-control-layers', - container = this._container = create$1('div', className), - collapsed = this.options.collapsed; - - // makes this work on IE touch devices by stopping it from firing a mouseout event when the touch is released - container.setAttribute('aria-haspopup', true); - - disableClickPropagation(container); - disableScrollPropagation(container); - - var form = this._form = create$1('form', className + '-list'); - - if (collapsed) { - this._map.on('click', this.collapse, this); - - if (!android) { - on(container, { - mouseenter: this.expand, - mouseleave: this.collapse - }, this); - } - } - - var link = this._layersLink = create$1('a', className + '-toggle', container); - link.href = '#'; - link.title = 'Layers'; - - if (touch) { - on(link, 'click', stop); - on(link, 'click', this.expand, this); - } else { - on(link, 'focus', this.expand, this); - } - - // work around for Firefox Android issue https://github.com/Leaflet/Leaflet/issues/2033 - on(form, 'click', function () { - setTimeout(bind(this._onInputClick, this), 0); - }, this); - - // TODO keyboard accessibility - - if (!collapsed) { - this.expand(); - } - - this._baseLayersList = create$1('div', className + '-base', form); - this._separator = create$1('div', className + '-separator', form); - this._overlaysList = create$1('div', className + '-overlays', form); - - container.appendChild(form); - }, - - _getLayer: function (id) { - for (var i = 0; i < this._layers.length; i++) { - - if (this._layers[i] && stamp(this._layers[i].layer) === id) { - return this._layers[i]; - } - } - }, - - _addLayer: function (layer, name, overlay) { - if (this._map) { - layer.on('add remove', this._onLayerChange, this); - } - - this._layers.push({ - layer: layer, - name: name, - overlay: overlay - }); - - if (this.options.sortLayers) { - this._layers.sort(L.bind(function (a, b) { - return this.options.sortFunction(a.layer, b.layer, a.name, b.name); - }, this)); - } - - if (this.options.autoZIndex && layer.setZIndex) { - this._lastZIndex++; - layer.setZIndex(this._lastZIndex); - } - - this._expandIfNotCollapsed(); - }, - - _update: function () { - if (!this._container) { return this; } - - empty(this._baseLayersList); - empty(this._overlaysList); - - this._layerControlInputs = []; - var baseLayersPresent, overlaysPresent, i, obj, baseLayersCount = 0; - - for (i = 0; i < this._layers.length; i++) { - obj = this._layers[i]; - this._addItem(obj); - overlaysPresent = overlaysPresent || obj.overlay; - baseLayersPresent = baseLayersPresent || !obj.overlay; - baseLayersCount += !obj.overlay ? 1 : 0; - } - - // Hide base layers section if there's only one layer. - if (this.options.hideSingleBase) { - baseLayersPresent = baseLayersPresent && baseLayersCount > 1; - this._baseLayersList.style.display = baseLayersPresent ? '' : 'none'; - } - - this._separator.style.display = overlaysPresent && baseLayersPresent ? '' : 'none'; - - return this; - }, - - _onLayerChange: function (e) { - if (!this._handlingClick) { - this._update(); - } - - var obj = this._getLayer(stamp(e.target)); - - // @namespace Map - // @section Layer events - // @event baselayerchange: LayersControlEvent - // Fired when the base layer is changed through the [layer control](#control-layers). - // @event overlayadd: LayersControlEvent - // Fired when an overlay is selected through the [layer control](#control-layers). - // @event overlayremove: LayersControlEvent - // Fired when an overlay is deselected through the [layer control](#control-layers). - // @namespace Control.Layers - var type = obj.overlay ? - (e.type === 'add' ? 'overlayadd' : 'overlayremove') : - (e.type === 'add' ? 'baselayerchange' : null); - - if (type) { - this._map.fire(type, obj); - } - }, - - // IE7 bugs out if you create a radio dynamically, so you have to do it this hacky way (see http://bit.ly/PqYLBe) - _createRadioElement: function (name, checked) { - - var radioHtml = ''; - - var radioFragment = document.createElement('div'); - radioFragment.innerHTML = radioHtml; - - return radioFragment.firstChild; - }, - - _addItem: function (obj) { - var label = document.createElement('label'), - checked = this._map.hasLayer(obj.layer), - input; - - if (obj.overlay) { - input = document.createElement('input'); - input.type = 'checkbox'; - input.className = 'leaflet-control-layers-selector'; - input.defaultChecked = checked; - } else { - input = this._createRadioElement('leaflet-base-layers', checked); - } - - this._layerControlInputs.push(input); - input.layerId = stamp(obj.layer); - - on(input, 'click', this._onInputClick, this); - - var name = document.createElement('span'); - name.innerHTML = ' ' + obj.name; - - // Helps from preventing layer control flicker when checkboxes are disabled - // https://github.com/Leaflet/Leaflet/issues/2771 - var holder = document.createElement('div'); - - label.appendChild(holder); - holder.appendChild(input); - holder.appendChild(name); - - var container = obj.overlay ? this._overlaysList : this._baseLayersList; - container.appendChild(label); - - this._checkDisabledLayers(); - return label; - }, - - _onInputClick: function () { - var inputs = this._layerControlInputs, - input, layer, hasLayer; - var addedLayers = [], - removedLayers = []; - - this._handlingClick = true; - - for (var i = inputs.length - 1; i >= 0; i--) { - input = inputs[i]; - layer = this._getLayer(input.layerId).layer; - hasLayer = this._map.hasLayer(layer); - - if (input.checked && !hasLayer) { - addedLayers.push(layer); - - } else if (!input.checked && hasLayer) { - removedLayers.push(layer); - } - } - - // Bugfix issue 2318: Should remove all old layers before readding new ones - for (i = 0; i < removedLayers.length; i++) { - this._map.removeLayer(removedLayers[i]); - } - for (i = 0; i < addedLayers.length; i++) { - this._map.addLayer(addedLayers[i]); - } - - this._handlingClick = false; - - this._refocusOnMap(); - }, - - _checkDisabledLayers: function () { - var inputs = this._layerControlInputs, - input, - layer, - zoom = this._map.getZoom(); - - for (var i = inputs.length - 1; i >= 0; i--) { - input = inputs[i]; - layer = this._getLayer(input.layerId).layer; - input.disabled = (layer.options.minZoom !== undefined && zoom < layer.options.minZoom) || - (layer.options.maxZoom !== undefined && zoom > layer.options.maxZoom); - - } - }, - - _expandIfNotCollapsed: function () { - if (this._map && !this.options.collapsed) { - this.expand(); - } - return this; - }, - - _expand: function () { - // Backward compatibility, remove me in 1.1. - return this.expand(); - }, - - _collapse: function () { - // Backward compatibility, remove me in 1.1. - return this.collapse(); - } - -}); - - -// @factory L.control.layers(baselayers?: Object, overlays?: Object, options?: Control.Layers options) -// Creates an attribution control with the given layers. Base layers will be switched with radio buttons, while overlays will be switched with checkboxes. Note that all base layers should be passed in the base layers object, but only one should be added to the map during map instantiation. -var layers = function (baseLayers, overlays, options) { - return new Layers(baseLayers, overlays, options); -}; - -/* - * @class Control.Zoom - * @aka L.Control.Zoom - * @inherits Control - * - * A basic zoom control with two buttons (zoom in and zoom out). It is put on the map by default unless you set its [`zoomControl` option](#map-zoomcontrol) to `false`. Extends `Control`. - */ - -var Zoom = Control.extend({ - // @section - // @aka Control.Zoom options - options: { - position: 'topleft', - - // @option zoomInText: String = '+' - // The text set on the 'zoom in' button. - zoomInText: '+', - - // @option zoomInTitle: String = 'Zoom in' - // The title set on the 'zoom in' button. - zoomInTitle: 'Zoom in', - - // @option zoomOutText: String = '−' - // The text set on the 'zoom out' button. - zoomOutText: '−', - - // @option zoomOutTitle: String = 'Zoom out' - // The title set on the 'zoom out' button. - zoomOutTitle: 'Zoom out' - }, - - onAdd: function (map) { - var zoomName = 'leaflet-control-zoom', - container = create$1('div', zoomName + ' leaflet-bar'), - options = this.options; - - this._zoomInButton = this._createButton(options.zoomInText, options.zoomInTitle, - zoomName + '-in', container, this._zoomIn); - this._zoomOutButton = this._createButton(options.zoomOutText, options.zoomOutTitle, - zoomName + '-out', container, this._zoomOut); - - this._updateDisabled(); - map.on('zoomend zoomlevelschange', this._updateDisabled, this); - - return container; - }, - - onRemove: function (map) { - map.off('zoomend zoomlevelschange', this._updateDisabled, this); - }, - - disable: function () { - this._disabled = true; - this._updateDisabled(); - return this; - }, - - enable: function () { - this._disabled = false; - this._updateDisabled(); - return this; - }, - - _zoomIn: function (e) { - if (!this._disabled && this._map._zoom < this._map.getMaxZoom()) { - this._map.zoomIn(this._map.options.zoomDelta * (e.shiftKey ? 3 : 1)); - } - }, - - _zoomOut: function (e) { - if (!this._disabled && this._map._zoom > this._map.getMinZoom()) { - this._map.zoomOut(this._map.options.zoomDelta * (e.shiftKey ? 3 : 1)); - } - }, - - _createButton: function (html, title, className, container, fn) { - var link = create$1('a', className, container); - link.innerHTML = html; - link.href = '#'; - link.title = title; - - /* - * Will force screen readers like VoiceOver to read this as "Zoom in - button" - */ - link.setAttribute('role', 'button'); - link.setAttribute('aria-label', title); - - disableClickPropagation(link); - on(link, 'click', stop); - on(link, 'click', fn, this); - on(link, 'click', this._refocusOnMap, this); - - return link; - }, - - _updateDisabled: function () { - var map = this._map, - className = 'leaflet-disabled'; - - removeClass(this._zoomInButton, className); - removeClass(this._zoomOutButton, className); - - if (this._disabled || map._zoom === map.getMinZoom()) { - addClass(this._zoomOutButton, className); - } - if (this._disabled || map._zoom === map.getMaxZoom()) { - addClass(this._zoomInButton, className); - } - } -}); - -// @namespace Map -// @section Control options -// @option zoomControl: Boolean = true -// Whether a [zoom control](#control-zoom) is added to the map by default. -Map.mergeOptions({ - zoomControl: true -}); - -Map.addInitHook(function () { - if (this.options.zoomControl) { - this.zoomControl = new Zoom(); - this.addControl(this.zoomControl); - } -}); - -// @namespace Control.Zoom -// @factory L.control.zoom(options: Control.Zoom options) -// Creates a zoom control -var zoom = function (options) { - return new Zoom(options); -}; - -/* - * @class Control.Scale - * @aka L.Control.Scale - * @inherits Control - * - * A simple scale control that shows the scale of the current center of screen in metric (m/km) and imperial (mi/ft) systems. Extends `Control`. - * - * @example - * - * ```js - * L.control.scale().addTo(map); - * ``` - */ - -var Scale = Control.extend({ - // @section - // @aka Control.Scale options - options: { - position: 'bottomleft', - - // @option maxWidth: Number = 100 - // Maximum width of the control in pixels. The width is set dynamically to show round values (e.g. 100, 200, 500). - maxWidth: 100, - - // @option metric: Boolean = True - // Whether to show the metric scale line (m/km). - metric: true, - - // @option imperial: Boolean = True - // Whether to show the imperial scale line (mi/ft). - imperial: true - - // @option updateWhenIdle: Boolean = false - // If `true`, the control is updated on [`moveend`](#map-moveend), otherwise it's always up-to-date (updated on [`move`](#map-move)). - }, - - onAdd: function (map) { - var className = 'leaflet-control-scale', - container = create$1('div', className), - options = this.options; - - this._addScales(options, className + '-line', container); - - map.on(options.updateWhenIdle ? 'moveend' : 'move', this._update, this); - map.whenReady(this._update, this); - - return container; - }, - - onRemove: function (map) { - map.off(this.options.updateWhenIdle ? 'moveend' : 'move', this._update, this); - }, - - _addScales: function (options, className, container) { - if (options.metric) { - this._mScale = create$1('div', className, container); - } - if (options.imperial) { - this._iScale = create$1('div', className, container); - } - }, - - _update: function () { - var map = this._map, - y = map.getSize().y / 2; - - var maxMeters = map.distance( - map.containerPointToLatLng([0, y]), - map.containerPointToLatLng([this.options.maxWidth, y])); - - this._updateScales(maxMeters); - }, - - _updateScales: function (maxMeters) { - if (this.options.metric && maxMeters) { - this._updateMetric(maxMeters); - } - if (this.options.imperial && maxMeters) { - this._updateImperial(maxMeters); - } - }, - - _updateMetric: function (maxMeters) { - var meters = this._getRoundNum(maxMeters), - label = meters < 1000 ? meters + ' m' : (meters / 1000) + ' km'; - - this._updateScale(this._mScale, label, meters / maxMeters); - }, - - _updateImperial: function (maxMeters) { - var maxFeet = maxMeters * 3.2808399, - maxMiles, miles, feet; - - if (maxFeet > 5280) { - maxMiles = maxFeet / 5280; - miles = this._getRoundNum(maxMiles); - this._updateScale(this._iScale, miles + ' mi', miles / maxMiles); - - } else { - feet = this._getRoundNum(maxFeet); - this._updateScale(this._iScale, feet + ' ft', feet / maxFeet); - } - }, - - _updateScale: function (scale, text, ratio) { - scale.style.width = Math.round(this.options.maxWidth * ratio) + 'px'; - scale.innerHTML = text; - }, - - _getRoundNum: function (num) { - var pow10 = Math.pow(10, (Math.floor(num) + '').length - 1), - d = num / pow10; - - d = d >= 10 ? 10 : - d >= 5 ? 5 : - d >= 3 ? 3 : - d >= 2 ? 2 : 1; - - return pow10 * d; - } -}); - - -// @factory L.control.scale(options?: Control.Scale options) -// Creates an scale control with the given options. -var scale = function (options) { - return new Scale(options); -}; - -/* - * @class Control.Attribution - * @aka L.Control.Attribution - * @inherits Control - * - * The attribution control allows you to display attribution data in a small text box on a map. It is put on the map by default unless you set its [`attributionControl` option](#map-attributioncontrol) to `false`, and it fetches attribution texts from layers with the [`getAttribution` method](#layer-getattribution) automatically. Extends Control. - */ - -var Attribution = Control.extend({ - // @section - // @aka Control.Attribution options - options: { - position: 'bottomright', - - // @option prefix: String = 'Leaflet' - // The HTML text shown before the attributions. Pass `false` to disable. - prefix: 'Leaflet' - }, - - initialize: function (options) { - setOptions(this, options); - - this._attributions = {}; - }, - - onAdd: function (map) { - map.attributionControl = this; - this._container = create$1('div', 'leaflet-control-attribution'); - disableClickPropagation(this._container); - - // TODO ugly, refactor - for (var i in map._layers) { - if (map._layers[i].getAttribution) { - this.addAttribution(map._layers[i].getAttribution()); - } - } - - this._update(); - - return this._container; - }, - - // @method setPrefix(prefix: String): this - // Sets the text before the attributions. - setPrefix: function (prefix) { - this.options.prefix = prefix; - this._update(); - return this; - }, - - // @method addAttribution(text: String): this - // Adds an attribution text (e.g. `'Vector data © Mapbox'`). - addAttribution: function (text) { - if (!text) { return this; } - - if (!this._attributions[text]) { - this._attributions[text] = 0; - } - this._attributions[text]++; - - this._update(); - - return this; - }, - - // @method removeAttribution(text: String): this - // Removes an attribution text. - removeAttribution: function (text) { - if (!text) { return this; } - - if (this._attributions[text]) { - this._attributions[text]--; - this._update(); - } - - return this; - }, - - _update: function () { - if (!this._map) { return; } - - var attribs = []; - - for (var i in this._attributions) { - if (this._attributions[i]) { - attribs.push(i); - } - } - - var prefixAndAttribs = []; - - if (this.options.prefix) { - prefixAndAttribs.push(this.options.prefix); - } - if (attribs.length) { - prefixAndAttribs.push(attribs.join(', ')); - } - - this._container.innerHTML = prefixAndAttribs.join(' | '); - } -}); - -// @namespace Map -// @section Control options -// @option attributionControl: Boolean = true -// Whether a [attribution control](#control-attribution) is added to the map by default. -Map.mergeOptions({ - attributionControl: true -}); - -Map.addInitHook(function () { - if (this.options.attributionControl) { - new Attribution().addTo(this); - } -}); - -// @namespace Control.Attribution -// @factory L.control.attribution(options: Control.Attribution options) -// Creates an attribution control. -var attribution = function (options) { - return new Attribution(options); -}; - -Control.Layers = Layers; -Control.Zoom = Zoom; -Control.Scale = Scale; -Control.Attribution = Attribution; - -control.layers = layers; -control.zoom = zoom; -control.scale = scale; -control.attribution = attribution; - -/* - L.Handler is a base class for handler classes that are used internally to inject - interaction features like dragging to classes like Map and Marker. -*/ - -// @class Handler -// @aka L.Handler -// Abstract class for map interaction handlers - -var Handler = Class.extend({ - initialize: function (map) { - this._map = map; - }, - - // @method enable(): this - // Enables the handler - enable: function () { - if (this._enabled) { return this; } - - this._enabled = true; - this.addHooks(); - return this; - }, - - // @method disable(): this - // Disables the handler - disable: function () { - if (!this._enabled) { return this; } - - this._enabled = false; - this.removeHooks(); - return this; - }, - - // @method enabled(): Boolean - // Returns `true` if the handler is enabled - enabled: function () { - return !!this._enabled; - } - - // @section Extension methods - // Classes inheriting from `Handler` must implement the two following methods: - // @method addHooks() - // Called when the handler is enabled, should add event hooks. - // @method removeHooks() - // Called when the handler is disabled, should remove the event hooks added previously. -}); - -var Mixin = {Events: Events}; - -/* - * @class Draggable - * @aka L.Draggable - * @inherits Evented - * - * A class for making DOM elements draggable (including touch support). - * Used internally for map and marker dragging. Only works for elements - * that were positioned with [`L.DomUtil.setPosition`](#domutil-setposition). - * - * @example - * ```js - * var draggable = new L.Draggable(elementToDrag); - * draggable.enable(); - * ``` - */ - -var _dragging = false; -var START = touch ? 'touchstart mousedown' : 'mousedown'; -var END = { - mousedown: 'mouseup', - touchstart: 'touchend', - pointerdown: 'touchend', - MSPointerDown: 'touchend' -}; -var MOVE = { - mousedown: 'mousemove', - touchstart: 'touchmove', - pointerdown: 'touchmove', - MSPointerDown: 'touchmove' -}; - - -var Draggable = Evented.extend({ - - options: { - // @section - // @aka Draggable options - // @option clickTolerance: Number = 3 - // The max number of pixels a user can shift the mouse pointer during a click - // for it to be considered a valid click (as opposed to a mouse drag). - clickTolerance: 3 - }, - - // @constructor L.Draggable(el: HTMLElement, dragHandle?: HTMLElement, preventOutline?: Boolean, options?: Draggable options) - // Creates a `Draggable` object for moving `el` when you start dragging the `dragHandle` element (equals `el` itself by default). - initialize: function (element, dragStartTarget, preventOutline$$1, options) { - setOptions(this, options); - - this._element = element; - this._dragStartTarget = dragStartTarget || element; - this._preventOutline = preventOutline$$1; - }, - - // @method enable() - // Enables the dragging ability - enable: function () { - if (this._enabled) { return; } - - on(this._dragStartTarget, START, this._onDown, this); - - this._enabled = true; - }, - - // @method disable() - // Disables the dragging ability - disable: function () { - if (!this._enabled) { return; } - - // If we're currently dragging this draggable, - // disabling it counts as first ending the drag. - if (L.Draggable._dragging === this) { - this.finishDrag(); - } - - off(this._dragStartTarget, START, this._onDown, this); - - this._enabled = false; - this._moved = false; - }, - - _onDown: function (e) { - // Ignore simulated events, since we handle both touch and - // mouse explicitly; otherwise we risk getting duplicates of - // touch events, see #4315. - // Also ignore the event if disabled; this happens in IE11 - // under some circumstances, see #3666. - if (e._simulated || !this._enabled) { return; } - - this._moved = false; - - if (hasClass(this._element, 'leaflet-zoom-anim')) { return; } - - if (_dragging || e.shiftKey || ((e.which !== 1) && (e.button !== 1) && !e.touches)) { return; } - _dragging = this; // Prevent dragging multiple objects at once. - - if (this._preventOutline) { - preventOutline(this._element); - } - - disableImageDrag(); - disableTextSelection(); - - if (this._moving) { return; } - - // @event down: Event - // Fired when a drag is about to start. - this.fire('down'); - - var first = e.touches ? e.touches[0] : e; - - this._startPoint = new Point(first.clientX, first.clientY); - - on(document, MOVE[e.type], this._onMove, this); - on(document, END[e.type], this._onUp, this); - }, - - _onMove: function (e) { - // Ignore simulated events, since we handle both touch and - // mouse explicitly; otherwise we risk getting duplicates of - // touch events, see #4315. - // Also ignore the event if disabled; this happens in IE11 - // under some circumstances, see #3666. - if (e._simulated || !this._enabled) { return; } - - if (e.touches && e.touches.length > 1) { - this._moved = true; - return; - } - - var first = (e.touches && e.touches.length === 1 ? e.touches[0] : e), - newPoint = new Point(first.clientX, first.clientY), - offset = newPoint.subtract(this._startPoint); - - if (!offset.x && !offset.y) { return; } - if (Math.abs(offset.x) + Math.abs(offset.y) < this.options.clickTolerance) { return; } - - preventDefault(e); - - if (!this._moved) { - // @event dragstart: Event - // Fired when a drag starts - this.fire('dragstart'); - - this._moved = true; - this._startPos = getPosition(this._element).subtract(offset); - - addClass(document.body, 'leaflet-dragging'); - - this._lastTarget = e.target || e.srcElement; - // IE and Edge do not give the element, so fetch it - // if necessary - if ((window.SVGElementInstance) && (this._lastTarget instanceof SVGElementInstance)) { - this._lastTarget = this._lastTarget.correspondingUseElement; - } - addClass(this._lastTarget, 'leaflet-drag-target'); - } - - this._newPos = this._startPos.add(offset); - this._moving = true; - - cancelAnimFrame(this._animRequest); - this._lastEvent = e; - this._animRequest = requestAnimFrame(this._updatePosition, this, true); - }, - - _updatePosition: function () { - var e = {originalEvent: this._lastEvent}; - - // @event predrag: Event - // Fired continuously during dragging *before* each corresponding - // update of the element's position. - this.fire('predrag', e); - setPosition(this._element, this._newPos); - - // @event drag: Event - // Fired continuously during dragging. - this.fire('drag', e); - }, - - _onUp: function (e) { - // Ignore simulated events, since we handle both touch and - // mouse explicitly; otherwise we risk getting duplicates of - // touch events, see #4315. - // Also ignore the event if disabled; this happens in IE11 - // under some circumstances, see #3666. - if (e._simulated || !this._enabled) { return; } - this.finishDrag(); - }, - - finishDrag: function () { - removeClass(document.body, 'leaflet-dragging'); - - if (this._lastTarget) { - removeClass(this._lastTarget, 'leaflet-drag-target'); - this._lastTarget = null; - } - - for (var i in MOVE) { - off(document, MOVE[i], this._onMove, this); - off(document, END[i], this._onUp, this); - } - - enableImageDrag(); - enableTextSelection(); - - if (this._moved && this._moving) { - // ensure drag is not fired after dragend - cancelAnimFrame(this._animRequest); - - // @event dragend: DragEndEvent - // Fired when the drag ends. - this.fire('dragend', { - distance: this._newPos.distanceTo(this._startPos) - }); - } - - this._moving = false; - _dragging = false; - } - -}); - -/* - * @namespace LineUtil - * - * Various utility functions for polyine points processing, used by Leaflet internally to make polylines lightning-fast. - */ - -// Simplify polyline with vertex reduction and Douglas-Peucker simplification. -// Improves rendering performance dramatically by lessening the number of points to draw. - -// @function simplify(points: Point[], tolerance: Number): Point[] -// Dramatically reduces the number of points in a polyline while retaining -// its shape and returns a new array of simplified points, using the -// [Douglas-Peucker algorithm](http://en.wikipedia.org/wiki/Douglas-Peucker_algorithm). -// Used for a huge performance boost when processing/displaying Leaflet polylines for -// each zoom level and also reducing visual noise. tolerance affects the amount of -// simplification (lesser value means higher quality but slower and with more points). -// Also released as a separated micro-library [Simplify.js](http://mourner.github.com/simplify-js/). -function simplify(points, tolerance) { - if (!tolerance || !points.length) { - return points.slice(); - } - - var sqTolerance = tolerance * tolerance; - - // stage 1: vertex reduction - points = _reducePoints(points, sqTolerance); - - // stage 2: Douglas-Peucker simplification - points = _simplifyDP(points, sqTolerance); - - return points; -} - -// @function pointToSegmentDistance(p: Point, p1: Point, p2: Point): Number -// Returns the distance between point `p` and segment `p1` to `p2`. -function pointToSegmentDistance(p, p1, p2) { - return Math.sqrt(_sqClosestPointOnSegment(p, p1, p2, true)); -} - -// @function closestPointOnSegment(p: Point, p1: Point, p2: Point): Number -// Returns the closest point from a point `p` on a segment `p1` to `p2`. -function closestPointOnSegment(p, p1, p2) { - return _sqClosestPointOnSegment(p, p1, p2); -} - -// Douglas-Peucker simplification, see http://en.wikipedia.org/wiki/Douglas-Peucker_algorithm -function _simplifyDP(points, sqTolerance) { - - var len = points.length, - ArrayConstructor = typeof Uint8Array !== undefined + '' ? Uint8Array : Array, - markers = new ArrayConstructor(len); - - markers[0] = markers[len - 1] = 1; - - _simplifyDPStep(points, markers, sqTolerance, 0, len - 1); - - var i, - newPoints = []; - - for (i = 0; i < len; i++) { - if (markers[i]) { - newPoints.push(points[i]); - } - } - - return newPoints; -} - -function _simplifyDPStep(points, markers, sqTolerance, first, last) { - - var maxSqDist = 0, - index, i, sqDist; - - for (i = first + 1; i <= last - 1; i++) { - sqDist = _sqClosestPointOnSegment(points[i], points[first], points[last], true); - - if (sqDist > maxSqDist) { - index = i; - maxSqDist = sqDist; - } - } - - if (maxSqDist > sqTolerance) { - markers[index] = 1; - - _simplifyDPStep(points, markers, sqTolerance, first, index); - _simplifyDPStep(points, markers, sqTolerance, index, last); - } -} - -// reduce points that are too close to each other to a single point -function _reducePoints(points, sqTolerance) { - var reducedPoints = [points[0]]; - - for (var i = 1, prev = 0, len = points.length; i < len; i++) { - if (_sqDist(points[i], points[prev]) > sqTolerance) { - reducedPoints.push(points[i]); - prev = i; - } - } - if (prev < len - 1) { - reducedPoints.push(points[len - 1]); - } - return reducedPoints; -} - -var _lastCode; - -// @function clipSegment(a: Point, b: Point, bounds: Bounds, useLastCode?: Boolean, round?: Boolean): Point[]|Boolean -// Clips the segment a to b by rectangular bounds with the -// [Cohen-Sutherland algorithm](https://en.wikipedia.org/wiki/Cohen%E2%80%93Sutherland_algorithm) -// (modifying the segment points directly!). Used by Leaflet to only show polyline -// points that are on the screen or near, increasing performance. -function clipSegment(a, b, bounds, useLastCode, round) { - var codeA = useLastCode ? _lastCode : _getBitCode(a, bounds), - codeB = _getBitCode(b, bounds), - - codeOut, p, newCode; - - // save 2nd code to avoid calculating it on the next segment - _lastCode = codeB; - - while (true) { - // if a,b is inside the clip window (trivial accept) - if (!(codeA | codeB)) { - return [a, b]; - } - - // if a,b is outside the clip window (trivial reject) - if (codeA & codeB) { - return false; - } - - // other cases - codeOut = codeA || codeB; - p = _getEdgeIntersection(a, b, codeOut, bounds, round); - newCode = _getBitCode(p, bounds); - - if (codeOut === codeA) { - a = p; - codeA = newCode; - } else { - b = p; - codeB = newCode; - } - } -} - -function _getEdgeIntersection(a, b, code, bounds, round) { - var dx = b.x - a.x, - dy = b.y - a.y, - min = bounds.min, - max = bounds.max, - x, y; - - if (code & 8) { // top - x = a.x + dx * (max.y - a.y) / dy; - y = max.y; - - } else if (code & 4) { // bottom - x = a.x + dx * (min.y - a.y) / dy; - y = min.y; - - } else if (code & 2) { // right - x = max.x; - y = a.y + dy * (max.x - a.x) / dx; - - } else if (code & 1) { // left - x = min.x; - y = a.y + dy * (min.x - a.x) / dx; - } - - return new Point(x, y, round); -} - -function _getBitCode(p, bounds) { - var code = 0; - - if (p.x < bounds.min.x) { // left - code |= 1; - } else if (p.x > bounds.max.x) { // right - code |= 2; - } - - if (p.y < bounds.min.y) { // bottom - code |= 4; - } else if (p.y > bounds.max.y) { // top - code |= 8; - } - - return code; -} - -// square distance (to avoid unnecessary Math.sqrt calls) -function _sqDist(p1, p2) { - var dx = p2.x - p1.x, - dy = p2.y - p1.y; - return dx * dx + dy * dy; -} - -// return closest point on segment or distance to that point -function _sqClosestPointOnSegment(p, p1, p2, sqDist) { - var x = p1.x, - y = p1.y, - dx = p2.x - x, - dy = p2.y - y, - dot = dx * dx + dy * dy, - t; - - if (dot > 0) { - t = ((p.x - x) * dx + (p.y - y) * dy) / dot; - - if (t > 1) { - x = p2.x; - y = p2.y; - } else if (t > 0) { - x += dx * t; - y += dy * t; - } - } - - dx = p.x - x; - dy = p.y - y; - - return sqDist ? dx * dx + dy * dy : new Point(x, y); -} - - -function _flat(latlngs) { - // true if it's a flat array of latlngs; false if nested - return !isArray(latlngs[0]) || (typeof latlngs[0][0] !== 'object' && typeof latlngs[0][0] !== 'undefined'); -} - - -var LineUtil = (Object.freeze || Object)({ - simplify: simplify, - pointToSegmentDistance: pointToSegmentDistance, - closestPointOnSegment: closestPointOnSegment, - clipSegment: clipSegment, - _getEdgeIntersection: _getEdgeIntersection, - _getBitCode: _getBitCode, - _sqClosestPointOnSegment: _sqClosestPointOnSegment, - _flat: _flat -}); - -/* - * @namespace PolyUtil - * Various utility functions for polygon geometries. - */ - -/* @function clipPolygon(points: Point[], bounds: Bounds, round?: Boolean): Point[] - * Clips the polygon geometry defined by the given `points` by the given bounds (using the [Sutherland-Hodgeman algorithm](https://en.wikipedia.org/wiki/Sutherland%E2%80%93Hodgman_algorithm)). - * Used by Leaflet to only show polygon points that are on the screen or near, increasing - * performance. Note that polygon points needs different algorithm for clipping - * than polyline, so there's a seperate method for it. - */ -function clipPolygon(points, bounds, round) { - var clippedPoints, - edges = [1, 4, 2, 8], - i, j, k, - a, b, - len, edge, p; - - for (i = 0, len = points.length; i < len; i++) { - points[i]._code = _getBitCode(points[i], bounds); - } - - // for each edge (left, bottom, right, top) - for (k = 0; k < 4; k++) { - edge = edges[k]; - clippedPoints = []; - - for (i = 0, len = points.length, j = len - 1; i < len; j = i++) { - a = points[i]; - b = points[j]; - - // if a is inside the clip window - if (!(a._code & edge)) { - // if b is outside the clip window (a->b goes out of screen) - if (b._code & edge) { - p = _getEdgeIntersection(b, a, edge, bounds, round); - p._code = _getBitCode(p, bounds); - clippedPoints.push(p); - } - clippedPoints.push(a); - - // else if b is inside the clip window (a->b enters the screen) - } else if (!(b._code & edge)) { - p = _getEdgeIntersection(b, a, edge, bounds, round); - p._code = _getBitCode(p, bounds); - clippedPoints.push(p); - } - } - points = clippedPoints; - } - - return points; -} - - -var PolyUtil = (Object.freeze || Object)({ - clipPolygon: clipPolygon -}); - -/* - * @namespace Projection - * @section - * Leaflet comes with a set of already defined Projections out of the box: - * - * @projection L.Projection.LonLat - * - * Equirectangular, or Plate Carree projection — the most simple projection, - * mostly used by GIS enthusiasts. Directly maps `x` as longitude, and `y` as - * latitude. Also suitable for flat worlds, e.g. game maps. Used by the - * `EPSG:4326` and `Simple` CRS. - */ - -var LonLat = { - project: function (latlng) { - return new Point(latlng.lng, latlng.lat); - }, - - unproject: function (point) { - return new LatLng(point.y, point.x); - }, - - bounds: new Bounds([-180, -90], [180, 90]) -}; - -/* - * @namespace Projection - * @projection L.Projection.Mercator - * - * Elliptical Mercator projection — more complex than Spherical Mercator. Takes into account that Earth is a geoid, not a perfect sphere. Used by the EPSG:3395 CRS. - */ - -var Mercator = { - R: 6378137, - R_MINOR: 6356752.314245179, - - bounds: new Bounds([-20037508.34279, -15496570.73972], [20037508.34279, 18764656.23138]), - - project: function (latlng) { - var d = Math.PI / 180, - r = this.R, - y = latlng.lat * d, - tmp = this.R_MINOR / r, - e = Math.sqrt(1 - tmp * tmp), - con = e * Math.sin(y); - - var ts = Math.tan(Math.PI / 4 - y / 2) / Math.pow((1 - con) / (1 + con), e / 2); - y = -r * Math.log(Math.max(ts, 1E-10)); - - return new Point(latlng.lng * d * r, y); - }, - - unproject: function (point) { - var d = 180 / Math.PI, - r = this.R, - tmp = this.R_MINOR / r, - e = Math.sqrt(1 - tmp * tmp), - ts = Math.exp(-point.y / r), - phi = Math.PI / 2 - 2 * Math.atan(ts); - - for (var i = 0, dphi = 0.1, con; i < 15 && Math.abs(dphi) > 1e-7; i++) { - con = e * Math.sin(phi); - con = Math.pow((1 - con) / (1 + con), e / 2); - dphi = Math.PI / 2 - 2 * Math.atan(ts * con) - phi; - phi += dphi; - } - - return new LatLng(phi * d, point.x * d / r); - } -}; - -/* - * @class Projection - - * An object with methods for projecting geographical coordinates of the world onto - * a flat surface (and back). See [Map projection](http://en.wikipedia.org/wiki/Map_projection). - - * @property bounds: Bounds - * The bounds (specified in CRS units) where the projection is valid - - * @method project(latlng: LatLng): Point - * Projects geographical coordinates into a 2D point. - * Only accepts actual `L.LatLng` instances, not arrays. - - * @method unproject(point: Point): LatLng - * The inverse of `project`. Projects a 2D point into a geographical location. - * Only accepts actual `L.Point` instances, not arrays. - - */ - - - - -var index = (Object.freeze || Object)({ - LonLat: LonLat, - Mercator: Mercator, - SphericalMercator: SphericalMercator -}); - -/* - * @namespace CRS - * @crs L.CRS.EPSG3395 - * - * Rarely used by some commercial tile providers. Uses Elliptical Mercator projection. - */ -var EPSG3395 = extend({}, Earth, { - code: 'EPSG:3395', - projection: Mercator, - - transformation: (function () { - var scale = 0.5 / (Math.PI * Mercator.R); - return toTransformation(scale, 0.5, -scale, 0.5); - }()) -}); - -/* - * @namespace CRS - * @crs L.CRS.EPSG4326 - * - * A common CRS among GIS enthusiasts. Uses simple Equirectangular projection. - * - * Leaflet 1.0.x complies with the [TMS coordinate scheme for EPSG:4326](https://wiki.osgeo.org/wiki/Tile_Map_Service_Specification#global-geodetic), - * which is a breaking change from 0.7.x behaviour. If you are using a `TileLayer` - * with this CRS, ensure that there are two 256x256 pixel tiles covering the - * whole earth at zoom level zero, and that the tile coordinate origin is (-180,+90), - * or (-180,-90) for `TileLayer`s with [the `tms` option](#tilelayer-tms) set. - */ - -var EPSG4326 = extend({}, Earth, { - code: 'EPSG:4326', - projection: LonLat, - transformation: toTransformation(1 / 180, 1, -1 / 180, 0.5) -}); - -/* - * @namespace CRS - * @crs L.CRS.Simple - * - * A simple CRS that maps longitude and latitude into `x` and `y` directly. - * May be used for maps of flat surfaces (e.g. game maps). Note that the `y` - * axis should still be inverted (going from bottom to top). `distance()` returns - * simple euclidean distance. - */ - -var Simple = extend({}, CRS, { - projection: LonLat, - transformation: toTransformation(1, 0, -1, 0), - - scale: function (zoom) { - return Math.pow(2, zoom); - }, - - zoom: function (scale) { - return Math.log(scale) / Math.LN2; - }, - - distance: function (latlng1, latlng2) { - var dx = latlng2.lng - latlng1.lng, - dy = latlng2.lat - latlng1.lat; - - return Math.sqrt(dx * dx + dy * dy); - }, - - infinite: true -}); - -CRS.Earth = Earth; -CRS.EPSG3395 = EPSG3395; -CRS.EPSG3857 = EPSG3857; -CRS.EPSG900913 = EPSG900913; -CRS.EPSG4326 = EPSG4326; -CRS.Simple = Simple; - -/* - * @class Layer - * @inherits Evented - * @aka L.Layer - * @aka ILayer - * - * A set of methods from the Layer base class that all Leaflet layers use. - * Inherits all methods, options and events from `L.Evented`. - * - * @example - * - * ```js - * var layer = L.Marker(latlng).addTo(map); - * layer.addTo(map); - * layer.remove(); - * ``` - * - * @event add: Event - * Fired after the layer is added to a map - * - * @event remove: Event - * Fired after the layer is removed from a map - */ - - -var Layer = Evented.extend({ - - // Classes extending `L.Layer` will inherit the following options: - options: { - // @option pane: String = 'overlayPane' - // By default the layer will be added to the map's [overlay pane](#map-overlaypane). Overriding this option will cause the layer to be placed on another pane by default. - pane: 'overlayPane', - - // @option attribution: String = null - // String to be shown in the attribution control, describes the layer data, e.g. "© Mapbox". - attribution: null, - - bubblingMouseEvents: true - }, - - /* @section - * Classes extending `L.Layer` will inherit the following methods: - * - * @method addTo(map: Map): this - * Adds the layer to the given map - */ - addTo: function (map) { - map.addLayer(this); - return this; - }, - - // @method remove: this - // Removes the layer from the map it is currently active on. - remove: function () { - return this.removeFrom(this._map || this._mapToAdd); - }, - - // @method removeFrom(map: Map): this - // Removes the layer from the given map - removeFrom: function (obj) { - if (obj) { - obj.removeLayer(this); - } - return this; - }, - - // @method getPane(name? : String): HTMLElement - // Returns the `HTMLElement` representing the named pane on the map. If `name` is omitted, returns the pane for this layer. - getPane: function (name) { - return this._map.getPane(name ? (this.options[name] || name) : this.options.pane); - }, - - addInteractiveTarget: function (targetEl) { - this._map._targets[stamp(targetEl)] = this; - return this; - }, - - removeInteractiveTarget: function (targetEl) { - delete this._map._targets[stamp(targetEl)]; - return this; - }, - - // @method getAttribution: String - // Used by the `attribution control`, returns the [attribution option](#gridlayer-attribution). - getAttribution: function () { - return this.options.attribution; - }, - - _layerAdd: function (e) { - var map = e.target; - - // check in case layer gets added and then removed before the map is ready - if (!map.hasLayer(this)) { return; } - - this._map = map; - this._zoomAnimated = map._zoomAnimated; - - if (this.getEvents) { - var events = this.getEvents(); - map.on(events, this); - this.once('remove', function () { - map.off(events, this); - }, this); - } - - this.onAdd(map); - - if (this.getAttribution && map.attributionControl) { - map.attributionControl.addAttribution(this.getAttribution()); - } - - this.fire('add'); - map.fire('layeradd', {layer: this}); - } -}); - -/* @section Extension methods - * @uninheritable - * - * Every layer should extend from `L.Layer` and (re-)implement the following methods. - * - * @method onAdd(map: Map): this - * Should contain code that creates DOM elements for the layer, adds them to `map panes` where they should belong and puts listeners on relevant map events. Called on [`map.addLayer(layer)`](#map-addlayer). - * - * @method onRemove(map: Map): this - * Should contain all clean up code that removes the layer's elements from the DOM and removes listeners previously added in [`onAdd`](#layer-onadd). Called on [`map.removeLayer(layer)`](#map-removelayer). - * - * @method getEvents(): Object - * This optional method should return an object like `{ viewreset: this._reset }` for [`addEventListener`](#evented-addeventlistener). The event handlers in this object will be automatically added and removed from the map with your layer. - * - * @method getAttribution(): String - * This optional method should return a string containing HTML to be shown on the `Attribution control` whenever the layer is visible. - * - * @method beforeAdd(map: Map): this - * Optional method. Called on [`map.addLayer(layer)`](#map-addlayer), before the layer is added to the map, before events are initialized, without waiting until the map is in a usable state. Use for early initialization only. - */ - - -/* @namespace Map - * @section Layer events - * - * @event layeradd: LayerEvent - * Fired when a new layer is added to the map. - * - * @event layerremove: LayerEvent - * Fired when some layer is removed from the map - * - * @section Methods for Layers and Controls - */ -Map.include({ - // @method addLayer(layer: Layer): this - // Adds the given layer to the map - addLayer: function (layer) { - var id = stamp(layer); - if (this._layers[id]) { return this; } - this._layers[id] = layer; - - layer._mapToAdd = this; - - if (layer.beforeAdd) { - layer.beforeAdd(this); - } - - this.whenReady(layer._layerAdd, layer); - - return this; - }, - - // @method removeLayer(layer: Layer): this - // Removes the given layer from the map. - removeLayer: function (layer) { - var id = stamp(layer); - - if (!this._layers[id]) { return this; } - - if (this._loaded) { - layer.onRemove(this); - } - - if (layer.getAttribution && this.attributionControl) { - this.attributionControl.removeAttribution(layer.getAttribution()); - } - - delete this._layers[id]; - - if (this._loaded) { - this.fire('layerremove', {layer: layer}); - layer.fire('remove'); - } - - layer._map = layer._mapToAdd = null; - - return this; - }, - - // @method hasLayer(layer: Layer): Boolean - // Returns `true` if the given layer is currently added to the map - hasLayer: function (layer) { - return !!layer && (stamp(layer) in this._layers); - }, - - /* @method eachLayer(fn: Function, context?: Object): this - * Iterates over the layers of the map, optionally specifying context of the iterator function. - * ``` - * map.eachLayer(function(layer){ - * layer.bindPopup('Hello'); - * }); - * ``` - */ - eachLayer: function (method, context) { - for (var i in this._layers) { - method.call(context, this._layers[i]); - } - return this; - }, - - _addLayers: function (layers) { - layers = layers ? (isArray(layers) ? layers : [layers]) : []; - - for (var i = 0, len = layers.length; i < len; i++) { - this.addLayer(layers[i]); - } - }, - - _addZoomLimit: function (layer) { - if (isNaN(layer.options.maxZoom) || !isNaN(layer.options.minZoom)) { - this._zoomBoundLayers[stamp(layer)] = layer; - this._updateZoomLevels(); - } - }, - - _removeZoomLimit: function (layer) { - var id = stamp(layer); - - if (this._zoomBoundLayers[id]) { - delete this._zoomBoundLayers[id]; - this._updateZoomLevels(); - } - }, - - _updateZoomLevels: function () { - var minZoom = Infinity, - maxZoom = -Infinity, - oldZoomSpan = this._getZoomSpan(); - - for (var i in this._zoomBoundLayers) { - var options = this._zoomBoundLayers[i].options; - - minZoom = options.minZoom === undefined ? minZoom : Math.min(minZoom, options.minZoom); - maxZoom = options.maxZoom === undefined ? maxZoom : Math.max(maxZoom, options.maxZoom); - } - - this._layersMaxZoom = maxZoom === -Infinity ? undefined : maxZoom; - this._layersMinZoom = minZoom === Infinity ? undefined : minZoom; - - // @section Map state change events - // @event zoomlevelschange: Event - // Fired when the number of zoomlevels on the map is changed due - // to adding or removing a layer. - if (oldZoomSpan !== this._getZoomSpan()) { - this.fire('zoomlevelschange'); - } - - if (this.options.maxZoom === undefined && this._layersMaxZoom && this.getZoom() > this._layersMaxZoom) { - this.setZoom(this._layersMaxZoom); - } - if (this.options.minZoom === undefined && this._layersMinZoom && this.getZoom() < this._layersMinZoom) { - this.setZoom(this._layersMinZoom); - } - } -}); - -/* - * @class LayerGroup - * @aka L.LayerGroup - * @inherits Layer - * - * Used to group several layers and handle them as one. If you add it to the map, - * any layers added or removed from the group will be added/removed on the map as - * well. Extends `Layer`. - * - * @example - * - * ```js - * L.layerGroup([marker1, marker2]) - * .addLayer(polyline) - * .addTo(map); - * ``` - */ - -var LayerGroup = Layer.extend({ - - initialize: function (layers) { - this._layers = {}; - - var i, len; - - if (layers) { - for (i = 0, len = layers.length; i < len; i++) { - this.addLayer(layers[i]); - } - } - }, - - // @method addLayer(layer: Layer): this - // Adds the given layer to the group. - addLayer: function (layer) { - var id = this.getLayerId(layer); - - this._layers[id] = layer; - - if (this._map) { - this._map.addLayer(layer); - } - - return this; - }, - - // @method removeLayer(layer: Layer): this - // Removes the given layer from the group. - // @alternative - // @method removeLayer(id: Number): this - // Removes the layer with the given internal ID from the group. - removeLayer: function (layer) { - var id = layer in this._layers ? layer : this.getLayerId(layer); - - if (this._map && this._layers[id]) { - this._map.removeLayer(this._layers[id]); - } - - delete this._layers[id]; - - return this; - }, - - // @method hasLayer(layer: Layer): Boolean - // Returns `true` if the given layer is currently added to the group. - // @alternative - // @method hasLayer(id: Number): Boolean - // Returns `true` if the given internal ID is currently added to the group. - hasLayer: function (layer) { - return !!layer && (layer in this._layers || this.getLayerId(layer) in this._layers); - }, - - // @method clearLayers(): this - // Removes all the layers from the group. - clearLayers: function () { - for (var i in this._layers) { - this.removeLayer(this._layers[i]); - } - return this; - }, - - // @method invoke(methodName: String, …): this - // Calls `methodName` on every layer contained in this group, passing any - // additional parameters. Has no effect if the layers contained do not - // implement `methodName`. - invoke: function (methodName) { - var args = Array.prototype.slice.call(arguments, 1), - i, layer; - - for (i in this._layers) { - layer = this._layers[i]; - - if (layer[methodName]) { - layer[methodName].apply(layer, args); - } - } - - return this; - }, - - onAdd: function (map) { - for (var i in this._layers) { - map.addLayer(this._layers[i]); - } - }, - - onRemove: function (map) { - for (var i in this._layers) { - map.removeLayer(this._layers[i]); - } - }, - - // @method eachLayer(fn: Function, context?: Object): this - // Iterates over the layers of the group, optionally specifying context of the iterator function. - // ```js - // group.eachLayer(function (layer) { - // layer.bindPopup('Hello'); - // }); - // ``` - eachLayer: function (method, context) { - for (var i in this._layers) { - method.call(context, this._layers[i]); - } - return this; - }, - - // @method getLayer(id: Number): Layer - // Returns the layer with the given internal ID. - getLayer: function (id) { - return this._layers[id]; - }, - - // @method getLayers(): Layer[] - // Returns an array of all the layers added to the group. - getLayers: function () { - var layers = []; - - for (var i in this._layers) { - layers.push(this._layers[i]); - } - return layers; - }, - - // @method setZIndex(zIndex: Number): this - // Calls `setZIndex` on every layer contained in this group, passing the z-index. - setZIndex: function (zIndex) { - return this.invoke('setZIndex', zIndex); - }, - - // @method getLayerId(layer: Layer): Number - // Returns the internal ID for a layer - getLayerId: function (layer) { - return stamp(layer); - } -}); - - -// @factory L.layerGroup(layers: Layer[]) -// Create a layer group, optionally given an initial set of layers. -var layerGroup = function (layers) { - return new LayerGroup(layers); -}; - -/* - * @class FeatureGroup - * @aka L.FeatureGroup - * @inherits LayerGroup - * - * Extended `LayerGroup` that makes it easier to do the same thing to all its member layers: - * * [`bindPopup`](#layer-bindpopup) binds a popup to all of the layers at once (likewise with [`bindTooltip`](#layer-bindtooltip)) - * * Events are propagated to the `FeatureGroup`, so if the group has an event - * handler, it will handle events from any of the layers. This includes mouse events - * and custom events. - * * Has `layeradd` and `layerremove` events - * - * @example - * - * ```js - * L.featureGroup([marker1, marker2, polyline]) - * .bindPopup('Hello world!') - * .on('click', function() { alert('Clicked on a member of the group!'); }) - * .addTo(map); - * ``` - */ - -var FeatureGroup = LayerGroup.extend({ - - addLayer: function (layer) { - if (this.hasLayer(layer)) { - return this; - } - - layer.addEventParent(this); - - LayerGroup.prototype.addLayer.call(this, layer); - - // @event layeradd: LayerEvent - // Fired when a layer is added to this `FeatureGroup` - return this.fire('layeradd', {layer: layer}); - }, - - removeLayer: function (layer) { - if (!this.hasLayer(layer)) { - return this; - } - if (layer in this._layers) { - layer = this._layers[layer]; - } - - layer.removeEventParent(this); - - LayerGroup.prototype.removeLayer.call(this, layer); - - // @event layerremove: LayerEvent - // Fired when a layer is removed from this `FeatureGroup` - return this.fire('layerremove', {layer: layer}); - }, - - // @method setStyle(style: Path options): this - // Sets the given path options to each layer of the group that has a `setStyle` method. - setStyle: function (style) { - return this.invoke('setStyle', style); - }, - - // @method bringToFront(): this - // Brings the layer group to the top of all other layers - bringToFront: function () { - return this.invoke('bringToFront'); - }, - - // @method bringToBack(): this - // Brings the layer group to the top of all other layers - bringToBack: function () { - return this.invoke('bringToBack'); - }, - - // @method getBounds(): LatLngBounds - // Returns the LatLngBounds of the Feature Group (created from bounds and coordinates of its children). - getBounds: function () { - var bounds = new LatLngBounds(); - - for (var id in this._layers) { - var layer = this._layers[id]; - bounds.extend(layer.getBounds ? layer.getBounds() : layer.getLatLng()); - } - return bounds; - } -}); - -// @factory L.featureGroup(layers: Layer[]) -// Create a feature group, optionally given an initial set of layers. -var featureGroup = function (layers) { - return new FeatureGroup(layers); -}; - -/* - * @class Icon - * @aka L.Icon - * - * Represents an icon to provide when creating a marker. - * - * @example - * - * ```js - * var myIcon = L.icon({ - * iconUrl: 'my-icon.png', - * iconRetinaUrl: 'my-icon@2x.png', - * iconSize: [38, 95], - * iconAnchor: [22, 94], - * popupAnchor: [-3, -76], - * shadowUrl: 'my-icon-shadow.png', - * shadowRetinaUrl: 'my-icon-shadow@2x.png', - * shadowSize: [68, 95], - * shadowAnchor: [22, 94] - * }); - * - * L.marker([50.505, 30.57], {icon: myIcon}).addTo(map); - * ``` - * - * `L.Icon.Default` extends `L.Icon` and is the blue icon Leaflet uses for markers by default. - * - */ - -var Icon = Class.extend({ - - /* @section - * @aka Icon options - * - * @option iconUrl: String = null - * **(required)** The URL to the icon image (absolute or relative to your script path). - * - * @option iconRetinaUrl: String = null - * The URL to a retina sized version of the icon image (absolute or relative to your - * script path). Used for Retina screen devices. - * - * @option iconSize: Point = null - * Size of the icon image in pixels. - * - * @option iconAnchor: Point = null - * The coordinates of the "tip" of the icon (relative to its top left corner). The icon - * will be aligned so that this point is at the marker's geographical location. Centered - * by default if size is specified, also can be set in CSS with negative margins. - * - * @option popupAnchor: Point = null - * The coordinates of the point from which popups will "open", relative to the icon anchor. - * - * @option shadowUrl: String = null - * The URL to the icon shadow image. If not specified, no shadow image will be created. - * - * @option shadowRetinaUrl: String = null - * - * @option shadowSize: Point = null - * Size of the shadow image in pixels. - * - * @option shadowAnchor: Point = null - * The coordinates of the "tip" of the shadow (relative to its top left corner) (the same - * as iconAnchor if not specified). - * - * @option className: String = '' - * A custom class name to assign to both icon and shadow images. Empty by default. - */ - - initialize: function (options) { - setOptions(this, options); - }, - - // @method createIcon(oldIcon?: HTMLElement): HTMLElement - // Called internally when the icon has to be shown, returns a `` HTML element - // styled according to the options. - createIcon: function (oldIcon) { - return this._createIcon('icon', oldIcon); - }, - - // @method createShadow(oldIcon?: HTMLElement): HTMLElement - // As `createIcon`, but for the shadow beneath it. - createShadow: function (oldIcon) { - return this._createIcon('shadow', oldIcon); - }, - - _createIcon: function (name, oldIcon) { - var src = this._getIconUrl(name); - - if (!src) { - if (name === 'icon') { - throw new Error('iconUrl not set in Icon options (see the docs).'); - } - return null; - } - - var img = this._createImg(src, oldIcon && oldIcon.tagName === 'IMG' ? oldIcon : null); - this._setIconStyles(img, name); - - return img; - }, - - _setIconStyles: function (img, name) { - var options = this.options; - var sizeOption = options[name + 'Size']; - - if (typeof sizeOption === 'number') { - sizeOption = [sizeOption, sizeOption]; - } - - var size = toPoint(sizeOption), - anchor = toPoint(name === 'shadow' && options.shadowAnchor || options.iconAnchor || - size && size.divideBy(2, true)); - - img.className = 'leaflet-marker-' + name + ' ' + (options.className || ''); - - if (anchor) { - img.style.marginLeft = (-anchor.x) + 'px'; - img.style.marginTop = (-anchor.y) + 'px'; - } - - if (size) { - img.style.width = size.x + 'px'; - img.style.height = size.y + 'px'; - } - }, - - _createImg: function (src, el) { - el = el || document.createElement('img'); - el.src = src; - return el; - }, - - _getIconUrl: function (name) { - return retina && this.options[name + 'RetinaUrl'] || this.options[name + 'Url']; - } -}); - - -// @factory L.icon(options: Icon options) -// Creates an icon instance with the given options. -function icon(options) { - return new Icon(options); -} - -/* - * @miniclass Icon.Default (Icon) - * @aka L.Icon.Default - * @section - * - * A trivial subclass of `Icon`, represents the icon to use in `Marker`s when - * no icon is specified. Points to the blue marker image distributed with Leaflet - * releases. - * - * In order to customize the default icon, just change the properties of `L.Icon.Default.prototype.options` - * (which is a set of `Icon options`). - * - * If you want to _completely_ replace the default icon, override the - * `L.Marker.prototype.options.icon` with your own icon instead. - */ - -var IconDefault = Icon.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 (name) { - if (!IconDefault.imagePath) { // Deprecated, backwards-compatibility only - IconDefault.imagePath = this._detectIconPath(); - } - - // @option imagePath: String - // `Icon.Default` will try to auto-detect the absolute location of the - // blue icon images. If you are placing these images in a non-standard - // way, set this option to point to the right absolute path. - return (this.options.imagePath || IconDefault.imagePath) + Icon.prototype._getIconUrl.call(this, name); - }, - - _detectIconPath: function () { - var el = create$1('div', 'leaflet-default-icon-path', document.body); - var path = getStyle(el, 'background-image') || - getStyle(el, 'backgroundImage'); // IE8 - - document.body.removeChild(el); - - if (path === null || path.indexOf('url') !== 0) { - path = ''; - } else { - path = path.replace(/^url\([\"\']?/, '').replace(/marker-icon\.png[\"\']?\)$/, ''); - } - - return path; - } -}); - -/* - * L.Handler.MarkerDrag is used internally by L.Marker to make the markers draggable. - */ - - -/* @namespace Marker - * @section Interaction handlers - * - * Interaction handlers are properties of a marker instance that allow you to control interaction behavior in runtime, enabling or disabling certain features such as dragging (see `Handler` methods). Example: - * - * ```js - * marker.dragging.disable(); - * ``` - * - * @property dragging: Handler - * Marker dragging handler (by both mouse and touch). Only valid when the marker is on the map (Otherwise set [`marker.options.draggable`](#marker-draggable)). - */ - -var MarkerDrag = Handler.extend({ - initialize: function (marker) { - this._marker = marker; - }, - - addHooks: function () { - var icon = this._marker._icon; - - if (!this._draggable) { - this._draggable = new Draggable(icon, icon, true); - } - - this._draggable.on({ - dragstart: this._onDragStart, - drag: this._onDrag, - dragend: this._onDragEnd - }, this).enable(); - - addClass(icon, 'leaflet-marker-draggable'); - }, - - removeHooks: function () { - this._draggable.off({ - dragstart: this._onDragStart, - drag: this._onDrag, - dragend: this._onDragEnd - }, this).disable(); - - if (this._marker._icon) { - removeClass(this._marker._icon, 'leaflet-marker-draggable'); - } - }, - - moved: function () { - return this._draggable && this._draggable._moved; - }, - - _onDragStart: function () { - // @section Dragging events - // @event dragstart: Event - // Fired when the user starts dragging the marker. - - // @event movestart: Event - // Fired when the marker starts moving (because of dragging). - - this._oldLatLng = this._marker.getLatLng(); - this._marker - .closePopup() - .fire('movestart') - .fire('dragstart'); - }, - - _onDrag: function (e) { - var marker = this._marker, - shadow = marker._shadow, - iconPos = getPosition(marker._icon), - latlng = marker._map.layerPointToLatLng(iconPos); - - // update shadow position - if (shadow) { - setPosition(shadow, iconPos); - } - - marker._latlng = latlng; - e.latlng = latlng; - e.oldLatLng = this._oldLatLng; - - // @event drag: Event - // Fired repeatedly while the user drags the marker. - marker - .fire('move', e) - .fire('drag', e); - }, - - _onDragEnd: function (e) { - // @event dragend: DragEndEvent - // Fired when the user stops dragging the marker. - - // @event moveend: Event - // Fired when the marker stops moving (because of dragging). - delete this._oldLatLng; - this._marker - .fire('moveend') - .fire('dragend', e); - } -}); - -/* - * @class Marker - * @inherits Interactive layer - * @aka L.Marker - * L.Marker is used to display clickable/draggable icons on the map. Extends `Layer`. - * - * @example - * - * ```js - * L.marker([50.5, 30.5]).addTo(map); - * ``` - */ - -var Marker = Layer.extend({ - - // @section - // @aka Marker options - options: { - // @option icon: Icon = * - // Icon instance to use for rendering the marker. - // See [Icon documentation](#L.Icon) for details on how to customize the marker icon. - // If not specified, a common instance of `L.Icon.Default` is used. - icon: new IconDefault(), - - // Option inherited from "Interactive layer" abstract class - interactive: true, - - // @option draggable: Boolean = false - // Whether the marker is draggable with mouse/touch or not. - draggable: false, - - // @option keyboard: Boolean = true - // Whether the marker can be tabbed to with a keyboard and clicked by pressing enter. - keyboard: true, - - // @option title: String = '' - // Text for the browser tooltip that appear on marker hover (no tooltip by default). - title: '', - - // @option alt: String = '' - // Text for the `alt` attribute of the icon image (useful for accessibility). - alt: '', - - // @option zIndexOffset: Number = 0 - // By default, marker images zIndex is set automatically based on its latitude. Use this option if you want to put the marker on top of all others (or below), specifying a high value like `1000` (or high negative value, respectively). - zIndexOffset: 0, - - // @option opacity: Number = 1.0 - // The opacity of the marker. - opacity: 1, - - // @option riseOnHover: Boolean = false - // If `true`, the marker will get on top of others when you hover the mouse over it. - riseOnHover: false, - - // @option riseOffset: Number = 250 - // The z-index offset used for the `riseOnHover` feature. - riseOffset: 250, - - // @option pane: String = 'markerPane' - // `Map pane` where the markers icon will be added. - pane: 'markerPane', - - // @option bubblingMouseEvents: Boolean = false - // When `true`, a mouse event on this marker will trigger the same event on the map - // (unless [`L.DomEvent.stopPropagation`](#domevent-stoppropagation) is used). - bubblingMouseEvents: false - }, - - /* @section - * - * In addition to [shared layer methods](#Layer) like `addTo()` and `remove()` and [popup methods](#Popup) like bindPopup() you can also use the following methods: - */ - - initialize: function (latlng, options) { - setOptions(this, options); - this._latlng = toLatLng(latlng); - }, - - onAdd: function (map) { - this._zoomAnimated = this._zoomAnimated && map.options.markerZoomAnimation; - - if (this._zoomAnimated) { - map.on('zoomanim', this._animateZoom, this); - } - - this._initIcon(); - this.update(); - }, - - onRemove: function (map) { - if (this.dragging && this.dragging.enabled()) { - this.options.draggable = true; - this.dragging.removeHooks(); - } - delete this.dragging; - - if (this._zoomAnimated) { - map.off('zoomanim', this._animateZoom, this); - } - - this._removeIcon(); - this._removeShadow(); - }, - - getEvents: function () { - return { - zoom: this.update, - viewreset: this.update - }; - }, - - // @method getLatLng: LatLng - // Returns the current geographical position of the marker. - getLatLng: function () { - return this._latlng; - }, - - // @method setLatLng(latlng: LatLng): this - // Changes the marker position to the given point. - setLatLng: function (latlng) { - var oldLatLng = this._latlng; - this._latlng = toLatLng(latlng); - this.update(); - - // @event move: Event - // Fired when the marker is moved via [`setLatLng`](#marker-setlatlng) or by [dragging](#marker-dragging). Old and new coordinates are included in event arguments as `oldLatLng`, `latlng`. - return this.fire('move', {oldLatLng: oldLatLng, latlng: this._latlng}); - }, - - // @method setZIndexOffset(offset: Number): this - // Changes the [zIndex offset](#marker-zindexoffset) of the marker. - setZIndexOffset: function (offset) { - this.options.zIndexOffset = offset; - return this.update(); - }, - - // @method setIcon(icon: Icon): this - // Changes the marker icon. - setIcon: function (icon) { - - this.options.icon = icon; - - if (this._map) { - this._initIcon(); - this.update(); - } - - if (this._popup) { - this.bindPopup(this._popup, this._popup.options); - } - - return this; - }, - - getElement: function () { - return this._icon; - }, - - update: function () { - - if (this._icon) { - var pos = this._map.latLngToLayerPoint(this._latlng).round(); - this._setPos(pos); - } - - return this; - }, - - _initIcon: function () { - var options = this.options, - classToAdd = 'leaflet-zoom-' + (this._zoomAnimated ? 'animated' : 'hide'); - - var icon = options.icon.createIcon(this._icon), - addIcon = false; - - // if we're not reusing the icon, remove the old one and init new one - if (icon !== this._icon) { - if (this._icon) { - this._removeIcon(); - } - addIcon = true; - - if (options.title) { - icon.title = options.title; - } - if (options.alt) { - icon.alt = options.alt; - } - } - - addClass(icon, classToAdd); - - if (options.keyboard) { - icon.tabIndex = '0'; - } - - this._icon = icon; - - if (options.riseOnHover) { - this.on({ - mouseover: this._bringToFront, - mouseout: this._resetZIndex - }); - } - - var newShadow = options.icon.createShadow(this._shadow), - addShadow = false; - - if (newShadow !== this._shadow) { - this._removeShadow(); - addShadow = true; - } - - if (newShadow) { - addClass(newShadow, classToAdd); - newShadow.alt = ''; - } - this._shadow = newShadow; - - - if (options.opacity < 1) { - this._updateOpacity(); - } - - - if (addIcon) { - this.getPane().appendChild(this._icon); - } - this._initInteraction(); - if (newShadow && addShadow) { - this.getPane('shadowPane').appendChild(this._shadow); - } - }, - - _removeIcon: function () { - if (this.options.riseOnHover) { - this.off({ - mouseover: this._bringToFront, - mouseout: this._resetZIndex - }); - } - - remove(this._icon); - this.removeInteractiveTarget(this._icon); - - this._icon = null; - }, - - _removeShadow: function () { - if (this._shadow) { - remove(this._shadow); - } - this._shadow = null; - }, - - _setPos: function (pos) { - setPosition(this._icon, pos); - - if (this._shadow) { - setPosition(this._shadow, pos); - } - - this._zIndex = pos.y + this.options.zIndexOffset; - - this._resetZIndex(); - }, - - _updateZIndex: function (offset) { - this._icon.style.zIndex = this._zIndex + offset; - }, - - _animateZoom: function (opt) { - var pos = this._map._latLngToNewLayerPoint(this._latlng, opt.zoom, opt.center).round(); - - this._setPos(pos); - }, - - _initInteraction: function () { - - if (!this.options.interactive) { return; } - - addClass(this._icon, 'leaflet-interactive'); - - this.addInteractiveTarget(this._icon); - - if (MarkerDrag) { - var draggable = this.options.draggable; - if (this.dragging) { - draggable = this.dragging.enabled(); - this.dragging.disable(); - } - - this.dragging = new MarkerDrag(this); - - if (draggable) { - this.dragging.enable(); - } - } - }, - - // @method setOpacity(opacity: Number): this - // Changes the opacity of the marker. - setOpacity: function (opacity) { - this.options.opacity = opacity; - if (this._map) { - this._updateOpacity(); - } - - return this; - }, - - _updateOpacity: function () { - var opacity = this.options.opacity; - - setOpacity(this._icon, opacity); - - if (this._shadow) { - setOpacity(this._shadow, opacity); - } - }, - - _bringToFront: function () { - this._updateZIndex(this.options.riseOffset); - }, - - _resetZIndex: function () { - this._updateZIndex(0); - }, - - _getPopupAnchor: function () { - return this.options.icon.options.popupAnchor || [0, 0]; - }, - - _getTooltipAnchor: function () { - return this.options.icon.options.tooltipAnchor || [0, 0]; - } -}); - - -// factory L.marker(latlng: LatLng, options? : Marker options) - -// @factory L.marker(latlng: LatLng, options? : Marker options) -// Instantiates a Marker object given a geographical point and optionally an options object. -function marker(latlng, options) { - return new Marker(latlng, options); -} - -/* - * @class Path - * @aka L.Path - * @inherits Interactive layer - * - * An abstract class that contains options and constants shared between vector - * overlays (Polygon, Polyline, Circle). Do not use it directly. Extends `Layer`. - */ - -var Path = Layer.extend({ - - // @section - // @aka Path options - options: { - // @option stroke: Boolean = true - // Whether to draw stroke along the path. Set it to `false` to disable borders on polygons or circles. - stroke: true, - - // @option color: String = '#3388ff' - // Stroke color - color: '#3388ff', - - // @option weight: Number = 3 - // Stroke width in pixels - weight: 3, - - // @option opacity: Number = 1.0 - // Stroke opacity - opacity: 1, - - // @option lineCap: String= 'round' - // A string that defines [shape to be used at the end](https://developer.mozilla.org/docs/Web/SVG/Attribute/stroke-linecap) of the stroke. - lineCap: 'round', - - // @option lineJoin: String = 'round' - // A string that defines [shape to be used at the corners](https://developer.mozilla.org/docs/Web/SVG/Attribute/stroke-linejoin) of the stroke. - lineJoin: 'round', - - // @option dashArray: String = null - // A string that defines the stroke [dash pattern](https://developer.mozilla.org/docs/Web/SVG/Attribute/stroke-dasharray). Doesn't work on `Canvas`-powered layers in [some old browsers](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/setLineDash#Browser_compatibility). - dashArray: null, - - // @option dashOffset: String = null - // A string that defines the [distance into the dash pattern to start the dash](https://developer.mozilla.org/docs/Web/SVG/Attribute/stroke-dashoffset). Doesn't work on `Canvas`-powered layers in [some old browsers](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/setLineDash#Browser_compatibility). - dashOffset: null, - - // @option fill: Boolean = depends - // Whether to fill the path with color. Set it to `false` to disable filling on polygons or circles. - fill: false, - - // @option fillColor: String = * - // Fill color. Defaults to the value of the [`color`](#path-color) option - fillColor: null, - - // @option fillOpacity: Number = 0.2 - // Fill opacity. - fillOpacity: 0.2, - - // @option fillRule: String = 'evenodd' - // A string that defines [how the inside of a shape](https://developer.mozilla.org/docs/Web/SVG/Attribute/fill-rule) is determined. - fillRule: 'evenodd', - - // className: '', - - // Option inherited from "Interactive layer" abstract class - interactive: true, - - // @option bubblingMouseEvents: Boolean = true - // When `true`, a mouse event on this path will trigger the same event on the map - // (unless [`L.DomEvent.stopPropagation`](#domevent-stoppropagation) is used). - bubblingMouseEvents: true - }, - - beforeAdd: function (map) { - // Renderer is set here because we need to call renderer.getEvents - // before this.getEvents. - this._renderer = map.getRenderer(this); - }, - - onAdd: function () { - this._renderer._initPath(this); - this._reset(); - this._renderer._addPath(this); - }, - - onRemove: function () { - this._renderer._removePath(this); - }, - - // @method redraw(): this - // Redraws the layer. Sometimes useful after you changed the coordinates that the path uses. - redraw: function () { - if (this._map) { - this._renderer._updatePath(this); - } - return this; - }, - - // @method setStyle(style: Path options): this - // Changes the appearance of a Path based on the options in the `Path options` object. - setStyle: function (style) { - setOptions(this, style); - if (this._renderer) { - this._renderer._updateStyle(this); - } - return this; - }, - - // @method bringToFront(): this - // Brings the layer to the top of all path layers. - bringToFront: function () { - if (this._renderer) { - this._renderer._bringToFront(this); - } - return this; - }, - - // @method bringToBack(): this - // Brings the layer to the bottom of all path layers. - bringToBack: function () { - if (this._renderer) { - this._renderer._bringToBack(this); - } - return this; - }, - - getElement: function () { - return this._path; - }, - - _reset: function () { - // defined in child classes - this._project(); - this._update(); - }, - - _clickTolerance: function () { - // used when doing hit detection for Canvas layers - return (this.options.stroke ? this.options.weight / 2 : 0) + (touch ? 10 : 0); - } -}); - -/* - * @class CircleMarker - * @aka L.CircleMarker - * @inherits Path - * - * A circle of a fixed size with radius specified in pixels. Extends `Path`. - */ - -var CircleMarker = Path.extend({ - - // @section - // @aka CircleMarker options - options: { - fill: true, - - // @option radius: Number = 10 - // Radius of the circle marker, in pixels - radius: 10 - }, - - initialize: function (latlng, options) { - setOptions(this, options); - this._latlng = toLatLng(latlng); - this._radius = this.options.radius; - }, - - // @method setLatLng(latLng: LatLng): this - // Sets the position of a circle marker to a new location. - setLatLng: function (latlng) { - this._latlng = toLatLng(latlng); - this.redraw(); - return this.fire('move', {latlng: this._latlng}); - }, - - // @method getLatLng(): LatLng - // Returns the current geographical position of the circle marker - getLatLng: function () { - return this._latlng; - }, - - // @method setRadius(radius: Number): this - // Sets the radius of a circle marker. Units are in pixels. - setRadius: function (radius) { - this.options.radius = this._radius = radius; - return this.redraw(); - }, - - // @method getRadius(): Number - // Returns the current radius of the circle - getRadius: function () { - return this._radius; - }, - - setStyle : function (options) { - var radius = options && options.radius || this._radius; - Path.prototype.setStyle.call(this, options); - this.setRadius(radius); - return this; - }, - - _project: function () { - this._point = this._map.latLngToLayerPoint(this._latlng); - this._updateBounds(); - }, - - _updateBounds: function () { - var r = this._radius, - r2 = this._radiusY || r, - w = this._clickTolerance(), - p = [r + w, r2 + w]; - this._pxBounds = new Bounds(this._point.subtract(p), this._point.add(p)); - }, - - _update: function () { - if (this._map) { - this._updatePath(); - } - }, - - _updatePath: function () { - this._renderer._updateCircle(this); - }, - - _empty: function () { - return this._radius && !this._renderer._bounds.intersects(this._pxBounds); - }, - - // Needed by the `Canvas` renderer for interactivity - _containsPoint: function (p) { - return p.distanceTo(this._point) <= this._radius + this._clickTolerance(); - } -}); - - -// @factory L.circleMarker(latlng: LatLng, options?: CircleMarker options) -// Instantiates a circle marker object given a geographical point, and an optional options object. -function circleMarker(latlng, options) { - return new CircleMarker(latlng, options); -} - -/* - * @class Circle - * @aka L.Circle - * @inherits CircleMarker - * - * A class for drawing circle overlays on a map. Extends `CircleMarker`. - * - * It's an approximation and starts to diverge from a real circle closer to poles (due to projection distortion). - * - * @example - * - * ```js - * L.circle([50.5, 30.5], {radius: 200}).addTo(map); - * ``` - */ - -var Circle = CircleMarker.extend({ - - initialize: function (latlng, options, legacyOptions) { - if (typeof options === 'number') { - // Backwards compatibility with 0.7.x factory (latlng, radius, options?) - options = extend({}, legacyOptions, {radius: options}); - } - setOptions(this, options); - this._latlng = toLatLng(latlng); - - if (isNaN(this.options.radius)) { throw new Error('Circle radius cannot be NaN'); } - - // @section - // @aka Circle options - // @option radius: Number; Radius of the circle, in meters. - this._mRadius = this.options.radius; - }, - - // @method setRadius(radius: Number): this - // Sets the radius of a circle. Units are in meters. - setRadius: function (radius) { - this._mRadius = radius; - return this.redraw(); - }, - - // @method getRadius(): Number - // Returns the current radius of a circle. Units are in meters. - getRadius: function () { - return this._mRadius; - }, - - // @method getBounds(): LatLngBounds - // Returns the `LatLngBounds` of the path. - getBounds: function () { - var half = [this._radius, this._radiusY || this._radius]; - - return new LatLngBounds( - this._map.layerPointToLatLng(this._point.subtract(half)), - this._map.layerPointToLatLng(this._point.add(half))); - }, - - setStyle: Path.prototype.setStyle, - - _project: function () { - - var lng = this._latlng.lng, - lat = this._latlng.lat, - map = this._map, - crs = map.options.crs; - - if (crs.distance === Earth.distance) { - var d = Math.PI / 180, - latR = (this._mRadius / Earth.R) / d, - top = map.project([lat + latR, lng]), - bottom = map.project([lat - latR, lng]), - p = top.add(bottom).divideBy(2), - lat2 = map.unproject(p).lat, - lngR = Math.acos((Math.cos(latR * d) - Math.sin(lat * d) * Math.sin(lat2 * d)) / - (Math.cos(lat * d) * Math.cos(lat2 * d))) / d; - - if (isNaN(lngR) || lngR === 0) { - lngR = latR / Math.cos(Math.PI / 180 * lat); // Fallback for edge case, #2425 - } - - this._point = p.subtract(map.getPixelOrigin()); - this._radius = isNaN(lngR) ? 0 : Math.max(Math.round(p.x - map.project([lat2, lng - lngR]).x), 1); - this._radiusY = Math.max(Math.round(p.y - top.y), 1); - - } else { - var latlng2 = crs.unproject(crs.project(this._latlng).subtract([this._mRadius, 0])); - - this._point = map.latLngToLayerPoint(this._latlng); - this._radius = this._point.x - map.latLngToLayerPoint(latlng2).x; - } - - this._updateBounds(); - } -}); - -// @factory L.circle(latlng: LatLng, options?: Circle options) -// Instantiates a circle object given a geographical point, and an options object -// which contains the circle radius. -// @alternative -// @factory L.circle(latlng: LatLng, radius: Number, options?: Circle options) -// Obsolete way of instantiating a circle, for compatibility with 0.7.x code. -// Do not use in new applications or plugins. -function circle(latlng, options, legacyOptions) { - return new Circle(latlng, options, legacyOptions); -} - -/* - * @class Polyline - * @aka L.Polyline - * @inherits Path - * - * A class for drawing polyline overlays on a map. Extends `Path`. - * - * @example - * - * ```js - * // create a red polyline from an array of LatLng points - * var latlngs = [ - * [45.51, -122.68], - * [37.77, -122.43], - * [34.04, -118.2] - * ]; - * - * var polyline = L.polyline(latlngs, {color: 'red'}).addTo(map); - * - * // zoom the map to the polyline - * map.fitBounds(polyline.getBounds()); - * ``` - * - * You can also pass a multi-dimensional array to represent a `MultiPolyline` shape: - * - * ```js - * // create a red polyline from an array of arrays of LatLng points - * var latlngs = [ - * [[45.51, -122.68], - * [37.77, -122.43], - * [34.04, -118.2]], - * [[40.78, -73.91], - * [41.83, -87.62], - * [32.76, -96.72]] - * ]; - * ``` - */ - - -var Polyline = Path.extend({ - - // @section - // @aka Polyline options - options: { - // @option smoothFactor: Number = 1.0 - // How much to simplify the polyline on each zoom level. More means - // better performance and smoother look, and less means more accurate representation. - smoothFactor: 1.0, - - // @option noClip: Boolean = false - // Disable polyline clipping. - noClip: false - }, - - initialize: function (latlngs, options) { - setOptions(this, options); - this._setLatLngs(latlngs); - }, - - // @method getLatLngs(): LatLng[] - // Returns an array of the points in the path, or nested arrays of points in case of multi-polyline. - getLatLngs: function () { - return this._latlngs; - }, - - // @method setLatLngs(latlngs: LatLng[]): this - // Replaces all the points in the polyline with the given array of geographical points. - setLatLngs: function (latlngs) { - this._setLatLngs(latlngs); - return this.redraw(); - }, - - // @method isEmpty(): Boolean - // Returns `true` if the Polyline has no LatLngs. - isEmpty: function () { - return !this._latlngs.length; - }, - - closestLayerPoint: function (p) { - var minDistance = Infinity, - minPoint = null, - closest = _sqClosestPointOnSegment, - p1, p2; - - for (var j = 0, jLen = this._parts.length; j < jLen; j++) { - var points = this._parts[j]; - - for (var i = 1, len = points.length; i < len; i++) { - p1 = points[i - 1]; - p2 = points[i]; - - var sqDist = closest(p, p1, p2, true); - - if (sqDist < minDistance) { - minDistance = sqDist; - minPoint = closest(p, p1, p2); - } - } - } - if (minPoint) { - minPoint.distance = Math.sqrt(minDistance); - } - return minPoint; - }, - - // @method getCenter(): LatLng - // Returns the center ([centroid](http://en.wikipedia.org/wiki/Centroid)) of the polyline. - getCenter: function () { - // throws error when not yet added to map as this center calculation requires projected coordinates - if (!this._map) { - throw new Error('Must add layer to map before using getCenter()'); - } - - var i, halfDist, segDist, dist, p1, p2, ratio, - points = this._rings[0], - len = points.length; - - if (!len) { return null; } - - // polyline centroid algorithm; only uses the first ring if there are multiple - - for (i = 0, halfDist = 0; i < len - 1; i++) { - halfDist += points[i].distanceTo(points[i + 1]) / 2; - } - - // The line is so small in the current view that all points are on the same pixel. - if (halfDist === 0) { - return this._map.layerPointToLatLng(points[0]); - } - - for (i = 0, dist = 0; i < len - 1; i++) { - p1 = points[i]; - p2 = points[i + 1]; - segDist = p1.distanceTo(p2); - dist += segDist; - - if (dist > halfDist) { - ratio = (dist - halfDist) / segDist; - return this._map.layerPointToLatLng([ - p2.x - ratio * (p2.x - p1.x), - p2.y - ratio * (p2.y - p1.y) - ]); - } - } - }, - - // @method getBounds(): LatLngBounds - // Returns the `LatLngBounds` of the path. - getBounds: function () { - return this._bounds; - }, - - // @method addLatLng(latlng: LatLng, latlngs? LatLng[]): this - // Adds a given point to the polyline. By default, adds to the first ring of - // the polyline in case of a multi-polyline, but can be overridden by passing - // a specific ring as a LatLng array (that you can earlier access with [`getLatLngs`](#polyline-getlatlngs)). - addLatLng: function (latlng, latlngs) { - latlngs = latlngs || this._defaultShape(); - latlng = toLatLng(latlng); - latlngs.push(latlng); - this._bounds.extend(latlng); - return this.redraw(); - }, - - _setLatLngs: function (latlngs) { - this._bounds = new LatLngBounds(); - this._latlngs = this._convertLatLngs(latlngs); - }, - - _defaultShape: function () { - return _flat(this._latlngs) ? this._latlngs : this._latlngs[0]; - }, - - // recursively convert latlngs input into actual LatLng instances; calculate bounds along the way - _convertLatLngs: function (latlngs) { - var result = [], - flat = _flat(latlngs); - - for (var i = 0, len = latlngs.length; i < len; i++) { - if (flat) { - result[i] = toLatLng(latlngs[i]); - this._bounds.extend(result[i]); - } else { - result[i] = this._convertLatLngs(latlngs[i]); - } - } - - return result; - }, - - _project: function () { - var pxBounds = new Bounds(); - this._rings = []; - this._projectLatlngs(this._latlngs, this._rings, pxBounds); - - var w = this._clickTolerance(), - p = new Point(w, w); - - if (this._bounds.isValid() && pxBounds.isValid()) { - pxBounds.min._subtract(p); - pxBounds.max._add(p); - this._pxBounds = pxBounds; - } - }, - - // recursively turns latlngs into a set of rings with projected coordinates - _projectLatlngs: function (latlngs, result, projectedBounds) { - var flat = latlngs[0] instanceof LatLng, - len = latlngs.length, - i, ring; - - if (flat) { - ring = []; - for (i = 0; i < len; i++) { - ring[i] = this._map.latLngToLayerPoint(latlngs[i]); - projectedBounds.extend(ring[i]); - } - result.push(ring); - } else { - for (i = 0; i < len; i++) { - this._projectLatlngs(latlngs[i], result, projectedBounds); - } - } - }, - - // clip polyline by renderer bounds so that we have less to render for performance - _clipPoints: function () { - var bounds = this._renderer._bounds; - - this._parts = []; - if (!this._pxBounds || !this._pxBounds.intersects(bounds)) { - return; - } - - if (this.options.noClip) { - this._parts = this._rings; - return; - } - - var parts = this._parts, - i, j, k, len, len2, segment, points; - - for (i = 0, k = 0, len = this._rings.length; i < len; i++) { - points = this._rings[i]; - - for (j = 0, len2 = points.length; j < len2 - 1; j++) { - segment = clipSegment(points[j], points[j + 1], bounds, j, true); - - if (!segment) { continue; } - - parts[k] = parts[k] || []; - parts[k].push(segment[0]); - - // if segment goes out of screen, or it's the last one, it's the end of the line part - if ((segment[1] !== points[j + 1]) || (j === len2 - 2)) { - parts[k].push(segment[1]); - k++; - } - } - } - }, - - // simplify each clipped part of the polyline for performance - _simplifyPoints: function () { - var parts = this._parts, - tolerance = this.options.smoothFactor; - - for (var i = 0, len = parts.length; i < len; i++) { - parts[i] = simplify(parts[i], tolerance); - } - }, - - _update: function () { - if (!this._map) { return; } - - this._clipPoints(); - this._simplifyPoints(); - this._updatePath(); - }, - - _updatePath: function () { - this._renderer._updatePoly(this); - }, - - // Needed by the `Canvas` renderer for interactivity - _containsPoint: function (p, closed) { - var i, j, k, len, len2, part, - w = this._clickTolerance(); - - if (!this._pxBounds || !this._pxBounds.contains(p)) { return false; } - - // hit detection for polylines - for (i = 0, len = this._parts.length; i < len; i++) { - part = this._parts[i]; - - for (j = 0, len2 = part.length, k = len2 - 1; j < len2; k = j++) { - if (!closed && (j === 0)) { continue; } - - if (pointToSegmentDistance(p, part[k], part[j]) <= w) { - return true; - } - } - } - return false; - } -}); - -// @factory L.polyline(latlngs: LatLng[], options?: Polyline options) -// Instantiates a polyline object given an array of geographical points and -// optionally an options object. You can create a `Polyline` object with -// multiple separate lines (`MultiPolyline`) by passing an array of arrays -// of geographic points. -function polyline(latlngs, options) { - return new Polyline(latlngs, options); -} - -/* - * @class Polygon - * @aka L.Polygon - * @inherits Polyline - * - * A class for drawing polygon overlays on a map. Extends `Polyline`. - * - * Note that points you pass when creating a polygon shouldn't have an additional last point equal to the first one — it's better to filter out such points. - * - * - * @example - * - * ```js - * // create a red polygon from an array of LatLng points - * var latlngs = [[37, -109.05],[41, -109.03],[41, -102.05],[37, -102.04]]; - * - * var polygon = L.polygon(latlngs, {color: 'red'}).addTo(map); - * - * // zoom the map to the polygon - * map.fitBounds(polygon.getBounds()); - * ``` - * - * You can also pass an array of arrays of latlngs, with the first array representing the outer shape and the other arrays representing holes in the outer shape: - * - * ```js - * var latlngs = [ - * [[37, -109.05],[41, -109.03],[41, -102.05],[37, -102.04]], // outer ring - * [[37.29, -108.58],[40.71, -108.58],[40.71, -102.50],[37.29, -102.50]] // hole - * ]; - * ``` - * - * Additionally, you can pass a multi-dimensional array to represent a MultiPolygon shape. - * - * ```js - * var latlngs = [ - * [ // first polygon - * [[37, -109.05],[41, -109.03],[41, -102.05],[37, -102.04]], // outer ring - * [[37.29, -108.58],[40.71, -108.58],[40.71, -102.50],[37.29, -102.50]] // hole - * ], - * [ // second polygon - * [[41, -111.03],[45, -111.04],[45, -104.05],[41, -104.05]] - * ] - * ]; - * ``` - */ - -var Polygon = Polyline.extend({ - - options: { - fill: true - }, - - isEmpty: function () { - return !this._latlngs.length || !this._latlngs[0].length; - }, - - getCenter: function () { - // throws error when not yet added to map as this center calculation requires projected coordinates - if (!this._map) { - throw new Error('Must add layer to map before using getCenter()'); - } - - var i, j, p1, p2, f, area, x, y, center, - points = this._rings[0], - len = points.length; - - if (!len) { return null; } - - // polygon centroid algorithm; only uses the first ring if there are multiple - - area = x = y = 0; - - for (i = 0, j = len - 1; i < len; j = i++) { - p1 = points[i]; - p2 = points[j]; - - f = p1.y * p2.x - p2.y * p1.x; - x += (p1.x + p2.x) * f; - y += (p1.y + p2.y) * f; - area += f * 3; - } - - if (area === 0) { - // Polygon is so small that all points are on same pixel. - center = points[0]; - } else { - center = [x / area, y / area]; - } - return this._map.layerPointToLatLng(center); - }, - - _convertLatLngs: function (latlngs) { - var result = Polyline.prototype._convertLatLngs.call(this, latlngs), - len = result.length; - - // remove last point if it equals first one - if (len >= 2 && result[0] instanceof LatLng && result[0].equals(result[len - 1])) { - result.pop(); - } - return result; - }, - - _setLatLngs: function (latlngs) { - Polyline.prototype._setLatLngs.call(this, latlngs); - if (_flat(this._latlngs)) { - this._latlngs = [this._latlngs]; - } - }, - - _defaultShape: function () { - return _flat(this._latlngs[0]) ? this._latlngs[0] : this._latlngs[0][0]; - }, - - _clipPoints: function () { - // polygons need a different clipping algorithm so we redefine that - - var bounds = this._renderer._bounds, - w = this.options.weight, - p = new Point(w, w); - - // increase clip padding by stroke width to avoid stroke on clip edges - bounds = new Bounds(bounds.min.subtract(p), bounds.max.add(p)); - - this._parts = []; - if (!this._pxBounds || !this._pxBounds.intersects(bounds)) { - return; - } - - if (this.options.noClip) { - this._parts = this._rings; - return; - } - - for (var i = 0, len = this._rings.length, clipped; i < len; i++) { - clipped = clipPolygon(this._rings[i], bounds, true); - if (clipped.length) { - this._parts.push(clipped); - } - } - }, - - _updatePath: function () { - this._renderer._updatePoly(this, true); - }, - - // Needed by the `Canvas` renderer for interactivity - _containsPoint: function (p) { - var inside = false, - part, p1, p2, i, j, k, len, len2; - - if (!this._pxBounds.contains(p)) { return false; } - - // ray casting algorithm for detecting if point is in polygon - for (i = 0, len = this._parts.length; i < len; i++) { - part = this._parts[i]; - - for (j = 0, len2 = part.length, k = len2 - 1; j < len2; k = j++) { - p1 = part[j]; - p2 = part[k]; - - if (((p1.y > p.y) !== (p2.y > p.y)) && (p.x < (p2.x - p1.x) * (p.y - p1.y) / (p2.y - p1.y) + p1.x)) { - inside = !inside; - } - } - } - - // also check if it's on polygon stroke - return inside || Polyline.prototype._containsPoint.call(this, p, true); - } - -}); - - -// @factory L.polygon(latlngs: LatLng[], options?: Polyline options) -function polygon(latlngs, options) { - return new Polygon(latlngs, options); -} - -/* - * @class GeoJSON - * @aka L.GeoJSON - * @inherits FeatureGroup - * - * Represents a GeoJSON object or an array of GeoJSON objects. Allows you to parse - * GeoJSON data and display it on the map. Extends `FeatureGroup`. - * - * @example - * - * ```js - * L.geoJSON(data, { - * style: function (feature) { - * return {color: feature.properties.color}; - * } - * }).bindPopup(function (layer) { - * return layer.feature.properties.description; - * }).addTo(map); - * ``` - */ - -var GeoJSON = FeatureGroup.extend({ - - /* @section - * @aka GeoJSON options - * - * @option pointToLayer: Function = * - * A `Function` defining how GeoJSON points spawn Leaflet layers. It is internally - * called when data is added, passing the GeoJSON point feature and its `LatLng`. - * The default is to spawn a default `Marker`: - * ```js - * function(geoJsonPoint, latlng) { - * return L.marker(latlng); - * } - * ``` - * - * @option style: Function = * - * A `Function` defining the `Path options` for styling GeoJSON lines and polygons, - * called internally when data is added. - * The default value is to not override any defaults: - * ```js - * function (geoJsonFeature) { - * return {} - * } - * ``` - * - * @option onEachFeature: Function = * - * A `Function` that will be called once for each created `Feature`, after it has - * been created and styled. Useful for attaching events and popups to features. - * The default is to do nothing with the newly created layers: - * ```js - * function (feature, layer) {} - * ``` - * - * @option filter: Function = * - * A `Function` that will be used to decide whether to include a feature or not. - * The default is to include all features: - * ```js - * function (geoJsonFeature) { - * return true; - * } - * ``` - * Note: dynamically changing the `filter` option will have effect only on newly - * added data. It will _not_ re-evaluate already included features. - * - * @option coordsToLatLng: Function = * - * A `Function` that will be used for converting GeoJSON coordinates to `LatLng`s. - * The default is the `coordsToLatLng` static method. - */ - - initialize: function (geojson, options) { - setOptions(this, options); - - this._layers = {}; - - if (geojson) { - this.addData(geojson); - } - }, - - // @method addData( data ): this - // Adds a GeoJSON object to the layer. - addData: function (geojson) { - var features = isArray(geojson) ? geojson : geojson.features, - i, len, feature; - - if (features) { - for (i = 0, len = features.length; i < len; i++) { - // only add this if geometry or geometries are set and not null - feature = features[i]; - if (feature.geometries || feature.geometry || feature.features || feature.coordinates) { - this.addData(feature); - } - } - return this; - } - - var options = this.options; - - if (options.filter && !options.filter(geojson)) { return this; } - - var layer = geometryToLayer(geojson, options); - if (!layer) { - return this; - } - layer.feature = asFeature(geojson); - - layer.defaultOptions = layer.options; - this.resetStyle(layer); - - if (options.onEachFeature) { - options.onEachFeature(geojson, layer); - } - - return this.addLayer(layer); - }, - - // @method resetStyle( layer ): this - // Resets the given vector layer's style to the original GeoJSON style, useful for resetting style after hover events. - resetStyle: function (layer) { - // reset any custom styles - layer.options = extend({}, layer.defaultOptions); - this._setLayerStyle(layer, this.options.style); - return this; - }, - - // @method setStyle( style ): this - // Changes styles of GeoJSON vector layers with the given style function. - setStyle: function (style) { - return this.eachLayer(function (layer) { - this._setLayerStyle(layer, style); - }, this); - }, - - _setLayerStyle: function (layer, style) { - if (typeof style === 'function') { - style = style(layer.feature); - } - if (layer.setStyle) { - layer.setStyle(style); - } - } -}); - -// @section -// There are several static functions which can be called without instantiating L.GeoJSON: - -// @function geometryToLayer(featureData: Object, options?: GeoJSON options): Layer -// Creates a `Layer` from a given GeoJSON feature. Can use a custom -// [`pointToLayer`](#geojson-pointtolayer) and/or [`coordsToLatLng`](#geojson-coordstolatlng) -// functions if provided as options. -function geometryToLayer(geojson, options) { - - var geometry = geojson.type === 'Feature' ? geojson.geometry : geojson, - coords = geometry ? geometry.coordinates : null, - layers = [], - pointToLayer = options && options.pointToLayer, - _coordsToLatLng = options && options.coordsToLatLng || coordsToLatLng, - latlng, latlngs, i, len; - - if (!coords && !geometry) { - return null; - } - - switch (geometry.type) { - case 'Point': - latlng = _coordsToLatLng(coords); - return pointToLayer ? pointToLayer(geojson, latlng) : new Marker(latlng); - - case 'MultiPoint': - for (i = 0, len = coords.length; i < len; i++) { - latlng = _coordsToLatLng(coords[i]); - layers.push(pointToLayer ? pointToLayer(geojson, latlng) : new Marker(latlng)); - } - return new FeatureGroup(layers); - - case 'LineString': - case 'MultiLineString': - latlngs = coordsToLatLngs(coords, geometry.type === 'LineString' ? 0 : 1, _coordsToLatLng); - return new Polyline(latlngs, options); - - case 'Polygon': - case 'MultiPolygon': - latlngs = coordsToLatLngs(coords, geometry.type === 'Polygon' ? 1 : 2, _coordsToLatLng); - return new Polygon(latlngs, options); - - case 'GeometryCollection': - for (i = 0, len = geometry.geometries.length; i < len; i++) { - var layer = geometryToLayer({ - geometry: geometry.geometries[i], - type: 'Feature', - properties: geojson.properties - }, options); - - if (layer) { - layers.push(layer); - } - } - return new FeatureGroup(layers); - - default: - throw new Error('Invalid GeoJSON object.'); - } -} - -// @function coordsToLatLng(coords: Array): LatLng -// Creates a `LatLng` object from an array of 2 numbers (longitude, latitude) -// or 3 numbers (longitude, latitude, altitude) used in GeoJSON for points. -function coordsToLatLng(coords) { - return new LatLng(coords[1], coords[0], coords[2]); -} - -// @function coordsToLatLngs(coords: Array, levelsDeep?: Number, coordsToLatLng?: Function): Array -// Creates a multidimensional array of `LatLng`s from a GeoJSON coordinates array. -// `levelsDeep` specifies the nesting level (0 is for an array of points, 1 for an array of arrays of points, etc., 0 by default). -// Can use a custom [`coordsToLatLng`](#geojson-coordstolatlng) function. -function coordsToLatLngs(coords, levelsDeep, _coordsToLatLng) { - var latlngs = []; - - for (var i = 0, len = coords.length, latlng; i < len; i++) { - latlng = levelsDeep ? - coordsToLatLngs(coords[i], levelsDeep - 1, _coordsToLatLng) : - (_coordsToLatLng || coordsToLatLng)(coords[i]); - - latlngs.push(latlng); - } - - return latlngs; -} - -// @function latLngToCoords(latlng: LatLng, precision?: Number): Array -// Reverse of [`coordsToLatLng`](#geojson-coordstolatlng) -function latLngToCoords(latlng, precision) { - precision = typeof precision === 'number' ? precision : 6; - return latlng.alt !== undefined ? - [formatNum(latlng.lng, precision), formatNum(latlng.lat, precision), formatNum(latlng.alt, precision)] : - [formatNum(latlng.lng, precision), formatNum(latlng.lat, precision)]; -} - -// @function latLngsToCoords(latlngs: Array, levelsDeep?: Number, closed?: Boolean): Array -// Reverse of [`coordsToLatLngs`](#geojson-coordstolatlngs) -// `closed` determines whether the first point should be appended to the end of the array to close the feature, only used when `levelsDeep` is 0. False by default. -function latLngsToCoords(latlngs, levelsDeep, closed, precision) { - var coords = []; - - for (var i = 0, len = latlngs.length; i < len; i++) { - coords.push(levelsDeep ? - latLngsToCoords(latlngs[i], levelsDeep - 1, closed, precision) : - latLngToCoords(latlngs[i], precision)); - } - - if (!levelsDeep && closed) { - coords.push(coords[0]); - } - - return coords; -} - -function getFeature(layer, newGeometry) { - return layer.feature ? - extend({}, layer.feature, {geometry: newGeometry}) : - asFeature(newGeometry); -} - -// @function asFeature(geojson: Object): Object -// Normalize GeoJSON geometries/features into GeoJSON features. -function asFeature(geojson) { - if (geojson.type === 'Feature' || geojson.type === 'FeatureCollection') { - return geojson; - } - - return { - type: 'Feature', - properties: {}, - geometry: geojson - }; -} - -var PointToGeoJSON = { - toGeoJSON: function (precision) { - return getFeature(this, { - type: 'Point', - coordinates: latLngToCoords(this.getLatLng(), precision) - }); - } -}; - -// @namespace Marker -// @method toGeoJSON(): Object -// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the marker (as a GeoJSON `Point` Feature). -Marker.include(PointToGeoJSON); - -// @namespace CircleMarker -// @method toGeoJSON(): Object -// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the circle marker (as a GeoJSON `Point` Feature). -Circle.include(PointToGeoJSON); -CircleMarker.include(PointToGeoJSON); - - -// @namespace Polyline -// @method toGeoJSON(): Object -// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the polyline (as a GeoJSON `LineString` or `MultiLineString` Feature). -Polyline.include({ - toGeoJSON: function (precision) { - var multi = !_flat(this._latlngs); - - var coords = latLngsToCoords(this._latlngs, multi ? 1 : 0, false, precision); - - return getFeature(this, { - type: (multi ? 'Multi' : '') + 'LineString', - coordinates: coords - }); - } -}); - -// @namespace Polygon -// @method toGeoJSON(): Object -// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the polygon (as a GeoJSON `Polygon` or `MultiPolygon` Feature). -Polygon.include({ - toGeoJSON: function (precision) { - var holes = !_flat(this._latlngs), - multi = holes && !_flat(this._latlngs[0]); - - var coords = latLngsToCoords(this._latlngs, multi ? 2 : holes ? 1 : 0, true, precision); - - if (!holes) { - coords = [coords]; - } - - return getFeature(this, { - type: (multi ? 'Multi' : '') + 'Polygon', - coordinates: coords - }); - } -}); - - -// @namespace LayerGroup -LayerGroup.include({ - toMultiPoint: function (precision) { - var coords = []; - - this.eachLayer(function (layer) { - coords.push(layer.toGeoJSON(precision).geometry.coordinates); - }); - - return getFeature(this, { - type: 'MultiPoint', - coordinates: coords - }); - }, - - // @method toGeoJSON(): Object - // Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the layer group (as a GeoJSON `FeatureCollection`, `GeometryCollection`, or `MultiPoint`). - toGeoJSON: function (precision) { - - var type = this.feature && this.feature.geometry && this.feature.geometry.type; - - if (type === 'MultiPoint') { - return this.toMultiPoint(precision); - } - - var isGeometryCollection = type === 'GeometryCollection', - jsons = []; - - this.eachLayer(function (layer) { - if (layer.toGeoJSON) { - var json = layer.toGeoJSON(precision); - if (isGeometryCollection) { - jsons.push(json.geometry); - } else { - var feature = asFeature(json); - // Squash nested feature collections - if (feature.type === 'FeatureCollection') { - jsons.push.apply(jsons, feature.features); - } else { - jsons.push(feature); - } - } - } - }); - - if (isGeometryCollection) { - return getFeature(this, { - geometries: jsons, - type: 'GeometryCollection' - }); - } - - return { - type: 'FeatureCollection', - features: jsons - }; - } -}); - -// @namespace GeoJSON -// @factory L.geoJSON(geojson?: Object, options?: GeoJSON options) -// Creates a GeoJSON layer. Optionally accepts an object in -// [GeoJSON format](http://geojson.org/geojson-spec.html) to display on the map -// (you can alternatively add it later with `addData` method) and an `options` object. -function geoJSON(geojson, options) { - return new GeoJSON(geojson, options); -} - -// Backward compatibility. -var geoJson = geoJSON; - -/* - * @class ImageOverlay - * @aka L.ImageOverlay - * @inherits Interactive layer - * - * Used to load and display a single image over specific bounds of the map. Extends `Layer`. - * - * @example - * - * ```js - * var imageUrl = 'http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg', - * imageBounds = [[40.712216, -74.22655], [40.773941, -74.12544]]; - * L.imageOverlay(imageUrl, imageBounds).addTo(map); - * ``` - */ - -var ImageOverlay = Layer.extend({ - - // @section - // @aka ImageOverlay options - options: { - // @option opacity: Number = 1.0 - // The opacity of the image overlay. - opacity: 1, - - // @option alt: String = '' - // Text for the `alt` attribute of the image (useful for accessibility). - alt: '', - - // @option interactive: Boolean = false - // If `true`, the image overlay will emit [mouse events](#interactive-layer) when clicked or hovered. - interactive: false, - - // @option crossOrigin: Boolean = false - // If true, the image will have its crossOrigin attribute set to ''. This is needed if you want to access image pixel data. - crossOrigin: false, - - // @option errorOverlayUrl: String = '' - // URL to the overlay image to show in place of the overlay that failed to load. - errorOverlayUrl: '', - - // @option zIndex: Number = 1 - // The explicit [zIndex](https://developer.mozilla.org/docs/Web/CSS/CSS_Positioning/Understanding_z_index) of the tile layer. - zIndex: 1, - - // @option className: String = '' - // A custom class name to assign to the image. Empty by default. - className: '', - }, - - initialize: function (url, bounds, options) { // (String, LatLngBounds, Object) - this._url = url; - this._bounds = toLatLngBounds(bounds); - - setOptions(this, options); - }, - - onAdd: function () { - if (!this._image) { - this._initImage(); - - if (this.options.opacity < 1) { - this._updateOpacity(); - } - } - - if (this.options.interactive) { - addClass(this._image, 'leaflet-interactive'); - this.addInteractiveTarget(this._image); - } - - this.getPane().appendChild(this._image); - this._reset(); - }, - - onRemove: function () { - remove(this._image); - if (this.options.interactive) { - this.removeInteractiveTarget(this._image); - } - }, - - // @method setOpacity(opacity: Number): this - // Sets the opacity of the overlay. - setOpacity: function (opacity) { - this.options.opacity = opacity; - - if (this._image) { - this._updateOpacity(); - } - return this; - }, - - setStyle: function (styleOpts) { - if (styleOpts.opacity) { - this.setOpacity(styleOpts.opacity); - } - return this; - }, - - // @method bringToFront(): this - // Brings the layer to the top of all overlays. - bringToFront: function () { - if (this._map) { - toFront(this._image); - } - return this; - }, - - // @method bringToBack(): this - // Brings the layer to the bottom of all overlays. - bringToBack: function () { - if (this._map) { - toBack(this._image); - } - return this; - }, - - // @method setUrl(url: String): this - // Changes the URL of the image. - setUrl: function (url) { - this._url = url; - - if (this._image) { - this._image.src = url; - } - return this; - }, - - // @method setBounds(bounds: LatLngBounds): this - // Update the bounds that this ImageOverlay covers - setBounds: function (bounds) { - this._bounds = bounds; - - if (this._map) { - this._reset(); - } - return this; - }, - - getEvents: function () { - var events = { - zoom: this._reset, - viewreset: this._reset - }; - - if (this._zoomAnimated) { - events.zoomanim = this._animateZoom; - } - - return events; - }, - - // @method: setZIndex(value: Number) : this - // Changes the [zIndex](#imageoverlay-zindex) of the image overlay. - setZIndex: function (value) { - this.options.zIndex = value; - this._updateZIndex(); - return this; - }, - - // @method getBounds(): LatLngBounds - // Get the bounds that this ImageOverlay covers - getBounds: function () { - return this._bounds; - }, - - // @method getElement(): HTMLElement - // Returns the instance of [`HTMLImageElement`](https://developer.mozilla.org/docs/Web/API/HTMLImageElement) - // used by this overlay. - getElement: function () { - return this._image; - }, - - _initImage: function () { - var img = this._image = create$1('img', - 'leaflet-image-layer ' + (this._zoomAnimated ? 'leaflet-zoom-animated' : '') + - (this.options.className || '')); - - img.onselectstart = falseFn; - img.onmousemove = falseFn; - - // @event load: Event - // Fired when the ImageOverlay layer has loaded its image - img.onload = bind(this.fire, this, 'load'); - img.onerror = bind(this._overlayOnError, this, 'error'); - - if (this.options.crossOrigin) { - img.crossOrigin = ''; - } - - if (this.options.zIndex) { - this._updateZIndex(); - } - - img.src = this._url; - img.alt = this.options.alt; - }, - - _animateZoom: function (e) { - var scale = this._map.getZoomScale(e.zoom), - offset = this._map._latLngBoundsToNewLayerBounds(this._bounds, e.zoom, e.center).min; - - setTransform(this._image, offset, scale); - }, - - _reset: function () { - var image = this._image, - bounds = new Bounds( - this._map.latLngToLayerPoint(this._bounds.getNorthWest()), - this._map.latLngToLayerPoint(this._bounds.getSouthEast())), - size = bounds.getSize(); - - setPosition(image, bounds.min); - - image.style.width = size.x + 'px'; - image.style.height = size.y + 'px'; - }, - - _updateOpacity: function () { - setOpacity(this._image, this.options.opacity); - }, - - _updateZIndex: function () { - if (this._image && this.options.zIndex !== undefined && this.options.zIndex !== null) { - this._image.style.zIndex = this.options.zIndex; - } - }, - - _overlayOnError: function () { - // @event error: Event - // Fired when the ImageOverlay layer has loaded its image - this.fire('error'); - - var errorUrl = this.options.errorOverlayUrl; - if (errorUrl && this._url !== errorUrl) { - this._url = errorUrl; - this._image.src = errorUrl; - } - } -}); - -// @factory L.imageOverlay(imageUrl: String, bounds: LatLngBounds, options?: ImageOverlay options) -// Instantiates an image overlay object given the URL of the image and the -// geographical bounds it is tied to. -var imageOverlay = function (url, bounds, options) { - return new ImageOverlay(url, bounds, options); -}; - -/* - * @class VideoOverlay - * @aka L.VideoOverlay - * @inherits ImageOverlay - * - * Used to load and display a video player over specific bounds of the map. Extends `ImageOverlay`. - * - * A video overlay uses the [`