From 30c0229e5173c2d47fddd895daed679da853772e Mon Sep 17 00:00:00 2001 From: astridx Date: Sun, 24 Nov 2019 11:46:10 +0100 Subject: [PATCH 1/2] example for PNG --- dist/bundle.js | 2 +- dist/bundle.js.map | 2 +- examples/savePNG.html | 67 ++ package-lock.json | 2296 +++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 5 files changed, 2366 insertions(+), 3 deletions(-) create mode 100644 examples/savePNG.html create mode 100644 package-lock.json diff --git a/dist/bundle.js b/dist/bundle.js index 184bb88..a108b53 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e():"function"==typeof define&&define.amd?define(e):e()}(0,function(){"use strict";function t(t,e){return e={exports:{}},t(e,e.exports),e.exports}var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=t(function(t){!function(e){function n(t,e){function n(t){return e.bgcolor&&(t.style.backgroundColor=e.bgcolor),e.width&&(t.style.width=e.width+"px"),e.height&&(t.style.height=e.height+"px"),e.style&&Object.keys(e.style).forEach(function(n){t.style[n]=e.style[n]}),t}return e=e||{},s(e),Promise.resolve(t).then(function(t){return u(t,e.filter,!0)}).then(c).then(d).then(n).then(function(n){return g(n,e.width||h.width(t),e.height||h.height(t))})}function i(t,e){return l(t,e||{}).then(function(e){return e.getContext("2d").getImageData(0,0,h.width(t),h.height(t)).data})}function o(t,e){return l(t,e||{}).then(function(t){return t.toDataURL()})}function r(t,e){return e=e||{},l(t,e).then(function(t){return t.toDataURL("image/jpeg",e.quality||1)})}function a(t,e){return l(t,e||{}).then(h.canvasToBlob)}function s(t){void 0===t.imagePlaceholder?w.impl.options.imagePlaceholder=M.imagePlaceholder:w.impl.options.imagePlaceholder=t.imagePlaceholder,void 0===t.cacheBust?w.impl.options.cacheBust=M.cacheBust:w.impl.options.cacheBust=t.cacheBust}function l(t,e){function i(t){var n=document.createElement("canvas");if(n.width=e.width||h.width(t),n.height=e.height||h.height(t),e.bgcolor){var i=n.getContext("2d");i.fillStyle=e.bgcolor,i.fillRect(0,0,n.width,n.height)}return n}return n(t,e).then(h.makeImage).then(h.delay(100)).then(function(e){var n=i(t);return n.getContext("2d").drawImage(e,0,0),n})}function u(t,e,n){function i(t){return t instanceof HTMLCanvasElement?h.makeImage(t.toDataURL()):t.cloneNode(!1)}function o(t,e,n){var i=t.childNodes;return 0===i.length?Promise.resolve(e):function(t,e,n){var i=Promise.resolve();return e.forEach(function(e){i=i.then(function(){return u(e,n)}).then(function(e){e&&t.appendChild(e)})}),i}(e,h.asArray(i),n).then(function(){return e})}function r(t,e){function n(){!function(t,e){t.cssText?e.cssText=t.cssText:function(t,e){h.asArray(t).forEach(function(n){e.setProperty(n,t.getPropertyValue(n),t.getPropertyPriority(n))})}(t,e)}(window.getComputedStyle(t),e.style)}function i(){function n(n){var i=window.getComputedStyle(t,n),o=i.getPropertyValue("content");if(""!==o&&"none"!==o){var r=h.uid();e.className=e.className+" "+r;var a=document.createElement("style");a.appendChild(function(t,e,n){var i="."+t+":"+e,o=n.cssText?function(t){var e=t.getPropertyValue("content");return t.cssText+" content: "+e+";"}(n):function(t){function e(e){return e+": "+t.getPropertyValue(e)+(t.getPropertyPriority(e)?" !important":"")}return h.asArray(t).map(e).join("; ")+";"}(n);return document.createTextNode(i+"{"+o+"}")}(r,n,i)),e.appendChild(a)}}[":before",":after"].forEach(function(t){n(t)})}function o(){t instanceof HTMLTextAreaElement&&(e.innerHTML=t.value),t instanceof HTMLInputElement&&e.setAttribute("value",t.value)}function r(){e instanceof SVGElement&&(e.setAttribute("xmlns","http://www.w3.org/2000/svg"),e instanceof SVGRectElement&&["width","height"].forEach(function(t){var n=e.getAttribute(t);n&&e.style.setProperty(t,n)}))}return e instanceof Element?Promise.resolve().then(n).then(i).then(o).then(r).then(function(){return e}):e}return n||!e||e(t)?Promise.resolve(t).then(i).then(function(n){return o(t,n,e)}).then(function(e){return r(t,e)}):Promise.resolve()}function c(t){return p.resolveAll().then(function(e){var n=document.createElement("style");return t.appendChild(n),n.appendChild(document.createTextNode(e)),t})}function d(t){return f.inlineAll(t).then(function(){return t})}function g(t,e,n){return Promise.resolve(t).then(function(t){return t.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),(new XMLSerializer).serializeToString(t)}).then(h.escapeXhtml).then(function(t){return''+t+""}).then(function(t){return''+t+""}).then(function(t){return"data:image/svg+xml;charset=utf-8,"+t})}var h=function(){function t(){var t="application/font-woff",e="image/jpeg";return{woff:t,woff2:t,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:e,jpeg:e,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml"}}function e(t){var e=/\.([^\.\/]*?)$/g.exec(t);return e?e[1]:""}function n(n){var i=e(n).toLowerCase();return t()[i]||""}function i(t){return-1!==t.search(/^(data:)/)}function o(t){return new Promise(function(e){for(var n=window.atob(t.toDataURL().split(",")[1]),i=n.length,o=new Uint8Array(i),r=0;rthis.mapContainer.style.height?this.orientation="portrait":this.orientation="landscape",this._map.setView(this.originalState.center),this._map.setZoom(this.originalState.zoom),this._map.invalidateSize(),this.options.tileLayer?this._pausePrint(t):this._printOpertion(t)},_pausePrint:function(t){var e=this,n=setInterval(function(){e.options.tileLayer.isLoading()||(clearInterval(n),e._printOpertion(t))},e.options.tileWait)},_printOpertion:function(t){var e=this,o=this.mapContainer.style.width;(this.originalState.widthWasAuto&&"CurrentSize"===t||this.originalState.widthWasPercentage&&"CurrentSize"===t)&&(o=this.originalState.mapWidth),n.toPng(e.mapContainer,{width:parseInt(o),height:parseInt(e.mapContainer.style.height.replace("px"))}).then(function(t){var n=e._dataURItoBlob(t);e.options.exportOnly?i.saveAs(n,e.options.filename+".png"):e._sendToBrowserPrint(t,e.orientation),e._toggleControls(!0),e.outerContainer&&(e.originalState.widthWasAuto?e.mapContainer.style.width="auto":e.originalState.widthWasPercentage?e.mapContainer.style.width=e.originalState.percentageWidth:e.mapContainer.style.width=e.originalState.mapWidth,e.mapContainer.style.height=e.originalState.mapHeight,e._removeOuterContainer(e.mapContainer,e.outerContainer,e.blankDiv),e._map.invalidateSize(),e._map.setView(e.originalState.center),e._map.setZoom(e.originalState.zoom)),e._map.fire("easyPrint-finished")}).catch(function(t){console.error("Print operation failed",t)})},_sendToBrowserPrint:function(t,e){this._page.resizeTo(600,800);var n=this._createNewWindow(t,e,this);this._page.document.body.innerHTML="",this._page.document.write(n),this._page.document.close()},_createSpinner:function(t,e,n){return""+t+"\n
Loading...
'},_createNewWindow:function(t,e,n){return"\n \n \r\n `;\r\n },\r\n\r\n _createOuterContainer: function (mapDiv) {\r\n var outerContainer = document.createElement('div'); \r\n mapDiv.parentNode.insertBefore(outerContainer, mapDiv); \r\n mapDiv.parentNode.removeChild(mapDiv);\r\n outerContainer.appendChild(mapDiv);\r\n outerContainer.style.width = mapDiv.style.width;\r\n outerContainer.style.height = mapDiv.style.height;\r\n outerContainer.style.display = 'inline-block'\r\n outerContainer.style.overflow = 'hidden';\r\n return outerContainer;\r\n },\r\n\r\n _removeOuterContainer: function (mapDiv, outerContainer, blankDiv) {\r\n if (outerContainer.parentNode) {\r\n outerContainer.parentNode.insertBefore(mapDiv, outerContainer);\r\n outerContainer.parentNode.removeChild(blankDiv);\r\n outerContainer.parentNode.removeChild(outerContainer); \r\n }\r\n },\r\n\r\n _addCss: function () {\r\n var css = document.createElement(\"style\");\r\n css.type = \"text/css\";\r\n css.innerHTML = `.leaflet-control-easyPrint-button { \r\n background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMiA1MTI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8cGF0aCBkPSJNMTI4LDMyaDI1NnY2NEgxMjhWMzJ6IE00ODAsMTI4SDMyYy0xNy42LDAtMzIsMTQuNC0zMiwzMnYxNjBjMCwxNy42LDE0LjM5OCwzMiwzMiwzMmg5NnYxMjhoMjU2VjM1Mmg5NiAgIGMxNy42LDAsMzItMTQuNCwzMi0zMlYxNjBDNTEyLDE0Mi40LDQ5Ny42LDEyOCw0ODAsMTI4eiBNMzUyLDQ0OEgxNjBWMjg4aDE5MlY0NDh6IE00ODcuMTk5LDE3NmMwLDEyLjgxMy0xMC4zODcsMjMuMi0yMy4xOTcsMjMuMiAgIGMtMTIuODEyLDAtMjMuMjAxLTEwLjM4Ny0yMy4yMDEtMjMuMnMxMC4zODktMjMuMiwyMy4xOTktMjMuMkM0NzYuODE0LDE1Mi44LDQ4Ny4xOTksMTYzLjE4Nyw0ODcuMTk5LDE3NnoiIGZpbGw9IiMwMDAwMDAiLz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K);\r\n background-size: 16px 16px; \r\n cursor: pointer; \r\n }\r\n .leaflet-control-easyPrint-button-export { \r\n background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDQzMy41IDQzMy41IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0MzMuNSA0MzMuNTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8Zz4KCTxnIGlkPSJmaWxlLWRvd25sb2FkIj4KCQk8cGF0aCBkPSJNMzk1LjI1LDE1M2gtMTAyVjBoLTE1M3YxNTNoLTEwMmwxNzguNSwxNzguNUwzOTUuMjUsMTUzeiBNMzguMjUsMzgyLjV2NTFoMzU3di01MUgzOC4yNXoiIGZpbGw9IiMwMDAwMDAiLz4KCTwvZz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K);\r\n background-size: 16px 16px; \r\n cursor: pointer; \r\n }\r\n .easyPrintHolder a {\r\n background-size: 16px 16px;\r\n cursor: pointer;\r\n }\r\n .easyPrintHolder .CurrentSize{\r\n background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTZweCIgdmVyc2lvbj0iMS4xIiBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNjQgNjQiPgogIDxnPgogICAgPGcgZmlsbD0iIzFEMUQxQiI+CiAgICAgIDxwYXRoIGQ9Ik0yNS4yNTUsMzUuOTA1TDQuMDE2LDU3LjE0NVY0Ni41OWMwLTEuMTA4LTAuODk3LTIuMDA4LTIuMDA4LTIuMDA4QzAuODk4LDQ0LjU4MiwwLDQ1LjQ4MSwwLDQ2LjU5djE1LjQwMiAgICBjMCwwLjI2MSwwLjA1MywwLjUyMSwwLjE1NSwwLjc2N2MwLjIwMywwLjQ5MiwwLjU5NCwwLjg4MiwxLjA4NiwxLjA4N0MxLjQ4Niw2My45NDcsMS43NDcsNjQsMi4wMDgsNjRoMTUuNDAzICAgIGMxLjEwOSwwLDIuMDA4LTAuODk4LDIuMDA4LTIuMDA4cy0wLjg5OC0yLjAwOC0yLjAwOC0yLjAwOEg2Ljg1NWwyMS4yMzgtMjEuMjRjMC43ODQtMC43ODQsMC43ODQtMi4wNTUsMC0yLjgzOSAgICBTMjYuMDM5LDM1LjEyMSwyNS4yNTUsMzUuOTA1eiIgZmlsbD0iIzAwMDAwMCIvPgogICAgICA8cGF0aCBkPSJtNjMuODQ1LDEuMjQxYy0wLjIwMy0wLjQ5MS0wLjU5NC0wLjg4Mi0xLjA4Ni0xLjA4Ny0wLjI0NS0wLjEwMS0wLjUwNi0wLjE1NC0wLjc2Ny0wLjE1NGgtMTUuNDAzYy0xLjEwOSwwLTIuMDA4LDAuODk4LTIuMDA4LDIuMDA4czAuODk4LDIuMDA4IDIuMDA4LDIuMDA4aDEwLjU1NmwtMjEuMjM4LDIxLjI0Yy0wLjc4NCwwLjc4NC0wLjc4NCwyLjA1NSAwLDIuODM5IDAuMzkyLDAuMzkyIDAuOTA2LDAuNTg5IDEuNDIsMC41ODlzMS4wMjctMC4xOTcgMS40MTktMC41ODlsMjEuMjM4LTIxLjI0djEwLjU1NWMwLDEuMTA4IDAuODk3LDIuMDA4IDIuMDA4LDIuMDA4IDEuMTA5LDAgMi4wMDgtMC44OTkgMi4wMDgtMi4wMDh2LTE1LjQwMmMwLTAuMjYxLTAuMDUzLTAuNTIyLTAuMTU1LTAuNzY3eiIgZmlsbD0iIzAwMDAwMCIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==)\r\n }\r\n .easyPrintHolder .page {\r\n background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTguMS4xLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQ0NC44MzMgNDQ0LjgzMyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDQ0LjgzMyA0NDQuODMzOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjUxMnB4IiBoZWlnaHQ9IjUxMnB4Ij4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNNTUuMjUsNDQ0LjgzM2gzMzQuMzMzYzkuMzUsMCwxNy03LjY1LDE3LTE3VjEzOS4xMTdjMC00LjgxNy0xLjk4My05LjM1LTUuMzgzLTEyLjQ2N0wyNjkuNzMzLDQuNTMzICAgIEMyNjYuNjE3LDEuNywyNjIuMzY3LDAsMjU4LjExNywwSDU1LjI1Yy05LjM1LDAtMTcsNy42NS0xNywxN3Y0MTAuODMzQzM4LjI1LDQzNy4xODMsNDUuOSw0NDQuODMzLDU1LjI1LDQ0NC44MzN6ICAgICBNMzcyLjU4MywxNDYuNDgzdjAuODVIMjU2LjQxN3YtMTA4LjhMMzcyLjU4MywxNDYuNDgzeiBNNzIuMjUsMzRoMTUwLjE2N3YxMzAuMzMzYzAsOS4zNSw3LjY1LDE3LDE3LDE3aDEzMy4xNjd2MjI5LjVINzIuMjVWMzR6ICAgICIgZmlsbD0iIzAwMDAwMCIvPgoJPC9nPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+Cjwvc3ZnPgo=);\r\n }\r\n .easyPrintHolder .A4Landscape { \r\n transform: rotate(-90deg);\r\n }\r\n\r\n .leaflet-control-easyPrint-button{\r\n display: inline-block;\r\n }\r\n .easyPrintHolder{\r\n margin-top:-31px;\r\n margin-bottom: -5px;\r\n margin-left: 30px;\r\n padding-left: 0px;\r\n display: none;\r\n }\r\n\r\n .easyPrintSizeMode {\r\n display: inline-block;\r\n }\r\n .easyPrintHolder .easyPrintSizeMode a {\r\n border-radius: 0px;\r\n }\r\n\r\n .easyPrintHolder .easyPrintSizeMode:last-child a{\r\n border-top-right-radius: 2px;\r\n border-bottom-right-radius: 2px;\r\n margin-left: -1px;\r\n }\r\n\r\n .easyPrintPortrait:hover, .easyPrintLandscape:hover{\r\n background-color: #757570;\r\n cursor: pointer;\r\n }`;\r\n document.body.appendChild(css);\r\n },\r\n\r\n _dataURItoBlob: function (dataURI) {\r\n var byteString = atob(dataURI.split(',')[1]);\r\n var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];\r\n var ab = new ArrayBuffer(byteString.length);\r\n var dw = new DataView(ab);\r\n for(var i = 0; i < byteString.length; i++) {\r\n dw.setUint8(i, byteString.charCodeAt(i));\r\n }\r\n return new Blob([ab], {type: mimeString});\r\n },\r\n\r\n _togglePageSizeButtons: function (e) {\r\n var holderStyle = this.holder.style\r\n var linkStyle = this.link.style\r\n if (e.type === 'mouseover') {\r\n holderStyle.display = 'block';\r\n linkStyle.borderTopRightRadius = '0'\r\n linkStyle.borderBottomRightRadius = '0'\r\n } else {\r\n holderStyle.display = 'none';\r\n linkStyle.borderTopRightRadius = '2px'\r\n linkStyle.borderBottomRightRadius = '2px' \r\n }\r\n },\r\n\r\n _toggleControls: function (show) {\r\n var controlContainer = document.getElementsByClassName(\"leaflet-control-container\")[0];\r\n if (show) return controlContainer.style.display = 'block';\r\n controlContainer.style.display = 'none';\r\n },\r\n\r\n _a4PageSize: {\r\n height: 715,\r\n width: 1045\r\n }\r\n\r\n});\r\n\r\nL.easyPrint = function(options) {\r\n return new L.Control.EasyPrint(options);\r\n};\r\n\r\n"],"names":["a","b","c","bgcolor","style","backgroundColor","width","height","Object","keys","forEach","g","Promise","resolve","then","i","filter","j","k","l","q","h","getContext","getImageData","data","d","toDataURL","e","quality","f","canvasToBlob","imagePlaceholder","v","impl","options","u","cacheBust","document","createElement","fillStyle","fillRect","makeImage","delay","drawImage","HTMLCanvasElement","cloneNode","childNodes","length","appendChild","asArray","cssText","setProperty","getPropertyValue","getPropertyPriority","window","getComputedStyle","uid","className","map","join","createTextNode","HTMLTextAreaElement","innerHTML","value","HTMLInputElement","setAttribute","SVGElement","SVGRectElement","getAttribute","Element","s","resolveAll","t","inlineAll","XMLSerializer","serializeToString","escapeXhtml","woff","woff2","ttf","eot","png","jpg","jpeg","gif","tiff","svg","exec","toLowerCase","search","atob","split","Uint8Array","charCodeAt","Blob","type","toBlob","implementation","createHTMLDocument","head","body","href","Image","onload","onerror","src","test","Date","getTime","readyState","status","FileReader","onloadend","result","readAsDataURL","response","console","error","XMLHttpRequest","onreadystatechange","ontimeout","responseType","timeout","open","send","replace","m","setTimeout","n","push","o","p","r","scrollWidth","scrollHeight","parseFloat","escape","parseExtension","mimeType","dataAsUrl","isDataUrl","resolveUrl","getAndEncode","Math","random","pow","toString","slice","RegExp","shouldProcess","readUrls","inline","all","CSSRule","FONT_FACE_RULE","cssRules","bind","log","parentStyleSheet","styleSheets","readAll","HTMLImageElement","newImage","toSvg","toPng","toJpeg","toPixelData","fontFaces","images","util","inliner","module","saveAs","view","navigator","userAgent","doc","get_URL","URL","webkitURL","save_link","createElementNS","can_use_save_link","click","node","event","MouseEvent","dispatchEvent","is_safari","HTMLElement","safari","is_chrome_ios","throw_outside","ex","setImmediate","revoke","file","revoker","revokeObjectURL","remove","dispatch","filesaver","event_types","concat","listener","call","auto_bom","blob","String","fromCharCode","FileSaver","name","no_auto_bom","object_url","this","force","dispatch_all","INIT","createObjectURL","download","DONE","reader","url","location","undefined","FS_proto","prototype","msSaveOrOpenBlob","abort","WRITING","onwritestart","onprogress","onwrite","onabort","onwriteend","self","content","exports","L","Control","EasyPrint","extend","title","mapContainer","_map","getContainer","sizeModes","sizeMode","defaultSizeTitles","Current","_a4PageSize","A4Landscape","A4Portrait","container","DomUtil","create","hidden","_addCss","DomEvent","addListener","_togglePageSizeButtons","btnClass","exportOnly","link","id","holder","btn","printMap","disableClickPropagation","filename","_page","write","_createSpinner","customWindowTitle","customSpinnerClass","spinnerBgCOlor","originalState","getZoom","getCenter","mapWidth","getSize","x","widthWasAuto","includes","percentageWidth","widthWasPercentage","fire","hideControlContainer","_toggleControls","target","_printOpertion","outerContainer","_createOuterContainer","_createImagePlaceholder","plugin","parseInt","mapHeight","dataUrl","blankDiv","parentElement","insertBefore","backgroundImage","position","zIndex","display","_resizeAndPrintMap","catch","opacity","pageSize","item","orientation","setView","center","setZoom","zoom","invalidateSize","tileLayer","_pausePrint","loadingTest","setInterval","isLoading","tileWait","sizemode","widthForExport","_dataURItoBlob","_sendToBrowserPrint","_removeOuterContainer","img","resizeTo","pageContent","_createNewWindow","close","spinnerClass","spinnerColor","mapDiv","parentNode","removeChild","overflow","css","dataURI","byteString","mimeString","ab","ArrayBuffer","dw","DataView","setUint8","holderStyle","linkStyle","borderTopRightRadius","borderBottomRightRadius","show","controlContainer","getElementsByClassName","easyPrint"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"bundle.js","sources":["../node_modules/dom-to-image/src/dom-to-image.js","../node_modules/file-saver/FileSaver.js","../src/index.js"],"sourcesContent":["(function (global) {\n 'use strict';\n\n var util = newUtil();\n var inliner = newInliner();\n var fontFaces = newFontFaces();\n var images = newImages();\n\n // Default impl options\n var defaultOptions = {\n // Default is to fail on error, no placeholder\n imagePlaceholder: undefined,\n // Default cache bust is false, it will use the cache\n cacheBust: false\n };\n\n var domtoimage = {\n toSvg: toSvg,\n toPng: toPng,\n toJpeg: toJpeg,\n toBlob: toBlob,\n toPixelData: toPixelData,\n impl: {\n fontFaces: fontFaces,\n images: images,\n util: util,\n inliner: inliner,\n options: {}\n }\n };\n\n if (typeof module !== 'undefined')\n module.exports = domtoimage;\n else\n global.domtoimage = domtoimage;\n\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options\n * @param {Function} options.filter - Should return true if passed node should be included in the output\n * (excluding node means excluding it's children as well). Not called on the root node.\n * @param {String} options.bgcolor - color for the background, any valid CSS color value.\n * @param {Number} options.width - width to be applied to node before rendering.\n * @param {Number} options.height - height to be applied to node before rendering.\n * @param {Object} options.style - an object whose properties to be copied to node's style before rendering.\n * @param {Number} options.quality - a Number between 0 and 1 indicating image quality (applicable to JPEG only),\n defaults to 1.0.\n * @param {String} options.imagePlaceholder - dataURL to use as a placeholder for failed images, default behaviour is to fail fast on images we can't fetch\n * @param {Boolean} options.cacheBust - set to true to cache bust by appending the time to the request url\n * @return {Promise} - A promise that is fulfilled with a SVG image data URL\n * */\n function toSvg(node, options) {\n options = options || {};\n copyOptions(options);\n return Promise.resolve(node)\n .then(function (node) {\n return cloneNode(node, options.filter, true);\n })\n .then(embedFonts)\n .then(inlineImages)\n .then(applyOptions)\n .then(function (clone) {\n return makeSvgDataUri(clone,\n options.width || util.width(node),\n options.height || util.height(node)\n );\n });\n\n function applyOptions(clone) {\n if (options.bgcolor) clone.style.backgroundColor = options.bgcolor;\n\n if (options.width) clone.style.width = options.width + 'px';\n if (options.height) clone.style.height = options.height + 'px';\n\n if (options.style)\n Object.keys(options.style).forEach(function (property) {\n clone.style[property] = options.style[property];\n });\n\n return clone;\n }\n }\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a Uint8Array containing RGBA pixel data.\n * */\n function toPixelData(node, options) {\n return draw(node, options || {})\n .then(function (canvas) {\n return canvas.getContext('2d').getImageData(\n 0,\n 0,\n util.width(node),\n util.height(node)\n ).data;\n });\n }\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a PNG image data URL\n * */\n function toPng(node, options) {\n return draw(node, options || {})\n .then(function (canvas) {\n return canvas.toDataURL();\n });\n }\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a JPEG image data URL\n * */\n function toJpeg(node, options) {\n options = options || {};\n return draw(node, options)\n .then(function (canvas) {\n return canvas.toDataURL('image/jpeg', options.quality || 1.0);\n });\n }\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a PNG image blob\n * */\n function toBlob(node, options) {\n return draw(node, options || {})\n .then(util.canvasToBlob);\n }\n\n function copyOptions(options) {\n // Copy options to impl options for use in impl\n if(typeof(options.imagePlaceholder) === 'undefined') {\n domtoimage.impl.options.imagePlaceholder = defaultOptions.imagePlaceholder;\n } else {\n domtoimage.impl.options.imagePlaceholder = options.imagePlaceholder;\n }\n\n if(typeof(options.cacheBust) === 'undefined') {\n domtoimage.impl.options.cacheBust = defaultOptions.cacheBust;\n } else {\n domtoimage.impl.options.cacheBust = options.cacheBust;\n }\n }\n\n function draw(domNode, options) {\n return toSvg(domNode, options)\n .then(util.makeImage)\n .then(util.delay(100))\n .then(function (image) {\n var canvas = newCanvas(domNode);\n canvas.getContext('2d').drawImage(image, 0, 0);\n return canvas;\n });\n\n function newCanvas(domNode) {\n var canvas = document.createElement('canvas');\n canvas.width = options.width || util.width(domNode);\n canvas.height = options.height || util.height(domNode);\n\n if (options.bgcolor) {\n var ctx = canvas.getContext('2d');\n ctx.fillStyle = options.bgcolor;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n }\n\n return canvas;\n }\n }\n\n function cloneNode(node, filter, root) {\n if (!root && filter && !filter(node)) return Promise.resolve();\n\n return Promise.resolve(node)\n .then(makeNodeCopy)\n .then(function (clone) {\n return cloneChildren(node, clone, filter);\n })\n .then(function (clone) {\n return processClone(node, clone);\n });\n\n function makeNodeCopy(node) {\n if (node instanceof HTMLCanvasElement) return util.makeImage(node.toDataURL());\n return node.cloneNode(false);\n }\n\n function cloneChildren(original, clone, filter) {\n var children = original.childNodes;\n if (children.length === 0) return Promise.resolve(clone);\n\n return cloneChildrenInOrder(clone, util.asArray(children), filter)\n .then(function () {\n return clone;\n });\n\n function cloneChildrenInOrder(parent, children, filter) {\n var done = Promise.resolve();\n children.forEach(function (child) {\n done = done\n .then(function () {\n return cloneNode(child, filter);\n })\n .then(function (childClone) {\n if (childClone) parent.appendChild(childClone);\n });\n });\n return done;\n }\n }\n\n function processClone(original, clone) {\n if (!(clone instanceof Element)) return clone;\n\n return Promise.resolve()\n .then(cloneStyle)\n .then(clonePseudoElements)\n .then(copyUserInput)\n .then(fixSvg)\n .then(function () {\n return clone;\n });\n\n function cloneStyle() {\n copyStyle(window.getComputedStyle(original), clone.style);\n\n function copyStyle(source, target) {\n if (source.cssText) target.cssText = source.cssText;\n else copyProperties(source, target);\n\n function copyProperties(source, target) {\n util.asArray(source).forEach(function (name) {\n target.setProperty(\n name,\n source.getPropertyValue(name),\n source.getPropertyPriority(name)\n );\n });\n }\n }\n }\n\n function clonePseudoElements() {\n [':before', ':after'].forEach(function (element) {\n clonePseudoElement(element);\n });\n\n function clonePseudoElement(element) {\n var style = window.getComputedStyle(original, element);\n var content = style.getPropertyValue('content');\n\n if (content === '' || content === 'none') return;\n\n var className = util.uid();\n clone.className = clone.className + ' ' + className;\n var styleElement = document.createElement('style');\n styleElement.appendChild(formatPseudoElementStyle(className, element, style));\n clone.appendChild(styleElement);\n\n function formatPseudoElementStyle(className, element, style) {\n var selector = '.' + className + ':' + element;\n var cssText = style.cssText ? formatCssText(style) : formatCssProperties(style);\n return document.createTextNode(selector + '{' + cssText + '}');\n\n function formatCssText(style) {\n var content = style.getPropertyValue('content');\n return style.cssText + ' content: ' + content + ';';\n }\n\n function formatCssProperties(style) {\n\n return util.asArray(style)\n .map(formatProperty)\n .join('; ') + ';';\n\n function formatProperty(name) {\n return name + ': ' +\n style.getPropertyValue(name) +\n (style.getPropertyPriority(name) ? ' !important' : '');\n }\n }\n }\n }\n }\n\n function copyUserInput() {\n if (original instanceof HTMLTextAreaElement) clone.innerHTML = original.value;\n if (original instanceof HTMLInputElement) clone.setAttribute(\"value\", original.value);\n }\n\n function fixSvg() {\n if (!(clone instanceof SVGElement)) return;\n clone.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\n if (!(clone instanceof SVGRectElement)) return;\n ['width', 'height'].forEach(function (attribute) {\n var value = clone.getAttribute(attribute);\n if (!value) return;\n\n clone.style.setProperty(attribute, value);\n });\n }\n }\n }\n\n function embedFonts(node) {\n return fontFaces.resolveAll()\n .then(function (cssText) {\n var styleNode = document.createElement('style');\n node.appendChild(styleNode);\n styleNode.appendChild(document.createTextNode(cssText));\n return node;\n });\n }\n\n function inlineImages(node) {\n return images.inlineAll(node)\n .then(function () {\n return node;\n });\n }\n\n function makeSvgDataUri(node, width, height) {\n return Promise.resolve(node)\n .then(function (node) {\n node.setAttribute('xmlns', 'http://www.w3.org/1999/xhtml');\n return new XMLSerializer().serializeToString(node);\n })\n .then(util.escapeXhtml)\n .then(function (xhtml) {\n return '' + xhtml + '';\n })\n .then(function (foreignObject) {\n return '' +\n foreignObject + '';\n })\n .then(function (svg) {\n return 'data:image/svg+xml;charset=utf-8,' + svg;\n });\n }\n\n function newUtil() {\n return {\n escape: escape,\n parseExtension: parseExtension,\n mimeType: mimeType,\n dataAsUrl: dataAsUrl,\n isDataUrl: isDataUrl,\n canvasToBlob: canvasToBlob,\n resolveUrl: resolveUrl,\n getAndEncode: getAndEncode,\n uid: uid(),\n delay: delay,\n asArray: asArray,\n escapeXhtml: escapeXhtml,\n makeImage: makeImage,\n width: width,\n height: height\n };\n\n function mimes() {\n /*\n * Only WOFF and EOT mime types for fonts are 'real'\n * see http://www.iana.org/assignments/media-types/media-types.xhtml\n */\n var WOFF = 'application/font-woff';\n var JPEG = 'image/jpeg';\n\n return {\n 'woff': WOFF,\n 'woff2': WOFF,\n 'ttf': 'application/font-truetype',\n 'eot': 'application/vnd.ms-fontobject',\n 'png': 'image/png',\n 'jpg': JPEG,\n 'jpeg': JPEG,\n 'gif': 'image/gif',\n 'tiff': 'image/tiff',\n 'svg': 'image/svg+xml'\n };\n }\n\n function parseExtension(url) {\n var match = /\\.([^\\.\\/]*?)$/g.exec(url);\n if (match) return match[1];\n else return '';\n }\n\n function mimeType(url) {\n var extension = parseExtension(url).toLowerCase();\n return mimes()[extension] || '';\n }\n\n function isDataUrl(url) {\n return url.search(/^(data:)/) !== -1;\n }\n\n function toBlob(canvas) {\n return new Promise(function (resolve) {\n var binaryString = window.atob(canvas.toDataURL().split(',')[1]);\n var length = binaryString.length;\n var binaryArray = new Uint8Array(length);\n\n for (var i = 0; i < length; i++)\n binaryArray[i] = binaryString.charCodeAt(i);\n\n resolve(new Blob([binaryArray], {\n type: 'image/png'\n }));\n });\n }\n\n function canvasToBlob(canvas) {\n if (canvas.toBlob)\n return new Promise(function (resolve) {\n canvas.toBlob(resolve);\n });\n\n return toBlob(canvas);\n }\n\n function resolveUrl(url, baseUrl) {\n var doc = document.implementation.createHTMLDocument();\n var base = doc.createElement('base');\n doc.head.appendChild(base);\n var a = doc.createElement('a');\n doc.body.appendChild(a);\n base.href = baseUrl;\n a.href = url;\n return a.href;\n }\n\n function uid() {\n var index = 0;\n\n return function () {\n return 'u' + fourRandomChars() + index++;\n\n function fourRandomChars() {\n /* see http://stackoverflow.com/a/6248722/2519373 */\n return ('0000' + (Math.random() * Math.pow(36, 4) << 0).toString(36)).slice(-4);\n }\n };\n }\n\n function makeImage(uri) {\n return new Promise(function (resolve, reject) {\n var image = new Image();\n image.onload = function () {\n resolve(image);\n };\n image.onerror = reject;\n image.src = uri;\n });\n }\n\n function getAndEncode(url) {\n var TIMEOUT = 30000;\n if(domtoimage.impl.options.cacheBust) {\n // Cache bypass so we dont have CORS issues with cached images\n // Source: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache\n url += ((/\\?/).test(url) ? \"&\" : \"?\") + (new Date()).getTime();\n }\n\n return new Promise(function (resolve) {\n var request = new XMLHttpRequest();\n\n request.onreadystatechange = done;\n request.ontimeout = timeout;\n request.responseType = 'blob';\n request.timeout = TIMEOUT;\n request.open('GET', url, true);\n request.send();\n\n var placeholder;\n if(domtoimage.impl.options.imagePlaceholder) {\n var split = domtoimage.impl.options.imagePlaceholder.split(/,/);\n if(split && split[1]) {\n placeholder = split[1];\n }\n }\n\n function done() {\n if (request.readyState !== 4) return;\n\n if (request.status !== 200) {\n if(placeholder) {\n resolve(placeholder);\n } else {\n fail('cannot fetch resource: ' + url + ', status: ' + request.status);\n }\n\n return;\n }\n\n var encoder = new FileReader();\n encoder.onloadend = function () {\n var content = encoder.result.split(/,/)[1];\n resolve(content);\n };\n encoder.readAsDataURL(request.response);\n }\n\n function timeout() {\n if(placeholder) {\n resolve(placeholder);\n } else {\n fail('timeout of ' + TIMEOUT + 'ms occured while fetching resource: ' + url);\n }\n }\n\n function fail(message) {\n console.error(message);\n resolve('');\n }\n });\n }\n\n function dataAsUrl(content, type) {\n return 'data:' + type + ';base64,' + content;\n }\n\n function escape(string) {\n return string.replace(/([.*+?^${}()|\\[\\]\\/\\\\])/g, '\\\\$1');\n }\n\n function delay(ms) {\n return function (arg) {\n return new Promise(function (resolve) {\n setTimeout(function () {\n resolve(arg);\n }, ms);\n });\n };\n }\n\n function asArray(arrayLike) {\n var array = [];\n var length = arrayLike.length;\n for (var i = 0; i < length; i++) array.push(arrayLike[i]);\n return array;\n }\n\n function escapeXhtml(string) {\n return string.replace(/#/g, '%23').replace(/\\n/g, '%0A');\n }\n\n function width(node) {\n var leftBorder = px(node, 'border-left-width');\n var rightBorder = px(node, 'border-right-width');\n return node.scrollWidth + leftBorder + rightBorder;\n }\n\n function height(node) {\n var topBorder = px(node, 'border-top-width');\n var bottomBorder = px(node, 'border-bottom-width');\n return node.scrollHeight + topBorder + bottomBorder;\n }\n\n function px(node, styleProperty) {\n var value = window.getComputedStyle(node).getPropertyValue(styleProperty);\n return parseFloat(value.replace('px', ''));\n }\n }\n\n function newInliner() {\n var URL_REGEX = /url\\(['\"]?([^'\"]+?)['\"]?\\)/g;\n\n return {\n inlineAll: inlineAll,\n shouldProcess: shouldProcess,\n impl: {\n readUrls: readUrls,\n inline: inline\n }\n };\n\n function shouldProcess(string) {\n return string.search(URL_REGEX) !== -1;\n }\n\n function readUrls(string) {\n var result = [];\n var match;\n while ((match = URL_REGEX.exec(string)) !== null) {\n result.push(match[1]);\n }\n return result.filter(function (url) {\n return !util.isDataUrl(url);\n });\n }\n\n function inline(string, url, baseUrl, get) {\n return Promise.resolve(url)\n .then(function (url) {\n return baseUrl ? util.resolveUrl(url, baseUrl) : url;\n })\n .then(get || util.getAndEncode)\n .then(function (data) {\n return util.dataAsUrl(data, util.mimeType(url));\n })\n .then(function (dataUrl) {\n return string.replace(urlAsRegex(url), '$1' + dataUrl + '$3');\n });\n\n function urlAsRegex(url) {\n return new RegExp('(url\\\\([\\'\"]?)(' + util.escape(url) + ')([\\'\"]?\\\\))', 'g');\n }\n }\n\n function inlineAll(string, baseUrl, get) {\n if (nothingToInline()) return Promise.resolve(string);\n\n return Promise.resolve(string)\n .then(readUrls)\n .then(function (urls) {\n var done = Promise.resolve(string);\n urls.forEach(function (url) {\n done = done.then(function (string) {\n return inline(string, url, baseUrl, get);\n });\n });\n return done;\n });\n\n function nothingToInline() {\n return !shouldProcess(string);\n }\n }\n }\n\n function newFontFaces() {\n return {\n resolveAll: resolveAll,\n impl: {\n readAll: readAll\n }\n };\n\n function resolveAll() {\n return readAll(document)\n .then(function (webFonts) {\n return Promise.all(\n webFonts.map(function (webFont) {\n return webFont.resolve();\n })\n );\n })\n .then(function (cssStrings) {\n return cssStrings.join('\\n');\n });\n }\n\n function readAll() {\n return Promise.resolve(util.asArray(document.styleSheets))\n .then(getCssRules)\n .then(selectWebFontRules)\n .then(function (rules) {\n return rules.map(newWebFont);\n });\n\n function selectWebFontRules(cssRules) {\n return cssRules\n .filter(function (rule) {\n return rule.type === CSSRule.FONT_FACE_RULE;\n })\n .filter(function (rule) {\n return inliner.shouldProcess(rule.style.getPropertyValue('src'));\n });\n }\n\n function getCssRules(styleSheets) {\n var cssRules = [];\n styleSheets.forEach(function (sheet) {\n try {\n util.asArray(sheet.cssRules || []).forEach(cssRules.push.bind(cssRules));\n } catch (e) {\n console.log('Error while reading CSS rules from ' + sheet.href, e.toString());\n }\n });\n return cssRules;\n }\n\n function newWebFont(webFontRule) {\n return {\n resolve: function resolve() {\n var baseUrl = (webFontRule.parentStyleSheet || {}).href;\n return inliner.inlineAll(webFontRule.cssText, baseUrl);\n },\n src: function () {\n return webFontRule.style.getPropertyValue('src');\n }\n };\n }\n }\n }\n\n function newImages() {\n return {\n inlineAll: inlineAll,\n impl: {\n newImage: newImage\n }\n };\n\n function newImage(element) {\n return {\n inline: inline\n };\n\n function inline(get) {\n if (util.isDataUrl(element.src)) return Promise.resolve();\n\n return Promise.resolve(element.src)\n .then(get || util.getAndEncode)\n .then(function (data) {\n return util.dataAsUrl(data, util.mimeType(element.src));\n })\n .then(function (dataUrl) {\n return new Promise(function (resolve, reject) {\n element.onload = resolve;\n element.onerror = reject;\n element.src = dataUrl;\n });\n });\n }\n }\n\n function inlineAll(node) {\n if (!(node instanceof Element)) return Promise.resolve(node);\n\n return inlineBackground(node)\n .then(function () {\n if (node instanceof HTMLImageElement)\n return newImage(node).inline();\n else\n return Promise.all(\n util.asArray(node.childNodes).map(function (child) {\n return inlineAll(child);\n })\n );\n });\n\n function inlineBackground(node) {\n var background = node.style.getPropertyValue('background');\n\n if (!background) return Promise.resolve(node);\n\n return inliner.inlineAll(background)\n .then(function (inlined) {\n node.style.setProperty(\n 'background',\n inlined,\n node.style.getPropertyPriority('background')\n );\n })\n .then(function () {\n return node;\n });\n }\n }\n }\n})(this);\n","/* FileSaver.js\n * A saveAs() FileSaver implementation.\n * 1.3.2\n * 2016-06-16 18:25:19\n *\n * By Eli Grey, http://eligrey.com\n * License: MIT\n * See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md\n */\n\n/*global self */\n/*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */\n\n/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */\n\nvar saveAs = saveAs || (function(view) {\n\t\"use strict\";\n\t// IE <10 is explicitly unsupported\n\tif (typeof view === \"undefined\" || typeof navigator !== \"undefined\" && /MSIE [1-9]\\./.test(navigator.userAgent)) {\n\t\treturn;\n\t}\n\tvar\n\t\t doc = view.document\n\t\t // only get URL when necessary in case Blob.js hasn't overridden it yet\n\t\t, get_URL = function() {\n\t\t\treturn view.URL || view.webkitURL || view;\n\t\t}\n\t\t, save_link = doc.createElementNS(\"http://www.w3.org/1999/xhtml\", \"a\")\n\t\t, can_use_save_link = \"download\" in save_link\n\t\t, click = function(node) {\n\t\t\tvar event = new MouseEvent(\"click\");\n\t\t\tnode.dispatchEvent(event);\n\t\t}\n\t\t, is_safari = /constructor/i.test(view.HTMLElement) || view.safari\n\t\t, is_chrome_ios =/CriOS\\/[\\d]+/.test(navigator.userAgent)\n\t\t, throw_outside = function(ex) {\n\t\t\t(view.setImmediate || view.setTimeout)(function() {\n\t\t\t\tthrow ex;\n\t\t\t}, 0);\n\t\t}\n\t\t, force_saveable_type = \"application/octet-stream\"\n\t\t// the Blob API is fundamentally broken as there is no \"downloadfinished\" event to subscribe to\n\t\t, arbitrary_revoke_timeout = 1000 * 40 // in ms\n\t\t, revoke = function(file) {\n\t\t\tvar revoker = function() {\n\t\t\t\tif (typeof file === \"string\") { // file is an object URL\n\t\t\t\t\tget_URL().revokeObjectURL(file);\n\t\t\t\t} else { // file is a File\n\t\t\t\t\tfile.remove();\n\t\t\t\t}\n\t\t\t};\n\t\t\tsetTimeout(revoker, arbitrary_revoke_timeout);\n\t\t}\n\t\t, dispatch = function(filesaver, event_types, event) {\n\t\t\tevent_types = [].concat(event_types);\n\t\t\tvar i = event_types.length;\n\t\t\twhile (i--) {\n\t\t\t\tvar listener = filesaver[\"on\" + event_types[i]];\n\t\t\t\tif (typeof listener === \"function\") {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlistener.call(filesaver, event || filesaver);\n\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\tthrow_outside(ex);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t, auto_bom = function(blob) {\n\t\t\t// prepend BOM for UTF-8 XML and text/* types (including HTML)\n\t\t\t// note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n\t\t\tif (/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n\t\t\t\treturn new Blob([String.fromCharCode(0xFEFF), blob], {type: blob.type});\n\t\t\t}\n\t\t\treturn blob;\n\t\t}\n\t\t, FileSaver = function(blob, name, no_auto_bom) {\n\t\t\tif (!no_auto_bom) {\n\t\t\t\tblob = auto_bom(blob);\n\t\t\t}\n\t\t\t// First try a.download, then web filesystem, then object URLs\n\t\t\tvar\n\t\t\t\t filesaver = this\n\t\t\t\t, type = blob.type\n\t\t\t\t, force = type === force_saveable_type\n\t\t\t\t, object_url\n\t\t\t\t, dispatch_all = function() {\n\t\t\t\t\tdispatch(filesaver, \"writestart progress write writeend\".split(\" \"));\n\t\t\t\t}\n\t\t\t\t// on any filesys errors revert to saving with object URLs\n\t\t\t\t, fs_error = function() {\n\t\t\t\t\tif ((is_chrome_ios || (force && is_safari)) && view.FileReader) {\n\t\t\t\t\t\t// Safari doesn't allow downloading of blob urls\n\t\t\t\t\t\tvar reader = new FileReader();\n\t\t\t\t\t\treader.onloadend = function() {\n\t\t\t\t\t\t\tvar url = is_chrome_ios ? reader.result : reader.result.replace(/^data:[^;]*;/, 'data:attachment/file;');\n\t\t\t\t\t\t\tvar popup = view.open(url, '_blank');\n\t\t\t\t\t\t\tif(!popup) view.location.href = url;\n\t\t\t\t\t\t\turl=undefined; // release reference before dispatching\n\t\t\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\n\t\t\t\t\t\t\tdispatch_all();\n\t\t\t\t\t\t};\n\t\t\t\t\t\treader.readAsDataURL(blob);\n\t\t\t\t\t\tfilesaver.readyState = filesaver.INIT;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t// don't create more object URLs than needed\n\t\t\t\t\tif (!object_url) {\n\t\t\t\t\t\tobject_url = get_URL().createObjectURL(blob);\n\t\t\t\t\t}\n\t\t\t\t\tif (force) {\n\t\t\t\t\t\tview.location.href = object_url;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar opened = view.open(object_url, \"_blank\");\n\t\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\t\t// Apple does not allow window.open, see https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html\n\t\t\t\t\t\t\tview.location.href = object_url;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\n\t\t\t\t\tdispatch_all();\n\t\t\t\t\trevoke(object_url);\n\t\t\t\t}\n\t\t\t;\n\t\t\tfilesaver.readyState = filesaver.INIT;\n\n\t\t\tif (can_use_save_link) {\n\t\t\t\tobject_url = get_URL().createObjectURL(blob);\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tsave_link.href = object_url;\n\t\t\t\t\tsave_link.download = name;\n\t\t\t\t\tclick(save_link);\n\t\t\t\t\tdispatch_all();\n\t\t\t\t\trevoke(object_url);\n\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfs_error();\n\t\t}\n\t\t, FS_proto = FileSaver.prototype\n\t\t, saveAs = function(blob, name, no_auto_bom) {\n\t\t\treturn new FileSaver(blob, name || blob.name || \"download\", no_auto_bom);\n\t\t}\n\t;\n\t// IE 10+ (native saveAs)\n\tif (typeof navigator !== \"undefined\" && navigator.msSaveOrOpenBlob) {\n\t\treturn function(blob, name, no_auto_bom) {\n\t\t\tname = name || blob.name || \"download\";\n\n\t\t\tif (!no_auto_bom) {\n\t\t\t\tblob = auto_bom(blob);\n\t\t\t}\n\t\t\treturn navigator.msSaveOrOpenBlob(blob, name);\n\t\t};\n\t}\n\n\tFS_proto.abort = function(){};\n\tFS_proto.readyState = FS_proto.INIT = 0;\n\tFS_proto.WRITING = 1;\n\tFS_proto.DONE = 2;\n\n\tFS_proto.error =\n\tFS_proto.onwritestart =\n\tFS_proto.onprogress =\n\tFS_proto.onwrite =\n\tFS_proto.onabort =\n\tFS_proto.onerror =\n\tFS_proto.onwriteend =\n\t\tnull;\n\n\treturn saveAs;\n}(\n\t typeof self !== \"undefined\" && self\n\t|| typeof window !== \"undefined\" && window\n\t|| this.content\n));\n// `self` is undefined in Firefox for Android content script context\n// while `this` is nsIContentFrameMessageManager\n// with an attribute `content` that corresponds to the window\n\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports.saveAs = saveAs;\n} else if ((typeof define !== \"undefined\" && define !== null) && (define.amd !== null)) {\n define(\"FileSaver.js\", function() {\n return saveAs;\n });\n}\n","var domtoimage = require('dom-to-image');\nvar fileSaver = require('file-saver');\n\nL.Control.EasyPrint = L.Control.extend({\n options: {\n title: 'Print map',\n position: 'topleft',\n sizeModes: ['Current'],\n filename: 'map',\n exportOnly: false,\n hidden: false,\n tileWait: 500,\n hideControlContainer: true,\n hideClasses: [],\n customWindowTitle: window.document.title,\n spinnerBgCOlor: '#0DC5C1',\n customSpinnerClass: 'epLoader',\n defaultSizeTitles: {\n Current: 'Current Size',\n A4Landscape: 'A4 Landscape',\n A4Portrait: 'A4 Portrait'\n }\n },\n\n onAdd: function () { \n this.mapContainer = this._map.getContainer();\n this.options.sizeModes = this.options.sizeModes.map(function (sizeMode) {\n if (sizeMode === 'Current') {\n return {\n name: this.options.defaultSizeTitles.Current,\n className: 'CurrentSize'\n }\n }\n if (sizeMode === 'A4Landscape') {\n return {\n height: this._a4PageSize.height,\n width: this._a4PageSize.width,\n name: this.options.defaultSizeTitles.A4Landscape,\n className: 'A4Landscape page'\n }\n }\n if (sizeMode === 'A4Portrait') {\n return {\n height: this._a4PageSize.width,\n width: this._a4PageSize.height,\n name: this.options.defaultSizeTitles.A4Portrait,\n className: 'A4Portrait page'\n }\n };\n return sizeMode;\n }, this);\n \n var container = L.DomUtil.create('div', 'leaflet-control-easyPrint leaflet-bar leaflet-control');\n if (!this.options.hidden) {\n this._addCss();\n\n L.DomEvent.addListener(container, 'mouseover', this._togglePageSizeButtons, this);\n L.DomEvent.addListener(container, 'mouseout', this._togglePageSizeButtons, this);\n\n var btnClass = 'leaflet-control-easyPrint-button'\n if (this.options.exportOnly) btnClass = btnClass + '-export'\n\n this.link = L.DomUtil.create('a', btnClass, container);\n this.link.id = \"leafletEasyPrint\";\n this.link.title = this.options.title;\n this.holder = L.DomUtil.create('ul', 'easyPrintHolder', container);\n\n this.options.sizeModes.forEach(function (sizeMode) {\n var btn = L.DomUtil.create('li', 'easyPrintSizeMode', this.holder);\n btn.title = sizeMode.name;\n var link = L.DomUtil.create('a', sizeMode.className, btn);\n L.DomEvent.addListener(btn, 'click', this.printMap, this);\n }, this);\n\n L.DomEvent.disableClickPropagation(container);\n }\n return container;\n },\n\n printMap: function (event, filename) {\n if (filename) {\n this.options.filename = filename\n }\n if (!this.options.exportOnly) {\n this._page = window.open(\"\", \"_blank\", 'toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no,left=10, top=10, width=200, height=250, visible=none');\n this._page.document.write(this._createSpinner(this.options.customWindowTitle, this.options.customSpinnerClass, this.options.spinnerBgCOlor));\n }\n this.originalState = {\n mapWidth: this.mapContainer.style.width,\n widthWasAuto: false,\n widthWasPercentage: false,\n mapHeight: this.mapContainer.style.height,\n zoom: this._map.getZoom(),\n center: this._map.getCenter()\n };\n if (this.originalState.mapWidth === 'auto') {\n this.originalState.mapWidth = this._map.getSize().x + 'px'\n this.originalState.widthWasAuto = true\n } else if (this.originalState.mapWidth.includes('%')) {\n this.originalState.percentageWidth = this.originalState.mapWidth\n this.originalState.widthWasPercentage = true\n this.originalState.mapWidth = this._map.getSize().x + 'px'\n }\n this._map.fire(\"easyPrint-start\", { event: event });\n if (!this.options.hidden) {\n this._togglePageSizeButtons({type: null});\n }\n if (this.options.hideControlContainer) {\n this._toggleControls(); \n }\n if (this.options.hideClasses) {\n this._toggleClasses(this.options.hideClasses);\n }\n var sizeMode = typeof event !== 'string' ? event.target.className : event;\n if (sizeMode === 'CurrentSize') {\n return this._printOpertion(sizeMode);\n }\n this.outerContainer = this._createOuterContainer(this.mapContainer)\n if (this.originalState.widthWasAuto) {\n this.outerContainer.style.width = this.originalState.mapWidth\n }\n this._createImagePlaceholder(sizeMode)\n },\n\n _createImagePlaceholder: function (sizeMode) {\n var plugin = this;\n domtoimage.toPng(this.mapContainer, {\n width: parseInt(this.originalState.mapWidth.replace('px')),\n height: parseInt(this.originalState.mapHeight.replace('px'))\n })\n .then(function (dataUrl) {\n plugin.blankDiv = document.createElement(\"div\");\n var blankDiv = plugin.blankDiv;\n plugin.outerContainer.parentElement.insertBefore(blankDiv, plugin.outerContainer);\n blankDiv.className = 'epHolder';\n blankDiv.style.backgroundImage = 'url(\"' + dataUrl + '\")';\n blankDiv.style.position = 'absolute';\n blankDiv.style.zIndex = 1011;\n blankDiv.style.display = 'initial';\n blankDiv.style.width = plugin.originalState.mapWidth;\n blankDiv.style.height = plugin.originalState.mapHeight;\n plugin._resizeAndPrintMap(sizeMode);\n })\n .catch(function (error) {\n console.error('oops, something went wrong!', error);\n });\n },\n\n _resizeAndPrintMap: function (sizeMode) {\n this.outerContainer.style.opacity = 0;\n var pageSize = this.options.sizeModes.filter(function (item) {\n return item.className.indexOf(sizeMode) > -1;\n });\n pageSize = pageSize[0]\n this.mapContainer.style.width = pageSize.width + 'px';\n this.mapContainer.style.height = pageSize.height + 'px';\n if (this.mapContainer.style.width > this.mapContainer.style.height) {\n this.orientation = 'portrait';\n } else {\n this.orientation = 'landscape';\n }\n this._map.setView(this.originalState.center);\n this._map.setZoom(this.originalState.zoom);\n this._map.invalidateSize();\n if (this.options.tileLayer) {\n this._pausePrint(sizeMode)\n } else {\n this._printOpertion(sizeMode)\n }\n },\n\n _pausePrint: function (sizeMode) {\n var plugin = this\n var loadingTest = setInterval(function () { \n if(!plugin.options.tileLayer.isLoading()) {\n clearInterval(loadingTest);\n plugin._printOpertion(sizeMode)\n }\n }, plugin.options.tileWait);\n },\n\n _printOpertion: function (sizemode) {\n var plugin = this;\n var widthForExport = this.mapContainer.style.width\n if (this.originalState.widthWasAuto && sizemode === 'CurrentSize' || this.originalState.widthWasPercentage && sizemode === 'CurrentSize') {\n widthForExport = this.originalState.mapWidth\n }\n domtoimage.toPng(plugin.mapContainer, {\n width: parseInt(widthForExport),\n height: parseInt(plugin.mapContainer.style.height.replace('px'))\n })\n .then(function (dataUrl) {\n var blob = plugin._dataURItoBlob(dataUrl);\n if (plugin.options.exportOnly) {\n fileSaver.saveAs(blob, plugin.options.filename + '.png');\n } else {\n plugin._sendToBrowserPrint(dataUrl, plugin.orientation);\n }\n plugin._toggleControls(true);\n plugin._toggleClasses(plugin.options.hideClasses, true);\n\n if (plugin.outerContainer) {\n if (plugin.originalState.widthWasAuto) {\n plugin.mapContainer.style.width = 'auto'\n } else if (plugin.originalState.widthWasPercentage) {\n plugin.mapContainer.style.width = plugin.originalState.percentageWidth\n }\n else {\n plugin.mapContainer.style.width = plugin.originalState.mapWidth; \n }\n plugin.mapContainer.style.height = plugin.originalState.mapHeight;\n plugin._removeOuterContainer(plugin.mapContainer, plugin.outerContainer, plugin.blankDiv)\n plugin._map.invalidateSize();\n plugin._map.setView(plugin.originalState.center);\n plugin._map.setZoom(plugin.originalState.zoom);\n }\n plugin._map.fire(\"easyPrint-finished\");\n })\n .catch(function (error) {\n console.error('Print operation failed', error);\n }); \n },\n\n _sendToBrowserPrint: function (img, orientation) {\n this._page.resizeTo(600, 800); \n var pageContent = this._createNewWindow(img, orientation, this)\n this._page.document.body.innerHTML = ''\n this._page.document.write(pageContent);\n this._page.document.close(); \n },\n\n _createSpinner: function (title, spinnerClass, spinnerColor) {\n return ``+ title + `\n
Loading...
`;\n },\n\n _createNewWindow: function (img, orientation, plugin) {\n return `\n \n \n `;\n },\n\n _createOuterContainer: function (mapDiv) {\n var outerContainer = document.createElement('div'); \n mapDiv.parentNode.insertBefore(outerContainer, mapDiv); \n mapDiv.parentNode.removeChild(mapDiv);\n outerContainer.appendChild(mapDiv);\n outerContainer.style.width = mapDiv.style.width;\n outerContainer.style.height = mapDiv.style.height;\n outerContainer.style.display = 'inline-block'\n outerContainer.style.overflow = 'hidden';\n return outerContainer;\n },\n\n _removeOuterContainer: function (mapDiv, outerContainer, blankDiv) {\n if (outerContainer.parentNode) {\n outerContainer.parentNode.insertBefore(mapDiv, outerContainer);\n outerContainer.parentNode.removeChild(blankDiv);\n outerContainer.parentNode.removeChild(outerContainer); \n }\n },\n\n _addCss: function () {\n var css = document.createElement(\"style\");\n css.type = \"text/css\";\n css.innerHTML = `.leaflet-control-easyPrint-button { \n background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMiA1MTI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8cGF0aCBkPSJNMTI4LDMyaDI1NnY2NEgxMjhWMzJ6IE00ODAsMTI4SDMyYy0xNy42LDAtMzIsMTQuNC0zMiwzMnYxNjBjMCwxNy42LDE0LjM5OCwzMiwzMiwzMmg5NnYxMjhoMjU2VjM1Mmg5NiAgIGMxNy42LDAsMzItMTQuNCwzMi0zMlYxNjBDNTEyLDE0Mi40LDQ5Ny42LDEyOCw0ODAsMTI4eiBNMzUyLDQ0OEgxNjBWMjg4aDE5MlY0NDh6IE00ODcuMTk5LDE3NmMwLDEyLjgxMy0xMC4zODcsMjMuMi0yMy4xOTcsMjMuMiAgIGMtMTIuODEyLDAtMjMuMjAxLTEwLjM4Ny0yMy4yMDEtMjMuMnMxMC4zODktMjMuMiwyMy4xOTktMjMuMkM0NzYuODE0LDE1Mi44LDQ4Ny4xOTksMTYzLjE4Nyw0ODcuMTk5LDE3NnoiIGZpbGw9IiMwMDAwMDAiLz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K);\n background-size: 16px 16px; \n cursor: pointer; \n }\n .leaflet-control-easyPrint-button-export { \n background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDQzMy41IDQzMy41IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0MzMuNSA0MzMuNTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8Zz4KCTxnIGlkPSJmaWxlLWRvd25sb2FkIj4KCQk8cGF0aCBkPSJNMzk1LjI1LDE1M2gtMTAyVjBoLTE1M3YxNTNoLTEwMmwxNzguNSwxNzguNUwzOTUuMjUsMTUzeiBNMzguMjUsMzgyLjV2NTFoMzU3di01MUgzOC4yNXoiIGZpbGw9IiMwMDAwMDAiLz4KCTwvZz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K);\n background-size: 16px 16px; \n cursor: pointer; \n }\n .easyPrintHolder a {\n background-size: 16px 16px;\n cursor: pointer;\n }\n .easyPrintHolder .CurrentSize{\n background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTZweCIgdmVyc2lvbj0iMS4xIiBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNjQgNjQiPgogIDxnPgogICAgPGcgZmlsbD0iIzFEMUQxQiI+CiAgICAgIDxwYXRoIGQ9Ik0yNS4yNTUsMzUuOTA1TDQuMDE2LDU3LjE0NVY0Ni41OWMwLTEuMTA4LTAuODk3LTIuMDA4LTIuMDA4LTIuMDA4QzAuODk4LDQ0LjU4MiwwLDQ1LjQ4MSwwLDQ2LjU5djE1LjQwMiAgICBjMCwwLjI2MSwwLjA1MywwLjUyMSwwLjE1NSwwLjc2N2MwLjIwMywwLjQ5MiwwLjU5NCwwLjg4MiwxLjA4NiwxLjA4N0MxLjQ4Niw2My45NDcsMS43NDcsNjQsMi4wMDgsNjRoMTUuNDAzICAgIGMxLjEwOSwwLDIuMDA4LTAuODk4LDIuMDA4LTIuMDA4cy0wLjg5OC0yLjAwOC0yLjAwOC0yLjAwOEg2Ljg1NWwyMS4yMzgtMjEuMjRjMC43ODQtMC43ODQsMC43ODQtMi4wNTUsMC0yLjgzOSAgICBTMjYuMDM5LDM1LjEyMSwyNS4yNTUsMzUuOTA1eiIgZmlsbD0iIzAwMDAwMCIvPgogICAgICA8cGF0aCBkPSJtNjMuODQ1LDEuMjQxYy0wLjIwMy0wLjQ5MS0wLjU5NC0wLjg4Mi0xLjA4Ni0xLjA4Ny0wLjI0NS0wLjEwMS0wLjUwNi0wLjE1NC0wLjc2Ny0wLjE1NGgtMTUuNDAzYy0xLjEwOSwwLTIuMDA4LDAuODk4LTIuMDA4LDIuMDA4czAuODk4LDIuMDA4IDIuMDA4LDIuMDA4aDEwLjU1NmwtMjEuMjM4LDIxLjI0Yy0wLjc4NCwwLjc4NC0wLjc4NCwyLjA1NSAwLDIuODM5IDAuMzkyLDAuMzkyIDAuOTA2LDAuNTg5IDEuNDIsMC41ODlzMS4wMjctMC4xOTcgMS40MTktMC41ODlsMjEuMjM4LTIxLjI0djEwLjU1NWMwLDEuMTA4IDAuODk3LDIuMDA4IDIuMDA4LDIuMDA4IDEuMTA5LDAgMi4wMDgtMC44OTkgMi4wMDgtMi4wMDh2LTE1LjQwMmMwLTAuMjYxLTAuMDUzLTAuNTIyLTAuMTU1LTAuNzY3eiIgZmlsbD0iIzAwMDAwMCIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==)\n }\n .easyPrintHolder .page {\n background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTguMS4xLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQ0NC44MzMgNDQ0LjgzMyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDQ0LjgzMyA0NDQuODMzOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjUxMnB4IiBoZWlnaHQ9IjUxMnB4Ij4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNNTUuMjUsNDQ0LjgzM2gzMzQuMzMzYzkuMzUsMCwxNy03LjY1LDE3LTE3VjEzOS4xMTdjMC00LjgxNy0xLjk4My05LjM1LTUuMzgzLTEyLjQ2N0wyNjkuNzMzLDQuNTMzICAgIEMyNjYuNjE3LDEuNywyNjIuMzY3LDAsMjU4LjExNywwSDU1LjI1Yy05LjM1LDAtMTcsNy42NS0xNywxN3Y0MTAuODMzQzM4LjI1LDQzNy4xODMsNDUuOSw0NDQuODMzLDU1LjI1LDQ0NC44MzN6ICAgICBNMzcyLjU4MywxNDYuNDgzdjAuODVIMjU2LjQxN3YtMTA4LjhMMzcyLjU4MywxNDYuNDgzeiBNNzIuMjUsMzRoMTUwLjE2N3YxMzAuMzMzYzAsOS4zNSw3LjY1LDE3LDE3LDE3aDEzMy4xNjd2MjI5LjVINzIuMjVWMzR6ICAgICIgZmlsbD0iIzAwMDAwMCIvPgoJPC9nPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+Cjwvc3ZnPgo=);\n }\n .easyPrintHolder .A4Landscape { \n transform: rotate(-90deg);\n }\n\n .leaflet-control-easyPrint-button{\n display: inline-block;\n }\n .easyPrintHolder{\n margin-top:-31px;\n margin-bottom: -5px;\n margin-left: 30px;\n padding-left: 0px;\n display: none;\n }\n\n .easyPrintSizeMode {\n display: inline-block;\n }\n .easyPrintHolder .easyPrintSizeMode a {\n border-radius: 0px;\n }\n\n .easyPrintHolder .easyPrintSizeMode:last-child a{\n border-top-right-radius: 2px;\n border-bottom-right-radius: 2px;\n margin-left: -1px;\n }\n\n .easyPrintPortrait:hover, .easyPrintLandscape:hover{\n background-color: #757570;\n cursor: pointer;\n }`;\n document.body.appendChild(css);\n },\n\n _dataURItoBlob: function (dataURI) {\n var byteString = atob(dataURI.split(',')[1]);\n var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];\n var ab = new ArrayBuffer(byteString.length);\n var dw = new DataView(ab);\n for(var i = 0; i < byteString.length; i++) {\n dw.setUint8(i, byteString.charCodeAt(i));\n }\n return new Blob([ab], {type: mimeString});\n },\n\n _togglePageSizeButtons: function (e) {\n var holderStyle = this.holder.style\n var linkStyle = this.link.style\n if (e.type === 'mouseover') {\n holderStyle.display = 'block';\n linkStyle.borderTopRightRadius = '0'\n linkStyle.borderBottomRightRadius = '0'\n } else {\n holderStyle.display = 'none';\n linkStyle.borderTopRightRadius = '2px'\n linkStyle.borderBottomRightRadius = '2px' \n }\n },\n\n _toggleControls: function (show) {\n var controlContainer = document.getElementsByClassName(\"leaflet-control-container\")[0];\n if (show) return controlContainer.style.display = 'block';\n controlContainer.style.display = 'none';\n },\n _toggleClasses: function (classes, show) {\n classes.forEach(function (className) {\n var div = document.getElementsByClassName(className)[0];\n if (show) return div.style.display = 'block';\n div.style.display = 'none';\n });\n },\n\n _a4PageSize: {\n height: 715,\n width: 1045\n }\n\n});\n\nL.easyPrint = function(options) {\n return new L.Control.EasyPrint(options);\n};\n\n"],"names":["global","toSvg","node","options","applyOptions","clone","bgcolor","style","backgroundColor","width","height","Object","keys","forEach","property","copyOptions","Promise","resolve","then","cloneNode","filter","embedFonts","inlineImages","makeSvgDataUri","util","toPixelData","draw","canvas","getContext","getImageData","data","toPng","toDataURL","toJpeg","quality","toBlob","canvasToBlob","domtoimage","impl","imagePlaceholder","defaultOptions","cacheBust","domNode","newCanvas","document","createElement","ctx","fillStyle","fillRect","makeImage","delay","image","drawImage","root","makeNodeCopy","HTMLCanvasElement","cloneChildren","original","children","childNodes","length","parent","done","child","childClone","appendChild","asArray","processClone","cloneStyle","source","target","cssText","name","setProperty","getPropertyValue","getPropertyPriority","window","getComputedStyle","clonePseudoElements","clonePseudoElement","element","content","className","uid","styleElement","selector","formatProperty","map","join","createTextNode","copyUserInput","HTMLTextAreaElement","innerHTML","value","HTMLInputElement","setAttribute","fixSvg","SVGElement","SVGRectElement","attribute","getAttribute","Element","fontFaces","resolveAll","styleNode","images","inlineAll","XMLSerializer","serializeToString","escapeXhtml","xhtml","foreignObject","svg","mimes","WOFF","woff","woff2","ttf","eot","png","jpg","jpeg","gif","tiff","parseExtension","url","match","exec","mimeType","extension","toLowerCase","isDataUrl","search","binaryString","atob","split","binaryArray","Uint8Array","i","charCodeAt","Blob","type","resolveUrl","baseUrl","doc","implementation","createHTMLDocument","base","head","a","body","href","uri","reject","Image","onload","onerror","src","getAndEncode","TIMEOUT","test","Date","getTime","request","readyState","status","placeholder","fail","encoder","FileReader","onloadend","result","readAsDataURL","response","timeout","message","console","error","XMLHttpRequest","onreadystatechange","ontimeout","responseType","open","send","dataAsUrl","escape","string","replace","ms","arg","setTimeout","arrayLike","array","push","leftBorder","px","rightBorder","scrollWidth","topBorder","bottomBorder","scrollHeight","styleProperty","parseFloat","index","Math","random","pow","toString","slice","inliner","shouldProcess","URL_REGEX","readUrls","inline","get","urlAsRegex","RegExp","dataUrl","urls","readAll","webFonts","all","webFont","cssStrings","selectWebFontRules","cssRules","rule","CSSRule","FONT_FACE_RULE","getCssRules","styleSheets","sheet","bind","e","log","newWebFont","webFontRule","parentStyleSheet","rules","newImage","background","inlined","HTMLImageElement","undefined","module","saveAs","view","navigator","userAgent","get_URL","URL","webkitURL","save_link","createElementNS","can_use_save_link","click","event","MouseEvent","dispatchEvent","is_safari","HTMLElement","safari","is_chrome_ios","throw_outside","ex","setImmediate","revoke","file","revoker","revokeObjectURL","remove","dispatch","filesaver","event_types","concat","listener","call","auto_bom","blob","String","fromCharCode","FileSaver","no_auto_bom","object_url","this","force","dispatch_all","INIT","createObjectURL","download","DONE","reader","location","FS_proto","prototype","msSaveOrOpenBlob","abort","WRITING","onwritestart","onprogress","onwrite","onabort","onwriteend","self","exports","L","Control","EasyPrint","extend","title","mapContainer","_map","getContainer","sizeModes","sizeMode","defaultSizeTitles","Current","_a4PageSize","A4Landscape","A4Portrait","container","DomUtil","create","hidden","_addCss","DomEvent","addListener","_togglePageSizeButtons","btnClass","exportOnly","link","id","holder","btn","printMap","disableClickPropagation","filename","_page","write","_createSpinner","customWindowTitle","customSpinnerClass","spinnerBgCOlor","originalState","getZoom","getCenter","mapWidth","getSize","x","widthWasAuto","includes","percentageWidth","widthWasPercentage","fire","hideControlContainer","_toggleControls","hideClasses","_toggleClasses","_printOpertion","outerContainer","_createOuterContainer","_createImagePlaceholder","plugin","parseInt","mapHeight","blankDiv","parentElement","insertBefore","backgroundImage","position","zIndex","display","_resizeAndPrintMap","catch","opacity","pageSize","item","indexOf","orientation","setView","center","setZoom","zoom","invalidateSize","tileLayer","_pausePrint","loadingTest","setInterval","isLoading","tileWait","sizemode","widthForExport","_dataURItoBlob","_sendToBrowserPrint","_removeOuterContainer","img","resizeTo","pageContent","_createNewWindow","close","spinnerClass","spinnerColor","mapDiv","parentNode","removeChild","overflow","css","dataURI","byteString","mimeString","ab","ArrayBuffer","dw","DataView","setUint8","holderStyle","linkStyle","borderTopRightRadius","borderBottomRightRadius","show","controlContainer","getElementsByClassName","classes","div","easyPrint"],"mappings":"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"} \ No newline at end of file diff --git a/examples/savePNG.html b/examples/savePNG.html new file mode 100644 index 0000000..b3cf5ef --- /dev/null +++ b/examples/savePNG.html @@ -0,0 +1,67 @@ + + + + Quick Start - Leaflet - Easy Print + + + + + + + + + + +
+ + + + + + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..766dbee --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2296 @@ +{ + "name": "leaflet-easyprint", + "version": "2.1.8", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "dev": true + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "requires": { + "acorn": "^3.0.4" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true + } + } + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + } + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "dev": true, + "requires": { + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-external-helpers": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz", + "integrity": "sha1-IoX0iwK9Xe3oUXXK+MYuhq3M76E=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, + "requires": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, + "requires": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, + "requires": { + "regenerator-transform": "^0.10.0" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-preset-es2015": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", + "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.24.1", + "babel-plugin-transform-es2015-classes": "^6.24.1", + "babel-plugin-transform-es2015-computed-properties": "^6.24.1", + "babel-plugin-transform-es2015-destructuring": "^6.22.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", + "babel-plugin-transform-es2015-for-of": "^6.22.0", + "babel-plugin-transform-es2015-function-name": "^6.24.1", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-umd": "^6.24.1", + "babel-plugin-transform-es2015-object-super": "^6.24.1", + "babel-plugin-transform-es2015-parameters": "^6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", + "babel-plugin-transform-regenerator": "^6.24.1" + } + }, + "babel-preset-es2016": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2016/-/babel-preset-es2016-6.24.1.tgz", + "integrity": "sha1-+QC/k+LrwNJ235uKtZck6/2Vn4s=", + "dev": true, + "requires": { + "babel-plugin-transform-exponentiation-operator": "^6.24.1" + } + }, + "babel-preset-es2017": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2017/-/babel-preset-es2017-6.24.1.tgz", + "integrity": "sha1-WXvq37n38gi8/YoS6bKym4svFNE=", + "dev": true, + "requires": { + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^6.24.1" + } + }, + "babel-preset-latest": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-latest/-/babel-preset-latest-6.24.1.tgz", + "integrity": "sha1-Z33gaRVKdIXC0lxXfAL2JLhbheg=", + "dev": true, + "requires": { + "babel-preset-es2015": "^6.24.1", + "babel-preset-es2016": "^6.24.1", + "babel-preset-es2017": "^6.24.1" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "builtin-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-2.0.0.tgz", + "integrity": "sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg==", + "dev": true + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "requires": { + "callsites": "^0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "core-js": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz", + "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-to-image": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/dom-to-image/-/dom-to-image-2.6.0.tgz", + "integrity": "sha1-ilA2CAiMh7HCL5A0rgMuGJiVWGc=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", + "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", + "dev": true, + "requires": { + "ajv": "^5.3.0", + "babel-code-frame": "^6.22.0", + "chalk": "^2.1.0", + "concat-stream": "^1.6.0", + "cross-spawn": "^5.1.0", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.4", + "esquery": "^1.0.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.0.1", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^3.0.6", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.9.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.0.1", + "require-uncached": "^1.0.3", + "semver": "^5.3.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "~2.0.1", + "table": "4.0.2", + "text-table": "~0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "eslint-config-mourner": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eslint-config-mourner/-/eslint-config-mourner-2.0.3.tgz", + "integrity": "sha512-ydFFzE/WkqvmozI3CM0lAtDZoYfmN03ycjlHzdPZW5x+o3Me1pI0lyfpsWoz9kOqykZk8qlvOVC5BN5UMwtXrg==", + "dev": true + }, + "eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "dev": true + }, + "espree": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "requires": { + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "estree-walker": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz", + "integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "requires": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + } + }, + "file-saver": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-1.3.8.tgz", + "integrity": "sha512-spKHSBQIxxS81N/O21WmuXA2F6wppUCsutpzenOeZzOCCJ5gEfcbqJP983IrpLXzYmXnMUa6J03SubcNPdKrlg==" + }, + "flat-cache": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", + "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "dev": true, + "requires": { + "circular-json": "^0.3.1", + "graceful-fs": "^4.1.2", + "rimraf": "~2.6.2", + "write": "^0.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", + "dev": true + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "magic-string": { + "version": "0.22.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", + "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", + "dev": true, + "requires": { + "vlq": "^0.2.2" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "regexpp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", + "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", + "dev": true + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + } + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "require-relative": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", + "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=", + "dev": true + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "requires": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + } + }, + "resolve": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.2.tgz", + "integrity": "sha512-cAVTI2VLHWYsGOirfeYVVQ7ZDejtQ9fp4YhYckWDEkFfqbVjaT11iM8k6xSAfGFMM+gDpZjMnFssPu8we+mqFw==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "0.41.6", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.41.6.tgz", + "integrity": "sha1-4NBUl4d6OYwQTYFtJzOnGKepTio=", + "dev": true, + "requires": { + "source-map-support": "^0.4.0" + } + }, + "rollup-plugin-babel": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-2.7.1.tgz", + "integrity": "sha1-FlKBl7D5OKFTb0RoPHqT1XMYL1c=", + "dev": true, + "requires": { + "babel-core": "6", + "babel-plugin-transform-es2015-classes": "^6.9.0", + "object-assign": "^4.1.0", + "rollup-pluginutils": "^1.5.0" + } + }, + "rollup-plugin-commonjs": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.4.1.tgz", + "integrity": "sha512-mg+WuD+jlwoo8bJtW3Mvx7Tz6TsIdMsdhuvCnDMoyjh0oxsVgsjB/N0X984RJCWwc5IIiqNVJhXeeITcc73++A==", + "dev": true, + "requires": { + "acorn": "^5.2.1", + "estree-walker": "^0.5.0", + "magic-string": "^0.22.4", + "resolve": "^1.4.0", + "rollup-pluginutils": "^2.0.1" + }, + "dependencies": { + "estree-walker": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.2.tgz", + "integrity": "sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==", + "dev": true + }, + "rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "dev": true, + "requires": { + "estree-walker": "^0.6.1" + }, + "dependencies": { + "estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true + } + } + } + } + }, + "rollup-plugin-node-resolve": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.4.0.tgz", + "integrity": "sha512-PJcd85dxfSBWih84ozRtBkB731OjXk0KnzN0oGp7WOWcarAFkVa71cV5hTJg2qpVsV2U8EUwrzHP3tvy9vS3qg==", + "dev": true, + "requires": { + "builtin-modules": "^2.0.0", + "is-module": "^1.0.0", + "resolve": "^1.1.6" + } + }, + "rollup-plugin-uglify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-uglify/-/rollup-plugin-uglify-1.0.2.tgz", + "integrity": "sha1-1KpvXfE1Iurhuhd4DHxMcJYDg1k=", + "dev": true, + "requires": { + "uglify-js": "^2.6.1" + } + }, + "rollup-pluginutils": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz", + "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=", + "dev": true, + "requires": { + "estree-walker": "^0.2.1", + "minimatch": "^3.0.2" + } + }, + "rollup-watch": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/rollup-watch/-/rollup-watch-3.2.2.tgz", + "integrity": "sha1-XldCMunvNtqRd/RpRtgIDLJnNUs=", + "dev": true, + "requires": { + "require-relative": "0.8.7" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "^2.1.0" + } + }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "dev": true + }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "dev": true, + "requires": { + "rx-lite": "*" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "table": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", + "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", + "dev": true, + "requires": { + "ajv": "^5.2.3", + "ajv-keywords": "^2.1.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", + "slice-ansi": "1.0.0", + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } +} diff --git a/package.json b/package.json index e1e30f2..7204f58 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ }, "scripts": { "build": "rollup -c", - "dev": "rollup -c -w", + "dev": "rollup -c -w", "prepublish": "npm run build" }, "keywords": [ From 69160c0c6104bb072656c6076e5f795c01c0566e Mon Sep 17 00:00:00 2001 From: astridx Date: Sun, 24 Nov 2019 12:48:42 +0100 Subject: [PATCH 2/2] wip --- bower.json | 3 +- dist/bundle.js | 12 +- dist/bundle.js.map | 2 +- package-lock.json | 584 +++++++++++++++++++++++++++++++++++++++++++-- package.json | 3 +- src/index.js | 6 +- 6 files changed, 580 insertions(+), 30 deletions(-) diff --git a/bower.json b/bower.json index 75fb201..9023178 100644 --- a/bower.json +++ b/bower.json @@ -19,6 +19,7 @@ "homepage": "https://github.com/rowanwins/leaflet-easyPrint#readme", "dependencies": { "dom-to-image": "^2.5.2", - "file-saver": "^1.3.3" + "file-saver": "^1.3.3", + "jspdf": "^1.5.3" } } \ No newline at end of file diff --git a/dist/bundle.js b/dist/bundle.js index a108b53..1a62b62 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -1,2 +1,12 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e():"function"==typeof define&&define.amd?define(e):e()}(0,function(){"use strict";function t(t,e){return e={exports:{}},t(e,e.exports),e.exports}var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=t(function(t){!function(e){function n(t,e){function n(t){return e.bgcolor&&(t.style.backgroundColor=e.bgcolor),e.width&&(t.style.width=e.width+"px"),e.height&&(t.style.height=e.height+"px"),e.style&&Object.keys(e.style).forEach(function(n){t.style[n]=e.style[n]}),t}return e=e||{},s(e),Promise.resolve(t).then(function(t){return u(t,e.filter,!0)}).then(c).then(d).then(n).then(function(n){return g(n,e.width||h.width(t),e.height||h.height(t))})}function i(t,e){return l(t,e||{}).then(function(e){return e.getContext("2d").getImageData(0,0,h.width(t),h.height(t)).data})}function o(t,e){return l(t,e||{}).then(function(t){return t.toDataURL()})}function r(t,e){return e=e||{},l(t,e).then(function(t){return t.toDataURL("image/jpeg",e.quality||1)})}function a(t,e){return l(t,e||{}).then(h.canvasToBlob)}function s(t){void 0===t.imagePlaceholder?w.impl.options.imagePlaceholder=M.imagePlaceholder:w.impl.options.imagePlaceholder=t.imagePlaceholder,void 0===t.cacheBust?w.impl.options.cacheBust=M.cacheBust:w.impl.options.cacheBust=t.cacheBust}function l(t,e){function i(t){var n=document.createElement("canvas");if(n.width=e.width||h.width(t),n.height=e.height||h.height(t),e.bgcolor){var i=n.getContext("2d");i.fillStyle=e.bgcolor,i.fillRect(0,0,n.width,n.height)}return n}return n(t,e).then(h.makeImage).then(h.delay(100)).then(function(e){var n=i(t);return n.getContext("2d").drawImage(e,0,0),n})}function u(t,e,n){function i(t){return t instanceof HTMLCanvasElement?h.makeImage(t.toDataURL()):t.cloneNode(!1)}function o(t,e,n){var i=t.childNodes;return 0===i.length?Promise.resolve(e):function(t,e,n){var i=Promise.resolve();return e.forEach(function(e){i=i.then(function(){return u(e,n)}).then(function(e){e&&t.appendChild(e)})}),i}(e,h.asArray(i),n).then(function(){return e})}function r(t,e){function n(){!function(t,e){t.cssText?e.cssText=t.cssText:function(t,e){h.asArray(t).forEach(function(n){e.setProperty(n,t.getPropertyValue(n),t.getPropertyPriority(n))})}(t,e)}(window.getComputedStyle(t),e.style)}function i(){function n(n){var i=window.getComputedStyle(t,n),o=i.getPropertyValue("content");if(""!==o&&"none"!==o){var r=h.uid();e.className=e.className+" "+r;var a=document.createElement("style");a.appendChild(function(t,e,n){var i="."+t+":"+e,o=n.cssText?function(t){var e=t.getPropertyValue("content");return t.cssText+" content: "+e+";"}(n):function(t){function e(e){return e+": "+t.getPropertyValue(e)+(t.getPropertyPriority(e)?" !important":"")}return h.asArray(t).map(e).join("; ")+";"}(n);return document.createTextNode(i+"{"+o+"}")}(r,n,i)),e.appendChild(a)}}[":before",":after"].forEach(function(t){n(t)})}function o(){t instanceof HTMLTextAreaElement&&(e.innerHTML=t.value),t instanceof HTMLInputElement&&e.setAttribute("value",t.value)}function r(){e instanceof SVGElement&&(e.setAttribute("xmlns","http://www.w3.org/2000/svg"),e instanceof SVGRectElement&&["width","height"].forEach(function(t){var n=e.getAttribute(t);n&&e.style.setProperty(t,n)}))}return e instanceof Element?Promise.resolve().then(n).then(i).then(o).then(r).then(function(){return e}):e}return n||!e||e(t)?Promise.resolve(t).then(i).then(function(n){return o(t,n,e)}).then(function(e){return r(t,e)}):Promise.resolve()}function c(t){return p.resolveAll().then(function(e){var n=document.createElement("style");return t.appendChild(n),n.appendChild(document.createTextNode(e)),t})}function d(t){return f.inlineAll(t).then(function(){return t})}function g(t,e,n){return Promise.resolve(t).then(function(t){return t.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),(new XMLSerializer).serializeToString(t)}).then(h.escapeXhtml).then(function(t){return''+t+""}).then(function(t){return''+t+""}).then(function(t){return"data:image/svg+xml;charset=utf-8,"+t})}var h=function(){function t(){var t="application/font-woff";return{woff:t,woff2:t,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml"}}function e(t){var e=/\.([^\.\/]*?)$/g.exec(t);return e?e[1]:""}function n(n){var i=e(n).toLowerCase();return t()[i]||""}function i(t){return-1!==t.search(/^(data:)/)}function o(t){return new Promise(function(e){for(var n=window.atob(t.toDataURL().split(",")[1]),i=n.length,o=new Uint8Array(i),r=0;r-1});e=e[0],this.mapContainer.style.width=e.width+"px",this.mapContainer.style.height=e.height+"px",this.mapContainer.style.width>this.mapContainer.style.height?this.orientation="portrait":this.orientation="landscape",this._map.setView(this.originalState.center),this._map.setZoom(this.originalState.zoom),this._map.invalidateSize(),this.options.tileLayer?this._pausePrint(t):this._printOpertion(t)},_pausePrint:function(t){var e=this,n=setInterval(function(){e.options.tileLayer.isLoading()||(clearInterval(n),e._printOpertion(t))},e.options.tileWait)},_printOpertion:function(t){var e=this,o=this.mapContainer.style.width;(this.originalState.widthWasAuto&&"CurrentSize"===t||this.originalState.widthWasPercentage&&"CurrentSize"===t)&&(o=this.originalState.mapWidth),n.toPng(e.mapContainer,{width:parseInt(o),height:parseInt(e.mapContainer.style.height.replace("px"))}).then(function(t){var n=e._dataURItoBlob(t);e.options.exportOnly?i.saveAs(n,e.options.filename+".png"):e._sendToBrowserPrint(t,e.orientation),e._toggleControls(!0),e._toggleClasses(e.options.hideClasses,!0),e.outerContainer&&(e.originalState.widthWasAuto?e.mapContainer.style.width="auto":e.originalState.widthWasPercentage?e.mapContainer.style.width=e.originalState.percentageWidth:e.mapContainer.style.width=e.originalState.mapWidth,e.mapContainer.style.height=e.originalState.mapHeight,e._removeOuterContainer(e.mapContainer,e.outerContainer,e.blankDiv),e._map.invalidateSize(),e._map.setView(e.originalState.center),e._map.setZoom(e.originalState.zoom)),e._map.fire("easyPrint-finished")}).catch(function(t){console.error("Print operation failed",t)})},_sendToBrowserPrint:function(t,e){this._page.resizeTo(600,800);var n=this._createNewWindow(t,e,this);this._page.document.body.innerHTML="",this._page.document.write(n),this._page.document.close()},_createSpinner:function(t,e,n){return""+t+"\n
Loading...
'},_createNewWindow:function(t,e,n){return"\n \n \n `;\n },\n\n _createOuterContainer: function (mapDiv) {\n var outerContainer = document.createElement('div'); \n mapDiv.parentNode.insertBefore(outerContainer, mapDiv); \n mapDiv.parentNode.removeChild(mapDiv);\n outerContainer.appendChild(mapDiv);\n outerContainer.style.width = mapDiv.style.width;\n outerContainer.style.height = mapDiv.style.height;\n outerContainer.style.display = 'inline-block'\n outerContainer.style.overflow = 'hidden';\n return outerContainer;\n },\n\n _removeOuterContainer: function (mapDiv, outerContainer, blankDiv) {\n if (outerContainer.parentNode) {\n outerContainer.parentNode.insertBefore(mapDiv, outerContainer);\n outerContainer.parentNode.removeChild(blankDiv);\n outerContainer.parentNode.removeChild(outerContainer); \n }\n },\n\n _addCss: function () {\n var css = document.createElement(\"style\");\n css.type = \"text/css\";\n css.innerHTML = `.leaflet-control-easyPrint-button { \n background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMiA1MTI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8cGF0aCBkPSJNMTI4LDMyaDI1NnY2NEgxMjhWMzJ6IE00ODAsMTI4SDMyYy0xNy42LDAtMzIsMTQuNC0zMiwzMnYxNjBjMCwxNy42LDE0LjM5OCwzMiwzMiwzMmg5NnYxMjhoMjU2VjM1Mmg5NiAgIGMxNy42LDAsMzItMTQuNCwzMi0zMlYxNjBDNTEyLDE0Mi40LDQ5Ny42LDEyOCw0ODAsMTI4eiBNMzUyLDQ0OEgxNjBWMjg4aDE5MlY0NDh6IE00ODcuMTk5LDE3NmMwLDEyLjgxMy0xMC4zODcsMjMuMi0yMy4xOTcsMjMuMiAgIGMtMTIuODEyLDAtMjMuMjAxLTEwLjM4Ny0yMy4yMDEtMjMuMnMxMC4zODktMjMuMiwyMy4xOTktMjMuMkM0NzYuODE0LDE1Mi44LDQ4Ny4xOTksMTYzLjE4Nyw0ODcuMTk5LDE3NnoiIGZpbGw9IiMwMDAwMDAiLz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K);\n background-size: 16px 16px; \n cursor: pointer; \n }\n .leaflet-control-easyPrint-button-export { \n background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDQzMy41IDQzMy41IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0MzMuNSA0MzMuNTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8Zz4KCTxnIGlkPSJmaWxlLWRvd25sb2FkIj4KCQk8cGF0aCBkPSJNMzk1LjI1LDE1M2gtMTAyVjBoLTE1M3YxNTNoLTEwMmwxNzguNSwxNzguNUwzOTUuMjUsMTUzeiBNMzguMjUsMzgyLjV2NTFoMzU3di01MUgzOC4yNXoiIGZpbGw9IiMwMDAwMDAiLz4KCTwvZz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K);\n background-size: 16px 16px; \n cursor: pointer; \n }\n .easyPrintHolder a {\n background-size: 16px 16px;\n cursor: pointer;\n }\n .easyPrintHolder .CurrentSize{\n background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTZweCIgdmVyc2lvbj0iMS4xIiBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNjQgNjQiPgogIDxnPgogICAgPGcgZmlsbD0iIzFEMUQxQiI+CiAgICAgIDxwYXRoIGQ9Ik0yNS4yNTUsMzUuOTA1TDQuMDE2LDU3LjE0NVY0Ni41OWMwLTEuMTA4LTAuODk3LTIuMDA4LTIuMDA4LTIuMDA4QzAuODk4LDQ0LjU4MiwwLDQ1LjQ4MSwwLDQ2LjU5djE1LjQwMiAgICBjMCwwLjI2MSwwLjA1MywwLjUyMSwwLjE1NSwwLjc2N2MwLjIwMywwLjQ5MiwwLjU5NCwwLjg4MiwxLjA4NiwxLjA4N0MxLjQ4Niw2My45NDcsMS43NDcsNjQsMi4wMDgsNjRoMTUuNDAzICAgIGMxLjEwOSwwLDIuMDA4LTAuODk4LDIuMDA4LTIuMDA4cy0wLjg5OC0yLjAwOC0yLjAwOC0yLjAwOEg2Ljg1NWwyMS4yMzgtMjEuMjRjMC43ODQtMC43ODQsMC43ODQtMi4wNTUsMC0yLjgzOSAgICBTMjYuMDM5LDM1LjEyMSwyNS4yNTUsMzUuOTA1eiIgZmlsbD0iIzAwMDAwMCIvPgogICAgICA8cGF0aCBkPSJtNjMuODQ1LDEuMjQxYy0wLjIwMy0wLjQ5MS0wLjU5NC0wLjg4Mi0xLjA4Ni0xLjA4Ny0wLjI0NS0wLjEwMS0wLjUwNi0wLjE1NC0wLjc2Ny0wLjE1NGgtMTUuNDAzYy0xLjEwOSwwLTIuMDA4LDAuODk4LTIuMDA4LDIuMDA4czAuODk4LDIuMDA4IDIuMDA4LDIuMDA4aDEwLjU1NmwtMjEuMjM4LDIxLjI0Yy0wLjc4NCwwLjc4NC0wLjc4NCwyLjA1NSAwLDIuODM5IDAuMzkyLDAuMzkyIDAuOTA2LDAuNTg5IDEuNDIsMC41ODlzMS4wMjctMC4xOTcgMS40MTktMC41ODlsMjEuMjM4LTIxLjI0djEwLjU1NWMwLDEuMTA4IDAuODk3LDIuMDA4IDIuMDA4LDIuMDA4IDEuMTA5LDAgMi4wMDgtMC44OTkgMi4wMDgtMi4wMDh2LTE1LjQwMmMwLTAuMjYxLTAuMDUzLTAuNTIyLTAuMTU1LTAuNzY3eiIgZmlsbD0iIzAwMDAwMCIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==)\n }\n .easyPrintHolder .page {\n background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTguMS4xLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQ0NC44MzMgNDQ0LjgzMyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDQ0LjgzMyA0NDQuODMzOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjUxMnB4IiBoZWlnaHQ9IjUxMnB4Ij4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNNTUuMjUsNDQ0LjgzM2gzMzQuMzMzYzkuMzUsMCwxNy03LjY1LDE3LTE3VjEzOS4xMTdjMC00LjgxNy0xLjk4My05LjM1LTUuMzgzLTEyLjQ2N0wyNjkuNzMzLDQuNTMzICAgIEMyNjYuNjE3LDEuNywyNjIuMzY3LDAsMjU4LjExNywwSDU1LjI1Yy05LjM1LDAtMTcsNy42NS0xNywxN3Y0MTAuODMzQzM4LjI1LDQzNy4xODMsNDUuOSw0NDQuODMzLDU1LjI1LDQ0NC44MzN6ICAgICBNMzcyLjU4MywxNDYuNDgzdjAuODVIMjU2LjQxN3YtMTA4LjhMMzcyLjU4MywxNDYuNDgzeiBNNzIuMjUsMzRoMTUwLjE2N3YxMzAuMzMzYzAsOS4zNSw3LjY1LDE3LDE3LDE3aDEzMy4xNjd2MjI5LjVINzIuMjVWMzR6ICAgICIgZmlsbD0iIzAwMDAwMCIvPgoJPC9nPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+Cjwvc3ZnPgo=);\n }\n .easyPrintHolder .A4Landscape { \n transform: rotate(-90deg);\n }\n\n .leaflet-control-easyPrint-button{\n display: inline-block;\n }\n .easyPrintHolder{\n margin-top:-31px;\n margin-bottom: -5px;\n margin-left: 30px;\n padding-left: 0px;\n display: none;\n }\n\n .easyPrintSizeMode {\n display: inline-block;\n }\n .easyPrintHolder .easyPrintSizeMode a {\n border-radius: 0px;\n }\n\n .easyPrintHolder .easyPrintSizeMode:last-child a{\n border-top-right-radius: 2px;\n border-bottom-right-radius: 2px;\n margin-left: -1px;\n }\n\n .easyPrintPortrait:hover, .easyPrintLandscape:hover{\n background-color: #757570;\n cursor: pointer;\n }`;\n document.body.appendChild(css);\n },\n\n _dataURItoBlob: function (dataURI) {\n var byteString = atob(dataURI.split(',')[1]);\n var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];\n var ab = new ArrayBuffer(byteString.length);\n var dw = new DataView(ab);\n for(var i = 0; i < byteString.length; i++) {\n dw.setUint8(i, byteString.charCodeAt(i));\n }\n return new Blob([ab], {type: mimeString});\n },\n\n _togglePageSizeButtons: function (e) {\n var holderStyle = this.holder.style\n var linkStyle = this.link.style\n if (e.type === 'mouseover') {\n holderStyle.display = 'block';\n linkStyle.borderTopRightRadius = '0'\n linkStyle.borderBottomRightRadius = '0'\n } else {\n holderStyle.display = 'none';\n linkStyle.borderTopRightRadius = '2px'\n linkStyle.borderBottomRightRadius = '2px' \n }\n },\n\n _toggleControls: function (show) {\n var controlContainer = document.getElementsByClassName(\"leaflet-control-container\")[0];\n if (show) return controlContainer.style.display = 'block';\n controlContainer.style.display = 'none';\n },\n _toggleClasses: function (classes, show) {\n classes.forEach(function (className) {\n var div = document.getElementsByClassName(className)[0];\n if (show) return div.style.display = 'block';\n div.style.display = 'none';\n });\n },\n\n _a4PageSize: {\n height: 715,\n width: 1045\n }\n\n});\n\nL.easyPrint = function(options) {\n return new L.Control.EasyPrint(options);\n};\n\n"],"names":["global","toSvg","node","options","applyOptions","clone","bgcolor","style","backgroundColor","width","height","Object","keys","forEach","property","copyOptions","Promise","resolve","then","cloneNode","filter","embedFonts","inlineImages","makeSvgDataUri","util","toPixelData","draw","canvas","getContext","getImageData","data","toPng","toDataURL","toJpeg","quality","toBlob","canvasToBlob","domtoimage","impl","imagePlaceholder","defaultOptions","cacheBust","domNode","newCanvas","document","createElement","ctx","fillStyle","fillRect","makeImage","delay","image","drawImage","root","makeNodeCopy","HTMLCanvasElement","cloneChildren","original","children","childNodes","length","parent","done","child","childClone","appendChild","asArray","processClone","cloneStyle","source","target","cssText","name","setProperty","getPropertyValue","getPropertyPriority","window","getComputedStyle","clonePseudoElements","clonePseudoElement","element","content","className","uid","styleElement","selector","formatProperty","map","join","createTextNode","copyUserInput","HTMLTextAreaElement","innerHTML","value","HTMLInputElement","setAttribute","fixSvg","SVGElement","SVGRectElement","attribute","getAttribute","Element","fontFaces","resolveAll","styleNode","images","inlineAll","XMLSerializer","serializeToString","escapeXhtml","xhtml","foreignObject","svg","mimes","WOFF","woff","woff2","ttf","eot","png","jpg","jpeg","gif","tiff","parseExtension","url","match","exec","mimeType","extension","toLowerCase","isDataUrl","search","binaryString","atob","split","binaryArray","Uint8Array","i","charCodeAt","Blob","type","resolveUrl","baseUrl","doc","implementation","createHTMLDocument","base","head","a","body","href","uri","reject","Image","onload","onerror","src","getAndEncode","TIMEOUT","test","Date","getTime","request","readyState","status","placeholder","fail","encoder","FileReader","onloadend","result","readAsDataURL","response","timeout","message","console","error","XMLHttpRequest","onreadystatechange","ontimeout","responseType","open","send","dataAsUrl","escape","string","replace","ms","arg","setTimeout","arrayLike","array","push","leftBorder","px","rightBorder","scrollWidth","topBorder","bottomBorder","scrollHeight","styleProperty","parseFloat","index","Math","random","pow","toString","slice","inliner","shouldProcess","URL_REGEX","readUrls","inline","get","urlAsRegex","RegExp","dataUrl","urls","readAll","webFonts","all","webFont","cssStrings","selectWebFontRules","cssRules","rule","CSSRule","FONT_FACE_RULE","getCssRules","styleSheets","sheet","bind","e","log","newWebFont","webFontRule","parentStyleSheet","rules","newImage","background","inlined","HTMLImageElement","undefined","module","saveAs","view","navigator","userAgent","get_URL","URL","webkitURL","save_link","createElementNS","can_use_save_link","click","event","MouseEvent","dispatchEvent","is_safari","HTMLElement","safari","is_chrome_ios","throw_outside","ex","setImmediate","revoke","file","revoker","revokeObjectURL","remove","dispatch","filesaver","event_types","concat","listener","call","auto_bom","blob","String","fromCharCode","FileSaver","no_auto_bom","object_url","this","force","dispatch_all","INIT","createObjectURL","download","DONE","reader","location","FS_proto","prototype","msSaveOrOpenBlob","abort","WRITING","onwritestart","onprogress","onwrite","onabort","onwriteend","self","exports","L","Control","EasyPrint","extend","title","mapContainer","_map","getContainer","sizeModes","sizeMode","defaultSizeTitles","Current","_a4PageSize","A4Landscape","A4Portrait","container","DomUtil","create","hidden","_addCss","DomEvent","addListener","_togglePageSizeButtons","btnClass","exportOnly","link","id","holder","btn","printMap","disableClickPropagation","filename","_page","write","_createSpinner","customWindowTitle","customSpinnerClass","spinnerBgCOlor","originalState","getZoom","getCenter","mapWidth","getSize","x","widthWasAuto","includes","percentageWidth","widthWasPercentage","fire","hideControlContainer","_toggleControls","hideClasses","_toggleClasses","_printOpertion","outerContainer","_createOuterContainer","_createImagePlaceholder","plugin","parseInt","mapHeight","blankDiv","parentElement","insertBefore","backgroundImage","position","zIndex","display","_resizeAndPrintMap","catch","opacity","pageSize","item","indexOf","orientation","setView","center","setZoom","zoom","invalidateSize","tileLayer","_pausePrint","loadingTest","setInterval","isLoading","tileWait","sizemode","widthForExport","_dataURItoBlob","_sendToBrowserPrint","_removeOuterContainer","img","resizeTo","pageContent","_createNewWindow","close","spinnerClass","spinnerColor","mapDiv","parentNode","removeChild","overflow","css","dataURI","byteString","mimeString","ab","ArrayBuffer","dw","DataView","setUint8","holderStyle","linkStyle","borderTopRightRadius","borderBottomRightRadius","show","controlContainer","getElementsByClassName","classes","div","easyPrint"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"bundle.js","sources":["../node_modules/dom-to-image/src/dom-to-image.js","../node_modules/file-saver/FileSaver.js","../node_modules/jspdf/dist/jspdf.min.js","../src/index.js"],"sourcesContent":["(function (global) {\n 'use strict';\n\n var util = newUtil();\n var inliner = newInliner();\n var fontFaces = newFontFaces();\n var images = newImages();\n\n // Default impl options\n var defaultOptions = {\n // Default is to fail on error, no placeholder\n imagePlaceholder: undefined,\n // Default cache bust is false, it will use the cache\n cacheBust: false\n };\n\n var domtoimage = {\n toSvg: toSvg,\n toPng: toPng,\n toJpeg: toJpeg,\n toBlob: toBlob,\n toPixelData: toPixelData,\n impl: {\n fontFaces: fontFaces,\n images: images,\n util: util,\n inliner: inliner,\n options: {}\n }\n };\n\n if (typeof module !== 'undefined')\n module.exports = domtoimage;\n else\n global.domtoimage = domtoimage;\n\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options\n * @param {Function} options.filter - Should return true if passed node should be included in the output\n * (excluding node means excluding it's children as well). Not called on the root node.\n * @param {String} options.bgcolor - color for the background, any valid CSS color value.\n * @param {Number} options.width - width to be applied to node before rendering.\n * @param {Number} options.height - height to be applied to node before rendering.\n * @param {Object} options.style - an object whose properties to be copied to node's style before rendering.\n * @param {Number} options.quality - a Number between 0 and 1 indicating image quality (applicable to JPEG only),\n defaults to 1.0.\n * @param {String} options.imagePlaceholder - dataURL to use as a placeholder for failed images, default behaviour is to fail fast on images we can't fetch\n * @param {Boolean} options.cacheBust - set to true to cache bust by appending the time to the request url\n * @return {Promise} - A promise that is fulfilled with a SVG image data URL\n * */\n function toSvg(node, options) {\n options = options || {};\n copyOptions(options);\n return Promise.resolve(node)\n .then(function (node) {\n return cloneNode(node, options.filter, true);\n })\n .then(embedFonts)\n .then(inlineImages)\n .then(applyOptions)\n .then(function (clone) {\n return makeSvgDataUri(clone,\n options.width || util.width(node),\n options.height || util.height(node)\n );\n });\n\n function applyOptions(clone) {\n if (options.bgcolor) clone.style.backgroundColor = options.bgcolor;\n\n if (options.width) clone.style.width = options.width + 'px';\n if (options.height) clone.style.height = options.height + 'px';\n\n if (options.style)\n Object.keys(options.style).forEach(function (property) {\n clone.style[property] = options.style[property];\n });\n\n return clone;\n }\n }\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a Uint8Array containing RGBA pixel data.\n * */\n function toPixelData(node, options) {\n return draw(node, options || {})\n .then(function (canvas) {\n return canvas.getContext('2d').getImageData(\n 0,\n 0,\n util.width(node),\n util.height(node)\n ).data;\n });\n }\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a PNG image data URL\n * */\n function toPng(node, options) {\n return draw(node, options || {})\n .then(function (canvas) {\n return canvas.toDataURL();\n });\n }\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a JPEG image data URL\n * */\n function toJpeg(node, options) {\n options = options || {};\n return draw(node, options)\n .then(function (canvas) {\n return canvas.toDataURL('image/jpeg', options.quality || 1.0);\n });\n }\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a PNG image blob\n * */\n function toBlob(node, options) {\n return draw(node, options || {})\n .then(util.canvasToBlob);\n }\n\n function copyOptions(options) {\n // Copy options to impl options for use in impl\n if(typeof(options.imagePlaceholder) === 'undefined') {\n domtoimage.impl.options.imagePlaceholder = defaultOptions.imagePlaceholder;\n } else {\n domtoimage.impl.options.imagePlaceholder = options.imagePlaceholder;\n }\n\n if(typeof(options.cacheBust) === 'undefined') {\n domtoimage.impl.options.cacheBust = defaultOptions.cacheBust;\n } else {\n domtoimage.impl.options.cacheBust = options.cacheBust;\n }\n }\n\n function draw(domNode, options) {\n return toSvg(domNode, options)\n .then(util.makeImage)\n .then(util.delay(100))\n .then(function (image) {\n var canvas = newCanvas(domNode);\n canvas.getContext('2d').drawImage(image, 0, 0);\n return canvas;\n });\n\n function newCanvas(domNode) {\n var canvas = document.createElement('canvas');\n canvas.width = options.width || util.width(domNode);\n canvas.height = options.height || util.height(domNode);\n\n if (options.bgcolor) {\n var ctx = canvas.getContext('2d');\n ctx.fillStyle = options.bgcolor;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n }\n\n return canvas;\n }\n }\n\n function cloneNode(node, filter, root) {\n if (!root && filter && !filter(node)) return Promise.resolve();\n\n return Promise.resolve(node)\n .then(makeNodeCopy)\n .then(function (clone) {\n return cloneChildren(node, clone, filter);\n })\n .then(function (clone) {\n return processClone(node, clone);\n });\n\n function makeNodeCopy(node) {\n if (node instanceof HTMLCanvasElement) return util.makeImage(node.toDataURL());\n return node.cloneNode(false);\n }\n\n function cloneChildren(original, clone, filter) {\n var children = original.childNodes;\n if (children.length === 0) return Promise.resolve(clone);\n\n return cloneChildrenInOrder(clone, util.asArray(children), filter)\n .then(function () {\n return clone;\n });\n\n function cloneChildrenInOrder(parent, children, filter) {\n var done = Promise.resolve();\n children.forEach(function (child) {\n done = done\n .then(function () {\n return cloneNode(child, filter);\n })\n .then(function (childClone) {\n if (childClone) parent.appendChild(childClone);\n });\n });\n return done;\n }\n }\n\n function processClone(original, clone) {\n if (!(clone instanceof Element)) return clone;\n\n return Promise.resolve()\n .then(cloneStyle)\n .then(clonePseudoElements)\n .then(copyUserInput)\n .then(fixSvg)\n .then(function () {\n return clone;\n });\n\n function cloneStyle() {\n copyStyle(window.getComputedStyle(original), clone.style);\n\n function copyStyle(source, target) {\n if (source.cssText) target.cssText = source.cssText;\n else copyProperties(source, target);\n\n function copyProperties(source, target) {\n util.asArray(source).forEach(function (name) {\n target.setProperty(\n name,\n source.getPropertyValue(name),\n source.getPropertyPriority(name)\n );\n });\n }\n }\n }\n\n function clonePseudoElements() {\n [':before', ':after'].forEach(function (element) {\n clonePseudoElement(element);\n });\n\n function clonePseudoElement(element) {\n var style = window.getComputedStyle(original, element);\n var content = style.getPropertyValue('content');\n\n if (content === '' || content === 'none') return;\n\n var className = util.uid();\n clone.className = clone.className + ' ' + className;\n var styleElement = document.createElement('style');\n styleElement.appendChild(formatPseudoElementStyle(className, element, style));\n clone.appendChild(styleElement);\n\n function formatPseudoElementStyle(className, element, style) {\n var selector = '.' + className + ':' + element;\n var cssText = style.cssText ? formatCssText(style) : formatCssProperties(style);\n return document.createTextNode(selector + '{' + cssText + '}');\n\n function formatCssText(style) {\n var content = style.getPropertyValue('content');\n return style.cssText + ' content: ' + content + ';';\n }\n\n function formatCssProperties(style) {\n\n return util.asArray(style)\n .map(formatProperty)\n .join('; ') + ';';\n\n function formatProperty(name) {\n return name + ': ' +\n style.getPropertyValue(name) +\n (style.getPropertyPriority(name) ? ' !important' : '');\n }\n }\n }\n }\n }\n\n function copyUserInput() {\n if (original instanceof HTMLTextAreaElement) clone.innerHTML = original.value;\n if (original instanceof HTMLInputElement) clone.setAttribute(\"value\", original.value);\n }\n\n function fixSvg() {\n if (!(clone instanceof SVGElement)) return;\n clone.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\n if (!(clone instanceof SVGRectElement)) return;\n ['width', 'height'].forEach(function (attribute) {\n var value = clone.getAttribute(attribute);\n if (!value) return;\n\n clone.style.setProperty(attribute, value);\n });\n }\n }\n }\n\n function embedFonts(node) {\n return fontFaces.resolveAll()\n .then(function (cssText) {\n var styleNode = document.createElement('style');\n node.appendChild(styleNode);\n styleNode.appendChild(document.createTextNode(cssText));\n return node;\n });\n }\n\n function inlineImages(node) {\n return images.inlineAll(node)\n .then(function () {\n return node;\n });\n }\n\n function makeSvgDataUri(node, width, height) {\n return Promise.resolve(node)\n .then(function (node) {\n node.setAttribute('xmlns', 'http://www.w3.org/1999/xhtml');\n return new XMLSerializer().serializeToString(node);\n })\n .then(util.escapeXhtml)\n .then(function (xhtml) {\n return '' + xhtml + '';\n })\n .then(function (foreignObject) {\n return '' +\n foreignObject + '';\n })\n .then(function (svg) {\n return 'data:image/svg+xml;charset=utf-8,' + svg;\n });\n }\n\n function newUtil() {\n return {\n escape: escape,\n parseExtension: parseExtension,\n mimeType: mimeType,\n dataAsUrl: dataAsUrl,\n isDataUrl: isDataUrl,\n canvasToBlob: canvasToBlob,\n resolveUrl: resolveUrl,\n getAndEncode: getAndEncode,\n uid: uid(),\n delay: delay,\n asArray: asArray,\n escapeXhtml: escapeXhtml,\n makeImage: makeImage,\n width: width,\n height: height\n };\n\n function mimes() {\n /*\n * Only WOFF and EOT mime types for fonts are 'real'\n * see http://www.iana.org/assignments/media-types/media-types.xhtml\n */\n var WOFF = 'application/font-woff';\n var JPEG = 'image/jpeg';\n\n return {\n 'woff': WOFF,\n 'woff2': WOFF,\n 'ttf': 'application/font-truetype',\n 'eot': 'application/vnd.ms-fontobject',\n 'png': 'image/png',\n 'jpg': JPEG,\n 'jpeg': JPEG,\n 'gif': 'image/gif',\n 'tiff': 'image/tiff',\n 'svg': 'image/svg+xml'\n };\n }\n\n function parseExtension(url) {\n var match = /\\.([^\\.\\/]*?)$/g.exec(url);\n if (match) return match[1];\n else return '';\n }\n\n function mimeType(url) {\n var extension = parseExtension(url).toLowerCase();\n return mimes()[extension] || '';\n }\n\n function isDataUrl(url) {\n return url.search(/^(data:)/) !== -1;\n }\n\n function toBlob(canvas) {\n return new Promise(function (resolve) {\n var binaryString = window.atob(canvas.toDataURL().split(',')[1]);\n var length = binaryString.length;\n var binaryArray = new Uint8Array(length);\n\n for (var i = 0; i < length; i++)\n binaryArray[i] = binaryString.charCodeAt(i);\n\n resolve(new Blob([binaryArray], {\n type: 'image/png'\n }));\n });\n }\n\n function canvasToBlob(canvas) {\n if (canvas.toBlob)\n return new Promise(function (resolve) {\n canvas.toBlob(resolve);\n });\n\n return toBlob(canvas);\n }\n\n function resolveUrl(url, baseUrl) {\n var doc = document.implementation.createHTMLDocument();\n var base = doc.createElement('base');\n doc.head.appendChild(base);\n var a = doc.createElement('a');\n doc.body.appendChild(a);\n base.href = baseUrl;\n a.href = url;\n return a.href;\n }\n\n function uid() {\n var index = 0;\n\n return function () {\n return 'u' + fourRandomChars() + index++;\n\n function fourRandomChars() {\n /* see http://stackoverflow.com/a/6248722/2519373 */\n return ('0000' + (Math.random() * Math.pow(36, 4) << 0).toString(36)).slice(-4);\n }\n };\n }\n\n function makeImage(uri) {\n return new Promise(function (resolve, reject) {\n var image = new Image();\n image.onload = function () {\n resolve(image);\n };\n image.onerror = reject;\n image.src = uri;\n });\n }\n\n function getAndEncode(url) {\n var TIMEOUT = 30000;\n if(domtoimage.impl.options.cacheBust) {\n // Cache bypass so we dont have CORS issues with cached images\n // Source: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache\n url += ((/\\?/).test(url) ? \"&\" : \"?\") + (new Date()).getTime();\n }\n\n return new Promise(function (resolve) {\n var request = new XMLHttpRequest();\n\n request.onreadystatechange = done;\n request.ontimeout = timeout;\n request.responseType = 'blob';\n request.timeout = TIMEOUT;\n request.open('GET', url, true);\n request.send();\n\n var placeholder;\n if(domtoimage.impl.options.imagePlaceholder) {\n var split = domtoimage.impl.options.imagePlaceholder.split(/,/);\n if(split && split[1]) {\n placeholder = split[1];\n }\n }\n\n function done() {\n if (request.readyState !== 4) return;\n\n if (request.status !== 200) {\n if(placeholder) {\n resolve(placeholder);\n } else {\n fail('cannot fetch resource: ' + url + ', status: ' + request.status);\n }\n\n return;\n }\n\n var encoder = new FileReader();\n encoder.onloadend = function () {\n var content = encoder.result.split(/,/)[1];\n resolve(content);\n };\n encoder.readAsDataURL(request.response);\n }\n\n function timeout() {\n if(placeholder) {\n resolve(placeholder);\n } else {\n fail('timeout of ' + TIMEOUT + 'ms occured while fetching resource: ' + url);\n }\n }\n\n function fail(message) {\n console.error(message);\n resolve('');\n }\n });\n }\n\n function dataAsUrl(content, type) {\n return 'data:' + type + ';base64,' + content;\n }\n\n function escape(string) {\n return string.replace(/([.*+?^${}()|\\[\\]\\/\\\\])/g, '\\\\$1');\n }\n\n function delay(ms) {\n return function (arg) {\n return new Promise(function (resolve) {\n setTimeout(function () {\n resolve(arg);\n }, ms);\n });\n };\n }\n\n function asArray(arrayLike) {\n var array = [];\n var length = arrayLike.length;\n for (var i = 0; i < length; i++) array.push(arrayLike[i]);\n return array;\n }\n\n function escapeXhtml(string) {\n return string.replace(/#/g, '%23').replace(/\\n/g, '%0A');\n }\n\n function width(node) {\n var leftBorder = px(node, 'border-left-width');\n var rightBorder = px(node, 'border-right-width');\n return node.scrollWidth + leftBorder + rightBorder;\n }\n\n function height(node) {\n var topBorder = px(node, 'border-top-width');\n var bottomBorder = px(node, 'border-bottom-width');\n return node.scrollHeight + topBorder + bottomBorder;\n }\n\n function px(node, styleProperty) {\n var value = window.getComputedStyle(node).getPropertyValue(styleProperty);\n return parseFloat(value.replace('px', ''));\n }\n }\n\n function newInliner() {\n var URL_REGEX = /url\\(['\"]?([^'\"]+?)['\"]?\\)/g;\n\n return {\n inlineAll: inlineAll,\n shouldProcess: shouldProcess,\n impl: {\n readUrls: readUrls,\n inline: inline\n }\n };\n\n function shouldProcess(string) {\n return string.search(URL_REGEX) !== -1;\n }\n\n function readUrls(string) {\n var result = [];\n var match;\n while ((match = URL_REGEX.exec(string)) !== null) {\n result.push(match[1]);\n }\n return result.filter(function (url) {\n return !util.isDataUrl(url);\n });\n }\n\n function inline(string, url, baseUrl, get) {\n return Promise.resolve(url)\n .then(function (url) {\n return baseUrl ? util.resolveUrl(url, baseUrl) : url;\n })\n .then(get || util.getAndEncode)\n .then(function (data) {\n return util.dataAsUrl(data, util.mimeType(url));\n })\n .then(function (dataUrl) {\n return string.replace(urlAsRegex(url), '$1' + dataUrl + '$3');\n });\n\n function urlAsRegex(url) {\n return new RegExp('(url\\\\([\\'\"]?)(' + util.escape(url) + ')([\\'\"]?\\\\))', 'g');\n }\n }\n\n function inlineAll(string, baseUrl, get) {\n if (nothingToInline()) return Promise.resolve(string);\n\n return Promise.resolve(string)\n .then(readUrls)\n .then(function (urls) {\n var done = Promise.resolve(string);\n urls.forEach(function (url) {\n done = done.then(function (string) {\n return inline(string, url, baseUrl, get);\n });\n });\n return done;\n });\n\n function nothingToInline() {\n return !shouldProcess(string);\n }\n }\n }\n\n function newFontFaces() {\n return {\n resolveAll: resolveAll,\n impl: {\n readAll: readAll\n }\n };\n\n function resolveAll() {\n return readAll(document)\n .then(function (webFonts) {\n return Promise.all(\n webFonts.map(function (webFont) {\n return webFont.resolve();\n })\n );\n })\n .then(function (cssStrings) {\n return cssStrings.join('\\n');\n });\n }\n\n function readAll() {\n return Promise.resolve(util.asArray(document.styleSheets))\n .then(getCssRules)\n .then(selectWebFontRules)\n .then(function (rules) {\n return rules.map(newWebFont);\n });\n\n function selectWebFontRules(cssRules) {\n return cssRules\n .filter(function (rule) {\n return rule.type === CSSRule.FONT_FACE_RULE;\n })\n .filter(function (rule) {\n return inliner.shouldProcess(rule.style.getPropertyValue('src'));\n });\n }\n\n function getCssRules(styleSheets) {\n var cssRules = [];\n styleSheets.forEach(function (sheet) {\n try {\n util.asArray(sheet.cssRules || []).forEach(cssRules.push.bind(cssRules));\n } catch (e) {\n console.log('Error while reading CSS rules from ' + sheet.href, e.toString());\n }\n });\n return cssRules;\n }\n\n function newWebFont(webFontRule) {\n return {\n resolve: function resolve() {\n var baseUrl = (webFontRule.parentStyleSheet || {}).href;\n return inliner.inlineAll(webFontRule.cssText, baseUrl);\n },\n src: function () {\n return webFontRule.style.getPropertyValue('src');\n }\n };\n }\n }\n }\n\n function newImages() {\n return {\n inlineAll: inlineAll,\n impl: {\n newImage: newImage\n }\n };\n\n function newImage(element) {\n return {\n inline: inline\n };\n\n function inline(get) {\n if (util.isDataUrl(element.src)) return Promise.resolve();\n\n return Promise.resolve(element.src)\n .then(get || util.getAndEncode)\n .then(function (data) {\n return util.dataAsUrl(data, util.mimeType(element.src));\n })\n .then(function (dataUrl) {\n return new Promise(function (resolve, reject) {\n element.onload = resolve;\n element.onerror = reject;\n element.src = dataUrl;\n });\n });\n }\n }\n\n function inlineAll(node) {\n if (!(node instanceof Element)) return Promise.resolve(node);\n\n return inlineBackground(node)\n .then(function () {\n if (node instanceof HTMLImageElement)\n return newImage(node).inline();\n else\n return Promise.all(\n util.asArray(node.childNodes).map(function (child) {\n return inlineAll(child);\n })\n );\n });\n\n function inlineBackground(node) {\n var background = node.style.getPropertyValue('background');\n\n if (!background) return Promise.resolve(node);\n\n return inliner.inlineAll(background)\n .then(function (inlined) {\n node.style.setProperty(\n 'background',\n inlined,\n node.style.getPropertyPriority('background')\n );\n })\n .then(function () {\n return node;\n });\n }\n }\n }\n})(this);\n","/* FileSaver.js\n * A saveAs() FileSaver implementation.\n * 1.3.2\n * 2016-06-16 18:25:19\n *\n * By Eli Grey, http://eligrey.com\n * License: MIT\n * See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md\n */\n\n/*global self */\n/*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */\n\n/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */\n\nvar saveAs = saveAs || (function(view) {\n\t\"use strict\";\n\t// IE <10 is explicitly unsupported\n\tif (typeof view === \"undefined\" || typeof navigator !== \"undefined\" && /MSIE [1-9]\\./.test(navigator.userAgent)) {\n\t\treturn;\n\t}\n\tvar\n\t\t doc = view.document\n\t\t // only get URL when necessary in case Blob.js hasn't overridden it yet\n\t\t, get_URL = function() {\n\t\t\treturn view.URL || view.webkitURL || view;\n\t\t}\n\t\t, save_link = doc.createElementNS(\"http://www.w3.org/1999/xhtml\", \"a\")\n\t\t, can_use_save_link = \"download\" in save_link\n\t\t, click = function(node) {\n\t\t\tvar event = new MouseEvent(\"click\");\n\t\t\tnode.dispatchEvent(event);\n\t\t}\n\t\t, is_safari = /constructor/i.test(view.HTMLElement) || view.safari\n\t\t, is_chrome_ios =/CriOS\\/[\\d]+/.test(navigator.userAgent)\n\t\t, throw_outside = function(ex) {\n\t\t\t(view.setImmediate || view.setTimeout)(function() {\n\t\t\t\tthrow ex;\n\t\t\t}, 0);\n\t\t}\n\t\t, force_saveable_type = \"application/octet-stream\"\n\t\t// the Blob API is fundamentally broken as there is no \"downloadfinished\" event to subscribe to\n\t\t, arbitrary_revoke_timeout = 1000 * 40 // in ms\n\t\t, revoke = function(file) {\n\t\t\tvar revoker = function() {\n\t\t\t\tif (typeof file === \"string\") { // file is an object URL\n\t\t\t\t\tget_URL().revokeObjectURL(file);\n\t\t\t\t} else { // file is a File\n\t\t\t\t\tfile.remove();\n\t\t\t\t}\n\t\t\t};\n\t\t\tsetTimeout(revoker, arbitrary_revoke_timeout);\n\t\t}\n\t\t, dispatch = function(filesaver, event_types, event) {\n\t\t\tevent_types = [].concat(event_types);\n\t\t\tvar i = event_types.length;\n\t\t\twhile (i--) {\n\t\t\t\tvar listener = filesaver[\"on\" + event_types[i]];\n\t\t\t\tif (typeof listener === \"function\") {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlistener.call(filesaver, event || filesaver);\n\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\tthrow_outside(ex);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t, auto_bom = function(blob) {\n\t\t\t// prepend BOM for UTF-8 XML and text/* types (including HTML)\n\t\t\t// note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n\t\t\tif (/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n\t\t\t\treturn new Blob([String.fromCharCode(0xFEFF), blob], {type: blob.type});\n\t\t\t}\n\t\t\treturn blob;\n\t\t}\n\t\t, FileSaver = function(blob, name, no_auto_bom) {\n\t\t\tif (!no_auto_bom) {\n\t\t\t\tblob = auto_bom(blob);\n\t\t\t}\n\t\t\t// First try a.download, then web filesystem, then object URLs\n\t\t\tvar\n\t\t\t\t filesaver = this\n\t\t\t\t, type = blob.type\n\t\t\t\t, force = type === force_saveable_type\n\t\t\t\t, object_url\n\t\t\t\t, dispatch_all = function() {\n\t\t\t\t\tdispatch(filesaver, \"writestart progress write writeend\".split(\" \"));\n\t\t\t\t}\n\t\t\t\t// on any filesys errors revert to saving with object URLs\n\t\t\t\t, fs_error = function() {\n\t\t\t\t\tif ((is_chrome_ios || (force && is_safari)) && view.FileReader) {\n\t\t\t\t\t\t// Safari doesn't allow downloading of blob urls\n\t\t\t\t\t\tvar reader = new FileReader();\n\t\t\t\t\t\treader.onloadend = function() {\n\t\t\t\t\t\t\tvar url = is_chrome_ios ? reader.result : reader.result.replace(/^data:[^;]*;/, 'data:attachment/file;');\n\t\t\t\t\t\t\tvar popup = view.open(url, '_blank');\n\t\t\t\t\t\t\tif(!popup) view.location.href = url;\n\t\t\t\t\t\t\turl=undefined; // release reference before dispatching\n\t\t\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\n\t\t\t\t\t\t\tdispatch_all();\n\t\t\t\t\t\t};\n\t\t\t\t\t\treader.readAsDataURL(blob);\n\t\t\t\t\t\tfilesaver.readyState = filesaver.INIT;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t// don't create more object URLs than needed\n\t\t\t\t\tif (!object_url) {\n\t\t\t\t\t\tobject_url = get_URL().createObjectURL(blob);\n\t\t\t\t\t}\n\t\t\t\t\tif (force) {\n\t\t\t\t\t\tview.location.href = object_url;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar opened = view.open(object_url, \"_blank\");\n\t\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\t\t// Apple does not allow window.open, see https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html\n\t\t\t\t\t\t\tview.location.href = object_url;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\n\t\t\t\t\tdispatch_all();\n\t\t\t\t\trevoke(object_url);\n\t\t\t\t}\n\t\t\t;\n\t\t\tfilesaver.readyState = filesaver.INIT;\n\n\t\t\tif (can_use_save_link) {\n\t\t\t\tobject_url = get_URL().createObjectURL(blob);\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tsave_link.href = object_url;\n\t\t\t\t\tsave_link.download = name;\n\t\t\t\t\tclick(save_link);\n\t\t\t\t\tdispatch_all();\n\t\t\t\t\trevoke(object_url);\n\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfs_error();\n\t\t}\n\t\t, FS_proto = FileSaver.prototype\n\t\t, saveAs = function(blob, name, no_auto_bom) {\n\t\t\treturn new FileSaver(blob, name || blob.name || \"download\", no_auto_bom);\n\t\t}\n\t;\n\t// IE 10+ (native saveAs)\n\tif (typeof navigator !== \"undefined\" && navigator.msSaveOrOpenBlob) {\n\t\treturn function(blob, name, no_auto_bom) {\n\t\t\tname = name || blob.name || \"download\";\n\n\t\t\tif (!no_auto_bom) {\n\t\t\t\tblob = auto_bom(blob);\n\t\t\t}\n\t\t\treturn navigator.msSaveOrOpenBlob(blob, name);\n\t\t};\n\t}\n\n\tFS_proto.abort = function(){};\n\tFS_proto.readyState = FS_proto.INIT = 0;\n\tFS_proto.WRITING = 1;\n\tFS_proto.DONE = 2;\n\n\tFS_proto.error =\n\tFS_proto.onwritestart =\n\tFS_proto.onprogress =\n\tFS_proto.onwrite =\n\tFS_proto.onabort =\n\tFS_proto.onerror =\n\tFS_proto.onwriteend =\n\t\tnull;\n\n\treturn saveAs;\n}(\n\t typeof self !== \"undefined\" && self\n\t|| typeof window !== \"undefined\" && window\n\t|| this.content\n));\n// `self` is undefined in Firefox for Android content script context\n// while `this` is nsIContentFrameMessageManager\n// with an attribute `content` that corresponds to the window\n\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports.saveAs = saveAs;\n} else if ((typeof define !== \"undefined\" && define !== null) && (define.amd !== null)) {\n define(\"FileSaver.js\", function() {\n return saveAs;\n });\n}\n","!function(t){\"function\"==typeof define&&define.amd?define(t):t()}(function(){\"use strict\";\n/** @license\n * jsPDF - PDF Document creation from JavaScript\n * Version 1.5.3 Built on 2018-12-27T14:11:42.696Z\n * CommitID d93d28db14\n *\n * Copyright (c) 2010-2016 James Hall , https://github.com/MrRio/jsPDF\n * 2010 Aaron Spike, https://github.com/acspike\n * 2012 Willow Systems Corporation, willow-systems.com\n * 2012 Pablo Hess, https://github.com/pablohess\n * 2012 Florian Jenett, https://github.com/fjenett\n * 2013 Warren Weckesser, https://github.com/warrenweckesser\n * 2013 Youssef Beddad, https://github.com/lifof\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2013 Stefan Slonevskiy, https://github.com/stefslon\n * 2013 Jeremy Morel, https://github.com/jmorel\n * 2013 Christoph Hartmann, https://github.com/chris-rock\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Makes, https://github.com/dollaruw\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 Steven Spungin, https://github.com/Flamenco\n * 2014 Kenneth Glassey, https://github.com/Gavvers\n *\n * Licensed under the MIT License\n *\n * Contributor(s):\n * siefkenj, ahwolf, rickygu, Midnith, saintclair, eaparango,\n * kim3er, mfo, alnorth, Flamenco\n */function se(t){return(se=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}!function(t){if(\"object\"!==se(t.console)){t.console={};for(var e,n,r=t.console,i=function(){},o=[\"memory\"],a=\"assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn\".split(\",\");e=o.pop();)r[e]||(r[e]={});for(;n=a.pop();)r[n]||(r[n]=i)}var s,l,h,u,c=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";void 0===t.btoa&&(t.btoa=function(t){var e,n,r,i,o,a=0,s=0,l=\"\",h=[];if(!t)return t;for(;e=(o=t.charCodeAt(a++)<<16|t.charCodeAt(a++)<<8|t.charCodeAt(a++))>>18&63,n=o>>12&63,r=o>>6&63,i=63&o,h[s++]=c.charAt(e)+c.charAt(n)+c.charAt(r)+c.charAt(i),a>16&255,n=a>>8&255,r=255&a,h[l++]=64==i?String.fromCharCode(e):64==o?String.fromCharCode(e,n):String.fromCharCode(e,n,r),s>>0,r=new Array(n),i=1>>0,i=0;i>>0;if(\"function\"!=typeof t)throw new TypeError(\"predicate must be a function\");for(var r=arguments[1],i=0;i>16&255,r=l>>8&255,i=255&l}if(void 0===r||void 0===o&&n===r&&r===i)if(\"string\"==typeof n)e=n+\" \"+a[0];else switch(t.precision){case 2:e=Z(n/255)+\" \"+a[0];break;case 3:default:e=Q(n/255)+\" \"+a[0]}else if(void 0===o||\"object\"===se(o)){if(o&&!isNaN(o.a)&&0===o.a)return e=[\"1.000\",\"1.000\",\"1.000\",a[1]].join(\" \");if(\"string\"==typeof n)e=[n,r,i,a[1]].join(\" \");else switch(t.precision){case 2:e=[Z(n/255),Z(r/255),Z(i/255),a[1]].join(\" \");break;default:case 3:e=[Q(n/255),Q(r/255),Q(i/255),a[1]].join(\" \")}}else if(\"string\"==typeof n)e=[n,r,i,o,a[2]].join(\" \");else switch(t.precision){case 2:e=[Z(n/255),Z(r/255),Z(i/255),Z(o/255),a[2]].join(\" \");break;case 3:default:e=[Q(n/255),Q(r/255),Q(i/255),Q(o/255),a[2]].join(\" \")}return e},ct=l.__private__.getFilters=function(){return o},ft=l.__private__.putStream=function(t){var e=(t=t||{}).data||\"\",n=t.filters||ct(),r=t.alreadyAppliedFilters||[],i=t.addLength1||!1,o=e.length,a={};!0===n&&(n=[\"FlateEncode\"]);var s=t.additionalKeyValues||[],l=(a=void 0!==ae.API.processDataByFilters?ae.API.processDataByFilters(e,n):{data:e,reverseChain:[]}).reverseChain+(Array.isArray(r)?r.join(\" \"):r.toString());0!==a.data.length&&(s.push({key:\"Length\",value:a.data.length}),!0===i&&s.push({key:\"Length1\",value:o})),0!=l.length&&(l.split(\"/\").length-1==1?s.push({key:\"Filter\",value:l}):s.push({key:\"Filter\",value:\"[\"+l+\"]\"})),tt(\"<<\");for(var h=0;h>\"),0!==a.data.length&&(tt(\"stream\"),tt(a.data),tt(\"endstream\"))},pt=l.__private__.putPage=function(t){t.mediaBox;var e=t.number,n=t.data,r=t.objId,i=t.contentsObjId;ot(r,!0);V[x].mediaBox.topRightX,V[x].mediaBox.bottomLeftX,V[x].mediaBox.topRightY,V[x].mediaBox.bottomLeftY;tt(\"<>\"),tt(\"endobj\");var o=n.join(\"\\n\");return ot(i,!0),ft({data:o,filters:ct()}),tt(\"endobj\"),r},dt=l.__private__.putPages=function(){var t,e,n=[];for(t=1;t<=W;t++)V[t].objId=X(),V[t].contentsObjId=X();for(t=1;t<=W;t++)n.push(pt({number:t,data:I[t],objId:V[t].objId,contentsObjId:V[t].contentsObjId,mediaBox:V[t].mediaBox,cropBox:V[t].cropBox,bleedBox:V[t].bleedBox,trimBox:V[t].trimBox,artBox:V[t].artBox,userUnit:V[t].userUnit,rootDictionaryObjId:st,resourceDictionaryObjId:lt}));ot(st,!0),tt(\"<>\"),tt(\"endobj\"),it.publish(\"postPutPages\")},gt=function(){!function(){for(var t in rt)rt.hasOwnProperty(t)&&(!1===s||!0===s&&K.hasOwnProperty(t))&&(e=rt[t],it.publish(\"putFont\",{font:e,out:tt,newObject:J,putStream:ft}),!0!==e.isAlreadyPutted&&(e.objectNumber=J(),tt(\"<<\"),tt(\"/Type /Font\"),tt(\"/BaseFont /\"+e.postScriptName),tt(\"/Subtype /Type1\"),\"string\"==typeof e.encoding&&tt(\"/Encoding /\"+e.encoding),tt(\"/FirstChar 32\"),tt(\"/LastChar 255\"),tt(\">>\"),tt(\"endobj\")));var e}(),it.publish(\"putResources\"),ot(lt,!0),tt(\"<<\"),function(){for(var t in tt(\"/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]\"),tt(\"/Font <<\"),rt)rt.hasOwnProperty(t)&&(!1===s||!0===s&&K.hasOwnProperty(t))&&tt(\"/\"+t+\" \"+rt[t].objectNumber+\" 0 R\");tt(\">>\"),tt(\"/XObject <<\"),it.publish(\"putXobjectDict\"),tt(\">>\")}(),tt(\">>\"),tt(\"endobj\"),it.publish(\"postPutResources\")},mt=function(t,e,n){H.hasOwnProperty(e)||(H[e]={}),H[e][n]=t},yt=function(t,e,n,r,i){i=i||!1;var o=\"F\"+(Object.keys(rt).length+1).toString(10),a={id:o,postScriptName:t,fontName:e,fontStyle:n,encoding:r,isStandardFont:i,metadata:{}};return it.publish(\"addFont\",{font:a,instance:this}),void 0!==o&&(rt[o]=a,mt(o,e,n)),o},vt=l.__private__.pdfEscape=l.pdfEscape=function(t,e){return function(t,e){var n,r,i,o,a,s,l,h,u;if(i=(e=e||{}).sourceEncoding||\"Unicode\",a=e.outputEncoding,(e.autoencode||a)&&rt[$].metadata&&rt[$].metadata[i]&&rt[$].metadata[i].encoding&&(o=rt[$].metadata[i].encoding,!a&&rt[$].encoding&&(a=rt[$].encoding),!a&&o.codePages&&(a=o.codePages[0]),\"string\"==typeof a&&(a=o[a]),a)){for(l=!1,s=[],n=0,r=t.length;n>8&&(l=!0);t=s.join(\"\")}for(n=t.length;void 0===l&&0!==n;)t.charCodeAt(n-1)>>8&&(l=!0),n--;if(!l)return t;for(s=e.noBOM?[]:[254,255],n=0,r=t.length;n>8)>>8)throw new Error(\"Character at position \"+n+\" of string '\"+t+\"' exceeds 16bits. Cannot be encoded into UCS-2 BE\");s.push(u),s.push(h-(u<<8))}return String.fromCharCode.apply(void 0,s)}(t,e).replace(/\\\\/g,\"\\\\\\\\\").replace(/\\(/g,\"\\\\(\").replace(/\\)/g,\"\\\\)\")},wt=l.__private__.beginPage=function(t,e){var n,r=\"string\"==typeof e&&e.toLowerCase();if(\"string\"==typeof t&&(n=f(t.toLowerCase()))&&(t=n[0],e=n[1]),Array.isArray(t)&&(e=t[1],t=t[0]),(isNaN(t)||isNaN(e))&&(t=i[0],e=i[1]),r){switch(r.substr(0,1)){case\"l\":t>\"),tt(\"endobj\")},St=l.__private__.putCatalog=function(t){var e=(t=t||{}).rootDictionaryObjId||st;switch(J(),tt(\"<<\"),tt(\"/Type /Catalog\"),tt(\"/Pages \"+e+\" 0 R\"),L||(L=\"fullwidth\"),L){case\"fullwidth\":tt(\"/OpenAction [3 0 R /FitH null]\");break;case\"fullheight\":tt(\"/OpenAction [3 0 R /FitV null]\");break;case\"fullpage\":tt(\"/OpenAction [3 0 R /Fit]\");break;case\"original\":tt(\"/OpenAction [3 0 R /XYZ null null 1]\");break;default:var n=\"\"+L;\"%\"===n.substr(n.length-1)&&(L=parseInt(L)/100),\"number\"==typeof L&&tt(\"/OpenAction [3 0 R /XYZ null null \"+Z(L)+\"]\")}switch(S||(S=\"continuous\"),S){case\"continuous\":tt(\"/PageLayout /OneColumn\");break;case\"single\":tt(\"/PageLayout /SinglePage\");break;case\"two\":case\"twoleft\":tt(\"/PageLayout /TwoColumnLeft\");break;case\"tworight\":tt(\"/PageLayout /TwoColumnRight\")}A&&tt(\"/PageMode /\"+A),it.publish(\"putCatalog\"),tt(\">>\"),tt(\"endobj\")},_t=l.__private__.putTrailer=function(){tt(\"trailer\"),tt(\"<<\"),tt(\"/Size \"+(U+1)),tt(\"/Root \"+U+\" 0 R\"),tt(\"/Info \"+(U-1)+\" 0 R\"),tt(\"/ID [ <\"+d+\"> <\"+d+\"> ]\"),tt(\">>\")},Ft=l.__private__.putHeader=function(){tt(\"%PDF-\"+h),tt(\"%ºß¬à\")},Pt=l.__private__.putXRef=function(){var t=1,e=\"0000000000\";for(tt(\"xref\"),tt(\"0 \"+(U+1)),tt(\"0000000000 65535 f \"),t=1;t<=U;t++){\"function\"==typeof z[t]?tt((e+z[t]()).slice(-10)+\" 00000 n \"):void 0!==z[t]?tt((e+z[t]).slice(-10)+\" 00000 n \"):tt(\"0000000000 00000 n \")}},kt=l.__private__.buildDocument=function(){k=!1,B=U=0,C=[],z=[],G=[],st=X(),lt=X(),it.publish(\"buildDocument\"),Ft(),dt(),function(){it.publish(\"putAdditionalObjects\");for(var t=0;t',i=ie.open();if(null!==i&&i.document.write(r),i||\"undefined\"==typeof safari)return i;case\"datauri\":case\"dataurl\":return ie.document.location.href=\"data:application/pdf;filename=\"+e.filename+\";base64,\"+btoa(n);default:return null}}).foo=function(){try{return F.apply(this,arguments)}catch(t){var e=t.stack||\"\";~e.indexOf(\" at \")&&(e=e.split(\" at \")[1]);var n=\"Error in function \"+e.split(\"\\n\")[0].split(\"<\")[0]+\": \"+t.message;if(!ie.console)throw new Error(n);ie.console.error(n,t),ie.alert&&alert(n)}},(F.foo.bar=F).foo),Bt=function(t){return!0===Array.isArray(Y)&&-1\":\")\"),Y=1):(W=Wt(e),V=Vt(n),G=(l?\"<\":\"(\")+v[H]+(l?\">\":\")\")),void 0!==q&&void 0!==q[H]&&(J=q[H]+\" Tw\\n\"),0!==S.length&&0===H?t.push(J+S.join(\" \")+\" \"+W.toFixed(2)+\" \"+V.toFixed(2)+\" Tm\\n\"+G):1===Y||0===Y&&0===H?t.push(J+W.toFixed(2)+\" \"+V.toFixed(2)+\" Td\\n\"+G):t.push(J+G);t=0===Y?t.join(\" Tj\\nT* \"):t.join(\" Tj\\n\"),t+=\" Tj\\n\";var X=\"BT\\n/\"+$+\" \"+et+\" Tf\\n\"+(et*u).toFixed(2)+\" TL\\n\"+Kt+\"\\n\";return X+=h,X+=t,tt(X+=\"ET\"),K[$]=!0,c},l.__private__.lstext=l.lstext=function(t,e,n,r){return console.warn(\"jsPDF.lstext is deprecated\"),this.text(t,e,n,{charSpace:r})},l.__private__.clip=l.clip=function(t){tt(\"evenodd\"===t?\"W*\":\"W\"),tt(\"n\")},l.__private__.clip_fixed=l.clip_fixed=function(t){console.log(\"clip_fixed is deprecated\"),l.clip(t)};var Ot=l.__private__.isValidStyle=function(t){var e=!1;return-1!==[void 0,null,\"S\",\"F\",\"DF\",\"FD\",\"f\",\"f*\",\"B\",\"B*\"].indexOf(t)&&(e=!0),e},qt=l.__private__.getStyle=function(t){var e=\"S\";return\"F\"===t?e=\"f\":\"FD\"===t||\"DF\"===t?e=\"B\":\"f\"!==t&&\"f*\"!==t&&\"B\"!==t&&\"B*\"!==t||(e=t),e};l.__private__.line=l.line=function(t,e,n,r){if(isNaN(t)||isNaN(e)||isNaN(n)||isNaN(r))throw new Error(\"Invalid arguments passed to jsPDF.line\");return this.lines([[n-t,r-e]],t,e)},l.__private__.lines=l.lines=function(t,e,n,r,i,o){var a,s,l,h,u,c,f,p,d,g,m,y;if(\"number\"==typeof t&&(y=n,n=e,e=t,t=y),r=r||[1,1],o=o||!1,isNaN(e)||isNaN(n)||!Array.isArray(t)||!Array.isArray(r)||!Ot(i)||\"boolean\"!=typeof o)throw new Error(\"Invalid arguments passed to jsPDF.lines\");for(tt(Q(Wt(e))+\" \"+Q(Vt(n))+\" m \"),a=r[0],s=r[1],h=t.length,g=e,m=n,l=0;l=o.length-1;if(b&&!x){m+=\" \";continue}if(b||x){if(x)d=w;else if(i.multiline&&a<(h+2)*(y+2)+2)continue t}else{if(!i.multiline)continue t;if(a<(h+2)*(y+2)+2)continue t;d=w}for(var N=\"\",L=p;L<=d;L++)N+=o[L]+\" \";switch(N=\" \"==N.substr(N.length-1)?N.substr(0,N.length-1):N,g=F(N,i,r).width,i.textAlign){case\"right\":c=s-g-2;break;case\"center\":c=(s-g)/2;break;case\"left\":default:c=2}t+=_(c)+\" \"+_(f)+\" Td\\n\",t+=\"(\"+S(N)+\") Tj\\n\",t+=-_(c)+\" 0 Td\\n\",f=-(r+2),g=0,p=d+1,y++,m=\"\"}else;break}return n.text=t,n.fontSize=r,n},F=function(t,e,n){var r=A.internal.getFont(e.fontName,e.fontStyle),i=A.getStringUnitWidth(t,{font:r,fontSize:parseFloat(n),charSpace:0})*parseFloat(n);return{height:A.getStringUnitWidth(\"3\",{font:r,fontSize:parseFloat(n),charSpace:0})*parseFloat(n)*1.5,width:i}},u={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},p=function(){A.internal.acroformPlugin.acroFormDictionaryRoot.objId=void 0;var t=A.internal.acroformPlugin.acroFormDictionaryRoot.Fields;for(var e in t)if(t.hasOwnProperty(e)){var n=t[e];n.objId=void 0,n.hasAnnotation&&d.call(A,n)}},d=function(t){var e={type:\"reference\",object:t};void 0===A.internal.getPageInfo(t.page).pageContext.annotations.find(function(t){return t.type===e.type&&t.object===e.object})&&A.internal.getPageInfo(t.page).pageContext.annotations.push(e)},g=function(){if(void 0===A.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"putCatalogCallback: Root missing.\");A.internal.write(\"/AcroForm \"+A.internal.acroformPlugin.acroFormDictionaryRoot.objId+\" 0 R\")},m=function(){A.internal.events.unsubscribe(A.internal.acroformPlugin.acroFormDictionaryRoot._eventID),delete A.internal.acroformPlugin.acroFormDictionaryRoot._eventID,A.internal.acroformPlugin.printedOut=!0},L=function(t){var e=!t;t||(A.internal.newObjectDeferredBegin(A.internal.acroformPlugin.acroFormDictionaryRoot.objId,!0),A.internal.acroformPlugin.acroFormDictionaryRoot.putStream());t=t||A.internal.acroformPlugin.acroFormDictionaryRoot.Kids;for(var n in t)if(t.hasOwnProperty(n)){var r=t[n],i=[],o=r.Rect;if(r.Rect&&(r.Rect=c.call(this,r.Rect)),A.internal.newObjectDeferredBegin(r.objId,!0),r.DA=Y.createDefaultAppearanceStream(r),\"object\"===se(r)&&\"function\"==typeof r.getKeyValueListForStream&&(i=r.getKeyValueListForStream()),r.Rect=o,r.hasAppearanceStream&&!r.appearanceStreamContent){var a=f.call(this,r);i.push({key:\"AP\",value:\"<>\"}),A.internal.acroformPlugin.xForms.push(a)}if(r.appearanceStreamContent){var s=\"\";for(var l in r.appearanceStreamContent)if(r.appearanceStreamContent.hasOwnProperty(l)){var h=r.appearanceStreamContent[l];if(s+=\"/\"+l+\" \",s+=\"<<\",1<=Object.keys(h).length||Array.isArray(h))for(var n in h){var u;if(h.hasOwnProperty(n))\"function\"==typeof(u=h[n])&&(u=u.call(this,r)),s+=\"/\"+n+\" \"+u+\" \",0<=A.internal.acroformPlugin.xForms.indexOf(u)||A.internal.acroformPlugin.xForms.push(u)}else\"function\"==typeof(u=h)&&(u=u.call(this,r)),s+=\"/\"+n+\" \"+u,0<=A.internal.acroformPlugin.xForms.indexOf(u)||A.internal.acroformPlugin.xForms.push(u);s+=\">>\"}i.push({key:\"AP\",value:\"<<\\n\"+s+\">>\"})}A.internal.putStream({additionalKeyValues:i}),A.internal.out(\"endobj\")}e&&P.call(this,A.internal.acroformPlugin.xForms)},P=function(t){for(var e in t)if(t.hasOwnProperty(e)){var n=e,r=t[e];A.internal.newObjectDeferredBegin(r&&r.objId,!0),\"object\"===se(r)&&\"function\"==typeof r.putStream&&r.putStream(),delete t[n]}},k=function(){if(void 0!==this.internal&&(void 0===this.internal.acroformPlugin||!1===this.internal.acroformPlugin.isInitialized)){if(A=this,M.FieldNum=0,this.internal.acroformPlugin=JSON.parse(JSON.stringify(u)),this.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"Exception while creating AcroformDictionary\");n=A.internal.scaleFactor,A.internal.acroformPlugin.acroFormDictionaryRoot=new E,A.internal.acroformPlugin.acroFormDictionaryRoot._eventID=A.internal.events.subscribe(\"postPutResources\",m),A.internal.events.subscribe(\"buildDocument\",p),A.internal.events.subscribe(\"putCatalog\",g),A.internal.events.subscribe(\"postPutPages\",L),A.internal.acroformPlugin.isInitialized=!0}},I=t.__acroform__.arrayToPdfArray=function(t){if(Array.isArray(t)){for(var e=\"[\",n=0;n>\"),e.join(\"\\n\")}},set:function(t){\"object\"===se(t)&&(n=t)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return n.CA||\"\"},set:function(t){\"string\"==typeof t&&(n.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return e.substr(1,e.length-1)},set:function(t){e=\"/\"+t}})};r(D,M);var U=function(){D.call(this),this.pushButton=!0};r(U,D);var z=function(){D.call(this),this.radio=!0,this.pushButton=!1;var e=[];Object.defineProperty(this,\"Kids\",{enumerable:!0,configurable:!1,get:function(){return e},set:function(t){e=void 0!==t?t:[]}})};r(z,D);var H=function(){var e,n;M.call(this),Object.defineProperty(this,\"Parent\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"optionName\",{enumerable:!1,configurable:!0,get:function(){return n},set:function(t){n=t}});var r,i={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t,e=[];for(t in e.push(\"<<\"),i)e.push(\"/\"+t+\" (\"+i[t]+\")\");return e.push(\">>\"),e.join(\"\\n\")},set:function(t){\"object\"===se(t)&&(i=t)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return i.CA||\"\"},set:function(t){\"string\"==typeof t&&(i.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return r},set:function(t){r=t}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return r.substr(1,r.length-1)},set:function(t){r=\"/\"+t}}),this.optionName=name,this.caption=\"l\",this.appearanceState=\"Off\",this._AppearanceType=Y.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(name)};r(H,M),z.prototype.setAppearance=function(t){if(!(\"createAppearanceStream\"in t&&\"getCA\"in t))throw new Error(\"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\");for(var e in this.Kids)if(this.Kids.hasOwnProperty(e)){var n=this.Kids[e];n.appearanceStreamContent=t.createAppearanceStream(n.optionName),n.caption=t.getCA()}},z.prototype.createOption=function(t){this.Kids.length;var e=new H;return e.Parent=this,e.optionName=t,this.Kids.push(e),J.call(this,e),e};var W=function(){D.call(this),this.fontName=\"zapfdingbats\",this.caption=\"3\",this.appearanceState=\"On\",this.value=\"On\",this.textAlign=\"center\",this.appearanceStreamContent=Y.CheckBox.createAppearanceStream()};r(W,D);var V=function(){M.call(this),this.FT=\"/Tx\",Object.defineProperty(this,\"multiline\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,13))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,13):this.Ff=N(this.Ff,13)}}),Object.defineProperty(this,\"fileSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,21))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,21):this.Ff=N(this.Ff,21)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,23):this.Ff=N(this.Ff,23)}}),Object.defineProperty(this,\"doNotScroll\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,24))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,24):this.Ff=N(this.Ff,24)}}),Object.defineProperty(this,\"comb\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,25))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,25):this.Ff=N(this.Ff,25)}}),Object.defineProperty(this,\"richText\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,26):this.Ff=N(this.Ff,26)}});var e=null;Object.defineProperty(this,\"MaxLen\",{enumerable:!0,configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"maxLength\",{enumerable:!0,configurable:!0,get:function(){return e},set:function(t){Number.isInteger(t)&&(e=t)}}),Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return this.V||this.DV}})};r(V,M);var G=function(){V.call(this),Object.defineProperty(this,\"password\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,14))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,14):this.Ff=N(this.Ff,14)}}),this.password=!0};r(G,V);var Y={CheckBox:{createAppearanceStream:function(){return{N:{On:Y.CheckBox.YesNormal},D:{On:Y.CheckBox.YesPushDown,Off:Y.CheckBox.OffPushDown}}},YesPushDown:function(t){var e=l(t),n=[],r=A.internal.getFont(t.fontName,t.fontStyle).id,i=A.__private__.encodeColorString(t.color),o=h(t,t.caption);return n.push(\"0.749023 g\"),n.push(\"0 0 \"+_(Y.internal.getWidth(t))+\" \"+_(Y.internal.getHeight(t))+\" re\"),n.push(\"f\"),n.push(\"BMC\"),n.push(\"q\"),n.push(\"0 0 1 rg\"),n.push(\"/\"+r+\" \"+_(o.fontSize)+\" Tf \"+i),n.push(\"BT\"),n.push(o.text),n.push(\"ET\"),n.push(\"Q\"),n.push(\"EMC\"),e.stream=n.join(\"\\n\"),e},YesNormal:function(t){var e=l(t),n=A.internal.getFont(t.fontName,t.fontStyle).id,r=A.__private__.encodeColorString(t.color),i=[],o=Y.internal.getHeight(t),a=Y.internal.getWidth(t),s=h(t,t.caption);return i.push(\"1 g\"),i.push(\"0 0 \"+_(a)+\" \"+_(o)+\" re\"),i.push(\"f\"),i.push(\"q\"),i.push(\"0 0 1 rg\"),i.push(\"0 0 \"+_(a-1)+\" \"+_(o-1)+\" re\"),i.push(\"W\"),i.push(\"n\"),i.push(\"0 g\"),i.push(\"BT\"),i.push(\"/\"+n+\" \"+_(s.fontSize)+\" Tf \"+r),i.push(s.text),i.push(\"ET\"),i.push(\"Q\"),e.stream=i.join(\"\\n\"),e},OffPushDown:function(t){var e=l(t),n=[];return n.push(\"0.749023 g\"),n.push(\"0 0 \"+_(Y.internal.getWidth(t))+\" \"+_(Y.internal.getHeight(t))+\" re\"),n.push(\"f\"),e.stream=n.join(\"\\n\"),e}},RadioButton:{Circle:{createAppearanceStream:function(t){var e={D:{Off:Y.RadioButton.Circle.OffPushDown},N:{}};return e.N[t]=Y.RadioButton.Circle.YesNormal,e.D[t]=Y.RadioButton.Circle.YesPushDown,e},getCA:function(){return\"l\"},YesNormal:function(t){var e=l(t),n=[],r=Y.internal.getWidth(t)<=Y.internal.getHeight(t)?Y.internal.getWidth(t)/4:Y.internal.getHeight(t)/4;r=Number((.9*r).toFixed(5));var i=Y.internal.Bezier_C,o=Number((r*i).toFixed(5));return n.push(\"q\"),n.push(\"1 0 0 1 \"+s(Y.internal.getWidth(t)/2)+\" \"+s(Y.internal.getHeight(t)/2)+\" cm\"),n.push(r+\" 0 m\"),n.push(r+\" \"+o+\" \"+o+\" \"+r+\" 0 \"+r+\" c\"),n.push(\"-\"+o+\" \"+r+\" -\"+r+\" \"+o+\" -\"+r+\" 0 c\"),n.push(\"-\"+r+\" -\"+o+\" -\"+o+\" -\"+r+\" 0 -\"+r+\" c\"),n.push(o+\" -\"+r+\" \"+r+\" -\"+o+\" \"+r+\" 0 c\"),n.push(\"f\"),n.push(\"Q\"),e.stream=n.join(\"\\n\"),e},YesPushDown:function(t){var e=l(t),n=[],r=Y.internal.getWidth(t)<=Y.internal.getHeight(t)?Y.internal.getWidth(t)/4:Y.internal.getHeight(t)/4,i=(r=Number((.9*r).toFixed(5)),Number((2*r).toFixed(5))),o=Number((i*Y.internal.Bezier_C).toFixed(5)),a=Number((r*Y.internal.Bezier_C).toFixed(5));return n.push(\"0.749023 g\"),n.push(\"q\"),n.push(\"1 0 0 1 \"+s(Y.internal.getWidth(t)/2)+\" \"+s(Y.internal.getHeight(t)/2)+\" cm\"),n.push(i+\" 0 m\"),n.push(i+\" \"+o+\" \"+o+\" \"+i+\" 0 \"+i+\" c\"),n.push(\"-\"+o+\" \"+i+\" -\"+i+\" \"+o+\" -\"+i+\" 0 c\"),n.push(\"-\"+i+\" -\"+o+\" -\"+o+\" -\"+i+\" 0 -\"+i+\" c\"),n.push(o+\" -\"+i+\" \"+i+\" -\"+o+\" \"+i+\" 0 c\"),n.push(\"f\"),n.push(\"Q\"),n.push(\"0 g\"),n.push(\"q\"),n.push(\"1 0 0 1 \"+s(Y.internal.getWidth(t)/2)+\" \"+s(Y.internal.getHeight(t)/2)+\" cm\"),n.push(r+\" 0 m\"),n.push(r+\" \"+a+\" \"+a+\" \"+r+\" 0 \"+r+\" c\"),n.push(\"-\"+a+\" \"+r+\" -\"+r+\" \"+a+\" -\"+r+\" 0 c\"),n.push(\"-\"+r+\" -\"+a+\" -\"+a+\" -\"+r+\" 0 -\"+r+\" c\"),n.push(a+\" -\"+r+\" \"+r+\" -\"+a+\" \"+r+\" 0 c\"),n.push(\"f\"),n.push(\"Q\"),e.stream=n.join(\"\\n\"),e},OffPushDown:function(t){var e=l(t),n=[],r=Y.internal.getWidth(t)<=Y.internal.getHeight(t)?Y.internal.getWidth(t)/4:Y.internal.getHeight(t)/4,i=(r=Number((.9*r).toFixed(5)),Number((2*r).toFixed(5))),o=Number((i*Y.internal.Bezier_C).toFixed(5));return n.push(\"0.749023 g\"),n.push(\"q\"),n.push(\"1 0 0 1 \"+s(Y.internal.getWidth(t)/2)+\" \"+s(Y.internal.getHeight(t)/2)+\" cm\"),n.push(i+\" 0 m\"),n.push(i+\" \"+o+\" \"+o+\" \"+i+\" 0 \"+i+\" c\"),n.push(\"-\"+o+\" \"+i+\" -\"+i+\" \"+o+\" -\"+i+\" 0 c\"),n.push(\"-\"+i+\" -\"+o+\" -\"+o+\" -\"+i+\" 0 -\"+i+\" c\"),n.push(o+\" -\"+i+\" \"+i+\" -\"+o+\" \"+i+\" 0 c\"),n.push(\"f\"),n.push(\"Q\"),e.stream=n.join(\"\\n\"),e}},Cross:{createAppearanceStream:function(t){var e={D:{Off:Y.RadioButton.Cross.OffPushDown},N:{}};return e.N[t]=Y.RadioButton.Cross.YesNormal,e.D[t]=Y.RadioButton.Cross.YesPushDown,e},getCA:function(){return\"8\"},YesNormal:function(t){var e=l(t),n=[],r=Y.internal.calculateCross(t);return n.push(\"q\"),n.push(\"1 1 \"+_(Y.internal.getWidth(t)-2)+\" \"+_(Y.internal.getHeight(t)-2)+\" re\"),n.push(\"W\"),n.push(\"n\"),n.push(_(r.x1.x)+\" \"+_(r.x1.y)+\" m\"),n.push(_(r.x2.x)+\" \"+_(r.x2.y)+\" l\"),n.push(_(r.x4.x)+\" \"+_(r.x4.y)+\" m\"),n.push(_(r.x3.x)+\" \"+_(r.x3.y)+\" l\"),n.push(\"s\"),n.push(\"Q\"),e.stream=n.join(\"\\n\"),e},YesPushDown:function(t){var e=l(t),n=Y.internal.calculateCross(t),r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+_(Y.internal.getWidth(t))+\" \"+_(Y.internal.getHeight(t))+\" re\"),r.push(\"f\"),r.push(\"q\"),r.push(\"1 1 \"+_(Y.internal.getWidth(t)-2)+\" \"+_(Y.internal.getHeight(t)-2)+\" re\"),r.push(\"W\"),r.push(\"n\"),r.push(_(n.x1.x)+\" \"+_(n.x1.y)+\" m\"),r.push(_(n.x2.x)+\" \"+_(n.x2.y)+\" l\"),r.push(_(n.x4.x)+\" \"+_(n.x4.y)+\" m\"),r.push(_(n.x3.x)+\" \"+_(n.x3.y)+\" l\"),r.push(\"s\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},OffPushDown:function(t){var e=l(t),n=[];return n.push(\"0.749023 g\"),n.push(\"0 0 \"+_(Y.internal.getWidth(t))+\" \"+_(Y.internal.getHeight(t))+\" re\"),n.push(\"f\"),e.stream=n.join(\"\\n\"),e}}},createDefaultAppearanceStream:function(t){var e=A.internal.getFont(t.fontName,t.fontStyle).id,n=A.__private__.encodeColorString(t.color);return\"/\"+e+\" \"+t.fontSize+\" Tf \"+n}};Y.internal={Bezier_C:.551915024494,calculateCross:function(t){var e=Y.internal.getWidth(t),n=Y.internal.getHeight(t),r=Math.min(e,n);return{x1:{x:(e-r)/2,y:(n-r)/2+r},x2:{x:(e-r)/2+r,y:(n-r)/2},x3:{x:(e-r)/2,y:(n-r)/2},x4:{x:(e-r)/2+r,y:(n-r)/2+r}}}},Y.internal.getWidth=function(t){var e=0;return\"object\"===se(t)&&(e=v(t.Rect[2])),e},Y.internal.getHeight=function(t){var e=0;return\"object\"===se(t)&&(e=v(t.Rect[3])),e};var J=t.addField=function(t){if(k.call(this),!(t instanceof M))throw new Error(\"Invalid argument passed to jsPDF.addField.\");return function(t){A.internal.acroformPlugin.printedOut&&(A.internal.acroformPlugin.printedOut=!1,A.internal.acroformPlugin.acroFormDictionaryRoot=null),A.internal.acroformPlugin.acroFormDictionaryRoot||k.call(A),A.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(t)}.call(this,t),t.page=A.internal.getCurrentPageInfo().pageNumber,this};t.addButton=function(t){if(t instanceof D==!1)throw new Error(\"Invalid argument passed to jsPDF.addButton.\");return J.call(this,t)},t.addTextField=function(t){if(t instanceof V==!1)throw new Error(\"Invalid argument passed to jsPDF.addTextField.\");return J.call(this,t)},t.addChoiceField=function(t){if(t instanceof O==!1)throw new Error(\"Invalid argument passed to jsPDF.addChoiceField.\");return J.call(this,t)};\"object\"==se(e)&&void 0===e.ChoiceField&&void 0===e.ListBox&&void 0===e.ComboBox&&void 0===e.EditBox&&void 0===e.Button&&void 0===e.PushButton&&void 0===e.RadioButton&&void 0===e.CheckBox&&void 0===e.TextField&&void 0===e.PasswordField?(e.ChoiceField=O,e.ListBox=q,e.ComboBox=T,e.EditBox=R,e.Button=D,e.PushButton=U,e.RadioButton=z,e.CheckBox=W,e.TextField=V,e.PasswordField=G,e.AcroForm={Appearance:Y}):console.warn(\"AcroForm-Classes are not populated into global-namespace, because the class-Names exist already.\"),t.AcroFormChoiceField=O,t.AcroFormListBox=q,t.AcroFormComboBox=T,t.AcroFormEditBox=R,t.AcroFormButton=D,t.AcroFormPushButton=U,t.AcroFormRadioButton=z,t.AcroFormCheckBox=W,t.AcroFormTextField=V,t.AcroFormPasswordField=G,t.AcroFormAppearance=Y,t.AcroForm={ChoiceField:O,ListBox:q,ComboBox:T,EditBox:R,Button:D,PushButton:U,RadioButton:z,CheckBox:W,TextField:V,PasswordField:G,Appearance:Y}})((window.tmp=lt).API,\"undefined\"!=typeof window&&window||\"undefined\"!=typeof global&&global),\n/** @license\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n * 2013 Chris Dowling, https://github.com/gingerchris\n * 2013 Trinh Ho, https://github.com/ineedfat\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\n * 2013 Norah Smith, https://github.com/burnburnrocket\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 James Robb, https://github.com/jamesbrobb\n *\n * \n */\nfunction(x){var N=\"addImage_\",l={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},h=x.getImageFileTypeByImageData=function(t,e){var n,r;e=e||\"UNKNOWN\";var i,o,a,s=\"UNKNOWN\";for(a in x.isArrayBufferView(t)&&(t=x.arrayBufferToBinaryString(t)),l)for(i=l[a],n=0;n>\"}),\"trns\"in e&&e.trns.constructor==Array){for(var s=\"\",l=0,h=e.trns.length;l>18]+r[(258048&e)>>12]+r[(4032&e)>>6]+r[63&e];return 1==a?n+=r[(252&(e=i[s]))>>2]+r[(3&e)<<4]+\"==\":2==a&&(n+=r[(64512&(e=i[s]<<8|i[s+1]))>>10]+r[(1008&e)>>4]+r[(15&e)<<2]+\"=\"),n},x.createImageInfo=function(t,e,n,r,i,o,a,s,l,h,u,c,f){var p={alias:s,w:e,h:n,cs:r,bpc:i,i:a,data:t};return o&&(p.f=o),l&&(p.dp=l),h&&(p.trns=h),u&&(p.pal=u),c&&(p.smask=c),f&&(p.p=f),p},x.addImage=function(t,e,n,r,i,o,a,s,l){var h=\"\";if(\"string\"!=typeof e){var u=o;o=i,i=r,r=n,n=e,e=u}if(\"object\"===se(t)&&!_(t)&&\"imageData\"in t){var c=t;t=c.imageData,e=c.format||e||\"UNKNOWN\",n=c.x||n||0,r=c.y||r||0,i=c.w||i,o=c.h||o,a=c.alias||a,s=c.compression||s,l=c.rotation||c.angle||l}var f=this.internal.getFilters();if(void 0===s&&-1!==f.indexOf(\"FlateEncode\")&&(s=\"SLOW\"),\"string\"==typeof t&&(t=unescape(t)),isNaN(n)||isNaN(r))throw console.error(\"jsPDF.addImage: Invalid coordinates\",arguments),new Error(\"Invalid coordinates passed to jsPDF.addImage\");var p,d,g,m,y,v,w,b=function(){var t=this.internal.collections[N+\"images\"];return t||(this.internal.collections[N+\"images\"]=t={},this.internal.events.subscribe(\"putResources\",L),this.internal.events.subscribe(\"putXobjectDict\",A)),t}.call(this);if(!((p=P(t,b))||(_(t)&&(t=F(t,e)),(null==(w=a)||0===w.length)&&(a=\"string\"==typeof(v=t)?x.sHashCode(v):x.isArrayBufferView(v)?x.sHashCode(x.arrayBufferToBinaryString(v)):null),p=P(a,b)))){if(this.isString(t)&&(\"\"!==(h=this.convertStringToImageData(t))?t=h:void 0!==(h=x.loadFile(t))&&(t=h)),e=this.getImageFileTypeByImageData(t,e),!S(e))throw new Error(\"addImage does not support files of type '\"+e+\"', please ensure that a plugin for '\"+e+\"' support is added.\");if(this.supportsArrayBuffer()&&(t instanceof Uint8Array||(d=t,t=this.binaryStringToUint8Array(t))),!(p=this[\"process\"+e.toUpperCase()](t,(y=0,(m=b)&&(y=Object.keys?Object.keys(m).length:function(t){var e=0;for(var n in t)t.hasOwnProperty(n)&&e++;return e}(m)),y),a,((g=s)&&\"string\"==typeof g&&(g=g.toUpperCase()),g in x.image_compression?g:x.image_compression.NONE),d)))throw new Error(\"An unknown error occurred whilst processing the image\")}return function(t,e,n,r,i,o,a,s){var l=function(t,e,n){return t||e||(e=t=-96),t<0&&(t=-1*n.w*72/t/this.internal.scaleFactor),e<0&&(e=-1*n.h*72/e/this.internal.scaleFactor),0===t&&(t=e*n.w/n.h),0===e&&(e=t*n.h/n.w),[t,e]}.call(this,n,r,i),h=this.internal.getCoordinateString,u=this.internal.getVerticalCoordinateString;if(n=l[0],r=l[1],a[o]=i,s){s*=Math.PI/180;var c=Math.cos(s),f=Math.sin(s),p=function(t){return t.toFixed(4)},d=[p(c),p(f),p(-1*f),p(c),0,0,\"cm\"]}this.internal.write(\"q\"),s?(this.internal.write([1,\"0\",\"0\",1,h(t),u(e+r),\"cm\"].join(\" \")),this.internal.write(d.join(\" \")),this.internal.write([h(n),\"0\",\"0\",h(r),\"0\",\"0\",\"cm\"].join(\" \"))):this.internal.write([h(n),\"0\",\"0\",h(r),h(t),u(e+r),\"cm\"].join(\" \")),this.internal.write(\"/I\"+i.i+\" Do\"),this.internal.write(\"Q\")}.call(this,n,r,i,o,p,p.i,b,l),this},x.convertStringToImageData=function(t){var e,n=\"\";if(this.isString(t)){var r;e=null!==(r=this.extractImageFromDataUrl(t))?r.data:t;try{n=atob(e)}catch(t){throw x.validateStringAsBase64(e)?new Error(\"atob-Error in jsPDF.convertStringToImageData \"+t.message):new Error(\"Supplied Data is not a valid base64-String jsPDF.convertStringToImageData \")}}return n};var u=function(t,e){return t.subarray(e,e+5)};x.processJPEG=function(t,e,n,r,i,o){var a,s=this.decode.DCT_DECODE;if(!this.isString(t)&&!this.isArrayBuffer(t)&&!this.isArrayBufferView(t))return null;if(this.isString(t)&&(a=function(t){var e;if(\"JPEG\"!==h(t))throw new Error(\"getJpegSize requires a binary string jpeg file\");for(var n=256*t.charCodeAt(4)+t.charCodeAt(5),r=4,i=t.length;r>\",h.content=m;var f=h.objId+\" 0 R\";m=\"<>\",u.content=m,this.internal.write(h.objId,\"0 R\",u.objId,\"0 R\");break;case\"freetext\":var p=\"/Rect [\"+a(l.bounds.x)+\" \"+s(l.bounds.y)+\" \"+a(l.bounds.x+l.bounds.w)+\" \"+s(l.bounds.y+l.bounds.h)+\"] \",d=l.color||\"#000000\";m=\"<>\",this.internal.write(m);break;case\"link\":if(l.options.name){var g=this.annotations._nameMap[l.options.name];l.options.pageNumber=g.page,l.options.top=g.y}else l.options.top||(l.options.top=0);p=\"/Rect [\"+a(l.x)+\" \"+s(l.y)+\" \"+a(l.x+l.w)+\" \"+s(l.y+l.h)+\"] \";var m=\"\";if(l.options.url)m=\"<>\";else if(l.options.pageNumber)switch(m=\"<>\",this.internal.write(m))}}this.internal.write(\"]\")}}]),t.createAnnotation=function(t){var e=this.internal.getCurrentPageInfo();switch(t.type){case\"link\":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case\"text\":case\"freetext\":e.pageContext.annotations.push(t)}},t.link=function(t,e,n,r,i){this.internal.getCurrentPageInfo().pageContext.annotations.push({x:t,y:e,w:n,h:r,options:i,type:\"link\"})},t.textWithLink=function(t,e,n,r){var i=this.getTextWidth(t),o=this.internal.getLineHeight()/this.internal.scaleFactor;return this.text(t,e,n),n+=.2*o,this.link(e,n-o,i,o,r),i},t.getTextWidth=function(t){var e=this.internal.getFontSize();return this.getStringUnitWidth(t)*e/this.internal.scaleFactor},\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi \n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var h={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},a={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},e={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},n=[1570,1571,1573,1575];t.__arabicParser__={};var r=t.__arabicParser__.isInArabicSubstitutionA=function(t){return void 0!==h[t.charCodeAt(0)]},u=t.__arabicParser__.isArabicLetter=function(t){return\"string\"==typeof t&&/^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(t)},i=t.__arabicParser__.isArabicEndLetter=function(t){return u(t)&&r(t)&&h[t.charCodeAt(0)].length<=2},o=t.__arabicParser__.isArabicAlfLetter=function(t){return u(t)&&0<=n.indexOf(t.charCodeAt(0))},s=(t.__arabicParser__.arabicLetterHasIsolatedForm=function(t){return u(t)&&r(t)&&1<=h[t.charCodeAt(0)].length},t.__arabicParser__.arabicLetterHasFinalForm=function(t){return u(t)&&r(t)&&2<=h[t.charCodeAt(0)].length}),l=(t.__arabicParser__.arabicLetterHasInitialForm=function(t){return u(t)&&r(t)&&3<=h[t.charCodeAt(0)].length},t.__arabicParser__.arabicLetterHasMedialForm=function(t){return u(t)&&r(t)&&4==h[t.charCodeAt(0)].length}),c=t.__arabicParser__.resolveLigatures=function(t){var e=0,n=a,r=0,i=\"\",o=0;for(e=0;e>\"),this.internal.out(\"endobj\")}),this.internal.events.subscribe(\"putCatalog\",function(){this.internal.out(\"/OpenAction \"+e+\" 0 R\")})}return this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\ne=lt.API,(n=function(){var e=void 0;Object.defineProperty(this,\"pdf\",{get:function(){return e},set:function(t){e=t}});var n=150;Object.defineProperty(this,\"width\",{get:function(){return n},set:function(t){n=isNaN(t)||!1===Number.isInteger(t)||t<0?150:t,this.getContext(\"2d\").pageWrapXEnabled&&(this.getContext(\"2d\").pageWrapX=n+1)}});var r=300;Object.defineProperty(this,\"height\",{get:function(){return r},set:function(t){r=isNaN(t)||!1===Number.isInteger(t)||t<0?300:t,this.getContext(\"2d\").pageWrapYEnabled&&(this.getContext(\"2d\").pageWrapY=r+1)}});var i=[];Object.defineProperty(this,\"childNodes\",{get:function(){return i},set:function(t){i=t}});var o={};Object.defineProperty(this,\"style\",{get:function(){return o},set:function(t){o=t}}),Object.defineProperty(this,\"parentNode\",{get:function(){return!1}})}).prototype.getContext=function(t,e){var n;if(\"2d\"!==(t=t||\"2d\"))return null;for(n in e)this.pdf.context2d.hasOwnProperty(n)&&(this.pdf.context2d[n]=e[n]);return(this.pdf.context2d._canvas=this).pdf.context2d},n.prototype.toDataURL=function(){throw new Error(\"toDataURL is not implemented.\")},e.events.push([\"initialized\",function(){this.canvas=new n,this.canvas.pdf=this}]),\n/** \n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n * 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Hall, james@parall.ax\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * \n * ====================================================================\n */\n_=lt.API,F={x:void 0,y:void 0,w:void 0,h:void 0,ln:void 0},P=1,p=function(t,e,n,r,i){F={x:t,y:e,w:n,h:r,ln:i}},d=function(){return F},k={left:0,top:0,bottom:0},_.setHeaderFunction=function(t){l=t},_.getTextDimensions=function(t,e){var n=this.table_font_size||this.internal.getFontSize(),r=(this.internal.getFont().fontStyle,(e=e||{}).scaleFactor||this.internal.scaleFactor),i=0,o=0,a=0;if(\"string\"==typeof t)0!=(i=this.getStringUnitWidth(t)*n)&&(o=1);else{if(\"[object Array]\"!==Object.prototype.toString.call(t))throw new Error(\"getTextDimensions expects text-parameter to be of type String or an Array of Strings.\");for(var s=0;s=this.internal.pageSize.getHeight()-h.bottom&&(this.cellAddPage(),l=!0,this.printHeaders&&this.tableHeaderRow&&this.printHeaderRow(o,!0)),e=d().y+d().h,l&&(e=23)}if(void 0!==i[0])if(this.printingHeaderRow?this.rect(t,e,n,r,\"FD\"):this.rect(t,e,n,r),\"right\"===a){i instanceof Array||(i=[i]);for(var u=0;u=2*Math.PI&&(r=0,i=2*Math.PI),this.path.push({type:\"arc\",x:t,y:e,radius:n,startAngle:r,endAngle:i,counterclockwise:o})},n.prototype.arcTo=function(t,e,n,r,i){throw new Error(\"arcTo not implemented.\")},n.prototype.rect=function(t,e,n,r){if(isNaN(t)||isNaN(e)||isNaN(n)||isNaN(r))throw console.error(\"jsPDF.context2d.rect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");this.moveTo(t,e),this.lineTo(t+n,e),this.lineTo(t+n,e+r),this.lineTo(t,e+r),this.lineTo(t,e),this.lineTo(t+n,e),this.lineTo(t,e)},n.prototype.fillRect=function(t,e,n,r){if(isNaN(t)||isNaN(e)||isNaN(n)||isNaN(r))throw console.error(\"jsPDF.context2d.fillRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");if(!N.call(this)){var i={};\"butt\"!==this.lineCap&&(i.lineCap=this.lineCap,this.lineCap=\"butt\"),\"miter\"!==this.lineJoin&&(i.lineJoin=this.lineJoin,this.lineJoin=\"miter\"),this.beginPath(),this.rect(t,e,n,r),this.fill(),i.hasOwnProperty(\"lineCap\")&&(this.lineCap=i.lineCap),i.hasOwnProperty(\"lineJoin\")&&(this.lineJoin=i.lineJoin)}},n.prototype.strokeRect=function(t,e,n,r){if(isNaN(t)||isNaN(e)||isNaN(n)||isNaN(r))throw console.error(\"jsPDF.context2d.strokeRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");L.call(this)||(this.beginPath(),this.rect(t,e,n,r),this.stroke())},n.prototype.clearRect=function(t,e,n,r){if(isNaN(t)||isNaN(e)||isNaN(n)||isNaN(r))throw console.error(\"jsPDF.context2d.clearRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");this.ignoreClearRect||(this.fillStyle=\"#ffffff\",this.fillRect(t,e,n,r))},n.prototype.save=function(t){t=\"boolean\"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,n=0;n\"},s=function(t){var r,e,n,i,o,a=String,s=\"length\",l=\"charCodeAt\",h=\"slice\",u=\"replace\";for(t[h](-2),t=t[h](0,-2)[u](/\\s/g,\"\")[u](\"z\",\"!!!!!\"),n=[],i=0,o=(t+=r=\"uuuuu\"[h](t[s]%5||5))[s];i>24,255&e>>16,255&e>>8,255&e);return function(t,e){for(var n=r[s];0\"},u=function(t){var e=new RegExp(/^([0-9A-Fa-f]{2})+$/);if(-1!==(t=t.replace(/\\s/g,\"\")).indexOf(\">\")&&(t=t.substr(0,t.indexOf(\">\"))),t.length%2&&(t+=\"0\"),!1===e.test(t))return\"\";for(var n=\"\",r=0;r>8&255,n>>16&255,n>>24&255]),t.length+2),t=String.fromCharCode.apply(null,i)},a.processDataByFilters=function(t,e){var n=0,r=t||\"\",i=[];for(\"string\"==typeof(e=e||[])&&(e=[e]),n=0;n>\"),this.internal.out(\"endobj\"),w=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /JavaScript\"),this.internal.out(\"/JS (\"+b+\")\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")}),this.internal.events.subscribe(\"putCatalog\",function(){void 0!==v&&void 0!==w&&this.internal.out(\"/Names <>\")}),this},(\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nx=lt.API).events.push([\"postPutResources\",function(){var t=this,e=/^(\\d+) 0 obj$/;if(0> endobj\")}var c=t.internal.newObject();for(t.internal.write(\"<< /Names [ \"),r=0;r>\",\"endobj\"),t.internal.newObject(),t.internal.write(\"<< /Dests \"+c+\" 0 R\"),t.internal.write(\">>\",\"endobj\")}}]),x.events.push([\"putCatalog\",function(){0> \\r\\nendobj\\r\\n\"},a.outline.count_r=function(t,e){for(var n=0;n>>24&255,f[c++]=s>>>16&255,f[c++]=s>>>8&255,f[c++]=255&s,I.arrayBufferToBinaryString(f)},N=function(t,e){var n=Math.LOG2E*Math.log(32768)-8<<4|8,r=n<<8;return r|=Math.min(3,(e-1&255)>>1)<<6,r|=0,[n,255&(r+=31-r%31)]},L=function(t,e){for(var n,r=1,i=0,o=t.length,a=0;0>>0},A=function(t,e,n,r){for(var i,o,a,s=t.length/e,l=new Uint8Array(t.length+s),h=T(),u=0;u>>1)&255;return o},O=function(t,e,n){var r,i,o,a,s=[],l=0,h=t.length;for(s[0]=4;l>>d&255,d+=o.bits;y[w]=x>>>d&255}if(16===o.bits){g=(_=new Uint32Array(o.decodePixels().buffer)).length,m=new Uint8Array(g*(32/o.pixelBitlength)*o.colors),y=new Uint8Array(g*(32/o.pixelBitlength));for(var x,N=1>>0&255,N&&(m[b++]=x>>>16&255,x=_[w++],m[b++]=x>>>0&255),y[L++]=x>>>16&255;p=8}r!==I.image_compression.NONE&&C()?(t=B(m,o.width*o.colors,o.colors,r),u=B(y,o.width,1,r)):(t=m,u=y,f=null)}if(3===o.colorType&&(c=this.color_spaces.INDEXED,h=o.palette,o.transparency.indexed)){var A=o.transparency.indexed,S=0;for(w=0,g=A.length;wr&&(i.push(t.slice(l,o)),s=0,l=o),s+=e[o],o++;return l!==o&&i.push(t.slice(l,o)),i},J=function(t,e,n){n||(n={});var r,i,o,a,s,l,h=[],u=[h],c=n.textIndent||0,f=0,p=0,d=t.split(\" \"),g=W.apply(this,[\" \",n])[0];if(l=-1===n.lineIndent?d[0].length+2:n.lineIndent||0){var m=Array(l).join(\" \"),y=[];d.map(function(t){1<(t=t.split(/\\s*\\n/)).length?y=y.concat(t.map(function(t,e){return(e&&t.length?\"\\n\":\"\")+t})):y.push(t[0])}),d=y,l=G.apply(this,[m,n])}for(o=0,a=d.length;o>\")}),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=n,this},\n/** ==================================================================== \n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n * \n * \n * ====================================================================\n */\nnt=lt.API,ot=it=rt=\"\",nt.addMetadata=function(t,e){return it=e||\"http://jspdf.default.namespaceuri/\",rt=t,this.internal.events.subscribe(\"postPutResources\",function(){if(rt){var t='',e=unescape(encodeURIComponent('')),n=unescape(encodeURIComponent(t)),r=unescape(encodeURIComponent(rt)),i=unescape(encodeURIComponent(\"\")),o=unescape(encodeURIComponent(\"\")),a=n.length+r.length+i.length+e.length+o.length;ot=this.internal.newObject(),this.internal.write(\"<< /Type /Metadata /Subtype /XML /Length \"+a+\" >>\"),this.internal.write(\"stream\"),this.internal.write(e+n+r+i+o),this.internal.write(\"endstream\"),this.internal.write(\"endobj\")}else ot=\"\"}),this.internal.events.subscribe(\"putCatalog\",function(){ot&&this.internal.write(\"/Metadata \"+ot+\" 0 R\")}),this},function(f,t){var e=f.API;var m=e.pdfEscape16=function(t,e){for(var n,r=e.metadata.Unicode.widths,i=[\"\",\"0\",\"00\",\"000\",\"0000\"],o=[\"\"],a=0,s=t.length;a> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\",r=[],a=0,s=(n=Object.keys(t).sort(function(t,e){return t-e})).length;a<\"+i+\">\");return r.length&&(o+=\"\\n\"+r.length+\" beginbfchar\\n\"+r.join(\"\\n\")+\"\\nendbfchar\\n\"),o+=\"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\"};e.events.push([\"putFont\",function(t){!function(t,e,n,r){if(t.metadata instanceof f.API.TTFFont&&\"Identity-H\"===t.encoding){for(var i=t.metadata.Unicode.widths,o=t.metadata.subset.encode(t.metadata.glyIdsUsed,1),a=\"\",s=0;s>\"),e(\"endobj\");var c=n();e(\"<<\"),e(\"/Type /Font\"),e(\"/BaseFont /\"+t.fontName),e(\"/FontDescriptor \"+u+\" 0 R\"),e(\"/W \"+f.API.PDFObject.convert(i)),e(\"/CIDToGIDMap /Identity\"),e(\"/DW 1000\"),e(\"/Subtype /CIDFontType2\"),e(\"/CIDSystemInfo\"),e(\"<<\"),e(\"/Supplement 0\"),e(\"/Registry (Adobe)\"),e(\"/Ordering (\"+t.encoding+\")\"),e(\">>\"),e(\">>\"),e(\"endobj\"),t.objectNumber=n(),e(\"<<\"),e(\"/Type /Font\"),e(\"/Subtype /Type0\"),e(\"/ToUnicode \"+h+\" 0 R\"),e(\"/BaseFont /\"+t.fontName),e(\"/Encoding /\"+t.encoding),e(\"/DescendantFonts [\"+c+\" 0 R]\"),e(\">>\"),e(\"endobj\"),t.isAlreadyPutted=!0}}(t.font,t.out,t.newObject,t.putStream)}]);e.events.push([\"putFont\",function(t){!function(t,e,n,r){if(t.metadata instanceof f.API.TTFFont&&\"WinAnsiEncoding\"===t.encoding){t.metadata.Unicode.widths;for(var i=t.metadata.rawData,o=\"\",a=0;a>\"),e(\"endobj\"),t.objectNumber=n(),a=0;a>\"),e(\"endobj\"),t.isAlreadyPutted=!0}}(t.font,t.out,t.newObject,t.putStream)}]);var h=function(t){var e,n,r=t.text||\"\",i=t.x,o=t.y,a=t.options||{},s=t.mutex||{},l=s.pdfEscape,h=s.activeFontKey,u=s.fonts,c=(s.activeFontSize,\"\"),f=0,p=\"\",d=u[n=h].encoding;if(\"Identity-H\"!==u[n].encoding)return{text:r,x:i,y:o,options:a,mutex:s};for(p=r,n=h,\"[object Array]\"===Object.prototype.toString.call(r)&&(p=r[0]),f=0;fw-h.top-h.bottom&&s.pagesplit){var p=function(t,e,n,r,i){var o=document.createElement(\"canvas\");o.height=i,o.width=r;var a=o.getContext(\"2d\");return a.mozImageSmoothingEnabled=!1,a.webkitImageSmoothingEnabled=!1,a.msImageSmoothingEnabled=!1,a.imageSmoothingEnabled=!1,a.fillStyle=s.backgroundColor||\"#ffffff\",a.fillRect(0,0,r,i),a.drawImage(t,e,n,r,i,0,0,r,i),o},n=function(){for(var t,e,n=0,r=0,i={},o=!1;;){var a;if(r=0,i.top=0!==n?h.top:g,i.left=0!==n?h.left:d,o=(v-h.left-h.right)*y=l.width)break;this.addPage()}else s=[a=p(l,0,n,t,e),i.left,i.top,a.width/y,a.height/y,c,null,f],this.addImage.apply(this,s);if((n+=e)>=l.height)break;this.addPage()}m(u,n,null,s)}.bind(this);if(\"CANVAS\"===l.nodeName){var r=new Image;r.onload=n,r.src=l.toDataURL(\"image/png\"),l=r}else n()}else{var i=Math.random().toString(35),o=[l,d,g,u,e,c,i,f];this.addImage.apply(this,o),m(u,e,i,o)}}.bind(this),\"undefined\"!=typeof html2canvas&&!s.rstz)return html2canvas(t,s);if(\"undefined\"==typeof rasterizeHTML)return null;var n=\"drawDocument\";return\"string\"==typeof t&&(n=/^http/.test(t)?\"drawURL\":\"drawHTML\"),s.width=s.width||v*y,rasterizeHTML[n](t,void 0,s).then(function(t){s.onrendered(t.image)},function(t){m(null,t)})},\n/**\n * jsPDF fromHTML plugin. BETA stage. API subject to change. Needs browser\n * Copyright (c) 2012 Willow Systems Corporation, willow-systems.com\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 Daniel Husar, https://github.com/danielhusar\n * 2014 Wolfgang Gassler, https://github.com/woolfg\n * 2014 Steven Spungin, https://github.com/flamenco\n *\n * @license\n * \n * ====================================================================\n */\nfunction(t){var P,k,i,a,s,l,h,u,I,w,f,c,p,n,C,B,d,g,m,j;P=function(){return function(t){return e.prototype=t,new e};function e(){}}(),w=function(t){var e,n,r,i,o,a,s;for(n=0,r=t.length,e=void 0,a=i=!1;!i&&n!==r;)(e=t[n]=t[n].trimLeft())&&(i=!0),n++;for(n=r-1;r&&!a&&-1!==n;)(e=t[n]=t[n].trimRight())&&(a=!0),n--;for(o=/\\s+$/g,s=!0,n=0;n!==r;)\"\\u2028\"!=t[n]&&(e=t[n].replace(/\\s+/g,\" \"),s&&(e=e.trimLeft()),e&&(s=o.test(e)),t[n]=e),n++;return t},c=function(t){var e,n,r;for(e=void 0,n=(r=t.split(\",\")).shift();!e&&n;)e=i[n.trim().toLowerCase()],n=r.shift();return e},p=function(t){var e;return-1<(t=\"auto\"===t?\"0px\":t).indexOf(\"em\")&&!isNaN(Number(t.replace(\"em\",\"\")))&&(t=18.719*Number(t.replace(\"em\",\"\"))+\"px\"),-1i.pdf.margins_doc.top&&(i.pdf.addPage(),i.y=i.pdf.margins_doc.top,i.executeWatchFunctions(n));var b=I(n),x=i.x,N=12/i.pdf.internal.scaleFactor,L=(b[\"margin-left\"]+b[\"padding-left\"])*N,A=(b[\"margin-right\"]+b[\"padding-right\"])*N,S=(b[\"margin-top\"]+b[\"padding-top\"])*N,_=(b[\"margin-bottom\"]+b[\"padding-bottom\"])*N;void 0!==b.float&&\"right\"===b.float?x+=i.settings.width-n.width-A:x+=L,i.pdf.addImage(v,x,i.y+S,n.width,n.height),v=void 0,\"right\"===b.float||\"left\"===b.float?(i.watchFunctions.push(function(t,e,n,r){return i.y>=e?(i.x+=t,i.settings.width+=n,!0):!!(r&&1===r.nodeType&&!E[r.nodeName]&&i.x+r.width>i.pdf.margins_doc.left+i.pdf.margins_doc.width)&&(i.x+=t,i.y=e,i.settings.width+=n,!0)}.bind(this,\"left\"===b.float?-n.width-L-A:0,i.y+n.height+S+_,n.width)),i.watchFunctions.push(function(t,e,n){return!(i.y]*?>/gi,\"\"),h=\"jsPDFhtmlText\"+Date.now().toString()+(1e3*Math.random()).toFixed(0),(l=document.createElement(\"div\")).style.cssText=\"position: absolute !important;clip: rect(1px 1px 1px 1px); /* IE6, IE7 */clip: rect(1px, 1px, 1px, 1px);padding:0 !important;border:0 !important;height: 1px !important;width: 1px !important; top:auto;left:-100px;overflow: hidden;\",l.innerHTML='