diff --git a/package-lock.json b/package-lock.json index c6b5856e..ef456eb2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,7 +41,7 @@ "select2": "^4.0.13", "ssri": "^8.0.1", "tar": ">=4.4.2", - "webpack": "^5.74.0", + "webpack": "^5.0.0", "webpack-cli": "^4.10.0", "x-editable": "1.5.1" }, @@ -53,6 +53,7 @@ "eslint-plugin-import": "^2.22.1", "eslint-plugin-jsx-a11y": "^6.2.3", "eslint-plugin-react": "^7.21.5", + "node-gyp": "~9.1.0", "sass": "^1.32.13", "sass-loader": "^8.0.2", "tailwindcss": "^0.5.3", @@ -85,28 +86,28 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", - "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==", + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.13.tgz", + "integrity": "sha512-5yUzC5LqyTFp2HLmDoxGQelcdYgSpP9xsnMWBphAscOdFrHSAVbLNzWiy32sVNDqJRDiJK6klfDnAgu6PAGSHw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz", - "integrity": "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==", + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.13.tgz", + "integrity": "sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==", "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.10", + "@babel/generator": "^7.18.13", "@babel/helper-compilation-targets": "^7.18.9", "@babel/helper-module-transforms": "^7.18.9", "@babel/helpers": "^7.18.9", - "@babel/parser": "^7.18.10", + "@babel/parser": "^7.18.13", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.10", - "@babel/types": "^7.18.10", + "@babel/traverse": "^7.18.13", + "@babel/types": "^7.18.13", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -130,11 +131,11 @@ } }, "node_modules/@babel/generator": { - "version": "7.18.12", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.12.tgz", - "integrity": "sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg==", + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.13.tgz", + "integrity": "sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ==", "dependencies": { - "@babel/types": "^7.18.10", + "@babel/types": "^7.18.13", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, @@ -204,9 +205,9 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz", - "integrity": "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==", + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.13.tgz", + "integrity": "sha512-hDvXp+QYxSRL+23mpAlSGxHMDyIGChm0/AwTfTAAK5Ufe40nCsyNdaYCGuK91phn/fVu9kqayImRDkvNAgdrsA==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-environment-visitor": "^7.18.9", @@ -493,9 +494,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.18.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.11.tgz", - "integrity": "sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==", + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.13.tgz", + "integrity": "sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==", "bin": { "parser": "bin/babel-parser.js" }, @@ -1046,9 +1047,9 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz", - "integrity": "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==", + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz", + "integrity": "sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow==", "dependencies": { "@babel/helper-plugin-utils": "^7.18.9" }, @@ -1604,18 +1605,18 @@ } }, "node_modules/@babel/traverse": { - "version": "7.18.11", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.11.tgz", - "integrity": "sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ==", + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.13.tgz", + "integrity": "sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==", "dependencies": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.10", + "@babel/generator": "^7.18.13", "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-function-name": "^7.18.9", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.18.11", - "@babel/types": "^7.18.10", + "@babel/parser": "^7.18.13", + "@babel/types": "^7.18.13", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1632,9 +1633,9 @@ } }, "node_modules/@babel/types": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz", - "integrity": "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==", + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.13.tgz", + "integrity": "sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==", "dependencies": { "@babel/helper-string-parser": "^7.18.10", "@babel/helper-validator-identifier": "^7.18.6", @@ -1661,6 +1662,12 @@ "node": ">=10.0.0" } }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", @@ -1762,6 +1769,95 @@ "node": ">= 8" } }, + "node_modules/@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "dev": true, + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/fs/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/fs/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/move-file/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/move-file/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, "node_modules/@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", @@ -1894,9 +1990,9 @@ } }, "node_modules/@types/eslint": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.5.tgz", - "integrity": "sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==", + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz", + "integrity": "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -2017,9 +2113,9 @@ "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, "node_modules/@types/node": { - "version": "18.7.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.4.tgz", - "integrity": "sha512-RzRcw8c0B8LzryWOR4Wj7YOTFXvdYKwvrb6xQQyuDfnlTxwYXGCV5RZ/TEbq5L5kn+w3rliHAUyRcG1RtbmTFg==" + "version": "18.7.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.9.tgz", + "integrity": "sha512-0N5Y1XAdcl865nDdjbO0m3T6FdmQ4ijE89/urOHLREyTXbpMWbSafx9y7XIsgWGtwUP2iYTinLyyW3FatAxBLQ==" }, "node_modules/@types/parse-json": { "version": "4.0.0", @@ -2253,6 +2349,12 @@ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -2294,6 +2396,45 @@ "node": ">=0.4.0" } }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -2428,6 +2569,39 @@ "node": ">= 8" } }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -2820,6 +2994,14 @@ "ms": "2.0.0" } }, + "node_modules/body-parser/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -3056,6 +3238,156 @@ "node": ">= 0.8" } }, + "node_modules/cacache": { + "version": "16.1.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.2.tgz", + "integrity": "sha512-Xx+xPlfCZIUHagysjjOAje9nRo8pRDczQCcXb4J2O0BLtH+xeVue6ba4y1kfJfQMAnM2mkcoMIAyOctlaRGWYA==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cacache/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cacache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/rimraf/node_modules/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, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/cacache/node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/cacache/node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -3106,9 +3438,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001376", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001376.tgz", - "integrity": "sha512-I27WhtOQ3X3v3it9gNs/oTpoE5KpwmqKR5oKPA8M0G7uMXh9Ty81Q904HpKUrM30ei7zfcL5jE7AXefgbOfMig==", + "version": "1.0.30001381", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001381.tgz", + "integrity": "sha512-fEnkDOKpvp6qc+olg7+NzE1SqyfiyKf4uci7fAU38M3zxs0YOyKOxW/nMZ2l9sJbt7KZHcDIxUnbI0Iime7V4w==", "funding": [ { "type": "opencollective", @@ -3231,6 +3563,15 @@ "node": ">= 10.0" } }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -3326,6 +3667,15 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, "node_modules/colord": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", @@ -3455,6 +3805,12 @@ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, "node_modules/constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", @@ -3736,6 +4092,17 @@ "webpack": "^4.27.0 || ^5.0.0" } }, + "node_modules/css-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/css-loader/node_modules/semver": { "version": "7.3.7", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", @@ -3971,12 +4338,18 @@ "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==", "dev": true }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, "node_modules/des.js": { @@ -4200,9 +4573,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.219", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.219.tgz", - "integrity": "sha512-zoQJsXOUw0ZA0YxbjkmzBumAJRtr6je5JySuL/bAoFs0DuLiLJ+5FzRF7/ZayihxR2QcewlRZVm5QZdUhwjOgA==" + "version": "1.4.225", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.225.tgz", + "integrity": "sha512-ICHvGaCIQR3P88uK8aRtx8gmejbVJyC6bB4LEC3anzBrIzdzC7aiZHY4iFfXhN4st6I7lMO0x4sgBHf/7kBvRw==" }, "node_modules/elliptic": { "version": "6.5.4", @@ -4245,6 +4618,29 @@ "node": ">= 0.8" } }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/enhanced-resolve": { "version": "5.10.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", @@ -4265,6 +4661,15 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/envinfo": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", @@ -4301,6 +4706,12 @@ "node": ">=6" } }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -4987,6 +5398,14 @@ "ms": "2.0.0" } }, + "node_modules/express/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -5390,6 +5809,46 @@ "integrity": "sha512-NspYMi3rN3EKmMdejUXbtluDYrcRlTEBBFhWzVRZVsOx94OPxlXp0AzyPKyLiT7iaurcoTE/KcHsHP/PowNEaA==", "dev": true }, + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/gauge/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/gauge/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -5645,6 +6104,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, "node_modules/hash-base": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", @@ -5839,6 +6304,12 @@ "entities": "^2.0.0" } }, + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -5859,6 +6330,14 @@ "node": ">= 0.8" } }, + "node_modules/http-errors/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/http-parser-js": { "version": "0.5.8", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", @@ -5877,6 +6356,20 @@ "node": ">=8.0.0" } }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/http-proxy-middleware": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", @@ -5905,6 +6398,19 @@ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -5913,6 +6419,15 @@ "node": ">=10.17.0" } }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "dependencies": { + "ms": "^2.0.0" + } + }, "node_modules/icheck": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/icheck/-/icheck-1.0.2.tgz", @@ -6102,12 +6617,27 @@ "node": ">=0.8.19" } }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/indexes-of": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", "integrity": "sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==", "dev": true }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -6259,6 +6789,12 @@ "node": ">= 0.10" } }, + "node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", + "dev": true + }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -6395,6 +6931,12 @@ "node": ">=0.10.0" } }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, "node_modules/is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -6875,6 +7417,17 @@ "node": ">=8" } }, + "node_modules/laravel-mix/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/laravel-mix/node_modules/semver": { "version": "7.3.7", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", @@ -7049,14 +7602,12 @@ } }, "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz", + "integrity": "sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/make-dir": { @@ -7081,6 +7632,45 @@ "semver": "bin/semver.js" } }, + "node_modules/make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/marked": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz", @@ -7286,6 +7876,71 @@ "node": ">=8" } }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "dev": true, + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", @@ -7404,6 +8059,87 @@ "node": ">= 6.13.0" } }, + "node_modules/node-gyp": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.1.0.tgz", + "integrity": "sha512-HkmN0ZpQJU7FLbJauJTHkHlSVAXlNGDAzH/VYFZGDOnFyn/Na3GlNJfkudmufOdS6/jNFhy88ObzL7ERz9es1g==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^12.22 || ^14.13 || >=16" + } + }, + "node_modules/node-gyp/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-gyp/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-gyp/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/node-libs-browser": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", @@ -7447,6 +8183,17 @@ "which": "^2.0.2" } }, + "node_modules/node-notifier/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/node-notifier/node_modules/semver": { "version": "7.3.7", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", @@ -7480,6 +8227,21 @@ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -7526,6 +8288,21 @@ "node": ">=8" } }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", @@ -7562,9 +8339,9 @@ } }, "node_modules/object.assign": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.3.tgz", - "integrity": "sha512-ZFJnX3zltyjcYJL0RoCJuzb+11zWGyaDbjgxZbdV7rFEcHQuYxrZqhow67aA7xpes6LhojyFDaBKAFfogQrikA==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -7766,6 +8543,21 @@ "node": ">=8" } }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/p-pipe": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz", @@ -7789,6 +8581,14 @@ "node": ">=8" } }, + "node_modules/p-retry/node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -8343,6 +9143,17 @@ "webpack": "^5.0.0" } }, + "node_modules/postcss-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/postcss-loader/node_modules/semver": { "version": "7.3.7", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", @@ -8905,6 +9716,25 @@ "node": ">=0.4.0" } }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -9288,9 +10118,10 @@ } }, "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, "engines": { "node": ">= 4" } @@ -9393,9 +10224,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sass": { - "version": "1.54.4", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.54.4.tgz", - "integrity": "sha512-3tmF16yvnBwtlPrNBHw/H907j8MlOX8aTBnlNX1yrKx24RKcJGPyLhFUwkoKBKesR3unP93/2z14Ll8NicwQUA==", + "version": "1.54.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.54.5.tgz", + "integrity": "sha512-p7DTOzxkUPa/63FU0R3KApkRHwcVZYC0PLnLm5iyZACyp15qSi32x7zVUhRdABAATmkALqgGrjCJAcWvobmhHw==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -9581,6 +10412,14 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, + "node_modules/send/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/send/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -9619,14 +10458,6 @@ "ms": "2.0.0" } }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/serve-index/node_modules/http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", @@ -9678,6 +10509,12 @@ "node": ">= 0.8.0" } }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, "node_modules/setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", @@ -9789,6 +10626,16 @@ "node": ">=4" } }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -9799,6 +10646,34 @@ "websocket-driver": "^0.7.4" } }, + "node_modules/socks": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.0.tgz", + "integrity": "sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==", + "dev": true, + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", @@ -10343,9 +11218,9 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.4.tgz", - "integrity": "sha512-SmnkUhBxLDcBfTIeaq+ZqJXLVEyXxSaNcCeSezECdKjfkMrTTnPvapBILylYwyEvHFZAn2cJ8dtiXel5XnfOfQ==", + "version": "5.3.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.5.tgz", + "integrity": "sha512-AOEDLDxD2zylUGf/wxHxklEkOe2/r+seuyOWujejFrIxHf11brA1/dWQNIgXa1c6/Wkxgu7zvv0JhOWfc2ELEA==", "dependencies": { "@jridgewell/trace-mapping": "^0.3.14", "jest-worker": "^27.4.5", @@ -10593,6 +11468,24 @@ "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==", "dev": true }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, "node_modules/universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -10761,9 +11654,9 @@ } }, "node_modules/vue-template-compiler": { - "version": "2.7.8", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.8.tgz", - "integrity": "sha512-eQqdcUpJKJpBRPDdxCNsqUoT0edNvdt1jFjtVnVS/LPPmr0BU2jWzXlrf6BVMeODtdLewB3j8j3WjNiB+V+giw==", + "version": "2.7.9", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.9.tgz", + "integrity": "sha512-NPJxt6OjVlzmkixYg0SdIN2Lw/rMryQskObY89uAMcM9flS/HrmLK5LaN1ReBTuhBgnYuagZZEkSS6FESATQUQ==", "dev": true, "dependencies": { "de-indent": "^1.0.2", @@ -11398,6 +12291,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, "node_modules/wildcard": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", @@ -11588,25 +12490,25 @@ } }, "@babel/compat-data": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", - "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==" + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.13.tgz", + "integrity": "sha512-5yUzC5LqyTFp2HLmDoxGQelcdYgSpP9xsnMWBphAscOdFrHSAVbLNzWiy32sVNDqJRDiJK6klfDnAgu6PAGSHw==" }, "@babel/core": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz", - "integrity": "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==", + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.13.tgz", + "integrity": "sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==", "requires": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.10", + "@babel/generator": "^7.18.13", "@babel/helper-compilation-targets": "^7.18.9", "@babel/helper-module-transforms": "^7.18.9", "@babel/helpers": "^7.18.9", - "@babel/parser": "^7.18.10", + "@babel/parser": "^7.18.13", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.10", - "@babel/types": "^7.18.10", + "@babel/traverse": "^7.18.13", + "@babel/types": "^7.18.13", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -11622,11 +12524,11 @@ } }, "@babel/generator": { - "version": "7.18.12", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.12.tgz", - "integrity": "sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg==", + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.13.tgz", + "integrity": "sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ==", "requires": { - "@babel/types": "^7.18.10", + "@babel/types": "^7.18.13", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, @@ -11679,9 +12581,9 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz", - "integrity": "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==", + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.13.tgz", + "integrity": "sha512-hDvXp+QYxSRL+23mpAlSGxHMDyIGChm0/AwTfTAAK5Ufe40nCsyNdaYCGuK91phn/fVu9kqayImRDkvNAgdrsA==", "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-environment-visitor": "^7.18.9", @@ -11889,9 +12791,9 @@ } }, "@babel/parser": { - "version": "7.18.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.11.tgz", - "integrity": "sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==" + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.13.tgz", + "integrity": "sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==" }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.18.6", @@ -12240,9 +13142,9 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz", - "integrity": "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==", + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz", + "integrity": "sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow==", "requires": { "@babel/helper-plugin-utils": "^7.18.9" } @@ -12616,18 +13518,18 @@ } }, "@babel/traverse": { - "version": "7.18.11", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.11.tgz", - "integrity": "sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ==", + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.13.tgz", + "integrity": "sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==", "requires": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.10", + "@babel/generator": "^7.18.13", "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-function-name": "^7.18.9", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.18.11", - "@babel/types": "^7.18.10", + "@babel/parser": "^7.18.13", + "@babel/types": "^7.18.13", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -12640,9 +13542,9 @@ } }, "@babel/types": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz", - "integrity": "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==", + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.13.tgz", + "integrity": "sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==", "requires": { "@babel/helper-string-parser": "^7.18.10", "@babel/helper-validator-identifier": "^7.18.6", @@ -12660,6 +13562,12 @@ "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==" }, + "@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, "@jridgewell/gen-mapping": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", @@ -12742,6 +13650,69 @@ "fastq": "^1.6.0" } }, + "@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "dev": true, + "requires": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "dev": true, + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true + }, "@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", @@ -12859,9 +13830,9 @@ } }, "@types/eslint": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.5.tgz", - "integrity": "sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==", + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz", + "integrity": "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==", "requires": { "@types/estree": "*", "@types/json-schema": "*" @@ -12982,9 +13953,9 @@ "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, "@types/node": { - "version": "18.7.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.4.tgz", - "integrity": "sha512-RzRcw8c0B8LzryWOR4Wj7YOTFXvdYKwvrb6xQQyuDfnlTxwYXGCV5RZ/TEbq5L5kn+w3rliHAUyRcG1RtbmTFg==" + "version": "18.7.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.9.tgz", + "integrity": "sha512-0N5Y1XAdcl865nDdjbO0m3T6FdmQ4ijE89/urOHLREyTXbpMWbSafx9y7XIsgWGtwUP2iYTinLyyW3FatAxBLQ==" }, "@types/parse-json": { "version": "4.0.0", @@ -13205,6 +14176,12 @@ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, "accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -13232,6 +14209,36 @@ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", "dev": true }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "agentkeepalive": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -13325,6 +14332,35 @@ "picomatch": "^2.0.4" } }, + "aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -13623,6 +14659,11 @@ "ms": "2.0.0" } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -13816,6 +14857,124 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" }, + "cacache": { + "version": "16.1.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.2.tgz", + "integrity": "sha512-Xx+xPlfCZIUHagysjjOAje9nRo8pRDczQCcXb4J2O0BLtH+xeVue6ba4y1kfJfQMAnM2mkcoMIAyOctlaRGWYA==", + "dev": true, + "requires": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^1.1.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + }, + "dependencies": { + "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" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + } + } + }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -13857,9 +15016,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001376", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001376.tgz", - "integrity": "sha512-I27WhtOQ3X3v3it9gNs/oTpoE5KpwmqKR5oKPA8M0G7uMXh9Ty81Q904HpKUrM30ei7zfcL5jE7AXefgbOfMig==" + "version": "1.0.30001381", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001381.tgz", + "integrity": "sha512-fEnkDOKpvp6qc+olg7+NzE1SqyfiyKf4uci7fAU38M3zxs0YOyKOxW/nMZ2l9sJbt7KZHcDIxUnbI0Iime7V4w==" }, "chalk": { "version": "2.4.2", @@ -13945,6 +15104,12 @@ "source-map": "~0.6.0" } }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -14022,6 +15187,12 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, "colord": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", @@ -14131,6 +15302,12 @@ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, "constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", @@ -14339,6 +15516,14 @@ "semver": "^7.3.5" }, "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, "semver": { "version": "7.3.7", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", @@ -14504,10 +15689,16 @@ "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==", "dev": true }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" }, "des.js": { "version": "1.0.1", @@ -14679,9 +15870,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.219", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.219.tgz", - "integrity": "sha512-zoQJsXOUw0ZA0YxbjkmzBumAJRtr6je5JySuL/bAoFs0DuLiLJ+5FzRF7/ZayihxR2QcewlRZVm5QZdUhwjOgA==" + "version": "1.4.225", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.225.tgz", + "integrity": "sha512-ICHvGaCIQR3P88uK8aRtx8gmejbVJyC6bB4LEC3anzBrIzdzC7aiZHY4iFfXhN4st6I7lMO0x4sgBHf/7kBvRw==" }, "elliptic": { "version": "6.5.4", @@ -14720,6 +15911,28 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, "enhanced-resolve": { "version": "5.10.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", @@ -14734,6 +15947,12 @@ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true + }, "envinfo": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", @@ -14757,6 +15976,12 @@ } } }, + "err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -15293,6 +16518,11 @@ "ms": "2.0.0" } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -15580,6 +16810,39 @@ "integrity": "sha512-NspYMi3rN3EKmMdejUXbtluDYrcRlTEBBFhWzVRZVsOx94OPxlXp0AzyPKyLiT7iaurcoTE/KcHsHP/PowNEaA==", "dev": true }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -15761,6 +17024,12 @@ "has-symbols": "^1.0.2" } }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, "hash-base": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", @@ -15907,6 +17176,12 @@ "entities": "^2.0.0" } }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, "http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -15922,6 +17197,13 @@ "setprototypeof": "1.2.0", "statuses": "2.0.1", "toidentifier": "1.0.1" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + } } }, "http-parser-js": { @@ -15939,6 +17221,17 @@ "requires-port": "^1.0.0" } }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, "http-proxy-middleware": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", @@ -15956,11 +17249,30 @@ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, "human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "requires": { + "ms": "^2.0.0" + } + }, "icheck": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/icheck/-/icheck-1.0.2.tgz", @@ -16090,12 +17402,24 @@ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, "indexes-of": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", "integrity": "sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==", "dev": true }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -16213,6 +17537,12 @@ "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==" }, + "ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", + "dev": true + }, "ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -16301,6 +17631,12 @@ "is-extglob": "^2.1.1" } }, + "is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, "is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -16641,6 +17977,14 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, "semver": { "version": "7.3.7", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", @@ -16785,12 +18129,10 @@ } }, "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz", + "integrity": "sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==", + "dev": true }, "make-dir": { "version": "3.1.0", @@ -16807,6 +18149,41 @@ } } }, + "make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "dev": true, + "requires": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "dependencies": { + "ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + } + } + }, "marked": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz", @@ -16959,6 +18336,54 @@ "yallist": "^4.0.0" } }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "dev": true, + "requires": { + "encoding": "^0.1.13", + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, "minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", @@ -17050,6 +18475,62 @@ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" }, + "node-gyp": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.1.0.tgz", + "integrity": "sha512-HkmN0ZpQJU7FLbJauJTHkHlSVAXlNGDAzH/VYFZGDOnFyn/Na3GlNJfkudmufOdS6/jNFhy88ObzL7ERz9es1g==", + "dev": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "node-libs-browser": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", @@ -17093,6 +18574,14 @@ "which": "^2.0.2" }, "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, "semver": { "version": "7.3.7", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", @@ -17116,6 +18605,15 @@ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "requires": { + "abbrev": "1" + } + }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -17146,6 +18644,18 @@ } } }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + }, "nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", @@ -17170,9 +18680,9 @@ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "object.assign": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.3.tgz", - "integrity": "sha512-ZFJnX3zltyjcYJL0RoCJuzb+11zWGyaDbjgxZbdV7rFEcHQuYxrZqhow67aA7xpes6LhojyFDaBKAFfogQrikA==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -17314,6 +18824,15 @@ "p-limit": "^2.2.0" } }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, "p-pipe": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz", @@ -17326,6 +18845,13 @@ "requires": { "@types/retry": "0.12.0", "retry": "^0.13.1" + }, + "dependencies": { + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" + } } }, "p-try": { @@ -17725,6 +19251,14 @@ "semver": "^7.3.5" }, "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, "semver": { "version": "7.3.7", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", @@ -18099,6 +19633,22 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "requires": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + } + }, "prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -18397,9 +19947,10 @@ } }, "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true }, "reusify": { "version": "1.0.4", @@ -18474,9 +20025,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass": { - "version": "1.54.4", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.54.4.tgz", - "integrity": "sha512-3tmF16yvnBwtlPrNBHw/H907j8MlOX8aTBnlNX1yrKx24RKcJGPyLhFUwkoKBKesR3unP93/2z14Ll8NicwQUA==", + "version": "1.54.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.54.5.tgz", + "integrity": "sha512-p7DTOzxkUPa/63FU0R3KApkRHwcVZYC0PLnLm5iyZACyp15qSi32x7zVUhRdABAATmkALqgGrjCJAcWvobmhHw==", "dev": true, "requires": { "chokidar": ">=3.0.0 <4.0.0", @@ -18604,6 +20155,11 @@ } } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -18641,11 +20197,6 @@ "ms": "2.0.0" } }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" - }, "http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", @@ -18690,6 +20241,12 @@ "send": "0.18.0" } }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", @@ -18779,6 +20336,12 @@ } } }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true + }, "sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -18789,6 +20352,27 @@ "websocket-driver": "^0.7.4" } }, + "socks": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.0.tgz", + "integrity": "sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==", + "dev": true, + "requires": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + } + }, "source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", @@ -19218,9 +20802,9 @@ } }, "terser-webpack-plugin": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.4.tgz", - "integrity": "sha512-SmnkUhBxLDcBfTIeaq+ZqJXLVEyXxSaNcCeSezECdKjfkMrTTnPvapBILylYwyEvHFZAn2cJ8dtiXel5XnfOfQ==", + "version": "5.3.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.5.tgz", + "integrity": "sha512-AOEDLDxD2zylUGf/wxHxklEkOe2/r+seuyOWujejFrIxHf11brA1/dWQNIgXa1c6/Wkxgu7zvv0JhOWfc2ELEA==", "requires": { "@jridgewell/trace-mapping": "^0.3.14", "jest-worker": "^27.4.5", @@ -19391,6 +20975,24 @@ "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==", "dev": true }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -19523,9 +21125,9 @@ } }, "vue-template-compiler": { - "version": "2.7.8", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.8.tgz", - "integrity": "sha512-eQqdcUpJKJpBRPDdxCNsqUoT0edNvdt1jFjtVnVS/LPPmr0BU2jWzXlrf6BVMeODtdLewB3j8j3WjNiB+V+giw==", + "version": "2.7.9", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.9.tgz", + "integrity": "sha512-NPJxt6OjVlzmkixYg0SdIN2Lw/rMryQskObY89uAMcM9flS/HrmLK5LaN1ReBTuhBgnYuagZZEkSS6FESATQUQ==", "dev": true, "requires": { "de-indent": "^1.0.2", @@ -19959,6 +21561,15 @@ "is-symbol": "^1.0.3" } }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, "wildcard": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", diff --git a/package.json b/package.json index 78974f7b..82079b79 100644 --- a/package.json +++ b/package.json @@ -2,12 +2,12 @@ "private": true, "scripts": { "dev": "npm run development", - "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", - "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", + "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --config=node_modules/laravel-mix/setup/webpack.config.js", + "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --config=node_modules/laravel-mix/setup/webpack.config.js", "watch-poll": "npm run watch -- --watch-poll", "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", "prod": "npm run production", - "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" + "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --config=node_modules/laravel-mix/setup/webpack.config.js" }, "dependencies": { "@turf/center": "^6.0.1", @@ -46,7 +46,7 @@ "select2": "^4.0.13", "ssri": "^8.0.1", "tar": ">=4.4.2", - "webpack": "^5.74.0", + "webpack": "^5.0.0", "webpack-cli": "^4.10.0", "x-editable": "1.5.1" }, @@ -58,8 +58,9 @@ "eslint-plugin-import": "^2.22.1", "eslint-plugin-jsx-a11y": "^6.2.3", "eslint-plugin-react": "^7.21.5", - "sass": "^1.32.13", - "sass-loader": "^8.0.2", + "node-gyp": "~9.1.0", + "sass": "^1.54.5", + "sass-loader": "^12.1.0", "tailwindcss": "^0.5.3", "vue-template-compiler": "^2.6.12", "webpack-bundle-analyzer": "^3.9.0", diff --git a/public/assets/admin/css/vendor.css b/public/assets/admin/css/vendor.css index d0c6ec36..c518e6dc 100644 --- a/public/assets/admin/css/vendor.css +++ b/public/assets/admin/css/vendor.css @@ -40,7 +40,7 @@ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - */.ct-azure,.ct-blue{stroke:#067ec1!important}.ct-green{stroke:#18ce0f!important}.ct-orange{stroke:#ffb236!important}.ct-red{stroke:#ff3636!important}.brand,.h1,.h2,.h3,.h4,.h5,.h6,.navbar,.td-name,a,h1,h2,h3,h4,h5,h6,p,td{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,Helvetica Neue,Arial,sans-serif}.h1,.h2,.h3,.h4,h1,h2,h3,h4{font-weight:400;margin:30px 0 15px}.h1,h1{font-size:3.2em}.h2,h2{font-size:2.6em}.h3,h3{font-size:1.825em;line-height:1.4;margin:20px 0 10px}.h3,.h4,h3,h4{font-weight:300}.h4,h4{font-size:1.5em;line-height:1.2em}.h5,h5{font-size:1.25em;line-height:1.4em;margin-bottom:15px}.h5,.h6,h5,h6{font-weight:300}.h6,h6{font-size:.9em;text-transform:uppercase}p{font-size:1em;line-height:1.4em}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{color:#9a9a9a;font-weight:300;line-height:1.4em}h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:60%}.title-uppercase{text-transform:uppercase}blockquote{font-style:italic}blockquote small{font-style:normal}.text-muted{color:#ddd}.text-primary,.text-primary:hover{color:#427c89}.text-info,.text-info:hover{color:#0688d0}.text-success,.text-success:hover{color:#15b60d}.text-warning,.text-warning:hover{color:#ffa81d}.text-danger,.text-danger:hover{color:#ff1d1d}.glyphicon{line-height:1}strong{color:#403d39}.icon-info,.icon-primary{color:#067ec1}.icon-success{color:#18ce0f}.icon-warning{color:#ffb236}.icon-danger{color:#ff3636}.chart-legend .text-info,.chart-legend .text-info:hover,.chart-legend .text-primary,.chart-legend .text-primary:hover{color:#067ec1}.chart-legend .text-success,.chart-legend .text-success:hover{color:#18ce0f}.chart-legend .text-warning,.chart-legend .text-warning:hover{color:#ffb236}.chart-legend .text-danger,.chart-legend .text-danger:hover{color:#ff3636}.card-description,.description,.footer-big p{color:#9a9a9a;font-weight:300}body{color:#4b4743;font-family:Muli,Arial,sans-serif;font-size:14px}body .wrapper{min-height:100vh;position:relative}a{color:#067ec1}a:focus,a:hover{color:#0688d0;text-decoration:none}a:active,a:focus,button::-moz-focus-inner,input::-moz-focus-inner,input[type=file]>input[type=button]::-moz-focus-inner,select::-moz-focus-inner{outline:0!important}.navbar-toggle,.ui-slider-handle:focus,button:focus,input:focus{box-shadow:inset 0 -2px 0 #2196f3;outline:0!important}.form-control,.input-group-addon,.navbar,.navbar .alert,.tagsinput{transition:all .3s linear}.sidebar .nav a,.table>tbody>tr .td-actions .btn{transition:all .15s ease-in}.btn{transition:all .1s ease-in}.fa{text-align:center;width:21px}.fa-base{font-size:1.25em!important}.margin-top{margin-top:50px}hr{border-color:#f1eae0}.wrapper{height:100vh;position:relative;top:0}.sidebar{background-position:50%;background-size:cover;bottom:0;color:#2c2c2c;left:0;position:absolute;top:0;z-index:1}.sidebar .sidebar-wrapper{box-shadow:inset -1px 0 0 0 #ddd;max-height:none;min-height:100%;overflow:hidden;position:relative;width:260px;z-index:4}.sidebar .sidebar-background{background-position:50%;background-size:cover;display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.off-canvas-sidebar,.sidebar{display:block;font-weight:200;width:260px}.off-canvas-sidebar .logo,.sidebar .logo{margin:0 20px;padding:18px 0}.off-canvas-sidebar .logo p,.sidebar .logo p{float:left;font-size:20px;line-height:20px;margin:10px}.off-canvas-sidebar .logo .simple-text,.sidebar .logo .simple-text{display:block;font-size:1em;font-weight:400;line-height:30px;padding:4px 0;text-align:center;text-transform:uppercase}.off-canvas-sidebar .nav,.sidebar .nav{margin-top:20px}.off-canvas-sidebar .nav li>a,.sidebar .nav li>a{opacity:.7;padding-left:25px;padding-right:25px}.off-canvas-sidebar .nav li:hover>a,.sidebar .nav li:hover>a{opacity:1}.off-canvas-sidebar .nav li.active>a,.sidebar .nav li.active>a{color:#067ec1;opacity:1}.off-canvas-sidebar .nav li.active>a:before,.sidebar .nav li.active>a:before{border-bottom:17px solid transparent;border-right:17px solid #ddd;border-top:17px solid transparent;content:"";display:inline-block;position:absolute;right:0;top:8px}.off-canvas-sidebar .nav li.active>a:after,.sidebar .nav li.active>a:after{border-bottom:17px solid transparent;border-right:17px solid #ebeff2;border-top:17px solid transparent;content:"";display:inline-block;position:absolute;right:-1px;top:8px}.off-canvas-sidebar .nav li h5,.sidebar .nav li h5{-webkit-font-smoothing:antialiased;font-family:Roboto,Helvetica Neue,Arial,sans-serif;padding-left:30px}.off-canvas-sidebar .nav li>a.menu,.sidebar .nav li>a.menu{padding:10px 0 0}.off-canvas-sidebar .nav li ul,.sidebar .nav li ul{margin-top:0}.off-canvas-sidebar .nav p,.sidebar .nav p{font-size:12px;font-weight:600;line-height:30px;margin:0;text-transform:uppercase}.off-canvas-sidebar .nav i,.sidebar .nav i{float:left;font-size:24px;line-height:30px;margin-right:15px;text-align:center;width:30px}.off-canvas-sidebar:after,.off-canvas-sidebar:before,.sidebar:after,.sidebar:before{background:#fff;content:"";display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:2}.off-canvas-sidebar:after,.off-canvas-sidebar:before,.off-canvas-sidebar[data-background-color=white]:after,.off-canvas-sidebar[data-background-color=white]:before,.sidebar:after,.sidebar:before,.sidebar[data-background-color=white]:after,.sidebar[data-background-color=white]:before{background-color:#fff}.off-canvas-sidebar .logo,.off-canvas-sidebar[data-background-color=white] .logo,.sidebar .logo,.sidebar[data-background-color=white] .logo{border-bottom:1px solid rgba(44,44,44,.3)}.off-canvas-sidebar .logo .simple-text,.off-canvas-sidebar .logo p,.off-canvas-sidebar .nav li:not(.active)>a,.off-canvas-sidebar[data-background-color=white] .logo .simple-text,.off-canvas-sidebar[data-background-color=white] .logo p,.off-canvas-sidebar[data-background-color=white] .nav li:not(.active)>a,.sidebar .logo .simple-text,.sidebar .logo p,.sidebar .nav li:not(.active)>a,.sidebar[data-background-color=white] .logo .simple-text,.sidebar[data-background-color=white] .logo p,.sidebar[data-background-color=white] .nav li:not(.active)>a{color:#2c2c2c}.off-canvas-sidebar .nav .divider,.off-canvas-sidebar[data-background-color=white] .nav .divider,.sidebar .nav .divider,.sidebar[data-background-color=white] .nav .divider{background-color:rgba(44,44,44,.2)}.off-canvas-sidebar[data-background-color=black]:after,.off-canvas-sidebar[data-background-color=black]:before,.sidebar[data-background-color=black]:after,.sidebar[data-background-color=black]:before{background-color:#212120}.off-canvas-sidebar[data-background-color=black] .logo,.sidebar[data-background-color=black] .logo{border-bottom:1px solid hsla(0,0%,100%,.3)}.off-canvas-sidebar[data-background-color=black] .logo .simple-text,.off-canvas-sidebar[data-background-color=black] .logo p,.off-canvas-sidebar[data-background-color=black] .nav li:not(.active)>a,.sidebar[data-background-color=black] .logo .simple-text,.sidebar[data-background-color=black] .logo p,.sidebar[data-background-color=black] .nav li:not(.active)>a{color:#fff}.off-canvas-sidebar[data-background-color=black] .nav .divider,.sidebar[data-background-color=black] .nav .divider{background-color:hsla(0,0%,100%,.2)}.off-canvas-sidebar[data-active-color=primary] .nav li.active>a,.sidebar[data-active-color=primary] .nav li.active>a{color:#2c2c2c;opacity:1}.off-canvas-sidebar[data-active-color=info] .nav li.active>a,.sidebar[data-active-color=info] .nav li.active>a{color:#067ec1;opacity:1}.off-canvas-sidebar[data-active-color=success] .nav li.active>a,.sidebar[data-active-color=success] .nav li.active>a{color:#18ce0f;opacity:1}.off-canvas-sidebar[data-active-color=warning] .nav li.active>a,.sidebar[data-active-color=warning] .nav li.active>a{color:#ffb236;opacity:1}.off-canvas-sidebar[data-active-color=danger] .nav li.active>a,.sidebar[data-active-color=danger] .nav li.active>a{color:#ff3636;opacity:1}.main-panel{background-color:#ebeff2;float:right;min-height:100%;position:relative;width:calc(100% - 260px);z-index:2}.main-panel>.content{min-height:calc(100% - 123px);padding:0 2px}.main-panel>.footer{border-top:1px solid rgba(0,0,0,.1)}.main-panel .navbar{margin-bottom:0}.main-panel,.sidebar{-webkit-overflow-scrolling:touch;height:100%;max-height:100%;overflow:auto;transition-duration:.2s,.2s;transition-property:top,bottom;transition-timing-function:linear,linear}.badge{background-color:transparent;border:1px solid;border-radius:8px;border-radius:6px;font-size:.7142em;line-height:12px;margin-bottom:5px;padding:4px 8px;text-transform:uppercase}.badge-icon{padding:.4em .55em}.badge-icon i{font-size:.8em}.badge-default{border-color:#2c2c2c;color:#2c2c2c}.badge-info,.badge-primary{border-color:#067ec1;color:#067ec1}.badge-success{border-color:#18ce0f;color:#18ce0f}.badge-warning{border-color:#ffb236;color:#ffb236}.badge-danger{border-color:#ff3636;color:#ff3636}.badge-neutral{border-color:#fff;color:#fff}.btn,.navbar .navbar-nav>li>a.btn{background-color:transparent;background-color:#2c2c2c;box-sizing:border-box;color:#fff;font-size:14px;font-weight:500;margin-top:5px;padding:4px 18px;transition:all .15s linear}.btn.active,.btn.active:focus,.btn.active:hover,.btn:active,.btn:active:focus,.btn:active:hover,.btn:focus,.btn:hover,.navbar .navbar-nav>li>a.btn.active,.navbar .navbar-nav>li>a.btn.active:focus,.navbar .navbar-nav>li>a.btn.active:hover,.navbar .navbar-nav>li>a.btn:active,.navbar .navbar-nav>li>a.btn:active:focus,.navbar .navbar-nav>li>a.btn:active:hover,.navbar .navbar-nav>li>a.btn:focus,.navbar .navbar-nav>li>a.btn:hover,.open>.btn.dropdown-toggle,.open>.btn.dropdown-toggle:focus,.open>.btn.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle:hover{background-color:#403d39;color:#fff}.btn.disabled,.btn.disabled.active,.btn.disabled.focus,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn:disabled,.btn:disabled.active,.btn:disabled.focus,.btn:disabled:active,.btn:disabled:focus,.btn:disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled].focus,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,.navbar .navbar-nav>li>a.btn.disabled,.navbar .navbar-nav>li>a.btn.disabled.active,.navbar .navbar-nav>li>a.btn.disabled.focus,.navbar .navbar-nav>li>a.btn.disabled:active,.navbar .navbar-nav>li>a.btn.disabled:focus,.navbar .navbar-nav>li>a.btn.disabled:hover,.navbar .navbar-nav>li>a.btn:disabled,.navbar .navbar-nav>li>a.btn:disabled.active,.navbar .navbar-nav>li>a.btn:disabled.focus,.navbar .navbar-nav>li>a.btn:disabled:active,.navbar .navbar-nav>li>a.btn:disabled:focus,.navbar .navbar-nav>li>a.btn:disabled:hover,.navbar .navbar-nav>li>a.btn[disabled],.navbar .navbar-nav>li>a.btn[disabled].active,.navbar .navbar-nav>li>a.btn[disabled].focus,.navbar .navbar-nav>li>a.btn[disabled]:active,.navbar .navbar-nav>li>a.btn[disabled]:focus,.navbar .navbar-nav>li>a.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn.focus,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn,fieldset[disabled] .navbar .navbar-nav>li>a.btn.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn:hover{background-color:#2c2c2c;border-color:#2c2c2c}.btn.focus,.btn:focus,.navbar .navbar-nav>li>a.btn.focus,.navbar .navbar-nav>li>a.btn:focus{box-shadow:none}.btn.btn-simple,.navbar .navbar-nav>li>a.btn.btn-simple{border-color:#2c2c2c;color:#2c2c2c}.btn.btn-simple:active,.btn.btn-simple:focus,.btn.btn-simple:hover,.navbar .navbar-nav>li>a.btn.btn-simple:active,.navbar .navbar-nav>li>a.btn.btn-simple:focus,.navbar .navbar-nav>li>a.btn.btn-simple:hover{background-color:transparent;border-color:#403d39;color:#403d39}.btn.btn-link,.navbar .navbar-nav>li>a.btn.btn-link{color:#2c2c2c}.btn.btn-link:active,.btn.btn-link:focus,.btn.btn-link:hover,.navbar .navbar-nav>li>a.btn.btn-link:active,.navbar .navbar-nav>li>a.btn.btn-link:focus,.navbar .navbar-nav>li>a.btn.btn-link:hover{background-color:transparent;color:#403d39;text-decoration:none}.btn:focus,.btn:hover,.navbar .navbar-nav>li>a.btn:focus,.navbar .navbar-nav>li>a.btn:hover{outline:0!important}.btn.active,.btn:active,.navbar .navbar-nav>li>a.btn.active,.navbar .navbar-nav>li>a.btn:active,.open>.btn.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle{box-shadow:none;outline:0!important}.btn.btn-icon,.navbar .navbar-nav>li>a.btn.btn-icon{padding:7px}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-2px}.btn-primary,.navbar .navbar-nav>li>a.btn-primary{background-color:#067ec1;color:#fff}.btn-primary.active,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active,.btn-primary:active:focus,.btn-primary:active:hover,.btn-primary:focus,.btn-primary:hover,.navbar .navbar-nav>li>a.btn-primary.active,.navbar .navbar-nav>li>a.btn-primary.active:focus,.navbar .navbar-nav>li>a.btn-primary.active:hover,.navbar .navbar-nav>li>a.btn-primary:active,.navbar .navbar-nav>li>a.btn-primary:active:focus,.navbar .navbar-nav>li>a.btn-primary:active:hover,.navbar .navbar-nav>li>a.btn-primary:focus,.navbar .navbar-nav>li>a.btn-primary:hover,.open>.btn-primary.dropdown-toggle,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn-primary.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn-primary.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn-primary.dropdown-toggle:hover{background-color:#427c89;color:#fff}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary:disabled,.btn-primary:disabled.active,.btn-primary:disabled.focus,.btn-primary:disabled:active,.btn-primary:disabled:focus,.btn-primary:disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,.navbar .navbar-nav>li>a.btn-primary.disabled,.navbar .navbar-nav>li>a.btn-primary.disabled.active,.navbar .navbar-nav>li>a.btn-primary.disabled.focus,.navbar .navbar-nav>li>a.btn-primary.disabled:active,.navbar .navbar-nav>li>a.btn-primary.disabled:focus,.navbar .navbar-nav>li>a.btn-primary.disabled:hover,.navbar .navbar-nav>li>a.btn-primary:disabled,.navbar .navbar-nav>li>a.btn-primary:disabled.active,.navbar .navbar-nav>li>a.btn-primary:disabled.focus,.navbar .navbar-nav>li>a.btn-primary:disabled:active,.navbar .navbar-nav>li>a.btn-primary:disabled:focus,.navbar .navbar-nav>li>a.btn-primary:disabled:hover,.navbar .navbar-nav>li>a.btn-primary[disabled],.navbar .navbar-nav>li>a.btn-primary[disabled].active,.navbar .navbar-nav>li>a.btn-primary[disabled].focus,.navbar .navbar-nav>li>a.btn-primary[disabled]:active,.navbar .navbar-nav>li>a.btn-primary[disabled]:focus,.navbar .navbar-nav>li>a.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary:hover{background-color:#067ec1;border-color:#067ec1}.btn-primary.focus,.btn-primary:focus,.navbar .navbar-nav>li>a.btn-primary.focus,.navbar .navbar-nav>li>a.btn-primary:focus{box-shadow:none}.btn-primary.btn-simple,.navbar .navbar-nav>li>a.btn-primary.btn-simple{border-color:#067ec1;color:#067ec1}.btn-primary.btn-simple:active,.btn-primary.btn-simple:focus,.btn-primary.btn-simple:hover,.navbar .navbar-nav>li>a.btn-primary.btn-simple:active,.navbar .navbar-nav>li>a.btn-primary.btn-simple:focus,.navbar .navbar-nav>li>a.btn-primary.btn-simple:hover{background-color:transparent;border-color:#427c89;color:#427c89}.btn-primary.btn-link,.navbar .navbar-nav>li>a.btn-primary.btn-link{color:#067ec1}.btn-primary.btn-link:active,.btn-primary.btn-link:focus,.btn-primary.btn-link:hover,.navbar .navbar-nav>li>a.btn-primary.btn-link:active,.navbar .navbar-nav>li>a.btn-primary.btn-link:focus,.navbar .navbar-nav>li>a.btn-primary.btn-link:hover{background-color:transparent;color:#427c89;text-decoration:none}.btn-success,.navbar .navbar-nav>li>a.btn-success{background-color:#18ce0f;color:#fff}.btn-success.active,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active,.btn-success:active:focus,.btn-success:active:hover,.btn-success:focus,.btn-success:hover,.navbar .navbar-nav>li>a.btn-success.active,.navbar .navbar-nav>li>a.btn-success.active:focus,.navbar .navbar-nav>li>a.btn-success.active:hover,.navbar .navbar-nav>li>a.btn-success:active,.navbar .navbar-nav>li>a.btn-success:active:focus,.navbar .navbar-nav>li>a.btn-success:active:hover,.navbar .navbar-nav>li>a.btn-success:focus,.navbar .navbar-nav>li>a.btn-success:hover,.open>.btn-success.dropdown-toggle,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn-success.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn-success.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn-success.dropdown-toggle:hover{background-color:#15b60d;color:#fff}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success:disabled,.btn-success:disabled.active,.btn-success:disabled.focus,.btn-success:disabled:active,.btn-success:disabled:focus,.btn-success:disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,.navbar .navbar-nav>li>a.btn-success.disabled,.navbar .navbar-nav>li>a.btn-success.disabled.active,.navbar .navbar-nav>li>a.btn-success.disabled.focus,.navbar .navbar-nav>li>a.btn-success.disabled:active,.navbar .navbar-nav>li>a.btn-success.disabled:focus,.navbar .navbar-nav>li>a.btn-success.disabled:hover,.navbar .navbar-nav>li>a.btn-success:disabled,.navbar .navbar-nav>li>a.btn-success:disabled.active,.navbar .navbar-nav>li>a.btn-success:disabled.focus,.navbar .navbar-nav>li>a.btn-success:disabled:active,.navbar .navbar-nav>li>a.btn-success:disabled:focus,.navbar .navbar-nav>li>a.btn-success:disabled:hover,.navbar .navbar-nav>li>a.btn-success[disabled],.navbar .navbar-nav>li>a.btn-success[disabled].active,.navbar .navbar-nav>li>a.btn-success[disabled].focus,.navbar .navbar-nav>li>a.btn-success[disabled]:active,.navbar .navbar-nav>li>a.btn-success[disabled]:focus,.navbar .navbar-nav>li>a.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success:hover{background-color:#18ce0f;border-color:#18ce0f}.btn-success.focus,.btn-success:focus,.navbar .navbar-nav>li>a.btn-success.focus,.navbar .navbar-nav>li>a.btn-success:focus{box-shadow:none}.btn-success.btn-simple,.navbar .navbar-nav>li>a.btn-success.btn-simple{border-color:#18ce0f;color:#18ce0f}.btn-success.btn-simple:active,.btn-success.btn-simple:focus,.btn-success.btn-simple:hover,.navbar .navbar-nav>li>a.btn-success.btn-simple:active,.navbar .navbar-nav>li>a.btn-success.btn-simple:focus,.navbar .navbar-nav>li>a.btn-success.btn-simple:hover{background-color:transparent;border-color:#15b60d;color:#15b60d}.btn-success.btn-link,.navbar .navbar-nav>li>a.btn-success.btn-link{color:#18ce0f}.btn-success.btn-link:active,.btn-success.btn-link:focus,.btn-success.btn-link:hover,.navbar .navbar-nav>li>a.btn-success.btn-link:active,.navbar .navbar-nav>li>a.btn-success.btn-link:focus,.navbar .navbar-nav>li>a.btn-success.btn-link:hover{background-color:transparent;color:#15b60d;text-decoration:none}.btn-info,.navbar .navbar-nav>li>a.btn-info{background-color:#067ec1;color:#fff}.btn-info.active,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active,.btn-info:active:focus,.btn-info:active:hover,.btn-info:focus,.btn-info:hover,.navbar .navbar-nav>li>a.btn-info.active,.navbar .navbar-nav>li>a.btn-info.active:focus,.navbar .navbar-nav>li>a.btn-info.active:hover,.navbar .navbar-nav>li>a.btn-info:active,.navbar .navbar-nav>li>a.btn-info:active:focus,.navbar .navbar-nav>li>a.btn-info:active:hover,.navbar .navbar-nav>li>a.btn-info:focus,.navbar .navbar-nav>li>a.btn-info:hover,.open>.btn-info.dropdown-toggle,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn-info.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn-info.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn-info.dropdown-toggle:hover{background-color:#0688d0;color:#fff}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info:disabled,.btn-info:disabled.active,.btn-info:disabled.focus,.btn-info:disabled:active,.btn-info:disabled:focus,.btn-info:disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,.navbar .navbar-nav>li>a.btn-info.disabled,.navbar .navbar-nav>li>a.btn-info.disabled.active,.navbar .navbar-nav>li>a.btn-info.disabled.focus,.navbar .navbar-nav>li>a.btn-info.disabled:active,.navbar .navbar-nav>li>a.btn-info.disabled:focus,.navbar .navbar-nav>li>a.btn-info.disabled:hover,.navbar .navbar-nav>li>a.btn-info:disabled,.navbar .navbar-nav>li>a.btn-info:disabled.active,.navbar .navbar-nav>li>a.btn-info:disabled.focus,.navbar .navbar-nav>li>a.btn-info:disabled:active,.navbar .navbar-nav>li>a.btn-info:disabled:focus,.navbar .navbar-nav>li>a.btn-info:disabled:hover,.navbar .navbar-nav>li>a.btn-info[disabled],.navbar .navbar-nav>li>a.btn-info[disabled].active,.navbar .navbar-nav>li>a.btn-info[disabled].focus,.navbar .navbar-nav>li>a.btn-info[disabled]:active,.navbar .navbar-nav>li>a.btn-info[disabled]:focus,.navbar .navbar-nav>li>a.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info:hover{background-color:#067ec1;border-color:#067ec1}.btn-info.focus,.btn-info:focus,.navbar .navbar-nav>li>a.btn-info.focus,.navbar .navbar-nav>li>a.btn-info:focus{box-shadow:none}.btn-info.btn-simple,.navbar .navbar-nav>li>a.btn-info.btn-simple{border-color:#067ec1;color:#067ec1}.btn-info.btn-simple:active,.btn-info.btn-simple:focus,.btn-info.btn-simple:hover,.navbar .navbar-nav>li>a.btn-info.btn-simple:active,.navbar .navbar-nav>li>a.btn-info.btn-simple:focus,.navbar .navbar-nav>li>a.btn-info.btn-simple:hover{background-color:transparent;border-color:#0688d0;color:#0688d0}.btn-info.btn-link,.navbar .navbar-nav>li>a.btn-info.btn-link{color:#067ec1}.btn-info.btn-link:active,.btn-info.btn-link:focus,.btn-info.btn-link:hover,.navbar .navbar-nav>li>a.btn-info.btn-link:active,.navbar .navbar-nav>li>a.btn-info.btn-link:focus,.navbar .navbar-nav>li>a.btn-info.btn-link:hover{background-color:transparent;color:#0688d0;text-decoration:none}.btn-warning,.navbar .navbar-nav>li>a.btn-warning{background-color:#ffb236;color:#fff}.btn-warning.active,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active,.btn-warning:active:focus,.btn-warning:active:hover,.btn-warning:focus,.btn-warning:hover,.navbar .navbar-nav>li>a.btn-warning.active,.navbar .navbar-nav>li>a.btn-warning.active:focus,.navbar .navbar-nav>li>a.btn-warning.active:hover,.navbar .navbar-nav>li>a.btn-warning:active,.navbar .navbar-nav>li>a.btn-warning:active:focus,.navbar .navbar-nav>li>a.btn-warning:active:hover,.navbar .navbar-nav>li>a.btn-warning:focus,.navbar .navbar-nav>li>a.btn-warning:hover,.open>.btn-warning.dropdown-toggle,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn-warning.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn-warning.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn-warning.dropdown-toggle:hover{background-color:#ffa81d;color:#fff}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning:disabled,.btn-warning:disabled.active,.btn-warning:disabled.focus,.btn-warning:disabled:active,.btn-warning:disabled:focus,.btn-warning:disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,.navbar .navbar-nav>li>a.btn-warning.disabled,.navbar .navbar-nav>li>a.btn-warning.disabled.active,.navbar .navbar-nav>li>a.btn-warning.disabled.focus,.navbar .navbar-nav>li>a.btn-warning.disabled:active,.navbar .navbar-nav>li>a.btn-warning.disabled:focus,.navbar .navbar-nav>li>a.btn-warning.disabled:hover,.navbar .navbar-nav>li>a.btn-warning:disabled,.navbar .navbar-nav>li>a.btn-warning:disabled.active,.navbar .navbar-nav>li>a.btn-warning:disabled.focus,.navbar .navbar-nav>li>a.btn-warning:disabled:active,.navbar .navbar-nav>li>a.btn-warning:disabled:focus,.navbar .navbar-nav>li>a.btn-warning:disabled:hover,.navbar .navbar-nav>li>a.btn-warning[disabled],.navbar .navbar-nav>li>a.btn-warning[disabled].active,.navbar .navbar-nav>li>a.btn-warning[disabled].focus,.navbar .navbar-nav>li>a.btn-warning[disabled]:active,.navbar .navbar-nav>li>a.btn-warning[disabled]:focus,.navbar .navbar-nav>li>a.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning:hover{background-color:#ffb236;border-color:#ffb236}.btn-warning.focus,.btn-warning:focus,.navbar .navbar-nav>li>a.btn-warning.focus,.navbar .navbar-nav>li>a.btn-warning:focus{box-shadow:none}.btn-warning.btn-simple,.navbar .navbar-nav>li>a.btn-warning.btn-simple{border-color:#ffb236;color:#ffb236}.btn-warning.btn-simple:active,.btn-warning.btn-simple:focus,.btn-warning.btn-simple:hover,.navbar .navbar-nav>li>a.btn-warning.btn-simple:active,.navbar .navbar-nav>li>a.btn-warning.btn-simple:focus,.navbar .navbar-nav>li>a.btn-warning.btn-simple:hover{background-color:transparent;border-color:#ffa81d;color:#ffa81d}.btn-warning.btn-link,.navbar .navbar-nav>li>a.btn-warning.btn-link{color:#ffb236}.btn-warning.btn-link:active,.btn-warning.btn-link:focus,.btn-warning.btn-link:hover,.navbar .navbar-nav>li>a.btn-warning.btn-link:active,.navbar .navbar-nav>li>a.btn-warning.btn-link:focus,.navbar .navbar-nav>li>a.btn-warning.btn-link:hover{background-color:transparent;color:#ffa81d;text-decoration:none}.btn-danger,.navbar .navbar-nav>li>a.btn-danger{background-color:#ff3636;color:#fff}.btn-danger.active,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active,.btn-danger:active:focus,.btn-danger:active:hover,.btn-danger:focus,.btn-danger:hover,.navbar .navbar-nav>li>a.btn-danger.active,.navbar .navbar-nav>li>a.btn-danger.active:focus,.navbar .navbar-nav>li>a.btn-danger.active:hover,.navbar .navbar-nav>li>a.btn-danger:active,.navbar .navbar-nav>li>a.btn-danger:active:focus,.navbar .navbar-nav>li>a.btn-danger:active:hover,.navbar .navbar-nav>li>a.btn-danger:focus,.navbar .navbar-nav>li>a.btn-danger:hover,.open>.btn-danger.dropdown-toggle,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn-danger.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn-danger.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn-danger.dropdown-toggle:hover{background-color:#ff1d1d;color:#fff}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger:disabled,.btn-danger:disabled.active,.btn-danger:disabled.focus,.btn-danger:disabled:active,.btn-danger:disabled:focus,.btn-danger:disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,.navbar .navbar-nav>li>a.btn-danger.disabled,.navbar .navbar-nav>li>a.btn-danger.disabled.active,.navbar .navbar-nav>li>a.btn-danger.disabled.focus,.navbar .navbar-nav>li>a.btn-danger.disabled:active,.navbar .navbar-nav>li>a.btn-danger.disabled:focus,.navbar .navbar-nav>li>a.btn-danger.disabled:hover,.navbar .navbar-nav>li>a.btn-danger:disabled,.navbar .navbar-nav>li>a.btn-danger:disabled.active,.navbar .navbar-nav>li>a.btn-danger:disabled.focus,.navbar .navbar-nav>li>a.btn-danger:disabled:active,.navbar .navbar-nav>li>a.btn-danger:disabled:focus,.navbar .navbar-nav>li>a.btn-danger:disabled:hover,.navbar .navbar-nav>li>a.btn-danger[disabled],.navbar .navbar-nav>li>a.btn-danger[disabled].active,.navbar .navbar-nav>li>a.btn-danger[disabled].focus,.navbar .navbar-nav>li>a.btn-danger[disabled]:active,.navbar .navbar-nav>li>a.btn-danger[disabled]:focus,.navbar .navbar-nav>li>a.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger:hover{background-color:#ff3636;border-color:#ff3636}.btn-danger.focus,.btn-danger:focus,.navbar .navbar-nav>li>a.btn-danger.focus,.navbar .navbar-nav>li>a.btn-danger:focus{box-shadow:none}.btn-danger.btn-simple,.navbar .navbar-nav>li>a.btn-danger.btn-simple{border-color:#ff3636;color:#ff3636}.btn-danger.btn-simple:active,.btn-danger.btn-simple:focus,.btn-danger.btn-simple:hover,.navbar .navbar-nav>li>a.btn-danger.btn-simple:active,.navbar .navbar-nav>li>a.btn-danger.btn-simple:focus,.navbar .navbar-nav>li>a.btn-danger.btn-simple:hover{background-color:transparent;border-color:#ff1d1d;color:#ff1d1d}.btn-danger.btn-link,.navbar .navbar-nav>li>a.btn-danger.btn-link{color:#ff3636}.btn-danger.btn-link:active,.btn-danger.btn-link:focus,.btn-danger.btn-link:hover,.navbar .navbar-nav>li>a.btn-danger.btn-link:active,.navbar .navbar-nav>li>a.btn-danger.btn-link:focus,.navbar .navbar-nav>li>a.btn-danger.btn-link:hover{background-color:transparent;color:#ff1d1d;text-decoration:none}.btn-neutral,.btn-neutral.active,.btn-neutral.active:focus,.btn-neutral.active:hover,.btn-neutral:active,.btn-neutral:active:focus,.btn-neutral:active:hover,.btn-neutral:focus,.btn-neutral:hover,.open>.btn-neutral.dropdown-toggle,.open>.btn-neutral.dropdown-toggle:focus,.open>.btn-neutral.dropdown-toggle:hover{background-color:#fff;color:#fff}.btn-neutral.disabled,.btn-neutral.disabled.active,.btn-neutral.disabled.focus,.btn-neutral.disabled:active,.btn-neutral.disabled:focus,.btn-neutral.disabled:hover,.btn-neutral:disabled,.btn-neutral:disabled.active,.btn-neutral:disabled.focus,.btn-neutral:disabled:active,.btn-neutral:disabled:focus,.btn-neutral:disabled:hover,.btn-neutral[disabled],.btn-neutral[disabled].active,.btn-neutral[disabled].focus,.btn-neutral[disabled]:active,.btn-neutral[disabled]:focus,.btn-neutral[disabled]:hover,fieldset[disabled] .btn-neutral,fieldset[disabled] .btn-neutral.active,fieldset[disabled] .btn-neutral.focus,fieldset[disabled] .btn-neutral:active,fieldset[disabled] .btn-neutral:focus,fieldset[disabled] .btn-neutral:hover{background-color:#fff;border-color:#fff}.btn-neutral.focus,.btn-neutral:focus{box-shadow:none}.btn-neutral.btn-danger{color:#ff3636}.btn-neutral.btn-danger:active,.btn-neutral.btn-danger:focus,.btn-neutral.btn-danger:hover{color:#ff1d1d}.btn-neutral.btn-info{color:#fff}.btn-neutral.btn-info:active,.btn-neutral.btn-info:focus,.btn-neutral.btn-info:hover{color:#0688d0}.btn-neutral.btn-warning{color:#fff}.btn-neutral.btn-warning:active,.btn-neutral.btn-warning:focus,.btn-neutral.btn-warning:hover{color:#ffa81d}.btn-neutral.btn-success{color:#fff}.btn-neutral.btn-success:active,.btn-neutral.btn-success:focus,.btn-neutral.btn-success:hover{color:#15b60d}.btn-neutral.btn-default{color:#fff}.btn-neutral.btn-default:active,.btn-neutral.btn-default:focus,.btn-neutral.btn-default:hover{color:#403d39}.btn-neutral.active,.btn-neutral.active:focus,.btn-neutral.active:hover,.btn-neutral:active:focus,.btn-neutral:active:hover,.open>.btn-neutral.dropdown-toggle,.open>.btn-neutral.dropdown-toggle:focus,.open>.btn-neutral.dropdown-toggle:hover{background-color:#fff;color:#067ec1}.btn-neutral:active,.btn-neutral:focus,.btn-neutral:hover{color:#427c89}.btn-neutral.btn-simple{border-color:#fff;color:#fff}.btn-neutral.btn-simple:active,.btn-neutral.btn-simple:focus,.btn-neutral.btn-simple:hover{background-color:transparent;border-color:#fff;color:#fff}.btn-neutral.btn-link{color:#fff}.btn-neutral.btn-link:active,.btn-neutral.btn-link:focus,.btn-neutral.btn-link:hover{background-color:transparent;color:#fff;text-decoration:none}.btn-neutral:focus,.btn-neutral:hover{color:#2c2c2c}.btn-neutral.active,.btn-neutral:active,.open>.btn-neutral.dropdown-toggle{background-color:#fff;color:#2c2c2c}.btn-neutral.btn-fill{color:#2c2c2c}.btn-neutral.btn-fill:focus,.btn-neutral.btn-fill:hover{color:#403d39}.btn-neutral.btn-simple.active,.btn-neutral.btn-simple:active{background-color:transparent}.btn.disabled,.btn:disabled,.btn[disabled]{opacity:.5}.btn-simple{border:0;padding:7px 18px}.btn-simple.btn-icon{padding:7px}.btn-lg{font-size:1em;font-weight:400;padding:11px 30px}.btn-lg.btn-simple{padding:13px 30px}.btn-sm{font-size:.8571em;padding:4px 10px}.btn-sm.btn-simple{padding:6px 10px}.btn-xs{font-size:.7142em;padding:2px 5px}.btn-xs.btn-simple{padding:4px 5px}.btn-wd{min-width:140px}.btn-group.select{width:100%}.btn-group.select .btn{text-align:left}.btn-group.select .caret{margin-top:-1px;position:absolute;right:8px;top:50%}.form-control:-moz-placeholder,.form-control::-moz-placeholder{color:#ddd;opacity:1}.form-control::-webkit-input-placeholder{color:#ddd;opacity:1}.form-control:-ms-input-placeholder{color:#ddd;opacity:1}.form-control{background-color:transparent;border:1px solid #aaa;border-radius:0;box-shadow:none;color:#333;font-family:Avenir-light,AvenirLTStd-Light,sans-serif!important;font-size:14px;font-weight:400;line-height:1em;transition:color .3s ease-in-out,border-color .3s ease-in-out,background-color .3s ease-in-out}.has-success .form-control{border-color:#e3e3e3}.form-control:focus{border:1px solid #067ec1;box-shadow:none;color:#333;outline:0!important}.form-control:focus+.input-group-addon,.form-control:focus~.input-group-addon{background-color:transparent;border:1px solid #067ec1}.has-error .form-control,.has-error .form-control:focus,.has-success .form-control,.has-success .form-control:focus{box-shadow:none}.has-danger .form-control.form-control-danger,.has-danger .form-control.form-control-success,.has-success .form-control.form-control-danger,.has-success .form-control.form-control-success{background-image:none}.has-danger .form-control{background-color:#ffcfcf;border-color:#ffcfcf;color:#ff3636}.has-danger .form-control:focus{background-color:hsla(0,0%,87%,.3)}.form-control+.form-control-feedback{border-radius:.125rem;font-size:14px;margin-top:-7px;position:absolute;right:10px;top:50%;vertical-align:middle}.open .form-control{border-bottom-color:transparent;border-radius:.125rem .125rem 0 0}.form-control+.input-group-addon{background-color:#fff}.has-danger:after,.has-success:after{color:#18ce0f;content:"";display:inline-block;font-family:Nucleo Outline;font-size:11px;position:absolute;right:35px;top:12px}.has-danger.input-lg:after,.has-success.input-lg:after{font-size:13px;top:13px}.has-danger:after{color:#ff3636;content:""}.form-group.form-group-no-border.input-sm .input-group-addon,.input-group.form-group-no-border.input-sm .input-group-addon{padding:4px 0 4px 10px}.form-group.form-group-no-border.input-sm .form-control,.input-group.form-group-no-border.input-sm .form-control{padding:4px 10px}.form-group.form-group-no-border.input-sm .form-control+.input-group-addon,.input-group.form-group-no-border.input-sm .form-control+.input-group-addon{padding:4px 10px 4px 0}.form-group.input-sm .form-control,.input-group.input-sm .form-control{padding:3px 9px}.form-group.input-sm .form-control+.input-group-addon,.input-group.input-sm .form-control+.input-group-addon{padding:3px 9px 3px 0}.form-group.input-sm .input-group-addon,.input-group.input-sm .input-group-addon{padding:3px 0 4px 9px}.form-group.input-sm .input-group-addon+.form-control,.input-group.input-sm .input-group-addon+.form-control{padding:4px 9px 4px 7px}.form-group.form-group-no-border.input-lg .input-group-addon,.input-group.form-group-no-border.input-lg .input-group-addon{padding:11px 0 11px 19px}.form-group.form-group-no-border.input-lg .form-control,.input-group.form-group-no-border.input-lg .form-control{padding:11px 19px}.form-group.form-group-no-border.input-lg .form-control+.input-group-addon,.input-group.form-group-no-border.input-lg .form-control+.input-group-addon{padding:11px 19px 11px 0}.form-group.input-lg .form-control,.input-group.input-lg .form-control{padding:10px 18px}.form-group.input-lg .form-control+.input-group-addon,.input-group.input-lg .form-control+.input-group-addon{padding:10px 18px 10px 0}.form-group.input-lg .input-group-addon,.input-group.input-lg .input-group-addon{padding:10px 0 11px 18px}.form-group.input-lg .input-group-addon+.form-control,.input-group.input-lg .input-group-addon+.form-control{padding:11px 18px 11px 16px}.form-group.form-group-no-border .form-control,.input-group.form-group-no-border .form-control{padding:4px 10px}.form-group.form-group-no-border .form-control+.input-group-addon,.input-group.form-group-no-border .form-control+.input-group-addon{padding:4px 10px 4px 0}.form-group.form-group-no-border .input-group-addon,.input-group.form-group-no-border .input-group-addon{padding:4px 0 4px 10px}.form-group .form-control,.input-group .form-control{margin-top:2px;padding:3px 9px}.form-group .form-control+.input-group-addon,.input-group .form-control+.input-group-addon{padding:3px 9px 3px 0}.form-group .input-group-addon,.input-group .input-group-addon{padding:3px 0 3px 9px}.form-group .input-group-addon+.form-control,.form-group .input-group-addon~.form-control,.input-group .input-group-addon+.form-control,.input-group .input-group-addon~.form-control{padding:3px 10px 4px 7px}.form-group.form-group-no-border .form-control,.form-group.form-group-no-border .form-control+.input-group-addon,.input-group.form-group-no-border .form-control,.input-group.form-group-no-border .form-control+.input-group-addon{background-color:hsla(0,0%,87%,.3);border:none}.form-group.form-group-no-border .form-control+.input-group-addon:active,.form-group.form-group-no-border .form-control+.input-group-addon:focus,.form-group.form-group-no-border .form-control:active,.form-group.form-group-no-border .form-control:focus,.input-group.form-group-no-border .form-control+.input-group-addon:active,.input-group.form-group-no-border .form-control+.input-group-addon:focus,.input-group.form-group-no-border .form-control:active,.input-group.form-group-no-border .form-control:focus{background-color:hsla(0,0%,87%,.5);border:none}.form-group.form-group-no-border .form-control:focus+.input-group-addon,.input-group.form-group-no-border .form-control:focus+.input-group-addon{background-color:hsla(0,0%,87%,.5)}.form-group.form-group-no-border .input-group-addon,.input-group.form-group-no-border .input-group-addon{background-color:hsla(0,0%,87%,.3);border:none}.has-error .control-label,.has-error .form-control-feedback{color:#ff3636}.has-success .control-label,.has-success .form-control-feedback{color:#18ce0f}.input-group-addon{border:1px solid #e3e3e3;border-radius:.125rem;color:#555;padding:6px 0 6px 17px;transition:color .3s ease-in-out,border-color .3s ease-in-out,background-color .3s ease-in-out}.has-danger .input-group-addon,.has-success .input-group-addon,.input-group-addon{background-color:#fff}.has-danger .form-control:focus+.input-group-addon{color:#ff3636}.has-success .form-control:focus+.input-group-addon{color:#18ce0f}.input-group-addon+.form-control,.input-group-addon~.form-control{padding:6px 18px}.input-group-focus .input-group-addon{background-color:#fff;border-color:#067ec1}.input-group-focus.form-group-no-border .input-group-addon{background-color:hsla(0,0%,87%,.5)}.form-group,.input-group{margin-bottom:10px}.input-group[disabled] .input-group-addon{background-color:#e3e3e3}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#e3e3e3;color:#2c2c2c;cursor:not-allowed}.input-group-btn .btn{border-width:1px;padding:11px 18px}.input-group-btn .btn-default:not(.btn-fill){border-color:#ddd}.input-group-btn:last-child>.btn{margin-left:0}textarea.form-control{background-color:transparent;border:1px solid #aaa;border-radius:0;color:#333;font-size:14px;font-weight:400;line-height:1em;max-width:100%;padding:10px;resize:none}textarea.form-control:active,textarea.form-control:focus{background-color:transparent;border:1px solid #067ec1;box-shadow:none}.has-danger.form-group .form-control,.has-danger.form-group.form-group-no-border .form-control,.has-success.form-group .form-control,.has-success.form-group.form-group-no-border .form-control{padding-right:40px}.alert{border:0;border-radius:0;color:#fff;font-size:14px;padding:10px 15px}.container .alert{border-radius:4px}.navbar .alert{border-radius:0;left:0;position:absolute;right:0;top:85px;width:100%;z-index:3}.navbar:not(.navbar-transparent) .alert{top:70px}.alert span[data-notify=icon]{display:block;font-size:30px;left:15px;margin-top:-20px;position:absolute;top:50%}.alert .close~span{display:block;max-width:89%}.alert[data-notify=container]{border-radius:2px;padding:10px 10px 10px 20px}.alert.alert-with-icon{padding-left:65px}.alert-info{background-color:#7ce4fe;color:#0688d0}.alert-success{background-color:#8ef3c5;color:#15b60d}.alert-warning{background-color:#ffe28c;color:#ffa81d}.alert-danger{background-color:#ff3636;color:#fff}.table tbody tr>td,.table tbody tr>th,.table tfoot tr>td,.table tfoot tr>th,.table thead tr>td,.table thead tr>th{border-top:1px solid #ccc5b9}.table>thead>tr>th{border-bottom-width:0;font-size:1.25em;font-weight:300}.table .checkbox,.table .radio{margin-bottom:22px;margin-top:0;padding:0;width:15px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:12px;vertical-align:middle}.table .th-description{max-width:150px}.table .td-price{font-size:26px;font-weight:300;margin-top:5px;text-align:right}.table .td-total{font-size:1.25em;font-weight:600;padding-top:20px;text-align:right}.table .td-actions .btn.btn-sm,.table .td-actions .btn.btn-xs{padding-left:3px;padding-right:3px}.table>tbody>tr{position:relative}.table-striped tbody>tr:nth-of-type(odd){background-color:#fff}.table-striped tbody>tr:nth-of-type(2n){background-color:#fffcf5}.table-striped>tbody>tr>td,.table-striped>tbody>tr>th,.table-striped>tfoot>tr>td,.table-striped>tfoot>tr>th,.table-striped>thead>tr>td,.table-striped>thead>tr>th{padding:15px 8px}.checkbox,.radio{color:#4b4743;cursor:pointer;font-size:14px;font-weight:400;line-height:1.5;margin-bottom:12px;padding-left:30px;position:relative;transition:color,opacity .25s linear}.checkbox .icons,.radio .icons{color:#4b4743;cursor:pointer;display:block;font-size:20px;height:20px;left:0;line-height:21px;opacity:.5;position:absolute;text-align:center;top:0;transition:color,opacity .15s linear;width:20px}.checkbox.checked .icons,.radio.checked .icons{opacity:1}.checkbox input,.radio input{display:none;outline:0!important}.checkbox label,.radio label{padding-left:10px}.checkbox .icons .first-icon,.checkbox .icons .second-icon,.radio .icons .first-icon,.radio .icons .second-icon{background-color:transparent;display:inline-table;left:0;margin:0;opacity:1;position:absolute;top:0}.checkbox .icons .second-icon,.radio .icons .second-icon{opacity:0}.checkbox:hover,.radio:hover{transition:color .2s linear}.checkbox:hover .first-icon,.radio:hover .first-icon{opacity:0}.checkbox:hover .second-icon,.radio:hover .second-icon{opacity:1}.checkbox.checked .first-icon,.radio.checked .first-icon{opacity:0}.checkbox.checked .second-icon,.radio.checked .second-icon{opacity:1;transition:color .2s linear}.checkbox.disabled,.radio.disabled{color:#ddd;cursor:default}.checkbox.disabled .icons,.radio.disabled .icons{color:#ddd}.checkbox.disabled .first-icon,.radio.disabled .first-icon{opacity:1}.checkbox.disabled .second-icon,.radio.disabled .second-icon{opacity:0}.checkbox.disabled.checked .icons,.radio.disabled.checked .icons{color:#ddd}.checkbox.disabled.checked .first-icon,.radio.disabled.checked .first-icon{opacity:0}.checkbox.disabled.checked .second-icon,.radio.disabled.checked .second-icon{color:#ddd;opacity:1}.nav>li>a:focus,.nav>li>a:hover{background-color:transparent}.navbar{border:0;border-radius:0;font-size:1em;z-index:3}.navbar .navbar-brand{color:#fff;font-size:20px;font-weight:300;margin:5px 0;padding:20px 15px}.navbar .navbar-nav>li>a{line-height:1.42857;margin:15px 0;padding:10px 15px}.navbar .navbar-nav>li>a i,.navbar .navbar-nav>li>a p{display:inline-block;margin:0}.navbar .navbar-nav>li>a i{margin-right:5px;position:relative;top:1px}.navbar .navbar-nav>li>a.btn{margin:15px 3px;padding:7px 18px}.navbar .btn{margin:15px 3px}.navbar .btn,.navbar .btn-simple{font-size:14px}.navbar-nav>li>.dropdown-menu{border-radius:6px;margin-top:-5px}.navbar-default{background-color:#067ec1;border-bottom:1px solid #ddd;color:#fff}.navbar-default .brand{color:#fff!important}.navbar-default .navbar-nav>li>a:not(.btn){color:#fff}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:not(.btn):focus,.navbar-default .navbar-nav>.active>a:not(.btn):hover,.navbar-default .navbar-nav>li>a:not(.btn):focus,.navbar-default .navbar-nav>li>a:not(.btn):hover{background-color:transparent;border-radius:3px;opacity:1}.navbar-default .navbar-nav>.dropdown>a:focus .caret,.navbar-default .navbar-nav>.dropdown>a:hover .caret{border-bottom-color:#067ec1;border-top-color:#067ec1}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:transparent;color:#067ec1}.navbar-default .navbar-nav .navbar-toggle:focus,.navbar-default .navbar-nav .navbar-toggle:hover{background-color:transparent}.navbar-default:not(.navbar-transparent) .btn-default:hover{border-color:#067ec1;color:#067ec1}.navbar-default:not(.navbar-transparent) .btn-neutral,.navbar-default:not(.navbar-transparent) .btn-neutral:active,.navbar-default:not(.navbar-transparent) .btn-neutral:hover{color:#9a9a9a}.navbar-form{box-shadow:none}.navbar-form .form-control{background-color:transparent;border:0;border-radius:0;color:#e3e3e3;font-size:1em;height:22px;line-height:1.4em;padding:0}.navbar-transparent .navbar-form .form-control,[class*=navbar-ct] .navbar-form .form-control{border:0;border-bottom:1px solid hsla(0,0%,100%,.6);color:#fff}.navbar-ct-primary{background-color:#8ecfd5}.navbar-ct-info{background-color:#7ce4fe}.navbar-ct-success{background-color:#8ef3c5}.navbar-ct-warning{background-color:#ffe28c}.navbar-ct-danger{background-color:#ff4c40}.navbar-transparent{background-color:transparent;border-bottom:1px solid transparent;padding-top:15px}.navbar-toggle{border:0;margin-bottom:19px;margin-top:19px}.navbar-toggle .icon-bar{background-color:#fff}.navbar-toggle .navbar-collapse,.navbar-toggle .navbar-form{border-color:transparent}.navbar-toggle.navbar-default .navbar-toggle:focus,.navbar-toggle.navbar-default .navbar-toggle:hover{background-color:transparent}.navbar-transparent .navbar-brand,[class*=navbar-ct] .navbar-brand{opacity:.9}.navbar-transparent .navbar-brand:focus,.navbar-transparent .navbar-brand:hover,[class*=navbar-ct] .navbar-brand:focus,[class*=navbar-ct] .navbar-brand:hover{background-color:transparent;opacity:1}.navbar-transparent .navbar-brand:not([class*=text]),[class*=navbar-ct] .navbar-brand:not([class*=text]){color:#fff}.navbar-transparent .navbar-nav>li>a:not(.btn),[class*=navbar-ct] .navbar-nav>li>a:not(.btn){border-color:#fff;color:#fff;opacity:.8}.navbar-transparent .navbar-nav>.active>a:focus:not(.btn),.navbar-transparent .navbar-nav>.active>a:hover:not(.btn),.navbar-transparent .navbar-nav>.active>a:not(.btn),.navbar-transparent .navbar-nav>li>a:focus:not(.btn),.navbar-transparent .navbar-nav>li>a:hover:not(.btn),[class*=navbar-ct] .navbar-nav>.active>a:focus:not(.btn),[class*=navbar-ct] .navbar-nav>.active>a:hover:not(.btn),[class*=navbar-ct] .navbar-nav>.active>a:not(.btn),[class*=navbar-ct] .navbar-nav>li>a:focus:not(.btn),[class*=navbar-ct] .navbar-nav>li>a:hover:not(.btn){background-color:transparent;border-radius:3px;color:#fff;opacity:1}.navbar-transparent .navbar-nav .nav>li>a.btn:hover,[class*=navbar-ct] .navbar-nav .nav>li>a.btn:hover{background-color:transparent}.navbar-transparent .navbar-nav>.dropdown>a .caret,.navbar-transparent .navbar-nav>.dropdown>a:focus .caret,.navbar-transparent .navbar-nav>.dropdown>a:hover .caret,[class*=navbar-ct] .navbar-nav>.dropdown>a .caret,[class*=navbar-ct] .navbar-nav>.dropdown>a:focus .caret,[class*=navbar-ct] .navbar-nav>.dropdown>a:hover .caret{border-bottom-color:#fff;border-top-color:#fff}.navbar-transparent .navbar-nav>.open>a,.navbar-transparent .navbar-nav>.open>a:focus,.navbar-transparent .navbar-nav>.open>a:hover,[class*=navbar-ct] .navbar-nav>.open>a,[class*=navbar-ct] .navbar-nav>.open>a:focus,[class*=navbar-ct] .navbar-nav>.open>a:hover{background-color:transparent;color:#fff;opacity:1}.navbar-transparent .btn-default,[class*=navbar-ct] .btn-default{border-color:#fff;color:#fff}.navbar-transparent .btn-default.btn-fill,[class*=navbar-ct] .btn-default.btn-fill{background-color:#fff;color:#9a9a9a;opacity:.9}.navbar-transparent .btn-default.btn-fill.active,.navbar-transparent .btn-default.btn-fill:active,.navbar-transparent .btn-default.btn-fill:focus,.navbar-transparent .btn-default.btn-fill:hover,.navbar-transparent .open .dropdown-toggle.btn-fill.btn-default,[class*=navbar-ct] .btn-default.btn-fill.active,[class*=navbar-ct] .btn-default.btn-fill:active,[class*=navbar-ct] .btn-default.btn-fill:focus,[class*=navbar-ct] .btn-default.btn-fill:hover,[class*=navbar-ct] .open .dropdown-toggle.btn-fill.btn-default{border-color:#fff;opacity:1}.footer{background-attachment:fixed;line-height:20px;position:relative}.footer nav ul{font-weight:400;list-style:none;margin:0;padding:0}.footer nav ul li{display:inline-block;line-height:20px;margin:15px 3px;padding:10px 15px;text-align:center}.footer nav ul a:not(.btn){color:#4b4743;display:block;margin-bottom:3px}.footer nav ul a:not(.btn):focus,.footer nav ul a:not(.btn):hover{color:#403d39}.footer .copyright{color:#4b4743;font-size:14px;line-height:20px;margin:15px 3px;padding:10px 15px;text-align:center;white-space:nowrap}.footer .heart{color:#ff3636}.dropdown-menu{background-color:#fffcf5;border:0;border-radius:6px;box-shadow:0 2px rgba(17,16,15,.1),0 2px 10px rgba(17,16,15,.1);display:block;margin-top:10px;opacity:0;padding:0;position:absolute;visibility:hidden;z-index:9000}.open .dropdown-menu{opacity:1;visibility:visible}.dropdown-menu .divider{background-color:#f1eae0;margin:0}.dropdown-menu .dropdown-header{color:#9a9a9a;font-size:.8571em;padding:10px 15px}.select .dropdown-menu{border-radius:0 0 10px 10px;box-shadow:none;margin-top:-20px;transform:scale(1);transform-origin:50% -40px;transition:all .15s linear}.select.open .dropdown-menu{margin-top:-1px}.dropdown-menu>li>a{color:#4b4743;font-size:14px;padding:10px 15px;transition:none}.dropdown-menu>li>a img{margin-top:-3px}.dropdown-menu>li>a:focus{outline:0!important}.btn-group.select .dropdown-menu{min-width:100%}.dropdown-menu>li:first-child>a{border-top-left-radius:6px;border-top-right-radius:6px}.dropdown-menu>li:last-child>a{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.select .dropdown-menu>li:first-child>a{border-bottom:0;border-radius:0}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#2c2c2c;color:hsla(0,0%,71%,.7);opacity:1;text-decoration:none}.dropdown-menu.dropdown-info>li>a:focus,.dropdown-menu.dropdown-info>li>a:hover,.dropdown-menu.dropdown-primary>li>a:focus,.dropdown-menu.dropdown-primary>li>a:hover{background-color:#067ec1}.dropdown-menu.dropdown-success>li>a:focus,.dropdown-menu.dropdown-success>li>a:hover{background-color:#18ce0f}.dropdown-menu.dropdown-warning>li>a:focus,.dropdown-menu.dropdown-warning>li>a:hover{background-color:#ffb236}.dropdown-menu.dropdown-danger>li>a:focus,.dropdown-menu.dropdown-danger>li>a:hover{background-color:#ff3636}.btn-group.select{overflow:hidden}.btn-group.select.open{overflow:visible}.card{background-color:#fff;border:0;border-radius:.125rem;box-shadow:0 2px 2px hsla(38,16%,76%,.5);color:#2c2c2c;flex-direction:column;margin-bottom:20px;position:relative;z-index:1}.card .card-block{flex:1 1 auto;padding:1.25rem}.card a{color:#f96332}.card .image{border-radius:6px 6px 0 0;height:260px;overflow:hidden;position:relative;transform-style:preserve-3d;width:100%}.card .image img{width:100%}.card .content{padding:15px 15px 10px}.card .header{padding:0 0 10px}.card .description{color:#4b4743;font-size:1em}.card h5{font-size:1.57em;line-height:1.4em;margin-bottom:15px}.card h6{font-size:.8571em;margin:0}.card .category,.card label{font-size:14px;font-weight:400;margin-bottom:0;text-transform:capitalize}.card .category i,.card label i{font-size:1em}.card label{display:inline-block;font-size:15px;margin-bottom:5px;text-transform:capitalize;vertical-align:middle}.card .title{color:#2c2c2c;font-weight:300;margin:0}.card .avatar{border-radius:50%;height:50px;margin-right:5px;overflow:hidden;width:50px}.card .footer{line-height:30px;padding:0}.card .footer .legend{padding:5px 0}.card .footer hr{margin-bottom:5px;margin-top:5px}.card .stats{color:#a9a9a9;font-weight:300}.card .stats i{margin-right:2px;min-width:15px}.card .footer div,.card .stats i{display:inline-block}.card .author{font-size:.8571em;font-weight:600;text-transform:uppercase}.card .author i{font-size:14px}.card.card-separator:after{background-color:#ddd;content:"";height:100%;position:absolute;right:-15px;top:0;width:1px}.card .ct-chart{height:245px;margin:30px 0}.card .table tbody td:first-child,.card .table thead th:first-child{padding-left:15px}.card .table tbody td:last-child,.card .table thead th:last-child{padding-right:15px}.card .alert{border-radius:2px;position:relative}.card .alert.alert-with-icon{padding-left:65px}.card .icon-big{font-size:3em;min-height:64px}.card .numbers{font-size:2em;text-align:right}.card .numbers p{margin:0}.card ul.team-members li{padding:10px 0}.card ul.team-members li:not(:last-child){border-bottom:1px solid #f1eae0}.card .btn-primary{background-color:#067ec1;color:#fff}.card .btn-primary.active,.card .btn-primary.active:focus,.card .btn-primary.active:hover,.card .btn-primary:active,.card .btn-primary:active:focus,.card .btn-primary:active:hover,.card .btn-primary:focus,.card .btn-primary:hover,.open>.card .btn-primary.dropdown-toggle,.open>.card .btn-primary.dropdown-toggle:focus,.open>.card .btn-primary.dropdown-toggle:hover{background-color:#427c89;color:#fff}.card .btn-primary.disabled,.card .btn-primary.disabled.active,.card .btn-primary.disabled.focus,.card .btn-primary.disabled:active,.card .btn-primary.disabled:focus,.card .btn-primary.disabled:hover,.card .btn-primary:disabled,.card .btn-primary:disabled.active,.card .btn-primary:disabled.focus,.card .btn-primary:disabled:active,.card .btn-primary:disabled:focus,.card .btn-primary:disabled:hover,.card .btn-primary[disabled],.card .btn-primary[disabled].active,.card .btn-primary[disabled].focus,.card .btn-primary[disabled]:active,.card .btn-primary[disabled]:focus,.card .btn-primary[disabled]:hover,fieldset[disabled] .card .btn-primary,fieldset[disabled] .card .btn-primary.active,fieldset[disabled] .card .btn-primary.focus,fieldset[disabled] .card .btn-primary:active,fieldset[disabled] .card .btn-primary:focus,fieldset[disabled] .card .btn-primary:hover{background-color:#067ec1;border-color:#067ec1}.card .btn-primary.focus,.card .btn-primary:focus{box-shadow:none}.card .btn-primary.btn-simple{border-color:#067ec1;color:#067ec1}.card .btn-primary.btn-simple:active,.card .btn-primary.btn-simple:focus,.card .btn-primary.btn-simple:hover{background-color:transparent;border-color:#427c89;color:#427c89}.card .btn-primary.btn-link{color:#067ec1}.card .btn-primary.btn-link:active,.card .btn-primary.btn-link:focus,.card .btn-primary.btn-link:hover{background-color:transparent;color:#427c89;text-decoration:none}.card .btn-success{background-color:#18ce0f;color:#fff}.card .btn-success.active,.card .btn-success.active:focus,.card .btn-success.active:hover,.card .btn-success:active,.card .btn-success:active:focus,.card .btn-success:active:hover,.card .btn-success:focus,.card .btn-success:hover,.open>.card .btn-success.dropdown-toggle,.open>.card .btn-success.dropdown-toggle:focus,.open>.card .btn-success.dropdown-toggle:hover{background-color:#15b60d;color:#fff}.card .btn-success.disabled,.card .btn-success.disabled.active,.card .btn-success.disabled.focus,.card .btn-success.disabled:active,.card .btn-success.disabled:focus,.card .btn-success.disabled:hover,.card .btn-success:disabled,.card .btn-success:disabled.active,.card .btn-success:disabled.focus,.card .btn-success:disabled:active,.card .btn-success:disabled:focus,.card .btn-success:disabled:hover,.card .btn-success[disabled],.card .btn-success[disabled].active,.card .btn-success[disabled].focus,.card .btn-success[disabled]:active,.card .btn-success[disabled]:focus,.card .btn-success[disabled]:hover,fieldset[disabled] .card .btn-success,fieldset[disabled] .card .btn-success.active,fieldset[disabled] .card .btn-success.focus,fieldset[disabled] .card .btn-success:active,fieldset[disabled] .card .btn-success:focus,fieldset[disabled] .card .btn-success:hover{background-color:#18ce0f;border-color:#18ce0f}.card .btn-success.focus,.card .btn-success:focus{box-shadow:none}.card .btn-success.btn-simple{border-color:#18ce0f;color:#18ce0f}.card .btn-success.btn-simple:active,.card .btn-success.btn-simple:focus,.card .btn-success.btn-simple:hover{background-color:transparent;border-color:#15b60d;color:#15b60d}.card .btn-success.btn-link{color:#18ce0f}.card .btn-success.btn-link:active,.card .btn-success.btn-link:focus,.card .btn-success.btn-link:hover{background-color:transparent;color:#15b60d;text-decoration:none}.card .btn-info{background-color:#067ec1;color:#fff}.card .btn-info.active,.card .btn-info.active:focus,.card .btn-info.active:hover,.card .btn-info:active,.card .btn-info:active:focus,.card .btn-info:active:hover,.card .btn-info:focus,.card .btn-info:hover,.open>.card .btn-info.dropdown-toggle,.open>.card .btn-info.dropdown-toggle:focus,.open>.card .btn-info.dropdown-toggle:hover{background-color:#0688d0;color:#fff}.card .btn-info.disabled,.card .btn-info.disabled.active,.card .btn-info.disabled.focus,.card .btn-info.disabled:active,.card .btn-info.disabled:focus,.card .btn-info.disabled:hover,.card .btn-info:disabled,.card .btn-info:disabled.active,.card .btn-info:disabled.focus,.card .btn-info:disabled:active,.card .btn-info:disabled:focus,.card .btn-info:disabled:hover,.card .btn-info[disabled],.card .btn-info[disabled].active,.card .btn-info[disabled].focus,.card .btn-info[disabled]:active,.card .btn-info[disabled]:focus,.card .btn-info[disabled]:hover,fieldset[disabled] .card .btn-info,fieldset[disabled] .card .btn-info.active,fieldset[disabled] .card .btn-info.focus,fieldset[disabled] .card .btn-info:active,fieldset[disabled] .card .btn-info:focus,fieldset[disabled] .card .btn-info:hover{background-color:#067ec1;border-color:#067ec1}.card .btn-info.focus,.card .btn-info:focus{box-shadow:none}.card .btn-info.btn-simple{border-color:#067ec1;color:#067ec1}.card .btn-info.btn-simple:active,.card .btn-info.btn-simple:focus,.card .btn-info.btn-simple:hover{background-color:transparent;border-color:#0688d0;color:#0688d0}.card .btn-info.btn-link{color:#067ec1}.card .btn-info.btn-link:active,.card .btn-info.btn-link:focus,.card .btn-info.btn-link:hover{background-color:transparent;color:#0688d0;text-decoration:none}.card .btn-warning{background-color:#ffb236;color:#fff}.card .btn-warning.active,.card .btn-warning.active:focus,.card .btn-warning.active:hover,.card .btn-warning:active,.card .btn-warning:active:focus,.card .btn-warning:active:hover,.card .btn-warning:focus,.card .btn-warning:hover,.open>.card .btn-warning.dropdown-toggle,.open>.card .btn-warning.dropdown-toggle:focus,.open>.card .btn-warning.dropdown-toggle:hover{background-color:#ffa81d;color:#fff}.card .btn-warning.disabled,.card .btn-warning.disabled.active,.card .btn-warning.disabled.focus,.card .btn-warning.disabled:active,.card .btn-warning.disabled:focus,.card .btn-warning.disabled:hover,.card .btn-warning:disabled,.card .btn-warning:disabled.active,.card .btn-warning:disabled.focus,.card .btn-warning:disabled:active,.card .btn-warning:disabled:focus,.card .btn-warning:disabled:hover,.card .btn-warning[disabled],.card .btn-warning[disabled].active,.card .btn-warning[disabled].focus,.card .btn-warning[disabled]:active,.card .btn-warning[disabled]:focus,.card .btn-warning[disabled]:hover,fieldset[disabled] .card .btn-warning,fieldset[disabled] .card .btn-warning.active,fieldset[disabled] .card .btn-warning.focus,fieldset[disabled] .card .btn-warning:active,fieldset[disabled] .card .btn-warning:focus,fieldset[disabled] .card .btn-warning:hover{background-color:#ffb236;border-color:#ffb236}.card .btn-warning.focus,.card .btn-warning:focus{box-shadow:none}.card .btn-warning.btn-simple{border-color:#ffb236;color:#ffb236}.card .btn-warning.btn-simple:active,.card .btn-warning.btn-simple:focus,.card .btn-warning.btn-simple:hover{background-color:transparent;border-color:#ffa81d;color:#ffa81d}.card .btn-warning.btn-link{color:#ffb236}.card .btn-warning.btn-link:active,.card .btn-warning.btn-link:focus,.card .btn-warning.btn-link:hover{background-color:transparent;color:#ffa81d;text-decoration:none}.card .btn-danger{background-color:#ff3636;color:#fff}.card .btn-danger.active,.card .btn-danger.active:focus,.card .btn-danger.active:hover,.card .btn-danger:active,.card .btn-danger:active:focus,.card .btn-danger:active:hover,.card .btn-danger:focus,.card .btn-danger:hover,.open>.card .btn-danger.dropdown-toggle,.open>.card .btn-danger.dropdown-toggle:focus,.open>.card .btn-danger.dropdown-toggle:hover{background-color:#ff1d1d;color:#fff}.card .btn-danger.disabled,.card .btn-danger.disabled.active,.card .btn-danger.disabled.focus,.card .btn-danger.disabled:active,.card .btn-danger.disabled:focus,.card .btn-danger.disabled:hover,.card .btn-danger:disabled,.card .btn-danger:disabled.active,.card .btn-danger:disabled.focus,.card .btn-danger:disabled:active,.card .btn-danger:disabled:focus,.card .btn-danger:disabled:hover,.card .btn-danger[disabled],.card .btn-danger[disabled].active,.card .btn-danger[disabled].focus,.card .btn-danger[disabled]:active,.card .btn-danger[disabled]:focus,.card .btn-danger[disabled]:hover,fieldset[disabled] .card .btn-danger,fieldset[disabled] .card .btn-danger.active,fieldset[disabled] .card .btn-danger.focus,fieldset[disabled] .card .btn-danger:active,fieldset[disabled] .card .btn-danger:focus,fieldset[disabled] .card .btn-danger:hover{background-color:#ff3636;border-color:#ff3636}.card .btn-danger.focus,.card .btn-danger:focus{box-shadow:none}.card .btn-danger.btn-simple{border-color:#ff3636;color:#ff3636}.card .btn-danger.btn-simple:active,.card .btn-danger.btn-simple:focus,.card .btn-danger.btn-simple:hover{background-color:transparent;border-color:#ff1d1d;color:#ff1d1d}.card .btn-danger.btn-link{color:#ff3636}.card .btn-danger.btn-link:active,.card .btn-danger.btn-link:focus,.card .btn-danger.btn-link:hover{background-color:transparent;color:#ff1d1d;text-decoration:none}.card .btn-neutral,.card .btn-neutral.active,.card .btn-neutral.active:focus,.card .btn-neutral.active:hover,.card .btn-neutral:active,.card .btn-neutral:active:focus,.card .btn-neutral:active:hover,.card .btn-neutral:focus,.card .btn-neutral:hover,.open>.card .btn-neutral.dropdown-toggle,.open>.card .btn-neutral.dropdown-toggle:focus,.open>.card .btn-neutral.dropdown-toggle:hover{background-color:#fff;color:#fff}.card .btn-neutral.disabled,.card .btn-neutral.disabled.active,.card .btn-neutral.disabled.focus,.card .btn-neutral.disabled:active,.card .btn-neutral.disabled:focus,.card .btn-neutral.disabled:hover,.card .btn-neutral:disabled,.card .btn-neutral:disabled.active,.card .btn-neutral:disabled.focus,.card .btn-neutral:disabled:active,.card .btn-neutral:disabled:focus,.card .btn-neutral:disabled:hover,.card .btn-neutral[disabled],.card .btn-neutral[disabled].active,.card .btn-neutral[disabled].focus,.card .btn-neutral[disabled]:active,.card .btn-neutral[disabled]:focus,.card .btn-neutral[disabled]:hover,fieldset[disabled] .card .btn-neutral,fieldset[disabled] .card .btn-neutral.active,fieldset[disabled] .card .btn-neutral.focus,fieldset[disabled] .card .btn-neutral:active,fieldset[disabled] .card .btn-neutral:focus,fieldset[disabled] .card .btn-neutral:hover{background-color:#fff;border-color:#fff}.card .btn-neutral.focus,.card .btn-neutral:focus{box-shadow:none}.card .btn-neutral.btn-danger{color:#ff3636}.card .btn-neutral.btn-danger:active,.card .btn-neutral.btn-danger:focus,.card .btn-neutral.btn-danger:hover{color:#ff1d1d}.card .btn-neutral.btn-info{color:#fff}.card .btn-neutral.btn-info:active,.card .btn-neutral.btn-info:focus,.card .btn-neutral.btn-info:hover{color:#0688d0}.card .btn-neutral.btn-warning{color:#fff}.card .btn-neutral.btn-warning:active,.card .btn-neutral.btn-warning:focus,.card .btn-neutral.btn-warning:hover{color:#ffa81d}.card .btn-neutral.btn-success{color:#fff}.card .btn-neutral.btn-success:active,.card .btn-neutral.btn-success:focus,.card .btn-neutral.btn-success:hover{color:#15b60d}.card .btn-neutral.btn-default{color:#fff}.card .btn-neutral.btn-default:active,.card .btn-neutral.btn-default:focus,.card .btn-neutral.btn-default:hover{color:#403d39}.card .btn-neutral.active,.card .btn-neutral.active:focus,.card .btn-neutral.active:hover,.card .btn-neutral:active:focus,.card .btn-neutral:active:hover,.open>.card .btn-neutral.dropdown-toggle,.open>.card .btn-neutral.dropdown-toggle:focus,.open>.card .btn-neutral.dropdown-toggle:hover{background-color:#fff;color:#067ec1}.card .btn-neutral:active,.card .btn-neutral:focus,.card .btn-neutral:hover{color:#427c89}.card .btn-neutral.btn-simple{border-color:#fff;color:#fff}.card .btn-neutral.btn-simple:active,.card .btn-neutral.btn-simple:focus,.card .btn-neutral.btn-simple:hover{background-color:transparent;border-color:#fff;color:#fff}.card .btn-neutral.btn-link{color:#fff}.card .btn-neutral.btn-link:active,.card .btn-neutral.btn-link:focus,.card .btn-neutral.btn-link:hover{background-color:transparent;color:#fff;text-decoration:none}.card-user .image{border-radius:8px 8px 0 0;height:150px;overflow:hidden;position:relative}.card-user .image img{width:100%}.card-user .image-plain{height:0;margin-top:110px}.card-user .author{margin-top:-65px;text-align:center;text-transform:none}.card-user .author .title{color:#403d39}.card-user .author .title small{color:#ccc5b9}.card-user .avatar{border-radius:50%;height:100px;margin-bottom:15px;position:relative;width:100px}.card-user .avatar.border-white{border:5px solid #fff}.card-user .avatar.border-gray{border:5px solid #ccc5b9}.card-user .title{font-weight:600;line-height:24px}.card-user .description{margin-top:10px}.card-user .content{min-height:200px}.card-user.card-plain .avatar{height:190px;width:190px}.card-map .map{height:500px;padding-top:20px}.card-map .map>div{height:100%}.card-price .footer,.card-user .footer{padding:5px 15px 10px}.card-price hr,.card-user hr{margin:5px 15px}.card-plain{background-color:transparent;border-radius:0;box-shadow:none}.card-plain .image{border-radius:4px}.ct-label{fill:rgba(0,0,0,.4);color:rgba(0,0,0,.4);font-size:.9em;line-height:1}.ct-chart-bar .ct-label,.ct-chart-line .ct-label{display:block;display:flex}.ct-label.ct-horizontal.ct-start{text-anchor:start;align-items:flex-end;justify-content:flex-start;text-align:left}.ct-label.ct-horizontal.ct-end{text-anchor:start;align-items:flex-start;justify-content:flex-start;text-align:left}.ct-label.ct-vertical.ct-start{text-anchor:end;align-items:flex-end;justify-content:flex-end;text-align:right}.ct-label.ct-vertical.ct-end{text-anchor:start;align-items:flex-end;justify-content:flex-start;text-align:left}.ct-chart-bar .ct-label.ct-horizontal.ct-start{text-anchor:start;align-items:flex-end;justify-content:center;text-align:center}.ct-chart-bar .ct-label.ct-horizontal.ct-end{text-anchor:start;align-items:flex-start;justify-content:center;text-align:center}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start{text-anchor:start;align-items:flex-end;justify-content:flex-start;text-align:left}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end{text-anchor:start;align-items:flex-start;justify-content:flex-start;text-align:left}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start{text-anchor:end;align-items:center;justify-content:flex-end;text-align:right}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end{text-anchor:end;align-items:center;justify-content:flex-start;text-align:left}.ct-grid{stroke:rgba(0,0,0,.2);stroke-width:1px;stroke-dasharray:2px}.ct-point{stroke-width:10px;stroke-linecap:round}.ct-line{fill:none;stroke-width:4px}.ct-area{stroke:none;fill-opacity:.7}.ct-bar{fill:none;stroke-width:10px}.ct-slice-donut{fill:none;stroke-width:60px}.ct-series-a .ct-bar,.ct-series-a .ct-line,.ct-series-a .ct-point,.ct-series-a .ct-slice-donut{stroke:#067ec1}.ct-series-a .ct-area,.ct-series-a .ct-slice-pie{fill:#067ec1}.ct-series-b .ct-bar,.ct-series-b .ct-line,.ct-series-b .ct-point,.ct-series-b .ct-slice-donut{stroke:#ffb236}.ct-series-b .ct-area,.ct-series-b .ct-slice-pie{fill:#ffb236}.ct-series-c .ct-bar,.ct-series-c .ct-line,.ct-series-c .ct-point,.ct-series-c .ct-slice-donut{stroke:#ff3636}.ct-series-c .ct-area,.ct-series-c .ct-slice-pie{fill:#ff3636}.ct-series-d .ct-bar,.ct-series-d .ct-line,.ct-series-d .ct-point,.ct-series-d .ct-slice-donut{stroke:#18ce0f}.ct-series-d .ct-area,.ct-series-d .ct-slice-pie{fill:#18ce0f}.ct-series-e .ct-bar,.ct-series-e .ct-line,.ct-series-e .ct-point,.ct-series-e .ct-slice-donut{stroke:#067ec1}.ct-series-e .ct-area,.ct-series-e .ct-slice-pie{fill:#067ec1}.ct-series-f .ct-bar,.ct-series-f .ct-line,.ct-series-f .ct-point,.ct-series-f .ct-slice-donut{stroke:rgba(6,126,193,.8)}.ct-series-f .ct-area,.ct-series-f .ct-slice-pie{fill:rgba(6,126,193,.8)}.ct-series-g .ct-bar,.ct-series-g .ct-line,.ct-series-g .ct-point,.ct-series-g .ct-slice-donut{stroke:rgba(24,206,15,.8)}.ct-series-g .ct-area,.ct-series-g .ct-slice-pie{fill:rgba(24,206,15,.8)}.ct-series-h .ct-bar,.ct-series-h .ct-line,.ct-series-h .ct-point,.ct-series-h .ct-slice-donut{stroke:rgba(255,178,54,.8)}.ct-series-h .ct-area,.ct-series-h .ct-slice-pie{fill:rgba(255,178,54,.8)}.ct-series-i .ct-bar,.ct-series-i .ct-line,.ct-series-i .ct-point,.ct-series-i .ct-slice-donut{stroke:rgba(255,54,54,.8)}.ct-series-i .ct-area,.ct-series-i .ct-slice-pie{fill:rgba(255,54,54,.8)}.ct-series-j .ct-bar,.ct-series-j .ct-line,.ct-series-j .ct-point,.ct-series-j .ct-slice-donut{stroke:rgba(6,126,193,.8)}.ct-series-j .ct-area,.ct-series-j .ct-slice-pie{fill:rgba(6,126,193,.8)}.ct-series-k .ct-bar,.ct-series-k .ct-line,.ct-series-k .ct-point,.ct-series-k .ct-slice-donut{stroke:rgba(6,126,193,.6)}.ct-series-k .ct-area,.ct-series-k .ct-slice-pie{fill:rgba(6,126,193,.6)}.ct-series-l .ct-bar,.ct-series-l .ct-line,.ct-series-l .ct-point,.ct-series-l .ct-slice-donut{stroke:rgba(24,206,15,.6)}.ct-series-l .ct-area,.ct-series-l .ct-slice-pie{fill:rgba(24,206,15,.6)}.ct-series-m .ct-bar,.ct-series-m .ct-line,.ct-series-m .ct-point,.ct-series-m .ct-slice-donut{stroke:rgba(255,178,54,.6)}.ct-series-m .ct-area,.ct-series-m .ct-slice-pie{fill:rgba(255,178,54,.6)}.ct-series-n .ct-bar,.ct-series-n .ct-line,.ct-series-n .ct-point,.ct-series-n .ct-slice-donut{stroke:rgba(255,54,54,.6)}.ct-series-n .ct-area,.ct-series-n .ct-slice-pie{fill:rgba(255,54,54,.6)}.ct-series-o .ct-bar,.ct-series-o .ct-line,.ct-series-o .ct-point,.ct-series-o .ct-slice-donut{stroke:rgba(6,126,193,.6)}.ct-series-o .ct-area,.ct-series-o .ct-slice-pie{fill:rgba(6,126,193,.6)}.ct-square{display:block;position:relative;width:100%}.ct-square:before{content:"";display:block;float:left;height:0;padding-bottom:100%;width:0}.ct-square:after{clear:both;content:"";display:table}.ct-square>svg{display:block;left:0;position:absolute;top:0}.ct-minor-second{display:block;position:relative;width:100%}.ct-minor-second:before{content:"";display:block;float:left;height:0;padding-bottom:93.75%;width:0}.ct-minor-second:after{clear:both;content:"";display:table}.ct-minor-second>svg{display:block;left:0;position:absolute;top:0}.ct-major-second{display:block;position:relative;width:100%}.ct-major-second:before{content:"";display:block;float:left;height:0;padding-bottom:88.8888888889%;width:0}.ct-major-second:after{clear:both;content:"";display:table}.ct-major-second>svg{display:block;left:0;position:absolute;top:0}.ct-minor-third{display:block;position:relative;width:100%}.ct-minor-third:before{content:"";display:block;float:left;height:0;padding-bottom:83.3333333333%;width:0}.ct-minor-third:after{clear:both;content:"";display:table}.ct-minor-third>svg{display:block;left:0;position:absolute;top:0}.ct-major-third{display:block;position:relative;width:100%}.ct-major-third:before{content:"";display:block;float:left;height:0;padding-bottom:80%;width:0}.ct-major-third:after{clear:both;content:"";display:table}.ct-major-third>svg{display:block;left:0;position:absolute;top:0}.ct-perfect-fourth{display:block;position:relative;width:100%}.ct-perfect-fourth:before{content:"";display:block;float:left;height:0;padding-bottom:75%;width:0}.ct-perfect-fourth:after{clear:both;content:"";display:table}.ct-perfect-fourth>svg{display:block;left:0;position:absolute;top:0}.ct-perfect-fifth{display:block;position:relative;width:100%}.ct-perfect-fifth:before{content:"";display:block;float:left;height:0;padding-bottom:66.6666666667%;width:0}.ct-perfect-fifth:after{clear:both;content:"";display:table}.ct-perfect-fifth>svg{display:block;left:0;position:absolute;top:0}.ct-minor-sixth{display:block;position:relative;width:100%}.ct-minor-sixth:before{content:"";display:block;float:left;height:0;padding-bottom:62.5%;width:0}.ct-minor-sixth:after{clear:both;content:"";display:table}.ct-minor-sixth>svg{display:block;left:0;position:absolute;top:0}.ct-golden-section{display:block;position:relative;width:100%}.ct-golden-section:before{content:"";display:block;float:left;height:0;padding-bottom:61.804697157%;width:0}.ct-golden-section:after{clear:both;content:"";display:table}.ct-golden-section>svg{display:block;left:0;position:absolute;top:0}.ct-major-sixth{display:block;position:relative;width:100%}.ct-major-sixth:before{content:"";display:block;float:left;height:0;padding-bottom:60%;width:0}.ct-major-sixth:after{clear:both;content:"";display:table}.ct-major-sixth>svg{display:block;left:0;position:absolute;top:0}.ct-minor-seventh{display:block;position:relative;width:100%}.ct-minor-seventh:before{content:"";display:block;float:left;height:0;padding-bottom:56.25%;width:0}.ct-minor-seventh:after{clear:both;content:"";display:table}.ct-minor-seventh>svg{display:block;left:0;position:absolute;top:0}.ct-major-seventh{display:block;position:relative;width:100%}.ct-major-seventh:before{content:"";display:block;float:left;height:0;padding-bottom:53.3333333333%;width:0}.ct-major-seventh:after{clear:both;content:"";display:table}.ct-major-seventh>svg{display:block;left:0;position:absolute;top:0}.ct-octave{display:block;position:relative;width:100%}.ct-octave:before{content:"";display:block;float:left;height:0;padding-bottom:50%;width:0}.ct-octave:after{clear:both;content:"";display:table}.ct-octave>svg{display:block;left:0;position:absolute;top:0}.ct-major-tenth{display:block;position:relative;width:100%}.ct-major-tenth:before{content:"";display:block;float:left;height:0;padding-bottom:40%;width:0}.ct-major-tenth:after{clear:both;content:"";display:table}.ct-major-tenth>svg{display:block;left:0;position:absolute;top:0}.ct-major-eleventh{display:block;position:relative;width:100%}.ct-major-eleventh:before{content:"";display:block;float:left;height:0;padding-bottom:37.5%;width:0}.ct-major-eleventh:after{clear:both;content:"";display:table}.ct-major-eleventh>svg{display:block;left:0;position:absolute;top:0}.ct-major-twelfth{display:block;position:relative;width:100%}.ct-major-twelfth:before{content:"";display:block;float:left;height:0;padding-bottom:33.3333333333%;width:0}.ct-major-twelfth:after{clear:both;content:"";display:table}.ct-major-twelfth>svg{display:block;left:0;position:absolute;top:0}.ct-double-octave{display:block;position:relative;width:100%}.ct-double-octave:before{content:"";display:block;float:left;height:0;padding-bottom:25%;width:0}.ct-double-octave:after{clear:both;content:"";display:table}.ct-double-octave>svg{display:block;left:0;position:absolute;top:0}@media (min-width:992px){.navbar{min-height:75px}.navbar-form{margin-bottom:21px;margin-top:21px;padding-left:5px;padding-right:5px}.navbar-search-form{display:none}.dropdown .dropdown-menu,.navbar-nav>li>.dropdown-menu{transform:translate3d(0,-40px,0);transition:all .3s cubic-bezier(.215,.61,.355,1) 0s,opacity .3s ease 0s,height 0s linear .35s}.dropdown.open .dropdown-menu,.navbar-nav>li.open>.dropdown-menu{transform:translateZ(0)}.navbar-nav>li>.dropdown-menu:before{border-bottom:11px solid #f1eae0;top:-11px}.navbar-nav>li>.dropdown-menu:after,.navbar-nav>li>.dropdown-menu:before{border-left:11px solid transparent;border-right:11px solid transparent;content:"";display:inline-block;position:absolute;right:12px}.navbar-nav>li>.dropdown-menu:after{border-bottom:11px solid #fffcf5;top:-10px}.navbar-nav.navbar-left>li>.dropdown-menu:after,.navbar-nav.navbar-left>li>.dropdown-menu:before{left:12px;right:auto}.navbar .navbar-header{margin-left:10px}.footer:not(.footer-big) nav>ul li:first-child{margin-left:0}body>.navbar-collapse.collapse{display:none!important}.card form [class*=col-]{padding:6px}.card form [class*=col-]:first-child{padding-left:15px}.card form [class*=col-]:last-child{padding-right:15px}}@media (max-width:991px){.sidebar{display:none}.main-panel{width:100%}.navbar-transparent{background-color:rgba(0,0,0,.45);padding-top:15px}body{position:relative}h6{font-size:1em}.wrapper{background-color:#fff;transform:translateZ(0)}.navbar .container,.wrapper{left:0;transition:all .33s cubic-bezier(.685,.0473,.346,1)}.navbar .container{position:relative;width:100%}.navbar .navbar-collapse.collapse,.navbar .navbar-collapse.collapse.in,.navbar .navbar-collapse.collapsing{display:none!important}.navbar-nav>li{display:block;float:none;position:relative}.off-canvas-sidebar{background-color:#999;border-top:none;display:block;height:100%;overflow-y:visible;padding-left:0;padding-right:0;position:fixed;right:0;text-align:left;top:0;transform:translate3d(230px,0,0);transition:all .33s cubic-bezier(.685,.0473,.346,1);visibility:visible;width:230px;z-index:1032}.off-canvas-sidebar .sidebar-wrapper{box-shadow:inset 1px 0 0 0 #ddd;height:100%;overflow-y:scroll;position:relative;z-index:3}.off-canvas-sidebar .nav{margin-top:0;padding:10px 15px 0}.off-canvas-sidebar .nav>li>a{color:#2c2c2c;font-size:.8571em;font-weight:600;line-height:1.4em;margin:0;padding:10px 0;text-transform:uppercase}.off-canvas-sidebar .nav>li>a.active,.off-canvas-sidebar .nav>li>a:hover{color:#403d39}.off-canvas-sidebar .nav>li>a .caret,.off-canvas-sidebar .nav>li>a .notification,.off-canvas-sidebar .nav>li>a p{display:inline-block}.off-canvas-sidebar .nav>li>a .caret{float:right;position:relative;top:12px}.off-canvas-sidebar .nav>li>a i{font-size:18px;line-height:26px;margin-right:10px}.off-canvas-sidebar .nav>li.active>a:before{border:12px solid transparent;border-left:12px solid #ddd;border-right:none;left:0;margin-left:-15px;right:auto;top:10px}.off-canvas-sidebar .nav>li.active>a:after{border:12px solid transparent;border-left:12px solid #ebeff2;border-right:none;left:-1px;margin-left:-15px;right:auto;top:10px}.off-canvas-sidebar:after{background-color:#ebeff2;background-image:linear-gradient(180deg,transparent 0,hsla(0,0%,44%,0) 60%,hsla(0,0%,73%,.15))}.off-canvas-sidebar.has-image:after,.off-canvas-sidebar:after{content:"";display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.off-canvas-sidebar.has-image:after{background-color:hsla(0,0%,7%,.8)}.off-canvas-sidebar .logo{padding-bottom:11px;padding-top:11px;position:relative;z-index:4}.off-canvas-sidebar .divider{height:1px;margin:10px 0}.nav-open .navbar-collapse{transform:translateZ(0)}.nav-open .navbar .container{left:-230px}.nav-open .wrapper{left:0;transform:translate3d(-230px,0,0)}.navbar-toggle .icon-bar{background:#fff;border-radius:1px;display:block;height:2px;margin:0 auto;position:relative;width:24px}.navbar-header .navbar-toggle{height:40px;margin:10px 15px 10px 0;width:40px}.bar1,.bar2,.bar3{outline:1px solid transparent}.bar1{-webkit-animation:topbar-back .5s linear 0s;animation:topbar-back .5s 0s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;top:0}.bar2{opacity:1}.bar3{-webkit-animation:bottombar-back .5s linear 0s;animation:bottombar-back .5s 0s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;bottom:0}.toggled .bar1{-webkit-animation:topbar-x .5s linear 0s;animation:topbar-x .5s 0s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;top:6px}.toggled .bar2{opacity:0}.toggled .bar3{-webkit-animation:bottombar-x .5s linear 0s;animation:bottombar-x .5s 0s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;bottom:6px}@keyframes topbar-x{0%{top:0;transform:rotate(0)}45%{top:6px;transform:rotate(145deg)}75%{transform:rotate(130deg)}to{transform:rotate(135deg)}}@-webkit-keyframes topbar-x{0%{top:0;-webkit-transform:rotate(0)}45%{top:6px;-webkit-transform:rotate(145deg)}75%{-webkit-transform:rotate(130deg)}to{-webkit-transform:rotate(135deg)}}@keyframes topbar-back{0%{top:6px;transform:rotate(135deg)}45%{transform:rotate(-10deg)}75%{transform:rotate(5deg)}to{top:0;transform:rotate(0)}}@-webkit-keyframes topbar-back{0%{top:6px;-webkit-transform:rotate(135deg)}45%{-webkit-transform:rotate(-10deg)}75%{-webkit-transform:rotate(5deg)}to{top:0;-webkit-transform:rotate(0)}}@keyframes bottombar-x{0%{bottom:0;transform:rotate(0)}45%{bottom:6px;transform:rotate(-145deg)}75%{transform:rotate(-130deg)}to{transform:rotate(-135deg)}}@-webkit-keyframes bottombar-x{0%{bottom:0;-webkit-transform:rotate(0)}45%{bottom:6px;-webkit-transform:rotate(-145deg)}75%{-webkit-transform:rotate(-130deg)}to{-webkit-transform:rotate(-135deg)}}@keyframes bottombar-back{0%{bottom:6px;transform:rotate(-135deg)}45%{transform:rotate(10deg)}75%{transform:rotate(-5deg)}to{bottom:0;transform:rotate(0)}}@-webkit-keyframes bottombar-back{0%{bottom:6px;-webkit-transform:rotate(-135deg)}45%{-webkit-transform:rotate(10deg)}75%{-webkit-transform:rotate(-5deg)}to{bottom:0;-webkit-transform:rotate(0)}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dropdown-menu .divider{background-color:hsla(0,0%,90%,.15)}.navbar-nav{margin:1px 0}.dropdown-menu{display:none}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:transparent}.navbar-fixed-top{-webkit-backface-visibility:hidden}#bodyClick{content:"";height:100%;left:auto;opacity:0;overflow-x:hidden;position:fixed;right:230px;top:0;width:100%;z-index:9999}.form-control+.form-control-feedback{margin-top:-8px}.navbar-toggle:focus,.navbar-toggle:hover{background-color:transparent!important}.btn.dropdown-toggle{margin-bottom:0}.media-post .author{display:block;float:none!important;margin:0 auto 10px;width:20%}.media-post .media-body{width:100%}.navbar-collapse.collapse{height:100%!important}.navbar-collapse.collapse.in{display:block}.navbar-header .collapse,.navbar-toggle{display:block!important}.navbar-header{float:none}.navbar-nav .open .dropdown-menu{background-color:transparent;border:0;box-shadow:none;float:none;margin-top:0;position:static;width:auto}.main-panel>.content{padding-left:0;padding-right:0}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:transparent}.footer .copyright{padding:0 15px;width:100%}}@media (min-width:992px){.table-full-width{margin-left:-15px;margin-right:-15px}.table-responsive{overflow:visible}}@media (max-width:991px){.table-responsive{-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch;border:1px solid #ddd;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;width:100%}}.form-container{border:0;border-radius:2px;display:inline-block;font-weight:700;overflow:hidden;position:relative;width:100%}.form-container h6{background-color:hsla(0,0%,87%,.3);font-size:15px;padding:7px}.form-container .form-container-body{padding:8px}@font-face{font-family:Pe-icon-7-stroke;font-style:normal;font-weight:400;src:url(../../fonts/Pe-icon-7-stroke.eot?d7yf1v);src:url(../../fonts/Pe-icon-7-stroke.eot?#iefixd7yf1v) format("embedded-opentype"),url(../../fonts/Pe-icon-7-stroke.woff?d7yf1v) format("woff"),url(../../fonts/Pe-icon-7-stroke.ttf?d7yf1v) format("truetype"),url(../../fonts/Pe-icon-7-stroke.svg?d7yf1v#Pe-icon-7-stroke) format("svg")}[class*=" pe-7s-"],[class^=pe-7s-]{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:Pe-icon-7-stroke;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none}/*! Modified from font-awesome helper CSS classes - PIXEDEN + */.ct-azure,.ct-blue{stroke:#067ec1!important}.ct-green{stroke:#18ce0f!important}.ct-orange{stroke:#ffb236!important}.ct-red{stroke:#ff3636!important}.brand,.h1,.h2,.h3,.h4,.h5,.h6,.navbar,.td-name,a,h1,h2,h3,h4,h5,h6,p,td{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,Helvetica Neue,Arial,sans-serif}.h1,.h2,.h3,.h4,h1,h2,h3,h4{font-weight:400;margin:30px 0 15px}.h1,h1{font-size:3.2em}.h2,h2{font-size:2.6em}.h3,h3{font-size:1.825em;line-height:1.4;margin:20px 0 10px}.h3,.h4,h3,h4{font-weight:300}.h4,h4{font-size:1.5em;line-height:1.2em}.h5,h5{font-size:1.25em;line-height:1.4em;margin-bottom:15px}.h5,.h6,h5,h6{font-weight:300}.h6,h6{font-size:.9em;text-transform:uppercase}p{font-size:1em;line-height:1.4em}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{color:#9a9a9a;font-weight:300;line-height:1.4em}h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:60%}.title-uppercase{text-transform:uppercase}blockquote{font-style:italic}blockquote small{font-style:normal}.text-muted{color:#ddd}.text-primary,.text-primary:hover{color:#427c89}.text-info,.text-info:hover{color:#0688d0}.text-success,.text-success:hover{color:#15b60d}.text-warning,.text-warning:hover{color:#ffa81d}.text-danger,.text-danger:hover{color:#ff1d1d}.glyphicon{line-height:1}strong{color:#403d39}.icon-info,.icon-primary{color:#067ec1}.icon-success{color:#18ce0f}.icon-warning{color:#ffb236}.icon-danger{color:#ff3636}.chart-legend .text-info,.chart-legend .text-info:hover,.chart-legend .text-primary,.chart-legend .text-primary:hover{color:#067ec1}.chart-legend .text-success,.chart-legend .text-success:hover{color:#18ce0f}.chart-legend .text-warning,.chart-legend .text-warning:hover{color:#ffb236}.chart-legend .text-danger,.chart-legend .text-danger:hover{color:#ff3636}.card-description,.description,.footer-big p{color:#9a9a9a;font-weight:300}body{color:#4b4743;font-family:Muli,Arial,sans-serif;font-size:14px}body .wrapper{min-height:100vh;position:relative}a{color:#067ec1}a:focus,a:hover{color:#0688d0;text-decoration:none}a:active,a:focus,button::-moz-focus-inner,input::-moz-focus-inner,input[type=file]>input[type=button]::-moz-focus-inner,select::-moz-focus-inner{outline:0!important}.navbar-toggle,.ui-slider-handle:focus,button:focus,input:focus{box-shadow:inset 0 -2px 0 #2196f3;outline:0!important}.form-control,.input-group-addon,.navbar,.navbar .alert,.tagsinput{transition:all .3s linear}.sidebar .nav a,.table>tbody>tr .td-actions .btn{transition:all .15s ease-in}.btn{transition:all .1s ease-in}.fa{text-align:center;width:21px}.fa-base{font-size:1.25em!important}.margin-top{margin-top:50px}hr{border-color:#f1eae0}.wrapper{height:100vh;position:relative;top:0}.sidebar{background-position:50%;background-size:cover;bottom:0;color:#2c2c2c;left:0;position:absolute;top:0;z-index:1}.sidebar .sidebar-wrapper{box-shadow:inset -1px 0 0 0 #ddd;max-height:none;min-height:100%;overflow:hidden;position:relative;width:260px;z-index:4}.sidebar .sidebar-background{background-position:50%;background-size:cover;display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.off-canvas-sidebar,.sidebar{display:block;font-weight:200;width:260px}.off-canvas-sidebar .logo,.sidebar .logo{margin:0 20px;padding:18px 0}.off-canvas-sidebar .logo p,.sidebar .logo p{float:left;font-size:20px;line-height:20px;margin:10px}.off-canvas-sidebar .logo .simple-text,.sidebar .logo .simple-text{display:block;font-size:1em;font-weight:400;line-height:30px;padding:4px 0;text-align:center;text-transform:uppercase}.off-canvas-sidebar .nav,.sidebar .nav{margin-top:20px}.off-canvas-sidebar .nav li>a,.sidebar .nav li>a{opacity:.7;padding-left:25px;padding-right:25px}.off-canvas-sidebar .nav li:hover>a,.sidebar .nav li:hover>a{opacity:1}.off-canvas-sidebar .nav li.active>a,.sidebar .nav li.active>a{color:#067ec1;opacity:1}.off-canvas-sidebar .nav li.active>a:before,.sidebar .nav li.active>a:before{border-bottom:17px solid transparent;border-right:17px solid #ddd;border-top:17px solid transparent;content:"";display:inline-block;position:absolute;right:0;top:8px}.off-canvas-sidebar .nav li.active>a:after,.sidebar .nav li.active>a:after{border-bottom:17px solid transparent;border-right:17px solid #ebeff2;border-top:17px solid transparent;content:"";display:inline-block;position:absolute;right:-1px;top:8px}.off-canvas-sidebar .nav li h5,.sidebar .nav li h5{-webkit-font-smoothing:antialiased;font-family:Roboto,Helvetica Neue,Arial,sans-serif;padding-left:30px}.off-canvas-sidebar .nav li>a.menu,.sidebar .nav li>a.menu{padding:10px 0 0}.off-canvas-sidebar .nav li ul,.sidebar .nav li ul{margin-top:0}.off-canvas-sidebar .nav p,.sidebar .nav p{font-size:12px;font-weight:600;line-height:30px;margin:0;text-transform:uppercase}.off-canvas-sidebar .nav i,.sidebar .nav i{float:left;font-size:24px;line-height:30px;margin-right:15px;text-align:center;width:30px}.off-canvas-sidebar:after,.off-canvas-sidebar:before,.sidebar:after,.sidebar:before{background:#fff;content:"";display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:2}.off-canvas-sidebar:after,.off-canvas-sidebar:before,.off-canvas-sidebar[data-background-color=white]:after,.off-canvas-sidebar[data-background-color=white]:before,.sidebar:after,.sidebar:before,.sidebar[data-background-color=white]:after,.sidebar[data-background-color=white]:before{background-color:#fff}.off-canvas-sidebar .logo,.off-canvas-sidebar[data-background-color=white] .logo,.sidebar .logo,.sidebar[data-background-color=white] .logo{border-bottom:1px solid rgba(44,44,44,.3)}.off-canvas-sidebar .logo .simple-text,.off-canvas-sidebar .logo p,.off-canvas-sidebar .nav li:not(.active)>a,.off-canvas-sidebar[data-background-color=white] .logo .simple-text,.off-canvas-sidebar[data-background-color=white] .logo p,.off-canvas-sidebar[data-background-color=white] .nav li:not(.active)>a,.sidebar .logo .simple-text,.sidebar .logo p,.sidebar .nav li:not(.active)>a,.sidebar[data-background-color=white] .logo .simple-text,.sidebar[data-background-color=white] .logo p,.sidebar[data-background-color=white] .nav li:not(.active)>a{color:#2c2c2c}.off-canvas-sidebar .nav .divider,.off-canvas-sidebar[data-background-color=white] .nav .divider,.sidebar .nav .divider,.sidebar[data-background-color=white] .nav .divider{background-color:rgba(44,44,44,.2)}.off-canvas-sidebar[data-background-color=black]:after,.off-canvas-sidebar[data-background-color=black]:before,.sidebar[data-background-color=black]:after,.sidebar[data-background-color=black]:before{background-color:#212120}.off-canvas-sidebar[data-background-color=black] .logo,.sidebar[data-background-color=black] .logo{border-bottom:1px solid hsla(0,0%,100%,.3)}.off-canvas-sidebar[data-background-color=black] .logo .simple-text,.off-canvas-sidebar[data-background-color=black] .logo p,.off-canvas-sidebar[data-background-color=black] .nav li:not(.active)>a,.sidebar[data-background-color=black] .logo .simple-text,.sidebar[data-background-color=black] .logo p,.sidebar[data-background-color=black] .nav li:not(.active)>a{color:#fff}.off-canvas-sidebar[data-background-color=black] .nav .divider,.sidebar[data-background-color=black] .nav .divider{background-color:hsla(0,0%,100%,.2)}.off-canvas-sidebar[data-active-color=primary] .nav li.active>a,.sidebar[data-active-color=primary] .nav li.active>a{color:#2c2c2c;opacity:1}.off-canvas-sidebar[data-active-color=info] .nav li.active>a,.sidebar[data-active-color=info] .nav li.active>a{color:#067ec1;opacity:1}.off-canvas-sidebar[data-active-color=success] .nav li.active>a,.sidebar[data-active-color=success] .nav li.active>a{color:#18ce0f;opacity:1}.off-canvas-sidebar[data-active-color=warning] .nav li.active>a,.sidebar[data-active-color=warning] .nav li.active>a{color:#ffb236;opacity:1}.off-canvas-sidebar[data-active-color=danger] .nav li.active>a,.sidebar[data-active-color=danger] .nav li.active>a{color:#ff3636;opacity:1}.main-panel{background-color:#ebeff2;float:right;min-height:100%;position:relative;width:calc(100% - 260px);z-index:2}.main-panel>.content{min-height:calc(100% - 123px);padding:0 2px}.main-panel>.footer{border-top:1px solid rgba(0,0,0,.1)}.main-panel .navbar{margin-bottom:0}.main-panel,.sidebar{-webkit-overflow-scrolling:touch;height:100%;max-height:100%;overflow:auto;transition-duration:.2s,.2s;transition-property:top,bottom;transition-timing-function:linear,linear}.badge{background-color:transparent;border:1px solid;border-radius:8px;border-radius:6px;font-size:.7142em;line-height:12px;margin-bottom:5px;padding:4px 8px;text-transform:uppercase}.badge-icon{padding:.4em .55em}.badge-icon i{font-size:.8em}.badge-default{border-color:#2c2c2c;color:#2c2c2c}.badge-info,.badge-primary{border-color:#067ec1;color:#067ec1}.badge-success{border-color:#18ce0f;color:#18ce0f}.badge-warning{border-color:#ffb236;color:#ffb236}.badge-danger{border-color:#ff3636;color:#ff3636}.badge-neutral{border-color:#fff;color:#fff}.btn,.navbar .navbar-nav>li>a.btn{background-color:transparent;background-color:#2c2c2c;box-sizing:border-box;color:#fff;font-size:14px;font-weight:500;margin-top:5px;padding:4px 18px;transition:all .15s linear}.btn.active,.btn.active:focus,.btn.active:hover,.btn:active,.btn:active:focus,.btn:active:hover,.btn:focus,.btn:hover,.navbar .navbar-nav>li>a.btn.active,.navbar .navbar-nav>li>a.btn.active:focus,.navbar .navbar-nav>li>a.btn.active:hover,.navbar .navbar-nav>li>a.btn:active,.navbar .navbar-nav>li>a.btn:active:focus,.navbar .navbar-nav>li>a.btn:active:hover,.navbar .navbar-nav>li>a.btn:focus,.navbar .navbar-nav>li>a.btn:hover,.open>.btn.dropdown-toggle,.open>.btn.dropdown-toggle:focus,.open>.btn.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle:hover{background-color:#403d39;color:#fff}.btn.disabled,.btn.disabled.active,.btn.disabled.focus,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn:disabled,.btn:disabled.active,.btn:disabled.focus,.btn:disabled:active,.btn:disabled:focus,.btn:disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled].focus,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,.navbar .navbar-nav>li>a.btn.disabled,.navbar .navbar-nav>li>a.btn.disabled.active,.navbar .navbar-nav>li>a.btn.disabled.focus,.navbar .navbar-nav>li>a.btn.disabled:active,.navbar .navbar-nav>li>a.btn.disabled:focus,.navbar .navbar-nav>li>a.btn.disabled:hover,.navbar .navbar-nav>li>a.btn:disabled,.navbar .navbar-nav>li>a.btn:disabled.active,.navbar .navbar-nav>li>a.btn:disabled.focus,.navbar .navbar-nav>li>a.btn:disabled:active,.navbar .navbar-nav>li>a.btn:disabled:focus,.navbar .navbar-nav>li>a.btn:disabled:hover,.navbar .navbar-nav>li>a.btn[disabled],.navbar .navbar-nav>li>a.btn[disabled].active,.navbar .navbar-nav>li>a.btn[disabled].focus,.navbar .navbar-nav>li>a.btn[disabled]:active,.navbar .navbar-nav>li>a.btn[disabled]:focus,.navbar .navbar-nav>li>a.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn.focus,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn,fieldset[disabled] .navbar .navbar-nav>li>a.btn.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn:hover{background-color:#2c2c2c;border-color:#2c2c2c}.btn.focus,.btn:focus,.navbar .navbar-nav>li>a.btn.focus,.navbar .navbar-nav>li>a.btn:focus{box-shadow:none}.btn.btn-simple,.navbar .navbar-nav>li>a.btn.btn-simple{border-color:#2c2c2c;color:#2c2c2c}.btn.btn-simple:active,.btn.btn-simple:focus,.btn.btn-simple:hover,.navbar .navbar-nav>li>a.btn.btn-simple:active,.navbar .navbar-nav>li>a.btn.btn-simple:focus,.navbar .navbar-nav>li>a.btn.btn-simple:hover{background-color:transparent;border-color:#403d39;color:#403d39}.btn.btn-link,.navbar .navbar-nav>li>a.btn.btn-link{color:#2c2c2c}.btn.btn-link:active,.btn.btn-link:focus,.btn.btn-link:hover,.navbar .navbar-nav>li>a.btn.btn-link:active,.navbar .navbar-nav>li>a.btn.btn-link:focus,.navbar .navbar-nav>li>a.btn.btn-link:hover{background-color:transparent;color:#403d39;text-decoration:none}.btn:focus,.btn:hover,.navbar .navbar-nav>li>a.btn:focus,.navbar .navbar-nav>li>a.btn:hover{outline:0!important}.btn.active,.btn:active,.navbar .navbar-nav>li>a.btn.active,.navbar .navbar-nav>li>a.btn:active,.open>.btn.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle{box-shadow:none;outline:0!important}.btn.btn-icon,.navbar .navbar-nav>li>a.btn.btn-icon{padding:7px}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-2px}.btn-primary,.navbar .navbar-nav>li>a.btn-primary{background-color:#067ec1;color:#fff}.btn-primary.active,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active,.btn-primary:active:focus,.btn-primary:active:hover,.btn-primary:focus,.btn-primary:hover,.navbar .navbar-nav>li>a.btn-primary.active,.navbar .navbar-nav>li>a.btn-primary.active:focus,.navbar .navbar-nav>li>a.btn-primary.active:hover,.navbar .navbar-nav>li>a.btn-primary:active,.navbar .navbar-nav>li>a.btn-primary:active:focus,.navbar .navbar-nav>li>a.btn-primary:active:hover,.navbar .navbar-nav>li>a.btn-primary:focus,.navbar .navbar-nav>li>a.btn-primary:hover,.open>.btn-primary.dropdown-toggle,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn-primary.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn-primary.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn-primary.dropdown-toggle:hover{background-color:#427c89;color:#fff}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary:disabled,.btn-primary:disabled.active,.btn-primary:disabled.focus,.btn-primary:disabled:active,.btn-primary:disabled:focus,.btn-primary:disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,.navbar .navbar-nav>li>a.btn-primary.disabled,.navbar .navbar-nav>li>a.btn-primary.disabled.active,.navbar .navbar-nav>li>a.btn-primary.disabled.focus,.navbar .navbar-nav>li>a.btn-primary.disabled:active,.navbar .navbar-nav>li>a.btn-primary.disabled:focus,.navbar .navbar-nav>li>a.btn-primary.disabled:hover,.navbar .navbar-nav>li>a.btn-primary:disabled,.navbar .navbar-nav>li>a.btn-primary:disabled.active,.navbar .navbar-nav>li>a.btn-primary:disabled.focus,.navbar .navbar-nav>li>a.btn-primary:disabled:active,.navbar .navbar-nav>li>a.btn-primary:disabled:focus,.navbar .navbar-nav>li>a.btn-primary:disabled:hover,.navbar .navbar-nav>li>a.btn-primary[disabled],.navbar .navbar-nav>li>a.btn-primary[disabled].active,.navbar .navbar-nav>li>a.btn-primary[disabled].focus,.navbar .navbar-nav>li>a.btn-primary[disabled]:active,.navbar .navbar-nav>li>a.btn-primary[disabled]:focus,.navbar .navbar-nav>li>a.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary:hover{background-color:#067ec1;border-color:#067ec1}.btn-primary.focus,.btn-primary:focus,.navbar .navbar-nav>li>a.btn-primary.focus,.navbar .navbar-nav>li>a.btn-primary:focus{box-shadow:none}.btn-primary.btn-simple,.navbar .navbar-nav>li>a.btn-primary.btn-simple{border-color:#067ec1;color:#067ec1}.btn-primary.btn-simple:active,.btn-primary.btn-simple:focus,.btn-primary.btn-simple:hover,.navbar .navbar-nav>li>a.btn-primary.btn-simple:active,.navbar .navbar-nav>li>a.btn-primary.btn-simple:focus,.navbar .navbar-nav>li>a.btn-primary.btn-simple:hover{background-color:transparent;border-color:#427c89;color:#427c89}.btn-primary.btn-link,.navbar .navbar-nav>li>a.btn-primary.btn-link{color:#067ec1}.btn-primary.btn-link:active,.btn-primary.btn-link:focus,.btn-primary.btn-link:hover,.navbar .navbar-nav>li>a.btn-primary.btn-link:active,.navbar .navbar-nav>li>a.btn-primary.btn-link:focus,.navbar .navbar-nav>li>a.btn-primary.btn-link:hover{background-color:transparent;color:#427c89;text-decoration:none}.btn-success,.navbar .navbar-nav>li>a.btn-success{background-color:#18ce0f;color:#fff}.btn-success.active,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active,.btn-success:active:focus,.btn-success:active:hover,.btn-success:focus,.btn-success:hover,.navbar .navbar-nav>li>a.btn-success.active,.navbar .navbar-nav>li>a.btn-success.active:focus,.navbar .navbar-nav>li>a.btn-success.active:hover,.navbar .navbar-nav>li>a.btn-success:active,.navbar .navbar-nav>li>a.btn-success:active:focus,.navbar .navbar-nav>li>a.btn-success:active:hover,.navbar .navbar-nav>li>a.btn-success:focus,.navbar .navbar-nav>li>a.btn-success:hover,.open>.btn-success.dropdown-toggle,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn-success.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn-success.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn-success.dropdown-toggle:hover{background-color:#15b60d;color:#fff}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success:disabled,.btn-success:disabled.active,.btn-success:disabled.focus,.btn-success:disabled:active,.btn-success:disabled:focus,.btn-success:disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,.navbar .navbar-nav>li>a.btn-success.disabled,.navbar .navbar-nav>li>a.btn-success.disabled.active,.navbar .navbar-nav>li>a.btn-success.disabled.focus,.navbar .navbar-nav>li>a.btn-success.disabled:active,.navbar .navbar-nav>li>a.btn-success.disabled:focus,.navbar .navbar-nav>li>a.btn-success.disabled:hover,.navbar .navbar-nav>li>a.btn-success:disabled,.navbar .navbar-nav>li>a.btn-success:disabled.active,.navbar .navbar-nav>li>a.btn-success:disabled.focus,.navbar .navbar-nav>li>a.btn-success:disabled:active,.navbar .navbar-nav>li>a.btn-success:disabled:focus,.navbar .navbar-nav>li>a.btn-success:disabled:hover,.navbar .navbar-nav>li>a.btn-success[disabled],.navbar .navbar-nav>li>a.btn-success[disabled].active,.navbar .navbar-nav>li>a.btn-success[disabled].focus,.navbar .navbar-nav>li>a.btn-success[disabled]:active,.navbar .navbar-nav>li>a.btn-success[disabled]:focus,.navbar .navbar-nav>li>a.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success:hover{background-color:#18ce0f;border-color:#18ce0f}.btn-success.focus,.btn-success:focus,.navbar .navbar-nav>li>a.btn-success.focus,.navbar .navbar-nav>li>a.btn-success:focus{box-shadow:none}.btn-success.btn-simple,.navbar .navbar-nav>li>a.btn-success.btn-simple{border-color:#18ce0f;color:#18ce0f}.btn-success.btn-simple:active,.btn-success.btn-simple:focus,.btn-success.btn-simple:hover,.navbar .navbar-nav>li>a.btn-success.btn-simple:active,.navbar .navbar-nav>li>a.btn-success.btn-simple:focus,.navbar .navbar-nav>li>a.btn-success.btn-simple:hover{background-color:transparent;border-color:#15b60d;color:#15b60d}.btn-success.btn-link,.navbar .navbar-nav>li>a.btn-success.btn-link{color:#18ce0f}.btn-success.btn-link:active,.btn-success.btn-link:focus,.btn-success.btn-link:hover,.navbar .navbar-nav>li>a.btn-success.btn-link:active,.navbar .navbar-nav>li>a.btn-success.btn-link:focus,.navbar .navbar-nav>li>a.btn-success.btn-link:hover{background-color:transparent;color:#15b60d;text-decoration:none}.btn-info,.navbar .navbar-nav>li>a.btn-info{background-color:#067ec1;color:#fff}.btn-info.active,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active,.btn-info:active:focus,.btn-info:active:hover,.btn-info:focus,.btn-info:hover,.navbar .navbar-nav>li>a.btn-info.active,.navbar .navbar-nav>li>a.btn-info.active:focus,.navbar .navbar-nav>li>a.btn-info.active:hover,.navbar .navbar-nav>li>a.btn-info:active,.navbar .navbar-nav>li>a.btn-info:active:focus,.navbar .navbar-nav>li>a.btn-info:active:hover,.navbar .navbar-nav>li>a.btn-info:focus,.navbar .navbar-nav>li>a.btn-info:hover,.open>.btn-info.dropdown-toggle,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn-info.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn-info.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn-info.dropdown-toggle:hover{background-color:#0688d0;color:#fff}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info:disabled,.btn-info:disabled.active,.btn-info:disabled.focus,.btn-info:disabled:active,.btn-info:disabled:focus,.btn-info:disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,.navbar .navbar-nav>li>a.btn-info.disabled,.navbar .navbar-nav>li>a.btn-info.disabled.active,.navbar .navbar-nav>li>a.btn-info.disabled.focus,.navbar .navbar-nav>li>a.btn-info.disabled:active,.navbar .navbar-nav>li>a.btn-info.disabled:focus,.navbar .navbar-nav>li>a.btn-info.disabled:hover,.navbar .navbar-nav>li>a.btn-info:disabled,.navbar .navbar-nav>li>a.btn-info:disabled.active,.navbar .navbar-nav>li>a.btn-info:disabled.focus,.navbar .navbar-nav>li>a.btn-info:disabled:active,.navbar .navbar-nav>li>a.btn-info:disabled:focus,.navbar .navbar-nav>li>a.btn-info:disabled:hover,.navbar .navbar-nav>li>a.btn-info[disabled],.navbar .navbar-nav>li>a.btn-info[disabled].active,.navbar .navbar-nav>li>a.btn-info[disabled].focus,.navbar .navbar-nav>li>a.btn-info[disabled]:active,.navbar .navbar-nav>li>a.btn-info[disabled]:focus,.navbar .navbar-nav>li>a.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info:hover{background-color:#067ec1;border-color:#067ec1}.btn-info.focus,.btn-info:focus,.navbar .navbar-nav>li>a.btn-info.focus,.navbar .navbar-nav>li>a.btn-info:focus{box-shadow:none}.btn-info.btn-simple,.navbar .navbar-nav>li>a.btn-info.btn-simple{border-color:#067ec1;color:#067ec1}.btn-info.btn-simple:active,.btn-info.btn-simple:focus,.btn-info.btn-simple:hover,.navbar .navbar-nav>li>a.btn-info.btn-simple:active,.navbar .navbar-nav>li>a.btn-info.btn-simple:focus,.navbar .navbar-nav>li>a.btn-info.btn-simple:hover{background-color:transparent;border-color:#0688d0;color:#0688d0}.btn-info.btn-link,.navbar .navbar-nav>li>a.btn-info.btn-link{color:#067ec1}.btn-info.btn-link:active,.btn-info.btn-link:focus,.btn-info.btn-link:hover,.navbar .navbar-nav>li>a.btn-info.btn-link:active,.navbar .navbar-nav>li>a.btn-info.btn-link:focus,.navbar .navbar-nav>li>a.btn-info.btn-link:hover{background-color:transparent;color:#0688d0;text-decoration:none}.btn-warning,.navbar .navbar-nav>li>a.btn-warning{background-color:#ffb236;color:#fff}.btn-warning.active,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active,.btn-warning:active:focus,.btn-warning:active:hover,.btn-warning:focus,.btn-warning:hover,.navbar .navbar-nav>li>a.btn-warning.active,.navbar .navbar-nav>li>a.btn-warning.active:focus,.navbar .navbar-nav>li>a.btn-warning.active:hover,.navbar .navbar-nav>li>a.btn-warning:active,.navbar .navbar-nav>li>a.btn-warning:active:focus,.navbar .navbar-nav>li>a.btn-warning:active:hover,.navbar .navbar-nav>li>a.btn-warning:focus,.navbar .navbar-nav>li>a.btn-warning:hover,.open>.btn-warning.dropdown-toggle,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn-warning.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn-warning.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn-warning.dropdown-toggle:hover{background-color:#ffa81d;color:#fff}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning:disabled,.btn-warning:disabled.active,.btn-warning:disabled.focus,.btn-warning:disabled:active,.btn-warning:disabled:focus,.btn-warning:disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,.navbar .navbar-nav>li>a.btn-warning.disabled,.navbar .navbar-nav>li>a.btn-warning.disabled.active,.navbar .navbar-nav>li>a.btn-warning.disabled.focus,.navbar .navbar-nav>li>a.btn-warning.disabled:active,.navbar .navbar-nav>li>a.btn-warning.disabled:focus,.navbar .navbar-nav>li>a.btn-warning.disabled:hover,.navbar .navbar-nav>li>a.btn-warning:disabled,.navbar .navbar-nav>li>a.btn-warning:disabled.active,.navbar .navbar-nav>li>a.btn-warning:disabled.focus,.navbar .navbar-nav>li>a.btn-warning:disabled:active,.navbar .navbar-nav>li>a.btn-warning:disabled:focus,.navbar .navbar-nav>li>a.btn-warning:disabled:hover,.navbar .navbar-nav>li>a.btn-warning[disabled],.navbar .navbar-nav>li>a.btn-warning[disabled].active,.navbar .navbar-nav>li>a.btn-warning[disabled].focus,.navbar .navbar-nav>li>a.btn-warning[disabled]:active,.navbar .navbar-nav>li>a.btn-warning[disabled]:focus,.navbar .navbar-nav>li>a.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning:hover{background-color:#ffb236;border-color:#ffb236}.btn-warning.focus,.btn-warning:focus,.navbar .navbar-nav>li>a.btn-warning.focus,.navbar .navbar-nav>li>a.btn-warning:focus{box-shadow:none}.btn-warning.btn-simple,.navbar .navbar-nav>li>a.btn-warning.btn-simple{border-color:#ffb236;color:#ffb236}.btn-warning.btn-simple:active,.btn-warning.btn-simple:focus,.btn-warning.btn-simple:hover,.navbar .navbar-nav>li>a.btn-warning.btn-simple:active,.navbar .navbar-nav>li>a.btn-warning.btn-simple:focus,.navbar .navbar-nav>li>a.btn-warning.btn-simple:hover{background-color:transparent;border-color:#ffa81d;color:#ffa81d}.btn-warning.btn-link,.navbar .navbar-nav>li>a.btn-warning.btn-link{color:#ffb236}.btn-warning.btn-link:active,.btn-warning.btn-link:focus,.btn-warning.btn-link:hover,.navbar .navbar-nav>li>a.btn-warning.btn-link:active,.navbar .navbar-nav>li>a.btn-warning.btn-link:focus,.navbar .navbar-nav>li>a.btn-warning.btn-link:hover{background-color:transparent;color:#ffa81d;text-decoration:none}.btn-danger,.navbar .navbar-nav>li>a.btn-danger{background-color:#ff3636;color:#fff}.btn-danger.active,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active,.btn-danger:active:focus,.btn-danger:active:hover,.btn-danger:focus,.btn-danger:hover,.navbar .navbar-nav>li>a.btn-danger.active,.navbar .navbar-nav>li>a.btn-danger.active:focus,.navbar .navbar-nav>li>a.btn-danger.active:hover,.navbar .navbar-nav>li>a.btn-danger:active,.navbar .navbar-nav>li>a.btn-danger:active:focus,.navbar .navbar-nav>li>a.btn-danger:active:hover,.navbar .navbar-nav>li>a.btn-danger:focus,.navbar .navbar-nav>li>a.btn-danger:hover,.open>.btn-danger.dropdown-toggle,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn-danger.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn-danger.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn-danger.dropdown-toggle:hover{background-color:#ff1d1d;color:#fff}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger:disabled,.btn-danger:disabled.active,.btn-danger:disabled.focus,.btn-danger:disabled:active,.btn-danger:disabled:focus,.btn-danger:disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,.navbar .navbar-nav>li>a.btn-danger.disabled,.navbar .navbar-nav>li>a.btn-danger.disabled.active,.navbar .navbar-nav>li>a.btn-danger.disabled.focus,.navbar .navbar-nav>li>a.btn-danger.disabled:active,.navbar .navbar-nav>li>a.btn-danger.disabled:focus,.navbar .navbar-nav>li>a.btn-danger.disabled:hover,.navbar .navbar-nav>li>a.btn-danger:disabled,.navbar .navbar-nav>li>a.btn-danger:disabled.active,.navbar .navbar-nav>li>a.btn-danger:disabled.focus,.navbar .navbar-nav>li>a.btn-danger:disabled:active,.navbar .navbar-nav>li>a.btn-danger:disabled:focus,.navbar .navbar-nav>li>a.btn-danger:disabled:hover,.navbar .navbar-nav>li>a.btn-danger[disabled],.navbar .navbar-nav>li>a.btn-danger[disabled].active,.navbar .navbar-nav>li>a.btn-danger[disabled].focus,.navbar .navbar-nav>li>a.btn-danger[disabled]:active,.navbar .navbar-nav>li>a.btn-danger[disabled]:focus,.navbar .navbar-nav>li>a.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger:hover{background-color:#ff3636;border-color:#ff3636}.btn-danger.focus,.btn-danger:focus,.navbar .navbar-nav>li>a.btn-danger.focus,.navbar .navbar-nav>li>a.btn-danger:focus{box-shadow:none}.btn-danger.btn-simple,.navbar .navbar-nav>li>a.btn-danger.btn-simple{border-color:#ff3636;color:#ff3636}.btn-danger.btn-simple:active,.btn-danger.btn-simple:focus,.btn-danger.btn-simple:hover,.navbar .navbar-nav>li>a.btn-danger.btn-simple:active,.navbar .navbar-nav>li>a.btn-danger.btn-simple:focus,.navbar .navbar-nav>li>a.btn-danger.btn-simple:hover{background-color:transparent;border-color:#ff1d1d;color:#ff1d1d}.btn-danger.btn-link,.navbar .navbar-nav>li>a.btn-danger.btn-link{color:#ff3636}.btn-danger.btn-link:active,.btn-danger.btn-link:focus,.btn-danger.btn-link:hover,.navbar .navbar-nav>li>a.btn-danger.btn-link:active,.navbar .navbar-nav>li>a.btn-danger.btn-link:focus,.navbar .navbar-nav>li>a.btn-danger.btn-link:hover{background-color:transparent;color:#ff1d1d;text-decoration:none}.btn-neutral,.btn-neutral.active,.btn-neutral.active:focus,.btn-neutral.active:hover,.btn-neutral:active,.btn-neutral:active:focus,.btn-neutral:active:hover,.btn-neutral:focus,.btn-neutral:hover,.open>.btn-neutral.dropdown-toggle,.open>.btn-neutral.dropdown-toggle:focus,.open>.btn-neutral.dropdown-toggle:hover{background-color:#fff;color:#fff}.btn-neutral.disabled,.btn-neutral.disabled.active,.btn-neutral.disabled.focus,.btn-neutral.disabled:active,.btn-neutral.disabled:focus,.btn-neutral.disabled:hover,.btn-neutral:disabled,.btn-neutral:disabled.active,.btn-neutral:disabled.focus,.btn-neutral:disabled:active,.btn-neutral:disabled:focus,.btn-neutral:disabled:hover,.btn-neutral[disabled],.btn-neutral[disabled].active,.btn-neutral[disabled].focus,.btn-neutral[disabled]:active,.btn-neutral[disabled]:focus,.btn-neutral[disabled]:hover,fieldset[disabled] .btn-neutral,fieldset[disabled] .btn-neutral.active,fieldset[disabled] .btn-neutral.focus,fieldset[disabled] .btn-neutral:active,fieldset[disabled] .btn-neutral:focus,fieldset[disabled] .btn-neutral:hover{background-color:#fff;border-color:#fff}.btn-neutral.focus,.btn-neutral:focus{box-shadow:none}.btn-neutral.btn-danger{color:#ff3636}.btn-neutral.btn-danger:active,.btn-neutral.btn-danger:focus,.btn-neutral.btn-danger:hover{color:#ff1d1d}.btn-neutral.btn-info{color:#fff}.btn-neutral.btn-info:active,.btn-neutral.btn-info:focus,.btn-neutral.btn-info:hover{color:#0688d0}.btn-neutral.btn-warning{color:#fff}.btn-neutral.btn-warning:active,.btn-neutral.btn-warning:focus,.btn-neutral.btn-warning:hover{color:#ffa81d}.btn-neutral.btn-success{color:#fff}.btn-neutral.btn-success:active,.btn-neutral.btn-success:focus,.btn-neutral.btn-success:hover{color:#15b60d}.btn-neutral.btn-default{color:#fff}.btn-neutral.btn-default:active,.btn-neutral.btn-default:focus,.btn-neutral.btn-default:hover{color:#403d39}.btn-neutral.active,.btn-neutral.active:focus,.btn-neutral.active:hover,.btn-neutral:active:focus,.btn-neutral:active:hover,.open>.btn-neutral.dropdown-toggle,.open>.btn-neutral.dropdown-toggle:focus,.open>.btn-neutral.dropdown-toggle:hover{background-color:#fff;color:#067ec1}.btn-neutral:active,.btn-neutral:focus,.btn-neutral:hover{color:#427c89}.btn-neutral.btn-simple{border-color:#fff;color:#fff}.btn-neutral.btn-simple:active,.btn-neutral.btn-simple:focus,.btn-neutral.btn-simple:hover{background-color:transparent;border-color:#fff;color:#fff}.btn-neutral.btn-link{color:#fff}.btn-neutral.btn-link:active,.btn-neutral.btn-link:focus,.btn-neutral.btn-link:hover{background-color:transparent;color:#fff;text-decoration:none}.btn-neutral:focus,.btn-neutral:hover{color:#2c2c2c}.btn-neutral.active,.btn-neutral:active,.open>.btn-neutral.dropdown-toggle{background-color:#fff;color:#2c2c2c}.btn-neutral.btn-fill{color:#2c2c2c}.btn-neutral.btn-fill:focus,.btn-neutral.btn-fill:hover{color:#403d39}.btn-neutral.btn-simple.active,.btn-neutral.btn-simple:active{background-color:transparent}.btn.disabled,.btn:disabled,.btn[disabled]{opacity:.5}.btn-simple{border:0;padding:7px 18px}.btn-simple.btn-icon{padding:7px}.btn-lg{font-size:1em;font-weight:400;padding:11px 30px}.btn-lg.btn-simple{padding:13px 30px}.btn-sm{font-size:.8571em;padding:4px 10px}.btn-sm.btn-simple{padding:6px 10px}.btn-xs{font-size:.7142em;padding:2px 5px}.btn-xs.btn-simple{padding:4px 5px}.btn-wd{min-width:140px}.btn-group.select{width:100%}.btn-group.select .btn{text-align:left}.btn-group.select .caret{margin-top:-1px;position:absolute;right:8px;top:50%}.form-control:-moz-placeholder,.form-control::-moz-placeholder{color:#ddd;opacity:1}.form-control::-webkit-input-placeholder{color:#ddd;opacity:1}.form-control:-ms-input-placeholder{color:#ddd;opacity:1}.form-control{background-color:transparent;border:1px solid #aaa;border-radius:0;box-shadow:none;color:#333;font-family:Avenir-light,AvenirLTStd-Light,sans-serif!important;font-size:14px;font-weight:400;line-height:1em;transition:color .3s ease-in-out,border-color .3s ease-in-out,background-color .3s ease-in-out}.has-success .form-control{border-color:#e3e3e3}.form-control:focus{border:1px solid #067ec1;box-shadow:none;color:#333;outline:0!important}.form-control:focus+.input-group-addon,.form-control:focus~.input-group-addon{background-color:transparent;border:1px solid #067ec1}.has-error .form-control,.has-error .form-control:focus,.has-success .form-control,.has-success .form-control:focus{box-shadow:none}.has-danger .form-control.form-control-danger,.has-danger .form-control.form-control-success,.has-success .form-control.form-control-danger,.has-success .form-control.form-control-success{background-image:none}.has-danger .form-control{background-color:#ffcfcf;border-color:#ffcfcf;color:#ff3636}.has-danger .form-control:focus{background-color:hsla(0,0%,87%,.3)}.form-control+.form-control-feedback{border-radius:.125rem;font-size:14px;margin-top:-7px;position:absolute;right:10px;top:50%;vertical-align:middle}.open .form-control{border-bottom-color:transparent;border-radius:.125rem .125rem 0 0}.form-control+.input-group-addon{background-color:#fff}.has-danger:after,.has-success:after{color:#18ce0f;content:"\ea22";display:inline-block;font-family:Nucleo Outline;font-size:11px;position:absolute;right:35px;top:12px}.has-danger.input-lg:after,.has-success.input-lg:after{font-size:13px;top:13px}.has-danger:after{color:#ff3636;content:"\ea53"}.form-group.form-group-no-border.input-sm .input-group-addon,.input-group.form-group-no-border.input-sm .input-group-addon{padding:4px 0 4px 10px}.form-group.form-group-no-border.input-sm .form-control,.input-group.form-group-no-border.input-sm .form-control{padding:4px 10px}.form-group.form-group-no-border.input-sm .form-control+.input-group-addon,.input-group.form-group-no-border.input-sm .form-control+.input-group-addon{padding:4px 10px 4px 0}.form-group.input-sm .form-control,.input-group.input-sm .form-control{padding:3px 9px}.form-group.input-sm .form-control+.input-group-addon,.input-group.input-sm .form-control+.input-group-addon{padding:3px 9px 3px 0}.form-group.input-sm .input-group-addon,.input-group.input-sm .input-group-addon{padding:3px 0 4px 9px}.form-group.input-sm .input-group-addon+.form-control,.input-group.input-sm .input-group-addon+.form-control{padding:4px 9px 4px 7px}.form-group.form-group-no-border.input-lg .input-group-addon,.input-group.form-group-no-border.input-lg .input-group-addon{padding:11px 0 11px 19px}.form-group.form-group-no-border.input-lg .form-control,.input-group.form-group-no-border.input-lg .form-control{padding:11px 19px}.form-group.form-group-no-border.input-lg .form-control+.input-group-addon,.input-group.form-group-no-border.input-lg .form-control+.input-group-addon{padding:11px 19px 11px 0}.form-group.input-lg .form-control,.input-group.input-lg .form-control{padding:10px 18px}.form-group.input-lg .form-control+.input-group-addon,.input-group.input-lg .form-control+.input-group-addon{padding:10px 18px 10px 0}.form-group.input-lg .input-group-addon,.input-group.input-lg .input-group-addon{padding:10px 0 11px 18px}.form-group.input-lg .input-group-addon+.form-control,.input-group.input-lg .input-group-addon+.form-control{padding:11px 18px 11px 16px}.form-group.form-group-no-border .form-control,.input-group.form-group-no-border .form-control{padding:4px 10px}.form-group.form-group-no-border .form-control+.input-group-addon,.input-group.form-group-no-border .form-control+.input-group-addon{padding:4px 10px 4px 0}.form-group.form-group-no-border .input-group-addon,.input-group.form-group-no-border .input-group-addon{padding:4px 0 4px 10px}.form-group .form-control,.input-group .form-control{margin-top:2px;padding:3px 9px}.form-group .form-control+.input-group-addon,.input-group .form-control+.input-group-addon{padding:3px 9px 3px 0}.form-group .input-group-addon,.input-group .input-group-addon{padding:3px 0 3px 9px}.form-group .input-group-addon+.form-control,.form-group .input-group-addon~.form-control,.input-group .input-group-addon+.form-control,.input-group .input-group-addon~.form-control{padding:3px 10px 4px 7px}.form-group.form-group-no-border .form-control,.form-group.form-group-no-border .form-control+.input-group-addon,.input-group.form-group-no-border .form-control,.input-group.form-group-no-border .form-control+.input-group-addon{background-color:hsla(0,0%,87%,.3);border:none}.form-group.form-group-no-border .form-control+.input-group-addon:active,.form-group.form-group-no-border .form-control+.input-group-addon:focus,.form-group.form-group-no-border .form-control:active,.form-group.form-group-no-border .form-control:focus,.input-group.form-group-no-border .form-control+.input-group-addon:active,.input-group.form-group-no-border .form-control+.input-group-addon:focus,.input-group.form-group-no-border .form-control:active,.input-group.form-group-no-border .form-control:focus{background-color:hsla(0,0%,87%,.5);border:none}.form-group.form-group-no-border .form-control:focus+.input-group-addon,.input-group.form-group-no-border .form-control:focus+.input-group-addon{background-color:hsla(0,0%,87%,.5)}.form-group.form-group-no-border .input-group-addon,.input-group.form-group-no-border .input-group-addon{background-color:hsla(0,0%,87%,.3);border:none}.has-error .control-label,.has-error .form-control-feedback{color:#ff3636}.has-success .control-label,.has-success .form-control-feedback{color:#18ce0f}.input-group-addon{border:1px solid #e3e3e3;border-radius:.125rem;color:#555;padding:6px 0 6px 17px;transition:color .3s ease-in-out,border-color .3s ease-in-out,background-color .3s ease-in-out}.has-danger .input-group-addon,.has-success .input-group-addon,.input-group-addon{background-color:#fff}.has-danger .form-control:focus+.input-group-addon{color:#ff3636}.has-success .form-control:focus+.input-group-addon{color:#18ce0f}.input-group-addon+.form-control,.input-group-addon~.form-control{padding:6px 18px}.input-group-focus .input-group-addon{background-color:#fff;border-color:#067ec1}.input-group-focus.form-group-no-border .input-group-addon{background-color:hsla(0,0%,87%,.5)}.form-group,.input-group{margin-bottom:10px}.input-group[disabled] .input-group-addon{background-color:#e3e3e3}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#e3e3e3;color:#2c2c2c;cursor:not-allowed}.input-group-btn .btn{border-width:1px;padding:11px 18px}.input-group-btn .btn-default:not(.btn-fill){border-color:#ddd}.input-group-btn:last-child>.btn{margin-left:0}textarea.form-control{background-color:transparent;border:1px solid #aaa;border-radius:0;color:#333;font-size:14px;font-weight:400;line-height:1em;max-width:100%;padding:10px;resize:none}textarea.form-control:active,textarea.form-control:focus{background-color:transparent;border:1px solid #067ec1;box-shadow:none}.has-danger.form-group .form-control,.has-danger.form-group.form-group-no-border .form-control,.has-success.form-group .form-control,.has-success.form-group.form-group-no-border .form-control{padding-right:40px}.alert{border:0;border-radius:0;color:#fff;font-size:14px;padding:10px 15px}.container .alert{border-radius:4px}.navbar .alert{border-radius:0;left:0;position:absolute;right:0;top:85px;width:100%;z-index:3}.navbar:not(.navbar-transparent) .alert{top:70px}.alert span[data-notify=icon]{display:block;font-size:30px;left:15px;margin-top:-20px;position:absolute;top:50%}.alert .close~span{display:block;max-width:89%}.alert[data-notify=container]{border-radius:2px;padding:10px 10px 10px 20px}.alert.alert-with-icon{padding-left:65px}.alert-info{background-color:#7ce4fe;color:#0688d0}.alert-success{background-color:#8ef3c5;color:#15b60d}.alert-warning{background-color:#ffe28c;color:#ffa81d}.alert-danger{background-color:#ff3636;color:#fff}.table tbody tr>td,.table tbody tr>th,.table tfoot tr>td,.table tfoot tr>th,.table thead tr>td,.table thead tr>th{border-top:1px solid #ccc5b9}.table>thead>tr>th{border-bottom-width:0;font-size:1.25em;font-weight:300}.table .checkbox,.table .radio{margin-bottom:22px;margin-top:0;padding:0;width:15px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:12px;vertical-align:middle}.table .th-description{max-width:150px}.table .td-price{font-size:26px;font-weight:300;margin-top:5px;text-align:right}.table .td-total{font-size:1.25em;font-weight:600;padding-top:20px;text-align:right}.table .td-actions .btn.btn-sm,.table .td-actions .btn.btn-xs{padding-left:3px;padding-right:3px}.table>tbody>tr{position:relative}.table-striped tbody>tr:nth-of-type(odd){background-color:#fff}.table-striped tbody>tr:nth-of-type(2n){background-color:#fffcf5}.table-striped>tbody>tr>td,.table-striped>tbody>tr>th,.table-striped>tfoot>tr>td,.table-striped>tfoot>tr>th,.table-striped>thead>tr>td,.table-striped>thead>tr>th{padding:15px 8px}.checkbox,.radio{color:#4b4743;cursor:pointer;font-size:14px;font-weight:400;line-height:1.5;margin-bottom:12px;padding-left:30px;position:relative;transition:color,opacity .25s linear}.checkbox .icons,.radio .icons{color:#4b4743;cursor:pointer;display:block;font-size:20px;height:20px;left:0;line-height:21px;opacity:.5;position:absolute;text-align:center;top:0;transition:color,opacity .15s linear;width:20px}.checkbox.checked .icons,.radio.checked .icons{opacity:1}.checkbox input,.radio input{display:none;outline:0!important}.checkbox label,.radio label{padding-left:10px}.checkbox .icons .first-icon,.checkbox .icons .second-icon,.radio .icons .first-icon,.radio .icons .second-icon{background-color:transparent;display:inline-table;left:0;margin:0;opacity:1;position:absolute;top:0}.checkbox .icons .second-icon,.radio .icons .second-icon{opacity:0}.checkbox:hover,.radio:hover{transition:color .2s linear}.checkbox:hover .first-icon,.radio:hover .first-icon{opacity:0}.checkbox:hover .second-icon,.radio:hover .second-icon{opacity:1}.checkbox.checked .first-icon,.radio.checked .first-icon{opacity:0}.checkbox.checked .second-icon,.radio.checked .second-icon{opacity:1;transition:color .2s linear}.checkbox.disabled,.radio.disabled{color:#ddd;cursor:default}.checkbox.disabled .icons,.radio.disabled .icons{color:#ddd}.checkbox.disabled .first-icon,.radio.disabled .first-icon{opacity:1}.checkbox.disabled .second-icon,.radio.disabled .second-icon{opacity:0}.checkbox.disabled.checked .icons,.radio.disabled.checked .icons{color:#ddd}.checkbox.disabled.checked .first-icon,.radio.disabled.checked .first-icon{opacity:0}.checkbox.disabled.checked .second-icon,.radio.disabled.checked .second-icon{color:#ddd;opacity:1}.nav>li>a:focus,.nav>li>a:hover{background-color:transparent}.navbar{border:0;border-radius:0;font-size:1em;z-index:3}.navbar .navbar-brand{color:#fff;font-size:20px;font-weight:300;margin:5px 0;padding:20px 15px}.navbar .navbar-nav>li>a{line-height:1.42857;margin:15px 0;padding:10px 15px}.navbar .navbar-nav>li>a i,.navbar .navbar-nav>li>a p{display:inline-block;margin:0}.navbar .navbar-nav>li>a i{margin-right:5px;position:relative;top:1px}.navbar .navbar-nav>li>a.btn{margin:15px 3px;padding:7px 18px}.navbar .btn{margin:15px 3px}.navbar .btn,.navbar .btn-simple{font-size:14px}.navbar-nav>li>.dropdown-menu{border-radius:6px;margin-top:-5px}.navbar-default{background-color:#067ec1;border-bottom:1px solid #ddd;color:#fff}.navbar-default .brand{color:#fff!important}.navbar-default .navbar-nav>li>a:not(.btn){color:#fff}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:not(.btn):focus,.navbar-default .navbar-nav>.active>a:not(.btn):hover,.navbar-default .navbar-nav>li>a:not(.btn):focus,.navbar-default .navbar-nav>li>a:not(.btn):hover{background-color:transparent;border-radius:3px;opacity:1}.navbar-default .navbar-nav>.dropdown>a:focus .caret,.navbar-default .navbar-nav>.dropdown>a:hover .caret{border-bottom-color:#067ec1;border-top-color:#067ec1}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:transparent;color:#067ec1}.navbar-default .navbar-nav .navbar-toggle:focus,.navbar-default .navbar-nav .navbar-toggle:hover{background-color:transparent}.navbar-default:not(.navbar-transparent) .btn-default:hover{border-color:#067ec1;color:#067ec1}.navbar-default:not(.navbar-transparent) .btn-neutral,.navbar-default:not(.navbar-transparent) .btn-neutral:active,.navbar-default:not(.navbar-transparent) .btn-neutral:hover{color:#9a9a9a}.navbar-form{box-shadow:none}.navbar-form .form-control{background-color:transparent;border:0;border-radius:0;color:#e3e3e3;font-size:1em;height:22px;line-height:1.4em;padding:0}.navbar-transparent .navbar-form .form-control,[class*=navbar-ct] .navbar-form .form-control{border:0;border-bottom:1px solid hsla(0,0%,100%,.6);color:#fff}.navbar-ct-primary{background-color:#8ecfd5}.navbar-ct-info{background-color:#7ce4fe}.navbar-ct-success{background-color:#8ef3c5}.navbar-ct-warning{background-color:#ffe28c}.navbar-ct-danger{background-color:#ff4c40}.navbar-transparent{background-color:transparent;border-bottom:1px solid transparent;padding-top:15px}.navbar-toggle{border:0;margin-bottom:19px;margin-top:19px}.navbar-toggle .icon-bar{background-color:#fff}.navbar-toggle .navbar-collapse,.navbar-toggle .navbar-form{border-color:transparent}.navbar-toggle.navbar-default .navbar-toggle:focus,.navbar-toggle.navbar-default .navbar-toggle:hover{background-color:transparent}.navbar-transparent .navbar-brand,[class*=navbar-ct] .navbar-brand{opacity:.9}.navbar-transparent .navbar-brand:focus,.navbar-transparent .navbar-brand:hover,[class*=navbar-ct] .navbar-brand:focus,[class*=navbar-ct] .navbar-brand:hover{background-color:transparent;opacity:1}.navbar-transparent .navbar-brand:not([class*=text]),[class*=navbar-ct] .navbar-brand:not([class*=text]){color:#fff}.navbar-transparent .navbar-nav>li>a:not(.btn),[class*=navbar-ct] .navbar-nav>li>a:not(.btn){border-color:#fff;color:#fff;opacity:.8}.navbar-transparent .navbar-nav>.active>a:focus:not(.btn),.navbar-transparent .navbar-nav>.active>a:hover:not(.btn),.navbar-transparent .navbar-nav>.active>a:not(.btn),.navbar-transparent .navbar-nav>li>a:focus:not(.btn),.navbar-transparent .navbar-nav>li>a:hover:not(.btn),[class*=navbar-ct] .navbar-nav>.active>a:focus:not(.btn),[class*=navbar-ct] .navbar-nav>.active>a:hover:not(.btn),[class*=navbar-ct] .navbar-nav>.active>a:not(.btn),[class*=navbar-ct] .navbar-nav>li>a:focus:not(.btn),[class*=navbar-ct] .navbar-nav>li>a:hover:not(.btn){background-color:transparent;border-radius:3px;color:#fff;opacity:1}.navbar-transparent .navbar-nav .nav>li>a.btn:hover,[class*=navbar-ct] .navbar-nav .nav>li>a.btn:hover{background-color:transparent}.navbar-transparent .navbar-nav>.dropdown>a .caret,.navbar-transparent .navbar-nav>.dropdown>a:focus .caret,.navbar-transparent .navbar-nav>.dropdown>a:hover .caret,[class*=navbar-ct] .navbar-nav>.dropdown>a .caret,[class*=navbar-ct] .navbar-nav>.dropdown>a:focus .caret,[class*=navbar-ct] .navbar-nav>.dropdown>a:hover .caret{border-bottom-color:#fff;border-top-color:#fff}.navbar-transparent .navbar-nav>.open>a,.navbar-transparent .navbar-nav>.open>a:focus,.navbar-transparent .navbar-nav>.open>a:hover,[class*=navbar-ct] .navbar-nav>.open>a,[class*=navbar-ct] .navbar-nav>.open>a:focus,[class*=navbar-ct] .navbar-nav>.open>a:hover{background-color:transparent;color:#fff;opacity:1}.navbar-transparent .btn-default,[class*=navbar-ct] .btn-default{border-color:#fff;color:#fff}.navbar-transparent .btn-default.btn-fill,[class*=navbar-ct] .btn-default.btn-fill{background-color:#fff;color:#9a9a9a;opacity:.9}.navbar-transparent .btn-default.btn-fill.active,.navbar-transparent .btn-default.btn-fill:active,.navbar-transparent .btn-default.btn-fill:focus,.navbar-transparent .btn-default.btn-fill:hover,.navbar-transparent .open .dropdown-toggle.btn-fill.btn-default,[class*=navbar-ct] .btn-default.btn-fill.active,[class*=navbar-ct] .btn-default.btn-fill:active,[class*=navbar-ct] .btn-default.btn-fill:focus,[class*=navbar-ct] .btn-default.btn-fill:hover,[class*=navbar-ct] .open .dropdown-toggle.btn-fill.btn-default{border-color:#fff;opacity:1}.footer{background-attachment:fixed;line-height:20px;position:relative}.footer nav ul{font-weight:400;list-style:none;margin:0;padding:0}.footer nav ul li{display:inline-block;line-height:20px;margin:15px 3px;padding:10px 15px;text-align:center}.footer nav ul a:not(.btn){color:#4b4743;display:block;margin-bottom:3px}.footer nav ul a:not(.btn):focus,.footer nav ul a:not(.btn):hover{color:#403d39}.footer .copyright{color:#4b4743;font-size:14px;line-height:20px;margin:15px 3px;padding:10px 15px;text-align:center;white-space:nowrap}.footer .heart{color:#ff3636}.dropdown-menu{background-color:#fffcf5;border:0;border-radius:6px;box-shadow:0 2px rgba(17,16,15,.1),0 2px 10px rgba(17,16,15,.1);display:block;margin-top:10px;opacity:0;padding:0;position:absolute;visibility:hidden;z-index:9000}.open .dropdown-menu{opacity:1;visibility:visible}.dropdown-menu .divider{background-color:#f1eae0;margin:0}.dropdown-menu .dropdown-header{color:#9a9a9a;font-size:.8571em;padding:10px 15px}.select .dropdown-menu{border-radius:0 0 10px 10px;box-shadow:none;margin-top:-20px;transform:scale(1);transform-origin:50% -40px;transition:all .15s linear}.select.open .dropdown-menu{margin-top:-1px}.dropdown-menu>li>a{color:#4b4743;font-size:14px;padding:10px 15px;transition:none}.dropdown-menu>li>a img{margin-top:-3px}.dropdown-menu>li>a:focus{outline:0!important}.btn-group.select .dropdown-menu{min-width:100%}.dropdown-menu>li:first-child>a{border-top-left-radius:6px;border-top-right-radius:6px}.dropdown-menu>li:last-child>a{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.select .dropdown-menu>li:first-child>a{border-bottom:0;border-radius:0}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#2c2c2c;color:hsla(0,0%,71%,.7);opacity:1;text-decoration:none}.dropdown-menu.dropdown-info>li>a:focus,.dropdown-menu.dropdown-info>li>a:hover,.dropdown-menu.dropdown-primary>li>a:focus,.dropdown-menu.dropdown-primary>li>a:hover{background-color:#067ec1}.dropdown-menu.dropdown-success>li>a:focus,.dropdown-menu.dropdown-success>li>a:hover{background-color:#18ce0f}.dropdown-menu.dropdown-warning>li>a:focus,.dropdown-menu.dropdown-warning>li>a:hover{background-color:#ffb236}.dropdown-menu.dropdown-danger>li>a:focus,.dropdown-menu.dropdown-danger>li>a:hover{background-color:#ff3636}.btn-group.select{overflow:hidden}.btn-group.select.open{overflow:visible}.card{background-color:#fff;border:0;border-radius:.125rem;box-shadow:0 2px 2px hsla(38,16%,76%,.5);color:#2c2c2c;flex-direction:column;margin-bottom:20px;position:relative;z-index:1}.card .card-block{flex:1 1 auto;padding:1.25rem}.card a{color:#f96332}.card .image{border-radius:6px 6px 0 0;height:260px;overflow:hidden;position:relative;transform-style:preserve-3d;width:100%}.card .image img{width:100%}.card .content{padding:15px 15px 10px}.card .header{padding:0 0 10px}.card .description{color:#4b4743;font-size:1em}.card h5{font-size:1.57em;line-height:1.4em;margin-bottom:15px}.card h6{font-size:.8571em;margin:0}.card .category,.card label{font-size:14px;font-weight:400;margin-bottom:0;text-transform:capitalize}.card .category i,.card label i{font-size:1em}.card label{display:inline-block;font-size:15px;margin-bottom:5px;text-transform:capitalize;vertical-align:middle}.card .title{color:#2c2c2c;font-weight:300;margin:0}.card .avatar{border-radius:50%;height:50px;margin-right:5px;overflow:hidden;width:50px}.card .footer{line-height:30px;padding:0}.card .footer .legend{padding:5px 0}.card .footer hr{margin-bottom:5px;margin-top:5px}.card .stats{color:#a9a9a9;font-weight:300}.card .stats i{margin-right:2px;min-width:15px}.card .footer div,.card .stats i{display:inline-block}.card .author{font-size:.8571em;font-weight:600;text-transform:uppercase}.card .author i{font-size:14px}.card.card-separator:after{background-color:#ddd;content:"";height:100%;position:absolute;right:-15px;top:0;width:1px}.card .ct-chart{height:245px;margin:30px 0}.card .table tbody td:first-child,.card .table thead th:first-child{padding-left:15px}.card .table tbody td:last-child,.card .table thead th:last-child{padding-right:15px}.card .alert{border-radius:2px;position:relative}.card .alert.alert-with-icon{padding-left:65px}.card .icon-big{font-size:3em;min-height:64px}.card .numbers{font-size:2em;text-align:right}.card .numbers p{margin:0}.card ul.team-members li{padding:10px 0}.card ul.team-members li:not(:last-child){border-bottom:1px solid #f1eae0}.card .btn-primary{background-color:#067ec1;color:#fff}.card .btn-primary.active,.card .btn-primary.active:focus,.card .btn-primary.active:hover,.card .btn-primary:active,.card .btn-primary:active:focus,.card .btn-primary:active:hover,.card .btn-primary:focus,.card .btn-primary:hover,.open>.card .btn-primary.dropdown-toggle,.open>.card .btn-primary.dropdown-toggle:focus,.open>.card .btn-primary.dropdown-toggle:hover{background-color:#427c89;color:#fff}.card .btn-primary.disabled,.card .btn-primary.disabled.active,.card .btn-primary.disabled.focus,.card .btn-primary.disabled:active,.card .btn-primary.disabled:focus,.card .btn-primary.disabled:hover,.card .btn-primary:disabled,.card .btn-primary:disabled.active,.card .btn-primary:disabled.focus,.card .btn-primary:disabled:active,.card .btn-primary:disabled:focus,.card .btn-primary:disabled:hover,.card .btn-primary[disabled],.card .btn-primary[disabled].active,.card .btn-primary[disabled].focus,.card .btn-primary[disabled]:active,.card .btn-primary[disabled]:focus,.card .btn-primary[disabled]:hover,fieldset[disabled] .card .btn-primary,fieldset[disabled] .card .btn-primary.active,fieldset[disabled] .card .btn-primary.focus,fieldset[disabled] .card .btn-primary:active,fieldset[disabled] .card .btn-primary:focus,fieldset[disabled] .card .btn-primary:hover{background-color:#067ec1;border-color:#067ec1}.card .btn-primary.focus,.card .btn-primary:focus{box-shadow:none}.card .btn-primary.btn-simple{border-color:#067ec1;color:#067ec1}.card .btn-primary.btn-simple:active,.card .btn-primary.btn-simple:focus,.card .btn-primary.btn-simple:hover{background-color:transparent;border-color:#427c89;color:#427c89}.card .btn-primary.btn-link{color:#067ec1}.card .btn-primary.btn-link:active,.card .btn-primary.btn-link:focus,.card .btn-primary.btn-link:hover{background-color:transparent;color:#427c89;text-decoration:none}.card .btn-success{background-color:#18ce0f;color:#fff}.card .btn-success.active,.card .btn-success.active:focus,.card .btn-success.active:hover,.card .btn-success:active,.card .btn-success:active:focus,.card .btn-success:active:hover,.card .btn-success:focus,.card .btn-success:hover,.open>.card .btn-success.dropdown-toggle,.open>.card .btn-success.dropdown-toggle:focus,.open>.card .btn-success.dropdown-toggle:hover{background-color:#15b60d;color:#fff}.card .btn-success.disabled,.card .btn-success.disabled.active,.card .btn-success.disabled.focus,.card .btn-success.disabled:active,.card .btn-success.disabled:focus,.card .btn-success.disabled:hover,.card .btn-success:disabled,.card .btn-success:disabled.active,.card .btn-success:disabled.focus,.card .btn-success:disabled:active,.card .btn-success:disabled:focus,.card .btn-success:disabled:hover,.card .btn-success[disabled],.card .btn-success[disabled].active,.card .btn-success[disabled].focus,.card .btn-success[disabled]:active,.card .btn-success[disabled]:focus,.card .btn-success[disabled]:hover,fieldset[disabled] .card .btn-success,fieldset[disabled] .card .btn-success.active,fieldset[disabled] .card .btn-success.focus,fieldset[disabled] .card .btn-success:active,fieldset[disabled] .card .btn-success:focus,fieldset[disabled] .card .btn-success:hover{background-color:#18ce0f;border-color:#18ce0f}.card .btn-success.focus,.card .btn-success:focus{box-shadow:none}.card .btn-success.btn-simple{border-color:#18ce0f;color:#18ce0f}.card .btn-success.btn-simple:active,.card .btn-success.btn-simple:focus,.card .btn-success.btn-simple:hover{background-color:transparent;border-color:#15b60d;color:#15b60d}.card .btn-success.btn-link{color:#18ce0f}.card .btn-success.btn-link:active,.card .btn-success.btn-link:focus,.card .btn-success.btn-link:hover{background-color:transparent;color:#15b60d;text-decoration:none}.card .btn-info{background-color:#067ec1;color:#fff}.card .btn-info.active,.card .btn-info.active:focus,.card .btn-info.active:hover,.card .btn-info:active,.card .btn-info:active:focus,.card .btn-info:active:hover,.card .btn-info:focus,.card .btn-info:hover,.open>.card .btn-info.dropdown-toggle,.open>.card .btn-info.dropdown-toggle:focus,.open>.card .btn-info.dropdown-toggle:hover{background-color:#0688d0;color:#fff}.card .btn-info.disabled,.card .btn-info.disabled.active,.card .btn-info.disabled.focus,.card .btn-info.disabled:active,.card .btn-info.disabled:focus,.card .btn-info.disabled:hover,.card .btn-info:disabled,.card .btn-info:disabled.active,.card .btn-info:disabled.focus,.card .btn-info:disabled:active,.card .btn-info:disabled:focus,.card .btn-info:disabled:hover,.card .btn-info[disabled],.card .btn-info[disabled].active,.card .btn-info[disabled].focus,.card .btn-info[disabled]:active,.card .btn-info[disabled]:focus,.card .btn-info[disabled]:hover,fieldset[disabled] .card .btn-info,fieldset[disabled] .card .btn-info.active,fieldset[disabled] .card .btn-info.focus,fieldset[disabled] .card .btn-info:active,fieldset[disabled] .card .btn-info:focus,fieldset[disabled] .card .btn-info:hover{background-color:#067ec1;border-color:#067ec1}.card .btn-info.focus,.card .btn-info:focus{box-shadow:none}.card .btn-info.btn-simple{border-color:#067ec1;color:#067ec1}.card .btn-info.btn-simple:active,.card .btn-info.btn-simple:focus,.card .btn-info.btn-simple:hover{background-color:transparent;border-color:#0688d0;color:#0688d0}.card .btn-info.btn-link{color:#067ec1}.card .btn-info.btn-link:active,.card .btn-info.btn-link:focus,.card .btn-info.btn-link:hover{background-color:transparent;color:#0688d0;text-decoration:none}.card .btn-warning{background-color:#ffb236;color:#fff}.card .btn-warning.active,.card .btn-warning.active:focus,.card .btn-warning.active:hover,.card .btn-warning:active,.card .btn-warning:active:focus,.card .btn-warning:active:hover,.card .btn-warning:focus,.card .btn-warning:hover,.open>.card .btn-warning.dropdown-toggle,.open>.card .btn-warning.dropdown-toggle:focus,.open>.card .btn-warning.dropdown-toggle:hover{background-color:#ffa81d;color:#fff}.card .btn-warning.disabled,.card .btn-warning.disabled.active,.card .btn-warning.disabled.focus,.card .btn-warning.disabled:active,.card .btn-warning.disabled:focus,.card .btn-warning.disabled:hover,.card .btn-warning:disabled,.card .btn-warning:disabled.active,.card .btn-warning:disabled.focus,.card .btn-warning:disabled:active,.card .btn-warning:disabled:focus,.card .btn-warning:disabled:hover,.card .btn-warning[disabled],.card .btn-warning[disabled].active,.card .btn-warning[disabled].focus,.card .btn-warning[disabled]:active,.card .btn-warning[disabled]:focus,.card .btn-warning[disabled]:hover,fieldset[disabled] .card .btn-warning,fieldset[disabled] .card .btn-warning.active,fieldset[disabled] .card .btn-warning.focus,fieldset[disabled] .card .btn-warning:active,fieldset[disabled] .card .btn-warning:focus,fieldset[disabled] .card .btn-warning:hover{background-color:#ffb236;border-color:#ffb236}.card .btn-warning.focus,.card .btn-warning:focus{box-shadow:none}.card .btn-warning.btn-simple{border-color:#ffb236;color:#ffb236}.card .btn-warning.btn-simple:active,.card .btn-warning.btn-simple:focus,.card .btn-warning.btn-simple:hover{background-color:transparent;border-color:#ffa81d;color:#ffa81d}.card .btn-warning.btn-link{color:#ffb236}.card .btn-warning.btn-link:active,.card .btn-warning.btn-link:focus,.card .btn-warning.btn-link:hover{background-color:transparent;color:#ffa81d;text-decoration:none}.card .btn-danger{background-color:#ff3636;color:#fff}.card .btn-danger.active,.card .btn-danger.active:focus,.card .btn-danger.active:hover,.card .btn-danger:active,.card .btn-danger:active:focus,.card .btn-danger:active:hover,.card .btn-danger:focus,.card .btn-danger:hover,.open>.card .btn-danger.dropdown-toggle,.open>.card .btn-danger.dropdown-toggle:focus,.open>.card .btn-danger.dropdown-toggle:hover{background-color:#ff1d1d;color:#fff}.card .btn-danger.disabled,.card .btn-danger.disabled.active,.card .btn-danger.disabled.focus,.card .btn-danger.disabled:active,.card .btn-danger.disabled:focus,.card .btn-danger.disabled:hover,.card .btn-danger:disabled,.card .btn-danger:disabled.active,.card .btn-danger:disabled.focus,.card .btn-danger:disabled:active,.card .btn-danger:disabled:focus,.card .btn-danger:disabled:hover,.card .btn-danger[disabled],.card .btn-danger[disabled].active,.card .btn-danger[disabled].focus,.card .btn-danger[disabled]:active,.card .btn-danger[disabled]:focus,.card .btn-danger[disabled]:hover,fieldset[disabled] .card .btn-danger,fieldset[disabled] .card .btn-danger.active,fieldset[disabled] .card .btn-danger.focus,fieldset[disabled] .card .btn-danger:active,fieldset[disabled] .card .btn-danger:focus,fieldset[disabled] .card .btn-danger:hover{background-color:#ff3636;border-color:#ff3636}.card .btn-danger.focus,.card .btn-danger:focus{box-shadow:none}.card .btn-danger.btn-simple{border-color:#ff3636;color:#ff3636}.card .btn-danger.btn-simple:active,.card .btn-danger.btn-simple:focus,.card .btn-danger.btn-simple:hover{background-color:transparent;border-color:#ff1d1d;color:#ff1d1d}.card .btn-danger.btn-link{color:#ff3636}.card .btn-danger.btn-link:active,.card .btn-danger.btn-link:focus,.card .btn-danger.btn-link:hover{background-color:transparent;color:#ff1d1d;text-decoration:none}.card .btn-neutral,.card .btn-neutral.active,.card .btn-neutral.active:focus,.card .btn-neutral.active:hover,.card .btn-neutral:active,.card .btn-neutral:active:focus,.card .btn-neutral:active:hover,.card .btn-neutral:focus,.card .btn-neutral:hover,.open>.card .btn-neutral.dropdown-toggle,.open>.card .btn-neutral.dropdown-toggle:focus,.open>.card .btn-neutral.dropdown-toggle:hover{background-color:#fff;color:#fff}.card .btn-neutral.disabled,.card .btn-neutral.disabled.active,.card .btn-neutral.disabled.focus,.card .btn-neutral.disabled:active,.card .btn-neutral.disabled:focus,.card .btn-neutral.disabled:hover,.card .btn-neutral:disabled,.card .btn-neutral:disabled.active,.card .btn-neutral:disabled.focus,.card .btn-neutral:disabled:active,.card .btn-neutral:disabled:focus,.card .btn-neutral:disabled:hover,.card .btn-neutral[disabled],.card .btn-neutral[disabled].active,.card .btn-neutral[disabled].focus,.card .btn-neutral[disabled]:active,.card .btn-neutral[disabled]:focus,.card .btn-neutral[disabled]:hover,fieldset[disabled] .card .btn-neutral,fieldset[disabled] .card .btn-neutral.active,fieldset[disabled] .card .btn-neutral.focus,fieldset[disabled] .card .btn-neutral:active,fieldset[disabled] .card .btn-neutral:focus,fieldset[disabled] .card .btn-neutral:hover{background-color:#fff;border-color:#fff}.card .btn-neutral.focus,.card .btn-neutral:focus{box-shadow:none}.card .btn-neutral.btn-danger{color:#ff3636}.card .btn-neutral.btn-danger:active,.card .btn-neutral.btn-danger:focus,.card .btn-neutral.btn-danger:hover{color:#ff1d1d}.card .btn-neutral.btn-info{color:#fff}.card .btn-neutral.btn-info:active,.card .btn-neutral.btn-info:focus,.card .btn-neutral.btn-info:hover{color:#0688d0}.card .btn-neutral.btn-warning{color:#fff}.card .btn-neutral.btn-warning:active,.card .btn-neutral.btn-warning:focus,.card .btn-neutral.btn-warning:hover{color:#ffa81d}.card .btn-neutral.btn-success{color:#fff}.card .btn-neutral.btn-success:active,.card .btn-neutral.btn-success:focus,.card .btn-neutral.btn-success:hover{color:#15b60d}.card .btn-neutral.btn-default{color:#fff}.card .btn-neutral.btn-default:active,.card .btn-neutral.btn-default:focus,.card .btn-neutral.btn-default:hover{color:#403d39}.card .btn-neutral.active,.card .btn-neutral.active:focus,.card .btn-neutral.active:hover,.card .btn-neutral:active:focus,.card .btn-neutral:active:hover,.open>.card .btn-neutral.dropdown-toggle,.open>.card .btn-neutral.dropdown-toggle:focus,.open>.card .btn-neutral.dropdown-toggle:hover{background-color:#fff;color:#067ec1}.card .btn-neutral:active,.card .btn-neutral:focus,.card .btn-neutral:hover{color:#427c89}.card .btn-neutral.btn-simple{border-color:#fff;color:#fff}.card .btn-neutral.btn-simple:active,.card .btn-neutral.btn-simple:focus,.card .btn-neutral.btn-simple:hover{background-color:transparent;border-color:#fff;color:#fff}.card .btn-neutral.btn-link{color:#fff}.card .btn-neutral.btn-link:active,.card .btn-neutral.btn-link:focus,.card .btn-neutral.btn-link:hover{background-color:transparent;color:#fff;text-decoration:none}.card-user .image{border-radius:8px 8px 0 0;height:150px;overflow:hidden;position:relative}.card-user .image img{width:100%}.card-user .image-plain{height:0;margin-top:110px}.card-user .author{margin-top:-65px;text-align:center;text-transform:none}.card-user .author .title{color:#403d39}.card-user .author .title small{color:#ccc5b9}.card-user .avatar{border-radius:50%;height:100px;margin-bottom:15px;position:relative;width:100px}.card-user .avatar.border-white{border:5px solid #fff}.card-user .avatar.border-gray{border:5px solid #ccc5b9}.card-user .title{font-weight:600;line-height:24px}.card-user .description{margin-top:10px}.card-user .content{min-height:200px}.card-user.card-plain .avatar{height:190px;width:190px}.card-map .map{height:500px;padding-top:20px}.card-map .map>div{height:100%}.card-price .footer,.card-user .footer{padding:5px 15px 10px}.card-price hr,.card-user hr{margin:5px 15px}.card-plain{background-color:transparent;border-radius:0;box-shadow:none}.card-plain .image{border-radius:4px}.ct-label{fill:rgba(0,0,0,.4);color:rgba(0,0,0,.4);font-size:.9em;line-height:1}.ct-chart-bar .ct-label,.ct-chart-line .ct-label{display:block;display:flex}.ct-label.ct-horizontal.ct-start{text-anchor:start;align-items:flex-end;justify-content:flex-start;text-align:left}.ct-label.ct-horizontal.ct-end{text-anchor:start;align-items:flex-start;justify-content:flex-start;text-align:left}.ct-label.ct-vertical.ct-start{text-anchor:end;align-items:flex-end;justify-content:flex-end;text-align:right}.ct-label.ct-vertical.ct-end{text-anchor:start;align-items:flex-end;justify-content:flex-start;text-align:left}.ct-chart-bar .ct-label.ct-horizontal.ct-start{text-anchor:start;align-items:flex-end;justify-content:center;text-align:center}.ct-chart-bar .ct-label.ct-horizontal.ct-end{text-anchor:start;align-items:flex-start;justify-content:center;text-align:center}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start{text-anchor:start;align-items:flex-end;justify-content:flex-start;text-align:left}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end{text-anchor:start;align-items:flex-start;justify-content:flex-start;text-align:left}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start{text-anchor:end;align-items:center;justify-content:flex-end;text-align:right}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end{text-anchor:end;align-items:center;justify-content:flex-start;text-align:left}.ct-grid{stroke:rgba(0,0,0,.2);stroke-width:1px;stroke-dasharray:2px}.ct-point{stroke-width:10px;stroke-linecap:round}.ct-line{fill:none;stroke-width:4px}.ct-area{stroke:none;fill-opacity:.7}.ct-bar{fill:none;stroke-width:10px}.ct-slice-donut{fill:none;stroke-width:60px}.ct-series-a .ct-bar,.ct-series-a .ct-line,.ct-series-a .ct-point,.ct-series-a .ct-slice-donut{stroke:#067ec1}.ct-series-a .ct-area,.ct-series-a .ct-slice-pie{fill:#067ec1}.ct-series-b .ct-bar,.ct-series-b .ct-line,.ct-series-b .ct-point,.ct-series-b .ct-slice-donut{stroke:#ffb236}.ct-series-b .ct-area,.ct-series-b .ct-slice-pie{fill:#ffb236}.ct-series-c .ct-bar,.ct-series-c .ct-line,.ct-series-c .ct-point,.ct-series-c .ct-slice-donut{stroke:#ff3636}.ct-series-c .ct-area,.ct-series-c .ct-slice-pie{fill:#ff3636}.ct-series-d .ct-bar,.ct-series-d .ct-line,.ct-series-d .ct-point,.ct-series-d .ct-slice-donut{stroke:#18ce0f}.ct-series-d .ct-area,.ct-series-d .ct-slice-pie{fill:#18ce0f}.ct-series-e .ct-bar,.ct-series-e .ct-line,.ct-series-e .ct-point,.ct-series-e .ct-slice-donut{stroke:#067ec1}.ct-series-e .ct-area,.ct-series-e .ct-slice-pie{fill:#067ec1}.ct-series-f .ct-bar,.ct-series-f .ct-line,.ct-series-f .ct-point,.ct-series-f .ct-slice-donut{stroke:rgba(6,126,193,.8)}.ct-series-f .ct-area,.ct-series-f .ct-slice-pie{fill:rgba(6,126,193,.8)}.ct-series-g .ct-bar,.ct-series-g .ct-line,.ct-series-g .ct-point,.ct-series-g .ct-slice-donut{stroke:rgba(24,206,15,.8)}.ct-series-g .ct-area,.ct-series-g .ct-slice-pie{fill:rgba(24,206,15,.8)}.ct-series-h .ct-bar,.ct-series-h .ct-line,.ct-series-h .ct-point,.ct-series-h .ct-slice-donut{stroke:rgba(255,178,54,.8)}.ct-series-h .ct-area,.ct-series-h .ct-slice-pie{fill:rgba(255,178,54,.8)}.ct-series-i .ct-bar,.ct-series-i .ct-line,.ct-series-i .ct-point,.ct-series-i .ct-slice-donut{stroke:rgba(255,54,54,.8)}.ct-series-i .ct-area,.ct-series-i .ct-slice-pie{fill:rgba(255,54,54,.8)}.ct-series-j .ct-bar,.ct-series-j .ct-line,.ct-series-j .ct-point,.ct-series-j .ct-slice-donut{stroke:rgba(6,126,193,.8)}.ct-series-j .ct-area,.ct-series-j .ct-slice-pie{fill:rgba(6,126,193,.8)}.ct-series-k .ct-bar,.ct-series-k .ct-line,.ct-series-k .ct-point,.ct-series-k .ct-slice-donut{stroke:rgba(6,126,193,.6)}.ct-series-k .ct-area,.ct-series-k .ct-slice-pie{fill:rgba(6,126,193,.6)}.ct-series-l .ct-bar,.ct-series-l .ct-line,.ct-series-l .ct-point,.ct-series-l .ct-slice-donut{stroke:rgba(24,206,15,.6)}.ct-series-l .ct-area,.ct-series-l .ct-slice-pie{fill:rgba(24,206,15,.6)}.ct-series-m .ct-bar,.ct-series-m .ct-line,.ct-series-m .ct-point,.ct-series-m .ct-slice-donut{stroke:rgba(255,178,54,.6)}.ct-series-m .ct-area,.ct-series-m .ct-slice-pie{fill:rgba(255,178,54,.6)}.ct-series-n .ct-bar,.ct-series-n .ct-line,.ct-series-n .ct-point,.ct-series-n .ct-slice-donut{stroke:rgba(255,54,54,.6)}.ct-series-n .ct-area,.ct-series-n .ct-slice-pie{fill:rgba(255,54,54,.6)}.ct-series-o .ct-bar,.ct-series-o .ct-line,.ct-series-o .ct-point,.ct-series-o .ct-slice-donut{stroke:rgba(6,126,193,.6)}.ct-series-o .ct-area,.ct-series-o .ct-slice-pie{fill:rgba(6,126,193,.6)}.ct-square{display:block;position:relative;width:100%}.ct-square:before{content:"";display:block;float:left;height:0;padding-bottom:100%;width:0}.ct-square:after{clear:both;content:"";display:table}.ct-square>svg{display:block;left:0;position:absolute;top:0}.ct-minor-second{display:block;position:relative;width:100%}.ct-minor-second:before{content:"";display:block;float:left;height:0;padding-bottom:93.75%;width:0}.ct-minor-second:after{clear:both;content:"";display:table}.ct-minor-second>svg{display:block;left:0;position:absolute;top:0}.ct-major-second{display:block;position:relative;width:100%}.ct-major-second:before{content:"";display:block;float:left;height:0;padding-bottom:88.8888888889%;width:0}.ct-major-second:after{clear:both;content:"";display:table}.ct-major-second>svg{display:block;left:0;position:absolute;top:0}.ct-minor-third{display:block;position:relative;width:100%}.ct-minor-third:before{content:"";display:block;float:left;height:0;padding-bottom:83.3333333333%;width:0}.ct-minor-third:after{clear:both;content:"";display:table}.ct-minor-third>svg{display:block;left:0;position:absolute;top:0}.ct-major-third{display:block;position:relative;width:100%}.ct-major-third:before{content:"";display:block;float:left;height:0;padding-bottom:80%;width:0}.ct-major-third:after{clear:both;content:"";display:table}.ct-major-third>svg{display:block;left:0;position:absolute;top:0}.ct-perfect-fourth{display:block;position:relative;width:100%}.ct-perfect-fourth:before{content:"";display:block;float:left;height:0;padding-bottom:75%;width:0}.ct-perfect-fourth:after{clear:both;content:"";display:table}.ct-perfect-fourth>svg{display:block;left:0;position:absolute;top:0}.ct-perfect-fifth{display:block;position:relative;width:100%}.ct-perfect-fifth:before{content:"";display:block;float:left;height:0;padding-bottom:66.6666666667%;width:0}.ct-perfect-fifth:after{clear:both;content:"";display:table}.ct-perfect-fifth>svg{display:block;left:0;position:absolute;top:0}.ct-minor-sixth{display:block;position:relative;width:100%}.ct-minor-sixth:before{content:"";display:block;float:left;height:0;padding-bottom:62.5%;width:0}.ct-minor-sixth:after{clear:both;content:"";display:table}.ct-minor-sixth>svg{display:block;left:0;position:absolute;top:0}.ct-golden-section{display:block;position:relative;width:100%}.ct-golden-section:before{content:"";display:block;float:left;height:0;padding-bottom:61.804697157%;width:0}.ct-golden-section:after{clear:both;content:"";display:table}.ct-golden-section>svg{display:block;left:0;position:absolute;top:0}.ct-major-sixth{display:block;position:relative;width:100%}.ct-major-sixth:before{content:"";display:block;float:left;height:0;padding-bottom:60%;width:0}.ct-major-sixth:after{clear:both;content:"";display:table}.ct-major-sixth>svg{display:block;left:0;position:absolute;top:0}.ct-minor-seventh{display:block;position:relative;width:100%}.ct-minor-seventh:before{content:"";display:block;float:left;height:0;padding-bottom:56.25%;width:0}.ct-minor-seventh:after{clear:both;content:"";display:table}.ct-minor-seventh>svg{display:block;left:0;position:absolute;top:0}.ct-major-seventh{display:block;position:relative;width:100%}.ct-major-seventh:before{content:"";display:block;float:left;height:0;padding-bottom:53.3333333333%;width:0}.ct-major-seventh:after{clear:both;content:"";display:table}.ct-major-seventh>svg{display:block;left:0;position:absolute;top:0}.ct-octave{display:block;position:relative;width:100%}.ct-octave:before{content:"";display:block;float:left;height:0;padding-bottom:50%;width:0}.ct-octave:after{clear:both;content:"";display:table}.ct-octave>svg{display:block;left:0;position:absolute;top:0}.ct-major-tenth{display:block;position:relative;width:100%}.ct-major-tenth:before{content:"";display:block;float:left;height:0;padding-bottom:40%;width:0}.ct-major-tenth:after{clear:both;content:"";display:table}.ct-major-tenth>svg{display:block;left:0;position:absolute;top:0}.ct-major-eleventh{display:block;position:relative;width:100%}.ct-major-eleventh:before{content:"";display:block;float:left;height:0;padding-bottom:37.5%;width:0}.ct-major-eleventh:after{clear:both;content:"";display:table}.ct-major-eleventh>svg{display:block;left:0;position:absolute;top:0}.ct-major-twelfth{display:block;position:relative;width:100%}.ct-major-twelfth:before{content:"";display:block;float:left;height:0;padding-bottom:33.3333333333%;width:0}.ct-major-twelfth:after{clear:both;content:"";display:table}.ct-major-twelfth>svg{display:block;left:0;position:absolute;top:0}.ct-double-octave{display:block;position:relative;width:100%}.ct-double-octave:before{content:"";display:block;float:left;height:0;padding-bottom:25%;width:0}.ct-double-octave:after{clear:both;content:"";display:table}.ct-double-octave>svg{display:block;left:0;position:absolute;top:0}@media (min-width:992px){.navbar{min-height:75px}.navbar-form{margin-bottom:21px;margin-top:21px;padding-left:5px;padding-right:5px}.navbar-search-form{display:none}.dropdown .dropdown-menu,.navbar-nav>li>.dropdown-menu{transform:translate3d(0,-40px,0);transition:all .3s cubic-bezier(.215,.61,.355,1) 0s,opacity .3s ease 0s,height 0s linear .35s}.dropdown.open .dropdown-menu,.navbar-nav>li.open>.dropdown-menu{transform:translateZ(0)}.navbar-nav>li>.dropdown-menu:before{border-bottom:11px solid #f1eae0;top:-11px}.navbar-nav>li>.dropdown-menu:after,.navbar-nav>li>.dropdown-menu:before{border-left:11px solid transparent;border-right:11px solid transparent;content:"";display:inline-block;position:absolute;right:12px}.navbar-nav>li>.dropdown-menu:after{border-bottom:11px solid #fffcf5;top:-10px}.navbar-nav.navbar-left>li>.dropdown-menu:after,.navbar-nav.navbar-left>li>.dropdown-menu:before{left:12px;right:auto}.navbar .navbar-header{margin-left:10px}.footer:not(.footer-big) nav>ul li:first-child{margin-left:0}body>.navbar-collapse.collapse{display:none!important}.card form [class*=col-]{padding:6px}.card form [class*=col-]:first-child{padding-left:15px}.card form [class*=col-]:last-child{padding-right:15px}}@media (max-width:991px){.sidebar{display:none}.main-panel{width:100%}.navbar-transparent{background-color:rgba(0,0,0,.45);padding-top:15px}body{position:relative}h6{font-size:1em}.wrapper{background-color:#fff;transform:translateZ(0)}.navbar .container,.wrapper{left:0;transition:all .33s cubic-bezier(.685,.0473,.346,1)}.navbar .container{position:relative;width:100%}.navbar .navbar-collapse.collapse,.navbar .navbar-collapse.collapse.in,.navbar .navbar-collapse.collapsing{display:none!important}.navbar-nav>li{display:block;float:none;position:relative}.off-canvas-sidebar{background-color:#999;border-top:none;display:block;height:100%;overflow-y:visible;padding-left:0;padding-right:0;position:fixed;right:0;text-align:left;top:0;transform:translate3d(230px,0,0);transition:all .33s cubic-bezier(.685,.0473,.346,1);visibility:visible;width:230px;z-index:1032}.off-canvas-sidebar .sidebar-wrapper{box-shadow:inset 1px 0 0 0 #ddd;height:100%;overflow-y:scroll;position:relative;z-index:3}.off-canvas-sidebar .nav{margin-top:0;padding:10px 15px 0}.off-canvas-sidebar .nav>li>a{color:#2c2c2c;font-size:.8571em;font-weight:600;line-height:1.4em;margin:0;padding:10px 0;text-transform:uppercase}.off-canvas-sidebar .nav>li>a.active,.off-canvas-sidebar .nav>li>a:hover{color:#403d39}.off-canvas-sidebar .nav>li>a .caret,.off-canvas-sidebar .nav>li>a .notification,.off-canvas-sidebar .nav>li>a p{display:inline-block}.off-canvas-sidebar .nav>li>a .caret{float:right;position:relative;top:12px}.off-canvas-sidebar .nav>li>a i{font-size:18px;line-height:26px;margin-right:10px}.off-canvas-sidebar .nav>li.active>a:before{border:12px solid transparent;border-left:12px solid #ddd;border-right:none;left:0;margin-left:-15px;right:auto;top:10px}.off-canvas-sidebar .nav>li.active>a:after{border:12px solid transparent;border-left:12px solid #ebeff2;border-right:none;left:-1px;margin-left:-15px;right:auto;top:10px}.off-canvas-sidebar:after{background-color:#ebeff2;background-image:linear-gradient(180deg,transparent 0,hsla(0,0%,44%,0) 60%,hsla(0,0%,73%,.15))}.off-canvas-sidebar.has-image:after,.off-canvas-sidebar:after{content:"";display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.off-canvas-sidebar.has-image:after{background-color:hsla(0,0%,7%,.8)}.off-canvas-sidebar .logo{padding-bottom:11px;padding-top:11px;position:relative;z-index:4}.off-canvas-sidebar .divider{height:1px;margin:10px 0}.nav-open .navbar-collapse{transform:translateZ(0)}.nav-open .navbar .container{left:-230px}.nav-open .wrapper{left:0;transform:translate3d(-230px,0,0)}.navbar-toggle .icon-bar{background:#fff;border-radius:1px;display:block;height:2px;margin:0 auto;position:relative;width:24px}.navbar-header .navbar-toggle{height:40px;margin:10px 15px 10px 0;width:40px}.bar1,.bar2,.bar3{outline:1px solid transparent}.bar1{-webkit-animation:topbar-back .5s linear 0s;animation:topbar-back .5s 0s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;top:0}.bar2{opacity:1}.bar3{-webkit-animation:bottombar-back .5s linear 0s;animation:bottombar-back .5s 0s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;bottom:0}.toggled .bar1{-webkit-animation:topbar-x .5s linear 0s;animation:topbar-x .5s 0s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;top:6px}.toggled .bar2{opacity:0}.toggled .bar3{-webkit-animation:bottombar-x .5s linear 0s;animation:bottombar-x .5s 0s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;bottom:6px}@keyframes topbar-x{0%{top:0;transform:rotate(0)}45%{top:6px;transform:rotate(145deg)}75%{transform:rotate(130deg)}to{transform:rotate(135deg)}}@-webkit-keyframes topbar-x{0%{top:0;-webkit-transform:rotate(0)}45%{top:6px;-webkit-transform:rotate(145deg)}75%{-webkit-transform:rotate(130deg)}to{-webkit-transform:rotate(135deg)}}@keyframes topbar-back{0%{top:6px;transform:rotate(135deg)}45%{transform:rotate(-10deg)}75%{transform:rotate(5deg)}to{top:0;transform:rotate(0)}}@-webkit-keyframes topbar-back{0%{top:6px;-webkit-transform:rotate(135deg)}45%{-webkit-transform:rotate(-10deg)}75%{-webkit-transform:rotate(5deg)}to{top:0;-webkit-transform:rotate(0)}}@keyframes bottombar-x{0%{bottom:0;transform:rotate(0)}45%{bottom:6px;transform:rotate(-145deg)}75%{transform:rotate(-130deg)}to{transform:rotate(-135deg)}}@-webkit-keyframes bottombar-x{0%{bottom:0;-webkit-transform:rotate(0)}45%{bottom:6px;-webkit-transform:rotate(-145deg)}75%{-webkit-transform:rotate(-130deg)}to{-webkit-transform:rotate(-135deg)}}@keyframes bottombar-back{0%{bottom:6px;transform:rotate(-135deg)}45%{transform:rotate(10deg)}75%{transform:rotate(-5deg)}to{bottom:0;transform:rotate(0)}}@-webkit-keyframes bottombar-back{0%{bottom:6px;-webkit-transform:rotate(-135deg)}45%{-webkit-transform:rotate(10deg)}75%{-webkit-transform:rotate(-5deg)}to{bottom:0;-webkit-transform:rotate(0)}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dropdown-menu .divider{background-color:hsla(0,0%,90%,.15)}.navbar-nav{margin:1px 0}.dropdown-menu{display:none}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:transparent}.navbar-fixed-top{-webkit-backface-visibility:hidden}#bodyClick{content:"";height:100%;left:auto;opacity:0;overflow-x:hidden;position:fixed;right:230px;top:0;width:100%;z-index:9999}.form-control+.form-control-feedback{margin-top:-8px}.navbar-toggle:focus,.navbar-toggle:hover{background-color:transparent!important}.btn.dropdown-toggle{margin-bottom:0}.media-post .author{display:block;float:none!important;margin:0 auto 10px;width:20%}.media-post .media-body{width:100%}.navbar-collapse.collapse{height:100%!important}.navbar-collapse.collapse.in{display:block}.navbar-header .collapse,.navbar-toggle{display:block!important}.navbar-header{float:none}.navbar-nav .open .dropdown-menu{background-color:transparent;border:0;box-shadow:none;float:none;margin-top:0;position:static;width:auto}.main-panel>.content{padding-left:0;padding-right:0}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:transparent}.footer .copyright{padding:0 15px;width:100%}}@media (min-width:992px){.table-full-width{margin-left:-15px;margin-right:-15px}.table-responsive{overflow:visible}}@media (max-width:991px){.table-responsive{-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch;border:1px solid #ddd;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;width:100%}}.form-container{border:0;border-radius:2px;display:inline-block;font-weight:700;overflow:hidden;position:relative;width:100%}.form-container h6{background-color:hsla(0,0%,87%,.3);font-size:15px;padding:7px}.form-container .form-container-body{padding:8px}@font-face{font-family:Pe-icon-7-stroke;font-style:normal;font-weight:400;src:url(../../fonts/Pe-icon-7-stroke.eot?d7yf1v);src:url(../../fonts/Pe-icon-7-stroke.eot?#iefixd7yf1v) format("embedded-opentype"),url(../../fonts/Pe-icon-7-stroke.woff?d7yf1v) format("woff"),url(../../fonts/Pe-icon-7-stroke.ttf?d7yf1v) format("truetype"),url(../../fonts/Pe-icon-7-stroke.svg?d7yf1v#Pe-icon-7-stroke) format("svg")}[class*=" pe-7s-"],[class^=pe-7s-]{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:Pe-icon-7-stroke;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none}/*! Modified from font-awesome helper CSS classes - PIXEDEN * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (CSS: MIT License) - */.pe-lg{font-size:18.62px;line-height:.75em;vertical-align:-15%}.pe-2x{font-size:28px}.pe-3x{font-size:42px}.pe-4x{font-size:56px}.pe-5x{font-size:70px}.pe-fw{text-align:center;width:1.2857142857em}.pe-ul{list-style-type:none;margin-left:2.1428571429em;padding-left:0}.pe-ul>li{position:relative}.pe-li{left:-2.1428571429em;position:absolute;text-align:center;top:.1428571429em;width:2.1428571429em}.pe-li.pe-lg{left:-1.8571428571em}.pe-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.pull-right{float:right}.pe.pull-left{float:left;margin-left:.3em;margin-right:.3em}.pe-spin{-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.pe-rotate-90{transform:rotate(90deg)}.pe-rotate-180{transform:rotate(180deg)}.pe-rotate-270{transform:rotate(270deg)}.pe-flip-horizontal{transform:scaleX(-1)}.pe-flip-vertical{transform:scaleY(-1)}.pe-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.pe-stack-1x,.pe-stack-2x{left:0;position:absolute;text-align:center;width:100%}.pe-stack-1x{line-height:inherit}.pe-stack-2x{font-size:2em}.pe-inverse{color:#fff}.pe-va{vertical-align:middle}.pe-border{border:.08em solid #eaeaea}.pe-7s-album:before{content:""}.pe-7s-arc:before{content:""}.pe-7s-back-2:before{content:""}.pe-7s-bandaid:before{content:""}.pe-7s-car:before{content:""}.pe-7s-diamond:before{content:""}.pe-7s-door-lock:before{content:""}.pe-7s-eyedropper:before{content:""}.pe-7s-female:before{content:""}.pe-7s-gym:before{content:""}.pe-7s-hammer:before{content:""}.pe-7s-headphones:before{content:""}.pe-7s-helm:before{content:""}.pe-7s-hourglass:before{content:""}.pe-7s-leaf:before{content:""}.pe-7s-magic-wand:before{content:""}.pe-7s-male:before{content:""}.pe-7s-map-2:before{content:""}.pe-7s-next-2:before{content:""}.pe-7s-paint-bucket:before{content:""}.pe-7s-pendrive:before{content:""}.pe-7s-photo:before{content:""}.pe-7s-piggy:before{content:""}.pe-7s-plugin:before{content:""}.pe-7s-refresh-2:before{content:""}.pe-7s-rocket:before{content:""}.pe-7s-settings:before{content:""}.pe-7s-shield:before{content:""}.pe-7s-smile:before{content:""}.pe-7s-usb:before{content:""}.pe-7s-vector:before{content:""}.pe-7s-wine:before{content:""}.pe-7s-cloud-upload:before{content:""}.pe-7s-cash:before{content:""}.pe-7s-close:before{content:""}.pe-7s-bluetooth:before{content:""}.pe-7s-cloud-download:before{content:""}.pe-7s-way:before{content:""}.pe-7s-close-circle:before{content:""}.pe-7s-id:before{content:""}.pe-7s-angle-up:before{content:""}.pe-7s-wristwatch:before{content:""}.pe-7s-angle-up-circle:before{content:""}.pe-7s-world:before{content:""}.pe-7s-angle-right:before{content:""}.pe-7s-volume:before{content:""}.pe-7s-angle-right-circle:before{content:""}.pe-7s-users:before{content:""}.pe-7s-angle-left:before{content:""}.pe-7s-user-female:before{content:""}.pe-7s-angle-left-circle:before{content:""}.pe-7s-up-arrow:before{content:""}.pe-7s-angle-down:before{content:""}.pe-7s-switch:before{content:""}.pe-7s-angle-down-circle:before{content:""}.pe-7s-scissors:before{content:""}.pe-7s-wallet:before{content:""}.pe-7s-safe:before{content:""}.pe-7s-volume2:before{content:""}.pe-7s-volume1:before{content:""}.pe-7s-voicemail:before{content:""}.pe-7s-video:before{content:""}.pe-7s-user:before{content:""}.pe-7s-upload:before{content:""}.pe-7s-unlock:before{content:""}.pe-7s-umbrella:before{content:""}.pe-7s-trash:before{content:""}.pe-7s-tools:before{content:""}.pe-7s-timer:before{content:""}.pe-7s-ticket:before{content:""}.pe-7s-target:before{content:""}.pe-7s-sun:before{content:""}.pe-7s-study:before{content:""}.pe-7s-stopwatch:before{content:""}.pe-7s-star:before{content:""}.pe-7s-speaker:before{content:""}.pe-7s-signal:before{content:""}.pe-7s-shuffle:before{content:""}.pe-7s-shopbag:before{content:""}.pe-7s-share:before{content:""}.pe-7s-server:before{content:""}.pe-7s-search:before{content:""}.pe-7s-film:before{content:""}.pe-7s-science:before{content:""}.pe-7s-disk:before{content:""}.pe-7s-ribbon:before{content:""}.pe-7s-repeat:before{content:""}.pe-7s-refresh:before{content:""}.pe-7s-add-user:before{content:""}.pe-7s-refresh-cloud:before{content:""}.pe-7s-paperclip:before{content:""}.pe-7s-radio:before{content:""}.pe-7s-note2:before{content:""}.pe-7s-print:before{content:""}.pe-7s-network:before{content:""}.pe-7s-prev:before{content:""}.pe-7s-mute:before{content:""}.pe-7s-power:before{content:""}.pe-7s-medal:before{content:""}.pe-7s-portfolio:before{content:""}.pe-7s-like2:before{content:""}.pe-7s-plus:before{content:""}.pe-7s-left-arrow:before{content:""}.pe-7s-play:before{content:""}.pe-7s-key:before{content:""}.pe-7s-plane:before{content:""}.pe-7s-joy:before{content:""}.pe-7s-photo-gallery:before{content:""}.pe-7s-pin:before{content:""}.pe-7s-phone:before{content:""}.pe-7s-plug:before{content:""}.pe-7s-pen:before{content:""}.pe-7s-right-arrow:before{content:""}.pe-7s-paper-plane:before{content:""}.pe-7s-delete-user:before{content:""}.pe-7s-paint:before{content:""}.pe-7s-bottom-arrow:before{content:""}.pe-7s-notebook:before{content:""}.pe-7s-note:before{content:""}.pe-7s-next:before{content:""}.pe-7s-news-paper:before{content:""}.pe-7s-musiclist:before{content:""}.pe-7s-music:before{content:""}.pe-7s-mouse:before{content:""}.pe-7s-more:before{content:""}.pe-7s-moon:before{content:""}.pe-7s-monitor:before{content:""}.pe-7s-micro:before{content:""}.pe-7s-menu:before{content:""}.pe-7s-map:before{content:""}.pe-7s-map-marker:before{content:""}.pe-7s-mail:before{content:""}.pe-7s-mail-open:before{content:""}.pe-7s-mail-open-file:before{content:""}.pe-7s-magnet:before{content:""}.pe-7s-loop:before{content:""}.pe-7s-look:before{content:""}.pe-7s-lock:before{content:""}.pe-7s-lintern:before{content:""}.pe-7s-link:before{content:""}.pe-7s-like:before{content:""}.pe-7s-light:before{content:""}.pe-7s-less:before{content:""}.pe-7s-keypad:before{content:""}.pe-7s-junk:before{content:""}.pe-7s-info:before{content:""}.pe-7s-home:before{content:""}.pe-7s-help2:before{content:""}.pe-7s-help1:before{content:""}.pe-7s-graph3:before{content:""}.pe-7s-graph2:before{content:""}.pe-7s-graph1:before{content:""}.pe-7s-graph:before{content:""}.pe-7s-global:before{content:""}.pe-7s-gleam:before{content:""}.pe-7s-glasses:before{content:""}.pe-7s-gift:before{content:""}.pe-7s-folder:before{content:""}.pe-7s-flag:before{content:""}.pe-7s-filter:before{content:""}.pe-7s-file:before{content:""}.pe-7s-expand1:before{content:""}.pe-7s-exapnd2:before{content:""}.pe-7s-edit:before{content:""}.pe-7s-drop:before{content:""}.pe-7s-drawer:before{content:""}.pe-7s-download:before{content:""}.pe-7s-display2:before{content:""}.pe-7s-display1:before{content:""}.pe-7s-diskette:before{content:""}.pe-7s-date:before{content:""}.pe-7s-cup:before{content:""}.pe-7s-culture:before{content:""}.pe-7s-crop:before{content:""}.pe-7s-credit:before{content:""}.pe-7s-copy-file:before{content:""}.pe-7s-config:before{content:""}.pe-7s-compass:before{content:""}.pe-7s-comment:before{content:""}.pe-7s-coffee:before{content:""}.pe-7s-cloud:before{content:""}.pe-7s-clock:before{content:""}.pe-7s-check:before{content:""}.pe-7s-chat:before{content:""}.pe-7s-cart:before{content:""}.pe-7s-camera:before{content:""}.pe-7s-call:before{content:""}.pe-7s-calculator:before{content:""}.pe-7s-browser:before{content:""}.pe-7s-box2:before{content:""}.pe-7s-box1:before{content:""}.pe-7s-bookmarks:before{content:""}.pe-7s-bicycle:before{content:""}.pe-7s-bell:before{content:""}.pe-7s-battery:before{content:""}.pe-7s-ball:before{content:""}.pe-7s-back:before{content:""}.pe-7s-attention:before{content:""}.pe-7s-anchor:before{content:""}.pe-7s-albums:before{content:""}.pe-7s-alarm:before{content:""}.pe-7s-airplay:before{content:""} + */.pe-lg{font-size:18.62px;line-height:.75em;vertical-align:-15%}.pe-2x{font-size:28px}.pe-3x{font-size:42px}.pe-4x{font-size:56px}.pe-5x{font-size:70px}.pe-fw{text-align:center;width:1.2857142857em}.pe-ul{list-style-type:none;margin-left:2.1428571429em;padding-left:0}.pe-ul>li{position:relative}.pe-li{left:-2.1428571429em;position:absolute;text-align:center;top:.1428571429em;width:2.1428571429em}.pe-li.pe-lg{left:-1.8571428571em}.pe-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.pull-right{float:right}.pe.pull-left{float:left;margin-left:.3em;margin-right:.3em}.pe-spin{-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.pe-rotate-90{transform:rotate(90deg)}.pe-rotate-180{transform:rotate(180deg)}.pe-rotate-270{transform:rotate(270deg)}.pe-flip-horizontal{transform:scaleX(-1)}.pe-flip-vertical{transform:scaleY(-1)}.pe-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.pe-stack-1x,.pe-stack-2x{left:0;position:absolute;text-align:center;width:100%}.pe-stack-1x{line-height:inherit}.pe-stack-2x{font-size:2em}.pe-inverse{color:#fff}.pe-va{vertical-align:middle}.pe-border{border:.08em solid #eaeaea}.pe-7s-album:before{content:"\e6aa"}.pe-7s-arc:before{content:"\e6ab"}.pe-7s-back-2:before{content:"\e6ac"}.pe-7s-bandaid:before{content:"\e6ad"}.pe-7s-car:before{content:"\e6ae"}.pe-7s-diamond:before{content:"\e6af"}.pe-7s-door-lock:before{content:"\e6b0"}.pe-7s-eyedropper:before{content:"\e6b1"}.pe-7s-female:before{content:"\e6b2"}.pe-7s-gym:before{content:"\e6b3"}.pe-7s-hammer:before{content:"\e6b4"}.pe-7s-headphones:before{content:"\e6b5"}.pe-7s-helm:before{content:"\e6b6"}.pe-7s-hourglass:before{content:"\e6b7"}.pe-7s-leaf:before{content:"\e6b8"}.pe-7s-magic-wand:before{content:"\e6b9"}.pe-7s-male:before{content:"\e6ba"}.pe-7s-map-2:before{content:"\e6bb"}.pe-7s-next-2:before{content:"\e6bc"}.pe-7s-paint-bucket:before{content:"\e6bd"}.pe-7s-pendrive:before{content:"\e6be"}.pe-7s-photo:before{content:"\e6bf"}.pe-7s-piggy:before{content:"\e6c0"}.pe-7s-plugin:before{content:"\e6c1"}.pe-7s-refresh-2:before{content:"\e6c2"}.pe-7s-rocket:before{content:"\e6c3"}.pe-7s-settings:before{content:"\e6c4"}.pe-7s-shield:before{content:"\e6c5"}.pe-7s-smile:before{content:"\e6c6"}.pe-7s-usb:before{content:"\e6c7"}.pe-7s-vector:before{content:"\e6c8"}.pe-7s-wine:before{content:"\e6c9"}.pe-7s-cloud-upload:before{content:"\e68a"}.pe-7s-cash:before{content:"\e68c"}.pe-7s-close:before{content:"\e680"}.pe-7s-bluetooth:before{content:"\e68d"}.pe-7s-cloud-download:before{content:"\e68b"}.pe-7s-way:before{content:"\e68e"}.pe-7s-close-circle:before{content:"\e681"}.pe-7s-id:before{content:"\e68f"}.pe-7s-angle-up:before{content:"\e682"}.pe-7s-wristwatch:before{content:"\e690"}.pe-7s-angle-up-circle:before{content:"\e683"}.pe-7s-world:before{content:"\e691"}.pe-7s-angle-right:before{content:"\e684"}.pe-7s-volume:before{content:"\e692"}.pe-7s-angle-right-circle:before{content:"\e685"}.pe-7s-users:before{content:"\e693"}.pe-7s-angle-left:before{content:"\e686"}.pe-7s-user-female:before{content:"\e694"}.pe-7s-angle-left-circle:before{content:"\e687"}.pe-7s-up-arrow:before{content:"\e695"}.pe-7s-angle-down:before{content:"\e688"}.pe-7s-switch:before{content:"\e696"}.pe-7s-angle-down-circle:before{content:"\e689"}.pe-7s-scissors:before{content:"\e697"}.pe-7s-wallet:before{content:"\e600"}.pe-7s-safe:before{content:"\e698"}.pe-7s-volume2:before{content:"\e601"}.pe-7s-volume1:before{content:"\e602"}.pe-7s-voicemail:before{content:"\e603"}.pe-7s-video:before{content:"\e604"}.pe-7s-user:before{content:"\e605"}.pe-7s-upload:before{content:"\e606"}.pe-7s-unlock:before{content:"\e607"}.pe-7s-umbrella:before{content:"\e608"}.pe-7s-trash:before{content:"\e609"}.pe-7s-tools:before{content:"\e60a"}.pe-7s-timer:before{content:"\e60b"}.pe-7s-ticket:before{content:"\e60c"}.pe-7s-target:before{content:"\e60d"}.pe-7s-sun:before{content:"\e60e"}.pe-7s-study:before{content:"\e60f"}.pe-7s-stopwatch:before{content:"\e610"}.pe-7s-star:before{content:"\e611"}.pe-7s-speaker:before{content:"\e612"}.pe-7s-signal:before{content:"\e613"}.pe-7s-shuffle:before{content:"\e614"}.pe-7s-shopbag:before{content:"\e615"}.pe-7s-share:before{content:"\e616"}.pe-7s-server:before{content:"\e617"}.pe-7s-search:before{content:"\e618"}.pe-7s-film:before{content:"\e6a5"}.pe-7s-science:before{content:"\e619"}.pe-7s-disk:before{content:"\e6a6"}.pe-7s-ribbon:before{content:"\e61a"}.pe-7s-repeat:before{content:"\e61b"}.pe-7s-refresh:before{content:"\e61c"}.pe-7s-add-user:before{content:"\e6a9"}.pe-7s-refresh-cloud:before{content:"\e61d"}.pe-7s-paperclip:before{content:"\e69c"}.pe-7s-radio:before{content:"\e61e"}.pe-7s-note2:before{content:"\e69d"}.pe-7s-print:before{content:"\e61f"}.pe-7s-network:before{content:"\e69e"}.pe-7s-prev:before{content:"\e620"}.pe-7s-mute:before{content:"\e69f"}.pe-7s-power:before{content:"\e621"}.pe-7s-medal:before{content:"\e6a0"}.pe-7s-portfolio:before{content:"\e622"}.pe-7s-like2:before{content:"\e6a1"}.pe-7s-plus:before{content:"\e623"}.pe-7s-left-arrow:before{content:"\e6a2"}.pe-7s-play:before{content:"\e624"}.pe-7s-key:before{content:"\e6a3"}.pe-7s-plane:before{content:"\e625"}.pe-7s-joy:before{content:"\e6a4"}.pe-7s-photo-gallery:before{content:"\e626"}.pe-7s-pin:before{content:"\e69b"}.pe-7s-phone:before{content:"\e627"}.pe-7s-plug:before{content:"\e69a"}.pe-7s-pen:before{content:"\e628"}.pe-7s-right-arrow:before{content:"\e699"}.pe-7s-paper-plane:before{content:"\e629"}.pe-7s-delete-user:before{content:"\e6a7"}.pe-7s-paint:before{content:"\e62a"}.pe-7s-bottom-arrow:before{content:"\e6a8"}.pe-7s-notebook:before{content:"\e62b"}.pe-7s-note:before{content:"\e62c"}.pe-7s-next:before{content:"\e62d"}.pe-7s-news-paper:before{content:"\e62e"}.pe-7s-musiclist:before{content:"\e62f"}.pe-7s-music:before{content:"\e630"}.pe-7s-mouse:before{content:"\e631"}.pe-7s-more:before{content:"\e632"}.pe-7s-moon:before{content:"\e633"}.pe-7s-monitor:before{content:"\e634"}.pe-7s-micro:before{content:"\e635"}.pe-7s-menu:before{content:"\e636"}.pe-7s-map:before{content:"\e637"}.pe-7s-map-marker:before{content:"\e638"}.pe-7s-mail:before{content:"\e639"}.pe-7s-mail-open:before{content:"\e63a"}.pe-7s-mail-open-file:before{content:"\e63b"}.pe-7s-magnet:before{content:"\e63c"}.pe-7s-loop:before{content:"\e63d"}.pe-7s-look:before{content:"\e63e"}.pe-7s-lock:before{content:"\e63f"}.pe-7s-lintern:before{content:"\e640"}.pe-7s-link:before{content:"\e641"}.pe-7s-like:before{content:"\e642"}.pe-7s-light:before{content:"\e643"}.pe-7s-less:before{content:"\e644"}.pe-7s-keypad:before{content:"\e645"}.pe-7s-junk:before{content:"\e646"}.pe-7s-info:before{content:"\e647"}.pe-7s-home:before{content:"\e648"}.pe-7s-help2:before{content:"\e649"}.pe-7s-help1:before{content:"\e64a"}.pe-7s-graph3:before{content:"\e64b"}.pe-7s-graph2:before{content:"\e64c"}.pe-7s-graph1:before{content:"\e64d"}.pe-7s-graph:before{content:"\e64e"}.pe-7s-global:before{content:"\e64f"}.pe-7s-gleam:before{content:"\e650"}.pe-7s-glasses:before{content:"\e651"}.pe-7s-gift:before{content:"\e652"}.pe-7s-folder:before{content:"\e653"}.pe-7s-flag:before{content:"\e654"}.pe-7s-filter:before{content:"\e655"}.pe-7s-file:before{content:"\e656"}.pe-7s-expand1:before{content:"\e657"}.pe-7s-exapnd2:before{content:"\e658"}.pe-7s-edit:before{content:"\e659"}.pe-7s-drop:before{content:"\e65a"}.pe-7s-drawer:before{content:"\e65b"}.pe-7s-download:before{content:"\e65c"}.pe-7s-display2:before{content:"\e65d"}.pe-7s-display1:before{content:"\e65e"}.pe-7s-diskette:before{content:"\e65f"}.pe-7s-date:before{content:"\e660"}.pe-7s-cup:before{content:"\e661"}.pe-7s-culture:before{content:"\e662"}.pe-7s-crop:before{content:"\e663"}.pe-7s-credit:before{content:"\e664"}.pe-7s-copy-file:before{content:"\e665"}.pe-7s-config:before{content:"\e666"}.pe-7s-compass:before{content:"\e667"}.pe-7s-comment:before{content:"\e668"}.pe-7s-coffee:before{content:"\e669"}.pe-7s-cloud:before{content:"\e66a"}.pe-7s-clock:before{content:"\e66b"}.pe-7s-check:before{content:"\e66c"}.pe-7s-chat:before{content:"\e66d"}.pe-7s-cart:before{content:"\e66e"}.pe-7s-camera:before{content:"\e66f"}.pe-7s-call:before{content:"\e670"}.pe-7s-calculator:before{content:"\e671"}.pe-7s-browser:before{content:"\e672"}.pe-7s-box2:before{content:"\e673"}.pe-7s-box1:before{content:"\e674"}.pe-7s-bookmarks:before{content:"\e675"}.pe-7s-bicycle:before{content:"\e676"}.pe-7s-bell:before{content:"\e677"}.pe-7s-battery:before{content:"\e678"}.pe-7s-ball:before{content:"\e679"}.pe-7s-back:before{content:"\e67a"}.pe-7s-attention:before{content:"\e67b"}.pe-7s-anchor:before{content:"\e67c"}.pe-7s-albums:before{content:"\e67d"}.pe-7s-alarm:before{content:"\e67e"}.pe-7s-airplay:before{content:"\e67f"} diff --git a/public/assets/admin/css/vendor.min.css b/public/assets/admin/css/vendor.min.css index 393973fb..6ca9f715 100644 --- a/public/assets/admin/css/vendor.min.css +++ b/public/assets/admin/css/vendor.min.css @@ -1,4 +1,3 @@ -@charset "UTF-8"; /*! ========================================================= @@ -13,10 +12,10 @@ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - */.ct-azure,.ct-blue{stroke:#067ec1!important}.ct-green{stroke:#18ce0f!important}.ct-orange{stroke:#ffb236!important}.ct-red{stroke:#ff3636!important}.brand,.h1,.h2,.h3,.h4,.h5,.h6,.navbar,.td-name,a,h1,h2,h3,h4,h5,h6,p,td{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,Helvetica Neue,Arial,sans-serif}.h1,.h2,.h3,.h4,h1,h2,h3,h4{font-weight:400;margin:30px 0 15px}.h1,h1{font-size:3.2em}.h2,h2{font-size:2.6em}.h3,h3{font-size:1.825em;line-height:1.4;margin:20px 0 10px}.h3,.h4,h3,h4{font-weight:300}.h4,h4{font-size:1.5em;line-height:1.2em}.h5,h5{font-size:1.25em;line-height:1.4em;margin-bottom:15px}.h5,.h6,h5,h6{font-weight:300}.h6,h6{font-size:.9em;text-transform:uppercase}p{font-size:1em;line-height:1.4em}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{color:#9a9a9a;font-weight:300;line-height:1.4em}h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:60%}.title-uppercase{text-transform:uppercase}blockquote{font-style:italic}blockquote small{font-style:normal}.text-muted{color:#ddd}.text-primary,.text-primary:hover{color:#427c89}.text-info,.text-info:hover{color:#0688d0}.text-success,.text-success:hover{color:#15b60d}.text-warning,.text-warning:hover{color:#ffa81d}.text-danger,.text-danger:hover{color:#ff1d1d}.glyphicon{line-height:1}strong{color:#403d39}.icon-info,.icon-primary{color:#067ec1}.icon-success{color:#18ce0f}.icon-warning{color:#ffb236}.icon-danger{color:#ff3636}.chart-legend .text-info,.chart-legend .text-info:hover,.chart-legend .text-primary,.chart-legend .text-primary:hover{color:#067ec1}.chart-legend .text-success,.chart-legend .text-success:hover{color:#18ce0f}.chart-legend .text-warning,.chart-legend .text-warning:hover{color:#ffb236}.chart-legend .text-danger,.chart-legend .text-danger:hover{color:#ff3636}.card-description,.description,.footer-big p{color:#9a9a9a;font-weight:300}body{color:#4b4743;font-family:Muli,Arial,sans-serif;font-size:14px}body .wrapper{min-height:100vh;position:relative}a{color:#067ec1}a:focus,a:hover{color:#0688d0;text-decoration:none}a:active,a:focus,button::-moz-focus-inner,input::-moz-focus-inner,input[type=file]>input[type=button]::-moz-focus-inner,select::-moz-focus-inner{outline:0!important}.navbar-toggle,.ui-slider-handle:focus,button:focus,input:focus{box-shadow:inset 0 -2px 0 #2196f3;outline:0!important}.form-control,.input-group-addon,.navbar,.navbar .alert,.tagsinput{transition:all .3s linear}.sidebar .nav a,.table>tbody>tr .td-actions .btn{transition:all .15s ease-in}.btn{transition:all .1s ease-in}.fa{text-align:center;width:21px}.fa-base{font-size:1.25em!important}.margin-top{margin-top:50px}hr{border-color:#f1eae0}.wrapper{height:100vh;position:relative;top:0}.sidebar{background-position:50%;background-size:cover;bottom:0;color:#2c2c2c;left:0;position:absolute;top:0;z-index:1}.sidebar .sidebar-wrapper{box-shadow:inset -1px 0 0 0 #ddd;max-height:none;min-height:100%;overflow:hidden;position:relative;width:260px;z-index:4}.sidebar .sidebar-background{background-position:50%;background-size:cover;display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.off-canvas-sidebar,.sidebar{display:block;font-weight:200;width:260px}.off-canvas-sidebar .logo,.sidebar .logo{margin:0 20px;padding:18px 0}.off-canvas-sidebar .logo p,.sidebar .logo p{float:left;font-size:20px;line-height:20px;margin:10px}.off-canvas-sidebar .logo .simple-text,.sidebar .logo .simple-text{display:block;font-size:1em;font-weight:400;line-height:30px;padding:4px 0;text-align:center;text-transform:uppercase}.off-canvas-sidebar .nav,.sidebar .nav{margin-top:20px}.off-canvas-sidebar .nav li>a,.sidebar .nav li>a{opacity:.7;padding-left:25px;padding-right:25px}.off-canvas-sidebar .nav li:hover>a,.sidebar .nav li:hover>a{opacity:1}.off-canvas-sidebar .nav li.active>a,.sidebar .nav li.active>a{color:#067ec1;opacity:1}.off-canvas-sidebar .nav li.active>a:before,.sidebar .nav li.active>a:before{border-bottom:17px solid transparent;border-right:17px solid #ddd;border-top:17px solid transparent;content:"";display:inline-block;position:absolute;right:0;top:8px}.off-canvas-sidebar .nav li.active>a:after,.sidebar .nav li.active>a:after{border-bottom:17px solid transparent;border-right:17px solid #ebeff2;border-top:17px solid transparent;content:"";display:inline-block;position:absolute;right:-1px;top:8px}.off-canvas-sidebar .nav li h5,.sidebar .nav li h5{-webkit-font-smoothing:antialiased;font-family:Roboto,Helvetica Neue,Arial,sans-serif;padding-left:30px}.off-canvas-sidebar .nav li>a.menu,.sidebar .nav li>a.menu{padding:10px 0 0}.off-canvas-sidebar .nav li ul,.sidebar .nav li ul{margin-top:0}.off-canvas-sidebar .nav p,.sidebar .nav p{font-size:12px;font-weight:600;line-height:30px;margin:0;text-transform:uppercase}.off-canvas-sidebar .nav i,.sidebar .nav i{float:left;font-size:24px;line-height:30px;margin-right:15px;text-align:center;width:30px}.off-canvas-sidebar:after,.off-canvas-sidebar:before,.sidebar:after,.sidebar:before{background:#fff;content:"";display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:2}.off-canvas-sidebar:after,.off-canvas-sidebar:before,.off-canvas-sidebar[data-background-color=white]:after,.off-canvas-sidebar[data-background-color=white]:before,.sidebar:after,.sidebar:before,.sidebar[data-background-color=white]:after,.sidebar[data-background-color=white]:before{background-color:#fff}.off-canvas-sidebar .logo,.off-canvas-sidebar[data-background-color=white] .logo,.sidebar .logo,.sidebar[data-background-color=white] .logo{border-bottom:1px solid rgba(44,44,44,.3)}.off-canvas-sidebar .logo .simple-text,.off-canvas-sidebar .logo p,.off-canvas-sidebar .nav li:not(.active)>a,.off-canvas-sidebar[data-background-color=white] .logo .simple-text,.off-canvas-sidebar[data-background-color=white] .logo p,.off-canvas-sidebar[data-background-color=white] .nav li:not(.active)>a,.sidebar .logo .simple-text,.sidebar .logo p,.sidebar .nav li:not(.active)>a,.sidebar[data-background-color=white] .logo .simple-text,.sidebar[data-background-color=white] .logo p,.sidebar[data-background-color=white] .nav li:not(.active)>a{color:#2c2c2c}.off-canvas-sidebar .nav .divider,.off-canvas-sidebar[data-background-color=white] .nav .divider,.sidebar .nav .divider,.sidebar[data-background-color=white] .nav .divider{background-color:rgba(44,44,44,.2)}.off-canvas-sidebar[data-background-color=black]:after,.off-canvas-sidebar[data-background-color=black]:before,.sidebar[data-background-color=black]:after,.sidebar[data-background-color=black]:before{background-color:#212120}.off-canvas-sidebar[data-background-color=black] .logo,.sidebar[data-background-color=black] .logo{border-bottom:1px solid hsla(0,0%,100%,.3)}.off-canvas-sidebar[data-background-color=black] .logo .simple-text,.off-canvas-sidebar[data-background-color=black] .logo p,.off-canvas-sidebar[data-background-color=black] .nav li:not(.active)>a,.sidebar[data-background-color=black] .logo .simple-text,.sidebar[data-background-color=black] .logo p,.sidebar[data-background-color=black] .nav li:not(.active)>a{color:#fff}.off-canvas-sidebar[data-background-color=black] .nav .divider,.sidebar[data-background-color=black] .nav .divider{background-color:hsla(0,0%,100%,.2)}.off-canvas-sidebar[data-active-color=primary] .nav li.active>a,.sidebar[data-active-color=primary] .nav li.active>a{color:#2c2c2c;opacity:1}.off-canvas-sidebar[data-active-color=info] .nav li.active>a,.sidebar[data-active-color=info] .nav li.active>a{color:#067ec1;opacity:1}.off-canvas-sidebar[data-active-color=success] .nav li.active>a,.sidebar[data-active-color=success] .nav li.active>a{color:#18ce0f;opacity:1}.off-canvas-sidebar[data-active-color=warning] .nav li.active>a,.sidebar[data-active-color=warning] .nav li.active>a{color:#ffb236;opacity:1}.off-canvas-sidebar[data-active-color=danger] .nav li.active>a,.sidebar[data-active-color=danger] .nav li.active>a{color:#ff3636;opacity:1}.main-panel{background-color:#ebeff2;float:right;min-height:100%;position:relative;width:calc(100% - 260px);z-index:2}.main-panel>.content{min-height:calc(100% - 123px);padding:0 2px}.main-panel>.footer{border-top:1px solid rgba(0,0,0,.1)}.main-panel .navbar{margin-bottom:0}.main-panel,.sidebar{-webkit-overflow-scrolling:touch;height:100%;max-height:100%;overflow:auto;transition-duration:.2s,.2s;transition-property:top,bottom;transition-timing-function:linear,linear}.badge{background-color:transparent;border:1px solid;border-radius:8px;border-radius:6px;font-size:.7142em;line-height:12px;margin-bottom:5px;padding:4px 8px;text-transform:uppercase}.badge-icon{padding:.4em .55em}.badge-icon i{font-size:.8em}.badge-default{border-color:#2c2c2c;color:#2c2c2c}.badge-info,.badge-primary{border-color:#067ec1;color:#067ec1}.badge-success{border-color:#18ce0f;color:#18ce0f}.badge-warning{border-color:#ffb236;color:#ffb236}.badge-danger{border-color:#ff3636;color:#ff3636}.badge-neutral{border-color:#fff;color:#fff}.btn,.navbar .navbar-nav>li>a.btn{background-color:transparent;background-color:#2c2c2c;box-sizing:border-box;color:#fff;font-size:14px;font-weight:500;margin-top:5px;padding:4px 18px;transition:all .15s linear}.btn.active,.btn.active:focus,.btn.active:hover,.btn:active,.btn:active:focus,.btn:active:hover,.btn:focus,.btn:hover,.navbar .navbar-nav>li>a.btn.active,.navbar .navbar-nav>li>a.btn.active:focus,.navbar .navbar-nav>li>a.btn.active:hover,.navbar .navbar-nav>li>a.btn:active,.navbar .navbar-nav>li>a.btn:active:focus,.navbar .navbar-nav>li>a.btn:active:hover,.navbar .navbar-nav>li>a.btn:focus,.navbar .navbar-nav>li>a.btn:hover,.open>.btn.dropdown-toggle,.open>.btn.dropdown-toggle:focus,.open>.btn.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle:hover{background-color:#403d39;color:#fff}.btn.disabled,.btn.disabled.active,.btn.disabled.focus,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn:disabled,.btn:disabled.active,.btn:disabled.focus,.btn:disabled:active,.btn:disabled:focus,.btn:disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled].focus,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,.navbar .navbar-nav>li>a.btn.disabled,.navbar .navbar-nav>li>a.btn.disabled.active,.navbar .navbar-nav>li>a.btn.disabled.focus,.navbar .navbar-nav>li>a.btn.disabled:active,.navbar .navbar-nav>li>a.btn.disabled:focus,.navbar .navbar-nav>li>a.btn.disabled:hover,.navbar .navbar-nav>li>a.btn:disabled,.navbar .navbar-nav>li>a.btn:disabled.active,.navbar .navbar-nav>li>a.btn:disabled.focus,.navbar .navbar-nav>li>a.btn:disabled:active,.navbar .navbar-nav>li>a.btn:disabled:focus,.navbar .navbar-nav>li>a.btn:disabled:hover,.navbar .navbar-nav>li>a.btn[disabled],.navbar .navbar-nav>li>a.btn[disabled].active,.navbar .navbar-nav>li>a.btn[disabled].focus,.navbar .navbar-nav>li>a.btn[disabled]:active,.navbar .navbar-nav>li>a.btn[disabled]:focus,.navbar .navbar-nav>li>a.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn.focus,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn,fieldset[disabled] .navbar .navbar-nav>li>a.btn.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn:hover{background-color:#2c2c2c;border-color:#2c2c2c}.btn.focus,.btn:focus,.navbar .navbar-nav>li>a.btn.focus,.navbar .navbar-nav>li>a.btn:focus{box-shadow:none}.btn.btn-simple,.navbar .navbar-nav>li>a.btn.btn-simple{border-color:#2c2c2c;color:#2c2c2c}.btn.btn-simple:active,.btn.btn-simple:focus,.btn.btn-simple:hover,.navbar .navbar-nav>li>a.btn.btn-simple:active,.navbar .navbar-nav>li>a.btn.btn-simple:focus,.navbar .navbar-nav>li>a.btn.btn-simple:hover{background-color:transparent;border-color:#403d39;color:#403d39}.btn.btn-link,.navbar .navbar-nav>li>a.btn.btn-link{color:#2c2c2c}.btn.btn-link:active,.btn.btn-link:focus,.btn.btn-link:hover,.navbar .navbar-nav>li>a.btn.btn-link:active,.navbar .navbar-nav>li>a.btn.btn-link:focus,.navbar .navbar-nav>li>a.btn.btn-link:hover{background-color:transparent;color:#403d39;text-decoration:none}.btn:focus,.btn:hover,.navbar .navbar-nav>li>a.btn:focus,.navbar .navbar-nav>li>a.btn:hover{outline:0!important}.btn.active,.btn:active,.navbar .navbar-nav>li>a.btn.active,.navbar .navbar-nav>li>a.btn:active,.open>.btn.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle{box-shadow:none;outline:0!important}.btn.btn-icon,.navbar .navbar-nav>li>a.btn.btn-icon{padding:7px}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-2px}.btn-primary,.navbar .navbar-nav>li>a.btn-primary{background-color:#067ec1;color:#fff}.btn-primary.active,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active,.btn-primary:active:focus,.btn-primary:active:hover,.btn-primary:focus,.btn-primary:hover,.navbar .navbar-nav>li>a.btn-primary.active,.navbar .navbar-nav>li>a.btn-primary.active:focus,.navbar .navbar-nav>li>a.btn-primary.active:hover,.navbar .navbar-nav>li>a.btn-primary:active,.navbar .navbar-nav>li>a.btn-primary:active:focus,.navbar .navbar-nav>li>a.btn-primary:active:hover,.navbar .navbar-nav>li>a.btn-primary:focus,.navbar .navbar-nav>li>a.btn-primary:hover,.open>.btn-primary.dropdown-toggle,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn-primary.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn-primary.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn-primary.dropdown-toggle:hover{background-color:#427c89;color:#fff}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary:disabled,.btn-primary:disabled.active,.btn-primary:disabled.focus,.btn-primary:disabled:active,.btn-primary:disabled:focus,.btn-primary:disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,.navbar .navbar-nav>li>a.btn-primary.disabled,.navbar .navbar-nav>li>a.btn-primary.disabled.active,.navbar .navbar-nav>li>a.btn-primary.disabled.focus,.navbar .navbar-nav>li>a.btn-primary.disabled:active,.navbar .navbar-nav>li>a.btn-primary.disabled:focus,.navbar .navbar-nav>li>a.btn-primary.disabled:hover,.navbar .navbar-nav>li>a.btn-primary:disabled,.navbar .navbar-nav>li>a.btn-primary:disabled.active,.navbar .navbar-nav>li>a.btn-primary:disabled.focus,.navbar .navbar-nav>li>a.btn-primary:disabled:active,.navbar .navbar-nav>li>a.btn-primary:disabled:focus,.navbar .navbar-nav>li>a.btn-primary:disabled:hover,.navbar .navbar-nav>li>a.btn-primary[disabled],.navbar .navbar-nav>li>a.btn-primary[disabled].active,.navbar .navbar-nav>li>a.btn-primary[disabled].focus,.navbar .navbar-nav>li>a.btn-primary[disabled]:active,.navbar .navbar-nav>li>a.btn-primary[disabled]:focus,.navbar .navbar-nav>li>a.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary:hover{background-color:#067ec1;border-color:#067ec1}.btn-primary.focus,.btn-primary:focus,.navbar .navbar-nav>li>a.btn-primary.focus,.navbar .navbar-nav>li>a.btn-primary:focus{box-shadow:none}.btn-primary.btn-simple,.navbar .navbar-nav>li>a.btn-primary.btn-simple{border-color:#067ec1;color:#067ec1}.btn-primary.btn-simple:active,.btn-primary.btn-simple:focus,.btn-primary.btn-simple:hover,.navbar .navbar-nav>li>a.btn-primary.btn-simple:active,.navbar .navbar-nav>li>a.btn-primary.btn-simple:focus,.navbar .navbar-nav>li>a.btn-primary.btn-simple:hover{background-color:transparent;border-color:#427c89;color:#427c89}.btn-primary.btn-link,.navbar .navbar-nav>li>a.btn-primary.btn-link{color:#067ec1}.btn-primary.btn-link:active,.btn-primary.btn-link:focus,.btn-primary.btn-link:hover,.navbar .navbar-nav>li>a.btn-primary.btn-link:active,.navbar .navbar-nav>li>a.btn-primary.btn-link:focus,.navbar .navbar-nav>li>a.btn-primary.btn-link:hover{background-color:transparent;color:#427c89;text-decoration:none}.btn-success,.navbar .navbar-nav>li>a.btn-success{background-color:#18ce0f;color:#fff}.btn-success.active,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active,.btn-success:active:focus,.btn-success:active:hover,.btn-success:focus,.btn-success:hover,.navbar .navbar-nav>li>a.btn-success.active,.navbar .navbar-nav>li>a.btn-success.active:focus,.navbar .navbar-nav>li>a.btn-success.active:hover,.navbar .navbar-nav>li>a.btn-success:active,.navbar .navbar-nav>li>a.btn-success:active:focus,.navbar .navbar-nav>li>a.btn-success:active:hover,.navbar .navbar-nav>li>a.btn-success:focus,.navbar .navbar-nav>li>a.btn-success:hover,.open>.btn-success.dropdown-toggle,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn-success.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn-success.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn-success.dropdown-toggle:hover{background-color:#15b60d;color:#fff}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success:disabled,.btn-success:disabled.active,.btn-success:disabled.focus,.btn-success:disabled:active,.btn-success:disabled:focus,.btn-success:disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,.navbar .navbar-nav>li>a.btn-success.disabled,.navbar .navbar-nav>li>a.btn-success.disabled.active,.navbar .navbar-nav>li>a.btn-success.disabled.focus,.navbar .navbar-nav>li>a.btn-success.disabled:active,.navbar .navbar-nav>li>a.btn-success.disabled:focus,.navbar .navbar-nav>li>a.btn-success.disabled:hover,.navbar .navbar-nav>li>a.btn-success:disabled,.navbar .navbar-nav>li>a.btn-success:disabled.active,.navbar .navbar-nav>li>a.btn-success:disabled.focus,.navbar .navbar-nav>li>a.btn-success:disabled:active,.navbar .navbar-nav>li>a.btn-success:disabled:focus,.navbar .navbar-nav>li>a.btn-success:disabled:hover,.navbar .navbar-nav>li>a.btn-success[disabled],.navbar .navbar-nav>li>a.btn-success[disabled].active,.navbar .navbar-nav>li>a.btn-success[disabled].focus,.navbar .navbar-nav>li>a.btn-success[disabled]:active,.navbar .navbar-nav>li>a.btn-success[disabled]:focus,.navbar .navbar-nav>li>a.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success:hover{background-color:#18ce0f;border-color:#18ce0f}.btn-success.focus,.btn-success:focus,.navbar .navbar-nav>li>a.btn-success.focus,.navbar .navbar-nav>li>a.btn-success:focus{box-shadow:none}.btn-success.btn-simple,.navbar .navbar-nav>li>a.btn-success.btn-simple{border-color:#18ce0f;color:#18ce0f}.btn-success.btn-simple:active,.btn-success.btn-simple:focus,.btn-success.btn-simple:hover,.navbar .navbar-nav>li>a.btn-success.btn-simple:active,.navbar .navbar-nav>li>a.btn-success.btn-simple:focus,.navbar .navbar-nav>li>a.btn-success.btn-simple:hover{background-color:transparent;border-color:#15b60d;color:#15b60d}.btn-success.btn-link,.navbar .navbar-nav>li>a.btn-success.btn-link{color:#18ce0f}.btn-success.btn-link:active,.btn-success.btn-link:focus,.btn-success.btn-link:hover,.navbar .navbar-nav>li>a.btn-success.btn-link:active,.navbar .navbar-nav>li>a.btn-success.btn-link:focus,.navbar .navbar-nav>li>a.btn-success.btn-link:hover{background-color:transparent;color:#15b60d;text-decoration:none}.btn-info,.navbar .navbar-nav>li>a.btn-info{background-color:#067ec1;color:#fff}.btn-info.active,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active,.btn-info:active:focus,.btn-info:active:hover,.btn-info:focus,.btn-info:hover,.navbar .navbar-nav>li>a.btn-info.active,.navbar .navbar-nav>li>a.btn-info.active:focus,.navbar .navbar-nav>li>a.btn-info.active:hover,.navbar .navbar-nav>li>a.btn-info:active,.navbar .navbar-nav>li>a.btn-info:active:focus,.navbar .navbar-nav>li>a.btn-info:active:hover,.navbar .navbar-nav>li>a.btn-info:focus,.navbar .navbar-nav>li>a.btn-info:hover,.open>.btn-info.dropdown-toggle,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn-info.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn-info.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn-info.dropdown-toggle:hover{background-color:#0688d0;color:#fff}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info:disabled,.btn-info:disabled.active,.btn-info:disabled.focus,.btn-info:disabled:active,.btn-info:disabled:focus,.btn-info:disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,.navbar .navbar-nav>li>a.btn-info.disabled,.navbar .navbar-nav>li>a.btn-info.disabled.active,.navbar .navbar-nav>li>a.btn-info.disabled.focus,.navbar .navbar-nav>li>a.btn-info.disabled:active,.navbar .navbar-nav>li>a.btn-info.disabled:focus,.navbar .navbar-nav>li>a.btn-info.disabled:hover,.navbar .navbar-nav>li>a.btn-info:disabled,.navbar .navbar-nav>li>a.btn-info:disabled.active,.navbar .navbar-nav>li>a.btn-info:disabled.focus,.navbar .navbar-nav>li>a.btn-info:disabled:active,.navbar .navbar-nav>li>a.btn-info:disabled:focus,.navbar .navbar-nav>li>a.btn-info:disabled:hover,.navbar .navbar-nav>li>a.btn-info[disabled],.navbar .navbar-nav>li>a.btn-info[disabled].active,.navbar .navbar-nav>li>a.btn-info[disabled].focus,.navbar .navbar-nav>li>a.btn-info[disabled]:active,.navbar .navbar-nav>li>a.btn-info[disabled]:focus,.navbar .navbar-nav>li>a.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info:hover{background-color:#067ec1;border-color:#067ec1}.btn-info.focus,.btn-info:focus,.navbar .navbar-nav>li>a.btn-info.focus,.navbar .navbar-nav>li>a.btn-info:focus{box-shadow:none}.btn-info.btn-simple,.navbar .navbar-nav>li>a.btn-info.btn-simple{border-color:#067ec1;color:#067ec1}.btn-info.btn-simple:active,.btn-info.btn-simple:focus,.btn-info.btn-simple:hover,.navbar .navbar-nav>li>a.btn-info.btn-simple:active,.navbar .navbar-nav>li>a.btn-info.btn-simple:focus,.navbar .navbar-nav>li>a.btn-info.btn-simple:hover{background-color:transparent;border-color:#0688d0;color:#0688d0}.btn-info.btn-link,.navbar .navbar-nav>li>a.btn-info.btn-link{color:#067ec1}.btn-info.btn-link:active,.btn-info.btn-link:focus,.btn-info.btn-link:hover,.navbar .navbar-nav>li>a.btn-info.btn-link:active,.navbar .navbar-nav>li>a.btn-info.btn-link:focus,.navbar .navbar-nav>li>a.btn-info.btn-link:hover{background-color:transparent;color:#0688d0;text-decoration:none}.btn-warning,.navbar .navbar-nav>li>a.btn-warning{background-color:#ffb236;color:#fff}.btn-warning.active,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active,.btn-warning:active:focus,.btn-warning:active:hover,.btn-warning:focus,.btn-warning:hover,.navbar .navbar-nav>li>a.btn-warning.active,.navbar .navbar-nav>li>a.btn-warning.active:focus,.navbar .navbar-nav>li>a.btn-warning.active:hover,.navbar .navbar-nav>li>a.btn-warning:active,.navbar .navbar-nav>li>a.btn-warning:active:focus,.navbar .navbar-nav>li>a.btn-warning:active:hover,.navbar .navbar-nav>li>a.btn-warning:focus,.navbar .navbar-nav>li>a.btn-warning:hover,.open>.btn-warning.dropdown-toggle,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn-warning.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn-warning.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn-warning.dropdown-toggle:hover{background-color:#ffa81d;color:#fff}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning:disabled,.btn-warning:disabled.active,.btn-warning:disabled.focus,.btn-warning:disabled:active,.btn-warning:disabled:focus,.btn-warning:disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,.navbar .navbar-nav>li>a.btn-warning.disabled,.navbar .navbar-nav>li>a.btn-warning.disabled.active,.navbar .navbar-nav>li>a.btn-warning.disabled.focus,.navbar .navbar-nav>li>a.btn-warning.disabled:active,.navbar .navbar-nav>li>a.btn-warning.disabled:focus,.navbar .navbar-nav>li>a.btn-warning.disabled:hover,.navbar .navbar-nav>li>a.btn-warning:disabled,.navbar .navbar-nav>li>a.btn-warning:disabled.active,.navbar .navbar-nav>li>a.btn-warning:disabled.focus,.navbar .navbar-nav>li>a.btn-warning:disabled:active,.navbar .navbar-nav>li>a.btn-warning:disabled:focus,.navbar .navbar-nav>li>a.btn-warning:disabled:hover,.navbar .navbar-nav>li>a.btn-warning[disabled],.navbar .navbar-nav>li>a.btn-warning[disabled].active,.navbar .navbar-nav>li>a.btn-warning[disabled].focus,.navbar .navbar-nav>li>a.btn-warning[disabled]:active,.navbar .navbar-nav>li>a.btn-warning[disabled]:focus,.navbar .navbar-nav>li>a.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning:hover{background-color:#ffb236;border-color:#ffb236}.btn-warning.focus,.btn-warning:focus,.navbar .navbar-nav>li>a.btn-warning.focus,.navbar .navbar-nav>li>a.btn-warning:focus{box-shadow:none}.btn-warning.btn-simple,.navbar .navbar-nav>li>a.btn-warning.btn-simple{border-color:#ffb236;color:#ffb236}.btn-warning.btn-simple:active,.btn-warning.btn-simple:focus,.btn-warning.btn-simple:hover,.navbar .navbar-nav>li>a.btn-warning.btn-simple:active,.navbar .navbar-nav>li>a.btn-warning.btn-simple:focus,.navbar .navbar-nav>li>a.btn-warning.btn-simple:hover{background-color:transparent;border-color:#ffa81d;color:#ffa81d}.btn-warning.btn-link,.navbar .navbar-nav>li>a.btn-warning.btn-link{color:#ffb236}.btn-warning.btn-link:active,.btn-warning.btn-link:focus,.btn-warning.btn-link:hover,.navbar .navbar-nav>li>a.btn-warning.btn-link:active,.navbar .navbar-nav>li>a.btn-warning.btn-link:focus,.navbar .navbar-nav>li>a.btn-warning.btn-link:hover{background-color:transparent;color:#ffa81d;text-decoration:none}.btn-danger,.navbar .navbar-nav>li>a.btn-danger{background-color:#ff3636;color:#fff}.btn-danger.active,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active,.btn-danger:active:focus,.btn-danger:active:hover,.btn-danger:focus,.btn-danger:hover,.navbar .navbar-nav>li>a.btn-danger.active,.navbar .navbar-nav>li>a.btn-danger.active:focus,.navbar .navbar-nav>li>a.btn-danger.active:hover,.navbar .navbar-nav>li>a.btn-danger:active,.navbar .navbar-nav>li>a.btn-danger:active:focus,.navbar .navbar-nav>li>a.btn-danger:active:hover,.navbar .navbar-nav>li>a.btn-danger:focus,.navbar .navbar-nav>li>a.btn-danger:hover,.open>.btn-danger.dropdown-toggle,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn-danger.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn-danger.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn-danger.dropdown-toggle:hover{background-color:#ff1d1d;color:#fff}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger:disabled,.btn-danger:disabled.active,.btn-danger:disabled.focus,.btn-danger:disabled:active,.btn-danger:disabled:focus,.btn-danger:disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,.navbar .navbar-nav>li>a.btn-danger.disabled,.navbar .navbar-nav>li>a.btn-danger.disabled.active,.navbar .navbar-nav>li>a.btn-danger.disabled.focus,.navbar .navbar-nav>li>a.btn-danger.disabled:active,.navbar .navbar-nav>li>a.btn-danger.disabled:focus,.navbar .navbar-nav>li>a.btn-danger.disabled:hover,.navbar .navbar-nav>li>a.btn-danger:disabled,.navbar .navbar-nav>li>a.btn-danger:disabled.active,.navbar .navbar-nav>li>a.btn-danger:disabled.focus,.navbar .navbar-nav>li>a.btn-danger:disabled:active,.navbar .navbar-nav>li>a.btn-danger:disabled:focus,.navbar .navbar-nav>li>a.btn-danger:disabled:hover,.navbar .navbar-nav>li>a.btn-danger[disabled],.navbar .navbar-nav>li>a.btn-danger[disabled].active,.navbar .navbar-nav>li>a.btn-danger[disabled].focus,.navbar .navbar-nav>li>a.btn-danger[disabled]:active,.navbar .navbar-nav>li>a.btn-danger[disabled]:focus,.navbar .navbar-nav>li>a.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger:hover{background-color:#ff3636;border-color:#ff3636}.btn-danger.focus,.btn-danger:focus,.navbar .navbar-nav>li>a.btn-danger.focus,.navbar .navbar-nav>li>a.btn-danger:focus{box-shadow:none}.btn-danger.btn-simple,.navbar .navbar-nav>li>a.btn-danger.btn-simple{border-color:#ff3636;color:#ff3636}.btn-danger.btn-simple:active,.btn-danger.btn-simple:focus,.btn-danger.btn-simple:hover,.navbar .navbar-nav>li>a.btn-danger.btn-simple:active,.navbar .navbar-nav>li>a.btn-danger.btn-simple:focus,.navbar .navbar-nav>li>a.btn-danger.btn-simple:hover{background-color:transparent;border-color:#ff1d1d;color:#ff1d1d}.btn-danger.btn-link,.navbar .navbar-nav>li>a.btn-danger.btn-link{color:#ff3636}.btn-danger.btn-link:active,.btn-danger.btn-link:focus,.btn-danger.btn-link:hover,.navbar .navbar-nav>li>a.btn-danger.btn-link:active,.navbar .navbar-nav>li>a.btn-danger.btn-link:focus,.navbar .navbar-nav>li>a.btn-danger.btn-link:hover{background-color:transparent;color:#ff1d1d;text-decoration:none}.btn-neutral,.btn-neutral.active,.btn-neutral.active:focus,.btn-neutral.active:hover,.btn-neutral:active,.btn-neutral:active:focus,.btn-neutral:active:hover,.btn-neutral:focus,.btn-neutral:hover,.open>.btn-neutral.dropdown-toggle,.open>.btn-neutral.dropdown-toggle:focus,.open>.btn-neutral.dropdown-toggle:hover{background-color:#fff;color:#fff}.btn-neutral.disabled,.btn-neutral.disabled.active,.btn-neutral.disabled.focus,.btn-neutral.disabled:active,.btn-neutral.disabled:focus,.btn-neutral.disabled:hover,.btn-neutral:disabled,.btn-neutral:disabled.active,.btn-neutral:disabled.focus,.btn-neutral:disabled:active,.btn-neutral:disabled:focus,.btn-neutral:disabled:hover,.btn-neutral[disabled],.btn-neutral[disabled].active,.btn-neutral[disabled].focus,.btn-neutral[disabled]:active,.btn-neutral[disabled]:focus,.btn-neutral[disabled]:hover,fieldset[disabled] .btn-neutral,fieldset[disabled] .btn-neutral.active,fieldset[disabled] .btn-neutral.focus,fieldset[disabled] .btn-neutral:active,fieldset[disabled] .btn-neutral:focus,fieldset[disabled] .btn-neutral:hover{background-color:#fff;border-color:#fff}.btn-neutral.focus,.btn-neutral:focus{box-shadow:none}.btn-neutral.btn-danger{color:#ff3636}.btn-neutral.btn-danger:active,.btn-neutral.btn-danger:focus,.btn-neutral.btn-danger:hover{color:#ff1d1d}.btn-neutral.btn-info{color:#fff}.btn-neutral.btn-info:active,.btn-neutral.btn-info:focus,.btn-neutral.btn-info:hover{color:#0688d0}.btn-neutral.btn-warning{color:#fff}.btn-neutral.btn-warning:active,.btn-neutral.btn-warning:focus,.btn-neutral.btn-warning:hover{color:#ffa81d}.btn-neutral.btn-success{color:#fff}.btn-neutral.btn-success:active,.btn-neutral.btn-success:focus,.btn-neutral.btn-success:hover{color:#15b60d}.btn-neutral.btn-default{color:#fff}.btn-neutral.btn-default:active,.btn-neutral.btn-default:focus,.btn-neutral.btn-default:hover{color:#403d39}.btn-neutral.active,.btn-neutral.active:focus,.btn-neutral.active:hover,.btn-neutral:active:focus,.btn-neutral:active:hover,.open>.btn-neutral.dropdown-toggle,.open>.btn-neutral.dropdown-toggle:focus,.open>.btn-neutral.dropdown-toggle:hover{background-color:#fff;color:#067ec1}.btn-neutral:active,.btn-neutral:focus,.btn-neutral:hover{color:#427c89}.btn-neutral.btn-simple{border-color:#fff;color:#fff}.btn-neutral.btn-simple:active,.btn-neutral.btn-simple:focus,.btn-neutral.btn-simple:hover{background-color:transparent;border-color:#fff;color:#fff}.btn-neutral.btn-link{color:#fff}.btn-neutral.btn-link:active,.btn-neutral.btn-link:focus,.btn-neutral.btn-link:hover{background-color:transparent;color:#fff;text-decoration:none}.btn-neutral:focus,.btn-neutral:hover{color:#2c2c2c}.btn-neutral.active,.btn-neutral:active,.open>.btn-neutral.dropdown-toggle{background-color:#fff;color:#2c2c2c}.btn-neutral.btn-fill{color:#2c2c2c}.btn-neutral.btn-fill:focus,.btn-neutral.btn-fill:hover{color:#403d39}.btn-neutral.btn-simple.active,.btn-neutral.btn-simple:active{background-color:transparent}.btn.disabled,.btn:disabled,.btn[disabled]{filter:alpha(opacity=50);opacity:.5}.btn-simple{border:0;padding:7px 18px}.btn-simple.btn-icon{padding:7px}.btn-lg{font-size:1em;font-weight:400;padding:11px 30px}.btn-lg.btn-simple{padding:13px 30px}.btn-sm{font-size:.8571em;padding:4px 10px}.btn-sm.btn-simple{padding:6px 10px}.btn-xs{font-size:.7142em;padding:2px 5px}.btn-xs.btn-simple{padding:4px 5px}.btn-wd{min-width:140px}.btn-group.select{width:100%}.btn-group.select .btn{text-align:left}.btn-group.select .caret{margin-top:-1px;position:absolute;right:8px;top:50%}.form-control:-moz-placeholder,.form-control::-moz-placeholder{color:#ddd;filter:alpha(opacity=100);opacity:1}.form-control::-webkit-input-placeholder{color:#ddd;filter:alpha(opacity=100);opacity:1}.form-control:-ms-input-placeholder{color:#ddd;filter:alpha(opacity=100);opacity:1}.form-control{background-color:transparent;border:1px solid #aaa;border-radius:0;box-shadow:none;color:#333;font-family:Avenir-light,AvenirLTStd-Light,sans-serif!important;font-size:14px;font-weight:400;line-height:1em;transition:color .3s ease-in-out,border-color .3s ease-in-out,background-color .3s ease-in-out}.has-success .form-control{border-color:#e3e3e3}.form-control:focus{border:1px solid #067ec1;box-shadow:none;color:#333;outline:0!important}.form-control:focus+.input-group-addon,.form-control:focus~.input-group-addon{background-color:transparent;border:1px solid #067ec1}.has-error .form-control,.has-error .form-control:focus,.has-success .form-control,.has-success .form-control:focus{box-shadow:none}.has-danger .form-control.form-control-danger,.has-danger .form-control.form-control-success,.has-success .form-control.form-control-danger,.has-success .form-control.form-control-success{background-image:none}.has-danger .form-control{background-color:#ffcfcf;border-color:#ffcfcf;color:#ff3636}.has-danger .form-control:focus{background-color:hsla(0,0%,87%,.3)}.form-control+.form-control-feedback{border-radius:.125rem;font-size:14px;margin-top:-7px;position:absolute;right:10px;top:50%;vertical-align:middle}.open .form-control{border-bottom-color:transparent;border-radius:.125rem .125rem 0 0}.form-control+.input-group-addon{background-color:#fff}.has-danger:after,.has-success:after{color:#18ce0f;content:"";display:inline-block;font-family:Nucleo Outline;font-size:11px;position:absolute;right:35px;top:12px}.has-danger.input-lg:after,.has-success.input-lg:after{font-size:13px;top:13px}.has-danger:after{color:#ff3636;content:""}.form-group.form-group-no-border.input-sm .input-group-addon,.input-group.form-group-no-border.input-sm .input-group-addon{padding:4px 0 4px 10px}.form-group.form-group-no-border.input-sm .form-control,.input-group.form-group-no-border.input-sm .form-control{padding:4px 10px}.form-group.form-group-no-border.input-sm .form-control+.input-group-addon,.input-group.form-group-no-border.input-sm .form-control+.input-group-addon{padding:4px 10px 4px 0}.form-group.input-sm .form-control,.input-group.input-sm .form-control{padding:3px 9px}.form-group.input-sm .form-control+.input-group-addon,.input-group.input-sm .form-control+.input-group-addon{padding:3px 9px 3px 0}.form-group.input-sm .input-group-addon,.input-group.input-sm .input-group-addon{padding:3px 0 4px 9px}.form-group.input-sm .input-group-addon+.form-control,.input-group.input-sm .input-group-addon+.form-control{padding:4px 9px 4px 7px}.form-group.form-group-no-border.input-lg .input-group-addon,.input-group.form-group-no-border.input-lg .input-group-addon{padding:11px 0 11px 19px}.form-group.form-group-no-border.input-lg .form-control,.input-group.form-group-no-border.input-lg .form-control{padding:11px 19px}.form-group.form-group-no-border.input-lg .form-control+.input-group-addon,.input-group.form-group-no-border.input-lg .form-control+.input-group-addon{padding:11px 19px 11px 0}.form-group.input-lg .form-control,.input-group.input-lg .form-control{padding:10px 18px}.form-group.input-lg .form-control+.input-group-addon,.input-group.input-lg .form-control+.input-group-addon{padding:10px 18px 10px 0}.form-group.input-lg .input-group-addon,.input-group.input-lg .input-group-addon{padding:10px 0 11px 18px}.form-group.input-lg .input-group-addon+.form-control,.input-group.input-lg .input-group-addon+.form-control{padding:11px 18px 11px 16px}.form-group.form-group-no-border .form-control,.input-group.form-group-no-border .form-control{padding:4px 10px}.form-group.form-group-no-border .form-control+.input-group-addon,.input-group.form-group-no-border .form-control+.input-group-addon{padding:4px 10px 4px 0}.form-group.form-group-no-border .input-group-addon,.input-group.form-group-no-border .input-group-addon{padding:4px 0 4px 10px}.form-group .form-control,.input-group .form-control{margin-top:2px;padding:3px 9px}.form-group .form-control+.input-group-addon,.input-group .form-control+.input-group-addon{padding:3px 9px 3px 0}.form-group .input-group-addon,.input-group .input-group-addon{padding:3px 0 3px 9px}.form-group .input-group-addon+.form-control,.form-group .input-group-addon~.form-control,.input-group .input-group-addon+.form-control,.input-group .input-group-addon~.form-control{padding:3px 10px 4px 7px}.form-group.form-group-no-border .form-control,.form-group.form-group-no-border .form-control+.input-group-addon,.input-group.form-group-no-border .form-control,.input-group.form-group-no-border .form-control+.input-group-addon{background-color:hsla(0,0%,87%,.3);border:none}.form-group.form-group-no-border .form-control+.input-group-addon:active,.form-group.form-group-no-border .form-control+.input-group-addon:focus,.form-group.form-group-no-border .form-control:active,.form-group.form-group-no-border .form-control:focus,.input-group.form-group-no-border .form-control+.input-group-addon:active,.input-group.form-group-no-border .form-control+.input-group-addon:focus,.input-group.form-group-no-border .form-control:active,.input-group.form-group-no-border .form-control:focus{background-color:hsla(0,0%,87%,.5);border:none}.form-group.form-group-no-border .form-control:focus+.input-group-addon,.input-group.form-group-no-border .form-control:focus+.input-group-addon{background-color:hsla(0,0%,87%,.5)}.form-group.form-group-no-border .input-group-addon,.input-group.form-group-no-border .input-group-addon{background-color:hsla(0,0%,87%,.3);border:none}.has-error .control-label,.has-error .form-control-feedback{color:#ff3636}.has-success .control-label,.has-success .form-control-feedback{color:#18ce0f}.input-group-addon{border:1px solid #e3e3e3;border-radius:.125rem;color:#555;padding:6px 0 6px 17px;transition:color .3s ease-in-out,border-color .3s ease-in-out,background-color .3s ease-in-out}.has-danger .input-group-addon,.has-success .input-group-addon,.input-group-addon{background-color:#fff}.has-danger .form-control:focus+.input-group-addon{color:#ff3636}.has-success .form-control:focus+.input-group-addon{color:#18ce0f}.input-group-addon+.form-control,.input-group-addon~.form-control{padding:6px 18px}.input-group-focus .input-group-addon{background-color:#fff;border-color:#067ec1}.input-group-focus.form-group-no-border .input-group-addon{background-color:hsla(0,0%,87%,.5)}.form-group,.input-group{margin-bottom:10px}.input-group[disabled] .input-group-addon{background-color:#e3e3e3}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#e3e3e3;color:#2c2c2c;cursor:not-allowed}.input-group-btn .btn{border-width:1px;padding:11px 18px}.input-group-btn .btn-default:not(.btn-fill){border-color:#ddd}.input-group-btn:last-child>.btn{margin-left:0}textarea.form-control{background-color:transparent;border:1px solid #aaa;border-radius:0;color:#333;font-size:14px;font-weight:400;line-height:1em;max-width:100%;padding:10px;resize:none}textarea.form-control:active,textarea.form-control:focus{background-color:transparent;border:1px solid #067ec1;box-shadow:none}.has-danger.form-group .form-control,.has-danger.form-group.form-group-no-border .form-control,.has-success.form-group .form-control,.has-success.form-group.form-group-no-border .form-control{padding-right:40px}.alert{border:0;border-radius:0;color:#fff;font-size:14px;padding:10px 15px}.container .alert{border-radius:4px}.navbar .alert{border-radius:0;left:0;position:absolute;right:0;top:85px;width:100%;z-index:3}.navbar:not(.navbar-transparent) .alert{top:70px}.alert span[data-notify=icon]{display:block;font-size:30px;left:15px;margin-top:-20px;position:absolute;top:50%}.alert .close~span{display:block;max-width:89%}.alert[data-notify=container]{border-radius:2px;padding:10px 10px 10px 20px}.alert.alert-with-icon{padding-left:65px}.alert-info{background-color:#7ce4fe;color:#0688d0}.alert-success{background-color:#8ef3c5;color:#15b60d}.alert-warning{background-color:#ffe28c;color:#ffa81d}.alert-danger{background-color:#ff3636;color:#fff}.table tbody tr>td,.table tbody tr>th,.table tfoot tr>td,.table tfoot tr>th,.table thead tr>td,.table thead tr>th{border-top:1px solid #ccc5b9}.table>thead>tr>th{border-bottom-width:0;font-size:1.25em;font-weight:300}.table .checkbox,.table .radio{margin-bottom:22px;margin-top:0;padding:0;width:15px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:12px;vertical-align:middle}.table .th-description{max-width:150px}.table .td-price{font-size:26px;font-weight:300;margin-top:5px;text-align:right}.table .td-total{font-size:1.25em;font-weight:600;padding-top:20px;text-align:right}.table .td-actions .btn.btn-sm,.table .td-actions .btn.btn-xs{padding-left:3px;padding-right:3px}.table>tbody>tr{position:relative}.table-striped tbody>tr:nth-of-type(odd){background-color:#fff}.table-striped tbody>tr:nth-of-type(2n){background-color:#fffcf5}.table-striped>tbody>tr>td,.table-striped>tbody>tr>th,.table-striped>tfoot>tr>td,.table-striped>tfoot>tr>th,.table-striped>thead>tr>td,.table-striped>thead>tr>th{padding:15px 8px}.checkbox,.radio{color:#4b4743;cursor:pointer;font-size:14px;font-weight:400;line-height:1.5;margin-bottom:12px;padding-left:30px;position:relative;transition:color,opacity .25s linear}.checkbox .icons,.radio .icons{color:#4b4743;cursor:pointer;display:block;font-size:20px;height:20px;left:0;line-height:21px;opacity:.5;position:absolute;text-align:center;top:0;transition:color,opacity .15s linear;width:20px}.checkbox.checked .icons,.radio.checked .icons{opacity:1}.checkbox input,.radio input{display:none;outline:none!important}.checkbox label,.radio label{padding-left:10px}.checkbox .icons .first-icon,.checkbox .icons .second-icon,.radio .icons .first-icon,.radio .icons .second-icon{background-color:transparent;display:inline-table;filter:alpha(opacity=100);left:0;margin:0;opacity:1;position:absolute;top:0}.checkbox .icons .second-icon,.radio .icons .second-icon{filter:alpha(opacity=0);opacity:0}.checkbox:hover,.radio:hover{transition:color .2s linear}.checkbox:hover .first-icon,.radio:hover .first-icon{filter:alpha(opacity=0);opacity:0}.checkbox:hover .second-icon,.radio:hover .second-icon{filter:alpha(opacity=100);opacity:1}.checkbox.checked .first-icon,.radio.checked .first-icon{filter:alpha(opacity=0);opacity:0}.checkbox.checked .second-icon,.radio.checked .second-icon{filter:alpha(opacity=100);opacity:1;transition:color .2s linear}.checkbox.disabled,.radio.disabled{color:#ddd;cursor:default}.checkbox.disabled .icons,.radio.disabled .icons{color:#ddd}.checkbox.disabled .first-icon,.radio.disabled .first-icon{filter:alpha(opacity=100);opacity:1}.checkbox.disabled .second-icon,.radio.disabled .second-icon{filter:alpha(opacity=0);opacity:0}.checkbox.disabled.checked .icons,.radio.disabled.checked .icons{color:#ddd}.checkbox.disabled.checked .first-icon,.radio.disabled.checked .first-icon{filter:alpha(opacity=0);opacity:0}.checkbox.disabled.checked .second-icon,.radio.disabled.checked .second-icon{color:#ddd;filter:alpha(opacity=100);opacity:1}.nav>li>a:focus,.nav>li>a:hover{background-color:transparent}.navbar{border:0;border-radius:0;font-size:1em;z-index:3}.navbar .navbar-brand{color:#fff;font-size:20px;font-weight:300;margin:5px 0;padding:20px 15px}.navbar .navbar-nav>li>a{line-height:1.42857;margin:15px 0;padding:10px 15px}.navbar .navbar-nav>li>a i,.navbar .navbar-nav>li>a p{display:inline-block;margin:0}.navbar .navbar-nav>li>a i{margin-right:5px;position:relative;top:1px}.navbar .navbar-nav>li>a.btn{margin:15px 3px;padding:7px 18px}.navbar .btn{margin:15px 3px}.navbar .btn,.navbar .btn-simple{font-size:14px}.navbar-nav>li>.dropdown-menu{border-radius:6px;margin-top:-5px}.navbar-default{background-color:#067ec1;border-bottom:1px solid #ddd;color:#fff}.navbar-default .brand{color:#fff!important}.navbar-default .navbar-nav>li>a:not(.btn){color:#fff}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:not(.btn):focus,.navbar-default .navbar-nav>.active>a:not(.btn):hover,.navbar-default .navbar-nav>li>a:not(.btn):focus,.navbar-default .navbar-nav>li>a:not(.btn):hover{background-color:transparent;border-radius:3px;filter:alpha(opacity=100);opacity:1}.navbar-default .navbar-nav>.dropdown>a:focus .caret,.navbar-default .navbar-nav>.dropdown>a:hover .caret{border-bottom-color:#067ec1;border-top-color:#067ec1}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:transparent;color:#067ec1}.navbar-default .navbar-nav .navbar-toggle:focus,.navbar-default .navbar-nav .navbar-toggle:hover{background-color:transparent}.navbar-default:not(.navbar-transparent) .btn-default:hover{border-color:#067ec1;color:#067ec1}.navbar-default:not(.navbar-transparent) .btn-neutral,.navbar-default:not(.navbar-transparent) .btn-neutral:active,.navbar-default:not(.navbar-transparent) .btn-neutral:hover{color:#9a9a9a}.navbar-form{box-shadow:none}.navbar-form .form-control{background-color:transparent;border:0;border-radius:0;color:#e3e3e3;font-size:1em;height:22px;line-height:1.4em;padding:0}.navbar-transparent .navbar-form .form-control,[class*=navbar-ct] .navbar-form .form-control{border:0;border-bottom:1px solid hsla(0,0%,100%,.6);color:#fff}.navbar-ct-primary{background-color:#8ecfd5}.navbar-ct-info{background-color:#7ce4fe}.navbar-ct-success{background-color:#8ef3c5}.navbar-ct-warning{background-color:#ffe28c}.navbar-ct-danger{background-color:#ff4c40}.navbar-transparent{background-color:transparent;border-bottom:1px solid transparent;padding-top:15px}.navbar-toggle{border:0;margin-bottom:19px;margin-top:19px}.navbar-toggle .icon-bar{background-color:#fff}.navbar-toggle .navbar-collapse,.navbar-toggle .navbar-form{border-color:transparent}.navbar-toggle.navbar-default .navbar-toggle:focus,.navbar-toggle.navbar-default .navbar-toggle:hover{background-color:transparent}.navbar-transparent .navbar-brand,[class*=navbar-ct] .navbar-brand{filter:alpha(opacity=90);opacity:.9}.navbar-transparent .navbar-brand:focus,.navbar-transparent .navbar-brand:hover,[class*=navbar-ct] .navbar-brand:focus,[class*=navbar-ct] .navbar-brand:hover{background-color:transparent;filter:alpha(opacity=100);opacity:1}.navbar-transparent .navbar-brand:not([class*=text]),[class*=navbar-ct] .navbar-brand:not([class*=text]){color:#fff}.navbar-transparent .navbar-nav>li>a:not(.btn),[class*=navbar-ct] .navbar-nav>li>a:not(.btn){border-color:#fff;color:#fff;filter:alpha(opacity=80);opacity:.8}.navbar-transparent .navbar-nav>.active>a:focus:not(.btn),.navbar-transparent .navbar-nav>.active>a:hover:not(.btn),.navbar-transparent .navbar-nav>.active>a:not(.btn),.navbar-transparent .navbar-nav>li>a:focus:not(.btn),.navbar-transparent .navbar-nav>li>a:hover:not(.btn),[class*=navbar-ct] .navbar-nav>.active>a:focus:not(.btn),[class*=navbar-ct] .navbar-nav>.active>a:hover:not(.btn),[class*=navbar-ct] .navbar-nav>.active>a:not(.btn),[class*=navbar-ct] .navbar-nav>li>a:focus:not(.btn),[class*=navbar-ct] .navbar-nav>li>a:hover:not(.btn){background-color:transparent;border-radius:3px;color:#fff;filter:alpha(opacity=100);opacity:1}.navbar-transparent .navbar-nav .nav>li>a.btn:hover,[class*=navbar-ct] .navbar-nav .nav>li>a.btn:hover{background-color:transparent}.navbar-transparent .navbar-nav>.dropdown>a .caret,.navbar-transparent .navbar-nav>.dropdown>a:focus .caret,.navbar-transparent .navbar-nav>.dropdown>a:hover .caret,[class*=navbar-ct] .navbar-nav>.dropdown>a .caret,[class*=navbar-ct] .navbar-nav>.dropdown>a:focus .caret,[class*=navbar-ct] .navbar-nav>.dropdown>a:hover .caret{border-bottom-color:#fff;border-top-color:#fff}.navbar-transparent .navbar-nav>.open>a,.navbar-transparent .navbar-nav>.open>a:focus,.navbar-transparent .navbar-nav>.open>a:hover,[class*=navbar-ct] .navbar-nav>.open>a,[class*=navbar-ct] .navbar-nav>.open>a:focus,[class*=navbar-ct] .navbar-nav>.open>a:hover{background-color:transparent;color:#fff;filter:alpha(opacity=100);opacity:1}.navbar-transparent .btn-default,[class*=navbar-ct] .btn-default{border-color:#fff;color:#fff}.navbar-transparent .btn-default.btn-fill,[class*=navbar-ct] .btn-default.btn-fill{background-color:#fff;color:#9a9a9a;filter:alpha(opacity=90);opacity:.9}.navbar-transparent .btn-default.btn-fill.active,.navbar-transparent .btn-default.btn-fill:active,.navbar-transparent .btn-default.btn-fill:focus,.navbar-transparent .btn-default.btn-fill:hover,.navbar-transparent .open .dropdown-toggle.btn-fill.btn-default,[class*=navbar-ct] .btn-default.btn-fill.active,[class*=navbar-ct] .btn-default.btn-fill:active,[class*=navbar-ct] .btn-default.btn-fill:focus,[class*=navbar-ct] .btn-default.btn-fill:hover,[class*=navbar-ct] .open .dropdown-toggle.btn-fill.btn-default{border-color:#fff;filter:alpha(opacity=100);opacity:1}.footer{background-attachment:fixed;line-height:20px;position:relative}.footer nav ul{font-weight:400;list-style:none;margin:0;padding:0}.footer nav ul li{display:inline-block;line-height:20px;margin:15px 3px;padding:10px 15px;text-align:center}.footer nav ul a:not(.btn){color:#4b4743;display:block;margin-bottom:3px}.footer nav ul a:not(.btn):focus,.footer nav ul a:not(.btn):hover{color:#403d39}.footer .copyright{color:#4b4743;font-size:14px;line-height:20px;margin:15px 3px;padding:10px 15px;text-align:center;white-space:nowrap}.footer .heart{color:#ff3636}.dropdown-menu{background-color:#fffcf5;border:0;border-radius:6px;box-shadow:0 2px rgba(17,16,15,.1),0 2px 10px rgba(17,16,15,.1);display:block;filter:alpha(opacity=0);margin-top:10px;opacity:0;padding:0;position:absolute;visibility:hidden;z-index:9000}.open .dropdown-menu{filter:alpha(opacity=100);opacity:1;visibility:visible}.dropdown-menu .divider{background-color:#f1eae0;margin:0}.dropdown-menu .dropdown-header{color:#9a9a9a;font-size:.8571em;padding:10px 15px}.select .dropdown-menu{border-radius:0 0 10px 10px;box-shadow:none;margin-top:-20px;transform:scale(1);transform-origin:50% -40px;transition:all .15s linear}.select.open .dropdown-menu{margin-top:-1px}.dropdown-menu>li>a{color:#4b4743;font-size:14px;padding:10px 15px;transition:none}.dropdown-menu>li>a img{margin-top:-3px}.dropdown-menu>li>a:focus{outline:0!important}.btn-group.select .dropdown-menu{min-width:100%}.dropdown-menu>li:first-child>a{border-top-left-radius:6px;border-top-right-radius:6px}.dropdown-menu>li:last-child>a{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.select .dropdown-menu>li:first-child>a{border-bottom:0;border-radius:0}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#2c2c2c;color:hsla(0,0%,71%,.7);opacity:1;text-decoration:none}.dropdown-menu.dropdown-info>li>a:focus,.dropdown-menu.dropdown-info>li>a:hover,.dropdown-menu.dropdown-primary>li>a:focus,.dropdown-menu.dropdown-primary>li>a:hover{background-color:#067ec1}.dropdown-menu.dropdown-success>li>a:focus,.dropdown-menu.dropdown-success>li>a:hover{background-color:#18ce0f}.dropdown-menu.dropdown-warning>li>a:focus,.dropdown-menu.dropdown-warning>li>a:hover{background-color:#ffb236}.dropdown-menu.dropdown-danger>li>a:focus,.dropdown-menu.dropdown-danger>li>a:hover{background-color:#ff3636}.btn-group.select{overflow:hidden}.btn-group.select.open{overflow:visible}.card{background-color:#fff;border:0;border-radius:.125rem;box-shadow:0 2px 2px hsla(38,16%,76%,.5);color:#2c2c2c;flex-direction:column;margin-bottom:20px;position:relative;z-index:1}.card .card-block{flex:1 1 auto;padding:1.25rem}.card a{color:#f96332}.card .image{border-radius:6px 6px 0 0;height:260px;overflow:hidden;position:relative;transform-style:preserve-3d;width:100%}.card .image img{width:100%}.card .content{padding:15px 15px 10px}.card .header{padding:0 0 10px}.card .description{color:#4b4743;font-size:1em}.card h5{font-size:1.57em;line-height:1.4em;margin-bottom:15px}.card h6{font-size:.8571em;margin:0}.card .category,.card label{font-size:14px;font-weight:400;margin-bottom:0;text-transform:capitalize}.card .category i,.card label i{font-size:1em}.card label{display:inline-block;font-size:15px;margin-bottom:5px;text-transform:capitalize;vertical-align:middle}.card .title{color:#2c2c2c;font-weight:300;margin:0}.card .avatar{border-radius:50%;height:50px;margin-right:5px;overflow:hidden;width:50px}.card .footer{line-height:30px;padding:0}.card .footer .legend{padding:5px 0}.card .footer hr{margin-bottom:5px;margin-top:5px}.card .stats{color:#a9a9a9;font-weight:300}.card .stats i{margin-right:2px;min-width:15px}.card .footer div,.card .stats i{display:inline-block}.card .author{font-size:.8571em;font-weight:600;text-transform:uppercase}.card .author i{font-size:14px}.card.card-separator:after{background-color:#ddd;content:"";height:100%;position:absolute;right:-15px;top:0;width:1px}.card .ct-chart{height:245px;margin:30px 0}.card .table tbody td:first-child,.card .table thead th:first-child{padding-left:15px}.card .table tbody td:last-child,.card .table thead th:last-child{padding-right:15px}.card .alert{border-radius:2px;position:relative}.card .alert.alert-with-icon{padding-left:65px}.card .icon-big{font-size:3em;min-height:64px}.card .numbers{font-size:2em;text-align:right}.card .numbers p{margin:0}.card ul.team-members li{padding:10px 0}.card ul.team-members li:not(:last-child){border-bottom:1px solid #f1eae0}.card .btn-primary{background-color:#067ec1;color:#fff}.card .btn-primary.active,.card .btn-primary.active:focus,.card .btn-primary.active:hover,.card .btn-primary:active,.card .btn-primary:active:focus,.card .btn-primary:active:hover,.card .btn-primary:focus,.card .btn-primary:hover,.open>.card .btn-primary.dropdown-toggle,.open>.card .btn-primary.dropdown-toggle:focus,.open>.card .btn-primary.dropdown-toggle:hover{background-color:#427c89;color:#fff}.card .btn-primary.disabled,.card .btn-primary.disabled.active,.card .btn-primary.disabled.focus,.card .btn-primary.disabled:active,.card .btn-primary.disabled:focus,.card .btn-primary.disabled:hover,.card .btn-primary:disabled,.card .btn-primary:disabled.active,.card .btn-primary:disabled.focus,.card .btn-primary:disabled:active,.card .btn-primary:disabled:focus,.card .btn-primary:disabled:hover,.card .btn-primary[disabled],.card .btn-primary[disabled].active,.card .btn-primary[disabled].focus,.card .btn-primary[disabled]:active,.card .btn-primary[disabled]:focus,.card .btn-primary[disabled]:hover,fieldset[disabled] .card .btn-primary,fieldset[disabled] .card .btn-primary.active,fieldset[disabled] .card .btn-primary.focus,fieldset[disabled] .card .btn-primary:active,fieldset[disabled] .card .btn-primary:focus,fieldset[disabled] .card .btn-primary:hover{background-color:#067ec1;border-color:#067ec1}.card .btn-primary.focus,.card .btn-primary:focus{box-shadow:none}.card .btn-primary.btn-simple{border-color:#067ec1;color:#067ec1}.card .btn-primary.btn-simple:active,.card .btn-primary.btn-simple:focus,.card .btn-primary.btn-simple:hover{background-color:transparent;border-color:#427c89;color:#427c89}.card .btn-primary.btn-link{color:#067ec1}.card .btn-primary.btn-link:active,.card .btn-primary.btn-link:focus,.card .btn-primary.btn-link:hover{background-color:transparent;color:#427c89;text-decoration:none}.card .btn-success{background-color:#18ce0f;color:#fff}.card .btn-success.active,.card .btn-success.active:focus,.card .btn-success.active:hover,.card .btn-success:active,.card .btn-success:active:focus,.card .btn-success:active:hover,.card .btn-success:focus,.card .btn-success:hover,.open>.card .btn-success.dropdown-toggle,.open>.card .btn-success.dropdown-toggle:focus,.open>.card .btn-success.dropdown-toggle:hover{background-color:#15b60d;color:#fff}.card .btn-success.disabled,.card .btn-success.disabled.active,.card .btn-success.disabled.focus,.card .btn-success.disabled:active,.card .btn-success.disabled:focus,.card .btn-success.disabled:hover,.card .btn-success:disabled,.card .btn-success:disabled.active,.card .btn-success:disabled.focus,.card .btn-success:disabled:active,.card .btn-success:disabled:focus,.card .btn-success:disabled:hover,.card .btn-success[disabled],.card .btn-success[disabled].active,.card .btn-success[disabled].focus,.card .btn-success[disabled]:active,.card .btn-success[disabled]:focus,.card .btn-success[disabled]:hover,fieldset[disabled] .card .btn-success,fieldset[disabled] .card .btn-success.active,fieldset[disabled] .card .btn-success.focus,fieldset[disabled] .card .btn-success:active,fieldset[disabled] .card .btn-success:focus,fieldset[disabled] .card .btn-success:hover{background-color:#18ce0f;border-color:#18ce0f}.card .btn-success.focus,.card .btn-success:focus{box-shadow:none}.card .btn-success.btn-simple{border-color:#18ce0f;color:#18ce0f}.card .btn-success.btn-simple:active,.card .btn-success.btn-simple:focus,.card .btn-success.btn-simple:hover{background-color:transparent;border-color:#15b60d;color:#15b60d}.card .btn-success.btn-link{color:#18ce0f}.card .btn-success.btn-link:active,.card .btn-success.btn-link:focus,.card .btn-success.btn-link:hover{background-color:transparent;color:#15b60d;text-decoration:none}.card .btn-info{background-color:#067ec1;color:#fff}.card .btn-info.active,.card .btn-info.active:focus,.card .btn-info.active:hover,.card .btn-info:active,.card .btn-info:active:focus,.card .btn-info:active:hover,.card .btn-info:focus,.card .btn-info:hover,.open>.card .btn-info.dropdown-toggle,.open>.card .btn-info.dropdown-toggle:focus,.open>.card .btn-info.dropdown-toggle:hover{background-color:#0688d0;color:#fff}.card .btn-info.disabled,.card .btn-info.disabled.active,.card .btn-info.disabled.focus,.card .btn-info.disabled:active,.card .btn-info.disabled:focus,.card .btn-info.disabled:hover,.card .btn-info:disabled,.card .btn-info:disabled.active,.card .btn-info:disabled.focus,.card .btn-info:disabled:active,.card .btn-info:disabled:focus,.card .btn-info:disabled:hover,.card .btn-info[disabled],.card .btn-info[disabled].active,.card .btn-info[disabled].focus,.card .btn-info[disabled]:active,.card .btn-info[disabled]:focus,.card .btn-info[disabled]:hover,fieldset[disabled] .card .btn-info,fieldset[disabled] .card .btn-info.active,fieldset[disabled] .card .btn-info.focus,fieldset[disabled] .card .btn-info:active,fieldset[disabled] .card .btn-info:focus,fieldset[disabled] .card .btn-info:hover{background-color:#067ec1;border-color:#067ec1}.card .btn-info.focus,.card .btn-info:focus{box-shadow:none}.card .btn-info.btn-simple{border-color:#067ec1;color:#067ec1}.card .btn-info.btn-simple:active,.card .btn-info.btn-simple:focus,.card .btn-info.btn-simple:hover{background-color:transparent;border-color:#0688d0;color:#0688d0}.card .btn-info.btn-link{color:#067ec1}.card .btn-info.btn-link:active,.card .btn-info.btn-link:focus,.card .btn-info.btn-link:hover{background-color:transparent;color:#0688d0;text-decoration:none}.card .btn-warning{background-color:#ffb236;color:#fff}.card .btn-warning.active,.card .btn-warning.active:focus,.card .btn-warning.active:hover,.card .btn-warning:active,.card .btn-warning:active:focus,.card .btn-warning:active:hover,.card .btn-warning:focus,.card .btn-warning:hover,.open>.card .btn-warning.dropdown-toggle,.open>.card .btn-warning.dropdown-toggle:focus,.open>.card .btn-warning.dropdown-toggle:hover{background-color:#ffa81d;color:#fff}.card .btn-warning.disabled,.card .btn-warning.disabled.active,.card .btn-warning.disabled.focus,.card .btn-warning.disabled:active,.card .btn-warning.disabled:focus,.card .btn-warning.disabled:hover,.card .btn-warning:disabled,.card .btn-warning:disabled.active,.card .btn-warning:disabled.focus,.card .btn-warning:disabled:active,.card .btn-warning:disabled:focus,.card .btn-warning:disabled:hover,.card .btn-warning[disabled],.card .btn-warning[disabled].active,.card .btn-warning[disabled].focus,.card .btn-warning[disabled]:active,.card .btn-warning[disabled]:focus,.card .btn-warning[disabled]:hover,fieldset[disabled] .card .btn-warning,fieldset[disabled] .card .btn-warning.active,fieldset[disabled] .card .btn-warning.focus,fieldset[disabled] .card .btn-warning:active,fieldset[disabled] .card .btn-warning:focus,fieldset[disabled] .card .btn-warning:hover{background-color:#ffb236;border-color:#ffb236}.card .btn-warning.focus,.card .btn-warning:focus{box-shadow:none}.card .btn-warning.btn-simple{border-color:#ffb236;color:#ffb236}.card .btn-warning.btn-simple:active,.card .btn-warning.btn-simple:focus,.card .btn-warning.btn-simple:hover{background-color:transparent;border-color:#ffa81d;color:#ffa81d}.card .btn-warning.btn-link{color:#ffb236}.card .btn-warning.btn-link:active,.card .btn-warning.btn-link:focus,.card .btn-warning.btn-link:hover{background-color:transparent;color:#ffa81d;text-decoration:none}.card .btn-danger{background-color:#ff3636;color:#fff}.card .btn-danger.active,.card .btn-danger.active:focus,.card .btn-danger.active:hover,.card .btn-danger:active,.card .btn-danger:active:focus,.card .btn-danger:active:hover,.card .btn-danger:focus,.card .btn-danger:hover,.open>.card .btn-danger.dropdown-toggle,.open>.card .btn-danger.dropdown-toggle:focus,.open>.card .btn-danger.dropdown-toggle:hover{background-color:#ff1d1d;color:#fff}.card .btn-danger.disabled,.card .btn-danger.disabled.active,.card .btn-danger.disabled.focus,.card .btn-danger.disabled:active,.card .btn-danger.disabled:focus,.card .btn-danger.disabled:hover,.card .btn-danger:disabled,.card .btn-danger:disabled.active,.card .btn-danger:disabled.focus,.card .btn-danger:disabled:active,.card .btn-danger:disabled:focus,.card .btn-danger:disabled:hover,.card .btn-danger[disabled],.card .btn-danger[disabled].active,.card .btn-danger[disabled].focus,.card .btn-danger[disabled]:active,.card .btn-danger[disabled]:focus,.card .btn-danger[disabled]:hover,fieldset[disabled] .card .btn-danger,fieldset[disabled] .card .btn-danger.active,fieldset[disabled] .card .btn-danger.focus,fieldset[disabled] .card .btn-danger:active,fieldset[disabled] .card .btn-danger:focus,fieldset[disabled] .card .btn-danger:hover{background-color:#ff3636;border-color:#ff3636}.card .btn-danger.focus,.card .btn-danger:focus{box-shadow:none}.card .btn-danger.btn-simple{border-color:#ff3636;color:#ff3636}.card .btn-danger.btn-simple:active,.card .btn-danger.btn-simple:focus,.card .btn-danger.btn-simple:hover{background-color:transparent;border-color:#ff1d1d;color:#ff1d1d}.card .btn-danger.btn-link{color:#ff3636}.card .btn-danger.btn-link:active,.card .btn-danger.btn-link:focus,.card .btn-danger.btn-link:hover{background-color:transparent;color:#ff1d1d;text-decoration:none}.card .btn-neutral,.card .btn-neutral.active,.card .btn-neutral.active:focus,.card .btn-neutral.active:hover,.card .btn-neutral:active,.card .btn-neutral:active:focus,.card .btn-neutral:active:hover,.card .btn-neutral:focus,.card .btn-neutral:hover,.open>.card .btn-neutral.dropdown-toggle,.open>.card .btn-neutral.dropdown-toggle:focus,.open>.card .btn-neutral.dropdown-toggle:hover{background-color:#fff;color:#fff}.card .btn-neutral.disabled,.card .btn-neutral.disabled.active,.card .btn-neutral.disabled.focus,.card .btn-neutral.disabled:active,.card .btn-neutral.disabled:focus,.card .btn-neutral.disabled:hover,.card .btn-neutral:disabled,.card .btn-neutral:disabled.active,.card .btn-neutral:disabled.focus,.card .btn-neutral:disabled:active,.card .btn-neutral:disabled:focus,.card .btn-neutral:disabled:hover,.card .btn-neutral[disabled],.card .btn-neutral[disabled].active,.card .btn-neutral[disabled].focus,.card .btn-neutral[disabled]:active,.card .btn-neutral[disabled]:focus,.card .btn-neutral[disabled]:hover,fieldset[disabled] .card .btn-neutral,fieldset[disabled] .card .btn-neutral.active,fieldset[disabled] .card .btn-neutral.focus,fieldset[disabled] .card .btn-neutral:active,fieldset[disabled] .card .btn-neutral:focus,fieldset[disabled] .card .btn-neutral:hover{background-color:#fff;border-color:#fff}.card .btn-neutral.focus,.card .btn-neutral:focus{box-shadow:none}.card .btn-neutral.btn-danger{color:#ff3636}.card .btn-neutral.btn-danger:active,.card .btn-neutral.btn-danger:focus,.card .btn-neutral.btn-danger:hover{color:#ff1d1d}.card .btn-neutral.btn-info{color:#fff}.card .btn-neutral.btn-info:active,.card .btn-neutral.btn-info:focus,.card .btn-neutral.btn-info:hover{color:#0688d0}.card .btn-neutral.btn-warning{color:#fff}.card .btn-neutral.btn-warning:active,.card .btn-neutral.btn-warning:focus,.card .btn-neutral.btn-warning:hover{color:#ffa81d}.card .btn-neutral.btn-success{color:#fff}.card .btn-neutral.btn-success:active,.card .btn-neutral.btn-success:focus,.card .btn-neutral.btn-success:hover{color:#15b60d}.card .btn-neutral.btn-default{color:#fff}.card .btn-neutral.btn-default:active,.card .btn-neutral.btn-default:focus,.card .btn-neutral.btn-default:hover{color:#403d39}.card .btn-neutral.active,.card .btn-neutral.active:focus,.card .btn-neutral.active:hover,.card .btn-neutral:active:focus,.card .btn-neutral:active:hover,.open>.card .btn-neutral.dropdown-toggle,.open>.card .btn-neutral.dropdown-toggle:focus,.open>.card .btn-neutral.dropdown-toggle:hover{background-color:#fff;color:#067ec1}.card .btn-neutral:active,.card .btn-neutral:focus,.card .btn-neutral:hover{color:#427c89}.card .btn-neutral.btn-simple{border-color:#fff;color:#fff}.card .btn-neutral.btn-simple:active,.card .btn-neutral.btn-simple:focus,.card .btn-neutral.btn-simple:hover{background-color:transparent;border-color:#fff;color:#fff}.card .btn-neutral.btn-link{color:#fff}.card .btn-neutral.btn-link:active,.card .btn-neutral.btn-link:focus,.card .btn-neutral.btn-link:hover{background-color:transparent;color:#fff;text-decoration:none}.card-user .image{border-radius:8px 8px 0 0;height:150px;overflow:hidden;position:relative}.card-user .image img{width:100%}.card-user .image-plain{height:0;margin-top:110px}.card-user .author{margin-top:-65px;text-align:center;text-transform:none}.card-user .author .title{color:#403d39}.card-user .author .title small{color:#ccc5b9}.card-user .avatar{border-radius:50%;height:100px;margin-bottom:15px;position:relative;width:100px}.card-user .avatar.border-white{border:5px solid #fff}.card-user .avatar.border-gray{border:5px solid #ccc5b9}.card-user .title{font-weight:600;line-height:24px}.card-user .description{margin-top:10px}.card-user .content{min-height:200px}.card-user.card-plain .avatar{height:190px;width:190px}.card-map .map{height:500px;padding-top:20px}.card-map .map>div{height:100%}.card-price .footer,.card-user .footer{padding:5px 15px 10px}.card-price hr,.card-user hr{margin:5px 15px}.card-plain{background-color:transparent;border-radius:0;box-shadow:none}.card-plain .image{border-radius:4px}.ct-label{fill:rgba(0,0,0,.4);color:rgba(0,0,0,.4);font-size:.9em;line-height:1}.ct-chart-bar .ct-label,.ct-chart-line .ct-label{display:block;display:flex}.ct-label.ct-horizontal.ct-start{text-anchor:start;align-items:flex-end;justify-content:flex-start;text-align:left}.ct-label.ct-horizontal.ct-end{text-anchor:start;align-items:flex-start;justify-content:flex-start;text-align:left}.ct-label.ct-vertical.ct-start{text-anchor:end;align-items:flex-end;justify-content:flex-end;text-align:right}.ct-label.ct-vertical.ct-end{text-anchor:start;align-items:flex-end;justify-content:flex-start;text-align:left}.ct-chart-bar .ct-label.ct-horizontal.ct-start{text-anchor:start;align-items:flex-end;justify-content:center;text-align:center}.ct-chart-bar .ct-label.ct-horizontal.ct-end{text-anchor:start;align-items:flex-start;justify-content:center;text-align:center}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start{text-anchor:start;align-items:flex-end;justify-content:flex-start;text-align:left}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end{text-anchor:start;align-items:flex-start;justify-content:flex-start;text-align:left}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start{text-anchor:end;align-items:center;justify-content:flex-end;text-align:right}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end{text-anchor:end;align-items:center;justify-content:flex-start;text-align:left}.ct-grid{stroke:rgba(0,0,0,.2);stroke-width:1px;stroke-dasharray:2px}.ct-point{stroke-width:10px;stroke-linecap:round}.ct-line{fill:none;stroke-width:4px}.ct-area{stroke:none;fill-opacity:.7}.ct-bar{fill:none;stroke-width:10px}.ct-slice-donut{fill:none;stroke-width:60px}.ct-series-a .ct-bar,.ct-series-a .ct-line,.ct-series-a .ct-point,.ct-series-a .ct-slice-donut{stroke:#067ec1}.ct-series-a .ct-area,.ct-series-a .ct-slice-pie{fill:#067ec1}.ct-series-b .ct-bar,.ct-series-b .ct-line,.ct-series-b .ct-point,.ct-series-b .ct-slice-donut{stroke:#ffb236}.ct-series-b .ct-area,.ct-series-b .ct-slice-pie{fill:#ffb236}.ct-series-c .ct-bar,.ct-series-c .ct-line,.ct-series-c .ct-point,.ct-series-c .ct-slice-donut{stroke:#ff3636}.ct-series-c .ct-area,.ct-series-c .ct-slice-pie{fill:#ff3636}.ct-series-d .ct-bar,.ct-series-d .ct-line,.ct-series-d .ct-point,.ct-series-d .ct-slice-donut{stroke:#18ce0f}.ct-series-d .ct-area,.ct-series-d .ct-slice-pie{fill:#18ce0f}.ct-series-e .ct-bar,.ct-series-e .ct-line,.ct-series-e .ct-point,.ct-series-e .ct-slice-donut{stroke:#067ec1}.ct-series-e .ct-area,.ct-series-e .ct-slice-pie{fill:#067ec1}.ct-series-f .ct-bar,.ct-series-f .ct-line,.ct-series-f .ct-point,.ct-series-f .ct-slice-donut{stroke:rgba(6,126,193,.8)}.ct-series-f .ct-area,.ct-series-f .ct-slice-pie{fill:rgba(6,126,193,.8)}.ct-series-g .ct-bar,.ct-series-g .ct-line,.ct-series-g .ct-point,.ct-series-g .ct-slice-donut{stroke:rgba(24,206,15,.8)}.ct-series-g .ct-area,.ct-series-g .ct-slice-pie{fill:rgba(24,206,15,.8)}.ct-series-h .ct-bar,.ct-series-h .ct-line,.ct-series-h .ct-point,.ct-series-h .ct-slice-donut{stroke:rgba(255,178,54,.8)}.ct-series-h .ct-area,.ct-series-h .ct-slice-pie{fill:rgba(255,178,54,.8)}.ct-series-i .ct-bar,.ct-series-i .ct-line,.ct-series-i .ct-point,.ct-series-i .ct-slice-donut{stroke:rgba(255,54,54,.8)}.ct-series-i .ct-area,.ct-series-i .ct-slice-pie{fill:rgba(255,54,54,.8)}.ct-series-j .ct-bar,.ct-series-j .ct-line,.ct-series-j .ct-point,.ct-series-j .ct-slice-donut{stroke:rgba(6,126,193,.8)}.ct-series-j .ct-area,.ct-series-j .ct-slice-pie{fill:rgba(6,126,193,.8)}.ct-series-k .ct-bar,.ct-series-k .ct-line,.ct-series-k .ct-point,.ct-series-k .ct-slice-donut{stroke:rgba(6,126,193,.6)}.ct-series-k .ct-area,.ct-series-k .ct-slice-pie{fill:rgba(6,126,193,.6)}.ct-series-l .ct-bar,.ct-series-l .ct-line,.ct-series-l .ct-point,.ct-series-l .ct-slice-donut{stroke:rgba(24,206,15,.6)}.ct-series-l .ct-area,.ct-series-l .ct-slice-pie{fill:rgba(24,206,15,.6)}.ct-series-m .ct-bar,.ct-series-m .ct-line,.ct-series-m .ct-point,.ct-series-m .ct-slice-donut{stroke:rgba(255,178,54,.6)}.ct-series-m .ct-area,.ct-series-m .ct-slice-pie{fill:rgba(255,178,54,.6)}.ct-series-n .ct-bar,.ct-series-n .ct-line,.ct-series-n .ct-point,.ct-series-n .ct-slice-donut{stroke:rgba(255,54,54,.6)}.ct-series-n .ct-area,.ct-series-n .ct-slice-pie{fill:rgba(255,54,54,.6)}.ct-series-o .ct-bar,.ct-series-o .ct-line,.ct-series-o .ct-point,.ct-series-o .ct-slice-donut{stroke:rgba(6,126,193,.6)}.ct-series-o .ct-area,.ct-series-o .ct-slice-pie{fill:rgba(6,126,193,.6)}.ct-square{display:block;position:relative;width:100%}.ct-square:before{content:"";display:block;float:left;height:0;padding-bottom:100%;width:0}.ct-square:after{clear:both;content:"";display:table}.ct-square>svg{display:block;left:0;position:absolute;top:0}.ct-minor-second{display:block;position:relative;width:100%}.ct-minor-second:before{content:"";display:block;float:left;height:0;padding-bottom:93.75%;width:0}.ct-minor-second:after{clear:both;content:"";display:table}.ct-minor-second>svg{display:block;left:0;position:absolute;top:0}.ct-major-second{display:block;position:relative;width:100%}.ct-major-second:before{content:"";display:block;float:left;height:0;padding-bottom:88.8888888889%;width:0}.ct-major-second:after{clear:both;content:"";display:table}.ct-major-second>svg{display:block;left:0;position:absolute;top:0}.ct-minor-third{display:block;position:relative;width:100%}.ct-minor-third:before{content:"";display:block;float:left;height:0;padding-bottom:83.3333333333%;width:0}.ct-minor-third:after{clear:both;content:"";display:table}.ct-minor-third>svg{display:block;left:0;position:absolute;top:0}.ct-major-third{display:block;position:relative;width:100%}.ct-major-third:before{content:"";display:block;float:left;height:0;padding-bottom:80%;width:0}.ct-major-third:after{clear:both;content:"";display:table}.ct-major-third>svg{display:block;left:0;position:absolute;top:0}.ct-perfect-fourth{display:block;position:relative;width:100%}.ct-perfect-fourth:before{content:"";display:block;float:left;height:0;padding-bottom:75%;width:0}.ct-perfect-fourth:after{clear:both;content:"";display:table}.ct-perfect-fourth>svg{display:block;left:0;position:absolute;top:0}.ct-perfect-fifth{display:block;position:relative;width:100%}.ct-perfect-fifth:before{content:"";display:block;float:left;height:0;padding-bottom:66.6666666667%;width:0}.ct-perfect-fifth:after{clear:both;content:"";display:table}.ct-perfect-fifth>svg{display:block;left:0;position:absolute;top:0}.ct-minor-sixth{display:block;position:relative;width:100%}.ct-minor-sixth:before{content:"";display:block;float:left;height:0;padding-bottom:62.5%;width:0}.ct-minor-sixth:after{clear:both;content:"";display:table}.ct-minor-sixth>svg{display:block;left:0;position:absolute;top:0}.ct-golden-section{display:block;position:relative;width:100%}.ct-golden-section:before{content:"";display:block;float:left;height:0;padding-bottom:61.804697157%;width:0}.ct-golden-section:after{clear:both;content:"";display:table}.ct-golden-section>svg{display:block;left:0;position:absolute;top:0}.ct-major-sixth{display:block;position:relative;width:100%}.ct-major-sixth:before{content:"";display:block;float:left;height:0;padding-bottom:60%;width:0}.ct-major-sixth:after{clear:both;content:"";display:table}.ct-major-sixth>svg{display:block;left:0;position:absolute;top:0}.ct-minor-seventh{display:block;position:relative;width:100%}.ct-minor-seventh:before{content:"";display:block;float:left;height:0;padding-bottom:56.25%;width:0}.ct-minor-seventh:after{clear:both;content:"";display:table}.ct-minor-seventh>svg{display:block;left:0;position:absolute;top:0}.ct-major-seventh{display:block;position:relative;width:100%}.ct-major-seventh:before{content:"";display:block;float:left;height:0;padding-bottom:53.3333333333%;width:0}.ct-major-seventh:after{clear:both;content:"";display:table}.ct-major-seventh>svg{display:block;left:0;position:absolute;top:0}.ct-octave{display:block;position:relative;width:100%}.ct-octave:before{content:"";display:block;float:left;height:0;padding-bottom:50%;width:0}.ct-octave:after{clear:both;content:"";display:table}.ct-octave>svg{display:block;left:0;position:absolute;top:0}.ct-major-tenth{display:block;position:relative;width:100%}.ct-major-tenth:before{content:"";display:block;float:left;height:0;padding-bottom:40%;width:0}.ct-major-tenth:after{clear:both;content:"";display:table}.ct-major-tenth>svg{display:block;left:0;position:absolute;top:0}.ct-major-eleventh{display:block;position:relative;width:100%}.ct-major-eleventh:before{content:"";display:block;float:left;height:0;padding-bottom:37.5%;width:0}.ct-major-eleventh:after{clear:both;content:"";display:table}.ct-major-eleventh>svg{display:block;left:0;position:absolute;top:0}.ct-major-twelfth{display:block;position:relative;width:100%}.ct-major-twelfth:before{content:"";display:block;float:left;height:0;padding-bottom:33.3333333333%;width:0}.ct-major-twelfth:after{clear:both;content:"";display:table}.ct-major-twelfth>svg{display:block;left:0;position:absolute;top:0}.ct-double-octave{display:block;position:relative;width:100%}.ct-double-octave:before{content:"";display:block;float:left;height:0;padding-bottom:25%;width:0}.ct-double-octave:after{clear:both;content:"";display:table}.ct-double-octave>svg{display:block;left:0;position:absolute;top:0}@media (min-width:992px){.navbar{min-height:75px}.navbar-form{margin-bottom:21px;margin-top:21px;padding-left:5px;padding-right:5px}.navbar-search-form{display:none}.dropdown .dropdown-menu,.navbar-nav>li>.dropdown-menu{transform:translate3d(0,-40px,0);transition:all .3s cubic-bezier(.215,.61,.355,1) 0s,opacity .3s ease 0s,height 0s linear .35s}.dropdown.open .dropdown-menu,.navbar-nav>li.open>.dropdown-menu{transform:translateZ(0)}.navbar-nav>li>.dropdown-menu:before{border-bottom:11px solid #f1eae0;top:-11px}.navbar-nav>li>.dropdown-menu:after,.navbar-nav>li>.dropdown-menu:before{border-left:11px solid transparent;border-right:11px solid transparent;content:"";display:inline-block;position:absolute;right:12px}.navbar-nav>li>.dropdown-menu:after{border-bottom:11px solid #fffcf5;top:-10px}.navbar-nav.navbar-left>li>.dropdown-menu:after,.navbar-nav.navbar-left>li>.dropdown-menu:before{left:12px;right:auto}.navbar .navbar-header{margin-left:10px}.footer:not(.footer-big) nav>ul li:first-child{margin-left:0}body>.navbar-collapse.collapse{display:none!important}.card form [class*=col-]{padding:6px}.card form [class*=col-]:first-child{padding-left:15px}.card form [class*=col-]:last-child{padding-right:15px}}@media (max-width:991px){.sidebar{display:none}.main-panel{width:100%}.navbar-transparent{background-color:rgba(0,0,0,.45);padding-top:15px}body{position:relative}h6{font-size:1em}.wrapper{background-color:#fff;transform:translateZ(0)}.navbar .container,.wrapper{left:0;transition:all .33s cubic-bezier(.685,.0473,.346,1)}.navbar .container{position:relative;width:100%}.navbar .navbar-collapse.collapse,.navbar .navbar-collapse.collapse.in,.navbar .navbar-collapse.collapsing{display:none!important}.navbar-nav>li{display:block;float:none;position:relative}.off-canvas-sidebar{background-color:#999;border-top:none;display:block;height:100%;overflow-y:visible;padding-left:0;padding-right:0;position:fixed;right:0;text-align:left;top:0;transform:translate3d(230px,0,0);transition:all .33s cubic-bezier(.685,.0473,.346,1);visibility:visible;width:230px;z-index:1032}.off-canvas-sidebar .sidebar-wrapper{box-shadow:inset 1px 0 0 0 #ddd;height:100%;overflow-y:scroll;position:relative;z-index:3}.off-canvas-sidebar .nav{margin-top:0;padding:10px 15px 0}.off-canvas-sidebar .nav>li>a{color:#2c2c2c;font-size:.8571em;font-weight:600;line-height:1.4em;margin:0;padding:10px 0;text-transform:uppercase}.off-canvas-sidebar .nav>li>a.active,.off-canvas-sidebar .nav>li>a:hover{color:#403d39}.off-canvas-sidebar .nav>li>a .caret,.off-canvas-sidebar .nav>li>a .notification,.off-canvas-sidebar .nav>li>a p{display:inline-block}.off-canvas-sidebar .nav>li>a .caret{float:right;position:relative;top:12px}.off-canvas-sidebar .nav>li>a i{font-size:18px;line-height:26px;margin-right:10px}.off-canvas-sidebar .nav>li.active>a:before{border:12px solid transparent;border-left:12px solid #ddd;border-right:none;left:0;margin-left:-15px;right:auto;top:10px}.off-canvas-sidebar .nav>li.active>a:after{border:12px solid transparent;border-left:12px solid #ebeff2;border-right:none;left:-1px;margin-left:-15px;right:auto;top:10px}.off-canvas-sidebar:after{background-color:#ebeff2;background-image:linear-gradient(180deg,transparent 0,hsla(0,0%,44%,0) 60%,hsla(0,0%,73%,.15))}.off-canvas-sidebar.has-image:after,.off-canvas-sidebar:after{content:"";display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.off-canvas-sidebar.has-image:after{background-color:hsla(0,0%,7%,.8)}.off-canvas-sidebar .logo{padding-bottom:11px;padding-top:11px;position:relative;z-index:4}.off-canvas-sidebar .divider{height:1px;margin:10px 0}.nav-open .navbar-collapse{transform:translateZ(0)}.nav-open .navbar .container{left:-230px}.nav-open .wrapper{left:0;transform:translate3d(-230px,0,0)}.navbar-toggle .icon-bar{background:#fff;border-radius:1px;display:block;height:2px;margin:0 auto;position:relative;width:24px}.navbar-header .navbar-toggle{height:40px;margin:10px 15px 10px 0;width:40px}.bar1,.bar2,.bar3{outline:1px solid transparent}.bar1{-webkit-animation:topbar-back .5s linear 0s;animation:topbar-back .5s 0s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;top:0}.bar2{opacity:1}.bar3{-webkit-animation:bottombar-back .5s linear 0s;animation:bottombar-back .5s 0s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;bottom:0}.toggled .bar1{-webkit-animation:topbar-x .5s linear 0s;animation:topbar-x .5s 0s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;top:6px}.toggled .bar2{opacity:0}.toggled .bar3{-webkit-animation:bottombar-x .5s linear 0s;animation:bottombar-x .5s 0s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;bottom:6px}@keyframes topbar-x{0%{top:0;transform:rotate(0deg)}45%{top:6px;transform:rotate(145deg)}75%{transform:rotate(130deg)}to{transform:rotate(135deg)}}@-webkit-keyframes topbar-x{0%{top:0;-webkit-transform:rotate(0deg)}45%{top:6px;-webkit-transform:rotate(145deg)}75%{-webkit-transform:rotate(130deg)}to{-webkit-transform:rotate(135deg)}}@keyframes topbar-back{0%{top:6px;transform:rotate(135deg)}45%{transform:rotate(-10deg)}75%{transform:rotate(5deg)}to{top:0;transform:rotate(0)}}@-webkit-keyframes topbar-back{0%{top:6px;-webkit-transform:rotate(135deg)}45%{-webkit-transform:rotate(-10deg)}75%{-webkit-transform:rotate(5deg)}to{top:0;-webkit-transform:rotate(0)}}@keyframes bottombar-x{0%{bottom:0;transform:rotate(0deg)}45%{bottom:6px;transform:rotate(-145deg)}75%{transform:rotate(-130deg)}to{transform:rotate(-135deg)}}@-webkit-keyframes bottombar-x{0%{bottom:0;-webkit-transform:rotate(0deg)}45%{bottom:6px;-webkit-transform:rotate(-145deg)}75%{-webkit-transform:rotate(-130deg)}to{-webkit-transform:rotate(-135deg)}}@keyframes bottombar-back{0%{bottom:6px;transform:rotate(-135deg)}45%{transform:rotate(10deg)}75%{transform:rotate(-5deg)}to{bottom:0;transform:rotate(0)}}@-webkit-keyframes bottombar-back{0%{bottom:6px;-webkit-transform:rotate(-135deg)}45%{-webkit-transform:rotate(10deg)}75%{-webkit-transform:rotate(-5deg)}to{bottom:0;-webkit-transform:rotate(0)}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dropdown-menu .divider{background-color:hsla(0,0%,90%,.15)}.navbar-nav{margin:1px 0}.dropdown-menu{display:none}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:transparent}.navbar-fixed-top{-webkit-backface-visibility:hidden}#bodyClick{content:"";height:100%;left:auto;opacity:0;overflow-x:hidden;position:fixed;right:230px;top:0;width:100%;z-index:9999}.form-control+.form-control-feedback{margin-top:-8px}.navbar-toggle:focus,.navbar-toggle:hover{background-color:transparent!important}.btn.dropdown-toggle{margin-bottom:0}.media-post .author{display:block;float:none!important;margin:0 auto 10px;width:20%}.media-post .media-body{width:100%}.navbar-collapse.collapse{height:100%!important}.navbar-collapse.collapse.in{display:block}.navbar-header .collapse,.navbar-toggle{display:block!important}.navbar-header{float:none}.navbar-nav .open .dropdown-menu{background-color:transparent;border:0;box-shadow:none;float:none;margin-top:0;position:static;width:auto}.main-panel>.content{padding-left:0;padding-right:0}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:transparent}.footer .copyright{padding:0 15px;width:100%}}@media (min-width:992px){.table-full-width{margin-left:-15px;margin-right:-15px}.table-responsive{overflow:visible}}@media (max-width:991px){.table-responsive{-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch;border:1px solid #ddd;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;width:100%}}.form-container{border:0;border-radius:2px;display:inline-block;font-weight:700;overflow:hidden;position:relative;width:100%}.form-container h6{background-color:hsla(0,0%,87%,.3);font-size:15px;padding:7px}.form-container .form-container-body{padding:8px}@font-face{font-family:Pe-icon-7-stroke;font-style:normal;font-weight:400;src:url(../../fonts/Pe-icon-7-stroke.eot?d7yf1v);src:url(../../fonts/Pe-icon-7-stroke.eot?#iefixd7yf1v) format("embedded-opentype"),url(../../fonts/Pe-icon-7-stroke.woff?d7yf1v) format("woff"),url(../../fonts/Pe-icon-7-stroke.ttf?d7yf1v) format("truetype"),url(../../fonts/Pe-icon-7-stroke.svg?d7yf1v#Pe-icon-7-stroke) format("svg")}[class*=" pe-7s-"],[class^=pe-7s-]{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:Pe-icon-7-stroke;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none} + */.ct-azure,.ct-blue{stroke:#067ec1!important}.ct-green{stroke:#18ce0f!important}.ct-orange{stroke:#ffb236!important}.ct-red{stroke:#ff3636!important}.brand,.h1,.h2,.h3,.h4,.h5,.h6,.navbar,.td-name,a,h1,h2,h3,h4,h5,h6,p,td{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,Helvetica Neue,Arial,sans-serif}.h1,.h2,.h3,.h4,h1,h2,h3,h4{font-weight:400;margin:30px 0 15px}.h1,h1{font-size:3.2em}.h2,h2{font-size:2.6em}.h3,h3{font-size:1.825em;line-height:1.4;margin:20px 0 10px}.h3,.h4,h3,h4{font-weight:300}.h4,h4{font-size:1.5em;line-height:1.2em}.h5,h5{font-size:1.25em;line-height:1.4em;margin-bottom:15px}.h5,.h6,h5,h6{font-weight:300}.h6,h6{font-size:.9em;text-transform:uppercase}p{font-size:1em;line-height:1.4em}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{color:#9a9a9a;font-weight:300;line-height:1.4em}h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:60%}.title-uppercase{text-transform:uppercase}blockquote{font-style:italic}blockquote small{font-style:normal}.text-muted{color:#ddd}.text-primary,.text-primary:hover{color:#427c89}.text-info,.text-info:hover{color:#0688d0}.text-success,.text-success:hover{color:#15b60d}.text-warning,.text-warning:hover{color:#ffa81d}.text-danger,.text-danger:hover{color:#ff1d1d}.glyphicon{line-height:1}strong{color:#403d39}.icon-info,.icon-primary{color:#067ec1}.icon-success{color:#18ce0f}.icon-warning{color:#ffb236}.icon-danger{color:#ff3636}.chart-legend .text-info,.chart-legend .text-info:hover,.chart-legend .text-primary,.chart-legend .text-primary:hover{color:#067ec1}.chart-legend .text-success,.chart-legend .text-success:hover{color:#18ce0f}.chart-legend .text-warning,.chart-legend .text-warning:hover{color:#ffb236}.chart-legend .text-danger,.chart-legend .text-danger:hover{color:#ff3636}.card-description,.description,.footer-big p{color:#9a9a9a;font-weight:300}body{color:#4b4743;font-family:Muli,Arial,sans-serif;font-size:14px}body .wrapper{min-height:100vh;position:relative}a{color:#067ec1}a:focus,a:hover{color:#0688d0;text-decoration:none}a:active,a:focus,button::-moz-focus-inner,input::-moz-focus-inner,input[type=file]>input[type=button]::-moz-focus-inner,select::-moz-focus-inner{outline:0!important}.navbar-toggle,.ui-slider-handle:focus,button:focus,input:focus{box-shadow:inset 0 -2px 0 #2196f3;outline:0!important}.form-control,.input-group-addon,.navbar,.navbar .alert,.tagsinput{transition:all .3s linear}.sidebar .nav a,.table>tbody>tr .td-actions .btn{transition:all .15s ease-in}.btn{transition:all .1s ease-in}.fa{text-align:center;width:21px}.fa-base{font-size:1.25em!important}.margin-top{margin-top:50px}hr{border-color:#f1eae0}.wrapper{height:100vh;position:relative;top:0}.sidebar{background-position:50%;background-size:cover;bottom:0;color:#2c2c2c;left:0;position:absolute;top:0;z-index:1}.sidebar .sidebar-wrapper{box-shadow:inset -1px 0 0 0 #ddd;max-height:none;min-height:100%;overflow:hidden;position:relative;width:260px;z-index:4}.sidebar .sidebar-background{background-position:50%;background-size:cover;display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.off-canvas-sidebar,.sidebar{display:block;font-weight:200;width:260px}.off-canvas-sidebar .logo,.sidebar .logo{margin:0 20px;padding:18px 0}.off-canvas-sidebar .logo p,.sidebar .logo p{float:left;font-size:20px;line-height:20px;margin:10px}.off-canvas-sidebar .logo .simple-text,.sidebar .logo .simple-text{display:block;font-size:1em;font-weight:400;line-height:30px;padding:4px 0;text-align:center;text-transform:uppercase}.off-canvas-sidebar .nav,.sidebar .nav{margin-top:20px}.off-canvas-sidebar .nav li>a,.sidebar .nav li>a{opacity:.7;padding-left:25px;padding-right:25px}.off-canvas-sidebar .nav li:hover>a,.sidebar .nav li:hover>a{opacity:1}.off-canvas-sidebar .nav li.active>a,.sidebar .nav li.active>a{color:#067ec1;opacity:1}.off-canvas-sidebar .nav li.active>a:before,.sidebar .nav li.active>a:before{border-bottom:17px solid transparent;border-right:17px solid #ddd;border-top:17px solid transparent;content:"";display:inline-block;position:absolute;right:0;top:8px}.off-canvas-sidebar .nav li.active>a:after,.sidebar .nav li.active>a:after{border-bottom:17px solid transparent;border-right:17px solid #ebeff2;border-top:17px solid transparent;content:"";display:inline-block;position:absolute;right:-1px;top:8px}.off-canvas-sidebar .nav li h5,.sidebar .nav li h5{-webkit-font-smoothing:antialiased;font-family:Roboto,Helvetica Neue,Arial,sans-serif;padding-left:30px}.off-canvas-sidebar .nav li>a.menu,.sidebar .nav li>a.menu{padding:10px 0 0}.off-canvas-sidebar .nav li ul,.sidebar .nav li ul{margin-top:0}.off-canvas-sidebar .nav p,.sidebar .nav p{font-size:12px;font-weight:600;line-height:30px;margin:0;text-transform:uppercase}.off-canvas-sidebar .nav i,.sidebar .nav i{float:left;font-size:24px;line-height:30px;margin-right:15px;text-align:center;width:30px}.off-canvas-sidebar:after,.off-canvas-sidebar:before,.sidebar:after,.sidebar:before{background:#fff;content:"";display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:2}.off-canvas-sidebar:after,.off-canvas-sidebar:before,.off-canvas-sidebar[data-background-color=white]:after,.off-canvas-sidebar[data-background-color=white]:before,.sidebar:after,.sidebar:before,.sidebar[data-background-color=white]:after,.sidebar[data-background-color=white]:before{background-color:#fff}.off-canvas-sidebar .logo,.off-canvas-sidebar[data-background-color=white] .logo,.sidebar .logo,.sidebar[data-background-color=white] .logo{border-bottom:1px solid rgba(44,44,44,.3)}.off-canvas-sidebar .logo .simple-text,.off-canvas-sidebar .logo p,.off-canvas-sidebar .nav li:not(.active)>a,.off-canvas-sidebar[data-background-color=white] .logo .simple-text,.off-canvas-sidebar[data-background-color=white] .logo p,.off-canvas-sidebar[data-background-color=white] .nav li:not(.active)>a,.sidebar .logo .simple-text,.sidebar .logo p,.sidebar .nav li:not(.active)>a,.sidebar[data-background-color=white] .logo .simple-text,.sidebar[data-background-color=white] .logo p,.sidebar[data-background-color=white] .nav li:not(.active)>a{color:#2c2c2c}.off-canvas-sidebar .nav .divider,.off-canvas-sidebar[data-background-color=white] .nav .divider,.sidebar .nav .divider,.sidebar[data-background-color=white] .nav .divider{background-color:rgba(44,44,44,.2)}.off-canvas-sidebar[data-background-color=black]:after,.off-canvas-sidebar[data-background-color=black]:before,.sidebar[data-background-color=black]:after,.sidebar[data-background-color=black]:before{background-color:#212120}.off-canvas-sidebar[data-background-color=black] .logo,.sidebar[data-background-color=black] .logo{border-bottom:1px solid hsla(0,0%,100%,.3)}.off-canvas-sidebar[data-background-color=black] .logo .simple-text,.off-canvas-sidebar[data-background-color=black] .logo p,.off-canvas-sidebar[data-background-color=black] .nav li:not(.active)>a,.sidebar[data-background-color=black] .logo .simple-text,.sidebar[data-background-color=black] .logo p,.sidebar[data-background-color=black] .nav li:not(.active)>a{color:#fff}.off-canvas-sidebar[data-background-color=black] .nav .divider,.sidebar[data-background-color=black] .nav .divider{background-color:hsla(0,0%,100%,.2)}.off-canvas-sidebar[data-active-color=primary] .nav li.active>a,.sidebar[data-active-color=primary] .nav li.active>a{color:#2c2c2c;opacity:1}.off-canvas-sidebar[data-active-color=info] .nav li.active>a,.sidebar[data-active-color=info] .nav li.active>a{color:#067ec1;opacity:1}.off-canvas-sidebar[data-active-color=success] .nav li.active>a,.sidebar[data-active-color=success] .nav li.active>a{color:#18ce0f;opacity:1}.off-canvas-sidebar[data-active-color=warning] .nav li.active>a,.sidebar[data-active-color=warning] .nav li.active>a{color:#ffb236;opacity:1}.off-canvas-sidebar[data-active-color=danger] .nav li.active>a,.sidebar[data-active-color=danger] .nav li.active>a{color:#ff3636;opacity:1}.main-panel{background-color:#ebeff2;float:right;min-height:100%;position:relative;width:calc(100% - 260px);z-index:2}.main-panel>.content{min-height:calc(100% - 123px);padding:0 2px}.main-panel>.footer{border-top:1px solid rgba(0,0,0,.1)}.main-panel .navbar{margin-bottom:0}.main-panel,.sidebar{-webkit-overflow-scrolling:touch;height:100%;max-height:100%;overflow:auto;transition-duration:.2s,.2s;transition-property:top,bottom;transition-timing-function:linear,linear}.badge{background-color:transparent;border:1px solid;border-radius:8px;border-radius:6px;font-size:.7142em;line-height:12px;margin-bottom:5px;padding:4px 8px;text-transform:uppercase}.badge-icon{padding:.4em .55em}.badge-icon i{font-size:.8em}.badge-default{border-color:#2c2c2c;color:#2c2c2c}.badge-info,.badge-primary{border-color:#067ec1;color:#067ec1}.badge-success{border-color:#18ce0f;color:#18ce0f}.badge-warning{border-color:#ffb236;color:#ffb236}.badge-danger{border-color:#ff3636;color:#ff3636}.badge-neutral{border-color:#fff;color:#fff}.btn,.navbar .navbar-nav>li>a.btn{background-color:transparent;background-color:#2c2c2c;box-sizing:border-box;color:#fff;font-size:14px;font-weight:500;margin-top:5px;padding:4px 18px;transition:all .15s linear}.btn.active,.btn.active:focus,.btn.active:hover,.btn:active,.btn:active:focus,.btn:active:hover,.btn:focus,.btn:hover,.navbar .navbar-nav>li>a.btn.active,.navbar .navbar-nav>li>a.btn.active:focus,.navbar .navbar-nav>li>a.btn.active:hover,.navbar .navbar-nav>li>a.btn:active,.navbar .navbar-nav>li>a.btn:active:focus,.navbar .navbar-nav>li>a.btn:active:hover,.navbar .navbar-nav>li>a.btn:focus,.navbar .navbar-nav>li>a.btn:hover,.open>.btn.dropdown-toggle,.open>.btn.dropdown-toggle:focus,.open>.btn.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle:hover{background-color:#403d39;color:#fff}.btn.disabled,.btn.disabled.active,.btn.disabled.focus,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn:disabled,.btn:disabled.active,.btn:disabled.focus,.btn:disabled:active,.btn:disabled:focus,.btn:disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled].focus,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,.navbar .navbar-nav>li>a.btn.disabled,.navbar .navbar-nav>li>a.btn.disabled.active,.navbar .navbar-nav>li>a.btn.disabled.focus,.navbar .navbar-nav>li>a.btn.disabled:active,.navbar .navbar-nav>li>a.btn.disabled:focus,.navbar .navbar-nav>li>a.btn.disabled:hover,.navbar .navbar-nav>li>a.btn:disabled,.navbar .navbar-nav>li>a.btn:disabled.active,.navbar .navbar-nav>li>a.btn:disabled.focus,.navbar .navbar-nav>li>a.btn:disabled:active,.navbar .navbar-nav>li>a.btn:disabled:focus,.navbar .navbar-nav>li>a.btn:disabled:hover,.navbar .navbar-nav>li>a.btn[disabled],.navbar .navbar-nav>li>a.btn[disabled].active,.navbar .navbar-nav>li>a.btn[disabled].focus,.navbar .navbar-nav>li>a.btn[disabled]:active,.navbar .navbar-nav>li>a.btn[disabled]:focus,.navbar .navbar-nav>li>a.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn.focus,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn,fieldset[disabled] .navbar .navbar-nav>li>a.btn.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn:hover{background-color:#2c2c2c;border-color:#2c2c2c}.btn.focus,.btn:focus,.navbar .navbar-nav>li>a.btn.focus,.navbar .navbar-nav>li>a.btn:focus{box-shadow:none}.btn.btn-simple,.navbar .navbar-nav>li>a.btn.btn-simple{border-color:#2c2c2c;color:#2c2c2c}.btn.btn-simple:active,.btn.btn-simple:focus,.btn.btn-simple:hover,.navbar .navbar-nav>li>a.btn.btn-simple:active,.navbar .navbar-nav>li>a.btn.btn-simple:focus,.navbar .navbar-nav>li>a.btn.btn-simple:hover{background-color:transparent;border-color:#403d39;color:#403d39}.btn.btn-link,.navbar .navbar-nav>li>a.btn.btn-link{color:#2c2c2c}.btn.btn-link:active,.btn.btn-link:focus,.btn.btn-link:hover,.navbar .navbar-nav>li>a.btn.btn-link:active,.navbar .navbar-nav>li>a.btn.btn-link:focus,.navbar .navbar-nav>li>a.btn.btn-link:hover{background-color:transparent;color:#403d39;text-decoration:none}.btn:focus,.btn:hover,.navbar .navbar-nav>li>a.btn:focus,.navbar .navbar-nav>li>a.btn:hover{outline:0!important}.btn.active,.btn:active,.navbar .navbar-nav>li>a.btn.active,.navbar .navbar-nav>li>a.btn:active,.open>.btn.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle{box-shadow:none;outline:0!important}.btn.btn-icon,.navbar .navbar-nav>li>a.btn.btn-icon{padding:7px}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-2px}.btn-primary,.navbar .navbar-nav>li>a.btn-primary{background-color:#067ec1;color:#fff}.btn-primary.active,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active,.btn-primary:active:focus,.btn-primary:active:hover,.btn-primary:focus,.btn-primary:hover,.navbar .navbar-nav>li>a.btn-primary.active,.navbar .navbar-nav>li>a.btn-primary.active:focus,.navbar .navbar-nav>li>a.btn-primary.active:hover,.navbar .navbar-nav>li>a.btn-primary:active,.navbar .navbar-nav>li>a.btn-primary:active:focus,.navbar .navbar-nav>li>a.btn-primary:active:hover,.navbar .navbar-nav>li>a.btn-primary:focus,.navbar .navbar-nav>li>a.btn-primary:hover,.open>.btn-primary.dropdown-toggle,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn-primary.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn-primary.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn-primary.dropdown-toggle:hover{background-color:#427c89;color:#fff}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary:disabled,.btn-primary:disabled.active,.btn-primary:disabled.focus,.btn-primary:disabled:active,.btn-primary:disabled:focus,.btn-primary:disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,.navbar .navbar-nav>li>a.btn-primary.disabled,.navbar .navbar-nav>li>a.btn-primary.disabled.active,.navbar .navbar-nav>li>a.btn-primary.disabled.focus,.navbar .navbar-nav>li>a.btn-primary.disabled:active,.navbar .navbar-nav>li>a.btn-primary.disabled:focus,.navbar .navbar-nav>li>a.btn-primary.disabled:hover,.navbar .navbar-nav>li>a.btn-primary:disabled,.navbar .navbar-nav>li>a.btn-primary:disabled.active,.navbar .navbar-nav>li>a.btn-primary:disabled.focus,.navbar .navbar-nav>li>a.btn-primary:disabled:active,.navbar .navbar-nav>li>a.btn-primary:disabled:focus,.navbar .navbar-nav>li>a.btn-primary:disabled:hover,.navbar .navbar-nav>li>a.btn-primary[disabled],.navbar .navbar-nav>li>a.btn-primary[disabled].active,.navbar .navbar-nav>li>a.btn-primary[disabled].focus,.navbar .navbar-nav>li>a.btn-primary[disabled]:active,.navbar .navbar-nav>li>a.btn-primary[disabled]:focus,.navbar .navbar-nav>li>a.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-primary:hover{background-color:#067ec1;border-color:#067ec1}.btn-primary.focus,.btn-primary:focus,.navbar .navbar-nav>li>a.btn-primary.focus,.navbar .navbar-nav>li>a.btn-primary:focus{box-shadow:none}.btn-primary.btn-simple,.navbar .navbar-nav>li>a.btn-primary.btn-simple{border-color:#067ec1;color:#067ec1}.btn-primary.btn-simple:active,.btn-primary.btn-simple:focus,.btn-primary.btn-simple:hover,.navbar .navbar-nav>li>a.btn-primary.btn-simple:active,.navbar .navbar-nav>li>a.btn-primary.btn-simple:focus,.navbar .navbar-nav>li>a.btn-primary.btn-simple:hover{background-color:transparent;border-color:#427c89;color:#427c89}.btn-primary.btn-link,.navbar .navbar-nav>li>a.btn-primary.btn-link{color:#067ec1}.btn-primary.btn-link:active,.btn-primary.btn-link:focus,.btn-primary.btn-link:hover,.navbar .navbar-nav>li>a.btn-primary.btn-link:active,.navbar .navbar-nav>li>a.btn-primary.btn-link:focus,.navbar .navbar-nav>li>a.btn-primary.btn-link:hover{background-color:transparent;color:#427c89;text-decoration:none}.btn-success,.navbar .navbar-nav>li>a.btn-success{background-color:#18ce0f;color:#fff}.btn-success.active,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active,.btn-success:active:focus,.btn-success:active:hover,.btn-success:focus,.btn-success:hover,.navbar .navbar-nav>li>a.btn-success.active,.navbar .navbar-nav>li>a.btn-success.active:focus,.navbar .navbar-nav>li>a.btn-success.active:hover,.navbar .navbar-nav>li>a.btn-success:active,.navbar .navbar-nav>li>a.btn-success:active:focus,.navbar .navbar-nav>li>a.btn-success:active:hover,.navbar .navbar-nav>li>a.btn-success:focus,.navbar .navbar-nav>li>a.btn-success:hover,.open>.btn-success.dropdown-toggle,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn-success.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn-success.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn-success.dropdown-toggle:hover{background-color:#15b60d;color:#fff}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success:disabled,.btn-success:disabled.active,.btn-success:disabled.focus,.btn-success:disabled:active,.btn-success:disabled:focus,.btn-success:disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,.navbar .navbar-nav>li>a.btn-success.disabled,.navbar .navbar-nav>li>a.btn-success.disabled.active,.navbar .navbar-nav>li>a.btn-success.disabled.focus,.navbar .navbar-nav>li>a.btn-success.disabled:active,.navbar .navbar-nav>li>a.btn-success.disabled:focus,.navbar .navbar-nav>li>a.btn-success.disabled:hover,.navbar .navbar-nav>li>a.btn-success:disabled,.navbar .navbar-nav>li>a.btn-success:disabled.active,.navbar .navbar-nav>li>a.btn-success:disabled.focus,.navbar .navbar-nav>li>a.btn-success:disabled:active,.navbar .navbar-nav>li>a.btn-success:disabled:focus,.navbar .navbar-nav>li>a.btn-success:disabled:hover,.navbar .navbar-nav>li>a.btn-success[disabled],.navbar .navbar-nav>li>a.btn-success[disabled].active,.navbar .navbar-nav>li>a.btn-success[disabled].focus,.navbar .navbar-nav>li>a.btn-success[disabled]:active,.navbar .navbar-nav>li>a.btn-success[disabled]:focus,.navbar .navbar-nav>li>a.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-success:hover{background-color:#18ce0f;border-color:#18ce0f}.btn-success.focus,.btn-success:focus,.navbar .navbar-nav>li>a.btn-success.focus,.navbar .navbar-nav>li>a.btn-success:focus{box-shadow:none}.btn-success.btn-simple,.navbar .navbar-nav>li>a.btn-success.btn-simple{border-color:#18ce0f;color:#18ce0f}.btn-success.btn-simple:active,.btn-success.btn-simple:focus,.btn-success.btn-simple:hover,.navbar .navbar-nav>li>a.btn-success.btn-simple:active,.navbar .navbar-nav>li>a.btn-success.btn-simple:focus,.navbar .navbar-nav>li>a.btn-success.btn-simple:hover{background-color:transparent;border-color:#15b60d;color:#15b60d}.btn-success.btn-link,.navbar .navbar-nav>li>a.btn-success.btn-link{color:#18ce0f}.btn-success.btn-link:active,.btn-success.btn-link:focus,.btn-success.btn-link:hover,.navbar .navbar-nav>li>a.btn-success.btn-link:active,.navbar .navbar-nav>li>a.btn-success.btn-link:focus,.navbar .navbar-nav>li>a.btn-success.btn-link:hover{background-color:transparent;color:#15b60d;text-decoration:none}.btn-info,.navbar .navbar-nav>li>a.btn-info{background-color:#067ec1;color:#fff}.btn-info.active,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active,.btn-info:active:focus,.btn-info:active:hover,.btn-info:focus,.btn-info:hover,.navbar .navbar-nav>li>a.btn-info.active,.navbar .navbar-nav>li>a.btn-info.active:focus,.navbar .navbar-nav>li>a.btn-info.active:hover,.navbar .navbar-nav>li>a.btn-info:active,.navbar .navbar-nav>li>a.btn-info:active:focus,.navbar .navbar-nav>li>a.btn-info:active:hover,.navbar .navbar-nav>li>a.btn-info:focus,.navbar .navbar-nav>li>a.btn-info:hover,.open>.btn-info.dropdown-toggle,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn-info.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn-info.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn-info.dropdown-toggle:hover{background-color:#0688d0;color:#fff}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info:disabled,.btn-info:disabled.active,.btn-info:disabled.focus,.btn-info:disabled:active,.btn-info:disabled:focus,.btn-info:disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,.navbar .navbar-nav>li>a.btn-info.disabled,.navbar .navbar-nav>li>a.btn-info.disabled.active,.navbar .navbar-nav>li>a.btn-info.disabled.focus,.navbar .navbar-nav>li>a.btn-info.disabled:active,.navbar .navbar-nav>li>a.btn-info.disabled:focus,.navbar .navbar-nav>li>a.btn-info.disabled:hover,.navbar .navbar-nav>li>a.btn-info:disabled,.navbar .navbar-nav>li>a.btn-info:disabled.active,.navbar .navbar-nav>li>a.btn-info:disabled.focus,.navbar .navbar-nav>li>a.btn-info:disabled:active,.navbar .navbar-nav>li>a.btn-info:disabled:focus,.navbar .navbar-nav>li>a.btn-info:disabled:hover,.navbar .navbar-nav>li>a.btn-info[disabled],.navbar .navbar-nav>li>a.btn-info[disabled].active,.navbar .navbar-nav>li>a.btn-info[disabled].focus,.navbar .navbar-nav>li>a.btn-info[disabled]:active,.navbar .navbar-nav>li>a.btn-info[disabled]:focus,.navbar .navbar-nav>li>a.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-info:hover{background-color:#067ec1;border-color:#067ec1}.btn-info.focus,.btn-info:focus,.navbar .navbar-nav>li>a.btn-info.focus,.navbar .navbar-nav>li>a.btn-info:focus{box-shadow:none}.btn-info.btn-simple,.navbar .navbar-nav>li>a.btn-info.btn-simple{border-color:#067ec1;color:#067ec1}.btn-info.btn-simple:active,.btn-info.btn-simple:focus,.btn-info.btn-simple:hover,.navbar .navbar-nav>li>a.btn-info.btn-simple:active,.navbar .navbar-nav>li>a.btn-info.btn-simple:focus,.navbar .navbar-nav>li>a.btn-info.btn-simple:hover{background-color:transparent;border-color:#0688d0;color:#0688d0}.btn-info.btn-link,.navbar .navbar-nav>li>a.btn-info.btn-link{color:#067ec1}.btn-info.btn-link:active,.btn-info.btn-link:focus,.btn-info.btn-link:hover,.navbar .navbar-nav>li>a.btn-info.btn-link:active,.navbar .navbar-nav>li>a.btn-info.btn-link:focus,.navbar .navbar-nav>li>a.btn-info.btn-link:hover{background-color:transparent;color:#0688d0;text-decoration:none}.btn-warning,.navbar .navbar-nav>li>a.btn-warning{background-color:#ffb236;color:#fff}.btn-warning.active,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active,.btn-warning:active:focus,.btn-warning:active:hover,.btn-warning:focus,.btn-warning:hover,.navbar .navbar-nav>li>a.btn-warning.active,.navbar .navbar-nav>li>a.btn-warning.active:focus,.navbar .navbar-nav>li>a.btn-warning.active:hover,.navbar .navbar-nav>li>a.btn-warning:active,.navbar .navbar-nav>li>a.btn-warning:active:focus,.navbar .navbar-nav>li>a.btn-warning:active:hover,.navbar .navbar-nav>li>a.btn-warning:focus,.navbar .navbar-nav>li>a.btn-warning:hover,.open>.btn-warning.dropdown-toggle,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn-warning.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn-warning.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn-warning.dropdown-toggle:hover{background-color:#ffa81d;color:#fff}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning:disabled,.btn-warning:disabled.active,.btn-warning:disabled.focus,.btn-warning:disabled:active,.btn-warning:disabled:focus,.btn-warning:disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,.navbar .navbar-nav>li>a.btn-warning.disabled,.navbar .navbar-nav>li>a.btn-warning.disabled.active,.navbar .navbar-nav>li>a.btn-warning.disabled.focus,.navbar .navbar-nav>li>a.btn-warning.disabled:active,.navbar .navbar-nav>li>a.btn-warning.disabled:focus,.navbar .navbar-nav>li>a.btn-warning.disabled:hover,.navbar .navbar-nav>li>a.btn-warning:disabled,.navbar .navbar-nav>li>a.btn-warning:disabled.active,.navbar .navbar-nav>li>a.btn-warning:disabled.focus,.navbar .navbar-nav>li>a.btn-warning:disabled:active,.navbar .navbar-nav>li>a.btn-warning:disabled:focus,.navbar .navbar-nav>li>a.btn-warning:disabled:hover,.navbar .navbar-nav>li>a.btn-warning[disabled],.navbar .navbar-nav>li>a.btn-warning[disabled].active,.navbar .navbar-nav>li>a.btn-warning[disabled].focus,.navbar .navbar-nav>li>a.btn-warning[disabled]:active,.navbar .navbar-nav>li>a.btn-warning[disabled]:focus,.navbar .navbar-nav>li>a.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-warning:hover{background-color:#ffb236;border-color:#ffb236}.btn-warning.focus,.btn-warning:focus,.navbar .navbar-nav>li>a.btn-warning.focus,.navbar .navbar-nav>li>a.btn-warning:focus{box-shadow:none}.btn-warning.btn-simple,.navbar .navbar-nav>li>a.btn-warning.btn-simple{border-color:#ffb236;color:#ffb236}.btn-warning.btn-simple:active,.btn-warning.btn-simple:focus,.btn-warning.btn-simple:hover,.navbar .navbar-nav>li>a.btn-warning.btn-simple:active,.navbar .navbar-nav>li>a.btn-warning.btn-simple:focus,.navbar .navbar-nav>li>a.btn-warning.btn-simple:hover{background-color:transparent;border-color:#ffa81d;color:#ffa81d}.btn-warning.btn-link,.navbar .navbar-nav>li>a.btn-warning.btn-link{color:#ffb236}.btn-warning.btn-link:active,.btn-warning.btn-link:focus,.btn-warning.btn-link:hover,.navbar .navbar-nav>li>a.btn-warning.btn-link:active,.navbar .navbar-nav>li>a.btn-warning.btn-link:focus,.navbar .navbar-nav>li>a.btn-warning.btn-link:hover{background-color:transparent;color:#ffa81d;text-decoration:none}.btn-danger,.navbar .navbar-nav>li>a.btn-danger{background-color:#ff3636;color:#fff}.btn-danger.active,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active,.btn-danger:active:focus,.btn-danger:active:hover,.btn-danger:focus,.btn-danger:hover,.navbar .navbar-nav>li>a.btn-danger.active,.navbar .navbar-nav>li>a.btn-danger.active:focus,.navbar .navbar-nav>li>a.btn-danger.active:hover,.navbar .navbar-nav>li>a.btn-danger:active,.navbar .navbar-nav>li>a.btn-danger:active:focus,.navbar .navbar-nav>li>a.btn-danger:active:hover,.navbar .navbar-nav>li>a.btn-danger:focus,.navbar .navbar-nav>li>a.btn-danger:hover,.open>.btn-danger.dropdown-toggle,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn-danger.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn-danger.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn-danger.dropdown-toggle:hover{background-color:#ff1d1d;color:#fff}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger:disabled,.btn-danger:disabled.active,.btn-danger:disabled.focus,.btn-danger:disabled:active,.btn-danger:disabled:focus,.btn-danger:disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,.navbar .navbar-nav>li>a.btn-danger.disabled,.navbar .navbar-nav>li>a.btn-danger.disabled.active,.navbar .navbar-nav>li>a.btn-danger.disabled.focus,.navbar .navbar-nav>li>a.btn-danger.disabled:active,.navbar .navbar-nav>li>a.btn-danger.disabled:focus,.navbar .navbar-nav>li>a.btn-danger.disabled:hover,.navbar .navbar-nav>li>a.btn-danger:disabled,.navbar .navbar-nav>li>a.btn-danger:disabled.active,.navbar .navbar-nav>li>a.btn-danger:disabled.focus,.navbar .navbar-nav>li>a.btn-danger:disabled:active,.navbar .navbar-nav>li>a.btn-danger:disabled:focus,.navbar .navbar-nav>li>a.btn-danger:disabled:hover,.navbar .navbar-nav>li>a.btn-danger[disabled],.navbar .navbar-nav>li>a.btn-danger[disabled].active,.navbar .navbar-nav>li>a.btn-danger[disabled].focus,.navbar .navbar-nav>li>a.btn-danger[disabled]:active,.navbar .navbar-nav>li>a.btn-danger[disabled]:focus,.navbar .navbar-nav>li>a.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn-danger:hover{background-color:#ff3636;border-color:#ff3636}.btn-danger.focus,.btn-danger:focus,.navbar .navbar-nav>li>a.btn-danger.focus,.navbar .navbar-nav>li>a.btn-danger:focus{box-shadow:none}.btn-danger.btn-simple,.navbar .navbar-nav>li>a.btn-danger.btn-simple{border-color:#ff3636;color:#ff3636}.btn-danger.btn-simple:active,.btn-danger.btn-simple:focus,.btn-danger.btn-simple:hover,.navbar .navbar-nav>li>a.btn-danger.btn-simple:active,.navbar .navbar-nav>li>a.btn-danger.btn-simple:focus,.navbar .navbar-nav>li>a.btn-danger.btn-simple:hover{background-color:transparent;border-color:#ff1d1d;color:#ff1d1d}.btn-danger.btn-link,.navbar .navbar-nav>li>a.btn-danger.btn-link{color:#ff3636}.btn-danger.btn-link:active,.btn-danger.btn-link:focus,.btn-danger.btn-link:hover,.navbar .navbar-nav>li>a.btn-danger.btn-link:active,.navbar .navbar-nav>li>a.btn-danger.btn-link:focus,.navbar .navbar-nav>li>a.btn-danger.btn-link:hover{background-color:transparent;color:#ff1d1d;text-decoration:none}.btn-neutral,.btn-neutral.active,.btn-neutral.active:focus,.btn-neutral.active:hover,.btn-neutral:active,.btn-neutral:active:focus,.btn-neutral:active:hover,.btn-neutral:focus,.btn-neutral:hover,.open>.btn-neutral.dropdown-toggle,.open>.btn-neutral.dropdown-toggle:focus,.open>.btn-neutral.dropdown-toggle:hover{background-color:#fff;color:#fff}.btn-neutral.disabled,.btn-neutral.disabled.active,.btn-neutral.disabled.focus,.btn-neutral.disabled:active,.btn-neutral.disabled:focus,.btn-neutral.disabled:hover,.btn-neutral:disabled,.btn-neutral:disabled.active,.btn-neutral:disabled.focus,.btn-neutral:disabled:active,.btn-neutral:disabled:focus,.btn-neutral:disabled:hover,.btn-neutral[disabled],.btn-neutral[disabled].active,.btn-neutral[disabled].focus,.btn-neutral[disabled]:active,.btn-neutral[disabled]:focus,.btn-neutral[disabled]:hover,fieldset[disabled] .btn-neutral,fieldset[disabled] .btn-neutral.active,fieldset[disabled] .btn-neutral.focus,fieldset[disabled] .btn-neutral:active,fieldset[disabled] .btn-neutral:focus,fieldset[disabled] .btn-neutral:hover{background-color:#fff;border-color:#fff}.btn-neutral.focus,.btn-neutral:focus{box-shadow:none}.btn-neutral.btn-danger{color:#ff3636}.btn-neutral.btn-danger:active,.btn-neutral.btn-danger:focus,.btn-neutral.btn-danger:hover{color:#ff1d1d}.btn-neutral.btn-info{color:#fff}.btn-neutral.btn-info:active,.btn-neutral.btn-info:focus,.btn-neutral.btn-info:hover{color:#0688d0}.btn-neutral.btn-warning{color:#fff}.btn-neutral.btn-warning:active,.btn-neutral.btn-warning:focus,.btn-neutral.btn-warning:hover{color:#ffa81d}.btn-neutral.btn-success{color:#fff}.btn-neutral.btn-success:active,.btn-neutral.btn-success:focus,.btn-neutral.btn-success:hover{color:#15b60d}.btn-neutral.btn-default{color:#fff}.btn-neutral.btn-default:active,.btn-neutral.btn-default:focus,.btn-neutral.btn-default:hover{color:#403d39}.btn-neutral.active,.btn-neutral.active:focus,.btn-neutral.active:hover,.btn-neutral:active:focus,.btn-neutral:active:hover,.open>.btn-neutral.dropdown-toggle,.open>.btn-neutral.dropdown-toggle:focus,.open>.btn-neutral.dropdown-toggle:hover{background-color:#fff;color:#067ec1}.btn-neutral:active,.btn-neutral:focus,.btn-neutral:hover{color:#427c89}.btn-neutral.btn-simple{border-color:#fff;color:#fff}.btn-neutral.btn-simple:active,.btn-neutral.btn-simple:focus,.btn-neutral.btn-simple:hover{background-color:transparent;border-color:#fff;color:#fff}.btn-neutral.btn-link{color:#fff}.btn-neutral.btn-link:active,.btn-neutral.btn-link:focus,.btn-neutral.btn-link:hover{background-color:transparent;color:#fff;text-decoration:none}.btn-neutral:focus,.btn-neutral:hover{color:#2c2c2c}.btn-neutral.active,.btn-neutral:active,.open>.btn-neutral.dropdown-toggle{background-color:#fff;color:#2c2c2c}.btn-neutral.btn-fill{color:#2c2c2c}.btn-neutral.btn-fill:focus,.btn-neutral.btn-fill:hover{color:#403d39}.btn-neutral.btn-simple.active,.btn-neutral.btn-simple:active{background-color:transparent}.btn.disabled,.btn:disabled,.btn[disabled]{filter:alpha(opacity=50);opacity:.5}.btn-simple{border:0;padding:7px 18px}.btn-simple.btn-icon{padding:7px}.btn-lg{font-size:1em;font-weight:400;padding:11px 30px}.btn-lg.btn-simple{padding:13px 30px}.btn-sm{font-size:.8571em;padding:4px 10px}.btn-sm.btn-simple{padding:6px 10px}.btn-xs{font-size:.7142em;padding:2px 5px}.btn-xs.btn-simple{padding:4px 5px}.btn-wd{min-width:140px}.btn-group.select{width:100%}.btn-group.select .btn{text-align:left}.btn-group.select .caret{margin-top:-1px;position:absolute;right:8px;top:50%}.form-control:-moz-placeholder,.form-control::-moz-placeholder{color:#ddd;filter:alpha(opacity=100);opacity:1}.form-control::-webkit-input-placeholder{color:#ddd;filter:alpha(opacity=100);opacity:1}.form-control:-ms-input-placeholder{color:#ddd;filter:alpha(opacity=100);opacity:1}.form-control{background-color:transparent;border:1px solid #aaa;border-radius:0;box-shadow:none;color:#333;font-family:Avenir-light,AvenirLTStd-Light,sans-serif!important;font-size:14px;font-weight:400;line-height:1em;transition:color .3s ease-in-out,border-color .3s ease-in-out,background-color .3s ease-in-out}.has-success .form-control{border-color:#e3e3e3}.form-control:focus{border:1px solid #067ec1;box-shadow:none;color:#333;outline:0!important}.form-control:focus+.input-group-addon,.form-control:focus~.input-group-addon{background-color:transparent;border:1px solid #067ec1}.has-error .form-control,.has-error .form-control:focus,.has-success .form-control,.has-success .form-control:focus{box-shadow:none}.has-danger .form-control.form-control-danger,.has-danger .form-control.form-control-success,.has-success .form-control.form-control-danger,.has-success .form-control.form-control-success{background-image:none}.has-danger .form-control{background-color:#ffcfcf;border-color:#ffcfcf;color:#ff3636}.has-danger .form-control:focus{background-color:hsla(0,0%,87%,.3)}.form-control+.form-control-feedback{border-radius:.125rem;font-size:14px;margin-top:-7px;position:absolute;right:10px;top:50%;vertical-align:middle}.open .form-control{border-bottom-color:transparent;border-radius:.125rem .125rem 0 0}.form-control+.input-group-addon{background-color:#fff}.has-danger:after,.has-success:after{color:#18ce0f;content:"\ea22";display:inline-block;font-family:Nucleo Outline;font-size:11px;position:absolute;right:35px;top:12px}.has-danger.input-lg:after,.has-success.input-lg:after{font-size:13px;top:13px}.has-danger:after{color:#ff3636;content:"\ea53"}.form-group.form-group-no-border.input-sm .input-group-addon,.input-group.form-group-no-border.input-sm .input-group-addon{padding:4px 0 4px 10px}.form-group.form-group-no-border.input-sm .form-control,.input-group.form-group-no-border.input-sm .form-control{padding:4px 10px}.form-group.form-group-no-border.input-sm .form-control+.input-group-addon,.input-group.form-group-no-border.input-sm .form-control+.input-group-addon{padding:4px 10px 4px 0}.form-group.input-sm .form-control,.input-group.input-sm .form-control{padding:3px 9px}.form-group.input-sm .form-control+.input-group-addon,.input-group.input-sm .form-control+.input-group-addon{padding:3px 9px 3px 0}.form-group.input-sm .input-group-addon,.input-group.input-sm .input-group-addon{padding:3px 0 4px 9px}.form-group.input-sm .input-group-addon+.form-control,.input-group.input-sm .input-group-addon+.form-control{padding:4px 9px 4px 7px}.form-group.form-group-no-border.input-lg .input-group-addon,.input-group.form-group-no-border.input-lg .input-group-addon{padding:11px 0 11px 19px}.form-group.form-group-no-border.input-lg .form-control,.input-group.form-group-no-border.input-lg .form-control{padding:11px 19px}.form-group.form-group-no-border.input-lg .form-control+.input-group-addon,.input-group.form-group-no-border.input-lg .form-control+.input-group-addon{padding:11px 19px 11px 0}.form-group.input-lg .form-control,.input-group.input-lg .form-control{padding:10px 18px}.form-group.input-lg .form-control+.input-group-addon,.input-group.input-lg .form-control+.input-group-addon{padding:10px 18px 10px 0}.form-group.input-lg .input-group-addon,.input-group.input-lg .input-group-addon{padding:10px 0 11px 18px}.form-group.input-lg .input-group-addon+.form-control,.input-group.input-lg .input-group-addon+.form-control{padding:11px 18px 11px 16px}.form-group.form-group-no-border .form-control,.input-group.form-group-no-border .form-control{padding:4px 10px}.form-group.form-group-no-border .form-control+.input-group-addon,.input-group.form-group-no-border .form-control+.input-group-addon{padding:4px 10px 4px 0}.form-group.form-group-no-border .input-group-addon,.input-group.form-group-no-border .input-group-addon{padding:4px 0 4px 10px}.form-group .form-control,.input-group .form-control{margin-top:2px;padding:3px 9px}.form-group .form-control+.input-group-addon,.input-group .form-control+.input-group-addon{padding:3px 9px 3px 0}.form-group .input-group-addon,.input-group .input-group-addon{padding:3px 0 3px 9px}.form-group .input-group-addon+.form-control,.form-group .input-group-addon~.form-control,.input-group .input-group-addon+.form-control,.input-group .input-group-addon~.form-control{padding:3px 10px 4px 7px}.form-group.form-group-no-border .form-control,.form-group.form-group-no-border .form-control+.input-group-addon,.input-group.form-group-no-border .form-control,.input-group.form-group-no-border .form-control+.input-group-addon{background-color:hsla(0,0%,87%,.3);border:none}.form-group.form-group-no-border .form-control+.input-group-addon:active,.form-group.form-group-no-border .form-control+.input-group-addon:focus,.form-group.form-group-no-border .form-control:active,.form-group.form-group-no-border .form-control:focus,.input-group.form-group-no-border .form-control+.input-group-addon:active,.input-group.form-group-no-border .form-control+.input-group-addon:focus,.input-group.form-group-no-border .form-control:active,.input-group.form-group-no-border .form-control:focus{background-color:hsla(0,0%,87%,.5);border:none}.form-group.form-group-no-border .form-control:focus+.input-group-addon,.input-group.form-group-no-border .form-control:focus+.input-group-addon{background-color:hsla(0,0%,87%,.5)}.form-group.form-group-no-border .input-group-addon,.input-group.form-group-no-border .input-group-addon{background-color:hsla(0,0%,87%,.3);border:none}.has-error .control-label,.has-error .form-control-feedback{color:#ff3636}.has-success .control-label,.has-success .form-control-feedback{color:#18ce0f}.input-group-addon{border:1px solid #e3e3e3;border-radius:.125rem;color:#555;padding:6px 0 6px 17px;transition:color .3s ease-in-out,border-color .3s ease-in-out,background-color .3s ease-in-out}.has-danger .input-group-addon,.has-success .input-group-addon,.input-group-addon{background-color:#fff}.has-danger .form-control:focus+.input-group-addon{color:#ff3636}.has-success .form-control:focus+.input-group-addon{color:#18ce0f}.input-group-addon+.form-control,.input-group-addon~.form-control{padding:6px 18px}.input-group-focus .input-group-addon{background-color:#fff;border-color:#067ec1}.input-group-focus.form-group-no-border .input-group-addon{background-color:hsla(0,0%,87%,.5)}.form-group,.input-group{margin-bottom:10px}.input-group[disabled] .input-group-addon{background-color:#e3e3e3}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#e3e3e3;color:#2c2c2c;cursor:not-allowed}.input-group-btn .btn{border-width:1px;padding:11px 18px}.input-group-btn .btn-default:not(.btn-fill){border-color:#ddd}.input-group-btn:last-child>.btn{margin-left:0}textarea.form-control{background-color:transparent;border:1px solid #aaa;border-radius:0;color:#333;font-size:14px;font-weight:400;line-height:1em;max-width:100%;padding:10px;resize:none}textarea.form-control:active,textarea.form-control:focus{background-color:transparent;border:1px solid #067ec1;box-shadow:none}.has-danger.form-group .form-control,.has-danger.form-group.form-group-no-border .form-control,.has-success.form-group .form-control,.has-success.form-group.form-group-no-border .form-control{padding-right:40px}.alert{border:0;border-radius:0;color:#fff;font-size:14px;padding:10px 15px}.container .alert{border-radius:4px}.navbar .alert{border-radius:0;left:0;position:absolute;right:0;top:85px;width:100%;z-index:3}.navbar:not(.navbar-transparent) .alert{top:70px}.alert span[data-notify=icon]{display:block;font-size:30px;left:15px;margin-top:-20px;position:absolute;top:50%}.alert .close~span{display:block;max-width:89%}.alert[data-notify=container]{border-radius:2px;padding:10px 10px 10px 20px}.alert.alert-with-icon{padding-left:65px}.alert-info{background-color:#7ce4fe;color:#0688d0}.alert-success{background-color:#8ef3c5;color:#15b60d}.alert-warning{background-color:#ffe28c;color:#ffa81d}.alert-danger{background-color:#ff3636;color:#fff}.table tbody tr>td,.table tbody tr>th,.table tfoot tr>td,.table tfoot tr>th,.table thead tr>td,.table thead tr>th{border-top:1px solid #ccc5b9}.table>thead>tr>th{border-bottom-width:0;font-size:1.25em;font-weight:300}.table .checkbox,.table .radio{margin-bottom:22px;margin-top:0;padding:0;width:15px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:12px;vertical-align:middle}.table .th-description{max-width:150px}.table .td-price{font-size:26px;font-weight:300;margin-top:5px;text-align:right}.table .td-total{font-size:1.25em;font-weight:600;padding-top:20px;text-align:right}.table .td-actions .btn.btn-sm,.table .td-actions .btn.btn-xs{padding-left:3px;padding-right:3px}.table>tbody>tr{position:relative}.table-striped tbody>tr:nth-of-type(odd){background-color:#fff}.table-striped tbody>tr:nth-of-type(2n){background-color:#fffcf5}.table-striped>tbody>tr>td,.table-striped>tbody>tr>th,.table-striped>tfoot>tr>td,.table-striped>tfoot>tr>th,.table-striped>thead>tr>td,.table-striped>thead>tr>th{padding:15px 8px}.checkbox,.radio{color:#4b4743;cursor:pointer;font-size:14px;font-weight:400;line-height:1.5;margin-bottom:12px;padding-left:30px;position:relative;transition:color,opacity .25s linear}.checkbox .icons,.radio .icons{color:#4b4743;cursor:pointer;display:block;font-size:20px;height:20px;left:0;line-height:21px;opacity:.5;position:absolute;text-align:center;top:0;transition:color,opacity .15s linear;width:20px}.checkbox.checked .icons,.radio.checked .icons{opacity:1}.checkbox input,.radio input{display:none;outline:none!important}.checkbox label,.radio label{padding-left:10px}.checkbox .icons .first-icon,.checkbox .icons .second-icon,.radio .icons .first-icon,.radio .icons .second-icon{background-color:transparent;display:inline-table;filter:alpha(opacity=100);left:0;margin:0;opacity:1;position:absolute;top:0}.checkbox .icons .second-icon,.radio .icons .second-icon{filter:alpha(opacity=0);opacity:0}.checkbox:hover,.radio:hover{transition:color .2s linear}.checkbox:hover .first-icon,.radio:hover .first-icon{filter:alpha(opacity=0);opacity:0}.checkbox:hover .second-icon,.radio:hover .second-icon{filter:alpha(opacity=100);opacity:1}.checkbox.checked .first-icon,.radio.checked .first-icon{filter:alpha(opacity=0);opacity:0}.checkbox.checked .second-icon,.radio.checked .second-icon{filter:alpha(opacity=100);opacity:1;transition:color .2s linear}.checkbox.disabled,.radio.disabled{color:#ddd;cursor:default}.checkbox.disabled .icons,.radio.disabled .icons{color:#ddd}.checkbox.disabled .first-icon,.radio.disabled .first-icon{filter:alpha(opacity=100);opacity:1}.checkbox.disabled .second-icon,.radio.disabled .second-icon{filter:alpha(opacity=0);opacity:0}.checkbox.disabled.checked .icons,.radio.disabled.checked .icons{color:#ddd}.checkbox.disabled.checked .first-icon,.radio.disabled.checked .first-icon{filter:alpha(opacity=0);opacity:0}.checkbox.disabled.checked .second-icon,.radio.disabled.checked .second-icon{color:#ddd;filter:alpha(opacity=100);opacity:1}.nav>li>a:focus,.nav>li>a:hover{background-color:transparent}.navbar{border:0;border-radius:0;font-size:1em;z-index:3}.navbar .navbar-brand{color:#fff;font-size:20px;font-weight:300;margin:5px 0;padding:20px 15px}.navbar .navbar-nav>li>a{line-height:1.42857;margin:15px 0;padding:10px 15px}.navbar .navbar-nav>li>a i,.navbar .navbar-nav>li>a p{display:inline-block;margin:0}.navbar .navbar-nav>li>a i{margin-right:5px;position:relative;top:1px}.navbar .navbar-nav>li>a.btn{margin:15px 3px;padding:7px 18px}.navbar .btn{margin:15px 3px}.navbar .btn,.navbar .btn-simple{font-size:14px}.navbar-nav>li>.dropdown-menu{border-radius:6px;margin-top:-5px}.navbar-default{background-color:#067ec1;border-bottom:1px solid #ddd;color:#fff}.navbar-default .brand{color:#fff!important}.navbar-default .navbar-nav>li>a:not(.btn){color:#fff}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:not(.btn):focus,.navbar-default .navbar-nav>.active>a:not(.btn):hover,.navbar-default .navbar-nav>li>a:not(.btn):focus,.navbar-default .navbar-nav>li>a:not(.btn):hover{background-color:transparent;border-radius:3px;filter:alpha(opacity=100);opacity:1}.navbar-default .navbar-nav>.dropdown>a:focus .caret,.navbar-default .navbar-nav>.dropdown>a:hover .caret{border-bottom-color:#067ec1;border-top-color:#067ec1}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:transparent;color:#067ec1}.navbar-default .navbar-nav .navbar-toggle:focus,.navbar-default .navbar-nav .navbar-toggle:hover{background-color:transparent}.navbar-default:not(.navbar-transparent) .btn-default:hover{border-color:#067ec1;color:#067ec1}.navbar-default:not(.navbar-transparent) .btn-neutral,.navbar-default:not(.navbar-transparent) .btn-neutral:active,.navbar-default:not(.navbar-transparent) .btn-neutral:hover{color:#9a9a9a}.navbar-form{box-shadow:none}.navbar-form .form-control{background-color:transparent;border:0;border-radius:0;color:#e3e3e3;font-size:1em;height:22px;line-height:1.4em;padding:0}.navbar-transparent .navbar-form .form-control,[class*=navbar-ct] .navbar-form .form-control{border:0;border-bottom:1px solid hsla(0,0%,100%,.6);color:#fff}.navbar-ct-primary{background-color:#8ecfd5}.navbar-ct-info{background-color:#7ce4fe}.navbar-ct-success{background-color:#8ef3c5}.navbar-ct-warning{background-color:#ffe28c}.navbar-ct-danger{background-color:#ff4c40}.navbar-transparent{background-color:transparent;border-bottom:1px solid transparent;padding-top:15px}.navbar-toggle{border:0;margin-bottom:19px;margin-top:19px}.navbar-toggle .icon-bar{background-color:#fff}.navbar-toggle .navbar-collapse,.navbar-toggle .navbar-form{border-color:transparent}.navbar-toggle.navbar-default .navbar-toggle:focus,.navbar-toggle.navbar-default .navbar-toggle:hover{background-color:transparent}.navbar-transparent .navbar-brand,[class*=navbar-ct] .navbar-brand{filter:alpha(opacity=90);opacity:.9}.navbar-transparent .navbar-brand:focus,.navbar-transparent .navbar-brand:hover,[class*=navbar-ct] .navbar-brand:focus,[class*=navbar-ct] .navbar-brand:hover{background-color:transparent;filter:alpha(opacity=100);opacity:1}.navbar-transparent .navbar-brand:not([class*=text]),[class*=navbar-ct] .navbar-brand:not([class*=text]){color:#fff}.navbar-transparent .navbar-nav>li>a:not(.btn),[class*=navbar-ct] .navbar-nav>li>a:not(.btn){border-color:#fff;color:#fff;filter:alpha(opacity=80);opacity:.8}.navbar-transparent .navbar-nav>.active>a:focus:not(.btn),.navbar-transparent .navbar-nav>.active>a:hover:not(.btn),.navbar-transparent .navbar-nav>.active>a:not(.btn),.navbar-transparent .navbar-nav>li>a:focus:not(.btn),.navbar-transparent .navbar-nav>li>a:hover:not(.btn),[class*=navbar-ct] .navbar-nav>.active>a:focus:not(.btn),[class*=navbar-ct] .navbar-nav>.active>a:hover:not(.btn),[class*=navbar-ct] .navbar-nav>.active>a:not(.btn),[class*=navbar-ct] .navbar-nav>li>a:focus:not(.btn),[class*=navbar-ct] .navbar-nav>li>a:hover:not(.btn){background-color:transparent;border-radius:3px;color:#fff;filter:alpha(opacity=100);opacity:1}.navbar-transparent .navbar-nav .nav>li>a.btn:hover,[class*=navbar-ct] .navbar-nav .nav>li>a.btn:hover{background-color:transparent}.navbar-transparent .navbar-nav>.dropdown>a .caret,.navbar-transparent .navbar-nav>.dropdown>a:focus .caret,.navbar-transparent .navbar-nav>.dropdown>a:hover .caret,[class*=navbar-ct] .navbar-nav>.dropdown>a .caret,[class*=navbar-ct] .navbar-nav>.dropdown>a:focus .caret,[class*=navbar-ct] .navbar-nav>.dropdown>a:hover .caret{border-bottom-color:#fff;border-top-color:#fff}.navbar-transparent .navbar-nav>.open>a,.navbar-transparent .navbar-nav>.open>a:focus,.navbar-transparent .navbar-nav>.open>a:hover,[class*=navbar-ct] .navbar-nav>.open>a,[class*=navbar-ct] .navbar-nav>.open>a:focus,[class*=navbar-ct] .navbar-nav>.open>a:hover{background-color:transparent;color:#fff;filter:alpha(opacity=100);opacity:1}.navbar-transparent .btn-default,[class*=navbar-ct] .btn-default{border-color:#fff;color:#fff}.navbar-transparent .btn-default.btn-fill,[class*=navbar-ct] .btn-default.btn-fill{background-color:#fff;color:#9a9a9a;filter:alpha(opacity=90);opacity:.9}.navbar-transparent .btn-default.btn-fill.active,.navbar-transparent .btn-default.btn-fill:active,.navbar-transparent .btn-default.btn-fill:focus,.navbar-transparent .btn-default.btn-fill:hover,.navbar-transparent .open .dropdown-toggle.btn-fill.btn-default,[class*=navbar-ct] .btn-default.btn-fill.active,[class*=navbar-ct] .btn-default.btn-fill:active,[class*=navbar-ct] .btn-default.btn-fill:focus,[class*=navbar-ct] .btn-default.btn-fill:hover,[class*=navbar-ct] .open .dropdown-toggle.btn-fill.btn-default{border-color:#fff;filter:alpha(opacity=100);opacity:1}.footer{background-attachment:fixed;line-height:20px;position:relative}.footer nav ul{font-weight:400;list-style:none;margin:0;padding:0}.footer nav ul li{display:inline-block;line-height:20px;margin:15px 3px;padding:10px 15px;text-align:center}.footer nav ul a:not(.btn){color:#4b4743;display:block;margin-bottom:3px}.footer nav ul a:not(.btn):focus,.footer nav ul a:not(.btn):hover{color:#403d39}.footer .copyright{color:#4b4743;font-size:14px;line-height:20px;margin:15px 3px;padding:10px 15px;text-align:center;white-space:nowrap}.footer .heart{color:#ff3636}.dropdown-menu{background-color:#fffcf5;border:0;border-radius:6px;box-shadow:0 2px rgba(17,16,15,.1),0 2px 10px rgba(17,16,15,.1);display:block;filter:alpha(opacity=0);margin-top:10px;opacity:0;padding:0;position:absolute;visibility:hidden;z-index:9000}.open .dropdown-menu{filter:alpha(opacity=100);opacity:1;visibility:visible}.dropdown-menu .divider{background-color:#f1eae0;margin:0}.dropdown-menu .dropdown-header{color:#9a9a9a;font-size:.8571em;padding:10px 15px}.select .dropdown-menu{border-radius:0 0 10px 10px;box-shadow:none;margin-top:-20px;transform:scale(1);transform-origin:50% -40px;transition:all .15s linear}.select.open .dropdown-menu{margin-top:-1px}.dropdown-menu>li>a{color:#4b4743;font-size:14px;padding:10px 15px;transition:none}.dropdown-menu>li>a img{margin-top:-3px}.dropdown-menu>li>a:focus{outline:0!important}.btn-group.select .dropdown-menu{min-width:100%}.dropdown-menu>li:first-child>a{border-top-left-radius:6px;border-top-right-radius:6px}.dropdown-menu>li:last-child>a{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.select .dropdown-menu>li:first-child>a{border-bottom:0;border-radius:0}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#2c2c2c;color:hsla(0,0%,71%,.7);opacity:1;text-decoration:none}.dropdown-menu.dropdown-info>li>a:focus,.dropdown-menu.dropdown-info>li>a:hover,.dropdown-menu.dropdown-primary>li>a:focus,.dropdown-menu.dropdown-primary>li>a:hover{background-color:#067ec1}.dropdown-menu.dropdown-success>li>a:focus,.dropdown-menu.dropdown-success>li>a:hover{background-color:#18ce0f}.dropdown-menu.dropdown-warning>li>a:focus,.dropdown-menu.dropdown-warning>li>a:hover{background-color:#ffb236}.dropdown-menu.dropdown-danger>li>a:focus,.dropdown-menu.dropdown-danger>li>a:hover{background-color:#ff3636}.btn-group.select{overflow:hidden}.btn-group.select.open{overflow:visible}.card{background-color:#fff;border:0;border-radius:.125rem;box-shadow:0 2px 2px hsla(38,16%,76%,.5);color:#2c2c2c;flex-direction:column;margin-bottom:20px;position:relative;z-index:1}.card .card-block{flex:1 1 auto;padding:1.25rem}.card a{color:#f96332}.card .image{border-radius:6px 6px 0 0;height:260px;overflow:hidden;position:relative;transform-style:preserve-3d;width:100%}.card .image img{width:100%}.card .content{padding:15px 15px 10px}.card .header{padding:0 0 10px}.card .description{color:#4b4743;font-size:1em}.card h5{font-size:1.57em;line-height:1.4em;margin-bottom:15px}.card h6{font-size:.8571em;margin:0}.card .category,.card label{font-size:14px;font-weight:400;margin-bottom:0;text-transform:capitalize}.card .category i,.card label i{font-size:1em}.card label{display:inline-block;font-size:15px;margin-bottom:5px;text-transform:capitalize;vertical-align:middle}.card .title{color:#2c2c2c;font-weight:300;margin:0}.card .avatar{border-radius:50%;height:50px;margin-right:5px;overflow:hidden;width:50px}.card .footer{line-height:30px;padding:0}.card .footer .legend{padding:5px 0}.card .footer hr{margin-bottom:5px;margin-top:5px}.card .stats{color:#a9a9a9;font-weight:300}.card .stats i{margin-right:2px;min-width:15px}.card .footer div,.card .stats i{display:inline-block}.card .author{font-size:.8571em;font-weight:600;text-transform:uppercase}.card .author i{font-size:14px}.card.card-separator:after{background-color:#ddd;content:"";height:100%;position:absolute;right:-15px;top:0;width:1px}.card .ct-chart{height:245px;margin:30px 0}.card .table tbody td:first-child,.card .table thead th:first-child{padding-left:15px}.card .table tbody td:last-child,.card .table thead th:last-child{padding-right:15px}.card .alert{border-radius:2px;position:relative}.card .alert.alert-with-icon{padding-left:65px}.card .icon-big{font-size:3em;min-height:64px}.card .numbers{font-size:2em;text-align:right}.card .numbers p{margin:0}.card ul.team-members li{padding:10px 0}.card ul.team-members li:not(:last-child){border-bottom:1px solid #f1eae0}.card .btn-primary{background-color:#067ec1;color:#fff}.card .btn-primary.active,.card .btn-primary.active:focus,.card .btn-primary.active:hover,.card .btn-primary:active,.card .btn-primary:active:focus,.card .btn-primary:active:hover,.card .btn-primary:focus,.card .btn-primary:hover,.open>.card .btn-primary.dropdown-toggle,.open>.card .btn-primary.dropdown-toggle:focus,.open>.card .btn-primary.dropdown-toggle:hover{background-color:#427c89;color:#fff}.card .btn-primary.disabled,.card .btn-primary.disabled.active,.card .btn-primary.disabled.focus,.card .btn-primary.disabled:active,.card .btn-primary.disabled:focus,.card .btn-primary.disabled:hover,.card .btn-primary:disabled,.card .btn-primary:disabled.active,.card .btn-primary:disabled.focus,.card .btn-primary:disabled:active,.card .btn-primary:disabled:focus,.card .btn-primary:disabled:hover,.card .btn-primary[disabled],.card .btn-primary[disabled].active,.card .btn-primary[disabled].focus,.card .btn-primary[disabled]:active,.card .btn-primary[disabled]:focus,.card .btn-primary[disabled]:hover,fieldset[disabled] .card .btn-primary,fieldset[disabled] .card .btn-primary.active,fieldset[disabled] .card .btn-primary.focus,fieldset[disabled] .card .btn-primary:active,fieldset[disabled] .card .btn-primary:focus,fieldset[disabled] .card .btn-primary:hover{background-color:#067ec1;border-color:#067ec1}.card .btn-primary.focus,.card .btn-primary:focus{box-shadow:none}.card .btn-primary.btn-simple{border-color:#067ec1;color:#067ec1}.card .btn-primary.btn-simple:active,.card .btn-primary.btn-simple:focus,.card .btn-primary.btn-simple:hover{background-color:transparent;border-color:#427c89;color:#427c89}.card .btn-primary.btn-link{color:#067ec1}.card .btn-primary.btn-link:active,.card .btn-primary.btn-link:focus,.card .btn-primary.btn-link:hover{background-color:transparent;color:#427c89;text-decoration:none}.card .btn-success{background-color:#18ce0f;color:#fff}.card .btn-success.active,.card .btn-success.active:focus,.card .btn-success.active:hover,.card .btn-success:active,.card .btn-success:active:focus,.card .btn-success:active:hover,.card .btn-success:focus,.card .btn-success:hover,.open>.card .btn-success.dropdown-toggle,.open>.card .btn-success.dropdown-toggle:focus,.open>.card .btn-success.dropdown-toggle:hover{background-color:#15b60d;color:#fff}.card .btn-success.disabled,.card .btn-success.disabled.active,.card .btn-success.disabled.focus,.card .btn-success.disabled:active,.card .btn-success.disabled:focus,.card .btn-success.disabled:hover,.card .btn-success:disabled,.card .btn-success:disabled.active,.card .btn-success:disabled.focus,.card .btn-success:disabled:active,.card .btn-success:disabled:focus,.card .btn-success:disabled:hover,.card .btn-success[disabled],.card .btn-success[disabled].active,.card .btn-success[disabled].focus,.card .btn-success[disabled]:active,.card .btn-success[disabled]:focus,.card .btn-success[disabled]:hover,fieldset[disabled] .card .btn-success,fieldset[disabled] .card .btn-success.active,fieldset[disabled] .card .btn-success.focus,fieldset[disabled] .card .btn-success:active,fieldset[disabled] .card .btn-success:focus,fieldset[disabled] .card .btn-success:hover{background-color:#18ce0f;border-color:#18ce0f}.card .btn-success.focus,.card .btn-success:focus{box-shadow:none}.card .btn-success.btn-simple{border-color:#18ce0f;color:#18ce0f}.card .btn-success.btn-simple:active,.card .btn-success.btn-simple:focus,.card .btn-success.btn-simple:hover{background-color:transparent;border-color:#15b60d;color:#15b60d}.card .btn-success.btn-link{color:#18ce0f}.card .btn-success.btn-link:active,.card .btn-success.btn-link:focus,.card .btn-success.btn-link:hover{background-color:transparent;color:#15b60d;text-decoration:none}.card .btn-info{background-color:#067ec1;color:#fff}.card .btn-info.active,.card .btn-info.active:focus,.card .btn-info.active:hover,.card .btn-info:active,.card .btn-info:active:focus,.card .btn-info:active:hover,.card .btn-info:focus,.card .btn-info:hover,.open>.card .btn-info.dropdown-toggle,.open>.card .btn-info.dropdown-toggle:focus,.open>.card .btn-info.dropdown-toggle:hover{background-color:#0688d0;color:#fff}.card .btn-info.disabled,.card .btn-info.disabled.active,.card .btn-info.disabled.focus,.card .btn-info.disabled:active,.card .btn-info.disabled:focus,.card .btn-info.disabled:hover,.card .btn-info:disabled,.card .btn-info:disabled.active,.card .btn-info:disabled.focus,.card .btn-info:disabled:active,.card .btn-info:disabled:focus,.card .btn-info:disabled:hover,.card .btn-info[disabled],.card .btn-info[disabled].active,.card .btn-info[disabled].focus,.card .btn-info[disabled]:active,.card .btn-info[disabled]:focus,.card .btn-info[disabled]:hover,fieldset[disabled] .card .btn-info,fieldset[disabled] .card .btn-info.active,fieldset[disabled] .card .btn-info.focus,fieldset[disabled] .card .btn-info:active,fieldset[disabled] .card .btn-info:focus,fieldset[disabled] .card .btn-info:hover{background-color:#067ec1;border-color:#067ec1}.card .btn-info.focus,.card .btn-info:focus{box-shadow:none}.card .btn-info.btn-simple{border-color:#067ec1;color:#067ec1}.card .btn-info.btn-simple:active,.card .btn-info.btn-simple:focus,.card .btn-info.btn-simple:hover{background-color:transparent;border-color:#0688d0;color:#0688d0}.card .btn-info.btn-link{color:#067ec1}.card .btn-info.btn-link:active,.card .btn-info.btn-link:focus,.card .btn-info.btn-link:hover{background-color:transparent;color:#0688d0;text-decoration:none}.card .btn-warning{background-color:#ffb236;color:#fff}.card .btn-warning.active,.card .btn-warning.active:focus,.card .btn-warning.active:hover,.card .btn-warning:active,.card .btn-warning:active:focus,.card .btn-warning:active:hover,.card .btn-warning:focus,.card .btn-warning:hover,.open>.card .btn-warning.dropdown-toggle,.open>.card .btn-warning.dropdown-toggle:focus,.open>.card .btn-warning.dropdown-toggle:hover{background-color:#ffa81d;color:#fff}.card .btn-warning.disabled,.card .btn-warning.disabled.active,.card .btn-warning.disabled.focus,.card .btn-warning.disabled:active,.card .btn-warning.disabled:focus,.card .btn-warning.disabled:hover,.card .btn-warning:disabled,.card .btn-warning:disabled.active,.card .btn-warning:disabled.focus,.card .btn-warning:disabled:active,.card .btn-warning:disabled:focus,.card .btn-warning:disabled:hover,.card .btn-warning[disabled],.card .btn-warning[disabled].active,.card .btn-warning[disabled].focus,.card .btn-warning[disabled]:active,.card .btn-warning[disabled]:focus,.card .btn-warning[disabled]:hover,fieldset[disabled] .card .btn-warning,fieldset[disabled] .card .btn-warning.active,fieldset[disabled] .card .btn-warning.focus,fieldset[disabled] .card .btn-warning:active,fieldset[disabled] .card .btn-warning:focus,fieldset[disabled] .card .btn-warning:hover{background-color:#ffb236;border-color:#ffb236}.card .btn-warning.focus,.card .btn-warning:focus{box-shadow:none}.card .btn-warning.btn-simple{border-color:#ffb236;color:#ffb236}.card .btn-warning.btn-simple:active,.card .btn-warning.btn-simple:focus,.card .btn-warning.btn-simple:hover{background-color:transparent;border-color:#ffa81d;color:#ffa81d}.card .btn-warning.btn-link{color:#ffb236}.card .btn-warning.btn-link:active,.card .btn-warning.btn-link:focus,.card .btn-warning.btn-link:hover{background-color:transparent;color:#ffa81d;text-decoration:none}.card .btn-danger{background-color:#ff3636;color:#fff}.card .btn-danger.active,.card .btn-danger.active:focus,.card .btn-danger.active:hover,.card .btn-danger:active,.card .btn-danger:active:focus,.card .btn-danger:active:hover,.card .btn-danger:focus,.card .btn-danger:hover,.open>.card .btn-danger.dropdown-toggle,.open>.card .btn-danger.dropdown-toggle:focus,.open>.card .btn-danger.dropdown-toggle:hover{background-color:#ff1d1d;color:#fff}.card .btn-danger.disabled,.card .btn-danger.disabled.active,.card .btn-danger.disabled.focus,.card .btn-danger.disabled:active,.card .btn-danger.disabled:focus,.card .btn-danger.disabled:hover,.card .btn-danger:disabled,.card .btn-danger:disabled.active,.card .btn-danger:disabled.focus,.card .btn-danger:disabled:active,.card .btn-danger:disabled:focus,.card .btn-danger:disabled:hover,.card .btn-danger[disabled],.card .btn-danger[disabled].active,.card .btn-danger[disabled].focus,.card .btn-danger[disabled]:active,.card .btn-danger[disabled]:focus,.card .btn-danger[disabled]:hover,fieldset[disabled] .card .btn-danger,fieldset[disabled] .card .btn-danger.active,fieldset[disabled] .card .btn-danger.focus,fieldset[disabled] .card .btn-danger:active,fieldset[disabled] .card .btn-danger:focus,fieldset[disabled] .card .btn-danger:hover{background-color:#ff3636;border-color:#ff3636}.card .btn-danger.focus,.card .btn-danger:focus{box-shadow:none}.card .btn-danger.btn-simple{border-color:#ff3636;color:#ff3636}.card .btn-danger.btn-simple:active,.card .btn-danger.btn-simple:focus,.card .btn-danger.btn-simple:hover{background-color:transparent;border-color:#ff1d1d;color:#ff1d1d}.card .btn-danger.btn-link{color:#ff3636}.card .btn-danger.btn-link:active,.card .btn-danger.btn-link:focus,.card .btn-danger.btn-link:hover{background-color:transparent;color:#ff1d1d;text-decoration:none}.card .btn-neutral,.card .btn-neutral.active,.card .btn-neutral.active:focus,.card .btn-neutral.active:hover,.card .btn-neutral:active,.card .btn-neutral:active:focus,.card .btn-neutral:active:hover,.card .btn-neutral:focus,.card .btn-neutral:hover,.open>.card .btn-neutral.dropdown-toggle,.open>.card .btn-neutral.dropdown-toggle:focus,.open>.card .btn-neutral.dropdown-toggle:hover{background-color:#fff;color:#fff}.card .btn-neutral.disabled,.card .btn-neutral.disabled.active,.card .btn-neutral.disabled.focus,.card .btn-neutral.disabled:active,.card .btn-neutral.disabled:focus,.card .btn-neutral.disabled:hover,.card .btn-neutral:disabled,.card .btn-neutral:disabled.active,.card .btn-neutral:disabled.focus,.card .btn-neutral:disabled:active,.card .btn-neutral:disabled:focus,.card .btn-neutral:disabled:hover,.card .btn-neutral[disabled],.card .btn-neutral[disabled].active,.card .btn-neutral[disabled].focus,.card .btn-neutral[disabled]:active,.card .btn-neutral[disabled]:focus,.card .btn-neutral[disabled]:hover,fieldset[disabled] .card .btn-neutral,fieldset[disabled] .card .btn-neutral.active,fieldset[disabled] .card .btn-neutral.focus,fieldset[disabled] .card .btn-neutral:active,fieldset[disabled] .card .btn-neutral:focus,fieldset[disabled] .card .btn-neutral:hover{background-color:#fff;border-color:#fff}.card .btn-neutral.focus,.card .btn-neutral:focus{box-shadow:none}.card .btn-neutral.btn-danger{color:#ff3636}.card .btn-neutral.btn-danger:active,.card .btn-neutral.btn-danger:focus,.card .btn-neutral.btn-danger:hover{color:#ff1d1d}.card .btn-neutral.btn-info{color:#fff}.card .btn-neutral.btn-info:active,.card .btn-neutral.btn-info:focus,.card .btn-neutral.btn-info:hover{color:#0688d0}.card .btn-neutral.btn-warning{color:#fff}.card .btn-neutral.btn-warning:active,.card .btn-neutral.btn-warning:focus,.card .btn-neutral.btn-warning:hover{color:#ffa81d}.card .btn-neutral.btn-success{color:#fff}.card .btn-neutral.btn-success:active,.card .btn-neutral.btn-success:focus,.card .btn-neutral.btn-success:hover{color:#15b60d}.card .btn-neutral.btn-default{color:#fff}.card .btn-neutral.btn-default:active,.card .btn-neutral.btn-default:focus,.card .btn-neutral.btn-default:hover{color:#403d39}.card .btn-neutral.active,.card .btn-neutral.active:focus,.card .btn-neutral.active:hover,.card .btn-neutral:active:focus,.card .btn-neutral:active:hover,.open>.card .btn-neutral.dropdown-toggle,.open>.card .btn-neutral.dropdown-toggle:focus,.open>.card .btn-neutral.dropdown-toggle:hover{background-color:#fff;color:#067ec1}.card .btn-neutral:active,.card .btn-neutral:focus,.card .btn-neutral:hover{color:#427c89}.card .btn-neutral.btn-simple{border-color:#fff;color:#fff}.card .btn-neutral.btn-simple:active,.card .btn-neutral.btn-simple:focus,.card .btn-neutral.btn-simple:hover{background-color:transparent;border-color:#fff;color:#fff}.card .btn-neutral.btn-link{color:#fff}.card .btn-neutral.btn-link:active,.card .btn-neutral.btn-link:focus,.card .btn-neutral.btn-link:hover{background-color:transparent;color:#fff;text-decoration:none}.card-user .image{border-radius:8px 8px 0 0;height:150px;overflow:hidden;position:relative}.card-user .image img{width:100%}.card-user .image-plain{height:0;margin-top:110px}.card-user .author{margin-top:-65px;text-align:center;text-transform:none}.card-user .author .title{color:#403d39}.card-user .author .title small{color:#ccc5b9}.card-user .avatar{border-radius:50%;height:100px;margin-bottom:15px;position:relative;width:100px}.card-user .avatar.border-white{border:5px solid #fff}.card-user .avatar.border-gray{border:5px solid #ccc5b9}.card-user .title{font-weight:600;line-height:24px}.card-user .description{margin-top:10px}.card-user .content{min-height:200px}.card-user.card-plain .avatar{height:190px;width:190px}.card-map .map{height:500px;padding-top:20px}.card-map .map>div{height:100%}.card-price .footer,.card-user .footer{padding:5px 15px 10px}.card-price hr,.card-user hr{margin:5px 15px}.card-plain{background-color:transparent;border-radius:0;box-shadow:none}.card-plain .image{border-radius:4px}.ct-label{fill:rgba(0,0,0,.4);color:rgba(0,0,0,.4);font-size:.9em;line-height:1}.ct-chart-bar .ct-label,.ct-chart-line .ct-label{display:block;display:flex}.ct-label.ct-horizontal.ct-start{text-anchor:start;align-items:flex-end;justify-content:flex-start;text-align:left}.ct-label.ct-horizontal.ct-end{text-anchor:start;align-items:flex-start;justify-content:flex-start;text-align:left}.ct-label.ct-vertical.ct-start{text-anchor:end;align-items:flex-end;justify-content:flex-end;text-align:right}.ct-label.ct-vertical.ct-end{text-anchor:start;align-items:flex-end;justify-content:flex-start;text-align:left}.ct-chart-bar .ct-label.ct-horizontal.ct-start{text-anchor:start;align-items:flex-end;justify-content:center;text-align:center}.ct-chart-bar .ct-label.ct-horizontal.ct-end{text-anchor:start;align-items:flex-start;justify-content:center;text-align:center}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start{text-anchor:start;align-items:flex-end;justify-content:flex-start;text-align:left}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end{text-anchor:start;align-items:flex-start;justify-content:flex-start;text-align:left}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start{text-anchor:end;align-items:center;justify-content:flex-end;text-align:right}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end{text-anchor:end;align-items:center;justify-content:flex-start;text-align:left}.ct-grid{stroke:rgba(0,0,0,.2);stroke-width:1px;stroke-dasharray:2px}.ct-point{stroke-width:10px;stroke-linecap:round}.ct-line{fill:none;stroke-width:4px}.ct-area{stroke:none;fill-opacity:.7}.ct-bar{fill:none;stroke-width:10px}.ct-slice-donut{fill:none;stroke-width:60px}.ct-series-a .ct-bar,.ct-series-a .ct-line,.ct-series-a .ct-point,.ct-series-a .ct-slice-donut{stroke:#067ec1}.ct-series-a .ct-area,.ct-series-a .ct-slice-pie{fill:#067ec1}.ct-series-b .ct-bar,.ct-series-b .ct-line,.ct-series-b .ct-point,.ct-series-b .ct-slice-donut{stroke:#ffb236}.ct-series-b .ct-area,.ct-series-b .ct-slice-pie{fill:#ffb236}.ct-series-c .ct-bar,.ct-series-c .ct-line,.ct-series-c .ct-point,.ct-series-c .ct-slice-donut{stroke:#ff3636}.ct-series-c .ct-area,.ct-series-c .ct-slice-pie{fill:#ff3636}.ct-series-d .ct-bar,.ct-series-d .ct-line,.ct-series-d .ct-point,.ct-series-d .ct-slice-donut{stroke:#18ce0f}.ct-series-d .ct-area,.ct-series-d .ct-slice-pie{fill:#18ce0f}.ct-series-e .ct-bar,.ct-series-e .ct-line,.ct-series-e .ct-point,.ct-series-e .ct-slice-donut{stroke:#067ec1}.ct-series-e .ct-area,.ct-series-e .ct-slice-pie{fill:#067ec1}.ct-series-f .ct-bar,.ct-series-f .ct-line,.ct-series-f .ct-point,.ct-series-f .ct-slice-donut{stroke:rgba(6,126,193,.8)}.ct-series-f .ct-area,.ct-series-f .ct-slice-pie{fill:rgba(6,126,193,.8)}.ct-series-g .ct-bar,.ct-series-g .ct-line,.ct-series-g .ct-point,.ct-series-g .ct-slice-donut{stroke:rgba(24,206,15,.8)}.ct-series-g .ct-area,.ct-series-g .ct-slice-pie{fill:rgba(24,206,15,.8)}.ct-series-h .ct-bar,.ct-series-h .ct-line,.ct-series-h .ct-point,.ct-series-h .ct-slice-donut{stroke:rgba(255,178,54,.8)}.ct-series-h .ct-area,.ct-series-h .ct-slice-pie{fill:rgba(255,178,54,.8)}.ct-series-i .ct-bar,.ct-series-i .ct-line,.ct-series-i .ct-point,.ct-series-i .ct-slice-donut{stroke:rgba(255,54,54,.8)}.ct-series-i .ct-area,.ct-series-i .ct-slice-pie{fill:rgba(255,54,54,.8)}.ct-series-j .ct-bar,.ct-series-j .ct-line,.ct-series-j .ct-point,.ct-series-j .ct-slice-donut{stroke:rgba(6,126,193,.8)}.ct-series-j .ct-area,.ct-series-j .ct-slice-pie{fill:rgba(6,126,193,.8)}.ct-series-k .ct-bar,.ct-series-k .ct-line,.ct-series-k .ct-point,.ct-series-k .ct-slice-donut{stroke:rgba(6,126,193,.6)}.ct-series-k .ct-area,.ct-series-k .ct-slice-pie{fill:rgba(6,126,193,.6)}.ct-series-l .ct-bar,.ct-series-l .ct-line,.ct-series-l .ct-point,.ct-series-l .ct-slice-donut{stroke:rgba(24,206,15,.6)}.ct-series-l .ct-area,.ct-series-l .ct-slice-pie{fill:rgba(24,206,15,.6)}.ct-series-m .ct-bar,.ct-series-m .ct-line,.ct-series-m .ct-point,.ct-series-m .ct-slice-donut{stroke:rgba(255,178,54,.6)}.ct-series-m .ct-area,.ct-series-m .ct-slice-pie{fill:rgba(255,178,54,.6)}.ct-series-n .ct-bar,.ct-series-n .ct-line,.ct-series-n .ct-point,.ct-series-n .ct-slice-donut{stroke:rgba(255,54,54,.6)}.ct-series-n .ct-area,.ct-series-n .ct-slice-pie{fill:rgba(255,54,54,.6)}.ct-series-o .ct-bar,.ct-series-o .ct-line,.ct-series-o .ct-point,.ct-series-o .ct-slice-donut{stroke:rgba(6,126,193,.6)}.ct-series-o .ct-area,.ct-series-o .ct-slice-pie{fill:rgba(6,126,193,.6)}.ct-square{display:block;position:relative;width:100%}.ct-square:before{content:"";display:block;float:left;height:0;padding-bottom:100%;width:0}.ct-square:after{clear:both;content:"";display:table}.ct-square>svg{display:block;left:0;position:absolute;top:0}.ct-minor-second{display:block;position:relative;width:100%}.ct-minor-second:before{content:"";display:block;float:left;height:0;padding-bottom:93.75%;width:0}.ct-minor-second:after{clear:both;content:"";display:table}.ct-minor-second>svg{display:block;left:0;position:absolute;top:0}.ct-major-second{display:block;position:relative;width:100%}.ct-major-second:before{content:"";display:block;float:left;height:0;padding-bottom:88.8888888889%;width:0}.ct-major-second:after{clear:both;content:"";display:table}.ct-major-second>svg{display:block;left:0;position:absolute;top:0}.ct-minor-third{display:block;position:relative;width:100%}.ct-minor-third:before{content:"";display:block;float:left;height:0;padding-bottom:83.3333333333%;width:0}.ct-minor-third:after{clear:both;content:"";display:table}.ct-minor-third>svg{display:block;left:0;position:absolute;top:0}.ct-major-third{display:block;position:relative;width:100%}.ct-major-third:before{content:"";display:block;float:left;height:0;padding-bottom:80%;width:0}.ct-major-third:after{clear:both;content:"";display:table}.ct-major-third>svg{display:block;left:0;position:absolute;top:0}.ct-perfect-fourth{display:block;position:relative;width:100%}.ct-perfect-fourth:before{content:"";display:block;float:left;height:0;padding-bottom:75%;width:0}.ct-perfect-fourth:after{clear:both;content:"";display:table}.ct-perfect-fourth>svg{display:block;left:0;position:absolute;top:0}.ct-perfect-fifth{display:block;position:relative;width:100%}.ct-perfect-fifth:before{content:"";display:block;float:left;height:0;padding-bottom:66.6666666667%;width:0}.ct-perfect-fifth:after{clear:both;content:"";display:table}.ct-perfect-fifth>svg{display:block;left:0;position:absolute;top:0}.ct-minor-sixth{display:block;position:relative;width:100%}.ct-minor-sixth:before{content:"";display:block;float:left;height:0;padding-bottom:62.5%;width:0}.ct-minor-sixth:after{clear:both;content:"";display:table}.ct-minor-sixth>svg{display:block;left:0;position:absolute;top:0}.ct-golden-section{display:block;position:relative;width:100%}.ct-golden-section:before{content:"";display:block;float:left;height:0;padding-bottom:61.804697157%;width:0}.ct-golden-section:after{clear:both;content:"";display:table}.ct-golden-section>svg{display:block;left:0;position:absolute;top:0}.ct-major-sixth{display:block;position:relative;width:100%}.ct-major-sixth:before{content:"";display:block;float:left;height:0;padding-bottom:60%;width:0}.ct-major-sixth:after{clear:both;content:"";display:table}.ct-major-sixth>svg{display:block;left:0;position:absolute;top:0}.ct-minor-seventh{display:block;position:relative;width:100%}.ct-minor-seventh:before{content:"";display:block;float:left;height:0;padding-bottom:56.25%;width:0}.ct-minor-seventh:after{clear:both;content:"";display:table}.ct-minor-seventh>svg{display:block;left:0;position:absolute;top:0}.ct-major-seventh{display:block;position:relative;width:100%}.ct-major-seventh:before{content:"";display:block;float:left;height:0;padding-bottom:53.3333333333%;width:0}.ct-major-seventh:after{clear:both;content:"";display:table}.ct-major-seventh>svg{display:block;left:0;position:absolute;top:0}.ct-octave{display:block;position:relative;width:100%}.ct-octave:before{content:"";display:block;float:left;height:0;padding-bottom:50%;width:0}.ct-octave:after{clear:both;content:"";display:table}.ct-octave>svg{display:block;left:0;position:absolute;top:0}.ct-major-tenth{display:block;position:relative;width:100%}.ct-major-tenth:before{content:"";display:block;float:left;height:0;padding-bottom:40%;width:0}.ct-major-tenth:after{clear:both;content:"";display:table}.ct-major-tenth>svg{display:block;left:0;position:absolute;top:0}.ct-major-eleventh{display:block;position:relative;width:100%}.ct-major-eleventh:before{content:"";display:block;float:left;height:0;padding-bottom:37.5%;width:0}.ct-major-eleventh:after{clear:both;content:"";display:table}.ct-major-eleventh>svg{display:block;left:0;position:absolute;top:0}.ct-major-twelfth{display:block;position:relative;width:100%}.ct-major-twelfth:before{content:"";display:block;float:left;height:0;padding-bottom:33.3333333333%;width:0}.ct-major-twelfth:after{clear:both;content:"";display:table}.ct-major-twelfth>svg{display:block;left:0;position:absolute;top:0}.ct-double-octave{display:block;position:relative;width:100%}.ct-double-octave:before{content:"";display:block;float:left;height:0;padding-bottom:25%;width:0}.ct-double-octave:after{clear:both;content:"";display:table}.ct-double-octave>svg{display:block;left:0;position:absolute;top:0}@media (min-width:992px){.navbar{min-height:75px}.navbar-form{margin-bottom:21px;margin-top:21px;padding-left:5px;padding-right:5px}.navbar-search-form{display:none}.dropdown .dropdown-menu,.navbar-nav>li>.dropdown-menu{transform:translate3d(0,-40px,0);transition:all .3s cubic-bezier(.215,.61,.355,1) 0s,opacity .3s ease 0s,height 0s linear .35s}.dropdown.open .dropdown-menu,.navbar-nav>li.open>.dropdown-menu{transform:translateZ(0)}.navbar-nav>li>.dropdown-menu:before{border-bottom:11px solid #f1eae0;top:-11px}.navbar-nav>li>.dropdown-menu:after,.navbar-nav>li>.dropdown-menu:before{border-left:11px solid transparent;border-right:11px solid transparent;content:"";display:inline-block;position:absolute;right:12px}.navbar-nav>li>.dropdown-menu:after{border-bottom:11px solid #fffcf5;top:-10px}.navbar-nav.navbar-left>li>.dropdown-menu:after,.navbar-nav.navbar-left>li>.dropdown-menu:before{left:12px;right:auto}.navbar .navbar-header{margin-left:10px}.footer:not(.footer-big) nav>ul li:first-child{margin-left:0}body>.navbar-collapse.collapse{display:none!important}.card form [class*=col-]{padding:6px}.card form [class*=col-]:first-child{padding-left:15px}.card form [class*=col-]:last-child{padding-right:15px}}@media (max-width:991px){.sidebar{display:none}.main-panel{width:100%}.navbar-transparent{background-color:rgba(0,0,0,.45);padding-top:15px}body{position:relative}h6{font-size:1em}.wrapper{background-color:#fff;transform:translateZ(0)}.navbar .container,.wrapper{left:0;transition:all .33s cubic-bezier(.685,.0473,.346,1)}.navbar .container{position:relative;width:100%}.navbar .navbar-collapse.collapse,.navbar .navbar-collapse.collapse.in,.navbar .navbar-collapse.collapsing{display:none!important}.navbar-nav>li{display:block;float:none;position:relative}.off-canvas-sidebar{background-color:#999;border-top:none;display:block;height:100%;overflow-y:visible;padding-left:0;padding-right:0;position:fixed;right:0;text-align:left;top:0;transform:translate3d(230px,0,0);transition:all .33s cubic-bezier(.685,.0473,.346,1);visibility:visible;width:230px;z-index:1032}.off-canvas-sidebar .sidebar-wrapper{box-shadow:inset 1px 0 0 0 #ddd;height:100%;overflow-y:scroll;position:relative;z-index:3}.off-canvas-sidebar .nav{margin-top:0;padding:10px 15px 0}.off-canvas-sidebar .nav>li>a{color:#2c2c2c;font-size:.8571em;font-weight:600;line-height:1.4em;margin:0;padding:10px 0;text-transform:uppercase}.off-canvas-sidebar .nav>li>a.active,.off-canvas-sidebar .nav>li>a:hover{color:#403d39}.off-canvas-sidebar .nav>li>a .caret,.off-canvas-sidebar .nav>li>a .notification,.off-canvas-sidebar .nav>li>a p{display:inline-block}.off-canvas-sidebar .nav>li>a .caret{float:right;position:relative;top:12px}.off-canvas-sidebar .nav>li>a i{font-size:18px;line-height:26px;margin-right:10px}.off-canvas-sidebar .nav>li.active>a:before{border:12px solid transparent;border-left:12px solid #ddd;border-right:none;left:0;margin-left:-15px;right:auto;top:10px}.off-canvas-sidebar .nav>li.active>a:after{border:12px solid transparent;border-left:12px solid #ebeff2;border-right:none;left:-1px;margin-left:-15px;right:auto;top:10px}.off-canvas-sidebar:after{background-color:#ebeff2;background-image:linear-gradient(180deg,transparent 0,hsla(0,0%,44%,0) 60%,hsla(0,0%,73%,.15))}.off-canvas-sidebar.has-image:after,.off-canvas-sidebar:after{content:"";display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.off-canvas-sidebar.has-image:after{background-color:hsla(0,0%,7%,.8)}.off-canvas-sidebar .logo{padding-bottom:11px;padding-top:11px;position:relative;z-index:4}.off-canvas-sidebar .divider{height:1px;margin:10px 0}.nav-open .navbar-collapse{transform:translateZ(0)}.nav-open .navbar .container{left:-230px}.nav-open .wrapper{left:0;transform:translate3d(-230px,0,0)}.navbar-toggle .icon-bar{background:#fff;border-radius:1px;display:block;height:2px;margin:0 auto;position:relative;width:24px}.navbar-header .navbar-toggle{height:40px;margin:10px 15px 10px 0;width:40px}.bar1,.bar2,.bar3{outline:1px solid transparent}.bar1{-webkit-animation:topbar-back .5s linear 0s;animation:topbar-back .5s 0s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;top:0}.bar2{opacity:1}.bar3{-webkit-animation:bottombar-back .5s linear 0s;animation:bottombar-back .5s 0s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;bottom:0}.toggled .bar1{-webkit-animation:topbar-x .5s linear 0s;animation:topbar-x .5s 0s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;top:6px}.toggled .bar2{opacity:0}.toggled .bar3{-webkit-animation:bottombar-x .5s linear 0s;animation:bottombar-x .5s 0s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;bottom:6px}@keyframes topbar-x{0%{top:0;transform:rotate(0deg)}45%{top:6px;transform:rotate(145deg)}75%{transform:rotate(130deg)}to{transform:rotate(135deg)}}@-webkit-keyframes topbar-x{0%{top:0;-webkit-transform:rotate(0deg)}45%{top:6px;-webkit-transform:rotate(145deg)}75%{-webkit-transform:rotate(130deg)}to{-webkit-transform:rotate(135deg)}}@keyframes topbar-back{0%{top:6px;transform:rotate(135deg)}45%{transform:rotate(-10deg)}75%{transform:rotate(5deg)}to{top:0;transform:rotate(0)}}@-webkit-keyframes topbar-back{0%{top:6px;-webkit-transform:rotate(135deg)}45%{-webkit-transform:rotate(-10deg)}75%{-webkit-transform:rotate(5deg)}to{top:0;-webkit-transform:rotate(0)}}@keyframes bottombar-x{0%{bottom:0;transform:rotate(0deg)}45%{bottom:6px;transform:rotate(-145deg)}75%{transform:rotate(-130deg)}to{transform:rotate(-135deg)}}@-webkit-keyframes bottombar-x{0%{bottom:0;-webkit-transform:rotate(0deg)}45%{bottom:6px;-webkit-transform:rotate(-145deg)}75%{-webkit-transform:rotate(-130deg)}to{-webkit-transform:rotate(-135deg)}}@keyframes bottombar-back{0%{bottom:6px;transform:rotate(-135deg)}45%{transform:rotate(10deg)}75%{transform:rotate(-5deg)}to{bottom:0;transform:rotate(0)}}@-webkit-keyframes bottombar-back{0%{bottom:6px;-webkit-transform:rotate(-135deg)}45%{-webkit-transform:rotate(10deg)}75%{-webkit-transform:rotate(-5deg)}to{bottom:0;-webkit-transform:rotate(0)}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dropdown-menu .divider{background-color:hsla(0,0%,90%,.15)}.navbar-nav{margin:1px 0}.dropdown-menu{display:none}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:transparent}.navbar-fixed-top{-webkit-backface-visibility:hidden}#bodyClick{content:"";height:100%;left:auto;opacity:0;overflow-x:hidden;position:fixed;right:230px;top:0;width:100%;z-index:9999}.form-control+.form-control-feedback{margin-top:-8px}.navbar-toggle:focus,.navbar-toggle:hover{background-color:transparent!important}.btn.dropdown-toggle{margin-bottom:0}.media-post .author{display:block;float:none!important;margin:0 auto 10px;width:20%}.media-post .media-body{width:100%}.navbar-collapse.collapse{height:100%!important}.navbar-collapse.collapse.in{display:block}.navbar-header .collapse,.navbar-toggle{display:block!important}.navbar-header{float:none}.navbar-nav .open .dropdown-menu{background-color:transparent;border:0;box-shadow:none;float:none;margin-top:0;position:static;width:auto}.main-panel>.content{padding-left:0;padding-right:0}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:transparent}.footer .copyright{padding:0 15px;width:100%}}@media (min-width:992px){.table-full-width{margin-left:-15px;margin-right:-15px}.table-responsive{overflow:visible}}@media (max-width:991px){.table-responsive{-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch;border:1px solid #ddd;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;width:100%}}.form-container{border:0;border-radius:2px;display:inline-block;font-weight:700;overflow:hidden;position:relative;width:100%}.form-container h6{background-color:hsla(0,0%,87%,.3);font-size:15px;padding:7px}.form-container .form-container-body{padding:8px}@font-face{font-family:Pe-icon-7-stroke;font-style:normal;font-weight:400;src:url(../../fonts/Pe-icon-7-stroke.eot?d7yf1v);src:url(../../fonts/Pe-icon-7-stroke.eot?#iefixd7yf1v) format("embedded-opentype"),url(../../fonts/Pe-icon-7-stroke.woff?d7yf1v) format("woff"),url(../../fonts/Pe-icon-7-stroke.ttf?d7yf1v) format("truetype"),url(../../fonts/Pe-icon-7-stroke.svg?d7yf1v#Pe-icon-7-stroke) format("svg")}[class*=" pe-7s-"],[class^=pe-7s-]{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:Pe-icon-7-stroke;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none} /*! Modified from font-awesome helper CSS classes - PIXEDEN * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (CSS: MIT License) - */.pe-lg{font-size:18.62px;line-height:.75em;vertical-align:-15%}.pe-2x{font-size:28px}.pe-3x{font-size:42px}.pe-4x{font-size:56px}.pe-5x{font-size:70px}.pe-fw{text-align:center;width:1.2857142857em}.pe-ul{list-style-type:none;margin-left:2.1428571429em;padding-left:0}.pe-ul>li{position:relative}.pe-li{left:-2.1428571429em;position:absolute;text-align:center;top:.1428571429em;width:2.1428571429em}.pe-li.pe-lg{left:-1.8571428571em}.pe-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.pull-right{float:right}.pe.pull-left{float:left;margin-left:.3em;margin-right:.3em}.pe-spin{-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite}@-webkit-keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.pe-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);transform:rotate(90deg)}.pe-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);transform:rotate(180deg)}.pe-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);transform:rotate(270deg)}.pe-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1);transform:scaleX(-1)}.pe-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1);transform:scaleY(-1)}.pe-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.pe-stack-1x,.pe-stack-2x{left:0;position:absolute;text-align:center;width:100%}.pe-stack-1x{line-height:inherit}.pe-stack-2x{font-size:2em}.pe-inverse{color:#fff}.pe-va{vertical-align:middle}.pe-border{border:.08em solid #eaeaea}.pe-7s-album:before{content:""}.pe-7s-arc:before{content:""}.pe-7s-back-2:before{content:""}.pe-7s-bandaid:before{content:""}.pe-7s-car:before{content:""}.pe-7s-diamond:before{content:""}.pe-7s-door-lock:before{content:""}.pe-7s-eyedropper:before{content:""}.pe-7s-female:before{content:""}.pe-7s-gym:before{content:""}.pe-7s-hammer:before{content:""}.pe-7s-headphones:before{content:""}.pe-7s-helm:before{content:""}.pe-7s-hourglass:before{content:""}.pe-7s-leaf:before{content:""}.pe-7s-magic-wand:before{content:""}.pe-7s-male:before{content:""}.pe-7s-map-2:before{content:""}.pe-7s-next-2:before{content:""}.pe-7s-paint-bucket:before{content:""}.pe-7s-pendrive:before{content:""}.pe-7s-photo:before{content:""}.pe-7s-piggy:before{content:""}.pe-7s-plugin:before{content:""}.pe-7s-refresh-2:before{content:""}.pe-7s-rocket:before{content:""}.pe-7s-settings:before{content:""}.pe-7s-shield:before{content:""}.pe-7s-smile:before{content:""}.pe-7s-usb:before{content:""}.pe-7s-vector:before{content:""}.pe-7s-wine:before{content:""}.pe-7s-cloud-upload:before{content:""}.pe-7s-cash:before{content:""}.pe-7s-close:before{content:""}.pe-7s-bluetooth:before{content:""}.pe-7s-cloud-download:before{content:""}.pe-7s-way:before{content:""}.pe-7s-close-circle:before{content:""}.pe-7s-id:before{content:""}.pe-7s-angle-up:before{content:""}.pe-7s-wristwatch:before{content:""}.pe-7s-angle-up-circle:before{content:""}.pe-7s-world:before{content:""}.pe-7s-angle-right:before{content:""}.pe-7s-volume:before{content:""}.pe-7s-angle-right-circle:before{content:""}.pe-7s-users:before{content:""}.pe-7s-angle-left:before{content:""}.pe-7s-user-female:before{content:""}.pe-7s-angle-left-circle:before{content:""}.pe-7s-up-arrow:before{content:""}.pe-7s-angle-down:before{content:""}.pe-7s-switch:before{content:""}.pe-7s-angle-down-circle:before{content:""}.pe-7s-scissors:before{content:""}.pe-7s-wallet:before{content:""}.pe-7s-safe:before{content:""}.pe-7s-volume2:before{content:""}.pe-7s-volume1:before{content:""}.pe-7s-voicemail:before{content:""}.pe-7s-video:before{content:""}.pe-7s-user:before{content:""}.pe-7s-upload:before{content:""}.pe-7s-unlock:before{content:""}.pe-7s-umbrella:before{content:""}.pe-7s-trash:before{content:""}.pe-7s-tools:before{content:""}.pe-7s-timer:before{content:""}.pe-7s-ticket:before{content:""}.pe-7s-target:before{content:""}.pe-7s-sun:before{content:""}.pe-7s-study:before{content:""}.pe-7s-stopwatch:before{content:""}.pe-7s-star:before{content:""}.pe-7s-speaker:before{content:""}.pe-7s-signal:before{content:""}.pe-7s-shuffle:before{content:""}.pe-7s-shopbag:before{content:""}.pe-7s-share:before{content:""}.pe-7s-server:before{content:""}.pe-7s-search:before{content:""}.pe-7s-film:before{content:""}.pe-7s-science:before{content:""}.pe-7s-disk:before{content:""}.pe-7s-ribbon:before{content:""}.pe-7s-repeat:before{content:""}.pe-7s-refresh:before{content:""}.pe-7s-add-user:before{content:""}.pe-7s-refresh-cloud:before{content:""}.pe-7s-paperclip:before{content:""}.pe-7s-radio:before{content:""}.pe-7s-note2:before{content:""}.pe-7s-print:before{content:""}.pe-7s-network:before{content:""}.pe-7s-prev:before{content:""}.pe-7s-mute:before{content:""}.pe-7s-power:before{content:""}.pe-7s-medal:before{content:""}.pe-7s-portfolio:before{content:""}.pe-7s-like2:before{content:""}.pe-7s-plus:before{content:""}.pe-7s-left-arrow:before{content:""}.pe-7s-play:before{content:""}.pe-7s-key:before{content:""}.pe-7s-plane:before{content:""}.pe-7s-joy:before{content:""}.pe-7s-photo-gallery:before{content:""}.pe-7s-pin:before{content:""}.pe-7s-phone:before{content:""}.pe-7s-plug:before{content:""}.pe-7s-pen:before{content:""}.pe-7s-right-arrow:before{content:""}.pe-7s-paper-plane:before{content:""}.pe-7s-delete-user:before{content:""}.pe-7s-paint:before{content:""}.pe-7s-bottom-arrow:before{content:""}.pe-7s-notebook:before{content:""}.pe-7s-note:before{content:""}.pe-7s-next:before{content:""}.pe-7s-news-paper:before{content:""}.pe-7s-musiclist:before{content:""}.pe-7s-music:before{content:""}.pe-7s-mouse:before{content:""}.pe-7s-more:before{content:""}.pe-7s-moon:before{content:""}.pe-7s-monitor:before{content:""}.pe-7s-micro:before{content:""}.pe-7s-menu:before{content:""}.pe-7s-map:before{content:""}.pe-7s-map-marker:before{content:""}.pe-7s-mail:before{content:""}.pe-7s-mail-open:before{content:""}.pe-7s-mail-open-file:before{content:""}.pe-7s-magnet:before{content:""}.pe-7s-loop:before{content:""}.pe-7s-look:before{content:""}.pe-7s-lock:before{content:""}.pe-7s-lintern:before{content:""}.pe-7s-link:before{content:""}.pe-7s-like:before{content:""}.pe-7s-light:before{content:""}.pe-7s-less:before{content:""}.pe-7s-keypad:before{content:""}.pe-7s-junk:before{content:""}.pe-7s-info:before{content:""}.pe-7s-home:before{content:""}.pe-7s-help2:before{content:""}.pe-7s-help1:before{content:""}.pe-7s-graph3:before{content:""}.pe-7s-graph2:before{content:""}.pe-7s-graph1:before{content:""}.pe-7s-graph:before{content:""}.pe-7s-global:before{content:""}.pe-7s-gleam:before{content:""}.pe-7s-glasses:before{content:""}.pe-7s-gift:before{content:""}.pe-7s-folder:before{content:""}.pe-7s-flag:before{content:""}.pe-7s-filter:before{content:""}.pe-7s-file:before{content:""}.pe-7s-expand1:before{content:""}.pe-7s-exapnd2:before{content:""}.pe-7s-edit:before{content:""}.pe-7s-drop:before{content:""}.pe-7s-drawer:before{content:""}.pe-7s-download:before{content:""}.pe-7s-display2:before{content:""}.pe-7s-display1:before{content:""}.pe-7s-diskette:before{content:""}.pe-7s-date:before{content:""}.pe-7s-cup:before{content:""}.pe-7s-culture:before{content:""}.pe-7s-crop:before{content:""}.pe-7s-credit:before{content:""}.pe-7s-copy-file:before{content:""}.pe-7s-config:before{content:""}.pe-7s-compass:before{content:""}.pe-7s-comment:before{content:""}.pe-7s-coffee:before{content:""}.pe-7s-cloud:before{content:""}.pe-7s-clock:before{content:""}.pe-7s-check:before{content:""}.pe-7s-chat:before{content:""}.pe-7s-cart:before{content:""}.pe-7s-camera:before{content:""}.pe-7s-call:before{content:""}.pe-7s-calculator:before{content:""}.pe-7s-browser:before{content:""}.pe-7s-box2:before{content:""}.pe-7s-box1:before{content:""}.pe-7s-bookmarks:before{content:""}.pe-7s-bicycle:before{content:""}.pe-7s-bell:before{content:""}.pe-7s-battery:before{content:""}.pe-7s-ball:before{content:""}.pe-7s-back:before{content:""}.pe-7s-attention:before{content:""}.pe-7s-anchor:before{content:""}.pe-7s-albums:before{content:""}.pe-7s-alarm:before{content:""}.pe-7s-airplay:before{content:""} + */.pe-lg{font-size:18.62px;line-height:.75em;vertical-align:-15%}.pe-2x{font-size:28px}.pe-3x{font-size:42px}.pe-4x{font-size:56px}.pe-5x{font-size:70px}.pe-fw{text-align:center;width:1.2857142857em}.pe-ul{list-style-type:none;margin-left:2.1428571429em;padding-left:0}.pe-ul>li{position:relative}.pe-li{left:-2.1428571429em;position:absolute;text-align:center;top:.1428571429em;width:2.1428571429em}.pe-li.pe-lg{left:-1.8571428571em}.pe-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.pull-right{float:right}.pe.pull-left{float:left;margin-left:.3em;margin-right:.3em}.pe-spin{-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite}@-webkit-keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.pe-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);transform:rotate(90deg)}.pe-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);transform:rotate(180deg)}.pe-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);transform:rotate(270deg)}.pe-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1);transform:scaleX(-1)}.pe-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1);transform:scaleY(-1)}.pe-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.pe-stack-1x,.pe-stack-2x{left:0;position:absolute;text-align:center;width:100%}.pe-stack-1x{line-height:inherit}.pe-stack-2x{font-size:2em}.pe-inverse{color:#fff}.pe-va{vertical-align:middle}.pe-border{border:.08em solid #eaeaea}.pe-7s-album:before{content:"\e6aa"}.pe-7s-arc:before{content:"\e6ab"}.pe-7s-back-2:before{content:"\e6ac"}.pe-7s-bandaid:before{content:"\e6ad"}.pe-7s-car:before{content:"\e6ae"}.pe-7s-diamond:before{content:"\e6af"}.pe-7s-door-lock:before{content:"\e6b0"}.pe-7s-eyedropper:before{content:"\e6b1"}.pe-7s-female:before{content:"\e6b2"}.pe-7s-gym:before{content:"\e6b3"}.pe-7s-hammer:before{content:"\e6b4"}.pe-7s-headphones:before{content:"\e6b5"}.pe-7s-helm:before{content:"\e6b6"}.pe-7s-hourglass:before{content:"\e6b7"}.pe-7s-leaf:before{content:"\e6b8"}.pe-7s-magic-wand:before{content:"\e6b9"}.pe-7s-male:before{content:"\e6ba"}.pe-7s-map-2:before{content:"\e6bb"}.pe-7s-next-2:before{content:"\e6bc"}.pe-7s-paint-bucket:before{content:"\e6bd"}.pe-7s-pendrive:before{content:"\e6be"}.pe-7s-photo:before{content:"\e6bf"}.pe-7s-piggy:before{content:"\e6c0"}.pe-7s-plugin:before{content:"\e6c1"}.pe-7s-refresh-2:before{content:"\e6c2"}.pe-7s-rocket:before{content:"\e6c3"}.pe-7s-settings:before{content:"\e6c4"}.pe-7s-shield:before{content:"\e6c5"}.pe-7s-smile:before{content:"\e6c6"}.pe-7s-usb:before{content:"\e6c7"}.pe-7s-vector:before{content:"\e6c8"}.pe-7s-wine:before{content:"\e6c9"}.pe-7s-cloud-upload:before{content:"\e68a"}.pe-7s-cash:before{content:"\e68c"}.pe-7s-close:before{content:"\e680"}.pe-7s-bluetooth:before{content:"\e68d"}.pe-7s-cloud-download:before{content:"\e68b"}.pe-7s-way:before{content:"\e68e"}.pe-7s-close-circle:before{content:"\e681"}.pe-7s-id:before{content:"\e68f"}.pe-7s-angle-up:before{content:"\e682"}.pe-7s-wristwatch:before{content:"\e690"}.pe-7s-angle-up-circle:before{content:"\e683"}.pe-7s-world:before{content:"\e691"}.pe-7s-angle-right:before{content:"\e684"}.pe-7s-volume:before{content:"\e692"}.pe-7s-angle-right-circle:before{content:"\e685"}.pe-7s-users:before{content:"\e693"}.pe-7s-angle-left:before{content:"\e686"}.pe-7s-user-female:before{content:"\e694"}.pe-7s-angle-left-circle:before{content:"\e687"}.pe-7s-up-arrow:before{content:"\e695"}.pe-7s-angle-down:before{content:"\e688"}.pe-7s-switch:before{content:"\e696"}.pe-7s-angle-down-circle:before{content:"\e689"}.pe-7s-scissors:before{content:"\e697"}.pe-7s-wallet:before{content:"\e600"}.pe-7s-safe:before{content:"\e698"}.pe-7s-volume2:before{content:"\e601"}.pe-7s-volume1:before{content:"\e602"}.pe-7s-voicemail:before{content:"\e603"}.pe-7s-video:before{content:"\e604"}.pe-7s-user:before{content:"\e605"}.pe-7s-upload:before{content:"\e606"}.pe-7s-unlock:before{content:"\e607"}.pe-7s-umbrella:before{content:"\e608"}.pe-7s-trash:before{content:"\e609"}.pe-7s-tools:before{content:"\e60a"}.pe-7s-timer:before{content:"\e60b"}.pe-7s-ticket:before{content:"\e60c"}.pe-7s-target:before{content:"\e60d"}.pe-7s-sun:before{content:"\e60e"}.pe-7s-study:before{content:"\e60f"}.pe-7s-stopwatch:before{content:"\e610"}.pe-7s-star:before{content:"\e611"}.pe-7s-speaker:before{content:"\e612"}.pe-7s-signal:before{content:"\e613"}.pe-7s-shuffle:before{content:"\e614"}.pe-7s-shopbag:before{content:"\e615"}.pe-7s-share:before{content:"\e616"}.pe-7s-server:before{content:"\e617"}.pe-7s-search:before{content:"\e618"}.pe-7s-film:before{content:"\e6a5"}.pe-7s-science:before{content:"\e619"}.pe-7s-disk:before{content:"\e6a6"}.pe-7s-ribbon:before{content:"\e61a"}.pe-7s-repeat:before{content:"\e61b"}.pe-7s-refresh:before{content:"\e61c"}.pe-7s-add-user:before{content:"\e6a9"}.pe-7s-refresh-cloud:before{content:"\e61d"}.pe-7s-paperclip:before{content:"\e69c"}.pe-7s-radio:before{content:"\e61e"}.pe-7s-note2:before{content:"\e69d"}.pe-7s-print:before{content:"\e61f"}.pe-7s-network:before{content:"\e69e"}.pe-7s-prev:before{content:"\e620"}.pe-7s-mute:before{content:"\e69f"}.pe-7s-power:before{content:"\e621"}.pe-7s-medal:before{content:"\e6a0"}.pe-7s-portfolio:before{content:"\e622"}.pe-7s-like2:before{content:"\e6a1"}.pe-7s-plus:before{content:"\e623"}.pe-7s-left-arrow:before{content:"\e6a2"}.pe-7s-play:before{content:"\e624"}.pe-7s-key:before{content:"\e6a3"}.pe-7s-plane:before{content:"\e625"}.pe-7s-joy:before{content:"\e6a4"}.pe-7s-photo-gallery:before{content:"\e626"}.pe-7s-pin:before{content:"\e69b"}.pe-7s-phone:before{content:"\e627"}.pe-7s-plug:before{content:"\e69a"}.pe-7s-pen:before{content:"\e628"}.pe-7s-right-arrow:before{content:"\e699"}.pe-7s-paper-plane:before{content:"\e629"}.pe-7s-delete-user:before{content:"\e6a7"}.pe-7s-paint:before{content:"\e62a"}.pe-7s-bottom-arrow:before{content:"\e6a8"}.pe-7s-notebook:before{content:"\e62b"}.pe-7s-note:before{content:"\e62c"}.pe-7s-next:before{content:"\e62d"}.pe-7s-news-paper:before{content:"\e62e"}.pe-7s-musiclist:before{content:"\e62f"}.pe-7s-music:before{content:"\e630"}.pe-7s-mouse:before{content:"\e631"}.pe-7s-more:before{content:"\e632"}.pe-7s-moon:before{content:"\e633"}.pe-7s-monitor:before{content:"\e634"}.pe-7s-micro:before{content:"\e635"}.pe-7s-menu:before{content:"\e636"}.pe-7s-map:before{content:"\e637"}.pe-7s-map-marker:before{content:"\e638"}.pe-7s-mail:before{content:"\e639"}.pe-7s-mail-open:before{content:"\e63a"}.pe-7s-mail-open-file:before{content:"\e63b"}.pe-7s-magnet:before{content:"\e63c"}.pe-7s-loop:before{content:"\e63d"}.pe-7s-look:before{content:"\e63e"}.pe-7s-lock:before{content:"\e63f"}.pe-7s-lintern:before{content:"\e640"}.pe-7s-link:before{content:"\e641"}.pe-7s-like:before{content:"\e642"}.pe-7s-light:before{content:"\e643"}.pe-7s-less:before{content:"\e644"}.pe-7s-keypad:before{content:"\e645"}.pe-7s-junk:before{content:"\e646"}.pe-7s-info:before{content:"\e647"}.pe-7s-home:before{content:"\e648"}.pe-7s-help2:before{content:"\e649"}.pe-7s-help1:before{content:"\e64a"}.pe-7s-graph3:before{content:"\e64b"}.pe-7s-graph2:before{content:"\e64c"}.pe-7s-graph1:before{content:"\e64d"}.pe-7s-graph:before{content:"\e64e"}.pe-7s-global:before{content:"\e64f"}.pe-7s-gleam:before{content:"\e650"}.pe-7s-glasses:before{content:"\e651"}.pe-7s-gift:before{content:"\e652"}.pe-7s-folder:before{content:"\e653"}.pe-7s-flag:before{content:"\e654"}.pe-7s-filter:before{content:"\e655"}.pe-7s-file:before{content:"\e656"}.pe-7s-expand1:before{content:"\e657"}.pe-7s-exapnd2:before{content:"\e658"}.pe-7s-edit:before{content:"\e659"}.pe-7s-drop:before{content:"\e65a"}.pe-7s-drawer:before{content:"\e65b"}.pe-7s-download:before{content:"\e65c"}.pe-7s-display2:before{content:"\e65d"}.pe-7s-display1:before{content:"\e65e"}.pe-7s-diskette:before{content:"\e65f"}.pe-7s-date:before{content:"\e660"}.pe-7s-cup:before{content:"\e661"}.pe-7s-culture:before{content:"\e662"}.pe-7s-crop:before{content:"\e663"}.pe-7s-credit:before{content:"\e664"}.pe-7s-copy-file:before{content:"\e665"}.pe-7s-config:before{content:"\e666"}.pe-7s-compass:before{content:"\e667"}.pe-7s-comment:before{content:"\e668"}.pe-7s-coffee:before{content:"\e669"}.pe-7s-cloud:before{content:"\e66a"}.pe-7s-clock:before{content:"\e66b"}.pe-7s-check:before{content:"\e66c"}.pe-7s-chat:before{content:"\e66d"}.pe-7s-cart:before{content:"\e66e"}.pe-7s-camera:before{content:"\e66f"}.pe-7s-call:before{content:"\e670"}.pe-7s-calculator:before{content:"\e671"}.pe-7s-browser:before{content:"\e672"}.pe-7s-box2:before{content:"\e673"}.pe-7s-box1:before{content:"\e674"}.pe-7s-bookmarks:before{content:"\e675"}.pe-7s-bicycle:before{content:"\e676"}.pe-7s-bell:before{content:"\e677"}.pe-7s-battery:before{content:"\e678"}.pe-7s-ball:before{content:"\e679"}.pe-7s-back:before{content:"\e67a"}.pe-7s-attention:before{content:"\e67b"}.pe-7s-anchor:before{content:"\e67c"}.pe-7s-albums:before{content:"\e67d"}.pe-7s-alarm:before{content:"\e67e"}.pe-7s-airplay:before{content:"\e67f"} /*# sourceMappingURL=vendor.min.css.map*/ \ No newline at end of file diff --git a/public/assets/admin/css/vendor.min.css.map b/public/assets/admin/css/vendor.min.css.map index 21d3f946..ba6071e2 100644 --- a/public/assets/admin/css/vendor.min.css.map +++ b/public/assets/admin/css/vendor.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./resources/sass/admin/paper/_inputs.scss","webpack:///./resources/sass/admin/paper-dashboard.scss","webpack:///./resources/sass/admin/paper/mixins/_chartist.scss","webpack:///./resources/sass/admin/paper/_typography.scss","webpack:///./resources/sass/admin/paper/_variables.scss","webpack:///./resources/sass/admin/paper/_misc.scss","webpack:///./resources/sass/admin/paper/mixins/_vendor-prefixes.scss","webpack:///./resources/sass/admin/paper/_sidebar-and-main-panel.scss","webpack:///./resources/sass/admin/paper/mixins/_sidebar.scss","webpack:///./resources/sass/admin/paper/_badges.scss","webpack:///./resources/sass/admin/paper/mixins/_badges.scss","webpack:///./resources/sass/admin/paper/_buttons.scss","webpack:///./resources/sass/admin/paper/mixins/_buttons.scss","webpack:///./resources/sass/admin/paper/mixins/_transparency.scss","webpack:///./resources/sass/admin/paper/mixins/_inputs.scss","webpack:///./resources/sass/admin/paper/_alerts.scss","webpack:///./resources/sass/admin/paper/_tables.scss","webpack:///./resources/sass/admin/paper/_checkbox-radio.scss","webpack:///./resources/sass/admin/paper/_navbars.scss","webpack:///./resources/sass/admin/paper/mixins/_navbars.scss","webpack:///./resources/sass/admin/paper/_footers.scss","webpack:///./resources/sass/admin/paper/_dropdown.scss","webpack:///./resources/sass/admin/paper/_cards.scss","webpack:///./resources/sass/admin/paper/_chartist.scss","webpack:///./resources/sass/admin/paper/_responsive.scss","webpack:///./resources/sass/admin/paper/_form-container.scss","webpack:///./node_modules/pe7-icon/dist/scss/_path.scss","webpack:///./node_modules/pe7-icon/dist/scss/_core.scss","webpack:///./node_modules/pe7-icon/dist/scss/_helper.scss","webpack:///./node_modules/pe7-icon/dist/scss/_icons.scss"],"names":[],"mappings":"AA8EI,gBC2iCJ;AAznCA;;;;;;;;;;;;;;EAAA,CC4FA,mBACI,wBDjCJ,CCmCA,UACI,wBDhCJ,CCkCA,WACI,wBD/BJ,CCiCA,QACI,wBD9BJ,CExEA,yEACI,kCACA,mCAEA,kDF0EJ,CEvEA,4BACI,eCmNyB,CDlNzB,kBF0EJ,CEvEA,OACI,eF0EJ,CExEA,OACI,eF2EJ,CEzEA,OACI,iBC8L2B,CD7L3B,gBAEA,kBF4EJ,CE1EA,cAHI,eFmFJ,CEhFA,OACI,eCyL2B,CDvL3B,iBF6EJ,CE3EA,OACI,gBCqL2B,CDnL3B,kBACA,kBF8EJ,CE5EA,cAJI,eFsFJ,CElFA,OACI,cCgL2B,CD9K3B,wBF+EJ,CE7EA,EACI,aC2Ja,CD1Jb,iBFgFJ,CE7EA,gPACI,aCZyB,CDazB,eC2KyB,CD1KzB,iBFgFJ,CE7EA,yDACI,aFgFJ,CE9EA,iBACI,wBFiFJ,CE/EA,WACI,iBFkFJ,CEhFA,iBACI,iBFmFJ,CEjFA,YACI,UFoFJ,CElFA,kCACI,aFqFJ,CEnFA,4BACI,aFsFJ,CEpFA,kCACI,aFuFJ,CErFA,kCACI,aFwFJ,CEtFA,gCACI,aFyFJ,CEvFA,WACI,aF0FJ,CExFA,OACI,aF2FJ,CEtFA,yBACI,aF6FJ,CE3FA,cACI,aF8FJ,CE5FA,cACI,aF+FJ,CE7FA,aACI,aFgGJ,CE1FI,sHACI,aFgGR,CE9FI,8DACI,aFgGR,CE9FI,8DACI,aFgGR,CE9FI,4DACI,aFgGR,CE5FA,6CAGI,aCzFyB,CD0FzB,eF+FJ,CI1NA,KACI,cAEA,kCADA,cJ+NJ,CI7NI,cACI,iBACA,iBJ+NR,CI5NA,EACE,aJ+NF,CI7NE,gBACG,aD8Ce,CC7Cf,oBJ+NL,CI3NA,iJAKI,mBJ8NJ,CI5NA,gEAMI,kCAFA,mBJiOJ,CI3NA,mEC+QI,yBLvCJ,CIhOA,iDCuQI,2BL9BJ,CIpOA,KCkQI,0BLtBJ,CIzOA,IAEI,kBADA,UJ6OJ,CI1OA,SACI,0BJ6OJ,CI1OA,YACI,eJ6OJ,CI3OA,GACI,oBJ8OJ,CI5OA,SAGI,aAFA,kBACA,KJgPJ,CMpTA,SAOI,wBADA,sBAHA,SAKA,aHwTwB,CG5TxB,OAHA,kBACA,MAGA,SN0TJ,CMtTI,0BAOI,iCALA,gBACA,gBACA,gBAHA,kBAIA,YACA,SNyTR,CMtTI,6BASI,wBADA,sBAHA,cAFA,YAIA,OANA,kBAKA,MAFA,WAFA,SN+TR,CMpTA,6BAGI,cACA,gBAFA,WNyTJ,CMrTI,yCAEI,cADA,cNyTR,CMtTQ,6CACI,WACA,eAEA,iBADA,WN0TZ,CMtTQ,mEAGI,cACA,aHuJM,CGrJN,eHqKiB,CGpKjB,iBALA,cAGA,kBAJA,wBN+TZ,CMrTI,uCACI,eNwTR,CMrTY,iDAKI,WAHA,kBACA,kBNwThB,CMnTY,6DACI,SNsThB,CMnTY,+DACI,aH1BA,CG2BA,SNsThB,CMpTgB,6EAGI,qCAFA,6BACA,kCAEA,WACA,qBACA,kBACA,QACA,ONuTpB,CMpTgB,2EAGI,qCAFA,gCACA,kCAEA,WACA,qBACA,kBACA,WACA,ONuTpB,CMnTY,mDACI,mCACA,mDACA,iBNsThB,CMnTY,2DAEI,gBNsThB,CMnTY,mDACI,YNsThB,CMlTQ,2CAGI,eACA,gBAFA,iBADA,SAIA,wBNqTZ,CMlTQ,2CAEI,WADA,eAGA,iBADA,kBAGA,kBADA,UNsTZ,CMjTI,oFAUI,eHxHwB,CGiHxB,WADA,cAIA,YAEA,OAJA,kBAGA,MAFA,WAIA,SNqTR,COrcI,4RAEC,qBP0cL,COvcI,4IACI,yCP2cR,CO9bY,oiBACI,aP4chB,COzcQ,4KACI,kCP6cZ,COreI,wMAEC,wBPweL,COreI,mGACI,0CPweR,CO3dY,yWACI,UPsehB,COneQ,mHACI,mCPseZ,CO5dY,qHACI,aJQA,CIPA,SP+dhB,COjeY,+GACI,aJuBH,CItBG,SPoehB,COteY,qHACI,aJmBA,CIlBA,SPyehB,CO3eY,qHACI,aJ4BA,CI3BA,SP8ehB,COhfY,mHACI,aJiCD,CIhCC,SPmfhB,CMzWA,YACI,wBHmGoB,CG/FpB,YAEA,gBAJA,kBAGA,wBH6H0B,CG/H1B,SN8WJ,CMzWI,qBAGI,8BADA,aN2WR,CMvWI,oBACI,mCNyWR,CMtWI,oBACI,eNwWR,CMpWA,qBAWI,iCAPA,YADA,gBADA,cAMA,4BAFA,+BAIA,wCNwWJ,CQxjBA,OAME,4BLae,CKZf,gBLiKO,CKvKP,kBAQA,iBLqK6B,CK1K7B,iBLiMe,CKhMf,iBAGA,kBANA,gBACA,wBRkkBF,CQzjBA,YACE,kBR4jBF,CQ3jBE,cACE,cR6jBJ,CQzjBA,eCnBI,oBN2CY,CM1CZ,aTglBJ,CQtjBA,2BC3BI,oBN0DS,CMzDT,aT0lBJ,CQ5jBA,eC/BI,oBNsDY,CMrDZ,aT+lBJ,CQ7jBA,eCnCI,oBN+DY,CM9DZ,aTomBJ,CQ9jBA,cCvCI,oBNoEW,CMnEX,aTymBJ,CQ/jBA,eC3CI,iBNQyB,CMPzB,UT8mBJ,CUhnBA,kCAKI,4BPea,CQlBf,wBR0Cc,COzCZ,sBC6GA,URvGyB,COHzB,cPmMa,COlMb,ePqNyB,COnNzB,eACA,iBLySA,0BL8UJ,CW7nBE,8qBAWE,wBRgCyB,CQ/BzB,UXgoBJ,CWznBI,omDAME,wBReU,CQdV,oBX8oBN,CW1oBE,4FAEE,eX6oBJ,CW9jBE,wDAEE,oBRzEY,CQwEZ,aXkkBJ,CW/jBI,8MAGE,4BRtGW,CQwGX,oBR7EuB,CQ4EvB,aXmkBN,CW9jBE,oDACE,aXikBJ,CW/jBI,kMAGE,4BRlHW,CQmHX,aRxFuB,CQyFvB,oBXkkBN,CU3rBI,4FAEI,mBV8rBR,CU5rBI,8KLgRM,eK7QD,CACA,mBVgsBT,CU7rBI,oDACI,WVgsBR,CU5rBA,4GAII,gBV+rBJ,CU1rBA,kDCtCE,wBRgDc,CQ8DZ,UXunBJ,CWnuBE,81BAWE,wBRqCyB,CQpCzB,UX2tBJ,CWptBI,o+DAME,wBRqBU,CQpBV,oBXitBN,CW7sBE,4HAEE,eX8sBJ,CW/nBE,wEAEE,oBRnEY,CQkEZ,aXkoBJ,CW/nBI,8PAGE,4BRtGW,CQwGX,oBRxEuB,CQuEvB,aXgoBN,CW3nBE,oEACE,aX6nBJ,CW3nBI,kPAGE,4BRlHW,CQmHX,aRnFuB,CQoFvB,oBX2nBN,CU1tBA,kDCvCE,wBRqDc,CQyDZ,UXwpBJ,CWpwBE,81BAWE,wBR0CmB,CQzCnB,UX4vBJ,CWrvBI,o+DAME,wBR0BU,CQzBV,oBXkvBN,CW9uBE,4HAEE,eX+uBJ,CWhqBE,wEAEE,oBR9DY,CQ6DZ,aXmqBJ,CWhqBI,8PAGE,4BRtGW,CQwGX,oBRnEiB,CQkEjB,aXiqBN,CW5pBE,oEACE,aX8pBJ,CW5pBI,kPAGE,4BRlHW,CQmHX,aR9EiB,CQ+EjB,oBX4pBN,CU1vBA,4CCxCE,wBRyDW,CQqDT,UXyrBJ,CWryBE,4xBAWE,wBR6CgB,CQ5ChB,UX6xBJ,CWtxBI,o1DAME,wBR8BO,CQ7BP,oBXmxBN,CW/wBE,gHAEE,eXgxBJ,CWjsBE,kEAEE,oBR1DS,CQyDT,aXosBJ,CWjsBI,4OAGE,4BRtGW,CQwGX,oBRhEc,CQ+Dd,aXksBN,CW7rBE,8DACE,aX+rBJ,CW7rBI,gOAGE,4BRlHW,CQmHX,aR3Ec,CQ4Ed,oBX6rBN,CU1xBA,kDCzCE,wBR8Dc,CQgDZ,UX0tBJ,CWt0BE,81BAWE,wBRkDmB,CQjDnB,UX8zBJ,CWvzBI,o+DAME,wBRmCU,CQlCV,oBXozBN,CWhzBE,4HAEE,eXizBJ,CWluBE,wEAEE,oBRrDY,CQoDZ,aXquBJ,CWluBI,8PAGE,4BRtGW,CQwGX,oBR3DiB,CQ0DjB,aXmuBN,CW9tBE,oEACE,aXguBJ,CW9tBI,kPAGE,4BRlHW,CQmHX,aRtEiB,CQuEjB,oBX8tBN,CU1zBA,gDC1CE,wBRmEa,CQ2CX,UX2vBJ,CWv2BE,w0BAWE,wBRuDkB,CQtDlB,UX+1BJ,CWx1BI,o7DAME,wBRwCS,CQvCT,oBXq1BN,CWj1BE,wHAEE,eXk1BJ,CWnwBE,sEAEE,oBRhDW,CQ+CX,aXswBJ,CWnwBI,wPAGE,4BRtGW,CQwGX,oBRtDgB,CQqDhB,aXowBN,CW/vBE,kEACE,aXiwBJ,CW/vBI,4OAGE,4BRlHW,CQmHX,aRjEgB,CQkEhB,oBX+vBN,CWn4BE,wTAWE,qBRNyB,CQOzB,UXg4BJ,CWz3BI,ktBAME,qBRpBuB,CQqBvB,iBXs3BN,CWl3BE,sCAEE,eXm3BJ,CW52BI,wBACE,aX82BN,CW52BM,2FAGE,aX42BR,CWx2BI,sBACE,UX02BN,CWx2BM,qFAGE,aXw2BR,CWp2BI,yBACE,UXs2BN,CWp2BM,8FAGE,aXo2BR,CWh2BI,yBACE,UXk2BN,CWh2BM,8FAGE,aXg2BR,CW51BI,yBACE,UX81BN,CW51BM,8FAGE,aX41BR,CWx1BI,iPAQE,qBR5FuB,CQ6FvB,aXm1BN,CWh1BI,0DAGE,aXg1BN,CWz0BE,wBAEE,iBR5GyB,CQ2GzB,UX40BJ,CWz0BI,2FAGE,4BRtGW,CQwGX,iBRnHuB,CQkHvB,UX00BN,CWr0BE,sBACE,UXu0BJ,CWr0BI,qFAGE,4BRlHW,CQmHX,UR9HuB,CQ+HvB,oBXq0BN,CU75BI,sCAEI,aV85BR,CU35BI,2EAGK,qBP/CoB,COgDpB,aV25BT,CUx5BI,sBACI,aV05BR,CUx5BI,wDAEI,aVy5BR,CUt5BI,8DAEI,4BVu5BR,CUl5BK,2CErEH,yBAHA,UZ+9BF,CUj5BA,YACI,QP7EyB,CO8EzB,gBVo5BJ,CUl5BI,qBACI,WVo5BR,CUj5BA,QCsDG,aR4De,COhHf,ePgI0B,CQ1E1B,iBX+1BH,CW71BG,mBACI,iBX+1BP,CUt5BA,QCkDG,iBRyDe,CQvDf,gBXu2BH,CWr2BG,mBACI,gBXu2BP,CU35BA,QC+CG,iBRwDY,CQtDZ,eX+2BH,CW72BG,mBACI,eX+2BP,CUh6BA,QACI,eVm6BJ,CUh6BA,kBACI,UVm6BJ,CUj6BA,uBACI,eVo6BJ,CUl6BA,yBAGI,gBAFA,kBAGA,UAFA,OVu6BJ,Ca7gCE,+DACE,UVuByB,CS3B3B,0BAHA,SZ+hCF,CarhCE,yCACE,UVmByB,CS3B3B,0BAHA,SZqiCF,CavhCE,oCACE,UVeyB,CS3B3B,0BAHA,SZ2iCF,CD5iCA,cAGI,4BIea,CJdb,sBAFA,gBM+RM,eNvRN,CALA,UIgByB,CJpBzB,gEAMA,cIgMa,CJ/Lb,gBAFA,gBMKF,8FLmjCF,CDljCI,2BACI,oBCojCR,CDjjCI,oBACI,yBMgRE,eN/QF,CAEA,UICqB,CJFrB,mBCqjCR,CDljCQ,8EAGI,4BIPK,CJML,wBCojCZ,CD/iCI,oHMoQM,eL+yBV,CD1iCQ,4LAEI,qBC2iCZ,CDviCI,0BACI,yBACA,qBACA,aCyiCR,CDviCQ,gCACI,kCCyiCZ,CDriCI,qCACI,qBIiHoB,CJhHpB,cI+IS,CJ9IT,gBACA,kBACA,WACA,QACA,qBCuiCR,CDpiCI,oBAEI,gCADA,iCCuiCR,CDniCI,iCACI,qBCqiCR,CD/hCI,qCAOI,aI9BQ,CJyBR,YACA,qBAFA,2BAOA,eAJA,kBACA,WACA,QCqiCR,CD/hCQ,uDACI,eACA,QCkiCZ,CD5hCI,kBAEI,aI/BO,CJ8BP,WCgiCR,CalmCI,2HACE,sBbsmCN,CanmCI,iHACE,gBbsmCN,CapmCM,uJACE,sBbumCR,CahmCI,uEACE,ebomCN,CalmCM,6GACE,qBbqmCR,CajmCI,iFACE,qBbomCN,CalmCM,6GACE,uBbqmCR,Ca5lCI,2HACE,wBbgmCN,Ca7lCI,iHACE,iBbgmCN,Ca9lCM,uJACE,wBbimCR,Ca1lCI,uEACE,iBb8lCN,Ca5lCM,6GACE,wBb+lCR,Ca3lCI,iFACE,wBb8lCN,Ca5lCM,6GACE,2Bb+lCR,CatlCI,+FAEE,gBb0lCN,CaxlCM,qIACE,sBb2lCR,CavlCI,yGACE,sBb0lCN,CaplCI,qDACE,eACA,ebwlCN,CatlCM,2FACE,qBbylCR,CarlCI,+DACE,qBbwlCN,CatlCM,sLAEE,wBbylCR,CDlnCI,oOAEI,kCIyMS,CJxMT,WCunCR,CDtnCQ,4fAII,kCIoMK,CJrML,WCgoCZ,CDznCY,iJACI,kCC4nChB,CDvnCI,yGACI,kCIsLS,CJrLT,WC0nCR,CDrnCI,4DACI,aCwnCR,CDnnCI,gEACI,aCsnCR,CDlnCA,mBAEI,yBACA,qBImBwB,CJlBxB,UInIc,CJoId,uBM5IF,8FLswCF,CDtnCI,kFARA,qBCioCJ,CDrnCI,mDACI,aCunCR,CDrnCI,oDACI,aCunCR,CDpnCI,kEAGI,gBCqnCR,CDhnCI,sCACI,qBIvKqB,CJwKrB,oBCmnCR,CD/mCQ,2DACI,kCCinCZ,CD5mCA,yBAEI,kBC+mCJ,CD3mCI,0CACI,wBC8mCR,CD9lCA,iFACI,wBIpLyB,CJqLzB,aIzKY,CJ0KZ,kBC6mCJ,CD1mCA,sBACI,gBIpNyB,CJqNzB,iBC6mCJ,CD1mCA,6CACI,iBC6mCJ,CD1mCA,iCACI,aC6mCJ,CD1mCA,sBAII,4BItNa,CJuNb,sBAKA,gBAJA,UIrNyB,CJuNzB,cIrCa,CJsCb,gBAFA,gBANA,eACA,aACA,WConCJ,CD3mCI,yDAII,4BIlOS,CJiOT,yBM8CE,eLgkCV,CDtmCI,gMAEI,kBC0mCR,Ccz2CA,OACI,SACA,gBACA,WAEA,eADA,iBd62CJ,Cc12CI,kBACI,iBd42CR,Ccz2CI,eACI,gBACA,OACA,kBACA,QACA,SACA,WACA,Sd22CR,Ccz2CI,wCACI,Qd22CR,Ccx2CI,8BAEI,cADA,eAEA,UAGA,iBAFA,kBACA,Od22CR,Ccv2CI,mBACI,cACA,ady2CR,Cct2CI,8BAEI,iBXqIwB,CWtIxB,2Bdy2CR,Ccr2CI,uBACI,iBdu2CR,Ccp2CA,YACI,wBXqOoB,CWpOpB,adu2CJ,Ccr2CA,eACI,wBXkOoB,CWjOpB,adw2CJ,Cct2CA,eACI,wBX+NoB,CW9NpB,ady2CJ,Ccv2CA,cACI,wBXSW,CWRX,Ud02CJ,Cen6CQ,kHAEI,4Bf06CZ,Cev6CG,mBACI,sBACA,gBZwMwB,CYvMxB,efy6CP,Cet6CG,+BAGI,mBADA,aAEA,UACA,Ufw6CP,Cet6CG,kHAMI,aACA,qBfw6CP,Cer6CG,uBACI,efu6CP,Cer6CG,iBACI,eACA,eZqLsB,CYpLtB,eACA,gBfu6CP,Cer6CG,iBAEK,gBZwKuB,CYzKvB,eZmLqB,CYjLrB,iBACA,gBfu6CR,Cel6CQ,8DAEI,iBACA,iBfm6CZ,Ce/5CI,gBACI,iBfi6CR,Ce75CI,yCACI,qBfg6CR,Ce95CI,wCACI,wBfg6CR,Ce95CI,kKAMI,gBfg6CR,CgBz+CA,iBAUI,abTS,CaUT,eAJA,cbiMa,CahMb,gBACA,gBAPA,mBACA,kBACA,kBAEA,oChBk/CJ,CgB3+CI,+BACE,abbO,CauBP,eATA,cAQA,eAPA,YACA,OAKA,iBAMC,WAVD,kBAGA,kBAFA,MAOA,qCANA,UhBq/CN,CgBx+CQ,+CACI,ShB2+CZ,CgBv+CI,6BAEI,aADA,sBhB2+CR,CgBp+CI,6BACI,iBhBw+CR,CgBp+CA,gHAQE,6BAJA,qBJlDA,0BIoDA,OAGA,SJ1DA,SI2DiB,CALjB,kBAEA,KhB2+CF,CgBt+CA,yDJ1DE,wBAHA,SZyiDF,CgBx+CA,6BAGE,2BhB2+CF,CgBz+CA,qDJnEE,wBAHA,SZqjDF,CgB3+CA,uDJvEE,0BAHA,SZ2jDF,CgBz+CA,yDAGE,wBADA,ShB6+CF,CgB1+CA,2DAGE,0BADA,UAIA,2BhB4+CF,CgB1+CA,mCAGE,UbpE2B,CamE3B,chB8+CF,CgB3+CA,iDAEE,UhB8+CF,CgB5+CA,2DAGE,0BADA,ShBg/CF,CgB7+CA,6DAGE,wBADA,ShBi/CF,CgB9+CA,iEAEE,UhBi/CF,CgB/+CA,2EAGE,wBADA,ShBm/CF,CgBh/CA,6EAGE,UbhG2B,CaiG3B,0BAFA,ShBq/CF,CiBnnDQ,gCAEI,4BjBsnDZ,CiBlnDA,QACI,QdJyB,CcKzB,gBACA,ad0Le,CczLf,SjBqnDJ,CiBnnDI,sBACI,UdNqB,CcUrB,cdyLiB,Cc5LjB,ed0MqB,CczMrB,Yd+O0B,Cc9O1B,iBjBsnDR,CiBlnDS,yBACI,oBACA,ad+NoB,Cc9NpB,iBjBonDb,CiBlnDY,sDAEI,qBACA,QjBonDhB,CiBlnDY,2BAEI,iBADA,kBAEA,OjBonDhB,CiBjnDS,6BACI,edoNoB,CcnNpB,gBjBmnDb,CiBhnDI,aACG,ejBmnDP,CiBhnDI,iCAFG,cjBqnDP,CiB9mDA,8BACI,iBd0H2B,CczH3B,ejBinDJ,CiB9mDA,gBAEI,wBd3DyB,Cc4DzB,6BAFA,UjBmnDJ,CiB/mDI,uBACI,oBjBinDR,CiB9mDQ,2CACI,UjBgnDZ,CiB7mDQ,oPAKI,6BACA,kBLtEV,0BAHA,SZ0rDF,CiB5mDQ,0GAEI,2BdxBC,CcyBD,wBjB8mDZ,CiB1mDQ,wHAGI,6BACA,ajB4mDZ,CiBzmDQ,kGACI,4BjB2mDZ,CiBtmDI,4DAEI,oBd5CK,Cc2CL,ajBymDR,CiBtmDI,+KAGQ,ajBsmDZ,CiBlmDA,aZmLU,eLo7CV,CiBrmDG,2BJvFD,6BAFA,SADA,gBI+FM,advFqB,CcqFrB,adgFW,CcjFX,YAEA,iBd0GuB,CUtM7B,SbusDF,CiBxmDI,6FAGI,QdvHqB,CcwHrB,2CAFA,UjB2mDR,CiBpmDA,mBCjII,wBlByuDJ,CiBrmDA,gBCpII,wBlB6uDJ,CiBtmDA,mBCvII,wBlBivDJ,CiBvmDA,mBC1II,wBlBqvDJ,CiBxmDA,kBC7II,wBlByvDJ,CiBxmDA,oBAEI,6BACA,oCAFA,gBjB6mDJ,CiBxmDA,eAGI,QdtJyB,CcqJzB,mBADA,ejB6mDJ,CiBzmDI,yBACI,qBjB2mDR,CiBzmDK,4DAEG,wBjB2mDR,CiBxmDI,sGAEI,4BjBymDR,CiBnmDI,mELvKF,yBAHA,UZkxDF,CiBpmDQ,8JAII,6BL/KV,0BAHA,SZuxDF,CiB7lDI,yGAEI,UjB8lDR,CiBxlDQ,6FAII,iBdhMiB,Cc8LjB,Ud9LiB,CSH3B,yBAHA,UZgyDF,CiBplDQ,+hBAUI,6BAEA,kBAEA,UdpNiB,CSH3B,0BAHA,SZ+yDF,CiB/kDQ,uGAEI,4BjBglDZ,CiB5kDQ,uUAMI,wBdtOiB,CcwOjB,qBjB4kDZ,CiBxkDQ,qQAMI,6BAEA,UdpPiB,CSH3B,0BAHA,SZo0DF,CiBlkDI,iEAII,iBdhQqB,Cc8PrB,UjBokDR,CiB9jDI,mFAII,qBdxQqB,CcsQrB,ad7OqB,CS5B3B,yBAHA,UZ80DF,CiB1jDI,+fAUI,iBdxRqB,CSH3B,0BAHA,SZ21DF,CmB91DA,QACI,4BAEA,iBADA,iBnBk2DJ,CmB/1DQ,eAIE,gBAHA,gBACA,SACA,SnBk2DV,CmBh2DY,kBACQ,qBAGA,iBADA,gBADA,kBAGA,iBnBk2DpB,CmBh2DY,2BACI,ahBhBH,CgBiBG,cACA,iBnBk2DhB,CmBh2DgB,kEAEI,anBi2DpB,CmB51DI,mBACI,ahB5BK,CgB8BL,eAGA,iBADA,gBAHA,kBAKA,kBAHA,kBnBi2DR,CmB51DI,eACI,anB81DR,CoBr4DA,eACI,wBjBYyB,CiBXzB,SACA,iBjB4K2B,CEoHrB,+DevRN,CARA,cREF,wBQDE,gBRFF,SQQmB,CALjB,UACA,kBACA,kBACA,YpB44DJ,CoBt4DI,qBRTF,0BAHA,SQauB,CACjB,kBpBy4DR,CoBt4DI,wBACI,wBjBPqB,CiBQrB,QpBw4DR,CoBr4DI,gCACI,ajBQqB,CiBPrB,iBjB6KU,CiB5KV,iBpBu4DR,CoBn4DI,uBACG,2BjBqMoB,CE6DjB,eejQH,CAIA,iBf6RC,mBAgBA,0BFnGqB,CEmEzB,0BLqoDJ,CoBh5DI,4BACI,epBk5DR,CoB/4DI,oBACG,ajB3CM,CiB4CN,cjB2JU,CiB1JV,kBf4QH,eL0oDJ,CoBn5DO,wBACI,epBq5DX,CoBl5DI,0BACI,mBpBo5DR,CoBj5DI,iCACI,cpBm5DR,CoBh5DI,gCACG,0BjBgHwB,CiB/GxB,2BpBk5DP,CoB/4DI,+BACI,6BjB2GuB,CiB1GvB,8BpBi5DR,CoB94DI,wCAEI,gBADA,epBi5DR,CoB74DI,oDAEI,wBjBnCQ,CiBoCR,uBjB7EU,CiB8EV,UACA,oBpB+4DR,CoBx4DI,sKAEI,wBpB44DR,CoB14DI,sFAEI,wBpB24DR,CoBz4DI,sFAEI,wBpB04DR,CoBx4DI,oFAEI,wBpBy4DR,CoBn4DA,kBACI,epBs4DJ,CoBp4DA,uBACI,gBpBu4DJ,CqBx/DA,MAaI,sBAZA,SACA,qBlBwKwB,CkBvKxB,yCAEA,alB2TwB,CkBpTxB,sBANA,mBACA,kBACA,SrB+/DJ,CqBx/DI,kBACI,cACA,erB0/DR,CqBv/DI,QACI,arBy/DR,CqBt/DI,aAII,0BADA,aADA,gBAGA,kBAGA,4BAPA,UrB+/DR,CqBt/DQ,iBACI,UrBw/DZ,CqBr/DI,eACI,sBrBu/DR,CqBr/DI,cACI,gBrBu/DR,CqBr/DI,mBAEI,alB5CK,CkB2CL,arBw/DR,CqBp/DI,SACI,iBACA,kBACA,kBrBs/DR,CqBn/DI,SACI,iBlBgJU,CkB/IV,QrBq/DR,CqBn/DI,4BAEI,clB4IS,CkB3IT,elB6JqB,CkB1JrB,gBADA,yBrBq/DR,CqBn/DQ,gCACI,arBs/DZ,CqBl/DI,YAII,qBAHA,eACA,kBACA,0BAEA,qBrBo/DR,CqBj/DI,aAEI,alB+OoB,CkB9OpB,elBwIqB,CkB1IrB,QrBq/DR,CqBj/DI,cAII,kBAFA,YAGA,iBAFA,gBAFA,UrBu/DR,CqBj/DI,cAEI,iBADA,SrBo/DR,CqBj/DQ,sBACI,arBm/DZ,CqBh/DQ,iBAEI,kBADA,crBm/DZ,CqB/+DI,aACI,cACA,erBi/DR,CqBh/DQ,eACI,iBACA,crBm/DZ,CqB/+DI,iCAHQ,oBrBq/DZ,CqB9+DI,cACI,iBlBkFU,CkBjFV,elBsGqB,CkBrGrB,wBrBg/DR,CqB9+DI,gBACI,crBg/DR,CqB7+DI,2BAKI,qBlBlGqB,CkBmGrB,WALA,YAMA,kBALA,YACA,MACA,SrBk/DR,CqB5+DI,gBAEI,aADA,arB++DR,CqB1+DQ,oEAEI,iBrB4+DZ,CqBz+DQ,kEAEI,kBrB2+DZ,CqBv+DI,aACI,iBlBmBwB,CkBlBxB,iBrBy+DR,CqBv+DQ,6BACI,iBrBy+DZ,CqBt+DI,gBACI,cACA,erBw+DR,CqBt+DI,eACI,cACA,gBrBw+DR,CqBv+DQ,iBACI,QrBy+DZ,CqBr+DQ,yBACI,crBu+DZ,CqBt+DY,0CACI,+BrBw+DhB,CqBn+DI,mBVnLF,wBRgDc,CQ8DZ,UX4iEJ,CWxpEE,6WAWE,wBRqCyB,CQpCzB,UXgpEJ,CWzoEI,k2BAME,wBRqBU,CQpBV,oBXsoEN,CWloEE,kDAEE,eXmoEJ,CWpjEE,8BAEE,oBRnEY,CQkEZ,aXujEJ,CWpjEI,6GAGE,4BRtGW,CQwGX,oBRxEuB,CQuEvB,aXqjEN,CWhjEE,4BACE,aXkjEJ,CWhjEI,uGAGE,4BRlHW,CQmHX,aRnFuB,CQoFvB,oBXgjEN,CqB//DI,mBVvLF,wBRqDc,CQyDZ,UX4kEJ,CWxrEE,6WAWE,wBR0CmB,CQzCnB,UXgrEJ,CWzqEI,k2BAME,wBR0BU,CQzBV,oBXsqEN,CWlqEE,kDAEE,eXmqEJ,CWplEE,8BAEE,oBR9DY,CQ6DZ,aXulEJ,CWplEI,6GAGE,4BRtGW,CQwGX,oBRnEiB,CQkEjB,aXqlEN,CWhlEE,4BACE,aXklEJ,CWhlEI,uGAGE,4BRlHW,CQmHX,aR9EiB,CQ+EjB,oBXglEN,CqB3hEI,gBV3LF,wBRyDW,CQqDT,UX4mEJ,CWxtEE,4UAWE,wBR6CgB,CQ5ChB,UXgtEJ,CWzsEI,0xBAME,wBR8BO,CQ7BP,oBXssEN,CWlsEE,4CAEE,eXmsEJ,CWpnEE,2BAEE,oBR1DS,CQyDT,aXunEJ,CWpnEI,oGAGE,4BRtGW,CQwGX,oBRhEc,CQ+Dd,aXqnEN,CWhnEE,yBACE,aXknEJ,CWhnEI,8FAGE,4BRlHW,CQmHX,aR3Ec,CQ4Ed,oBXgnEN,CqBvjEI,mBV/LF,wBR8Dc,CQgDZ,UX4oEJ,CWxvEE,6WAWE,wBRkDmB,CQjDnB,UXgvEJ,CWzuEI,k2BAME,wBRmCU,CQlCV,oBXsuEN,CWluEE,kDAEE,eXmuEJ,CWppEE,8BAEE,oBRrDY,CQoDZ,aXupEJ,CWppEI,6GAGE,4BRtGW,CQwGX,oBR3DiB,CQ0DjB,aXqpEN,CWhpEE,4BACE,aXkpEJ,CWhpEI,uGAGE,4BRlHW,CQmHX,aRtEiB,CQuEjB,oBXgpEN,CqBnlEI,kBVnMF,wBRmEa,CQ2CX,UX4qEJ,CWxxEE,kWAWE,wBRuDkB,CQtDlB,UXgxEJ,CWzwEI,00BAME,wBRwCS,CQvCT,oBXswEN,CWlwEE,gDAEE,eXmwEJ,CWprEE,6BAEE,oBRhDW,CQ+CX,aXurEJ,CWprEI,0GAGE,4BRtGW,CQwGX,oBRtDgB,CQqDhB,aXqrEN,CWhrEE,2BACE,aXkrEJ,CWhrEI,oGAGE,4BRlHW,CQmHX,aRjEgB,CQkEhB,oBXgrEN,CWpzEE,gYAWE,qBRNyB,CQOzB,UXgzEJ,CWzyEI,k2BAME,qBRpBuB,CQqBvB,iBXsyEN,CWlyEE,kDAEE,eXmyEJ,CW5xEI,8BACE,aX8xEN,CW5xEM,6GAGE,aX4xER,CWxxEI,4BACE,UX0xEN,CWxxEM,uGAGE,aXwxER,CWpxEI,+BACE,UXsxEN,CWpxEM,gHAGE,aXoxER,CWhxEI,+BACE,UXkxEN,CWhxEM,gHAGE,aXgxER,CW5wEI,+BACE,UX8wEN,CW5wEM,gHAGE,aX4wER,CWxwEI,iSAQE,qBR5FuB,CQ6FvB,aXmwEN,CWhwEI,4EAGE,aXgwEN,CWzvEE,8BAEE,iBR5GyB,CQ2GzB,UX4vEJ,CWzvEI,6GAGE,4BRtGW,CQwGX,iBRnHuB,CQkHvB,UX0vEN,CWrvEE,4BACE,UXuvEJ,CWrvEI,uGAGE,4BRlHW,CQmHX,UR9HuB,CQ+HvB,oBXqvEN,CqB/qEI,kBACI,0BACA,aAEA,gBADA,iBrBmrER,CqBhrEQ,sBACI,UrBkrEZ,CqB/qEI,wBACI,SACA,gBrBirER,CqB/qEI,mBAGI,iBAFA,kBACA,mBrBkrER,CqBhrEQ,0BACI,arBkrEZ,CqBjrEY,gCACI,arBmrEhB,CqB/qEI,mBAGI,kBADA,aAGA,mBADA,kBAHA,WrBqrER,CqB/qEQ,gCACI,qBrBirEZ,CqB/qEQ,+BACI,wBrBirEZ,CqB9qEI,kBACI,gBACA,gBrBgrER,CqB9qEI,wBACI,erBgrER,CqB9qEI,oBACI,gBrBgrER,CqB5qEQ,8BACI,aACA,WrB8qEZ,CqBxqEI,eACI,aACA,gBrB2qER,CqBzqEQ,mBACI,WrB2qEZ,CqBrqEI,uCACI,qBrByqER,CqBvqEI,6BACI,erB0qER,CqBvqEA,YACI,6BAEA,gBADA,erB2qEJ,CqBxqEI,mBACI,iBrB0qER,CsBz1EE,UAxDA,mBrB7Bc,CqB8Bd,oBrB9Bc,CqB+Bd,crB9Ba,CqB+Bb,atBq5EF,CsB51EE,iDArEA,cAKA,YtBs6EF,CsBj2EE,iCAGE,kBA9FF,oBA4F4B,CAxF5B,0BAwFsC,CArFpC,etBk8EJ,CsBx2EE,+BAGE,kBApGF,sBAkG4B,CA9F5B,0BA8FwC,CA3FtC,etB+8EJ,CsB/2EE,+BAGE,gBA1GF,oBAwG4B,CApG5B,wBAoGsC,CA/FpC,gBtB09EJ,CsBt3EE,6BAGE,kBAhHF,oBA8G4B,CA1G5B,0BA0GsC,CAvGpC,etBy+EJ,CsB73EE,+CAGE,kBAtHF,oBAoH4B,CAhH5B,sBAgHsC,CAzGpC,iBtBk/EJ,CsBp4EE,6CAGE,kBA5HF,sBA0H4B,CAtH5B,sBAsHwC,CA/GtC,iBtB+/EJ,CsB34EE,kEAGE,kBAlIF,oBAgI4B,CA5H5B,0BA4HsC,CAzHpC,etBghFJ,CsBl5EE,gEAGE,kBAxIF,sBAsI4B,CAlI5B,0BAkIwC,CA/HtC,etB6hFJ,CsBz5EE,gEAIE,gBA/IF,kBA6I4B,CAzI5B,wBAyIoC,CApIlC,gBtBwiFJ,CsB/5EE,8DAGE,gBArJF,kBAmJ4B,CA/I5B,0BA+IoC,CA5IlC,etBujFJ,CsBt6EE,SAvHA,qBrB7Bc,CqB8Bd,gBrB5Bc,CqB+BZ,oBtB+hFJ,CsBx6EE,UAlHA,iBrB/Bc,CqBgCd,oBtB8hFF,CsBz6EE,SAjHA,UACA,gBtB8hFF,CsB16EE,SA5GA,YACA,etB0hFF,CsB36EE,QA3GA,UACA,iBtB0hFF,CsB56EE,gBA1GA,UACA,iBtB0hFF,CsBthFE,+FACE,ctByhFJ,CsBthFE,iDACE,YtBwhFJ,CsB7hFE,+FACE,ctBgiFJ,CsB7hFE,iDACE,YtB+hFJ,CsBpiFE,+FACE,ctBuiFJ,CsBpiFE,iDACE,YtBsiFJ,CsB3iFE,+FACE,ctB8iFJ,CsB3iFE,iDACE,YtB6iFJ,CsBljFE,+FACE,ctBqjFJ,CsBljFE,iDACE,YtBojFJ,CsBzjFE,+FACE,yBtB4jFJ,CsBzjFE,iDACE,uBtB2jFJ,CsBhkFE,+FACE,yBtBmkFJ,CsBhkFE,iDACE,uBtBkkFJ,CsBvkFE,+FACE,0BtB0kFJ,CsBvkFE,iDACE,wBtBykFJ,CsB9kFE,+FACE,yBtBilFJ,CsB9kFE,iDACE,uBtBglFJ,CsBrlFE,+FACE,yBtBwlFJ,CsBrlFE,iDACE,uBtBulFJ,CsB5lFE,+FACE,yBtB+lFJ,CsB5lFE,iDACE,uBtB8lFJ,CsBnmFE,+FACE,yBtBsmFJ,CsBnmFE,iDACE,uBtBqmFJ,CsB1mFE,+FACE,0BtB6mFJ,CsB1mFE,iDACE,wBtB4mFJ,CsBjnFE,+FACE,yBtBonFJ,CsBjnFE,iDACE,uBtBmnFJ,CsBxnFE,+FACE,yBtB2nFJ,CsBxnFE,iDACE,uBtB0nFJ,CsBtgFM,WA/NJ,cACA,kBACA,UtByuFF,CsBvuFE,kBAGE,WAFA,cACA,WAGA,SACA,oBAFA,OtB2uFJ,CsBtuFE,iBAGE,WAFA,WACA,atByuFJ,CsBruFE,eACE,cAGA,OAFA,kBACA,KtBwuFJ,CsB/hFM,iBA/NJ,cACA,kBACA,UtBkwFF,CsBhwFE,wBAGE,WAFA,cACA,WAGA,SACA,sBAFA,OtBowFJ,CsB/vFE,uBAGE,WAFA,WACA,atBkwFJ,CsB9vFE,qBACE,cAGA,OAFA,kBACA,KtBiwFJ,CsBxjFM,iBA/NJ,cACA,kBACA,UtB2xFF,CsBzxFE,wBAGE,WAFA,cACA,WAGA,SACA,8BAFA,OtB6xFJ,CsBxxFE,uBAGE,WAFA,WACA,atB2xFJ,CsBvxFE,qBACE,cAGA,OAFA,kB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A,UvBmqGR,CuB7pGE,8BAGI,YAFA,wBACA,UvBiqGN,CuB9pGE,kBAGE,6BvBiqGJ,CuB/pGE,MlB8FC,4CAEA,6BACA,qCAEA,6BkBlGC,KvBwqGJ,CuBrqGE,MACE,SvBwqGJ,CuBtqGE,MlBuFC,+CAEA,gCACA,qCAEA,6BkB3FC,QvB+qGJ,CuB5qGE,elBmFC,yCAEA,0BACA,qCAEA,6BkBvFC,OvBqrGJ,CuBlrGE,eACE,SvBqrGJ,CuBnrGE,elB4EC,4CAEA,6BACA,qCAEA,6BkBhFC,UvB4rGJ,CKxmGE,oBACE,GAAI,MAAU,sBL6mGhB,CK5mGE,IAAK,QAAU,wBLgnGjB,CK/mGE,IAAK,wBLknGP,CKjnGE,GAAM,wBLonGR,CACF,CKnnGE,4BACE,GAAI,MAAU,8BLunGhB,CKtnGE,IAAK,QAAU,gCL0nGjB,CKznGE,IAAK,gCL4nGP,CK3nGE,GAAO,gCL8nGT,CACF,CKpnGE,uBACE,GAAK,QAAU,wBLwoGjB,CKvoGE,IAAM,wBL0oGR,CKzoGE,IAAM,sBL4oGR,CK3oGE,GAAO,MAAU,mBL+oGnB,CACF,CK7oGE,+BACE,GAAK,QAAU,gCLipGjB,CKhpGE,IAAM,gCLmpGR,CKlpGE,IAAM,8BLqpGR,CKppGE,GAAO,MAAU,2BLwpGnB,CACF,CK7oGE,uBACE,GAAI,SAAa,sBLiqGnB,CKhqGE,IAAK,WAAa,yBLoqGpB,CKnqGE,IAAK,yBLsqGP,CKrqGE,GAAM,yBLwqGR,CACF,CKvqGE,+BACE,GAAI,SAAa,8BL2qGnB,CK1qGE,IAAK,WAAa,iCL8qGpB,CK7qGE,IAAK,iCLgrGP,CK/qGE,GAAM,iCLkrGR,CACF,CKxqGE,0BACE,GAAK,WAAY,yBL4rGnB,CK3rGE,IAAM,uBL8rGR,CK7rGE,IAAM,uBLgsGR,CK/rGE,GAAO,SAAY,mBLmsGrB,CACF,CKlsGE,kCACE,GAAI,WAAY,iCLssGlB,CKrsGE,IAAK,+BLwsGP,CKvsGE,IAAK,+BL0sGP,CKzsGE,GAAM,SAAY,2BL6sGpB,CACF,CuBp2GE,0BACE,GAAI,SvBu3GN,CuBt3GE,GAAM,SvBy3GR,CACF,CuBp3GE,kBACE,GAAI,SvB+3GN,CuB93GE,GAAM,SvBi4GR,CACF,CuB/3GE,wBACI,mCvBi4GN,CuB93GE,YACI,YvBi4GN,CuB93GE,eACI,YvBi4GN,CuB93GU,oDAEI,4BvB+3Gd,CuB13GE,kBACI,kCvB63GN,CuB33GE,WAQI,WAPA,YAKA,UAFA,UAMA,kBAPA,eAIA,YAFA,MAHA,WAOA,YvB+3GN,CuB53GE,qCACI,evB+3GN,CuB73GE,0CACI,sCvBg4GN,CuB93GE,qBACI,evBi4GN,CuB/3GE,oBAGI,cADA,qBAEA,mBAHA,SvBq4GN,CuBh4GE,wBACI,UvBm4GN,CuBh4GE,0BACI,qBvBm4GN,CuBj4GE,6BACI,avBo4GN,CuBl4GE,wCACI,uBvBq4GN,CuBn4GE,eACI,UvBs4GN,CuBp4GE,iCAKI,6BACA,SAEA,gBANA,WAEA,aAHA,gBAEA,UvB44GN,CuBp4GE,qBACI,eACA,evBu4GN,CuBp4GM,mDAGI,4BvBq4GV,CuBh4GE,mBACI,eACA,UvBm4GN,CACF,CuB93GA,yBACI,kBACI,kBACA,kBvBg4GN,CuB93GE,kBACI,gBvBi4GN,CACF,CuB73GA,yBACI,kBAMI,4CACA,iCAJA,sBADA,mBAEA,kBACA,kBAJA,UvBq4GN,CACF,CwB3zHA,gBACI,SACA,kBACA,qBAKA,gBAHA,gBADA,kBAEA,UxB+zHJ,CwB1zHI,mBAGI,mCAFA,eACA,WxB6zHR,CwBzzHI,qCACI,WxB2zHR,CyB70HA,WACC,6BAOA,kBADA,gBALA,iDACA,2RzBq1HD,C0Bx1HA,mCAGC,WAQA,mCACA,kCAXA,qBACA,6BAEA,kBAEA,oBADA,gBAGA,cADA,mB1B81HD;A2B/1HA;;;EAAA,CAMA,OACE,kBACA,kBACA,mB3Bo2HF,C2Bj2HA,OACE,c3Bo2HF,C2Bj2HA,OACE,c3Bo2HF,C2Bj2HA,OACE,c3Bo2HF,C2Bj2HA,OACE,c3Bo2HF,C2Bj2HA,OAEE,kBADA,oB3Bq2HF,C2Bj2HA,OAGE,qBADA,2BADA,c3Bs2HF,C2Bl2HE,UACE,iB3Bo2HJ,C2Bh2HA,OAEE,qBADA,kBAIA,kBADA,kBADA,oB3Bq2HF,C2Bj2HE,aACE,oB3Bm2HJ,C2B/1HA,WAEE,wBACA,mBAFA,wB3Bo2HF,C2B/1HA,YACE,W3Bk2HF,C2B91HE,cACE,WAEA,iBADA,iB3Bk2HJ,C2B71HA,SACE,2E3Bg2HF,C2B71HA,wBACE,GACE,sB3Bg2HF,C2B91HA,GACE,wB3Bg2HF,CACF,C2Bt2HA,gBACE,GACE,sB3Bg2HF,C2B91HA,GACE,wB3Bg2HF,CACF,C2B71HA,cACE,gEACA,uB3B+1HF,C2B51HA,eACE,gEACA,wB3B+1HF,C2B51HA,eACE,gEACA,wB3B+1HF,C2B51HA,oBACE,yEACA,oB3B+1HF,C2B51HA,kBACE,yEACA,oB3B+1HF,C2B51HA,UAEE,qBAEA,WACA,gBAJA,kBAKA,sBAHA,S3Bk2HF,C2B51HA,0BAGE,OADA,kBAGA,kBADA,U3Bg2HF,C2B51HA,aACE,mB3B+1HF,C2B51HA,aACE,a3B+1HF,C2B51HA,YACE,U3B+1HF,C2B31HA,OACE,qB3B+1HF,C2B51HA,WACE,0B3B+1HF,C4Bv/HA,oBACE,W5B0/HF,C4Bv/HA,kBACE,W5B0/HF,C4Bx/HA,qBACE,W5B2/HF,C4Bz/HA,sBACE,W5B4/HF,C4B1/HA,kBACE,W5B6/HF,C4B3/HA,sBACE,W5B8/HF,C4B5/HA,wBACE,W5B+/HF,C4B7/HA,yBACE,W5BggIF,C4B9/HA,qBACE,W5BigIF,C4B//HA,kBACE,W5BkgIF,C4BhgIA,qBACE,W5BmgIF,C4BjgIA,yBACE,W5BogIF,C4BlgIA,mBACE,W5BqgIF,C4BngIA,wBACE,W5BsgIF,C4BpgIA,mBACE,W5BugIF,C4BrgIA,yBACE,W5BwgIF,C4BtgIA,mBACE,W5BygIF,C4BvgIA,oBACE,W5B0gIF,C4BxgIA,qBACE,W5B2gIF,C4BzgIA,2BACE,W5B4gIF,C4B1gIA,uBACE,W5B6gIF,C4B3gIA,oBACE,W5B8gIF,C4B5gIA,oBACE,W5B+gIF,C4B7gIA,qBACE,W5BghIF,C4B9gIA,wBACE,W5BihIF,C4B/gIA,qBACE,W5BkhIF,C4BhhIA,uBACE,W5BmhIF,C4BjhIA,qBACE,W5BohIF,C4BlhIA,oBACE,W5BqhIF,C4BnhIA,kBACE,W5BshIF,C4BphIA,qBACE,W5BuhIF,C4BrhIA,mBACE,W5BwhIF,C4BthIA,2BACE,W5ByhIF,C4BvhIA,mBACE,W5B0hIF,C4BxhIA,oBACE,W5B2hIF,C4BzhIA,wBACE,W5B4hIF,C4B1hIA,6BACE,W5B6hIF,C4B3hIA,kBACE,W5B8hIF,C4B5hIA,2BACE,W5B+hIF,C4B7hIA,iBACE,W5BgiIF,C4B9hIA,uBACE,W5BiiIF,C4B/hIA,yBACE,W5BkiIF,C4BhiIA,8BACE,W5BmiIF,C4BjiIA,oBACE,W5BoiIF,C4BliIA,0BACE,W5BqiIF,C4BniIA,qBACE,W5BsiIF,C4BpiIA,iCACE,W5BuiIF,C4BriIA,oBACE,W5BwiIF,C4BtiIA,yBACE,W5ByiIF,C4BviIA,0BACE,W5B0iIF,C4BxiIA,gCACE,W5B2iIF,C4BziIA,uBACE,W5B4iIF,C4B1iIA,yBACE,W5B6iIF,C4B3iIA,qBACE,W5B8iIF,C4B5iIA,gCACE,W5B+iIF,C4B7iIA,uBACE,W5BgjIF,C4B9iIA,qBACE,W5BijIF,C4B/iIA,mBACE,W5BkjIF,C4BhjIA,sBACE,W5BmjIF,C4BjjIA,sBACE,W5BojIF,C4BljIA,wBACE,W5BqjIF,C4BnjIA,oBACE,W5BsjIF,C4BpjIA,mBACE,W5BujIF,C4BrjIA,qBACE,W5BwjIF,C4BtjIA,qBACE,W5ByjIF,C4BvjIA,uBACE,W5B0jIF,C4BxjIA,oBACE,W5B2jIF,C4BzjIA,oBACE,W5B4jIF,C4B1jIA,oBACE,W5B6jIF,C4B3jIA,qBACE,W5B8jIF,C4B5jIA,qBACE,W5B+jIF,C4B7jIA,kBACE,W5BgkIF,C4B9jIA,oBACE,W5BikIF,C4B/jIA,wBACE,W5BkkIF,C4BhkIA,mBACE,W5BmkIF,C4BjkIA,sBACE,W5BokIF,C4BlkIA,qBACE,W5BqkIF,C4BnkIA,sBACE,W5BskIF,C4BpkIA,sBACE,W5BukIF,C4BrkIA,oBACE,W5BwkIF,C4BtkIA,qBACE,W5BykIF,C4BvkIA,qBACE,W5B0kIF,C4BxkIA,mBACE,W5B2kIF,C4BzkIA,sBACE,W5B4kIF,C4B1kIA,mBACE,W5B6kIF,C4B3kIA,qBACE,W5B8kIF,C4B5kIA,qBACE,W5B+kIF,C4B7kIA,sBACE,W5BglIF,C4B9kIA,uBACE,W5BilIF,C4B/kIA,4BACE,W5BklIF,C4BhlIA,wBACE,W5BmlIF,C4BjlIA,oBACE,W5BolIF,C4BllIA,oBACE,W5BqlIF,C4BnlIA,oBACE,W5BslIF,C4BplIA,sBACE,W5BulIF,C4BrlIA,mBACE,W5BwlIF,C4BtlIA,mBACE,W5BylIF,C4BvlIA,oBACE,W5B0lIF,C4BxlIA,oBACE,W5B2lIF,C4BzlIA,wBACE,W5B4lIF,C4B1lIA,oBACE,W5B6lIF,C4B3lIA,mBACE,W5B8lIF,C4B5lIA,yBACE,W5B+lIF,C4B7lIA,mBACE,W5BgmIF,C4B9lIA,kBACE,W5BimIF,C4B/lIA,oBACE,W5BkmIF,C4BhmIA,kBACE,W5BmmIF,C4BjmIA,4BACE,W5BomIF,C4BlmIA,kBACE,W5BqmIF,C4BnmIA,oBACE,W5BsmIF,C4BpmIA,mBACE,W5BumIF,C4BrmIA,kBACE,W5BwmIF,C4BtmIA,0BACE,W5BymIF,C4BvmIA,0BACE,W5B0mIF,C4BxmIA,0BACE,W5B2mIF,C4BzmIA,oBACE,W5B4mIF,C4B1mIA,2BACE,W5B6mIF,C4B3mIA,uBACE,W5B8mIF,C4B5mIA,mBACE,W5B+mIF,C4B7mIA,mBACE,W5BgnIF,C4B9mIA,yBACE,W5BinIF,C4B/mIA,wBACE,W5BknIF,C4BhnIA,oBACE,W5BmnIF,C4BjnIA,oBACE,W5BonIF,C4BlnIA,mBACE,W5BqnIF,C4BnnIA,mBACE,W5BsnIF,C4BpnIA,sBACE,W5BunIF,C4BrnIA,oBACE,W5BwnIF,C4BtnIA,mBACE,W5BynIF,C4BvnIA,kBACE,W5B0nIF,C4BxnIA,yBACE,W5B2nIF,C4BznIA,mBACE,W5B4nIF,C4B1nIA,wBACE,W5B6nIF,C4B3nIA,6BACE,W5B8nIF,C4B5nIA,qBACE,W5B+nIF,C4B7nIA,mBACE,W5BgoIF,C4B9nIA,mBACE,W5BioIF,C4B/nIA,mBACE,W5BkoIF,C4BhoIA,sBACE,W5BmoIF,C4BjoIA,mBACE,W5BooIF,C4BloIA,mBACE,W5BqoIF,C4BnoIA,oBACE,W5BsoIF,C4BpoIA,mBACE,W5BuoIF,C4BroIA,qBACE,W5BwoIF,C4BtoIA,mBACE,W5ByoIF,C4BvoIA,mBACE,W5B0oIF,C4BxoIA,mBACE,W5B2oIF,C4BzoIA,oBACE,W5B4oIF,C4B1oIA,oBACE,W5B6oIF,C4B3oIA,qBACE,W5B8oIF,C4B5oIA,qBACE,W5B+oIF,C4B7oIA,qBACE,W5BgpIF,C4B9oIA,oBACE,W5BipIF,C4B/oIA,qBACE,W5BkpIF,C4BhpIA,oBACE,W5BmpIF,C4BjpIA,sBACE,W5BopIF,C4BlpIA,mBACE,W5BqpIF,C4BnpIA,qBACE,W5BspIF,C4BppIA,mBACE,W5BupIF,C4BrpIA,qBACE,W5BwpIF,C4BtpIA,mBACE,W5BypIF,C4BvpIA,sBACE,W5B0pIF,C4BxpIA,sBACE,W5B2pIF,C4BzpIA,mBACE,W5B4pIF,C4B1pIA,mBACE,W5B6pIF,C4B3pIA,qBACE,W5B8pIF,C4B5pIA,uBACE,W5B+pIF,C4B7pIA,uBACE,W5BgqIF,C4B9pIA,uBACE,W5BiqIF,C4B/pIA,uBACE,W5BkqIF,C4BhqIA,mBACE,W5BmqIF,C4BjqIA,kBACE,W5BoqIF,C4BlqIA,sBACE,W5BqqIF,C4BnqIA,mBACE,W5BsqIF,C4BpqIA,qBACE,W5BuqIF,C4BrqIA,wBACE,W5BwqIF,C4BtqIA,qBACE,W5ByqIF,C4BvqIA,sBACE,W5B0qIF,C4BxqIA,sBACE,W5B2qIF,C4BzqIA,qBACE,W5B4qIF,C4B1qIA,oBACE,W5B6qIF,C4B3qIA,oBACE,W5B8qIF,C4B5qIA,oBACE,W5B+qIF,C4B7qIA,mBACE,W5BgrIF,C4B9qIA,mBACE,W5BirIF,C4B/qIA,qBACE,W5BkrIF,C4BhrIA,mBACE,W5BmrIF,C4BjrIA,yBACE,W5BorIF,C4BlrIA,sBACE,W5BqrIF,C4BnrIA,mBACE,W5BsrIF,C4BprIA,mBACE,W5BurIF,C4BrrIA,wBACE,W5BwrIF,C4BtrIA,sBACE,W5ByrIF,C4BvrIA,mBACE,W5B0rIF,C4BxrIA,sBACE,W5B2rIF,C4BzrIA,mBACE,W5B4rIF,C4B1rIA,mBACE,W5B6rIF,C4B3rIA,wBACE,W5B8rIF,C4B5rIA,qBACE,W5B+rIF,C4B7rIA,qBACE,W5BgsIF,C4B9rIA,oBACE,W5BisIF,C4B/rIA,sBACE,W5BksIF,C","file":"assets/admin/css/vendor.min.css","sourcesContent":["@include form-control-placeholder($medium-gray, 1);\n\n.form-control {\n font-family: \"Avenir-light\", \"AvenirLTStd-Light\", sans-serif !important;\n border-radius: 0;\n background-color: $transparent-bg;\n border: 1px solid $medium-dark-gray;\n color: $black-color;\n line-height: 1em;\n font-size: $font-size-base;\n font-weight: 400;\n @include transition-input-focus-color();\n @include box-shadow(none);\n\n .has-success & {\n border-color: $light-gray;\n }\n\n &:focus {\n border: 1px solid $brand-primary;\n @include box-shadow(none);\n outline: 0 !important;\n color: $black-color;\n\n & + .input-group-addon,\n & ~ .input-group-addon {\n border: 1px solid $brand-primary;\n background-color: $transparent-bg;\n }\n }\n\n .has-success &,\n .has-error &,\n .has-success &:focus,\n .has-error &:focus {\n @include box-shadow(none);\n }\n\n .has-danger &,\n .has-success & {\n &.form-control-success,\n &.form-control-danger {\n background-image: none;\n }\n }\n\n .has-danger & {\n background-color: lighten($danger-color, 30%);\n border-color: lighten($danger-color, 30%);\n color: $danger-color;\n\n &:focus {\n background-color: $opacity-gray-3;\n }\n }\n\n & + .form-control-feedback {\n border-radius: $border-radius-extra-small;\n font-size: $font-size-base;\n margin-top: -7px;\n position: absolute;\n right: 10px;\n top: 50%;\n vertical-align: middle;\n }\n\n .open & {\n border-radius: $border-radius-extra-small $border-radius-extra-small 0 0;\n border-bottom-color: transparent;\n }\n\n & + .input-group-addon {\n background-color: $white-bg;\n }\n}\n\n.has-success,\n.has-danger {\n &:after {\n font-family: 'Nucleo Outline';\n content: \"\\ea22\";\n display: inline-block;\n position: absolute;\n right: 35px;\n top: 12px;\n color: $success-color;\n font-size: 11px;\n }\n\n &.input-lg {\n &:after {\n font-size: 13px;\n top: 13px;\n }\n }\n}\n\n.has-danger {\n &:after {\n content: \"\\ea53\";\n color: $danger-color;\n }\n}\n\n@include input-sm-padding($padding-small-vertical, $padding-small-horizontal);\n@include input-lg-padding($padding-large-vertical, $padding-input-horizontal);\n@include input-base-padding($padding-small-vertical, $padding-small-horizontal);\n\n.form-group.form-group-no-border,\n.input-group.form-group-no-border {\n .form-control,\n .form-control + .input-group-addon {\n background-color: $opacity-gray-3;\n border: medium none;\n &:focus,\n &:active,\n &:active {\n border: medium none;\n background-color: $opacity-gray-5;\n }\n }\n\n .form-control {\n &:focus {\n & + .input-group-addon {\n background-color: $opacity-gray-5;\n }\n }\n }\n\n .input-group-addon {\n background-color: $opacity-gray-3;\n border: none;\n }\n}\n\n.has-error {\n .form-control-feedback, .control-label {\n color: $danger-color;\n }\n}\n\n.has-success {\n .form-control-feedback, .control-label {\n color: $success-color;\n }\n}\n\n.input-group-addon {\n background-color: $white-bg;\n border: 1px solid $light-gray;\n border-radius: $border-radius-extra-small;\n color: $dark-background;\n padding: $padding-base-vertical - 1 0 $padding-base-vertical - 1 $padding-base-horizontal - 1;\n\n @include transition-input-focus-color();\n\n .has-success &,\n .has-danger & {\n background-color: $white-color;\n }\n .has-danger .form-control:focus + & {\n color: $danger-color;\n }\n .has-success .form-control:focus + & {\n color: $success-color;\n }\n\n & + .form-control,\n & ~ .form-control {\n @include input-size($padding-base-vertical - 1, $padding-base-horizontal);\n padding-left: 18px;\n }\n}\n\n.input-group-focus {\n .input-group-addon {\n background-color: $white-bg;\n border-color: $primary-color;\n }\n\n &.form-group-no-border {\n .input-group-addon {\n background-color: $opacity-gray-5;\n }\n }\n}\n\n.input-group,\n.form-group {\n margin-bottom: 10px;\n}\n\n.input-group[disabled] {\n .input-group-addon {\n background-color: $light-gray;\n }\n}\n\n/*.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {\n border-right: 0 none;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child) {\n border-left: 0 none;\n}*/\n.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {\n background-color: $light-gray;\n color: $default-color;\n cursor: not-allowed;\n}\n\n.input-group-btn .btn {\n border-width: $border-thin;\n padding: $padding-btn-vertical $padding-base-horizontal;\n}\n\n.input-group-btn .btn-default:not(.btn-fill) {\n border-color: $medium-gray;\n}\n\n.input-group-btn:last-child > .btn {\n margin-left: 0;\n}\n\ntextarea.form-control {\n max-width: 100%;\n padding: 10px 10px;\n resize: none;\n background-color: $transparent-bg;\n border: 1px solid $medium-dark-gray;\n color: $black-color;\n line-height: 1em;\n font-size: $font-size-base;\n font-weight: 400;\n border-radius: 0;\n\n &:focus,\n &:active {\n @include box-shadow(none);\n border: 1px solid $brand-primary;\n background-color: $transparent-bg;\n }\n}\n\n.has-success,\n.has-danger {\n\n &.form-group .form-control,\n &.form-group.form-group-no-border .form-control {\n padding-right: $padding-input-horizontal + 21;\n }\n}\n","/*!\n\n =========================================================\n * Paper Dashboard - v1.1.2\n =========================================================\n\n * Product Page: http://www.creative-tim.com/product/paper-dashboard\n * Copyright 2017 Creative Tim (http://www.creative-tim.com)\n * Licensed under MIT (https://github.com/creativetimofficial/paper-dashboard/blob/master/LICENSE.md)\n\n =========================================================\n\n * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\n */\n\n\n@import \"paper/variables\";\n@import \"paper/mixins\";\n\n@import \"paper/typography\";\n\n// Core CSS\n@import \"paper/misc\";\n@import \"paper/sidebar-and-main-panel\";\n@import \"paper/badges\";\n@import \"paper/buttons\";\n@import \"paper/inputs\";\n\n@import \"paper/alerts\";\n@import \"paper/tables\";\n\n@import \"paper/checkbox-radio\";\n@import \"paper/navbars\";\n@import \"paper/footers\";\n\n@import \"paper/dropdown\";\n@import \"paper/cards\";\n@import \"paper/chartist\";\n@import \"paper/responsive\";\n@import \"paper/form-container\";\n\n$pe-7s-font-path: \"../../fonts\" !default;\n@import \"../../../node_modules/pe7-icon/dist/scss/pe-icon-7-stroke\";\n","// Scales for responsive SVG containers\n$ct-scales: ((1), (15/16), (8/9), (5/6), (4/5), (3/4), (2/3), (5/8), (1/1.618), (3/5), (9/16), (8/15), (1/2), (2/5), (3/8), (1/3), (1/4)) !default;\n$ct-scales-names: (ct-square, ct-minor-second, ct-major-second, ct-minor-third, ct-major-third, ct-perfect-fourth, ct-perfect-fifth, ct-minor-sixth, ct-golden-section, ct-major-sixth, ct-minor-seventh, ct-major-seventh, ct-octave, ct-major-tenth, ct-major-eleventh, ct-major-twelfth, ct-double-octave) !default;\n\n// Class names to be used when generating CSS\n$ct-class-chart: ct-chart !default;\n$ct-class-chart-line: ct-chart-line !default;\n$ct-class-chart-bar: ct-chart-bar !default;\n$ct-class-horizontal-bars: ct-horizontal-bars !default;\n$ct-class-chart-pie: ct-chart-pie !default;\n$ct-class-chart-donut: ct-chart-donut !default;\n$ct-class-label: ct-label !default;\n$ct-class-series: ct-series !default;\n$ct-class-line: ct-line !default;\n$ct-class-point: ct-point !default;\n$ct-class-area: ct-area !default;\n$ct-class-bar: ct-bar !default;\n$ct-class-slice-pie: ct-slice-pie !default;\n$ct-class-slice-donut: ct-slice-donut !default;\n$ct-class-grid: ct-grid !default;\n$ct-class-vertical: ct-vertical !default;\n$ct-class-horizontal: ct-horizontal !default;\n$ct-class-start: ct-start !default;\n$ct-class-end: ct-end !default;\n\n// Container ratio\n$ct-container-ratio: (1/1.618) !default;\n\n// Text styles for labels\n$ct-text-color: rgba(0, 0, 0, 0.4) !default;\n$ct-text-size: 0.9em !default;\n$ct-text-align: flex-start !default;\n$ct-text-justify: flex-start !default;\n$ct-text-line-height: 1;\n\n// Grid styles\n$ct-grid-color: rgba(0, 0, 0, 0.2) !default;\n$ct-grid-dasharray: 2px !default;\n$ct-grid-width: 1px !default;\n\n// Line chart properties\n$ct-line-width: 4px !default;\n$ct-line-dasharray: false !default;\n$ct-point-size: 10px !default;\n// Line chart point, can be either round or square\n$ct-point-shape: round !default;\n// Area fill transparency between 0 and 1\n$ct-area-opacity: 0.7 !default;\n\n// Bar chart bar width\n$ct-bar-width: 10px !default;\n\n// Donut width (If donut width is to big it can cause issues where the shape gets distorted)\n$ct-donut-width: 60px !default;\n\n// If set to true it will include the default classes and generate CSS output. If you're planning to use the mixins you\n// should set this property to false\n$ct-include-classes: true !default;\n\n// If this is set to true the CSS will contain colored series. You can extend or change the color with the\n// properties below\n$ct-include-colored-series: $ct-include-classes !default;\n\n// If set to true this will include all responsive container variations using the scales defined at the top of the script\n$ct-include-alternative-responsive-containers: $ct-include-classes !default;\n\n// Series names and colors. This can be extended or customized as desired. Just add more series and colors.\n$ct-series-names: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) !default;\n$ct-series-colors: (\n $info-color,\n $warning-color,\n $danger-color,\n $success-color,\n $primary-color,\n rgba($info-color,.8),\n rgba($success-color,.8),\n rgba($warning-color,.8),\n rgba($danger-color,.8),\n rgba($primary-color,.8),\n rgba($info-color,.6),\n rgba($success-color,.6),\n rgba($warning-color,.6),\n rgba($danger-color,.6),\n rgba($primary-color,.6)\n \n) !default;\n\n// Paper Kit Colors\n\n.ct-blue{\n stroke: $primary-color !important;\n}\n.ct-azure{\n stroke: $info-color !important;\n}\n.ct-green{\n stroke: $success-color !important;\n}\n.ct-orange{\n stroke: $warning-color !important;\n}\n.ct-red{\n stroke: $danger-color !important;\n}","h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p, .navbar, .brand, a, .td-name, td{\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n //font-family: 'Roboto', \"Helvetica\", Arial, sans-serif;\n font-family: \"Roboto\",\"Helvetica Neue\",Arial,sans-serif;\n}\n\nh1, .h1, h2, .h2, h3, .h3, h4, .h4{\n font-weight: $font-weight-normal;\n margin: $margin-large-vertical 0 $margin-base-vertical;\n}\n\nh1, .h1 {\n font-size: $font-size-h1;\n}\nh2, .h2{\n font-size: $font-size-h2;\n}\nh3, .h3{\n font-size: $font-size-h3;\n line-height: 1.4;\n font-weight: $font-weight-light;\n margin: 20px 0 10px;\n}\nh4, .h4{\n font-size: $font-size-h4;\n font-weight: $font-weight-light;\n line-height: 1.2em;\n}\nh5, .h5 {\n font-size: $font-size-h5;\n font-weight: $font-weight-light;\n line-height: 1.4em;\n margin-bottom: 15px;\n}\nh6, .h6{\n font-size: $font-size-h6;\n font-weight: $font-weight-light;\n text-transform: uppercase;\n}\np{\n font-size: $font-paragraph;\n line-height: $line-height-general;\n}\n\nh1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small {\n color: $dark-gray;\n font-weight: $font-weight-light;\n line-height: $line-height-general;\n}\n\nh1 small, h2 small, h3 small, h1 .small, h2 .small, h3 .small {\n font-size: 60%;\n}\n.title-uppercase{\n text-transform: uppercase;\n}\nblockquote{\n font-style: italic;\n}\nblockquote small{\n font-style: normal;\n}\n.text-muted{\n color: $medium-gray;\n}\n.text-primary, .text-primary:hover{\n color: $primary-states-color;\n}\n.text-info, .text-info:hover{\n color: $info-states-color;\n}\n.text-success, .text-success:hover{\n color: $success-states-color;\n}\n.text-warning, .text-warning:hover{\n color: $warning-states-color;\n}\n.text-danger, .text-danger:hover{\n color: $danger-states-color;\n}\n.glyphicon{\n line-height: 1;\n}\nstrong{\n color: $default-states-color;\n}\n.icon-primary{\n color: $primary-color;\n}\n.icon-info{\n color: $info-color;\n}\n.icon-success{\n color: $success-color;\n}\n.icon-warning{\n color: $warning-color;\n}\n.icon-danger{\n color: $danger-color;\n}\n.chart-legend{\n .text-primary, .text-primary:hover{\n color: $primary-color;\n }\n .text-info, .text-info:hover{\n color: $info-color;\n }\n .text-success, .text-success:hover{\n color: $success-color;\n }\n .text-warning, .text-warning:hover{\n color: $warning-color;\n }\n .text-danger, .text-danger:hover{\n color: $danger-color;\n }\n}\n\n.description,\n.card-description,\n.footer-big p {\n color: $dark-gray;\n font-weight: $font-weight-light;\n}\n","$phpvms-blue: #067ec1 !default;\n\n$font-color: #4b4743 !default;\n$fill-font-color: rgba(182, 182, 182, 0.7);\n\n$none: 0 !default;\n$border-thin: 1px !default;\n$border-thick: 2px !default;\n\n$white-color: #FFFFFF !default;\n$white-bg: #FFFFFF !default;\n\n$smoke-bg: #F5F5F5 !default;\n$pale-bg: #FFFCF5 !default;\n$medium-pale-bg: #F1EAE0 !default;\n\n$table-line-color: #CCC5B9 !default;\n$muted-color: #a49e93 !default;\n\n$black-bg: rgba(30,30,30,.97) !default;\n$transparent-bg: transparent !default;\n$dark-background: #555555 !default;\n\n$black-color: #333333 !default;\n$black-hr: #444444 !default;\n\n$white-background-color: #FFFFFF !default;\n$black-background-color: #212120 !default;\n//$black-background-color: #1a2932 !default;\n//$black-background-color: #0c1419 !default;\n\n\n$light-gray: #E3E3E3 !default;\n$medium-gray: #DDDDDD !default;\n$dark-gray: #9A9A9A !default;\n\n$gray-input-bg: #fffcf5 !default;\n$danger-input-bg: #fffcf5 !default;\n$success-input-bg: #fffcf5 !default;\n$other-medium-gray: #A49E93 !default;\n$transparent-bg: transparent !default;\n\n$black-color: #2c2c2c !default;\n//$default-color: #2f2d2a !default; //#66615B !default;\n$default-color: #2c2c2c !default; //#66615B !default;\n//$default-bg: #66615B !default;\n$default-bg: #FFFFFF !default;\n$default-states-color: #403D39 !default;\n\n//$primary-color: #7A9E9F !default;\n$primary-color: #067ec1 !default;\n$primary-bg: darken($primary-color, 5%) !default;\n$primary-states-color: #427C89 !default;\n\n//$success-color: #7AC29A !default;\n$success-color: #18ce0f !default;\n$success-bg: darken($success-color, 5%) !default;\n$success-states-color: darken($success-color, 5%) !default;\n\n$info-color: #067ec1 !default; //#2CA8FF !default;\n$info-states-color: #0688d0 !default; // #109CFF !default;\n$info-color-opacity: rgba(44, 168, 255, .3) !default;\n$info-color-alert: rgba(44, 168, 255, .8) !default;\n\n$warning-color: #FFB236 !default;\n$warning-states-color: darken($warning-color, 5%) !default;\n$warning-color-opacity: rgba(255, 178, 54, .3) !default;\n$warning-color-alert: rgba(255, 178, 54, .8) !default;\n\n$danger-color: #FF3636 !default;\n$danger-states-color: darken($danger-color, 5%) !default;\n$danger-color-opacity: rgba(255, 54, 54, .3) !default;\n$danger-color-alert: rgba(255, 54, 54, .8) !default;\n\n/* brand Colors */\n$brand-primary: #067ec1 !default;\n$brand-info: $info-color !default;\n$brand-success: $success-color !default;\n$brand-warning: $warning-color !default;\n$brand-danger: $danger-color !default;\n$brand-inverse: $black-color !default;\n\n/*\n$default-color: #B8B8B8 !default;\n$default-states-color: darken($default-color, 5%) !default;\n$default-color-opacity: rgba(182, 182, 182, .6) !default;\n\n$primary-color: #f96332 !default;\n$primary-states-color: darken($primary-color, 5%) !default;\n$primary-color-opacity: rgba(249, 99, 50, .3) !default;\n$primary-color-alert: rgba(249, 99, 50, .8) !default;\n\n$success-color: #18ce0f !default;\n$success-states-color: darken($success-color, 5%) !default;\n$success-color-opacity: rgba(24, 206, 15, .3) !default;\n$success-color-alert: rgba(24, 206, 15, .8) !default;\n\n$info-color: #2CA8FF !default;\n$info-states-color: #109CFF !default;\n$info-color-opacity: rgba(44, 168, 255, .3) !default;\n$info-color-alert: rgba(44, 168, 255, .8) !default;\n\n$warning-color: #FFB236 !default;\n$warning-states-color: darken($warning-color, 5%) !default;\n$warning-color-opacity: rgba(255, 178, 54, .3) !default;\n$warning-color-alert: rgba(255, 178, 54, .8) !default;\n\n$danger-color: #FF3636 !default;\n$danger-states-color: darken($danger-color, 5%) !default;\n$danger-color-opacity: rgba(255, 54, 54, .3) !default;\n$danger-color-alert: rgba(255, 54, 54, .8) !default;\n*/\n\n$link-disabled-color: #666666 !default;\n\n\n/* light colors - used for select dropdown */\n\n$light-blue: rgba($primary-color, .2);\n$light-azure: rgba($info-color, .2);\n$light-green: rgba($success-color, .2);\n$light-orange: rgba($warning-color, .2);\n$light-red: rgba($danger-color, .2);\n\n\n//== Components\n//\n$padding-input-vertical: 11px !default;\n$padding-input-horizontal: 19px !default;\n\n$padding-btn-vertical: 11px !default;\n$padding-btn-horizontal: 22px !default;\n\n$padding-base-vertical: 7px !default;\n$padding-base-horizontal: 18px !default;\n\n$padding-round-vertical: 9px !default;\n$padding-round-horizontal: 18px !default;\n\n$padding-simple-vertical: 10px !default;\n$padding-simple-horizontal: 18px !default;\n\n$padding-large-vertical: 11px !default;\n$padding-large-horizontal: 30px !default;\n\n$padding-small-vertical: 4px !default;\n$padding-small-horizontal: 10px !default;\n\n$padding-xs-vertical: 2px !default;\n$padding-xs-horizontal: 5px !default;\n\n$padding-label-vertical: 2px !default;\n$padding-label-horizontal: 12px !default;\n\n// padding for links inside dropdown menu\n$padding-dropdown-vertical: 10px !default;\n$padding-dropdown-horizontal: 15px !default;\n\n$margin-large-vertical: 30px !default;\n$margin-base-vertical: 15px !default;\n\n// border radius for buttons\n$border-radius-btn-small: 26px !default;\n$border-radius-btn-base: 20px !default;\n$border-radius-btn-large: 50px !default;\n\n\n// Cristina: am schimbat aici si s-au modificat inputurile\n$margin-bottom: 0 0 10px 0 !default;\n$border: 1px solid !default;\n$border-radius-extra-small: 0.125rem !default;\n$border-radius-tiny: 0.1875rem !default;\n$border-radius-small: 0.1875px !default;\n$border-radius-base: 2px !default;\n$border-radius-large: 3px !default;\n$border-radius-extreme: 6px !default;\n\n$border-radius-large-top: $border-radius-large $border-radius-large 0 0 !default;\n$border-radius-large-bottom: 0 0 $border-radius-large $border-radius-large !default;\n\n$btn-round-radius: 30px !default;\n\n$height-base: 40px !default;\n\n$btn-icon-font-size: 24px !default;\n$btn-icon-size: 56px !default;\n$btn-icon-size-mini: 36px !default;\n$btn-icon-font-size-mini: 14px !default;\n\n/*$font-size-base: 14px !default;\n$font-size-xs: 12px !default;\n$font-size-small: 12px !default;\n$font-size-medium: 16px !default;\n$font-size-large: 18px !default;\n$font-size-large-navbar: 20px !default;*/\n\n$font-paragraph: 1em !default;\n$font-size-navbar: 1em !default;\n$font-size-mini: 0.7142em !default;\n$font-size-xs: 0.7142em !default;\n$font-size-small: 0.8571em !default;\n$font-size-base: 14px !default;\n$font-size-medium: 14px !default;\n$font-size-large: 1em !default;\n$font-size-large-navbar: 20px !default;\n$font-size-blockquote: 1.1em !default; // ~ 15px\n\n$font-size-h1: 3.2em !default;\n$font-size-h2: 2.6em !default;\n$font-size-h3: 1.825em !default;\n$font-size-h4: 1.5em !default;\n$font-size-h5: 1.25em !default;\n$font-size-h6: 0.9em !default;\n$font-paragraph: 16px !default;\n$font-size-navbar: 16px !default;\n$font-size-small: 12px !default;\n$font-size-mini: 0.7142em !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-semi: 500 !default;\n$font-weight-bold: 600 !default;\n\n$line-height-small: 20px !default;\n$line-height-general: 1.4em !default;\n$line-height: 36px !default;\n$line-height-lg: 54px !default;\n\n\n$border-radius-top: 10px 10px 0 0 !default;\n$border-radius-bottom: 0 0 10px 10px !default;\n\n$dropdown-shadow: 0 2px rgba(17, 16, 15, 0.1), 0 2px 10px rgba(17, 16, 15, 0.1);\n\n$general-transition-time: 300ms !default;\n\n$slow-transition-time: 300ms !default;\n$dropdown-coordinates: 29px -50px !default;\n\n$fast-transition-time: 150ms !default;\n$select-coordinates: 50% -40px !default;\n\n$transition-linear: linear !default;\n$transition-bezier: cubic-bezier(0.34, 1.61, 0.7, 1) !default;\n$transition-ease: ease 0s;\n\n$navbar-padding-a: 10px 15px;\n$navbar-margin-a: 15px 0px;\n\n$padding-social-a: 10px 5px;\n\n$navbar-margin-a-btn: 15px 3px;\n$navbar-margin-a-btn-round: 16px 3px;\n\n\n$navbar-padding-brand: 20px 15px;\n$navbar-margin-brand: 5px 0px;\n\n$navbar-margin-brand-icons: 12px auto;\n\n$navbar-margin-btn: 15px 3px;\n\n$height-icon:\t\t\t\t\t 64px !default;\n$width-icon:\t\t\t\t\t 64px !default;\n$padding-icon:\t\t\t\t\t 12px !default;\n$border-radius-icon:\t\t 15px !default;\n\n\n$white-navbar: rgba(#FFFFFF, .96);\n$blue-navbar: rgba(#34ACDC, .98);\n$azure-navbar: rgba(#5BCAFF, .98);\n$green-navbar: rgba(#4CD964, .98);\n$orange-navbar: rgba(#FF9500, .98);\n$red-navbar: rgba(#FF4C40, .98);\n\n$bg-nude: #ebeff2 !default;\n$bg-primary: #8ECFD5 !default;\n$bg-info: #7CE4FE !default;\n$bg-success: #8EF3C5 !default;\n$bg-warning: #FFE28C !default;\n$bg-danger: #FF4C40 !default;\n\n$topbar-x: topbar-x !default;\n$topbar-back: topbar-back !default;\n$bottombar-x: bottombar-x !default;\n$bottombar-back: bottombar-back !default;\n\n$transition-linear: linear !default;\n$transition-bezier: cubic-bezier(0.34, 1.61, 0.7, 1) !default;\n$transition-ease: ease 0s;\n$transition-ease-in: ease-in !default;\n$transition-ease-out: ease-out !default;\n\n$general-transition-time: 300ms !default;\n\n$slow-transition-time: 370ms !default;\n$dropdown-coordinates: 29px -50px !default;\n\n$fast-transition-time: 150ms !default;\n\n$ultra-fast-transition-time: 100ms !default;\n\n$select-coordinates: 50% -40px !default;\n\n$padding-zero: 0px !default;\n\n$sidebar-width: calc(100% - 260px) !default;\n$medium-dark-gray: #AAAAAA !default;\n\n$light-gray: #E3E3E3 !default;\n$medium-gray: #DDDDDD !default;\n$dark-gray: #9A9A9A !default;\n\n$opacity-gray-3: rgba(222, 222, 222, .3) !default;\n$opacity-gray-5: rgba(222, 222, 222, .5) !default;\n\n$opacity-5: rgba(255, 255, 255, .5) !default;\n$opacity-8: rgba(255, 255, 255, .8) !default;\n\n//variables used in cards\n$card-black-color: #2c2c2c !default;\n$card-muted-color: #ccc5b9 !default;\n\n//variables used for sidebar\n$sidebar-background-dark-blue: #506367;\n\n$sidebar-background-blue: #b8d8d8 !default;\n$sidebar-font-blue: #506568 !default;\n$sidebar-subtitle-blue: #7a9e9f !default;\n\n$sidebar-background-green: #d5e5a3 !default;\n$sidebar-font-green: #60773d !default;\n$sidebar-subtitle-green: #92ac56 !default;\n\n$sidebar-background-yellow: #ffe28c !default;\n$sidebar-font-yellow: #b25825 !default;\n$sidebar-subtitle-yellow: #d88715 !default;\n\n$sidebar-background-brown: #d6c1ab !default;\n$sidebar-font-brown: #75442e !default;\n$sidebar-subtitle-brown: #a47e65 !default;\n\n$sidebar-background-purple: #baa9ba !default;\n$sidebar-font-purple: #3a283d !default;\n$sidebar-subtitle-purple: #5a283d !default;\n\n$sidebar-background-orange: #ff8f5e !default;\n$sidebar-font-orange: #772510 !default;\n$sidebar-subtitle-orange: #e95e37 !default;\n","/* General overwrite */\nbody{\n color: $font-color;\n font-size: $font-size-base;\n font-family: 'Muli', Arial, sans-serif;\n .wrapper{\n min-height: 100vh;\n position: relative;\n }\n}\na{\n color: $info-color;\n\n &:hover, &:focus{\n color: $info-states-color;\n text-decoration: none;\n }\n}\n\na:focus, a:active,\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner,\nselect::-moz-focus-inner,\ninput[type=\"file\"] > input[type=\"button\"]::-moz-focus-inner{\n outline:0 !important;\n}\n.ui-slider-handle:focus,\n.navbar-toggle,\ninput:focus,\nbutton:focus {\n outline : 0 !important;\n -webkit-box-shadow: inset 0 -2px 0 #2196f3;\n box-shadow: inset 0 -2px 0 #2196f3;\n}\n\n/* Animations */\n.form-control,\n.input-group-addon,\n.tagsinput,\n.navbar,\n.navbar .alert{\n @include transition($general-transition-time, $transition-linear);\n}\n\n.sidebar .nav a,\n.table > tbody > tr .td-actions .btn{\n @include transition($fast-transition-time, $transition-ease-in);\n}\n\n.btn{\n @include transition($ultra-fast-transition-time, $transition-ease-in);\n}\n.fa{\n width: 21px;\n text-align: center;\n}\n.fa-base{\n font-size: 1.25em !important;\n}\n\n.margin-top{\n margin-top: 50px;\n}\nhr{\n border-color: $medium-pale-bg;\n}\n.wrapper{\n position: relative;\n top: 0;\n height: 100vh;\n}\n","// User select\n// For selecting text on the page\n\n@mixin box-shadow($shadow...) {\n -webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1\n box-shadow: $shadow;\n}\n\n@mixin transition-input-focus-color() {\n -webkit-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;\n -moz-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;\n -o-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;\n -ms-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;\n transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;\n}\n\n@mixin transition($time, $type) {\n -webkit-transition: all $time $type;\n -moz-transition: all $time $type;\n -o-transition: all $time $type;\n -ms-transition: all $time $type;\n transition: all $time $type;\n}\n\n@mixin rotate-180() {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n@mixin transform-translate-x($value) {\n -webkit-transform: translate3d($value, 0, 0);\n -moz-transform: translate3d($value, 0, 0);\n -o-transform: translate3d($value, 0, 0);\n -ms-transform: translate3d($value, 0, 0);\n transform: translate3d($value, 0, 0);\n}\n\n@mixin transform-translate-y($value) {\n -webkit-transform: translate3d(0, $value, 0);\n -moz-transform: translate3d(0, $value, 0);\n -o-transform: translate3d(0, $value, 0);\n -ms-transform: translate3d(0, $value, 0);\n transform: translate3d(0, $value, 0);\n}\n\n@mixin bar-animation($type) {\n -webkit-animation: $type 500ms linear 0s;\n -moz-animation: $type 500ms linear 0s;\n animation: $type 500ms 0s;\n -webkit-animation-fill-mode: forwards;\n -moz-animation-fill-mode: forwards;\n animation-fill-mode: forwards;\n}\n\n@mixin topbar-x-rotation() {\n @keyframes topbar-x {\n 0% {\n top: 0px;\n transform: rotate(0deg);\n }\n 45% {\n top: 6px;\n transform: rotate(145deg);\n }\n 75% {\n transform: rotate(130deg);\n }\n 100% {\n transform: rotate(135deg);\n }\n }\n @-webkit-keyframes topbar-x {\n 0% {\n top: 0px;\n -webkit-transform: rotate(0deg);\n }\n 45% {\n top: 6px;\n -webkit-transform: rotate(145deg);\n }\n 75% {\n -webkit-transform: rotate(130deg);\n }\n 100% {\n -webkit-transform: rotate(135deg);\n }\n }\n @-moz-keyframes topbar-x {\n 0% {\n top: 0px;\n -moz-transform: rotate(0deg);\n }\n 45% {\n top: 6px;\n -moz-transform: rotate(145deg);\n }\n 75% {\n -moz-transform: rotate(130deg);\n }\n 100% {\n -moz-transform: rotate(135deg);\n }\n }\n}\n\n@mixin topbar-back-rotation() {\n @keyframes topbar-back {\n 0% {\n top: 6px;\n transform: rotate(135deg);\n }\n 45% {\n transform: rotate(-10deg);\n }\n 75% {\n transform: rotate(5deg);\n }\n 100% {\n top: 0px;\n transform: rotate(0);\n }\n }\n\n @-webkit-keyframes topbar-back {\n 0% {\n top: 6px;\n -webkit-transform: rotate(135deg);\n }\n 45% {\n -webkit-transform: rotate(-10deg);\n }\n 75% {\n -webkit-transform: rotate(5deg);\n }\n 100% {\n top: 0px;\n -webkit-transform: rotate(0);\n }\n }\n\n @-moz-keyframes topbar-back {\n 0% {\n top: 6px;\n -moz-transform: rotate(135deg);\n }\n 45% {\n -moz-transform: rotate(-10deg);\n }\n 75% {\n -moz-transform: rotate(5deg);\n }\n 100% {\n top: 0px;\n -moz-transform: rotate(0);\n }\n }\n}\n\n@mixin bottombar-x-rotation() {\n @keyframes bottombar-x {\n 0% {\n bottom: 0px;\n transform: rotate(0deg);\n }\n 45% {\n bottom: 6px;\n transform: rotate(-145deg);\n }\n 75% {\n transform: rotate(-130deg);\n }\n 100% {\n transform: rotate(-135deg);\n }\n }\n @-webkit-keyframes bottombar-x {\n 0% {\n bottom: 0px;\n -webkit-transform: rotate(0deg);\n }\n 45% {\n bottom: 6px;\n -webkit-transform: rotate(-145deg);\n }\n 75% {\n -webkit-transform: rotate(-130deg);\n }\n 100% {\n -webkit-transform: rotate(-135deg);\n }\n }\n @-moz-keyframes bottombar-x {\n 0% {\n bottom: 0px;\n -moz-transform: rotate(0deg);\n }\n 45% {\n bottom: 6px;\n -moz-transform: rotate(-145deg);\n }\n 75% {\n -moz-transform: rotate(-130deg);\n }\n 100% {\n -moz-transform: rotate(-135deg);\n }\n }\n}\n\n@mixin bottombar-back-rotation {\n @keyframes bottombar-back {\n 0% {\n bottom: 6px;\n transform: rotate(-135deg);\n }\n 45% {\n transform: rotate(10deg);\n }\n 75% {\n transform: rotate(-5deg);\n }\n 100% {\n bottom: 0px;\n transform: rotate(0);\n }\n }\n @-webkit-keyframes bottombar-back {\n 0% {\n bottom: 6px;\n -webkit-transform: rotate(-135deg);\n }\n 45% {\n -webkit-transform: rotate(10deg);\n }\n 75% {\n -webkit-transform: rotate(-5deg);\n }\n 100% {\n bottom: 0px;\n -webkit-transform: rotate(0);\n }\n }\n @-moz-keyframes bottombar-back {\n 0% {\n bottom: 6px;\n -moz-transform: rotate(-135deg);\n }\n 45% {\n -moz-transform: rotate(10deg);\n }\n 75% {\n -moz-transform: rotate(-5deg);\n }\n 100% {\n bottom: 0px;\n -moz-transform: rotate(0);\n }\n }\n\n}\n\n@mixin nc-rotate($degrees, $rotation) {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});\n -webkit-transform: rotate($degrees);\n -moz-transform: rotate($degrees);\n -ms-transform: rotate($degrees);\n -o-transform: rotate($degrees);\n transform: rotate($degrees);\n}\n\n@mixin nc-flip($horiz, $vert, $rotation) {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});\n -webkit-transform: scale($horiz, $vert);\n -moz-transform: scale($horiz, $vert);\n -ms-transform: scale($horiz, $vert);\n -o-transform: scale($horiz, $vert);\n transform: scale($horiz, $vert);\n}\n\n\n@mixin user-select($select) {\n -webkit-user-select: $select;\n -moz-user-select: $select;\n -ms-user-select: $select; // IE10+\n user-select: $select;\n}\n\n@mixin box-shadow($shadow...) {\n -webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1\n box-shadow: $shadow;\n}\n\n// Box sizing\n@mixin box-sizing($boxmodel) {\n -webkit-box-sizing: $boxmodel;\n -moz-box-sizing: $boxmodel;\n box-sizing: $boxmodel;\n}\n\n\n@mixin transition($time, $type){\n -webkit-transition: all $time $type;\n -moz-transition: all $time $type;\n -o-transition: all $time $type;\n -ms-transition: all $time $type;\n transition: all $time $type;\n}\n\n@mixin transition-none(){\n -webkit-transition: none;\n -moz-transition: none;\n -o-transition: none;\n -ms-transition: none;\n transition: none;\n}\n\n@mixin transform-scale($value){\n -webkit-transform: scale($value);\n -moz-transform: scale($value);\n -o-transform: scale($value);\n -ms-transform: scale($value);\n transform: scale($value);\n}\n\n@mixin transform-translate-x($value){\n -webkit-transform: translate3d($value, 0, 0);\n -moz-transform: translate3d($value, 0, 0);\n -o-transform: translate3d($value, 0, 0);\n -ms-transform: translate3d($value, 0, 0);\n transform: translate3d($value, 0, 0);\n}\n\n@mixin transform-origin($coordinates){\n -webkit-transform-origin: $coordinates;\n -moz-transform-origin: $coordinates;\n -o-transform-origin: $coordinates;\n -ms-transform-origin: $coordinates;\n transform-origin: $coordinates;\n}\n\n@mixin icon-gradient ($top-color, $bottom-color){\n background: $top-color;\n background: -moz-linear-gradient(top, $top-color 0%, $bottom-color 100%);\n background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,$top-color), color-stop(100%,$bottom-color));\n background: -webkit-linear-gradient(top, $top-color 0%,$bottom-color 100%);\n background: -o-linear-gradient(top, $top-color 0%,$bottom-color 100%);\n background: -ms-linear-gradient(top, $top-color 0%,$bottom-color 100%);\n background: linear-gradient(to bottom, $top-color 0%,$bottom-color 100%);\n background-size: 150% 150%;\n}\n\n@mixin radial-gradient($extern-color, $center-color){\n background: $extern-color;\n background: -moz-radial-gradient(center, ellipse cover, $center-color 0%, $extern-color 100%); /* FF3.6+ */\n background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,$center-color), color-stop(100%,$extern-color)); /* Chrome,Safari4+ */\n background: -webkit-radial-gradient(center, ellipse cover, $center-color 0%,$extern-color 100%); /* Chrome10+,Safari5.1+ */\n background: -o-radial-gradient(center, ellipse cover, $center-color 0%,$extern-color 100%); /* Opera 12+ */\n background: -ms-radial-gradient(center, ellipse cover, $center-color 0%,$extern-color 100%); /* IE10+ */\n background: radial-gradient(ellipse at center, $center-color 0%,$extern-color 100%); /* W3C */\n background-size: 550% 450%;\n}\n\n@mixin vertical-align {\n position: relative;\n top: 50%;\n -webkit-transform: translateY(-50%);\n -ms-transform: translateY(-50%);\n transform: translateY(-50%);\n}\n\n@mixin rotate-180(){\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n@mixin bar-animation($type){\n -webkit-animation: $type 500ms linear 0s;\n -moz-animation: $type 500ms linear 0s;\n animation: $type 500ms 0s;\n -webkit-animation-fill-mode: forwards;\n -moz-animation-fill-mode: forwards;\n animation-fill-mode: forwards;\n}\n\n@mixin topbar-x-rotation(){\n @keyframes topbar-x {\n 0% {top: 0px; transform: rotate(0deg); }\n 45% {top: 6px; transform: rotate(145deg); }\n 75% {transform: rotate(130deg); }\n 100% {transform: rotate(135deg); }\n }\n @-webkit-keyframes topbar-x {\n 0% {top: 0px; -webkit-transform: rotate(0deg); }\n 45% {top: 6px; -webkit-transform: rotate(145deg); }\n 75% {-webkit-transform: rotate(130deg); }\n 100% { -webkit-transform: rotate(135deg); }\n }\n @-moz-keyframes topbar-x {\n 0% {top: 0px; -moz-transform: rotate(0deg); }\n 45% {top: 6px; -moz-transform: rotate(145deg); }\n 75% {-moz-transform: rotate(130deg); }\n 100% { -moz-transform: rotate(135deg); }\n }\n}\n\n@mixin topbar-back-rotation(){\n @keyframes topbar-back {\n 0% { top: 6px; transform: rotate(135deg); }\n 45% { transform: rotate(-10deg); }\n 75% { transform: rotate(5deg); }\n 100% { top: 0px; transform: rotate(0); }\n }\n\n @-webkit-keyframes topbar-back {\n 0% { top: 6px; -webkit-transform: rotate(135deg); }\n 45% { -webkit-transform: rotate(-10deg); }\n 75% { -webkit-transform: rotate(5deg); }\n 100% { top: 0px; -webkit-transform: rotate(0); }\n }\n\n @-moz-keyframes topbar-back {\n 0% { top: 6px; -moz-transform: rotate(135deg); }\n 45% { -moz-transform: rotate(-10deg); }\n 75% { -moz-transform: rotate(5deg); }\n 100% { top: 0px; -moz-transform: rotate(0); }\n }\n}\n\n@mixin bottombar-x-rotation(){\n @keyframes bottombar-x {\n 0% {bottom: 0px; transform: rotate(0deg);}\n 45% {bottom: 6px; transform: rotate(-145deg);}\n 75% {transform: rotate(-130deg);}\n 100% {transform: rotate(-135deg);}\n }\n @-webkit-keyframes bottombar-x {\n 0% {bottom: 0px; -webkit-transform: rotate(0deg);}\n 45% {bottom: 6px; -webkit-transform: rotate(-145deg);}\n 75% {-webkit-transform: rotate(-130deg);}\n 100% {-webkit-transform: rotate(-135deg);}\n }\n @-moz-keyframes bottombar-x {\n 0% {bottom: 0px; -moz-transform: rotate(0deg);}\n 45% {bottom: 6px; -moz-transform: rotate(-145deg);}\n 75% {-moz-transform: rotate(-130deg);}\n 100% {-moz-transform: rotate(-135deg);}\n }\n}\n\n@mixin bottombar-back-rotation{\n @keyframes bottombar-back {\n 0% { bottom: 6px;transform: rotate(-135deg);}\n 45% { transform: rotate(10deg);}\n 75% { transform: rotate(-5deg);}\n 100% { bottom: 0px;transform: rotate(0);}\n }\n @-webkit-keyframes bottombar-back {\n 0% {bottom: 6px;-webkit-transform: rotate(-135deg);}\n 45% {-webkit-transform: rotate(10deg);}\n 75% {-webkit-transform: rotate(-5deg);}\n 100% {bottom: 0px;-webkit-transform: rotate(0);}\n }\n @-moz-keyframes bottombar-back {\n 0% {bottom: 6px;-moz-transform: rotate(-135deg);}\n 45% {-moz-transform: rotate(10deg);}\n 75% {-moz-transform: rotate(-5deg);}\n 100% {bottom: 0px;-moz-transform: rotate(0);}\n }\n\n}\n\n\n",".sidebar{\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n background-size: cover;\n background-position: center center;\n color: $card-black-color;\n .sidebar-wrapper{\n position: relative;\n max-height: none;\n min-height: 100%;\n overflow: hidden;\n width: 260px;\n z-index: 4;\n box-shadow: inset -1px 0px 0px 0px $medium-gray;\n }\n .sidebar-background{\n position: absolute;\n z-index: 1;\n height: 100%;\n width: 100%;\n display: block;\n top: 0;\n left: 0;\n background-size: cover;\n background-position: center center;\n }\n\n}\n.sidebar,\n.off-canvas-sidebar{\n width: 260px;\n display: block;\n font-weight: 200;\n\n .logo{\n padding: 18px 0px;\n margin: 0 20px;\n\n p{\n float: left;\n font-size: 20px;\n margin: 10px 10px;\n line-height: 20px;\n }\n\n .simple-text{\n text-transform: uppercase;\n padding: $padding-small-vertical $padding-zero;\n display: block;\n font-size: $font-size-large;\n text-align: center;\n font-weight: $font-weight-normal;\n line-height: 30px;\n }\n }\n\n .nav{\n margin-top: 20px;\n\n li{\n > a{\n //margin: 10px 0px;\n padding-left: 25px;\n padding-right: 25px;\n\n opacity: .7;\n }\n\n &:hover > a{\n opacity: 1;\n }\n\n &.active > a{\n color: $primary-color;\n opacity: 1;\n\n &:before{\n border-right: 17px solid $medium-gray;\n border-top: 17px solid transparent;\n border-bottom: 17px solid transparent;\n content: \"\";\n display: inline-block;\n position: absolute;\n right: 0;\n top: 8px;\n }\n\n &:after{\n border-right: 17px solid $bg-nude;\n border-top: 17px solid transparent;\n border-bottom: 17px solid transparent;\n content: \"\";\n display: inline-block;\n position: absolute;\n right: -1px;\n top: 8px;\n }\n }\n\n h5 {\n -webkit-font-smoothing: antialiased;\n font-family: Roboto, 'Helvetica Neue', Arial, sans-serif;\n padding-left: 30px;\n }\n\n > a.menu {\n padding: 0px;\n padding-top: 10px;\n }\n\n ul {\n margin-top: 0px;\n }\n }\n\n p{\n margin: 0;\n line-height: 30px;\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n }\n\n i{\n font-size: 24px;\n float: left;\n margin-right: 15px;\n line-height: 30px;\n width: 30px;\n text-align: center;\n }\n }\n\n &:after,\n &:before{\n display: block;\n content: \"\";\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n z-index: 2;\n background: $white-background-color;\n }\n\n &,\n &[data-background-color=\"white\"]{\n @include sidebar-background-color($white-background-color, $default-color);\n }\n &[data-background-color=\"black\"]{\n @include sidebar-background-color($black-background-color, $white-color);\n }\n\n &[data-active-color=\"primary\"]{\n @include sidebar-active-color($default-color);\n }\n &[data-active-color=\"info\"]{\n @include sidebar-active-color($info-color);\n }\n &[data-active-color=\"success\"]{\n @include sidebar-active-color($success-color);\n }\n &[data-active-color=\"warning\"]{\n @include sidebar-active-color($warning-color);\n }\n &[data-active-color=\"danger\"]{\n @include sidebar-active-color($danger-color);\n }\n\n}\n\n.main-panel{\n background-color: $bg-nude;\n //background-color: $white-navbar;\n position: relative;\n z-index: 2;\n float: right;\n width: $sidebar-width;\n min-height: 100%;\n\n > .content{\n //padding: 30px 15px;\n padding: 0 2px;\n min-height: calc(100% - 123px);\n }\n\n > .footer{\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n }\n\n .navbar{\n margin-bottom: 0;\n }\n}\n\n.sidebar,\n.main-panel{\n overflow: auto;\n max-height: 100%;\n height: 100%;\n -webkit-transition-property: top,bottom;\n transition-property: top,bottom;\n -webkit-transition-duration: .2s,.2s;\n transition-duration: .2s,.2s;\n -webkit-transition-timing-function: linear,linear;\n transition-timing-function: linear,linear;\n -webkit-overflow-scrolling: touch;\n}\n","@mixin sidebar-background-color($background-color, $font-color){\n &:after,\n &:before{\n\t background-color: $background-color;\n\t}\n\n .logo{\n border-bottom: 1px solid rgba($font-color,.3);\n\n p{\n color: $font-color;\n }\n\n .simple-text{\n color: $font-color;\n }\n }\n\n .nav{\n li:not(.active){\n > a{\n color: $font-color;\n }\n }\n .divider{\n background-color: rgba($font-color,.2);\n }\n\n }\n\n}\n\n@mixin sidebar-active-color($font-color){\n .nav{\n li{\n &.active > a{\n color: $font-color;\n opacity: 1;\n }\n }\n }\n}\n","/* badges */\n.badge {\n border-radius: 8px;\n padding: 4px 8px;\n text-transform: uppercase;\n font-size: $font-size-mini;\n line-height: 12px;\n background-color: $transparent-bg;\n border: $border;\n margin-bottom: 5px;\n border-radius: $border-radius-extreme;\n}\n\n.badge-icon {\n padding: 0.4em 0.55em;\n i {\n font-size: 0.8em;\n }\n}\n\n.badge-default {\n @include badge-color($default-color);\n}\n\n.badge-primary {\n @include badge-color($primary-color);\n}\n\n.badge-info {\n @include badge-color($info-color);\n}\n\n.badge-success {\n @include badge-color($success-color);\n}\n\n.badge-warning {\n @include badge-color($warning-color);\n}\n\n.badge-danger {\n @include badge-color($danger-color);\n}\n\n.badge-neutral {\n @include badge-color($white-color);\n}\n","@mixin badge-color($color) {\n border-color: $color;\n color: $color;\n}\n",".btn,\n.navbar .navbar-nav > li > a.btn{\n //border-radius: $border-radius-btn-base;\n box-sizing: border-box;\n //border-width: $border-thick;\n background-color: $transparent-bg;\n font-size: $font-size-base;\n font-weight: $font-weight-semi;\n\n margin-top: 5px;\n padding: $padding-small-vertical $padding-base-horizontal;\n\n @include btn-styles($default-color, $default-states-color);\n @include transition($fast-transition-time, linear);\n\n &:hover,\n &:focus{\n outline: 0 !important;\n }\n &:active,\n &.active,\n .open > &.dropdown-toggle {\n @include box-shadow(none);\n outline: 0 !important;\n }\n\n &.btn-icon{\n padding: $padding-base-vertical;\n }\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group{\n margin-left: -2px;\n}\n\n// Apply the mixin to the buttons\n//.btn-default { @include btn-styles($default-color, $default-states-color); }\n.navbar .navbar-nav > li > a.btn-primary, .btn-primary { @include btn-styles($primary-color, $primary-states-color); }\n.navbar .navbar-nav > li > a.btn-success, .btn-success { @include btn-styles($success-color, $success-states-color); }\n.navbar .navbar-nav > li > a.btn-info, .btn-info { @include btn-styles($info-color, $info-states-color); }\n.navbar .navbar-nav > li > a.btn-warning, .btn-warning { @include btn-styles($warning-color, $warning-states-color); }\n.navbar .navbar-nav > li > a.btn-danger, .btn-danger { @include btn-styles($danger-color, $danger-states-color); }\n.btn-neutral {\n @include btn-styles($white-color, $white-color);\n\n &:hover,\n &:focus{\n color: $default-color;\n }\n\n &:active,\n &.active,\n .open > &.dropdown-toggle{\n background-color: $white-color;\n color: $default-color;\n }\n\n &.btn-fill{\n color: $default-color;\n }\n &.btn-fill:hover,\n &.btn-fill:focus{\n color: $default-states-color;\n }\n\n &.btn-simple:active,\n &.btn-simple.active{\n background-color: transparent;\n }\n}\n\n.btn{\n &:disabled,\n &[disabled],\n &.disabled{\n @include opacity(.5);\n }\n}\n.btn-simple{\n border: $none;\n padding: $padding-base-vertical $padding-base-horizontal;\n\n &.btn-icon{\n padding: $padding-base-vertical;\n }\n}\n.btn-lg{\n @include btn-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $border-radius-btn-large, $line-height-small);\n font-weight: $font-weight-normal;\n}\n.btn-sm{\n @include btn-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $border-radius-btn-small, $line-height-small);\n}\n.btn-xs {\n @include btn-size($padding-xs-vertical, $padding-xs-horizontal, $font-size-xs, $border-radius-btn-small, $line-height-small);\n}\n.btn-wd {\n min-width: 140px;\n}\n\n.btn-group.select{\n width: 100%;\n}\n.btn-group.select .btn{\n text-align: left;\n}\n.btn-group.select .caret{\n position: absolute;\n top: 50%;\n margin-top: -1px;\n right: 8px;\n}\n","// Mixin for generating new styles\n@mixin btn-styles($btn-color, $btn-states-color) {\n background-color: $btn-color;\n\n &:hover,\n &:focus,\n &:active,\n &.active,\n &:active:focus,\n &:active:hover,\n &.active:focus,\n &.active:hover,\n .open > &.dropdown-toggle,\n .open > &.dropdown-toggle:focus,\n .open > &.dropdown-toggle:hover {\n background-color: $btn-states-color;\n color: $white-color;\n }\n\n &.disabled,\n &:disabled,\n &[disabled],\n fieldset[disabled] & {\n &,\n &:hover,\n &:focus,\n &.focus,\n &:active,\n &.active {\n background-color: $btn-color;\n border-color: $btn-color;\n }\n }\n\n &.focus,\n &:focus {\n box-shadow: none;\n }\n\n // btn-neutral style\n @if $btn-color == $white-color {\n color: $white-color;\n\n &.btn-danger {\n color: $danger-color;\n\n &:hover,\n &:focus,\n &:active {\n color: $danger-states-color;\n }\n }\n\n &.btn-info {\n color: $white-color;\n\n &:hover,\n &:focus,\n &:active {\n color: $info-states-color;\n }\n }\n\n &.btn-warning {\n color: $white-color;\n\n &:hover,\n &:focus,\n &:active {\n color: $warning-states-color;\n }\n }\n\n &.btn-success {\n color: $white-color;\n\n &:hover,\n &:focus,\n &:active {\n color: $success-states-color;\n }\n }\n\n &.btn-default {\n color: $white-color;\n\n &:hover,\n &:focus,\n &:active {\n color: $default-states-color;\n }\n }\n\n &.active,\n &:active:focus,\n &:active:hover,\n &.active:focus,\n &.active:hover,\n .open > &.dropdown-toggle,\n .open > &.dropdown-toggle:focus,\n .open > &.dropdown-toggle:hover {\n background-color: $white-color;\n color: $primary-color;\n }\n\n &:hover,\n &:focus,\n &:active {\n color: $primary-states-color;\n }\n\n } @else {\n color: $white-color;\n }\n\n &.btn-simple {\n color: $btn-color;\n border-color: $btn-color;\n\n &:hover,\n &:focus,\n &:active {\n background-color: $transparent-bg;\n color: $btn-states-color;\n border-color: $btn-states-color;\n }\n }\n\n &.btn-link {\n color: $btn-color;\n\n &:hover,\n &:focus,\n &:active {\n background-color: $transparent-bg;\n color: $btn-states-color;\n text-decoration: none;\n }\n }\n}\n\n\n@mixin btn-size($padding-vertical, $padding-horizontal, $font-size, $border, $line-height){\n font-size: $font-size;\n //border-radius: $border;\n padding: $padding-vertical $padding-horizontal;\n\n &.btn-simple{\n padding: $padding-vertical + 2 $padding-horizontal;\n }\n\n}\n","// Opacity\n\n@mixin opacity($opacity) {\n opacity: $opacity;\n // IE8 filter\n $opacity-ie: ($opacity * 100);\n filter: #{alpha(opacity=$opacity-ie)};\n}\n\n@mixin black-filter($opacity){\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n position: absolute;\n background-color: rgba(17,17,17,$opacity);\n display: block;\n content: \"\";\n z-index: 1; \n}","@mixin input-size($padding-vertical, $padding-horizontal) {\n padding: $padding-vertical $padding-horizontal;\n}\n\n@mixin form-control-placeholder($color, $opacity) {\n .form-control::-moz-placeholder {\n color: $color;\n @include opacity(1);\n }\n .form-control:-moz-placeholder {\n color: $color;\n @include opacity(1);\n }\n .form-control::-webkit-input-placeholder {\n color: $color;\n @include opacity(1);\n }\n .form-control:-ms-input-placeholder {\n color: $color;\n @include opacity(1);\n }\n}\n\n@mixin light-form() {\n border-radius: 0;\n border: 0;\n padding: 0;\n background-color: transparent;\n}\n\n@mixin input-sm-padding($padding-vertical, $padding-horizontal) {\n .form-group.form-group-no-border.input-sm,\n .input-group.form-group-no-border.input-sm {\n .input-group-addon {\n padding: $padding-vertical 0 $padding-vertical $padding-horizontal;\n }\n\n .form-control {\n padding: $padding-vertical $padding-horizontal;\n\n & + .input-group-addon {\n padding: $padding-vertical $padding-horizontal $padding-vertical 0;\n }\n }\n }\n\n .form-group.input-sm,\n .input-group.input-sm {\n .form-control {\n padding: $padding-vertical - 1 $padding-horizontal - 1;\n\n & + .input-group-addon {\n padding: $padding-vertical - 1 $padding-horizontal - 1 $padding-vertical - 1 0;\n }\n }\n\n .input-group-addon {\n padding: $padding-vertical - 1 0 $padding-vertical $padding-horizontal - 1;\n\n & + .form-control {\n padding: $padding-vertical $padding-horizontal - 1 $padding-vertical $padding-horizontal - 3;\n }\n }\n }\n}\n\n@mixin input-lg-padding($padding-vertical, $padding-horizontal) {\n .form-group.form-group-no-border.input-lg,\n .input-group.form-group-no-border.input-lg {\n .input-group-addon {\n padding: $padding-vertical 0 $padding-vertical $padding-horizontal;\n }\n\n .form-control {\n padding: $padding-vertical $padding-horizontal;\n\n & + .input-group-addon {\n padding: $padding-vertical $padding-horizontal $padding-vertical 0;\n }\n }\n }\n\n .form-group.input-lg,\n .input-group.input-lg {\n .form-control {\n padding: $padding-vertical - 1 $padding-horizontal - 1;\n\n & + .input-group-addon {\n padding: $padding-vertical - 1 $padding-horizontal - 1 $padding-vertical - 1 0;\n }\n }\n\n .input-group-addon {\n padding: $padding-vertical - 1 0 $padding-vertical $padding-horizontal - 1;\n\n & + .form-control {\n padding: $padding-vertical $padding-horizontal - 1 $padding-vertical $padding-horizontal - 3;\n }\n }\n }\n}\n\n@mixin input-base-padding($padding-vertical, $padding-horizontal) {\n .form-group.form-group-no-border,\n .input-group.form-group-no-border {\n .form-control {\n /*margin-top: 2px;*/\n padding: $padding-vertical $padding-horizontal;\n\n & + .input-group-addon {\n padding: $padding-vertical $padding-horizontal $padding-vertical 0;\n }\n }\n\n .input-group-addon {\n padding: $padding-vertical 0 $padding-vertical $padding-horizontal;\n }\n }\n\n .form-group,\n .input-group {\n .form-control {\n margin-top: 2px;\n padding: $padding-vertical - 1 $padding-horizontal - 1 $padding-vertical - 1 $padding-horizontal - 1;\n\n & + .input-group-addon {\n padding: $padding-vertical - 1 $padding-horizontal - 1 $padding-vertical - 1 0;\n }\n }\n\n .input-group-addon {\n padding: $padding-vertical - 1 0 $padding-vertical - 1 $padding-horizontal - 1;\n\n & + .form-control,\n & ~ .form-control {\n padding: $padding-vertical - 1 $padding-horizontal $padding-vertical $padding-horizontal - 3;\n }\n }\n }\n}\n\n//color1 = $opacity-5\n//color2 = $opacity-8\n//color3 = $white-color\n//color4 = $transparent-bg\n//color5 = $opacity-1\n//color6 = $opacity-2\n\n@mixin input-coloured-bg($color1, $color2, $color3, $color4, $color5, $color6) {\n @include form-control-placeholder(darken($color2, 8%), 1);\n\n .form-control {\n border-color: $color1;\n color: $color2;\n\n &:focus {\n border-color: $color3;\n background-color: $color4;\n color: $color3;\n }\n }\n\n .has-success,\n .has-danger {\n &:after {\n color: $color3;\n }\n }\n\n .has-danger {\n .form-control {\n background-color: $color4;\n }\n }\n\n .input-group-addon {\n background-color: $color4;\n border-color: $color1;\n color: $color2;\n }\n\n .input-group-focus {\n .input-group-addon {\n background-color: $color4;\n border-color: $color3;\n color: $color3;\n }\n }\n\n .form-group.form-group-no-border,\n .input-group.form-group-no-border {\n .form-control {\n background-color: $color5;\n color: $color2;\n\n &:focus,\n &:active,\n &:active {\n background-color: $color6;\n color: $color3;\n }\n }\n\n .form-control + .input-group-addon {\n background-color: $color5;\n\n &:focus,\n &:active,\n &:active {\n background-color: $color6;\n color: $color3;\n }\n }\n\n .form-control {\n &:focus {\n & + .input-group-addon {\n background-color: $color6;\n color: $color3;\n }\n }\n }\n\n .input-group-addon {\n background-color: $color5;\n border: none;\n color: $color2;\n }\n\n &.input-group-focus {\n .input-group-addon {\n background-color: $color6;\n color: $color3;\n }\n }\n }\n}\n",".alert{\n border: 0;\n border-radius: 0;\n color: #FFFFFF;\n padding: 10px 15px;\n font-size: 14px;\n\n .container &{\n border-radius: 4px;\n\n }\n .navbar &{\n border-radius: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 85px;\n width: 100%;\n z-index: 3;\n }\n .navbar:not(.navbar-transparent) &{\n top: 70px;\n }\n\n span[data-notify=\"icon\"]{\n font-size: 30px;\n display: block;\n left: 15px;\n position: absolute;\n top: 50%;\n margin-top: -20px;\n }\n\n .close ~ span{\n display: block;\n max-width: 89%;\n }\n\n &[data-notify=\"container\"]{\n padding: 10px 10px 10px 20px;\n border-radius: $border-radius-base;\n }\n\n &.alert-with-icon{\n padding-left: 65px;\n }\n}\n.alert-info{\n background-color: $bg-info;\n color: $info-states-color;\n}\n.alert-success {\n background-color: $bg-success;\n color: $success-states-color;\n}\n.alert-warning {\n background-color: $bg-warning;\n color: $warning-states-color;\n}\n.alert-danger {\n background-color: $danger-color;\n color: #FFF;\n}\n\n",".table{\n thead,\n tbody,\n tfoot{\n tr > th,\n tr > td{\n border-top: 1px solid $table-line-color;\n }\n }\n > thead > tr > th{\n border-bottom-width: 0;\n font-size: $font-size-h5;\n font-weight: $font-weight-light;\n }\n\n .radio,\n .checkbox{\n margin-top: 0;\n margin-bottom: 22px;\n padding: 0;\n width: 15px;\n }\n > thead > tr > th,\n > tbody > tr > th,\n > tfoot > tr > th,\n > thead > tr > td,\n > tbody > tr > td,\n > tfoot > tr > td{\n padding: 12px;\n vertical-align: middle;\n }\n\n .th-description{\n max-width: 150px;\n }\n .td-price{\n font-size: 26px;\n font-weight: $font-weight-light;\n margin-top: 5px;\n text-align: right;\n }\n .td-total{\n font-weight: $font-weight-bold;\n font-size: $font-size-h5;\n padding-top: 20px;\n text-align: right;\n }\n\n .td-actions .btn{\n\n &.btn-sm,\n &.btn-xs{\n padding-left: 3px;\n padding-right: 3px;\n }\n }\n\n > tbody > tr{\n position: relative;\n }\n}\n.table-striped{\n tbody > tr:nth-of-type(2n+1) {\n background-color: #fff;\n }\n tbody > tr:nth-of-type(2n) {\n background-color: $pale-bg;\n }\n > thead > tr > th,\n > tbody > tr > th,\n > tfoot > tr > th,\n > thead > tr > td,\n > tbody > tr > td,\n > tfoot > tr > td{\n padding: 15px 8px;\n }\n}","/* Checkbox and radio */\n.checkbox,\n.radio {\n margin-bottom: 12px;\n padding-left: 30px;\n position: relative;\n -webkit-transition: color,opacity 0.25s linear;\n transition: color,opacity 0.25s linear;\n font-size: $font-size-base;\n font-weight: normal;\n line-height: 1.5;\n color: $font-color;\n cursor: pointer;\n\n .icons {\n color: $font-color;\n display: block;\n height: 20px;\n left: 0;\n position: absolute;\n top: 0;\n width: 20px;\n text-align: center;\n line-height: 21px;\n font-size: 20px;\n cursor: pointer;\n -webkit-transition: color,opacity 0.15s linear;\n transition: color,opacity 0.15s linear;\n\n opacity: .50;\n }\n\n\n &.checked{\n .icons{\n opacity: 1;\n }\n }\n\n input{\n outline: none !important;\n display: none;\n }\n}\n\n.checkbox,\n.radio{\n label{\n padding-left: 10px;\n }\n}\n\n.checkbox .icons .first-icon,\n.radio .icons .first-icon,\n.checkbox .icons .second-icon,\n.radio .icons .second-icon {\n display: inline-table;\n position: absolute;\n left: 0;\n top: 0;\n background-color: transparent;\n margin: 0;\n @include opacity(1);\n}\n.checkbox .icons .second-icon,\n.radio .icons .second-icon {\n @include opacity(0);\n}\n.checkbox:hover,\n.radio:hover {\n -webkit-transition: color 0.2s linear;\n transition: color 0.2s linear;\n}\n.checkbox:hover .first-icon,\n.radio:hover .first-icon {\n @include opacity(0);\n}\n.checkbox:hover .second-icon,\n.radio:hover .second-icon {\n @include opacity (1);\n}\n.checkbox.checked,\n.radio.checked {\n// color: $info-color;\n}\n.checkbox.checked .first-icon,\n.radio.checked .first-icon {\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.checkbox.checked .second-icon,\n.radio.checked .second-icon {\n opacity: 1;\n filter: alpha(opacity=100);\n// color: $info-color;\n -webkit-transition: color 0.2s linear;\n transition: color 0.2s linear;\n}\n.checkbox.disabled,\n.radio.disabled {\n cursor: default;\n color: $medium-gray;\n}\n.checkbox.disabled .icons,\n.radio.disabled .icons {\n color: $medium-gray;\n}\n.checkbox.disabled .first-icon,\n.radio.disabled .first-icon {\n opacity: 1;\n filter: alpha(opacity=100);\n}\n.checkbox.disabled .second-icon,\n.radio.disabled .second-icon {\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.checkbox.disabled.checked .icons,\n.radio.disabled.checked .icons {\n color: $medium-gray;\n}\n.checkbox.disabled.checked .first-icon,\n.radio.disabled.checked .first-icon {\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.checkbox.disabled.checked .second-icon,\n.radio.disabled.checked .second-icon {\n opacity: 1;\n color: $medium-gray;\n filter: alpha(opacity=100);\n}\n",".nav {\n > li{\n > a:hover,\n > a:focus{\n background-color: transparent;\n }\n }\n}\n.navbar{\n border: $none;\n border-radius: 0;\n font-size: $font-size-navbar;\n z-index: 3;\n\n .navbar-brand{\n color: $white-color;\n font-weight: $font-weight-light;;\n margin: $navbar-margin-brand;\n padding: $navbar-padding-brand;\n font-size: $font-size-large-navbar;\n }\n .navbar-nav{\n > li > a {\n line-height: 1.42857;\n margin: $navbar-margin-a;\n padding: $navbar-padding-a;\n\n i,\n p{\n display: inline-block;\n margin: 0;\n }\n i{\n position: relative;\n margin-right: 5px;\n top: 1px;\n }\n }\n > li > a.btn{\n margin: $navbar-margin-a-btn;\n padding: $padding-base-vertical $padding-base-horizontal;\n }\n }\n .btn{\n margin: $navbar-margin-btn;\n font-size: $font-size-base;\n }\n .btn-simple{\n font-size: $font-size-medium;\n }\n}\n\n.navbar-nav > li > .dropdown-menu{\n border-radius: $border-radius-extreme;\n margin-top: -5px;\n}\n\n.navbar-default {\n color: $white-color;\n background-color: $phpvms-blue;\n border-bottom: 1px solid $medium-gray;\n\n .brand{\n color: $white-color !important;\n }\n .navbar-nav{\n > li > a:not(.btn){\n color: $white-color;\n }\n\n > .active > a,\n > .active > a:not(.btn):hover,\n > .active > a:not(.btn):focus,\n > li > a:not(.btn):hover,\n > li > a:not(.btn):focus {\n background-color: transparent;\n border-radius: 3px;\n //color: $info-color;\n @include opacity(1);\n }\n\n > .dropdown > a:hover .caret,\n > .dropdown > a:focus .caret {\n border-bottom-color: $info-color;\n border-top-color: $info-color;\n\n }\n\n > .open > a,\n > .open > a:hover,\n > .open > a:focus{\n background-color: transparent;\n color: $info-color;\n }\n\n .navbar-toggle:hover,.navbar-toggle:focus {\n background-color: transparent;\n }\n\n }\n\n &:not(.navbar-transparent) .btn-default:hover{\n color: $info-color;\n border-color: $info-color;\n }\n &:not(.navbar-transparent) .btn-neutral,\n &:not(.navbar-transparent) .btn-neutral:hover,\n &:not(.navbar-transparent) .btn-neutral:active{\n color: $dark-gray;\n }\n}\n\n.navbar-form{\n @include box-shadow(none);\n .form-control{\n @include light-form();\n height: 22px;\n font-size: $font-size-navbar;\n line-height: $line-height-general;\n color: $light-gray;\n }\n .navbar-transparent & .form-control,\n [class*=\"navbar-ct\"] & .form-control{\n color: $white-color;\n border: $none;\n border-bottom: 1px solid rgba($white-color,.6);\n }\n\n}\n\n.navbar-ct-primary{\n @include navbar-color($bg-primary);\n}\n.navbar-ct-info{\n @include navbar-color($bg-info);\n}\n.navbar-ct-success{\n @include navbar-color($bg-success);\n}\n.navbar-ct-warning{\n @include navbar-color($bg-warning);\n}\n.navbar-ct-danger{\n @include navbar-color($bg-danger);\n}\n\n.navbar-transparent{\n padding-top: 15px;\n background-color: transparent;\n border-bottom: 1px solid transparent;\n}\n\n.navbar-toggle{\n margin-top: 19px;\n margin-bottom: 19px;\n border: $none;\n\n .icon-bar {\n background-color: $white-color;\n }\n .navbar-collapse,\n .navbar-form {\n border-color: transparent;\n }\n\n &.navbar-default .navbar-toggle:hover,\n &.navbar-default .navbar-toggle:focus {\n background-color: transparent;\n }\n}\n\n.navbar-transparent, [class*=\"navbar-ct\"]{\n\n .navbar-brand{\n\n @include opacity(.9);\n\n &:focus,\n\n &:hover{\n\n background-color: transparent;\n\n @include opacity(1);\n\n }\n\n }\n\n .navbar-brand:not([class*=\"text\"]){\n\n color: $white-color;\n\n }\n\n .navbar-nav{\n\n > li > a:not(.btn){\n\n color: $white-color;\n\n border-color: $white-color;\n\n @include opacity(0.8);\n\n }\n\n > .active > a:not(.btn),\n\n > .active > a:hover:not(.btn),\n\n > .active > a:focus:not(.btn),\n\n > li > a:hover:not(.btn),\n\n > li > a:focus:not(.btn){\n\n background-color: transparent;\n\n border-radius: 3px;\n\n color: $white-color;\n\n @include opacity(1);\n\n }\n\n .nav > li > a.btn:hover{\n\n background-color: transparent;\n\n }\n\n > .dropdown > a .caret,\n\n > .dropdown > a:hover .caret,\n\n > .dropdown > a:focus .caret{\n\n border-bottom-color: $white-color;\n\n border-top-color: $white-color;\n\n }\n\n > .open > a,\n\n > .open > a:hover,\n\n > .open > a:focus {\n\n background-color: transparent;\n\n color: $white-color;\n\n @include opacity(1);\n\n }\n\n }\n\n .btn-default{\n\n color: $white-color;\n\n border-color: $white-color;\n\n }\n\n .btn-default.btn-fill{\n\n color: $dark-gray;\n\n background-color: $white-color;\n\n @include opacity(.9);\n\n }\n\n .btn-default.btn-fill:hover,\n\n .btn-default.btn-fill:focus,\n\n .btn-default.btn-fill:active,\n\n .btn-default.btn-fill.active,\n\n .open .dropdown-toggle.btn-fill.btn-default{\n\n border-color: $white-color;\n\n @include opacity(1);\n\n }\n\n}\n","@mixin navbar-color($color){\n background-color: $color;\n}\n\n@mixin center-item(){\n left: 0;\n right: 0;\n margin-right: auto;\n margin-left: auto;\n position: absolute;\n}",".footer{\n background-attachment: fixed;\n position: relative;\n line-height: 20px;\n nav {\n ul {\n list-style: none;\n margin: 0;\n padding: 0;\n font-weight: normal;\n li{\n display: inline-block;\n padding: 10px 15px;\n margin: 15px 3px;\n line-height: 20px;\n text-align: center;\n }\n a:not(.btn){\n color: $font-color;\n display: block;\n margin-bottom: 3px;\n\n &:focus,\n &:hover{\n color: $default-states-color;\n }\n }\n }\n }\n .copyright{\n color: $font-color;\n padding: 10px 15px;\n font-size: 14px;\n white-space: nowrap;\n margin: 15px 3px;\n line-height: 20px;\n text-align: center;\n }\n .heart{\n color: $danger-color;\n }\n}\n",".dropdown-menu{\n background-color: $pale-bg;\n border: 0 none;\n border-radius: $border-radius-extreme;\n display: block;\n margin-top: 10px;\n padding: 0px;\n position: absolute;\n visibility: hidden;\n z-index: 9000; \n \n @include opacity(0); \n @include box-shadow($dropdown-shadow);\n \n// the style for opening dropdowns on mobile devices; for the desktop version check the _responsive.scss file \n .open &{\n @include opacity(1);\n visibility: visible;\n } \n \n .divider{\n background-color: $medium-pale-bg;\n margin: 0px;\n }\n \n .dropdown-header{\n color: $dark-gray;\n font-size: $font-size-small;\n padding: $padding-dropdown-vertical $padding-dropdown-horizontal;\n }\n \n// the style for the dropdown menu that appears under select, it is different from the default one\n .select &{\n border-radius: $border-radius-bottom; \n @include box-shadow(none);\n @include transform-origin($select-coordinates);\n @include transform-scale(1);\n @include transition($fast-transition-time, $transition-linear);\n margin-top: -20px;\n }\n .select.open &{\n margin-top: -1px;\n }\n \n > li > a {\n color: $font-color;\n font-size: $font-size-base;\n padding: $padding-dropdown-vertical $padding-dropdown-horizontal;\n @include transition-none();\n \n img{\n margin-top: -3px;\n }\n }\n > li > a:focus{\n outline: 0 !important;\n }\n\n .btn-group.select &{\n min-width: 100%;\n }\n \n > li:first-child > a{\n border-top-left-radius: $border-radius-extreme;\n border-top-right-radius: $border-radius-extreme;\n }\n \n > li:last-child > a{\n border-bottom-left-radius: $border-radius-extreme;\n border-bottom-right-radius: $border-radius-extreme;\n }\n \n .select & > li:first-child > a{\n border-radius: 0;\n border-bottom: 0 none;\n }\n \n > li > a:hover,\n > li > a:focus {\n background-color: $default-color;\n color: $fill-font-color;\n opacity: 1;\n text-decoration: none;\n }\n \n &.dropdown-primary > li > a:hover,\n &.dropdown-primary > li > a:focus{\n background-color: $primary-color;\n }\n &.dropdown-info > li > a:hover,\n &.dropdown-info > li > a:focus{\n background-color: $info-color;\n }\n &.dropdown-success > li > a:hover,\n &.dropdown-success > li > a:focus{\n background-color: $success-color;\n }\n &.dropdown-warning > li > a:hover,\n &.dropdown-warning > li > a:focus{\n background-color: $warning-color;\n }\n &.dropdown-danger > li > a:hover,\n &.dropdown-danger > li > a:focus{\n background-color: $danger-color;\n }\n\n}\n\n//fix bug for the select items in btn-group \n.btn-group.select{\n overflow: hidden;\n}\n.btn-group.select.open{\n overflow: visible;\n}\n",".card {\n border: 0;\n border-radius: $border-radius-extra-small;\n box-shadow: 0 2px 2px rgba(204, 197, 185, 0.5);\n background-color: #FFFFFF;\n color: $card-black-color;\n margin-bottom: 20px;\n position: relative;\n z-index: 1;\n\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n flex-direction: column;\n background-color: #fff;\n\n .card-block {\n flex: 1 1 auto;\n padding: 1.25rem;\n }\n\n a {\n color: #f96332;\n }\n\n .image{\n width: 100%;\n overflow: hidden;\n height: 260px;\n border-radius: $border-radius-extreme $border-radius-extreme 0 0;\n position: relative;\n -webkit-transform-style: preserve-3d;\n -moz-transform-style: preserve-3d;\n transform-style: preserve-3d;\n\n img {\n width: 100%;\n }\n }\n .content{\n padding: 15px 15px 10px 15px;\n }\n .header{\n padding: 0px 0px 10px 0;\n }\n .description{\n font-size: $font-paragraph;\n color: $font-color;\n }\n\n h5 {\n font-size: 1.57em;\n line-height: 1.4em;\n margin-bottom: 15px;\n }\n\n h6{\n font-size: $font-size-small;\n margin: 0;\n }\n .category,\n label{\n font-size: $font-size-base;\n font-weight: $font-weight-normal;\n //color: $dark-gray;\n text-transform: capitalize;\n margin-bottom: 0px;\n i{\n font-size: $font-paragraph;\n }\n }\n\n label{\n font-size: 15px;\n margin-bottom: 5px;\n text-transform: capitalize;\n display: inline-block;\n vertical-align: middle;\n }\n\n .title{\n margin: $none;\n color: $card-black-color;\n font-weight: $font-weight-light;\n }\n .avatar{\n width: 50px;\n height: 50px;\n overflow: hidden;\n border-radius: 50%;\n margin-right: 5px;\n }\n .footer{\n padding: 0;\n line-height: 30px;\n\n .legend{\n padding: 5px 0;\n }\n\n hr{\n margin-top: 5px;\n margin-bottom: 5px;\n }\n }\n .stats{\n color: #a9a9a9;\n font-weight: 300;\n i{\n margin-right: 2px;\n min-width: 15px;\n display: inline-block;\n }\n }\n .footer div{\n display: inline-block;\n }\n\n .author{\n font-size: $font-size-small;\n font-weight: $font-weight-bold;\n text-transform: uppercase;\n }\n .author i{\n font-size: $font-size-base;\n }\n\n &.card-separator:after{\n height: 100%;\n right: -15px;\n top: 0;\n width: 1px;\n background-color: $medium-gray;\n content: \"\";\n position: absolute;\n }\n\n .ct-chart{\n margin: 30px 0 30px;\n height: 245px;\n }\n\n .table{\n tbody td:first-child,\n thead th:first-child{\n padding-left: 15px;\n }\n\n tbody td:last-child,\n thead th:last-child{\n padding-right: 15px;\n }\n }\n\n .alert{\n border-radius: $border-radius-base;\n position: relative;\n\n &.alert-with-icon{\n padding-left: 65px;\n }\n }\n .icon-big{\n font-size: 3em;\n min-height: 64px;\n }\n .numbers{\n font-size: 2em;\n text-align: right;\n p{\n margin: 0;\n }\n }\n ul.team-members{\n li{\n padding: 10px 0px;\n &:not(:last-child){\n border-bottom: 1px solid $medium-pale-bg;\n }\n }\n }\n\n .btn-primary {\n @include btn-styles($primary-color, $primary-states-color);\n }\n\n .btn-success {\n @include btn-styles($success-color, $success-states-color);\n }\n\n .btn-info {\n @include btn-styles($info-color, $info-states-color);\n }\n\n .btn-warning {\n @include btn-styles($warning-color, $warning-states-color);\n }\n\n .btn-danger {\n @include btn-styles($danger-color, $danger-states-color);\n }\n\n .btn-neutral {\n @include btn-styles($white-color, $white-color);\n }\n}\n.card-user{\n .image{\n border-radius: 8px 8px 0 0;\n height: 150px;\n position: relative;\n overflow: hidden;\n\n img{\n width: 100%;\n }\n }\n .image-plain{\n height: 0;\n margin-top: 110px;\n }\n .author{\n text-align: center;\n text-transform: none;\n margin-top: -65px;\n .title{\n color: $default-states-color;\n small{\n color: $card-muted-color;\n }\n }\n }\n .avatar{\n width: 100px;\n height: 100px;\n border-radius: 50%;\n position: relative;\n margin-bottom: 15px;\n\n &.border-white{\n border: 5px solid $white-color;\n }\n &.border-gray{\n border: 5px solid $card-muted-color;\n }\n }\n .title{\n font-weight: 600;\n line-height: 24px;\n }\n .description{\n margin-top: 10px;\n }\n .content{\n min-height: 200px;\n }\n\n &.card-plain{\n .avatar{\n height: 190px;\n width: 190px;\n }\n }\n}\n\n.card-map{\n .map{\n height: 500px;\n padding-top: 20px;\n\n > div{\n height: 100%;\n }\n }\n}\n.card-user,\n.card-price{\n .footer{\n padding: 5px 15px 10px;\n }\n hr{\n margin: 5px 15px;\n }\n}\n.card-plain{\n background-color: transparent;\n box-shadow: none;\n border-radius: 0;\n\n .image{\n border-radius: 4px;\n }\n}\n","@mixin ct-responsive-svg-container($width: 100%, $ratio: $ct-container-ratio) {\n display: block;\n position: relative;\n width: $width;\n\n &:before {\n display: block;\n float: left;\n content: \"\";\n width: 0;\n height: 0;\n padding-bottom: $ratio * 100%;\n }\n\n &:after {\n content: \"\";\n display: table;\n clear: both;\n }\n\n > svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n }\n}\n\n@mixin ct-align-justify($ct-text-align: $ct-text-align, $ct-text-justify: $ct-text-justify) {\n -webkit-box-align: $ct-text-align;\n -webkit-align-items: $ct-text-align;\n -ms-flex-align: $ct-text-align;\n align-items: $ct-text-align;\n -webkit-box-pack: $ct-text-justify;\n -webkit-justify-content: $ct-text-justify;\n -ms-flex-pack: $ct-text-justify;\n justify-content: $ct-text-justify;\n // Fallback to text-align for non-flex browsers\n @if($ct-text-justify == 'flex-start') {\n text-align: left;\n } @else if ($ct-text-justify == 'flex-end') {\n text-align: right;\n } @else {\n text-align: center;\n }\n}\n\n@mixin ct-flex() {\n // Fallback to block\n display: block;\n display: -webkit-box;\n display: -moz-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n}\n\n@mixin ct-chart-label($ct-text-color: $ct-text-color, $ct-text-size: $ct-text-size, $ct-text-line-height: $ct-text-line-height) {\n fill: $ct-text-color;\n color: $ct-text-color;\n font-size: $ct-text-size;\n line-height: $ct-text-line-height;\n}\n\n@mixin ct-chart-grid($ct-grid-color: $ct-grid-color, $ct-grid-width: $ct-grid-width, $ct-grid-dasharray: $ct-grid-dasharray) {\n stroke: $ct-grid-color;\n stroke-width: $ct-grid-width;\n\n @if ($ct-grid-dasharray) {\n stroke-dasharray: $ct-grid-dasharray;\n }\n}\n\n@mixin ct-chart-point($ct-point-size: $ct-point-size, $ct-point-shape: $ct-point-shape) {\n stroke-width: $ct-point-size;\n stroke-linecap: $ct-point-shape;\n}\n\n@mixin ct-chart-line($ct-line-width: $ct-line-width, $ct-line-dasharray: $ct-line-dasharray) {\n fill: none;\n stroke-width: $ct-line-width;\n\n @if ($ct-line-dasharray) {\n stroke-dasharray: $ct-line-dasharray;\n }\n}\n\n@mixin ct-chart-area($ct-area-opacity: $ct-area-opacity) {\n stroke: none;\n fill-opacity: $ct-area-opacity;\n}\n\n@mixin ct-chart-bar($ct-bar-width: $ct-bar-width) {\n fill: none;\n stroke-width: $ct-bar-width;\n}\n\n@mixin ct-chart-donut($ct-donut-width: $ct-donut-width) {\n fill: none;\n stroke-width: $ct-donut-width;\n}\n\n@mixin ct-chart-series-color($color) {\n .#{$ct-class-point}, .#{$ct-class-line}, .#{$ct-class-bar}, .#{$ct-class-slice-donut} {\n stroke: $color;\n }\n\n .#{$ct-class-slice-pie}, .#{$ct-class-area} {\n fill: $color;\n }\n}\n\n@mixin ct-chart($ct-container-ratio: $ct-container-ratio, $ct-text-color: $ct-text-color, $ct-text-size: $ct-text-size, $ct-grid-color: $ct-grid-color, $ct-grid-width: $ct-grid-width, $ct-grid-dasharray: $ct-grid-dasharray, $ct-point-size: $ct-point-size, $ct-point-shape: $ct-point-shape, $ct-line-width: $ct-line-width, $ct-bar-width: $ct-bar-width, $ct-donut-width: $ct-donut-width, $ct-series-names: $ct-series-names, $ct-series-colors: $ct-series-colors) {\n\n .#{$ct-class-label} {\n @include ct-chart-label($ct-text-color, $ct-text-size);\n }\n\n .#{$ct-class-chart-line} .#{$ct-class-label},\n .#{$ct-class-chart-bar} .#{$ct-class-label} {\n @include ct-flex();\n }\n\n .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-start} {\n @include ct-align-justify(flex-end, flex-start);\n // Fallback for browsers that don't support foreignObjects\n text-anchor: start;\n }\n\n .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-end} {\n @include ct-align-justify(flex-start, flex-start);\n // Fallback for browsers that don't support foreignObjects\n text-anchor: start;\n }\n\n .#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-start} {\n @include ct-align-justify(flex-end, flex-end);\n // Fallback for browsers that don't support foreignObjects\n text-anchor: end;\n }\n\n .#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-end} {\n @include ct-align-justify(flex-end, flex-start);\n // Fallback for browsers that don't support foreignObjects\n text-anchor: start;\n }\n\n .#{$ct-class-chart-bar} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-start} {\n @include ct-align-justify(flex-end, center);\n // Fallback for browsers that don't support foreignObjects\n text-anchor: start;\n }\n\n .#{$ct-class-chart-bar} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-end} {\n @include ct-align-justify(flex-start, center);\n // Fallback for browsers that don't support foreignObjects\n text-anchor: start;\n }\n\n .#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-start} {\n @include ct-align-justify(flex-end, flex-start);\n // Fallback for browsers that don't support foreignObjects\n text-anchor: start;\n }\n\n .#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-end} {\n @include ct-align-justify(flex-start, flex-start);\n // Fallback for browsers that don't support foreignObjects\n text-anchor: start;\n }\n\n .#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-start} {\n //@include ct-chart-label($ct-text-color, $ct-text-size, center, $ct-vertical-text-justify);\n @include ct-align-justify(center, flex-end);\n // Fallback for browsers that don't support foreignObjects\n text-anchor: end;\n }\n\n .#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-end} {\n @include ct-align-justify(center, flex-start);\n // Fallback for browsers that don't support foreignObjects\n text-anchor: end;\n }\n\n .#{$ct-class-grid} {\n @include ct-chart-grid($ct-grid-color, $ct-grid-width, $ct-grid-dasharray);\n }\n\n .#{$ct-class-point} {\n @include ct-chart-point($ct-point-size, $ct-point-shape);\n }\n\n .#{$ct-class-line} {\n @include ct-chart-line($ct-line-width);\n }\n\n .#{$ct-class-area} {\n @include ct-chart-area();\n }\n\n .#{$ct-class-bar} {\n @include ct-chart-bar($ct-bar-width);\n }\n\n .#{$ct-class-slice-donut} {\n @include ct-chart-donut($ct-donut-width);\n }\n\n @if $ct-include-colored-series {\n @for $i from 0 to length($ct-series-names) {\n .#{$ct-class-series}-#{nth($ct-series-names, $i + 1)} {\n $color: nth($ct-series-colors, $i + 1);\n\n @include ct-chart-series-color($color);\n }\n }\n }\n}\n\n@if $ct-include-classes {\n @include ct-chart();\n\n @if $ct-include-alternative-responsive-containers {\n @for $i from 0 to length($ct-scales-names) {\n .#{nth($ct-scales-names, $i + 1)} {\n @include ct-responsive-svg-container($ratio: nth($ct-scales, $i + 1));\n }\n }\n }\n}","@media (min-width: 992px){\n .navbar{\n min-height: 75px;\n }\n .navbar-form {\n margin-top: 21px;\n margin-bottom: 21px;\n padding-left: 5px;\n padding-right: 5px;\n }\n .navbar-search-form{\n display: none;\n }\n .navbar-nav > li > .dropdown-menu,\n .dropdown .dropdown-menu{\n transform: translate3d(0px, -40px, 0px);\n transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, opacity 0.3s ease 0s, height 0s linear 0.35s;\n }\n .navbar-nav > li.open > .dropdown-menu, .dropdown.open .dropdown-menu{\n transform: translate3d(0px, 0px, 0px);\n }\n\n .navbar-nav > li > .dropdown-menu:before{\n border-bottom: 11px solid $medium-pale-bg;\n border-left: 11px solid rgba(0, 0, 0, 0);\n border-right: 11px solid rgba(0, 0, 0, 0);\n content: \"\";\n display: inline-block;\n position: absolute;\n right: 12px;\n top: -11px;\n }\n .navbar-nav > li > .dropdown-menu:after {\n border-bottom: 11px solid $pale-bg;\n border-left: 11px solid rgba(0, 0, 0, 0);\n border-right: 11px solid rgba(0, 0, 0, 0);\n content: \"\";\n display: inline-block;\n position: absolute;\n right: 12px;\n top: -10px;\n }\n\n .navbar-nav.navbar-left > li > .dropdown-menu:before{\n right: auto;\n left: 12px;\n }\n\n .navbar-nav.navbar-left > li > .dropdown-menu:after{\n right: auto;\n left: 12px;\n }\n\n .navbar{\n .navbar-header{\n margin-left: 10px;\n }\n }\n\n .footer:not(.footer-big){\n nav > ul{\n li:first-child{\n margin-left: 0;\n }\n }\n }\n\n body > .navbar-collapse.collapse{\n display: none !important;\n }\n\n .card{\n form{\n [class*=\"col-\"]{\n padding: 6px;\n }\n [class*=\"col-\"]:first-child{\n padding-left: 15px;\n }\n [class*=\"col-\"]:last-child{\n padding-right: 15px;\n }\n }\n }\n}\n\n/* Changes for small display */\n\n@media (max-width: 991px){\n .sidebar{\n display: none;\n }\n\n .main-panel{\n width: 100%;\n }\n .navbar-transparent{\n padding-top: 15px;\n background-color: rgba(0, 0, 0, 0.45);\n }\n body {\n position: relative;\n }\n h6{\n font-size: 1em;\n }\n .wrapper{\n @include transform-translate-x(0px);\n @include transition (0.33s, cubic-bezier(0.685, 0.0473, 0.346, 1));\n left: 0;\n background-color: white;\n }\n .navbar .container{\n left: 0;\n width: 100%;\n @include transition (0.33s, cubic-bezier(0.685, 0.0473, 0.346, 1));\n position: relative;\n }\n .navbar .navbar-collapse.collapse,\n .navbar .navbar-collapse.collapse.in,\n .navbar .navbar-collapse.collapsing{\n display: none !important;\n }\n\n .navbar-nav > li{\n float: none;\n position: relative;\n display: block;\n }\n\n .off-canvas-sidebar {\n position: fixed;\n display: block;\n top: 0;\n height: 100%;\n width: 230px;\n right: 0;\n z-index: 1032;\n visibility: visible;\n background-color: #999;\n overflow-y: visible;\n border-top: none;\n text-align: left;\n padding-right: 0px;\n padding-left: 0;\n\n @include transform-translate-x(230px);\n @include transition (0.33s, cubic-bezier(0.685, 0.0473, 0.346, 1));\n\n .sidebar-wrapper {\n position: relative;\n z-index: 3;\n overflow-y: scroll;\n height: 100%;\n box-shadow: inset 1px 0px 0px 0px $medium-gray;\n }\n\n .nav{\n margin-top: 0;\n padding: 10px $margin-base-vertical 0;\n\n > li{\n\n > a{\n margin: 0px 0px;\n color: $default-color;\n text-transform: uppercase;\n font-weight: 600;\n font-size: $font-size-small;\n line-height: $line-height-general;\n padding: 10px 0;\n\n &:hover,\n &.active{\n color: $default-states-color;\n }\n\n p,\n .notification,\n .caret\n {\n display: inline-block;\n }\n\n .caret{\n float: right;\n position: relative;\n top: 12px;\n }\n\n i{\n font-size: 18px;\n margin-right: 10px;\n line-height: 26px;\n }\n }\n\n &.active > a{\n\n &:before{\n border-right: none;\n border-left: 12px solid $medium-gray;\n border-top: 12px solid transparent;\n border-bottom: 12px solid transparent;\n right: auto;\n margin-left: -$margin-base-vertical;\n left: 0px;\n top: 10px;\n }\n\n &:after{\n border-right: none;\n border-left: 12px solid $bg-nude;\n border-top: 12px solid transparent;\n border-bottom: 12px solid transparent;\n right: auto;\n margin-left: -$margin-base-vertical;\n left: -1px;\n top: 10px;\n }\n }\n\n }\n\n\n\n }\n\n &::after{\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n position: absolute;\n background-color: $bg-nude;\n background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(112, 112, 112, 0) 60%, rgba(186, 186, 186, 0.15) 100%);\n display: block;\n content: \"\";\n z-index: 1;\n }\n &.has-image::after{\n @include black-filter(.8);\n }\n\n .logo{\n position: relative;\n z-index: 4;\n padding-top: 11px;\n padding-bottom: 11px;\n }\n\n .divider{\n height: 1px;\n margin: 10px 0;\n }\n }\n .nav-open .navbar-collapse{\n @include transform-translate-x(0px);\n }\n .nav-open .navbar .container{\n left: -230px;\n }\n .nav-open .wrapper{\n left: 0;\n @include transform-translate-x(-230px);\n }\n .navbar-toggle .icon-bar {\n display: block;\n position: relative;\n background: #fff;\n width: 24px;\n height: 2px;\n border-radius: 1px;\n margin: 0 auto;\n }\n\n .navbar-header .navbar-toggle {\n margin: 10px 15px 10px 0;\n width: 40px;\n height: 40px;\n }\n .bar1,\n .bar2,\n .bar3 {\n outline: 1px solid transparent;\n }\n .bar1 {\n top: 0px;\n @include bar-animation($topbar-back);\n }\n .bar2 {\n opacity: 1;\n }\n .bar3 {\n bottom: 0px;\n @include bar-animation($bottombar-back);\n }\n .toggled .bar1 {\n top: 6px;\n @include bar-animation($topbar-x);\n }\n .toggled .bar2 {\n opacity: 0;\n }\n .toggled .bar3 {\n bottom: 6px;\n @include bar-animation($bottombar-x);\n }\n\n @include topbar-x-rotation();\n @include topbar-back-rotation();\n @include bottombar-x-rotation();\n @include bottombar-back-rotation();\n\n @-webkit-keyframes fadeIn {\n 0% {opacity: 0;}\n 100% {opacity: 1;}\n }\n @-moz-keyframes fadeIn {\n 0% {opacity: 0;}\n 100% {opacity: 1;}\n }\n @keyframes fadeIn {\n 0% {opacity: 0;}\n 100% {opacity: 1;}\n }\n\n .dropdown-menu .divider{\n background-color: rgba(229, 229, 229, 0.15);\n }\n\n .navbar-nav {\n margin: 1px 0;\n }\n\n .dropdown-menu {\n display: none;\n\n & > li > a{\n &:hover,\n &:focus{\n background-color: transparent;\n }\n }\n }\n\n .navbar-fixed-top {\n -webkit-backface-visibility: hidden;\n }\n #bodyClick {\n height: 100%;\n width: 100%;\n position: fixed;\n opacity: 0;\n top: 0;\n left: auto;\n right: 230px;\n content: \"\";\n z-index: 9999;\n overflow-x: hidden;\n }\n .form-control + .form-control-feedback{\n margin-top: -8px;\n }\n .navbar-toggle:hover,.navbar-toggle:focus {\n background-color: transparent !important;\n }\n .btn.dropdown-toggle{\n margin-bottom: 0;\n }\n .media-post .author{\n width: 20%;\n float: none !important;\n display: block;\n margin: 0 auto 10px;\n }\n .media-post .media-body{\n width: 100%;\n }\n\n .navbar-collapse.collapse{\n height: 100% !important;\n }\n .navbar-collapse.collapse.in {\n display: block;\n }\n .navbar-header .collapse, .navbar-toggle {\n display:block !important;\n }\n .navbar-header {\n float:none;\n }\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n\n .main-panel > .content{\n padding-left: 0;\n padding-right: 0;\n }\n .nav .open > a{\n &,\n &:focus,\n &:hover{\n background-color: transparent;\n }\n\n }\n\n .footer .copyright{\n padding: 0px 15px;\n width: 100%;\n }\n}\n\n//overwrite table responsive for 768px screens\n\n@media (min-width: 992px){\n .table-full-width{\n margin-left: -15px;\n margin-right: -15px;\n }\n .table-responsive{\n overflow: visible;\n }\n\n}\n\n@media (max-width: 991px){\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n border: 1px solid #dddddd;\n overflow-x: scroll;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n -webkit-overflow-scrolling: touch;\n }\n\n}\n",".form-container {\n border: 0;\n border-radius: 2px;\n display: inline-block;\n position: relative;\n overflow: hidden;\n width: 100%;\n /*margin-bottom: 20px;*/\n font-weight: bold;\n //text-transform: uppercase;\n\n h6 {\n font-size: 15px;\n padding: 7px;\n background-color: rgba(222, 222, 222, 0.3);\n }\n\n .form-container-body {\n padding: 8px;\n }\n}\n","@font-face {\n\tfont-family: 'Pe-icon-7-stroke';\n\tsrc:url('#{$pe-7s-font-path}/Pe-icon-7-stroke.eot?d7yf1v');\n\tsrc:url('#{$pe-7s-font-path}/Pe-icon-7-stroke.eot?#iefixd7yf1v') format('embedded-opentype'),\n\t\turl('#{$pe-7s-font-path}/Pe-icon-7-stroke.woff?d7yf1v') format('woff'),\n\t\turl('#{$pe-7s-font-path}/Pe-icon-7-stroke.ttf?d7yf1v') format('truetype'),\n\t\turl('#{$pe-7s-font-path}/Pe-icon-7-stroke.svg?d7yf1v#Pe-icon-7-stroke') format('svg');\n\tfont-weight: normal;\n\tfont-style: normal;\n}\n","[class^=\"#{$font-prefix}-\"], [class*=\" #{$font-prefix}-\"] {\n\tdisplay: inline-block;\n\tfont-family: 'Pe-icon-7-stroke';\n\tspeak: none;\n\tfont-style: normal;\n\tfont-weight: normal;\n\tfont-variant: normal;\n\ttext-transform: none;\n\tline-height: 1;\n\n\t/* Better Font Rendering =========== */\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n","\n/* HELPER CLASS\n * -------------------------- */\n\n/* FA based classes */\n\n/*! Modified from font-awesome helper CSS classes - PIXEDEN\n * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (CSS: MIT License)\n */\n\n/* makes the font 33% larger relative to the icon container */\n.pe-lg {\n font-size: $font-size-base * 1.33;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n\n.pe-2x {\n font-size: 2 * $font-size-base;\n}\n\n.pe-3x {\n font-size: 3 * $font-size-base;\n}\n\n.pe-4x {\n font-size: 4 * $font-size-base;\n}\n\n.pe-5x {\n font-size: 5 * $font-size-base;\n}\n\n.pe-fw {\n width: 1.2857142857142858em;\n text-align: center;\n}\n\n.pe-ul {\n padding-left: 0;\n margin-left: 2.142857142857143em;\n list-style-type: none;\n \n & > li {\n position: relative;\n }\n}\n\n.pe-li {\n position: absolute;\n left: -2.142857142857143em;\n width: 2.142857142857143em;\n top: 0.14285714285714285em;\n text-align: center;\n\n &.pe-lg {\n left: -1.8571428571428572em;\n }\n}\n\n.pe-border {\n padding: .2em .25em .15em;\n border: solid 0.08em #eeeeee;\n border-radius: .1em;\n}\n\n.pull-right {\n float: right;\n}\n\n.pe {\n &.pull-left {\n float: left;\n margin-right: .3em;\n margin-left: .3em;\n }\n}\n\n.pe-spin {\n animation: spin 2s infinite linear;\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n\n.pe-rotate-90 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\n transform: rotate(90deg);\n}\n\n.pe-rotate-180 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n transform: rotate(180deg);\n}\n\n.pe-rotate-270 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n transform: rotate(270deg);\n}\n\n.pe-flip-horizontal {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\n transform: scale(-1, 1);\n}\n\n.pe-flip-vertical {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\n transform: scale(1, -1);\n}\n\n.pe-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n\n.pe-stack-1x,\n.pe-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n\n.pe-stack-1x {\n line-height: inherit;\n}\n\n.pe-stack-2x {\n font-size: 2em;\n}\n\n.pe-inverse {\n color: #ffffff;\n}\n\n/* Custom classes / mods - PIXEDEN */\n.pe-va {\n vertical-align: middle;\n}\n\n.pe-border {\n border: solid 0.08em #eaeaea;\n}\n",".#{$font-prefix}-album:before {\n content: $font-var-album;\n}\n\n.#{$font-prefix}-arc:before {\n content: $font-var-arc;\n}\n.#{$font-prefix}-back-2:before {\n content: $font-var-back-2;\n}\n.#{$font-prefix}-bandaid:before {\n content: $font-var-bandaid;\n}\n.#{$font-prefix}-car:before {\n content: $font-var-car;\n}\n.#{$font-prefix}-diamond:before {\n content: $font-var-diamond;\n}\n.#{$font-prefix}-door-lock:before {\n content: $font-var-door-lock;\n}\n.#{$font-prefix}-eyedropper:before {\n content: $font-var-eyedropper;\n}\n.#{$font-prefix}-female:before {\n content: $font-var-female;\n}\n.#{$font-prefix}-gym:before {\n content: $font-var-gym;\n}\n.#{$font-prefix}-hammer:before {\n content: $font-var-hammer;\n}\n.#{$font-prefix}-headphones:before {\n content: $font-var-headphones;\n}\n.#{$font-prefix}-helm:before {\n content: $font-var-helm;\n}\n.#{$font-prefix}-hourglass:before {\n content: $font-var-hourglass;\n}\n.#{$font-prefix}-leaf:before {\n content: $font-var-leaf;\n}\n.#{$font-prefix}-magic-wand:before {\n content: $font-var-magic-wand;\n}\n.#{$font-prefix}-male:before {\n content: $font-var-male;\n}\n.#{$font-prefix}-map-2:before {\n content: $font-var-map-2;\n}\n.#{$font-prefix}-next-2:before {\n content: $font-var-next-2;\n}\n.#{$font-prefix}-paint-bucket:before {\n content: $font-var-paint-bucket;\n}\n.#{$font-prefix}-pendrive:before {\n content: $font-var-pendrive;\n}\n.#{$font-prefix}-photo:before {\n content: $font-var-photo;\n}\n.#{$font-prefix}-piggy:before {\n content: $font-var-piggy;\n}\n.#{$font-prefix}-plugin:before {\n content: $font-var-plugin;\n}\n.#{$font-prefix}-refresh-2:before {\n content: $font-var-refresh-2;\n}\n.#{$font-prefix}-rocket:before {\n content: $font-var-rocket;\n}\n.#{$font-prefix}-settings:before {\n content: $font-var-settings;\n}\n.#{$font-prefix}-shield:before {\n content: $font-var-shield;\n}\n.#{$font-prefix}-smile:before {\n content: $font-var-smile;\n}\n.#{$font-prefix}-usb:before {\n content: $font-var-usb;\n}\n.#{$font-prefix}-vector:before {\n content: $font-var-vector;\n}\n.#{$font-prefix}-wine:before {\n content: $font-var-wine;\n}\n.#{$font-prefix}-cloud-upload:before {\n content: $font-var-cloud-upload;\n}\n.#{$font-prefix}-cash:before {\n content: $font-var-cash;\n}\n.#{$font-prefix}-close:before {\n content: $font-var-close;\n}\n.#{$font-prefix}-bluetooth:before {\n content: $font-var-bluetooth;\n}\n.#{$font-prefix}-cloud-download:before {\n content: $font-var-cloud-download;\n}\n.#{$font-prefix}-way:before {\n content: $font-var-way;\n}\n.#{$font-prefix}-close-circle:before {\n content: $font-var-close-circle;\n}\n.#{$font-prefix}-id:before {\n content: $font-var-id;\n}\n.#{$font-prefix}-angle-up:before {\n content: $font-var-angle-up;\n}\n.#{$font-prefix}-wristwatch:before {\n content: $font-var-wristwatch;\n}\n.#{$font-prefix}-angle-up-circle:before {\n content: $font-var-angle-up-circle;\n}\n.#{$font-prefix}-world:before {\n content: $font-var-world;\n}\n.#{$font-prefix}-angle-right:before {\n content: $font-var-angle-right;\n}\n.#{$font-prefix}-volume:before {\n content: $font-var-volume;\n}\n.#{$font-prefix}-angle-right-circle:before {\n content: $font-var-angle-right-circle;\n}\n.#{$font-prefix}-users:before {\n content: $font-var-users;\n}\n.#{$font-prefix}-angle-left:before {\n content: $font-var-angle-left;\n}\n.#{$font-prefix}-user-female:before {\n content: $font-var-user-female;\n}\n.#{$font-prefix}-angle-left-circle:before {\n content: $font-var-angle-left-circle;\n}\n.#{$font-prefix}-up-arrow:before {\n content: $font-var-up-arrow;\n}\n.#{$font-prefix}-angle-down:before {\n content: $font-var-angle-down;\n}\n.#{$font-prefix}-switch:before {\n content: $font-var-switch;\n}\n.#{$font-prefix}-angle-down-circle:before {\n content: $font-var-angle-down-circle;\n}\n.#{$font-prefix}-scissors:before {\n content: $font-var-scissors;\n}\n.#{$font-prefix}-wallet:before {\n content: $font-var-wallet;\n}\n.#{$font-prefix}-safe:before {\n content: $font-var-safe;\n}\n.#{$font-prefix}-volume2:before {\n content: $font-var-volume2;\n}\n.#{$font-prefix}-volume1:before {\n content: $font-var-volume1;\n}\n.#{$font-prefix}-voicemail:before {\n content: $font-var-voicemail;\n}\n.#{$font-prefix}-video:before {\n content: $font-var-video;\n}\n.#{$font-prefix}-user:before {\n content: $font-var-user;\n}\n.#{$font-prefix}-upload:before {\n content: $font-var-upload;\n}\n.#{$font-prefix}-unlock:before {\n content: $font-var-unlock;\n}\n.#{$font-prefix}-umbrella:before {\n content: $font-var-umbrella;\n}\n.#{$font-prefix}-trash:before {\n content: $font-var-trash;\n}\n.#{$font-prefix}-tools:before {\n content: $font-var-tools;\n}\n.#{$font-prefix}-timer:before {\n content: $font-var-timer;\n}\n.#{$font-prefix}-ticket:before {\n content: $font-var-ticket;\n}\n.#{$font-prefix}-target:before {\n content: $font-var-target;\n}\n.#{$font-prefix}-sun:before {\n content: $font-var-sun;\n}\n.#{$font-prefix}-study:before {\n content: $font-var-study;\n}\n.#{$font-prefix}-stopwatch:before {\n content: $font-var-stopwatch;\n}\n.#{$font-prefix}-star:before {\n content: $font-var-star;\n}\n.#{$font-prefix}-speaker:before {\n content: $font-var-speaker;\n}\n.#{$font-prefix}-signal:before {\n content: $font-var-signal;\n}\n.#{$font-prefix}-shuffle:before {\n content: $font-var-shuffle;\n}\n.#{$font-prefix}-shopbag:before {\n content: $font-var-shopbag;\n}\n.#{$font-prefix}-share:before {\n content: $font-var-share;\n}\n.#{$font-prefix}-server:before {\n content: $font-var-server;\n}\n.#{$font-prefix}-search:before {\n content: $font-var-search;\n}\n.#{$font-prefix}-film:before {\n content: $font-var-film;\n}\n.#{$font-prefix}-science:before {\n content: $font-var-science;\n}\n.#{$font-prefix}-disk:before {\n content: $font-var-disk;\n}\n.#{$font-prefix}-ribbon:before {\n content: $font-var-ribbon;\n}\n.#{$font-prefix}-repeat:before {\n content: $font-var-repeat;\n}\n.#{$font-prefix}-refresh:before {\n content: $font-var-refresh;\n}\n.#{$font-prefix}-add-user:before {\n content: $font-var-add-user;\n}\n.#{$font-prefix}-refresh-cloud:before {\n content: $font-var-refresh-cloud;\n}\n.#{$font-prefix}-paperclip:before {\n content: $font-var-paperclip;\n}\n.#{$font-prefix}-radio:before {\n content: $font-var-radio;\n}\n.#{$font-prefix}-note2:before {\n content: $font-var-note2;\n}\n.#{$font-prefix}-print:before {\n content: $font-var-print;\n}\n.#{$font-prefix}-network:before {\n content: $font-var-network;\n}\n.#{$font-prefix}-prev:before {\n content: $font-var-prev;\n}\n.#{$font-prefix}-mute:before {\n content: $font-var-mute;\n}\n.#{$font-prefix}-power:before {\n content: $font-var-power;\n}\n.#{$font-prefix}-medal:before {\n content: $font-var-medal;\n}\n.#{$font-prefix}-portfolio:before {\n content: $font-var-portfolio;\n}\n.#{$font-prefix}-like2:before {\n content: $font-var-like2;\n}\n.#{$font-prefix}-plus:before {\n content: $font-var-plus;\n}\n.#{$font-prefix}-left-arrow:before {\n content: $font-var-left-arrow;\n}\n.#{$font-prefix}-play:before {\n content: $font-var-play;\n}\n.#{$font-prefix}-key:before {\n content: $font-var-key;\n}\n.#{$font-prefix}-plane:before {\n content: $font-var-plane;\n}\n.#{$font-prefix}-joy:before {\n content: $font-var-joy;\n}\n.#{$font-prefix}-photo-gallery:before {\n content: $font-var-photo-gallery;\n}\n.#{$font-prefix}-pin:before {\n content: $font-var-pin;\n}\n.#{$font-prefix}-phone:before {\n content: $font-var-phone;\n}\n.#{$font-prefix}-plug:before {\n content: $font-var-plug;\n}\n.#{$font-prefix}-pen:before {\n content: $font-var-pen;\n}\n.#{$font-prefix}-right-arrow:before {\n content: $font-var-right-arrow;\n}\n.#{$font-prefix}-paper-plane:before {\n content: $font-var-paper-plane;\n}\n.#{$font-prefix}-delete-user:before {\n content: $font-var-delete-user;\n}\n.#{$font-prefix}-paint:before {\n content: $font-var-paint;\n}\n.#{$font-prefix}-bottom-arrow:before {\n content: $font-var-bottom-arrow;\n}\n.#{$font-prefix}-notebook:before {\n content: $font-var-notebook;\n}\n.#{$font-prefix}-note:before {\n content: $font-var-note;\n}\n.#{$font-prefix}-next:before {\n content: $font-var-next;\n}\n.#{$font-prefix}-news-paper:before {\n content: $font-var-news-paper;\n}\n.#{$font-prefix}-musiclist:before {\n content: $font-var-musiclist;\n}\n.#{$font-prefix}-music:before {\n content: $font-var-music;\n}\n.#{$font-prefix}-mouse:before {\n content: $font-var-mouse;\n}\n.#{$font-prefix}-more:before {\n content: $font-var-more;\n}\n.#{$font-prefix}-moon:before {\n content: $font-var-moon;\n}\n.#{$font-prefix}-monitor:before {\n content: $font-var-monitor;\n}\n.#{$font-prefix}-micro:before {\n content: $font-var-micro;\n}\n.#{$font-prefix}-menu:before {\n content: $font-var-menu;\n}\n.#{$font-prefix}-map:before {\n content: $font-var-map;\n}\n.#{$font-prefix}-map-marker:before {\n content: $font-var-map-marker;\n}\n.#{$font-prefix}-mail:before {\n content: $font-var-mail;\n}\n.#{$font-prefix}-mail-open:before {\n content: $font-var-mail-open;\n}\n.#{$font-prefix}-mail-open-file:before {\n content: $font-var-mail-open-file;\n}\n.#{$font-prefix}-magnet:before {\n content: $font-var-magnet;\n}\n.#{$font-prefix}-loop:before {\n content: $font-var-loop;\n}\n.#{$font-prefix}-look:before {\n content: $font-var-look;\n}\n.#{$font-prefix}-lock:before {\n content: $font-var-lock;\n}\n.#{$font-prefix}-lintern:before {\n content: $font-var-lintern;\n}\n.#{$font-prefix}-link:before {\n content: $font-var-link;\n}\n.#{$font-prefix}-like:before {\n content: $font-var-like;\n}\n.#{$font-prefix}-light:before {\n content: $font-var-light;\n}\n.#{$font-prefix}-less:before {\n content: $font-var-less;\n}\n.#{$font-prefix}-keypad:before {\n content: $font-var-keypad;\n}\n.#{$font-prefix}-junk:before {\n content: $font-var-junk;\n}\n.#{$font-prefix}-info:before {\n content: $font-var-info;\n}\n.#{$font-prefix}-home:before {\n content: $font-var-home;\n}\n.#{$font-prefix}-help2:before {\n content: $font-var-help2;\n}\n.#{$font-prefix}-help1:before {\n content: $font-var-help1;\n}\n.#{$font-prefix}-graph3:before {\n content: $font-var-graph3;\n}\n.#{$font-prefix}-graph2:before {\n content: $font-var-graph2;\n}\n.#{$font-prefix}-graph1:before {\n content: $font-var-graph1;\n}\n.#{$font-prefix}-graph:before {\n content: $font-var-graph;\n}\n.#{$font-prefix}-global:before {\n content: $font-var-global;\n}\n.#{$font-prefix}-gleam:before {\n content: $font-var-gleam;\n}\n.#{$font-prefix}-glasses:before {\n content: $font-var-glasses;\n}\n.#{$font-prefix}-gift:before {\n content: $font-var-gift;\n}\n.#{$font-prefix}-folder:before {\n content: $font-var-folder;\n}\n.#{$font-prefix}-flag:before {\n content: $font-var-flag;\n}\n.#{$font-prefix}-filter:before {\n content: $font-var-filter;\n}\n.#{$font-prefix}-file:before {\n content: $font-var-file;\n}\n.#{$font-prefix}-expand1:before {\n content: $font-var-expand1;\n}\n.#{$font-prefix}-exapnd2:before {\n content: $font-var-exapnd2;\n}\n.#{$font-prefix}-edit:before {\n content: $font-var-edit;\n}\n.#{$font-prefix}-drop:before {\n content: $font-var-drop;\n}\n.#{$font-prefix}-drawer:before {\n content: $font-var-drawer;\n}\n.#{$font-prefix}-download:before {\n content: $font-var-download;\n}\n.#{$font-prefix}-display2:before {\n content: $font-var-display2;\n}\n.#{$font-prefix}-display1:before {\n content: $font-var-display1;\n}\n.#{$font-prefix}-diskette:before {\n content: $font-var-diskette;\n}\n.#{$font-prefix}-date:before {\n content: $font-var-date;\n}\n.#{$font-prefix}-cup:before {\n content: $font-var-cup;\n}\n.#{$font-prefix}-culture:before {\n content: $font-var-culture;\n}\n.#{$font-prefix}-crop:before {\n content: $font-var-crop;\n}\n.#{$font-prefix}-credit:before {\n content: $font-var-credit;\n}\n.#{$font-prefix}-copy-file:before {\n content: $font-var-copy-file;\n}\n.#{$font-prefix}-config:before {\n content: $font-var-config;\n}\n.#{$font-prefix}-compass:before {\n content: $font-var-compass;\n}\n.#{$font-prefix}-comment:before {\n content: $font-var-comment;\n}\n.#{$font-prefix}-coffee:before {\n content: $font-var-coffee;\n}\n.#{$font-prefix}-cloud:before {\n content: $font-var-cloud;\n}\n.#{$font-prefix}-clock:before {\n content: $font-var-clock;\n}\n.#{$font-prefix}-check:before {\n content: $font-var-check;\n}\n.#{$font-prefix}-chat:before {\n content: $font-var-chat;\n}\n.#{$font-prefix}-cart:before {\n content: $font-var-cart;\n}\n.#{$font-prefix}-camera:before {\n content: $font-var-camera;\n}\n.#{$font-prefix}-call:before {\n content: $font-var-call;\n}\n.#{$font-prefix}-calculator:before {\n content: $font-var-calculator;\n}\n.#{$font-prefix}-browser:before {\n content: $font-var-browser;\n}\n.#{$font-prefix}-box2:before {\n content: $font-var-box2;\n}\n.#{$font-prefix}-box1:before {\n content: $font-var-box1;\n}\n.#{$font-prefix}-bookmarks:before {\n content: $font-var-bookmarks;\n}\n.#{$font-prefix}-bicycle:before {\n content: $font-var-bicycle;\n}\n.#{$font-prefix}-bell:before {\n content: $font-var-bell;\n}\n.#{$font-prefix}-battery:before {\n content: $font-var-battery;\n}\n.#{$font-prefix}-ball:before {\n content: $font-var-ball;\n}\n.#{$font-prefix}-back:before {\n content: $font-var-back;\n}\n.#{$font-prefix}-attention:before {\n content: $font-var-attention;\n}\n.#{$font-prefix}-anchor:before {\n content: $font-var-anchor;\n}\n.#{$font-prefix}-albums:before {\n content: $font-var-albums;\n}\n.#{$font-prefix}-alarm:before {\n content: $font-var-alarm;\n}\n.#{$font-prefix}-airplay:before {\n content: $font-var-airplay;\n}\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"assets/admin/css/vendor.min.css","mappings":"AAAA;;;;;;;;;;;;;;EAAA,CC4FA,mBACI,wBDlCJ,CCoCA,UACI,wBDjCJ,CCmCA,WACI,wBDhCJ,CCkCA,QACI,wBD/BJ,CEvEA,yEACI,kCACA,mCAEA,kDFyEJ,CEtEA,4BACI,eCmNyB,CDlNzB,kBFyEJ,CEtEA,OACI,eFyEJ,CEvEA,OACI,eF0EJ,CExEA,OACI,iBC8L2B,CD7L3B,gBAEA,kBF2EJ,CEzEA,cAHI,eFkFJ,CE/EA,OACI,eCyL2B,CDvL3B,iBF4EJ,CE1EA,OACI,gBCqL2B,CDnL3B,kBACA,kBF6EJ,CE3EA,cAJI,eFqFJ,CEjFA,OACI,cCgL2B,CD9K3B,wBF8EJ,CE5EA,EACI,aC2Ja,CD1Jb,iBF+EJ,CE5EA,gPACI,aCZyB,CDazB,eC2KyB,CD1KzB,iBF+EJ,CE5EA,yDACI,aF+EJ,CE7EA,iBACI,wBFgFJ,CE9EA,WACI,iBFiFJ,CE/EA,iBACI,iBFkFJ,CEhFA,YACI,UFmFJ,CEjFA,kCACI,aFoFJ,CElFA,4BACI,aFqFJ,CEnFA,kCACI,aFsFJ,CEpFA,kCACI,aFuFJ,CErFA,gCACI,aFwFJ,CEtFA,WACI,aFyFJ,CEvFA,OACI,aF0FJ,CErFA,yBACI,aF4FJ,CE1FA,cACI,aF6FJ,CE3FA,cACI,aF8FJ,CE5FA,aACI,aF+FJ,CEzFI,sHACI,aF+FR,CE7FI,8DACI,aF+FR,CE7FI,8DACI,aF+FR,CE7FI,4DACI,aF+FR,CE3FA,6CAGI,aCzFyB,CD0FzB,eF8FJ,CIzNA,KACI,cAEA,kCADA,cJ8NJ,CI5NI,cACI,iBACA,iBJ8NR,CI3NA,EACE,aJ8NF,CI5NE,gBACG,aD8Ce,CC7Cf,oBJ8NL,CI1NA,iJAKI,mBJ6NJ,CI3NA,gEAMI,kCAFA,mBJgOJ,CI1NA,mEC+QI,yBLxCJ,CI/NA,iDCuQI,2BL/BJ,CInOA,KCkQI,0BLvBJ,CIxOA,IAEI,kBADA,UJ4OJ,CIzOA,SACI,0BJ4OJ,CIzOA,YACI,eJ4OJ,CI1OA,GACI,oBJ6OJ,CI3OA,SAGI,aAFA,kBACA,KJ+OJ,CMnTA,SAOI,wBADA,sBAHA,SAKA,aHwTwB,CG5TxB,OAHA,kBACA,MAGA,SNyTJ,CMrTI,0BAOI,iCALA,gBACA,gBACA,gBAHA,kBAIA,YACA,SNwTR,CMrTI,6BASI,wBADA,sBAHA,cAFA,YAIA,OANA,kBAKA,MAFA,WAFA,SN8TR,CMnTA,6BAGI,cACA,gBAFA,WNwTJ,CMpTI,yCAEI,cADA,cNwTR,CMrTQ,6CACI,WACA,eAEA,iBADA,WNyTZ,CMrTQ,mEAGI,cACA,aHuJM,CGrJN,eHqKiB,CGpKjB,iBALA,cAGA,kBAJA,wBN8TZ,CMpTI,uCACI,eNuTR,CMpTY,iDAKI,WAHA,kBACA,kBNuThB,CMlTY,6DACI,SNqThB,CMlTY,+DACI,aH1BA,CG2BA,SNqThB,CMnTgB,6EAGI,qCAFA,6BACA,kCAEA,WACA,qBACA,kBACA,QACA,ONsTpB,CMnTgB,2EAGI,qCAFA,gCACA,kCAEA,WACA,qBACA,kBACA,WACA,ONsTpB,CMlTY,mDACI,mCACA,mDACA,iBNqThB,CMlTY,2DAEI,gBNqThB,CMlTY,mDACI,YNqThB,CMjTQ,2CAGI,eACA,gBAFA,iBADA,SAIA,wBNoTZ,CMjTQ,2CAEI,WADA,eAGA,iBADA,kBAGA,kBADA,UNqTZ,CMhTI,oFAUI,eHxHwB,CGiHxB,WADA,cAIA,YAEA,OAJA,kBAGA,MAFA,WAIA,SNoTR,COpcI,4RAEC,qBPycL,COtcI,4IACI,yCP0cR,CO7bY,oiBACI,aP2chB,COxcQ,4KACI,kCP4cZ,COpeI,wMAEC,wBPueL,COpeI,mGACI,0CPueR,CO1dY,yWACI,UPqehB,COleQ,mHACI,mCPqeZ,CO3dY,qHACI,aJQA,CIPA,SP8dhB,COheY,+GACI,aJuBH,CItBG,SPmehB,COreY,qHACI,aJmBA,CIlBA,SPwehB,CO1eY,qHACI,aJ4BA,CI3BA,SP6ehB,CO/eY,mHACI,aJiCD,CIhCC,SPkfhB,CMxWA,YACI,wBHmGoB,CG/FpB,YAEA,gBAJA,kBAGA,wBH6H0B,CG/H1B,SN6WJ,CMxWI,qBAGI,8BADA,aN0WR,CMtWI,oBACI,mCNwWR,CMrWI,oBACI,eNuWR,CMnWA,qBAWI,iCAPA,YADA,gBADA,cAMA,4BAFA,+BAIA,wCNuWJ,CQvjBA,OAME,4BLae,CKZf,gBLiKO,CKvKP,kBAQA,iBLqK6B,CK1K7B,iBLiMe,CKhMf,iBAGA,kBANA,gBACA,wBRikBF,CQxjBA,YACE,kBR2jBF,CQ1jBE,cACE,cR4jBJ,CQxjBA,eCnBI,oBN2CY,CM1CZ,aT+kBJ,CQrjBA,2BC3BI,oBN0DS,CMzDT,aTylBJ,CQ3jBA,eC/BI,oBNsDY,CMrDZ,aT8lBJ,CQ5jBA,eCnCI,oBN+DY,CM9DZ,aTmmBJ,CQ7jBA,cCvCI,oBNoEW,CMnEX,aTwmBJ,CQ9jBA,eC3CI,iBNQyB,CMPzB,UT6mBJ,CU/mBA,kCAKI,4BPea,CQlBf,wBR0Cc,COzCZ,sBC6GA,URvGyB,COHzB,cPmMa,COlMb,ePqNyB,COnNzB,eACA,iBLySA,0BL6UJ,CW5nBE,8qBAWE,wBRgCyB,CQ/BzB,UX+nBJ,CWxnBI,omDAME,wBReU,CQdV,oBX6oBN,CWzoBE,4FAEE,eX4oBJ,CW7jBE,wDAEE,oBRzEY,CQwEZ,aXikBJ,CW9jBI,8MAGE,4BRtGW,CQwGX,oBR7EuB,CQ4EvB,aXkkBN,CW7jBE,oDACE,aXgkBJ,CW9jBI,kMAGE,4BRlHW,CQmHX,aRxFuB,CQyFvB,oBXikBN,CU1rBI,4FAEI,mBV6rBR,CU3rBI,8KLgRM,eK7QD,CACA,mBV+rBT,CU5rBI,oDACI,WV+rBR,CU3rBA,4GAII,gBV8rBJ,CUzrBA,kDCtCE,wBRgDc,CQ8DZ,UXsnBJ,CWluBE,81BAWE,wBRqCyB,CQpCzB,UX0tBJ,CWntBI,o+DAME,wBRqBU,CQpBV,oBXgtBN,CW5sBE,4HAEE,eX6sBJ,CW9nBE,wEAEE,oBRnEY,CQkEZ,aXioBJ,CW9nBI,8PAGE,4BRtGW,CQwGX,oBRxEuB,CQuEvB,aX+nBN,CW1nBE,oEACE,aX4nBJ,CW1nBI,kPAGE,4BRlHW,CQmHX,aRnFuB,CQoFvB,oBX0nBN,CUztBA,kDCvCE,wBRqDc,CQyDZ,UXupBJ,CWnwBE,81BAWE,wBR0CmB,CQzCnB,UX2vBJ,CWpvBI,o+DAME,wBR0BU,CQzBV,oBXivBN,CW7uBE,4HAEE,eX8uBJ,CW/pBE,wEAEE,oBR9DY,CQ6DZ,aXkqBJ,CW/pBI,8PAGE,4BRtGW,CQwGX,oBRnEiB,CQkEjB,aXgqBN,CW3pBE,oEACE,aX6pBJ,CW3pBI,kPAGE,4BRlHW,CQmHX,aR9EiB,CQ+EjB,oBX2pBN,CUzvBA,4CCxCE,wBRyDW,CQqDT,UXwrBJ,CWpyBE,4xBAWE,wBR6CgB,CQ5ChB,UX4xBJ,CWrxBI,o1DAME,wBR8BO,CQ7BP,oBXkxBN,CW9wBE,gHAEE,eX+wBJ,CWhsBE,kEAEE,oBR1DS,CQyDT,aXmsBJ,CWhsBI,4OAGE,4BRtGW,CQwGX,oBRhEc,CQ+Dd,aXisBN,CW5rBE,8DACE,aX8rBJ,CW5rBI,gOAGE,4BRlHW,CQmHX,aR3Ec,CQ4Ed,oBX4rBN,CUzxBA,kDCzCE,wBR8Dc,CQgDZ,UXytBJ,CWr0BE,81BAWE,wBRkDmB,CQjDnB,UX6zBJ,CWtzBI,o+DAME,wBRmCU,CQlCV,oBXmzBN,CW/yBE,4HAEE,eXgzBJ,CWjuBE,wEAEE,oBRrDY,CQoDZ,aXouBJ,CWjuBI,8PAGE,4BRtGW,CQwGX,oBR3DiB,CQ0DjB,aXkuBN,CW7tBE,oEACE,aX+tBJ,CW7tBI,kPAGE,4BRlHW,CQmHX,aRtEiB,CQuEjB,oBX6tBN,CUzzBA,gDC1CE,wBRmEa,CQ2CX,UX0vBJ,CWt2BE,w0BAWE,wBRuDkB,CQtDlB,UX81BJ,CWv1BI,o7DAME,wBRwCS,CQvCT,oBXo1BN,CWh1BE,wHAEE,eXi1BJ,CWlwBE,sEAEE,oBRhDW,CQ+CX,aXqwBJ,CWlwBI,wPAGE,4BRtGW,CQwGX,oBRtDgB,CQqDhB,aXmwBN,CW9vBE,kEACE,aXgwBJ,CW9vBI,4OAGE,4BRlHW,CQmHX,aRjEgB,CQkEhB,oBX8vBN,CWl4BE,wTAWE,qBRNyB,CQOzB,UX+3BJ,CWx3BI,ktBAME,qBRpBuB,CQqBvB,iBXq3BN,CWj3BE,sCAEE,eXk3BJ,CW32BI,wBACE,aX62BN,CW32BM,2FAGE,aX22BR,CWv2BI,sBACE,UXy2BN,CWv2BM,qFAGE,aXu2BR,CWn2BI,yBACE,UXq2BN,CWn2BM,8FAGE,aXm2BR,CW/1BI,yBACE,UXi2BN,CW/1BM,8FAGE,aX+1BR,CW31BI,yBACE,UX61BN,CW31BM,8FAGE,aX21BR,CWv1BI,iPAQE,qBR5FuB,CQ6FvB,aXk1BN,CW/0BI,0DAGE,aX+0BN,CWx0BE,wBAEE,iBR5GyB,CQ2GzB,UX20BJ,CWx0BI,2FAGE,4BRtGW,CQwGX,iBRnHuB,CQkHvB,UXy0BN,CWp0BE,sBACE,UXs0BJ,CWp0BI,qFAGE,4BRlHW,CQmHX,UR9HuB,CQ+HvB,oBXo0BN,CU55BI,sCAEI,aV65BR,CU15BI,2EAGK,qBP/CoB,COgDpB,aV05BT,CUv5BI,sBACI,aVy5BR,CUv5BI,wDAEI,aVw5BR,CUr5BI,8DAEI,4BVs5BR,CUj5BK,2CErEH,yBAHA,UZ89BF,CUh5BA,YACI,QP7EyB,CO8EzB,gBVm5BJ,CUj5BI,qBACI,WVm5BR,CUh5BA,QCsDG,aR4De,COhHf,ePgI0B,CQ1E1B,iBX81BH,CW51BG,mBACI,iBX81BP,CUr5BA,QCkDG,iBRyDe,CQvDf,gBXs2BH,CWp2BG,mBACI,gBXs2BP,CU15BA,QC+CG,iBRwDY,CQtDZ,eX82BH,CW52BG,mBACI,eX82BP,CU/5BA,QACI,eVk6BJ,CU/5BA,kBACI,UVk6BJ,CUh6BA,uBACI,eVm6BJ,CUj6BA,yBAGI,gBAFA,kBAGA,UAFA,OVs6BJ,Ca5gCE,+DACE,UVuByB,CS3B3B,0BAHA,SZ8hCF,CaphCE,yCACE,UVmByB,CS3B3B,0BAHA,SZoiCF,CathCE,oCACE,UVeyB,CS3B3B,0BAHA,SZ0iCF,Cc3iCA,cAGI,4BXea,CWdb,sBAFA,gBT+RM,eSvRN,CALA,UXgByB,CWpBzB,gEAMA,cXgMa,CW/Lb,gBAFA,gBTKF,8FLkjCF,CcjjCI,2BACI,oBdmjCR,CchjCI,oBACI,yBTgRE,eS/QF,CAEA,UXCqB,CWFrB,mBdojCR,CcjjCQ,8EAGI,4BXPK,CWML,wBdmjCZ,Cc9iCI,oHToQM,eL8yBV,CcziCQ,4LAEI,qBd0iCZ,CctiCI,0BACI,yBACA,qBACA,adwiCR,CctiCQ,gCACI,kCdwiCZ,CcpiCI,qCACI,qBXiHoB,CWhHpB,cX+IS,CW9IT,gBACA,kBACA,WACA,QACA,qBdsiCR,CcniCI,oBAEI,gCADA,iCdsiCR,CcliCI,iCACI,qBdoiCR,Cc9hCI,qCAOI,aX9BQ,CWyBR,gBACA,qBAFA,2BAOA,eAJA,kBACA,WACA,QdoiCR,Cc9hCQ,uDACI,eACA,QdiiCZ,Cc3hCI,kBAEI,aX/BO,CW8BP,ed+hCR,CajmCI,2HACE,sBbqmCN,CalmCI,iHACE,gBbqmCN,CanmCM,uJACE,sBbsmCR,Ca/lCI,uEACE,ebmmCN,CajmCM,6GACE,qBbomCR,CahmCI,iFACE,qBbmmCN,CajmCM,6GACE,uBbomCR,Ca3lCI,2HACE,wBb+lCN,Ca5lCI,iHACE,iBb+lCN,Ca7lCM,uJACE,wBbgmCR,CazlCI,uEACE,iBb6lCN,Ca3lCM,6GACE,wBb8lCR,Ca1lCI,iFACE,wBb6lCN,Ca3lCM,6GACE,2Bb8lCR,CarlCI,+FAEE,gBbylCN,CavlCM,qIACE,sBb0lCR,CatlCI,yGACE,sBbylCN,CanlCI,qDACE,eACA,ebulCN,CarlCM,2FACE,qBbwlCR,CaplCI,+DACE,qBbulCN,CarlCM,sLAEE,wBbwlCR,CcjnCI,oOAEI,kCXyMS,CWxMT,WdsnCR,CcrnCQ,4fAII,kCXoMK,CWrML,Wd+nCZ,CcxnCY,iJACI,kCd2nChB,CctnCI,yGACI,kCXsLS,CWrLT,WdynCR,CcpnCI,4DACI,adunCR,CclnCI,gEACI,adqnCR,CcjnCA,mBAEI,yBACA,qBXmBwB,CWlBxB,UXnIc,CWoId,uBT5IF,8FLqwCF,CcrnCI,kFARA,qBdgoCJ,CcpnCI,mDACI,adsnCR,CcpnCI,oDACI,adsnCR,CcnnCI,kEAGI,gBdonCR,Cc/mCI,sCACI,qBXvKqB,CWwKrB,oBdknCR,Cc9mCQ,2DACI,kCdgnCZ,Cc3mCA,yBAEI,kBd8mCJ,Cc1mCI,0CACI,wBd6mCR,Cc7lCA,iFACI,wBXpLyB,CWqLzB,aXzKY,CW0KZ,kBd4mCJ,CczmCA,sBACI,gBXpNyB,CWqNzB,iBd4mCJ,CczmCA,6CACI,iBd4mCJ,CczmCA,iCACI,ad4mCJ,CczmCA,sBAII,4BXtNa,CWuNb,sBAKA,gBAJA,UXrNyB,CWuNzB,cXrCa,CWsCb,gBAFA,gBANA,eACA,aACA,WdmnCJ,Cc1mCI,yDAII,4BXlOS,CWiOT,yBT8CE,eL+jCV,CcrmCI,gMAEI,kBdymCR,Cex2CA,OACI,SACA,gBACA,WAEA,eADA,iBf42CJ,Cez2CI,kBACI,iBf22CR,Cex2CI,eACI,gBACA,OACA,kBACA,QACA,SACA,WACA,Sf02CR,Cex2CI,wCACI,Qf02CR,Cev2CI,8BAEI,cADA,eAEA,UAGA,iBAFA,kBACA,Of02CR,Cet2CI,mBACI,cACA,afw2CR,Cer2CI,8BAEI,iBZqIwB,CYtIxB,2Bfw2CR,Cep2CI,uBACI,iBfs2CR,Cen2CA,YACI,wBZqOoB,CYpOpB,afs2CJ,Cep2CA,eACI,wBZkOoB,CYjOpB,afu2CJ,Cer2CA,eACI,wBZ+NoB,CY9NpB,afw2CJ,Cet2CA,cACI,wBZSW,CYRX,Ufy2CJ,CgBl6CQ,kHAEI,4BhBy6CZ,CgBt6CG,mBACI,sBACA,gBbwMwB,CavMxB,ehBw6CP,CgBr6CG,+BAGI,mBADA,aAEA,UACA,UhBu6CP,CgBr6CG,kHAMI,aACA,qBhBu6CP,CgBp6CG,uBACI,ehBs6CP,CgBp6CG,iBACI,eACA,ebqLsB,CapLtB,eACA,gBhBs6CP,CgBp6CG,iBAEK,gBbwKuB,CazKvB,ebmLqB,CajLrB,iBACA,gBhBs6CR,CgBj6CQ,8DAEI,iBACA,iBhBk6CZ,CgB95CI,gBACI,iBhBg6CR,CgB55CI,yCACI,qBhB+5CR,CgB75CI,wCACI,wBhB+5CR,CgB75CI,kKAMI,gBhB+5CR,CiBx+CA,iBAUI,adTS,CcUT,eAJA,cdiMa,CchMb,gBACA,gBAPA,mBACA,kBACA,kBAEA,oCjBi/CJ,CiB1+CI,+BACE,adbO,CcuBP,eATA,cAQA,eAPA,YACA,OAKA,iBAMC,WAVD,kBAGA,kBAFA,MAOA,qCANA,UjBo/CN,CiBv+CQ,+CACI,SjB0+CZ,CiBt+CI,6BAEI,aADA,sBjB0+CR,CiBn+CI,6BACI,iBjBu+CR,CiBn+CA,gHAQE,6BAJA,qBLlDA,0BKoDA,OAGA,SL1DA,SK2DiB,CALjB,kBAEA,KjB0+CF,CiBr+CA,yDL1DE,wBAHA,SZwiDF,CiBv+CA,6BAGE,2BjB0+CF,CiBx+CA,qDLnEE,wBAHA,SZojDF,CiB1+CA,uDLvEE,0BAHA,SZ0jDF,CiBx+CA,yDAGE,wBADA,SjB4+CF,CiBz+CA,2DAGE,0BADA,UAIA,2BjB2+CF,CiBz+CA,mCAGE,UdpE2B,CcmE3B,cjB6+CF,CiB1+CA,iDAEE,UjB6+CF,CiB3+CA,2DAGE,0BADA,SjB++CF,CiB5+CA,6DAGE,wBADA,SjBg/CF,CiB7+CA,iEAEE,UjBg/CF,CiB9+CA,2EAGE,wBADA,SjBk/CF,CiB/+CA,6EAGE,UdhG2B,CciG3B,0BAFA,SjBo/CF,CkBlnDQ,gCAEI,4BlBqnDZ,CkBjnDA,QACI,QfJyB,CeKzB,gBACA,af0Le,CezLf,SlBonDJ,CkBlnDI,sBACI,UfNqB,CeUrB,cfyLiB,Ce5LjB,ef0MqB,CezMrB,Yf+O0B,Ce9O1B,iBlBqnDR,CkBjnDS,yBACI,oBACA,af+NoB,Ce9NpB,iBlBmnDb,CkBjnDY,sDAEI,qBACA,QlBmnDhB,CkBjnDY,2BAEI,iBADA,kBAEA,OlBmnDhB,CkBhnDS,6BACI,efoNoB,CenNpB,gBlBknDb,CkB/mDI,aACG,elBknDP,CkB/mDI,iCAFG,clBonDP,CkB7mDA,8BACI,iBf0H2B,CezH3B,elBgnDJ,CkB7mDA,gBAEI,wBf3DyB,Ce4DzB,6BAFA,UlBknDJ,CkB9mDI,uBACI,oBlBgnDR,CkB7mDQ,2CACI,UlB+mDZ,CkB5mDQ,oPAKI,6BACA,kBNtEV,0BAHA,SZyrDF,CkB3mDQ,0GAEI,2BfxBC,CeyBD,wBlB6mDZ,CkBzmDQ,wHAGI,6BACA,alB2mDZ,CkBxmDQ,kGACI,4BlB0mDZ,CkBrmDI,4DAEI,oBf5CK,Ce2CL,alBwmDR,CkBrmDI,+KAGQ,alBqmDZ,CkBjmDA,abmLU,eLm7CV,CkBpmDG,2BLvFD,6BAFA,SADA,gBK+FM,afvFqB,CeqFrB,afgFW,CejFX,YAEA,iBf0GuB,CUtM7B,SbssDF,CkBvmDI,6FAGI,QfvHqB,CewHrB,2CAFA,UlB0mDR,CkBnmDA,mBCjII,wBnBwuDJ,CkBpmDA,gBCpII,wBnB4uDJ,CkBrmDA,mBCvII,wBnBgvDJ,CkBtmDA,mBC1II,wBnBovDJ,CkBvmDA,kBC7II,wBnBwvDJ,CkBvmDA,oBAEI,6BACA,oCAFA,gBlB4mDJ,CkBvmDA,eAGI,QftJyB,CeqJzB,mBADA,elB4mDJ,CkBxmDI,yBACI,qBlB0mDR,CkBxmDK,4DAEG,wBlB0mDR,CkBvmDI,sGAEI,4BlBwmDR,CkBlmDI,mENvKF,yBAHA,UZixDF,CkBnmDQ,8JAII,6BN/KV,0BAHA,SZsxDF,CkB5lDI,yGAEI,UlB6lDR,CkBvlDQ,6FAII,iBfhMiB,Ce8LjB,Uf9LiB,CSH3B,yBAHA,UZ+xDF,CkBnlDQ,+hBAUI,6BAEA,kBAEA,UfpNiB,CSH3B,0BAHA,SZ8yDF,CkB9kDQ,uGAEI,4BlB+kDZ,CkB3kDQ,uUAMI,wBftOiB,CewOjB,qBlB2kDZ,CkBvkDQ,qQAMI,6BAEA,UfpPiB,CSH3B,0BAHA,SZm0DF,CkBjkDI,iEAII,iBfhQqB,Ce8PrB,UlBmkDR,CkB7jDI,mFAII,qBfxQqB,CesQrB,af7OqB,CS5B3B,yBAHA,UZ60DF,CkBzjDI,+fAUI,iBfxRqB,CSH3B,0BAHA,SZ01DF,CoB71DA,QACI,4BAEA,iBADA,iBpBi2DJ,CoB91DQ,eAIE,gBAHA,gBACA,SACA,SpBi2DV,CoB/1DY,kBACQ,qBAGA,iBADA,gBADA,kBAGA,iBpBi2DpB,CoB/1DY,2BACI,ajBhBH,CiBiBG,cACA,iBpBi2DhB,CoB/1DgB,kEAEI,apBg2DpB,CoB31DI,mBACI,ajB5BK,CiB8BL,eAGA,iBADA,gBAHA,kBAKA,kBAHA,kBpBg2DR,CoB31DI,eACI,apB61DR,CqBp4DA,eACI,wBlBYyB,CkBXzB,SACA,iBlB4K2B,CEoHrB,+DgBvRN,CARA,cTEF,wBSDE,gBTFF,SSQmB,CALjB,UACA,kBACA,kBACA,YrB24DJ,CqBr4DI,qBTTF,0BAHA,SSauB,CACjB,kBrBw4DR,CqBr4DI,wBACI,wBlBPqB,CkBQrB,QrBu4DR,CqBp4DI,gCACI,alBQqB,CkBPrB,iBlB6KU,CkB5KV,iBrBs4DR,CqBl4DI,uBACG,2BlBqMoB,CE6DjB,egBjQH,CAIA,iBhB6RC,mBAgBA,0BFnGqB,CEmEzB,0BLooDJ,CqB/4DI,4BACI,erBi5DR,CqB94DI,oBACG,alB3CM,CkB4CN,clB2JU,CkB1JV,kBhB4QH,eLyoDJ,CqBl5DO,wBACI,erBo5DX,CqBj5DI,0BACI,mBrBm5DR,CqBh5DI,iCACI,crBk5DR,CqB/4DI,gCACG,0BlBgHwB,CkB/GxB,2BrBi5DP,CqB94DI,+BACI,6BlB2GuB,CkB1GvB,8BrBg5DR,CqB74DI,wCAEI,gBADA,erBg5DR,CqB54DI,oDAEI,wBlBnCQ,CkBoCR,uBlB7EU,CkB8EV,UACA,oBrB84DR,CqBv4DI,sKAEI,wBrB24DR,CqBz4DI,sFAEI,wBrB04DR,CqBx4DI,sFAEI,wBrBy4DR,CqBv4DI,oFAEI,wBrBw4DR,CqBl4DA,kBACI,erBq4DJ,CqBn4DA,uBACI,gBrBs4DJ,CsBv/DA,MAaI,sBAZA,SACA,qBnBwKwB,CmBvKxB,yCAEA,anB2TwB,CmBpTxB,sBANA,mBACA,kBACA,StB8/DJ,CsBv/DI,kBACI,cACA,etBy/DR,CsBt/DI,QACI,atBw/DR,CsBr/DI,aAII,0BADA,aADA,gBAGA,kBAGA,4BAPA,UtB8/DR,CsBr/DQ,iBACI,UtBu/DZ,CsBp/DI,eACI,sBtBs/DR,CsBp/DI,cACI,gBtBs/DR,CsBp/DI,mBAEI,anB5CK,CmB2CL,atBu/DR,CsBn/DI,SACI,iBACA,kBACA,kBtBq/DR,CsBl/DI,SACI,iBnBgJU,CmB/IV,QtBo/DR,CsBl/DI,4BAEI,cnB4IS,CmB3IT,enB6JqB,CmB1JrB,gBADA,yBtBo/DR,CsBl/DQ,gCACI,atBq/DZ,CsBj/DI,YAII,qBAHA,eACA,kBACA,0BAEA,qBtBm/DR,CsBh/DI,aAEI,anB+OoB,CmB9OpB,enBwIqB,CmB1IrB,QtBo/DR,CsBh/DI,cAII,kBAFA,YAGA,iBAFA,gBAFA,UtBs/DR,CsBh/DI,cAEI,iBADA,StBm/DR,CsBh/DQ,sBACI,atBk/DZ,CsB/+DQ,iBAEI,kBADA,ctBk/DZ,CsB9+DI,aACI,cACA,etBg/DR,CsB/+DQ,eACI,iBACA,ctBk/DZ,CsB9+DI,iCAHQ,oBtBo/DZ,CsB7+DI,cACI,iBnBkFU,CmBjFV,enBsGqB,CmBrGrB,wBtB++DR,CsB7+DI,gBACI,ctB++DR,CsB5+DI,2BAKI,qBnBlGqB,CmBmGrB,WALA,YAMA,kBALA,YACA,MACA,StBi/DR,CsB3+DI,gBAEI,aADA,atB8+DR,CsBz+DQ,oEAEI,iBtB2+DZ,CsBx+DQ,kEAEI,kBtB0+DZ,CsBt+DI,aACI,iBnBmBwB,CmBlBxB,iBtBw+DR,CsBt+DQ,6BACI,iBtBw+DZ,CsBr+DI,gBACI,cACA,etBu+DR,CsBr+DI,eACI,cACA,gBtBu+DR,CsBt+DQ,iBACI,QtBw+DZ,CsBp+DQ,yBACI,ctBs+DZ,CsBr+DY,0CACI,+BtBu+DhB,CsBl+DI,mBXnLF,wBRgDc,CQ8DZ,UX2iEJ,CWvpEE,6WAWE,wBRqCyB,CQpCzB,UX+oEJ,CWxoEI,k2BAME,wBRqBU,CQpBV,oBXqoEN,CWjoEE,kDAEE,eXkoEJ,CWnjEE,8BAEE,oBRnEY,CQkEZ,aXsjEJ,CWnjEI,6GAGE,4BRtGW,CQwGX,oBRxEuB,CQuEvB,aXojEN,CW/iEE,4BACE,aXijEJ,CW/iEI,uGAGE,4BRlHW,CQmHX,aRnFuB,CQoFvB,oBX+iEN,CsB9/DI,mBXvLF,wBRqDc,CQyDZ,UX2kEJ,CWvrEE,6WAWE,wBR0CmB,CQzCnB,UX+qEJ,CWxqEI,k2BAME,wBR0BU,CQzBV,oBXqqEN,CWjqEE,kDAEE,eXkqEJ,CWnlEE,8BAEE,oBR9DY,CQ6DZ,aXslEJ,CWnlEI,6GAGE,4BRtGW,CQwGX,oBRnEiB,CQkEjB,aXolEN,CW/kEE,4BACE,aXilEJ,CW/kEI,uGAGE,4BRlHW,CQmHX,aR9EiB,CQ+EjB,oBX+kEN,CsB1hEI,gBX3LF,wBRyDW,CQqDT,UX2mEJ,CWvtEE,4UAWE,wBR6CgB,CQ5ChB,UX+sEJ,CWxsEI,0xBAME,wBR8BO,CQ7BP,oBXqsEN,CWjsEE,4CAEE,eXksEJ,CWnnEE,2BAEE,oBR1DS,CQyDT,aXsnEJ,CWnnEI,oGAGE,4BRtGW,CQwGX,oBRhEc,CQ+Dd,aXonEN,CW/mEE,yBACE,aXinEJ,CW/mEI,8FAGE,4BRlHW,CQmHX,aR3Ec,CQ4Ed,oBX+mEN,CsBtjEI,mBX/LF,wBR8Dc,CQgDZ,UX2oEJ,CWvvEE,6WAWE,wBRkDmB,CQjDnB,UX+uEJ,CWxuEI,k2BAME,wBRmCU,CQlCV,oBXquEN,CWjuEE,kDAEE,eXkuEJ,CWnpEE,8BAEE,oBRrDY,CQoDZ,aXspEJ,CWnpEI,6GAGE,4BRtGW,CQwGX,oBR3DiB,CQ0DjB,aXopEN,CW/oEE,4BACE,aXipEJ,CW/oEI,uGAGE,4BRlHW,CQmHX,aRtEiB,CQuEjB,oBX+oEN,CsBllEI,kBXnMF,wBRmEa,CQ2CX,UX2qEJ,CWvxEE,kWAWE,wBRuDkB,CQtDlB,UX+wEJ,CWxwEI,00BAME,wBRwCS,CQvCT,oBXqwEN,CWjwEE,gDAEE,eXkwEJ,CWnrEE,6BAEE,oBRhDW,CQ+CX,aXsrEJ,CWnrEI,0GAGE,4BRtGW,CQwGX,oBRtDgB,CQqDhB,aXorEN,CW/qEE,2BACE,aXirEJ,CW/qEI,oGAGE,4BRlHW,CQmHX,aRjEgB,CQkEhB,oBX+qEN,CWnzEE,gYAWE,qBRNyB,CQOzB,UX+yEJ,CWxyEI,k2BAME,qBRpBuB,CQqBvB,iBXqyEN,CWjyEE,kDAEE,eXkyEJ,CW3xEI,8BACE,aX6xEN,CW3xEM,6GAGE,aX2xER,CWvxEI,4BACE,UXyxEN,CWvxEM,uGAGE,aXuxER,CWnxEI,+BACE,UXqxEN,CWnxEM,gHAGE,aXmxER,CW/wEI,+BACE,UXixEN,CW/wEM,gHAGE,aX+wER,CW3wEI,+BACE,UX6wEN,CW3wEM,gHAGE,aX2wER,CWvwEI,iSAQE,qBR5FuB,CQ6FvB,aXkwEN,CW/vEI,4EAGE,aX+vEN,CWxvEE,8BAEE,iBR5GyB,CQ2GzB,UX2vEJ,CWxvEI,6GAGE,4BRtGW,CQwGX,iBRnHuB,CQkHvB,UXyvEN,CWpvEE,4BACE,UXsvEJ,CWpvEI,uGAGE,4BRlHW,CQmHX,UR9HuB,CQ+HvB,oBXovEN,CsB9qEI,kBACI,0BACA,aAEA,gBADA,iBtBkrER,CsB/qEQ,sBACI,UtBirEZ,CsB9qEI,wBACI,SACA,gBtBgrER,CsB9qEI,mBAGI,iBAFA,kBACA,mBtBirER,CsB/qEQ,0BACI,atBirEZ,CsBhrEY,gCACI,atBkrEhB,CsB9qEI,mBAGI,kBADA,aAGA,mBADA,kBAHA,WtBorER,CsB9qEQ,gCACI,qBtBgrEZ,CsB9qEQ,+BACI,wBtBgrEZ,CsB7qEI,kBACI,gBACA,gBtB+qER,CsB7qEI,wBACI,etB+qER,CsB7qEI,oBACI,gBtB+qER,CsB3qEQ,8BACI,aACA,WtB6qEZ,CsBvqEI,eACI,aACA,gBtB0qER,CsBxqEQ,mBACI,WtB0qEZ,CsBpqEI,uCACI,qBtBwqER,CsBtqEI,6BACI,etByqER,CsBtqEA,YACI,6BAEA,gBADA,etB0qEJ,CsBvqEI,mBACI,iBtByqER,CuBx1EE,UAxDA,mBtB7Bc,CsB8Bd,oBtB9Bc,CsB+Bd,ctB9Ba,CsB+Bb,avBo5EF,CuB31EE,iDArEA,cAKA,YvBq6EF,CuBh2EE,iCAGE,kBA9FF,oBA4F4B,CAxF5B,0BAwFsC,CArFpC,evBi8EJ,CuBv2EE,+BAGE,kBApGF,sBAkG4B,CA9F5B,0BA8FwC,CA3FtC,evB88EJ,CuB92EE,+BAGE,gBA1GF,oBAwG4B,CApG5B,wBAoGsC,CA/FpC,gBvBy9EJ,CuBr3EE,6BAGE,kBAhHF,oBA8G4B,CA1G5B,0BA0GsC,CAvGpC,evBw+EJ,CuB53EE,+CAGE,kBAtHF,oBAoH4B,CAhH5B,sBAgHsC,CAzGpC,iBvBi/EJ,CuBn4EE,6CAGE,kBA5HF,sBA0H4B,CAtH5B,sBAsHwC,CA/GtC,iBvB8/EJ,CuB14EE,kEAGE,kBAlIF,oBAgI4B,CA5H5B,0BA4HsC,CAzHpC,evB+gFJ,CuBj5EE,gEAGE,kBAxIF,sBAsI4B,CAlI5B,0BAkIwC,CA/HtC,evB4hFJ,CuBx5EE,gEAIE,gBA/IF,kBA6I4B,CAzI5B,wBAyIoC,CApIlC,gBvBuiFJ,CuB95EE,8DAGE,gBArJF,kBAmJ4B,CA/I5B,0BA+IoC,CA5IlC,evBsjFJ,CuBr6EE,SAvHA,qBtB7Bc,CsB8Bd,gBtB5Bc,CsB+BZ,oBvB8hFJ,CuBv6EE,UAlHA,iBtB/Bc,CsBgCd,oBvB6hFF,CuBx6EE,SAjHA,UACA,gBvB6hFF,CuBz6EE,SA5GA,YACA,evByhFF,CuB16EE,QA3GA,UACA,iBvByhFF,CuB36EE,gBA1GA,UACA,iBvByhFF,CuBrhFE,+FACE,cvBwhFJ,CuBrhFE,iDACE,YvBuhFJ,CuB5hFE,+FACE,cvB+hFJ,CuB5hFE,iDACE,YvB8hFJ,CuBniFE,+FACE,cvBsiFJ,CuBniFE,iDACE,YvBqiFJ,CuB1iFE,+FACE,cvB6iFJ,CuB1iFE,iDACE,YvB4iFJ,CuBjjFE,+FACE,cvBojFJ,CuBjjFE,iDACE,YvBmjFJ,CuBxjFE,+FACE,yBvB2jFJ,CuBxjFE,iDACE,uBvB0jFJ,CuB/jFE,+FACE,yBvBkkFJ,CuB/jFE,iDACE,uBvBikFJ,CuBtkFE,+FACE,0BvBykFJ,CuBtkFE,iDACE,wBvBwkFJ,CuB7kFE,+FACE,yBvBglFJ,CuB7kFE,iDACE,uBvB+kFJ,CuBplFE,+FACE,yBvBulFJ,CuBplFE,iDACE,uBvBslFJ,CuB3lFE,+FACE,yBvB8lFJ,CuB3lFE,iDACE,uBvB6lFJ,CuBlmFE,+FACE,yBvBqmFJ,CuBlmFE,iDACE,uBvBomFJ,CuBzmFE,+FACE,0BvB4mFJ,CuBzmFE,iDACE,wBvB2mFJ,CuBhnFE,+FACE,yBvBmnFJ,CuBhnFE,iDACE,uBvBknFJ,CuBvnFE,+FACE,yBvB0nFJ,CuBvnFE,iDACE,uBvBynFJ,CuBrgFM,WA/NJ,cACA,kBACA,UvBwuFF,CuBtuFE,kBAGE,WAFA,cACA,WAGA,SACA,oBAFA,OvB0uFJ,CuBruFE,iBAGE,WAFA,WACA,avBwuFJ,CuBpuFE,eACE,cAGA,OAFA,kBACA,KvBuuFJ,CuB9hFM,iBA/NJ,cACA,kBACA,UvBiwFF,CuB/vFE,wBAGE,WAFA,cACA,WAGA,SACA,sBAFA,OvBmwFJ,CuB9vFE,uBAGE,WAFA,WACA,avBiwFJ,CuB7vFE,qBACE,cAGA,OAFA,kBACA,KvBgwFJ,CuBvjFM,iBA/NJ,cACA,kBACA,UvB0xFF,CuBxxFE,wBAGE,WAFA,cACA,WAGA,SACA,8BAFA,OvB4xFJ,CuBvxFE,uBAGE,WAFA,WACA,avB0xFJ,CuBtxFE,qBACE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AEA,cALA,kBAEA,UxByoGR,CwBnoGE,8BAGI,YAFA,wBACA,UxBsoGN,CwBnoGE,kBAGE,6BxBqoGJ,CwBnoGE,MnB8FC,4CAEA,6BACA,qCAEA,6BmBlGC,KxB2oGJ,CwBxoGE,MACE,SxB0oGJ,CwBxoGE,MnBuFC,+CAEA,gCACA,qCAEA,6BmB3FC,QxBgpGJ,CwB7oGE,enBmFC,yCAEA,0BACA,qCAEA,6BmBvFC,OxBqpGJ,CwBlpGE,eACE,SxBopGJ,CwBlpGE,enB4EC,4CAEA,6BACA,qCAEA,6BmBhFC,UxB0pGJ,CKtkGE,oBACE,GAAI,MAAU,sBL0kGhB,CKzkGE,IAAK,QAAU,wBL6kGjB,CK5kGE,IAAK,wBL+kGP,CK9kGE,GAAM,wBLilGR,CACF,CKhlGE,4BACE,GAAI,MAAU,8BLolGhB,CKnlGE,IAAK,QAAU,gCLulGjB,CKtlGE,IAAK,gCLylGP,CKxlGE,GAAO,gCL2lGT,CACF,CKjlGE,uBACE,GAAK,QAAU,wBLqmGjB,CKpmGE,IAAM,wBLumGR,CKtmGE,IAAM,sBLymGR,CKxmGE,GAAO,MAAU,mBL4mGnB,CACF,CK1mGE,+BACE,GAAK,QAAU,gCL8mGjB,CK7mGE,IAAM,gCLgnGR,CK/mGE,IAAM,8BLknGR,CKjnGE,GAAO,MAAU,2BLqnGnB,CACF,CK1mGE,uBACE,GAAI,SAAa,sBL8nGnB,CK7nGE,IAAK,WAAa,yBLioGpB,CKhoGE,IAAK,yBLmoGP,CKloGE,GAAM,yBLqoGR,CACF,CKpoGE,+BACE,GAAI,SAAa,8BLwoGnB,CKvoGE,IAAK,WAAa,iCL2oGpB,CK1oGE,IAAK,iCL6oGP,CK5oGE,GAAM,iCL+oGR,CACF,CKroGE,0BACE,GAAK,WAAY,yBLypGnB,CKxpGE,IAAM,uBL2pGR,CK1pGE,IAAM,uBL6pGR,CK5pGE,GAAO,SAAY,mBLgqGrB,CACF,CK/pGE,kCACE,GAAI,WAAY,iCLmqGlB,CKlqGE,IAAK,+BLqqGP,CKpqGE,IAAK,+BLuqGP,CKtqGE,GAAM,SAAY,2BL0qGpB,CACF,CwBj0GE,0BACE,GAAI,SxBo1GN,CwBn1GE,GAAM,SxBs1GR,CACF,CwBj1GE,kBACE,GAAI,SxB41GN,CwB31GE,GAAM,SxB81GR,CACF,CwB51GE,wBACI,mCxB81GN,CwB31GE,YACI,YxB61GN,CwB11GE,eACI,YxB41GN,CwBz1GU,oDAEI,4BxB01Gd,CwBr1GE,kBACI,kCxBu1GN,CwBr1GE,WAQI,WAPA,YAKA,UAFA,UAMA,kBAPA,eAIA,YAFA,MAHA,WAOA,YxBw1GN,CwBr1GE,qCACI,exBu1GN,CwBr1GE,0CACI,sCxBu1GN,CwBr1GE,qBACI,exBu1GN,CwBr1GE,oBAGI,cADA,qBAEA,mBAHA,SxB01GN,CwBr1GE,wBACI,UxBu1GN,CwBp1GE,0BACI,qBxBs1GN,CwBp1GE,6BACI,axBs1GN,CwBp1GE,wCACI,uBxBs1GN,CwBp1GE,eACI,UxBs1GN,CwBp1GE,iCAKI,6BACA,SAEA,gBANA,WAEA,aAHA,gBAEA,UxB21GN,CwBn1GE,qBACI,eACA,exBq1GN,CwBl1GM,mDAGI,4BxBk1GV,CwB70GE,mBACI,eACA,UxB+0GN,CACF,CwB10GA,yBACI,kBACI,kBACA,kBxB40GN,CwB10GE,kBACI,gBxB40GN,CACF,CwBx0GA,yBACI,kBAMI,4CACA,iCAJA,sBADA,mBAEA,kBACA,kBAJA,UxBg1GN,CACF,CyBtwHA,gBACI,SACA,kBACA,qBAKA,gBAHA,gBADA,kBAEA,UzB0wHJ,CyBrwHI,mBAGI,mCAFA,eACA,WzBwwHR,CyBpwHI,qCACI,WzBswHR,C0BxxHA,WACC,6BAOA,kBADA,gBALA,iDACA,2R1BgyHD,C2BnyHA,mCAGC,WAQA,mCACA,kCAXA,qBACA,6BAEA,kBAEA,oBADA,gBAGA,cADA,mB3ByyHD;A4B1yHA;;;EAAA,CAMA,OACE,kBACA,kBACA,mB5B+yHF,C4B5yHA,OACE,c5B+yHF,C4B5yHA,OACE,c5B+yHF,C4B5yHA,OACE,c5B+yHF,C4B5yHA,OACE,c5B+yHF,C4B5yHA,OAEE,kBADA,oB5BgzHF,C4B5yHA,OAGE,qBADA,2BADA,c5BizHF,C4B7yHE,UACE,iB5B+yHJ,C4B3yHA,OAEE,qBADA,kBAIA,kBADA,kBADA,oB5BgzHF,C4B5yHE,aACE,oB5B8yHJ,C4B1yHA,WAEE,wBACA,mBAFA,wB5B+yHF,C4B1yHA,YACE,W5B6yHF,C4BzyHE,cACE,WAEA,iBADA,iB5B6yHJ,C4BxyHA,SACE,2E5B2yHF,C4BxyHA,wBACE,GACE,sB5B2yHF,C4BzyHA,GACE,wB5B2yHF,CACF,C4BjzHA,gBACE,GACE,sB5B2yHF,C4BzyHA,GACE,wB5B2yHF,CACF,C4BxyHA,cACE,gEACA,uB5B0yHF,C4BvyHA,eACE,gEACA,wB5B0yHF,C4BvyHA,eACE,gEACA,wB5B0yHF,C4BvyHA,oBACE,yEACA,oB5B0yHF,C4BvyHA,kBACE,yEACA,oB5B0yHF,C4BvyHA,UAEE,qBAEA,WACA,gBAJA,kBAKA,sBAHA,S5B6yHF,C4BvyHA,0BAGE,OADA,kBAGA,kBADA,U5B2yHF,C4BvyHA,aACE,mB5B0yHF,C4BvyHA,aACE,a5B0yHF,C4BvyHA,YACE,U5B0yHF,C4BtyHA,OACE,qB5B0yHF,C4BvyHA,WACE,0B5B0yHF,C6Bl8HA,oBACE,e7Bq8HF,C6Bl8HA,kBACE,e7Bq8HF,C6Bn8HA,qBACE,e7Bs8HF,C6Bp8HA,sBACE,e7Bu8HF,C6Br8HA,kBACE,e7Bw8HF,C6Bt8HA,sBACE,e7By8HF,C6Bv8HA,wBACE,e7B08HF,C6Bx8HA,yBACE,e7B28HF,C6Bz8HA,qBACE,e7B48HF,C6B18HA,kBACE,e7B68HF,C6B38HA,qBACE,e7B88HF,C6B58HA,yBACE,e7B+8HF,C6B78HA,mBACE,e7Bg9HF,C6B98HA,wBACE,e7Bi9HF,C6B/8HA,mBACE,e7Bk9HF,C6Bh9HA,yBACE,e7Bm9HF,C6Bj9HA,mBACE,e7Bo9HF,C6Bl9HA,oBACE,e7Bq9HF,C6Bn9HA,qBACE,e7Bs9HF,C6Bp9HA,2BACE,e7Bu9HF,C6Br9HA,uBACE,e7Bw9HF,C6Bt9HA,oBACE,e7By9HF,C6Bv9HA,oBACE,e7B09HF,C6Bx9HA,qBACE,e7B29HF,C6Bz9HA,wBACE,e7B49HF,C6B19HA,qBACE,e7B69HF,C6B39HA,uBACE,e7B89HF,C6B59HA,qBACE,e7B+9HF,C6B79HA,oBACE,e7Bg+HF,C6B99HA,kBACE,e7Bi+HF,C6B/9HA,qBACE,e7Bk+HF,C6Bh+HA,mBACE,e7Bm+HF,C6Bj+HA,2BACE,e7Bo+HF,C6Bl+HA,mBACE,e7Bq+HF,C6Bn+HA,oBACE,e7Bs+HF,C6Bp+HA,wBACE,e7Bu+HF,C6Br+HA,6BACE,e7Bw+HF,C6Bt+HA,kBACE,e7By+HF,C6Bv+HA,2BACE,e7B0+HF,C6Bx+HA,iBACE,e7B2+HF,C6Bz+HA,uBACE,e7B4+HF,C6B1+HA,yBACE,e7B6+HF,C6B3+HA,8BACE,e7B8+HF,C6B5+HA,oBACE,e7B++HF,C6B7+HA,0BACE,e7Bg/HF,C6B9+HA,qBACE,e7Bi/HF,C6B/+HA,iCACE,e7Bk/HF,C6Bh/HA,oBACE,e7Bm/HF,C6Bj/HA,yBACE,e7Bo/HF,C6Bl/HA,0BACE,e7Bq/HF,C6Bn/HA,gCACE,e7Bs/HF,C6Bp/HA,uBACE,e7Bu/HF,C6Br/HA,yBACE,e7Bw/HF,C6Bt/HA,qBACE,e7By/HF,C6Bv/HA,gCACE,e7B0/HF,C6Bx/HA,uBACE,e7B2/HF,C6Bz/HA,qBACE,e7B4/HF,C6B1/HA,mBACE,e7B6/HF,C6B3/HA,sBACE,e7B8/HF,C6B5/HA,sBACE,e7B+/HF,C6B7/HA,wBACE,e7BggIF,C6B9/HA,oBACE,e7BigIF,C6B//HA,mBACE,e7BkgIF,C6BhgIA,qBACE,e7BmgIF,C6BjgIA,qBACE,e7BogIF,C6BlgIA,uBACE,e7BqgIF,C6BngIA,oBACE,e7BsgIF,C6BpgIA,oBACE,e7BugIF,C6BrgIA,oBACE,e7BwgIF,C6BtgIA,qBACE,e7BygIF,C6BvgIA,qBACE,e7B0gIF,C6BxgIA,kBACE,e7B2gIF,C6BzgIA,oBACE,e7B4gIF,C6B1gIA,wBACE,e7B6gIF,C6B3gIA,mBACE,e7B8gIF,C6B5gIA,sBACE,e7B+gIF,C6B7gIA,qBACE,e7BghIF,C6B9gIA,sBACE,e7BihIF,C6B/gIA,sBACE,e7BkhIF,C6BhhIA,oBACE,e7BmhIF,C6BjhIA,qBACE,e7BohIF,C6BlhIA,qBACE,e7BqhIF,C6BnhIA,mBACE,e7BshIF,C6BphIA,sBACE,e7BuhIF,C6BrhIA,mBACE,e7BwhIF,C6BthIA,qBACE,e7ByhIF,C6BvhIA,qBACE,e7B0hIF,C6BxhIA,sBACE,e7B2hIF,C6BzhIA,uBACE,e7B4hIF,C6B1hIA,4BACE,e7B6hIF,C6B3hIA,wBACE,e7B8hIF,C6B5hIA,oBACE,e7B+hIF,C6B7hIA,oBACE,e7BgiIF,C6B9hIA,oBACE,e7BiiIF,C6B/hIA,sBACE,e7BkiIF,C6BhiIA,mBACE,e7BmiIF,C6BjiIA,mBACE,e7BoiIF,C6BliIA,oBACE,e7BqiIF,C6BniIA,oBACE,e7BsiIF,C6BpiIA,wBACE,e7BuiIF,C6BriIA,oBACE,e7BwiIF,C6BtiIA,mBACE,e7ByiIF,C6BviIA,yBACE,e7B0iIF,C6BxiIA,mBACE,e7B2iIF,C6BziIA,kBACE,e7B4iIF,C6B1iIA,oBACE,e7B6iIF,C6B3iIA,kBACE,e7B8iIF,C6B5iIA,4BACE,e7B+iIF,C6B7iIA,kBACE,e7BgjIF,C6B9iIA,oBACE,e7BijIF,C6B/iIA,mBACE,e7BkjIF,C6BhjIA,kBACE,e7BmjIF,C6BjjIA,0BACE,e7BojIF,C6BljIA,0BACE,e7BqjIF,C6BnjIA,0BACE,e7BsjIF,C6BpjIA,oBACE,e7BujIF,C6BrjIA,2BACE,e7BwjIF,C6BtjIA,uBACE,e7ByjIF,C6BvjIA,mBACE,e7B0jIF,C6BxjIA,mBACE,e7B2jIF,C6BzjIA,yBACE,e7B4jIF,C6B1jIA,wBACE,e7B6jIF,C6B3jIA,oBACE,e7B8jIF,C6B5jIA,oBACE,e7B+jIF,C6B7jIA,mBACE,e7BgkIF,C6B9jIA,mBACE,e7BikIF,C6B/jIA,sBACE,e7BkkIF,C6BhkIA,oBACE,e7BmkIF,C6BjkIA,mBACE,e7BokIF,C6BlkIA,kBACE,e7BqkIF,C6BnkIA,yBACE,e7BskIF,C6BpkIA,mBACE,e7BukIF,C6BrkIA,wBACE,e7BwkIF,C6BtkIA,6BACE,e7BykIF,C6BvkIA,qBACE,e7B0kIF,C6BxkIA,mBACE,e7B2kIF,C6BzkIA,mBACE,e7B4kIF,C6B1kIA,mBACE,e7B6kIF,C6B3kIA,sBACE,e7B8kIF,C6B5kIA,mBACE,e7B+kIF,C6B7kIA,mBACE,e7BglIF,C6B9kIA,oBACE,e7BilIF,C6B/kIA,mBACE,e7BklIF,C6BhlIA,qBACE,e7BmlIF,C6BjlIA,mBACE,e7BolIF,C6BllIA,mBACE,e7BqlIF,C6BnlIA,mBACE,e7BslIF,C6BplIA,oBACE,e7BulIF,C6BrlIA,oBACE,e7BwlIF,C6BtlIA,qBACE,e7BylIF,C6BvlIA,qBACE,e7B0lIF,C6BxlIA,qBACE,e7B2lIF,C6BzlIA,oBACE,e7B4lIF,C6B1lIA,qBACE,e7B6lIF,C6B3lIA,oBACE,e7B8lIF,C6B5lIA,sBACE,e7B+lIF,C6B7lIA,mBACE,e7BgmIF,C6B9lIA,qBACE,e7BimIF,C6B/lIA,mBACE,e7BkmIF,C6BhmIA,qBACE,e7BmmIF,C6BjmIA,mBACE,e7BomIF,C6BlmIA,sBACE,e7BqmIF,C6BnmIA,sBACE,e7BsmIF,C6BpmIA,mBACE,e7BumIF,C6BrmIA,mBACE,e7BwmIF,C6BtmIA,qBACE,e7BymIF,C6BvmIA,uBACE,e7B0mIF,C6BxmIA,uBACE,e7B2mIF,C6BzmIA,uBACE,e7B4mIF,C6B1mIA,uBACE,e7B6mIF,C6B3mIA,mBACE,e7B8mIF,C6B5mIA,kBACE,e7B+mIF,C6B7mIA,sBACE,e7BgnIF,C6B9mIA,mBACE,e7BinIF,C6B/mIA,qBACE,e7BknIF,C6BhnIA,wBACE,e7BmnIF,C6BjnIA,qBACE,e7BonIF,C6BlnIA,sBACE,e7BqnIF,C6BnnIA,sBACE,e7BsnIF,C6BpnIA,qBACE,e7BunIF,C6BrnIA,oBACE,e7BwnIF,C6BtnIA,oBACE,e7BynIF,C6BvnIA,oBACE,e7B0nIF,C6BxnIA,mBACE,e7B2nIF,C6BznIA,mBACE,e7B4nIF,C6B1nIA,qBACE,e7B6nIF,C6B3nIA,mBACE,e7B8nIF,C6B5nIA,yBACE,e7B+nIF,C6B7nIA,sBACE,e7BgoIF,C6B9nIA,mBACE,e7BioIF,C6B/nIA,mBACE,e7BkoIF,C6BhoIA,wBACE,e7BmoIF,C6BjoIA,sBACE,e7BooIF,C6BloIA,mBACE,e7BqoIF,C6BnoIA,sBACE,e7BsoIF,C6BpoIA,mBACE,e7BuoIF,C6BroIA,mBACE,e7BwoIF,C6BtoIA,wBACE,e7ByoIF,C6BvoIA,qBACE,e7B0oIF,C6BxoIA,qBACE,e7B2oIF,C6BzoIA,oBACE,e7B4oIF,C6B1oIA,sBACE,e7B6oIF,C","sources":["webpack:///./resources/sass/admin/paper-dashboard.scss","webpack:///./resources/sass/admin/paper/mixins/_chartist.scss","webpack:///./resources/sass/admin/paper/_typography.scss","webpack:///./resources/sass/admin/paper/_variables.scss","webpack:///./resources/sass/admin/paper/_misc.scss","webpack:///./resources/sass/admin/paper/mixins/_vendor-prefixes.scss","webpack:///./resources/sass/admin/paper/_sidebar-and-main-panel.scss","webpack:///./resources/sass/admin/paper/mixins/_sidebar.scss","webpack:///./resources/sass/admin/paper/_badges.scss","webpack:///./resources/sass/admin/paper/mixins/_badges.scss","webpack:///./resources/sass/admin/paper/_buttons.scss","webpack:///./resources/sass/admin/paper/mixins/_buttons.scss","webpack:///./resources/sass/admin/paper/mixins/_transparency.scss","webpack:///./resources/sass/admin/paper/mixins/_inputs.scss","webpack:///./resources/sass/admin/paper/_inputs.scss","webpack:///./resources/sass/admin/paper/_alerts.scss","webpack:///./resources/sass/admin/paper/_tables.scss","webpack:///./resources/sass/admin/paper/_checkbox-radio.scss","webpack:///./resources/sass/admin/paper/_navbars.scss","webpack:///./resources/sass/admin/paper/mixins/_navbars.scss","webpack:///./resources/sass/admin/paper/_footers.scss","webpack:///./resources/sass/admin/paper/_dropdown.scss","webpack:///./resources/sass/admin/paper/_cards.scss","webpack:///./resources/sass/admin/paper/_chartist.scss","webpack:///./resources/sass/admin/paper/_responsive.scss","webpack:///./resources/sass/admin/paper/_form-container.scss","webpack:///./node_modules/pe7-icon/dist/scss/_path.scss","webpack:///./node_modules/pe7-icon/dist/scss/_core.scss","webpack:///./node_modules/pe7-icon/dist/scss/_helper.scss","webpack:///./node_modules/pe7-icon/dist/scss/_icons.scss"],"sourcesContent":["/*!\n\n =========================================================\n * Paper Dashboard - v1.1.2\n =========================================================\n\n * Product Page: http://www.creative-tim.com/product/paper-dashboard\n * Copyright 2017 Creative Tim (http://www.creative-tim.com)\n * Licensed under MIT (https://github.com/creativetimofficial/paper-dashboard/blob/master/LICENSE.md)\n\n =========================================================\n\n * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\n */\n\n\n@import \"paper/variables\";\n@import \"paper/mixins\";\n\n@import \"paper/typography\";\n\n// Core CSS\n@import \"paper/misc\";\n@import \"paper/sidebar-and-main-panel\";\n@import \"paper/badges\";\n@import \"paper/buttons\";\n@import \"paper/inputs\";\n\n@import \"paper/alerts\";\n@import \"paper/tables\";\n\n@import \"paper/checkbox-radio\";\n@import \"paper/navbars\";\n@import \"paper/footers\";\n\n@import \"paper/dropdown\";\n@import \"paper/cards\";\n@import \"paper/chartist\";\n@import \"paper/responsive\";\n@import \"paper/form-container\";\n\n$pe-7s-font-path: \"../../fonts\" !default;\n@import \"../../../node_modules/pe7-icon/dist/scss/pe-icon-7-stroke\";\n","// Scales for responsive SVG containers\n$ct-scales: ((1), (15/16), (8/9), (5/6), (4/5), (3/4), (2/3), (5/8), (1/1.618), (3/5), (9/16), (8/15), (1/2), (2/5), (3/8), (1/3), (1/4)) !default;\n$ct-scales-names: (ct-square, ct-minor-second, ct-major-second, ct-minor-third, ct-major-third, ct-perfect-fourth, ct-perfect-fifth, ct-minor-sixth, ct-golden-section, ct-major-sixth, ct-minor-seventh, ct-major-seventh, ct-octave, ct-major-tenth, ct-major-eleventh, ct-major-twelfth, ct-double-octave) !default;\n\n// Class names to be used when generating CSS\n$ct-class-chart: ct-chart !default;\n$ct-class-chart-line: ct-chart-line !default;\n$ct-class-chart-bar: ct-chart-bar !default;\n$ct-class-horizontal-bars: ct-horizontal-bars !default;\n$ct-class-chart-pie: ct-chart-pie !default;\n$ct-class-chart-donut: ct-chart-donut !default;\n$ct-class-label: ct-label !default;\n$ct-class-series: ct-series !default;\n$ct-class-line: ct-line !default;\n$ct-class-point: ct-point !default;\n$ct-class-area: ct-area !default;\n$ct-class-bar: ct-bar !default;\n$ct-class-slice-pie: ct-slice-pie !default;\n$ct-class-slice-donut: ct-slice-donut !default;\n$ct-class-grid: ct-grid !default;\n$ct-class-vertical: ct-vertical !default;\n$ct-class-horizontal: ct-horizontal !default;\n$ct-class-start: ct-start !default;\n$ct-class-end: ct-end !default;\n\n// Container ratio\n$ct-container-ratio: (1/1.618) !default;\n\n// Text styles for labels\n$ct-text-color: rgba(0, 0, 0, 0.4) !default;\n$ct-text-size: 0.9em !default;\n$ct-text-align: flex-start !default;\n$ct-text-justify: flex-start !default;\n$ct-text-line-height: 1;\n\n// Grid styles\n$ct-grid-color: rgba(0, 0, 0, 0.2) !default;\n$ct-grid-dasharray: 2px !default;\n$ct-grid-width: 1px !default;\n\n// Line chart properties\n$ct-line-width: 4px !default;\n$ct-line-dasharray: false !default;\n$ct-point-size: 10px !default;\n// Line chart point, can be either round or square\n$ct-point-shape: round !default;\n// Area fill transparency between 0 and 1\n$ct-area-opacity: 0.7 !default;\n\n// Bar chart bar width\n$ct-bar-width: 10px !default;\n\n// Donut width (If donut width is to big it can cause issues where the shape gets distorted)\n$ct-donut-width: 60px !default;\n\n// If set to true it will include the default classes and generate CSS output. If you're planning to use the mixins you\n// should set this property to false\n$ct-include-classes: true !default;\n\n// If this is set to true the CSS will contain colored series. You can extend or change the color with the\n// properties below\n$ct-include-colored-series: $ct-include-classes !default;\n\n// If set to true this will include all responsive container variations using the scales defined at the top of the script\n$ct-include-alternative-responsive-containers: $ct-include-classes !default;\n\n// Series names and colors. This can be extended or customized as desired. Just add more series and colors.\n$ct-series-names: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) !default;\n$ct-series-colors: (\n $info-color,\n $warning-color,\n $danger-color,\n $success-color,\n $primary-color,\n rgba($info-color,.8),\n rgba($success-color,.8),\n rgba($warning-color,.8),\n rgba($danger-color,.8),\n rgba($primary-color,.8),\n rgba($info-color,.6),\n rgba($success-color,.6),\n rgba($warning-color,.6),\n rgba($danger-color,.6),\n rgba($primary-color,.6)\n \n) !default;\n\n// Paper Kit Colors\n\n.ct-blue{\n stroke: $primary-color !important;\n}\n.ct-azure{\n stroke: $info-color !important;\n}\n.ct-green{\n stroke: $success-color !important;\n}\n.ct-orange{\n stroke: $warning-color !important;\n}\n.ct-red{\n stroke: $danger-color !important;\n}","h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p, .navbar, .brand, a, .td-name, td{\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n //font-family: 'Roboto', \"Helvetica\", Arial, sans-serif;\n font-family: \"Roboto\",\"Helvetica Neue\",Arial,sans-serif;\n}\n\nh1, .h1, h2, .h2, h3, .h3, h4, .h4{\n font-weight: $font-weight-normal;\n margin: $margin-large-vertical 0 $margin-base-vertical;\n}\n\nh1, .h1 {\n font-size: $font-size-h1;\n}\nh2, .h2{\n font-size: $font-size-h2;\n}\nh3, .h3{\n font-size: $font-size-h3;\n line-height: 1.4;\n font-weight: $font-weight-light;\n margin: 20px 0 10px;\n}\nh4, .h4{\n font-size: $font-size-h4;\n font-weight: $font-weight-light;\n line-height: 1.2em;\n}\nh5, .h5 {\n font-size: $font-size-h5;\n font-weight: $font-weight-light;\n line-height: 1.4em;\n margin-bottom: 15px;\n}\nh6, .h6{\n font-size: $font-size-h6;\n font-weight: $font-weight-light;\n text-transform: uppercase;\n}\np{\n font-size: $font-paragraph;\n line-height: $line-height-general;\n}\n\nh1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small {\n color: $dark-gray;\n font-weight: $font-weight-light;\n line-height: $line-height-general;\n}\n\nh1 small, h2 small, h3 small, h1 .small, h2 .small, h3 .small {\n font-size: 60%;\n}\n.title-uppercase{\n text-transform: uppercase;\n}\nblockquote{\n font-style: italic;\n}\nblockquote small{\n font-style: normal;\n}\n.text-muted{\n color: $medium-gray;\n}\n.text-primary, .text-primary:hover{\n color: $primary-states-color;\n}\n.text-info, .text-info:hover{\n color: $info-states-color;\n}\n.text-success, .text-success:hover{\n color: $success-states-color;\n}\n.text-warning, .text-warning:hover{\n color: $warning-states-color;\n}\n.text-danger, .text-danger:hover{\n color: $danger-states-color;\n}\n.glyphicon{\n line-height: 1;\n}\nstrong{\n color: $default-states-color;\n}\n.icon-primary{\n color: $primary-color;\n}\n.icon-info{\n color: $info-color;\n}\n.icon-success{\n color: $success-color;\n}\n.icon-warning{\n color: $warning-color;\n}\n.icon-danger{\n color: $danger-color;\n}\n.chart-legend{\n .text-primary, .text-primary:hover{\n color: $primary-color;\n }\n .text-info, .text-info:hover{\n color: $info-color;\n }\n .text-success, .text-success:hover{\n color: $success-color;\n }\n .text-warning, .text-warning:hover{\n color: $warning-color;\n }\n .text-danger, .text-danger:hover{\n color: $danger-color;\n }\n}\n\n.description,\n.card-description,\n.footer-big p {\n color: $dark-gray;\n font-weight: $font-weight-light;\n}\n","$phpvms-blue: #067ec1 !default;\n\n$font-color: #4b4743 !default;\n$fill-font-color: rgba(182, 182, 182, 0.7);\n\n$none: 0 !default;\n$border-thin: 1px !default;\n$border-thick: 2px !default;\n\n$white-color: #FFFFFF !default;\n$white-bg: #FFFFFF !default;\n\n$smoke-bg: #F5F5F5 !default;\n$pale-bg: #FFFCF5 !default;\n$medium-pale-bg: #F1EAE0 !default;\n\n$table-line-color: #CCC5B9 !default;\n$muted-color: #a49e93 !default;\n\n$black-bg: rgba(30,30,30,.97) !default;\n$transparent-bg: transparent !default;\n$dark-background: #555555 !default;\n\n$black-color: #333333 !default;\n$black-hr: #444444 !default;\n\n$white-background-color: #FFFFFF !default;\n$black-background-color: #212120 !default;\n//$black-background-color: #1a2932 !default;\n//$black-background-color: #0c1419 !default;\n\n\n$light-gray: #E3E3E3 !default;\n$medium-gray: #DDDDDD !default;\n$dark-gray: #9A9A9A !default;\n\n$gray-input-bg: #fffcf5 !default;\n$danger-input-bg: #fffcf5 !default;\n$success-input-bg: #fffcf5 !default;\n$other-medium-gray: #A49E93 !default;\n$transparent-bg: transparent !default;\n\n$black-color: #2c2c2c !default;\n//$default-color: #2f2d2a !default; //#66615B !default;\n$default-color: #2c2c2c !default; //#66615B !default;\n//$default-bg: #66615B !default;\n$default-bg: #FFFFFF !default;\n$default-states-color: #403D39 !default;\n\n//$primary-color: #7A9E9F !default;\n$primary-color: #067ec1 !default;\n$primary-bg: darken($primary-color, 5%) !default;\n$primary-states-color: #427C89 !default;\n\n//$success-color: #7AC29A !default;\n$success-color: #18ce0f !default;\n$success-bg: darken($success-color, 5%) !default;\n$success-states-color: darken($success-color, 5%) !default;\n\n$info-color: #067ec1 !default; //#2CA8FF !default;\n$info-states-color: #0688d0 !default; // #109CFF !default;\n$info-color-opacity: rgba(44, 168, 255, .3) !default;\n$info-color-alert: rgba(44, 168, 255, .8) !default;\n\n$warning-color: #FFB236 !default;\n$warning-states-color: darken($warning-color, 5%) !default;\n$warning-color-opacity: rgba(255, 178, 54, .3) !default;\n$warning-color-alert: rgba(255, 178, 54, .8) !default;\n\n$danger-color: #FF3636 !default;\n$danger-states-color: darken($danger-color, 5%) !default;\n$danger-color-opacity: rgba(255, 54, 54, .3) !default;\n$danger-color-alert: rgba(255, 54, 54, .8) !default;\n\n/* brand Colors */\n$brand-primary: #067ec1 !default;\n$brand-info: $info-color !default;\n$brand-success: $success-color !default;\n$brand-warning: $warning-color !default;\n$brand-danger: $danger-color !default;\n$brand-inverse: $black-color !default;\n\n/*\n$default-color: #B8B8B8 !default;\n$default-states-color: darken($default-color, 5%) !default;\n$default-color-opacity: rgba(182, 182, 182, .6) !default;\n\n$primary-color: #f96332 !default;\n$primary-states-color: darken($primary-color, 5%) !default;\n$primary-color-opacity: rgba(249, 99, 50, .3) !default;\n$primary-color-alert: rgba(249, 99, 50, .8) !default;\n\n$success-color: #18ce0f !default;\n$success-states-color: darken($success-color, 5%) !default;\n$success-color-opacity: rgba(24, 206, 15, .3) !default;\n$success-color-alert: rgba(24, 206, 15, .8) !default;\n\n$info-color: #2CA8FF !default;\n$info-states-color: #109CFF !default;\n$info-color-opacity: rgba(44, 168, 255, .3) !default;\n$info-color-alert: rgba(44, 168, 255, .8) !default;\n\n$warning-color: #FFB236 !default;\n$warning-states-color: darken($warning-color, 5%) !default;\n$warning-color-opacity: rgba(255, 178, 54, .3) !default;\n$warning-color-alert: rgba(255, 178, 54, .8) !default;\n\n$danger-color: #FF3636 !default;\n$danger-states-color: darken($danger-color, 5%) !default;\n$danger-color-opacity: rgba(255, 54, 54, .3) !default;\n$danger-color-alert: rgba(255, 54, 54, .8) !default;\n*/\n\n$link-disabled-color: #666666 !default;\n\n\n/* light colors - used for select dropdown */\n\n$light-blue: rgba($primary-color, .2);\n$light-azure: rgba($info-color, .2);\n$light-green: rgba($success-color, .2);\n$light-orange: rgba($warning-color, .2);\n$light-red: rgba($danger-color, .2);\n\n\n//== Components\n//\n$padding-input-vertical: 11px !default;\n$padding-input-horizontal: 19px !default;\n\n$padding-btn-vertical: 11px !default;\n$padding-btn-horizontal: 22px !default;\n\n$padding-base-vertical: 7px !default;\n$padding-base-horizontal: 18px !default;\n\n$padding-round-vertical: 9px !default;\n$padding-round-horizontal: 18px !default;\n\n$padding-simple-vertical: 10px !default;\n$padding-simple-horizontal: 18px !default;\n\n$padding-large-vertical: 11px !default;\n$padding-large-horizontal: 30px !default;\n\n$padding-small-vertical: 4px !default;\n$padding-small-horizontal: 10px !default;\n\n$padding-xs-vertical: 2px !default;\n$padding-xs-horizontal: 5px !default;\n\n$padding-label-vertical: 2px !default;\n$padding-label-horizontal: 12px !default;\n\n// padding for links inside dropdown menu\n$padding-dropdown-vertical: 10px !default;\n$padding-dropdown-horizontal: 15px !default;\n\n$margin-large-vertical: 30px !default;\n$margin-base-vertical: 15px !default;\n\n// border radius for buttons\n$border-radius-btn-small: 26px !default;\n$border-radius-btn-base: 20px !default;\n$border-radius-btn-large: 50px !default;\n\n\n// Cristina: am schimbat aici si s-au modificat inputurile\n$margin-bottom: 0 0 10px 0 !default;\n$border: 1px solid !default;\n$border-radius-extra-small: 0.125rem !default;\n$border-radius-tiny: 0.1875rem !default;\n$border-radius-small: 0.1875px !default;\n$border-radius-base: 2px !default;\n$border-radius-large: 3px !default;\n$border-radius-extreme: 6px !default;\n\n$border-radius-large-top: $border-radius-large $border-radius-large 0 0 !default;\n$border-radius-large-bottom: 0 0 $border-radius-large $border-radius-large !default;\n\n$btn-round-radius: 30px !default;\n\n$height-base: 40px !default;\n\n$btn-icon-font-size: 24px !default;\n$btn-icon-size: 56px !default;\n$btn-icon-size-mini: 36px !default;\n$btn-icon-font-size-mini: 14px !default;\n\n/*$font-size-base: 14px !default;\n$font-size-xs: 12px !default;\n$font-size-small: 12px !default;\n$font-size-medium: 16px !default;\n$font-size-large: 18px !default;\n$font-size-large-navbar: 20px !default;*/\n\n$font-paragraph: 1em !default;\n$font-size-navbar: 1em !default;\n$font-size-mini: 0.7142em !default;\n$font-size-xs: 0.7142em !default;\n$font-size-small: 0.8571em !default;\n$font-size-base: 14px !default;\n$font-size-medium: 14px !default;\n$font-size-large: 1em !default;\n$font-size-large-navbar: 20px !default;\n$font-size-blockquote: 1.1em !default; // ~ 15px\n\n$font-size-h1: 3.2em !default;\n$font-size-h2: 2.6em !default;\n$font-size-h3: 1.825em !default;\n$font-size-h4: 1.5em !default;\n$font-size-h5: 1.25em !default;\n$font-size-h6: 0.9em !default;\n$font-paragraph: 16px !default;\n$font-size-navbar: 16px !default;\n$font-size-small: 12px !default;\n$font-size-mini: 0.7142em !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-semi: 500 !default;\n$font-weight-bold: 600 !default;\n\n$line-height-small: 20px !default;\n$line-height-general: 1.4em !default;\n$line-height: 36px !default;\n$line-height-lg: 54px !default;\n\n\n$border-radius-top: 10px 10px 0 0 !default;\n$border-radius-bottom: 0 0 10px 10px !default;\n\n$dropdown-shadow: 0 2px rgba(17, 16, 15, 0.1), 0 2px 10px rgba(17, 16, 15, 0.1);\n\n$general-transition-time: 300ms !default;\n\n$slow-transition-time: 300ms !default;\n$dropdown-coordinates: 29px -50px !default;\n\n$fast-transition-time: 150ms !default;\n$select-coordinates: 50% -40px !default;\n\n$transition-linear: linear !default;\n$transition-bezier: cubic-bezier(0.34, 1.61, 0.7, 1) !default;\n$transition-ease: ease 0s;\n\n$navbar-padding-a: 10px 15px;\n$navbar-margin-a: 15px 0px;\n\n$padding-social-a: 10px 5px;\n\n$navbar-margin-a-btn: 15px 3px;\n$navbar-margin-a-btn-round: 16px 3px;\n\n\n$navbar-padding-brand: 20px 15px;\n$navbar-margin-brand: 5px 0px;\n\n$navbar-margin-brand-icons: 12px auto;\n\n$navbar-margin-btn: 15px 3px;\n\n$height-icon:\t\t\t\t\t 64px !default;\n$width-icon:\t\t\t\t\t 64px !default;\n$padding-icon:\t\t\t\t\t 12px !default;\n$border-radius-icon:\t\t 15px !default;\n\n\n$white-navbar: rgba(#FFFFFF, .96);\n$blue-navbar: rgba(#34ACDC, .98);\n$azure-navbar: rgba(#5BCAFF, .98);\n$green-navbar: rgba(#4CD964, .98);\n$orange-navbar: rgba(#FF9500, .98);\n$red-navbar: rgba(#FF4C40, .98);\n\n$bg-nude: #ebeff2 !default;\n$bg-primary: #8ECFD5 !default;\n$bg-info: #7CE4FE !default;\n$bg-success: #8EF3C5 !default;\n$bg-warning: #FFE28C !default;\n$bg-danger: #FF4C40 !default;\n\n$topbar-x: topbar-x !default;\n$topbar-back: topbar-back !default;\n$bottombar-x: bottombar-x !default;\n$bottombar-back: bottombar-back !default;\n\n$transition-linear: linear !default;\n$transition-bezier: cubic-bezier(0.34, 1.61, 0.7, 1) !default;\n$transition-ease: ease 0s;\n$transition-ease-in: ease-in !default;\n$transition-ease-out: ease-out !default;\n\n$general-transition-time: 300ms !default;\n\n$slow-transition-time: 370ms !default;\n$dropdown-coordinates: 29px -50px !default;\n\n$fast-transition-time: 150ms !default;\n\n$ultra-fast-transition-time: 100ms !default;\n\n$select-coordinates: 50% -40px !default;\n\n$padding-zero: 0px !default;\n\n$sidebar-width: calc(100% - 260px) !default;\n$medium-dark-gray: #AAAAAA !default;\n\n$light-gray: #E3E3E3 !default;\n$medium-gray: #DDDDDD !default;\n$dark-gray: #9A9A9A !default;\n\n$opacity-gray-3: rgba(222, 222, 222, .3) !default;\n$opacity-gray-5: rgba(222, 222, 222, .5) !default;\n\n$opacity-5: rgba(255, 255, 255, .5) !default;\n$opacity-8: rgba(255, 255, 255, .8) !default;\n\n//variables used in cards\n$card-black-color: #2c2c2c !default;\n$card-muted-color: #ccc5b9 !default;\n\n//variables used for sidebar\n$sidebar-background-dark-blue: #506367;\n\n$sidebar-background-blue: #b8d8d8 !default;\n$sidebar-font-blue: #506568 !default;\n$sidebar-subtitle-blue: #7a9e9f !default;\n\n$sidebar-background-green: #d5e5a3 !default;\n$sidebar-font-green: #60773d !default;\n$sidebar-subtitle-green: #92ac56 !default;\n\n$sidebar-background-yellow: #ffe28c !default;\n$sidebar-font-yellow: #b25825 !default;\n$sidebar-subtitle-yellow: #d88715 !default;\n\n$sidebar-background-brown: #d6c1ab !default;\n$sidebar-font-brown: #75442e !default;\n$sidebar-subtitle-brown: #a47e65 !default;\n\n$sidebar-background-purple: #baa9ba !default;\n$sidebar-font-purple: #3a283d !default;\n$sidebar-subtitle-purple: #5a283d !default;\n\n$sidebar-background-orange: #ff8f5e !default;\n$sidebar-font-orange: #772510 !default;\n$sidebar-subtitle-orange: #e95e37 !default;\n","/* General overwrite */\nbody{\n color: $font-color;\n font-size: $font-size-base;\n font-family: 'Muli', Arial, sans-serif;\n .wrapper{\n min-height: 100vh;\n position: relative;\n }\n}\na{\n color: $info-color;\n\n &:hover, &:focus{\n color: $info-states-color;\n text-decoration: none;\n }\n}\n\na:focus, a:active,\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner,\nselect::-moz-focus-inner,\ninput[type=\"file\"] > input[type=\"button\"]::-moz-focus-inner{\n outline:0 !important;\n}\n.ui-slider-handle:focus,\n.navbar-toggle,\ninput:focus,\nbutton:focus {\n outline : 0 !important;\n -webkit-box-shadow: inset 0 -2px 0 #2196f3;\n box-shadow: inset 0 -2px 0 #2196f3;\n}\n\n/* Animations */\n.form-control,\n.input-group-addon,\n.tagsinput,\n.navbar,\n.navbar .alert{\n @include transition($general-transition-time, $transition-linear);\n}\n\n.sidebar .nav a,\n.table > tbody > tr .td-actions .btn{\n @include transition($fast-transition-time, $transition-ease-in);\n}\n\n.btn{\n @include transition($ultra-fast-transition-time, $transition-ease-in);\n}\n.fa{\n width: 21px;\n text-align: center;\n}\n.fa-base{\n font-size: 1.25em !important;\n}\n\n.margin-top{\n margin-top: 50px;\n}\nhr{\n border-color: $medium-pale-bg;\n}\n.wrapper{\n position: relative;\n top: 0;\n height: 100vh;\n}\n","// User select\n// For selecting text on the page\n\n@mixin box-shadow($shadow...) {\n -webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1\n box-shadow: $shadow;\n}\n\n@mixin transition-input-focus-color() {\n -webkit-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;\n -moz-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;\n -o-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;\n -ms-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;\n transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;\n}\n\n@mixin transition($time, $type) {\n -webkit-transition: all $time $type;\n -moz-transition: all $time $type;\n -o-transition: all $time $type;\n -ms-transition: all $time $type;\n transition: all $time $type;\n}\n\n@mixin rotate-180() {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n@mixin transform-translate-x($value) {\n -webkit-transform: translate3d($value, 0, 0);\n -moz-transform: translate3d($value, 0, 0);\n -o-transform: translate3d($value, 0, 0);\n -ms-transform: translate3d($value, 0, 0);\n transform: translate3d($value, 0, 0);\n}\n\n@mixin transform-translate-y($value) {\n -webkit-transform: translate3d(0, $value, 0);\n -moz-transform: translate3d(0, $value, 0);\n -o-transform: translate3d(0, $value, 0);\n -ms-transform: translate3d(0, $value, 0);\n transform: translate3d(0, $value, 0);\n}\n\n@mixin bar-animation($type) {\n -webkit-animation: $type 500ms linear 0s;\n -moz-animation: $type 500ms linear 0s;\n animation: $type 500ms 0s;\n -webkit-animation-fill-mode: forwards;\n -moz-animation-fill-mode: forwards;\n animation-fill-mode: forwards;\n}\n\n@mixin topbar-x-rotation() {\n @keyframes topbar-x {\n 0% {\n top: 0px;\n transform: rotate(0deg);\n }\n 45% {\n top: 6px;\n transform: rotate(145deg);\n }\n 75% {\n transform: rotate(130deg);\n }\n 100% {\n transform: rotate(135deg);\n }\n }\n @-webkit-keyframes topbar-x {\n 0% {\n top: 0px;\n -webkit-transform: rotate(0deg);\n }\n 45% {\n top: 6px;\n -webkit-transform: rotate(145deg);\n }\n 75% {\n -webkit-transform: rotate(130deg);\n }\n 100% {\n -webkit-transform: rotate(135deg);\n }\n }\n @-moz-keyframes topbar-x {\n 0% {\n top: 0px;\n -moz-transform: rotate(0deg);\n }\n 45% {\n top: 6px;\n -moz-transform: rotate(145deg);\n }\n 75% {\n -moz-transform: rotate(130deg);\n }\n 100% {\n -moz-transform: rotate(135deg);\n }\n }\n}\n\n@mixin topbar-back-rotation() {\n @keyframes topbar-back {\n 0% {\n top: 6px;\n transform: rotate(135deg);\n }\n 45% {\n transform: rotate(-10deg);\n }\n 75% {\n transform: rotate(5deg);\n }\n 100% {\n top: 0px;\n transform: rotate(0);\n }\n }\n\n @-webkit-keyframes topbar-back {\n 0% {\n top: 6px;\n -webkit-transform: rotate(135deg);\n }\n 45% {\n -webkit-transform: rotate(-10deg);\n }\n 75% {\n -webkit-transform: rotate(5deg);\n }\n 100% {\n top: 0px;\n -webkit-transform: rotate(0);\n }\n }\n\n @-moz-keyframes topbar-back {\n 0% {\n top: 6px;\n -moz-transform: rotate(135deg);\n }\n 45% {\n -moz-transform: rotate(-10deg);\n }\n 75% {\n -moz-transform: rotate(5deg);\n }\n 100% {\n top: 0px;\n -moz-transform: rotate(0);\n }\n }\n}\n\n@mixin bottombar-x-rotation() {\n @keyframes bottombar-x {\n 0% {\n bottom: 0px;\n transform: rotate(0deg);\n }\n 45% {\n bottom: 6px;\n transform: rotate(-145deg);\n }\n 75% {\n transform: rotate(-130deg);\n }\n 100% {\n transform: rotate(-135deg);\n }\n }\n @-webkit-keyframes bottombar-x {\n 0% {\n bottom: 0px;\n -webkit-transform: rotate(0deg);\n }\n 45% {\n bottom: 6px;\n -webkit-transform: rotate(-145deg);\n }\n 75% {\n -webkit-transform: rotate(-130deg);\n }\n 100% {\n -webkit-transform: rotate(-135deg);\n }\n }\n @-moz-keyframes bottombar-x {\n 0% {\n bottom: 0px;\n -moz-transform: rotate(0deg);\n }\n 45% {\n bottom: 6px;\n -moz-transform: rotate(-145deg);\n }\n 75% {\n -moz-transform: rotate(-130deg);\n }\n 100% {\n -moz-transform: rotate(-135deg);\n }\n }\n}\n\n@mixin bottombar-back-rotation {\n @keyframes bottombar-back {\n 0% {\n bottom: 6px;\n transform: rotate(-135deg);\n }\n 45% {\n transform: rotate(10deg);\n }\n 75% {\n transform: rotate(-5deg);\n }\n 100% {\n bottom: 0px;\n transform: rotate(0);\n }\n }\n @-webkit-keyframes bottombar-back {\n 0% {\n bottom: 6px;\n -webkit-transform: rotate(-135deg);\n }\n 45% {\n -webkit-transform: rotate(10deg);\n }\n 75% {\n -webkit-transform: rotate(-5deg);\n }\n 100% {\n bottom: 0px;\n -webkit-transform: rotate(0);\n }\n }\n @-moz-keyframes bottombar-back {\n 0% {\n bottom: 6px;\n -moz-transform: rotate(-135deg);\n }\n 45% {\n -moz-transform: rotate(10deg);\n }\n 75% {\n -moz-transform: rotate(-5deg);\n }\n 100% {\n bottom: 0px;\n -moz-transform: rotate(0);\n }\n }\n\n}\n\n@mixin nc-rotate($degrees, $rotation) {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});\n -webkit-transform: rotate($degrees);\n -moz-transform: rotate($degrees);\n -ms-transform: rotate($degrees);\n -o-transform: rotate($degrees);\n transform: rotate($degrees);\n}\n\n@mixin nc-flip($horiz, $vert, $rotation) {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});\n -webkit-transform: scale($horiz, $vert);\n -moz-transform: scale($horiz, $vert);\n -ms-transform: scale($horiz, $vert);\n -o-transform: scale($horiz, $vert);\n transform: scale($horiz, $vert);\n}\n\n\n@mixin user-select($select) {\n -webkit-user-select: $select;\n -moz-user-select: $select;\n -ms-user-select: $select; // IE10+\n user-select: $select;\n}\n\n@mixin box-shadow($shadow...) {\n -webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1\n box-shadow: $shadow;\n}\n\n// Box sizing\n@mixin box-sizing($boxmodel) {\n -webkit-box-sizing: $boxmodel;\n -moz-box-sizing: $boxmodel;\n box-sizing: $boxmodel;\n}\n\n\n@mixin transition($time, $type){\n -webkit-transition: all $time $type;\n -moz-transition: all $time $type;\n -o-transition: all $time $type;\n -ms-transition: all $time $type;\n transition: all $time $type;\n}\n\n@mixin transition-none(){\n -webkit-transition: none;\n -moz-transition: none;\n -o-transition: none;\n -ms-transition: none;\n transition: none;\n}\n\n@mixin transform-scale($value){\n -webkit-transform: scale($value);\n -moz-transform: scale($value);\n -o-transform: scale($value);\n -ms-transform: scale($value);\n transform: scale($value);\n}\n\n@mixin transform-translate-x($value){\n -webkit-transform: translate3d($value, 0, 0);\n -moz-transform: translate3d($value, 0, 0);\n -o-transform: translate3d($value, 0, 0);\n -ms-transform: translate3d($value, 0, 0);\n transform: translate3d($value, 0, 0);\n}\n\n@mixin transform-origin($coordinates){\n -webkit-transform-origin: $coordinates;\n -moz-transform-origin: $coordinates;\n -o-transform-origin: $coordinates;\n -ms-transform-origin: $coordinates;\n transform-origin: $coordinates;\n}\n\n@mixin icon-gradient ($top-color, $bottom-color){\n background: $top-color;\n background: -moz-linear-gradient(top, $top-color 0%, $bottom-color 100%);\n background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,$top-color), color-stop(100%,$bottom-color));\n background: -webkit-linear-gradient(top, $top-color 0%,$bottom-color 100%);\n background: -o-linear-gradient(top, $top-color 0%,$bottom-color 100%);\n background: -ms-linear-gradient(top, $top-color 0%,$bottom-color 100%);\n background: linear-gradient(to bottom, $top-color 0%,$bottom-color 100%);\n background-size: 150% 150%;\n}\n\n@mixin radial-gradient($extern-color, $center-color){\n background: $extern-color;\n background: -moz-radial-gradient(center, ellipse cover, $center-color 0%, $extern-color 100%); /* FF3.6+ */\n background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,$center-color), color-stop(100%,$extern-color)); /* Chrome,Safari4+ */\n background: -webkit-radial-gradient(center, ellipse cover, $center-color 0%,$extern-color 100%); /* Chrome10+,Safari5.1+ */\n background: -o-radial-gradient(center, ellipse cover, $center-color 0%,$extern-color 100%); /* Opera 12+ */\n background: -ms-radial-gradient(center, ellipse cover, $center-color 0%,$extern-color 100%); /* IE10+ */\n background: radial-gradient(ellipse at center, $center-color 0%,$extern-color 100%); /* W3C */\n background-size: 550% 450%;\n}\n\n@mixin vertical-align {\n position: relative;\n top: 50%;\n -webkit-transform: translateY(-50%);\n -ms-transform: translateY(-50%);\n transform: translateY(-50%);\n}\n\n@mixin rotate-180(){\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n@mixin bar-animation($type){\n -webkit-animation: $type 500ms linear 0s;\n -moz-animation: $type 500ms linear 0s;\n animation: $type 500ms 0s;\n -webkit-animation-fill-mode: forwards;\n -moz-animation-fill-mode: forwards;\n animation-fill-mode: forwards;\n}\n\n@mixin topbar-x-rotation(){\n @keyframes topbar-x {\n 0% {top: 0px; transform: rotate(0deg); }\n 45% {top: 6px; transform: rotate(145deg); }\n 75% {transform: rotate(130deg); }\n 100% {transform: rotate(135deg); }\n }\n @-webkit-keyframes topbar-x {\n 0% {top: 0px; -webkit-transform: rotate(0deg); }\n 45% {top: 6px; -webkit-transform: rotate(145deg); }\n 75% {-webkit-transform: rotate(130deg); }\n 100% { -webkit-transform: rotate(135deg); }\n }\n @-moz-keyframes topbar-x {\n 0% {top: 0px; -moz-transform: rotate(0deg); }\n 45% {top: 6px; -moz-transform: rotate(145deg); }\n 75% {-moz-transform: rotate(130deg); }\n 100% { -moz-transform: rotate(135deg); }\n }\n}\n\n@mixin topbar-back-rotation(){\n @keyframes topbar-back {\n 0% { top: 6px; transform: rotate(135deg); }\n 45% { transform: rotate(-10deg); }\n 75% { transform: rotate(5deg); }\n 100% { top: 0px; transform: rotate(0); }\n }\n\n @-webkit-keyframes topbar-back {\n 0% { top: 6px; -webkit-transform: rotate(135deg); }\n 45% { -webkit-transform: rotate(-10deg); }\n 75% { -webkit-transform: rotate(5deg); }\n 100% { top: 0px; -webkit-transform: rotate(0); }\n }\n\n @-moz-keyframes topbar-back {\n 0% { top: 6px; -moz-transform: rotate(135deg); }\n 45% { -moz-transform: rotate(-10deg); }\n 75% { -moz-transform: rotate(5deg); }\n 100% { top: 0px; -moz-transform: rotate(0); }\n }\n}\n\n@mixin bottombar-x-rotation(){\n @keyframes bottombar-x {\n 0% {bottom: 0px; transform: rotate(0deg);}\n 45% {bottom: 6px; transform: rotate(-145deg);}\n 75% {transform: rotate(-130deg);}\n 100% {transform: rotate(-135deg);}\n }\n @-webkit-keyframes bottombar-x {\n 0% {bottom: 0px; -webkit-transform: rotate(0deg);}\n 45% {bottom: 6px; -webkit-transform: rotate(-145deg);}\n 75% {-webkit-transform: rotate(-130deg);}\n 100% {-webkit-transform: rotate(-135deg);}\n }\n @-moz-keyframes bottombar-x {\n 0% {bottom: 0px; -moz-transform: rotate(0deg);}\n 45% {bottom: 6px; -moz-transform: rotate(-145deg);}\n 75% {-moz-transform: rotate(-130deg);}\n 100% {-moz-transform: rotate(-135deg);}\n }\n}\n\n@mixin bottombar-back-rotation{\n @keyframes bottombar-back {\n 0% { bottom: 6px;transform: rotate(-135deg);}\n 45% { transform: rotate(10deg);}\n 75% { transform: rotate(-5deg);}\n 100% { bottom: 0px;transform: rotate(0);}\n }\n @-webkit-keyframes bottombar-back {\n 0% {bottom: 6px;-webkit-transform: rotate(-135deg);}\n 45% {-webkit-transform: rotate(10deg);}\n 75% {-webkit-transform: rotate(-5deg);}\n 100% {bottom: 0px;-webkit-transform: rotate(0);}\n }\n @-moz-keyframes bottombar-back {\n 0% {bottom: 6px;-moz-transform: rotate(-135deg);}\n 45% {-moz-transform: rotate(10deg);}\n 75% {-moz-transform: rotate(-5deg);}\n 100% {bottom: 0px;-moz-transform: rotate(0);}\n }\n\n}\n\n\n",".sidebar{\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n background-size: cover;\n background-position: center center;\n color: $card-black-color;\n .sidebar-wrapper{\n position: relative;\n max-height: none;\n min-height: 100%;\n overflow: hidden;\n width: 260px;\n z-index: 4;\n box-shadow: inset -1px 0px 0px 0px $medium-gray;\n }\n .sidebar-background{\n position: absolute;\n z-index: 1;\n height: 100%;\n width: 100%;\n display: block;\n top: 0;\n left: 0;\n background-size: cover;\n background-position: center center;\n }\n\n}\n.sidebar,\n.off-canvas-sidebar{\n width: 260px;\n display: block;\n font-weight: 200;\n\n .logo{\n padding: 18px 0px;\n margin: 0 20px;\n\n p{\n float: left;\n font-size: 20px;\n margin: 10px 10px;\n line-height: 20px;\n }\n\n .simple-text{\n text-transform: uppercase;\n padding: $padding-small-vertical $padding-zero;\n display: block;\n font-size: $font-size-large;\n text-align: center;\n font-weight: $font-weight-normal;\n line-height: 30px;\n }\n }\n\n .nav{\n margin-top: 20px;\n\n li{\n > a{\n //margin: 10px 0px;\n padding-left: 25px;\n padding-right: 25px;\n\n opacity: .7;\n }\n\n &:hover > a{\n opacity: 1;\n }\n\n &.active > a{\n color: $primary-color;\n opacity: 1;\n\n &:before{\n border-right: 17px solid $medium-gray;\n border-top: 17px solid transparent;\n border-bottom: 17px solid transparent;\n content: \"\";\n display: inline-block;\n position: absolute;\n right: 0;\n top: 8px;\n }\n\n &:after{\n border-right: 17px solid $bg-nude;\n border-top: 17px solid transparent;\n border-bottom: 17px solid transparent;\n content: \"\";\n display: inline-block;\n position: absolute;\n right: -1px;\n top: 8px;\n }\n }\n\n h5 {\n -webkit-font-smoothing: antialiased;\n font-family: Roboto, 'Helvetica Neue', Arial, sans-serif;\n padding-left: 30px;\n }\n\n > a.menu {\n padding: 0px;\n padding-top: 10px;\n }\n\n ul {\n margin-top: 0px;\n }\n }\n\n p{\n margin: 0;\n line-height: 30px;\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n }\n\n i{\n font-size: 24px;\n float: left;\n margin-right: 15px;\n line-height: 30px;\n width: 30px;\n text-align: center;\n }\n }\n\n &:after,\n &:before{\n display: block;\n content: \"\";\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n z-index: 2;\n background: $white-background-color;\n }\n\n &,\n &[data-background-color=\"white\"]{\n @include sidebar-background-color($white-background-color, $default-color);\n }\n &[data-background-color=\"black\"]{\n @include sidebar-background-color($black-background-color, $white-color);\n }\n\n &[data-active-color=\"primary\"]{\n @include sidebar-active-color($default-color);\n }\n &[data-active-color=\"info\"]{\n @include sidebar-active-color($info-color);\n }\n &[data-active-color=\"success\"]{\n @include sidebar-active-color($success-color);\n }\n &[data-active-color=\"warning\"]{\n @include sidebar-active-color($warning-color);\n }\n &[data-active-color=\"danger\"]{\n @include sidebar-active-color($danger-color);\n }\n\n}\n\n.main-panel{\n background-color: $bg-nude;\n //background-color: $white-navbar;\n position: relative;\n z-index: 2;\n float: right;\n width: $sidebar-width;\n min-height: 100%;\n\n > .content{\n //padding: 30px 15px;\n padding: 0 2px;\n min-height: calc(100% - 123px);\n }\n\n > .footer{\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n }\n\n .navbar{\n margin-bottom: 0;\n }\n}\n\n.sidebar,\n.main-panel{\n overflow: auto;\n max-height: 100%;\n height: 100%;\n -webkit-transition-property: top,bottom;\n transition-property: top,bottom;\n -webkit-transition-duration: .2s,.2s;\n transition-duration: .2s,.2s;\n -webkit-transition-timing-function: linear,linear;\n transition-timing-function: linear,linear;\n -webkit-overflow-scrolling: touch;\n}\n","@mixin sidebar-background-color($background-color, $font-color){\n &:after,\n &:before{\n\t background-color: $background-color;\n\t}\n\n .logo{\n border-bottom: 1px solid rgba($font-color,.3);\n\n p{\n color: $font-color;\n }\n\n .simple-text{\n color: $font-color;\n }\n }\n\n .nav{\n li:not(.active){\n > a{\n color: $font-color;\n }\n }\n .divider{\n background-color: rgba($font-color,.2);\n }\n\n }\n\n}\n\n@mixin sidebar-active-color($font-color){\n .nav{\n li{\n &.active > a{\n color: $font-color;\n opacity: 1;\n }\n }\n }\n}\n","/* badges */\n.badge {\n border-radius: 8px;\n padding: 4px 8px;\n text-transform: uppercase;\n font-size: $font-size-mini;\n line-height: 12px;\n background-color: $transparent-bg;\n border: $border;\n margin-bottom: 5px;\n border-radius: $border-radius-extreme;\n}\n\n.badge-icon {\n padding: 0.4em 0.55em;\n i {\n font-size: 0.8em;\n }\n}\n\n.badge-default {\n @include badge-color($default-color);\n}\n\n.badge-primary {\n @include badge-color($primary-color);\n}\n\n.badge-info {\n @include badge-color($info-color);\n}\n\n.badge-success {\n @include badge-color($success-color);\n}\n\n.badge-warning {\n @include badge-color($warning-color);\n}\n\n.badge-danger {\n @include badge-color($danger-color);\n}\n\n.badge-neutral {\n @include badge-color($white-color);\n}\n","@mixin badge-color($color) {\n border-color: $color;\n color: $color;\n}\n",".btn,\n.navbar .navbar-nav > li > a.btn{\n //border-radius: $border-radius-btn-base;\n box-sizing: border-box;\n //border-width: $border-thick;\n background-color: $transparent-bg;\n font-size: $font-size-base;\n font-weight: $font-weight-semi;\n\n margin-top: 5px;\n padding: $padding-small-vertical $padding-base-horizontal;\n\n @include btn-styles($default-color, $default-states-color);\n @include transition($fast-transition-time, linear);\n\n &:hover,\n &:focus{\n outline: 0 !important;\n }\n &:active,\n &.active,\n .open > &.dropdown-toggle {\n @include box-shadow(none);\n outline: 0 !important;\n }\n\n &.btn-icon{\n padding: $padding-base-vertical;\n }\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group{\n margin-left: -2px;\n}\n\n// Apply the mixin to the buttons\n//.btn-default { @include btn-styles($default-color, $default-states-color); }\n.navbar .navbar-nav > li > a.btn-primary, .btn-primary { @include btn-styles($primary-color, $primary-states-color); }\n.navbar .navbar-nav > li > a.btn-success, .btn-success { @include btn-styles($success-color, $success-states-color); }\n.navbar .navbar-nav > li > a.btn-info, .btn-info { @include btn-styles($info-color, $info-states-color); }\n.navbar .navbar-nav > li > a.btn-warning, .btn-warning { @include btn-styles($warning-color, $warning-states-color); }\n.navbar .navbar-nav > li > a.btn-danger, .btn-danger { @include btn-styles($danger-color, $danger-states-color); }\n.btn-neutral {\n @include btn-styles($white-color, $white-color);\n\n &:hover,\n &:focus{\n color: $default-color;\n }\n\n &:active,\n &.active,\n .open > &.dropdown-toggle{\n background-color: $white-color;\n color: $default-color;\n }\n\n &.btn-fill{\n color: $default-color;\n }\n &.btn-fill:hover,\n &.btn-fill:focus{\n color: $default-states-color;\n }\n\n &.btn-simple:active,\n &.btn-simple.active{\n background-color: transparent;\n }\n}\n\n.btn{\n &:disabled,\n &[disabled],\n &.disabled{\n @include opacity(.5);\n }\n}\n.btn-simple{\n border: $none;\n padding: $padding-base-vertical $padding-base-horizontal;\n\n &.btn-icon{\n padding: $padding-base-vertical;\n }\n}\n.btn-lg{\n @include btn-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $border-radius-btn-large, $line-height-small);\n font-weight: $font-weight-normal;\n}\n.btn-sm{\n @include btn-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $border-radius-btn-small, $line-height-small);\n}\n.btn-xs {\n @include btn-size($padding-xs-vertical, $padding-xs-horizontal, $font-size-xs, $border-radius-btn-small, $line-height-small);\n}\n.btn-wd {\n min-width: 140px;\n}\n\n.btn-group.select{\n width: 100%;\n}\n.btn-group.select .btn{\n text-align: left;\n}\n.btn-group.select .caret{\n position: absolute;\n top: 50%;\n margin-top: -1px;\n right: 8px;\n}\n","// Mixin for generating new styles\n@mixin btn-styles($btn-color, $btn-states-color) {\n background-color: $btn-color;\n\n &:hover,\n &:focus,\n &:active,\n &.active,\n &:active:focus,\n &:active:hover,\n &.active:focus,\n &.active:hover,\n .open > &.dropdown-toggle,\n .open > &.dropdown-toggle:focus,\n .open > &.dropdown-toggle:hover {\n background-color: $btn-states-color;\n color: $white-color;\n }\n\n &.disabled,\n &:disabled,\n &[disabled],\n fieldset[disabled] & {\n &,\n &:hover,\n &:focus,\n &.focus,\n &:active,\n &.active {\n background-color: $btn-color;\n border-color: $btn-color;\n }\n }\n\n &.focus,\n &:focus {\n box-shadow: none;\n }\n\n // btn-neutral style\n @if $btn-color == $white-color {\n color: $white-color;\n\n &.btn-danger {\n color: $danger-color;\n\n &:hover,\n &:focus,\n &:active {\n color: $danger-states-color;\n }\n }\n\n &.btn-info {\n color: $white-color;\n\n &:hover,\n &:focus,\n &:active {\n color: $info-states-color;\n }\n }\n\n &.btn-warning {\n color: $white-color;\n\n &:hover,\n &:focus,\n &:active {\n color: $warning-states-color;\n }\n }\n\n &.btn-success {\n color: $white-color;\n\n &:hover,\n &:focus,\n &:active {\n color: $success-states-color;\n }\n }\n\n &.btn-default {\n color: $white-color;\n\n &:hover,\n &:focus,\n &:active {\n color: $default-states-color;\n }\n }\n\n &.active,\n &:active:focus,\n &:active:hover,\n &.active:focus,\n &.active:hover,\n .open > &.dropdown-toggle,\n .open > &.dropdown-toggle:focus,\n .open > &.dropdown-toggle:hover {\n background-color: $white-color;\n color: $primary-color;\n }\n\n &:hover,\n &:focus,\n &:active {\n color: $primary-states-color;\n }\n\n } @else {\n color: $white-color;\n }\n\n &.btn-simple {\n color: $btn-color;\n border-color: $btn-color;\n\n &:hover,\n &:focus,\n &:active {\n background-color: $transparent-bg;\n color: $btn-states-color;\n border-color: $btn-states-color;\n }\n }\n\n &.btn-link {\n color: $btn-color;\n\n &:hover,\n &:focus,\n &:active {\n background-color: $transparent-bg;\n color: $btn-states-color;\n text-decoration: none;\n }\n }\n}\n\n\n@mixin btn-size($padding-vertical, $padding-horizontal, $font-size, $border, $line-height){\n font-size: $font-size;\n //border-radius: $border;\n padding: $padding-vertical $padding-horizontal;\n\n &.btn-simple{\n padding: $padding-vertical + 2 $padding-horizontal;\n }\n\n}\n","// Opacity\n\n@mixin opacity($opacity) {\n opacity: $opacity;\n // IE8 filter\n $opacity-ie: ($opacity * 100);\n filter: #{alpha(opacity=$opacity-ie)};\n}\n\n@mixin black-filter($opacity){\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n position: absolute;\n background-color: rgba(17,17,17,$opacity);\n display: block;\n content: \"\";\n z-index: 1; \n}","@mixin input-size($padding-vertical, $padding-horizontal) {\n padding: $padding-vertical $padding-horizontal;\n}\n\n@mixin form-control-placeholder($color, $opacity) {\n .form-control::-moz-placeholder {\n color: $color;\n @include opacity(1);\n }\n .form-control:-moz-placeholder {\n color: $color;\n @include opacity(1);\n }\n .form-control::-webkit-input-placeholder {\n color: $color;\n @include opacity(1);\n }\n .form-control:-ms-input-placeholder {\n color: $color;\n @include opacity(1);\n }\n}\n\n@mixin light-form() {\n border-radius: 0;\n border: 0;\n padding: 0;\n background-color: transparent;\n}\n\n@mixin input-sm-padding($padding-vertical, $padding-horizontal) {\n .form-group.form-group-no-border.input-sm,\n .input-group.form-group-no-border.input-sm {\n .input-group-addon {\n padding: $padding-vertical 0 $padding-vertical $padding-horizontal;\n }\n\n .form-control {\n padding: $padding-vertical $padding-horizontal;\n\n & + .input-group-addon {\n padding: $padding-vertical $padding-horizontal $padding-vertical 0;\n }\n }\n }\n\n .form-group.input-sm,\n .input-group.input-sm {\n .form-control {\n padding: $padding-vertical - 1 $padding-horizontal - 1;\n\n & + .input-group-addon {\n padding: $padding-vertical - 1 $padding-horizontal - 1 $padding-vertical - 1 0;\n }\n }\n\n .input-group-addon {\n padding: $padding-vertical - 1 0 $padding-vertical $padding-horizontal - 1;\n\n & + .form-control {\n padding: $padding-vertical $padding-horizontal - 1 $padding-vertical $padding-horizontal - 3;\n }\n }\n }\n}\n\n@mixin input-lg-padding($padding-vertical, $padding-horizontal) {\n .form-group.form-group-no-border.input-lg,\n .input-group.form-group-no-border.input-lg {\n .input-group-addon {\n padding: $padding-vertical 0 $padding-vertical $padding-horizontal;\n }\n\n .form-control {\n padding: $padding-vertical $padding-horizontal;\n\n & + .input-group-addon {\n padding: $padding-vertical $padding-horizontal $padding-vertical 0;\n }\n }\n }\n\n .form-group.input-lg,\n .input-group.input-lg {\n .form-control {\n padding: $padding-vertical - 1 $padding-horizontal - 1;\n\n & + .input-group-addon {\n padding: $padding-vertical - 1 $padding-horizontal - 1 $padding-vertical - 1 0;\n }\n }\n\n .input-group-addon {\n padding: $padding-vertical - 1 0 $padding-vertical $padding-horizontal - 1;\n\n & + .form-control {\n padding: $padding-vertical $padding-horizontal - 1 $padding-vertical $padding-horizontal - 3;\n }\n }\n }\n}\n\n@mixin input-base-padding($padding-vertical, $padding-horizontal) {\n .form-group.form-group-no-border,\n .input-group.form-group-no-border {\n .form-control {\n /*margin-top: 2px;*/\n padding: $padding-vertical $padding-horizontal;\n\n & + .input-group-addon {\n padding: $padding-vertical $padding-horizontal $padding-vertical 0;\n }\n }\n\n .input-group-addon {\n padding: $padding-vertical 0 $padding-vertical $padding-horizontal;\n }\n }\n\n .form-group,\n .input-group {\n .form-control {\n margin-top: 2px;\n padding: $padding-vertical - 1 $padding-horizontal - 1 $padding-vertical - 1 $padding-horizontal - 1;\n\n & + .input-group-addon {\n padding: $padding-vertical - 1 $padding-horizontal - 1 $padding-vertical - 1 0;\n }\n }\n\n .input-group-addon {\n padding: $padding-vertical - 1 0 $padding-vertical - 1 $padding-horizontal - 1;\n\n & + .form-control,\n & ~ .form-control {\n padding: $padding-vertical - 1 $padding-horizontal $padding-vertical $padding-horizontal - 3;\n }\n }\n }\n}\n\n//color1 = $opacity-5\n//color2 = $opacity-8\n//color3 = $white-color\n//color4 = $transparent-bg\n//color5 = $opacity-1\n//color6 = $opacity-2\n\n@mixin input-coloured-bg($color1, $color2, $color3, $color4, $color5, $color6) {\n @include form-control-placeholder(darken($color2, 8%), 1);\n\n .form-control {\n border-color: $color1;\n color: $color2;\n\n &:focus {\n border-color: $color3;\n background-color: $color4;\n color: $color3;\n }\n }\n\n .has-success,\n .has-danger {\n &:after {\n color: $color3;\n }\n }\n\n .has-danger {\n .form-control {\n background-color: $color4;\n }\n }\n\n .input-group-addon {\n background-color: $color4;\n border-color: $color1;\n color: $color2;\n }\n\n .input-group-focus {\n .input-group-addon {\n background-color: $color4;\n border-color: $color3;\n color: $color3;\n }\n }\n\n .form-group.form-group-no-border,\n .input-group.form-group-no-border {\n .form-control {\n background-color: $color5;\n color: $color2;\n\n &:focus,\n &:active,\n &:active {\n background-color: $color6;\n color: $color3;\n }\n }\n\n .form-control + .input-group-addon {\n background-color: $color5;\n\n &:focus,\n &:active,\n &:active {\n background-color: $color6;\n color: $color3;\n }\n }\n\n .form-control {\n &:focus {\n & + .input-group-addon {\n background-color: $color6;\n color: $color3;\n }\n }\n }\n\n .input-group-addon {\n background-color: $color5;\n border: none;\n color: $color2;\n }\n\n &.input-group-focus {\n .input-group-addon {\n background-color: $color6;\n color: $color3;\n }\n }\n }\n}\n","@include form-control-placeholder($medium-gray, 1);\n\n.form-control {\n font-family: \"Avenir-light\", \"AvenirLTStd-Light\", sans-serif !important;\n border-radius: 0;\n background-color: $transparent-bg;\n border: 1px solid $medium-dark-gray;\n color: $black-color;\n line-height: 1em;\n font-size: $font-size-base;\n font-weight: 400;\n @include transition-input-focus-color();\n @include box-shadow(none);\n\n .has-success & {\n border-color: $light-gray;\n }\n\n &:focus {\n border: 1px solid $brand-primary;\n @include box-shadow(none);\n outline: 0 !important;\n color: $black-color;\n\n & + .input-group-addon,\n & ~ .input-group-addon {\n border: 1px solid $brand-primary;\n background-color: $transparent-bg;\n }\n }\n\n .has-success &,\n .has-error &,\n .has-success &:focus,\n .has-error &:focus {\n @include box-shadow(none);\n }\n\n .has-danger &,\n .has-success & {\n &.form-control-success,\n &.form-control-danger {\n background-image: none;\n }\n }\n\n .has-danger & {\n background-color: lighten($danger-color, 30%);\n border-color: lighten($danger-color, 30%);\n color: $danger-color;\n\n &:focus {\n background-color: $opacity-gray-3;\n }\n }\n\n & + .form-control-feedback {\n border-radius: $border-radius-extra-small;\n font-size: $font-size-base;\n margin-top: -7px;\n position: absolute;\n right: 10px;\n top: 50%;\n vertical-align: middle;\n }\n\n .open & {\n border-radius: $border-radius-extra-small $border-radius-extra-small 0 0;\n border-bottom-color: transparent;\n }\n\n & + .input-group-addon {\n background-color: $white-bg;\n }\n}\n\n.has-success,\n.has-danger {\n &:after {\n font-family: 'Nucleo Outline';\n content: \"\\ea22\";\n display: inline-block;\n position: absolute;\n right: 35px;\n top: 12px;\n color: $success-color;\n font-size: 11px;\n }\n\n &.input-lg {\n &:after {\n font-size: 13px;\n top: 13px;\n }\n }\n}\n\n.has-danger {\n &:after {\n content: \"\\ea53\";\n color: $danger-color;\n }\n}\n\n@include input-sm-padding($padding-small-vertical, $padding-small-horizontal);\n@include input-lg-padding($padding-large-vertical, $padding-input-horizontal);\n@include input-base-padding($padding-small-vertical, $padding-small-horizontal);\n\n.form-group.form-group-no-border,\n.input-group.form-group-no-border {\n .form-control,\n .form-control + .input-group-addon {\n background-color: $opacity-gray-3;\n border: medium none;\n &:focus,\n &:active,\n &:active {\n border: medium none;\n background-color: $opacity-gray-5;\n }\n }\n\n .form-control {\n &:focus {\n & + .input-group-addon {\n background-color: $opacity-gray-5;\n }\n }\n }\n\n .input-group-addon {\n background-color: $opacity-gray-3;\n border: none;\n }\n}\n\n.has-error {\n .form-control-feedback, .control-label {\n color: $danger-color;\n }\n}\n\n.has-success {\n .form-control-feedback, .control-label {\n color: $success-color;\n }\n}\n\n.input-group-addon {\n background-color: $white-bg;\n border: 1px solid $light-gray;\n border-radius: $border-radius-extra-small;\n color: $dark-background;\n padding: $padding-base-vertical - 1 0 $padding-base-vertical - 1 $padding-base-horizontal - 1;\n\n @include transition-input-focus-color();\n\n .has-success &,\n .has-danger & {\n background-color: $white-color;\n }\n .has-danger .form-control:focus + & {\n color: $danger-color;\n }\n .has-success .form-control:focus + & {\n color: $success-color;\n }\n\n & + .form-control,\n & ~ .form-control {\n @include input-size($padding-base-vertical - 1, $padding-base-horizontal);\n padding-left: 18px;\n }\n}\n\n.input-group-focus {\n .input-group-addon {\n background-color: $white-bg;\n border-color: $primary-color;\n }\n\n &.form-group-no-border {\n .input-group-addon {\n background-color: $opacity-gray-5;\n }\n }\n}\n\n.input-group,\n.form-group {\n margin-bottom: 10px;\n}\n\n.input-group[disabled] {\n .input-group-addon {\n background-color: $light-gray;\n }\n}\n\n/*.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {\n border-right: 0 none;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child) {\n border-left: 0 none;\n}*/\n.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {\n background-color: $light-gray;\n color: $default-color;\n cursor: not-allowed;\n}\n\n.input-group-btn .btn {\n border-width: $border-thin;\n padding: $padding-btn-vertical $padding-base-horizontal;\n}\n\n.input-group-btn .btn-default:not(.btn-fill) {\n border-color: $medium-gray;\n}\n\n.input-group-btn:last-child > .btn {\n margin-left: 0;\n}\n\ntextarea.form-control {\n max-width: 100%;\n padding: 10px 10px;\n resize: none;\n background-color: $transparent-bg;\n border: 1px solid $medium-dark-gray;\n color: $black-color;\n line-height: 1em;\n font-size: $font-size-base;\n font-weight: 400;\n border-radius: 0;\n\n &:focus,\n &:active {\n @include box-shadow(none);\n border: 1px solid $brand-primary;\n background-color: $transparent-bg;\n }\n}\n\n.has-success,\n.has-danger {\n\n &.form-group .form-control,\n &.form-group.form-group-no-border .form-control {\n padding-right: $padding-input-horizontal + 21;\n }\n}\n",".alert{\n border: 0;\n border-radius: 0;\n color: #FFFFFF;\n padding: 10px 15px;\n font-size: 14px;\n\n .container &{\n border-radius: 4px;\n\n }\n .navbar &{\n border-radius: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 85px;\n width: 100%;\n z-index: 3;\n }\n .navbar:not(.navbar-transparent) &{\n top: 70px;\n }\n\n span[data-notify=\"icon\"]{\n font-size: 30px;\n display: block;\n left: 15px;\n position: absolute;\n top: 50%;\n margin-top: -20px;\n }\n\n .close ~ span{\n display: block;\n max-width: 89%;\n }\n\n &[data-notify=\"container\"]{\n padding: 10px 10px 10px 20px;\n border-radius: $border-radius-base;\n }\n\n &.alert-with-icon{\n padding-left: 65px;\n }\n}\n.alert-info{\n background-color: $bg-info;\n color: $info-states-color;\n}\n.alert-success {\n background-color: $bg-success;\n color: $success-states-color;\n}\n.alert-warning {\n background-color: $bg-warning;\n color: $warning-states-color;\n}\n.alert-danger {\n background-color: $danger-color;\n color: #FFF;\n}\n\n",".table{\n thead,\n tbody,\n tfoot{\n tr > th,\n tr > td{\n border-top: 1px solid $table-line-color;\n }\n }\n > thead > tr > th{\n border-bottom-width: 0;\n font-size: $font-size-h5;\n font-weight: $font-weight-light;\n }\n\n .radio,\n .checkbox{\n margin-top: 0;\n margin-bottom: 22px;\n padding: 0;\n width: 15px;\n }\n > thead > tr > th,\n > tbody > tr > th,\n > tfoot > tr > th,\n > thead > tr > td,\n > tbody > tr > td,\n > tfoot > tr > td{\n padding: 12px;\n vertical-align: middle;\n }\n\n .th-description{\n max-width: 150px;\n }\n .td-price{\n font-size: 26px;\n font-weight: $font-weight-light;\n margin-top: 5px;\n text-align: right;\n }\n .td-total{\n font-weight: $font-weight-bold;\n font-size: $font-size-h5;\n padding-top: 20px;\n text-align: right;\n }\n\n .td-actions .btn{\n\n &.btn-sm,\n &.btn-xs{\n padding-left: 3px;\n padding-right: 3px;\n }\n }\n\n > tbody > tr{\n position: relative;\n }\n}\n.table-striped{\n tbody > tr:nth-of-type(2n+1) {\n background-color: #fff;\n }\n tbody > tr:nth-of-type(2n) {\n background-color: $pale-bg;\n }\n > thead > tr > th,\n > tbody > tr > th,\n > tfoot > tr > th,\n > thead > tr > td,\n > tbody > tr > td,\n > tfoot > tr > td{\n padding: 15px 8px;\n }\n}","/* Checkbox and radio */\n.checkbox,\n.radio {\n margin-bottom: 12px;\n padding-left: 30px;\n position: relative;\n -webkit-transition: color,opacity 0.25s linear;\n transition: color,opacity 0.25s linear;\n font-size: $font-size-base;\n font-weight: normal;\n line-height: 1.5;\n color: $font-color;\n cursor: pointer;\n\n .icons {\n color: $font-color;\n display: block;\n height: 20px;\n left: 0;\n position: absolute;\n top: 0;\n width: 20px;\n text-align: center;\n line-height: 21px;\n font-size: 20px;\n cursor: pointer;\n -webkit-transition: color,opacity 0.15s linear;\n transition: color,opacity 0.15s linear;\n\n opacity: .50;\n }\n\n\n &.checked{\n .icons{\n opacity: 1;\n }\n }\n\n input{\n outline: none !important;\n display: none;\n }\n}\n\n.checkbox,\n.radio{\n label{\n padding-left: 10px;\n }\n}\n\n.checkbox .icons .first-icon,\n.radio .icons .first-icon,\n.checkbox .icons .second-icon,\n.radio .icons .second-icon {\n display: inline-table;\n position: absolute;\n left: 0;\n top: 0;\n background-color: transparent;\n margin: 0;\n @include opacity(1);\n}\n.checkbox .icons .second-icon,\n.radio .icons .second-icon {\n @include opacity(0);\n}\n.checkbox:hover,\n.radio:hover {\n -webkit-transition: color 0.2s linear;\n transition: color 0.2s linear;\n}\n.checkbox:hover .first-icon,\n.radio:hover .first-icon {\n @include opacity(0);\n}\n.checkbox:hover .second-icon,\n.radio:hover .second-icon {\n @include opacity (1);\n}\n.checkbox.checked,\n.radio.checked {\n// color: $info-color;\n}\n.checkbox.checked .first-icon,\n.radio.checked .first-icon {\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.checkbox.checked .second-icon,\n.radio.checked .second-icon {\n opacity: 1;\n filter: alpha(opacity=100);\n// color: $info-color;\n -webkit-transition: color 0.2s linear;\n transition: color 0.2s linear;\n}\n.checkbox.disabled,\n.radio.disabled {\n cursor: default;\n color: $medium-gray;\n}\n.checkbox.disabled .icons,\n.radio.disabled .icons {\n color: $medium-gray;\n}\n.checkbox.disabled .first-icon,\n.radio.disabled .first-icon {\n opacity: 1;\n filter: alpha(opacity=100);\n}\n.checkbox.disabled .second-icon,\n.radio.disabled .second-icon {\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.checkbox.disabled.checked .icons,\n.radio.disabled.checked .icons {\n color: $medium-gray;\n}\n.checkbox.disabled.checked .first-icon,\n.radio.disabled.checked .first-icon {\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.checkbox.disabled.checked .second-icon,\n.radio.disabled.checked .second-icon {\n opacity: 1;\n color: $medium-gray;\n filter: alpha(opacity=100);\n}\n",".nav {\n > li{\n > a:hover,\n > a:focus{\n background-color: transparent;\n }\n }\n}\n.navbar{\n border: $none;\n border-radius: 0;\n font-size: $font-size-navbar;\n z-index: 3;\n\n .navbar-brand{\n color: $white-color;\n font-weight: $font-weight-light;;\n margin: $navbar-margin-brand;\n padding: $navbar-padding-brand;\n font-size: $font-size-large-navbar;\n }\n .navbar-nav{\n > li > a {\n line-height: 1.42857;\n margin: $navbar-margin-a;\n padding: $navbar-padding-a;\n\n i,\n p{\n display: inline-block;\n margin: 0;\n }\n i{\n position: relative;\n margin-right: 5px;\n top: 1px;\n }\n }\n > li > a.btn{\n margin: $navbar-margin-a-btn;\n padding: $padding-base-vertical $padding-base-horizontal;\n }\n }\n .btn{\n margin: $navbar-margin-btn;\n font-size: $font-size-base;\n }\n .btn-simple{\n font-size: $font-size-medium;\n }\n}\n\n.navbar-nav > li > .dropdown-menu{\n border-radius: $border-radius-extreme;\n margin-top: -5px;\n}\n\n.navbar-default {\n color: $white-color;\n background-color: $phpvms-blue;\n border-bottom: 1px solid $medium-gray;\n\n .brand{\n color: $white-color !important;\n }\n .navbar-nav{\n > li > a:not(.btn){\n color: $white-color;\n }\n\n > .active > a,\n > .active > a:not(.btn):hover,\n > .active > a:not(.btn):focus,\n > li > a:not(.btn):hover,\n > li > a:not(.btn):focus {\n background-color: transparent;\n border-radius: 3px;\n //color: $info-color;\n @include opacity(1);\n }\n\n > .dropdown > a:hover .caret,\n > .dropdown > a:focus .caret {\n border-bottom-color: $info-color;\n border-top-color: $info-color;\n\n }\n\n > .open > a,\n > .open > a:hover,\n > .open > a:focus{\n background-color: transparent;\n color: $info-color;\n }\n\n .navbar-toggle:hover,.navbar-toggle:focus {\n background-color: transparent;\n }\n\n }\n\n &:not(.navbar-transparent) .btn-default:hover{\n color: $info-color;\n border-color: $info-color;\n }\n &:not(.navbar-transparent) .btn-neutral,\n &:not(.navbar-transparent) .btn-neutral:hover,\n &:not(.navbar-transparent) .btn-neutral:active{\n color: $dark-gray;\n }\n}\n\n.navbar-form{\n @include box-shadow(none);\n .form-control{\n @include light-form();\n height: 22px;\n font-size: $font-size-navbar;\n line-height: $line-height-general;\n color: $light-gray;\n }\n .navbar-transparent & .form-control,\n [class*=\"navbar-ct\"] & .form-control{\n color: $white-color;\n border: $none;\n border-bottom: 1px solid rgba($white-color,.6);\n }\n\n}\n\n.navbar-ct-primary{\n @include navbar-color($bg-primary);\n}\n.navbar-ct-info{\n @include navbar-color($bg-info);\n}\n.navbar-ct-success{\n @include navbar-color($bg-success);\n}\n.navbar-ct-warning{\n @include navbar-color($bg-warning);\n}\n.navbar-ct-danger{\n @include navbar-color($bg-danger);\n}\n\n.navbar-transparent{\n padding-top: 15px;\n background-color: transparent;\n border-bottom: 1px solid transparent;\n}\n\n.navbar-toggle{\n margin-top: 19px;\n margin-bottom: 19px;\n border: $none;\n\n .icon-bar {\n background-color: $white-color;\n }\n .navbar-collapse,\n .navbar-form {\n border-color: transparent;\n }\n\n &.navbar-default .navbar-toggle:hover,\n &.navbar-default .navbar-toggle:focus {\n background-color: transparent;\n }\n}\n\n.navbar-transparent, [class*=\"navbar-ct\"]{\n\n .navbar-brand{\n\n @include opacity(.9);\n\n &:focus,\n\n &:hover{\n\n background-color: transparent;\n\n @include opacity(1);\n\n }\n\n }\n\n .navbar-brand:not([class*=\"text\"]){\n\n color: $white-color;\n\n }\n\n .navbar-nav{\n\n > li > a:not(.btn){\n\n color: $white-color;\n\n border-color: $white-color;\n\n @include opacity(0.8);\n\n }\n\n > .active > a:not(.btn),\n\n > .active > a:hover:not(.btn),\n\n > .active > a:focus:not(.btn),\n\n > li > a:hover:not(.btn),\n\n > li > a:focus:not(.btn){\n\n background-color: transparent;\n\n border-radius: 3px;\n\n color: $white-color;\n\n @include opacity(1);\n\n }\n\n .nav > li > a.btn:hover{\n\n background-color: transparent;\n\n }\n\n > .dropdown > a .caret,\n\n > .dropdown > a:hover .caret,\n\n > .dropdown > a:focus .caret{\n\n border-bottom-color: $white-color;\n\n border-top-color: $white-color;\n\n }\n\n > .open > a,\n\n > .open > a:hover,\n\n > .open > a:focus {\n\n background-color: transparent;\n\n color: $white-color;\n\n @include opacity(1);\n\n }\n\n }\n\n .btn-default{\n\n color: $white-color;\n\n border-color: $white-color;\n\n }\n\n .btn-default.btn-fill{\n\n color: $dark-gray;\n\n background-color: $white-color;\n\n @include opacity(.9);\n\n }\n\n .btn-default.btn-fill:hover,\n\n .btn-default.btn-fill:focus,\n\n .btn-default.btn-fill:active,\n\n .btn-default.btn-fill.active,\n\n .open .dropdown-toggle.btn-fill.btn-default{\n\n border-color: $white-color;\n\n @include opacity(1);\n\n }\n\n}\n","@mixin navbar-color($color){\n background-color: $color;\n}\n\n@mixin center-item(){\n left: 0;\n right: 0;\n margin-right: auto;\n margin-left: auto;\n position: absolute;\n}",".footer{\n background-attachment: fixed;\n position: relative;\n line-height: 20px;\n nav {\n ul {\n list-style: none;\n margin: 0;\n padding: 0;\n font-weight: normal;\n li{\n display: inline-block;\n padding: 10px 15px;\n margin: 15px 3px;\n line-height: 20px;\n text-align: center;\n }\n a:not(.btn){\n color: $font-color;\n display: block;\n margin-bottom: 3px;\n\n &:focus,\n &:hover{\n color: $default-states-color;\n }\n }\n }\n }\n .copyright{\n color: $font-color;\n padding: 10px 15px;\n font-size: 14px;\n white-space: nowrap;\n margin: 15px 3px;\n line-height: 20px;\n text-align: center;\n }\n .heart{\n color: $danger-color;\n }\n}\n",".dropdown-menu{\n background-color: $pale-bg;\n border: 0 none;\n border-radius: $border-radius-extreme;\n display: block;\n margin-top: 10px;\n padding: 0px;\n position: absolute;\n visibility: hidden;\n z-index: 9000; \n \n @include opacity(0); \n @include box-shadow($dropdown-shadow);\n \n// the style for opening dropdowns on mobile devices; for the desktop version check the _responsive.scss file \n .open &{\n @include opacity(1);\n visibility: visible;\n } \n \n .divider{\n background-color: $medium-pale-bg;\n margin: 0px;\n }\n \n .dropdown-header{\n color: $dark-gray;\n font-size: $font-size-small;\n padding: $padding-dropdown-vertical $padding-dropdown-horizontal;\n }\n \n// the style for the dropdown menu that appears under select, it is different from the default one\n .select &{\n border-radius: $border-radius-bottom; \n @include box-shadow(none);\n @include transform-origin($select-coordinates);\n @include transform-scale(1);\n @include transition($fast-transition-time, $transition-linear);\n margin-top: -20px;\n }\n .select.open &{\n margin-top: -1px;\n }\n \n > li > a {\n color: $font-color;\n font-size: $font-size-base;\n padding: $padding-dropdown-vertical $padding-dropdown-horizontal;\n @include transition-none();\n \n img{\n margin-top: -3px;\n }\n }\n > li > a:focus{\n outline: 0 !important;\n }\n\n .btn-group.select &{\n min-width: 100%;\n }\n \n > li:first-child > a{\n border-top-left-radius: $border-radius-extreme;\n border-top-right-radius: $border-radius-extreme;\n }\n \n > li:last-child > a{\n border-bottom-left-radius: $border-radius-extreme;\n border-bottom-right-radius: $border-radius-extreme;\n }\n \n .select & > li:first-child > a{\n border-radius: 0;\n border-bottom: 0 none;\n }\n \n > li > a:hover,\n > li > a:focus {\n background-color: $default-color;\n color: $fill-font-color;\n opacity: 1;\n text-decoration: none;\n }\n \n &.dropdown-primary > li > a:hover,\n &.dropdown-primary > li > a:focus{\n background-color: $primary-color;\n }\n &.dropdown-info > li > a:hover,\n &.dropdown-info > li > a:focus{\n background-color: $info-color;\n }\n &.dropdown-success > li > a:hover,\n &.dropdown-success > li > a:focus{\n background-color: $success-color;\n }\n &.dropdown-warning > li > a:hover,\n &.dropdown-warning > li > a:focus{\n background-color: $warning-color;\n }\n &.dropdown-danger > li > a:hover,\n &.dropdown-danger > li > a:focus{\n background-color: $danger-color;\n }\n\n}\n\n//fix bug for the select items in btn-group \n.btn-group.select{\n overflow: hidden;\n}\n.btn-group.select.open{\n overflow: visible;\n}\n",".card {\n border: 0;\n border-radius: $border-radius-extra-small;\n box-shadow: 0 2px 2px rgba(204, 197, 185, 0.5);\n background-color: #FFFFFF;\n color: $card-black-color;\n margin-bottom: 20px;\n position: relative;\n z-index: 1;\n\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n flex-direction: column;\n background-color: #fff;\n\n .card-block {\n flex: 1 1 auto;\n padding: 1.25rem;\n }\n\n a {\n color: #f96332;\n }\n\n .image{\n width: 100%;\n overflow: hidden;\n height: 260px;\n border-radius: $border-radius-extreme $border-radius-extreme 0 0;\n position: relative;\n -webkit-transform-style: preserve-3d;\n -moz-transform-style: preserve-3d;\n transform-style: preserve-3d;\n\n img {\n width: 100%;\n }\n }\n .content{\n padding: 15px 15px 10px 15px;\n }\n .header{\n padding: 0px 0px 10px 0;\n }\n .description{\n font-size: $font-paragraph;\n color: $font-color;\n }\n\n h5 {\n font-size: 1.57em;\n line-height: 1.4em;\n margin-bottom: 15px;\n }\n\n h6{\n font-size: $font-size-small;\n margin: 0;\n }\n .category,\n label{\n font-size: $font-size-base;\n font-weight: $font-weight-normal;\n //color: $dark-gray;\n text-transform: capitalize;\n margin-bottom: 0px;\n i{\n font-size: $font-paragraph;\n }\n }\n\n label{\n font-size: 15px;\n margin-bottom: 5px;\n text-transform: capitalize;\n display: inline-block;\n vertical-align: middle;\n }\n\n .title{\n margin: $none;\n color: $card-black-color;\n font-weight: $font-weight-light;\n }\n .avatar{\n width: 50px;\n height: 50px;\n overflow: hidden;\n border-radius: 50%;\n margin-right: 5px;\n }\n .footer{\n padding: 0;\n line-height: 30px;\n\n .legend{\n padding: 5px 0;\n }\n\n hr{\n margin-top: 5px;\n margin-bottom: 5px;\n }\n }\n .stats{\n color: #a9a9a9;\n font-weight: 300;\n i{\n margin-right: 2px;\n min-width: 15px;\n display: inline-block;\n }\n }\n .footer div{\n display: inline-block;\n }\n\n .author{\n font-size: $font-size-small;\n font-weight: $font-weight-bold;\n text-transform: uppercase;\n }\n .author i{\n font-size: $font-size-base;\n }\n\n &.card-separator:after{\n height: 100%;\n right: -15px;\n top: 0;\n width: 1px;\n background-color: $medium-gray;\n content: \"\";\n position: absolute;\n }\n\n .ct-chart{\n margin: 30px 0 30px;\n height: 245px;\n }\n\n .table{\n tbody td:first-child,\n thead th:first-child{\n padding-left: 15px;\n }\n\n tbody td:last-child,\n thead th:last-child{\n padding-right: 15px;\n }\n }\n\n .alert{\n border-radius: $border-radius-base;\n position: relative;\n\n &.alert-with-icon{\n padding-left: 65px;\n }\n }\n .icon-big{\n font-size: 3em;\n min-height: 64px;\n }\n .numbers{\n font-size: 2em;\n text-align: right;\n p{\n margin: 0;\n }\n }\n ul.team-members{\n li{\n padding: 10px 0px;\n &:not(:last-child){\n border-bottom: 1px solid $medium-pale-bg;\n }\n }\n }\n\n .btn-primary {\n @include btn-styles($primary-color, $primary-states-color);\n }\n\n .btn-success {\n @include btn-styles($success-color, $success-states-color);\n }\n\n .btn-info {\n @include btn-styles($info-color, $info-states-color);\n }\n\n .btn-warning {\n @include btn-styles($warning-color, $warning-states-color);\n }\n\n .btn-danger {\n @include btn-styles($danger-color, $danger-states-color);\n }\n\n .btn-neutral {\n @include btn-styles($white-color, $white-color);\n }\n}\n.card-user{\n .image{\n border-radius: 8px 8px 0 0;\n height: 150px;\n position: relative;\n overflow: hidden;\n\n img{\n width: 100%;\n }\n }\n .image-plain{\n height: 0;\n margin-top: 110px;\n }\n .author{\n text-align: center;\n text-transform: none;\n margin-top: -65px;\n .title{\n color: $default-states-color;\n small{\n color: $card-muted-color;\n }\n }\n }\n .avatar{\n width: 100px;\n height: 100px;\n border-radius: 50%;\n position: relative;\n margin-bottom: 15px;\n\n &.border-white{\n border: 5px solid $white-color;\n }\n &.border-gray{\n border: 5px solid $card-muted-color;\n }\n }\n .title{\n font-weight: 600;\n line-height: 24px;\n }\n .description{\n margin-top: 10px;\n }\n .content{\n min-height: 200px;\n }\n\n &.card-plain{\n .avatar{\n height: 190px;\n width: 190px;\n }\n }\n}\n\n.card-map{\n .map{\n height: 500px;\n padding-top: 20px;\n\n > div{\n height: 100%;\n }\n }\n}\n.card-user,\n.card-price{\n .footer{\n padding: 5px 15px 10px;\n }\n hr{\n margin: 5px 15px;\n }\n}\n.card-plain{\n background-color: transparent;\n box-shadow: none;\n border-radius: 0;\n\n .image{\n border-radius: 4px;\n }\n}\n","@mixin ct-responsive-svg-container($width: 100%, $ratio: $ct-container-ratio) {\n display: block;\n position: relative;\n width: $width;\n\n &:before {\n display: block;\n float: left;\n content: \"\";\n width: 0;\n height: 0;\n padding-bottom: $ratio * 100%;\n }\n\n &:after {\n content: \"\";\n display: table;\n clear: both;\n }\n\n > svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n }\n}\n\n@mixin ct-align-justify($ct-text-align: $ct-text-align, $ct-text-justify: $ct-text-justify) {\n -webkit-box-align: $ct-text-align;\n -webkit-align-items: $ct-text-align;\n -ms-flex-align: $ct-text-align;\n align-items: $ct-text-align;\n -webkit-box-pack: $ct-text-justify;\n -webkit-justify-content: $ct-text-justify;\n -ms-flex-pack: $ct-text-justify;\n justify-content: $ct-text-justify;\n // Fallback to text-align for non-flex browsers\n @if($ct-text-justify == 'flex-start') {\n text-align: left;\n } @else if ($ct-text-justify == 'flex-end') {\n text-align: right;\n } @else {\n text-align: center;\n }\n}\n\n@mixin ct-flex() {\n // Fallback to block\n display: block;\n display: -webkit-box;\n display: -moz-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n}\n\n@mixin ct-chart-label($ct-text-color: $ct-text-color, $ct-text-size: $ct-text-size, $ct-text-line-height: $ct-text-line-height) {\n fill: $ct-text-color;\n color: $ct-text-color;\n font-size: $ct-text-size;\n line-height: $ct-text-line-height;\n}\n\n@mixin ct-chart-grid($ct-grid-color: $ct-grid-color, $ct-grid-width: $ct-grid-width, $ct-grid-dasharray: $ct-grid-dasharray) {\n stroke: $ct-grid-color;\n stroke-width: $ct-grid-width;\n\n @if ($ct-grid-dasharray) {\n stroke-dasharray: $ct-grid-dasharray;\n }\n}\n\n@mixin ct-chart-point($ct-point-size: $ct-point-size, $ct-point-shape: $ct-point-shape) {\n stroke-width: $ct-point-size;\n stroke-linecap: $ct-point-shape;\n}\n\n@mixin ct-chart-line($ct-line-width: $ct-line-width, $ct-line-dasharray: $ct-line-dasharray) {\n fill: none;\n stroke-width: $ct-line-width;\n\n @if ($ct-line-dasharray) {\n stroke-dasharray: $ct-line-dasharray;\n }\n}\n\n@mixin ct-chart-area($ct-area-opacity: $ct-area-opacity) {\n stroke: none;\n fill-opacity: $ct-area-opacity;\n}\n\n@mixin ct-chart-bar($ct-bar-width: $ct-bar-width) {\n fill: none;\n stroke-width: $ct-bar-width;\n}\n\n@mixin ct-chart-donut($ct-donut-width: $ct-donut-width) {\n fill: none;\n stroke-width: $ct-donut-width;\n}\n\n@mixin ct-chart-series-color($color) {\n .#{$ct-class-point}, .#{$ct-class-line}, .#{$ct-class-bar}, .#{$ct-class-slice-donut} {\n stroke: $color;\n }\n\n .#{$ct-class-slice-pie}, .#{$ct-class-area} {\n fill: $color;\n }\n}\n\n@mixin ct-chart($ct-container-ratio: $ct-container-ratio, $ct-text-color: $ct-text-color, $ct-text-size: $ct-text-size, $ct-grid-color: $ct-grid-color, $ct-grid-width: $ct-grid-width, $ct-grid-dasharray: $ct-grid-dasharray, $ct-point-size: $ct-point-size, $ct-point-shape: $ct-point-shape, $ct-line-width: $ct-line-width, $ct-bar-width: $ct-bar-width, $ct-donut-width: $ct-donut-width, $ct-series-names: $ct-series-names, $ct-series-colors: $ct-series-colors) {\n\n .#{$ct-class-label} {\n @include ct-chart-label($ct-text-color, $ct-text-size);\n }\n\n .#{$ct-class-chart-line} .#{$ct-class-label},\n .#{$ct-class-chart-bar} .#{$ct-class-label} {\n @include ct-flex();\n }\n\n .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-start} {\n @include ct-align-justify(flex-end, flex-start);\n // Fallback for browsers that don't support foreignObjects\n text-anchor: start;\n }\n\n .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-end} {\n @include ct-align-justify(flex-start, flex-start);\n // Fallback for browsers that don't support foreignObjects\n text-anchor: start;\n }\n\n .#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-start} {\n @include ct-align-justify(flex-end, flex-end);\n // Fallback for browsers that don't support foreignObjects\n text-anchor: end;\n }\n\n .#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-end} {\n @include ct-align-justify(flex-end, flex-start);\n // Fallback for browsers that don't support foreignObjects\n text-anchor: start;\n }\n\n .#{$ct-class-chart-bar} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-start} {\n @include ct-align-justify(flex-end, center);\n // Fallback for browsers that don't support foreignObjects\n text-anchor: start;\n }\n\n .#{$ct-class-chart-bar} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-end} {\n @include ct-align-justify(flex-start, center);\n // Fallback for browsers that don't support foreignObjects\n text-anchor: start;\n }\n\n .#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-start} {\n @include ct-align-justify(flex-end, flex-start);\n // Fallback for browsers that don't support foreignObjects\n text-anchor: start;\n }\n\n .#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-end} {\n @include ct-align-justify(flex-start, flex-start);\n // Fallback for browsers that don't support foreignObjects\n text-anchor: start;\n }\n\n .#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-start} {\n //@include ct-chart-label($ct-text-color, $ct-text-size, center, $ct-vertical-text-justify);\n @include ct-align-justify(center, flex-end);\n // Fallback for browsers that don't support foreignObjects\n text-anchor: end;\n }\n\n .#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-end} {\n @include ct-align-justify(center, flex-start);\n // Fallback for browsers that don't support foreignObjects\n text-anchor: end;\n }\n\n .#{$ct-class-grid} {\n @include ct-chart-grid($ct-grid-color, $ct-grid-width, $ct-grid-dasharray);\n }\n\n .#{$ct-class-point} {\n @include ct-chart-point($ct-point-size, $ct-point-shape);\n }\n\n .#{$ct-class-line} {\n @include ct-chart-line($ct-line-width);\n }\n\n .#{$ct-class-area} {\n @include ct-chart-area();\n }\n\n .#{$ct-class-bar} {\n @include ct-chart-bar($ct-bar-width);\n }\n\n .#{$ct-class-slice-donut} {\n @include ct-chart-donut($ct-donut-width);\n }\n\n @if $ct-include-colored-series {\n @for $i from 0 to length($ct-series-names) {\n .#{$ct-class-series}-#{nth($ct-series-names, $i + 1)} {\n $color: nth($ct-series-colors, $i + 1);\n\n @include ct-chart-series-color($color);\n }\n }\n }\n}\n\n@if $ct-include-classes {\n @include ct-chart();\n\n @if $ct-include-alternative-responsive-containers {\n @for $i from 0 to length($ct-scales-names) {\n .#{nth($ct-scales-names, $i + 1)} {\n @include ct-responsive-svg-container($ratio: nth($ct-scales, $i + 1));\n }\n }\n }\n}","@media (min-width: 992px){\n .navbar{\n min-height: 75px;\n }\n .navbar-form {\n margin-top: 21px;\n margin-bottom: 21px;\n padding-left: 5px;\n padding-right: 5px;\n }\n .navbar-search-form{\n display: none;\n }\n .navbar-nav > li > .dropdown-menu,\n .dropdown .dropdown-menu{\n transform: translate3d(0px, -40px, 0px);\n transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, opacity 0.3s ease 0s, height 0s linear 0.35s;\n }\n .navbar-nav > li.open > .dropdown-menu, .dropdown.open .dropdown-menu{\n transform: translate3d(0px, 0px, 0px);\n }\n\n .navbar-nav > li > .dropdown-menu:before{\n border-bottom: 11px solid $medium-pale-bg;\n border-left: 11px solid rgba(0, 0, 0, 0);\n border-right: 11px solid rgba(0, 0, 0, 0);\n content: \"\";\n display: inline-block;\n position: absolute;\n right: 12px;\n top: -11px;\n }\n .navbar-nav > li > .dropdown-menu:after {\n border-bottom: 11px solid $pale-bg;\n border-left: 11px solid rgba(0, 0, 0, 0);\n border-right: 11px solid rgba(0, 0, 0, 0);\n content: \"\";\n display: inline-block;\n position: absolute;\n right: 12px;\n top: -10px;\n }\n\n .navbar-nav.navbar-left > li > .dropdown-menu:before{\n right: auto;\n left: 12px;\n }\n\n .navbar-nav.navbar-left > li > .dropdown-menu:after{\n right: auto;\n left: 12px;\n }\n\n .navbar{\n .navbar-header{\n margin-left: 10px;\n }\n }\n\n .footer:not(.footer-big){\n nav > ul{\n li:first-child{\n margin-left: 0;\n }\n }\n }\n\n body > .navbar-collapse.collapse{\n display: none !important;\n }\n\n .card{\n form{\n [class*=\"col-\"]{\n padding: 6px;\n }\n [class*=\"col-\"]:first-child{\n padding-left: 15px;\n }\n [class*=\"col-\"]:last-child{\n padding-right: 15px;\n }\n }\n }\n}\n\n/* Changes for small display */\n\n@media (max-width: 991px){\n .sidebar{\n display: none;\n }\n\n .main-panel{\n width: 100%;\n }\n .navbar-transparent{\n padding-top: 15px;\n background-color: rgba(0, 0, 0, 0.45);\n }\n body {\n position: relative;\n }\n h6{\n font-size: 1em;\n }\n .wrapper{\n @include transform-translate-x(0px);\n @include transition (0.33s, cubic-bezier(0.685, 0.0473, 0.346, 1));\n left: 0;\n background-color: white;\n }\n .navbar .container{\n left: 0;\n width: 100%;\n @include transition (0.33s, cubic-bezier(0.685, 0.0473, 0.346, 1));\n position: relative;\n }\n .navbar .navbar-collapse.collapse,\n .navbar .navbar-collapse.collapse.in,\n .navbar .navbar-collapse.collapsing{\n display: none !important;\n }\n\n .navbar-nav > li{\n float: none;\n position: relative;\n display: block;\n }\n\n .off-canvas-sidebar {\n position: fixed;\n display: block;\n top: 0;\n height: 100%;\n width: 230px;\n right: 0;\n z-index: 1032;\n visibility: visible;\n background-color: #999;\n overflow-y: visible;\n border-top: none;\n text-align: left;\n padding-right: 0px;\n padding-left: 0;\n\n @include transform-translate-x(230px);\n @include transition (0.33s, cubic-bezier(0.685, 0.0473, 0.346, 1));\n\n .sidebar-wrapper {\n position: relative;\n z-index: 3;\n overflow-y: scroll;\n height: 100%;\n box-shadow: inset 1px 0px 0px 0px $medium-gray;\n }\n\n .nav{\n margin-top: 0;\n padding: 10px $margin-base-vertical 0;\n\n > li{\n\n > a{\n margin: 0px 0px;\n color: $default-color;\n text-transform: uppercase;\n font-weight: 600;\n font-size: $font-size-small;\n line-height: $line-height-general;\n padding: 10px 0;\n\n &:hover,\n &.active{\n color: $default-states-color;\n }\n\n p,\n .notification,\n .caret\n {\n display: inline-block;\n }\n\n .caret{\n float: right;\n position: relative;\n top: 12px;\n }\n\n i{\n font-size: 18px;\n margin-right: 10px;\n line-height: 26px;\n }\n }\n\n &.active > a{\n\n &:before{\n border-right: none;\n border-left: 12px solid $medium-gray;\n border-top: 12px solid transparent;\n border-bottom: 12px solid transparent;\n right: auto;\n margin-left: -$margin-base-vertical;\n left: 0px;\n top: 10px;\n }\n\n &:after{\n border-right: none;\n border-left: 12px solid $bg-nude;\n border-top: 12px solid transparent;\n border-bottom: 12px solid transparent;\n right: auto;\n margin-left: -$margin-base-vertical;\n left: -1px;\n top: 10px;\n }\n }\n\n }\n\n\n\n }\n\n &::after{\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n position: absolute;\n background-color: $bg-nude;\n background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(112, 112, 112, 0) 60%, rgba(186, 186, 186, 0.15) 100%);\n display: block;\n content: \"\";\n z-index: 1;\n }\n &.has-image::after{\n @include black-filter(.8);\n }\n\n .logo{\n position: relative;\n z-index: 4;\n padding-top: 11px;\n padding-bottom: 11px;\n }\n\n .divider{\n height: 1px;\n margin: 10px 0;\n }\n }\n .nav-open .navbar-collapse{\n @include transform-translate-x(0px);\n }\n .nav-open .navbar .container{\n left: -230px;\n }\n .nav-open .wrapper{\n left: 0;\n @include transform-translate-x(-230px);\n }\n .navbar-toggle .icon-bar {\n display: block;\n position: relative;\n background: #fff;\n width: 24px;\n height: 2px;\n border-radius: 1px;\n margin: 0 auto;\n }\n\n .navbar-header .navbar-toggle {\n margin: 10px 15px 10px 0;\n width: 40px;\n height: 40px;\n }\n .bar1,\n .bar2,\n .bar3 {\n outline: 1px solid transparent;\n }\n .bar1 {\n top: 0px;\n @include bar-animation($topbar-back);\n }\n .bar2 {\n opacity: 1;\n }\n .bar3 {\n bottom: 0px;\n @include bar-animation($bottombar-back);\n }\n .toggled .bar1 {\n top: 6px;\n @include bar-animation($topbar-x);\n }\n .toggled .bar2 {\n opacity: 0;\n }\n .toggled .bar3 {\n bottom: 6px;\n @include bar-animation($bottombar-x);\n }\n\n @include topbar-x-rotation();\n @include topbar-back-rotation();\n @include bottombar-x-rotation();\n @include bottombar-back-rotation();\n\n @-webkit-keyframes fadeIn {\n 0% {opacity: 0;}\n 100% {opacity: 1;}\n }\n @-moz-keyframes fadeIn {\n 0% {opacity: 0;}\n 100% {opacity: 1;}\n }\n @keyframes fadeIn {\n 0% {opacity: 0;}\n 100% {opacity: 1;}\n }\n\n .dropdown-menu .divider{\n background-color: rgba(229, 229, 229, 0.15);\n }\n\n .navbar-nav {\n margin: 1px 0;\n }\n\n .dropdown-menu {\n display: none;\n\n & > li > a{\n &:hover,\n &:focus{\n background-color: transparent;\n }\n }\n }\n\n .navbar-fixed-top {\n -webkit-backface-visibility: hidden;\n }\n #bodyClick {\n height: 100%;\n width: 100%;\n position: fixed;\n opacity: 0;\n top: 0;\n left: auto;\n right: 230px;\n content: \"\";\n z-index: 9999;\n overflow-x: hidden;\n }\n .form-control + .form-control-feedback{\n margin-top: -8px;\n }\n .navbar-toggle:hover,.navbar-toggle:focus {\n background-color: transparent !important;\n }\n .btn.dropdown-toggle{\n margin-bottom: 0;\n }\n .media-post .author{\n width: 20%;\n float: none !important;\n display: block;\n margin: 0 auto 10px;\n }\n .media-post .media-body{\n width: 100%;\n }\n\n .navbar-collapse.collapse{\n height: 100% !important;\n }\n .navbar-collapse.collapse.in {\n display: block;\n }\n .navbar-header .collapse, .navbar-toggle {\n display:block !important;\n }\n .navbar-header {\n float:none;\n }\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n\n .main-panel > .content{\n padding-left: 0;\n padding-right: 0;\n }\n .nav .open > a{\n &,\n &:focus,\n &:hover{\n background-color: transparent;\n }\n\n }\n\n .footer .copyright{\n padding: 0px 15px;\n width: 100%;\n }\n}\n\n//overwrite table responsive for 768px screens\n\n@media (min-width: 992px){\n .table-full-width{\n margin-left: -15px;\n margin-right: -15px;\n }\n .table-responsive{\n overflow: visible;\n }\n\n}\n\n@media (max-width: 991px){\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n border: 1px solid #dddddd;\n overflow-x: scroll;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n -webkit-overflow-scrolling: touch;\n }\n\n}\n",".form-container {\n border: 0;\n border-radius: 2px;\n display: inline-block;\n position: relative;\n overflow: hidden;\n width: 100%;\n /*margin-bottom: 20px;*/\n font-weight: bold;\n //text-transform: uppercase;\n\n h6 {\n font-size: 15px;\n padding: 7px;\n background-color: rgba(222, 222, 222, 0.3);\n }\n\n .form-container-body {\n padding: 8px;\n }\n}\n","@font-face {\n\tfont-family: 'Pe-icon-7-stroke';\n\tsrc:url('#{$pe-7s-font-path}/Pe-icon-7-stroke.eot?d7yf1v');\n\tsrc:url('#{$pe-7s-font-path}/Pe-icon-7-stroke.eot?#iefixd7yf1v') format('embedded-opentype'),\n\t\turl('#{$pe-7s-font-path}/Pe-icon-7-stroke.woff?d7yf1v') format('woff'),\n\t\turl('#{$pe-7s-font-path}/Pe-icon-7-stroke.ttf?d7yf1v') format('truetype'),\n\t\turl('#{$pe-7s-font-path}/Pe-icon-7-stroke.svg?d7yf1v#Pe-icon-7-stroke') format('svg');\n\tfont-weight: normal;\n\tfont-style: normal;\n}\n","[class^=\"#{$font-prefix}-\"], [class*=\" #{$font-prefix}-\"] {\n\tdisplay: inline-block;\n\tfont-family: 'Pe-icon-7-stroke';\n\tspeak: none;\n\tfont-style: normal;\n\tfont-weight: normal;\n\tfont-variant: normal;\n\ttext-transform: none;\n\tline-height: 1;\n\n\t/* Better Font Rendering =========== */\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n","\n/* HELPER CLASS\n * -------------------------- */\n\n/* FA based classes */\n\n/*! Modified from font-awesome helper CSS classes - PIXEDEN\n * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (CSS: MIT License)\n */\n\n/* makes the font 33% larger relative to the icon container */\n.pe-lg {\n font-size: $font-size-base * 1.33;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n\n.pe-2x {\n font-size: 2 * $font-size-base;\n}\n\n.pe-3x {\n font-size: 3 * $font-size-base;\n}\n\n.pe-4x {\n font-size: 4 * $font-size-base;\n}\n\n.pe-5x {\n font-size: 5 * $font-size-base;\n}\n\n.pe-fw {\n width: 1.2857142857142858em;\n text-align: center;\n}\n\n.pe-ul {\n padding-left: 0;\n margin-left: 2.142857142857143em;\n list-style-type: none;\n \n & > li {\n position: relative;\n }\n}\n\n.pe-li {\n position: absolute;\n left: -2.142857142857143em;\n width: 2.142857142857143em;\n top: 0.14285714285714285em;\n text-align: center;\n\n &.pe-lg {\n left: -1.8571428571428572em;\n }\n}\n\n.pe-border {\n padding: .2em .25em .15em;\n border: solid 0.08em #eeeeee;\n border-radius: .1em;\n}\n\n.pull-right {\n float: right;\n}\n\n.pe {\n &.pull-left {\n float: left;\n margin-right: .3em;\n margin-left: .3em;\n }\n}\n\n.pe-spin {\n animation: spin 2s infinite linear;\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n\n.pe-rotate-90 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\n transform: rotate(90deg);\n}\n\n.pe-rotate-180 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n transform: rotate(180deg);\n}\n\n.pe-rotate-270 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n transform: rotate(270deg);\n}\n\n.pe-flip-horizontal {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\n transform: scale(-1, 1);\n}\n\n.pe-flip-vertical {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\n transform: scale(1, -1);\n}\n\n.pe-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n\n.pe-stack-1x,\n.pe-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n\n.pe-stack-1x {\n line-height: inherit;\n}\n\n.pe-stack-2x {\n font-size: 2em;\n}\n\n.pe-inverse {\n color: #ffffff;\n}\n\n/* Custom classes / mods - PIXEDEN */\n.pe-va {\n vertical-align: middle;\n}\n\n.pe-border {\n border: solid 0.08em #eaeaea;\n}\n",".#{$font-prefix}-album:before {\n content: $font-var-album;\n}\n\n.#{$font-prefix}-arc:before {\n content: $font-var-arc;\n}\n.#{$font-prefix}-back-2:before {\n content: $font-var-back-2;\n}\n.#{$font-prefix}-bandaid:before {\n content: $font-var-bandaid;\n}\n.#{$font-prefix}-car:before {\n content: $font-var-car;\n}\n.#{$font-prefix}-diamond:before {\n content: $font-var-diamond;\n}\n.#{$font-prefix}-door-lock:before {\n content: $font-var-door-lock;\n}\n.#{$font-prefix}-eyedropper:before {\n content: $font-var-eyedropper;\n}\n.#{$font-prefix}-female:before {\n content: $font-var-female;\n}\n.#{$font-prefix}-gym:before {\n content: $font-var-gym;\n}\n.#{$font-prefix}-hammer:before {\n content: $font-var-hammer;\n}\n.#{$font-prefix}-headphones:before {\n content: $font-var-headphones;\n}\n.#{$font-prefix}-helm:before {\n content: $font-var-helm;\n}\n.#{$font-prefix}-hourglass:before {\n content: $font-var-hourglass;\n}\n.#{$font-prefix}-leaf:before {\n content: $font-var-leaf;\n}\n.#{$font-prefix}-magic-wand:before {\n content: $font-var-magic-wand;\n}\n.#{$font-prefix}-male:before {\n content: $font-var-male;\n}\n.#{$font-prefix}-map-2:before {\n content: $font-var-map-2;\n}\n.#{$font-prefix}-next-2:before {\n content: $font-var-next-2;\n}\n.#{$font-prefix}-paint-bucket:before {\n content: $font-var-paint-bucket;\n}\n.#{$font-prefix}-pendrive:before {\n content: $font-var-pendrive;\n}\n.#{$font-prefix}-photo:before {\n content: $font-var-photo;\n}\n.#{$font-prefix}-piggy:before {\n content: $font-var-piggy;\n}\n.#{$font-prefix}-plugin:before {\n content: $font-var-plugin;\n}\n.#{$font-prefix}-refresh-2:before {\n content: $font-var-refresh-2;\n}\n.#{$font-prefix}-rocket:before {\n content: $font-var-rocket;\n}\n.#{$font-prefix}-settings:before {\n content: $font-var-settings;\n}\n.#{$font-prefix}-shield:before {\n content: $font-var-shield;\n}\n.#{$font-prefix}-smile:before {\n content: $font-var-smile;\n}\n.#{$font-prefix}-usb:before {\n content: $font-var-usb;\n}\n.#{$font-prefix}-vector:before {\n content: $font-var-vector;\n}\n.#{$font-prefix}-wine:before {\n content: $font-var-wine;\n}\n.#{$font-prefix}-cloud-upload:before {\n content: $font-var-cloud-upload;\n}\n.#{$font-prefix}-cash:before {\n content: $font-var-cash;\n}\n.#{$font-prefix}-close:before {\n content: $font-var-close;\n}\n.#{$font-prefix}-bluetooth:before {\n content: $font-var-bluetooth;\n}\n.#{$font-prefix}-cloud-download:before {\n content: $font-var-cloud-download;\n}\n.#{$font-prefix}-way:before {\n content: $font-var-way;\n}\n.#{$font-prefix}-close-circle:before {\n content: $font-var-close-circle;\n}\n.#{$font-prefix}-id:before {\n content: $font-var-id;\n}\n.#{$font-prefix}-angle-up:before {\n content: $font-var-angle-up;\n}\n.#{$font-prefix}-wristwatch:before {\n content: $font-var-wristwatch;\n}\n.#{$font-prefix}-angle-up-circle:before {\n content: $font-var-angle-up-circle;\n}\n.#{$font-prefix}-world:before {\n content: $font-var-world;\n}\n.#{$font-prefix}-angle-right:before {\n content: $font-var-angle-right;\n}\n.#{$font-prefix}-volume:before {\n content: $font-var-volume;\n}\n.#{$font-prefix}-angle-right-circle:before {\n content: $font-var-angle-right-circle;\n}\n.#{$font-prefix}-users:before {\n content: $font-var-users;\n}\n.#{$font-prefix}-angle-left:before {\n content: $font-var-angle-left;\n}\n.#{$font-prefix}-user-female:before {\n content: $font-var-user-female;\n}\n.#{$font-prefix}-angle-left-circle:before {\n content: $font-var-angle-left-circle;\n}\n.#{$font-prefix}-up-arrow:before {\n content: $font-var-up-arrow;\n}\n.#{$font-prefix}-angle-down:before {\n content: $font-var-angle-down;\n}\n.#{$font-prefix}-switch:before {\n content: $font-var-switch;\n}\n.#{$font-prefix}-angle-down-circle:before {\n content: $font-var-angle-down-circle;\n}\n.#{$font-prefix}-scissors:before {\n content: $font-var-scissors;\n}\n.#{$font-prefix}-wallet:before {\n content: $font-var-wallet;\n}\n.#{$font-prefix}-safe:before {\n content: $font-var-safe;\n}\n.#{$font-prefix}-volume2:before {\n content: $font-var-volume2;\n}\n.#{$font-prefix}-volume1:before {\n content: $font-var-volume1;\n}\n.#{$font-prefix}-voicemail:before {\n content: $font-var-voicemail;\n}\n.#{$font-prefix}-video:before {\n content: $font-var-video;\n}\n.#{$font-prefix}-user:before {\n content: $font-var-user;\n}\n.#{$font-prefix}-upload:before {\n content: $font-var-upload;\n}\n.#{$font-prefix}-unlock:before {\n content: $font-var-unlock;\n}\n.#{$font-prefix}-umbrella:before {\n content: $font-var-umbrella;\n}\n.#{$font-prefix}-trash:before {\n content: $font-var-trash;\n}\n.#{$font-prefix}-tools:before {\n content: $font-var-tools;\n}\n.#{$font-prefix}-timer:before {\n content: $font-var-timer;\n}\n.#{$font-prefix}-ticket:before {\n content: $font-var-ticket;\n}\n.#{$font-prefix}-target:before {\n content: $font-var-target;\n}\n.#{$font-prefix}-sun:before {\n content: $font-var-sun;\n}\n.#{$font-prefix}-study:before {\n content: $font-var-study;\n}\n.#{$font-prefix}-stopwatch:before {\n content: $font-var-stopwatch;\n}\n.#{$font-prefix}-star:before {\n content: $font-var-star;\n}\n.#{$font-prefix}-speaker:before {\n content: $font-var-speaker;\n}\n.#{$font-prefix}-signal:before {\n content: $font-var-signal;\n}\n.#{$font-prefix}-shuffle:before {\n content: $font-var-shuffle;\n}\n.#{$font-prefix}-shopbag:before {\n content: $font-var-shopbag;\n}\n.#{$font-prefix}-share:before {\n content: $font-var-share;\n}\n.#{$font-prefix}-server:before {\n content: $font-var-server;\n}\n.#{$font-prefix}-search:before {\n content: $font-var-search;\n}\n.#{$font-prefix}-film:before {\n content: $font-var-film;\n}\n.#{$font-prefix}-science:before {\n content: $font-var-science;\n}\n.#{$font-prefix}-disk:before {\n content: $font-var-disk;\n}\n.#{$font-prefix}-ribbon:before {\n content: $font-var-ribbon;\n}\n.#{$font-prefix}-repeat:before {\n content: $font-var-repeat;\n}\n.#{$font-prefix}-refresh:before {\n content: $font-var-refresh;\n}\n.#{$font-prefix}-add-user:before {\n content: $font-var-add-user;\n}\n.#{$font-prefix}-refresh-cloud:before {\n content: $font-var-refresh-cloud;\n}\n.#{$font-prefix}-paperclip:before {\n content: $font-var-paperclip;\n}\n.#{$font-prefix}-radio:before {\n content: $font-var-radio;\n}\n.#{$font-prefix}-note2:before {\n content: $font-var-note2;\n}\n.#{$font-prefix}-print:before {\n content: $font-var-print;\n}\n.#{$font-prefix}-network:before {\n content: $font-var-network;\n}\n.#{$font-prefix}-prev:before {\n content: $font-var-prev;\n}\n.#{$font-prefix}-mute:before {\n content: $font-var-mute;\n}\n.#{$font-prefix}-power:before {\n content: $font-var-power;\n}\n.#{$font-prefix}-medal:before {\n content: $font-var-medal;\n}\n.#{$font-prefix}-portfolio:before {\n content: $font-var-portfolio;\n}\n.#{$font-prefix}-like2:before {\n content: $font-var-like2;\n}\n.#{$font-prefix}-plus:before {\n content: $font-var-plus;\n}\n.#{$font-prefix}-left-arrow:before {\n content: $font-var-left-arrow;\n}\n.#{$font-prefix}-play:before {\n content: $font-var-play;\n}\n.#{$font-prefix}-key:before {\n content: $font-var-key;\n}\n.#{$font-prefix}-plane:before {\n content: $font-var-plane;\n}\n.#{$font-prefix}-joy:before {\n content: $font-var-joy;\n}\n.#{$font-prefix}-photo-gallery:before {\n content: $font-var-photo-gallery;\n}\n.#{$font-prefix}-pin:before {\n content: $font-var-pin;\n}\n.#{$font-prefix}-phone:before {\n content: $font-var-phone;\n}\n.#{$font-prefix}-plug:before {\n content: $font-var-plug;\n}\n.#{$font-prefix}-pen:before {\n content: $font-var-pen;\n}\n.#{$font-prefix}-right-arrow:before {\n content: $font-var-right-arrow;\n}\n.#{$font-prefix}-paper-plane:before {\n content: $font-var-paper-plane;\n}\n.#{$font-prefix}-delete-user:before {\n content: $font-var-delete-user;\n}\n.#{$font-prefix}-paint:before {\n content: $font-var-paint;\n}\n.#{$font-prefix}-bottom-arrow:before {\n content: $font-var-bottom-arrow;\n}\n.#{$font-prefix}-notebook:before {\n content: $font-var-notebook;\n}\n.#{$font-prefix}-note:before {\n content: $font-var-note;\n}\n.#{$font-prefix}-next:before {\n content: $font-var-next;\n}\n.#{$font-prefix}-news-paper:before {\n content: $font-var-news-paper;\n}\n.#{$font-prefix}-musiclist:before {\n content: $font-var-musiclist;\n}\n.#{$font-prefix}-music:before {\n content: $font-var-music;\n}\n.#{$font-prefix}-mouse:before {\n content: $font-var-mouse;\n}\n.#{$font-prefix}-more:before {\n content: $font-var-more;\n}\n.#{$font-prefix}-moon:before {\n content: $font-var-moon;\n}\n.#{$font-prefix}-monitor:before {\n content: $font-var-monitor;\n}\n.#{$font-prefix}-micro:before {\n content: $font-var-micro;\n}\n.#{$font-prefix}-menu:before {\n content: $font-var-menu;\n}\n.#{$font-prefix}-map:before {\n content: $font-var-map;\n}\n.#{$font-prefix}-map-marker:before {\n content: $font-var-map-marker;\n}\n.#{$font-prefix}-mail:before {\n content: $font-var-mail;\n}\n.#{$font-prefix}-mail-open:before {\n content: $font-var-mail-open;\n}\n.#{$font-prefix}-mail-open-file:before {\n content: $font-var-mail-open-file;\n}\n.#{$font-prefix}-magnet:before {\n content: $font-var-magnet;\n}\n.#{$font-prefix}-loop:before {\n content: $font-var-loop;\n}\n.#{$font-prefix}-look:before {\n content: $font-var-look;\n}\n.#{$font-prefix}-lock:before {\n content: $font-var-lock;\n}\n.#{$font-prefix}-lintern:before {\n content: $font-var-lintern;\n}\n.#{$font-prefix}-link:before {\n content: $font-var-link;\n}\n.#{$font-prefix}-like:before {\n content: $font-var-like;\n}\n.#{$font-prefix}-light:before {\n content: $font-var-light;\n}\n.#{$font-prefix}-less:before {\n content: $font-var-less;\n}\n.#{$font-prefix}-keypad:before {\n content: $font-var-keypad;\n}\n.#{$font-prefix}-junk:before {\n content: $font-var-junk;\n}\n.#{$font-prefix}-info:before {\n content: $font-var-info;\n}\n.#{$font-prefix}-home:before {\n content: $font-var-home;\n}\n.#{$font-prefix}-help2:before {\n content: $font-var-help2;\n}\n.#{$font-prefix}-help1:before {\n content: $font-var-help1;\n}\n.#{$font-prefix}-graph3:before {\n content: $font-var-graph3;\n}\n.#{$font-prefix}-graph2:before {\n content: $font-var-graph2;\n}\n.#{$font-prefix}-graph1:before {\n content: $font-var-graph1;\n}\n.#{$font-prefix}-graph:before {\n content: $font-var-graph;\n}\n.#{$font-prefix}-global:before {\n content: $font-var-global;\n}\n.#{$font-prefix}-gleam:before {\n content: $font-var-gleam;\n}\n.#{$font-prefix}-glasses:before {\n content: $font-var-glasses;\n}\n.#{$font-prefix}-gift:before {\n content: $font-var-gift;\n}\n.#{$font-prefix}-folder:before {\n content: $font-var-folder;\n}\n.#{$font-prefix}-flag:before {\n content: $font-var-flag;\n}\n.#{$font-prefix}-filter:before {\n content: $font-var-filter;\n}\n.#{$font-prefix}-file:before {\n content: $font-var-file;\n}\n.#{$font-prefix}-expand1:before {\n content: $font-var-expand1;\n}\n.#{$font-prefix}-exapnd2:before {\n content: $font-var-exapnd2;\n}\n.#{$font-prefix}-edit:before {\n content: $font-var-edit;\n}\n.#{$font-prefix}-drop:before {\n content: $font-var-drop;\n}\n.#{$font-prefix}-drawer:before {\n content: $font-var-drawer;\n}\n.#{$font-prefix}-download:before {\n content: $font-var-download;\n}\n.#{$font-prefix}-display2:before {\n content: $font-var-display2;\n}\n.#{$font-prefix}-display1:before {\n content: $font-var-display1;\n}\n.#{$font-prefix}-diskette:before {\n content: $font-var-diskette;\n}\n.#{$font-prefix}-date:before {\n content: $font-var-date;\n}\n.#{$font-prefix}-cup:before {\n content: $font-var-cup;\n}\n.#{$font-prefix}-culture:before {\n content: $font-var-culture;\n}\n.#{$font-prefix}-crop:before {\n content: $font-var-crop;\n}\n.#{$font-prefix}-credit:before {\n content: $font-var-credit;\n}\n.#{$font-prefix}-copy-file:before {\n content: $font-var-copy-file;\n}\n.#{$font-prefix}-config:before {\n content: $font-var-config;\n}\n.#{$font-prefix}-compass:before {\n content: $font-var-compass;\n}\n.#{$font-prefix}-comment:before {\n content: $font-var-comment;\n}\n.#{$font-prefix}-coffee:before {\n content: $font-var-coffee;\n}\n.#{$font-prefix}-cloud:before {\n content: $font-var-cloud;\n}\n.#{$font-prefix}-clock:before {\n content: $font-var-clock;\n}\n.#{$font-prefix}-check:before {\n content: $font-var-check;\n}\n.#{$font-prefix}-chat:before {\n content: $font-var-chat;\n}\n.#{$font-prefix}-cart:before {\n content: $font-var-cart;\n}\n.#{$font-prefix}-camera:before {\n content: $font-var-camera;\n}\n.#{$font-prefix}-call:before {\n content: $font-var-call;\n}\n.#{$font-prefix}-calculator:before {\n content: $font-var-calculator;\n}\n.#{$font-prefix}-browser:before {\n content: $font-var-browser;\n}\n.#{$font-prefix}-box2:before {\n content: $font-var-box2;\n}\n.#{$font-prefix}-box1:before {\n content: $font-var-box1;\n}\n.#{$font-prefix}-bookmarks:before {\n content: $font-var-bookmarks;\n}\n.#{$font-prefix}-bicycle:before {\n content: $font-var-bicycle;\n}\n.#{$font-prefix}-bell:before {\n content: $font-var-bell;\n}\n.#{$font-prefix}-battery:before {\n content: $font-var-battery;\n}\n.#{$font-prefix}-ball:before {\n content: $font-var-ball;\n}\n.#{$font-prefix}-back:before {\n content: $font-var-back;\n}\n.#{$font-prefix}-attention:before {\n content: $font-var-attention;\n}\n.#{$font-prefix}-anchor:before {\n content: $font-var-anchor;\n}\n.#{$font-prefix}-albums:before {\n content: $font-var-albums;\n}\n.#{$font-prefix}-alarm:before {\n content: $font-var-alarm;\n}\n.#{$font-prefix}-airplay:before {\n content: $font-var-airplay;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/public/assets/admin/js/app.js b/public/assets/admin/js/app.js index 3bbb1700..ca87d555 100644 --- a/public/assets/admin/js/app.js +++ b/public/assets/admin/js/app.js @@ -1,3 +1,3 @@ /*! For license information please see app.js.LICENSE.txt */ -(()=>{var t={757:(t,e,i)=>{t.exports=i(666)},669:(t,e,i)=>{t.exports=i(609)},448:(t,e,i)=>{"use strict";var n=i(867),o=i(26),s=i(372),r=i(327),a=i(97),h=i(109),u=i(985),l=i(61);t.exports=function(t){return new Promise((function(e,i){var c=t.data,d=t.headers;n.isFormData(c)&&delete d["Content-Type"];var p=new XMLHttpRequest;if(t.auth){var _=t.auth.username||"",f=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";d.Authorization="Basic "+btoa(_+":"+f)}var m=a(t.baseURL,t.url);if(p.open(t.method.toUpperCase(),r(m,t.params,t.paramsSerializer),!0),p.timeout=t.timeout,p.onreadystatechange=function(){if(p&&4===p.readyState&&(0!==p.status||p.responseURL&&0===p.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in p?h(p.getAllResponseHeaders()):null,s={data:t.responseType&&"text"!==t.responseType?p.response:p.responseText,status:p.status,statusText:p.statusText,headers:n,config:t,request:p};o(e,i,s),p=null}},p.onabort=function(){p&&(i(l("Request aborted",t,"ECONNABORTED",p)),p=null)},p.onerror=function(){i(l("Network Error",t,null,p)),p=null},p.ontimeout=function(){var e="timeout of "+t.timeout+"ms exceeded";t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),i(l(e,t,"ECONNABORTED",p)),p=null},n.isStandardBrowserEnv()){var g=(t.withCredentials||u(m))&&t.xsrfCookieName?s.read(t.xsrfCookieName):void 0;g&&(d[t.xsrfHeaderName]=g)}if("setRequestHeader"in p&&n.forEach(d,(function(t,e){void 0===c&&"content-type"===e.toLowerCase()?delete d[e]:p.setRequestHeader(e,t)})),n.isUndefined(t.withCredentials)||(p.withCredentials=!!t.withCredentials),t.responseType)try{p.responseType=t.responseType}catch(e){if("json"!==t.responseType)throw e}"function"==typeof t.onDownloadProgress&&p.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&p.upload&&p.upload.addEventListener("progress",t.onUploadProgress),t.cancelToken&&t.cancelToken.promise.then((function(t){p&&(p.abort(),i(t),p=null)})),c||(c=null),p.send(c)}))}},609:(t,e,i)=>{"use strict";var n=i(867),o=i(849),s=i(321),r=i(185);function a(t){var e=new s(t),i=o(s.prototype.request,e);return n.extend(i,s.prototype,e),n.extend(i,e),i}var h=a(i(655));h.Axios=s,h.create=function(t){return a(r(h.defaults,t))},h.Cancel=i(263),h.CancelToken=i(972),h.isCancel=i(502),h.all=function(t){return Promise.all(t)},h.spread=i(713),h.isAxiosError=i(268),t.exports=h,t.exports.default=h},263:t=>{"use strict";function e(t){this.message=t}e.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},e.prototype.__CANCEL__=!0,t.exports=e},972:(t,e,i)=>{"use strict";var n=i(263);function o(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var i=this;t((function(t){i.reason||(i.reason=new n(t),e(i.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var t;return{token:new o((function(e){t=e})),cancel:t}},t.exports=o},502:t=>{"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},321:(t,e,i)=>{"use strict";var n=i(867),o=i(327),s=i(782),r=i(572),a=i(185);function h(t){this.defaults=t,this.interceptors={request:new s,response:new s}}h.prototype.request=function(t){"string"==typeof t?(t=arguments[1]||{}).url=arguments[0]:t=t||{},(t=a(this.defaults,t)).method?t.method=t.method.toLowerCase():this.defaults.method?t.method=this.defaults.method.toLowerCase():t.method="get";var e=[r,void 0],i=Promise.resolve(t);for(this.interceptors.request.forEach((function(t){e.unshift(t.fulfilled,t.rejected)})),this.interceptors.response.forEach((function(t){e.push(t.fulfilled,t.rejected)}));e.length;)i=i.then(e.shift(),e.shift());return i},h.prototype.getUri=function(t){return t=a(this.defaults,t),o(t.url,t.params,t.paramsSerializer).replace(/^\?/,"")},n.forEach(["delete","get","head","options"],(function(t){h.prototype[t]=function(e,i){return this.request(a(i||{},{method:t,url:e,data:(i||{}).data}))}})),n.forEach(["post","put","patch"],(function(t){h.prototype[t]=function(e,i,n){return this.request(a(n||{},{method:t,url:e,data:i}))}})),t.exports=h},782:(t,e,i)=>{"use strict";var n=i(867);function o(){this.handlers=[]}o.prototype.use=function(t,e){return this.handlers.push({fulfilled:t,rejected:e}),this.handlers.length-1},o.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},o.prototype.forEach=function(t){n.forEach(this.handlers,(function(e){null!==e&&t(e)}))},t.exports=o},97:(t,e,i)=>{"use strict";var n=i(793),o=i(303);t.exports=function(t,e){return t&&!n(e)?o(t,e):e}},61:(t,e,i)=>{"use strict";var n=i(481);t.exports=function(t,e,i,o,s){var r=new Error(t);return n(r,e,i,o,s)}},572:(t,e,i)=>{"use strict";var n=i(867),o=i(527),s=i(502),r=i(655);function a(t){t.cancelToken&&t.cancelToken.throwIfRequested()}t.exports=function(t){return a(t),t.headers=t.headers||{},t.data=o(t.data,t.headers,t.transformRequest),t.headers=n.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),n.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete t.headers[e]})),(t.adapter||r.adapter)(t).then((function(e){return a(t),e.data=o(e.data,e.headers,t.transformResponse),e}),(function(e){return s(e)||(a(t),e&&e.response&&(e.response.data=o(e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)}))}},481:t=>{"use strict";t.exports=function(t,e,i,n,o){return t.config=e,i&&(t.code=i),t.request=n,t.response=o,t.isAxiosError=!0,t.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},t}},185:(t,e,i)=>{"use strict";var n=i(867);t.exports=function(t,e){e=e||{};var i={},o=["url","method","data"],s=["headers","auth","proxy","params"],r=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],a=["validateStatus"];function h(t,e){return n.isPlainObject(t)&&n.isPlainObject(e)?n.merge(t,e):n.isPlainObject(e)?n.merge({},e):n.isArray(e)?e.slice():e}function u(o){n.isUndefined(e[o])?n.isUndefined(t[o])||(i[o]=h(void 0,t[o])):i[o]=h(t[o],e[o])}n.forEach(o,(function(t){n.isUndefined(e[t])||(i[t]=h(void 0,e[t]))})),n.forEach(s,u),n.forEach(r,(function(o){n.isUndefined(e[o])?n.isUndefined(t[o])||(i[o]=h(void 0,t[o])):i[o]=h(void 0,e[o])})),n.forEach(a,(function(n){n in e?i[n]=h(t[n],e[n]):n in t&&(i[n]=h(void 0,t[n]))}));var l=o.concat(s).concat(r).concat(a),c=Object.keys(t).concat(Object.keys(e)).filter((function(t){return-1===l.indexOf(t)}));return n.forEach(c,u),i}},26:(t,e,i)=>{"use strict";var n=i(61);t.exports=function(t,e,i){var o=i.config.validateStatus;i.status&&o&&!o(i.status)?e(n("Request failed with status code "+i.status,i.config,null,i.request,i)):t(i)}},527:(t,e,i)=>{"use strict";var n=i(867);t.exports=function(t,e,i){return n.forEach(i,(function(i){t=i(t,e)})),t}},655:(t,e,i)=>{"use strict";var n=i(155),o=i(867),s=i(16),r={"Content-Type":"application/x-www-form-urlencoded"};function a(t,e){!o.isUndefined(t)&&o.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var h,u={adapter:(("undefined"!=typeof XMLHttpRequest||void 0!==n&&"[object process]"===Object.prototype.toString.call(n))&&(h=i(448)),h),transformRequest:[function(t,e){return s(e,"Accept"),s(e,"Content-Type"),o.isFormData(t)||o.isArrayBuffer(t)||o.isBuffer(t)||o.isStream(t)||o.isFile(t)||o.isBlob(t)?t:o.isArrayBufferView(t)?t.buffer:o.isURLSearchParams(t)?(a(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):o.isObject(t)?(a(e,"application/json;charset=utf-8"),JSON.stringify(t)):t}],transformResponse:[function(t){if("string"==typeof t)try{t=JSON.parse(t)}catch(t){}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(t){return t>=200&&t<300}};u.headers={common:{Accept:"application/json, text/plain, */*"}},o.forEach(["delete","get","head"],(function(t){u.headers[t]={}})),o.forEach(["post","put","patch"],(function(t){u.headers[t]=o.merge(r)})),t.exports=u},849:t=>{"use strict";t.exports=function(t,e){return function(){for(var i=new Array(arguments.length),n=0;n{"use strict";var n=i(867);function o(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,e,i){if(!e)return t;var s;if(i)s=i(e);else if(n.isURLSearchParams(e))s=e.toString();else{var r=[];n.forEach(e,(function(t,e){null!=t&&(n.isArray(t)?e+="[]":t=[t],n.forEach(t,(function(t){n.isDate(t)?t=t.toISOString():n.isObject(t)&&(t=JSON.stringify(t)),r.push(o(e)+"="+o(t))})))})),s=r.join("&")}if(s){var a=t.indexOf("#");-1!==a&&(t=t.slice(0,a)),t+=(-1===t.indexOf("?")?"?":"&")+s}return t}},303:t=>{"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},372:(t,e,i)=>{"use strict";var n=i(867);t.exports=n.isStandardBrowserEnv()?{write:function(t,e,i,o,s,r){var a=[];a.push(t+"="+encodeURIComponent(e)),n.isNumber(i)&&a.push("expires="+new Date(i).toGMTString()),n.isString(o)&&a.push("path="+o),n.isString(s)&&a.push("domain="+s),!0===r&&a.push("secure"),document.cookie=a.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},793:t=>{"use strict";t.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)}},268:t=>{"use strict";t.exports=function(t){return"object"==typeof t&&!0===t.isAxiosError}},985:(t,e,i)=>{"use strict";var n=i(867);t.exports=n.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),i=document.createElement("a");function o(t){var n=t;return e&&(i.setAttribute("href",n),n=i.href),i.setAttribute("href",n),{href:i.href,protocol:i.protocol?i.protocol.replace(/:$/,""):"",host:i.host,search:i.search?i.search.replace(/^\?/,""):"",hash:i.hash?i.hash.replace(/^#/,""):"",hostname:i.hostname,port:i.port,pathname:"/"===i.pathname.charAt(0)?i.pathname:"/"+i.pathname}}return t=o(window.location.href),function(e){var i=n.isString(e)?o(e):e;return i.protocol===t.protocol&&i.host===t.host}}():function(){return!0}},16:(t,e,i)=>{"use strict";var n=i(867);t.exports=function(t,e){n.forEach(t,(function(i,n){n!==e&&n.toUpperCase()===e.toUpperCase()&&(t[e]=i,delete t[n])}))}},109:(t,e,i)=>{"use strict";var n=i(867),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,i,s,r={};return t?(n.forEach(t.split("\n"),(function(t){if(s=t.indexOf(":"),e=n.trim(t.substr(0,s)).toLowerCase(),i=n.trim(t.substr(s+1)),e){if(r[e]&&o.indexOf(e)>=0)return;r[e]="set-cookie"===e?(r[e]?r[e]:[]).concat([i]):r[e]?r[e]+", "+i:i}})),r):r}},713:t=>{"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},867:(t,e,i)=>{"use strict";var n=i(849),o=Object.prototype.toString;function s(t){return"[object Array]"===o.call(t)}function r(t){return void 0===t}function a(t){return null!==t&&"object"==typeof t}function h(t){if("[object Object]"!==o.call(t))return!1;var e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}function u(t){return"[object Function]"===o.call(t)}function l(t,e){if(null!=t)if("object"!=typeof t&&(t=[t]),s(t))for(var i=0,n=t.length;i{"use strict";function n(t,e){for(var i=0;i{var n=i(551);n.formatters.prepend=function(t,e){return e+t},n.formatters.time_hm=function(t){var e=Math.floor(t/60),i=t%60;return"".concat(e,"h ").concat(i,"m")},n.formatters.gt=function(t,e){return t.length>e},n.formatters.lt=function(t,e){return t.lengthe},n.formatters.fallback=function(t,e){return t||e}},546:(t,e,i)=>{"use strict";i.d(e,{Z:()=>s});var n=document.head.querySelector('meta[name="base-url"]'),o=document.head.querySelector('meta[name="csrf-token"]');const s={api_key:document.head.querySelector('meta[name="api-key"]').content||"",base_url:n.content||"",csrf_token:o.content||""}},244:(t,e,i)=>{"use strict";i.r(e),i.d(e,{render_airspace_map:()=>h,render_base_map:()=>o,render_live_map:()=>gn,render_route_map:()=>xn});var n=i(243);i(978);const o=function(t){var e=Object.assign({render_elem:"map",center:[29.98139,-95.33374],zoom:5,maxZoom:10,layers:[],set_marker:!1,leafletOptions:{}},t),i=Object.assign({center:e.center,zoom:e.zoom,scrollWheelZoom:!1,providers:{}},e.leafletOptions);0===Object.entries(i.providers).length&&(i.providers={"Esri.WorldStreetMap":{}});var o=n.map("map",i);for(var s in i.providers)n.tileLayer.provider(s,i.providers[s]).addTo(o);return o};var s=i(243);function r(t,e){if(""===e.url)return null;e.params=Object.assign({format:"image/png",transparent:!0,maxZoom:14,minZoom:4},e.params);var i=s.tileLayer.wms(e.url,e.params);return i.addTo(t),i}var a=i(243);const h=function(t){var e=Object.assign({render_elem:"map",overlay_elem:"",lat:0,lon:0,zoom:12,layers:[],set_marker:!0,marker_popup:"",metar_wms:{url:"",params:{}}},t),i=o(e),n=[e.lat,e.lon];return console.log("Applying coords",n),i.setView(n,e.zoom),!0===e.set_marker&&a.marker(n).addTo(i).bindPopup(e.marker_popup),""!==e.metar_wms.url&&r(i,e.metar_wms),i};var u="#8B008B",l="#067ec1",c=i(152);function d(t){var e,i,n,o;for(i=1,n=arguments.length;i0?Math.floor(t):Math.ceil(t)};function F(t,e,i){return t instanceof H?t:S(t)?new H(t[0],t[1]):null==t?t:"object"==typeof t&&"x"in t&&"y"in t?new H(t.x,t.y):new H(t,e,i)}function U(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=V(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>=e.x&&n.x<=i.x,r=o.y>=e.y&&n.y<=i.y;return s&&r},overlaps:function(t){t=V(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>e.x&&n.xe.y&&n.y=n.lat&&i.lat<=o.lat&&e.lng>=n.lng&&i.lng<=o.lng},intersects:function(t){t=q(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=e.lat&&n.lat<=i.lat,r=o.lng>=e.lng&&n.lng<=i.lng;return s&&r},overlaps:function(t){t=q(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>e.lat&&n.late.lng&&n.lng1,Ot=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",y,e),window.removeEventListener("testPassiveEventSupport",y,e)}catch(t){}return t}(),Bt=!!document.createElement("canvas").getContext,It=!(!document.createElementNS||!rt("svg").createSVGRect),Rt=!It&&function(){try{var t=document.createElement("div");t.innerHTML='';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}();function Nt(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var Dt=Et?"MSPointerDown":"pointerdown",jt=Et?"MSPointerMove":"pointermove",Ht=Et?"MSPointerUp":"pointerup",Wt=Et?"MSPointerCancel":"pointercancel",Ft={},Ut=!1;function Vt(t,e,i,n){return"touchstart"===e?function(t,e,i){var n=_((function(t){t.MSPOINTER_TYPE_TOUCH&&t.pointerType===t.MSPOINTER_TYPE_TOUCH&&He(t),Yt(t,e)}));t["_leaflet_touchstart"+i]=n,t.addEventListener(Dt,n,!1),Ut||(document.addEventListener(Dt,Gt,!0),document.addEventListener(jt,qt,!0),document.addEventListener(Ht,Kt,!0),document.addEventListener(Wt,Kt,!0),Ut=!0)}(t,i,n):"touchmove"===e?function(t,e,i){var n=function(t){t.pointerType===(t.MSPOINTER_TYPE_MOUSE||"mouse")&&0===t.buttons||Yt(t,e)};t["_leaflet_touchmove"+i]=n,t.addEventListener(jt,n,!1)}(t,i,n):"touchend"===e&&function(t,e,i){var n=function(t){Yt(t,e)};t["_leaflet_touchend"+i]=n,t.addEventListener(Ht,n,!1),t.addEventListener(Wt,n,!1)}(t,i,n),this}function Gt(t){Ft[t.pointerId]=t}function qt(t){Ft[t.pointerId]&&(Ft[t.pointerId]=t)}function Kt(t){delete Ft[t.pointerId]}function Yt(t,e){for(var i in t.touches=[],Ft)t.touches.push(Ft[i]);t.changedTouches=[t],e(t)}var Jt=Et?"MSPointerDown":kt?"pointerdown":"touchstart",Xt=Et?"MSPointerUp":kt?"pointerup":"touchend",$t="_leaflet_";var Qt,te,ee,ie,ne,oe=be(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),se=be(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),re="webkitTransition"===se||"OTransition"===se?se+"End":"transitionend";function ae(t){return"string"==typeof t?document.getElementById(t):t}function he(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!i||"auto"===i)&&document.defaultView){var n=document.defaultView.getComputedStyle(t,null);i=n?n[e]:null}return"auto"===i?null:i}function ue(t,e,i){var n=document.createElement(t);return n.className=e||"",i&&i.appendChild(n),n}function le(t){var e=t.parentNode;e&&e.removeChild(t)}function ce(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function de(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function pe(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function _e(t,e){if(void 0!==t.classList)return t.classList.contains(e);var i=ve(t);return i.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(i)}function fe(t,e){if(void 0!==t.classList)for(var i=w(e),n=0,o=i.length;n1)return;var e=Date.now(),i=e-(n||e);o=t.touches?t.touches[0]:t,s=i>0&&i<=250,n=e}function a(t){if(s&&!o.cancelBubble){if(kt){if("mouse"===t.pointerType)return;var i,r,a={};for(r in o)i=o[r],a[r]=i&&i.bind?i.bind(o):i;o=a}o.type="dblclick",o.button=0,e(o),n=null}}t[$t+Jt+i]=r,t[$t+Xt+i]=a,t[$t+"dblclick"+i]=e,t.addEventListener(Jt,r,!!Ot&&{passive:!1}),t.addEventListener(Xt,a,!!Ot&&{passive:!1}),t.addEventListener("dblclick",e,!1)}(t,s,o):"addEventListener"in t?"touchstart"===e||"touchmove"===e||"wheel"===e||"mousewheel"===e?t.addEventListener(Be[e]||e,s,!!Ot&&{passive:!1}):"mouseenter"===e||"mouseleave"===e?(s=function(e){e=e||window.event,Ye(t,e)&&r(e)},t.addEventListener(Be[e],s,!1)):t.addEventListener(e,r,!1):"attachEvent"in t&&t.attachEvent("on"+e,s),t[Ze]=t[Ze]||{},t[Ze][o]=s}function Re(t,e,i,n){var o=e+m(i)+(n?"_"+m(n):""),s=t[Ze]&&t[Ze][o];if(!s)return this;kt&&0===e.indexOf("touch")?function(t,e,i){var n=t["_leaflet_"+e+i];"touchstart"===e?t.removeEventListener(Dt,n,!1):"touchmove"===e?t.removeEventListener(jt,n,!1):"touchend"===e&&(t.removeEventListener(Ht,n,!1),t.removeEventListener(Wt,n,!1))}(t,e,o):Ct&&"dblclick"===e&&!Oe()?function(t,e){var i=t[$t+Jt+e],n=t[$t+Xt+e],o=t[$t+"dblclick"+e];t.removeEventListener(Jt,i,!!Ot&&{passive:!1}),t.removeEventListener(Xt,n,!!Ot&&{passive:!1}),t.removeEventListener("dblclick",o,!1)}(t,o):"removeEventListener"in t?t.removeEventListener(Be[e]||e,s,!1):"detachEvent"in t&&t.detachEvent("on"+e,s),t[Ze][o]=null}function Ne(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,Ke(t),this}function De(t){return Ie(t,"wheel",Ne),this}function je(t){return Ce(t,"mousedown touchstart dblclick",Ne),Ie(t,"click",qe),this}function He(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function We(t){return He(t),Ne(t),this}function Fe(t,e){if(!e)return new H(t.clientX,t.clientY);var i=ke(e),n=i.boundingClientRect;return new H((t.clientX-n.left)/i.x-e.clientLeft,(t.clientY-n.top)/i.y-e.clientTop)}var Ue=Lt&&vt?2*window.devicePixelRatio:yt?window.devicePixelRatio:1;function Ve(t){return ct?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/Ue:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}var Ge={};function qe(t){Ge[t.type]=!0}function Ke(t){var e=Ge[t.type];return Ge[t.type]=!1,e}function Ye(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch(t){return!1}return i!==t}var Je=j.extend({run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=Le(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=I(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=1e3*this._duration;ethis.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),n=this._limitCenter(i,this._zoom,q(t));return i.equals(n)||this.panTo(n,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=F((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=F(e.paddingBottomRight||e.padding||[0,0]),o=this.getCenter(),s=this.project(o),r=this.project(t),a=this.getPixelBounds(),h=a.getSize().divideBy(2),u=V([a.min.add(i),a.max.subtract(n)]);if(!u.contains(r)){this._enforcingBounds=!0;var l=s.subtract(r),c=F(r.x+l.x,r.y+l.y);(r.xu.max.x)&&(c.x=s.x-l.x,l.x>0?c.x+=h.x-i.x:c.x-=h.x-n.x),(r.yu.max.y)&&(c.y=s.y-l.y,l.y>0?c.y+=h.y-i.y:c.y-=h.y-n.y),this.panTo(this.unproject(c),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=d({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var i=this.getSize(),n=e.divideBy(2).round(),o=i.divideBy(2).round(),s=n.subtract(o);return s.x||s.y?(t.animate&&t.pan?this.panBy(s):(t.pan&&this._rawPanBy(s),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(_(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=d({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=_(this._handleGeolocationResponse,this),i=_(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e=t.code,i=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})},_handleGeolocationResponse:function(t){var e=new K(t.coords.latitude,t.coords.longitude),i=e.toBounds(2*t.coords.accuracy),n=this._locateOptions;if(n.setView){var o=this.getBoundsZoom(i);this.setView(e,n.maxZoom?Math.min(o,n.maxZoom):o)}var s={latlng:e,bounds:i,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(s[r]=t.coords[r]);this.fire("locationfound",s)},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.enable(),this},remove:function(){if(this._initEvents(!0),this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}var t;for(t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),le(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(R(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)le(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var i=ue("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=i),i},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new G(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=q(t),i=F(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),h=this.getSize().subtract(i),u=V(this.project(a,n),this.project(r,n)).getSize(),l=zt?this.options.zoomSnap:1,c=h.x/u.x,d=h.y/u.y,p=e?Math.max(c,d):Math.min(c,d);return n=this.getScaleZoom(p,n),l&&(n=Math.round(n/(l/100))*(l/100),n=e?Math.ceil(n/l)*l:Math.floor(n/l)*l),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new H(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var i=this._getTopLeftPoint(t,e);return new U(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs;e=void 0===e?this._zoom:e;var n=i.zoom(t*i.scale(e));return isNaN(n)?1/0:n},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(Y(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(F(t),e)},layerPointToLatLng:function(t){var e=F(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){return this.project(Y(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(Y(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(q(t))},distance:function(t,e){return this.options.crs.distance(Y(t),Y(e))},containerPointToLayerPoint:function(t){return F(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return F(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(F(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(Y(t)))},mouseEventToContainerPoint:function(t){return Fe(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=ae(t);if(!e)throw new Error("Map container not found.");if(e._leaflet_id)throw new Error("Map container is already initialized.");Ce(e,"scroll",this._onScroll,this),this._containerId=m(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&zt,fe(t,"leaflet-container"+(Ct?" leaflet-touch":"")+(At?" leaflet-retina":"")+(lt?" leaflet-oldie":"")+(bt?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=he(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),we(this._mapPane,new H(0,0)),this.createPane("tilePane"),this.createPane("shadowPane"),this.createPane("overlayPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(fe(t.markerPane,"leaflet-zoom-hide"),fe(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e){we(this._mapPane,new H(0,0));var i=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var n=this._zoom!==e;this._moveStart(n,!1)._move(t,e)._moveEnd(n),this.fire("viewreset"),i&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i){void 0===e&&(e=this._zoom);var n=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),(n||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return R(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){we(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[m(this._container)]=this;var e=t?Ae:Ce;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),zt&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){R(this._resizeRequest),this._resizeRequest=I((function(){this.invalidateSize({debounceMoveend:!0})}),this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],o="mouseout"===e||"mouseover"===e,s=t.target||t.srcElement,r=!1;s;){if((i=this._targets[m(s)])&&("click"===e||"preclick"===e)&&!t._simulated&&this._draggableMoved(i)){r=!0;break}if(i&&i.listens(e,!0)){if(o&&!Ye(s,t))break;if(n.push(i),o)break}if(s===this._container)break;s=s.parentNode}return n.length||r||o||!Ye(s,t)||(n=[this]),n},_handleDOMEvent:function(t){if(this._loaded&&!Ke(t)){var e=t.type;"mousedown"!==e&&"keypress"!==e&&"keyup"!==e&&"keydown"!==e||ze(t.target||t.srcElement),this._fireDOMEvent(t,e)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){if("click"===t.type){var n=d({},t);n.type="preclick",this._fireDOMEvent(n,n.type,i)}if(!t._stopped&&(i=(i||[]).concat(this._findEventTargets(t,e))).length){var o=i[0];"contextmenu"===e&&o.listens(e,!0)&&He(t);var s={originalEvent:t};if("keypress"!==t.type&&"keydown"!==t.type&&"keyup"!==t.type){var r=o.getLatLng&&(!o._radius||o._radius<=10);s.containerPoint=r?this.latLngToContainerPoint(o.getLatLng()):this.mouseEventToContainerPoint(t),s.layerPoint=this.containerPointToLayerPoint(s.containerPoint),s.latlng=r?o.getLatLng():this.layerPointToLatLng(s.layerPoint)}for(var a=0;a0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=zt?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){me(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(i))&&(this.panBy(i,e),!0)},_createAnimProxy:function(){var t=this._proxy=ue("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",(function(t){var e=oe,i=this._proxy.style[e];xe(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),i===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()}),this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){le(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();xe(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),o=this._getCenterOffset(t)._divideBy(1-1/n);return!(!0!==i.animate&&!this.getSize().contains(o))&&(I((function(){this._moveStart(!0,!1)._animateZoom(t,e,!0)}),this),!0)},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,fe(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),setTimeout(_(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&me(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),I((function(){this._moveEnd(!0)}),this))}});var $e=N.extend({options:{position:"topright"},initialize:function(t){P(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),n=t._controlCorners[i];return fe(e,"leaflet-control"),-1!==i.indexOf("bottom")?n.insertBefore(e,n.firstChild):n.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(le(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),Qe=function(t){return new $e(t)};Xe.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",i=this._controlContainer=ue("div",e+"control-container",this._container);function n(n,o){var s=e+n+" "+e+o;t[n+o]=ue("div",s,i)}n("top","left"),n("top","right"),n("bottom","left"),n("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)le(this._controlCorners[t]);le(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var ti=$e.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(m(t.target)),i=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;i&&this._map.fire(i,e)},_createRadioElement:function(t,e){var i='",n=document.createElement("div");return n.innerHTML=i,n.firstChild},_addItem:function(t){var e,i=document.createElement("label"),n=this._map.hasLayer(t.layer);t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=n):e=this._createRadioElement("leaflet-base-layers_"+m(this),n),this._layerControlInputs.push(e),e.layerId=m(t.layer),Ce(e,"click",this._onInputClick,this);var o=document.createElement("span");o.innerHTML=" "+t.name;var s=document.createElement("div");return i.appendChild(s),s.appendChild(e),s.appendChild(o),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){var t,e,i=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=i.length-1;s>=0;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?n.push(e):t.checked||o.push(e);for(s=0;s=0;o--)t=i[o],e=this._getLayer(t.layerId).layer,t.disabled=void 0!==e.options.minZoom&&ne.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}}),ei=$e.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"−",zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=ue("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){var s=ue("a",i,n);return s.innerHTML=t,s.href="#",s.title=e,s.setAttribute("role","button"),s.setAttribute("aria-label",e),je(s),Ce(s,"click",We),Ce(s,"click",o,this),Ce(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";me(this._zoomInButton,e),me(this._zoomOutButton,e),(this._disabled||t._zoom===t.getMinZoom())&&fe(this._zoomOutButton,e),(this._disabled||t._zoom===t.getMaxZoom())&&fe(this._zoomInButton,e)}});Xe.mergeOptions({zoomControl:!0}),Xe.addInitHook((function(){this.options.zoomControl&&(this.zoomControl=new ei,this.addControl(this.zoomControl))}));var ii=$e.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=ue("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=ue("div",e,i)),t.imperial&&(this._iScale=ue("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,i=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(i)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t),i=e<1e3?e+" m":e/1e3+" km";this._updateScale(this._mScale,i,e/t)},_updateImperial:function(t){var e,i,n,o=3.2808399*t;o>5280?(e=o/5280,i=this._getRoundNum(e),this._updateScale(this._iScale,i+" mi",i/e)):(n=this._getRoundNum(o),this._updateScale(this._iScale,n+" ft",n/o))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return e*(i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:1)}}),ni=$e.extend({options:{position:"bottomright",prefix:'Leaflet'},initialize:function(t){P(this,t),this._attributions={}},onAdd:function(t){for(var e in t.attributionControl=this,this._container=ue("div","leaflet-control-attribution"),je(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),this._container},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(" | ")}}});Xe.mergeOptions({attributionControl:!0}),Xe.addInitHook((function(){this.options.attributionControl&&(new ni).addTo(this)}));$e.Layers=ti,$e.Zoom=ei,$e.Scale=ii,$e.Attribution=ni,Qe.layers=function(t,e,i){return new ti(t,e,i)},Qe.zoom=function(t){return new ei(t)},Qe.scale=function(t){return new ii(t)},Qe.attribution=function(t){return new ni(t)};var oi=N.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});oi.addTo=function(t,e){return t.addHandler(e,this),this};var si,ri=Ct?"touchstart mousedown":"mousedown",ai={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},hi={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"},ui=j.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){P(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(Ce(this._dragStartTarget,ri,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ui._dragging===this&&this.finishDrag(),Ae(this._dragStartTarget,ri,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!t._simulated&&this._enabled&&(this._moved=!1,!_e(this._element,"leaflet-zoom-anim")&&!(ui._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(ui._dragging=this,this._preventOutline&&ze(this._element),Te(),Qt(),this._moving)))){this.fire("down");var e=t.touches?t.touches[0]:t,i=Ee(this._element);this._startPoint=new H(e.clientX,e.clientY),this._parentScale=ke(i),Ce(document,hi[t.type],this._onMove,this),Ce(document,ai[t.type],this._onUp,this)}},_onMove:function(t){if(!t._simulated&&this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var e=t.touches&&1===t.touches.length?t.touches[0]:t,i=new H(e.clientX,e.clientY)._subtract(this._startPoint);(i.x||i.y)&&(Math.abs(i.x)+Math.abs(i.y)e&&(i.push(t[n]),o=n);oh&&(s=r,h=a);h>i&&(e[s]=1,di(t,e,i,n,s),di(t,e,i,s,o))}function pi(t,e,i,n,o){var s,r,a,h=n?si:fi(t,i),u=fi(e,i);for(si=u;;){if(!(h|u))return[t,e];if(h&u)return!1;a=fi(r=_i(t,e,s=h||u,i,o),i),s===h?(t=r,h=a):(e=r,u=a)}}function _i(t,e,i,n,o){var s,r,a=e.x-t.x,h=e.y-t.y,u=n.min,l=n.max;return 8&i?(s=t.x+a*(l.y-t.y)/h,r=l.y):4&i?(s=t.x+a*(u.y-t.y)/h,r=u.y):2&i?(s=l.x,r=t.y+h*(l.x-t.x)/a):1&i&&(s=u.x,r=t.y+h*(u.x-t.x)/a),new H(s,r,o)}function fi(t,e){var i=0;return t.xe.max.x&&(i|=2),t.ye.max.y&&(i|=8),i}function mi(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n}function gi(t,e,i,n){var o,s=e.x,r=e.y,a=i.x-s,h=i.y-r,u=a*a+h*h;return u>0&&((o=((t.x-s)*a+(t.y-r)*h)/u)>1?(s=i.x,r=i.y):o>0&&(s+=a*o,r+=h*o)),a=t.x-s,h=t.y-r,n?a*a+h*h:new H(s,r)}function vi(t){return!S(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function yi(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),vi(t)}function bi(t,e,i){var n,o,s,r,a,h,u,l,c,d=[1,4,2,8];for(o=0,u=t.length;o1e-7;h++)e=s*Math.sin(a),e=Math.pow((1-e)/(1+e),s/2),a+=u=Math.PI/2-2*Math.atan(r*e)-a;return new K(a*i,t.x*i/n)}},Li=d({},Q,{code:"EPSG:3395",projection:wi,transformation:function(){var t=.5/(Math.PI*wi.R);return nt(t,.5,-t,.5)}()}),Pi=d({},Q,{code:"EPSG:4326",projection:xi,transformation:nt(1/180,1,-1/180,.5)}),Ti=d({},X,{projection:xi,transformation:nt(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,n=e.lat-t.lat;return Math.sqrt(i*i+n*n)},infinite:!0});X.Earth=Q,X.EPSG3395=Li,X.EPSG3857=ot,X.EPSG900913=st,X.EPSG4326=Pi,X.Simple=Ti;var Mi=j.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[m(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[m(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var i=this.getEvents();e.on(i,this),this.once("remove",(function(){e.off(i,this)}),this)}this.onAdd(e),this.getAttribution&&e.attributionControl&&e.attributionControl.addAttribution(this.getAttribution()),this.fire("add"),e.fire("layeradd",{layer:this})}}});Xe.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=m(t);return this._layers[e]||(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t)),this},removeLayer:function(t){var e=m(t);return this._layers[e]?(this._loaded&&t.onRemove(this),t.getAttribution&&this.attributionControl&&this.attributionControl.removeAttribution(t.getAttribution()),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return!!t&&m(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){for(var e=0,i=(t=t?S(t)?t:[t]:[]).length;ethis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()e)return r=(n-e)/i,this._map.layerPointToLatLng([s.x-r*(s.x-o.x),s.y-r*(s.y-o.y)])},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=Y(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new G,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return vi(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],i=vi(t),n=0,o=t.length;n=2&&e[0]instanceof K&&e[0].equals(e[i-1])&&e.pop(),e},_setLatLngs:function(t){Ii.prototype._setLatLngs.call(this,t),vi(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return vi(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,i=new H(e,e);if(t=new U(t.min.subtract(i),t.max.add(i)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var n,o=0,s=this._rings.length;ot.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(u=!u);return u||Ii.prototype._containsPoint.call(this,t,!0)}});var Ni=Si.extend({initialize:function(t,e){P(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,o=S(t)?t:t.features;if(o){for(e=0,i=o.length;e0?n:[e.src]}else{S(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted;for(var s=0;so?(e.height=o+"px",fe(t,s)):me(t,s),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),i=this._getAnchor();we(this._container,e.add(i))},_adjustPan:function(){if(this.options.autoPan){this._map._panAnim&&this._map._panAnim.stop();var t=this._map,e=parseInt(he(this._container,"marginBottom"),10)||0,i=this._container.offsetHeight+e,n=this._containerWidth,o=new H(this._containerLeft,-i-this._containerBottom);o._add(Le(this._container));var s=t.layerPointToContainerPoint(o),r=F(this.options.autoPanPadding),a=F(this.options.autoPanPaddingTopLeft||r),h=F(this.options.autoPanPaddingBottomRight||r),u=t.getSize(),l=0,c=0;s.x+n+h.x>u.x&&(l=s.x+n-u.x+h.x),s.x-l-a.x<0&&(l=s.x-a.x),s.y+i+h.y>u.y&&(c=s.y+i-u.y+h.y),s.y-c-a.y<0&&(c=s.y-a.y),(l||c)&&t.fire("autopanstart").panBy([l,c])}},_onCloseButtonClick:function(t){this._close(),We(t)},_getAnchor:function(){return F(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});Xe.mergeOptions({closePopupOnClick:!0}),Xe.include({openPopup:function(t,e,i){return t instanceof Ji||(t=new Ji(i).setContent(t)),e&&t.setLatLng(e),this.hasLayer(t)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=t,this.addLayer(t))},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&this.removeLayer(t),this}}),Mi.include({bindPopup:function(t,e){return t instanceof Ji?(P(t,e),this._popup=t,t._source=this):(this._popup&&!e||(this._popup=new Ji(e,this)),this._popup.setContent(t)),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t,e){return this._popup&&this._map&&(e=this._popup._prepareOpen(this,t,e),this._map.openPopup(this._popup,e)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(t){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(t)),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var e=t.layer||t.target;this._popup&&this._map&&(We(t),e instanceof Ai?this.openPopup(t.layer||t.target,t.latlng):this._map.hasLayer(this._popup)&&this._popup._source===e?this.closePopup():this.openPopup(e,t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var Xi=Yi.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(t){Yi.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&this._source.fire("tooltipopen",{tooltip:this},!0)},onRemove:function(t){Yi.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var t=Yi.prototype.getEvents.call(this);return Ct&&!this.options.permanent&&(t.preclick=this._close),t},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=ue("div",t)},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i,n=this._map,o=this._container,s=n.latLngToContainerPoint(n.getCenter()),r=n.layerPointToContainerPoint(t),a=this.options.direction,h=o.offsetWidth,u=o.offsetHeight,l=F(this.options.offset),c=this._getAnchor();"top"===a?(e=h/2,i=u):"bottom"===a?(e=h/2,i=0):"center"===a?(e=h/2,i=u/2):"right"===a?(e=0,i=u/2):"left"===a?(e=h,i=u/2):r.xthis.options.maxZoom||in&&this._retainParent(o,s,r,n))},_retainChildren:function(t,e,i,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*e;s<2*e+2;s++){var r=new H(o,s);r.z=i+1;var a=this._tileCoordsToKey(r),h=this._tiles[a];h&&h.active?h.retain=!0:(h&&h.loaded&&(h.retain=!0),i+1this.options.maxZoom||void 0!==this.options.minZoom&&o1)this._setView(t,i);else{for(var c=o.min.y;c<=o.max.y;c++)for(var d=o.min.x;d<=o.max.x;d++){var p=new H(d,c);if(p.z=this._tileZoom,this._isValidTile(p)){var _=this._tiles[this._tileCoordsToKey(p)];_?_.current=!0:r.push(p)}}if(r.sort((function(t,e){return t.distanceTo(s)-e.distanceTo(s)})),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var f=document.createDocumentFragment();for(d=0;di.max.x)||!e.wrapLat&&(t.yi.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return q(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),o=n.add(i);return[e.unproject(n,t.z),e.unproject(o,t.z)]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),i=new G(e[0],e[1]);return this.options.noWrap||(i=this._map.wrapLatLngBounds(i)),i},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),i=new H(+e[0],+e[1]);return i.z=+e[2],i},_removeTile:function(t){var e=this._tiles[t];e&&(le(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){fe(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=y,t.onmousemove=y,lt&&this.options.opacity<1&&ye(t,this.options.opacity),pt&&!_t&&(t.style.WebkitBackfaceVisibility="hidden")},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),_(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&I(_(this._tileReady,this,t,null,o)),we(o,i),this._tiles[n]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(ye(i.el,0),R(this._fadeFrame),this._fadeFrame=I(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(fe(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),lt||!this._map._fadeAnimated?I(this._pruneTiles,this):setTimeout(_(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new H(this._wrapX?v(t.x,this._wrapX):t.x,this._wrapY?v(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new U(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var Qi=$i.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(t,e){this._url=t,(e=P(this,e)).detectRetina&&At&&e.maxZoom>0&&(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom++):(e.zoomOffset++,e.maxZoom--),e.minZoom=Math.max(0,e.minZoom)),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),pt||this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return Ce(i,"load",_(this._tileOnLoad,this,e,i)),Ce(i,"error",_(this._tileOnError,this,e,i)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),i.alt="",i.setAttribute("role","presentation"),i.src=this.getTileUrl(t),i},getTileUrl:function(t){var e={r:At?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var i=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=i),e["-y"]=i}return z(this._url,d(e,this.options))},_tileOnLoad:function(t,e){lt?setTimeout(_(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&&e.getAttribute("src")!==n&&(e.src=n),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom;return this.options.zoomReverse&&(t=e-t),t+this.options.zoomOffset},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((e=this._tiles[t].el).onload=y,e.onerror=y,e.complete||(e.src=k,le(e),delete this._tiles[t]))},_removeTile:function(t){var e=this._tiles[t];if(e)return mt||e.el.setAttribute("src",k),$i.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(this._map&&(!i||i.getAttribute("src")!==k))return $i.prototype._tileReady.call(this,t,e,i)}});var tn=Qi.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i=d({},this.defaultWmsParams);for(var n in e)n in this.options||(i[n]=e[n]);var o=(e=P(this,e)).detectRetina&&At?2:1,s=this.getTileSize();i.width=s.x*o,i.height=s.y*o,this.wmsParams=i},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[e]=this._crs.code,Qi.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,n=V(i.project(e[0]),i.project(e[1])),o=n.min,s=n.max,r=(this._wmsVersion>=1.3&&this._crs===Pi?[o.y,o.x,s.y,s.x]:[o.x,o.y,s.x,s.y]).join(","),a=Qi.prototype.getTileUrl.call(this,t);return a+T(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,e){return d(this.wmsParams,t),e||this.redraw(),this}});Qi.WMS=tn;var en=Mi.extend({options:{padding:.1,tolerance:0},initialize:function(t){P(this,t),m(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&fe(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=Le(this._container),o=this._map.getSize().multiplyBy(.5+this.options.padding),s=this._map.project(this._center,e),r=this._map.project(t,e).subtract(s),a=o.multiplyBy(-i).add(n).add(o).subtract(r);zt?xe(this._container,a,i):we(this._container,a)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new U(i,i.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),nn=en.extend({getEvents:function(){var t=en.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){en.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");Ce(t,"mousemove",this._onMouseMove,this),Ce(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Ce(t,"mouseout",this._handleMouseOut,this),this._ctx=t.getContext("2d")},_destroyContainer:function(){R(this._redrawRequest),delete this._ctx,le(this._container),Ae(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){en.prototype._update.call(this);var t=this._bounds,e=this._container,i=t.getSize(),n=At?2:1;we(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",At&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){en.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[m(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,n=e.prev;i?i.prev=n:this._drawLast=n,n?n.next=i:this._drawFirst=i,delete t._order,delete this._layers[m(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){var e,i,n=t.options.dashArray.split(/[, ]+/),o=[];for(i=0;i')}}catch(t){return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),sn={_initContainer:function(){this._container=ue("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(en.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=on("shape");fe(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=on("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[m(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;le(e),t.removeInteractiveTarget(e),delete this._layers[m(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e||(e=t._stroke=on("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=S(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i||(i=t._fill=on("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){de(t._container)},_bringToBack:function(t){pe(t._container)}},rn=Rt?on:rt,an=en.extend({getEvents:function(){var t=en.prototype.getEvents.call(this);return t.zoomstart=this._onZoomStart,t},_initContainer:function(){this._container=rn("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=rn("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){le(this._container),Ae(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_onZoomStart:function(){this._update()},_update:function(){if(!this._map._animatingZoom||!this._bounds){en.prototype._update.call(this);var t=this._bounds,e=t.getSize(),i=this._container;this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),we(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=rn("path");t.options.className&&fe(e,t.options.className),t.options.interactive&&fe(e,"leaflet-interactive"),this._updateStyle(t),this._layers[m(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){le(t._path),t.removeInteractiveTarget(t._path),delete this._layers[m(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,i=t.options;e&&(i.stroke?(e.setAttribute("stroke",i.color),e.setAttribute("stroke-opacity",i.opacity),e.setAttribute("stroke-width",i.weight),e.setAttribute("stroke-linecap",i.lineCap),e.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?e.setAttribute("stroke-dasharray",i.dashArray):e.removeAttribute("stroke-dasharray"),i.dashOffset?e.setAttribute("stroke-dashoffset",i.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),i.fill?(e.setAttribute("fill",i.fillColor||i.color),e.setAttribute("fill-opacity",i.fillOpacity),e.setAttribute("fill-rule",i.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,at(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",o=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+n+2*i+",0 "+n+2*-i+",0 ";this._setPath(t,o)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){de(t._path)},_bringToBack:function(t){pe(t._path)}});Rt&&an.include(sn),Xe.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var e=this._paneRenderers[t];return void 0===e&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&function(t){return Bt?new nn(t):null}(t)||function(t){return It||Rt?new an(t):null}(t)}});Ri.extend({initialize:function(t,e){Ri.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=q(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});an.create=rn,an.pointsToPath=at,Ni.geometryToLayer=Di,Ni.coordsToLatLng=Hi,Ni.coordsToLatLngs=Wi,Ni.latLngToCoords=Fi,Ni.latLngsToCoords=Ui,Ni.getFeature=Vi,Ni.asFeature=Gi,Xe.mergeOptions({boxZoom:!0});var hn=oi.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){Ce(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Ae(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){le(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),Qt(),Te(),this._startPoint=this._map.mouseEventToContainerPoint(t),Ce(document,{contextmenu:We,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=ue("div","leaflet-zoom-box",this._container),fe(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new U(this._point,this._startPoint),i=e.getSize();we(this._box,e.min),this._box.style.width=i.x+"px",this._box.style.height=i.y+"px"},_finish:function(){this._moved&&(le(this._box),me(this._container,"leaflet-crosshair")),te(),Me(),Ae(document,{contextmenu:We,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(_(this._resetState,this),0);var e=new G(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&&this._finish()}});Xe.addInitHook("addHandler","boxZoom",hn),Xe.mergeOptions({doubleClickZoom:!0});var un=oi.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,o=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(o):e.setZoomAround(t.containerPoint,o)}});Xe.addInitHook("addHandler","doubleClickZoom",un),Xe.mergeOptions({dragging:!0,inertia:!_t,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var ln=oi.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new ui(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}fe(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){me(this._map._container,"leaflet-grab"),me(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=q(this._map.options.maxBounds);this._offsetLimit=V(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.xe.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,s=(n+e+i)%t-e-i,r=Math.abs(o+i)0?s:-s))-e;this._delta=0,this._startTime=null,r&&("center"===t.options.scrollWheelZoom?t.setZoom(e+r):t.setZoomAround(this._lastMousePos,e+r))}});Xe.addInitHook("addHandler","scrollWheelZoom",dn),Xe.mergeOptions({tap:!0,tapTolerance:15});var pn=oi.extend({addHooks:function(){Ce(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Ae(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(t.touches){if(He(t),this._fireClick=!0,t.touches.length>1)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var e=t.touches[0],i=e.target;this._startPos=this._newPos=new H(e.clientX,e.clientY),i.tagName&&"a"===i.tagName.toLowerCase()&&fe(i,"leaflet-active"),this._holdTimeout=setTimeout(_((function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",e))}),this),1e3),this._simulateEvent("mousedown",e),Ce(document,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(t){if(clearTimeout(this._holdTimeout),Ae(document,{touchmove:this._onMove,touchend:this._onUp},this),this._fireClick&&t&&t.changedTouches){var e=t.changedTouches[0],i=e.target;i&&i.tagName&&"a"===i.tagName.toLowerCase()&&me(i,"leaflet-active"),this._simulateEvent("mouseup",e),this._isTapValid()&&this._simulateEvent("click",e)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(t){var e=t.touches[0];this._newPos=new H(e.clientX,e.clientY),this._simulateEvent("mousemove",e)},_simulateEvent:function(t,e){var i=document.createEvent("MouseEvents");i._simulated=!0,e.target._simulatedClick=!0,i.initMouseEvent(t,!0,!0,window,1,e.screenX,e.screenY,e.clientX,e.clientY,!1,!1,!1,!1,0,null),e.target.dispatchEvent(i)}});!Ct||kt&&!bt||Xe.addInitHook("addHandler","tap",pn),Xe.mergeOptions({touchZoom:Ct&&!_t,bounceAtZoomLimits:!0});var _n=oi.extend({addHooks:function(){fe(this._map._container,"leaflet-touch-zoom"),Ce(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){me(this._map._container,"leaflet-touch-zoom"),Ae(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&!e._animatingZoom&&!this._zooming){var i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),"center"!==e.options.touchZoom&&(this._pinchStartLatLng=e.containerPointToLatLng(i.add(n)._divideBy(2))),this._startDist=i.distanceTo(n),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),Ce(document,"touchmove",this._onTouchMove,this),Ce(document,"touchend",this._onTouchEnd,this),He(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),o=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(o,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoome.getMaxZoom()&&o>1)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1===o)return}else{var s=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(1===o&&0===s.x&&0===s.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(s),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),R(this._animRequest);var r=_(e._move,e,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=I(r,this,!0),He(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,R(this._animRequest),Ae(document,"touchmove",this._onTouchMove,this),Ae(document,"touchend",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});Xe.addInitHook("addHandler","touchZoom",_n),Xe.BoxZoom=hn,Xe.DoubleClickZoom=un,Xe.Drag=ln,Xe.Keyboard=cn,Xe.ScrollWheelZoom=dn,Xe.Tap=pn,Xe.TouchZoom=_n;var fn=i(243),mn=i(551);const gn=function(t){var e=Object.assign({center:[29.98139,-95.33374],refresh_interval:10,zoom:5,acars_uri:"/api/acars",update_uri:"/api/acars/geojson",pirep_uri:"/api/pireps/{id}",pirep_link_uri:"/pireps/{id}",positions:null,render_elem:"map",aircraft_icon:"/assets/img/acars/aircraft.png",units:"nmi"},t),i=o(e),n=fn.icon({iconUrl:e.aircraft_icon,iconSize:[42,42],iconAnchor:[21,21]}),s=new K(e.center[0],e.center[1]),r={},a=!1,h=null,u=null,d=null,p=null,_={pirep:{},pireps:[],has_data:!1,controller:{focusMarker:null}};function f(t,e,n){null!==u&&i.removeLayer(u),(u=new L.Geodesic([],{weight:5,opacity:.9,color:l,wrap:!1}).addTo(i)).fromGeoJson(n.line),d=t,p=e,a||(i.panTo({lat:n.position.lat,lng:n.position.lon}),a=!0)}function m(t,i){var n=e.pirep_uri.replace("{id}",t.properties.pirep_id),o="".concat(e.pirep_uri.replace("{id}",t.properties.pirep_id),"/acars/geojson");(0,c.Z)(n).then((function(t){var e=t.data.data;console.log(e),_.pirep=e})),(0,c.Z)(o).then((function(e){var n=e.data.data;console.log(n),f(t,i,n)}))}mn.bind($("#map-info-box"),_),mn.bind($("#live_flights"),_),_.controller.drawRoute=f,_.controller.focusMarker=function(t,e){if(e.pirep.id in r){var i=r[e.pirep.id];m(i[0],i[1])}else console.log("marker not found in list")},_.controller.onFlightClick=m;var g=function(){(0,c.Z)(e.acars_uri).then((function(t){var e=t.data.data;_.pireps=e,_.has_data=e.length>0})),(0,c.Z)({url:e.update_uri}).then((function(t){var e=t.data.data;if(null!==h&&h.clearLayers(),(h=fn.geoJSON(e,{onEachFeature:function(t,e){e.on({click:function(i){a=!1,_.controller.onFlightClick(t,e)}});var i="";t.properties&&""!==t.properties.popup&&void 0!==t.properties.popup&&(i+=t.properties.popup,e.bindPopup(i)),r[t.properties.pirep_id]=[t,e]},pointToLayer:function(t,e){return fn.marker(e,{icon:n,rotationAngle:t.properties.heading})}})).addTo(i),null!==u)_.controller.onFlightClick(d,p);else if(!a)try{i.panTo(h.getBounds().getCenter())}catch(t){i.panTo(s)}}))};g(),setInterval(g,1e3*e.refresh_interval)};var vn=i(243),yn=function(t,e){var i="";t.properties&&t.properties.popup&&(i+=t.properties.popup),e.bindPopup(i)},bn=function(t,e){return vn.circleMarker(e,{radius:5,fillColor:"#056093",color:"#000",weight:1,opacity:1,fillOpacity:.8})};const xn=function(t){var e=Object.assign({route_points:null,planned_route_line:null,actual_route_points:null,actual_route_line:null,render_elem:"map",live_map:!1,aircraft_icon:"/assets/img/acars/aircraft.png",refresh_interval:10,metar_wms:{url:"",params:{}}},t),i=(vn.icon({iconUrl:e.aircraft_icon,iconSize:[42,42],iconAnchor:[21,21]}),o(e));""!==e.metar_wms.url&&r(i,e.metar_wms);var n=new L.Geodesic([],{weight:4,opacity:.9,color:u,steps:50,wrap:!1}).addTo(i);n.fromGeoJson(e.planned_route_line);try{i.fitBounds(n.getBounds())}catch(t){console.log(t)}null!==e.route_points&&vn.geoJSON(e.route_points,{onEachFeature:yn,pointToLayer:bn,style:{color:u,weight:3,opacity:.65}}).addTo(i);if(null!==e.actual_route_line&&e.actual_route_line.features.length>0){var s=new L.Geodesic([],{weight:3,opacity:.9,color:l,steps:50,wrap:!1}).addTo(i);s.fromGeoJson(e.actual_route_line);try{i.fitBounds(s.getBounds())}catch(t){console.log(t)}}null!==e.actual_route_points&&e.actual_route_points.features.length>0&&vn.geoJSON(e.actual_route_points,{onEachFeature:yn,pointToLayer:bn,style:{color:l,weight:3,opacity:.65}}).addTo(i)};i(154),i(818),window.L=i(243)},152:(t,e,i)=>{"use strict";i.d(e,{Z:()=>h});var n=i(757),o=i.n(n),s=i(546);function r(t,e,i,n,o,s,r){try{var a=t[s](r),h=a.value}catch(t){return void i(t)}a.done?e(h):Promise.resolve(h).then(n,o)}var a=i(669);const h=function(){var t,e=(t=o().mark((function t(e){var i;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return("string"==typeof e||e instanceof String)&&(e={url:e}),i=Object.assign({},{baseURL:s.Z.base_url,headers:{"X-API-KEY":s.Z.api_key,"X-CSRF-TOKEN":s.Z.csrf_token}},e),console.log(i),t.abrupt("return",a.request(i));case 4:case"end":return t.stop()}}),t)})),function(){var e=this,i=arguments;return new Promise((function(n,o){var s=t.apply(e,i);function a(t){r(s,n,o,a,h,"next",t)}function h(t){r(s,n,o,a,h,"throw",t)}a(void 0)}))});return function(t){return e.apply(this,arguments)}}()},978:()=>{!function(){"use strict";L.TileLayer.Provider=L.TileLayer.extend({initialize:function(t,e){var i=L.TileLayer.Provider.providers,n=t.split("."),o=n[0],s=n[1];if(!i[o])throw"No such provider ("+o+")";var r={url:i[o].url,options:i[o].options};if(s&&"variants"in i[o]){if(!(s in i[o].variants))throw"No such variant of "+o+" ("+s+")";var a,h=i[o].variants[s];a="string"==typeof h?{variant:h}:h.options,r={url:h.url||r.url,options:L.Util.extend({},r.options,a)}}else"function"==typeof r.url&&(r.url=r.url(n.splice(1,n.length-1).join(".")));var u="file:"===window.location.protocol||r.options.forceHTTP;0===r.url.indexOf("//")&&u&&(r.url="http:"+r.url);var l=function(t){return-1===t.indexOf("{attribution.")?t:t.replace(/\{attribution.(\w*)\}/,(function(t,e){return l(i[e].options.attribution)}))};r.options.attribution=l(r.options.attribution);var c=L.Util.extend({},r.options,e);L.TileLayer.prototype.initialize.call(this,r.url,c)}}),L.TileLayer.Provider.providers={OpenStreetMap:{url:"//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",options:{maxZoom:19,attribution:'© OpenStreetMap'},variants:{Mapnik:{},BlackAndWhite:{url:"http://{s}.tiles.wmflabs.org/bw-mapnik/{z}/{x}/{y}.png",options:{maxZoom:18}},DE:{url:"http://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png",options:{maxZoom:18}},France:{url:"http://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png",options:{attribution:"© Openstreetmap France | {attribution.OpenStreetMap}"}},HOT:{url:"http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png",options:{attribution:'{attribution.OpenStreetMap}, Tiles courtesy of Humanitarian OpenStreetMap Team'}}}},OpenSeaMap:{url:"http://tiles.openseamap.org/seamark/{z}/{x}/{y}.png",options:{attribution:'Map data: © OpenSeaMap contributors'}},OpenTopoMap:{url:"//{s}.tile.opentopomap.org/{z}/{x}/{y}.png",options:{maxZoom:16,attribution:'Map data: {attribution.OpenStreetMap}, SRTM | Map style: © OpenTopoMap (CC-BY-SA)'}},Thunderforest:{url:"//{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}.png",options:{attribution:'© OpenCycleMap, {attribution.OpenStreetMap}',variant:"cycle"},variants:{OpenCycleMap:"cycle",Transport:{options:{variant:"transport",maxZoom:19}},TransportDark:{options:{variant:"transport-dark",maxZoom:19}},Landscape:"landscape",Outdoors:"outdoors"}},OpenMapSurfer:{url:"http://openmapsurfer.uni-hd.de/tiles/{variant}/x={x}&y={y}&z={z}",options:{maxZoom:20,variant:"roads",attribution:'Imagery from GIScience Research Group @ University of Heidelberg — Map data {attribution.OpenStreetMap}'},variants:{Roads:"roads",AdminBounds:{options:{variant:"adminb",maxZoom:19}},Grayscale:{options:{variant:"roadsg",maxZoom:19}}}},Hydda:{url:"http://{s}.tile.openstreetmap.se/hydda/{variant}/{z}/{x}/{y}.png",options:{variant:"full",attribution:'Tiles courtesy of OpenStreetMap Sweden — Map data {attribution.OpenStreetMap}'},variants:{Full:"full",Base:"base",RoadsAndLabels:"roads_and_labels"}},MapQuestOpen:{url:"http://otile{s}.mqcdn.com/tiles/1.0.0/{type}/{z}/{x}/{y}.{ext}",options:{type:"map",ext:"jpg",attribution:'Tiles Courtesy of MapQuest — Map data {attribution.OpenStreetMap}',subdomains:"1234"},variants:{OSM:{},Aerial:{options:{type:"sat",attribution:'Tiles Courtesy of MapQuest — Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency'}},HybridOverlay:{options:{type:"hyb",ext:"png",opacity:.9}}}},MapBox:{url:function(t){return"//{s}.tiles.mapbox.com/v3/"+t+"/{z}/{x}/{y}.png"},options:{attribution:'Imagery from MapBox — Map data {attribution.OpenStreetMap}',subdomains:"abcd"}},Stamen:{url:"//stamen-tiles-{s}.a.ssl.fastly.net/{variant}/{z}/{x}/{y}.png",options:{attribution:'Map tiles by Stamen Design, CC BY 3.0 — Map data {attribution.OpenStreetMap}',subdomains:"abcd",minZoom:0,maxZoom:20,variant:"toner",ext:"png"},variants:{Toner:"toner",TonerBackground:"toner-background",TonerHybrid:"toner-hybrid",TonerLines:"toner-lines",TonerLabels:"toner-labels",TonerLite:"toner-lite",Watercolor:{options:{variant:"watercolor",minZoom:1,maxZoom:16}},Terrain:{options:{variant:"terrain",minZoom:4,maxZoom:18,bounds:[[22,-132],[70,-56]]}},TerrainBackground:{options:{variant:"terrain-background",minZoom:4,maxZoom:18,bounds:[[22,-132],[70,-56]]}},TopOSMRelief:{options:{variant:"toposm-color-relief",ext:"jpg",bounds:[[22,-132],[51,-56]]}},TopOSMFeatures:{options:{variant:"toposm-features",bounds:[[22,-132],[51,-56]],opacity:.9}}}},Esri:{url:"//server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}",options:{variant:"World_Street_Map",attribution:"Tiles © Esri"},variants:{WorldStreetMap:{options:{attribution:"{attribution.Esri} — Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012"}},DeLorme:{options:{variant:"Specialty/DeLorme_World_Base_Map",minZoom:1,maxZoom:11,attribution:"{attribution.Esri} — Copyright: ©2012 DeLorme"}},WorldTopoMap:{options:{variant:"World_Topo_Map",attribution:"{attribution.Esri} — Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community"}},WorldImagery:{options:{variant:"World_Imagery",attribution:"{attribution.Esri} — Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community"}},WorldTerrain:{options:{variant:"World_Terrain_Base",maxZoom:13,attribution:"{attribution.Esri} — Source: USGS, Esri, TANA, DeLorme, and NPS"}},WorldShadedRelief:{options:{variant:"World_Shaded_Relief",maxZoom:13,attribution:"{attribution.Esri} — Source: Esri"}},WorldPhysical:{options:{variant:"World_Physical_Map",maxZoom:8,attribution:"{attribution.Esri} — Source: US National Park Service"}},OceanBasemap:{options:{variant:"Ocean_Basemap",maxZoom:13,attribution:"{attribution.Esri} — Sources: GEBCO, NOAA, CHS, OSU, UNH, CSUMB, National Geographic, DeLorme, NAVTEQ, and Esri"}},NatGeoWorldMap:{options:{variant:"NatGeo_World_Map",maxZoom:16,attribution:"{attribution.Esri} — National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC"}},WorldGrayCanvas:{options:{variant:"Canvas/World_Light_Gray_Base",maxZoom:16,attribution:"{attribution.Esri} — Esri, DeLorme, NAVTEQ"}}}},OpenWeatherMap:{url:"http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png",options:{maxZoom:19,attribution:'Map data © OpenWeatherMap',opacity:.5},variants:{Clouds:"clouds",CloudsClassic:"clouds_cls",Precipitation:"precipitation",PrecipitationClassic:"precipitation_cls",Rain:"rain",RainClassic:"rain_cls",Pressure:"pressure",PressureContour:"pressure_cntr",Wind:"wind",Temperature:"temp",Snow:"snow"}},HERE:{url:"//{s}.{base}.maps.cit.api.here.com/maptile/2.1/maptile/{mapID}/{variant}/{z}/{x}/{y}/256/png8?app_id={app_id}&app_code={app_code}",options:{attribution:'Map © 1987-2014 HERE',subdomains:"1234",mapID:"newest",app_id:"",app_code:"",base:"base",variant:"normal.day",maxZoom:20},variants:{normalDay:"normal.day",normalDayCustom:"normal.day.custom",normalDayGrey:"normal.day.grey",normalDayMobile:"normal.day.mobile",normalDayGreyMobile:"normal.day.grey.mobile",normalDayTransit:"normal.day.transit",normalDayTransitMobile:"normal.day.transit.mobile",normalNight:"normal.night",normalNightMobile:"normal.night.mobile",normalNightGrey:"normal.night.grey",normalNightGreyMobile:"normal.night.grey.mobile",carnavDayGrey:"carnav.day.grey",hybridDay:{options:{base:"aerial",variant:"hybrid.day"}},hybridDayMobile:{options:{base:"aerial",variant:"hybrid.day.mobile"}},pedestrianDay:"pedestrian.day",pedestrianNight:"pedestrian.night",satelliteDay:{options:{base:"aerial",variant:"satellite.day"}},terrainDay:{options:{base:"aerial",variant:"terrain.day"}},terrainDayMobile:{options:{base:"aerial",variant:"terrain.day.mobile"}}}},Acetate:{url:"http://a{s}.acetate.geoiq.com/tiles/{variant}/{z}/{x}/{y}.png",options:{attribution:"©2012 Esri & Stamen, Data from OSM and Natural Earth",subdomains:"0123",minZoom:2,maxZoom:18,variant:"acetate-base"},variants:{basemap:"acetate-base",terrain:"terrain",all:"acetate-hillshading",foreground:"acetate-fg",roads:"acetate-roads",labels:"acetate-labels",hillshading:"hillshading"}},FreeMapSK:{url:"http://{s}.freemap.sk/T/{z}/{x}/{y}.jpeg",options:{minZoom:8,maxZoom:16,subdomains:["t1","t2","t3","t4"],attribution:'{attribution.OpenStreetMap}, vizualization CC-By-SA 2.0 Freemap.sk'}},MtbMap:{url:"http://tile.mtbmap.cz/mtbmap_tiles/{z}/{x}/{y}.png",options:{attribution:"{attribution.OpenStreetMap} & USGS"}},CartoDB:{url:"http://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}.png",options:{attribution:'{attribution.OpenStreetMap} © CartoDB',subdomains:"abcd",maxZoom:19,variant:"light_all"},variants:{Positron:"light_all",PositronNoLabels:"light_nolabels",DarkMatter:"dark_all",DarkMatterNoLabels:"dark_nolabels"}},HikeBike:{url:"http://{s}.tiles.wmflabs.org/{variant}/{z}/{x}/{y}.png",options:{maxZoom:19,attribution:"{attribution.OpenStreetMap}",variant:"hikebike"},variants:{HikeBike:{},HillShading:{options:{maxZoom:15,variant:"hillshading"}}}},BasemapAT:{url:"//maps{s}.wien.gv.at/basemap/{variant}/normal/google3857/{z}/{y}/{x}.{format}",options:{maxZoom:19,attribution:'Datenquelle: basemap.at',subdomains:["","1","2","3","4"],format:"png",bounds:[[46.35877,8.782379],[49.037872,17.189532]],variant:"geolandbasemap"},variants:{basemap:"geolandbasemap",grau:"bmapgrau",overlay:"bmapoverlay",highdpi:{options:{variant:"bmaphidpi",format:"jpeg"}},orthofoto:{options:{variant:"bmaporthofoto30cm",format:"jpeg"}}}},NASAGIBS:{url:"//map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{maxZoom}/{z}/{y}/{x}.{format}",options:{attribution:'Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.',bounds:[[-85.0511287776,-179.999999975],[85.0511287776,179.999999975]],minZoom:1,maxZoom:9,format:"jpg",time:"",tilematrixset:"GoogleMapsCompatible_Level"},variants:{ModisTerraTrueColorCR:"MODIS_Terra_CorrectedReflectance_TrueColor",ModisTerraBands367CR:"MODIS_Terra_CorrectedReflectance_Bands367",ViirsEarthAtNight2012:{options:{variant:"VIIRS_CityLights_2012",maxZoom:8}},ModisTerraLSTDay:{options:{variant:"MODIS_Terra_Land_Surface_Temp_Day",format:"png",maxZoom:7,opacity:.75}},ModisTerraSnowCover:{options:{variant:"MODIS_Terra_Snow_Cover",format:"png",maxZoom:8,opacity:.75}},ModisTerraAOD:{options:{variant:"MODIS_Terra_Aerosol",format:"png",maxZoom:6,opacity:.75}},ModisTerraChlorophyll:{options:{variant:"MODIS_Terra_Chlorophyll_A",format:"png",maxZoom:7,opacity:.75}}}}},L.tileLayer.provider=function(t,e){return new L.TileLayer.Provider(t,e)}}()},818:()=>{var t,e,i;t=L.Marker.prototype._initIcon,e=L.Marker.prototype._setPos,i="msTransform"===L.DomUtil.TRANSFORM,L.Marker.addInitHook((function(){var t=this.options.icon&&this.options.icon.options&&this.options.icon.options.iconAnchor;t&&(t=t[0]+"px "+t[1]+"px"),this.options.rotationOrigin=this.options.rotationOrigin||t||"center bottom",this.options.rotationAngle=this.options.rotationAngle||0,this.on("drag",(function(t){t.target._applyRotation()}))})),L.Marker.include({_initIcon:function(){t.call(this)},_setPos:function(t){e.call(this,t),this._applyRotation()},_applyRotation:function(){this.options.rotationAngle&&(this._icon.style[L.DomUtil.TRANSFORM+"Origin"]=this.options.rotationOrigin,i?this._icon.style[L.DomUtil.TRANSFORM]="rotate("+this.options.rotationAngle+"deg)":this._icon.style[L.DomUtil.TRANSFORM]+=" rotateZ("+this.options.rotationAngle+"deg)")},setRotationAngle:function(t){return this.options.rotationAngle=t,this.update(),this},setRotationOrigin:function(t){return this.options.rotationOrigin=t,this.update(),this}})},154:function(t,e,i){!function(t,e){"use strict";var i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)};function n(t,e){function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var o=function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;ih&&++E=n)throw new EvalError("Direct vincenty formula failed to converge after "+n+" iterations \n (start="+t.lat+"/"+t.lng+"; bearing="+e+"; distance="+i+")");var k=g*T-m*M*_,C=Math.atan2(g*M+m*T*_,(1-d)*Math.sqrt(y*y+k*k)),Z=d/16*b*(4+d*(4-3*b)),A=s+(Math.atan2(T*p,m*M-g*T*_)-(1-Z)*d*y*(P+Z*T*(z+Z*M*(2*z*z-1)))),O=Math.atan2(y,-k);return{lat:this.toDegrees(C),lng:this.toDegrees(A),bearing:this.wrap360(this.toDegrees(O))}},t.prototype.inverse=function(t,i,n,o){void 0===n&&(n=100),void 0===o&&(o=!0);var s=t,r=i,a=this.toRadians(s.lat),h=this.toRadians(s.lng),u=this.toRadians(r.lat),l=this.toRadians(r.lng),c=Math.PI,d=Number.EPSILON,p=this.ellipsoid,_=p.a,f=p.b,m=p.f,g=l-h,v=(1-m)*Math.tan(a),y=1/Math.sqrt(1+v*v),b=v*y,x=(1-m)*Math.tan(u),w=1/Math.sqrt(1+x*x),L=x*w,P=Math.abs(g)>c/2||Math.abs(u-a)>c/2,T=g,M=null,z=null,S=P?c:0,E=0,k=P?-1:1,C=null,Z=1,A=null,O=1,B=null,I=null,R=0;do{if(C=w*(M=Math.sin(T))*(w*M)+(y*L-b*w*(z=Math.cos(T)))*(y*L-b*w*z),Math.abs(C)c)throw new EvalError("λ > π")}while(Math.abs(T-I)>1e-12&&++R=n){if(o)return this.inverse(t,new e.LatLng(i.lat,i.lng-.01),n,o);throw new EvalError("Inverse vincenty formula failed to converge after "+n+" iterations \n (start="+t.lat+"/"+t.lng+"; dest="+i.lat+"/"+i.lng+")")}var N=O*(_*_-f*f)/(f*f),D=N/1024*(256+N*(N*(74-47*N)-128)),j=f*(1+N/16384*(4096+N*(N*(320-175*N)-768)))*(S-D*E*(Z+D/4*(k*(2*Z*Z-1)-D/6*Z*(4*E*E-3)*(4*Z*Z-3)))),H=Math.abs(C)0?v:2*p-v),x=(Math.sin(h-r)>0?2*p-y:y)-l;if(0===Math.sin(b)&&0===Math.sin(x))return null;if(Math.sin(b)*Math.sin(x)<0)return null;var w=-Math.cos(b)*Math.cos(x)+Math.sin(b)*Math.sin(x)*Math.cos(f),L=Math.atan2(Math.sin(f)*Math.sin(b)*Math.sin(x),Math.cos(x)+Math.cos(b)*w),P=Math.asin(Math.min(Math.max(Math.sin(s)*Math.cos(L)+Math.cos(s)*Math.sin(L)*Math.cos(u),-1),1)),T=r+Math.atan2(Math.sin(u)*Math.sin(L)*Math.cos(s),Math.cos(L)-Math.sin(s)*Math.sin(P));return new e.LatLng(this.toDegrees(P),this.toDegrees(T))},t.prototype.midpoint=function(t,i){var n=this.toRadians(t.lat),o=this.toRadians(t.lng),s=this.toRadians(i.lat),r=this.toRadians(i.lng-t.lng),a=Math.cos(n),h=0,u=Math.sin(n),l={x:a+Math.cos(s)*Math.cos(r),y:h+Math.cos(s)*Math.sin(r),z:u+Math.sin(s)},c=Math.atan2(l.z,Math.sqrt(l.x*l.x+l.y*l.y)),d=o+Math.atan2(l.y,l.x);return new e.LatLng(this.toDegrees(c),this.toDegrees(d))},t}(),a=function(){function t(t){this.geodesic=new r,this.steps=t&&void 0!==t.steps?t.steps:3}return t.prototype.recursiveMidpoint=function(t,e,i){var n=[t,e],o=this.geodesic.midpoint(t,e);return i>0?(n.splice.apply(n,s([0,1],this.recursiveMidpoint(t,o,i-1))),n.splice.apply(n,s([n.length-2,2],this.recursiveMidpoint(o,e,i-1)))):n.splice(1,0,o),n},t.prototype.line=function(t,e){return this.recursiveMidpoint(t,e,Math.min(8,this.steps))},t.prototype.multiLineString=function(t){var e=this,i=[];return t.forEach((function(t){for(var n=[],o=1;o180?r.lng=r.lng-360:r.lng-s.lng<-180&&(r.lng=r.lng+360);var a=[[new e.LatLng(s.lat,this.geodesic.wrap(s.lng,180)),new e.LatLng(r.lat,this.geodesic.wrap(r.lng,180))]];if(s.lng>=-180&&s.lng<=180)if(r.lng<-180){var h=this.geodesic.inverse(s,r).initialBearing;(u=this.geodesic.intersection(s,h,n.point,n.bearing))&&(a=[[s,u],[new e.LatLng(u.lat,u.lng+360),new e.LatLng(r.lat,r.lng+360)]])}else r.lng>180&&(h=this.geodesic.inverse(s,r).initialBearing,(u=this.geodesic.intersection(s,h,o.point,o.bearing))&&(a=[[s,u],[new e.LatLng(u.lat,u.lng-360),new e.LatLng(r.lat,r.lng-360)]]));else if(r.lng>=-180&&r.lng<=180)if(s.lng<-180)h=this.geodesic.inverse(s,r).initialBearing,(u=this.geodesic.intersection(s,h,n.point,n.bearing))&&(a=[[new e.LatLng(s.lat,s.lng+360),new e.LatLng(u.lat,u.lng+360)],[u,r]]);else if(s.lng>180){var u;h=this.geodesic.inverse(s,r).initialBearing,(u=this.geodesic.intersection(s,h,n.point,n.bearing))&&(a=[[new e.LatLng(s.lat,s.lng-360),new e.LatLng(u.lat,u.lng-360)],[u,r]])}return a},t.prototype.splitMultiLineString=function(t){var e=this,i=[];return t.forEach((function(t){if(1===t.length)i.push(t);else{for(var n=[],o=1;o1&&(i.push(n),n=s[1])}i.push(n)}})),i},t.prototype.circle=function(t,i){for(var n=[],o=0;o0?Math.floor(t):Math.ceil(t)};function B(t,e,i){return t instanceof A?t:g(t)?new A(t[0],t[1]):null==t?t:"object"==typeof t&&"x"in t&&"y"in t?new A(t.x,t.y):new A(t,e,i)}function I(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=R(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>=e.x&&n.x<=i.x,r=o.y>=e.y&&n.y<=i.y;return s&&r},overlaps:function(t){t=R(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>e.x&&n.xe.y&&n.y=n.lat&&i.lat<=o.lat&&e.lng>=n.lng&&i.lng<=o.lng},intersects:function(t){t=D(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=e.lat&&n.lat<=i.lat,r=o.lng>=e.lng&&n.lng<=i.lng;return s&&r},overlaps:function(t){t=D(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>e.lat&&n.late.lng&&n.lng1,St=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",u,e),window.removeEventListener("testPassiveEventSupport",u,e)}catch(t){}return t}(),Et=!!document.createElement("canvas").getContext,kt=!(!document.createElementNS||!X("svg").createSVGRect),Ct=!kt&&function(){try{var t=document.createElement("div");t.innerHTML='';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}();function Zt(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var At={ie:tt,ielt9:et,edge:it,webkit:nt,android:ot,android23:st,androidStock:at,opera:ht,chrome:ut,gecko:lt,safari:ct,phantom:dt,opera12:pt,win:_t,ie3d:ft,webkit3d:mt,gecko3d:gt,any3d:vt,mobile:yt,mobileWebkit:bt,mobileWebkit3d:xt,msPointer:wt,pointer:Lt,touch:Pt,mobileOpera:Tt,mobileGecko:Mt,retina:zt,passiveEvents:St,canvas:Et,svg:kt,vml:Ct},Ot=wt?"MSPointerDown":"pointerdown",Bt=wt?"MSPointerMove":"pointermove",It=wt?"MSPointerUp":"pointerup",Rt=wt?"MSPointerCancel":"pointercancel",Nt={},Dt=!1;function jt(t,e,i,n){return"touchstart"===e?Wt(t,i,n):"touchmove"===e?qt(t,i,n):"touchend"===e&&Kt(t,i,n),this}function Ht(t,e,i){var n=t["_leaflet_"+e+i];return"touchstart"===e?t.removeEventListener(Ot,n,!1):"touchmove"===e?t.removeEventListener(Bt,n,!1):"touchend"===e&&(t.removeEventListener(It,n,!1),t.removeEventListener(Rt,n,!1)),this}function Wt(t,e,i){var n=o((function(t){t.MSPOINTER_TYPE_TOUCH&&t.pointerType===t.MSPOINTER_TYPE_TOUCH&&Ue(t),Gt(t,e)}));t["_leaflet_touchstart"+i]=n,t.addEventListener(Ot,n,!1),Dt||(document.addEventListener(Ot,Ft,!0),document.addEventListener(Bt,Ut,!0),document.addEventListener(It,Vt,!0),document.addEventListener(Rt,Vt,!0),Dt=!0)}function Ft(t){Nt[t.pointerId]=t}function Ut(t){Nt[t.pointerId]&&(Nt[t.pointerId]=t)}function Vt(t){delete Nt[t.pointerId]}function Gt(t,e){for(var i in t.touches=[],Nt)t.touches.push(Nt[i]);t.changedTouches=[t],e(t)}function qt(t,e,i){var n=function(t){t.pointerType===(t.MSPOINTER_TYPE_MOUSE||"mouse")&&0===t.buttons||Gt(t,e)};t["_leaflet_touchmove"+i]=n,t.addEventListener(Bt,n,!1)}function Kt(t,e,i){var n=function(t){Gt(t,e)};t["_leaflet_touchend"+i]=n,t.addEventListener(It,n,!1),t.addEventListener(Rt,n,!1)}var Yt=wt?"MSPointerDown":Lt?"pointerdown":"touchstart",Jt=wt?"MSPointerUp":Lt?"pointerup":"touchend",Xt="_leaflet_";function $t(t,e,i){var n,o,s=!1,r=250;function a(t){if(Lt){if(!t.isPrimary)return;if("mouse"===t.pointerType)return}else if(t.touches.length>1)return;var e=Date.now(),i=e-(n||e);o=t.touches?t.touches[0]:t,s=i>0&&i<=r,n=e}function h(t){if(s&&!o.cancelBubble){if(Lt){if("mouse"===t.pointerType)return;var i,r,a={};for(r in o)i=o[r],a[r]=i&&i.bind?i.bind(o):i;o=a}o.type="dblclick",o.button=0,e(o),n=null}}return t[Xt+Yt+i]=a,t[Xt+Jt+i]=h,t[Xt+"dblclick"+i]=e,t.addEventListener(Yt,a,!!St&&{passive:!1}),t.addEventListener(Jt,h,!!St&&{passive:!1}),t.addEventListener("dblclick",e,!1),this}function Qt(t,e){var i=t[Xt+Yt+e],n=t[Xt+Jt+e],o=t[Xt+"dblclick"+e];return t.removeEventListener(Yt,i,!!St&&{passive:!1}),t.removeEventListener(Jt,n,!!St&&{passive:!1}),t.removeEventListener("dblclick",o,!1),this}var te,ee,ie,ne,oe,se=we(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),re=we(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),ae="webkitTransition"===re||"OTransition"===re?re+"End":"transitionend";function he(t){return"string"==typeof t?document.getElementById(t):t}function ue(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!i||"auto"===i)&&document.defaultView){var n=document.defaultView.getComputedStyle(t,null);i=n?n[e]:null}return"auto"===i?null:i}function le(t,e,i){var n=document.createElement(t);return n.className=e||"",i&&i.appendChild(n),n}function ce(t){var e=t.parentNode;e&&e.removeChild(t)}function de(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function pe(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function _e(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function fe(t,e){if(void 0!==t.classList)return t.classList.contains(e);var i=ye(t);return i.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(i)}function me(t,e){if(void 0!==t.classList)for(var i=d(e),n=0,o=i.length;nthis.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),n=this._limitCenter(i,this._zoom,D(t));return i.equals(n)||this.panTo(n,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=B((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=B(e.paddingBottomRight||e.padding||[0,0]),o=this.getCenter(),s=this.project(o),r=this.project(t),a=this.getPixelBounds(),h=a.getSize().divideBy(2),u=R([a.min.add(i),a.max.subtract(n)]);if(!u.contains(r)){this._enforcingBounds=!0;var l=s.subtract(r),c=B(r.x+l.x,r.y+l.y);(r.xu.max.x)&&(c.x=s.x-l.x,l.x>0?c.x+=h.x-i.x:c.x-=h.x-n.x),(r.yu.max.y)&&(c.y=s.y-l.y,l.y>0?c.y+=h.y-i.y:c.y-=h.y-n.y),this.panTo(this.unproject(c),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=i({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var n=this.getSize(),s=e.divideBy(2).round(),r=n.divideBy(2).round(),a=s.subtract(r);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(o(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:n})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=i({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=o(this._handleGeolocationResponse,this),n=o(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,n,t):navigator.geolocation.getCurrentPosition(e,n,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e=t.code,i=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})},_handleGeolocationResponse:function(t){var e=new j(t.coords.latitude,t.coords.longitude),i=e.toBounds(2*t.coords.accuracy),n=this._locateOptions;if(n.setView){var o=this.getBoundsZoom(i);this.setView(e,n.maxZoom?Math.min(o,n.maxZoom):o)}var s={latlng:e,bounds:i,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(s[r]=t.coords[r]);this.fire("locationfound",s)},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.enable(),this},remove:function(){if(this._initEvents(!0),this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}var t;for(t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),ce(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(z(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)ce(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var i=le("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=i),i},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new N(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=D(t),i=B(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),h=this.getSize().subtract(i),u=R(this.project(a,n),this.project(r,n)).getSize(),l=vt?this.options.zoomSnap:1,c=h.x/u.x,d=h.y/u.y,p=e?Math.max(c,d):Math.min(c,d);return n=this.getScaleZoom(p,n),l&&(n=Math.round(n/(l/100))*(l/100),n=e?Math.ceil(n/l)*l:Math.floor(n/l)*l),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new A(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var i=this._getTopLeftPoint(t,e);return new I(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs;e=void 0===e?this._zoom:e;var n=i.zoom(t*i.scale(e));return isNaN(n)?1/0:n},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(H(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(B(t),e)},layerPointToLatLng:function(t){var e=B(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){return this.project(H(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(H(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(D(t))},distance:function(t,e){return this.options.crs.distance(H(t),H(e))},containerPointToLayerPoint:function(t){return B(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return B(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(B(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(H(t)))},mouseEventToContainerPoint:function(t){return Ge(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=he(t);if(!e)throw new Error("Map container not found.");if(e._leaflet_id)throw new Error("Map container is already initialized.");Oe(e,"scroll",this._onScroll,this),this._containerId=r(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&vt,me(t,"leaflet-container"+(Pt?" leaflet-touch":"")+(zt?" leaflet-retina":"")+(et?" leaflet-oldie":"")+(ct?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=ue(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Pe(this._mapPane,new A(0,0)),this.createPane("tilePane"),this.createPane("shadowPane"),this.createPane("overlayPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(me(t.markerPane,"leaflet-zoom-hide"),me(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e){Pe(this._mapPane,new A(0,0));var i=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var n=this._zoom!==e;this._moveStart(n,!1)._move(t,e)._moveEnd(n),this.fire("viewreset"),i&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i){void 0===e&&(e=this._zoom);var n=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),(n||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return z(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){Pe(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[r(this._container)]=this;var e=t?Ie:Oe;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),vt&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){z(this._resizeRequest),this._resizeRequest=M((function(){this.invalidateSize({debounceMoveend:!0})}),this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],o="mouseout"===e||"mouseover"===e,s=t.target||t.srcElement,a=!1;s;){if((i=this._targets[r(s)])&&("click"===e||"preclick"===e)&&!t._simulated&&this._draggableMoved(i)){a=!0;break}if(i&&i.listens(e,!0)){if(o&&!$e(s,t))break;if(n.push(i),o)break}if(s===this._container)break;s=s.parentNode}return n.length||a||o||!$e(s,t)||(n=[this]),n},_handleDOMEvent:function(t){if(this._loaded&&!Xe(t)){var e=t.type;"mousedown"!==e&&"keypress"!==e&&"keyup"!==e&&"keydown"!==e||Ee(t.target||t.srcElement),this._fireDOMEvent(t,e)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,n){if("click"===t.type){var o=i({},t);o.type="preclick",this._fireDOMEvent(o,o.type,n)}if(!t._stopped&&(n=(n||[]).concat(this._findEventTargets(t,e))).length){var s=n[0];"contextmenu"===e&&s.listens(e,!0)&&Ue(t);var r={originalEvent:t};if("keypress"!==t.type&&"keydown"!==t.type&&"keyup"!==t.type){var a=s.getLatLng&&(!s._radius||s._radius<=10);r.containerPoint=a?this.latLngToContainerPoint(s.getLatLng()):this.mouseEventToContainerPoint(t),r.layerPoint=this.containerPointToLayerPoint(r.containerPoint),r.latlng=a?s.getLatLng():this.layerPointToLatLng(r.layerPoint)}for(var h=0;h0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=vt?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){ge(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(i)||(this.panBy(i,e),0))},_createAnimProxy:function(){var t=this._proxy=le("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",(function(t){var e=se,i=this._proxy.style[e];Le(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),i===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()}),this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){ce(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();Le(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),o=this._getCenterOffset(t)._divideBy(1-1/n);return!(!0!==i.animate&&!this.getSize().contains(o)||(M((function(){this._moveStart(!0,!1)._animateZoom(t,e,!0)}),this),0))},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,me(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),setTimeout(o(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&ge(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),M((function(){this._moveEnd(!0)}),this))}});function ii(t,e){return new ei(t,e)}var ni=E.extend({options:{position:"topright"},initialize:function(t){p(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),n=t._controlCorners[i];return me(e,"leaflet-control"),-1!==i.indexOf("bottom")?n.insertBefore(e,n.firstChild):n.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(ce(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),oi=function(t){return new ni(t)};ei.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",i=this._controlContainer=le("div",e+"control-container",this._container);function n(n,o){var s=e+n+" "+e+o;t[n+o]=le("div",s,i)}n("top","left"),n("top","right"),n("bottom","left"),n("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)ce(this._controlCorners[t]);ce(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var si=ni.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(r(t.target)),i=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;i&&this._map.fire(i,e)},_createRadioElement:function(t,e){var i='",n=document.createElement("div");return n.innerHTML=i,n.firstChild},_addItem:function(t){var e,i=document.createElement("label"),n=this._map.hasLayer(t.layer);t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=n):e=this._createRadioElement("leaflet-base-layers_"+r(this),n),this._layerControlInputs.push(e),e.layerId=r(t.layer),Oe(e,"click",this._onInputClick,this);var o=document.createElement("span");o.innerHTML=" "+t.name;var s=document.createElement("div");return i.appendChild(s),s.appendChild(e),s.appendChild(o),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){var t,e,i=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=i.length-1;s>=0;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?n.push(e):t.checked||o.push(e);for(s=0;s=0;o--)t=i[o],e=this._getLayer(t.layerId).layer,t.disabled=void 0!==e.options.minZoom&&ne.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}}),ri=function(t,e,i){return new si(t,e,i)},ai=ni.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"−",zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=le("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){var s=le("a",i,n);return s.innerHTML=t,s.href="#",s.title=e,s.setAttribute("role","button"),s.setAttribute("aria-label",e),Fe(s),Oe(s,"click",Ve),Oe(s,"click",o,this),Oe(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";ge(this._zoomInButton,e),ge(this._zoomOutButton,e),(this._disabled||t._zoom===t.getMinZoom())&&me(this._zoomOutButton,e),(this._disabled||t._zoom===t.getMaxZoom())&&me(this._zoomInButton,e)}});ei.mergeOptions({zoomControl:!0}),ei.addInitHook((function(){this.options.zoomControl&&(this.zoomControl=new ai,this.addControl(this.zoomControl))}));var hi=function(t){return new ai(t)},ui=ni.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=le("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=le("div",e,i)),t.imperial&&(this._iScale=le("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,i=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(i)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t),i=e<1e3?e+" m":e/1e3+" km";this._updateScale(this._mScale,i,e/t)},_updateImperial:function(t){var e,i,n,o=3.2808399*t;o>5280?(e=o/5280,i=this._getRoundNum(e),this._updateScale(this._iScale,i+" mi",i/e)):(n=this._getRoundNum(o),this._updateScale(this._iScale,n+" ft",n/o))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return e*(i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:1)}}),li=function(t){return new ui(t)},ci=ni.extend({options:{position:"bottomright",prefix:'Leaflet'},initialize:function(t){p(this,t),this._attributions={}},onAdd:function(t){for(var e in t.attributionControl=this,this._container=le("div","leaflet-control-attribution"),Fe(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),this._container},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(" | ")}}});ei.mergeOptions({attributionControl:!0}),ei.addInitHook((function(){this.options.attributionControl&&(new ci).addTo(this)}));var di=function(t){return new ci(t)};ni.Layers=si,ni.Zoom=ai,ni.Scale=ui,ni.Attribution=ci,oi.layers=ri,oi.zoom=hi,oi.scale=li,oi.attribution=di;var pi=E.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});pi.addTo=function(t,e){return t.addHandler(e,this),this};var _i,fi={Events:C},mi=Pt?"touchstart mousedown":"mousedown",gi={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},vi={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"},yi=Z.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){p(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(Oe(this._dragStartTarget,mi,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(yi._dragging===this&&this.finishDrag(),Ie(this._dragStartTarget,mi,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!t._simulated&&this._enabled&&(this._moved=!1,!fe(this._element,"leaflet-zoom-anim")&&!(yi._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(yi._dragging=this,this._preventOutline&&Ee(this._element),ze(),te(),this._moving)))){this.fire("down");var e=t.touches?t.touches[0]:t,i=Ce(this._element);this._startPoint=new A(e.clientX,e.clientY),this._parentScale=Ze(i),Oe(document,vi[t.type],this._onMove,this),Oe(document,gi[t.type],this._onUp,this)}},_onMove:function(t){if(!t._simulated&&this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var e=t.touches&&1===t.touches.length?t.touches[0]:t,i=new A(e.clientX,e.clientY)._subtract(this._startPoint);(i.x||i.y)&&(Math.abs(i.x)+Math.abs(i.y)h&&(s=r,h=a);h>i&&(e[s]=1,Pi(t,e,i,n,s),Pi(t,e,i,s,o))}function Ti(t,e){for(var i=[t[0]],n=1,o=0,s=t.length;ne&&(i.push(t[n]),o=n);return oe.max.x&&(i|=2),t.ye.max.y&&(i|=8),i}function Ei(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n}function ki(t,e,i,n){var o,s=e.x,r=e.y,a=i.x-s,h=i.y-r,u=a*a+h*h;return u>0&&((o=((t.x-s)*a+(t.y-r)*h)/u)>1?(s=i.x,r=i.y):o>0&&(s+=a*o,r+=h*o)),a=t.x-s,h=t.y-r,n?a*a+h*h:new A(s,r)}function Ci(t){return!g(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function Zi(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),Ci(t)}var Ai={simplify:bi,pointToSegmentDistance:xi,closestPointOnSegment:wi,clipSegment:Mi,_getEdgeIntersection:zi,_getBitCode:Si,_sqClosestPointOnSegment:ki,isFlat:Ci,_flat:Zi};function Oi(t,e,i){var n,o,s,r,a,h,u,l,c,d=[1,4,2,8];for(o=0,u=t.length;o1e-7;h++)e=s*Math.sin(a),e=Math.pow((1-e)/(1+e),s/2),a+=u=Math.PI/2-2*Math.atan(r*e)-a;return new j(a*i,t.x*i/n)}},Ni={LonLat:Ii,Mercator:Ri,SphericalMercator:G},Di=i({},U,{code:"EPSG:3395",projection:Ri,transformation:function(){var t=.5/(Math.PI*Ri.R);return K(t,.5,-t,.5)}()}),ji=i({},U,{code:"EPSG:4326",projection:Ii,transformation:K(1/180,1,-1/180,.5)}),Hi=i({},F,{projection:Ii,transformation:K(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,n=e.lat-t.lat;return Math.sqrt(i*i+n*n)},infinite:!0});F.Earth=U,F.EPSG3395=Di,F.EPSG3857=Y,F.EPSG900913=J,F.EPSG4326=ji,F.Simple=Hi;var Wi=Z.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[r(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[r(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var i=this.getEvents();e.on(i,this),this.once("remove",(function(){e.off(i,this)}),this)}this.onAdd(e),this.getAttribution&&e.attributionControl&&e.attributionControl.addAttribution(this.getAttribution()),this.fire("add"),e.fire("layeradd",{layer:this})}}});ei.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=r(t);return this._layers[e]||(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t)),this},removeLayer:function(t){var e=r(t);return this._layers[e]?(this._loaded&&t.onRemove(this),t.getAttribution&&this.attributionControl&&this.attributionControl.removeAttribution(t.getAttribution()),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return!!t&&r(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){for(var e=0,i=(t=t?g(t)?t:[t]:[]).length;ethis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()e)return r=(n-e)/i,this._map.layerPointToLatLng([s.x-r*(s.x-o.x),s.y-r*(s.y-o.y)])},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=H(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new N,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return Ci(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],i=Ci(t),n=0,o=t.length;n=2&&e[0]instanceof j&&e[0].equals(e[i-1])&&e.pop(),e},_setLatLngs:function(t){sn.prototype._setLatLngs.call(this,t),Ci(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Ci(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,i=new A(e,e);if(t=new I(t.min.subtract(i),t.max.add(i)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var n,o=0,s=this._rings.length;ot.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(u=!u);return u||sn.prototype._containsPoint.call(this,t,!0)}});function hn(t,e){return new an(t,e)}var un=Vi.extend({initialize:function(t,e){p(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,o=g(t)?t:t.features;if(o){for(e=0,i=o.length;e0?n:[e.src]}else{g(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted;for(var r=0;ro?(e.height=o+"px",me(t,s)):ge(t,s),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),i=this._getAnchor();Pe(this._container,e.add(i))},_adjustPan:function(){if(this.options.autoPan){this._map._panAnim&&this._map._panAnim.stop();var t=this._map,e=parseInt(ue(this._container,"marginBottom"),10)||0,i=this._container.offsetHeight+e,n=this._containerWidth,o=new A(this._containerLeft,-i-this._containerBottom);o._add(Te(this._container));var s=t.layerPointToContainerPoint(o),r=B(this.options.autoPanPadding),a=B(this.options.autoPanPaddingTopLeft||r),h=B(this.options.autoPanPaddingBottomRight||r),u=t.getSize(),l=0,c=0;s.x+n+h.x>u.x&&(l=s.x+n-u.x+h.x),s.x-l-a.x<0&&(l=s.x-a.x),s.y+i+h.y>u.y&&(c=s.y+i-u.y+h.y),s.y-c-a.y<0&&(c=s.y-a.y),(l||c)&&t.fire("autopanstart").panBy([l,c])}},_onCloseButtonClick:function(t){this._close(),Ve(t)},_getAnchor:function(){return B(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),En=function(t,e){return new Sn(t,e)};ei.mergeOptions({closePopupOnClick:!0}),ei.include({openPopup:function(t,e,i){return t instanceof Sn||(t=new Sn(i).setContent(t)),e&&t.setLatLng(e),this.hasLayer(t)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=t,this.addLayer(t))},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&this.removeLayer(t),this}}),Wi.include({bindPopup:function(t,e){return t instanceof Sn?(p(t,e),this._popup=t,t._source=this):(this._popup&&!e||(this._popup=new Sn(e,this)),this._popup.setContent(t)),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t,e){return this._popup&&this._map&&(e=this._popup._prepareOpen(this,t,e),this._map.openPopup(this._popup,e)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(t){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(t)),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var e=t.layer||t.target;this._popup&&this._map&&(Ve(t),e instanceof Qi?this.openPopup(t.layer||t.target,t.latlng):this._map.hasLayer(this._popup)&&this._popup._source===e?this.closePopup():this.openPopup(e,t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var kn=zn.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(t){zn.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&this._source.fire("tooltipopen",{tooltip:this},!0)},onRemove:function(t){zn.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var t=zn.prototype.getEvents.call(this);return Pt&&!this.options.permanent&&(t.preclick=this._close),t},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=le("div",t)},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i,n=this._map,o=this._container,s=n.latLngToContainerPoint(n.getCenter()),r=n.layerPointToContainerPoint(t),a=this.options.direction,h=o.offsetWidth,u=o.offsetHeight,l=B(this.options.offset),c=this._getAnchor();"top"===a?(e=h/2,i=u):"bottom"===a?(e=h/2,i=0):"center"===a?(e=h/2,i=u/2):"right"===a?(e=0,i=u/2):"left"===a?(e=h,i=u/2):r.xthis.options.maxZoom||in&&this._retainParent(o,s,r,n))},_retainChildren:function(t,e,i,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*e;s<2*e+2;s++){var r=new A(o,s);r.z=i+1;var a=this._tileCoordsToKey(r),h=this._tiles[a];h&&h.active?h.retain=!0:(h&&h.loaded&&(h.retain=!0),i+1this.options.maxZoom||void 0!==this.options.minZoom&&o1)this._setView(t,i);else{for(var c=o.min.y;c<=o.max.y;c++)for(var d=o.min.x;d<=o.max.x;d++){var p=new A(d,c);if(p.z=this._tileZoom,this._isValidTile(p)){var _=this._tiles[this._tileCoordsToKey(p)];_?_.current=!0:r.push(p)}}if(r.sort((function(t,e){return t.distanceTo(s)-e.distanceTo(s)})),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var f=document.createDocumentFragment();for(d=0;di.max.x)||!e.wrapLat&&(t.yi.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return D(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),o=n.add(i);return[e.unproject(n,t.z),e.unproject(o,t.z)]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),i=new N(e[0],e[1]);return this.options.noWrap||(i=this._map.wrapLatLngBounds(i)),i},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),i=new A(+e[0],+e[1]);return i.z=+e[2],i},_removeTile:function(t){var e=this._tiles[t];e&&(ce(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){me(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=u,t.onmousemove=u,et&&this.options.opacity<1&&be(t,this.options.opacity),ot&&!st&&(t.style.WebkitBackfaceVisibility="hidden")},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),s=this.createTile(this._wrapCoords(t),o(this._tileReady,this,t));this._initTile(s),this.createTile.length<2&&M(o(this._tileReady,this,t,null,s)),Pe(s,i),this._tiles[n]={el:s,coords:t,current:!0},e.appendChild(s),this.fire("tileloadstart",{tile:s,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(be(i.el,0),z(this._fadeFrame),this._fadeFrame=M(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(me(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),et||!this._map._fadeAnimated?M(this._pruneTiles,this):setTimeout(o(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new A(this._wrapX?h(t.x,this._wrapX):t.x,this._wrapY?h(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new I(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});function Bn(t){return new On(t)}var In=On.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(t,e){this._url=t,(e=p(this,e)).detectRetina&&zt&&e.maxZoom>0&&(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom++):(e.zoomOffset++,e.maxZoom--),e.minZoom=Math.max(0,e.minZoom)),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),ot||this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return Oe(i,"load",o(this._tileOnLoad,this,e,i)),Oe(i,"error",o(this._tileOnError,this,e,i)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),i.alt="",i.setAttribute("role","presentation"),i.src=this.getTileUrl(t),i},getTileUrl:function(t){var e={r:zt?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var n=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=n),e["-y"]=n}return m(this._url,i(e,this.options))},_tileOnLoad:function(t,e){et?setTimeout(o(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&&e.getAttribute("src")!==n&&(e.src=n),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom;return this.options.zoomReverse&&(t=e-t),t+this.options.zoomOffset},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((e=this._tiles[t].el).onload=u,e.onerror=u,e.complete||(e.src=y,ce(e),delete this._tiles[t]))},_removeTile:function(t){var e=this._tiles[t];if(e)return at||e.el.setAttribute("src",y),On.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(this._map&&(!i||i.getAttribute("src")!==y))return On.prototype._tileReady.call(this,t,e,i)}});function Rn(t,e){return new In(t,e)}var Nn=In.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var n=i({},this.defaultWmsParams);for(var o in e)o in this.options||(n[o]=e[o]);var s=(e=p(this,e)).detectRetina&&zt?2:1,r=this.getTileSize();n.width=r.x*s,n.height=r.y*s,this.wmsParams=n},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[e]=this._crs.code,In.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,n=R(i.project(e[0]),i.project(e[1])),o=n.min,s=n.max,r=(this._wmsVersion>=1.3&&this._crs===ji?[o.y,o.x,s.y,s.x]:[o.x,o.y,s.x,s.y]).join(","),a=In.prototype.getTileUrl.call(this,t);return a+_(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,e){return i(this.wmsParams,t),e||this.redraw(),this}});function Dn(t,e){return new Nn(t,e)}In.WMS=Nn,Rn.wms=Dn;var jn=Wi.extend({options:{padding:.1,tolerance:0},initialize:function(t){p(this,t),r(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&me(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=Te(this._container),o=this._map.getSize().multiplyBy(.5+this.options.padding),s=this._map.project(this._center,e),r=this._map.project(t,e).subtract(s),a=o.multiplyBy(-i).add(n).add(o).subtract(r);vt?Le(this._container,a,i):Pe(this._container,a)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new I(i,i.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),Hn=jn.extend({getEvents:function(){var t=jn.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){jn.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");Oe(t,"mousemove",this._onMouseMove,this),Oe(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Oe(t,"mouseout",this._handleMouseOut,this),this._ctx=t.getContext("2d")},_destroyContainer:function(){z(this._redrawRequest),delete this._ctx,ce(this._container),Ie(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){jn.prototype._update.call(this);var t=this._bounds,e=this._container,i=t.getSize(),n=zt?2:1;Pe(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",zt&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){jn.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[r(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,n=e.prev;i?i.prev=n:this._drawLast=n,n?n.next=i:this._drawFirst=i,delete t._order,delete this._layers[r(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){var e,i,n=t.options.dashArray.split(/[, ]+/),o=[];for(i=0;i')}}catch(t){return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),Un={_initContainer:function(){this._container=le("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(jn.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=Fn("shape");me(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=Fn("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[r(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;ce(e),t.removeInteractiveTarget(e),delete this._layers[r(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e||(e=t._stroke=Fn("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=g(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i||(i=t._fill=Fn("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){pe(t._container)},_bringToBack:function(t){_e(t._container)}},Vn=Ct?Fn:X,Gn=jn.extend({getEvents:function(){var t=jn.prototype.getEvents.call(this);return t.zoomstart=this._onZoomStart,t},_initContainer:function(){this._container=Vn("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Vn("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){ce(this._container),Ie(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_onZoomStart:function(){this._update()},_update:function(){if(!this._map._animatingZoom||!this._bounds){jn.prototype._update.call(this);var t=this._bounds,e=t.getSize(),i=this._container;this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),Pe(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=Vn("path");t.options.className&&me(e,t.options.className),t.options.interactive&&me(e,"leaflet-interactive"),this._updateStyle(t),this._layers[r(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){ce(t._path),t.removeInteractiveTarget(t._path),delete this._layers[r(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,i=t.options;e&&(i.stroke?(e.setAttribute("stroke",i.color),e.setAttribute("stroke-opacity",i.opacity),e.setAttribute("stroke-width",i.weight),e.setAttribute("stroke-linecap",i.lineCap),e.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?e.setAttribute("stroke-dasharray",i.dashArray):e.removeAttribute("stroke-dasharray"),i.dashOffset?e.setAttribute("stroke-dashoffset",i.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),i.fill?(e.setAttribute("fill",i.fillColor||i.color),e.setAttribute("fill-opacity",i.fillOpacity),e.setAttribute("fill-rule",i.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,$(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",o=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+n+2*i+",0 "+n+2*-i+",0 ";this._setPath(t,o)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){pe(t._path)},_bringToBack:function(t){_e(t._path)}});function qn(t){return kt||Ct?new Gn(t):null}Ct&&Gn.include(Un),ei.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var e=this._paneRenderers[t];return void 0===e&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&Wn(t)||qn(t)}});var Kn=an.extend({initialize:function(t,e){an.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=D(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});function Yn(t,e){return new Kn(t,e)}Gn.create=Vn,Gn.pointsToPath=$,un.geometryToLayer=ln,un.coordsToLatLng=dn,un.coordsToLatLngs=pn,un.latLngToCoords=_n,un.latLngsToCoords=fn,un.getFeature=mn,un.asFeature=gn,ei.mergeOptions({boxZoom:!0});var Jn=pi.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){Oe(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Ie(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){ce(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),te(),ze(),this._startPoint=this._map.mouseEventToContainerPoint(t),Oe(document,{contextmenu:Ve,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=le("div","leaflet-zoom-box",this._container),me(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new I(this._point,this._startPoint),i=e.getSize();Pe(this._box,e.min),this._box.style.width=i.x+"px",this._box.style.height=i.y+"px"},_finish:function(){this._moved&&(ce(this._box),ge(this._container,"leaflet-crosshair")),ee(),Se(),Ie(document,{contextmenu:Ve,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(o(this._resetState,this),0);var e=new N(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&&this._finish()}});ei.addInitHook("addHandler","boxZoom",Jn),ei.mergeOptions({doubleClickZoom:!0});var Xn=pi.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,o=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(o):e.setZoomAround(t.containerPoint,o)}});ei.addInitHook("addHandler","doubleClickZoom",Xn),ei.mergeOptions({dragging:!0,inertia:!st,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var $n=pi.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new yi(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}me(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){ge(this._map._container,"leaflet-grab"),ge(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=D(this._map.options.maxBounds);this._offsetLimit=R(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.xe.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,s=(n+e+i)%t-e-i,r=Math.abs(o+i)0?s:-s))-e;this._delta=0,this._startTime=null,r&&("center"===t.options.scrollWheelZoom?t.setZoom(e+r):t.setZoomAround(this._lastMousePos,e+r))}});ei.addInitHook("addHandler","scrollWheelZoom",to),ei.mergeOptions({tap:!0,tapTolerance:15});var eo=pi.extend({addHooks:function(){Oe(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Ie(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(t.touches){if(Ue(t),this._fireClick=!0,t.touches.length>1)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var e=t.touches[0],i=e.target;this._startPos=this._newPos=new A(e.clientX,e.clientY),i.tagName&&"a"===i.tagName.toLowerCase()&&me(i,"leaflet-active"),this._holdTimeout=setTimeout(o((function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",e))}),this),1e3),this._simulateEvent("mousedown",e),Oe(document,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(t){if(clearTimeout(this._holdTimeout),Ie(document,{touchmove:this._onMove,touchend:this._onUp},this),this._fireClick&&t&&t.changedTouches){var e=t.changedTouches[0],i=e.target;i&&i.tagName&&"a"===i.tagName.toLowerCase()&&ge(i,"leaflet-active"),this._simulateEvent("mouseup",e),this._isTapValid()&&this._simulateEvent("click",e)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(t){var e=t.touches[0];this._newPos=new A(e.clientX,e.clientY),this._simulateEvent("mousemove",e)},_simulateEvent:function(t,e){var i=document.createEvent("MouseEvents");i._simulated=!0,e.target._simulatedClick=!0,i.initMouseEvent(t,!0,!0,window,1,e.screenX,e.screenY,e.clientX,e.clientY,!1,!1,!1,!1,0,null),e.target.dispatchEvent(i)}});!Pt||Lt&&!ct||ei.addInitHook("addHandler","tap",eo),ei.mergeOptions({touchZoom:Pt&&!st,bounceAtZoomLimits:!0});var io=pi.extend({addHooks:function(){me(this._map._container,"leaflet-touch-zoom"),Oe(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){ge(this._map._container,"leaflet-touch-zoom"),Ie(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&!e._animatingZoom&&!this._zooming){var i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),"center"!==e.options.touchZoom&&(this._pinchStartLatLng=e.containerPointToLatLng(i.add(n)._divideBy(2))),this._startDist=i.distanceTo(n),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),Oe(document,"touchmove",this._onTouchMove,this),Oe(document,"touchend",this._onTouchEnd,this),Ue(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),s=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(s,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoome.getMaxZoom()&&s>1)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1===s)return}else{var r=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(1===s&&0===r.x&&0===r.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),z(this._animRequest);var a=o(e._move,e,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=M(a,this,!0),Ue(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,z(this._animRequest),Ie(document,"touchmove",this._onTouchMove,this),Ie(document,"touchend",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});ei.addInitHook("addHandler","touchZoom",io),ei.BoxZoom=Jn,ei.DoubleClickZoom=Xn,ei.Drag=$n,ei.Keyboard=Qn,ei.ScrollWheelZoom=to,ei.Tap=eo,ei.TouchZoom=io,t.version=e,t.Control=ni,t.control=oi,t.Browser=At,t.Evented=Z,t.Mixin=fi,t.Util=S,t.Class=E,t.Handler=pi,t.extend=i,t.bind=o,t.stamp=r,t.setOptions=p,t.DomEvent=Qe,t.DomUtil=Ae,t.PosAnimation=ti,t.Draggable=yi,t.LineUtil=Ai,t.PolyUtil=Bi,t.Point=A,t.point=B,t.Bounds=I,t.bounds=R,t.Transformation=q,t.transformation=K,t.Projection=Ni,t.LatLng=j,t.latLng=H,t.LatLngBounds=N,t.latLngBounds=D,t.CRS=F,t.GeoJSON=un,t.geoJSON=yn,t.geoJson=bn,t.Layer=Wi,t.LayerGroup=Fi,t.layerGroup=Ui,t.FeatureGroup=Vi,t.featureGroup=Gi,t.ImageOverlay=xn,t.imageOverlay=wn,t.VideoOverlay=Ln,t.videoOverlay=Pn,t.SVGOverlay=Tn,t.svgOverlay=Mn,t.DivOverlay=zn,t.Popup=Sn,t.popup=En,t.Tooltip=kn,t.tooltip=Cn,t.Icon=qi,t.icon=Ki,t.DivIcon=Zn,t.divIcon=An,t.Marker=Xi,t.marker=$i,t.TileLayer=In,t.tileLayer=Rn,t.GridLayer=On,t.gridLayer=Bn,t.SVG=Gn,t.svg=qn,t.Renderer=jn,t.Canvas=Hn,t.canvas=Wn,t.Path=Qi,t.CircleMarker=tn,t.circleMarker=en,t.Circle=nn,t.circle=on,t.Polyline=sn,t.polyline=rn,t.Polygon=an,t.polygon=hn,t.Rectangle=Kn,t.rectangle=Yn,t.Map=ei,t.map=ii;var no=window.L;t.noConflict=function(){return window.L=no,this},window.L=t}(e)},155:t=>{var e,i,n=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function r(t){if(e===setTimeout)return setTimeout(t,0);if((e===o||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(i){try{return e.call(null,t,0)}catch(i){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:o}catch(t){e=o}try{i="function"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var a,h=[],u=!1,l=-1;function c(){u&&a&&(u=!1,a.length?h=a.concat(h):l=-1,h.length&&d())}function d(){if(!u){var t=r(c);u=!0;for(var e=h.length;e;){for(a=h,h=[];++l1)for(var i=1;i{var e=function(t){"use strict";var e,i=Object.prototype,n=i.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},s=o.iterator||"@@iterator",r=o.asyncIterator||"@@asyncIterator",a=o.toStringTag||"@@toStringTag";function h(t,e,i){return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(t){h=function(t,e,i){return t[e]=i}}function u(t,e,i,n){var o=e&&e.prototype instanceof m?e:m,s=Object.create(o.prototype),r=new S(n||[]);return s._invoke=function(t,e,i){var n=c;return function(o,s){if(n===p)throw new Error("Generator is already running");if(n===_){if("throw"===o)throw s;return k()}for(i.method=o,i.arg=s;;){var r=i.delegate;if(r){var a=T(r,i);if(a){if(a===f)continue;return a}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(n===c)throw n=_,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);n=p;var h=l(t,e,i);if("normal"===h.type){if(n=i.done?_:d,h.arg===f)continue;return{value:h.arg,done:i.done}}"throw"===h.type&&(n=_,i.method="throw",i.arg=h.arg)}}}(t,i,r),s}function l(t,e,i){try{return{type:"normal",arg:t.call(e,i)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var c="suspendedStart",d="suspendedYield",p="executing",_="completed",f={};function m(){}function g(){}function v(){}var y={};y[s]=function(){return this};var b=Object.getPrototypeOf,x=b&&b(b(E([])));x&&x!==i&&n.call(x,s)&&(y=x);var w=v.prototype=m.prototype=Object.create(y);function L(t){["next","throw","return"].forEach((function(e){h(t,e,(function(t){return this._invoke(e,t)}))}))}function P(t,e){function i(o,s,r,a){var h=l(t[o],t,s);if("throw"!==h.type){var u=h.arg,c=u.value;return c&&"object"==typeof c&&n.call(c,"__await")?e.resolve(c.__await).then((function(t){i("next",t,r,a)}),(function(t){i("throw",t,r,a)})):e.resolve(c).then((function(t){u.value=t,r(u)}),(function(t){return i("throw",t,r,a)}))}a(h.arg)}var o;this._invoke=function(t,n){function s(){return new e((function(e,o){i(t,n,e,o)}))}return o=o?o.then(s,s):s()}}function T(t,i){var n=t.iterator[i.method];if(n===e){if(i.delegate=null,"throw"===i.method){if(t.iterator.return&&(i.method="return",i.arg=e,T(t,i),"throw"===i.method))return f;i.method="throw",i.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var o=l(n,t.iterator,i.arg);if("throw"===o.type)return i.method="throw",i.arg=o.arg,i.delegate=null,f;var s=o.arg;return s?s.done?(i[t.resultName]=s.value,i.next=t.nextLoc,"return"!==i.method&&(i.method="next",i.arg=e),i.delegate=null,f):s:(i.method="throw",i.arg=new TypeError("iterator result is not an object"),i.delegate=null,f)}function M(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function z(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(M,this),this.reset(!0)}function E(t){if(t){var i=t[s];if(i)return i.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,r=function i(){for(;++o=0;--s){var r=this.tryEntries[s],a=r.completion;if("root"===r.tryLoc)return o("end");if(r.tryLoc<=this.prev){var h=n.call(r,"catchLoc"),u=n.call(r,"finallyLoc");if(h&&u){if(this.prev=0;--i){var o=this.tryEntries[i];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),z(i),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var o=n.arg;z(i)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,i,n){return this.delegate={iterator:E(t),resultName:i,nextLoc:n},"next"===this.method&&(this.arg=e),f}},t}(t.exports);try{regeneratorRuntime=e}catch(t){Function("r","regeneratorRuntime = r")(e)}},551:function(t,e,i){var n,o;t=i.nmd(t),function(){var s,r,a,h,u,l=function(t,e){return function(){return t.apply(e,arguments)}},c=[].slice,d={}.hasOwnProperty,p=function(t,e){for(var i in e)d.call(e,i)&&(t[i]=e[i]);function n(){this.constructor=t}return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},_=[].indexOf||function(t){for(var e=0,i=this.length;e0&&n=0?this.static[r]=n.value:a.type===s.TypeParser.types.primitive?this.static[r]=a.value:this.observers[r]=n.value)}return p(e,t),e.prototype.sync=function(){},e.prototype.update=function(){},e.prototype.publish=function(){},e.prototype.locals=function(){var t,e,i,n,o,s;for(t in i={},o=this.static)n=o[t],i[t]=n;for(t in s=this.observers)e=s[t],i[t]=e.value();return i},e.prototype.camelCase=function(t){return t.replace(/-([a-z])/g,(function(t){return t[1].toUpperCase()}))},e.prototype.bind=function(){var t,e,i,n,o,r,a,h,u,l,c,d,p,_,f,m,g,v,y,b;if(!this.bound){for(e in _=this.observers)i=_[e],this.observers[e]=this.observe(this.view.models,i,function(t){return function(e){return function(){return t.componentView.models[e]=t.observers[e].value()}}}(this).call(this,e));this.bound=!0}if(null!=this.componentView)this.componentView.bind();else{for(this.el.innerHTML=this.component.template.call(this),a=this.component.initialize.call(this,this.el,this.locals()),this.el._bound=!0,r={},l=0,d=(f=s.extensions).length;l=0));return u}}else if((null!=e?e.toString():void 0)!==(null!=(h=t.value)?h.toString():void 0))return t.value=null!=e?e:""}},s.public.binders.if={block:!0,priority:4e3,bind:function(t){var e,i;if(null==this.marker)return e=[this.view.prefix,this.type].join("-").replace("--","-"),i=t.getAttribute(e),this.marker=document.createComment(" rivets: "+this.type+" "+i+" "),this.bound=!1,t.removeAttribute(e),t.parentNode.insertBefore(this.marker,t),t.parentNode.removeChild(t)},unbind:function(){if(this.nested)return this.nested.unbind(),this.bound=!1},routine:function(t,e){var i,n,o,r;if(!!e==!this.bound){if(e){for(i in o={},r=this.view.models)n=r[i],o[i]=n;return(this.nested||(this.nested=new s.View(t,o,this.view.options()))).bind(),this.marker.parentNode.insertBefore(t,this.marker.nextSibling),this.bound=!0}return t.parentNode.removeChild(t),this.nested.unbind(),this.bound=!1}},update:function(t){var e;return null!=(e=this.nested)?e.update(t):void 0}},s.public.binders.unless={block:!0,priority:4e3,bind:function(t){return s.public.binders.if.bind.call(this,t)},unbind:function(){return s.public.binders.if.unbind.call(this)},routine:function(t,e){return s.public.binders.if.routine.call(this,t,!e)},update:function(t){return s.public.binders.if.update.call(this,t)}},s.public.binders["on-*"]={function:!0,priority:1e3,unbind:function(t){if(this.handler)return s.Util.unbindEvent(t,this.args[0],this.handler)},routine:function(t,e){return this.handler&&s.Util.unbindEvent(t,this.args[0],this.handler),s.Util.bindEvent(t,this.args[0],this.handler=this.eventHandler(e))}},s.public.binders["each-*"]={block:!0,priority:4e3,bind:function(t){var e,i,n,o;if(null==this.marker)e=[this.view.prefix,this.type].join("-").replace("--","-"),this.marker=document.createComment(" rivets: "+this.type+" "),this.iterated=[],t.removeAttribute(e),t.parentNode.insertBefore(this.marker,t),t.parentNode.removeChild(t);else for(i=0,n=(o=this.iterated).length;ie.length)for(p=0,m=(y=Array(this.iterated.length-e.length)).length;p=0&&s.splice(n,1),s.length||delete o.pointers[e],this.cleanupWeakReference(o,t[this.id])},observe:function(t,e,i){var n,o,s,r;return null==(n=this.weakReference(t).callbacks)[e]&&(n[e]=[],(null!=(o=Object.getOwnPropertyDescriptor(t,e))?o.get:void 0)||(null!=o?o.set:void 0)||(s=t[e],Object.defineProperty(t,e,{enumerable:!0,get:function(){return s},set:(r=this,function(i){var o,a,h,u,l;if(i!==s&&(r.unobserveMutations(s,t[r.id],e),s=i,a=r.weakmap[t[r.id]])){if((n=a.callbacks)[e])for(h=0,u=(l=n[e].slice()).length;h=0&&o();return r.observeMutations(i,t[r.id],e)}})}))),_.call(n[e],i)<0&&n[e].push(i),this.observeMutations(t[e],t[this.id],e)},unobserve:function(t,e,i){var n,o,s;if((s=this.weakmap[t[this.id]])&&(n=s.callbacks[e]))return(o=n.indexOf(i))>=0&&(n.splice(o,1),n.length||(delete s.callbacks[e],this.unobserveMutations(t[e],t[this.id],e))),this.cleanupWeakReference(s,t[this.id])},get:function(t,e){return t[e]},set:function(t,e,i){return t[e]=i}},s.factory=function(t){return s.sightglass=t,s.public._=s,s.public},"object"==typeof(null!==t?t.exports:void 0)?t.exports=s.factory(i(206)):(n=[i(206)],void 0===(o=function(t){return this.rivets=s.factory(t)}.apply(e,n))||(t.exports=o))}.call(this)},206:function(t,e){var i;(function(){function n(t,e,i,n){return new o(t,e,i,n)}function o(t,e,i,n){this.options=n||{},this.options.adapters=this.options.adapters||{},this.obj=t,this.keypath=e,this.callback=i,this.objectPath=[],this.update=this.update.bind(this),this.parse(),s(this.target=this.realize())&&this.set(!0,this.key,this.target,this.callback)}function s(t){return"object"==typeof t&&null!==t}function r(t){throw new Error("[sightglass] "+t)}n.adapters={},o.tokenize=function(t,e,i){var n,o,s=[],r={i,path:""};for(n=0;n{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),(()=>{"use strict";var t=i(757),e=i.n(t),n=i(152);function o(t,e,i,n,o,s,r){try{var a=t[s](r),h=a.value}catch(t){return void i(t)}a.done?e(h):Promise.resolve(h).then(n,o)}const s=function(){var t,i=(t=e().mark((function t(i){var o,s;return e().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o={method:"GET",url:"/api/airports/".concat(i,"/lookup")},t.next=3,(0,n.Z)(o);case 3:return s=t.sent,console.log("lookup raw response: ",s),t.abrupt("return",s.data);case 6:case"end":return t.stop()}}),t)})),function(){var e=this,i=arguments;return new Promise((function(n,s){var r=t.apply(e,i);function a(t){o(r,n,s,a,h,"next",t)}function h(t){o(r,n,s,a,h,"throw",t)}a(void 0)}))});return function(t){return i.apply(this,arguments)}}();function r(t,e,i,n,o,s,r){try{var a=t[s](r),h=a.value}catch(t){return void i(t)}a.done?e(h):Promise.resolve(h).then(n,o)}const a=function(){var t,i=(t=e().mark((function t(i,o){var s,r;return e().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return s={method:"GET",url:"/api/airports/".concat(i,"/distance/").concat(o)},t.next=3,(0,n.Z)(s);case 3:return r=t.sent,t.abrupt("return",r.data);case 5:case"end":return t.stop()}}),t)})),function(){var e=this,i=arguments;return new Promise((function(n,o){var s=t.apply(e,i);function a(t){r(s,n,o,a,h,"next",t)}function h(t){r(s,n,o,a,h,"throw",t)}a(void 0)}))});return function(t,e){return i.apply(this,arguments)}}();i(799),window.phpvms.airport_lookup=s,window.phpvms.calculate_distance=a,window.phpvms.map=i(244)})()})(); +(()=>{var t={669:(t,e,i)=>{t.exports=i(609)},448:(t,e,i)=>{"use strict";var n=i(867),o=i(26),s=i(372),r=i(327),a=i(97),h=i(109),u=i(985),l=i(61);t.exports=function(t){return new Promise((function(e,i){var c=t.data,d=t.headers,p=t.responseType;n.isFormData(c)&&delete d["Content-Type"];var f=new XMLHttpRequest;if(t.auth){var _=t.auth.username||"",m=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";d.Authorization="Basic "+btoa(_+":"+m)}var g=a(t.baseURL,t.url);function v(){if(f){var n="getAllResponseHeaders"in f?h(f.getAllResponseHeaders()):null,s={data:p&&"text"!==p&&"json"!==p?f.response:f.responseText,status:f.status,statusText:f.statusText,headers:n,config:t,request:f};o(e,i,s),f=null}}if(f.open(t.method.toUpperCase(),r(g,t.params,t.paramsSerializer),!0),f.timeout=t.timeout,"onloadend"in f?f.onloadend=v:f.onreadystatechange=function(){f&&4===f.readyState&&(0!==f.status||f.responseURL&&0===f.responseURL.indexOf("file:"))&&setTimeout(v)},f.onabort=function(){f&&(i(l("Request aborted",t,"ECONNABORTED",f)),f=null)},f.onerror=function(){i(l("Network Error",t,null,f)),f=null},f.ontimeout=function(){var e="timeout of "+t.timeout+"ms exceeded";t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),i(l(e,t,t.transitional&&t.transitional.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",f)),f=null},n.isStandardBrowserEnv()){var y=(t.withCredentials||u(g))&&t.xsrfCookieName?s.read(t.xsrfCookieName):void 0;y&&(d[t.xsrfHeaderName]=y)}"setRequestHeader"in f&&n.forEach(d,(function(t,e){void 0===c&&"content-type"===e.toLowerCase()?delete d[e]:f.setRequestHeader(e,t)})),n.isUndefined(t.withCredentials)||(f.withCredentials=!!t.withCredentials),p&&"json"!==p&&(f.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&f.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&f.upload&&f.upload.addEventListener("progress",t.onUploadProgress),t.cancelToken&&t.cancelToken.promise.then((function(t){f&&(f.abort(),i(t),f=null)})),c||(c=null),f.send(c)}))}},609:(t,e,i)=>{"use strict";var n=i(867),o=i(849),s=i(321),r=i(185);function a(t){var e=new s(t),i=o(s.prototype.request,e);return n.extend(i,s.prototype,e),n.extend(i,e),i}var h=a(i(655));h.Axios=s,h.create=function(t){return a(r(h.defaults,t))},h.Cancel=i(263),h.CancelToken=i(972),h.isCancel=i(502),h.all=function(t){return Promise.all(t)},h.spread=i(713),h.isAxiosError=i(268),t.exports=h,t.exports.default=h},263:t=>{"use strict";function e(t){this.message=t}e.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},e.prototype.__CANCEL__=!0,t.exports=e},972:(t,e,i)=>{"use strict";var n=i(263);function o(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var i=this;t((function(t){i.reason||(i.reason=new n(t),e(i.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var t;return{token:new o((function(e){t=e})),cancel:t}},t.exports=o},502:t=>{"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},321:(t,e,i)=>{"use strict";var n=i(867),o=i(327),s=i(782),r=i(572),a=i(185),h=i(875),u=h.validators;function l(t){this.defaults=t,this.interceptors={request:new s,response:new s}}l.prototype.request=function(t){"string"==typeof t?(t=arguments[1]||{}).url=arguments[0]:t=t||{},(t=a(this.defaults,t)).method?t.method=t.method.toLowerCase():this.defaults.method?t.method=this.defaults.method.toLowerCase():t.method="get";var e=t.transitional;void 0!==e&&h.assertOptions(e,{silentJSONParsing:u.transitional(u.boolean,"1.0.0"),forcedJSONParsing:u.transitional(u.boolean,"1.0.0"),clarifyTimeoutError:u.transitional(u.boolean,"1.0.0")},!1);var i=[],n=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(n=n&&e.synchronous,i.unshift(e.fulfilled,e.rejected))}));var o,s=[];if(this.interceptors.response.forEach((function(t){s.push(t.fulfilled,t.rejected)})),!n){var l=[r,void 0];for(Array.prototype.unshift.apply(l,i),l=l.concat(s),o=Promise.resolve(t);l.length;)o=o.then(l.shift(),l.shift());return o}for(var c=t;i.length;){var d=i.shift(),p=i.shift();try{c=d(c)}catch(t){p(t);break}}try{o=r(c)}catch(t){return Promise.reject(t)}for(;s.length;)o=o.then(s.shift(),s.shift());return o},l.prototype.getUri=function(t){return t=a(this.defaults,t),o(t.url,t.params,t.paramsSerializer).replace(/^\?/,"")},n.forEach(["delete","get","head","options"],(function(t){l.prototype[t]=function(e,i){return this.request(a(i||{},{method:t,url:e,data:(i||{}).data}))}})),n.forEach(["post","put","patch"],(function(t){l.prototype[t]=function(e,i,n){return this.request(a(n||{},{method:t,url:e,data:i}))}})),t.exports=l},782:(t,e,i)=>{"use strict";var n=i(867);function o(){this.handlers=[]}o.prototype.use=function(t,e,i){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!i&&i.synchronous,runWhen:i?i.runWhen:null}),this.handlers.length-1},o.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},o.prototype.forEach=function(t){n.forEach(this.handlers,(function(e){null!==e&&t(e)}))},t.exports=o},97:(t,e,i)=>{"use strict";var n=i(793),o=i(303);t.exports=function(t,e){return t&&!n(e)?o(t,e):e}},61:(t,e,i)=>{"use strict";var n=i(481);t.exports=function(t,e,i,o,s){var r=new Error(t);return n(r,e,i,o,s)}},572:(t,e,i)=>{"use strict";var n=i(867),o=i(527),s=i(502),r=i(655);function a(t){t.cancelToken&&t.cancelToken.throwIfRequested()}t.exports=function(t){return a(t),t.headers=t.headers||{},t.data=o.call(t,t.data,t.headers,t.transformRequest),t.headers=n.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),n.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete t.headers[e]})),(t.adapter||r.adapter)(t).then((function(e){return a(t),e.data=o.call(t,e.data,e.headers,t.transformResponse),e}),(function(e){return s(e)||(a(t),e&&e.response&&(e.response.data=o.call(t,e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)}))}},481:t=>{"use strict";t.exports=function(t,e,i,n,o){return t.config=e,i&&(t.code=i),t.request=n,t.response=o,t.isAxiosError=!0,t.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},t}},185:(t,e,i)=>{"use strict";var n=i(867);t.exports=function(t,e){e=e||{};var i={},o=["url","method","data"],s=["headers","auth","proxy","params"],r=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],a=["validateStatus"];function h(t,e){return n.isPlainObject(t)&&n.isPlainObject(e)?n.merge(t,e):n.isPlainObject(e)?n.merge({},e):n.isArray(e)?e.slice():e}function u(o){n.isUndefined(e[o])?n.isUndefined(t[o])||(i[o]=h(void 0,t[o])):i[o]=h(t[o],e[o])}n.forEach(o,(function(t){n.isUndefined(e[t])||(i[t]=h(void 0,e[t]))})),n.forEach(s,u),n.forEach(r,(function(o){n.isUndefined(e[o])?n.isUndefined(t[o])||(i[o]=h(void 0,t[o])):i[o]=h(void 0,e[o])})),n.forEach(a,(function(n){n in e?i[n]=h(t[n],e[n]):n in t&&(i[n]=h(void 0,t[n]))}));var l=o.concat(s).concat(r).concat(a),c=Object.keys(t).concat(Object.keys(e)).filter((function(t){return-1===l.indexOf(t)}));return n.forEach(c,u),i}},26:(t,e,i)=>{"use strict";var n=i(61);t.exports=function(t,e,i){var o=i.config.validateStatus;i.status&&o&&!o(i.status)?e(n("Request failed with status code "+i.status,i.config,null,i.request,i)):t(i)}},527:(t,e,i)=>{"use strict";var n=i(867),o=i(655);t.exports=function(t,e,i){var s=this||o;return n.forEach(i,(function(i){t=i.call(s,t,e)})),t}},655:(t,e,i)=>{"use strict";var n=i(155),o=i(867),s=i(16),r=i(481),a={"Content-Type":"application/x-www-form-urlencoded"};function h(t,e){!o.isUndefined(t)&&o.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var u,l={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||void 0!==n&&"[object process]"===Object.prototype.toString.call(n))&&(u=i(448)),u),transformRequest:[function(t,e){return s(e,"Accept"),s(e,"Content-Type"),o.isFormData(t)||o.isArrayBuffer(t)||o.isBuffer(t)||o.isStream(t)||o.isFile(t)||o.isBlob(t)?t:o.isArrayBufferView(t)?t.buffer:o.isURLSearchParams(t)?(h(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):o.isObject(t)||e&&"application/json"===e["Content-Type"]?(h(e,"application/json"),function(t,e,i){if(o.isString(t))try{return(e||JSON.parse)(t),o.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(i||JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){var e=this.transitional,i=e&&e.silentJSONParsing,n=e&&e.forcedJSONParsing,s=!i&&"json"===this.responseType;if(s||n&&o.isString(t)&&t.length)try{return JSON.parse(t)}catch(t){if(s){if("SyntaxError"===t.name)throw r(t,this,"E_JSON_PARSE");throw t}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(t){return t>=200&&t<300}};l.headers={common:{Accept:"application/json, text/plain, */*"}},o.forEach(["delete","get","head"],(function(t){l.headers[t]={}})),o.forEach(["post","put","patch"],(function(t){l.headers[t]=o.merge(a)})),t.exports=l},849:t=>{"use strict";t.exports=function(t,e){return function(){for(var i=new Array(arguments.length),n=0;n{"use strict";var n=i(867);function o(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,e,i){if(!e)return t;var s;if(i)s=i(e);else if(n.isURLSearchParams(e))s=e.toString();else{var r=[];n.forEach(e,(function(t,e){null!=t&&(n.isArray(t)?e+="[]":t=[t],n.forEach(t,(function(t){n.isDate(t)?t=t.toISOString():n.isObject(t)&&(t=JSON.stringify(t)),r.push(o(e)+"="+o(t))})))})),s=r.join("&")}if(s){var a=t.indexOf("#");-1!==a&&(t=t.slice(0,a)),t+=(-1===t.indexOf("?")?"?":"&")+s}return t}},303:t=>{"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},372:(t,e,i)=>{"use strict";var n=i(867);t.exports=n.isStandardBrowserEnv()?{write:function(t,e,i,o,s,r){var a=[];a.push(t+"="+encodeURIComponent(e)),n.isNumber(i)&&a.push("expires="+new Date(i).toGMTString()),n.isString(o)&&a.push("path="+o),n.isString(s)&&a.push("domain="+s),!0===r&&a.push("secure"),document.cookie=a.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},793:t=>{"use strict";t.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)}},268:t=>{"use strict";t.exports=function(t){return"object"==typeof t&&!0===t.isAxiosError}},985:(t,e,i)=>{"use strict";var n=i(867);t.exports=n.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),i=document.createElement("a");function o(t){var n=t;return e&&(i.setAttribute("href",n),n=i.href),i.setAttribute("href",n),{href:i.href,protocol:i.protocol?i.protocol.replace(/:$/,""):"",host:i.host,search:i.search?i.search.replace(/^\?/,""):"",hash:i.hash?i.hash.replace(/^#/,""):"",hostname:i.hostname,port:i.port,pathname:"/"===i.pathname.charAt(0)?i.pathname:"/"+i.pathname}}return t=o(window.location.href),function(e){var i=n.isString(e)?o(e):e;return i.protocol===t.protocol&&i.host===t.host}}():function(){return!0}},16:(t,e,i)=>{"use strict";var n=i(867);t.exports=function(t,e){n.forEach(t,(function(i,n){n!==e&&n.toUpperCase()===e.toUpperCase()&&(t[e]=i,delete t[n])}))}},109:(t,e,i)=>{"use strict";var n=i(867),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,i,s,r={};return t?(n.forEach(t.split("\n"),(function(t){if(s=t.indexOf(":"),e=n.trim(t.substr(0,s)).toLowerCase(),i=n.trim(t.substr(s+1)),e){if(r[e]&&o.indexOf(e)>=0)return;r[e]="set-cookie"===e?(r[e]?r[e]:[]).concat([i]):r[e]?r[e]+", "+i:i}})),r):r}},713:t=>{"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},875:(t,e,i)=>{"use strict";var n=i(593),o={};["object","boolean","number","function","string","symbol"].forEach((function(t,e){o[t]=function(i){return typeof i===t||"a"+(e<1?"n ":" ")+t}}));var s={},r=n.version.split(".");function a(t,e){for(var i=e?e.split("."):r,n=t.split("."),o=0;o<3;o++){if(i[o]>n[o])return!0;if(i[o]0;){var s=n[o],r=e[s];if(r){var a=t[s],h=void 0===a||r(a,s,t);if(!0!==h)throw new TypeError("option "+s+" must be "+h)}else if(!0!==i)throw Error("Unknown option "+s)}},validators:o}},867:(t,e,i)=>{"use strict";var n=i(849),o=Object.prototype.toString;function s(t){return"[object Array]"===o.call(t)}function r(t){return void 0===t}function a(t){return null!==t&&"object"==typeof t}function h(t){if("[object Object]"!==o.call(t))return!1;var e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}function u(t){return"[object Function]"===o.call(t)}function l(t,e){if(null!=t)if("object"!=typeof t&&(t=[t]),s(t))for(var i=0,n=t.length;i{"use strict";function n(t,e){for(var i=0;i{var n=i(551);n.formatters.prepend=function(t,e){return e+t},n.formatters.time_hm=function(t){var e=Math.floor(t/60),i=t%60;return"".concat(e,"h ").concat(i,"m")},n.formatters.gt=function(t,e){return t.length>e},n.formatters.lt=function(t,e){return t.lengthe},n.formatters.fallback=function(t,e){return t||e}},546:(t,e,i)=>{"use strict";i.d(e,{Z:()=>s});var n=document.head.querySelector('meta[name="base-url"]'),o=document.head.querySelector('meta[name="csrf-token"]');const s={api_key:document.head.querySelector('meta[name="api-key"]').content||"",base_url:n.content||"",csrf_token:o.content||""}},201:(t,e,i)=>{"use strict";i.r(e),i.d(e,{render_airspace_map:()=>h,render_base_map:()=>o,render_live_map:()=>gn,render_route_map:()=>bn});var n=i(243);i(978);const o=function(t){var e=Object.assign({render_elem:"map",center:[29.98139,-95.33374],zoom:5,maxZoom:10,layers:[],set_marker:!1,leafletOptions:{}},t),i=Object.assign({center:e.center,zoom:e.zoom,scrollWheelZoom:!1,providers:{}},e.leafletOptions);0===Object.entries(i.providers).length&&(i.providers={"Esri.WorldStreetMap":{}});var o=n.map("map",i);for(var s in i.providers)n.tileLayer.provider(s,i.providers[s]).addTo(o);return o};var s=i(243);function r(t,e){if(""===e.url)return null;e.params=Object.assign({format:"image/png",transparent:!0,maxZoom:14,minZoom:4},e.params);var i=s.tileLayer.wms(e.url,e.params);return i.addTo(t),i}var a=i(243);const h=function(t){var e=Object.assign({render_elem:"map",overlay_elem:"",lat:0,lon:0,zoom:12,layers:[],set_marker:!0,marker_popup:"",metar_wms:{url:"",params:{}}},t),i=o(e),n=[e.lat,e.lon];return console.log("Applying coords",n),i.setView(n,e.zoom),!0===e.set_marker&&a.marker(n).addTo(i).bindPopup(e.marker_popup),""!==e.metar_wms.url&&r(i,e.metar_wms),i};var u="#067ec1",l=i(152);function c(t){var e,i,n,o;for(i=1,n=arguments.length;i0?Math.floor(t):Math.ceil(t)};function H(t,e,i){return t instanceof D?t:S(t)?new D(t[0],t[1]):null==t?t:"object"==typeof t&&"x"in t&&"y"in t?new D(t.x,t.y):new D(t,e,i)}function W(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=U(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>=e.x&&n.x<=i.x,r=o.y>=e.y&&n.y<=i.y;return s&&r},overlaps:function(t){t=U(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>e.x&&n.xe.y&&n.y=n.lat&&i.lat<=o.lat&&e.lng>=n.lng&&i.lng<=o.lng},intersects:function(t){t=V(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=e.lat&&n.lat<=i.lat,r=o.lng>=e.lng&&n.lng<=i.lng;return s&&r},overlaps:function(t){t=V(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>e.lat&&n.late.lng&&n.lng1,Rt=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",v,e),window.removeEventListener("testPassiveEventSupport",v,e)}catch(t){}return t}(),jt=!!document.createElement("canvas").getContext,Dt=!(!document.createElementNS||!st("svg").createSVGRect),Ft=!!Dt&&((at=document.createElement("div")).innerHTML="","http://www.w3.org/2000/svg"===(at.firstChild&&at.firstChild.namespaceURI)),Ht=!Dt&&function(){try{var t=document.createElement("div");t.innerHTML='';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}();function Wt(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var Ut={ie:ut,ielt9:lt,edge:ct,webkit:dt,android:pt,android23:ft,androidStock:mt,opera:gt,chrome:vt,gecko:yt,safari:bt,phantom:wt,opera12:xt,win:Lt,ie3d:Pt,webkit3d:Tt,gecko3d:Mt,any3d:St,mobile:zt,mobileWebkit:Et,mobileWebkit3d:kt,msPointer:Ct,pointer:Ot,touch:At,touchNative:Zt,mobileOpera:Bt,mobileGecko:It,retina:Nt,passiveEvents:Rt,canvas:jt,svg:Dt,vml:Ht,inlineSvg:Ft},Gt=Ut.msPointer?"MSPointerDown":"pointerdown",Vt=Ut.msPointer?"MSPointerMove":"pointermove",qt=Ut.msPointer?"MSPointerUp":"pointerup",Kt=Ut.msPointer?"MSPointerCancel":"pointercancel",Yt={touchstart:Gt,touchmove:Vt,touchend:qt,touchcancel:Kt},Jt={touchstart:function(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&Ve(e);ne(t,e)},touchmove:ne,touchend:ne,touchcancel:ne},Xt={},$t=!1;function Qt(t,e,i){return"touchstart"===e&&($t||(document.addEventListener(Gt,te,!0),document.addEventListener(Vt,ee,!0),document.addEventListener(qt,ie,!0),document.addEventListener(Kt,ie,!0),$t=!0)),Jt[e]?(i=Jt[e].bind(this,i),t.addEventListener(Yt[e],i,!1),i):(console.warn("wrong event specified:",e),L.Util.falseFn)}function te(t){Xt[t.pointerId]=t}function ee(t){Xt[t.pointerId]&&(Xt[t.pointerId]=t)}function ie(t){delete Xt[t.pointerId]}function ne(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in e.touches=[],Xt)e.touches.push(Xt[i]);e.changedTouches=[e],t(e)}}var oe,se,re,ae,he,ue=Te(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),le=Te(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),ce="webkitTransition"===le||"OTransition"===le?le+"End":"transitionend";function de(t){return"string"==typeof t?document.getElementById(t):t}function pe(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!i||"auto"===i)&&document.defaultView){var n=document.defaultView.getComputedStyle(t,null);i=n?n[e]:null}return"auto"===i?null:i}function fe(t,e,i){var n=document.createElement(t);return n.className=e||"",i&&i.appendChild(n),n}function _e(t){var e=t.parentNode;e&&e.removeChild(t)}function me(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function ge(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function ve(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function ye(t,e){if(void 0!==t.classList)return t.classList.contains(e);var i=Le(t);return i.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(i)}function be(t,e){if(void 0!==t.classList)for(var i=w(e),n=0,o=i.length;nthis.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),n=this._limitCenter(i,this._zoom,V(t));return i.equals(n)||this.panTo(n,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=H((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=H(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),s=this.project(t),r=this.getPixelBounds(),a=U([r.min.add(i),r.max.subtract(n)]),h=a.getSize();if(!a.contains(s)){this._enforcingBounds=!0;var u=s.subtract(a.getCenter()),l=a.extend(s).getSize().subtract(h);o.x+=u.x<0?-l.x:l.x,o.y+=u.y<0?-l.y:l.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=c({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var i=this.getSize(),n=e.divideBy(2).round(),o=i.divideBy(2).round(),s=n.subtract(o);return s.x||s.y?(t.animate&&t.pan?this.panBy(s):(t.pan&&this._rawPanBy(s),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(p(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=c({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=p(this._handleGeolocationResponse,this),i=p(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){if(this._container._leaflet_id){var e=t.code,i=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})}},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e=new q(t.coords.latitude,t.coords.longitude),i=e.toBounds(2*t.coords.accuracy),n=this._locateOptions;if(n.setView){var o=this.getBoundsZoom(i);this.setView(e,n.maxZoom?Math.min(o,n.maxZoom):o)}var s={latlng:e,bounds:i,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(s[r]=t.coords[r]);this.fire("locationfound",s)}},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}var t;for(t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),_e(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(I(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)_e(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var i=fe("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=i),i},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new G(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=V(t),i=H(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),h=this.getSize().subtract(i),u=U(this.project(a,n),this.project(r,n)).getSize(),l=Ut.any3d?this.options.zoomSnap:1,c=h.x/u.x,d=h.y/u.y,p=e?Math.max(c,d):Math.min(c,d);return n=this.getScaleZoom(p,n),l&&(n=Math.round(n/(l/100))*(l/100),n=e?Math.ceil(n/l)*l:Math.floor(n/l)*l),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new D(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var i=this._getTopLeftPoint(t,e);return new W(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs;e=void 0===e?this._zoom:e;var n=i.zoom(t*i.scale(e));return isNaN(n)?1/0:n},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(K(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(H(t),e)},layerPointToLatLng:function(t){var e=H(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){return this.project(K(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(K(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(V(t))},distance:function(t,e){return this.options.crs.distance(K(t),K(e))},containerPointToLayerPoint:function(t){return H(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return H(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(H(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(K(t)))},mouseEventToContainerPoint:function(t){return Ke(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=de(t);if(!e)throw new Error("Map container not found.");if(e._leaflet_id)throw new Error("Map container is already initialized.");Ie(e,"scroll",this._onScroll,this),this._containerId=_(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&Ut.any3d,be(t,"leaflet-container"+(Ut.touch?" leaflet-touch":"")+(Ut.retina?" leaflet-retina":"")+(Ut.ielt9?" leaflet-oldie":"")+(Ut.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=pe(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Se(this._mapPane,new D(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(be(t.markerPane,"leaflet-zoom-hide"),be(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e){Se(this._mapPane,new D(0,0));var i=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var n=this._zoom!==e;this._moveStart(n,!1)._move(t,e)._moveEnd(n),this.fire("viewreset"),i&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){void 0===e&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return I(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){Se(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[_(this._container)]=this;var e=t?Re:Ie;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),Ut.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){I(this._resizeRequest),this._resizeRequest=B((function(){this.invalidateSize({debounceMoveend:!0})}),this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],o="mouseout"===e||"mouseover"===e,s=t.target||t.srcElement,r=!1;s;){if((i=this._targets[_(s)])&&("click"===e||"preclick"===e)&&this._draggableMoved(i)){r=!0;break}if(i&&i.listens(e,!0)){if(o&&!Xe(s,t))break;if(n.push(i),o)break}if(s===this._container)break;s=s.parentNode}return n.length||r||o||!this.listens(e,!0)||(n=[this]),n},_isClickDisabled:function(t){for(;t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e=t.target||t.srcElement;if(!(!this._loaded||e._leaflet_disable_events||"click"===t.type&&this._isClickDisabled(e))){var i=t.type;"mousedown"===i&&Oe(e),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){if("click"===t.type){var n=c({},t);n.type="preclick",this._fireDOMEvent(n,n.type,i)}var o=this._findEventTargets(t,e);if(i){for(var s=[],r=0;r0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=Ut.any3d?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){we(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(i))&&(this.panBy(i,e),!0)},_createAnimProxy:function(){var t=this._proxy=fe("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",(function(t){var e=ue,i=this._proxy.style[e];Me(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),i===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()}),this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){_e(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();Me(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),o=this._getCenterOffset(t)._divideBy(1-1/n);return!(!0!==i.animate&&!this.getSize().contains(o))&&(B((function(){this._moveStart(!0,!1)._animateZoom(t,e,!0)}),this),!0)},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,be(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(p(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&we(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});var ti=N.extend({options:{position:"topright"},initialize:function(t){x(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),n=t._controlCorners[i];return be(e,"leaflet-control"),-1!==i.indexOf("bottom")?n.insertBefore(e,n.firstChild):n.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(_e(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),ei=function(t){return new ti(t)};Qe.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",i=this._controlContainer=fe("div",e+"control-container",this._container);function n(n,o){var s=e+n+" "+e+o;t[n+o]=fe("div",s,i)}n("top","left"),n("top","right"),n("bottom","left"),n("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)_e(this._controlCorners[t]);_e(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var ii=ti.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(_(t.target)),i=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;i&&this._map.fire(i,e)},_createRadioElement:function(t,e){var i='",n=document.createElement("div");return n.innerHTML=i,n.firstChild},_addItem:function(t){var e,i=document.createElement("label"),n=this._map.hasLayer(t.layer);t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=n):e=this._createRadioElement("leaflet-base-layers_"+_(this),n),this._layerControlInputs.push(e),e.layerId=_(t.layer),Ie(e,"click",this._onInputClick,this);var o=document.createElement("span");o.innerHTML=" "+t.name;var s=document.createElement("span");return i.appendChild(s),s.appendChild(e),s.appendChild(o),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){var t,e,i=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=i.length-1;s>=0;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?n.push(e):t.checked||o.push(e);for(s=0;s=0;o--)t=i[o],e=this._getLayer(t.layerId).layer,t.disabled=void 0!==e.options.minZoom&&ne.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this}}),ni=ti.extend({options:{position:"topleft",zoomInText:'',zoomInTitle:"Zoom in",zoomOutText:'',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=fe("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){var s=fe("a",i,n);return s.innerHTML=t,s.href="#",s.title=e,s.setAttribute("role","button"),s.setAttribute("aria-label",e),Ge(s),Ie(s,"click",qe),Ie(s,"click",o,this),Ie(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";we(this._zoomInButton,e),we(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||t._zoom===t.getMinZoom())&&(be(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||t._zoom===t.getMaxZoom())&&(be(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}});Qe.mergeOptions({zoomControl:!0}),Qe.addInitHook((function(){this.options.zoomControl&&(this.zoomControl=new ni,this.addControl(this.zoomControl))}));var oi=ti.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=fe("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=fe("div",e,i)),t.imperial&&(this._iScale=fe("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,i=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(i)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t),i=e<1e3?e+" m":e/1e3+" km";this._updateScale(this._mScale,i,e/t)},_updateImperial:function(t){var e,i,n,o=3.2808399*t;o>5280?(e=o/5280,i=this._getRoundNum(e),this._updateScale(this._iScale,i+" mi",i/e)):(n=this._getRoundNum(o),this._updateScale(this._iScale,n+" ft",n/o))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return e*(i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:1)}}),si=ti.extend({options:{position:"bottomright",prefix:''+(Ut.inlineSvg?' ':"")+"Leaflet"},initialize:function(t){x(this,t),this._attributions={}},onAdd:function(t){for(var e in t.attributionControl=this,this._container=fe("div","leaflet-control-attribution"),Ge(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",(function(){this.removeAttribution(t.layer.getAttribution())}),this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(' ')}}});Qe.mergeOptions({attributionControl:!0}),Qe.addInitHook((function(){this.options.attributionControl&&(new si).addTo(this)}));ti.Layers=ii,ti.Zoom=ni,ti.Scale=oi,ti.Attribution=si,ei.layers=function(t,e,i){return new ii(t,e,i)},ei.zoom=function(t){return new ni(t)},ei.scale=function(t){return new oi(t)},ei.attribution=function(t){return new si(t)};var ri=N.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});ri.addTo=function(t,e){return t.addHandler(e,this),this};var ai,hi=Ut.touch?"touchstart mousedown":"mousedown",ui=j.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){x(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(Ie(this._dragStartTarget,hi,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ui._dragging===this&&this.finishDrag(!0),Re(this._dragStartTarget,hi,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(this._enabled&&(this._moved=!1,!ye(this._element,"leaflet-zoom-anim")))if(t.touches&&1!==t.touches.length)ui._dragging===this&&this.finishDrag();else if(!(ui._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(ui._dragging=this,this._preventOutline&&Oe(this._element),ke(),oe(),this._moving))){this.fire("down");var e=t.touches?t.touches[0]:t,i=Ae(this._element);this._startPoint=new D(e.clientX,e.clientY),this._startPos=ze(this._element),this._parentScale=Be(i);var n="mousedown"===t.type;Ie(document,n?"mousemove":"touchmove",this._onMove,this),Ie(document,n?"mouseup":"touchend touchcancel",this._onUp,this)}},_onMove:function(t){if(this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var e=t.touches&&1===t.touches.length?t.touches[0]:t,i=new D(e.clientX,e.clientY)._subtract(this._startPoint);(i.x||i.y)&&(Math.abs(i.x)+Math.abs(i.y)e&&(i.push(t[n]),o=n);oh&&(s=r,h=a);h>i&&(e[s]=1,di(t,e,i,n,s),di(t,e,i,s,o))}function pi(t,e,i,n,o){var s,r,a,h=n?ai:_i(t,i),u=_i(e,i);for(ai=u;;){if(!(h|u))return[t,e];if(h&u)return!1;a=_i(r=fi(t,e,s=h||u,i,o),i),s===h?(t=r,h=a):(e=r,u=a)}}function fi(t,e,i,n,o){var s,r,a=e.x-t.x,h=e.y-t.y,u=n.min,l=n.max;return 8&i?(s=t.x+a*(l.y-t.y)/h,r=l.y):4&i?(s=t.x+a*(u.y-t.y)/h,r=u.y):2&i?(s=l.x,r=t.y+h*(l.x-t.x)/a):1&i&&(s=u.x,r=t.y+h*(u.x-t.x)/a),new D(s,r,o)}function _i(t,e){var i=0;return t.xe.max.x&&(i|=2),t.ye.max.y&&(i|=8),i}function mi(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n}function gi(t,e,i,n){var o,s=e.x,r=e.y,a=i.x-s,h=i.y-r,u=a*a+h*h;return u>0&&((o=((t.x-s)*a+(t.y-r)*h)/u)>1?(s=i.x,r=i.y):o>0&&(s+=a*o,r+=h*o)),a=t.x-s,h=t.y-r,n?a*a+h*h:new D(s,r)}function vi(t){return!S(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function yi(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),vi(t)}function bi(t,e,i){var n,o,s,r,a,h,u,l,c,d=[1,4,2,8];for(o=0,u=t.length;o1e-7;h++)e=s*Math.sin(a),e=Math.pow((1-e)/(1+e),s/2),a+=u=Math.PI/2-2*Math.atan(r*e)-a;return new q(a*i,t.x*i/n)}},Li=c({},X,{code:"EPSG:3395",projection:xi,transformation:function(){var t=.5/(Math.PI*xi.R);return it(t,.5,-t,.5)}()}),Pi=c({},X,{code:"EPSG:4326",projection:wi,transformation:it(1/180,1,-1/180,.5)}),Ti=c({},J,{projection:wi,transformation:it(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,n=e.lat-t.lat;return Math.sqrt(i*i+n*n)},infinite:!0});J.Earth=X,J.EPSG3395=Li,J.EPSG3857=nt,J.EPSG900913=ot,J.EPSG4326=Pi,J.Simple=Ti;var Mi=j.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[_(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[_(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var i=this.getEvents();e.on(i,this),this.once("remove",(function(){e.off(i,this)}),this)}this.onAdd(e),this.fire("add"),e.fire("layeradd",{layer:this})}}});Qe.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=_(t);return this._layers[e]||(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t)),this},removeLayer:function(t){var e=_(t);return this._layers[e]?(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return _(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){for(var e=0,i=(t=t?S(t)?t:[t]:[]).length;ethis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()e)return r=(n-e)/i,this._map.layerPointToLatLng([s.x-r*(s.x-o.x),s.y-r*(s.y-o.y)])},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=K(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new G,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return vi(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],i=vi(t),n=0,o=t.length;n=2&&e[0]instanceof q&&e[0].equals(e[i-1])&&e.pop(),e},_setLatLngs:function(t){Ii.prototype._setLatLngs.call(this,t),vi(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return vi(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,i=new D(e,e);if(t=new W(t.min.subtract(i),t.max.add(i)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var n,o=0,s=this._rings.length;ot.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(u=!u);return u||Ii.prototype._containsPoint.call(this,t,!0)}});var Ri=zi.extend({initialize:function(t,e){x(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,o=S(t)?t:t.features;if(o){for(e=0,i=o.length;e0?n:[e.src]}else{S(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted,e.playsInline=!!this.options.playsInline;for(var s=0;so?(e.height=o+"px",be(t,s)):we(t,s),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),i=this._getAnchor();Se(this._container,e.add(i))},_adjustPan:function(t){if(this.options.autoPan){this._map._panAnim&&this._map._panAnim.stop();var e=this._map,i=parseInt(pe(this._container,"marginBottom"),10)||0,n=this._container.offsetHeight+i,o=this._containerWidth,s=new D(this._containerLeft,-n-this._containerBottom);s._add(ze(this._container));var r=e.layerPointToContainerPoint(s),a=H(this.options.autoPanPadding),h=H(this.options.autoPanPaddingTopLeft||a),u=H(this.options.autoPanPaddingBottomRight||a),l=e.getSize(),c=0,d=0;r.x+o+u.x>l.x&&(c=r.x+o-l.x+u.x),r.x-c-h.x<0&&(c=r.x-h.x),r.y+n+u.y>l.y&&(d=r.y+n-l.y+u.y),r.y-d-h.y<0&&(d=r.y-h.y),(c||d)&&e.fire("autopanstart").panBy([c,d],{animate:t&&"moveend"===t.type})}},_getAnchor:function(){return H(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});Qe.mergeOptions({closePopupOnClick:!0}),Qe.include({openPopup:function(t,e,i){return this._initOverlay(Ji,t,e,i).openOn(this),this},closePopup:function(t){return(t=arguments.length?t:this._popup)&&t.close(),this}}),Mi.include({bindPopup:function(t,e){return this._popup=this._initOverlay(Ji,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&this._popup._prepareOpen(t)&&this._popup.openOn(this._map),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){if(this._popup&&this._map){qe(t);var e=t.layer||t.target;this._popup._source!==e||e instanceof Zi?(this._popup._source=e,this.openPopup(t.latlng)):this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng)}},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var Xi=Yi.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){Yi.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){Yi.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=Yi.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=fe("div",t)},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i,n=this._map,o=this._container,s=n.latLngToContainerPoint(n.getCenter()),r=n.layerPointToContainerPoint(t),a=this.options.direction,h=o.offsetWidth,u=o.offsetHeight,l=H(this.options.offset),c=this._getAnchor();"top"===a?(e=h/2,i=u):"bottom"===a?(e=h/2,i=0):"center"===a?(e=h/2,i=u/2):"right"===a?(e=0,i=u/2):"left"===a?(e=h,i=u/2):r.xthis.options.maxZoom||in&&this._retainParent(o,s,r,n))},_retainChildren:function(t,e,i,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*e;s<2*e+2;s++){var r=new D(o,s);r.z=i+1;var a=this._tileCoordsToKey(r),h=this._tiles[a];h&&h.active?h.retain=!0:(h&&h.loaded&&(h.retain=!0),i+1this.options.maxZoom||void 0!==this.options.minZoom&&o1)this._setView(t,i);else{for(var c=o.min.y;c<=o.max.y;c++)for(var d=o.min.x;d<=o.max.x;d++){var p=new D(d,c);if(p.z=this._tileZoom,this._isValidTile(p)){var f=this._tiles[this._tileCoordsToKey(p)];f?f.current=!0:r.push(p)}}if(r.sort((function(t,e){return t.distanceTo(s)-e.distanceTo(s)})),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var _=document.createDocumentFragment();for(d=0;di.max.x)||!e.wrapLat&&(t.yi.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return V(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),o=n.add(i);return[e.unproject(n,t.z),e.unproject(o,t.z)]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),i=new G(e[0],e[1]);return this.options.noWrap||(i=this._map.wrapLatLngBounds(i)),i},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),i=new D(+e[0],+e[1]);return i.z=+e[2],i},_removeTile:function(t){var e=this._tiles[t];e&&(_e(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){be(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=v,t.onmousemove=v,Ut.ielt9&&this.options.opacity<1&&Pe(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),p(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&B(p(this._tileReady,this,t,null,o)),Se(o,i),this._tiles[n]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(Pe(i.el,0),I(this._fadeFrame),this._fadeFrame=B(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(be(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),Ut.ielt9||!this._map._fadeAnimated?B(this._pruneTiles,this):setTimeout(p(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new D(this._wrapX?g(t.x,this._wrapX):t.x,this._wrapY?g(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new W(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var Qi=$i.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=x(this,e)).detectRetina&&Ut.retina&&e.maxZoom>0&&(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom++):(e.zoomOffset++,e.maxZoom--),e.minZoom=Math.max(0,e.minZoom)),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return Ie(i,"load",p(this._tileOnLoad,this,e,i)),Ie(i,"error",p(this._tileOnError,this,e,i)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),"string"==typeof this.options.referrerPolicy&&(i.referrerPolicy=this.options.referrerPolicy),i.alt="",i.setAttribute("role","presentation"),i.src=this.getTileUrl(t),i},getTileUrl:function(t){var e={r:Ut.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var i=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=i),e["-y"]=i}return M(this._url,c(e,this.options))},_tileOnLoad:function(t,e){Ut.ielt9?setTimeout(p(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&&e.getAttribute("src")!==n&&(e.src=n),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom;return this.options.zoomReverse&&(t=e-t),t+this.options.zoomOffset},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)if(this._tiles[t].coords.z!==this._tileZoom&&((e=this._tiles[t].el).onload=v,e.onerror=v,!e.complete)){e.src=E;var i=this._tiles[t].coords;_e(e),delete this._tiles[t],this.fire("tileabort",{tile:e,coords:i})}},_removeTile:function(t){var e=this._tiles[t];if(e)return e.el.setAttribute("src",E),$i.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(this._map&&(!i||i.getAttribute("src")!==E))return $i.prototype._tileReady.call(this,t,e,i)}});var tn=Qi.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i=c({},this.defaultWmsParams);for(var n in e)n in this.options||(i[n]=e[n]);var o=(e=x(this,e)).detectRetina&&Ut.retina?2:1,s=this.getTileSize();i.width=s.x*o,i.height=s.y*o,this.wmsParams=i},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[e]=this._crs.code,Qi.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,n=U(i.project(e[0]),i.project(e[1])),o=n.min,s=n.max,r=(this._wmsVersion>=1.3&&this._crs===Pi?[o.y,o.x,s.y,s.x]:[o.x,o.y,s.x,s.y]).join(","),a=Qi.prototype.getTileUrl.call(this,t);return a+P(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,e){return c(this.wmsParams,t),e||this.redraw(),this}});Qi.WMS=tn;var en=Mi.extend({options:{padding:.1},initialize:function(t){x(this,t),_(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&be(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),s=n.multiplyBy(-i).add(o).subtract(this._map._getNewPixelOrigin(t,e));Ut.any3d?Me(this._container,s,i):Se(this._container,s)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new W(i,i.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),nn=en.extend({options:{tolerance:0},getEvents:function(){var t=en.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){en.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");Ie(t,"mousemove",this._onMouseMove,this),Ie(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Ie(t,"mouseout",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext("2d")},_destroyContainer:function(){I(this._redrawRequest),delete this._ctx,_e(this._container),Re(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){en.prototype._update.call(this);var t=this._bounds,e=this._container,i=t.getSize(),n=Ut.retina?2:1;Se(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",Ut.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){en.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[_(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,n=e.prev;i?i.prev=n:this._drawLast=n,n?n.next=i:this._drawFirst=i,delete t._order,delete this._layers[_(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){var e,i,n=t.options.dashArray.split(/[, ]+/),o=[];for(i=0;i')}}catch(t){}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),sn={_initContainer:function(){this._container=fe("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(en.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=on("shape");be(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=on("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[_(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;_e(e),t.removeInteractiveTarget(e),delete this._layers[_(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e||(e=t._stroke=on("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=S(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i||(i=t._fill=on("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){ge(t._container)},_bringToBack:function(t){ve(t._container)}},rn=Ut.vml?on:st,an=en.extend({_initContainer:function(){this._container=rn("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=rn("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){_e(this._container),Re(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!this._map._animatingZoom||!this._bounds){en.prototype._update.call(this);var t=this._bounds,e=t.getSize(),i=this._container;this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),Se(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=rn("path");t.options.className&&be(e,t.options.className),t.options.interactive&&be(e,"leaflet-interactive"),this._updateStyle(t),this._layers[_(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){_e(t._path),t.removeInteractiveTarget(t._path),delete this._layers[_(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,i=t.options;e&&(i.stroke?(e.setAttribute("stroke",i.color),e.setAttribute("stroke-opacity",i.opacity),e.setAttribute("stroke-width",i.weight),e.setAttribute("stroke-linecap",i.lineCap),e.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?e.setAttribute("stroke-dasharray",i.dashArray):e.removeAttribute("stroke-dasharray"),i.dashOffset?e.setAttribute("stroke-dashoffset",i.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),i.fill?(e.setAttribute("fill",i.fillColor||i.color),e.setAttribute("fill-opacity",i.fillOpacity),e.setAttribute("fill-rule",i.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,rt(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",o=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+n+2*i+",0 "+n+2*-i+",0 ";this._setPath(t,o)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){ge(t._path)},_bringToBack:function(t){ve(t._path)}});Ut.vml&&an.include(sn),Qe.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var e=this._paneRenderers[t];return void 0===e&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&function(t){return Ut.canvas?new nn(t):null}(t)||function(t){return Ut.svg||Ut.vml?new an(t):null}(t)}});Ni.extend({initialize:function(t,e){Ni.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=V(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});an.create=rn,an.pointsToPath=rt,Ri.geometryToLayer=ji,Ri.coordsToLatLng=Fi,Ri.coordsToLatLngs=Hi,Ri.latLngToCoords=Wi,Ri.latLngsToCoords=Ui,Ri.getFeature=Gi,Ri.asFeature=Vi,Qe.mergeOptions({boxZoom:!0});var hn=ri.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){Ie(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Re(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){_e(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),oe(),ke(),this._startPoint=this._map.mouseEventToContainerPoint(t),Ie(document,{contextmenu:qe,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=fe("div","leaflet-zoom-box",this._container),be(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new W(this._point,this._startPoint),i=e.getSize();Se(this._box,e.min),this._box.style.width=i.x+"px",this._box.style.height=i.y+"px"},_finish:function(){this._moved&&(_e(this._box),we(this._container,"leaflet-crosshair")),se(),Ce(),Re(document,{contextmenu:qe,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(p(this._resetState,this),0);var e=new G(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});Qe.addInitHook("addHandler","boxZoom",hn),Qe.mergeOptions({doubleClickZoom:!0});var un=ri.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,o=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(o):e.setZoomAround(t.containerPoint,o)}});Qe.addInitHook("addHandler","doubleClickZoom",un),Qe.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var ln=ri.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new ui(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}be(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){we(this._map._container,"leaflet-grab"),we(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=V(this._map.options.maxBounds);this._offsetLimit=U(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.xe.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,s=(n+e+i)%t-e-i,r=Math.abs(o+i)0?s:-s))-e;this._delta=0,this._startTime=null,r&&("center"===t.options.scrollWheelZoom?t.setZoom(e+r):t.setZoomAround(this._lastMousePos,e+r))}});Qe.addInitHook("addHandler","scrollWheelZoom",dn);Qe.mergeOptions({tapHold:Ut.touchNative&&Ut.safari&&Ut.mobile,tapTolerance:15});var pn=ri.extend({addHooks:function(){Ie(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Re(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(clearTimeout(this._holdTimeout),1===t.touches.length){var e=t.touches[0];this._startPos=this._newPos=new D(e.clientX,e.clientY),this._holdTimeout=setTimeout(p((function(){this._cancel(),this._isTapValid()&&(Ie(document,"touchend",Ve),Ie(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",e))}),this),600),Ie(document,"touchend touchcancel contextmenu",this._cancel,this),Ie(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function t(){Re(document,"touchend",Ve),Re(document,"touchend touchcancel",t)},_cancel:function(){clearTimeout(this._holdTimeout),Re(document,"touchend touchcancel contextmenu",this._cancel,this),Re(document,"touchmove",this._onMove,this)},_onMove:function(t){var e=t.touches[0];this._newPos=new D(e.clientX,e.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,e){var i=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});i._simulated=!0,e.target.dispatchEvent(i)}});Qe.addInitHook("addHandler","tapHold",pn),Qe.mergeOptions({touchZoom:Ut.touch,bounceAtZoomLimits:!0});var fn=ri.extend({addHooks:function(){be(this._map._container,"leaflet-touch-zoom"),Ie(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){we(this._map._container,"leaflet-touch-zoom"),Re(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&!e._animatingZoom&&!this._zooming){var i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),"center"!==e.options.touchZoom&&(this._pinchStartLatLng=e.containerPointToLatLng(i.add(n)._divideBy(2))),this._startDist=i.distanceTo(n),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),Ie(document,"touchmove",this._onTouchMove,this),Ie(document,"touchend touchcancel",this._onTouchEnd,this),Ve(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),o=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(o,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoome.getMaxZoom()&&o>1)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1===o)return}else{var s=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(1===o&&0===s.x&&0===s.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(s),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),I(this._animRequest);var r=p(e._move,e,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=B(r,this,!0),Ve(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,I(this._animRequest),Re(document,"touchmove",this._onTouchMove,this),Re(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});Qe.addInitHook("addHandler","touchZoom",fn),Qe.BoxZoom=hn,Qe.DoubleClickZoom=un,Qe.Drag=ln,Qe.Keyboard=cn,Qe.ScrollWheelZoom=dn,Qe.TapHold=pn,Qe.TouchZoom=fn;var _n=i(243),mn=i(551);const gn=function(t){var e=Object.assign({center:[29.98139,-95.33374],refresh_interval:10,zoom:5,acars_uri:"/api/acars",update_uri:"/api/acars/geojson",pirep_uri:"/api/pireps/{id}",pirep_link_uri:"/pireps/{id}",positions:null,render_elem:"map",aircraft_icon:"/assets/img/acars/aircraft.png",flown_route_color:u,units:"nmi"},t),i=o(e),n=_n.icon({iconUrl:e.aircraft_icon,iconSize:[42,42],iconAnchor:[21,21]}),s=new q(e.center[0],e.center[1]),r={},a=!1,h=null,c=null,d=null,p=null,f={pirep:{},pireps:[],has_data:!1,controller:{focusMarker:null}};function _(t,n,o){null!==c&&i.removeLayer(c),(c=new L.Geodesic([],{weight:5,opacity:.9,color:e.flown_route_color,wrap:!1}).addTo(i)).fromGeoJson(o.line),d=t,p=n,a||(i.panTo({lat:o.position.lat,lng:o.position.lon}),a=!0)}function m(t,i){var n=e.pirep_uri.replace("{id}",t.properties.pirep_id),o="".concat(e.pirep_uri.replace("{id}",t.properties.pirep_id),"/acars/geojson");(0,l.Z)(n).then((function(t){var e=t.data.data;console.log(e),f.pirep=e})),(0,l.Z)(o).then((function(e){var n=e.data.data;console.log(n),_(t,i,n)}))}mn.bind($("#map-info-box"),f),mn.bind($("#live_flights"),f),f.controller.drawRoute=_,f.controller.focusMarker=function(t,e){if(e.pirep.id in r){var i=r[e.pirep.id];m(i[0],i[1])}else console.log("marker not found in list")},f.controller.onFlightClick=m;var g=function(){(0,l.Z)(e.acars_uri).then((function(t){var e=t.data.data;f.pireps=e,f.has_data=e.length>0})),(0,l.Z)({url:e.update_uri}).then((function(t){var e=t.data.data;if(null!==h&&h.clearLayers(),(h=_n.geoJSON(e,{onEachFeature:function(t,e){e.on({click:function(i){a=!1,f.controller.onFlightClick(t,e)}});var i="";t.properties&&""!==t.properties.popup&&void 0!==t.properties.popup&&(i+=t.properties.popup,e.bindPopup(i)),r[t.properties.pirep_id]=[t,e]},pointToLayer:function(t,e){return _n.marker(e,{icon:n,rotationAngle:t.properties.heading})}})).addTo(i),null!==c)f.controller.onFlightClick(d,p);else if(!a)try{i.panTo(h.getBounds().getCenter())}catch(t){i.panTo(s)}}))};g(),setInterval(g,1e3*e.refresh_interval)};var vn=i(243),yn=function(t,e){var i="";t.properties&&t.properties.popup&&(i+=t.properties.popup),e.bindPopup(i)};const bn=function(t){var e=Object.assign({route_points:null,planned_route_line:null,actual_route_points:null,actual_route_line:null,render_elem:"map",live_map:!1,aircraft_icon:"/assets/img/acars/aircraft.png",refresh_interval:10,flown_route_color:u,circle_color:"#056093",flightplan_route_color:"#8B008B",metar_wms:{url:"",params:{}}},t),i=function(t,i){return vn.circleMarker(i,{radius:5,fillColor:e.circle_color,color:"#000",weight:1,opacity:1,fillOpacity:.8})},n=(vn.icon({iconUrl:e.aircraft_icon,iconSize:[42,42],iconAnchor:[21,21]}),o(e));""!==e.metar_wms.url&&r(n,e.metar_wms);var s=new L.Geodesic([],{weight:4,opacity:.9,color:e.flightplan_route_color,steps:50,wrap:!1}).addTo(n);s.fromGeoJson(e.planned_route_line);try{n.fitBounds(s.getBounds())}catch(t){console.log(t)}null!==e.route_points&&vn.geoJSON(e.route_points,{onEachFeature:yn,pointToLayer:i,style:{color:e.flightplan_route_color,weight:3,opacity:.65}}).addTo(n);if(null!==e.actual_route_line&&e.actual_route_line.features.length>0){var a=new L.Geodesic([],{weight:3,opacity:.9,color:e.flown_route_color,steps:50,wrap:!1}).addTo(n);a.fromGeoJson(e.actual_route_line);try{n.fitBounds(a.getBounds())}catch(t){console.log(t)}}null!==e.actual_route_points&&e.actual_route_points.features.length>0&&vn.geoJSON(e.actual_route_points,{onEachFeature:yn,pointToLayer:i,style:{color:e.flown_route_color,weight:3,opacity:.65}}).addTo(n)};i(154),i(818),window.L=i(243)},152:(t,e,i)=>{"use strict";i.d(e,{Z:()=>h});var n=i(546);function o(t){return o="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},o(t)}function s(){s=function(){return t};var t={},e=Object.prototype,i=e.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.asyncIterator||"@@asyncIterator",h=n.toStringTag||"@@toStringTag";function u(t,e,i){return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,i){return t[e]=i}}function l(t,e,i,n){var o=e&&e.prototype instanceof p?e:p,s=Object.create(o.prototype),r=new T(n||[]);return s._invoke=function(t,e,i){var n="suspendedStart";return function(o,s){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw s;return S()}for(i.method=o,i.arg=s;;){var r=i.delegate;if(r){var a=x(r,i);if(a){if(a===d)continue;return a}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if("suspendedStart"===n)throw n="completed",i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);n="executing";var h=c(t,e,i);if("normal"===h.type){if(n=i.done?"completed":"suspendedYield",h.arg===d)continue;return{value:h.arg,done:i.done}}"throw"===h.type&&(n="completed",i.method="throw",i.arg=h.arg)}}}(t,i,r),s}function c(t,e,i){try{return{type:"normal",arg:t.call(e,i)}}catch(t){return{type:"throw",arg:t}}}t.wrap=l;var d={};function p(){}function f(){}function _(){}var m={};u(m,r,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(M([])));v&&v!==e&&i.call(v,r)&&(m=v);var y=_.prototype=p.prototype=Object.create(m);function b(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function n(s,r,a,h){var u=c(t[s],t,r);if("throw"!==u.type){var l=u.arg,d=l.value;return d&&"object"==o(d)&&i.call(d,"__await")?e.resolve(d.__await).then((function(t){n("next",t,a,h)}),(function(t){n("throw",t,a,h)})):e.resolve(d).then((function(t){l.value=t,a(l)}),(function(t){return n("throw",t,a,h)}))}h(u.arg)}var s;this._invoke=function(t,i){function o(){return new e((function(e,o){n(t,i,e,o)}))}return s=s?s.then(o,o):o()}}function x(t,e){var i=t.iterator[e.method];if(void 0===i){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method))return d;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var n=c(i,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,d;var o=n.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,d):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function L(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(L,this),this.reset(!0)}function M(t){if(t){var e=t[r];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n=0;--o){var s=this.tryEntries[o],r=s.completion;if("root"===s.tryLoc)return n("end");if(s.tryLoc<=this.prev){var a=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(a&&h){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),P(i),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var o=n.arg;P(i)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,i){return this.delegate={iterator:M(t),resultName:e,nextLoc:i},"next"===this.method&&(this.arg=void 0),d}},t}function r(t,e,i,n,o,s,r){try{var a=t[s](r),h=a.value}catch(t){return void i(t)}a.done?e(h):Promise.resolve(h).then(n,o)}var a=i(669);const h=function(){var t,e=(t=s().mark((function t(e){var i;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return("string"==typeof e||e instanceof String)&&(e={url:e}),i=Object.assign({},{baseURL:n.Z.base_url,headers:{"X-API-KEY":n.Z.api_key,"X-CSRF-TOKEN":n.Z.csrf_token}},e),console.log(i),t.abrupt("return",a.request(i));case 4:case"end":return t.stop()}}),t)})),function(){var e=this,i=arguments;return new Promise((function(n,o){var s=t.apply(e,i);function a(t){r(s,n,o,a,h,"next",t)}function h(t){r(s,n,o,a,h,"throw",t)}a(void 0)}))});return function(t){return e.apply(this,arguments)}}()},978:()=>{!function(){"use strict";L.TileLayer.Provider=L.TileLayer.extend({initialize:function(t,e){var i=L.TileLayer.Provider.providers,n=t.split("."),o=n[0],s=n[1];if(!i[o])throw"No such provider ("+o+")";var r={url:i[o].url,options:i[o].options};if(s&&"variants"in i[o]){if(!(s in i[o].variants))throw"No such variant of "+o+" ("+s+")";var a,h=i[o].variants[s];a="string"==typeof h?{variant:h}:h.options,r={url:h.url||r.url,options:L.Util.extend({},r.options,a)}}else"function"==typeof r.url&&(r.url=r.url(n.splice(1,n.length-1).join(".")));var u="file:"===window.location.protocol||r.options.forceHTTP;0===r.url.indexOf("//")&&u&&(r.url="http:"+r.url);var l=function(t){return-1===t.indexOf("{attribution.")?t:t.replace(/\{attribution.(\w*)\}/,(function(t,e){return l(i[e].options.attribution)}))};r.options.attribution=l(r.options.attribution);var c=L.Util.extend({},r.options,e);L.TileLayer.prototype.initialize.call(this,r.url,c)}}),L.TileLayer.Provider.providers={OpenStreetMap:{url:"//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",options:{maxZoom:19,attribution:'© OpenStreetMap'},variants:{Mapnik:{},BlackAndWhite:{url:"http://{s}.tiles.wmflabs.org/bw-mapnik/{z}/{x}/{y}.png",options:{maxZoom:18}},DE:{url:"http://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png",options:{maxZoom:18}},France:{url:"http://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png",options:{attribution:"© Openstreetmap France | {attribution.OpenStreetMap}"}},HOT:{url:"http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png",options:{attribution:'{attribution.OpenStreetMap}, Tiles courtesy of Humanitarian OpenStreetMap Team'}}}},OpenSeaMap:{url:"http://tiles.openseamap.org/seamark/{z}/{x}/{y}.png",options:{attribution:'Map data: © OpenSeaMap contributors'}},OpenTopoMap:{url:"//{s}.tile.opentopomap.org/{z}/{x}/{y}.png",options:{maxZoom:16,attribution:'Map data: {attribution.OpenStreetMap}, SRTM | Map style: © OpenTopoMap (CC-BY-SA)'}},Thunderforest:{url:"//{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}.png",options:{attribution:'© OpenCycleMap, {attribution.OpenStreetMap}',variant:"cycle"},variants:{OpenCycleMap:"cycle",Transport:{options:{variant:"transport",maxZoom:19}},TransportDark:{options:{variant:"transport-dark",maxZoom:19}},Landscape:"landscape",Outdoors:"outdoors"}},OpenMapSurfer:{url:"http://openmapsurfer.uni-hd.de/tiles/{variant}/x={x}&y={y}&z={z}",options:{maxZoom:20,variant:"roads",attribution:'Imagery from GIScience Research Group @ University of Heidelberg — Map data {attribution.OpenStreetMap}'},variants:{Roads:"roads",AdminBounds:{options:{variant:"adminb",maxZoom:19}},Grayscale:{options:{variant:"roadsg",maxZoom:19}}}},Hydda:{url:"http://{s}.tile.openstreetmap.se/hydda/{variant}/{z}/{x}/{y}.png",options:{variant:"full",attribution:'Tiles courtesy of OpenStreetMap Sweden — Map data {attribution.OpenStreetMap}'},variants:{Full:"full",Base:"base",RoadsAndLabels:"roads_and_labels"}},MapQuestOpen:{url:"http://otile{s}.mqcdn.com/tiles/1.0.0/{type}/{z}/{x}/{y}.{ext}",options:{type:"map",ext:"jpg",attribution:'Tiles Courtesy of MapQuest — Map data {attribution.OpenStreetMap}',subdomains:"1234"},variants:{OSM:{},Aerial:{options:{type:"sat",attribution:'Tiles Courtesy of MapQuest — Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency'}},HybridOverlay:{options:{type:"hyb",ext:"png",opacity:.9}}}},MapBox:{url:function(t){return"//{s}.tiles.mapbox.com/v3/"+t+"/{z}/{x}/{y}.png"},options:{attribution:'Imagery from MapBox — Map data {attribution.OpenStreetMap}',subdomains:"abcd"}},Stamen:{url:"//stamen-tiles-{s}.a.ssl.fastly.net/{variant}/{z}/{x}/{y}.png",options:{attribution:'Map tiles by Stamen Design, CC BY 3.0 — Map data {attribution.OpenStreetMap}',subdomains:"abcd",minZoom:0,maxZoom:20,variant:"toner",ext:"png"},variants:{Toner:"toner",TonerBackground:"toner-background",TonerHybrid:"toner-hybrid",TonerLines:"toner-lines",TonerLabels:"toner-labels",TonerLite:"toner-lite",Watercolor:{options:{variant:"watercolor",minZoom:1,maxZoom:16}},Terrain:{options:{variant:"terrain",minZoom:4,maxZoom:18,bounds:[[22,-132],[70,-56]]}},TerrainBackground:{options:{variant:"terrain-background",minZoom:4,maxZoom:18,bounds:[[22,-132],[70,-56]]}},TopOSMRelief:{options:{variant:"toposm-color-relief",ext:"jpg",bounds:[[22,-132],[51,-56]]}},TopOSMFeatures:{options:{variant:"toposm-features",bounds:[[22,-132],[51,-56]],opacity:.9}}}},Esri:{url:"//server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}",options:{variant:"World_Street_Map",attribution:"Tiles © Esri"},variants:{WorldStreetMap:{options:{attribution:"{attribution.Esri} — Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012"}},DeLorme:{options:{variant:"Specialty/DeLorme_World_Base_Map",minZoom:1,maxZoom:11,attribution:"{attribution.Esri} — Copyright: ©2012 DeLorme"}},WorldTopoMap:{options:{variant:"World_Topo_Map",attribution:"{attribution.Esri} — Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community"}},WorldImagery:{options:{variant:"World_Imagery",attribution:"{attribution.Esri} — Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community"}},WorldTerrain:{options:{variant:"World_Terrain_Base",maxZoom:13,attribution:"{attribution.Esri} — Source: USGS, Esri, TANA, DeLorme, and NPS"}},WorldShadedRelief:{options:{variant:"World_Shaded_Relief",maxZoom:13,attribution:"{attribution.Esri} — Source: Esri"}},WorldPhysical:{options:{variant:"World_Physical_Map",maxZoom:8,attribution:"{attribution.Esri} — Source: US National Park Service"}},OceanBasemap:{options:{variant:"Ocean_Basemap",maxZoom:13,attribution:"{attribution.Esri} — Sources: GEBCO, NOAA, CHS, OSU, UNH, CSUMB, National Geographic, DeLorme, NAVTEQ, and Esri"}},NatGeoWorldMap:{options:{variant:"NatGeo_World_Map",maxZoom:16,attribution:"{attribution.Esri} — National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC"}},WorldGrayCanvas:{options:{variant:"Canvas/World_Light_Gray_Base",maxZoom:16,attribution:"{attribution.Esri} — Esri, DeLorme, NAVTEQ"}}}},OpenWeatherMap:{url:"http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png",options:{maxZoom:19,attribution:'Map data © OpenWeatherMap',opacity:.5},variants:{Clouds:"clouds",CloudsClassic:"clouds_cls",Precipitation:"precipitation",PrecipitationClassic:"precipitation_cls",Rain:"rain",RainClassic:"rain_cls",Pressure:"pressure",PressureContour:"pressure_cntr",Wind:"wind",Temperature:"temp",Snow:"snow"}},HERE:{url:"//{s}.{base}.maps.cit.api.here.com/maptile/2.1/maptile/{mapID}/{variant}/{z}/{x}/{y}/256/png8?app_id={app_id}&app_code={app_code}",options:{attribution:'Map © 1987-2014 HERE',subdomains:"1234",mapID:"newest",app_id:"",app_code:"",base:"base",variant:"normal.day",maxZoom:20},variants:{normalDay:"normal.day",normalDayCustom:"normal.day.custom",normalDayGrey:"normal.day.grey",normalDayMobile:"normal.day.mobile",normalDayGreyMobile:"normal.day.grey.mobile",normalDayTransit:"normal.day.transit",normalDayTransitMobile:"normal.day.transit.mobile",normalNight:"normal.night",normalNightMobile:"normal.night.mobile",normalNightGrey:"normal.night.grey",normalNightGreyMobile:"normal.night.grey.mobile",carnavDayGrey:"carnav.day.grey",hybridDay:{options:{base:"aerial",variant:"hybrid.day"}},hybridDayMobile:{options:{base:"aerial",variant:"hybrid.day.mobile"}},pedestrianDay:"pedestrian.day",pedestrianNight:"pedestrian.night",satelliteDay:{options:{base:"aerial",variant:"satellite.day"}},terrainDay:{options:{base:"aerial",variant:"terrain.day"}},terrainDayMobile:{options:{base:"aerial",variant:"terrain.day.mobile"}}}},Acetate:{url:"http://a{s}.acetate.geoiq.com/tiles/{variant}/{z}/{x}/{y}.png",options:{attribution:"©2012 Esri & Stamen, Data from OSM and Natural Earth",subdomains:"0123",minZoom:2,maxZoom:18,variant:"acetate-base"},variants:{basemap:"acetate-base",terrain:"terrain",all:"acetate-hillshading",foreground:"acetate-fg",roads:"acetate-roads",labels:"acetate-labels",hillshading:"hillshading"}},FreeMapSK:{url:"http://{s}.freemap.sk/T/{z}/{x}/{y}.jpeg",options:{minZoom:8,maxZoom:16,subdomains:["t1","t2","t3","t4"],attribution:'{attribution.OpenStreetMap}, vizualization CC-By-SA 2.0 Freemap.sk'}},MtbMap:{url:"http://tile.mtbmap.cz/mtbmap_tiles/{z}/{x}/{y}.png",options:{attribution:"{attribution.OpenStreetMap} & USGS"}},CartoDB:{url:"http://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}.png",options:{attribution:'{attribution.OpenStreetMap} © CartoDB',subdomains:"abcd",maxZoom:19,variant:"light_all"},variants:{Positron:"light_all",PositronNoLabels:"light_nolabels",DarkMatter:"dark_all",DarkMatterNoLabels:"dark_nolabels"}},HikeBike:{url:"http://{s}.tiles.wmflabs.org/{variant}/{z}/{x}/{y}.png",options:{maxZoom:19,attribution:"{attribution.OpenStreetMap}",variant:"hikebike"},variants:{HikeBike:{},HillShading:{options:{maxZoom:15,variant:"hillshading"}}}},BasemapAT:{url:"//maps{s}.wien.gv.at/basemap/{variant}/normal/google3857/{z}/{y}/{x}.{format}",options:{maxZoom:19,attribution:'Datenquelle: basemap.at',subdomains:["","1","2","3","4"],format:"png",bounds:[[46.35877,8.782379],[49.037872,17.189532]],variant:"geolandbasemap"},variants:{basemap:"geolandbasemap",grau:"bmapgrau",overlay:"bmapoverlay",highdpi:{options:{variant:"bmaphidpi",format:"jpeg"}},orthofoto:{options:{variant:"bmaporthofoto30cm",format:"jpeg"}}}},NASAGIBS:{url:"//map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{maxZoom}/{z}/{y}/{x}.{format}",options:{attribution:'Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.',bounds:[[-85.0511287776,-179.999999975],[85.0511287776,179.999999975]],minZoom:1,maxZoom:9,format:"jpg",time:"",tilematrixset:"GoogleMapsCompatible_Level"},variants:{ModisTerraTrueColorCR:"MODIS_Terra_CorrectedReflectance_TrueColor",ModisTerraBands367CR:"MODIS_Terra_CorrectedReflectance_Bands367",ViirsEarthAtNight2012:{options:{variant:"VIIRS_CityLights_2012",maxZoom:8}},ModisTerraLSTDay:{options:{variant:"MODIS_Terra_Land_Surface_Temp_Day",format:"png",maxZoom:7,opacity:.75}},ModisTerraSnowCover:{options:{variant:"MODIS_Terra_Snow_Cover",format:"png",maxZoom:8,opacity:.75}},ModisTerraAOD:{options:{variant:"MODIS_Terra_Aerosol",format:"png",maxZoom:6,opacity:.75}},ModisTerraChlorophyll:{options:{variant:"MODIS_Terra_Chlorophyll_A",format:"png",maxZoom:7,opacity:.75}}}}},L.tileLayer.provider=function(t,e){return new L.TileLayer.Provider(t,e)}}()},818:()=>{var t,e,i;t=L.Marker.prototype._initIcon,e=L.Marker.prototype._setPos,i="msTransform"===L.DomUtil.TRANSFORM,L.Marker.addInitHook((function(){var t=this.options.icon&&this.options.icon.options&&this.options.icon.options.iconAnchor;t&&(t=t[0]+"px "+t[1]+"px"),this.options.rotationOrigin=this.options.rotationOrigin||t||"center bottom",this.options.rotationAngle=this.options.rotationAngle||0,this.on("drag",(function(t){t.target._applyRotation()}))})),L.Marker.include({_initIcon:function(){t.call(this)},_setPos:function(t){e.call(this,t),this._applyRotation()},_applyRotation:function(){this.options.rotationAngle&&(this._icon.style[L.DomUtil.TRANSFORM+"Origin"]=this.options.rotationOrigin,i?this._icon.style[L.DomUtil.TRANSFORM]="rotate("+this.options.rotationAngle+"deg)":this._icon.style[L.DomUtil.TRANSFORM]+=" rotateZ("+this.options.rotationAngle+"deg)")},setRotationAngle:function(t){return this.options.rotationAngle=t,this.update(),this},setRotationOrigin:function(t){return this.options.rotationOrigin=t,this.update(),this}})},154:function(t,e,i){!function(t,e){"use strict";function i(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(i){if("default"!==i){var n=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:function(){return t[i]}})}})),e.default=t,Object.freeze(e)}var n=i(e),o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},o(t,e)};function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}var r=function(){return r=Object.assign||function(t){for(var e,i=1,n=arguments.length;ih&&++E=n)throw new EvalError("Direct vincenty formula failed to converge after ".concat(n," iterations \n (start=").concat(t.lat,"/").concat(t.lng,"; bearing=").concat(e,"; distance=").concat(i,")"));var k=g*T-m*M*f,C=Math.atan2(g*M+m*T*f,(1-d)*Math.sqrt(y*y+k*k)),O=d/16*b*(4+d*(4-3*b)),Z=s+(Math.atan2(T*p,m*M-g*T*f)-(1-O)*d*y*(P+O*T*(S+O*M*(2*S*S-1)))),A=Math.atan2(y,-k);return{lat:this.toDegrees(C),lng:this.toDegrees(Z),bearing:this.wrap360(this.toDegrees(A))}},t.prototype.inverse=function(t,e,i,o){void 0===i&&(i=100),void 0===o&&(o=!0);var s=t,r=e,a=this.toRadians(s.lat),h=this.toRadians(s.lng),u=this.toRadians(r.lat),l=this.toRadians(r.lng),c=Math.PI,d=Number.EPSILON,p=this.ellipsoid,f=p.a,_=p.b,m=p.f,g=l-h,v=(1-m)*Math.tan(a),y=1/Math.sqrt(1+v*v),b=v*y,w=(1-m)*Math.tan(u),x=1/Math.sqrt(1+w*w),L=w*x,P=Math.abs(g)>c/2||Math.abs(u-a)>c/2,T=g,M=null,S=null,z=P?c:0,E=0,k=P?-1:1,C=null,O=1,Z=null,A=1,B=null,I=null,N=0;do{if(C=x*(M=Math.sin(T))*(x*M)+(y*L-b*x*(S=Math.cos(T)))*(y*L-b*x*S),Math.abs(C)c)throw new EvalError("λ > π")}while(Math.abs(T-I)>1e-12&&++N=i){if(o)return this.inverse(t,new n.LatLng(e.lat,e.lng-.01),i,o);throw new EvalError("Inverse vincenty formula failed to converge after ".concat(i," iterations \n (start=").concat(t.lat,"/").concat(t.lng,"; dest=").concat(e.lat,"/").concat(e.lng,")"))}var R=A*(f*f-_*_)/(_*_),j=R/1024*(256+R*(R*(74-47*R)-128)),D=_*(1+R/16384*(4096+R*(R*(320-175*R)-768)))*(z-j*E*(O+j/4*(k*(2*O*O-1)-j/6*O*(4*E*E-3)*(4*O*O-3)))),F=Math.abs(C)0?v:2*p-v),w=(Math.sin(h-r)>0?2*p-y:y)-l;if(0===Math.sin(b)&&0===Math.sin(w))return null;if(Math.sin(b)*Math.sin(w)<0)return null;var x=-Math.cos(b)*Math.cos(w)+Math.sin(b)*Math.sin(w)*Math.cos(_),L=Math.atan2(Math.sin(_)*Math.sin(b)*Math.sin(w),Math.cos(w)+Math.cos(b)*x),P=Math.asin(Math.min(Math.max(Math.sin(s)*Math.cos(L)+Math.cos(s)*Math.sin(L)*Math.cos(u),-1),1)),T=r+Math.atan2(Math.sin(u)*Math.sin(L)*Math.cos(s),Math.cos(L)-Math.sin(s)*Math.sin(P));return new n.LatLng(this.toDegrees(P),this.toDegrees(T))},t.prototype.midpoint=function(t,e){var i=this.toRadians(t.lat),o=this.toRadians(t.lng),s=this.toRadians(e.lat),r=this.toRadians(e.lng-t.lng),a=Math.cos(i),h=0,u=Math.sin(i),l={x:a+Math.cos(s)*Math.cos(r),y:h+Math.cos(s)*Math.sin(r),z:u+Math.sin(s)},c=Math.atan2(l.z,Math.sqrt(l.x*l.x+l.y*l.y)),d=o+Math.atan2(l.y,l.x);return new n.LatLng(this.toDegrees(c),this.toDegrees(d))},t}(),u=function(){function t(t){this.geodesic=new h,this.steps=t&&void 0!==t.steps?t.steps:3}return t.prototype.recursiveMidpoint=function(t,e,i){var n=[t,e],o=this.geodesic.midpoint(t,e);return i>0?(n.splice.apply(n,a([0,1],this.recursiveMidpoint(t,o,i-1),!1)),n.splice.apply(n,a([n.length-2,2],this.recursiveMidpoint(o,e,i-1),!1))):n.splice(1,0,o),n},t.prototype.line=function(t,e){return this.recursiveMidpoint(t,e,Math.min(8,this.steps))},t.prototype.multiLineString=function(t){for(var e=[],i=0,n=t;i180?r.lng=r.lng-360:r.lng-s.lng<-180&&(r.lng=r.lng+360);var a=[[new n.LatLng(s.lat,this.geodesic.wrap(s.lng,180)),new n.LatLng(r.lat,this.geodesic.wrap(r.lng,180))]];if(s.lng>=-180&&s.lng<=180)if(r.lng<-180){var h=this.geodesic.inverse(s,r).initialBearing;(u=this.geodesic.intersection(s,h,i.point,i.bearing))&&(a=[[s,u],[new n.LatLng(u.lat,u.lng+360),new n.LatLng(r.lat,r.lng+360)]])}else r.lng>180&&(h=this.geodesic.inverse(s,r).initialBearing,(u=this.geodesic.intersection(s,h,o.point,o.bearing))&&(a=[[s,u],[new n.LatLng(u.lat,u.lng-360),new n.LatLng(r.lat,r.lng-360)]]));else if(r.lng>=-180&&r.lng<=180)if(s.lng<-180)h=this.geodesic.inverse(s,r).initialBearing,(u=this.geodesic.intersection(s,h,i.point,i.bearing))&&(a=[[new n.LatLng(s.lat,s.lng+360),new n.LatLng(u.lat,u.lng+360)],[u,r]]);else if(s.lng>180){var u;h=this.geodesic.inverse(s,r).initialBearing,(u=this.geodesic.intersection(s,h,i.point,i.bearing))&&(a=[[new n.LatLng(s.lat,s.lng-360),new n.LatLng(u.lat,u.lng-360)],[u,r]])}return a},t.prototype.splitMultiLineString=function(t){for(var e=[],i=0,n=t;i1&&(e.push(s),s=a[1])}e.push(s)}else e.push(o)}return e},t.prototype.wrapMultiLineString=function(t){for(var e=[],i=0,o=t;i0?Math.floor(t):Math.ceil(t)};function B(t,e,i){return t instanceof Z?t:g(t)?new Z(t[0],t[1]):null==t?t:"object"==typeof t&&"x"in t&&"y"in t?new Z(t.x,t.y):new Z(t,e,i)}function I(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=N(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>=e.x&&n.x<=i.x,r=o.y>=e.y&&n.y<=i.y;return s&&r},overlaps:function(t){t=N(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>e.x&&n.xe.y&&n.y=n.lat&&i.lat<=o.lat&&e.lng>=n.lng&&i.lng<=o.lng},intersects:function(t){t=j(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=e.lat&&n.lat<=i.lat,r=o.lng>=e.lng&&n.lng<=i.lng;return s&&r},overlaps:function(t){t=j(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>e.lat&&n.late.lng&&n.lng1,kt=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",u,e),window.removeEventListener("testPassiveEventSupport",u,e)}catch(t){}return t}(),Ct=!!document.createElement("canvas").getContext,Ot=!(!document.createElementNS||!X("svg").createSVGRect),Zt=!!Ot&&((Q=document.createElement("div")).innerHTML="","http://www.w3.org/2000/svg"===(Q.firstChild&&Q.firstChild.namespaceURI)),At=!Ot&&function(){try{var t=document.createElement("div");t.innerHTML='';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}();function Bt(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var It={ie:et,ielt9:it,edge:nt,webkit:ot,android:st,android23:rt,androidStock:ht,opera:ut,chrome:lt,gecko:ct,safari:dt,phantom:pt,opera12:ft,win:_t,ie3d:mt,webkit3d:gt,gecko3d:vt,any3d:yt,mobile:bt,mobileWebkit:wt,mobileWebkit3d:xt,msPointer:Lt,pointer:Pt,touch:Mt,touchNative:Tt,mobileOpera:St,mobileGecko:zt,retina:Et,passiveEvents:kt,canvas:Ct,svg:Ot,vml:At,inlineSvg:Zt},Nt=It.msPointer?"MSPointerDown":"pointerdown",Rt=It.msPointer?"MSPointerMove":"pointermove",jt=It.msPointer?"MSPointerUp":"pointerup",Dt=It.msPointer?"MSPointerCancel":"pointercancel",Ft={touchstart:Nt,touchmove:Rt,touchend:jt,touchcancel:Dt},Ht={touchstart:$t,touchmove:Xt,touchend:Xt,touchcancel:Xt},Wt={},Ut=!1;function Gt(t,e,i){return"touchstart"===e&&Jt(),Ht[e]?(i=Ht[e].bind(this,i),t.addEventListener(Ft[e],i,!1),i):(console.warn("wrong event specified:",e),L.Util.falseFn)}function Vt(t,e,i){Ft[e]?t.removeEventListener(Ft[e],i,!1):console.warn("wrong event specified:",e)}function qt(t){Wt[t.pointerId]=t}function Kt(t){Wt[t.pointerId]&&(Wt[t.pointerId]=t)}function Yt(t){delete Wt[t.pointerId]}function Jt(){Ut||(document.addEventListener(Nt,qt,!0),document.addEventListener(Rt,Kt,!0),document.addEventListener(jt,Yt,!0),document.addEventListener(Dt,Yt,!0),Ut=!0)}function Xt(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in e.touches=[],Wt)e.touches.push(Wt[i]);e.changedTouches=[e],t(e)}}function $t(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&qe(e),Xt(t,e)}function Qt(t){var e,i,n={};for(i in t)e=t[i],n[i]=e&&e.bind?e.bind(t):e;return t=n,n.type="dblclick",n.detail=2,n.isTrusted=!1,n._simulated=!0,n}var te=200;function ee(t,e){t.addEventListener("dblclick",e);var i,n=0;function o(t){if(1===t.detail){if("mouse"!==t.pointerType&&(!t.sourceCapabilities||t.sourceCapabilities.firesTouchEvents)){var o=Date.now();o-n<=te?2==++i&&e(Qt(t)):i=1,n=o}}else i=t.detail}return t.addEventListener("click",o),{dblclick:e,simDblclick:o}}function ie(t,e){t.removeEventListener("dblclick",e.dblclick),t.removeEventListener("click",e.simDblclick)}var ne,oe,se,re,ae,he=Te(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),ue=Te(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),le="webkitTransition"===ue||"OTransition"===ue?ue+"End":"transitionend";function ce(t){return"string"==typeof t?document.getElementById(t):t}function de(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!i||"auto"===i)&&document.defaultView){var n=document.defaultView.getComputedStyle(t,null);i=n?n[e]:null}return"auto"===i?null:i}function pe(t,e,i){var n=document.createElement(t);return n.className=e||"",i&&i.appendChild(n),n}function fe(t){var e=t.parentNode;e&&e.removeChild(t)}function _e(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function me(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function ge(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function ve(t,e){if(void 0!==t.classList)return t.classList.contains(e);var i=xe(t);return i.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(i)}function ye(t,e){if(void 0!==t.classList)for(var i=d(e),n=0,o=i.length;nthis.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),n=this._limitCenter(i,this._zoom,j(t));return i.equals(n)||this.panTo(n,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=B((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=B(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),s=this.project(t),r=this.getPixelBounds(),a=N([r.min.add(i),r.max.subtract(n)]),h=a.getSize();if(!a.contains(s)){this._enforcingBounds=!0;var u=s.subtract(a.getCenter()),l=a.extend(s).getSize().subtract(h);o.x+=u.x<0?-l.x:l.x,o.y+=u.y<0?-l.y:l.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=i({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var n=this.getSize(),s=e.divideBy(2).round(),r=n.divideBy(2).round(),a=s.subtract(r);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(o(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:n})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=i({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=o(this._handleGeolocationResponse,this),n=o(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,n,t):navigator.geolocation.getCurrentPosition(e,n,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){if(this._container._leaflet_id){var e=t.code,i=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})}},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e=new D(t.coords.latitude,t.coords.longitude),i=e.toBounds(2*t.coords.accuracy),n=this._locateOptions;if(n.setView){var o=this.getBoundsZoom(i);this.setView(e,n.maxZoom?Math.min(o,n.maxZoom):o)}var s={latlng:e,bounds:i,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(s[r]=t.coords[r]);this.fire("locationfound",s)}},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}var t;for(t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),fe(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(S(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)fe(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var i=pe("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=i),i},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new R(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=j(t),i=B(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),h=this.getSize().subtract(i),u=N(this.project(a,n),this.project(r,n)).getSize(),l=It.any3d?this.options.zoomSnap:1,c=h.x/u.x,d=h.y/u.y,p=e?Math.max(c,d):Math.min(c,d);return n=this.getScaleZoom(p,n),l&&(n=Math.round(n/(l/100))*(l/100),n=e?Math.ceil(n/l)*l:Math.floor(n/l)*l),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new Z(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var i=this._getTopLeftPoint(t,e);return new I(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs;e=void 0===e?this._zoom:e;var n=i.zoom(t*i.scale(e));return isNaN(n)?1/0:n},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(F(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(B(t),e)},layerPointToLatLng:function(t){var e=B(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){return this.project(F(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(F(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(j(t))},distance:function(t,e){return this.options.crs.distance(F(t),F(e))},containerPointToLayerPoint:function(t){return B(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return B(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(B(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(F(t)))},mouseEventToContainerPoint:function(t){return Ye(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=ce(t);if(!e)throw new Error("Map container not found.");if(e._leaflet_id)throw new Error("Map container is already initialized.");Ne(e,"scroll",this._onScroll,this),this._containerId=r(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&It.any3d,ye(t,"leaflet-container"+(It.touch?" leaflet-touch":"")+(It.retina?" leaflet-retina":"")+(It.ielt9?" leaflet-oldie":"")+(It.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=de(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Se(this._mapPane,new Z(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(ye(t.markerPane,"leaflet-zoom-hide"),ye(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e){Se(this._mapPane,new Z(0,0));var i=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var n=this._zoom!==e;this._moveStart(n,!1)._move(t,e)._moveEnd(n),this.fire("viewreset"),i&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){void 0===e&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return S(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){Se(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[r(this._container)]=this;var e=t?je:Ne;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),It.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){S(this._resizeRequest),this._resizeRequest=M((function(){this.invalidateSize({debounceMoveend:!0})}),this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],o="mouseout"===e||"mouseover"===e,s=t.target||t.srcElement,a=!1;s;){if((i=this._targets[r(s)])&&("click"===e||"preclick"===e)&&this._draggableMoved(i)){a=!0;break}if(i&&i.listens(e,!0)){if(o&&!$e(s,t))break;if(n.push(i),o)break}if(s===this._container)break;s=s.parentNode}return n.length||a||o||!this.listens(e,!0)||(n=[this]),n},_isClickDisabled:function(t){for(;t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e=t.target||t.srcElement;if(!(!this._loaded||e._leaflet_disable_events||"click"===t.type&&this._isClickDisabled(e))){var i=t.type;"mousedown"===i&&Oe(e),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,n){if("click"===t.type){var o=i({},t);o.type="preclick",this._fireDOMEvent(o,o.type,n)}var s=this._findEventTargets(t,e);if(n){for(var r=[],a=0;a0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=It.any3d?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){be(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(i)||(this.panBy(i,e),0))},_createAnimProxy:function(){var t=this._proxy=pe("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",(function(t){var e=he,i=this._proxy.style[e];Me(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),i===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()}),this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){fe(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();Me(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),o=this._getCenterOffset(t)._divideBy(1-1/n);return!(!0!==i.animate&&!this.getSize().contains(o)||(M((function(){this._moveStart(!0,!1)._animateZoom(t,e,!0)}),this),0))},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,ye(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(o(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&be(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function ii(t,e){return new ei(t,e)}var ni=E.extend({options:{position:"topright"},initialize:function(t){p(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),n=t._controlCorners[i];return ye(e,"leaflet-control"),-1!==i.indexOf("bottom")?n.insertBefore(e,n.firstChild):n.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(fe(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),oi=function(t){return new ni(t)};ei.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",i=this._controlContainer=pe("div",e+"control-container",this._container);function n(n,o){var s=e+n+" "+e+o;t[n+o]=pe("div",s,i)}n("top","left"),n("top","right"),n("bottom","left"),n("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)fe(this._controlCorners[t]);fe(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var si=ni.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(r(t.target)),i=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;i&&this._map.fire(i,e)},_createRadioElement:function(t,e){var i='",n=document.createElement("div");return n.innerHTML=i,n.firstChild},_addItem:function(t){var e,i=document.createElement("label"),n=this._map.hasLayer(t.layer);t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=n):e=this._createRadioElement("leaflet-base-layers_"+r(this),n),this._layerControlInputs.push(e),e.layerId=r(t.layer),Ne(e,"click",this._onInputClick,this);var o=document.createElement("span");o.innerHTML=" "+t.name;var s=document.createElement("span");return i.appendChild(s),s.appendChild(e),s.appendChild(o),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){var t,e,i=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=i.length-1;s>=0;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?n.push(e):t.checked||o.push(e);for(s=0;s=0;o--)t=i[o],e=this._getLayer(t.layerId).layer,t.disabled=void 0!==e.options.minZoom&&ne.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this}}),ri=function(t,e,i){return new si(t,e,i)},ai=ni.extend({options:{position:"topleft",zoomInText:'',zoomInTitle:"Zoom in",zoomOutText:'',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=pe("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){var s=pe("a",i,n);return s.innerHTML=t,s.href="#",s.title=e,s.setAttribute("role","button"),s.setAttribute("aria-label",e),Ve(s),Ne(s,"click",Ke),Ne(s,"click",o,this),Ne(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";be(this._zoomInButton,e),be(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||t._zoom===t.getMinZoom())&&(ye(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||t._zoom===t.getMaxZoom())&&(ye(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}});ei.mergeOptions({zoomControl:!0}),ei.addInitHook((function(){this.options.zoomControl&&(this.zoomControl=new ai,this.addControl(this.zoomControl))}));var hi=function(t){return new ai(t)},ui=ni.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=pe("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=pe("div",e,i)),t.imperial&&(this._iScale=pe("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,i=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(i)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t),i=e<1e3?e+" m":e/1e3+" km";this._updateScale(this._mScale,i,e/t)},_updateImperial:function(t){var e,i,n,o=3.2808399*t;o>5280?(e=o/5280,i=this._getRoundNum(e),this._updateScale(this._iScale,i+" mi",i/e)):(n=this._getRoundNum(o),this._updateScale(this._iScale,n+" ft",n/o))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return e*(i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:1)}}),li=function(t){return new ui(t)},ci='',di=ni.extend({options:{position:"bottomright",prefix:''+(It.inlineSvg?ci+" ":"")+"Leaflet"},initialize:function(t){p(this,t),this._attributions={}},onAdd:function(t){for(var e in t.attributionControl=this,this._container=pe("div","leaflet-control-attribution"),Ve(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",(function(){this.removeAttribution(t.layer.getAttribution())}),this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(' ')}}});ei.mergeOptions({attributionControl:!0}),ei.addInitHook((function(){this.options.attributionControl&&(new di).addTo(this)}));var pi=function(t){return new di(t)};ni.Layers=si,ni.Zoom=ai,ni.Scale=ui,ni.Attribution=di,oi.layers=ri,oi.zoom=hi,oi.scale=li,oi.attribution=pi;var fi=E.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});fi.addTo=function(t,e){return t.addHandler(e,this),this};var _i,mi={Events:C},gi=It.touch?"touchstart mousedown":"mousedown",vi=O.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){p(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(Ne(this._dragStartTarget,gi,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(vi._dragging===this&&this.finishDrag(!0),je(this._dragStartTarget,gi,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(this._enabled&&(this._moved=!1,!ve(this._element,"leaflet-zoom-anim")))if(t.touches&&1!==t.touches.length)vi._dragging===this&&this.finishDrag();else if(!(vi._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(vi._dragging=this,this._preventOutline&&Oe(this._element),ke(),ne(),this._moving))){this.fire("down");var e=t.touches?t.touches[0]:t,i=Ae(this._element);this._startPoint=new Z(e.clientX,e.clientY),this._startPos=ze(this._element),this._parentScale=Be(i);var n="mousedown"===t.type;Ne(document,n?"mousemove":"touchmove",this._onMove,this),Ne(document,n?"mouseup":"touchend touchcancel",this._onUp,this)}},_onMove:function(t){if(this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var e=t.touches&&1===t.touches.length?t.touches[0]:t,i=new Z(e.clientX,e.clientY)._subtract(this._startPoint);(i.x||i.y)&&(Math.abs(i.x)+Math.abs(i.y)h&&(s=r,h=a);h>i&&(e[s]=1,Li(t,e,i,n,s),Li(t,e,i,s,o))}function Pi(t,e){for(var i=[t[0]],n=1,o=0,s=t.length;ne&&(i.push(t[n]),o=n);return oe.max.x&&(i|=2),t.ye.max.y&&(i|=8),i}function zi(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n}function Ei(t,e,i,n){var o,s=e.x,r=e.y,a=i.x-s,h=i.y-r,u=a*a+h*h;return u>0&&((o=((t.x-s)*a+(t.y-r)*h)/u)>1?(s=i.x,r=i.y):o>0&&(s+=a*o,r+=h*o)),a=t.x-s,h=t.y-r,n?a*a+h*h:new Z(s,r)}function ki(t){return!g(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function Ci(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),ki(t)}var Oi={__proto__:null,simplify:yi,pointToSegmentDistance:bi,closestPointOnSegment:wi,clipSegment:Ti,_getEdgeIntersection:Mi,_getBitCode:Si,_sqClosestPointOnSegment:Ei,isFlat:ki,_flat:Ci};function Zi(t,e,i){var n,o,s,r,a,h,u,l,c,d=[1,4,2,8];for(o=0,u=t.length;o1e-7;h++)e=s*Math.sin(a),e=Math.pow((1-e)/(1+e),s/2),a+=u=Math.PI/2-2*Math.atan(r*e)-a;return new D(a*i,t.x*i/n)}},Ni={__proto__:null,LonLat:Bi,Mercator:Ii,SphericalMercator:V},Ri=i({},U,{code:"EPSG:3395",projection:Ii,transformation:function(){var t=.5/(Math.PI*Ii.R);return K(t,.5,-t,.5)}()}),ji=i({},U,{code:"EPSG:4326",projection:Bi,transformation:K(1/180,1,-1/180,.5)}),Di=i({},W,{projection:Bi,transformation:K(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,n=e.lat-t.lat;return Math.sqrt(i*i+n*n)},infinite:!0});W.Earth=U,W.EPSG3395=Ri,W.EPSG3857=Y,W.EPSG900913=J,W.EPSG4326=ji,W.Simple=Di;var Fi=O.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[r(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[r(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var i=this.getEvents();e.on(i,this),this.once("remove",(function(){e.off(i,this)}),this)}this.onAdd(e),this.fire("add"),e.fire("layeradd",{layer:this})}}});ei.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=r(t);return this._layers[e]||(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t)),this},removeLayer:function(t){var e=r(t);return this._layers[e]?(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return r(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){for(var e=0,i=(t=t?g(t)?t:[t]:[]).length;ethis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()e)return r=(n-e)/i,this._map.layerPointToLatLng([s.x-r*(s.x-o.x),s.y-r*(s.y-o.y)])},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=F(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new R,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return ki(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],i=ki(t),n=0,o=t.length;n=2&&e[0]instanceof D&&e[0].equals(e[i-1])&&e.pop(),e},_setLatLngs:function(t){on.prototype._setLatLngs.call(this,t),ki(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return ki(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,i=new Z(e,e);if(t=new I(t.min.subtract(i),t.max.add(i)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var n,o=0,s=this._rings.length;ot.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(u=!u);return u||on.prototype._containsPoint.call(this,t,!0)}});function an(t,e){return new rn(t,e)}var hn=Ui.extend({initialize:function(t,e){p(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,o=g(t)?t:t.features;if(o){for(e=0,i=o.length;e0?n:[e.src]}else{g(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted,e.playsInline=!!this.options.playsInline;for(var r=0;ro?(e.height=o+"px",ye(t,s)):be(t,s),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),i=this._getAnchor();Se(this._container,e.add(i))},_adjustPan:function(t){if(this.options.autoPan){this._map._panAnim&&this._map._panAnim.stop();var e=this._map,i=parseInt(de(this._container,"marginBottom"),10)||0,n=this._container.offsetHeight+i,o=this._containerWidth,s=new Z(this._containerLeft,-n-this._containerBottom);s._add(ze(this._container));var r=e.layerPointToContainerPoint(s),a=B(this.options.autoPanPadding),h=B(this.options.autoPanPaddingTopLeft||a),u=B(this.options.autoPanPaddingBottomRight||a),l=e.getSize(),c=0,d=0;r.x+o+u.x>l.x&&(c=r.x+o-l.x+u.x),r.x-c-h.x<0&&(c=r.x-h.x),r.y+n+u.y>l.y&&(d=r.y+n-l.y+u.y),r.y-d-h.y<0&&(d=r.y-h.y),(c||d)&&e.fire("autopanstart").panBy([c,d],{animate:t&&"moveend"===t.type})}},_getAnchor:function(){return B(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),zn=function(t,e){return new Sn(t,e)};ei.mergeOptions({closePopupOnClick:!0}),ei.include({openPopup:function(t,e,i){return this._initOverlay(Sn,t,e,i).openOn(this),this},closePopup:function(t){return(t=arguments.length?t:this._popup)&&t.close(),this}}),Fi.include({bindPopup:function(t,e){return this._popup=this._initOverlay(Sn,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&this._popup._prepareOpen(t)&&this._popup.openOn(this._map),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){if(this._popup&&this._map){Ke(t);var e=t.layer||t.target;this._popup._source!==e||e instanceof $i?(this._popup._source=e,this.openPopup(t.latlng)):this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng)}},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var En=Mn.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){Mn.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){Mn.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=Mn.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=pe("div",t)},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i,n=this._map,o=this._container,s=n.latLngToContainerPoint(n.getCenter()),r=n.layerPointToContainerPoint(t),a=this.options.direction,h=o.offsetWidth,u=o.offsetHeight,l=B(this.options.offset),c=this._getAnchor();"top"===a?(e=h/2,i=u):"bottom"===a?(e=h/2,i=0):"center"===a?(e=h/2,i=u/2):"right"===a?(e=0,i=u/2):"left"===a?(e=h,i=u/2):r.xthis.options.maxZoom||in&&this._retainParent(o,s,r,n))},_retainChildren:function(t,e,i,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*e;s<2*e+2;s++){var r=new Z(o,s);r.z=i+1;var a=this._tileCoordsToKey(r),h=this._tiles[a];h&&h.active?h.retain=!0:(h&&h.loaded&&(h.retain=!0),i+1this.options.maxZoom||void 0!==this.options.minZoom&&o1)this._setView(t,i);else{for(var c=o.min.y;c<=o.max.y;c++)for(var d=o.min.x;d<=o.max.x;d++){var p=new Z(d,c);if(p.z=this._tileZoom,this._isValidTile(p)){var f=this._tiles[this._tileCoordsToKey(p)];f?f.current=!0:r.push(p)}}if(r.sort((function(t,e){return t.distanceTo(s)-e.distanceTo(s)})),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var _=document.createDocumentFragment();for(d=0;di.max.x)||!e.wrapLat&&(t.yi.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return j(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),o=n.add(i);return[e.unproject(n,t.z),e.unproject(o,t.z)]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),i=new R(e[0],e[1]);return this.options.noWrap||(i=this._map.wrapLatLngBounds(i)),i},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),i=new Z(+e[0],+e[1]);return i.z=+e[2],i},_removeTile:function(t){var e=this._tiles[t];e&&(fe(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){ye(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=u,t.onmousemove=u,It.ielt9&&this.options.opacity<1&&Le(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),s=this.createTile(this._wrapCoords(t),o(this._tileReady,this,t));this._initTile(s),this.createTile.length<2&&M(o(this._tileReady,this,t,null,s)),Se(s,i),this._tiles[n]={el:s,coords:t,current:!0},e.appendChild(s),this.fire("tileloadstart",{tile:s,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(Le(i.el,0),S(this._fadeFrame),this._fadeFrame=M(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(ye(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),It.ielt9||!this._map._fadeAnimated?M(this._pruneTiles,this):setTimeout(o(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new Z(this._wrapX?h(t.x,this._wrapX):t.x,this._wrapY?h(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new I(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});function An(t){return new Zn(t)}var Bn=Zn.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=p(this,e)).detectRetina&&It.retina&&e.maxZoom>0&&(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom++):(e.zoomOffset++,e.maxZoom--),e.minZoom=Math.max(0,e.minZoom)),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return Ne(i,"load",o(this._tileOnLoad,this,e,i)),Ne(i,"error",o(this._tileOnError,this,e,i)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),"string"==typeof this.options.referrerPolicy&&(i.referrerPolicy=this.options.referrerPolicy),i.alt="",i.setAttribute("role","presentation"),i.src=this.getTileUrl(t),i},getTileUrl:function(t){var e={r:It.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var n=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=n),e["-y"]=n}return m(this._url,i(e,this.options))},_tileOnLoad:function(t,e){It.ielt9?setTimeout(o(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&&e.getAttribute("src")!==n&&(e.src=n),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom;return this.options.zoomReverse&&(t=e-t),t+this.options.zoomOffset},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)if(this._tiles[t].coords.z!==this._tileZoom&&((e=this._tiles[t].el).onload=u,e.onerror=u,!e.complete)){e.src=y;var i=this._tiles[t].coords;fe(e),delete this._tiles[t],this.fire("tileabort",{tile:e,coords:i})}},_removeTile:function(t){var e=this._tiles[t];if(e)return e.el.setAttribute("src",y),Zn.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(this._map&&(!i||i.getAttribute("src")!==y))return Zn.prototype._tileReady.call(this,t,e,i)}});function In(t,e){return new Bn(t,e)}var Nn=Bn.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var n=i({},this.defaultWmsParams);for(var o in e)o in this.options||(n[o]=e[o]);var s=(e=p(this,e)).detectRetina&&It.retina?2:1,r=this.getTileSize();n.width=r.x*s,n.height=r.y*s,this.wmsParams=n},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[e]=this._crs.code,Bn.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,n=N(i.project(e[0]),i.project(e[1])),o=n.min,s=n.max,r=(this._wmsVersion>=1.3&&this._crs===ji?[o.y,o.x,s.y,s.x]:[o.x,o.y,s.x,s.y]).join(","),a=Bn.prototype.getTileUrl.call(this,t);return a+f(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,e){return i(this.wmsParams,t),e||this.redraw(),this}});function Rn(t,e){return new Nn(t,e)}Bn.WMS=Nn,In.wms=Rn;var jn=Fi.extend({options:{padding:.1},initialize:function(t){p(this,t),r(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&ye(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),s=n.multiplyBy(-i).add(o).subtract(this._map._getNewPixelOrigin(t,e));It.any3d?Me(this._container,s,i):Se(this._container,s)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new I(i,i.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),Dn=jn.extend({options:{tolerance:0},getEvents:function(){var t=jn.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){jn.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");Ne(t,"mousemove",this._onMouseMove,this),Ne(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Ne(t,"mouseout",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext("2d")},_destroyContainer:function(){S(this._redrawRequest),delete this._ctx,fe(this._container),je(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){jn.prototype._update.call(this);var t=this._bounds,e=this._container,i=t.getSize(),n=It.retina?2:1;Se(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",It.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){jn.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[r(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,n=e.prev;i?i.prev=n:this._drawLast=n,n?n.next=i:this._drawFirst=i,delete t._order,delete this._layers[r(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){var e,i,n=t.options.dashArray.split(/[, ]+/),o=[];for(i=0;i')}}catch(t){}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),Wn={_initContainer:function(){this._container=pe("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(jn.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=Hn("shape");ye(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=Hn("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[r(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;fe(e),t.removeInteractiveTarget(e),delete this._layers[r(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e||(e=t._stroke=Hn("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=g(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i||(i=t._fill=Hn("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){me(t._container)},_bringToBack:function(t){ge(t._container)}},Un=It.vml?Hn:X,Gn=jn.extend({_initContainer:function(){this._container=Un("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Un("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){fe(this._container),je(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!this._map._animatingZoom||!this._bounds){jn.prototype._update.call(this);var t=this._bounds,e=t.getSize(),i=this._container;this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),Se(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=Un("path");t.options.className&&ye(e,t.options.className),t.options.interactive&&ye(e,"leaflet-interactive"),this._updateStyle(t),this._layers[r(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){fe(t._path),t.removeInteractiveTarget(t._path),delete this._layers[r(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,i=t.options;e&&(i.stroke?(e.setAttribute("stroke",i.color),e.setAttribute("stroke-opacity",i.opacity),e.setAttribute("stroke-width",i.weight),e.setAttribute("stroke-linecap",i.lineCap),e.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?e.setAttribute("stroke-dasharray",i.dashArray):e.removeAttribute("stroke-dasharray"),i.dashOffset?e.setAttribute("stroke-dashoffset",i.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),i.fill?(e.setAttribute("fill",i.fillColor||i.color),e.setAttribute("fill-opacity",i.fillOpacity),e.setAttribute("fill-rule",i.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,$(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",o=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+n+2*i+",0 "+n+2*-i+",0 ";this._setPath(t,o)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){me(t._path)},_bringToBack:function(t){ge(t._path)}});function Vn(t){return It.svg||It.vml?new Gn(t):null}It.vml&&Gn.include(Wn),ei.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var e=this._paneRenderers[t];return void 0===e&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&Fn(t)||Vn(t)}});var qn=rn.extend({initialize:function(t,e){rn.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=j(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});function Kn(t,e){return new qn(t,e)}Gn.create=Un,Gn.pointsToPath=$,hn.geometryToLayer=un,hn.coordsToLatLng=cn,hn.coordsToLatLngs=dn,hn.latLngToCoords=pn,hn.latLngsToCoords=fn,hn.getFeature=_n,hn.asFeature=mn,ei.mergeOptions({boxZoom:!0});var Yn=fi.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){Ne(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){je(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){fe(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),ne(),ke(),this._startPoint=this._map.mouseEventToContainerPoint(t),Ne(document,{contextmenu:Ke,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=pe("div","leaflet-zoom-box",this._container),ye(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new I(this._point,this._startPoint),i=e.getSize();Se(this._box,e.min),this._box.style.width=i.x+"px",this._box.style.height=i.y+"px"},_finish:function(){this._moved&&(fe(this._box),be(this._container,"leaflet-crosshair")),oe(),Ce(),je(document,{contextmenu:Ke,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(o(this._resetState,this),0);var e=new R(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});ei.addInitHook("addHandler","boxZoom",Yn),ei.mergeOptions({doubleClickZoom:!0});var Jn=fi.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,o=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(o):e.setZoomAround(t.containerPoint,o)}});ei.addInitHook("addHandler","doubleClickZoom",Jn),ei.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var Xn=fi.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new vi(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}ye(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){be(this._map._container,"leaflet-grab"),be(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=j(this._map.options.maxBounds);this._offsetLimit=N(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.xe.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,s=(n+e+i)%t-e-i,r=Math.abs(o+i)0?s:-s))-e;this._delta=0,this._startTime=null,r&&("center"===t.options.scrollWheelZoom?t.setZoom(e+r):t.setZoomAround(this._lastMousePos,e+r))}});ei.addInitHook("addHandler","scrollWheelZoom",Qn);var to=600;ei.mergeOptions({tapHold:It.touchNative&&It.safari&&It.mobile,tapTolerance:15});var eo=fi.extend({addHooks:function(){Ne(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){je(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(clearTimeout(this._holdTimeout),1===t.touches.length){var e=t.touches[0];this._startPos=this._newPos=new Z(e.clientX,e.clientY),this._holdTimeout=setTimeout(o((function(){this._cancel(),this._isTapValid()&&(Ne(document,"touchend",qe),Ne(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",e))}),this),to),Ne(document,"touchend touchcancel contextmenu",this._cancel,this),Ne(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function t(){je(document,"touchend",qe),je(document,"touchend touchcancel",t)},_cancel:function(){clearTimeout(this._holdTimeout),je(document,"touchend touchcancel contextmenu",this._cancel,this),je(document,"touchmove",this._onMove,this)},_onMove:function(t){var e=t.touches[0];this._newPos=new Z(e.clientX,e.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,e){var i=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});i._simulated=!0,e.target.dispatchEvent(i)}});ei.addInitHook("addHandler","tapHold",eo),ei.mergeOptions({touchZoom:It.touch,bounceAtZoomLimits:!0});var io=fi.extend({addHooks:function(){ye(this._map._container,"leaflet-touch-zoom"),Ne(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){be(this._map._container,"leaflet-touch-zoom"),je(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&!e._animatingZoom&&!this._zooming){var i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),"center"!==e.options.touchZoom&&(this._pinchStartLatLng=e.containerPointToLatLng(i.add(n)._divideBy(2))),this._startDist=i.distanceTo(n),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),Ne(document,"touchmove",this._onTouchMove,this),Ne(document,"touchend touchcancel",this._onTouchEnd,this),qe(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),s=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(s,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoome.getMaxZoom()&&s>1)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1===s)return}else{var r=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(1===s&&0===r.x&&0===r.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),S(this._animRequest);var a=o(e._move,e,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=M(a,this,!0),qe(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,S(this._animRequest),je(document,"touchmove",this._onTouchMove,this),je(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});ei.addInitHook("addHandler","touchZoom",io),ei.BoxZoom=Yn,ei.DoubleClickZoom=Jn,ei.Drag=Xn,ei.Keyboard=$n,ei.ScrollWheelZoom=Qn,ei.TapHold=eo,ei.TouchZoom=io,t.Bounds=I,t.Browser=It,t.CRS=W,t.Canvas=Dn,t.Circle=en,t.CircleMarker=Qi,t.Class=E,t.Control=ni,t.DivIcon=Cn,t.DivOverlay=Mn,t.DomEvent=Qe,t.DomUtil=Ie,t.Draggable=vi,t.Evented=O,t.FeatureGroup=Ui,t.GeoJSON=hn,t.GridLayer=Zn,t.Handler=fi,t.Icon=Vi,t.ImageOverlay=bn,t.LatLng=D,t.LatLngBounds=R,t.Layer=Fi,t.LayerGroup=Hi,t.LineUtil=Oi,t.Map=ei,t.Marker=Ji,t.Mixin=mi,t.Path=$i,t.Point=Z,t.PolyUtil=Ai,t.Polygon=rn,t.Polyline=on,t.Popup=Sn,t.PosAnimation=ti,t.Projection=Ni,t.Rectangle=qn,t.Renderer=jn,t.SVG=Gn,t.SVGOverlay=Pn,t.TileLayer=Bn,t.Tooltip=En,t.Transformation=q,t.Util=z,t.VideoOverlay=xn,t.bind=o,t.bounds=N,t.canvas=Fn,t.circle=nn,t.circleMarker=tn,t.control=oi,t.divIcon=On,t.extend=i,t.featureGroup=Gi,t.geoJSON=vn,t.geoJson=yn,t.gridLayer=An,t.icon=qi,t.imageOverlay=wn,t.latLng=F,t.latLngBounds=j,t.layerGroup=Wi,t.map=ii,t.marker=Xi,t.point=B,t.polygon=an,t.polyline=sn,t.popup=zn,t.rectangle=Kn,t.setOptions=p,t.stamp=r,t.svg=Vn,t.svgOverlay=Tn,t.tileLayer=In,t.tooltip=kn,t.transformation=K,t.version=e,t.videoOverlay=Ln;var no=window.L;t.noConflict=function(){return window.L=no,this},window.L=t}(e)},155:t=>{var e,i,n=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function r(t){if(e===setTimeout)return setTimeout(t,0);if((e===o||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(i){try{return e.call(null,t,0)}catch(i){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:o}catch(t){e=o}try{i="function"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var a,h=[],u=!1,l=-1;function c(){u&&a&&(u=!1,a.length?h=a.concat(h):l=-1,h.length&&d())}function d(){if(!u){var t=r(c);u=!0;for(var e=h.length;e;){for(a=h,h=[];++l1)for(var i=1;i0&&n=0?this.static[r]=n.value:a.type===s.TypeParser.types.primitive?this.static[r]=a.value:this.observers[r]=n.value)}return p(e,t),e.prototype.sync=function(){},e.prototype.update=function(){},e.prototype.publish=function(){},e.prototype.locals=function(){var t,e,i,n,o,s;for(t in i={},o=this.static)n=o[t],i[t]=n;for(t in s=this.observers)e=s[t],i[t]=e.value();return i},e.prototype.camelCase=function(t){return t.replace(/-([a-z])/g,(function(t){return t[1].toUpperCase()}))},e.prototype.bind=function(){var t,e,i,n,o,r,a,h,u,l,c,d,p,f,_,m,g,v,y,b;if(!this.bound){for(e in f=this.observers)i=f[e],this.observers[e]=this.observe(this.view.models,i,function(t){return function(e){return function(){return t.componentView.models[e]=t.observers[e].value()}}}(this).call(this,e));this.bound=!0}if(null!=this.componentView)this.componentView.bind();else{for(this.el.innerHTML=this.component.template.call(this),a=this.component.initialize.call(this,this.el,this.locals()),this.el._bound=!0,r={},l=0,d=(_=s.extensions).length;l=0));return u}}else if((null!=e?e.toString():void 0)!==(null!=(h=t.value)?h.toString():void 0))return t.value=null!=e?e:""}},s.public.binders.if={block:!0,priority:4e3,bind:function(t){var e,i;if(null==this.marker)return e=[this.view.prefix,this.type].join("-").replace("--","-"),i=t.getAttribute(e),this.marker=document.createComment(" rivets: "+this.type+" "+i+" "),this.bound=!1,t.removeAttribute(e),t.parentNode.insertBefore(this.marker,t),t.parentNode.removeChild(t)},unbind:function(){if(this.nested)return this.nested.unbind(),this.bound=!1},routine:function(t,e){var i,n,o,r;if(!!e==!this.bound){if(e){for(i in o={},r=this.view.models)n=r[i],o[i]=n;return(this.nested||(this.nested=new s.View(t,o,this.view.options()))).bind(),this.marker.parentNode.insertBefore(t,this.marker.nextSibling),this.bound=!0}return t.parentNode.removeChild(t),this.nested.unbind(),this.bound=!1}},update:function(t){var e;return null!=(e=this.nested)?e.update(t):void 0}},s.public.binders.unless={block:!0,priority:4e3,bind:function(t){return s.public.binders.if.bind.call(this,t)},unbind:function(){return s.public.binders.if.unbind.call(this)},routine:function(t,e){return s.public.binders.if.routine.call(this,t,!e)},update:function(t){return s.public.binders.if.update.call(this,t)}},s.public.binders["on-*"]={function:!0,priority:1e3,unbind:function(t){if(this.handler)return s.Util.unbindEvent(t,this.args[0],this.handler)},routine:function(t,e){return this.handler&&s.Util.unbindEvent(t,this.args[0],this.handler),s.Util.bindEvent(t,this.args[0],this.handler=this.eventHandler(e))}},s.public.binders["each-*"]={block:!0,priority:4e3,bind:function(t){var e,i,n,o;if(null==this.marker)e=[this.view.prefix,this.type].join("-").replace("--","-"),this.marker=document.createComment(" rivets: "+this.type+" "),this.iterated=[],t.removeAttribute(e),t.parentNode.insertBefore(this.marker,t),t.parentNode.removeChild(t);else for(i=0,n=(o=this.iterated).length;ie.length)for(p=0,m=(y=Array(this.iterated.length-e.length)).length;p=0&&s.splice(n,1),s.length||delete o.pointers[e],this.cleanupWeakReference(o,t[this.id])},observe:function(t,e,i){var n,o,s,r;return null==(n=this.weakReference(t).callbacks)[e]&&(n[e]=[],(null!=(o=Object.getOwnPropertyDescriptor(t,e))?o.get:void 0)||(null!=o?o.set:void 0)||(s=t[e],Object.defineProperty(t,e,{enumerable:!0,get:function(){return s},set:(r=this,function(i){var o,a,h,u,l;if(i!==s&&(r.unobserveMutations(s,t[r.id],e),s=i,a=r.weakmap[t[r.id]])){if((n=a.callbacks)[e])for(h=0,u=(l=n[e].slice()).length;h=0&&o();return r.observeMutations(i,t[r.id],e)}})}))),f.call(n[e],i)<0&&n[e].push(i),this.observeMutations(t[e],t[this.id],e)},unobserve:function(t,e,i){var n,o,s;if((s=this.weakmap[t[this.id]])&&(n=s.callbacks[e]))return(o=n.indexOf(i))>=0&&(n.splice(o,1),n.length||(delete s.callbacks[e],this.unobserveMutations(t[e],t[this.id],e))),this.cleanupWeakReference(s,t[this.id])},get:function(t,e){return t[e]},set:function(t,e,i){return t[e]=i}},s.factory=function(t){return s.sightglass=t,s.public._=s,s.public},"object"==typeof(null!==t?t.exports:void 0)?t.exports=s.factory(i(206)):(n=[i(206)],void 0===(o=function(t){return this.rivets=s.factory(t)}.apply(e,n))||(t.exports=o))}.call(this)},206:function(t,e){var i;(function(){function n(t,e,i,n){return new o(t,e,i,n)}function o(t,e,i,n){this.options=n||{},this.options.adapters=this.options.adapters||{},this.obj=t,this.keypath=e,this.callback=i,this.objectPath=[],this.update=this.update.bind(this),this.parse(),s(this.target=this.realize())&&this.set(!0,this.key,this.target,this.callback)}function s(t){return"object"==typeof t&&null!==t}function r(t){throw new Error("[sightglass] "+t)}n.adapters={},o.tokenize=function(t,e,i){var n,o,s=[],r={i,path:""};for(n=0;n{"use strict";t.exports=JSON.parse('{"name":"axios","version":"0.21.4","description":"Promise based HTTP client for the browser and node.js","main":"index.js","scripts":{"test":"grunt test","start":"node ./sandbox/server.js","build":"NODE_ENV=production grunt build","preversion":"npm test","version":"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json","postversion":"git push && git push --tags","examples":"node ./examples/server.js","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","fix":"eslint --fix lib/**/*.js"},"repository":{"type":"git","url":"https://github.com/axios/axios.git"},"keywords":["xhr","http","ajax","promise","node"],"author":"Matt Zabriskie","license":"MIT","bugs":{"url":"https://github.com/axios/axios/issues"},"homepage":"https://axios-http.com","devDependencies":{"coveralls":"^3.0.0","es6-promise":"^4.2.4","grunt":"^1.3.0","grunt-banner":"^0.6.0","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-watch":"^1.0.0","grunt-eslint":"^23.0.0","grunt-karma":"^4.0.0","grunt-mocha-test":"^0.13.3","grunt-ts":"^6.0.0-beta.19","grunt-webpack":"^4.0.2","istanbul-instrumenter-loader":"^1.0.0","jasmine-core":"^2.4.1","karma":"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.0","karma-jasmine":"^1.1.1","karma-jasmine-ajax":"^0.1.13","karma-safari-launcher":"^1.0.0","karma-sauce-launcher":"^4.3.6","karma-sinon":"^1.0.5","karma-sourcemap-loader":"^0.3.8","karma-webpack":"^4.0.2","load-grunt-tasks":"^3.5.2","minimist":"^1.2.0","mocha":"^8.2.1","sinon":"^4.5.0","terser-webpack-plugin":"^4.2.3","typescript":"^4.0.5","url-search-params":"^0.10.0","webpack":"^4.44.2","webpack-dev-server":"^3.11.0"},"browser":{"./lib/adapters/http.js":"./lib/adapters/xhr.js"},"jsdelivr":"dist/axios.min.js","unpkg":"dist/axios.min.js","typings":"./index.d.ts","dependencies":{"follow-redirects":"^1.14.0"},"bundlesize":[{"path":"./dist/axios.min.js","threshold":"5kB"}]}')}},e={};function i(n){var o=e[n];if(void 0!==o)return o.exports;var s=e[n]={id:n,loaded:!1,exports:{}};return t[n].call(s.exports,s,s.exports,i),s.loaded=!0,s.exports}i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),(()=>{"use strict";var t=i(152);function e(t){return e="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},e(t)}function n(){n=function(){return t};var t={},i=Object.prototype,o=i.hasOwnProperty,s="function"==typeof Symbol?Symbol:{},r=s.iterator||"@@iterator",a=s.asyncIterator||"@@asyncIterator",h=s.toStringTag||"@@toStringTag";function u(t,e,i){return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,i){return t[e]=i}}function l(t,e,i,n){var o=e&&e.prototype instanceof p?e:p,s=Object.create(o.prototype),r=new T(n||[]);return s._invoke=function(t,e,i){var n="suspendedStart";return function(o,s){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw s;return S()}for(i.method=o,i.arg=s;;){var r=i.delegate;if(r){var a=x(r,i);if(a){if(a===d)continue;return a}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if("suspendedStart"===n)throw n="completed",i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);n="executing";var h=c(t,e,i);if("normal"===h.type){if(n=i.done?"completed":"suspendedYield",h.arg===d)continue;return{value:h.arg,done:i.done}}"throw"===h.type&&(n="completed",i.method="throw",i.arg=h.arg)}}}(t,i,r),s}function c(t,e,i){try{return{type:"normal",arg:t.call(e,i)}}catch(t){return{type:"throw",arg:t}}}t.wrap=l;var d={};function p(){}function f(){}function _(){}var m={};u(m,r,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(M([])));v&&v!==i&&o.call(v,r)&&(m=v);var y=_.prototype=p.prototype=Object.create(m);function b(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,i){function n(s,r,a,h){var u=c(t[s],t,r);if("throw"!==u.type){var l=u.arg,d=l.value;return d&&"object"==e(d)&&o.call(d,"__await")?i.resolve(d.__await).then((function(t){n("next",t,a,h)}),(function(t){n("throw",t,a,h)})):i.resolve(d).then((function(t){l.value=t,a(l)}),(function(t){return n("throw",t,a,h)}))}h(u.arg)}var s;this._invoke=function(t,e){function o(){return new i((function(i,o){n(t,e,i,o)}))}return s=s?s.then(o,o):o()}}function x(t,e){var i=t.iterator[e.method];if(void 0===i){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method))return d;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var n=c(i,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,d;var o=n.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,d):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function L(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(L,this),this.reset(!0)}function M(t){if(t){var e=t[r];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,n=function e(){for(;++i=0;--n){var s=this.tryEntries[n],r=s.completion;if("root"===s.tryLoc)return i("end");if(s.tryLoc<=this.prev){var a=o.call(s,"catchLoc"),h=o.call(s,"finallyLoc");if(a&&h){if(this.prev=0;--i){var n=this.tryEntries[i];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),P(i),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var o=n.arg;P(i)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,i){return this.delegate={iterator:M(t),resultName:e,nextLoc:i},"next"===this.method&&(this.arg=void 0),d}},t}function o(t,e,i,n,o,s,r){try{var a=t[s](r),h=a.value}catch(t){return void i(t)}a.done?e(h):Promise.resolve(h).then(n,o)}const s=function(){var e,i=(e=n().mark((function e(i){var o,s;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o={method:"GET",url:"/api/airports/".concat(i,"/lookup")},e.next=3,(0,t.Z)(o);case 3:return s=e.sent,console.log("lookup raw response: ",s),e.abrupt("return",s.data);case 6:case"end":return e.stop()}}),e)})),function(){var t=this,i=arguments;return new Promise((function(n,s){var r=e.apply(t,i);function a(t){o(r,n,s,a,h,"next",t)}function h(t){o(r,n,s,a,h,"throw",t)}a(void 0)}))});return function(t){return i.apply(this,arguments)}}();function r(t){return r="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},r(t)}function a(){a=function(){return t};var t={},e=Object.prototype,i=e.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",s=n.asyncIterator||"@@asyncIterator",h=n.toStringTag||"@@toStringTag";function u(t,e,i){return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,i){return t[e]=i}}function l(t,e,i,n){var o=e&&e.prototype instanceof p?e:p,s=Object.create(o.prototype),r=new T(n||[]);return s._invoke=function(t,e,i){var n="suspendedStart";return function(o,s){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw s;return S()}for(i.method=o,i.arg=s;;){var r=i.delegate;if(r){var a=x(r,i);if(a){if(a===d)continue;return a}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if("suspendedStart"===n)throw n="completed",i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);n="executing";var h=c(t,e,i);if("normal"===h.type){if(n=i.done?"completed":"suspendedYield",h.arg===d)continue;return{value:h.arg,done:i.done}}"throw"===h.type&&(n="completed",i.method="throw",i.arg=h.arg)}}}(t,i,r),s}function c(t,e,i){try{return{type:"normal",arg:t.call(e,i)}}catch(t){return{type:"throw",arg:t}}}t.wrap=l;var d={};function p(){}function f(){}function _(){}var m={};u(m,o,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(M([])));v&&v!==e&&i.call(v,o)&&(m=v);var y=_.prototype=p.prototype=Object.create(m);function b(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function n(o,s,a,h){var u=c(t[o],t,s);if("throw"!==u.type){var l=u.arg,d=l.value;return d&&"object"==r(d)&&i.call(d,"__await")?e.resolve(d.__await).then((function(t){n("next",t,a,h)}),(function(t){n("throw",t,a,h)})):e.resolve(d).then((function(t){l.value=t,a(l)}),(function(t){return n("throw",t,a,h)}))}h(u.arg)}var o;this._invoke=function(t,i){function s(){return new e((function(e,o){n(t,i,e,o)}))}return o=o?o.then(s,s):s()}}function x(t,e){var i=t.iterator[e.method];if(void 0===i){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method))return d;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var n=c(i,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,d;var o=n.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,d):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function L(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(L,this),this.reset(!0)}function M(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,s=function e(){for(;++n=0;--o){var s=this.tryEntries[o],r=s.completion;if("root"===s.tryLoc)return n("end");if(s.tryLoc<=this.prev){var a=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(a&&h){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),P(i),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var o=n.arg;P(i)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,i){return this.delegate={iterator:M(t),resultName:e,nextLoc:i},"next"===this.method&&(this.arg=void 0),d}},t}function h(t,e,i,n,o,s,r){try{var a=t[s](r),h=a.value}catch(t){return void i(t)}a.done?e(h):Promise.resolve(h).then(n,o)}const u=function(){var e,i=(e=a().mark((function e(i,n){var o,s;return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o={method:"GET",url:"/api/airports/".concat(i,"/distance/").concat(n)},e.next=3,(0,t.Z)(o);case 3:return s=e.sent,e.abrupt("return",s.data);case 5:case"end":return e.stop()}}),e)})),function(){var t=this,i=arguments;return new Promise((function(n,o){var s=e.apply(t,i);function r(t){h(s,n,o,r,a,"next",t)}function a(t){h(s,n,o,r,a,"throw",t)}r(void 0)}))});return function(t,e){return i.apply(this,arguments)}}();i(928),window.phpvms.airport_lookup=s,window.phpvms.calculate_distance=u,window.phpvms.map=i(201)})()})(); //# sourceMappingURL=app.js.map \ No newline at end of file diff --git a/public/assets/admin/js/app.js.LICENSE.txt b/public/assets/admin/js/app.js.LICENSE.txt index b8e1572a..ce0311fe 100644 --- a/public/assets/admin/js/app.js.LICENSE.txt +++ b/public/assets/admin/js/app.js.LICENSE.txt @@ -1,21 +1,23 @@ /* @preserve - * Leaflet 1.7.1, a JS library for interactive maps. http://leafletjs.com - * (c) 2010-2019 Vladimir Agafonkin, (c) 2010-2011 CloudMade + * Leaflet 1.8.0, a JS library for interactive maps. https://leafletjs.com + * (c) 2010-2022 Vladimir Agafonkin, (c) 2010-2011 CloudMade */ /*! ***************************************************************************** - Copyright (c) Microsoft Corporation. All rights reserved. - Licensed under the Apache License, Version 2.0 (the "License"); you may not use - this file except in compliance with the License. You may obtain a copy of the - License at http://www.apache.org/licenses/LICENSE-2.0 + Copyright (c) Microsoft Corporation. - THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED - WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, - MERCHANTABLITY OR NON-INFRINGEMENT. + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. - See the Apache Version 2.0 License for specific language governing permissions - and limitations under the License. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ -/*! Leaflet.Geodesic 2.5.4 - (c) Henry Thasler - https://github.com/henrythasler/Leaflet.Geodesic */ +/*! Leaflet.Geodesic 2.6.1 - (c) Henry Thasler - https://github.com/henrythasler/Leaflet.Geodesic */ + +/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ diff --git a/public/assets/admin/js/app.js.map b/public/assets/admin/js/app.js.map index a525fae7..edea8736 100644 --- a/public/assets/admin/js/app.js.map +++ b/public/assets/admin/js/app.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/axios/lib/helpers/isAxiosError.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./resources/js/storage.js","webpack:///./resources/js/bootstrap.js","webpack:///./resources/js/common.js","webpack:///./resources/js/config.js","webpack:///./resources/js/maps/base_map.js","webpack:///./resources/js/maps/helpers.js","webpack:///./resources/js/maps/airspace_map.js","webpack:///./resources/js/maps/config.js","webpack:///./node_modules/leaflet/dist/leaflet-src.esm.js","webpack:///./resources/js/maps/live_map.js","webpack:///./resources/js/maps/route_map.js","webpack:///./resources/js/maps/index.js","webpack:///./resources/js/request.js","webpack:///./node_modules/leaflet-providers/leaflet-providers.js","webpack:///./node_modules/leaflet-rotatedmarker/leaflet.rotatedMarker.js","webpack:///./node_modules/leaflet.geodesic/dist/leaflet.geodesic.umd.min.js","webpack:///./node_modules/leaflet/dist/leaflet-src.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/rivets/dist/rivets.js","webpack:///./node_modules/sightglass/index.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/node module decorator","webpack:///./resources/js/admin/airport_lookup.js","webpack:///./resources/js/admin/calculate_distance.js","webpack:///./resources/js/admin/app.js"],"names":["module","exports","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","config","Promise","resolve","reject","requestData","data","requestHeaders","headers","isFormData","request","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","Authorization","btoa","fullPath","baseURL","url","open","method","toUpperCase","params","paramsSerializer","timeout","onreadystatechange","readyState","status","responseURL","indexOf","responseHeaders","getAllResponseHeaders","response","responseType","responseText","statusText","onabort","onerror","ontimeout","timeoutErrorMessage","isStandardBrowserEnv","xsrfValue","withCredentials","xsrfCookieName","read","undefined","xsrfHeaderName","forEach","val","key","toLowerCase","setRequestHeader","isUndefined","e","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","send","bind","Axios","mergeConfig","createInstance","defaultConfig","context","instance","prototype","extend","axios","create","instanceConfig","defaults","Cancel","CancelToken","isCancel","all","promises","spread","isAxiosError","default","message","this","toString","__CANCEL__","executor","TypeError","resolvePromise","token","reason","throwIfRequested","source","c","value","InterceptorManager","dispatchRequest","interceptors","arguments","chain","interceptor","unshift","fulfilled","rejected","push","length","shift","getUri","replace","handlers","use","eject","id","fn","h","isAbsoluteURL","combineURLs","requestedURL","enhanceError","code","error","Error","transformData","throwIfCancellationRequested","transformRequest","merge","common","adapter","transformResponse","toJSON","name","description","number","fileName","lineNumber","columnNumber","stack","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","target","isPlainObject","isArray","slice","mergeDeepProperties","prop","axiosKeys","concat","otherKeys","Object","keys","filter","validateStatus","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","process","call","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","JSON","stringify","parse","maxContentLength","maxBodyLength","thisArg","args","Array","i","apply","encode","serializedParams","parts","v","isDate","toISOString","join","hashmarkIndex","relativeURL","write","expires","path","domain","secure","cookie","isNumber","Date","toGMTString","isString","document","match","RegExp","decodeURIComponent","remove","now","test","payload","originURL","msie","navigator","userAgent","urlParsingNode","createElement","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","trim","substr","callback","arr","getPrototypeOf","isFunction","obj","l","hasOwnProperty","constructor","FormData","ArrayBuffer","isView","pipe","URLSearchParams","product","result","assignValue","a","b","str","stripBOM","content","charCodeAt","Storage","default_value","st","localStorage","getItem","console","log","setItem","index","splice","require","phpvms","rivets","formatters","prepend","time_hm","hours","Math","floor","mins","gt","len","lt","eq","fallback","def","base_url","head","querySelector","api_key","csrf_token","leaflet","_opts","opts","assign","render_elem","center","zoom","maxZoom","layers","set_marker","leafletOptions","scrollWheelZoom","providers","entries","map","tileLayer","provider","addTo","addWMSLayer","format","transparent","minZoom","mlayer","wms","overlay_elem","lat","lon","marker_popup","metar_wms","draw_base_map","coords","setView","marker","bindPopup","PLAN_ROUTE_COLOR","ACTUAL_ROUTE_COLOR","dest","j","src","F","proto","lastId","stamp","_leaflet_id","throttle","time","lock","wrapperFn","later","setTimeout","wrapNum","x","range","includeMax","max","min","d","falseFn","formatNum","num","digits","pow","round","splitWords","setOptions","options","getParamString","existingUrl","uppercase","templateRe","template","array","el","emptyImageUrl","getPrefixed","lastTime","timeoutDefer","timeToCall","requestFn","requestAnimationFrame","cancelFn","cancelAnimationFrame","clearTimeout","requestAnimFrame","immediate","cancelAnimFrame","Class","props","NewClass","initialize","callInitHooks","parentProto","__super__","statics","includes","L","Mixin","Events","warn","checkDeprecatedMixinEvents","_initHooks","_initHooksCalled","include","mergeOptions","addInitHook","init","on","types","type","_on","off","_off","_events","typeListeners","newListener","ctx","listeners","_firingCount","fire","propagate","listens","event","sourceTarget","_propagateEvent","_eventParents","once","handler","addEventParent","removeEventParent","layer","propagatedFrom","removeEventListener","clearAllEventListeners","addOneTimeEventListener","fireEvent","hasEventListeners","Evented","Point","y","trunc","ceil","toPoint","Bounds","points","toBounds","LatLngBounds","corner1","corner2","latlngs","toLatLngBounds","LatLng","lng","alt","isNaN","toLatLng","clone","add","point","_add","subtract","_subtract","divideBy","_divideBy","multiplyBy","_multiplyBy","scaleBy","unscaleBy","_round","_floor","_ceil","_trunc","distanceTo","sqrt","equals","contains","abs","getCenter","getBottomLeft","getTopRight","getTopLeft","getBottomRight","getSize","intersects","bounds","min2","max2","xIntersects","yIntersects","overlaps","xOverlaps","yOverlaps","isValid","sw2","ne2","sw","_southWest","ne","_northEast","pad","bufferRatio","heightBuffer","widthBuffer","getSouthWest","getNorthEast","getNorthWest","getNorth","getWest","getSouthEast","getSouth","getEast","latIntersects","lngIntersects","latOverlaps","lngOverlaps","toBBoxString","maxMargin","precision","other","Earth","distance","wrap","wrapLatLng","sizeInMeters","latAccuracy","lngAccuracy","cos","PI","CRS","latLngToPoint","latlng","projectedPoint","projection","project","scale","transformation","_transform","pointToLatLng","untransformedPoint","untransform","unproject","LN2","getProjectedBounds","infinite","s","transform","wrapLng","wrapLat","wrapLatLngBounds","newCenter","latShift","lngShift","R","latlng1","latlng2","rad","lat1","lat2","sinDLat","sin","sinDLon","atan2","earthRadius","SphericalMercator","MAX_LATITUDE","atan","exp","Transformation","_a","_b","_c","_d","toTransformation","EPSG3857","EPSG900913","svgCreate","createElementNS","pointsToPath","rings","closed","len2","p","svg","style$1","documentElement","style","ie","ielt9","edge","webkit","userAgentContains","android","android23","webkitVer","parseInt","exec","androidStock","opera","chrome","gecko","safari","phantom","opera12","win","platform","ie3d","webkit3d","WebKitCSSMatrix","gecko3d","any3d","L_DISABLE_3D","mobile","orientation","msPointer","PointerEvent","MSPointerEvent","pointer","touch","L_NO_TOUCH","DocumentTouch","mobileOpera","retina","devicePixelRatio","screen","deviceXDPI","logicalXDPI","passiveEvents","supportsPassiveOption","defineProperty","get","canvas","getContext","createSVGRect","vml","div","innerHTML","shape","firstChild","behavior","adj","POINTER_DOWN","POINTER_MOVE","POINTER_UP","POINTER_CANCEL","_pointers","_pointerDocListener","addPointerListener","onDown","MSPOINTER_TYPE_TOUCH","pointerType","preventDefault","_handlePointer","_globalPointerDown","_globalPointerMove","_globalPointerUp","_addPointerStart","onMove","MSPOINTER_TYPE_MOUSE","buttons","_addPointerMove","onUp","_addPointerEnd","pointerId","touches","changedTouches","_touchstart","_touchend","_pre","disableTextSelection","enableTextSelection","_userSelect","_outlineElement","_outlineStyle","TRANSFORM","testProp","TRANSITION","TRANSITION_END","getElementById","getStyle","currentStyle","defaultView","css","getComputedStyle","create$1","tagName","className","container","appendChild","parent","parentNode","removeChild","empty","toFront","lastChild","toBack","insertBefore","hasClass","classList","getClass","addClass","classes","setClass","removeClass","baseVal","correspondingElement","setOpacity","opacity","filterName","filters","item","Enabled","Opacity","_setOpacityIE","setTransform","offset","pos","setPosition","_leaflet_pos","left","top","getPosition","userSelectProperty","disableImageDrag","enableImageDrag","preventOutline","element","tabIndex","restoreOutline","outline","getSizedParentNode","offsetWidth","offsetHeight","body","getScale","rect","getBoundingClientRect","width","height","boundingClientRect","addOne","eventsKey","removeOne","browserFiresNativeDblClick","mouseSubst","mouseenter","mouseleave","wheel","originalHandler","last","touch$$1","doubleTap","onTouchStart","isPrimary","delta","onTouchEnd","cancelBubble","newTouch","button","passive","addDoubleTapListener","isExternalTarget","attachEvent","removePointerListener","touchstart","touchend","dblclick","removeDoubleTapListener","detachEvent","stopPropagation","originalEvent","_stopped","skipped","disableScrollPropagation","disableClickPropagation","fakeStop","returnValue","stop","getMousePosition","clientX","clientY","clientLeft","clientTop","wheelPxFactor","getWheelDelta","wheelDeltaY","deltaY","deltaMode","deltaX","deltaZ","wheelDelta","detail","skipEvents","events","related","relatedTarget","err","PosAnimation","run","newPos","duration","easeLinearity","_el","_inProgress","_duration","_easeOutPower","_startPos","_offset","_startTime","_animate","_step","_complete","_animId","elapsed","_runFrame","_easeOut","progress","t","Map","crs","maxBounds","renderer","zoomAnimation","zoomAnimationThreshold","fadeAnimation","markerZoomAnimation","transform3DLimit","zoomSnap","zoomDelta","trackResize","_handlers","_layers","_zoomBoundLayers","_sizeChanged","_initContainer","_initLayout","_onResize","_initEvents","setMaxBounds","_zoom","_limitZoom","reset","_zoomAnimated","_createAnimProxy","_proxy","_catchTransitionEnd","_addLayers","_limitCenter","_stop","_loaded","animate","pan","_tryAnimatedZoom","_tryAnimatedPan","_sizeTimer","_resetView","setZoom","zoomIn","zoomOut","setZoomAround","getZoomScale","viewHalf","centerOffset","latLngToContainerPoint","containerPointToLatLng","_getBoundsCenterZoom","getBounds","paddingTL","paddingTopLeft","padding","paddingBR","paddingBottomRight","getBoundsZoom","Infinity","paddingOffset","swPoint","nePoint","fitBounds","fitWorld","panTo","panBy","getZoom","_panAnim","_onPanTransitionStep","_onPanTransitionEnd","noMoveStart","_mapPane","_getMapPanePos","_rawPanBy","flyTo","targetCenter","targetZoom","from","to","size","startZoom","w0","w1","u1","rho","rho2","r","sq","sinh","n","cosh","r0","u","start","S","_moveStart","frame","easeOut","_flyToFrame","_move","getScaleZoom","w","_moveEnd","flyToBounds","_panInsideMaxBounds","setMinZoom","oldZoom","setMaxZoom","panInsideBounds","_enforcingBounds","panInside","pixelCenter","pixelPoint","pixelBounds","getPixelBounds","halfPixelBounds","paddedBounds","diff","invalidateSize","oldSize","_lastCenter","newSize","oldCenter","debounceMoveend","locate","_locateOptions","watch","_handleGeolocationError","onResponse","_handleGeolocationResponse","onError","_locationWatchId","geolocation","watchPosition","getCurrentPosition","stopLocate","clearWatch","latitude","longitude","accuracy","timestamp","addHandler","HandlerClass","enable","_containerId","_container","_clearControlPos","_resizeRequest","_clearHandlers","_panes","_renderer","createPane","pane","_checkIfLoaded","_moved","layerPointToLatLng","_getCenterLayerPoint","getMinZoom","_layersMinZoom","getMaxZoom","_layersMaxZoom","inside","nw","se","boundsSize","snap","scalex","scaley","_size","clientWidth","clientHeight","topLeftPoint","_getTopLeftPoint","getPixelOrigin","_pixelOrigin","getPixelWorldBounds","getPane","getPanes","getContainer","toZoom","fromZoom","latLngToLayerPoint","containerPointToLayerPoint","layerPointToContainerPoint","layerPoint","mouseEventToContainerPoint","mouseEventToLayerPoint","mouseEventToLatLng","_onScroll","_fadeAnimated","position","_initPanes","_initControlPos","panes","_paneRenderers","markerPane","shadowPane","loading","zoomChanged","_getNewPixelOrigin","pinch","_getZoomSpan","remove$$1","_targets","onOff","_handleDOMEvent","_onMoveEnd","scrollTop","scrollLeft","_findEventTargets","targets","isHover","srcElement","dragging","_simulated","_draggableMoved","_fireDOMEvent","_mouseEvents","synth","isMarker","getLatLng","_radius","containerPoint","bubblingMouseEvents","enabled","moved","boxZoom","disable","whenReady","_latLngToNewLayerPoint","topLeft","_latLngBoundsToNewLayerBounds","latLngBounds","_getCenterOffset","centerPoint","viewBounds","_getBoundsOffset","_limitOffset","newBounds","pxBounds","projectedMaxBounds","minOffset","maxOffset","_rebound","right","proxy","mapPane","_animatingZoom","_onZoomTransitionEnd","_animMoveEnd","_destroyAnimProxy","z","propertyName","_nothingToAnimate","getElementsByClassName","_animateZoom","startAnim","noUpdate","_animateToCenter","_animateToZoom","Control","_map","removeControl","addControl","onAdd","corner","_controlCorners","onRemove","_refocusOnMap","screenX","screenY","focus","control","corners","_controlContainer","createCorner","vSide","hSide","Layers","collapsed","autoZIndex","hideSingleBase","sortLayers","sortFunction","layerA","layerB","nameA","nameB","baseLayers","overlays","_layerControlInputs","_lastZIndex","_handlingClick","_addLayer","_update","_checkDisabledLayers","_onLayerChange","_expandIfNotCollapsed","addBaseLayer","addOverlay","removeLayer","_getLayer","expand","_section","acceptableHeight","offsetTop","collapse","section","link","_layersLink","title","_baseLayersList","_separator","_overlaysList","overlay","sort","setZIndex","baseLayersPresent","overlaysPresent","baseLayersCount","_addItem","display","_createRadioElement","checked","radioHtml","radioFragment","input","label","hasLayer","defaultChecked","layerId","_onInputClick","holder","inputs","addedLayers","removedLayers","addLayer","disabled","_expand","_collapse","Zoom","zoomInText","zoomInTitle","zoomOutText","zoomOutTitle","zoomName","_zoomInButton","_createButton","_zoomIn","_zoomOutButton","_zoomOut","_updateDisabled","_disabled","shiftKey","html","zoomControl","Scale","maxWidth","metric","imperial","_addScales","updateWhenIdle","_mScale","_iScale","maxMeters","_updateScales","_updateMetric","_updateImperial","meters","_getRoundNum","_updateScale","maxMiles","miles","feet","maxFeet","text","ratio","pow10","Attribution","prefix","_attributions","attributionControl","getAttribution","addAttribution","setPrefix","removeAttribution","attribs","prefixAndAttribs","attribution","Handler","_enabled","addHooks","removeHooks","_lastCode","START","END","mousedown","pointerdown","MSPointerDown","MOVE","Draggable","clickTolerance","dragStartTarget","preventOutline$$1","_element","_dragStartTarget","_preventOutline","_onDown","_dragging","finishDrag","which","_moving","first","sizedParent","_startPoint","_parentScale","_onMove","_onUp","_lastTarget","SVGElementInstance","correspondingUseElement","_newPos","_animRequest","_lastEvent","_updatePosition","simplify","tolerance","sqTolerance","markers","Uint8Array","_simplifyDPStep","newPoints","_simplifyDP","reducedPoints","prev","_sqDist","_reducePoints","pointToSegmentDistance","p1","p2","_sqClosestPointOnSegment","sqDist","maxSqDist","clipSegment","useLastCode","codeOut","newCode","codeA","_getBitCode","codeB","_getEdgeIntersection","dx","dy","dot","isFlat","_flat","clipPolygon","clippedPoints","k","edges","_code","LonLat","Mercator","R_MINOR","tmp","con","ts","tan","phi","dphi","EPSG3395","EPSG4326","Simple","Layer","removeFrom","_mapToAdd","addInteractiveTarget","targetEl","removeInteractiveTarget","_layerAdd","getEvents","beforeAdd","eachLayer","_addZoomLimit","_updateZoomLevels","_removeZoomLimit","oldZoomSpan","LayerGroup","getLayerId","clearLayers","invoke","methodName","getLayer","getLayers","zIndex","FeatureGroup","setStyle","bringToFront","bringToBack","Icon","popupAnchor","tooltipAnchor","createIcon","oldIcon","_createIcon","createShadow","_getIconUrl","img","_createImg","_setIconStyles","sizeOption","anchor","shadowAnchor","iconAnchor","marginLeft","marginTop","IconDefault","iconUrl","iconRetinaUrl","shadowUrl","iconSize","shadowSize","imagePath","_detectIconPath","MarkerDrag","_marker","icon","_icon","_draggable","dragstart","_onDragStart","predrag","_onPreDrag","drag","_onDrag","dragend","_onDragEnd","_adjustPan","speed","autoPanSpeed","autoPanPadding","iconPos","origin","panBounds","movement","_panRequest","_oldLatLng","closePopup","autoPan","shadow","_shadow","_latlng","oldLatLng","Marker","interactive","keyboard","zIndexOffset","riseOnHover","riseOffset","draggable","_initIcon","update","_removeIcon","_removeShadow","viewreset","setLatLng","setZIndexOffset","getIcon","setIcon","_popup","getElement","_setPos","classToAdd","addIcon","mouseover","_bringToFront","mouseout","_resetZIndex","newShadow","addShadow","_updateOpacity","_initInteraction","_zIndex","_updateZIndex","opt","_getPopupAnchor","_getTooltipAnchor","Path","stroke","color","weight","lineCap","lineJoin","dashArray","dashOffset","fill","fillColor","fillOpacity","fillRule","getRenderer","_initPath","_reset","_addPath","_removePath","redraw","_updatePath","_updateStyle","_updateBounds","_bringToBack","_path","_project","_clickTolerance","CircleMarker","radius","setRadius","getRadius","_point","r2","_radiusY","_pxBounds","_updateCircle","_empty","_bounds","_containsPoint","Circle","legacyOptions","_mRadius","half","latR","bottom","lngR","acos","Polyline","smoothFactor","noClip","_setLatLngs","getLatLngs","_latlngs","setLatLngs","isEmpty","closestLayerPoint","minDistance","minPoint","closest","jLen","_parts","halfDist","segDist","dist","_rings","addLatLng","_defaultShape","_convertLatLngs","flat","_projectLatlngs","_rawPxBounds","projectedBounds","ring","_clipPoints","segment","_simplifyPoints","_updatePoly","part","Polygon","f","area","pop","clipped","GeoJSON","geojson","addData","feature","features","geometries","geometry","coordinates","geometryToLayer","asFeature","defaultOptions","resetStyle","onEachFeature","_setLayerStyle","pointToLayer","_coordsToLatLng","coordsToLatLng","_pointToLayer","coordsToLatLngs","properties","pointToLayerFn","markersInheritOptions","levelsDeep","latLngToCoords","latLngsToCoords","getFeature","newGeometry","PointToGeoJSON","toGeoJSON","multi","holes","toMultiPoint","isGeometryCollection","jsons","json","ImageOverlay","crossOrigin","errorOverlayUrl","_url","_image","_initImage","styleOpts","setUrl","setBounds","zoomanim","wasElementSupplied","onselectstart","onmousemove","onload","_overlayOnError","image","errorUrl","autoplay","loop","keepAspectRatio","muted","vid","onloadeddata","sourceElements","getElementsByTagName","sources","DivOverlay","_source","_removeTimeout","getContent","_content","setContent","visibility","_updateContent","_updateLayout","isOpen","_prepareOpen","node","_contentNode","hasChildNodes","_getAnchor","_containerBottom","_containerLeft","_containerWidth","Popup","minWidth","maxHeight","autoPanPaddingTopLeft","autoPanPaddingBottomRight","keepInView","closeButton","autoClose","closeOnEscapeKey","openOn","openPopup","popup","closeOnClick","closePopupOnClick","preclick","_close","moveend","wrapper","_wrapper","_tipContainer","_tip","_closeButton","_onCloseButtonClick","whiteSpace","scrolledClass","marginBottom","containerHeight","containerWidth","layerPos","containerPos","_popupHandlersAdded","click","_openPopup","keypress","_onKeyPress","move","_movePopup","unbindPopup","togglePopup","isPopupOpen","setPopupContent","getPopup","keyCode","Tooltip","direction","permanent","sticky","tooltip","closeTooltip","_setPosition","subX","subY","tooltipPoint","tooltipWidth","tooltipHeight","openTooltip","bindTooltip","_tooltip","_initTooltipInteractions","unbindTooltip","_tooltipHandlersAdded","_moveTooltip","_openTooltip","mousemove","toggleTooltip","isTooltipOpen","setTooltipContent","getTooltip","bgPos","Element","backgroundPosition","Default","GridLayer","tileSize","updateWhenZooming","updateInterval","maxNativeZoom","minNativeZoom","noWrap","keepBuffer","_levels","_tiles","_removeAllTiles","_tileZoom","_setAutoZIndex","isLoading","_loading","viewprereset","_invalidateAll","createTile","getTileSize","compare","children","edgeZIndex","isFinite","nextFrame","willPrune","tile","current","loaded","fade","active","_onOpaqueTile","_noPrune","_pruneTiles","_fadeFrame","_updateLevels","Number","_onUpdateLevel","_removeTilesAtZoom","_onRemoveLevel","level","_setZoomTransform","_onCreateLevel","_level","retain","_retainParent","_retainChildren","_removeTile","x2","y2","z2","coords2","_tileCoordsToKey","animating","_setView","_clampZoom","noPrune","tileZoom","tileZoomChanged","_abortLoading","_resetGrid","_setZoomTransforms","translate","_tileSize","_globalTileRange","_pxBoundsToTileRange","_wrapX","_wrapY","_getTiledPixelBounds","mapZoom","halfSize","tileRange","tileCenter","queue","margin","noPruneRange","_isValidTile","fragment","createDocumentFragment","_addTile","tileBounds","_tileCoordsToBounds","_keyToBounds","_keyToTileCoords","_tileCoordsToNwSe","nwPoint","sePoint","bp","_initTile","WebkitBackfaceVisibility","tilePos","_getTilePos","_wrapCoords","_tileReady","_noTilesToLoad","newCoords","TileLayer","subdomains","errorTileUrl","zoomOffset","tms","zoomReverse","detectRetina","_onTileRemove","noRedraw","done","_tileOnLoad","_tileOnError","getTileUrl","_getSubdomain","_getZoomForUrl","invertedY","getAttribute","tilePoint","complete","TileLayerWMS","defaultWmsParams","service","styles","version","wmsParams","realRetina","_crs","_wmsVersion","parseFloat","projectionKey","bbox","setParams","WMS","Renderer","_updatePaths","_destroyContainer","_onZoom","zoomend","_onZoomEnd","_onAnimZoom","ev","_updateTransform","currentCenterPoint","_center","topLeftOffset","Canvas","_onViewPreReset","_postponeUpdatePaths","_draw","_onMouseMove","_onClick","_handleMouseOut","_ctx","_redrawRequest","_redrawBounds","_redraw","m","_updateDashArray","order","_order","_drawLast","next","_drawFirst","_requestRedraw","_extendRedrawBounds","dashValue","_dashArray","_clear","clearRect","save","restore","beginPath","clip","_drawing","closePath","_fillStroke","arc","globalAlpha","fillStyle","setLineDash","lineWidth","strokeStyle","clickedLayer","_fireEvent","moving","_handleMouseHover","_hoveredLayer","_mouseHoverThrottled","candidateHoveredLayer","vmlCreate","namespaces","vmlMixin","coordsize","_stroke","_fill","stroked","filled","dashStyle","endcap","joinstyle","_setPath","create$2","SVG","zoomstart","_onZoomStart","_rootGroup","_svgSize","removeAttribute","_getPaneRenderer","_createRenderer","preferCanvas","canvas$1","svg$1","_boundsToLatLngs","BoxZoom","_pane","overlayPane","_resetStateTimeout","_destroy","_onMouseDown","_resetState","_clearDeferredResetState","contextmenu","mouseup","_onMouseUp","keydown","_onKeyDown","_box","_finish","boxZoomBounds","doubleClickZoom","DoubleClickZoom","_onDoubleClick","inertia","inertiaDeceleration","inertiaMaxSpeed","worldCopyJump","maxBoundsViscosity","Drag","_onPreDragLimit","_onPreDragWrap","_positions","_times","_offsetLimit","_viscosity","_lastTime","_lastPos","_absPos","_prunePositions","pxCenter","pxWorldCenter","_initialWorldOffset","_worldWidth","_viscousLimit","threshold","limit","worldWidth","halfWidth","newX1","newX2","newX","noInertia","ease","speedVector","limitedSpeed","limitedSpeedVector","decelerationDuration","keyboardPanDelta","Keyboard","keyCodes","down","up","_setPanDelta","_setZoomDelta","_onFocus","blur","_onBlur","_addHooks","_removeHooks","_focused","docEl","scrollTo","panDelta","_panKeys","codes","_zoomKeys","altKey","ctrlKey","metaKey","wheelDebounceTime","wheelPxPerZoomLevel","ScrollWheelZoom","_onWheelScroll","_delta","debounce","_lastMousePos","_timer","_performZoom","d2","d3","d4","tap","tapTolerance","Tap","_fireClick","_holdTimeout","_isTapValid","_simulateEvent","touchmove","simulatedEvent","createEvent","_simulatedClick","initMouseEvent","dispatchEvent","touchZoom","bounceAtZoomLimits","TouchZoom","_onTouchStart","_zooming","_centerPoint","_startLatLng","_pinchStartLatLng","_startDist","_startZoom","_onTouchMove","_onTouchEnd","moveFn","refresh_interval","acars_uri","update_uri","pirep_uri","pirep_link_uri","positions","aircraft_icon","units","aircraftIcon","centerCoords","markers_list","pannedToFlight","layerFlights","layerSelFlight","layerSelFlightFeature","layerSelFlightLayer","liveMapController","pirep","pireps","has_data","controller","focusMarker","drawRoute","route","Geodesic","fromGeoJson","onFlightClick","pirep_id","geojson_uri","$","model","updateMap","flightGeoJson","geoJSON","popup_html","latlon","rotationAngle","heading","setInterval","onFeaturePointClick","circleMarker","route_points","planned_route_line","actual_route_points","actual_route_line","live_map","plannedRouteLayer","steps","actualRouteLayer","String","Provider","arg","providerName","variantName","variants","variantOptions","variant","Util","forceHTTP","attributionReplacer","attr","attributionName","layerOpts","OpenStreetMap","Mapnik","BlackAndWhite","DE","France","HOT","OpenSeaMap","OpenTopoMap","Thunderforest","OpenCycleMap","Transport","TransportDark","Landscape","Outdoors","OpenMapSurfer","Roads","AdminBounds","Grayscale","Hydda","Full","Base","RoadsAndLabels","MapQuestOpen","ext","OSM","Aerial","HybridOverlay","MapBox","Stamen","Toner","TonerBackground","TonerHybrid","TonerLines","TonerLabels","TonerLite","Watercolor","Terrain","TerrainBackground","TopOSMRelief","TopOSMFeatures","Esri","WorldStreetMap","DeLorme","WorldTopoMap","WorldImagery","WorldTerrain","WorldShadedRelief","WorldPhysical","OceanBasemap","NatGeoWorldMap","WorldGrayCanvas","OpenWeatherMap","Clouds","CloudsClassic","Precipitation","PrecipitationClassic","Rain","RainClassic","Pressure","PressureContour","Wind","Temperature","Snow","HERE","mapID","base","normalDay","normalDayCustom","normalDayGrey","normalDayMobile","normalDayGreyMobile","normalDayTransit","normalDayTransitMobile","normalNight","normalNightMobile","normalNightGrey","normalNightGreyMobile","carnavDayGrey","hybridDay","hybridDayMobile","pedestrianDay","pedestrianNight","satelliteDay","terrainDay","terrainDayMobile","Acetate","basemap","terrain","foreground","roads","labels","hillshading","FreeMapSK","MtbMap","CartoDB","Positron","PositronNoLabels","DarkMatter","DarkMatterNoLabels","HikeBike","HillShading","BasemapAT","grau","highdpi","orthofoto","NASAGIBS","tilematrixset","ModisTerraTrueColorCR","ModisTerraBands367CR","ViirsEarthAtNight2012","ModisTerraLSTDay","ModisTerraSnowCover","ModisTerraAOD","ModisTerraChlorophyll","proto_initIcon","proto_setPos","oldIE","DomUtil","rotationOrigin","_applyRotation","setRotationAngle","angle","setRotationOrigin","setPrototypeOf","__proto__","o","ellipsoid","toRadians","toDegrees","mod","wrap360","direct","EPSILON","g","M","E","O","P","D","EvalError","G","N","_","bearing","inverse","q","I","C","A","B","J","T","U","initialBearing","NaN","finalBearing","intersection","asin","midpoint","geodesic","recursiveMidpoint","multiLineString","lineString","splitLine","splitMultiLineString","circle","splitCircle","multilineDistance","updateStatistics","distanceArray","totalDistance","reduce","vertices","statistics","geom","updateGeometry","GeodesicCircle","geodesiccircle","GeodesicCircleClass","GeodesicLine","mobileWebkit","mobileWebkit3d","mobileGecko","Browser","delay","DomEvent","addListener","removeListener","tanh","createMap","closestPointOnSegment","LineUtil","PolyUtil","layerGroup","featureGroup","polyline","polygon","geoJson","imageOverlay","VideoOverlay","videoOverlay","video","SVGOverlay","svgOverlay","DivIcon","divIcon","gridLayer","tileLayerWMS","Rectangle","rectangle","Projection","latLng","oldL","noConflict","factory","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","runClearTimeout","Item","noop","nextTick","browser","env","argv","versions","removeAllListeners","emit","prependListener","prependOnceListener","binding","cwd","chdir","dir","umask","runtime","Op","hasOwn","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","state","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","async","iter","object","reverse","skipTempReset","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","Rivets","bindMethod","jQuery","unbindMethod","_ref","__bind","me","__slice","__hasProp","__extends","child","__indexOf","extensions","binders","components","adapters","templateDelimiters","rootInterface","preloadData","executeFunctions","iterationAlias","modelName","view","models","configure","descriptor","option","View","component","scope","HTMLElement","bindEvent","unbindEvent","getInputValue","$el","is","_i","_len","_results","selected","TypeParser","primitive","keypath","string","TextTemplateParser","delimiters","lastIndex","lastToken","substring","tokens","els","_base","_j","_len1","_ref1","_ref2","_ref3","_ref4","_ref5","publish","sync","unbind","select","traverse","build","buildBinding","bindingRegExp","jquery","declaration","dependencies","pipes","bindings","_this","block","childNode","parser","nodeType","createTextNode","_k","childNodes","binder","priority","attribute","attributes","identifier","nodeName","_bound","ComponentBinding","publishes","Binding","getValue","set","eventHandler","formattedValue","parseFormatterArguments","parseTarget","observe","setBinder","formatterObservers","routine","sightglass","root","observer","formatterIndex","ai","processedArgs","fi","formatter","dependency","unobserve","fiReversed","lastformatterIndex","setValue","_super","locals","observers","upstreamObservers","camelCase","grouped","_ref6","_ref7","bound","componentView","TextBinding","textContent","innerText","show","hide","unchecked","createComment","nested","nextSibling","unless","iterated","collection","previous","_len2","cloneNode","elClass","counter","weakmap","weakReference","_name","callbacks","cleanupWeakReference","ref","pointers","stubFunction","original","observeMutations","functions","unobserveMutations","idx","desc","getOwnPropertyDescriptor","newValue","cb","Observer","objectPath","realize","tokenize","interfaces","chr","unreached","oldValue","action","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","definition","nmd","paths","icao","fromICAO","toICAO","airport_lookup","calculate_distance"],"mappings":"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","file":"/assets/admin/js/app.js","sourcesContent":["module.exports = require(\"regenerator-runtime\");\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","/**\n * Before you edit these, read the documentation on how these files are compiled:\n * https://docs.phpvms.net/developers/building-assets\n *\n * Edits here don't take place until you compile these assets and then upload them.\n */\n\n/**\n * Simple browser storage interface\n */\nexport default class Storage {\n constructor(name, default_value) {\n this.name = name;\n\n // Read the object from storage; if it doesn't exist, set\n // it to the default value\n const st = window.localStorage.getItem(this.name);\n if (!st) {\n console.log('Nothing found in storage, starting from default');\n this.data = default_value;\n } else {\n console.log('Found in storage: ', st);\n this.data = JSON.parse(st);\n }\n }\n\n /**\n * Save to local storage\n */\n save() {\n window.localStorage.setItem(this.name, JSON.stringify(this.data));\n }\n\n /**\n * Return a list from a given key\n *\n * @param {String} key\n *\n * @returns {Array|*}\n */\n getList(key) {\n if (!(key in this.data)) {\n return [];\n }\n\n return this.data[key];\n }\n\n /**\n * Add `value` to a given `key`\n *\n * @param {string} key\n * @param {*} value\n */\n addToList(key, value) {\n if (!(key in this.data)) {\n this.data[key] = [];\n }\n\n const index = this.data[key].indexOf(value);\n if (index === -1) {\n this.data[key].push(value);\n }\n }\n\n /**\n * Remove `value` from the given `key`\n *\n * @param {String} key\n * @param {*} value\n */\n removeFromList(key, value) {\n if (!(key in this.data)) {\n return;\n }\n\n const index = this.data[key].indexOf(value);\n if (index !== -1) {\n this.data[key].splice(index, 1);\n }\n }\n}\n","/**\n * Before you edit these, read the documentation on how these files are compiled:\n * https://docs.phpvms.net/developers/building-assets\n *\n * Edits here don't take place until you compile these assets and then upload them.\n */\n\n/**\n * Bootstrap any Javascript libraries required\n */\n\nimport Storage from './storage';\nimport config from './config';\nimport request from './request';\n\nwindow.axios = require('axios');\n\n/**\n * Container for phpVMS specific functions\n */\nwindow.phpvms = {\n config,\n request,\n Storage,\n};\n\nrequire('./common');\n","/**\n * Before you edit these, read the documentation on how these files are compiled:\n * https://docs.phpvms.net/developers/building-assets\n *\n * Edits here don't take place until you compile these assets and then upload them.\n */\n\nconst rivets = require('rivets');\n\n/**\n * Generic formatter to prepend\n *\n * @param value\n * @param prepend\n *\n * @returns {*}\n */\nrivets.formatters.prepend = function (value, prepend) {\n return prepend + value;\n};\n\n/**\n * Format minutes into HHh MMm\n *\n * @param value\n *\n * @returns {string}\n */\nrivets.formatters.time_hm = function (value) {\n const hours = Math.floor(value / 60);\n const mins = value % 60;\n return `${hours}h ${mins}m`;\n};\n\n/**\n *\n * @param value\n * @param len\n *\n * @returns {boolean}\n */\nrivets.formatters.gt = (value, len) => value.length > len;\n\n/**\n *\n * @param value\n * @param len\n *\n * @returns {boolean}\n */\nrivets.formatters.lt = (value, len) => value.length < len;\n\n/**\n *\n * @param value\n * @param len\n *\n * @returns {boolean}\n */\nrivets.formatters.eq = (value, len) => value.length > len;\n\n/**\n * Use a default value if value is null or blank\n *\n * @param value Value to use\n * @param def Default value to use if value is null\n */\nrivets.formatters.fallback = (value, def) => value || def;\n","/**\n * Before you edit these, read the documentation on how these files are compiled:\n * https://docs.phpvms.net/developers/building-assets\n *\n * Edits here don't take place until you compile these assets and then upload them.\n */\n\nconst base_url = document.head.querySelector('meta[name=\"base-url\"]');\nconst token = document.head.querySelector('meta[name=\"csrf-token\"]');\nconst api_key = document.head.querySelector('meta[name=\"api-key\"]');\n\nexport default {\n api_key: api_key.content || '',\n base_url: base_url.content || '',\n csrf_token: token.content || '',\n};\n","/**\n * Before you edit these, read the documentation on how these files are compiled:\n * https://docs.phpvms.net/developers/building-assets\n *\n * Edits here don't take place until you compile these assets and then upload them.\n * Available providers: https://leaflet-extras.github.io/leaflet-providers/preview/\n */\n\nconst leaflet = require('leaflet');\nrequire('leaflet-providers');\n\nexport default (_opts) => {\n const opts = Object.assign({\n render_elem: 'map',\n center: [29.98139, -95.33374],\n zoom: 5,\n maxZoom: 10,\n layers: [],\n set_marker: false,\n leafletOptions: {},\n }, _opts);\n\n const leafletOptions = Object.assign({\n center: opts.center,\n zoom: opts.zoom,\n scrollWheelZoom: false,\n providers: {},\n }, opts.leafletOptions);\n\n // Check if any providers are listed; if not, set the default\n if (Object.entries(leafletOptions.providers).length === 0) {\n leafletOptions.providers = {\n 'Esri.WorldStreetMap': {},\n };\n }\n\n const map = leaflet.map('map', leafletOptions);\n\n // eslint-disable-next-line guard-for-in,no-restricted-syntax\n for (const key in leafletOptions.providers) {\n leaflet.tileLayer\n .provider(key, leafletOptions.providers[key])\n .addTo(map);\n }\n\n return map;\n};\n","/**\n * Before you edit these, read the documentation on how these files are compiled:\n * https://docs.phpvms.net/developers/building-assets\n *\n * Edits here don't take place until you compile these assets and then upload them.\n */\n\nconst leaflet = require('leaflet');\n\n/**\n * Add a WMS layer to a map. opts must be:\n * {\n * url: '',\n * params: {}\n * }\n * @param map\n * @param opts\n */\nexport function addWMSLayer(map, opts) {\n if (opts.url === '') {\n return null;\n }\n\n opts.params = Object.assign({\n format: 'image/png',\n transparent: true,\n maxZoom: 14,\n minZoom: 4,\n }, opts.params);\n\n const mlayer = leaflet.tileLayer.wms(\n opts.url, opts.params,\n );\n\n mlayer.addTo(map);\n\n return mlayer;\n}\n\n/**\n * Show a popup\n * @param feature\n * @param layer\n */\nexport function showFeaturePopup(feature, layer) {\n let popup_html = '';\n if (feature.properties && feature.properties.popup) {\n popup_html += feature.properties.popup;\n }\n\n layer.bindPopup(popup_html);\n}\n","/**\n * Before you edit these, read the documentation on how these files are compiled:\n * https://docs.phpvms.net/developers/building-assets\n *\n * Edits here don't take place until you compile these assets and then upload them.\n */\n\nimport draw_base_map from './base_map';\nimport { addWMSLayer } from './helpers';\n\nconst leaflet = require('leaflet');\n\n/**\n * Render a map with the airspace, etc around a given set of coords\n * e.g, the airport map\n * @param {Object} _opts\n */\nexport default (_opts) => {\n const opts = Object.assign({\n render_elem: 'map',\n overlay_elem: '',\n lat: 0,\n lon: 0,\n zoom: 12,\n layers: [],\n set_marker: true,\n marker_popup: '',\n\n // Passed from the config/maps.php file\n metar_wms: {\n url: '',\n params: {},\n },\n }, _opts);\n\n const map = draw_base_map(opts);\n const coords = [opts.lat, opts.lon];\n console.log('Applying coords', coords);\n\n map.setView(coords, opts.zoom);\n if (opts.set_marker === true) {\n leaflet.marker(coords).addTo(map).bindPopup(opts.marker_popup);\n }\n\n if (opts.metar_wms.url !== '') {\n addWMSLayer(map, opts.metar_wms);\n }\n\n return map;\n};\n","/**\n * Before you edit these, read the documentation on how these files are compiled:\n * https://docs.phpvms.net/developers/building-assets\n *\n * Edits here don't take place until you compile these assets and then upload them.\n */\n\nexport const PLAN_ROUTE_COLOR = '#8B008B';\nexport const ACTUAL_ROUTE_COLOR = '#067ec1';\nexport const CIRCLE_COLOR = '#056093';\n","/* @preserve\n * Leaflet 1.7.1, a JS library for interactive maps. http://leafletjs.com\n * (c) 2010-2019 Vladimir Agafonkin, (c) 2010-2011 CloudMade\n */\n\nvar version = \"1.7.1\";\n\n/*\r\n * @namespace Util\r\n *\r\n * Various utility functions, used by Leaflet internally.\r\n */\r\n\r\n// @function extend(dest: Object, src?: Object): Object\r\n// Merges the properties of the `src` object (or multiple objects) into `dest` object and returns the latter. Has an `L.extend` shortcut.\r\nfunction extend(dest) {\r\n\tvar i, j, len, src;\r\n\r\n\tfor (j = 1, len = arguments.length; j < len; j++) {\r\n\t\tsrc = arguments[j];\r\n\t\tfor (i in src) {\r\n\t\t\tdest[i] = src[i];\r\n\t\t}\r\n\t}\r\n\treturn dest;\r\n}\r\n\r\n// @function create(proto: Object, properties?: Object): Object\r\n// Compatibility polyfill for [Object.create](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/create)\r\nvar create = Object.create || (function () {\r\n\tfunction F() {}\r\n\treturn function (proto) {\r\n\t\tF.prototype = proto;\r\n\t\treturn new F();\r\n\t};\r\n})();\r\n\r\n// @function bind(fn: Function, …): Function\r\n// Returns a new function bound to the arguments passed, like [Function.prototype.bind](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\r\n// Has a `L.bind()` shortcut.\r\nfunction bind(fn, obj) {\r\n\tvar slice = Array.prototype.slice;\r\n\r\n\tif (fn.bind) {\r\n\t\treturn fn.bind.apply(fn, slice.call(arguments, 1));\r\n\t}\r\n\r\n\tvar args = slice.call(arguments, 2);\r\n\r\n\treturn function () {\r\n\t\treturn fn.apply(obj, args.length ? args.concat(slice.call(arguments)) : arguments);\r\n\t};\r\n}\r\n\r\n// @property lastId: Number\r\n// Last unique ID used by [`stamp()`](#util-stamp)\r\nvar lastId = 0;\r\n\r\n// @function stamp(obj: Object): Number\r\n// Returns the unique ID of an object, assigning it one if it doesn't have it.\r\nfunction stamp(obj) {\r\n\t/*eslint-disable */\r\n\tobj._leaflet_id = obj._leaflet_id || ++lastId;\r\n\treturn obj._leaflet_id;\r\n\t/* eslint-enable */\r\n}\r\n\r\n// @function throttle(fn: Function, time: Number, context: Object): Function\r\n// Returns a function which executes function `fn` with the given scope `context`\r\n// (so that the `this` keyword refers to `context` inside `fn`'s code). The function\r\n// `fn` will be called no more than one time per given amount of `time`. The arguments\r\n// received by the bound function will be any arguments passed when binding the\r\n// function, followed by any arguments passed when invoking the bound function.\r\n// Has an `L.throttle` shortcut.\r\nfunction throttle(fn, time, context) {\r\n\tvar lock, args, wrapperFn, later;\r\n\r\n\tlater = function () {\r\n\t\t// reset lock and call if queued\r\n\t\tlock = false;\r\n\t\tif (args) {\r\n\t\t\twrapperFn.apply(context, args);\r\n\t\t\targs = false;\r\n\t\t}\r\n\t};\r\n\r\n\twrapperFn = function () {\r\n\t\tif (lock) {\r\n\t\t\t// called too soon, queue to call later\r\n\t\t\targs = arguments;\r\n\r\n\t\t} else {\r\n\t\t\t// call and lock until later\r\n\t\t\tfn.apply(context, arguments);\r\n\t\t\tsetTimeout(later, time);\r\n\t\t\tlock = true;\r\n\t\t}\r\n\t};\r\n\r\n\treturn wrapperFn;\r\n}\r\n\r\n// @function wrapNum(num: Number, range: Number[], includeMax?: Boolean): Number\r\n// Returns the number `num` modulo `range` in such a way so it lies within\r\n// `range[0]` and `range[1]`. The returned value will be always smaller than\r\n// `range[1]` unless `includeMax` is set to `true`.\r\nfunction wrapNum(x, range, includeMax) {\r\n\tvar max = range[1],\r\n\t min = range[0],\r\n\t d = max - min;\r\n\treturn x === max && includeMax ? x : ((x - min) % d + d) % d + min;\r\n}\r\n\r\n// @function falseFn(): Function\r\n// Returns a function which always returns `false`.\r\nfunction falseFn() { return false; }\r\n\r\n// @function formatNum(num: Number, digits?: Number): Number\r\n// Returns the number `num` rounded to `digits` decimals, or to 6 decimals by default.\r\nfunction formatNum(num, digits) {\r\n\tvar pow = Math.pow(10, (digits === undefined ? 6 : digits));\r\n\treturn Math.round(num * pow) / pow;\r\n}\r\n\r\n// @function trim(str: String): String\r\n// Compatibility polyfill for [String.prototype.trim](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim)\r\nfunction trim(str) {\r\n\treturn str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\r\n}\r\n\r\n// @function splitWords(str: String): String[]\r\n// Trims and splits the string on whitespace and returns the array of parts.\r\nfunction splitWords(str) {\r\n\treturn trim(str).split(/\\s+/);\r\n}\r\n\r\n// @function setOptions(obj: Object, options: Object): Object\r\n// Merges the given properties to the `options` of the `obj` object, returning the resulting options. See `Class options`. Has an `L.setOptions` shortcut.\r\nfunction setOptions(obj, options) {\r\n\tif (!Object.prototype.hasOwnProperty.call(obj, 'options')) {\r\n\t\tobj.options = obj.options ? create(obj.options) : {};\r\n\t}\r\n\tfor (var i in options) {\r\n\t\tobj.options[i] = options[i];\r\n\t}\r\n\treturn obj.options;\r\n}\r\n\r\n// @function getParamString(obj: Object, existingUrl?: String, uppercase?: Boolean): String\r\n// Converts an object into a parameter URL string, e.g. `{a: \"foo\", b: \"bar\"}`\r\n// translates to `'?a=foo&b=bar'`. If `existingUrl` is set, the parameters will\r\n// be appended at the end. If `uppercase` is `true`, the parameter names will\r\n// be uppercased (e.g. `'?A=foo&B=bar'`)\r\nfunction getParamString(obj, existingUrl, uppercase) {\r\n\tvar params = [];\r\n\tfor (var i in obj) {\r\n\t\tparams.push(encodeURIComponent(uppercase ? i.toUpperCase() : i) + '=' + encodeURIComponent(obj[i]));\r\n\t}\r\n\treturn ((!existingUrl || existingUrl.indexOf('?') === -1) ? '?' : '&') + params.join('&');\r\n}\r\n\r\nvar templateRe = /\\{ *([\\w_-]+) *\\}/g;\r\n\r\n// @function template(str: String, data: Object): String\r\n// Simple templating facility, accepts a template string of the form `'Hello {a}, {b}'`\r\n// and a data object like `{a: 'foo', b: 'bar'}`, returns evaluated string\r\n// `('Hello foo, bar')`. You can also specify functions instead of strings for\r\n// data values — they will be evaluated passing `data` as an argument.\r\nfunction template(str, data) {\r\n\treturn str.replace(templateRe, function (str, key) {\r\n\t\tvar value = data[key];\r\n\r\n\t\tif (value === undefined) {\r\n\t\t\tthrow new Error('No value provided for variable ' + str);\r\n\r\n\t\t} else if (typeof value === 'function') {\r\n\t\t\tvalue = value(data);\r\n\t\t}\r\n\t\treturn value;\r\n\t});\r\n}\r\n\r\n// @function isArray(obj): Boolean\r\n// Compatibility polyfill for [Array.isArray](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray)\r\nvar isArray = Array.isArray || function (obj) {\r\n\treturn (Object.prototype.toString.call(obj) === '[object Array]');\r\n};\r\n\r\n// @function indexOf(array: Array, el: Object): Number\r\n// Compatibility polyfill for [Array.prototype.indexOf](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf)\r\nfunction indexOf(array, el) {\r\n\tfor (var i = 0; i < array.length; i++) {\r\n\t\tif (array[i] === el) { return i; }\r\n\t}\r\n\treturn -1;\r\n}\r\n\r\n// @property emptyImageUrl: String\r\n// Data URI string containing a base64-encoded empty GIF image.\r\n// Used as a hack to free memory from unused images on WebKit-powered\r\n// mobile devices (by setting image `src` to this string).\r\nvar emptyImageUrl = 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=';\r\n\r\n// inspired by http://paulirish.com/2011/requestanimationframe-for-smart-animating/\r\n\r\nfunction getPrefixed(name) {\r\n\treturn window['webkit' + name] || window['moz' + name] || window['ms' + name];\r\n}\r\n\r\nvar lastTime = 0;\r\n\r\n// fallback for IE 7-8\r\nfunction timeoutDefer(fn) {\r\n\tvar time = +new Date(),\r\n\t timeToCall = Math.max(0, 16 - (time - lastTime));\r\n\r\n\tlastTime = time + timeToCall;\r\n\treturn window.setTimeout(fn, timeToCall);\r\n}\r\n\r\nvar requestFn = window.requestAnimationFrame || getPrefixed('RequestAnimationFrame') || timeoutDefer;\r\nvar cancelFn = window.cancelAnimationFrame || getPrefixed('CancelAnimationFrame') ||\r\n\t\tgetPrefixed('CancelRequestAnimationFrame') || function (id) { window.clearTimeout(id); };\r\n\r\n// @function requestAnimFrame(fn: Function, context?: Object, immediate?: Boolean): Number\r\n// Schedules `fn` to be executed when the browser repaints. `fn` is bound to\r\n// `context` if given. When `immediate` is set, `fn` is called immediately if\r\n// the browser doesn't have native support for\r\n// [`window.requestAnimationFrame`](https://developer.mozilla.org/docs/Web/API/window/requestAnimationFrame),\r\n// otherwise it's delayed. Returns a request ID that can be used to cancel the request.\r\nfunction requestAnimFrame(fn, context, immediate) {\r\n\tif (immediate && requestFn === timeoutDefer) {\r\n\t\tfn.call(context);\r\n\t} else {\r\n\t\treturn requestFn.call(window, bind(fn, context));\r\n\t}\r\n}\r\n\r\n// @function cancelAnimFrame(id: Number): undefined\r\n// Cancels a previous `requestAnimFrame`. See also [window.cancelAnimationFrame](https://developer.mozilla.org/docs/Web/API/window/cancelAnimationFrame).\r\nfunction cancelAnimFrame(id) {\r\n\tif (id) {\r\n\t\tcancelFn.call(window, id);\r\n\t}\r\n}\n\nvar Util = ({\n extend: extend,\n create: create,\n bind: bind,\n get lastId () { return lastId; },\n stamp: stamp,\n throttle: throttle,\n wrapNum: wrapNum,\n falseFn: falseFn,\n formatNum: formatNum,\n trim: trim,\n splitWords: splitWords,\n setOptions: setOptions,\n getParamString: getParamString,\n template: template,\n isArray: isArray,\n indexOf: indexOf,\n emptyImageUrl: emptyImageUrl,\n requestFn: requestFn,\n cancelFn: cancelFn,\n requestAnimFrame: requestAnimFrame,\n cancelAnimFrame: cancelAnimFrame\n});\n\n// @class Class\r\n// @aka L.Class\r\n\r\n// @section\r\n// @uninheritable\r\n\r\n// Thanks to John Resig and Dean Edwards for inspiration!\r\n\r\nfunction Class() {}\r\n\r\nClass.extend = function (props) {\r\n\r\n\t// @function extend(props: Object): Function\r\n\t// [Extends the current class](#class-inheritance) given the properties to be included.\r\n\t// Returns a Javascript function that is a class constructor (to be called with `new`).\r\n\tvar NewClass = function () {\r\n\r\n\t\t// call the constructor\r\n\t\tif (this.initialize) {\r\n\t\t\tthis.initialize.apply(this, arguments);\r\n\t\t}\r\n\r\n\t\t// call all constructor hooks\r\n\t\tthis.callInitHooks();\r\n\t};\r\n\r\n\tvar parentProto = NewClass.__super__ = this.prototype;\r\n\r\n\tvar proto = create(parentProto);\r\n\tproto.constructor = NewClass;\r\n\r\n\tNewClass.prototype = proto;\r\n\r\n\t// inherit parent's statics\r\n\tfor (var i in this) {\r\n\t\tif (Object.prototype.hasOwnProperty.call(this, i) && i !== 'prototype' && i !== '__super__') {\r\n\t\t\tNewClass[i] = this[i];\r\n\t\t}\r\n\t}\r\n\r\n\t// mix static properties into the class\r\n\tif (props.statics) {\r\n\t\textend(NewClass, props.statics);\r\n\t\tdelete props.statics;\r\n\t}\r\n\r\n\t// mix includes into the prototype\r\n\tif (props.includes) {\r\n\t\tcheckDeprecatedMixinEvents(props.includes);\r\n\t\textend.apply(null, [proto].concat(props.includes));\r\n\t\tdelete props.includes;\r\n\t}\r\n\r\n\t// merge options\r\n\tif (proto.options) {\r\n\t\tprops.options = extend(create(proto.options), props.options);\r\n\t}\r\n\r\n\t// mix given properties into the prototype\r\n\textend(proto, props);\r\n\r\n\tproto._initHooks = [];\r\n\r\n\t// add method for calling all hooks\r\n\tproto.callInitHooks = function () {\r\n\r\n\t\tif (this._initHooksCalled) { return; }\r\n\r\n\t\tif (parentProto.callInitHooks) {\r\n\t\t\tparentProto.callInitHooks.call(this);\r\n\t\t}\r\n\r\n\t\tthis._initHooksCalled = true;\r\n\r\n\t\tfor (var i = 0, len = proto._initHooks.length; i < len; i++) {\r\n\t\t\tproto._initHooks[i].call(this);\r\n\t\t}\r\n\t};\r\n\r\n\treturn NewClass;\r\n};\r\n\r\n\r\n// @function include(properties: Object): this\r\n// [Includes a mixin](#class-includes) into the current class.\r\nClass.include = function (props) {\r\n\textend(this.prototype, props);\r\n\treturn this;\r\n};\r\n\r\n// @function mergeOptions(options: Object): this\r\n// [Merges `options`](#class-options) into the defaults of the class.\r\nClass.mergeOptions = function (options) {\r\n\textend(this.prototype.options, options);\r\n\treturn this;\r\n};\r\n\r\n// @function addInitHook(fn: Function): this\r\n// Adds a [constructor hook](#class-constructor-hooks) to the class.\r\nClass.addInitHook = function (fn) { // (Function) || (String, args...)\r\n\tvar args = Array.prototype.slice.call(arguments, 1);\r\n\r\n\tvar init = typeof fn === 'function' ? fn : function () {\r\n\t\tthis[fn].apply(this, args);\r\n\t};\r\n\r\n\tthis.prototype._initHooks = this.prototype._initHooks || [];\r\n\tthis.prototype._initHooks.push(init);\r\n\treturn this;\r\n};\r\n\r\nfunction checkDeprecatedMixinEvents(includes) {\r\n\tif (typeof L === 'undefined' || !L || !L.Mixin) { return; }\r\n\r\n\tincludes = isArray(includes) ? includes : [includes];\r\n\r\n\tfor (var i = 0; i < includes.length; i++) {\r\n\t\tif (includes[i] === L.Mixin.Events) {\r\n\t\t\tconsole.warn('Deprecated include of L.Mixin.Events: ' +\r\n\t\t\t\t'this property will be removed in future releases, ' +\r\n\t\t\t\t'please inherit from L.Evented instead.', new Error().stack);\r\n\t\t}\r\n\t}\r\n}\n\n/*\r\n * @class Evented\r\n * @aka L.Evented\r\n * @inherits Class\r\n *\r\n * A set of methods shared between event-powered classes (like `Map` and `Marker`). Generally, events allow you to execute some function when something happens with an object (e.g. the user clicks on the map, causing the map to fire `'click'` event).\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * map.on('click', function(e) {\r\n * \talert(e.latlng);\r\n * } );\r\n * ```\r\n *\r\n * Leaflet deals with event listeners by reference, so if you want to add a listener and then remove it, define it as a function:\r\n *\r\n * ```js\r\n * function onClick(e) { ... }\r\n *\r\n * map.on('click', onClick);\r\n * map.off('click', onClick);\r\n * ```\r\n */\r\n\r\nvar Events = {\r\n\t/* @method on(type: String, fn: Function, context?: Object): this\r\n\t * Adds a listener function (`fn`) to a particular event type of the object. You can optionally specify the context of the listener (object the this keyword will point to). You can also pass several space-separated types (e.g. `'click dblclick'`).\r\n\t *\r\n\t * @alternative\r\n\t * @method on(eventMap: Object): this\r\n\t * Adds a set of type/listener pairs, e.g. `{click: onClick, mousemove: onMouseMove}`\r\n\t */\r\n\ton: function (types, fn, context) {\r\n\r\n\t\t// types can be a map of types/handlers\r\n\t\tif (typeof types === 'object') {\r\n\t\t\tfor (var type in types) {\r\n\t\t\t\t// we don't process space-separated events here for performance;\r\n\t\t\t\t// it's a hot path since Layer uses the on(obj) syntax\r\n\t\t\t\tthis._on(type, types[type], fn);\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\t\t\t// types can be a string of space-separated words\r\n\t\t\ttypes = splitWords(types);\r\n\r\n\t\t\tfor (var i = 0, len = types.length; i < len; i++) {\r\n\t\t\t\tthis._on(types[i], fn, context);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t/* @method off(type: String, fn?: Function, context?: Object): this\r\n\t * Removes a previously added listener function. If no function is specified, it will remove all the listeners of that particular event from the object. Note that if you passed a custom context to `on`, you must pass the same context to `off` in order to remove the listener.\r\n\t *\r\n\t * @alternative\r\n\t * @method off(eventMap: Object): this\r\n\t * Removes a set of type/listener pairs.\r\n\t *\r\n\t * @alternative\r\n\t * @method off: this\r\n\t * Removes all listeners to all events on the object. This includes implicitly attached events.\r\n\t */\r\n\toff: function (types, fn, context) {\r\n\r\n\t\tif (!types) {\r\n\t\t\t// clear all listeners if called without arguments\r\n\t\t\tdelete this._events;\r\n\r\n\t\t} else if (typeof types === 'object') {\r\n\t\t\tfor (var type in types) {\r\n\t\t\t\tthis._off(type, types[type], fn);\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\t\t\ttypes = splitWords(types);\r\n\r\n\t\t\tfor (var i = 0, len = types.length; i < len; i++) {\r\n\t\t\t\tthis._off(types[i], fn, context);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// attach listener (without syntactic sugar now)\r\n\t_on: function (type, fn, context) {\r\n\t\tthis._events = this._events || {};\r\n\r\n\t\t/* get/init listeners for type */\r\n\t\tvar typeListeners = this._events[type];\r\n\t\tif (!typeListeners) {\r\n\t\t\ttypeListeners = [];\r\n\t\t\tthis._events[type] = typeListeners;\r\n\t\t}\r\n\r\n\t\tif (context === this) {\r\n\t\t\t// Less memory footprint.\r\n\t\t\tcontext = undefined;\r\n\t\t}\r\n\t\tvar newListener = {fn: fn, ctx: context},\r\n\t\t listeners = typeListeners;\r\n\r\n\t\t// check if fn already there\r\n\t\tfor (var i = 0, len = listeners.length; i < len; i++) {\r\n\t\t\tif (listeners[i].fn === fn && listeners[i].ctx === context) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlisteners.push(newListener);\r\n\t},\r\n\r\n\t_off: function (type, fn, context) {\r\n\t\tvar listeners,\r\n\t\t i,\r\n\t\t len;\r\n\r\n\t\tif (!this._events) { return; }\r\n\r\n\t\tlisteners = this._events[type];\r\n\r\n\t\tif (!listeners) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!fn) {\r\n\t\t\t// Set all removed listeners to noop so they are not called if remove happens in fire\r\n\t\t\tfor (i = 0, len = listeners.length; i < len; i++) {\r\n\t\t\t\tlisteners[i].fn = falseFn;\r\n\t\t\t}\r\n\t\t\t// clear all listeners for a type if function isn't specified\r\n\t\t\tdelete this._events[type];\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (context === this) {\r\n\t\t\tcontext = undefined;\r\n\t\t}\r\n\r\n\t\tif (listeners) {\r\n\r\n\t\t\t// find fn and remove it\r\n\t\t\tfor (i = 0, len = listeners.length; i < len; i++) {\r\n\t\t\t\tvar l = listeners[i];\r\n\t\t\t\tif (l.ctx !== context) { continue; }\r\n\t\t\t\tif (l.fn === fn) {\r\n\r\n\t\t\t\t\t// set the removed listener to noop so that's not called if remove happens in fire\r\n\t\t\t\t\tl.fn = falseFn;\r\n\r\n\t\t\t\t\tif (this._firingCount) {\r\n\t\t\t\t\t\t/* copy array in case events are being fired */\r\n\t\t\t\t\t\tthis._events[type] = listeners = listeners.slice();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlisteners.splice(i, 1);\r\n\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t// @method fire(type: String, data?: Object, propagate?: Boolean): this\r\n\t// Fires an event of the specified type. You can optionally provide an data\r\n\t// object — the first argument of the listener function will contain its\r\n\t// properties. The event can optionally be propagated to event parents.\r\n\tfire: function (type, data, propagate) {\r\n\t\tif (!this.listens(type, propagate)) { return this; }\r\n\r\n\t\tvar event = extend({}, data, {\r\n\t\t\ttype: type,\r\n\t\t\ttarget: this,\r\n\t\t\tsourceTarget: data && data.sourceTarget || this\r\n\t\t});\r\n\r\n\t\tif (this._events) {\r\n\t\t\tvar listeners = this._events[type];\r\n\r\n\t\t\tif (listeners) {\r\n\t\t\t\tthis._firingCount = (this._firingCount + 1) || 1;\r\n\t\t\t\tfor (var i = 0, len = listeners.length; i < len; i++) {\r\n\t\t\t\t\tvar l = listeners[i];\r\n\t\t\t\t\tl.fn.call(l.ctx || this, event);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._firingCount--;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (propagate) {\r\n\t\t\t// propagate the event to parents (set with addEventParent)\r\n\t\t\tthis._propagateEvent(event);\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method listens(type: String): Boolean\r\n\t// Returns `true` if a particular event type has any listeners attached to it.\r\n\tlistens: function (type, propagate) {\r\n\t\tvar listeners = this._events && this._events[type];\r\n\t\tif (listeners && listeners.length) { return true; }\r\n\r\n\t\tif (propagate) {\r\n\t\t\t// also check parents for listeners if event propagates\r\n\t\t\tfor (var id in this._eventParents) {\r\n\t\t\t\tif (this._eventParents[id].listens(type, propagate)) { return true; }\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\t// @method once(…): this\r\n\t// Behaves as [`on(…)`](#evented-on), except the listener will only get fired once and then removed.\r\n\tonce: function (types, fn, context) {\r\n\r\n\t\tif (typeof types === 'object') {\r\n\t\t\tfor (var type in types) {\r\n\t\t\t\tthis.once(type, types[type], fn);\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t}\r\n\r\n\t\tvar handler = bind(function () {\r\n\t\t\tthis\r\n\t\t\t .off(types, fn, context)\r\n\t\t\t .off(types, handler, context);\r\n\t\t}, this);\r\n\r\n\t\t// add a listener that's executed once and removed after that\r\n\t\treturn this\r\n\t\t .on(types, fn, context)\r\n\t\t .on(types, handler, context);\r\n\t},\r\n\r\n\t// @method addEventParent(obj: Evented): this\r\n\t// Adds an event parent - an `Evented` that will receive propagated events\r\n\taddEventParent: function (obj) {\r\n\t\tthis._eventParents = this._eventParents || {};\r\n\t\tthis._eventParents[stamp(obj)] = obj;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method removeEventParent(obj: Evented): this\r\n\t// Removes an event parent, so it will stop receiving propagated events\r\n\tremoveEventParent: function (obj) {\r\n\t\tif (this._eventParents) {\r\n\t\t\tdelete this._eventParents[stamp(obj)];\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\t_propagateEvent: function (e) {\r\n\t\tfor (var id in this._eventParents) {\r\n\t\t\tthis._eventParents[id].fire(e.type, extend({\r\n\t\t\t\tlayer: e.target,\r\n\t\t\t\tpropagatedFrom: e.target\r\n\t\t\t}, e), true);\r\n\t\t}\r\n\t}\r\n};\r\n\r\n// aliases; we should ditch those eventually\r\n\r\n// @method addEventListener(…): this\r\n// Alias to [`on(…)`](#evented-on)\r\nEvents.addEventListener = Events.on;\r\n\r\n// @method removeEventListener(…): this\r\n// Alias to [`off(…)`](#evented-off)\r\n\r\n// @method clearAllEventListeners(…): this\r\n// Alias to [`off()`](#evented-off)\r\nEvents.removeEventListener = Events.clearAllEventListeners = Events.off;\r\n\r\n// @method addOneTimeEventListener(…): this\r\n// Alias to [`once(…)`](#evented-once)\r\nEvents.addOneTimeEventListener = Events.once;\r\n\r\n// @method fireEvent(…): this\r\n// Alias to [`fire(…)`](#evented-fire)\r\nEvents.fireEvent = Events.fire;\r\n\r\n// @method hasEventListeners(…): Boolean\r\n// Alias to [`listens(…)`](#evented-listens)\r\nEvents.hasEventListeners = Events.listens;\r\n\r\nvar Evented = Class.extend(Events);\n\n/*\r\n * @class Point\r\n * @aka L.Point\r\n *\r\n * Represents a point with `x` and `y` coordinates in pixels.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var point = L.point(200, 300);\r\n * ```\r\n *\r\n * All Leaflet methods and options that accept `Point` objects also accept them in a simple Array form (unless noted otherwise), so these lines are equivalent:\r\n *\r\n * ```js\r\n * map.panBy([200, 300]);\r\n * map.panBy(L.point(200, 300));\r\n * ```\r\n *\r\n * Note that `Point` does not inherit from Leaflet's `Class` object,\r\n * which means new classes can't inherit from it, and new methods\r\n * can't be added to it with the `include` function.\r\n */\r\n\r\nfunction Point(x, y, round) {\r\n\t// @property x: Number; The `x` coordinate of the point\r\n\tthis.x = (round ? Math.round(x) : x);\r\n\t// @property y: Number; The `y` coordinate of the point\r\n\tthis.y = (round ? Math.round(y) : y);\r\n}\r\n\r\nvar trunc = Math.trunc || function (v) {\r\n\treturn v > 0 ? Math.floor(v) : Math.ceil(v);\r\n};\r\n\r\nPoint.prototype = {\r\n\r\n\t// @method clone(): Point\r\n\t// Returns a copy of the current point.\r\n\tclone: function () {\r\n\t\treturn new Point(this.x, this.y);\r\n\t},\r\n\r\n\t// @method add(otherPoint: Point): Point\r\n\t// Returns the result of addition of the current and the given points.\r\n\tadd: function (point) {\r\n\t\t// non-destructive, returns a new point\r\n\t\treturn this.clone()._add(toPoint(point));\r\n\t},\r\n\r\n\t_add: function (point) {\r\n\t\t// destructive, used directly for performance in situations where it's safe to modify existing point\r\n\t\tthis.x += point.x;\r\n\t\tthis.y += point.y;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method subtract(otherPoint: Point): Point\r\n\t// Returns the result of subtraction of the given point from the current.\r\n\tsubtract: function (point) {\r\n\t\treturn this.clone()._subtract(toPoint(point));\r\n\t},\r\n\r\n\t_subtract: function (point) {\r\n\t\tthis.x -= point.x;\r\n\t\tthis.y -= point.y;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method divideBy(num: Number): Point\r\n\t// Returns the result of division of the current point by the given number.\r\n\tdivideBy: function (num) {\r\n\t\treturn this.clone()._divideBy(num);\r\n\t},\r\n\r\n\t_divideBy: function (num) {\r\n\t\tthis.x /= num;\r\n\t\tthis.y /= num;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method multiplyBy(num: Number): Point\r\n\t// Returns the result of multiplication of the current point by the given number.\r\n\tmultiplyBy: function (num) {\r\n\t\treturn this.clone()._multiplyBy(num);\r\n\t},\r\n\r\n\t_multiplyBy: function (num) {\r\n\t\tthis.x *= num;\r\n\t\tthis.y *= num;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method scaleBy(scale: Point): Point\r\n\t// Multiply each coordinate of the current point by each coordinate of\r\n\t// `scale`. In linear algebra terms, multiply the point by the\r\n\t// [scaling matrix](https://en.wikipedia.org/wiki/Scaling_%28geometry%29#Matrix_representation)\r\n\t// defined by `scale`.\r\n\tscaleBy: function (point) {\r\n\t\treturn new Point(this.x * point.x, this.y * point.y);\r\n\t},\r\n\r\n\t// @method unscaleBy(scale: Point): Point\r\n\t// Inverse of `scaleBy`. Divide each coordinate of the current point by\r\n\t// each coordinate of `scale`.\r\n\tunscaleBy: function (point) {\r\n\t\treturn new Point(this.x / point.x, this.y / point.y);\r\n\t},\r\n\r\n\t// @method round(): Point\r\n\t// Returns a copy of the current point with rounded coordinates.\r\n\tround: function () {\r\n\t\treturn this.clone()._round();\r\n\t},\r\n\r\n\t_round: function () {\r\n\t\tthis.x = Math.round(this.x);\r\n\t\tthis.y = Math.round(this.y);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method floor(): Point\r\n\t// Returns a copy of the current point with floored coordinates (rounded down).\r\n\tfloor: function () {\r\n\t\treturn this.clone()._floor();\r\n\t},\r\n\r\n\t_floor: function () {\r\n\t\tthis.x = Math.floor(this.x);\r\n\t\tthis.y = Math.floor(this.y);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method ceil(): Point\r\n\t// Returns a copy of the current point with ceiled coordinates (rounded up).\r\n\tceil: function () {\r\n\t\treturn this.clone()._ceil();\r\n\t},\r\n\r\n\t_ceil: function () {\r\n\t\tthis.x = Math.ceil(this.x);\r\n\t\tthis.y = Math.ceil(this.y);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method trunc(): Point\r\n\t// Returns a copy of the current point with truncated coordinates (rounded towards zero).\r\n\ttrunc: function () {\r\n\t\treturn this.clone()._trunc();\r\n\t},\r\n\r\n\t_trunc: function () {\r\n\t\tthis.x = trunc(this.x);\r\n\t\tthis.y = trunc(this.y);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method distanceTo(otherPoint: Point): Number\r\n\t// Returns the cartesian distance between the current and the given points.\r\n\tdistanceTo: function (point) {\r\n\t\tpoint = toPoint(point);\r\n\r\n\t\tvar x = point.x - this.x,\r\n\t\t y = point.y - this.y;\r\n\r\n\t\treturn Math.sqrt(x * x + y * y);\r\n\t},\r\n\r\n\t// @method equals(otherPoint: Point): Boolean\r\n\t// Returns `true` if the given point has the same coordinates.\r\n\tequals: function (point) {\r\n\t\tpoint = toPoint(point);\r\n\r\n\t\treturn point.x === this.x &&\r\n\t\t point.y === this.y;\r\n\t},\r\n\r\n\t// @method contains(otherPoint: Point): Boolean\r\n\t// Returns `true` if both coordinates of the given point are less than the corresponding current point coordinates (in absolute values).\r\n\tcontains: function (point) {\r\n\t\tpoint = toPoint(point);\r\n\r\n\t\treturn Math.abs(point.x) <= Math.abs(this.x) &&\r\n\t\t Math.abs(point.y) <= Math.abs(this.y);\r\n\t},\r\n\r\n\t// @method toString(): String\r\n\t// Returns a string representation of the point for debugging purposes.\r\n\ttoString: function () {\r\n\t\treturn 'Point(' +\r\n\t\t formatNum(this.x) + ', ' +\r\n\t\t formatNum(this.y) + ')';\r\n\t}\r\n};\r\n\r\n// @factory L.point(x: Number, y: Number, round?: Boolean)\r\n// Creates a Point object with the given `x` and `y` coordinates. If optional `round` is set to true, rounds the `x` and `y` values.\r\n\r\n// @alternative\r\n// @factory L.point(coords: Number[])\r\n// Expects an array of the form `[x, y]` instead.\r\n\r\n// @alternative\r\n// @factory L.point(coords: Object)\r\n// Expects a plain object of the form `{x: Number, y: Number}` instead.\r\nfunction toPoint(x, y, round) {\r\n\tif (x instanceof Point) {\r\n\t\treturn x;\r\n\t}\r\n\tif (isArray(x)) {\r\n\t\treturn new Point(x[0], x[1]);\r\n\t}\r\n\tif (x === undefined || x === null) {\r\n\t\treturn x;\r\n\t}\r\n\tif (typeof x === 'object' && 'x' in x && 'y' in x) {\r\n\t\treturn new Point(x.x, x.y);\r\n\t}\r\n\treturn new Point(x, y, round);\r\n}\n\n/*\r\n * @class Bounds\r\n * @aka L.Bounds\r\n *\r\n * Represents a rectangular area in pixel coordinates.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var p1 = L.point(10, 10),\r\n * p2 = L.point(40, 60),\r\n * bounds = L.bounds(p1, p2);\r\n * ```\r\n *\r\n * All Leaflet methods that accept `Bounds` objects also accept them in a simple Array form (unless noted otherwise), so the bounds example above can be passed like this:\r\n *\r\n * ```js\r\n * otherBounds.intersects([[10, 10], [40, 60]]);\r\n * ```\r\n *\r\n * Note that `Bounds` does not inherit from Leaflet's `Class` object,\r\n * which means new classes can't inherit from it, and new methods\r\n * can't be added to it with the `include` function.\r\n */\r\n\r\nfunction Bounds(a, b) {\r\n\tif (!a) { return; }\r\n\r\n\tvar points = b ? [a, b] : a;\r\n\r\n\tfor (var i = 0, len = points.length; i < len; i++) {\r\n\t\tthis.extend(points[i]);\r\n\t}\r\n}\r\n\r\nBounds.prototype = {\r\n\t// @method extend(point: Point): this\r\n\t// Extends the bounds to contain the given point.\r\n\textend: function (point) { // (Point)\r\n\t\tpoint = toPoint(point);\r\n\r\n\t\t// @property min: Point\r\n\t\t// The top left corner of the rectangle.\r\n\t\t// @property max: Point\r\n\t\t// The bottom right corner of the rectangle.\r\n\t\tif (!this.min && !this.max) {\r\n\t\t\tthis.min = point.clone();\r\n\t\t\tthis.max = point.clone();\r\n\t\t} else {\r\n\t\t\tthis.min.x = Math.min(point.x, this.min.x);\r\n\t\t\tthis.max.x = Math.max(point.x, this.max.x);\r\n\t\t\tthis.min.y = Math.min(point.y, this.min.y);\r\n\t\t\tthis.max.y = Math.max(point.y, this.max.y);\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method getCenter(round?: Boolean): Point\r\n\t// Returns the center point of the bounds.\r\n\tgetCenter: function (round) {\r\n\t\treturn new Point(\r\n\t\t (this.min.x + this.max.x) / 2,\r\n\t\t (this.min.y + this.max.y) / 2, round);\r\n\t},\r\n\r\n\t// @method getBottomLeft(): Point\r\n\t// Returns the bottom-left point of the bounds.\r\n\tgetBottomLeft: function () {\r\n\t\treturn new Point(this.min.x, this.max.y);\r\n\t},\r\n\r\n\t// @method getTopRight(): Point\r\n\t// Returns the top-right point of the bounds.\r\n\tgetTopRight: function () { // -> Point\r\n\t\treturn new Point(this.max.x, this.min.y);\r\n\t},\r\n\r\n\t// @method getTopLeft(): Point\r\n\t// Returns the top-left point of the bounds (i.e. [`this.min`](#bounds-min)).\r\n\tgetTopLeft: function () {\r\n\t\treturn this.min; // left, top\r\n\t},\r\n\r\n\t// @method getBottomRight(): Point\r\n\t// Returns the bottom-right point of the bounds (i.e. [`this.max`](#bounds-max)).\r\n\tgetBottomRight: function () {\r\n\t\treturn this.max; // right, bottom\r\n\t},\r\n\r\n\t// @method getSize(): Point\r\n\t// Returns the size of the given bounds\r\n\tgetSize: function () {\r\n\t\treturn this.max.subtract(this.min);\r\n\t},\r\n\r\n\t// @method contains(otherBounds: Bounds): Boolean\r\n\t// Returns `true` if the rectangle contains the given one.\r\n\t// @alternative\r\n\t// @method contains(point: Point): Boolean\r\n\t// Returns `true` if the rectangle contains the given point.\r\n\tcontains: function (obj) {\r\n\t\tvar min, max;\r\n\r\n\t\tif (typeof obj[0] === 'number' || obj instanceof Point) {\r\n\t\t\tobj = toPoint(obj);\r\n\t\t} else {\r\n\t\t\tobj = toBounds(obj);\r\n\t\t}\r\n\r\n\t\tif (obj instanceof Bounds) {\r\n\t\t\tmin = obj.min;\r\n\t\t\tmax = obj.max;\r\n\t\t} else {\r\n\t\t\tmin = max = obj;\r\n\t\t}\r\n\r\n\t\treturn (min.x >= this.min.x) &&\r\n\t\t (max.x <= this.max.x) &&\r\n\t\t (min.y >= this.min.y) &&\r\n\t\t (max.y <= this.max.y);\r\n\t},\r\n\r\n\t// @method intersects(otherBounds: Bounds): Boolean\r\n\t// Returns `true` if the rectangle intersects the given bounds. Two bounds\r\n\t// intersect if they have at least one point in common.\r\n\tintersects: function (bounds) { // (Bounds) -> Boolean\r\n\t\tbounds = toBounds(bounds);\r\n\r\n\t\tvar min = this.min,\r\n\t\t max = this.max,\r\n\t\t min2 = bounds.min,\r\n\t\t max2 = bounds.max,\r\n\t\t xIntersects = (max2.x >= min.x) && (min2.x <= max.x),\r\n\t\t yIntersects = (max2.y >= min.y) && (min2.y <= max.y);\r\n\r\n\t\treturn xIntersects && yIntersects;\r\n\t},\r\n\r\n\t// @method overlaps(otherBounds: Bounds): Boolean\r\n\t// Returns `true` if the rectangle overlaps the given bounds. Two bounds\r\n\t// overlap if their intersection is an area.\r\n\toverlaps: function (bounds) { // (Bounds) -> Boolean\r\n\t\tbounds = toBounds(bounds);\r\n\r\n\t\tvar min = this.min,\r\n\t\t max = this.max,\r\n\t\t min2 = bounds.min,\r\n\t\t max2 = bounds.max,\r\n\t\t xOverlaps = (max2.x > min.x) && (min2.x < max.x),\r\n\t\t yOverlaps = (max2.y > min.y) && (min2.y < max.y);\r\n\r\n\t\treturn xOverlaps && yOverlaps;\r\n\t},\r\n\r\n\tisValid: function () {\r\n\t\treturn !!(this.min && this.max);\r\n\t}\r\n};\r\n\r\n\r\n// @factory L.bounds(corner1: Point, corner2: Point)\r\n// Creates a Bounds object from two corners coordinate pairs.\r\n// @alternative\r\n// @factory L.bounds(points: Point[])\r\n// Creates a Bounds object from the given array of points.\r\nfunction toBounds(a, b) {\r\n\tif (!a || a instanceof Bounds) {\r\n\t\treturn a;\r\n\t}\r\n\treturn new Bounds(a, b);\r\n}\n\n/*\r\n * @class LatLngBounds\r\n * @aka L.LatLngBounds\r\n *\r\n * Represents a rectangular geographical area on a map.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var corner1 = L.latLng(40.712, -74.227),\r\n * corner2 = L.latLng(40.774, -74.125),\r\n * bounds = L.latLngBounds(corner1, corner2);\r\n * ```\r\n *\r\n * All Leaflet methods that accept LatLngBounds objects also accept them in a simple Array form (unless noted otherwise), so the bounds example above can be passed like this:\r\n *\r\n * ```js\r\n * map.fitBounds([\r\n * \t[40.712, -74.227],\r\n * \t[40.774, -74.125]\r\n * ]);\r\n * ```\r\n *\r\n * Caution: if the area crosses the antimeridian (often confused with the International Date Line), you must specify corners _outside_ the [-180, 180] degrees longitude range.\r\n *\r\n * Note that `LatLngBounds` does not inherit from Leaflet's `Class` object,\r\n * which means new classes can't inherit from it, and new methods\r\n * can't be added to it with the `include` function.\r\n */\r\n\r\nfunction LatLngBounds(corner1, corner2) { // (LatLng, LatLng) or (LatLng[])\r\n\tif (!corner1) { return; }\r\n\r\n\tvar latlngs = corner2 ? [corner1, corner2] : corner1;\r\n\r\n\tfor (var i = 0, len = latlngs.length; i < len; i++) {\r\n\t\tthis.extend(latlngs[i]);\r\n\t}\r\n}\r\n\r\nLatLngBounds.prototype = {\r\n\r\n\t// @method extend(latlng: LatLng): this\r\n\t// Extend the bounds to contain the given point\r\n\r\n\t// @alternative\r\n\t// @method extend(otherBounds: LatLngBounds): this\r\n\t// Extend the bounds to contain the given bounds\r\n\textend: function (obj) {\r\n\t\tvar sw = this._southWest,\r\n\t\t ne = this._northEast,\r\n\t\t sw2, ne2;\r\n\r\n\t\tif (obj instanceof LatLng) {\r\n\t\t\tsw2 = obj;\r\n\t\t\tne2 = obj;\r\n\r\n\t\t} else if (obj instanceof LatLngBounds) {\r\n\t\t\tsw2 = obj._southWest;\r\n\t\t\tne2 = obj._northEast;\r\n\r\n\t\t\tif (!sw2 || !ne2) { return this; }\r\n\r\n\t\t} else {\r\n\t\t\treturn obj ? this.extend(toLatLng(obj) || toLatLngBounds(obj)) : this;\r\n\t\t}\r\n\r\n\t\tif (!sw && !ne) {\r\n\t\t\tthis._southWest = new LatLng(sw2.lat, sw2.lng);\r\n\t\t\tthis._northEast = new LatLng(ne2.lat, ne2.lng);\r\n\t\t} else {\r\n\t\t\tsw.lat = Math.min(sw2.lat, sw.lat);\r\n\t\t\tsw.lng = Math.min(sw2.lng, sw.lng);\r\n\t\t\tne.lat = Math.max(ne2.lat, ne.lat);\r\n\t\t\tne.lng = Math.max(ne2.lng, ne.lng);\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method pad(bufferRatio: Number): LatLngBounds\r\n\t// Returns bounds created by extending or retracting the current bounds by a given ratio in each direction.\r\n\t// For example, a ratio of 0.5 extends the bounds by 50% in each direction.\r\n\t// Negative values will retract the bounds.\r\n\tpad: function (bufferRatio) {\r\n\t\tvar sw = this._southWest,\r\n\t\t ne = this._northEast,\r\n\t\t heightBuffer = Math.abs(sw.lat - ne.lat) * bufferRatio,\r\n\t\t widthBuffer = Math.abs(sw.lng - ne.lng) * bufferRatio;\r\n\r\n\t\treturn new LatLngBounds(\r\n\t\t new LatLng(sw.lat - heightBuffer, sw.lng - widthBuffer),\r\n\t\t new LatLng(ne.lat + heightBuffer, ne.lng + widthBuffer));\r\n\t},\r\n\r\n\t// @method getCenter(): LatLng\r\n\t// Returns the center point of the bounds.\r\n\tgetCenter: function () {\r\n\t\treturn new LatLng(\r\n\t\t (this._southWest.lat + this._northEast.lat) / 2,\r\n\t\t (this._southWest.lng + this._northEast.lng) / 2);\r\n\t},\r\n\r\n\t// @method getSouthWest(): LatLng\r\n\t// Returns the south-west point of the bounds.\r\n\tgetSouthWest: function () {\r\n\t\treturn this._southWest;\r\n\t},\r\n\r\n\t// @method getNorthEast(): LatLng\r\n\t// Returns the north-east point of the bounds.\r\n\tgetNorthEast: function () {\r\n\t\treturn this._northEast;\r\n\t},\r\n\r\n\t// @method getNorthWest(): LatLng\r\n\t// Returns the north-west point of the bounds.\r\n\tgetNorthWest: function () {\r\n\t\treturn new LatLng(this.getNorth(), this.getWest());\r\n\t},\r\n\r\n\t// @method getSouthEast(): LatLng\r\n\t// Returns the south-east point of the bounds.\r\n\tgetSouthEast: function () {\r\n\t\treturn new LatLng(this.getSouth(), this.getEast());\r\n\t},\r\n\r\n\t// @method getWest(): Number\r\n\t// Returns the west longitude of the bounds\r\n\tgetWest: function () {\r\n\t\treturn this._southWest.lng;\r\n\t},\r\n\r\n\t// @method getSouth(): Number\r\n\t// Returns the south latitude of the bounds\r\n\tgetSouth: function () {\r\n\t\treturn this._southWest.lat;\r\n\t},\r\n\r\n\t// @method getEast(): Number\r\n\t// Returns the east longitude of the bounds\r\n\tgetEast: function () {\r\n\t\treturn this._northEast.lng;\r\n\t},\r\n\r\n\t// @method getNorth(): Number\r\n\t// Returns the north latitude of the bounds\r\n\tgetNorth: function () {\r\n\t\treturn this._northEast.lat;\r\n\t},\r\n\r\n\t// @method contains(otherBounds: LatLngBounds): Boolean\r\n\t// Returns `true` if the rectangle contains the given one.\r\n\r\n\t// @alternative\r\n\t// @method contains (latlng: LatLng): Boolean\r\n\t// Returns `true` if the rectangle contains the given point.\r\n\tcontains: function (obj) { // (LatLngBounds) or (LatLng) -> Boolean\r\n\t\tif (typeof obj[0] === 'number' || obj instanceof LatLng || 'lat' in obj) {\r\n\t\t\tobj = toLatLng(obj);\r\n\t\t} else {\r\n\t\t\tobj = toLatLngBounds(obj);\r\n\t\t}\r\n\r\n\t\tvar sw = this._southWest,\r\n\t\t ne = this._northEast,\r\n\t\t sw2, ne2;\r\n\r\n\t\tif (obj instanceof LatLngBounds) {\r\n\t\t\tsw2 = obj.getSouthWest();\r\n\t\t\tne2 = obj.getNorthEast();\r\n\t\t} else {\r\n\t\t\tsw2 = ne2 = obj;\r\n\t\t}\r\n\r\n\t\treturn (sw2.lat >= sw.lat) && (ne2.lat <= ne.lat) &&\r\n\t\t (sw2.lng >= sw.lng) && (ne2.lng <= ne.lng);\r\n\t},\r\n\r\n\t// @method intersects(otherBounds: LatLngBounds): Boolean\r\n\t// Returns `true` if the rectangle intersects the given bounds. Two bounds intersect if they have at least one point in common.\r\n\tintersects: function (bounds) {\r\n\t\tbounds = toLatLngBounds(bounds);\r\n\r\n\t\tvar sw = this._southWest,\r\n\t\t ne = this._northEast,\r\n\t\t sw2 = bounds.getSouthWest(),\r\n\t\t ne2 = bounds.getNorthEast(),\r\n\r\n\t\t latIntersects = (ne2.lat >= sw.lat) && (sw2.lat <= ne.lat),\r\n\t\t lngIntersects = (ne2.lng >= sw.lng) && (sw2.lng <= ne.lng);\r\n\r\n\t\treturn latIntersects && lngIntersects;\r\n\t},\r\n\r\n\t// @method overlaps(otherBounds: LatLngBounds): Boolean\r\n\t// Returns `true` if the rectangle overlaps the given bounds. Two bounds overlap if their intersection is an area.\r\n\toverlaps: function (bounds) {\r\n\t\tbounds = toLatLngBounds(bounds);\r\n\r\n\t\tvar sw = this._southWest,\r\n\t\t ne = this._northEast,\r\n\t\t sw2 = bounds.getSouthWest(),\r\n\t\t ne2 = bounds.getNorthEast(),\r\n\r\n\t\t latOverlaps = (ne2.lat > sw.lat) && (sw2.lat < ne.lat),\r\n\t\t lngOverlaps = (ne2.lng > sw.lng) && (sw2.lng < ne.lng);\r\n\r\n\t\treturn latOverlaps && lngOverlaps;\r\n\t},\r\n\r\n\t// @method toBBoxString(): String\r\n\t// Returns a string with bounding box coordinates in a 'southwest_lng,southwest_lat,northeast_lng,northeast_lat' format. Useful for sending requests to web services that return geo data.\r\n\ttoBBoxString: function () {\r\n\t\treturn [this.getWest(), this.getSouth(), this.getEast(), this.getNorth()].join(',');\r\n\t},\r\n\r\n\t// @method equals(otherBounds: LatLngBounds, maxMargin?: Number): Boolean\r\n\t// Returns `true` if the rectangle is equivalent (within a small margin of error) to the given bounds. The margin of error can be overridden by setting `maxMargin` to a small number.\r\n\tequals: function (bounds, maxMargin) {\r\n\t\tif (!bounds) { return false; }\r\n\r\n\t\tbounds = toLatLngBounds(bounds);\r\n\r\n\t\treturn this._southWest.equals(bounds.getSouthWest(), maxMargin) &&\r\n\t\t this._northEast.equals(bounds.getNorthEast(), maxMargin);\r\n\t},\r\n\r\n\t// @method isValid(): Boolean\r\n\t// Returns `true` if the bounds are properly initialized.\r\n\tisValid: function () {\r\n\t\treturn !!(this._southWest && this._northEast);\r\n\t}\r\n};\r\n\r\n// TODO International date line?\r\n\r\n// @factory L.latLngBounds(corner1: LatLng, corner2: LatLng)\r\n// Creates a `LatLngBounds` object by defining two diagonally opposite corners of the rectangle.\r\n\r\n// @alternative\r\n// @factory L.latLngBounds(latlngs: LatLng[])\r\n// Creates a `LatLngBounds` object defined by the geographical points it contains. Very useful for zooming the map to fit a particular set of locations with [`fitBounds`](#map-fitbounds).\r\nfunction toLatLngBounds(a, b) {\r\n\tif (a instanceof LatLngBounds) {\r\n\t\treturn a;\r\n\t}\r\n\treturn new LatLngBounds(a, b);\r\n}\n\n/* @class LatLng\r\n * @aka L.LatLng\r\n *\r\n * Represents a geographical point with a certain latitude and longitude.\r\n *\r\n * @example\r\n *\r\n * ```\r\n * var latlng = L.latLng(50.5, 30.5);\r\n * ```\r\n *\r\n * All Leaflet methods that accept LatLng objects also accept them in a simple Array form and simple object form (unless noted otherwise), so these lines are equivalent:\r\n *\r\n * ```\r\n * map.panTo([50, 30]);\r\n * map.panTo({lon: 30, lat: 50});\r\n * map.panTo({lat: 50, lng: 30});\r\n * map.panTo(L.latLng(50, 30));\r\n * ```\r\n *\r\n * Note that `LatLng` does not inherit from Leaflet's `Class` object,\r\n * which means new classes can't inherit from it, and new methods\r\n * can't be added to it with the `include` function.\r\n */\r\n\r\nfunction LatLng(lat, lng, alt) {\r\n\tif (isNaN(lat) || isNaN(lng)) {\r\n\t\tthrow new Error('Invalid LatLng object: (' + lat + ', ' + lng + ')');\r\n\t}\r\n\r\n\t// @property lat: Number\r\n\t// Latitude in degrees\r\n\tthis.lat = +lat;\r\n\r\n\t// @property lng: Number\r\n\t// Longitude in degrees\r\n\tthis.lng = +lng;\r\n\r\n\t// @property alt: Number\r\n\t// Altitude in meters (optional)\r\n\tif (alt !== undefined) {\r\n\t\tthis.alt = +alt;\r\n\t}\r\n}\r\n\r\nLatLng.prototype = {\r\n\t// @method equals(otherLatLng: LatLng, maxMargin?: Number): Boolean\r\n\t// Returns `true` if the given `LatLng` point is at the same position (within a small margin of error). The margin of error can be overridden by setting `maxMargin` to a small number.\r\n\tequals: function (obj, maxMargin) {\r\n\t\tif (!obj) { return false; }\r\n\r\n\t\tobj = toLatLng(obj);\r\n\r\n\t\tvar margin = Math.max(\r\n\t\t Math.abs(this.lat - obj.lat),\r\n\t\t Math.abs(this.lng - obj.lng));\r\n\r\n\t\treturn margin <= (maxMargin === undefined ? 1.0E-9 : maxMargin);\r\n\t},\r\n\r\n\t// @method toString(): String\r\n\t// Returns a string representation of the point (for debugging purposes).\r\n\ttoString: function (precision) {\r\n\t\treturn 'LatLng(' +\r\n\t\t formatNum(this.lat, precision) + ', ' +\r\n\t\t formatNum(this.lng, precision) + ')';\r\n\t},\r\n\r\n\t// @method distanceTo(otherLatLng: LatLng): Number\r\n\t// Returns the distance (in meters) to the given `LatLng` calculated using the [Spherical Law of Cosines](https://en.wikipedia.org/wiki/Spherical_law_of_cosines).\r\n\tdistanceTo: function (other) {\r\n\t\treturn Earth.distance(this, toLatLng(other));\r\n\t},\r\n\r\n\t// @method wrap(): LatLng\r\n\t// Returns a new `LatLng` object with the longitude wrapped so it's always between -180 and +180 degrees.\r\n\twrap: function () {\r\n\t\treturn Earth.wrapLatLng(this);\r\n\t},\r\n\r\n\t// @method toBounds(sizeInMeters: Number): LatLngBounds\r\n\t// Returns a new `LatLngBounds` object in which each boundary is `sizeInMeters/2` meters apart from the `LatLng`.\r\n\ttoBounds: function (sizeInMeters) {\r\n\t\tvar latAccuracy = 180 * sizeInMeters / 40075017,\r\n\t\t lngAccuracy = latAccuracy / Math.cos((Math.PI / 180) * this.lat);\r\n\r\n\t\treturn toLatLngBounds(\r\n\t\t [this.lat - latAccuracy, this.lng - lngAccuracy],\r\n\t\t [this.lat + latAccuracy, this.lng + lngAccuracy]);\r\n\t},\r\n\r\n\tclone: function () {\r\n\t\treturn new LatLng(this.lat, this.lng, this.alt);\r\n\t}\r\n};\r\n\r\n\r\n\r\n// @factory L.latLng(latitude: Number, longitude: Number, altitude?: Number): LatLng\r\n// Creates an object representing a geographical point with the given latitude and longitude (and optionally altitude).\r\n\r\n// @alternative\r\n// @factory L.latLng(coords: Array): LatLng\r\n// Expects an array of the form `[Number, Number]` or `[Number, Number, Number]` instead.\r\n\r\n// @alternative\r\n// @factory L.latLng(coords: Object): LatLng\r\n// Expects an plain object of the form `{lat: Number, lng: Number}` or `{lat: Number, lng: Number, alt: Number}` instead.\r\n\r\nfunction toLatLng(a, b, c) {\r\n\tif (a instanceof LatLng) {\r\n\t\treturn a;\r\n\t}\r\n\tif (isArray(a) && typeof a[0] !== 'object') {\r\n\t\tif (a.length === 3) {\r\n\t\t\treturn new LatLng(a[0], a[1], a[2]);\r\n\t\t}\r\n\t\tif (a.length === 2) {\r\n\t\t\treturn new LatLng(a[0], a[1]);\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\tif (a === undefined || a === null) {\r\n\t\treturn a;\r\n\t}\r\n\tif (typeof a === 'object' && 'lat' in a) {\r\n\t\treturn new LatLng(a.lat, 'lng' in a ? a.lng : a.lon, a.alt);\r\n\t}\r\n\tif (b === undefined) {\r\n\t\treturn null;\r\n\t}\r\n\treturn new LatLng(a, b, c);\r\n}\n\n/*\r\n * @namespace CRS\r\n * @crs L.CRS.Base\r\n * Object that defines coordinate reference systems for projecting\r\n * geographical points into pixel (screen) coordinates and back (and to\r\n * coordinates in other units for [WMS](https://en.wikipedia.org/wiki/Web_Map_Service) services). See\r\n * [spatial reference system](http://en.wikipedia.org/wiki/Coordinate_reference_system).\r\n *\r\n * Leaflet defines the most usual CRSs by default. If you want to use a\r\n * CRS not defined by default, take a look at the\r\n * [Proj4Leaflet](https://github.com/kartena/Proj4Leaflet) plugin.\r\n *\r\n * Note that the CRS instances do not inherit from Leaflet's `Class` object,\r\n * and can't be instantiated. Also, new classes can't inherit from them,\r\n * and methods can't be added to them with the `include` function.\r\n */\r\n\r\nvar CRS = {\r\n\t// @method latLngToPoint(latlng: LatLng, zoom: Number): Point\r\n\t// Projects geographical coordinates into pixel coordinates for a given zoom.\r\n\tlatLngToPoint: function (latlng, zoom) {\r\n\t\tvar projectedPoint = this.projection.project(latlng),\r\n\t\t scale = this.scale(zoom);\r\n\r\n\t\treturn this.transformation._transform(projectedPoint, scale);\r\n\t},\r\n\r\n\t// @method pointToLatLng(point: Point, zoom: Number): LatLng\r\n\t// The inverse of `latLngToPoint`. Projects pixel coordinates on a given\r\n\t// zoom into geographical coordinates.\r\n\tpointToLatLng: function (point, zoom) {\r\n\t\tvar scale = this.scale(zoom),\r\n\t\t untransformedPoint = this.transformation.untransform(point, scale);\r\n\r\n\t\treturn this.projection.unproject(untransformedPoint);\r\n\t},\r\n\r\n\t// @method project(latlng: LatLng): Point\r\n\t// Projects geographical coordinates into coordinates in units accepted for\r\n\t// this CRS (e.g. meters for EPSG:3857, for passing it to WMS services).\r\n\tproject: function (latlng) {\r\n\t\treturn this.projection.project(latlng);\r\n\t},\r\n\r\n\t// @method unproject(point: Point): LatLng\r\n\t// Given a projected coordinate returns the corresponding LatLng.\r\n\t// The inverse of `project`.\r\n\tunproject: function (point) {\r\n\t\treturn this.projection.unproject(point);\r\n\t},\r\n\r\n\t// @method scale(zoom: Number): Number\r\n\t// Returns the scale used when transforming projected coordinates into\r\n\t// pixel coordinates for a particular zoom. For example, it returns\r\n\t// `256 * 2^zoom` for Mercator-based CRS.\r\n\tscale: function (zoom) {\r\n\t\treturn 256 * Math.pow(2, zoom);\r\n\t},\r\n\r\n\t// @method zoom(scale: Number): Number\r\n\t// Inverse of `scale()`, returns the zoom level corresponding to a scale\r\n\t// factor of `scale`.\r\n\tzoom: function (scale) {\r\n\t\treturn Math.log(scale / 256) / Math.LN2;\r\n\t},\r\n\r\n\t// @method getProjectedBounds(zoom: Number): Bounds\r\n\t// Returns the projection's bounds scaled and transformed for the provided `zoom`.\r\n\tgetProjectedBounds: function (zoom) {\r\n\t\tif (this.infinite) { return null; }\r\n\r\n\t\tvar b = this.projection.bounds,\r\n\t\t s = this.scale(zoom),\r\n\t\t min = this.transformation.transform(b.min, s),\r\n\t\t max = this.transformation.transform(b.max, s);\r\n\r\n\t\treturn new Bounds(min, max);\r\n\t},\r\n\r\n\t// @method distance(latlng1: LatLng, latlng2: LatLng): Number\r\n\t// Returns the distance between two geographical coordinates.\r\n\r\n\t// @property code: String\r\n\t// Standard code name of the CRS passed into WMS services (e.g. `'EPSG:3857'`)\r\n\t//\r\n\t// @property wrapLng: Number[]\r\n\t// An array of two numbers defining whether the longitude (horizontal) coordinate\r\n\t// axis wraps around a given range and how. Defaults to `[-180, 180]` in most\r\n\t// geographical CRSs. If `undefined`, the longitude axis does not wrap around.\r\n\t//\r\n\t// @property wrapLat: Number[]\r\n\t// Like `wrapLng`, but for the latitude (vertical) axis.\r\n\r\n\t// wrapLng: [min, max],\r\n\t// wrapLat: [min, max],\r\n\r\n\t// @property infinite: Boolean\r\n\t// If true, the coordinate space will be unbounded (infinite in both axes)\r\n\tinfinite: false,\r\n\r\n\t// @method wrapLatLng(latlng: LatLng): LatLng\r\n\t// Returns a `LatLng` where lat and lng has been wrapped according to the\r\n\t// CRS's `wrapLat` and `wrapLng` properties, if they are outside the CRS's bounds.\r\n\twrapLatLng: function (latlng) {\r\n\t\tvar lng = this.wrapLng ? wrapNum(latlng.lng, this.wrapLng, true) : latlng.lng,\r\n\t\t lat = this.wrapLat ? wrapNum(latlng.lat, this.wrapLat, true) : latlng.lat,\r\n\t\t alt = latlng.alt;\r\n\r\n\t\treturn new LatLng(lat, lng, alt);\r\n\t},\r\n\r\n\t// @method wrapLatLngBounds(bounds: LatLngBounds): LatLngBounds\r\n\t// Returns a `LatLngBounds` with the same size as the given one, ensuring\r\n\t// that its center is within the CRS's bounds.\r\n\t// Only accepts actual `L.LatLngBounds` instances, not arrays.\r\n\twrapLatLngBounds: function (bounds) {\r\n\t\tvar center = bounds.getCenter(),\r\n\t\t newCenter = this.wrapLatLng(center),\r\n\t\t latShift = center.lat - newCenter.lat,\r\n\t\t lngShift = center.lng - newCenter.lng;\r\n\r\n\t\tif (latShift === 0 && lngShift === 0) {\r\n\t\t\treturn bounds;\r\n\t\t}\r\n\r\n\t\tvar sw = bounds.getSouthWest(),\r\n\t\t ne = bounds.getNorthEast(),\r\n\t\t newSw = new LatLng(sw.lat - latShift, sw.lng - lngShift),\r\n\t\t newNe = new LatLng(ne.lat - latShift, ne.lng - lngShift);\r\n\r\n\t\treturn new LatLngBounds(newSw, newNe);\r\n\t}\r\n};\n\n/*\n * @namespace CRS\n * @crs L.CRS.Earth\n *\n * Serves as the base for CRS that are global such that they cover the earth.\n * Can only be used as the base for other CRS and cannot be used directly,\n * since it does not have a `code`, `projection` or `transformation`. `distance()` returns\n * meters.\n */\n\nvar Earth = extend({}, CRS, {\n\twrapLng: [-180, 180],\n\n\t// Mean Earth Radius, as recommended for use by\n\t// the International Union of Geodesy and Geophysics,\n\t// see http://rosettacode.org/wiki/Haversine_formula\n\tR: 6371000,\n\n\t// distance between two geographical points using spherical law of cosines approximation\n\tdistance: function (latlng1, latlng2) {\n\t\tvar rad = Math.PI / 180,\n\t\t lat1 = latlng1.lat * rad,\n\t\t lat2 = latlng2.lat * rad,\n\t\t sinDLat = Math.sin((latlng2.lat - latlng1.lat) * rad / 2),\n\t\t sinDLon = Math.sin((latlng2.lng - latlng1.lng) * rad / 2),\n\t\t a = sinDLat * sinDLat + Math.cos(lat1) * Math.cos(lat2) * sinDLon * sinDLon,\n\t\t c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n\t\treturn this.R * c;\n\t}\n});\n\n/*\r\n * @namespace Projection\r\n * @projection L.Projection.SphericalMercator\r\n *\r\n * Spherical Mercator projection — the most common projection for online maps,\r\n * used by almost all free and commercial tile providers. Assumes that Earth is\r\n * a sphere. Used by the `EPSG:3857` CRS.\r\n */\r\n\r\nvar earthRadius = 6378137;\r\n\r\nvar SphericalMercator = {\r\n\r\n\tR: earthRadius,\r\n\tMAX_LATITUDE: 85.0511287798,\r\n\r\n\tproject: function (latlng) {\r\n\t\tvar d = Math.PI / 180,\r\n\t\t max = this.MAX_LATITUDE,\r\n\t\t lat = Math.max(Math.min(max, latlng.lat), -max),\r\n\t\t sin = Math.sin(lat * d);\r\n\r\n\t\treturn new Point(\r\n\t\t\tthis.R * latlng.lng * d,\r\n\t\t\tthis.R * Math.log((1 + sin) / (1 - sin)) / 2);\r\n\t},\r\n\r\n\tunproject: function (point) {\r\n\t\tvar d = 180 / Math.PI;\r\n\r\n\t\treturn new LatLng(\r\n\t\t\t(2 * Math.atan(Math.exp(point.y / this.R)) - (Math.PI / 2)) * d,\r\n\t\t\tpoint.x * d / this.R);\r\n\t},\r\n\r\n\tbounds: (function () {\r\n\t\tvar d = earthRadius * Math.PI;\r\n\t\treturn new Bounds([-d, -d], [d, d]);\r\n\t})()\r\n};\n\n/*\r\n * @class Transformation\r\n * @aka L.Transformation\r\n *\r\n * Represents an affine transformation: a set of coefficients `a`, `b`, `c`, `d`\r\n * for transforming a point of a form `(x, y)` into `(a*x + b, c*y + d)` and doing\r\n * the reverse. Used by Leaflet in its projections code.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var transformation = L.transformation(2, 5, -1, 10),\r\n * \tp = L.point(1, 2),\r\n * \tp2 = transformation.transform(p), // L.point(7, 8)\r\n * \tp3 = transformation.untransform(p2); // L.point(1, 2)\r\n * ```\r\n */\r\n\r\n\r\n// factory new L.Transformation(a: Number, b: Number, c: Number, d: Number)\r\n// Creates a `Transformation` object with the given coefficients.\r\nfunction Transformation(a, b, c, d) {\r\n\tif (isArray(a)) {\r\n\t\t// use array properties\r\n\t\tthis._a = a[0];\r\n\t\tthis._b = a[1];\r\n\t\tthis._c = a[2];\r\n\t\tthis._d = a[3];\r\n\t\treturn;\r\n\t}\r\n\tthis._a = a;\r\n\tthis._b = b;\r\n\tthis._c = c;\r\n\tthis._d = d;\r\n}\r\n\r\nTransformation.prototype = {\r\n\t// @method transform(point: Point, scale?: Number): Point\r\n\t// Returns a transformed point, optionally multiplied by the given scale.\r\n\t// Only accepts actual `L.Point` instances, not arrays.\r\n\ttransform: function (point, scale) { // (Point, Number) -> Point\r\n\t\treturn this._transform(point.clone(), scale);\r\n\t},\r\n\r\n\t// destructive transform (faster)\r\n\t_transform: function (point, scale) {\r\n\t\tscale = scale || 1;\r\n\t\tpoint.x = scale * (this._a * point.x + this._b);\r\n\t\tpoint.y = scale * (this._c * point.y + this._d);\r\n\t\treturn point;\r\n\t},\r\n\r\n\t// @method untransform(point: Point, scale?: Number): Point\r\n\t// Returns the reverse transformation of the given point, optionally divided\r\n\t// by the given scale. Only accepts actual `L.Point` instances, not arrays.\r\n\tuntransform: function (point, scale) {\r\n\t\tscale = scale || 1;\r\n\t\treturn new Point(\r\n\t\t (point.x / scale - this._b) / this._a,\r\n\t\t (point.y / scale - this._d) / this._c);\r\n\t}\r\n};\r\n\r\n// factory L.transformation(a: Number, b: Number, c: Number, d: Number)\r\n\r\n// @factory L.transformation(a: Number, b: Number, c: Number, d: Number)\r\n// Instantiates a Transformation object with the given coefficients.\r\n\r\n// @alternative\r\n// @factory L.transformation(coefficients: Array): Transformation\r\n// Expects an coefficients array of the form\r\n// `[a: Number, b: Number, c: Number, d: Number]`.\r\n\r\nfunction toTransformation(a, b, c, d) {\r\n\treturn new Transformation(a, b, c, d);\r\n}\n\n/*\r\n * @namespace CRS\r\n * @crs L.CRS.EPSG3857\r\n *\r\n * The most common CRS for online maps, used by almost all free and commercial\r\n * tile providers. Uses Spherical Mercator projection. Set in by default in\r\n * Map's `crs` option.\r\n */\r\n\r\nvar EPSG3857 = extend({}, Earth, {\r\n\tcode: 'EPSG:3857',\r\n\tprojection: SphericalMercator,\r\n\r\n\ttransformation: (function () {\r\n\t\tvar scale = 0.5 / (Math.PI * SphericalMercator.R);\r\n\t\treturn toTransformation(scale, 0.5, -scale, 0.5);\r\n\t}())\r\n});\r\n\r\nvar EPSG900913 = extend({}, EPSG3857, {\r\n\tcode: 'EPSG:900913'\r\n});\n\n// @namespace SVG; @section\n// There are several static functions which can be called without instantiating L.SVG:\n\n// @function create(name: String): SVGElement\n// Returns a instance of [SVGElement](https://developer.mozilla.org/docs/Web/API/SVGElement),\n// corresponding to the class name passed. For example, using 'line' will return\n// an instance of [SVGLineElement](https://developer.mozilla.org/docs/Web/API/SVGLineElement).\nfunction svgCreate(name) {\n\treturn document.createElementNS('http://www.w3.org/2000/svg', name);\n}\n\n// @function pointsToPath(rings: Point[], closed: Boolean): String\n// Generates a SVG path string for multiple rings, with each ring turning\n// into \"M..L..L..\" instructions\nfunction pointsToPath(rings, closed) {\n\tvar str = '',\n\ti, j, len, len2, points, p;\n\n\tfor (i = 0, len = rings.length; i < len; i++) {\n\t\tpoints = rings[i];\n\n\t\tfor (j = 0, len2 = points.length; j < len2; j++) {\n\t\t\tp = points[j];\n\t\t\tstr += (j ? 'L' : 'M') + p.x + ' ' + p.y;\n\t\t}\n\n\t\t// closes the ring for polygons; \"x\" is VML syntax\n\t\tstr += closed ? (svg ? 'z' : 'x') : '';\n\t}\n\n\t// SVG complains about empty path strings\n\treturn str || 'M0 0';\n}\n\n/*\r\n * @namespace Browser\r\n * @aka L.Browser\r\n *\r\n * A namespace with static properties for browser/feature detection used by Leaflet internally.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * if (L.Browser.ielt9) {\r\n * alert('Upgrade your browser, dude!');\r\n * }\r\n * ```\r\n */\r\n\r\nvar style$1 = document.documentElement.style;\r\n\r\n// @property ie: Boolean; `true` for all Internet Explorer versions (not Edge).\r\nvar ie = 'ActiveXObject' in window;\r\n\r\n// @property ielt9: Boolean; `true` for Internet Explorer versions less than 9.\r\nvar ielt9 = ie && !document.addEventListener;\r\n\r\n// @property edge: Boolean; `true` for the Edge web browser.\r\nvar edge = 'msLaunchUri' in navigator && !('documentMode' in document);\r\n\r\n// @property webkit: Boolean;\r\n// `true` for webkit-based browsers like Chrome and Safari (including mobile versions).\r\nvar webkit = userAgentContains('webkit');\r\n\r\n// @property android: Boolean\r\n// `true` for any browser running on an Android platform.\r\nvar android = userAgentContains('android');\r\n\r\n// @property android23: Boolean; `true` for browsers running on Android 2 or Android 3.\r\nvar android23 = userAgentContains('android 2') || userAgentContains('android 3');\r\n\r\n/* See https://stackoverflow.com/a/17961266 for details on detecting stock Android */\r\nvar webkitVer = parseInt(/WebKit\\/([0-9]+)|$/.exec(navigator.userAgent)[1], 10); // also matches AppleWebKit\r\n// @property androidStock: Boolean; `true` for the Android stock browser (i.e. not Chrome)\r\nvar androidStock = android && userAgentContains('Google') && webkitVer < 537 && !('AudioNode' in window);\r\n\r\n// @property opera: Boolean; `true` for the Opera browser\r\nvar opera = !!window.opera;\r\n\r\n// @property chrome: Boolean; `true` for the Chrome browser.\r\nvar chrome = !edge && userAgentContains('chrome');\r\n\r\n// @property gecko: Boolean; `true` for gecko-based browsers like Firefox.\r\nvar gecko = userAgentContains('gecko') && !webkit && !opera && !ie;\r\n\r\n// @property safari: Boolean; `true` for the Safari browser.\r\nvar safari = !chrome && userAgentContains('safari');\r\n\r\nvar phantom = userAgentContains('phantom');\r\n\r\n// @property opera12: Boolean\r\n// `true` for the Opera browser supporting CSS transforms (version 12 or later).\r\nvar opera12 = 'OTransition' in style$1;\r\n\r\n// @property win: Boolean; `true` when the browser is running in a Windows platform\r\nvar win = navigator.platform.indexOf('Win') === 0;\r\n\r\n// @property ie3d: Boolean; `true` for all Internet Explorer versions supporting CSS transforms.\r\nvar ie3d = ie && ('transition' in style$1);\r\n\r\n// @property webkit3d: Boolean; `true` for webkit-based browsers supporting CSS transforms.\r\nvar webkit3d = ('WebKitCSSMatrix' in window) && ('m11' in new window.WebKitCSSMatrix()) && !android23;\r\n\r\n// @property gecko3d: Boolean; `true` for gecko-based browsers supporting CSS transforms.\r\nvar gecko3d = 'MozPerspective' in style$1;\r\n\r\n// @property any3d: Boolean\r\n// `true` for all browsers supporting CSS transforms.\r\nvar any3d = !window.L_DISABLE_3D && (ie3d || webkit3d || gecko3d) && !opera12 && !phantom;\r\n\r\n// @property mobile: Boolean; `true` for all browsers running in a mobile device.\r\nvar mobile = typeof orientation !== 'undefined' || userAgentContains('mobile');\r\n\r\n// @property mobileWebkit: Boolean; `true` for all webkit-based browsers in a mobile device.\r\nvar mobileWebkit = mobile && webkit;\r\n\r\n// @property mobileWebkit3d: Boolean\r\n// `true` for all webkit-based browsers in a mobile device supporting CSS transforms.\r\nvar mobileWebkit3d = mobile && webkit3d;\r\n\r\n// @property msPointer: Boolean\r\n// `true` for browsers implementing the Microsoft touch events model (notably IE10).\r\nvar msPointer = !window.PointerEvent && window.MSPointerEvent;\r\n\r\n// @property pointer: Boolean\r\n// `true` for all browsers supporting [pointer events](https://msdn.microsoft.com/en-us/library/dn433244%28v=vs.85%29.aspx).\r\nvar pointer = !!(window.PointerEvent || msPointer);\r\n\r\n// @property touch: Boolean\r\n// `true` for all browsers supporting [touch events](https://developer.mozilla.org/docs/Web/API/Touch_events).\r\n// This does not necessarily mean that the browser is running in a computer with\r\n// a touchscreen, it only means that the browser is capable of understanding\r\n// touch events.\r\nvar touch = !window.L_NO_TOUCH && (pointer || 'ontouchstart' in window ||\r\n\t\t(window.DocumentTouch && document instanceof window.DocumentTouch));\r\n\r\n// @property mobileOpera: Boolean; `true` for the Opera browser in a mobile device.\r\nvar mobileOpera = mobile && opera;\r\n\r\n// @property mobileGecko: Boolean\r\n// `true` for gecko-based browsers running in a mobile device.\r\nvar mobileGecko = mobile && gecko;\r\n\r\n// @property retina: Boolean\r\n// `true` for browsers on a high-resolution \"retina\" screen or on any screen when browser's display zoom is more than 100%.\r\nvar retina = (window.devicePixelRatio || (window.screen.deviceXDPI / window.screen.logicalXDPI)) > 1;\r\n\r\n// @property passiveEvents: Boolean\r\n// `true` for browsers that support passive events.\r\nvar passiveEvents = (function () {\r\n\tvar supportsPassiveOption = false;\r\n\ttry {\r\n\t\tvar opts = Object.defineProperty({}, 'passive', {\r\n\t\t\tget: function () { // eslint-disable-line getter-return\r\n\t\t\t\tsupportsPassiveOption = true;\r\n\t\t\t}\r\n\t\t});\r\n\t\twindow.addEventListener('testPassiveEventSupport', falseFn, opts);\r\n\t\twindow.removeEventListener('testPassiveEventSupport', falseFn, opts);\r\n\t} catch (e) {\r\n\t\t// Errors can safely be ignored since this is only a browser support test.\r\n\t}\r\n\treturn supportsPassiveOption;\r\n}());\r\n\r\n// @property canvas: Boolean\r\n// `true` when the browser supports [``](https://developer.mozilla.org/docs/Web/API/Canvas_API).\r\nvar canvas = (function () {\r\n\treturn !!document.createElement('canvas').getContext;\r\n}());\r\n\r\n// @property svg: Boolean\r\n// `true` when the browser supports [SVG](https://developer.mozilla.org/docs/Web/SVG).\r\nvar svg = !!(document.createElementNS && svgCreate('svg').createSVGRect);\r\n\r\n// @property vml: Boolean\r\n// `true` if the browser supports [VML](https://en.wikipedia.org/wiki/Vector_Markup_Language).\r\nvar vml = !svg && (function () {\r\n\ttry {\r\n\t\tvar div = document.createElement('div');\r\n\t\tdiv.innerHTML = '';\r\n\r\n\t\tvar shape = div.firstChild;\r\n\t\tshape.style.behavior = 'url(#default#VML)';\r\n\r\n\t\treturn shape && (typeof shape.adj === 'object');\r\n\r\n\t} catch (e) {\r\n\t\treturn false;\r\n\t}\r\n}());\r\n\r\n\r\nfunction userAgentContains(str) {\r\n\treturn navigator.userAgent.toLowerCase().indexOf(str) >= 0;\r\n}\n\nvar Browser = ({\n ie: ie,\n ielt9: ielt9,\n edge: edge,\n webkit: webkit,\n android: android,\n android23: android23,\n androidStock: androidStock,\n opera: opera,\n chrome: chrome,\n gecko: gecko,\n safari: safari,\n phantom: phantom,\n opera12: opera12,\n win: win,\n ie3d: ie3d,\n webkit3d: webkit3d,\n gecko3d: gecko3d,\n any3d: any3d,\n mobile: mobile,\n mobileWebkit: mobileWebkit,\n mobileWebkit3d: mobileWebkit3d,\n msPointer: msPointer,\n pointer: pointer,\n touch: touch,\n mobileOpera: mobileOpera,\n mobileGecko: mobileGecko,\n retina: retina,\n passiveEvents: passiveEvents,\n canvas: canvas,\n svg: svg,\n vml: vml\n});\n\n/*\n * Extends L.DomEvent to provide touch support for Internet Explorer and Windows-based devices.\n */\n\n\nvar POINTER_DOWN = msPointer ? 'MSPointerDown' : 'pointerdown';\nvar POINTER_MOVE = msPointer ? 'MSPointerMove' : 'pointermove';\nvar POINTER_UP = msPointer ? 'MSPointerUp' : 'pointerup';\nvar POINTER_CANCEL = msPointer ? 'MSPointerCancel' : 'pointercancel';\n\nvar _pointers = {};\nvar _pointerDocListener = false;\n\n// Provides a touch events wrapper for (ms)pointer events.\n// ref http://www.w3.org/TR/pointerevents/ https://www.w3.org/Bugs/Public/show_bug.cgi?id=22890\n\nfunction addPointerListener(obj, type, handler, id) {\n\tif (type === 'touchstart') {\n\t\t_addPointerStart(obj, handler, id);\n\n\t} else if (type === 'touchmove') {\n\t\t_addPointerMove(obj, handler, id);\n\n\t} else if (type === 'touchend') {\n\t\t_addPointerEnd(obj, handler, id);\n\t}\n\n\treturn this;\n}\n\nfunction removePointerListener(obj, type, id) {\n\tvar handler = obj['_leaflet_' + type + id];\n\n\tif (type === 'touchstart') {\n\t\tobj.removeEventListener(POINTER_DOWN, handler, false);\n\n\t} else if (type === 'touchmove') {\n\t\tobj.removeEventListener(POINTER_MOVE, handler, false);\n\n\t} else if (type === 'touchend') {\n\t\tobj.removeEventListener(POINTER_UP, handler, false);\n\t\tobj.removeEventListener(POINTER_CANCEL, handler, false);\n\t}\n\n\treturn this;\n}\n\nfunction _addPointerStart(obj, handler, id) {\n\tvar onDown = bind(function (e) {\n\t\t// IE10 specific: MsTouch needs preventDefault. See #2000\n\t\tif (e.MSPOINTER_TYPE_TOUCH && e.pointerType === e.MSPOINTER_TYPE_TOUCH) {\n\t\t\tpreventDefault(e);\n\t\t}\n\n\t\t_handlePointer(e, handler);\n\t});\n\n\tobj['_leaflet_touchstart' + id] = onDown;\n\tobj.addEventListener(POINTER_DOWN, onDown, false);\n\n\t// need to keep track of what pointers and how many are active to provide e.touches emulation\n\tif (!_pointerDocListener) {\n\t\t// we listen document as any drags that end by moving the touch off the screen get fired there\n\t\tdocument.addEventListener(POINTER_DOWN, _globalPointerDown, true);\n\t\tdocument.addEventListener(POINTER_MOVE, _globalPointerMove, true);\n\t\tdocument.addEventListener(POINTER_UP, _globalPointerUp, true);\n\t\tdocument.addEventListener(POINTER_CANCEL, _globalPointerUp, true);\n\n\t\t_pointerDocListener = true;\n\t}\n}\n\nfunction _globalPointerDown(e) {\n\t_pointers[e.pointerId] = e;\n}\n\nfunction _globalPointerMove(e) {\n\tif (_pointers[e.pointerId]) {\n\t\t_pointers[e.pointerId] = e;\n\t}\n}\n\nfunction _globalPointerUp(e) {\n\tdelete _pointers[e.pointerId];\n}\n\nfunction _handlePointer(e, handler) {\n\te.touches = [];\n\tfor (var i in _pointers) {\n\t\te.touches.push(_pointers[i]);\n\t}\n\te.changedTouches = [e];\n\n\thandler(e);\n}\n\nfunction _addPointerMove(obj, handler, id) {\n\tvar onMove = function (e) {\n\t\t// don't fire touch moves when mouse isn't down\n\t\tif ((e.pointerType === (e.MSPOINTER_TYPE_MOUSE || 'mouse')) && e.buttons === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\t_handlePointer(e, handler);\n\t};\n\n\tobj['_leaflet_touchmove' + id] = onMove;\n\tobj.addEventListener(POINTER_MOVE, onMove, false);\n}\n\nfunction _addPointerEnd(obj, handler, id) {\n\tvar onUp = function (e) {\n\t\t_handlePointer(e, handler);\n\t};\n\n\tobj['_leaflet_touchend' + id] = onUp;\n\tobj.addEventListener(POINTER_UP, onUp, false);\n\tobj.addEventListener(POINTER_CANCEL, onUp, false);\n}\n\n/*\r\n * Extends the event handling code with double tap support for mobile browsers.\r\n */\r\n\r\nvar _touchstart = msPointer ? 'MSPointerDown' : pointer ? 'pointerdown' : 'touchstart';\r\nvar _touchend = msPointer ? 'MSPointerUp' : pointer ? 'pointerup' : 'touchend';\r\nvar _pre = '_leaflet_';\r\n\r\n// inspired by Zepto touch code by Thomas Fuchs\r\nfunction addDoubleTapListener(obj, handler, id) {\r\n\tvar last, touch$$1,\r\n\t doubleTap = false,\r\n\t delay = 250;\r\n\r\n\tfunction onTouchStart(e) {\r\n\r\n\t\tif (pointer) {\r\n\t\t\tif (!e.isPrimary) { return; }\r\n\t\t\tif (e.pointerType === 'mouse') { return; } // mouse fires native dblclick\r\n\t\t} else if (e.touches.length > 1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar now = Date.now(),\r\n\t\t delta = now - (last || now);\r\n\r\n\t\ttouch$$1 = e.touches ? e.touches[0] : e;\r\n\t\tdoubleTap = (delta > 0 && delta <= delay);\r\n\t\tlast = now;\r\n\t}\r\n\r\n\tfunction onTouchEnd(e) {\r\n\t\tif (doubleTap && !touch$$1.cancelBubble) {\r\n\t\t\tif (pointer) {\r\n\t\t\t\tif (e.pointerType === 'mouse') { return; }\r\n\t\t\t\t// work around .type being readonly with MSPointer* events\r\n\t\t\t\tvar newTouch = {},\r\n\t\t\t\t prop, i;\r\n\r\n\t\t\t\tfor (i in touch$$1) {\r\n\t\t\t\t\tprop = touch$$1[i];\r\n\t\t\t\t\tnewTouch[i] = prop && prop.bind ? prop.bind(touch$$1) : prop;\r\n\t\t\t\t}\r\n\t\t\t\ttouch$$1 = newTouch;\r\n\t\t\t}\r\n\t\t\ttouch$$1.type = 'dblclick';\r\n\t\t\ttouch$$1.button = 0;\r\n\t\t\thandler(touch$$1);\r\n\t\t\tlast = null;\r\n\t\t}\r\n\t}\r\n\r\n\tobj[_pre + _touchstart + id] = onTouchStart;\r\n\tobj[_pre + _touchend + id] = onTouchEnd;\r\n\tobj[_pre + 'dblclick' + id] = handler;\r\n\r\n\tobj.addEventListener(_touchstart, onTouchStart, passiveEvents ? {passive: false} : false);\r\n\tobj.addEventListener(_touchend, onTouchEnd, passiveEvents ? {passive: false} : false);\r\n\r\n\t// On some platforms (notably, chrome<55 on win10 + touchscreen + mouse),\r\n\t// the browser doesn't fire touchend/pointerup events but does fire\r\n\t// native dblclicks. See #4127.\r\n\t// Edge 14 also fires native dblclicks, but only for pointerType mouse, see #5180.\r\n\tobj.addEventListener('dblclick', handler, false);\r\n\r\n\treturn this;\r\n}\r\n\r\nfunction removeDoubleTapListener(obj, id) {\r\n\tvar touchstart = obj[_pre + _touchstart + id],\r\n\t touchend = obj[_pre + _touchend + id],\r\n\t dblclick = obj[_pre + 'dblclick' + id];\r\n\r\n\tobj.removeEventListener(_touchstart, touchstart, passiveEvents ? {passive: false} : false);\r\n\tobj.removeEventListener(_touchend, touchend, passiveEvents ? {passive: false} : false);\r\n\tobj.removeEventListener('dblclick', dblclick, false);\r\n\r\n\treturn this;\r\n}\n\n/*\r\n * @namespace DomUtil\r\n *\r\n * Utility functions to work with the [DOM](https://developer.mozilla.org/docs/Web/API/Document_Object_Model)\r\n * tree, used by Leaflet internally.\r\n *\r\n * Most functions expecting or returning a `HTMLElement` also work for\r\n * SVG elements. The only difference is that classes refer to CSS classes\r\n * in HTML and SVG classes in SVG.\r\n */\r\n\r\n\r\n// @property TRANSFORM: String\r\n// Vendor-prefixed transform style name (e.g. `'webkitTransform'` for WebKit).\r\nvar TRANSFORM = testProp(\r\n\t['transform', 'webkitTransform', 'OTransform', 'MozTransform', 'msTransform']);\r\n\r\n// webkitTransition comes first because some browser versions that drop vendor prefix don't do\r\n// the same for the transitionend event, in particular the Android 4.1 stock browser\r\n\r\n// @property TRANSITION: String\r\n// Vendor-prefixed transition style name.\r\nvar TRANSITION = testProp(\r\n\t['webkitTransition', 'transition', 'OTransition', 'MozTransition', 'msTransition']);\r\n\r\n// @property TRANSITION_END: String\r\n// Vendor-prefixed transitionend event name.\r\nvar TRANSITION_END =\r\n\tTRANSITION === 'webkitTransition' || TRANSITION === 'OTransition' ? TRANSITION + 'End' : 'transitionend';\r\n\r\n\r\n// @function get(id: String|HTMLElement): HTMLElement\r\n// Returns an element given its DOM id, or returns the element itself\r\n// if it was passed directly.\r\nfunction get(id) {\r\n\treturn typeof id === 'string' ? document.getElementById(id) : id;\r\n}\r\n\r\n// @function getStyle(el: HTMLElement, styleAttrib: String): String\r\n// Returns the value for a certain style attribute on an element,\r\n// including computed values or values set through CSS.\r\nfunction getStyle(el, style) {\r\n\tvar value = el.style[style] || (el.currentStyle && el.currentStyle[style]);\r\n\r\n\tif ((!value || value === 'auto') && document.defaultView) {\r\n\t\tvar css = document.defaultView.getComputedStyle(el, null);\r\n\t\tvalue = css ? css[style] : null;\r\n\t}\r\n\treturn value === 'auto' ? null : value;\r\n}\r\n\r\n// @function create(tagName: String, className?: String, container?: HTMLElement): HTMLElement\r\n// Creates an HTML element with `tagName`, sets its class to `className`, and optionally appends it to `container` element.\r\nfunction create$1(tagName, className, container) {\r\n\tvar el = document.createElement(tagName);\r\n\tel.className = className || '';\r\n\r\n\tif (container) {\r\n\t\tcontainer.appendChild(el);\r\n\t}\r\n\treturn el;\r\n}\r\n\r\n// @function remove(el: HTMLElement)\r\n// Removes `el` from its parent element\r\nfunction remove(el) {\r\n\tvar parent = el.parentNode;\r\n\tif (parent) {\r\n\t\tparent.removeChild(el);\r\n\t}\r\n}\r\n\r\n// @function empty(el: HTMLElement)\r\n// Removes all of `el`'s children elements from `el`\r\nfunction empty(el) {\r\n\twhile (el.firstChild) {\r\n\t\tel.removeChild(el.firstChild);\r\n\t}\r\n}\r\n\r\n// @function toFront(el: HTMLElement)\r\n// Makes `el` the last child of its parent, so it renders in front of the other children.\r\nfunction toFront(el) {\r\n\tvar parent = el.parentNode;\r\n\tif (parent && parent.lastChild !== el) {\r\n\t\tparent.appendChild(el);\r\n\t}\r\n}\r\n\r\n// @function toBack(el: HTMLElement)\r\n// Makes `el` the first child of its parent, so it renders behind the other children.\r\nfunction toBack(el) {\r\n\tvar parent = el.parentNode;\r\n\tif (parent && parent.firstChild !== el) {\r\n\t\tparent.insertBefore(el, parent.firstChild);\r\n\t}\r\n}\r\n\r\n// @function hasClass(el: HTMLElement, name: String): Boolean\r\n// Returns `true` if the element's class attribute contains `name`.\r\nfunction hasClass(el, name) {\r\n\tif (el.classList !== undefined) {\r\n\t\treturn el.classList.contains(name);\r\n\t}\r\n\tvar className = getClass(el);\r\n\treturn className.length > 0 && new RegExp('(^|\\\\s)' + name + '(\\\\s|$)').test(className);\r\n}\r\n\r\n// @function addClass(el: HTMLElement, name: String)\r\n// Adds `name` to the element's class attribute.\r\nfunction addClass(el, name) {\r\n\tif (el.classList !== undefined) {\r\n\t\tvar classes = splitWords(name);\r\n\t\tfor (var i = 0, len = classes.length; i < len; i++) {\r\n\t\t\tel.classList.add(classes[i]);\r\n\t\t}\r\n\t} else if (!hasClass(el, name)) {\r\n\t\tvar className = getClass(el);\r\n\t\tsetClass(el, (className ? className + ' ' : '') + name);\r\n\t}\r\n}\r\n\r\n// @function removeClass(el: HTMLElement, name: String)\r\n// Removes `name` from the element's class attribute.\r\nfunction removeClass(el, name) {\r\n\tif (el.classList !== undefined) {\r\n\t\tel.classList.remove(name);\r\n\t} else {\r\n\t\tsetClass(el, trim((' ' + getClass(el) + ' ').replace(' ' + name + ' ', ' ')));\r\n\t}\r\n}\r\n\r\n// @function setClass(el: HTMLElement, name: String)\r\n// Sets the element's class.\r\nfunction setClass(el, name) {\r\n\tif (el.className.baseVal === undefined) {\r\n\t\tel.className = name;\r\n\t} else {\r\n\t\t// in case of SVG element\r\n\t\tel.className.baseVal = name;\r\n\t}\r\n}\r\n\r\n// @function getClass(el: HTMLElement): String\r\n// Returns the element's class.\r\nfunction getClass(el) {\r\n\t// Check if the element is an SVGElementInstance and use the correspondingElement instead\r\n\t// (Required for linked SVG elements in IE11.)\r\n\tif (el.correspondingElement) {\r\n\t\tel = el.correspondingElement;\r\n\t}\r\n\treturn el.className.baseVal === undefined ? el.className : el.className.baseVal;\r\n}\r\n\r\n// @function setOpacity(el: HTMLElement, opacity: Number)\r\n// Set the opacity of an element (including old IE support).\r\n// `opacity` must be a number from `0` to `1`.\r\nfunction setOpacity(el, value) {\r\n\tif ('opacity' in el.style) {\r\n\t\tel.style.opacity = value;\r\n\t} else if ('filter' in el.style) {\r\n\t\t_setOpacityIE(el, value);\r\n\t}\r\n}\r\n\r\nfunction _setOpacityIE(el, value) {\r\n\tvar filter = false,\r\n\t filterName = 'DXImageTransform.Microsoft.Alpha';\r\n\r\n\t// filters collection throws an error if we try to retrieve a filter that doesn't exist\r\n\ttry {\r\n\t\tfilter = el.filters.item(filterName);\r\n\t} catch (e) {\r\n\t\t// don't set opacity to 1 if we haven't already set an opacity,\r\n\t\t// it isn't needed and breaks transparent pngs.\r\n\t\tif (value === 1) { return; }\r\n\t}\r\n\r\n\tvalue = Math.round(value * 100);\r\n\r\n\tif (filter) {\r\n\t\tfilter.Enabled = (value !== 100);\r\n\t\tfilter.Opacity = value;\r\n\t} else {\r\n\t\tel.style.filter += ' progid:' + filterName + '(opacity=' + value + ')';\r\n\t}\r\n}\r\n\r\n// @function testProp(props: String[]): String|false\r\n// Goes through the array of style names and returns the first name\r\n// that is a valid style name for an element. If no such name is found,\r\n// it returns false. Useful for vendor-prefixed styles like `transform`.\r\nfunction testProp(props) {\r\n\tvar style = document.documentElement.style;\r\n\r\n\tfor (var i = 0; i < props.length; i++) {\r\n\t\tif (props[i] in style) {\r\n\t\t\treturn props[i];\r\n\t\t}\r\n\t}\r\n\treturn false;\r\n}\r\n\r\n// @function setTransform(el: HTMLElement, offset: Point, scale?: Number)\r\n// Resets the 3D CSS transform of `el` so it is translated by `offset` pixels\r\n// and optionally scaled by `scale`. Does not have an effect if the\r\n// browser doesn't support 3D CSS transforms.\r\nfunction setTransform(el, offset, scale) {\r\n\tvar pos = offset || new Point(0, 0);\r\n\r\n\tel.style[TRANSFORM] =\r\n\t\t(ie3d ?\r\n\t\t\t'translate(' + pos.x + 'px,' + pos.y + 'px)' :\r\n\t\t\t'translate3d(' + pos.x + 'px,' + pos.y + 'px,0)') +\r\n\t\t(scale ? ' scale(' + scale + ')' : '');\r\n}\r\n\r\n// @function setPosition(el: HTMLElement, position: Point)\r\n// Sets the position of `el` to coordinates specified by `position`,\r\n// using CSS translate or top/left positioning depending on the browser\r\n// (used by Leaflet internally to position its layers).\r\nfunction setPosition(el, point) {\r\n\r\n\t/*eslint-disable */\r\n\tel._leaflet_pos = point;\r\n\t/* eslint-enable */\r\n\r\n\tif (any3d) {\r\n\t\tsetTransform(el, point);\r\n\t} else {\r\n\t\tel.style.left = point.x + 'px';\r\n\t\tel.style.top = point.y + 'px';\r\n\t}\r\n}\r\n\r\n// @function getPosition(el: HTMLElement): Point\r\n// Returns the coordinates of an element previously positioned with setPosition.\r\nfunction getPosition(el) {\r\n\t// this method is only used for elements previously positioned using setPosition,\r\n\t// so it's safe to cache the position for performance\r\n\r\n\treturn el._leaflet_pos || new Point(0, 0);\r\n}\r\n\r\n// @function disableTextSelection()\r\n// Prevents the user from generating `selectstart` DOM events, usually generated\r\n// when the user drags the mouse through a page with text. Used internally\r\n// by Leaflet to override the behaviour of any click-and-drag interaction on\r\n// the map. Affects drag interactions on the whole document.\r\n\r\n// @function enableTextSelection()\r\n// Cancels the effects of a previous [`L.DomUtil.disableTextSelection`](#domutil-disabletextselection).\r\nvar disableTextSelection;\r\nvar enableTextSelection;\r\nvar _userSelect;\r\nif ('onselectstart' in document) {\r\n\tdisableTextSelection = function () {\r\n\t\ton(window, 'selectstart', preventDefault);\r\n\t};\r\n\tenableTextSelection = function () {\r\n\t\toff(window, 'selectstart', preventDefault);\r\n\t};\r\n} else {\r\n\tvar userSelectProperty = testProp(\r\n\t\t['userSelect', 'WebkitUserSelect', 'OUserSelect', 'MozUserSelect', 'msUserSelect']);\r\n\r\n\tdisableTextSelection = function () {\r\n\t\tif (userSelectProperty) {\r\n\t\t\tvar style = document.documentElement.style;\r\n\t\t\t_userSelect = style[userSelectProperty];\r\n\t\t\tstyle[userSelectProperty] = 'none';\r\n\t\t}\r\n\t};\r\n\tenableTextSelection = function () {\r\n\t\tif (userSelectProperty) {\r\n\t\t\tdocument.documentElement.style[userSelectProperty] = _userSelect;\r\n\t\t\t_userSelect = undefined;\r\n\t\t}\r\n\t};\r\n}\r\n\r\n// @function disableImageDrag()\r\n// As [`L.DomUtil.disableTextSelection`](#domutil-disabletextselection), but\r\n// for `dragstart` DOM events, usually generated when the user drags an image.\r\nfunction disableImageDrag() {\r\n\ton(window, 'dragstart', preventDefault);\r\n}\r\n\r\n// @function enableImageDrag()\r\n// Cancels the effects of a previous [`L.DomUtil.disableImageDrag`](#domutil-disabletextselection).\r\nfunction enableImageDrag() {\r\n\toff(window, 'dragstart', preventDefault);\r\n}\r\n\r\nvar _outlineElement, _outlineStyle;\r\n// @function preventOutline(el: HTMLElement)\r\n// Makes the [outline](https://developer.mozilla.org/docs/Web/CSS/outline)\r\n// of the element `el` invisible. Used internally by Leaflet to prevent\r\n// focusable elements from displaying an outline when the user performs a\r\n// drag interaction on them.\r\nfunction preventOutline(element) {\r\n\twhile (element.tabIndex === -1) {\r\n\t\telement = element.parentNode;\r\n\t}\r\n\tif (!element.style) { return; }\r\n\trestoreOutline();\r\n\t_outlineElement = element;\r\n\t_outlineStyle = element.style.outline;\r\n\telement.style.outline = 'none';\r\n\ton(window, 'keydown', restoreOutline);\r\n}\r\n\r\n// @function restoreOutline()\r\n// Cancels the effects of a previous [`L.DomUtil.preventOutline`]().\r\nfunction restoreOutline() {\r\n\tif (!_outlineElement) { return; }\r\n\t_outlineElement.style.outline = _outlineStyle;\r\n\t_outlineElement = undefined;\r\n\t_outlineStyle = undefined;\r\n\toff(window, 'keydown', restoreOutline);\r\n}\r\n\r\n// @function getSizedParentNode(el: HTMLElement): HTMLElement\r\n// Finds the closest parent node which size (width and height) is not null.\r\nfunction getSizedParentNode(element) {\r\n\tdo {\r\n\t\telement = element.parentNode;\r\n\t} while ((!element.offsetWidth || !element.offsetHeight) && element !== document.body);\r\n\treturn element;\r\n}\r\n\r\n// @function getScale(el: HTMLElement): Object\r\n// Computes the CSS scale currently applied on the element.\r\n// Returns an object with `x` and `y` members as horizontal and vertical scales respectively,\r\n// and `boundingClientRect` as the result of [`getBoundingClientRect()`](https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect).\r\nfunction getScale(element) {\r\n\tvar rect = element.getBoundingClientRect(); // Read-only in old browsers.\r\n\r\n\treturn {\r\n\t\tx: rect.width / element.offsetWidth || 1,\r\n\t\ty: rect.height / element.offsetHeight || 1,\r\n\t\tboundingClientRect: rect\r\n\t};\r\n}\n\nvar DomUtil = ({\n TRANSFORM: TRANSFORM,\n TRANSITION: TRANSITION,\n TRANSITION_END: TRANSITION_END,\n get: get,\n getStyle: getStyle,\n create: create$1,\n remove: remove,\n empty: empty,\n toFront: toFront,\n toBack: toBack,\n hasClass: hasClass,\n addClass: addClass,\n removeClass: removeClass,\n setClass: setClass,\n getClass: getClass,\n setOpacity: setOpacity,\n testProp: testProp,\n setTransform: setTransform,\n setPosition: setPosition,\n getPosition: getPosition,\n get disableTextSelection () { return disableTextSelection; },\n get enableTextSelection () { return enableTextSelection; },\n disableImageDrag: disableImageDrag,\n enableImageDrag: enableImageDrag,\n preventOutline: preventOutline,\n restoreOutline: restoreOutline,\n getSizedParentNode: getSizedParentNode,\n getScale: getScale\n});\n\n/*\r\n * @namespace DomEvent\r\n * Utility functions to work with the [DOM events](https://developer.mozilla.org/docs/Web/API/Event), used by Leaflet internally.\r\n */\r\n\r\n// Inspired by John Resig, Dean Edwards and YUI addEvent implementations.\r\n\r\n// @function on(el: HTMLElement, types: String, fn: Function, context?: Object): this\r\n// Adds a listener function (`fn`) to a particular DOM event type of the\r\n// element `el`. You can optionally specify the context of the listener\r\n// (object the `this` keyword will point to). You can also pass several\r\n// space-separated types (e.g. `'click dblclick'`).\r\n\r\n// @alternative\r\n// @function on(el: HTMLElement, eventMap: Object, context?: Object): this\r\n// Adds a set of type/listener pairs, e.g. `{click: onClick, mousemove: onMouseMove}`\r\nfunction on(obj, types, fn, context) {\r\n\r\n\tif (typeof types === 'object') {\r\n\t\tfor (var type in types) {\r\n\t\t\taddOne(obj, type, types[type], fn);\r\n\t\t}\r\n\t} else {\r\n\t\ttypes = splitWords(types);\r\n\r\n\t\tfor (var i = 0, len = types.length; i < len; i++) {\r\n\t\t\taddOne(obj, types[i], fn, context);\r\n\t\t}\r\n\t}\r\n\r\n\treturn this;\r\n}\r\n\r\nvar eventsKey = '_leaflet_events';\r\n\r\n// @function off(el: HTMLElement, types: String, fn: Function, context?: Object): this\r\n// Removes a previously added listener function.\r\n// Note that if you passed a custom context to on, you must pass the same\r\n// context to `off` in order to remove the listener.\r\n\r\n// @alternative\r\n// @function off(el: HTMLElement, eventMap: Object, context?: Object): this\r\n// Removes a set of type/listener pairs, e.g. `{click: onClick, mousemove: onMouseMove}`\r\nfunction off(obj, types, fn, context) {\r\n\r\n\tif (typeof types === 'object') {\r\n\t\tfor (var type in types) {\r\n\t\t\tremoveOne(obj, type, types[type], fn);\r\n\t\t}\r\n\t} else if (types) {\r\n\t\ttypes = splitWords(types);\r\n\r\n\t\tfor (var i = 0, len = types.length; i < len; i++) {\r\n\t\t\tremoveOne(obj, types[i], fn, context);\r\n\t\t}\r\n\t} else {\r\n\t\tfor (var j in obj[eventsKey]) {\r\n\t\t\tremoveOne(obj, j, obj[eventsKey][j]);\r\n\t\t}\r\n\t\tdelete obj[eventsKey];\r\n\t}\r\n\r\n\treturn this;\r\n}\r\n\r\nfunction browserFiresNativeDblClick() {\r\n\t// See https://github.com/w3c/pointerevents/issues/171\r\n\tif (pointer) {\r\n\t\treturn !(edge || safari);\r\n\t}\r\n}\r\n\r\nvar mouseSubst = {\r\n\tmouseenter: 'mouseover',\r\n\tmouseleave: 'mouseout',\r\n\twheel: !('onwheel' in window) && 'mousewheel'\r\n};\r\n\r\nfunction addOne(obj, type, fn, context) {\r\n\tvar id = type + stamp(fn) + (context ? '_' + stamp(context) : '');\r\n\r\n\tif (obj[eventsKey] && obj[eventsKey][id]) { return this; }\r\n\r\n\tvar handler = function (e) {\r\n\t\treturn fn.call(context || obj, e || window.event);\r\n\t};\r\n\r\n\tvar originalHandler = handler;\r\n\r\n\tif (pointer && type.indexOf('touch') === 0) {\r\n\t\t// Needs DomEvent.Pointer.js\r\n\t\taddPointerListener(obj, type, handler, id);\r\n\r\n\t} else if (touch && (type === 'dblclick') && !browserFiresNativeDblClick()) {\r\n\t\taddDoubleTapListener(obj, handler, id);\r\n\r\n\t} else if ('addEventListener' in obj) {\r\n\r\n\t\tif (type === 'touchstart' || type === 'touchmove' || type === 'wheel' || type === 'mousewheel') {\r\n\t\t\tobj.addEventListener(mouseSubst[type] || type, handler, passiveEvents ? {passive: false} : false);\r\n\r\n\t\t} else if (type === 'mouseenter' || type === 'mouseleave') {\r\n\t\t\thandler = function (e) {\r\n\t\t\t\te = e || window.event;\r\n\t\t\t\tif (isExternalTarget(obj, e)) {\r\n\t\t\t\t\toriginalHandler(e);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tobj.addEventListener(mouseSubst[type], handler, false);\r\n\r\n\t\t} else {\r\n\t\t\tobj.addEventListener(type, originalHandler, false);\r\n\t\t}\r\n\r\n\t} else if ('attachEvent' in obj) {\r\n\t\tobj.attachEvent('on' + type, handler);\r\n\t}\r\n\r\n\tobj[eventsKey] = obj[eventsKey] || {};\r\n\tobj[eventsKey][id] = handler;\r\n}\r\n\r\nfunction removeOne(obj, type, fn, context) {\r\n\r\n\tvar id = type + stamp(fn) + (context ? '_' + stamp(context) : ''),\r\n\t handler = obj[eventsKey] && obj[eventsKey][id];\r\n\r\n\tif (!handler) { return this; }\r\n\r\n\tif (pointer && type.indexOf('touch') === 0) {\r\n\t\tremovePointerListener(obj, type, id);\r\n\r\n\t} else if (touch && (type === 'dblclick') && !browserFiresNativeDblClick()) {\r\n\t\tremoveDoubleTapListener(obj, id);\r\n\r\n\t} else if ('removeEventListener' in obj) {\r\n\r\n\t\tobj.removeEventListener(mouseSubst[type] || type, handler, false);\r\n\r\n\t} else if ('detachEvent' in obj) {\r\n\t\tobj.detachEvent('on' + type, handler);\r\n\t}\r\n\r\n\tobj[eventsKey][id] = null;\r\n}\r\n\r\n// @function stopPropagation(ev: DOMEvent): this\r\n// Stop the given event from propagation to parent elements. Used inside the listener functions:\r\n// ```js\r\n// L.DomEvent.on(div, 'click', function (ev) {\r\n// \tL.DomEvent.stopPropagation(ev);\r\n// });\r\n// ```\r\nfunction stopPropagation(e) {\r\n\r\n\tif (e.stopPropagation) {\r\n\t\te.stopPropagation();\r\n\t} else if (e.originalEvent) { // In case of Leaflet event.\r\n\t\te.originalEvent._stopped = true;\r\n\t} else {\r\n\t\te.cancelBubble = true;\r\n\t}\r\n\tskipped(e);\r\n\r\n\treturn this;\r\n}\r\n\r\n// @function disableScrollPropagation(el: HTMLElement): this\r\n// Adds `stopPropagation` to the element's `'wheel'` events (plus browser variants).\r\nfunction disableScrollPropagation(el) {\r\n\taddOne(el, 'wheel', stopPropagation);\r\n\treturn this;\r\n}\r\n\r\n// @function disableClickPropagation(el: HTMLElement): this\r\n// Adds `stopPropagation` to the element's `'click'`, `'doubleclick'`,\r\n// `'mousedown'` and `'touchstart'` events (plus browser variants).\r\nfunction disableClickPropagation(el) {\r\n\ton(el, 'mousedown touchstart dblclick', stopPropagation);\r\n\taddOne(el, 'click', fakeStop);\r\n\treturn this;\r\n}\r\n\r\n// @function preventDefault(ev: DOMEvent): this\r\n// Prevents the default action of the DOM Event `ev` from happening (such as\r\n// following a link in the href of the a element, or doing a POST request\r\n// with page reload when a `
` is submitted).\r\n// Use it inside listener functions.\r\nfunction preventDefault(e) {\r\n\tif (e.preventDefault) {\r\n\t\te.preventDefault();\r\n\t} else {\r\n\t\te.returnValue = false;\r\n\t}\r\n\treturn this;\r\n}\r\n\r\n// @function stop(ev: DOMEvent): this\r\n// Does `stopPropagation` and `preventDefault` at the same time.\r\nfunction stop(e) {\r\n\tpreventDefault(e);\r\n\tstopPropagation(e);\r\n\treturn this;\r\n}\r\n\r\n// @function getMousePosition(ev: DOMEvent, container?: HTMLElement): Point\r\n// Gets normalized mouse position from a DOM event relative to the\r\n// `container` (border excluded) or to the whole page if not specified.\r\nfunction getMousePosition(e, container) {\r\n\tif (!container) {\r\n\t\treturn new Point(e.clientX, e.clientY);\r\n\t}\r\n\r\n\tvar scale = getScale(container),\r\n\t offset = scale.boundingClientRect; // left and top values are in page scale (like the event clientX/Y)\r\n\r\n\treturn new Point(\r\n\t\t// offset.left/top values are in page scale (like clientX/Y),\r\n\t\t// whereas clientLeft/Top (border width) values are the original values (before CSS scale applies).\r\n\t\t(e.clientX - offset.left) / scale.x - container.clientLeft,\r\n\t\t(e.clientY - offset.top) / scale.y - container.clientTop\r\n\t);\r\n}\r\n\r\n// Chrome on Win scrolls double the pixels as in other platforms (see #4538),\r\n// and Firefox scrolls device pixels, not CSS pixels\r\nvar wheelPxFactor =\r\n\t(win && chrome) ? 2 * window.devicePixelRatio :\r\n\tgecko ? window.devicePixelRatio : 1;\r\n\r\n// @function getWheelDelta(ev: DOMEvent): Number\r\n// Gets normalized wheel delta from a wheel DOM event, in vertical\r\n// pixels scrolled (negative if scrolling down).\r\n// Events from pointing devices without precise scrolling are mapped to\r\n// a best guess of 60 pixels.\r\nfunction getWheelDelta(e) {\r\n\treturn (edge) ? e.wheelDeltaY / 2 : // Don't trust window-geometry-based delta\r\n\t (e.deltaY && e.deltaMode === 0) ? -e.deltaY / wheelPxFactor : // Pixels\r\n\t (e.deltaY && e.deltaMode === 1) ? -e.deltaY * 20 : // Lines\r\n\t (e.deltaY && e.deltaMode === 2) ? -e.deltaY * 60 : // Pages\r\n\t (e.deltaX || e.deltaZ) ? 0 :\t// Skip horizontal/depth wheel events\r\n\t e.wheelDelta ? (e.wheelDeltaY || e.wheelDelta) / 2 : // Legacy IE pixels\r\n\t (e.detail && Math.abs(e.detail) < 32765) ? -e.detail * 20 : // Legacy Moz lines\r\n\t e.detail ? e.detail / -32765 * 60 : // Legacy Moz pages\r\n\t 0;\r\n}\r\n\r\nvar skipEvents = {};\r\n\r\nfunction fakeStop(e) {\r\n\t// fakes stopPropagation by setting a special event flag, checked/reset with skipped(e)\r\n\tskipEvents[e.type] = true;\r\n}\r\n\r\nfunction skipped(e) {\r\n\tvar events = skipEvents[e.type];\r\n\t// reset when checking, as it's only used in map container and propagates outside of the map\r\n\tskipEvents[e.type] = false;\r\n\treturn events;\r\n}\r\n\r\n// check if element really left/entered the event target (for mouseenter/mouseleave)\r\nfunction isExternalTarget(el, e) {\r\n\r\n\tvar related = e.relatedTarget;\r\n\r\n\tif (!related) { return true; }\r\n\r\n\ttry {\r\n\t\twhile (related && (related !== el)) {\r\n\t\t\trelated = related.parentNode;\r\n\t\t}\r\n\t} catch (err) {\r\n\t\treturn false;\r\n\t}\r\n\treturn (related !== el);\r\n}\n\nvar DomEvent = ({\n on: on,\n off: off,\n stopPropagation: stopPropagation,\n disableScrollPropagation: disableScrollPropagation,\n disableClickPropagation: disableClickPropagation,\n preventDefault: preventDefault,\n stop: stop,\n getMousePosition: getMousePosition,\n getWheelDelta: getWheelDelta,\n fakeStop: fakeStop,\n skipped: skipped,\n isExternalTarget: isExternalTarget,\n addListener: on,\n removeListener: off\n});\n\n/*\n * @class PosAnimation\n * @aka L.PosAnimation\n * @inherits Evented\n * Used internally for panning animations, utilizing CSS3 Transitions for modern browsers and a timer fallback for IE6-9.\n *\n * @example\n * ```js\n * var fx = new L.PosAnimation();\n * fx.run(el, [300, 500], 0.5);\n * ```\n *\n * @constructor L.PosAnimation()\n * Creates a `PosAnimation` object.\n *\n */\n\nvar PosAnimation = Evented.extend({\n\n\t// @method run(el: HTMLElement, newPos: Point, duration?: Number, easeLinearity?: Number)\n\t// Run an animation of a given element to a new position, optionally setting\n\t// duration in seconds (`0.25` by default) and easing linearity factor (3rd\n\t// argument of the [cubic bezier curve](http://cubic-bezier.com/#0,0,.5,1),\n\t// `0.5` by default).\n\trun: function (el, newPos, duration, easeLinearity) {\n\t\tthis.stop();\n\n\t\tthis._el = el;\n\t\tthis._inProgress = true;\n\t\tthis._duration = duration || 0.25;\n\t\tthis._easeOutPower = 1 / Math.max(easeLinearity || 0.5, 0.2);\n\n\t\tthis._startPos = getPosition(el);\n\t\tthis._offset = newPos.subtract(this._startPos);\n\t\tthis._startTime = +new Date();\n\n\t\t// @event start: Event\n\t\t// Fired when the animation starts\n\t\tthis.fire('start');\n\n\t\tthis._animate();\n\t},\n\n\t// @method stop()\n\t// Stops the animation (if currently running).\n\tstop: function () {\n\t\tif (!this._inProgress) { return; }\n\n\t\tthis._step(true);\n\t\tthis._complete();\n\t},\n\n\t_animate: function () {\n\t\t// animation loop\n\t\tthis._animId = requestAnimFrame(this._animate, this);\n\t\tthis._step();\n\t},\n\n\t_step: function (round) {\n\t\tvar elapsed = (+new Date()) - this._startTime,\n\t\t duration = this._duration * 1000;\n\n\t\tif (elapsed < duration) {\n\t\t\tthis._runFrame(this._easeOut(elapsed / duration), round);\n\t\t} else {\n\t\t\tthis._runFrame(1);\n\t\t\tthis._complete();\n\t\t}\n\t},\n\n\t_runFrame: function (progress, round) {\n\t\tvar pos = this._startPos.add(this._offset.multiplyBy(progress));\n\t\tif (round) {\n\t\t\tpos._round();\n\t\t}\n\t\tsetPosition(this._el, pos);\n\n\t\t// @event step: Event\n\t\t// Fired continuously during the animation.\n\t\tthis.fire('step');\n\t},\n\n\t_complete: function () {\n\t\tcancelAnimFrame(this._animId);\n\n\t\tthis._inProgress = false;\n\t\t// @event end: Event\n\t\t// Fired when the animation ends.\n\t\tthis.fire('end');\n\t},\n\n\t_easeOut: function (t) {\n\t\treturn 1 - Math.pow(1 - t, this._easeOutPower);\n\t}\n});\n\n/*\r\n * @class Map\r\n * @aka L.Map\r\n * @inherits Evented\r\n *\r\n * The central class of the API — it is used to create a map on a page and manipulate it.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * // initialize the map on the \"map\" div with a given center and zoom\r\n * var map = L.map('map', {\r\n * \tcenter: [51.505, -0.09],\r\n * \tzoom: 13\r\n * });\r\n * ```\r\n *\r\n */\r\n\r\nvar Map = Evented.extend({\r\n\r\n\toptions: {\r\n\t\t// @section Map State Options\r\n\t\t// @option crs: CRS = L.CRS.EPSG3857\r\n\t\t// The [Coordinate Reference System](#crs) to use. Don't change this if you're not\r\n\t\t// sure what it means.\r\n\t\tcrs: EPSG3857,\r\n\r\n\t\t// @option center: LatLng = undefined\r\n\t\t// Initial geographic center of the map\r\n\t\tcenter: undefined,\r\n\r\n\t\t// @option zoom: Number = undefined\r\n\t\t// Initial map zoom level\r\n\t\tzoom: undefined,\r\n\r\n\t\t// @option minZoom: Number = *\r\n\t\t// Minimum zoom level of the map.\r\n\t\t// If not specified and at least one `GridLayer` or `TileLayer` is in the map,\r\n\t\t// the lowest of their `minZoom` options will be used instead.\r\n\t\tminZoom: undefined,\r\n\r\n\t\t// @option maxZoom: Number = *\r\n\t\t// Maximum zoom level of the map.\r\n\t\t// If not specified and at least one `GridLayer` or `TileLayer` is in the map,\r\n\t\t// the highest of their `maxZoom` options will be used instead.\r\n\t\tmaxZoom: undefined,\r\n\r\n\t\t// @option layers: Layer[] = []\r\n\t\t// Array of layers that will be added to the map initially\r\n\t\tlayers: [],\r\n\r\n\t\t// @option maxBounds: LatLngBounds = null\r\n\t\t// When this option is set, the map restricts the view to the given\r\n\t\t// geographical bounds, bouncing the user back if the user tries to pan\r\n\t\t// outside the view. To set the restriction dynamically, use\r\n\t\t// [`setMaxBounds`](#map-setmaxbounds) method.\r\n\t\tmaxBounds: undefined,\r\n\r\n\t\t// @option renderer: Renderer = *\r\n\t\t// The default method for drawing vector layers on the map. `L.SVG`\r\n\t\t// or `L.Canvas` by default depending on browser support.\r\n\t\trenderer: undefined,\r\n\r\n\r\n\t\t// @section Animation Options\r\n\t\t// @option zoomAnimation: Boolean = true\r\n\t\t// Whether the map zoom animation is enabled. By default it's enabled\r\n\t\t// in all browsers that support CSS3 Transitions except Android.\r\n\t\tzoomAnimation: true,\r\n\r\n\t\t// @option zoomAnimationThreshold: Number = 4\r\n\t\t// Won't animate zoom if the zoom difference exceeds this value.\r\n\t\tzoomAnimationThreshold: 4,\r\n\r\n\t\t// @option fadeAnimation: Boolean = true\r\n\t\t// Whether the tile fade animation is enabled. By default it's enabled\r\n\t\t// in all browsers that support CSS3 Transitions except Android.\r\n\t\tfadeAnimation: true,\r\n\r\n\t\t// @option markerZoomAnimation: Boolean = true\r\n\t\t// Whether markers animate their zoom with the zoom animation, if disabled\r\n\t\t// they will disappear for the length of the animation. By default it's\r\n\t\t// enabled in all browsers that support CSS3 Transitions except Android.\r\n\t\tmarkerZoomAnimation: true,\r\n\r\n\t\t// @option transform3DLimit: Number = 2^23\r\n\t\t// Defines the maximum size of a CSS translation transform. The default\r\n\t\t// value should not be changed unless a web browser positions layers in\r\n\t\t// the wrong place after doing a large `panBy`.\r\n\t\ttransform3DLimit: 8388608, // Precision limit of a 32-bit float\r\n\r\n\t\t// @section Interaction Options\r\n\t\t// @option zoomSnap: Number = 1\r\n\t\t// Forces the map's zoom level to always be a multiple of this, particularly\r\n\t\t// right after a [`fitBounds()`](#map-fitbounds) or a pinch-zoom.\r\n\t\t// By default, the zoom level snaps to the nearest integer; lower values\r\n\t\t// (e.g. `0.5` or `0.1`) allow for greater granularity. A value of `0`\r\n\t\t// means the zoom level will not be snapped after `fitBounds` or a pinch-zoom.\r\n\t\tzoomSnap: 1,\r\n\r\n\t\t// @option zoomDelta: Number = 1\r\n\t\t// Controls how much the map's zoom level will change after a\r\n\t\t// [`zoomIn()`](#map-zoomin), [`zoomOut()`](#map-zoomout), pressing `+`\r\n\t\t// or `-` on the keyboard, or using the [zoom controls](#control-zoom).\r\n\t\t// Values smaller than `1` (e.g. `0.5`) allow for greater granularity.\r\n\t\tzoomDelta: 1,\r\n\r\n\t\t// @option trackResize: Boolean = true\r\n\t\t// Whether the map automatically handles browser window resize to update itself.\r\n\t\ttrackResize: true\r\n\t},\r\n\r\n\tinitialize: function (id, options) { // (HTMLElement or String, Object)\r\n\t\toptions = setOptions(this, options);\r\n\r\n\t\t// Make sure to assign internal flags at the beginning,\r\n\t\t// to avoid inconsistent state in some edge cases.\r\n\t\tthis._handlers = [];\r\n\t\tthis._layers = {};\r\n\t\tthis._zoomBoundLayers = {};\r\n\t\tthis._sizeChanged = true;\r\n\r\n\t\tthis._initContainer(id);\r\n\t\tthis._initLayout();\r\n\r\n\t\t// hack for https://github.com/Leaflet/Leaflet/issues/1980\r\n\t\tthis._onResize = bind(this._onResize, this);\r\n\r\n\t\tthis._initEvents();\r\n\r\n\t\tif (options.maxBounds) {\r\n\t\t\tthis.setMaxBounds(options.maxBounds);\r\n\t\t}\r\n\r\n\t\tif (options.zoom !== undefined) {\r\n\t\t\tthis._zoom = this._limitZoom(options.zoom);\r\n\t\t}\r\n\r\n\t\tif (options.center && options.zoom !== undefined) {\r\n\t\t\tthis.setView(toLatLng(options.center), options.zoom, {reset: true});\r\n\t\t}\r\n\r\n\t\tthis.callInitHooks();\r\n\r\n\t\t// don't animate on browsers without hardware-accelerated transitions or old Android/Opera\r\n\t\tthis._zoomAnimated = TRANSITION && any3d && !mobileOpera &&\r\n\t\t\t\tthis.options.zoomAnimation;\r\n\r\n\t\t// zoom transitions run with the same duration for all layers, so if one of transitionend events\r\n\t\t// happens after starting zoom animation (propagating to the map pane), we know that it ended globally\r\n\t\tif (this._zoomAnimated) {\r\n\t\t\tthis._createAnimProxy();\r\n\t\t\ton(this._proxy, TRANSITION_END, this._catchTransitionEnd, this);\r\n\t\t}\r\n\r\n\t\tthis._addLayers(this.options.layers);\r\n\t},\r\n\r\n\r\n\t// @section Methods for modifying map state\r\n\r\n\t// @method setView(center: LatLng, zoom: Number, options?: Zoom/pan options): this\r\n\t// Sets the view of the map (geographical center and zoom) with the given\r\n\t// animation options.\r\n\tsetView: function (center, zoom, options) {\r\n\r\n\t\tzoom = zoom === undefined ? this._zoom : this._limitZoom(zoom);\r\n\t\tcenter = this._limitCenter(toLatLng(center), zoom, this.options.maxBounds);\r\n\t\toptions = options || {};\r\n\r\n\t\tthis._stop();\r\n\r\n\t\tif (this._loaded && !options.reset && options !== true) {\r\n\r\n\t\t\tif (options.animate !== undefined) {\r\n\t\t\t\toptions.zoom = extend({animate: options.animate}, options.zoom);\r\n\t\t\t\toptions.pan = extend({animate: options.animate, duration: options.duration}, options.pan);\r\n\t\t\t}\r\n\r\n\t\t\t// try animating pan or zoom\r\n\t\t\tvar moved = (this._zoom !== zoom) ?\r\n\t\t\t\tthis._tryAnimatedZoom && this._tryAnimatedZoom(center, zoom, options.zoom) :\r\n\t\t\t\tthis._tryAnimatedPan(center, options.pan);\r\n\r\n\t\t\tif (moved) {\r\n\t\t\t\t// prevent resize handler call, the view will refresh after animation anyway\r\n\t\t\t\tclearTimeout(this._sizeTimer);\r\n\t\t\t\treturn this;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// animation didn't start, just reset the map view\r\n\t\tthis._resetView(center, zoom);\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method setZoom(zoom: Number, options?: Zoom/pan options): this\r\n\t// Sets the zoom of the map.\r\n\tsetZoom: function (zoom, options) {\r\n\t\tif (!this._loaded) {\r\n\t\t\tthis._zoom = zoom;\r\n\t\t\treturn this;\r\n\t\t}\r\n\t\treturn this.setView(this.getCenter(), zoom, {zoom: options});\r\n\t},\r\n\r\n\t// @method zoomIn(delta?: Number, options?: Zoom options): this\r\n\t// Increases the zoom of the map by `delta` ([`zoomDelta`](#map-zoomdelta) by default).\r\n\tzoomIn: function (delta, options) {\r\n\t\tdelta = delta || (any3d ? this.options.zoomDelta : 1);\r\n\t\treturn this.setZoom(this._zoom + delta, options);\r\n\t},\r\n\r\n\t// @method zoomOut(delta?: Number, options?: Zoom options): this\r\n\t// Decreases the zoom of the map by `delta` ([`zoomDelta`](#map-zoomdelta) by default).\r\n\tzoomOut: function (delta, options) {\r\n\t\tdelta = delta || (any3d ? this.options.zoomDelta : 1);\r\n\t\treturn this.setZoom(this._zoom - delta, options);\r\n\t},\r\n\r\n\t// @method setZoomAround(latlng: LatLng, zoom: Number, options: Zoom options): this\r\n\t// Zooms the map while keeping a specified geographical point on the map\r\n\t// stationary (e.g. used internally for scroll zoom and double-click zoom).\r\n\t// @alternative\r\n\t// @method setZoomAround(offset: Point, zoom: Number, options: Zoom options): this\r\n\t// Zooms the map while keeping a specified pixel on the map (relative to the top-left corner) stationary.\r\n\tsetZoomAround: function (latlng, zoom, options) {\r\n\t\tvar scale = this.getZoomScale(zoom),\r\n\t\t viewHalf = this.getSize().divideBy(2),\r\n\t\t containerPoint = latlng instanceof Point ? latlng : this.latLngToContainerPoint(latlng),\r\n\r\n\t\t centerOffset = containerPoint.subtract(viewHalf).multiplyBy(1 - 1 / scale),\r\n\t\t newCenter = this.containerPointToLatLng(viewHalf.add(centerOffset));\r\n\r\n\t\treturn this.setView(newCenter, zoom, {zoom: options});\r\n\t},\r\n\r\n\t_getBoundsCenterZoom: function (bounds, options) {\r\n\r\n\t\toptions = options || {};\r\n\t\tbounds = bounds.getBounds ? bounds.getBounds() : toLatLngBounds(bounds);\r\n\r\n\t\tvar paddingTL = toPoint(options.paddingTopLeft || options.padding || [0, 0]),\r\n\t\t paddingBR = toPoint(options.paddingBottomRight || options.padding || [0, 0]),\r\n\r\n\t\t zoom = this.getBoundsZoom(bounds, false, paddingTL.add(paddingBR));\r\n\r\n\t\tzoom = (typeof options.maxZoom === 'number') ? Math.min(options.maxZoom, zoom) : zoom;\r\n\r\n\t\tif (zoom === Infinity) {\r\n\t\t\treturn {\r\n\t\t\t\tcenter: bounds.getCenter(),\r\n\t\t\t\tzoom: zoom\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tvar paddingOffset = paddingBR.subtract(paddingTL).divideBy(2),\r\n\r\n\t\t swPoint = this.project(bounds.getSouthWest(), zoom),\r\n\t\t nePoint = this.project(bounds.getNorthEast(), zoom),\r\n\t\t center = this.unproject(swPoint.add(nePoint).divideBy(2).add(paddingOffset), zoom);\r\n\r\n\t\treturn {\r\n\t\t\tcenter: center,\r\n\t\t\tzoom: zoom\r\n\t\t};\r\n\t},\r\n\r\n\t// @method fitBounds(bounds: LatLngBounds, options?: fitBounds options): this\r\n\t// Sets a map view that contains the given geographical bounds with the\r\n\t// maximum zoom level possible.\r\n\tfitBounds: function (bounds, options) {\r\n\r\n\t\tbounds = toLatLngBounds(bounds);\r\n\r\n\t\tif (!bounds.isValid()) {\r\n\t\t\tthrow new Error('Bounds are not valid.');\r\n\t\t}\r\n\r\n\t\tvar target = this._getBoundsCenterZoom(bounds, options);\r\n\t\treturn this.setView(target.center, target.zoom, options);\r\n\t},\r\n\r\n\t// @method fitWorld(options?: fitBounds options): this\r\n\t// Sets a map view that mostly contains the whole world with the maximum\r\n\t// zoom level possible.\r\n\tfitWorld: function (options) {\r\n\t\treturn this.fitBounds([[-90, -180], [90, 180]], options);\r\n\t},\r\n\r\n\t// @method panTo(latlng: LatLng, options?: Pan options): this\r\n\t// Pans the map to a given center.\r\n\tpanTo: function (center, options) { // (LatLng)\r\n\t\treturn this.setView(center, this._zoom, {pan: options});\r\n\t},\r\n\r\n\t// @method panBy(offset: Point, options?: Pan options): this\r\n\t// Pans the map by a given number of pixels (animated).\r\n\tpanBy: function (offset, options) {\r\n\t\toffset = toPoint(offset).round();\r\n\t\toptions = options || {};\r\n\r\n\t\tif (!offset.x && !offset.y) {\r\n\t\t\treturn this.fire('moveend');\r\n\t\t}\r\n\t\t// If we pan too far, Chrome gets issues with tiles\r\n\t\t// and makes them disappear or appear in the wrong place (slightly offset) #2602\r\n\t\tif (options.animate !== true && !this.getSize().contains(offset)) {\r\n\t\t\tthis._resetView(this.unproject(this.project(this.getCenter()).add(offset)), this.getZoom());\r\n\t\t\treturn this;\r\n\t\t}\r\n\r\n\t\tif (!this._panAnim) {\r\n\t\t\tthis._panAnim = new PosAnimation();\r\n\r\n\t\t\tthis._panAnim.on({\r\n\t\t\t\t'step': this._onPanTransitionStep,\r\n\t\t\t\t'end': this._onPanTransitionEnd\r\n\t\t\t}, this);\r\n\t\t}\r\n\r\n\t\t// don't fire movestart if animating inertia\r\n\t\tif (!options.noMoveStart) {\r\n\t\t\tthis.fire('movestart');\r\n\t\t}\r\n\r\n\t\t// animate pan unless animate: false specified\r\n\t\tif (options.animate !== false) {\r\n\t\t\taddClass(this._mapPane, 'leaflet-pan-anim');\r\n\r\n\t\t\tvar newPos = this._getMapPanePos().subtract(offset).round();\r\n\t\t\tthis._panAnim.run(this._mapPane, newPos, options.duration || 0.25, options.easeLinearity);\r\n\t\t} else {\r\n\t\t\tthis._rawPanBy(offset);\r\n\t\t\tthis.fire('move').fire('moveend');\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method flyTo(latlng: LatLng, zoom?: Number, options?: Zoom/pan options): this\r\n\t// Sets the view of the map (geographical center and zoom) performing a smooth\r\n\t// pan-zoom animation.\r\n\tflyTo: function (targetCenter, targetZoom, options) {\r\n\r\n\t\toptions = options || {};\r\n\t\tif (options.animate === false || !any3d) {\r\n\t\t\treturn this.setView(targetCenter, targetZoom, options);\r\n\t\t}\r\n\r\n\t\tthis._stop();\r\n\r\n\t\tvar from = this.project(this.getCenter()),\r\n\t\t to = this.project(targetCenter),\r\n\t\t size = this.getSize(),\r\n\t\t startZoom = this._zoom;\r\n\r\n\t\ttargetCenter = toLatLng(targetCenter);\r\n\t\ttargetZoom = targetZoom === undefined ? startZoom : targetZoom;\r\n\r\n\t\tvar w0 = Math.max(size.x, size.y),\r\n\t\t w1 = w0 * this.getZoomScale(startZoom, targetZoom),\r\n\t\t u1 = (to.distanceTo(from)) || 1,\r\n\t\t rho = 1.42,\r\n\t\t rho2 = rho * rho;\r\n\r\n\t\tfunction r(i) {\r\n\t\t\tvar s1 = i ? -1 : 1,\r\n\t\t\t s2 = i ? w1 : w0,\r\n\t\t\t t1 = w1 * w1 - w0 * w0 + s1 * rho2 * rho2 * u1 * u1,\r\n\t\t\t b1 = 2 * s2 * rho2 * u1,\r\n\t\t\t b = t1 / b1,\r\n\t\t\t sq = Math.sqrt(b * b + 1) - b;\r\n\r\n\t\t\t // workaround for floating point precision bug when sq = 0, log = -Infinite,\r\n\t\t\t // thus triggering an infinite loop in flyTo\r\n\t\t\t var log = sq < 0.000000001 ? -18 : Math.log(sq);\r\n\r\n\t\t\treturn log;\r\n\t\t}\r\n\r\n\t\tfunction sinh(n) { return (Math.exp(n) - Math.exp(-n)) / 2; }\r\n\t\tfunction cosh(n) { return (Math.exp(n) + Math.exp(-n)) / 2; }\r\n\t\tfunction tanh(n) { return sinh(n) / cosh(n); }\r\n\r\n\t\tvar r0 = r(0);\r\n\r\n\t\tfunction w(s) { return w0 * (cosh(r0) / cosh(r0 + rho * s)); }\r\n\t\tfunction u(s) { return w0 * (cosh(r0) * tanh(r0 + rho * s) - sinh(r0)) / rho2; }\r\n\r\n\t\tfunction easeOut(t) { return 1 - Math.pow(1 - t, 1.5); }\r\n\r\n\t\tvar start = Date.now(),\r\n\t\t S = (r(1) - r0) / rho,\r\n\t\t duration = options.duration ? 1000 * options.duration : 1000 * S * 0.8;\r\n\r\n\t\tfunction frame() {\r\n\t\t\tvar t = (Date.now() - start) / duration,\r\n\t\t\t s = easeOut(t) * S;\r\n\r\n\t\t\tif (t <= 1) {\r\n\t\t\t\tthis._flyToFrame = requestAnimFrame(frame, this);\r\n\r\n\t\t\t\tthis._move(\r\n\t\t\t\t\tthis.unproject(from.add(to.subtract(from).multiplyBy(u(s) / u1)), startZoom),\r\n\t\t\t\t\tthis.getScaleZoom(w0 / w(s), startZoom),\r\n\t\t\t\t\t{flyTo: true});\r\n\r\n\t\t\t} else {\r\n\t\t\t\tthis\r\n\t\t\t\t\t._move(targetCenter, targetZoom)\r\n\t\t\t\t\t._moveEnd(true);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis._moveStart(true, options.noMoveStart);\r\n\r\n\t\tframe.call(this);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method flyToBounds(bounds: LatLngBounds, options?: fitBounds options): this\r\n\t// Sets the view of the map with a smooth animation like [`flyTo`](#map-flyto),\r\n\t// but takes a bounds parameter like [`fitBounds`](#map-fitbounds).\r\n\tflyToBounds: function (bounds, options) {\r\n\t\tvar target = this._getBoundsCenterZoom(bounds, options);\r\n\t\treturn this.flyTo(target.center, target.zoom, options);\r\n\t},\r\n\r\n\t// @method setMaxBounds(bounds: LatLngBounds): this\r\n\t// Restricts the map view to the given bounds (see the [maxBounds](#map-maxbounds) option).\r\n\tsetMaxBounds: function (bounds) {\r\n\t\tbounds = toLatLngBounds(bounds);\r\n\r\n\t\tif (!bounds.isValid()) {\r\n\t\t\tthis.options.maxBounds = null;\r\n\t\t\treturn this.off('moveend', this._panInsideMaxBounds);\r\n\t\t} else if (this.options.maxBounds) {\r\n\t\t\tthis.off('moveend', this._panInsideMaxBounds);\r\n\t\t}\r\n\r\n\t\tthis.options.maxBounds = bounds;\r\n\r\n\t\tif (this._loaded) {\r\n\t\t\tthis._panInsideMaxBounds();\r\n\t\t}\r\n\r\n\t\treturn this.on('moveend', this._panInsideMaxBounds);\r\n\t},\r\n\r\n\t// @method setMinZoom(zoom: Number): this\r\n\t// Sets the lower limit for the available zoom levels (see the [minZoom](#map-minzoom) option).\r\n\tsetMinZoom: function (zoom) {\r\n\t\tvar oldZoom = this.options.minZoom;\r\n\t\tthis.options.minZoom = zoom;\r\n\r\n\t\tif (this._loaded && oldZoom !== zoom) {\r\n\t\t\tthis.fire('zoomlevelschange');\r\n\r\n\t\t\tif (this.getZoom() < this.options.minZoom) {\r\n\t\t\t\treturn this.setZoom(zoom);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method setMaxZoom(zoom: Number): this\r\n\t// Sets the upper limit for the available zoom levels (see the [maxZoom](#map-maxzoom) option).\r\n\tsetMaxZoom: function (zoom) {\r\n\t\tvar oldZoom = this.options.maxZoom;\r\n\t\tthis.options.maxZoom = zoom;\r\n\r\n\t\tif (this._loaded && oldZoom !== zoom) {\r\n\t\t\tthis.fire('zoomlevelschange');\r\n\r\n\t\t\tif (this.getZoom() > this.options.maxZoom) {\r\n\t\t\t\treturn this.setZoom(zoom);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method panInsideBounds(bounds: LatLngBounds, options?: Pan options): this\r\n\t// Pans the map to the closest view that would lie inside the given bounds (if it's not already), controlling the animation using the options specific, if any.\r\n\tpanInsideBounds: function (bounds, options) {\r\n\t\tthis._enforcingBounds = true;\r\n\t\tvar center = this.getCenter(),\r\n\t\t newCenter = this._limitCenter(center, this._zoom, toLatLngBounds(bounds));\r\n\r\n\t\tif (!center.equals(newCenter)) {\r\n\t\t\tthis.panTo(newCenter, options);\r\n\t\t}\r\n\r\n\t\tthis._enforcingBounds = false;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method panInside(latlng: LatLng, options?: options): this\r\n\t// Pans the map the minimum amount to make the `latlng` visible. Use\r\n\t// `padding`, `paddingTopLeft` and `paddingTopRight` options to fit\r\n\t// the display to more restricted bounds, like [`fitBounds`](#map-fitbounds).\r\n\t// If `latlng` is already within the (optionally padded) display bounds,\r\n\t// the map will not be panned.\r\n\tpanInside: function (latlng, options) {\r\n\t\toptions = options || {};\r\n\r\n\t\tvar paddingTL = toPoint(options.paddingTopLeft || options.padding || [0, 0]),\r\n\t\t paddingBR = toPoint(options.paddingBottomRight || options.padding || [0, 0]),\r\n\t\t center = this.getCenter(),\r\n\t\t pixelCenter = this.project(center),\r\n\t\t pixelPoint = this.project(latlng),\r\n\t\t pixelBounds = this.getPixelBounds(),\r\n\t\t halfPixelBounds = pixelBounds.getSize().divideBy(2),\r\n\t\t paddedBounds = toBounds([pixelBounds.min.add(paddingTL), pixelBounds.max.subtract(paddingBR)]);\r\n\r\n\t\tif (!paddedBounds.contains(pixelPoint)) {\r\n\t\t\tthis._enforcingBounds = true;\r\n\t\t\tvar diff = pixelCenter.subtract(pixelPoint),\r\n\t\t\t newCenter = toPoint(pixelPoint.x + diff.x, pixelPoint.y + diff.y);\r\n\r\n\t\t\tif (pixelPoint.x < paddedBounds.min.x || pixelPoint.x > paddedBounds.max.x) {\r\n\t\t\t\tnewCenter.x = pixelCenter.x - diff.x;\r\n\t\t\t\tif (diff.x > 0) {\r\n\t\t\t\t\tnewCenter.x += halfPixelBounds.x - paddingTL.x;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewCenter.x -= halfPixelBounds.x - paddingBR.x;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (pixelPoint.y < paddedBounds.min.y || pixelPoint.y > paddedBounds.max.y) {\r\n\t\t\t\tnewCenter.y = pixelCenter.y - diff.y;\r\n\t\t\t\tif (diff.y > 0) {\r\n\t\t\t\t\tnewCenter.y += halfPixelBounds.y - paddingTL.y;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewCenter.y -= halfPixelBounds.y - paddingBR.y;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.panTo(this.unproject(newCenter), options);\r\n\t\t\tthis._enforcingBounds = false;\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method invalidateSize(options: Zoom/pan options): this\r\n\t// Checks if the map container size changed and updates the map if so —\r\n\t// call it after you've changed the map size dynamically, also animating\r\n\t// pan by default. If `options.pan` is `false`, panning will not occur.\r\n\t// If `options.debounceMoveend` is `true`, it will delay `moveend` event so\r\n\t// that it doesn't happen often even if the method is called many\r\n\t// times in a row.\r\n\r\n\t// @alternative\r\n\t// @method invalidateSize(animate: Boolean): this\r\n\t// Checks if the map container size changed and updates the map if so —\r\n\t// call it after you've changed the map size dynamically, also animating\r\n\t// pan by default.\r\n\tinvalidateSize: function (options) {\r\n\t\tif (!this._loaded) { return this; }\r\n\r\n\t\toptions = extend({\r\n\t\t\tanimate: false,\r\n\t\t\tpan: true\r\n\t\t}, options === true ? {animate: true} : options);\r\n\r\n\t\tvar oldSize = this.getSize();\r\n\t\tthis._sizeChanged = true;\r\n\t\tthis._lastCenter = null;\r\n\r\n\t\tvar newSize = this.getSize(),\r\n\t\t oldCenter = oldSize.divideBy(2).round(),\r\n\t\t newCenter = newSize.divideBy(2).round(),\r\n\t\t offset = oldCenter.subtract(newCenter);\r\n\r\n\t\tif (!offset.x && !offset.y) { return this; }\r\n\r\n\t\tif (options.animate && options.pan) {\r\n\t\t\tthis.panBy(offset);\r\n\r\n\t\t} else {\r\n\t\t\tif (options.pan) {\r\n\t\t\t\tthis._rawPanBy(offset);\r\n\t\t\t}\r\n\r\n\t\t\tthis.fire('move');\r\n\r\n\t\t\tif (options.debounceMoveend) {\r\n\t\t\t\tclearTimeout(this._sizeTimer);\r\n\t\t\t\tthis._sizeTimer = setTimeout(bind(this.fire, this, 'moveend'), 200);\r\n\t\t\t} else {\r\n\t\t\t\tthis.fire('moveend');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// @section Map state change events\r\n\t\t// @event resize: ResizeEvent\r\n\t\t// Fired when the map is resized.\r\n\t\treturn this.fire('resize', {\r\n\t\t\toldSize: oldSize,\r\n\t\t\tnewSize: newSize\r\n\t\t});\r\n\t},\r\n\r\n\t// @section Methods for modifying map state\r\n\t// @method stop(): this\r\n\t// Stops the currently running `panTo` or `flyTo` animation, if any.\r\n\tstop: function () {\r\n\t\tthis.setZoom(this._limitZoom(this._zoom));\r\n\t\tif (!this.options.zoomSnap) {\r\n\t\t\tthis.fire('viewreset');\r\n\t\t}\r\n\t\treturn this._stop();\r\n\t},\r\n\r\n\t// @section Geolocation methods\r\n\t// @method locate(options?: Locate options): this\r\n\t// Tries to locate the user using the Geolocation API, firing a [`locationfound`](#map-locationfound)\r\n\t// event with location data on success or a [`locationerror`](#map-locationerror) event on failure,\r\n\t// and optionally sets the map view to the user's location with respect to\r\n\t// detection accuracy (or to the world view if geolocation failed).\r\n\t// Note that, if your page doesn't use HTTPS, this method will fail in\r\n\t// modern browsers ([Chrome 50 and newer](https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins))\r\n\t// See `Locate options` for more details.\r\n\tlocate: function (options) {\r\n\r\n\t\toptions = this._locateOptions = extend({\r\n\t\t\ttimeout: 10000,\r\n\t\t\twatch: false\r\n\t\t\t// setView: false\r\n\t\t\t// maxZoom: \r\n\t\t\t// maximumAge: 0\r\n\t\t\t// enableHighAccuracy: false\r\n\t\t}, options);\r\n\r\n\t\tif (!('geolocation' in navigator)) {\r\n\t\t\tthis._handleGeolocationError({\r\n\t\t\t\tcode: 0,\r\n\t\t\t\tmessage: 'Geolocation not supported.'\r\n\t\t\t});\r\n\t\t\treturn this;\r\n\t\t}\r\n\r\n\t\tvar onResponse = bind(this._handleGeolocationResponse, this),\r\n\t\t onError = bind(this._handleGeolocationError, this);\r\n\r\n\t\tif (options.watch) {\r\n\t\t\tthis._locationWatchId =\r\n\t\t\t navigator.geolocation.watchPosition(onResponse, onError, options);\r\n\t\t} else {\r\n\t\t\tnavigator.geolocation.getCurrentPosition(onResponse, onError, options);\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method stopLocate(): this\r\n\t// Stops watching location previously initiated by `map.locate({watch: true})`\r\n\t// and aborts resetting the map view if map.locate was called with\r\n\t// `{setView: true}`.\r\n\tstopLocate: function () {\r\n\t\tif (navigator.geolocation && navigator.geolocation.clearWatch) {\r\n\t\t\tnavigator.geolocation.clearWatch(this._locationWatchId);\r\n\t\t}\r\n\t\tif (this._locateOptions) {\r\n\t\t\tthis._locateOptions.setView = false;\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\t_handleGeolocationError: function (error) {\r\n\t\tvar c = error.code,\r\n\t\t message = error.message ||\r\n\t\t (c === 1 ? 'permission denied' :\r\n\t\t (c === 2 ? 'position unavailable' : 'timeout'));\r\n\r\n\t\tif (this._locateOptions.setView && !this._loaded) {\r\n\t\t\tthis.fitWorld();\r\n\t\t}\r\n\r\n\t\t// @section Location events\r\n\t\t// @event locationerror: ErrorEvent\r\n\t\t// Fired when geolocation (using the [`locate`](#map-locate) method) failed.\r\n\t\tthis.fire('locationerror', {\r\n\t\t\tcode: c,\r\n\t\t\tmessage: 'Geolocation error: ' + message + '.'\r\n\t\t});\r\n\t},\r\n\r\n\t_handleGeolocationResponse: function (pos) {\r\n\t\tvar lat = pos.coords.latitude,\r\n\t\t lng = pos.coords.longitude,\r\n\t\t latlng = new LatLng(lat, lng),\r\n\t\t bounds = latlng.toBounds(pos.coords.accuracy * 2),\r\n\t\t options = this._locateOptions;\r\n\r\n\t\tif (options.setView) {\r\n\t\t\tvar zoom = this.getBoundsZoom(bounds);\r\n\t\t\tthis.setView(latlng, options.maxZoom ? Math.min(zoom, options.maxZoom) : zoom);\r\n\t\t}\r\n\r\n\t\tvar data = {\r\n\t\t\tlatlng: latlng,\r\n\t\t\tbounds: bounds,\r\n\t\t\ttimestamp: pos.timestamp\r\n\t\t};\r\n\r\n\t\tfor (var i in pos.coords) {\r\n\t\t\tif (typeof pos.coords[i] === 'number') {\r\n\t\t\t\tdata[i] = pos.coords[i];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// @event locationfound: LocationEvent\r\n\t\t// Fired when geolocation (using the [`locate`](#map-locate) method)\r\n\t\t// went successfully.\r\n\t\tthis.fire('locationfound', data);\r\n\t},\r\n\r\n\t// TODO Appropriate docs section?\r\n\t// @section Other Methods\r\n\t// @method addHandler(name: String, HandlerClass: Function): this\r\n\t// Adds a new `Handler` to the map, given its name and constructor function.\r\n\taddHandler: function (name, HandlerClass) {\r\n\t\tif (!HandlerClass) { return this; }\r\n\r\n\t\tvar handler = this[name] = new HandlerClass(this);\r\n\r\n\t\tthis._handlers.push(handler);\r\n\r\n\t\tif (this.options[name]) {\r\n\t\t\thandler.enable();\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method remove(): this\r\n\t// Destroys the map and clears all related event listeners.\r\n\tremove: function () {\r\n\r\n\t\tthis._initEvents(true);\r\n\t\tthis.off('moveend', this._panInsideMaxBounds);\r\n\r\n\t\tif (this._containerId !== this._container._leaflet_id) {\r\n\t\t\tthrow new Error('Map container is being reused by another instance');\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\t// throws error in IE6-8\r\n\t\t\tdelete this._container._leaflet_id;\r\n\t\t\tdelete this._containerId;\r\n\t\t} catch (e) {\r\n\t\t\t/*eslint-disable */\r\n\t\t\tthis._container._leaflet_id = undefined;\r\n\t\t\t/* eslint-enable */\r\n\t\t\tthis._containerId = undefined;\r\n\t\t}\r\n\r\n\t\tif (this._locationWatchId !== undefined) {\r\n\t\t\tthis.stopLocate();\r\n\t\t}\r\n\r\n\t\tthis._stop();\r\n\r\n\t\tremove(this._mapPane);\r\n\r\n\t\tif (this._clearControlPos) {\r\n\t\t\tthis._clearControlPos();\r\n\t\t}\r\n\t\tif (this._resizeRequest) {\r\n\t\t\tcancelAnimFrame(this._resizeRequest);\r\n\t\t\tthis._resizeRequest = null;\r\n\t\t}\r\n\r\n\t\tthis._clearHandlers();\r\n\r\n\t\tif (this._loaded) {\r\n\t\t\t// @section Map state change events\r\n\t\t\t// @event unload: Event\r\n\t\t\t// Fired when the map is destroyed with [remove](#map-remove) method.\r\n\t\t\tthis.fire('unload');\r\n\t\t}\r\n\r\n\t\tvar i;\r\n\t\tfor (i in this._layers) {\r\n\t\t\tthis._layers[i].remove();\r\n\t\t}\r\n\t\tfor (i in this._panes) {\r\n\t\t\tremove(this._panes[i]);\r\n\t\t}\r\n\r\n\t\tthis._layers = [];\r\n\t\tthis._panes = [];\r\n\t\tdelete this._mapPane;\r\n\t\tdelete this._renderer;\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @section Other Methods\r\n\t// @method createPane(name: String, container?: HTMLElement): HTMLElement\r\n\t// Creates a new [map pane](#map-pane) with the given name if it doesn't exist already,\r\n\t// then returns it. The pane is created as a child of `container`, or\r\n\t// as a child of the main map pane if not set.\r\n\tcreatePane: function (name, container) {\r\n\t\tvar className = 'leaflet-pane' + (name ? ' leaflet-' + name.replace('Pane', '') + '-pane' : ''),\r\n\t\t pane = create$1('div', className, container || this._mapPane);\r\n\r\n\t\tif (name) {\r\n\t\t\tthis._panes[name] = pane;\r\n\t\t}\r\n\t\treturn pane;\r\n\t},\r\n\r\n\t// @section Methods for Getting Map State\r\n\r\n\t// @method getCenter(): LatLng\r\n\t// Returns the geographical center of the map view\r\n\tgetCenter: function () {\r\n\t\tthis._checkIfLoaded();\r\n\r\n\t\tif (this._lastCenter && !this._moved()) {\r\n\t\t\treturn this._lastCenter;\r\n\t\t}\r\n\t\treturn this.layerPointToLatLng(this._getCenterLayerPoint());\r\n\t},\r\n\r\n\t// @method getZoom(): Number\r\n\t// Returns the current zoom level of the map view\r\n\tgetZoom: function () {\r\n\t\treturn this._zoom;\r\n\t},\r\n\r\n\t// @method getBounds(): LatLngBounds\r\n\t// Returns the geographical bounds visible in the current map view\r\n\tgetBounds: function () {\r\n\t\tvar bounds = this.getPixelBounds(),\r\n\t\t sw = this.unproject(bounds.getBottomLeft()),\r\n\t\t ne = this.unproject(bounds.getTopRight());\r\n\r\n\t\treturn new LatLngBounds(sw, ne);\r\n\t},\r\n\r\n\t// @method getMinZoom(): Number\r\n\t// Returns the minimum zoom level of the map (if set in the `minZoom` option of the map or of any layers), or `0` by default.\r\n\tgetMinZoom: function () {\r\n\t\treturn this.options.minZoom === undefined ? this._layersMinZoom || 0 : this.options.minZoom;\r\n\t},\r\n\r\n\t// @method getMaxZoom(): Number\r\n\t// Returns the maximum zoom level of the map (if set in the `maxZoom` option of the map or of any layers).\r\n\tgetMaxZoom: function () {\r\n\t\treturn this.options.maxZoom === undefined ?\r\n\t\t\t(this._layersMaxZoom === undefined ? Infinity : this._layersMaxZoom) :\r\n\t\t\tthis.options.maxZoom;\r\n\t},\r\n\r\n\t// @method getBoundsZoom(bounds: LatLngBounds, inside?: Boolean, padding?: Point): Number\r\n\t// Returns the maximum zoom level on which the given bounds fit to the map\r\n\t// view in its entirety. If `inside` (optional) is set to `true`, the method\r\n\t// instead returns the minimum zoom level on which the map view fits into\r\n\t// the given bounds in its entirety.\r\n\tgetBoundsZoom: function (bounds, inside, padding) { // (LatLngBounds[, Boolean, Point]) -> Number\r\n\t\tbounds = toLatLngBounds(bounds);\r\n\t\tpadding = toPoint(padding || [0, 0]);\r\n\r\n\t\tvar zoom = this.getZoom() || 0,\r\n\t\t min = this.getMinZoom(),\r\n\t\t max = this.getMaxZoom(),\r\n\t\t nw = bounds.getNorthWest(),\r\n\t\t se = bounds.getSouthEast(),\r\n\t\t size = this.getSize().subtract(padding),\r\n\t\t boundsSize = toBounds(this.project(se, zoom), this.project(nw, zoom)).getSize(),\r\n\t\t snap = any3d ? this.options.zoomSnap : 1,\r\n\t\t scalex = size.x / boundsSize.x,\r\n\t\t scaley = size.y / boundsSize.y,\r\n\t\t scale = inside ? Math.max(scalex, scaley) : Math.min(scalex, scaley);\r\n\r\n\t\tzoom = this.getScaleZoom(scale, zoom);\r\n\r\n\t\tif (snap) {\r\n\t\t\tzoom = Math.round(zoom / (snap / 100)) * (snap / 100); // don't jump if within 1% of a snap level\r\n\t\t\tzoom = inside ? Math.ceil(zoom / snap) * snap : Math.floor(zoom / snap) * snap;\r\n\t\t}\r\n\r\n\t\treturn Math.max(min, Math.min(max, zoom));\r\n\t},\r\n\r\n\t// @method getSize(): Point\r\n\t// Returns the current size of the map container (in pixels).\r\n\tgetSize: function () {\r\n\t\tif (!this._size || this._sizeChanged) {\r\n\t\t\tthis._size = new Point(\r\n\t\t\t\tthis._container.clientWidth || 0,\r\n\t\t\t\tthis._container.clientHeight || 0);\r\n\r\n\t\t\tthis._sizeChanged = false;\r\n\t\t}\r\n\t\treturn this._size.clone();\r\n\t},\r\n\r\n\t// @method getPixelBounds(): Bounds\r\n\t// Returns the bounds of the current map view in projected pixel\r\n\t// coordinates (sometimes useful in layer and overlay implementations).\r\n\tgetPixelBounds: function (center, zoom) {\r\n\t\tvar topLeftPoint = this._getTopLeftPoint(center, zoom);\r\n\t\treturn new Bounds(topLeftPoint, topLeftPoint.add(this.getSize()));\r\n\t},\r\n\r\n\t// TODO: Check semantics - isn't the pixel origin the 0,0 coord relative to\r\n\t// the map pane? \"left point of the map layer\" can be confusing, specially\r\n\t// since there can be negative offsets.\r\n\t// @method getPixelOrigin(): Point\r\n\t// Returns the projected pixel coordinates of the top left point of\r\n\t// the map layer (useful in custom layer and overlay implementations).\r\n\tgetPixelOrigin: function () {\r\n\t\tthis._checkIfLoaded();\r\n\t\treturn this._pixelOrigin;\r\n\t},\r\n\r\n\t// @method getPixelWorldBounds(zoom?: Number): Bounds\r\n\t// Returns the world's bounds in pixel coordinates for zoom level `zoom`.\r\n\t// If `zoom` is omitted, the map's current zoom level is used.\r\n\tgetPixelWorldBounds: function (zoom) {\r\n\t\treturn this.options.crs.getProjectedBounds(zoom === undefined ? this.getZoom() : zoom);\r\n\t},\r\n\r\n\t// @section Other Methods\r\n\r\n\t// @method getPane(pane: String|HTMLElement): HTMLElement\r\n\t// Returns a [map pane](#map-pane), given its name or its HTML element (its identity).\r\n\tgetPane: function (pane) {\r\n\t\treturn typeof pane === 'string' ? this._panes[pane] : pane;\r\n\t},\r\n\r\n\t// @method getPanes(): Object\r\n\t// Returns a plain object containing the names of all [panes](#map-pane) as keys and\r\n\t// the panes as values.\r\n\tgetPanes: function () {\r\n\t\treturn this._panes;\r\n\t},\r\n\r\n\t// @method getContainer: HTMLElement\r\n\t// Returns the HTML element that contains the map.\r\n\tgetContainer: function () {\r\n\t\treturn this._container;\r\n\t},\r\n\r\n\r\n\t// @section Conversion Methods\r\n\r\n\t// @method getZoomScale(toZoom: Number, fromZoom: Number): Number\r\n\t// Returns the scale factor to be applied to a map transition from zoom level\r\n\t// `fromZoom` to `toZoom`. Used internally to help with zoom animations.\r\n\tgetZoomScale: function (toZoom, fromZoom) {\r\n\t\t// TODO replace with universal implementation after refactoring projections\r\n\t\tvar crs = this.options.crs;\r\n\t\tfromZoom = fromZoom === undefined ? this._zoom : fromZoom;\r\n\t\treturn crs.scale(toZoom) / crs.scale(fromZoom);\r\n\t},\r\n\r\n\t// @method getScaleZoom(scale: Number, fromZoom: Number): Number\r\n\t// Returns the zoom level that the map would end up at, if it is at `fromZoom`\r\n\t// level and everything is scaled by a factor of `scale`. Inverse of\r\n\t// [`getZoomScale`](#map-getZoomScale).\r\n\tgetScaleZoom: function (scale, fromZoom) {\r\n\t\tvar crs = this.options.crs;\r\n\t\tfromZoom = fromZoom === undefined ? this._zoom : fromZoom;\r\n\t\tvar zoom = crs.zoom(scale * crs.scale(fromZoom));\r\n\t\treturn isNaN(zoom) ? Infinity : zoom;\r\n\t},\r\n\r\n\t// @method project(latlng: LatLng, zoom: Number): Point\r\n\t// Projects a geographical coordinate `LatLng` according to the projection\r\n\t// of the map's CRS, then scales it according to `zoom` and the CRS's\r\n\t// `Transformation`. The result is pixel coordinate relative to\r\n\t// the CRS origin.\r\n\tproject: function (latlng, zoom) {\r\n\t\tzoom = zoom === undefined ? this._zoom : zoom;\r\n\t\treturn this.options.crs.latLngToPoint(toLatLng(latlng), zoom);\r\n\t},\r\n\r\n\t// @method unproject(point: Point, zoom: Number): LatLng\r\n\t// Inverse of [`project`](#map-project).\r\n\tunproject: function (point, zoom) {\r\n\t\tzoom = zoom === undefined ? this._zoom : zoom;\r\n\t\treturn this.options.crs.pointToLatLng(toPoint(point), zoom);\r\n\t},\r\n\r\n\t// @method layerPointToLatLng(point: Point): LatLng\r\n\t// Given a pixel coordinate relative to the [origin pixel](#map-getpixelorigin),\r\n\t// returns the corresponding geographical coordinate (for the current zoom level).\r\n\tlayerPointToLatLng: function (point) {\r\n\t\tvar projectedPoint = toPoint(point).add(this.getPixelOrigin());\r\n\t\treturn this.unproject(projectedPoint);\r\n\t},\r\n\r\n\t// @method latLngToLayerPoint(latlng: LatLng): Point\r\n\t// Given a geographical coordinate, returns the corresponding pixel coordinate\r\n\t// relative to the [origin pixel](#map-getpixelorigin).\r\n\tlatLngToLayerPoint: function (latlng) {\r\n\t\tvar projectedPoint = this.project(toLatLng(latlng))._round();\r\n\t\treturn projectedPoint._subtract(this.getPixelOrigin());\r\n\t},\r\n\r\n\t// @method wrapLatLng(latlng: LatLng): LatLng\r\n\t// Returns a `LatLng` where `lat` and `lng` has been wrapped according to the\r\n\t// map's CRS's `wrapLat` and `wrapLng` properties, if they are outside the\r\n\t// CRS's bounds.\r\n\t// By default this means longitude is wrapped around the dateline so its\r\n\t// value is between -180 and +180 degrees.\r\n\twrapLatLng: function (latlng) {\r\n\t\treturn this.options.crs.wrapLatLng(toLatLng(latlng));\r\n\t},\r\n\r\n\t// @method wrapLatLngBounds(bounds: LatLngBounds): LatLngBounds\r\n\t// Returns a `LatLngBounds` with the same size as the given one, ensuring that\r\n\t// its center is within the CRS's bounds.\r\n\t// By default this means the center longitude is wrapped around the dateline so its\r\n\t// value is between -180 and +180 degrees, and the majority of the bounds\r\n\t// overlaps the CRS's bounds.\r\n\twrapLatLngBounds: function (latlng) {\r\n\t\treturn this.options.crs.wrapLatLngBounds(toLatLngBounds(latlng));\r\n\t},\r\n\r\n\t// @method distance(latlng1: LatLng, latlng2: LatLng): Number\r\n\t// Returns the distance between two geographical coordinates according to\r\n\t// the map's CRS. By default this measures distance in meters.\r\n\tdistance: function (latlng1, latlng2) {\r\n\t\treturn this.options.crs.distance(toLatLng(latlng1), toLatLng(latlng2));\r\n\t},\r\n\r\n\t// @method containerPointToLayerPoint(point: Point): Point\r\n\t// Given a pixel coordinate relative to the map container, returns the corresponding\r\n\t// pixel coordinate relative to the [origin pixel](#map-getpixelorigin).\r\n\tcontainerPointToLayerPoint: function (point) { // (Point)\r\n\t\treturn toPoint(point).subtract(this._getMapPanePos());\r\n\t},\r\n\r\n\t// @method layerPointToContainerPoint(point: Point): Point\r\n\t// Given a pixel coordinate relative to the [origin pixel](#map-getpixelorigin),\r\n\t// returns the corresponding pixel coordinate relative to the map container.\r\n\tlayerPointToContainerPoint: function (point) { // (Point)\r\n\t\treturn toPoint(point).add(this._getMapPanePos());\r\n\t},\r\n\r\n\t// @method containerPointToLatLng(point: Point): LatLng\r\n\t// Given a pixel coordinate relative to the map container, returns\r\n\t// the corresponding geographical coordinate (for the current zoom level).\r\n\tcontainerPointToLatLng: function (point) {\r\n\t\tvar layerPoint = this.containerPointToLayerPoint(toPoint(point));\r\n\t\treturn this.layerPointToLatLng(layerPoint);\r\n\t},\r\n\r\n\t// @method latLngToContainerPoint(latlng: LatLng): Point\r\n\t// Given a geographical coordinate, returns the corresponding pixel coordinate\r\n\t// relative to the map container.\r\n\tlatLngToContainerPoint: function (latlng) {\r\n\t\treturn this.layerPointToContainerPoint(this.latLngToLayerPoint(toLatLng(latlng)));\r\n\t},\r\n\r\n\t// @method mouseEventToContainerPoint(ev: MouseEvent): Point\r\n\t// Given a MouseEvent object, returns the pixel coordinate relative to the\r\n\t// map container where the event took place.\r\n\tmouseEventToContainerPoint: function (e) {\r\n\t\treturn getMousePosition(e, this._container);\r\n\t},\r\n\r\n\t// @method mouseEventToLayerPoint(ev: MouseEvent): Point\r\n\t// Given a MouseEvent object, returns the pixel coordinate relative to\r\n\t// the [origin pixel](#map-getpixelorigin) where the event took place.\r\n\tmouseEventToLayerPoint: function (e) {\r\n\t\treturn this.containerPointToLayerPoint(this.mouseEventToContainerPoint(e));\r\n\t},\r\n\r\n\t// @method mouseEventToLatLng(ev: MouseEvent): LatLng\r\n\t// Given a MouseEvent object, returns geographical coordinate where the\r\n\t// event took place.\r\n\tmouseEventToLatLng: function (e) { // (MouseEvent)\r\n\t\treturn this.layerPointToLatLng(this.mouseEventToLayerPoint(e));\r\n\t},\r\n\r\n\r\n\t// map initialization methods\r\n\r\n\t_initContainer: function (id) {\r\n\t\tvar container = this._container = get(id);\r\n\r\n\t\tif (!container) {\r\n\t\t\tthrow new Error('Map container not found.');\r\n\t\t} else if (container._leaflet_id) {\r\n\t\t\tthrow new Error('Map container is already initialized.');\r\n\t\t}\r\n\r\n\t\ton(container, 'scroll', this._onScroll, this);\r\n\t\tthis._containerId = stamp(container);\r\n\t},\r\n\r\n\t_initLayout: function () {\r\n\t\tvar container = this._container;\r\n\r\n\t\tthis._fadeAnimated = this.options.fadeAnimation && any3d;\r\n\r\n\t\taddClass(container, 'leaflet-container' +\r\n\t\t\t(touch ? ' leaflet-touch' : '') +\r\n\t\t\t(retina ? ' leaflet-retina' : '') +\r\n\t\t\t(ielt9 ? ' leaflet-oldie' : '') +\r\n\t\t\t(safari ? ' leaflet-safari' : '') +\r\n\t\t\t(this._fadeAnimated ? ' leaflet-fade-anim' : ''));\r\n\r\n\t\tvar position = getStyle(container, 'position');\r\n\r\n\t\tif (position !== 'absolute' && position !== 'relative' && position !== 'fixed') {\r\n\t\t\tcontainer.style.position = 'relative';\r\n\t\t}\r\n\r\n\t\tthis._initPanes();\r\n\r\n\t\tif (this._initControlPos) {\r\n\t\t\tthis._initControlPos();\r\n\t\t}\r\n\t},\r\n\r\n\t_initPanes: function () {\r\n\t\tvar panes = this._panes = {};\r\n\t\tthis._paneRenderers = {};\r\n\r\n\t\t// @section\r\n\t\t//\r\n\t\t// Panes are DOM elements used to control the ordering of layers on the map. You\r\n\t\t// can access panes with [`map.getPane`](#map-getpane) or\r\n\t\t// [`map.getPanes`](#map-getpanes) methods. New panes can be created with the\r\n\t\t// [`map.createPane`](#map-createpane) method.\r\n\t\t//\r\n\t\t// Every map has the following default panes that differ only in zIndex.\r\n\t\t//\r\n\t\t// @pane mapPane: HTMLElement = 'auto'\r\n\t\t// Pane that contains all other map panes\r\n\r\n\t\tthis._mapPane = this.createPane('mapPane', this._container);\r\n\t\tsetPosition(this._mapPane, new Point(0, 0));\r\n\r\n\t\t// @pane tilePane: HTMLElement = 200\r\n\t\t// Pane for `GridLayer`s and `TileLayer`s\r\n\t\tthis.createPane('tilePane');\r\n\t\t// @pane overlayPane: HTMLElement = 400\r\n\t\t// Pane for overlay shadows (e.g. `Marker` shadows)\r\n\t\tthis.createPane('shadowPane');\r\n\t\t// @pane shadowPane: HTMLElement = 500\r\n\t\t// Pane for vectors (`Path`s, like `Polyline`s and `Polygon`s), `ImageOverlay`s and `VideoOverlay`s\r\n\t\tthis.createPane('overlayPane');\r\n\t\t// @pane markerPane: HTMLElement = 600\r\n\t\t// Pane for `Icon`s of `Marker`s\r\n\t\tthis.createPane('markerPane');\r\n\t\t// @pane tooltipPane: HTMLElement = 650\r\n\t\t// Pane for `Tooltip`s.\r\n\t\tthis.createPane('tooltipPane');\r\n\t\t// @pane popupPane: HTMLElement = 700\r\n\t\t// Pane for `Popup`s.\r\n\t\tthis.createPane('popupPane');\r\n\r\n\t\tif (!this.options.markerZoomAnimation) {\r\n\t\t\taddClass(panes.markerPane, 'leaflet-zoom-hide');\r\n\t\t\taddClass(panes.shadowPane, 'leaflet-zoom-hide');\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// private methods that modify map state\r\n\r\n\t// @section Map state change events\r\n\t_resetView: function (center, zoom) {\r\n\t\tsetPosition(this._mapPane, new Point(0, 0));\r\n\r\n\t\tvar loading = !this._loaded;\r\n\t\tthis._loaded = true;\r\n\t\tzoom = this._limitZoom(zoom);\r\n\r\n\t\tthis.fire('viewprereset');\r\n\r\n\t\tvar zoomChanged = this._zoom !== zoom;\r\n\t\tthis\r\n\t\t\t._moveStart(zoomChanged, false)\r\n\t\t\t._move(center, zoom)\r\n\t\t\t._moveEnd(zoomChanged);\r\n\r\n\t\t// @event viewreset: Event\r\n\t\t// Fired when the map needs to redraw its content (this usually happens\r\n\t\t// on map zoom or load). Very useful for creating custom overlays.\r\n\t\tthis.fire('viewreset');\r\n\r\n\t\t// @event load: Event\r\n\t\t// Fired when the map is initialized (when its center and zoom are set\r\n\t\t// for the first time).\r\n\t\tif (loading) {\r\n\t\t\tthis.fire('load');\r\n\t\t}\r\n\t},\r\n\r\n\t_moveStart: function (zoomChanged, noMoveStart) {\r\n\t\t// @event zoomstart: Event\r\n\t\t// Fired when the map zoom is about to change (e.g. before zoom animation).\r\n\t\t// @event movestart: Event\r\n\t\t// Fired when the view of the map starts changing (e.g. user starts dragging the map).\r\n\t\tif (zoomChanged) {\r\n\t\t\tthis.fire('zoomstart');\r\n\t\t}\r\n\t\tif (!noMoveStart) {\r\n\t\t\tthis.fire('movestart');\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\t_move: function (center, zoom, data) {\r\n\t\tif (zoom === undefined) {\r\n\t\t\tzoom = this._zoom;\r\n\t\t}\r\n\t\tvar zoomChanged = this._zoom !== zoom;\r\n\r\n\t\tthis._zoom = zoom;\r\n\t\tthis._lastCenter = center;\r\n\t\tthis._pixelOrigin = this._getNewPixelOrigin(center);\r\n\r\n\t\t// @event zoom: Event\r\n\t\t// Fired repeatedly during any change in zoom level, including zoom\r\n\t\t// and fly animations.\r\n\t\tif (zoomChanged || (data && data.pinch)) {\t// Always fire 'zoom' if pinching because #3530\r\n\t\t\tthis.fire('zoom', data);\r\n\t\t}\r\n\r\n\t\t// @event move: Event\r\n\t\t// Fired repeatedly during any movement of the map, including pan and\r\n\t\t// fly animations.\r\n\t\treturn this.fire('move', data);\r\n\t},\r\n\r\n\t_moveEnd: function (zoomChanged) {\r\n\t\t// @event zoomend: Event\r\n\t\t// Fired when the map has changed, after any animations.\r\n\t\tif (zoomChanged) {\r\n\t\t\tthis.fire('zoomend');\r\n\t\t}\r\n\r\n\t\t// @event moveend: Event\r\n\t\t// Fired when the center of the map stops changing (e.g. user stopped\r\n\t\t// dragging the map).\r\n\t\treturn this.fire('moveend');\r\n\t},\r\n\r\n\t_stop: function () {\r\n\t\tcancelAnimFrame(this._flyToFrame);\r\n\t\tif (this._panAnim) {\r\n\t\t\tthis._panAnim.stop();\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\t_rawPanBy: function (offset) {\r\n\t\tsetPosition(this._mapPane, this._getMapPanePos().subtract(offset));\r\n\t},\r\n\r\n\t_getZoomSpan: function () {\r\n\t\treturn this.getMaxZoom() - this.getMinZoom();\r\n\t},\r\n\r\n\t_panInsideMaxBounds: function () {\r\n\t\tif (!this._enforcingBounds) {\r\n\t\t\tthis.panInsideBounds(this.options.maxBounds);\r\n\t\t}\r\n\t},\r\n\r\n\t_checkIfLoaded: function () {\r\n\t\tif (!this._loaded) {\r\n\t\t\tthrow new Error('Set map center and zoom first.');\r\n\t\t}\r\n\t},\r\n\r\n\t// DOM event handling\r\n\r\n\t// @section Interaction events\r\n\t_initEvents: function (remove$$1) {\r\n\t\tthis._targets = {};\r\n\t\tthis._targets[stamp(this._container)] = this;\r\n\r\n\t\tvar onOff = remove$$1 ? off : on;\r\n\r\n\t\t// @event click: MouseEvent\r\n\t\t// Fired when the user clicks (or taps) the map.\r\n\t\t// @event dblclick: MouseEvent\r\n\t\t// Fired when the user double-clicks (or double-taps) the map.\r\n\t\t// @event mousedown: MouseEvent\r\n\t\t// Fired when the user pushes the mouse button on the map.\r\n\t\t// @event mouseup: MouseEvent\r\n\t\t// Fired when the user releases the mouse button on the map.\r\n\t\t// @event mouseover: MouseEvent\r\n\t\t// Fired when the mouse enters the map.\r\n\t\t// @event mouseout: MouseEvent\r\n\t\t// Fired when the mouse leaves the map.\r\n\t\t// @event mousemove: MouseEvent\r\n\t\t// Fired while the mouse moves over the map.\r\n\t\t// @event contextmenu: MouseEvent\r\n\t\t// Fired when the user pushes the right mouse button on the map, prevents\r\n\t\t// default browser context menu from showing if there are listeners on\r\n\t\t// this event. Also fired on mobile when the user holds a single touch\r\n\t\t// for a second (also called long press).\r\n\t\t// @event keypress: KeyboardEvent\r\n\t\t// Fired when the user presses a key from the keyboard that produces a character value while the map is focused.\r\n\t\t// @event keydown: KeyboardEvent\r\n\t\t// Fired when the user presses a key from the keyboard while the map is focused. Unlike the `keypress` event,\r\n\t\t// the `keydown` event is fired for keys that produce a character value and for keys\r\n\t\t// that do not produce a character value.\r\n\t\t// @event keyup: KeyboardEvent\r\n\t\t// Fired when the user releases a key from the keyboard while the map is focused.\r\n\t\tonOff(this._container, 'click dblclick mousedown mouseup ' +\r\n\t\t\t'mouseover mouseout mousemove contextmenu keypress keydown keyup', this._handleDOMEvent, this);\r\n\r\n\t\tif (this.options.trackResize) {\r\n\t\t\tonOff(window, 'resize', this._onResize, this);\r\n\t\t}\r\n\r\n\t\tif (any3d && this.options.transform3DLimit) {\r\n\t\t\t(remove$$1 ? this.off : this.on).call(this, 'moveend', this._onMoveEnd);\r\n\t\t}\r\n\t},\r\n\r\n\t_onResize: function () {\r\n\t\tcancelAnimFrame(this._resizeRequest);\r\n\t\tthis._resizeRequest = requestAnimFrame(\r\n\t\t function () { this.invalidateSize({debounceMoveend: true}); }, this);\r\n\t},\r\n\r\n\t_onScroll: function () {\r\n\t\tthis._container.scrollTop = 0;\r\n\t\tthis._container.scrollLeft = 0;\r\n\t},\r\n\r\n\t_onMoveEnd: function () {\r\n\t\tvar pos = this._getMapPanePos();\r\n\t\tif (Math.max(Math.abs(pos.x), Math.abs(pos.y)) >= this.options.transform3DLimit) {\r\n\t\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=1203873 but Webkit also have\r\n\t\t\t// a pixel offset on very high values, see: http://jsfiddle.net/dg6r5hhb/\r\n\t\t\tthis._resetView(this.getCenter(), this.getZoom());\r\n\t\t}\r\n\t},\r\n\r\n\t_findEventTargets: function (e, type) {\r\n\t\tvar targets = [],\r\n\t\t target,\r\n\t\t isHover = type === 'mouseout' || type === 'mouseover',\r\n\t\t src = e.target || e.srcElement,\r\n\t\t dragging = false;\r\n\r\n\t\twhile (src) {\r\n\t\t\ttarget = this._targets[stamp(src)];\r\n\t\t\tif (target && (type === 'click' || type === 'preclick') && !e._simulated && this._draggableMoved(target)) {\r\n\t\t\t\t// Prevent firing click after you just dragged an object.\r\n\t\t\t\tdragging = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tif (target && target.listens(type, true)) {\r\n\t\t\t\tif (isHover && !isExternalTarget(src, e)) { break; }\r\n\t\t\t\ttargets.push(target);\r\n\t\t\t\tif (isHover) { break; }\r\n\t\t\t}\r\n\t\t\tif (src === this._container) { break; }\r\n\t\t\tsrc = src.parentNode;\r\n\t\t}\r\n\t\tif (!targets.length && !dragging && !isHover && isExternalTarget(src, e)) {\r\n\t\t\ttargets = [this];\r\n\t\t}\r\n\t\treturn targets;\r\n\t},\r\n\r\n\t_handleDOMEvent: function (e) {\r\n\t\tif (!this._loaded || skipped(e)) { return; }\r\n\r\n\t\tvar type = e.type;\r\n\r\n\t\tif (type === 'mousedown' || type === 'keypress' || type === 'keyup' || type === 'keydown') {\r\n\t\t\t// prevents outline when clicking on keyboard-focusable element\r\n\t\t\tpreventOutline(e.target || e.srcElement);\r\n\t\t}\r\n\r\n\t\tthis._fireDOMEvent(e, type);\r\n\t},\r\n\r\n\t_mouseEvents: ['click', 'dblclick', 'mouseover', 'mouseout', 'contextmenu'],\r\n\r\n\t_fireDOMEvent: function (e, type, targets) {\r\n\r\n\t\tif (e.type === 'click') {\r\n\t\t\t// Fire a synthetic 'preclick' event which propagates up (mainly for closing popups).\r\n\t\t\t// @event preclick: MouseEvent\r\n\t\t\t// Fired before mouse click on the map (sometimes useful when you\r\n\t\t\t// want something to happen on click before any existing click\r\n\t\t\t// handlers start running).\r\n\t\t\tvar synth = extend({}, e);\r\n\t\t\tsynth.type = 'preclick';\r\n\t\t\tthis._fireDOMEvent(synth, synth.type, targets);\r\n\t\t}\r\n\r\n\t\tif (e._stopped) { return; }\r\n\r\n\t\t// Find the layer the event is propagating from and its parents.\r\n\t\ttargets = (targets || []).concat(this._findEventTargets(e, type));\r\n\r\n\t\tif (!targets.length) { return; }\r\n\r\n\t\tvar target = targets[0];\r\n\t\tif (type === 'contextmenu' && target.listens(type, true)) {\r\n\t\t\tpreventDefault(e);\r\n\t\t}\r\n\r\n\t\tvar data = {\r\n\t\t\toriginalEvent: e\r\n\t\t};\r\n\r\n\t\tif (e.type !== 'keypress' && e.type !== 'keydown' && e.type !== 'keyup') {\r\n\t\t\tvar isMarker = target.getLatLng && (!target._radius || target._radius <= 10);\r\n\t\t\tdata.containerPoint = isMarker ?\r\n\t\t\t\tthis.latLngToContainerPoint(target.getLatLng()) : this.mouseEventToContainerPoint(e);\r\n\t\t\tdata.layerPoint = this.containerPointToLayerPoint(data.containerPoint);\r\n\t\t\tdata.latlng = isMarker ? target.getLatLng() : this.layerPointToLatLng(data.layerPoint);\r\n\t\t}\r\n\r\n\t\tfor (var i = 0; i < targets.length; i++) {\r\n\t\t\ttargets[i].fire(type, data, true);\r\n\t\t\tif (data.originalEvent._stopped ||\r\n\t\t\t\t(targets[i].options.bubblingMouseEvents === false && indexOf(this._mouseEvents, type) !== -1)) { return; }\r\n\t\t}\r\n\t},\r\n\r\n\t_draggableMoved: function (obj) {\r\n\t\tobj = obj.dragging && obj.dragging.enabled() ? obj : this;\r\n\t\treturn (obj.dragging && obj.dragging.moved()) || (this.boxZoom && this.boxZoom.moved());\r\n\t},\r\n\r\n\t_clearHandlers: function () {\r\n\t\tfor (var i = 0, len = this._handlers.length; i < len; i++) {\r\n\t\t\tthis._handlers[i].disable();\r\n\t\t}\r\n\t},\r\n\r\n\t// @section Other Methods\r\n\r\n\t// @method whenReady(fn: Function, context?: Object): this\r\n\t// Runs the given function `fn` when the map gets initialized with\r\n\t// a view (center and zoom) and at least one layer, or immediately\r\n\t// if it's already initialized, optionally passing a function context.\r\n\twhenReady: function (callback, context) {\r\n\t\tif (this._loaded) {\r\n\t\t\tcallback.call(context || this, {target: this});\r\n\t\t} else {\r\n\t\t\tthis.on('load', callback, context);\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\r\n\t// private methods for getting map state\r\n\r\n\t_getMapPanePos: function () {\r\n\t\treturn getPosition(this._mapPane) || new Point(0, 0);\r\n\t},\r\n\r\n\t_moved: function () {\r\n\t\tvar pos = this._getMapPanePos();\r\n\t\treturn pos && !pos.equals([0, 0]);\r\n\t},\r\n\r\n\t_getTopLeftPoint: function (center, zoom) {\r\n\t\tvar pixelOrigin = center && zoom !== undefined ?\r\n\t\t\tthis._getNewPixelOrigin(center, zoom) :\r\n\t\t\tthis.getPixelOrigin();\r\n\t\treturn pixelOrigin.subtract(this._getMapPanePos());\r\n\t},\r\n\r\n\t_getNewPixelOrigin: function (center, zoom) {\r\n\t\tvar viewHalf = this.getSize()._divideBy(2);\r\n\t\treturn this.project(center, zoom)._subtract(viewHalf)._add(this._getMapPanePos())._round();\r\n\t},\r\n\r\n\t_latLngToNewLayerPoint: function (latlng, zoom, center) {\r\n\t\tvar topLeft = this._getNewPixelOrigin(center, zoom);\r\n\t\treturn this.project(latlng, zoom)._subtract(topLeft);\r\n\t},\r\n\r\n\t_latLngBoundsToNewLayerBounds: function (latLngBounds, zoom, center) {\r\n\t\tvar topLeft = this._getNewPixelOrigin(center, zoom);\r\n\t\treturn toBounds([\r\n\t\t\tthis.project(latLngBounds.getSouthWest(), zoom)._subtract(topLeft),\r\n\t\t\tthis.project(latLngBounds.getNorthWest(), zoom)._subtract(topLeft),\r\n\t\t\tthis.project(latLngBounds.getSouthEast(), zoom)._subtract(topLeft),\r\n\t\t\tthis.project(latLngBounds.getNorthEast(), zoom)._subtract(topLeft)\r\n\t\t]);\r\n\t},\r\n\r\n\t// layer point of the current center\r\n\t_getCenterLayerPoint: function () {\r\n\t\treturn this.containerPointToLayerPoint(this.getSize()._divideBy(2));\r\n\t},\r\n\r\n\t// offset of the specified place to the current center in pixels\r\n\t_getCenterOffset: function (latlng) {\r\n\t\treturn this.latLngToLayerPoint(latlng).subtract(this._getCenterLayerPoint());\r\n\t},\r\n\r\n\t// adjust center for view to get inside bounds\r\n\t_limitCenter: function (center, zoom, bounds) {\r\n\r\n\t\tif (!bounds) { return center; }\r\n\r\n\t\tvar centerPoint = this.project(center, zoom),\r\n\t\t viewHalf = this.getSize().divideBy(2),\r\n\t\t viewBounds = new Bounds(centerPoint.subtract(viewHalf), centerPoint.add(viewHalf)),\r\n\t\t offset = this._getBoundsOffset(viewBounds, bounds, zoom);\r\n\r\n\t\t// If offset is less than a pixel, ignore.\r\n\t\t// This prevents unstable projections from getting into\r\n\t\t// an infinite loop of tiny offsets.\r\n\t\tif (offset.round().equals([0, 0])) {\r\n\t\t\treturn center;\r\n\t\t}\r\n\r\n\t\treturn this.unproject(centerPoint.add(offset), zoom);\r\n\t},\r\n\r\n\t// adjust offset for view to get inside bounds\r\n\t_limitOffset: function (offset, bounds) {\r\n\t\tif (!bounds) { return offset; }\r\n\r\n\t\tvar viewBounds = this.getPixelBounds(),\r\n\t\t newBounds = new Bounds(viewBounds.min.add(offset), viewBounds.max.add(offset));\r\n\r\n\t\treturn offset.add(this._getBoundsOffset(newBounds, bounds));\r\n\t},\r\n\r\n\t// returns offset needed for pxBounds to get inside maxBounds at a specified zoom\r\n\t_getBoundsOffset: function (pxBounds, maxBounds, zoom) {\r\n\t\tvar projectedMaxBounds = toBounds(\r\n\t\t this.project(maxBounds.getNorthEast(), zoom),\r\n\t\t this.project(maxBounds.getSouthWest(), zoom)\r\n\t\t ),\r\n\t\t minOffset = projectedMaxBounds.min.subtract(pxBounds.min),\r\n\t\t maxOffset = projectedMaxBounds.max.subtract(pxBounds.max),\r\n\r\n\t\t dx = this._rebound(minOffset.x, -maxOffset.x),\r\n\t\t dy = this._rebound(minOffset.y, -maxOffset.y);\r\n\r\n\t\treturn new Point(dx, dy);\r\n\t},\r\n\r\n\t_rebound: function (left, right) {\r\n\t\treturn left + right > 0 ?\r\n\t\t\tMath.round(left - right) / 2 :\r\n\t\t\tMath.max(0, Math.ceil(left)) - Math.max(0, Math.floor(right));\r\n\t},\r\n\r\n\t_limitZoom: function (zoom) {\r\n\t\tvar min = this.getMinZoom(),\r\n\t\t max = this.getMaxZoom(),\r\n\t\t snap = any3d ? this.options.zoomSnap : 1;\r\n\t\tif (snap) {\r\n\t\t\tzoom = Math.round(zoom / snap) * snap;\r\n\t\t}\r\n\t\treturn Math.max(min, Math.min(max, zoom));\r\n\t},\r\n\r\n\t_onPanTransitionStep: function () {\r\n\t\tthis.fire('move');\r\n\t},\r\n\r\n\t_onPanTransitionEnd: function () {\r\n\t\tremoveClass(this._mapPane, 'leaflet-pan-anim');\r\n\t\tthis.fire('moveend');\r\n\t},\r\n\r\n\t_tryAnimatedPan: function (center, options) {\r\n\t\t// difference between the new and current centers in pixels\r\n\t\tvar offset = this._getCenterOffset(center)._trunc();\r\n\r\n\t\t// don't animate too far unless animate: true specified in options\r\n\t\tif ((options && options.animate) !== true && !this.getSize().contains(offset)) { return false; }\r\n\r\n\t\tthis.panBy(offset, options);\r\n\r\n\t\treturn true;\r\n\t},\r\n\r\n\t_createAnimProxy: function () {\r\n\r\n\t\tvar proxy = this._proxy = create$1('div', 'leaflet-proxy leaflet-zoom-animated');\r\n\t\tthis._panes.mapPane.appendChild(proxy);\r\n\r\n\t\tthis.on('zoomanim', function (e) {\r\n\t\t\tvar prop = TRANSFORM,\r\n\t\t\t transform = this._proxy.style[prop];\r\n\r\n\t\t\tsetTransform(this._proxy, this.project(e.center, e.zoom), this.getZoomScale(e.zoom, 1));\r\n\r\n\t\t\t// workaround for case when transform is the same and so transitionend event is not fired\r\n\t\t\tif (transform === this._proxy.style[prop] && this._animatingZoom) {\r\n\t\t\t\tthis._onZoomTransitionEnd();\r\n\t\t\t}\r\n\t\t}, this);\r\n\r\n\t\tthis.on('load moveend', this._animMoveEnd, this);\r\n\r\n\t\tthis._on('unload', this._destroyAnimProxy, this);\r\n\t},\r\n\r\n\t_destroyAnimProxy: function () {\r\n\t\tremove(this._proxy);\r\n\t\tthis.off('load moveend', this._animMoveEnd, this);\r\n\t\tdelete this._proxy;\r\n\t},\r\n\r\n\t_animMoveEnd: function () {\r\n\t\tvar c = this.getCenter(),\r\n\t\t z = this.getZoom();\r\n\t\tsetTransform(this._proxy, this.project(c, z), this.getZoomScale(z, 1));\r\n\t},\r\n\r\n\t_catchTransitionEnd: function (e) {\r\n\t\tif (this._animatingZoom && e.propertyName.indexOf('transform') >= 0) {\r\n\t\t\tthis._onZoomTransitionEnd();\r\n\t\t}\r\n\t},\r\n\r\n\t_nothingToAnimate: function () {\r\n\t\treturn !this._container.getElementsByClassName('leaflet-zoom-animated').length;\r\n\t},\r\n\r\n\t_tryAnimatedZoom: function (center, zoom, options) {\r\n\r\n\t\tif (this._animatingZoom) { return true; }\r\n\r\n\t\toptions = options || {};\r\n\r\n\t\t// don't animate if disabled, not supported or zoom difference is too large\r\n\t\tif (!this._zoomAnimated || options.animate === false || this._nothingToAnimate() ||\r\n\t\t Math.abs(zoom - this._zoom) > this.options.zoomAnimationThreshold) { return false; }\r\n\r\n\t\t// offset is the pixel coords of the zoom origin relative to the current center\r\n\t\tvar scale = this.getZoomScale(zoom),\r\n\t\t offset = this._getCenterOffset(center)._divideBy(1 - 1 / scale);\r\n\r\n\t\t// don't animate if the zoom origin isn't within one screen from the current center, unless forced\r\n\t\tif (options.animate !== true && !this.getSize().contains(offset)) { return false; }\r\n\r\n\t\trequestAnimFrame(function () {\r\n\t\t\tthis\r\n\t\t\t ._moveStart(true, false)\r\n\t\t\t ._animateZoom(center, zoom, true);\r\n\t\t}, this);\r\n\r\n\t\treturn true;\r\n\t},\r\n\r\n\t_animateZoom: function (center, zoom, startAnim, noUpdate) {\r\n\t\tif (!this._mapPane) { return; }\r\n\r\n\t\tif (startAnim) {\r\n\t\t\tthis._animatingZoom = true;\r\n\r\n\t\t\t// remember what center/zoom to set after animation\r\n\t\t\tthis._animateToCenter = center;\r\n\t\t\tthis._animateToZoom = zoom;\r\n\r\n\t\t\taddClass(this._mapPane, 'leaflet-zoom-anim');\r\n\t\t}\r\n\r\n\t\t// @section Other Events\r\n\t\t// @event zoomanim: ZoomAnimEvent\r\n\t\t// Fired at least once per zoom animation. For continuous zoom, like pinch zooming, fired once per frame during zoom.\r\n\t\tthis.fire('zoomanim', {\r\n\t\t\tcenter: center,\r\n\t\t\tzoom: zoom,\r\n\t\t\tnoUpdate: noUpdate\r\n\t\t});\r\n\r\n\t\t// Work around webkit not firing 'transitionend', see https://github.com/Leaflet/Leaflet/issues/3689, 2693\r\n\t\tsetTimeout(bind(this._onZoomTransitionEnd, this), 250);\r\n\t},\r\n\r\n\t_onZoomTransitionEnd: function () {\r\n\t\tif (!this._animatingZoom) { return; }\r\n\r\n\t\tif (this._mapPane) {\r\n\t\t\tremoveClass(this._mapPane, 'leaflet-zoom-anim');\r\n\t\t}\r\n\r\n\t\tthis._animatingZoom = false;\r\n\r\n\t\tthis._move(this._animateToCenter, this._animateToZoom);\r\n\r\n\t\t// This anim frame should prevent an obscure iOS webkit tile loading race condition.\r\n\t\trequestAnimFrame(function () {\r\n\t\t\tthis._moveEnd(true);\r\n\t\t}, this);\r\n\t}\r\n});\r\n\r\n// @section\r\n\r\n// @factory L.map(id: String, options?: Map options)\r\n// Instantiates a map object given the DOM ID of a `
` element\r\n// and optionally an object literal with `Map options`.\r\n//\r\n// @alternative\r\n// @factory L.map(el: HTMLElement, options?: Map options)\r\n// Instantiates a map object given an instance of a `
` HTML element\r\n// and optionally an object literal with `Map options`.\r\nfunction createMap(id, options) {\r\n\treturn new Map(id, options);\r\n}\n\n/*\r\n * @class Control\r\n * @aka L.Control\r\n * @inherits Class\r\n *\r\n * L.Control is a base class for implementing map controls. Handles positioning.\r\n * All other controls extend from this class.\r\n */\r\n\r\nvar Control = Class.extend({\r\n\t// @section\r\n\t// @aka Control options\r\n\toptions: {\r\n\t\t// @option position: String = 'topright'\r\n\t\t// The position of the control (one of the map corners). Possible values are `'topleft'`,\r\n\t\t// `'topright'`, `'bottomleft'` or `'bottomright'`\r\n\t\tposition: 'topright'\r\n\t},\r\n\r\n\tinitialize: function (options) {\r\n\t\tsetOptions(this, options);\r\n\t},\r\n\r\n\t/* @section\r\n\t * Classes extending L.Control will inherit the following methods:\r\n\t *\r\n\t * @method getPosition: string\r\n\t * Returns the position of the control.\r\n\t */\r\n\tgetPosition: function () {\r\n\t\treturn this.options.position;\r\n\t},\r\n\r\n\t// @method setPosition(position: string): this\r\n\t// Sets the position of the control.\r\n\tsetPosition: function (position) {\r\n\t\tvar map = this._map;\r\n\r\n\t\tif (map) {\r\n\t\t\tmap.removeControl(this);\r\n\t\t}\r\n\r\n\t\tthis.options.position = position;\r\n\r\n\t\tif (map) {\r\n\t\t\tmap.addControl(this);\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method getContainer: HTMLElement\r\n\t// Returns the HTMLElement that contains the control.\r\n\tgetContainer: function () {\r\n\t\treturn this._container;\r\n\t},\r\n\r\n\t// @method addTo(map: Map): this\r\n\t// Adds the control to the given map.\r\n\taddTo: function (map) {\r\n\t\tthis.remove();\r\n\t\tthis._map = map;\r\n\r\n\t\tvar container = this._container = this.onAdd(map),\r\n\t\t pos = this.getPosition(),\r\n\t\t corner = map._controlCorners[pos];\r\n\r\n\t\taddClass(container, 'leaflet-control');\r\n\r\n\t\tif (pos.indexOf('bottom') !== -1) {\r\n\t\t\tcorner.insertBefore(container, corner.firstChild);\r\n\t\t} else {\r\n\t\t\tcorner.appendChild(container);\r\n\t\t}\r\n\r\n\t\tthis._map.on('unload', this.remove, this);\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method remove: this\r\n\t// Removes the control from the map it is currently active on.\r\n\tremove: function () {\r\n\t\tif (!this._map) {\r\n\t\t\treturn this;\r\n\t\t}\r\n\r\n\t\tremove(this._container);\r\n\r\n\t\tif (this.onRemove) {\r\n\t\t\tthis.onRemove(this._map);\r\n\t\t}\r\n\r\n\t\tthis._map.off('unload', this.remove, this);\r\n\t\tthis._map = null;\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t_refocusOnMap: function (e) {\r\n\t\t// if map exists and event is not a keyboard event\r\n\t\tif (this._map && e && e.screenX > 0 && e.screenY > 0) {\r\n\t\t\tthis._map.getContainer().focus();\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar control = function (options) {\r\n\treturn new Control(options);\r\n};\r\n\r\n/* @section Extension methods\r\n * @uninheritable\r\n *\r\n * Every control should extend from `L.Control` and (re-)implement the following methods.\r\n *\r\n * @method onAdd(map: Map): HTMLElement\r\n * Should return the container DOM element for the control and add listeners on relevant map events. Called on [`control.addTo(map)`](#control-addTo).\r\n *\r\n * @method onRemove(map: Map)\r\n * Optional method. Should contain all clean up code that removes the listeners previously added in [`onAdd`](#control-onadd). Called on [`control.remove()`](#control-remove).\r\n */\r\n\r\n/* @namespace Map\r\n * @section Methods for Layers and Controls\r\n */\r\nMap.include({\r\n\t// @method addControl(control: Control): this\r\n\t// Adds the given control to the map\r\n\taddControl: function (control) {\r\n\t\tcontrol.addTo(this);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method removeControl(control: Control): this\r\n\t// Removes the given control from the map\r\n\tremoveControl: function (control) {\r\n\t\tcontrol.remove();\r\n\t\treturn this;\r\n\t},\r\n\r\n\t_initControlPos: function () {\r\n\t\tvar corners = this._controlCorners = {},\r\n\t\t l = 'leaflet-',\r\n\t\t container = this._controlContainer =\r\n\t\t create$1('div', l + 'control-container', this._container);\r\n\r\n\t\tfunction createCorner(vSide, hSide) {\r\n\t\t\tvar className = l + vSide + ' ' + l + hSide;\r\n\r\n\t\t\tcorners[vSide + hSide] = create$1('div', className, container);\r\n\t\t}\r\n\r\n\t\tcreateCorner('top', 'left');\r\n\t\tcreateCorner('top', 'right');\r\n\t\tcreateCorner('bottom', 'left');\r\n\t\tcreateCorner('bottom', 'right');\r\n\t},\r\n\r\n\t_clearControlPos: function () {\r\n\t\tfor (var i in this._controlCorners) {\r\n\t\t\tremove(this._controlCorners[i]);\r\n\t\t}\r\n\t\tremove(this._controlContainer);\r\n\t\tdelete this._controlCorners;\r\n\t\tdelete this._controlContainer;\r\n\t}\r\n});\n\n/*\r\n * @class Control.Layers\r\n * @aka L.Control.Layers\r\n * @inherits Control\r\n *\r\n * The layers control gives users the ability to switch between different base layers and switch overlays on/off (check out the [detailed example](http://leafletjs.com/examples/layers-control/)). Extends `Control`.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var baseLayers = {\r\n * \t\"Mapbox\": mapbox,\r\n * \t\"OpenStreetMap\": osm\r\n * };\r\n *\r\n * var overlays = {\r\n * \t\"Marker\": marker,\r\n * \t\"Roads\": roadsLayer\r\n * };\r\n *\r\n * L.control.layers(baseLayers, overlays).addTo(map);\r\n * ```\r\n *\r\n * The `baseLayers` and `overlays` parameters are object literals with layer names as keys and `Layer` objects as values:\r\n *\r\n * ```js\r\n * {\r\n * \"\": layer1,\r\n * \"\": layer2\r\n * }\r\n * ```\r\n *\r\n * The layer names can contain HTML, which allows you to add additional styling to the items:\r\n *\r\n * ```js\r\n * {\" My Layer\": myLayer}\r\n * ```\r\n */\r\n\r\nvar Layers = Control.extend({\r\n\t// @section\r\n\t// @aka Control.Layers options\r\n\toptions: {\r\n\t\t// @option collapsed: Boolean = true\r\n\t\t// If `true`, the control will be collapsed into an icon and expanded on mouse hover or touch.\r\n\t\tcollapsed: true,\r\n\t\tposition: 'topright',\r\n\r\n\t\t// @option autoZIndex: Boolean = true\r\n\t\t// If `true`, the control will assign zIndexes in increasing order to all of its layers so that the order is preserved when switching them on/off.\r\n\t\tautoZIndex: true,\r\n\r\n\t\t// @option hideSingleBase: Boolean = false\r\n\t\t// If `true`, the base layers in the control will be hidden when there is only one.\r\n\t\thideSingleBase: false,\r\n\r\n\t\t// @option sortLayers: Boolean = false\r\n\t\t// Whether to sort the layers. When `false`, layers will keep the order\r\n\t\t// in which they were added to the control.\r\n\t\tsortLayers: false,\r\n\r\n\t\t// @option sortFunction: Function = *\r\n\t\t// A [compare function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)\r\n\t\t// that will be used for sorting the layers, when `sortLayers` is `true`.\r\n\t\t// The function receives both the `L.Layer` instances and their names, as in\r\n\t\t// `sortFunction(layerA, layerB, nameA, nameB)`.\r\n\t\t// By default, it sorts layers alphabetically by their name.\r\n\t\tsortFunction: function (layerA, layerB, nameA, nameB) {\r\n\t\t\treturn nameA < nameB ? -1 : (nameB < nameA ? 1 : 0);\r\n\t\t}\r\n\t},\r\n\r\n\tinitialize: function (baseLayers, overlays, options) {\r\n\t\tsetOptions(this, options);\r\n\r\n\t\tthis._layerControlInputs = [];\r\n\t\tthis._layers = [];\r\n\t\tthis._lastZIndex = 0;\r\n\t\tthis._handlingClick = false;\r\n\r\n\t\tfor (var i in baseLayers) {\r\n\t\t\tthis._addLayer(baseLayers[i], i);\r\n\t\t}\r\n\r\n\t\tfor (i in overlays) {\r\n\t\t\tthis._addLayer(overlays[i], i, true);\r\n\t\t}\r\n\t},\r\n\r\n\tonAdd: function (map) {\r\n\t\tthis._initLayout();\r\n\t\tthis._update();\r\n\r\n\t\tthis._map = map;\r\n\t\tmap.on('zoomend', this._checkDisabledLayers, this);\r\n\r\n\t\tfor (var i = 0; i < this._layers.length; i++) {\r\n\t\t\tthis._layers[i].layer.on('add remove', this._onLayerChange, this);\r\n\t\t}\r\n\r\n\t\treturn this._container;\r\n\t},\r\n\r\n\taddTo: function (map) {\r\n\t\tControl.prototype.addTo.call(this, map);\r\n\t\t// Trigger expand after Layers Control has been inserted into DOM so that is now has an actual height.\r\n\t\treturn this._expandIfNotCollapsed();\r\n\t},\r\n\r\n\tonRemove: function () {\r\n\t\tthis._map.off('zoomend', this._checkDisabledLayers, this);\r\n\r\n\t\tfor (var i = 0; i < this._layers.length; i++) {\r\n\t\t\tthis._layers[i].layer.off('add remove', this._onLayerChange, this);\r\n\t\t}\r\n\t},\r\n\r\n\t// @method addBaseLayer(layer: Layer, name: String): this\r\n\t// Adds a base layer (radio button entry) with the given name to the control.\r\n\taddBaseLayer: function (layer, name) {\r\n\t\tthis._addLayer(layer, name);\r\n\t\treturn (this._map) ? this._update() : this;\r\n\t},\r\n\r\n\t// @method addOverlay(layer: Layer, name: String): this\r\n\t// Adds an overlay (checkbox entry) with the given name to the control.\r\n\taddOverlay: function (layer, name) {\r\n\t\tthis._addLayer(layer, name, true);\r\n\t\treturn (this._map) ? this._update() : this;\r\n\t},\r\n\r\n\t// @method removeLayer(layer: Layer): this\r\n\t// Remove the given layer from the control.\r\n\tremoveLayer: function (layer) {\r\n\t\tlayer.off('add remove', this._onLayerChange, this);\r\n\r\n\t\tvar obj = this._getLayer(stamp(layer));\r\n\t\tif (obj) {\r\n\t\t\tthis._layers.splice(this._layers.indexOf(obj), 1);\r\n\t\t}\r\n\t\treturn (this._map) ? this._update() : this;\r\n\t},\r\n\r\n\t// @method expand(): this\r\n\t// Expand the control container if collapsed.\r\n\texpand: function () {\r\n\t\taddClass(this._container, 'leaflet-control-layers-expanded');\r\n\t\tthis._section.style.height = null;\r\n\t\tvar acceptableHeight = this._map.getSize().y - (this._container.offsetTop + 50);\r\n\t\tif (acceptableHeight < this._section.clientHeight) {\r\n\t\t\taddClass(this._section, 'leaflet-control-layers-scrollbar');\r\n\t\t\tthis._section.style.height = acceptableHeight + 'px';\r\n\t\t} else {\r\n\t\t\tremoveClass(this._section, 'leaflet-control-layers-scrollbar');\r\n\t\t}\r\n\t\tthis._checkDisabledLayers();\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method collapse(): this\r\n\t// Collapse the control container if expanded.\r\n\tcollapse: function () {\r\n\t\tremoveClass(this._container, 'leaflet-control-layers-expanded');\r\n\t\treturn this;\r\n\t},\r\n\r\n\t_initLayout: function () {\r\n\t\tvar className = 'leaflet-control-layers',\r\n\t\t container = this._container = create$1('div', className),\r\n\t\t collapsed = this.options.collapsed;\r\n\r\n\t\t// makes this work on IE touch devices by stopping it from firing a mouseout event when the touch is released\r\n\t\tcontainer.setAttribute('aria-haspopup', true);\r\n\r\n\t\tdisableClickPropagation(container);\r\n\t\tdisableScrollPropagation(container);\r\n\r\n\t\tvar section = this._section = create$1('section', className + '-list');\r\n\r\n\t\tif (collapsed) {\r\n\t\t\tthis._map.on('click', this.collapse, this);\r\n\r\n\t\t\tif (!android) {\r\n\t\t\t\ton(container, {\r\n\t\t\t\t\tmouseenter: this.expand,\r\n\t\t\t\t\tmouseleave: this.collapse\r\n\t\t\t\t}, this);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar link = this._layersLink = create$1('a', className + '-toggle', container);\r\n\t\tlink.href = '#';\r\n\t\tlink.title = 'Layers';\r\n\r\n\t\tif (touch) {\r\n\t\t\ton(link, 'click', stop);\r\n\t\t\ton(link, 'click', this.expand, this);\r\n\t\t} else {\r\n\t\t\ton(link, 'focus', this.expand, this);\r\n\t\t}\r\n\r\n\t\tif (!collapsed) {\r\n\t\t\tthis.expand();\r\n\t\t}\r\n\r\n\t\tthis._baseLayersList = create$1('div', className + '-base', section);\r\n\t\tthis._separator = create$1('div', className + '-separator', section);\r\n\t\tthis._overlaysList = create$1('div', className + '-overlays', section);\r\n\r\n\t\tcontainer.appendChild(section);\r\n\t},\r\n\r\n\t_getLayer: function (id) {\r\n\t\tfor (var i = 0; i < this._layers.length; i++) {\r\n\r\n\t\t\tif (this._layers[i] && stamp(this._layers[i].layer) === id) {\r\n\t\t\t\treturn this._layers[i];\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t_addLayer: function (layer, name, overlay) {\r\n\t\tif (this._map) {\r\n\t\t\tlayer.on('add remove', this._onLayerChange, this);\r\n\t\t}\r\n\r\n\t\tthis._layers.push({\r\n\t\t\tlayer: layer,\r\n\t\t\tname: name,\r\n\t\t\toverlay: overlay\r\n\t\t});\r\n\r\n\t\tif (this.options.sortLayers) {\r\n\t\t\tthis._layers.sort(bind(function (a, b) {\r\n\t\t\t\treturn this.options.sortFunction(a.layer, b.layer, a.name, b.name);\r\n\t\t\t}, this));\r\n\t\t}\r\n\r\n\t\tif (this.options.autoZIndex && layer.setZIndex) {\r\n\t\t\tthis._lastZIndex++;\r\n\t\t\tlayer.setZIndex(this._lastZIndex);\r\n\t\t}\r\n\r\n\t\tthis._expandIfNotCollapsed();\r\n\t},\r\n\r\n\t_update: function () {\r\n\t\tif (!this._container) { return this; }\r\n\r\n\t\tempty(this._baseLayersList);\r\n\t\tempty(this._overlaysList);\r\n\r\n\t\tthis._layerControlInputs = [];\r\n\t\tvar baseLayersPresent, overlaysPresent, i, obj, baseLayersCount = 0;\r\n\r\n\t\tfor (i = 0; i < this._layers.length; i++) {\r\n\t\t\tobj = this._layers[i];\r\n\t\t\tthis._addItem(obj);\r\n\t\t\toverlaysPresent = overlaysPresent || obj.overlay;\r\n\t\t\tbaseLayersPresent = baseLayersPresent || !obj.overlay;\r\n\t\t\tbaseLayersCount += !obj.overlay ? 1 : 0;\r\n\t\t}\r\n\r\n\t\t// Hide base layers section if there's only one layer.\r\n\t\tif (this.options.hideSingleBase) {\r\n\t\t\tbaseLayersPresent = baseLayersPresent && baseLayersCount > 1;\r\n\t\t\tthis._baseLayersList.style.display = baseLayersPresent ? '' : 'none';\r\n\t\t}\r\n\r\n\t\tthis._separator.style.display = overlaysPresent && baseLayersPresent ? '' : 'none';\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t_onLayerChange: function (e) {\r\n\t\tif (!this._handlingClick) {\r\n\t\t\tthis._update();\r\n\t\t}\r\n\r\n\t\tvar obj = this._getLayer(stamp(e.target));\r\n\r\n\t\t// @namespace Map\r\n\t\t// @section Layer events\r\n\t\t// @event baselayerchange: LayersControlEvent\r\n\t\t// Fired when the base layer is changed through the [layers control](#control-layers).\r\n\t\t// @event overlayadd: LayersControlEvent\r\n\t\t// Fired when an overlay is selected through the [layers control](#control-layers).\r\n\t\t// @event overlayremove: LayersControlEvent\r\n\t\t// Fired when an overlay is deselected through the [layers control](#control-layers).\r\n\t\t// @namespace Control.Layers\r\n\t\tvar type = obj.overlay ?\r\n\t\t\t(e.type === 'add' ? 'overlayadd' : 'overlayremove') :\r\n\t\t\t(e.type === 'add' ? 'baselayerchange' : null);\r\n\r\n\t\tif (type) {\r\n\t\t\tthis._map.fire(type, obj);\r\n\t\t}\r\n\t},\r\n\r\n\t// IE7 bugs out if you create a radio dynamically, so you have to do it this hacky way (see http://bit.ly/PqYLBe)\r\n\t_createRadioElement: function (name, checked) {\r\n\r\n\t\tvar radioHtml = '';\r\n\r\n\t\tvar radioFragment = document.createElement('div');\r\n\t\tradioFragment.innerHTML = radioHtml;\r\n\r\n\t\treturn radioFragment.firstChild;\r\n\t},\r\n\r\n\t_addItem: function (obj) {\r\n\t\tvar label = document.createElement('label'),\r\n\t\t checked = this._map.hasLayer(obj.layer),\r\n\t\t input;\r\n\r\n\t\tif (obj.overlay) {\r\n\t\t\tinput = document.createElement('input');\r\n\t\t\tinput.type = 'checkbox';\r\n\t\t\tinput.className = 'leaflet-control-layers-selector';\r\n\t\t\tinput.defaultChecked = checked;\r\n\t\t} else {\r\n\t\t\tinput = this._createRadioElement('leaflet-base-layers_' + stamp(this), checked);\r\n\t\t}\r\n\r\n\t\tthis._layerControlInputs.push(input);\r\n\t\tinput.layerId = stamp(obj.layer);\r\n\r\n\t\ton(input, 'click', this._onInputClick, this);\r\n\r\n\t\tvar name = document.createElement('span');\r\n\t\tname.innerHTML = ' ' + obj.name;\r\n\r\n\t\t// Helps from preventing layer control flicker when checkboxes are disabled\r\n\t\t// https://github.com/Leaflet/Leaflet/issues/2771\r\n\t\tvar holder = document.createElement('div');\r\n\r\n\t\tlabel.appendChild(holder);\r\n\t\tholder.appendChild(input);\r\n\t\tholder.appendChild(name);\r\n\r\n\t\tvar container = obj.overlay ? this._overlaysList : this._baseLayersList;\r\n\t\tcontainer.appendChild(label);\r\n\r\n\t\tthis._checkDisabledLayers();\r\n\t\treturn label;\r\n\t},\r\n\r\n\t_onInputClick: function () {\r\n\t\tvar inputs = this._layerControlInputs,\r\n\t\t input, layer;\r\n\t\tvar addedLayers = [],\r\n\t\t removedLayers = [];\r\n\r\n\t\tthis._handlingClick = true;\r\n\r\n\t\tfor (var i = inputs.length - 1; i >= 0; i--) {\r\n\t\t\tinput = inputs[i];\r\n\t\t\tlayer = this._getLayer(input.layerId).layer;\r\n\r\n\t\t\tif (input.checked) {\r\n\t\t\t\taddedLayers.push(layer);\r\n\t\t\t} else if (!input.checked) {\r\n\t\t\t\tremovedLayers.push(layer);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Bugfix issue 2318: Should remove all old layers before readding new ones\r\n\t\tfor (i = 0; i < removedLayers.length; i++) {\r\n\t\t\tif (this._map.hasLayer(removedLayers[i])) {\r\n\t\t\t\tthis._map.removeLayer(removedLayers[i]);\r\n\t\t\t}\r\n\t\t}\r\n\t\tfor (i = 0; i < addedLayers.length; i++) {\r\n\t\t\tif (!this._map.hasLayer(addedLayers[i])) {\r\n\t\t\t\tthis._map.addLayer(addedLayers[i]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis._handlingClick = false;\r\n\r\n\t\tthis._refocusOnMap();\r\n\t},\r\n\r\n\t_checkDisabledLayers: function () {\r\n\t\tvar inputs = this._layerControlInputs,\r\n\t\t input,\r\n\t\t layer,\r\n\t\t zoom = this._map.getZoom();\r\n\r\n\t\tfor (var i = inputs.length - 1; i >= 0; i--) {\r\n\t\t\tinput = inputs[i];\r\n\t\t\tlayer = this._getLayer(input.layerId).layer;\r\n\t\t\tinput.disabled = (layer.options.minZoom !== undefined && zoom < layer.options.minZoom) ||\r\n\t\t\t (layer.options.maxZoom !== undefined && zoom > layer.options.maxZoom);\r\n\r\n\t\t}\r\n\t},\r\n\r\n\t_expandIfNotCollapsed: function () {\r\n\t\tif (this._map && !this.options.collapsed) {\r\n\t\t\tthis.expand();\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\t_expand: function () {\r\n\t\t// Backward compatibility, remove me in 1.1.\r\n\t\treturn this.expand();\r\n\t},\r\n\r\n\t_collapse: function () {\r\n\t\t// Backward compatibility, remove me in 1.1.\r\n\t\treturn this.collapse();\r\n\t}\r\n\r\n});\r\n\r\n\r\n// @factory L.control.layers(baselayers?: Object, overlays?: Object, options?: Control.Layers options)\r\n// Creates a layers control with the given layers. Base layers will be switched with radio buttons, while overlays will be switched with checkboxes. Note that all base layers should be passed in the base layers object, but only one should be added to the map during map instantiation.\r\nvar layers = function (baseLayers, overlays, options) {\r\n\treturn new Layers(baseLayers, overlays, options);\r\n};\n\n/*\r\n * @class Control.Zoom\r\n * @aka L.Control.Zoom\r\n * @inherits Control\r\n *\r\n * A basic zoom control with two buttons (zoom in and zoom out). It is put on the map by default unless you set its [`zoomControl` option](#map-zoomcontrol) to `false`. Extends `Control`.\r\n */\r\n\r\nvar Zoom = Control.extend({\r\n\t// @section\r\n\t// @aka Control.Zoom options\r\n\toptions: {\r\n\t\tposition: 'topleft',\r\n\r\n\t\t// @option zoomInText: String = '+'\r\n\t\t// The text set on the 'zoom in' button.\r\n\t\tzoomInText: '+',\r\n\r\n\t\t// @option zoomInTitle: String = 'Zoom in'\r\n\t\t// The title set on the 'zoom in' button.\r\n\t\tzoomInTitle: 'Zoom in',\r\n\r\n\t\t// @option zoomOutText: String = '−'\r\n\t\t// The text set on the 'zoom out' button.\r\n\t\tzoomOutText: '−',\r\n\r\n\t\t// @option zoomOutTitle: String = 'Zoom out'\r\n\t\t// The title set on the 'zoom out' button.\r\n\t\tzoomOutTitle: 'Zoom out'\r\n\t},\r\n\r\n\tonAdd: function (map) {\r\n\t\tvar zoomName = 'leaflet-control-zoom',\r\n\t\t container = create$1('div', zoomName + ' leaflet-bar'),\r\n\t\t options = this.options;\r\n\r\n\t\tthis._zoomInButton = this._createButton(options.zoomInText, options.zoomInTitle,\r\n\t\t zoomName + '-in', container, this._zoomIn);\r\n\t\tthis._zoomOutButton = this._createButton(options.zoomOutText, options.zoomOutTitle,\r\n\t\t zoomName + '-out', container, this._zoomOut);\r\n\r\n\t\tthis._updateDisabled();\r\n\t\tmap.on('zoomend zoomlevelschange', this._updateDisabled, this);\r\n\r\n\t\treturn container;\r\n\t},\r\n\r\n\tonRemove: function (map) {\r\n\t\tmap.off('zoomend zoomlevelschange', this._updateDisabled, this);\r\n\t},\r\n\r\n\tdisable: function () {\r\n\t\tthis._disabled = true;\r\n\t\tthis._updateDisabled();\r\n\t\treturn this;\r\n\t},\r\n\r\n\tenable: function () {\r\n\t\tthis._disabled = false;\r\n\t\tthis._updateDisabled();\r\n\t\treturn this;\r\n\t},\r\n\r\n\t_zoomIn: function (e) {\r\n\t\tif (!this._disabled && this._map._zoom < this._map.getMaxZoom()) {\r\n\t\t\tthis._map.zoomIn(this._map.options.zoomDelta * (e.shiftKey ? 3 : 1));\r\n\t\t}\r\n\t},\r\n\r\n\t_zoomOut: function (e) {\r\n\t\tif (!this._disabled && this._map._zoom > this._map.getMinZoom()) {\r\n\t\t\tthis._map.zoomOut(this._map.options.zoomDelta * (e.shiftKey ? 3 : 1));\r\n\t\t}\r\n\t},\r\n\r\n\t_createButton: function (html, title, className, container, fn) {\r\n\t\tvar link = create$1('a', className, container);\r\n\t\tlink.innerHTML = html;\r\n\t\tlink.href = '#';\r\n\t\tlink.title = title;\r\n\r\n\t\t/*\r\n\t\t * Will force screen readers like VoiceOver to read this as \"Zoom in - button\"\r\n\t\t */\r\n\t\tlink.setAttribute('role', 'button');\r\n\t\tlink.setAttribute('aria-label', title);\r\n\r\n\t\tdisableClickPropagation(link);\r\n\t\ton(link, 'click', stop);\r\n\t\ton(link, 'click', fn, this);\r\n\t\ton(link, 'click', this._refocusOnMap, this);\r\n\r\n\t\treturn link;\r\n\t},\r\n\r\n\t_updateDisabled: function () {\r\n\t\tvar map = this._map,\r\n\t\t className = 'leaflet-disabled';\r\n\r\n\t\tremoveClass(this._zoomInButton, className);\r\n\t\tremoveClass(this._zoomOutButton, className);\r\n\r\n\t\tif (this._disabled || map._zoom === map.getMinZoom()) {\r\n\t\t\taddClass(this._zoomOutButton, className);\r\n\t\t}\r\n\t\tif (this._disabled || map._zoom === map.getMaxZoom()) {\r\n\t\t\taddClass(this._zoomInButton, className);\r\n\t\t}\r\n\t}\r\n});\r\n\r\n// @namespace Map\r\n// @section Control options\r\n// @option zoomControl: Boolean = true\r\n// Whether a [zoom control](#control-zoom) is added to the map by default.\r\nMap.mergeOptions({\r\n\tzoomControl: true\r\n});\r\n\r\nMap.addInitHook(function () {\r\n\tif (this.options.zoomControl) {\r\n\t\t// @section Controls\r\n\t\t// @property zoomControl: Control.Zoom\r\n\t\t// The default zoom control (only available if the\r\n\t\t// [`zoomControl` option](#map-zoomcontrol) was `true` when creating the map).\r\n\t\tthis.zoomControl = new Zoom();\r\n\t\tthis.addControl(this.zoomControl);\r\n\t}\r\n});\r\n\r\n// @namespace Control.Zoom\r\n// @factory L.control.zoom(options: Control.Zoom options)\r\n// Creates a zoom control\r\nvar zoom = function (options) {\r\n\treturn new Zoom(options);\r\n};\n\n/*\n * @class Control.Scale\n * @aka L.Control.Scale\n * @inherits Control\n *\n * A simple scale control that shows the scale of the current center of screen in metric (m/km) and imperial (mi/ft) systems. Extends `Control`.\n *\n * @example\n *\n * ```js\n * L.control.scale().addTo(map);\n * ```\n */\n\nvar Scale = Control.extend({\n\t// @section\n\t// @aka Control.Scale options\n\toptions: {\n\t\tposition: 'bottomleft',\n\n\t\t// @option maxWidth: Number = 100\n\t\t// Maximum width of the control in pixels. The width is set dynamically to show round values (e.g. 100, 200, 500).\n\t\tmaxWidth: 100,\n\n\t\t// @option metric: Boolean = True\n\t\t// Whether to show the metric scale line (m/km).\n\t\tmetric: true,\n\n\t\t// @option imperial: Boolean = True\n\t\t// Whether to show the imperial scale line (mi/ft).\n\t\timperial: true\n\n\t\t// @option updateWhenIdle: Boolean = false\n\t\t// If `true`, the control is updated on [`moveend`](#map-moveend), otherwise it's always up-to-date (updated on [`move`](#map-move)).\n\t},\n\n\tonAdd: function (map) {\n\t\tvar className = 'leaflet-control-scale',\n\t\t container = create$1('div', className),\n\t\t options = this.options;\n\n\t\tthis._addScales(options, className + '-line', container);\n\n\t\tmap.on(options.updateWhenIdle ? 'moveend' : 'move', this._update, this);\n\t\tmap.whenReady(this._update, this);\n\n\t\treturn container;\n\t},\n\n\tonRemove: function (map) {\n\t\tmap.off(this.options.updateWhenIdle ? 'moveend' : 'move', this._update, this);\n\t},\n\n\t_addScales: function (options, className, container) {\n\t\tif (options.metric) {\n\t\t\tthis._mScale = create$1('div', className, container);\n\t\t}\n\t\tif (options.imperial) {\n\t\t\tthis._iScale = create$1('div', className, container);\n\t\t}\n\t},\n\n\t_update: function () {\n\t\tvar map = this._map,\n\t\t y = map.getSize().y / 2;\n\n\t\tvar maxMeters = map.distance(\n\t\t\tmap.containerPointToLatLng([0, y]),\n\t\t\tmap.containerPointToLatLng([this.options.maxWidth, y]));\n\n\t\tthis._updateScales(maxMeters);\n\t},\n\n\t_updateScales: function (maxMeters) {\n\t\tif (this.options.metric && maxMeters) {\n\t\t\tthis._updateMetric(maxMeters);\n\t\t}\n\t\tif (this.options.imperial && maxMeters) {\n\t\t\tthis._updateImperial(maxMeters);\n\t\t}\n\t},\n\n\t_updateMetric: function (maxMeters) {\n\t\tvar meters = this._getRoundNum(maxMeters),\n\t\t label = meters < 1000 ? meters + ' m' : (meters / 1000) + ' km';\n\n\t\tthis._updateScale(this._mScale, label, meters / maxMeters);\n\t},\n\n\t_updateImperial: function (maxMeters) {\n\t\tvar maxFeet = maxMeters * 3.2808399,\n\t\t maxMiles, miles, feet;\n\n\t\tif (maxFeet > 5280) {\n\t\t\tmaxMiles = maxFeet / 5280;\n\t\t\tmiles = this._getRoundNum(maxMiles);\n\t\t\tthis._updateScale(this._iScale, miles + ' mi', miles / maxMiles);\n\n\t\t} else {\n\t\t\tfeet = this._getRoundNum(maxFeet);\n\t\t\tthis._updateScale(this._iScale, feet + ' ft', feet / maxFeet);\n\t\t}\n\t},\n\n\t_updateScale: function (scale, text, ratio) {\n\t\tscale.style.width = Math.round(this.options.maxWidth * ratio) + 'px';\n\t\tscale.innerHTML = text;\n\t},\n\n\t_getRoundNum: function (num) {\n\t\tvar pow10 = Math.pow(10, (Math.floor(num) + '').length - 1),\n\t\t d = num / pow10;\n\n\t\td = d >= 10 ? 10 :\n\t\t d >= 5 ? 5 :\n\t\t d >= 3 ? 3 :\n\t\t d >= 2 ? 2 : 1;\n\n\t\treturn pow10 * d;\n\t}\n});\n\n\n// @factory L.control.scale(options?: Control.Scale options)\n// Creates an scale control with the given options.\nvar scale = function (options) {\n\treturn new Scale(options);\n};\n\n/*\r\n * @class Control.Attribution\r\n * @aka L.Control.Attribution\r\n * @inherits Control\r\n *\r\n * The attribution control allows you to display attribution data in a small text box on a map. It is put on the map by default unless you set its [`attributionControl` option](#map-attributioncontrol) to `false`, and it fetches attribution texts from layers with the [`getAttribution` method](#layer-getattribution) automatically. Extends Control.\r\n */\r\n\r\nvar Attribution = Control.extend({\r\n\t// @section\r\n\t// @aka Control.Attribution options\r\n\toptions: {\r\n\t\tposition: 'bottomright',\r\n\r\n\t\t// @option prefix: String = 'Leaflet'\r\n\t\t// The HTML text shown before the attributions. Pass `false` to disable.\r\n\t\tprefix: 'Leaflet'\r\n\t},\r\n\r\n\tinitialize: function (options) {\r\n\t\tsetOptions(this, options);\r\n\r\n\t\tthis._attributions = {};\r\n\t},\r\n\r\n\tonAdd: function (map) {\r\n\t\tmap.attributionControl = this;\r\n\t\tthis._container = create$1('div', 'leaflet-control-attribution');\r\n\t\tdisableClickPropagation(this._container);\r\n\r\n\t\t// TODO ugly, refactor\r\n\t\tfor (var i in map._layers) {\r\n\t\t\tif (map._layers[i].getAttribution) {\r\n\t\t\t\tthis.addAttribution(map._layers[i].getAttribution());\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis._update();\r\n\r\n\t\treturn this._container;\r\n\t},\r\n\r\n\t// @method setPrefix(prefix: String): this\r\n\t// Sets the text before the attributions.\r\n\tsetPrefix: function (prefix) {\r\n\t\tthis.options.prefix = prefix;\r\n\t\tthis._update();\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method addAttribution(text: String): this\r\n\t// Adds an attribution text (e.g. `'Vector data © Mapbox'`).\r\n\taddAttribution: function (text) {\r\n\t\tif (!text) { return this; }\r\n\r\n\t\tif (!this._attributions[text]) {\r\n\t\t\tthis._attributions[text] = 0;\r\n\t\t}\r\n\t\tthis._attributions[text]++;\r\n\r\n\t\tthis._update();\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method removeAttribution(text: String): this\r\n\t// Removes an attribution text.\r\n\tremoveAttribution: function (text) {\r\n\t\tif (!text) { return this; }\r\n\r\n\t\tif (this._attributions[text]) {\r\n\t\t\tthis._attributions[text]--;\r\n\t\t\tthis._update();\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t_update: function () {\r\n\t\tif (!this._map) { return; }\r\n\r\n\t\tvar attribs = [];\r\n\r\n\t\tfor (var i in this._attributions) {\r\n\t\t\tif (this._attributions[i]) {\r\n\t\t\t\tattribs.push(i);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar prefixAndAttribs = [];\r\n\r\n\t\tif (this.options.prefix) {\r\n\t\t\tprefixAndAttribs.push(this.options.prefix);\r\n\t\t}\r\n\t\tif (attribs.length) {\r\n\t\t\tprefixAndAttribs.push(attribs.join(', '));\r\n\t\t}\r\n\r\n\t\tthis._container.innerHTML = prefixAndAttribs.join(' | ');\r\n\t}\r\n});\r\n\r\n// @namespace Map\r\n// @section Control options\r\n// @option attributionControl: Boolean = true\r\n// Whether a [attribution control](#control-attribution) is added to the map by default.\r\nMap.mergeOptions({\r\n\tattributionControl: true\r\n});\r\n\r\nMap.addInitHook(function () {\r\n\tif (this.options.attributionControl) {\r\n\t\tnew Attribution().addTo(this);\r\n\t}\r\n});\r\n\r\n// @namespace Control.Attribution\r\n// @factory L.control.attribution(options: Control.Attribution options)\r\n// Creates an attribution control.\r\nvar attribution = function (options) {\r\n\treturn new Attribution(options);\r\n};\n\nControl.Layers = Layers;\nControl.Zoom = Zoom;\nControl.Scale = Scale;\nControl.Attribution = Attribution;\n\ncontrol.layers = layers;\ncontrol.zoom = zoom;\ncontrol.scale = scale;\ncontrol.attribution = attribution;\n\n/*\n\tL.Handler is a base class for handler classes that are used internally to inject\n\tinteraction features like dragging to classes like Map and Marker.\n*/\n\n// @class Handler\n// @aka L.Handler\n// Abstract class for map interaction handlers\n\nvar Handler = Class.extend({\n\tinitialize: function (map) {\n\t\tthis._map = map;\n\t},\n\n\t// @method enable(): this\n\t// Enables the handler\n\tenable: function () {\n\t\tif (this._enabled) { return this; }\n\n\t\tthis._enabled = true;\n\t\tthis.addHooks();\n\t\treturn this;\n\t},\n\n\t// @method disable(): this\n\t// Disables the handler\n\tdisable: function () {\n\t\tif (!this._enabled) { return this; }\n\n\t\tthis._enabled = false;\n\t\tthis.removeHooks();\n\t\treturn this;\n\t},\n\n\t// @method enabled(): Boolean\n\t// Returns `true` if the handler is enabled\n\tenabled: function () {\n\t\treturn !!this._enabled;\n\t}\n\n\t// @section Extension methods\n\t// Classes inheriting from `Handler` must implement the two following methods:\n\t// @method addHooks()\n\t// Called when the handler is enabled, should add event hooks.\n\t// @method removeHooks()\n\t// Called when the handler is disabled, should remove the event hooks added previously.\n});\n\n// @section There is static function which can be called without instantiating L.Handler:\n// @function addTo(map: Map, name: String): this\n// Adds a new Handler to the given map with the given name.\nHandler.addTo = function (map, name) {\n\tmap.addHandler(name, this);\n\treturn this;\n};\n\nvar Mixin = {Events: Events};\n\n/*\r\n * @class Draggable\r\n * @aka L.Draggable\r\n * @inherits Evented\r\n *\r\n * A class for making DOM elements draggable (including touch support).\r\n * Used internally for map and marker dragging. Only works for elements\r\n * that were positioned with [`L.DomUtil.setPosition`](#domutil-setposition).\r\n *\r\n * @example\r\n * ```js\r\n * var draggable = new L.Draggable(elementToDrag);\r\n * draggable.enable();\r\n * ```\r\n */\r\n\r\nvar START = touch ? 'touchstart mousedown' : 'mousedown';\r\nvar END = {\r\n\tmousedown: 'mouseup',\r\n\ttouchstart: 'touchend',\r\n\tpointerdown: 'touchend',\r\n\tMSPointerDown: 'touchend'\r\n};\r\nvar MOVE = {\r\n\tmousedown: 'mousemove',\r\n\ttouchstart: 'touchmove',\r\n\tpointerdown: 'touchmove',\r\n\tMSPointerDown: 'touchmove'\r\n};\r\n\r\n\r\nvar Draggable = Evented.extend({\r\n\r\n\toptions: {\r\n\t\t// @section\r\n\t\t// @aka Draggable options\r\n\t\t// @option clickTolerance: Number = 3\r\n\t\t// The max number of pixels a user can shift the mouse pointer during a click\r\n\t\t// for it to be considered a valid click (as opposed to a mouse drag).\r\n\t\tclickTolerance: 3\r\n\t},\r\n\r\n\t// @constructor L.Draggable(el: HTMLElement, dragHandle?: HTMLElement, preventOutline?: Boolean, options?: Draggable options)\r\n\t// Creates a `Draggable` object for moving `el` when you start dragging the `dragHandle` element (equals `el` itself by default).\r\n\tinitialize: function (element, dragStartTarget, preventOutline$$1, options) {\r\n\t\tsetOptions(this, options);\r\n\r\n\t\tthis._element = element;\r\n\t\tthis._dragStartTarget = dragStartTarget || element;\r\n\t\tthis._preventOutline = preventOutline$$1;\r\n\t},\r\n\r\n\t// @method enable()\r\n\t// Enables the dragging ability\r\n\tenable: function () {\r\n\t\tif (this._enabled) { return; }\r\n\r\n\t\ton(this._dragStartTarget, START, this._onDown, this);\r\n\r\n\t\tthis._enabled = true;\r\n\t},\r\n\r\n\t// @method disable()\r\n\t// Disables the dragging ability\r\n\tdisable: function () {\r\n\t\tif (!this._enabled) { return; }\r\n\r\n\t\t// If we're currently dragging this draggable,\r\n\t\t// disabling it counts as first ending the drag.\r\n\t\tif (Draggable._dragging === this) {\r\n\t\t\tthis.finishDrag();\r\n\t\t}\r\n\r\n\t\toff(this._dragStartTarget, START, this._onDown, this);\r\n\r\n\t\tthis._enabled = false;\r\n\t\tthis._moved = false;\r\n\t},\r\n\r\n\t_onDown: function (e) {\r\n\t\t// Ignore simulated events, since we handle both touch and\r\n\t\t// mouse explicitly; otherwise we risk getting duplicates of\r\n\t\t// touch events, see #4315.\r\n\t\t// Also ignore the event if disabled; this happens in IE11\r\n\t\t// under some circumstances, see #3666.\r\n\t\tif (e._simulated || !this._enabled) { return; }\r\n\r\n\t\tthis._moved = false;\r\n\r\n\t\tif (hasClass(this._element, 'leaflet-zoom-anim')) { return; }\r\n\r\n\t\tif (Draggable._dragging || e.shiftKey || ((e.which !== 1) && (e.button !== 1) && !e.touches)) { return; }\r\n\t\tDraggable._dragging = this; // Prevent dragging multiple objects at once.\r\n\r\n\t\tif (this._preventOutline) {\r\n\t\t\tpreventOutline(this._element);\r\n\t\t}\r\n\r\n\t\tdisableImageDrag();\r\n\t\tdisableTextSelection();\r\n\r\n\t\tif (this._moving) { return; }\r\n\r\n\t\t// @event down: Event\r\n\t\t// Fired when a drag is about to start.\r\n\t\tthis.fire('down');\r\n\r\n\t\tvar first = e.touches ? e.touches[0] : e,\r\n\t\t sizedParent = getSizedParentNode(this._element);\r\n\r\n\t\tthis._startPoint = new Point(first.clientX, first.clientY);\r\n\r\n\t\t// Cache the scale, so that we can continuously compensate for it during drag (_onMove).\r\n\t\tthis._parentScale = getScale(sizedParent);\r\n\r\n\t\ton(document, MOVE[e.type], this._onMove, this);\r\n\t\ton(document, END[e.type], this._onUp, this);\r\n\t},\r\n\r\n\t_onMove: function (e) {\r\n\t\t// Ignore simulated events, since we handle both touch and\r\n\t\t// mouse explicitly; otherwise we risk getting duplicates of\r\n\t\t// touch events, see #4315.\r\n\t\t// Also ignore the event if disabled; this happens in IE11\r\n\t\t// under some circumstances, see #3666.\r\n\t\tif (e._simulated || !this._enabled) { return; }\r\n\r\n\t\tif (e.touches && e.touches.length > 1) {\r\n\t\t\tthis._moved = true;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar first = (e.touches && e.touches.length === 1 ? e.touches[0] : e),\r\n\t\t offset = new Point(first.clientX, first.clientY)._subtract(this._startPoint);\r\n\r\n\t\tif (!offset.x && !offset.y) { return; }\r\n\t\tif (Math.abs(offset.x) + Math.abs(offset.y) < this.options.clickTolerance) { return; }\r\n\r\n\t\t// We assume that the parent container's position, border and scale do not change for the duration of the drag.\r\n\t\t// Therefore there is no need to account for the position and border (they are eliminated by the subtraction)\r\n\t\t// and we can use the cached value for the scale.\r\n\t\toffset.x /= this._parentScale.x;\r\n\t\toffset.y /= this._parentScale.y;\r\n\r\n\t\tpreventDefault(e);\r\n\r\n\t\tif (!this._moved) {\r\n\t\t\t// @event dragstart: Event\r\n\t\t\t// Fired when a drag starts\r\n\t\t\tthis.fire('dragstart');\r\n\r\n\t\t\tthis._moved = true;\r\n\t\t\tthis._startPos = getPosition(this._element).subtract(offset);\r\n\r\n\t\t\taddClass(document.body, 'leaflet-dragging');\r\n\r\n\t\t\tthis._lastTarget = e.target || e.srcElement;\r\n\t\t\t// IE and Edge do not give the element, so fetch it\r\n\t\t\t// if necessary\r\n\t\t\tif (window.SVGElementInstance && this._lastTarget instanceof window.SVGElementInstance) {\r\n\t\t\t\tthis._lastTarget = this._lastTarget.correspondingUseElement;\r\n\t\t\t}\r\n\t\t\taddClass(this._lastTarget, 'leaflet-drag-target');\r\n\t\t}\r\n\r\n\t\tthis._newPos = this._startPos.add(offset);\r\n\t\tthis._moving = true;\r\n\r\n\t\tcancelAnimFrame(this._animRequest);\r\n\t\tthis._lastEvent = e;\r\n\t\tthis._animRequest = requestAnimFrame(this._updatePosition, this, true);\r\n\t},\r\n\r\n\t_updatePosition: function () {\r\n\t\tvar e = {originalEvent: this._lastEvent};\r\n\r\n\t\t// @event predrag: Event\r\n\t\t// Fired continuously during dragging *before* each corresponding\r\n\t\t// update of the element's position.\r\n\t\tthis.fire('predrag', e);\r\n\t\tsetPosition(this._element, this._newPos);\r\n\r\n\t\t// @event drag: Event\r\n\t\t// Fired continuously during dragging.\r\n\t\tthis.fire('drag', e);\r\n\t},\r\n\r\n\t_onUp: function (e) {\r\n\t\t// Ignore simulated events, since we handle both touch and\r\n\t\t// mouse explicitly; otherwise we risk getting duplicates of\r\n\t\t// touch events, see #4315.\r\n\t\t// Also ignore the event if disabled; this happens in IE11\r\n\t\t// under some circumstances, see #3666.\r\n\t\tif (e._simulated || !this._enabled) { return; }\r\n\t\tthis.finishDrag();\r\n\t},\r\n\r\n\tfinishDrag: function () {\r\n\t\tremoveClass(document.body, 'leaflet-dragging');\r\n\r\n\t\tif (this._lastTarget) {\r\n\t\t\tremoveClass(this._lastTarget, 'leaflet-drag-target');\r\n\t\t\tthis._lastTarget = null;\r\n\t\t}\r\n\r\n\t\tfor (var i in MOVE) {\r\n\t\t\toff(document, MOVE[i], this._onMove, this);\r\n\t\t\toff(document, END[i], this._onUp, this);\r\n\t\t}\r\n\r\n\t\tenableImageDrag();\r\n\t\tenableTextSelection();\r\n\r\n\t\tif (this._moved && this._moving) {\r\n\t\t\t// ensure drag is not fired after dragend\r\n\t\t\tcancelAnimFrame(this._animRequest);\r\n\r\n\t\t\t// @event dragend: DragEndEvent\r\n\t\t\t// Fired when the drag ends.\r\n\t\t\tthis.fire('dragend', {\r\n\t\t\t\tdistance: this._newPos.distanceTo(this._startPos)\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis._moving = false;\r\n\t\tDraggable._dragging = false;\r\n\t}\r\n\r\n});\n\n/*\r\n * @namespace LineUtil\r\n *\r\n * Various utility functions for polyline points processing, used by Leaflet internally to make polylines lightning-fast.\r\n */\r\n\r\n// Simplify polyline with vertex reduction and Douglas-Peucker simplification.\r\n// Improves rendering performance dramatically by lessening the number of points to draw.\r\n\r\n// @function simplify(points: Point[], tolerance: Number): Point[]\r\n// Dramatically reduces the number of points in a polyline while retaining\r\n// its shape and returns a new array of simplified points, using the\r\n// [Douglas-Peucker algorithm](http://en.wikipedia.org/wiki/Douglas-Peucker_algorithm).\r\n// Used for a huge performance boost when processing/displaying Leaflet polylines for\r\n// each zoom level and also reducing visual noise. tolerance affects the amount of\r\n// simplification (lesser value means higher quality but slower and with more points).\r\n// Also released as a separated micro-library [Simplify.js](http://mourner.github.com/simplify-js/).\r\nfunction simplify(points, tolerance) {\r\n\tif (!tolerance || !points.length) {\r\n\t\treturn points.slice();\r\n\t}\r\n\r\n\tvar sqTolerance = tolerance * tolerance;\r\n\r\n\t // stage 1: vertex reduction\r\n\t points = _reducePoints(points, sqTolerance);\r\n\r\n\t // stage 2: Douglas-Peucker simplification\r\n\t points = _simplifyDP(points, sqTolerance);\r\n\r\n\treturn points;\r\n}\r\n\r\n// @function pointToSegmentDistance(p: Point, p1: Point, p2: Point): Number\r\n// Returns the distance between point `p` and segment `p1` to `p2`.\r\nfunction pointToSegmentDistance(p, p1, p2) {\r\n\treturn Math.sqrt(_sqClosestPointOnSegment(p, p1, p2, true));\r\n}\r\n\r\n// @function closestPointOnSegment(p: Point, p1: Point, p2: Point): Number\r\n// Returns the closest point from a point `p` on a segment `p1` to `p2`.\r\nfunction closestPointOnSegment(p, p1, p2) {\r\n\treturn _sqClosestPointOnSegment(p, p1, p2);\r\n}\r\n\r\n// Douglas-Peucker simplification, see http://en.wikipedia.org/wiki/Douglas-Peucker_algorithm\r\nfunction _simplifyDP(points, sqTolerance) {\r\n\r\n\tvar len = points.length,\r\n\t ArrayConstructor = typeof Uint8Array !== undefined + '' ? Uint8Array : Array,\r\n\t markers = new ArrayConstructor(len);\r\n\r\n\t markers[0] = markers[len - 1] = 1;\r\n\r\n\t_simplifyDPStep(points, markers, sqTolerance, 0, len - 1);\r\n\r\n\tvar i,\r\n\t newPoints = [];\r\n\r\n\tfor (i = 0; i < len; i++) {\r\n\t\tif (markers[i]) {\r\n\t\t\tnewPoints.push(points[i]);\r\n\t\t}\r\n\t}\r\n\r\n\treturn newPoints;\r\n}\r\n\r\nfunction _simplifyDPStep(points, markers, sqTolerance, first, last) {\r\n\r\n\tvar maxSqDist = 0,\r\n\tindex, i, sqDist;\r\n\r\n\tfor (i = first + 1; i <= last - 1; i++) {\r\n\t\tsqDist = _sqClosestPointOnSegment(points[i], points[first], points[last], true);\r\n\r\n\t\tif (sqDist > maxSqDist) {\r\n\t\t\tindex = i;\r\n\t\t\tmaxSqDist = sqDist;\r\n\t\t}\r\n\t}\r\n\r\n\tif (maxSqDist > sqTolerance) {\r\n\t\tmarkers[index] = 1;\r\n\r\n\t\t_simplifyDPStep(points, markers, sqTolerance, first, index);\r\n\t\t_simplifyDPStep(points, markers, sqTolerance, index, last);\r\n\t}\r\n}\r\n\r\n// reduce points that are too close to each other to a single point\r\nfunction _reducePoints(points, sqTolerance) {\r\n\tvar reducedPoints = [points[0]];\r\n\r\n\tfor (var i = 1, prev = 0, len = points.length; i < len; i++) {\r\n\t\tif (_sqDist(points[i], points[prev]) > sqTolerance) {\r\n\t\t\treducedPoints.push(points[i]);\r\n\t\t\tprev = i;\r\n\t\t}\r\n\t}\r\n\tif (prev < len - 1) {\r\n\t\treducedPoints.push(points[len - 1]);\r\n\t}\r\n\treturn reducedPoints;\r\n}\r\n\r\nvar _lastCode;\r\n\r\n// @function clipSegment(a: Point, b: Point, bounds: Bounds, useLastCode?: Boolean, round?: Boolean): Point[]|Boolean\r\n// Clips the segment a to b by rectangular bounds with the\r\n// [Cohen-Sutherland algorithm](https://en.wikipedia.org/wiki/Cohen%E2%80%93Sutherland_algorithm)\r\n// (modifying the segment points directly!). Used by Leaflet to only show polyline\r\n// points that are on the screen or near, increasing performance.\r\nfunction clipSegment(a, b, bounds, useLastCode, round) {\r\n\tvar codeA = useLastCode ? _lastCode : _getBitCode(a, bounds),\r\n\t codeB = _getBitCode(b, bounds),\r\n\r\n\t codeOut, p, newCode;\r\n\r\n\t // save 2nd code to avoid calculating it on the next segment\r\n\t _lastCode = codeB;\r\n\r\n\twhile (true) {\r\n\t\t// if a,b is inside the clip window (trivial accept)\r\n\t\tif (!(codeA | codeB)) {\r\n\t\t\treturn [a, b];\r\n\t\t}\r\n\r\n\t\t// if a,b is outside the clip window (trivial reject)\r\n\t\tif (codeA & codeB) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t// other cases\r\n\t\tcodeOut = codeA || codeB;\r\n\t\tp = _getEdgeIntersection(a, b, codeOut, bounds, round);\r\n\t\tnewCode = _getBitCode(p, bounds);\r\n\r\n\t\tif (codeOut === codeA) {\r\n\t\t\ta = p;\r\n\t\t\tcodeA = newCode;\r\n\t\t} else {\r\n\t\t\tb = p;\r\n\t\t\tcodeB = newCode;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction _getEdgeIntersection(a, b, code, bounds, round) {\r\n\tvar dx = b.x - a.x,\r\n\t dy = b.y - a.y,\r\n\t min = bounds.min,\r\n\t max = bounds.max,\r\n\t x, y;\r\n\r\n\tif (code & 8) { // top\r\n\t\tx = a.x + dx * (max.y - a.y) / dy;\r\n\t\ty = max.y;\r\n\r\n\t} else if (code & 4) { // bottom\r\n\t\tx = a.x + dx * (min.y - a.y) / dy;\r\n\t\ty = min.y;\r\n\r\n\t} else if (code & 2) { // right\r\n\t\tx = max.x;\r\n\t\ty = a.y + dy * (max.x - a.x) / dx;\r\n\r\n\t} else if (code & 1) { // left\r\n\t\tx = min.x;\r\n\t\ty = a.y + dy * (min.x - a.x) / dx;\r\n\t}\r\n\r\n\treturn new Point(x, y, round);\r\n}\r\n\r\nfunction _getBitCode(p, bounds) {\r\n\tvar code = 0;\r\n\r\n\tif (p.x < bounds.min.x) { // left\r\n\t\tcode |= 1;\r\n\t} else if (p.x > bounds.max.x) { // right\r\n\t\tcode |= 2;\r\n\t}\r\n\r\n\tif (p.y < bounds.min.y) { // bottom\r\n\t\tcode |= 4;\r\n\t} else if (p.y > bounds.max.y) { // top\r\n\t\tcode |= 8;\r\n\t}\r\n\r\n\treturn code;\r\n}\r\n\r\n// square distance (to avoid unnecessary Math.sqrt calls)\r\nfunction _sqDist(p1, p2) {\r\n\tvar dx = p2.x - p1.x,\r\n\t dy = p2.y - p1.y;\r\n\treturn dx * dx + dy * dy;\r\n}\r\n\r\n// return closest point on segment or distance to that point\r\nfunction _sqClosestPointOnSegment(p, p1, p2, sqDist) {\r\n\tvar x = p1.x,\r\n\t y = p1.y,\r\n\t dx = p2.x - x,\r\n\t dy = p2.y - y,\r\n\t dot = dx * dx + dy * dy,\r\n\t t;\r\n\r\n\tif (dot > 0) {\r\n\t\tt = ((p.x - x) * dx + (p.y - y) * dy) / dot;\r\n\r\n\t\tif (t > 1) {\r\n\t\t\tx = p2.x;\r\n\t\t\ty = p2.y;\r\n\t\t} else if (t > 0) {\r\n\t\t\tx += dx * t;\r\n\t\t\ty += dy * t;\r\n\t\t}\r\n\t}\r\n\r\n\tdx = p.x - x;\r\n\tdy = p.y - y;\r\n\r\n\treturn sqDist ? dx * dx + dy * dy : new Point(x, y);\r\n}\r\n\r\n\r\n// @function isFlat(latlngs: LatLng[]): Boolean\r\n// Returns true if `latlngs` is a flat array, false is nested.\r\nfunction isFlat(latlngs) {\r\n\treturn !isArray(latlngs[0]) || (typeof latlngs[0][0] !== 'object' && typeof latlngs[0][0] !== 'undefined');\r\n}\r\n\r\nfunction _flat(latlngs) {\r\n\tconsole.warn('Deprecated use of _flat, please use L.LineUtil.isFlat instead.');\r\n\treturn isFlat(latlngs);\r\n}\n\nvar LineUtil = ({\n simplify: simplify,\n pointToSegmentDistance: pointToSegmentDistance,\n closestPointOnSegment: closestPointOnSegment,\n clipSegment: clipSegment,\n _getEdgeIntersection: _getEdgeIntersection,\n _getBitCode: _getBitCode,\n _sqClosestPointOnSegment: _sqClosestPointOnSegment,\n isFlat: isFlat,\n _flat: _flat\n});\n\n/*\r\n * @namespace PolyUtil\r\n * Various utility functions for polygon geometries.\r\n */\r\n\r\n/* @function clipPolygon(points: Point[], bounds: Bounds, round?: Boolean): Point[]\r\n * Clips the polygon geometry defined by the given `points` by the given bounds (using the [Sutherland-Hodgman algorithm](https://en.wikipedia.org/wiki/Sutherland%E2%80%93Hodgman_algorithm)).\r\n * Used by Leaflet to only show polygon points that are on the screen or near, increasing\r\n * performance. Note that polygon points needs different algorithm for clipping\r\n * than polyline, so there's a separate method for it.\r\n */\r\nfunction clipPolygon(points, bounds, round) {\r\n\tvar clippedPoints,\r\n\t edges = [1, 4, 2, 8],\r\n\t i, j, k,\r\n\t a, b,\r\n\t len, edge, p;\r\n\r\n\tfor (i = 0, len = points.length; i < len; i++) {\r\n\t\tpoints[i]._code = _getBitCode(points[i], bounds);\r\n\t}\r\n\r\n\t// for each edge (left, bottom, right, top)\r\n\tfor (k = 0; k < 4; k++) {\r\n\t\tedge = edges[k];\r\n\t\tclippedPoints = [];\r\n\r\n\t\tfor (i = 0, len = points.length, j = len - 1; i < len; j = i++) {\r\n\t\t\ta = points[i];\r\n\t\t\tb = points[j];\r\n\r\n\t\t\t// if a is inside the clip window\r\n\t\t\tif (!(a._code & edge)) {\r\n\t\t\t\t// if b is outside the clip window (a->b goes out of screen)\r\n\t\t\t\tif (b._code & edge) {\r\n\t\t\t\t\tp = _getEdgeIntersection(b, a, edge, bounds, round);\r\n\t\t\t\t\tp._code = _getBitCode(p, bounds);\r\n\t\t\t\t\tclippedPoints.push(p);\r\n\t\t\t\t}\r\n\t\t\t\tclippedPoints.push(a);\r\n\r\n\t\t\t// else if b is inside the clip window (a->b enters the screen)\r\n\t\t\t} else if (!(b._code & edge)) {\r\n\t\t\t\tp = _getEdgeIntersection(b, a, edge, bounds, round);\r\n\t\t\t\tp._code = _getBitCode(p, bounds);\r\n\t\t\t\tclippedPoints.push(p);\r\n\t\t\t}\r\n\t\t}\r\n\t\tpoints = clippedPoints;\r\n\t}\r\n\r\n\treturn points;\r\n}\n\nvar PolyUtil = ({\n clipPolygon: clipPolygon\n});\n\n/*\r\n * @namespace Projection\r\n * @section\r\n * Leaflet comes with a set of already defined Projections out of the box:\r\n *\r\n * @projection L.Projection.LonLat\r\n *\r\n * Equirectangular, or Plate Carree projection — the most simple projection,\r\n * mostly used by GIS enthusiasts. Directly maps `x` as longitude, and `y` as\r\n * latitude. Also suitable for flat worlds, e.g. game maps. Used by the\r\n * `EPSG:4326` and `Simple` CRS.\r\n */\r\n\r\nvar LonLat = {\r\n\tproject: function (latlng) {\r\n\t\treturn new Point(latlng.lng, latlng.lat);\r\n\t},\r\n\r\n\tunproject: function (point) {\r\n\t\treturn new LatLng(point.y, point.x);\r\n\t},\r\n\r\n\tbounds: new Bounds([-180, -90], [180, 90])\r\n};\n\n/*\r\n * @namespace Projection\r\n * @projection L.Projection.Mercator\r\n *\r\n * Elliptical Mercator projection — more complex than Spherical Mercator. Assumes that Earth is an ellipsoid. Used by the EPSG:3395 CRS.\r\n */\r\n\r\nvar Mercator = {\r\n\tR: 6378137,\r\n\tR_MINOR: 6356752.314245179,\r\n\r\n\tbounds: new Bounds([-20037508.34279, -15496570.73972], [20037508.34279, 18764656.23138]),\r\n\r\n\tproject: function (latlng) {\r\n\t\tvar d = Math.PI / 180,\r\n\t\t r = this.R,\r\n\t\t y = latlng.lat * d,\r\n\t\t tmp = this.R_MINOR / r,\r\n\t\t e = Math.sqrt(1 - tmp * tmp),\r\n\t\t con = e * Math.sin(y);\r\n\r\n\t\tvar ts = Math.tan(Math.PI / 4 - y / 2) / Math.pow((1 - con) / (1 + con), e / 2);\r\n\t\ty = -r * Math.log(Math.max(ts, 1E-10));\r\n\r\n\t\treturn new Point(latlng.lng * d * r, y);\r\n\t},\r\n\r\n\tunproject: function (point) {\r\n\t\tvar d = 180 / Math.PI,\r\n\t\t r = this.R,\r\n\t\t tmp = this.R_MINOR / r,\r\n\t\t e = Math.sqrt(1 - tmp * tmp),\r\n\t\t ts = Math.exp(-point.y / r),\r\n\t\t phi = Math.PI / 2 - 2 * Math.atan(ts);\r\n\r\n\t\tfor (var i = 0, dphi = 0.1, con; i < 15 && Math.abs(dphi) > 1e-7; i++) {\r\n\t\t\tcon = e * Math.sin(phi);\r\n\t\t\tcon = Math.pow((1 - con) / (1 + con), e / 2);\r\n\t\t\tdphi = Math.PI / 2 - 2 * Math.atan(ts * con) - phi;\r\n\t\t\tphi += dphi;\r\n\t\t}\r\n\r\n\t\treturn new LatLng(phi * d, point.x * d / r);\r\n\t}\r\n};\n\n/*\n * @class Projection\n\n * An object with methods for projecting geographical coordinates of the world onto\n * a flat surface (and back). See [Map projection](http://en.wikipedia.org/wiki/Map_projection).\n\n * @property bounds: Bounds\n * The bounds (specified in CRS units) where the projection is valid\n\n * @method project(latlng: LatLng): Point\n * Projects geographical coordinates into a 2D point.\n * Only accepts actual `L.LatLng` instances, not arrays.\n\n * @method unproject(point: Point): LatLng\n * The inverse of `project`. Projects a 2D point into a geographical location.\n * Only accepts actual `L.Point` instances, not arrays.\n\n * Note that the projection instances do not inherit from Leaflet's `Class` object,\n * and can't be instantiated. Also, new classes can't inherit from them,\n * and methods can't be added to them with the `include` function.\n\n */\n\nvar index = ({\n LonLat: LonLat,\n Mercator: Mercator,\n SphericalMercator: SphericalMercator\n});\n\n/*\r\n * @namespace CRS\r\n * @crs L.CRS.EPSG3395\r\n *\r\n * Rarely used by some commercial tile providers. Uses Elliptical Mercator projection.\r\n */\r\nvar EPSG3395 = extend({}, Earth, {\r\n\tcode: 'EPSG:3395',\r\n\tprojection: Mercator,\r\n\r\n\ttransformation: (function () {\r\n\t\tvar scale = 0.5 / (Math.PI * Mercator.R);\r\n\t\treturn toTransformation(scale, 0.5, -scale, 0.5);\r\n\t}())\r\n});\n\n/*\r\n * @namespace CRS\r\n * @crs L.CRS.EPSG4326\r\n *\r\n * A common CRS among GIS enthusiasts. Uses simple Equirectangular projection.\r\n *\r\n * Leaflet 1.0.x complies with the [TMS coordinate scheme for EPSG:4326](https://wiki.osgeo.org/wiki/Tile_Map_Service_Specification#global-geodetic),\r\n * which is a breaking change from 0.7.x behaviour. If you are using a `TileLayer`\r\n * with this CRS, ensure that there are two 256x256 pixel tiles covering the\r\n * whole earth at zoom level zero, and that the tile coordinate origin is (-180,+90),\r\n * or (-180,-90) for `TileLayer`s with [the `tms` option](#tilelayer-tms) set.\r\n */\r\n\r\nvar EPSG4326 = extend({}, Earth, {\r\n\tcode: 'EPSG:4326',\r\n\tprojection: LonLat,\r\n\ttransformation: toTransformation(1 / 180, 1, -1 / 180, 0.5)\r\n});\n\n/*\n * @namespace CRS\n * @crs L.CRS.Simple\n *\n * A simple CRS that maps longitude and latitude into `x` and `y` directly.\n * May be used for maps of flat surfaces (e.g. game maps). Note that the `y`\n * axis should still be inverted (going from bottom to top). `distance()` returns\n * simple euclidean distance.\n */\n\nvar Simple = extend({}, CRS, {\n\tprojection: LonLat,\n\ttransformation: toTransformation(1, 0, -1, 0),\n\n\tscale: function (zoom) {\n\t\treturn Math.pow(2, zoom);\n\t},\n\n\tzoom: function (scale) {\n\t\treturn Math.log(scale) / Math.LN2;\n\t},\n\n\tdistance: function (latlng1, latlng2) {\n\t\tvar dx = latlng2.lng - latlng1.lng,\n\t\t dy = latlng2.lat - latlng1.lat;\n\n\t\treturn Math.sqrt(dx * dx + dy * dy);\n\t},\n\n\tinfinite: true\n});\n\nCRS.Earth = Earth;\nCRS.EPSG3395 = EPSG3395;\nCRS.EPSG3857 = EPSG3857;\nCRS.EPSG900913 = EPSG900913;\nCRS.EPSG4326 = EPSG4326;\nCRS.Simple = Simple;\n\n/*\n * @class Layer\n * @inherits Evented\n * @aka L.Layer\n * @aka ILayer\n *\n * A set of methods from the Layer base class that all Leaflet layers use.\n * Inherits all methods, options and events from `L.Evented`.\n *\n * @example\n *\n * ```js\n * var layer = L.marker(latlng).addTo(map);\n * layer.addTo(map);\n * layer.remove();\n * ```\n *\n * @event add: Event\n * Fired after the layer is added to a map\n *\n * @event remove: Event\n * Fired after the layer is removed from a map\n */\n\n\nvar Layer = Evented.extend({\n\n\t// Classes extending `L.Layer` will inherit the following options:\n\toptions: {\n\t\t// @option pane: String = 'overlayPane'\n\t\t// By default the layer will be added to the map's [overlay pane](#map-overlaypane). Overriding this option will cause the layer to be placed on another pane by default.\n\t\tpane: 'overlayPane',\n\n\t\t// @option attribution: String = null\n\t\t// String to be shown in the attribution control, e.g. \"© OpenStreetMap contributors\". It describes the layer data and is often a legal obligation towards copyright holders and tile providers.\n\t\tattribution: null,\n\n\t\tbubblingMouseEvents: true\n\t},\n\n\t/* @section\n\t * Classes extending `L.Layer` will inherit the following methods:\n\t *\n\t * @method addTo(map: Map|LayerGroup): this\n\t * Adds the layer to the given map or layer group.\n\t */\n\taddTo: function (map) {\n\t\tmap.addLayer(this);\n\t\treturn this;\n\t},\n\n\t// @method remove: this\n\t// Removes the layer from the map it is currently active on.\n\tremove: function () {\n\t\treturn this.removeFrom(this._map || this._mapToAdd);\n\t},\n\n\t// @method removeFrom(map: Map): this\n\t// Removes the layer from the given map\n\t//\n\t// @alternative\n\t// @method removeFrom(group: LayerGroup): this\n\t// Removes the layer from the given `LayerGroup`\n\tremoveFrom: function (obj) {\n\t\tif (obj) {\n\t\t\tobj.removeLayer(this);\n\t\t}\n\t\treturn this;\n\t},\n\n\t// @method getPane(name? : String): HTMLElement\n\t// Returns the `HTMLElement` representing the named pane on the map. If `name` is omitted, returns the pane for this layer.\n\tgetPane: function (name) {\n\t\treturn this._map.getPane(name ? (this.options[name] || name) : this.options.pane);\n\t},\n\n\taddInteractiveTarget: function (targetEl) {\n\t\tthis._map._targets[stamp(targetEl)] = this;\n\t\treturn this;\n\t},\n\n\tremoveInteractiveTarget: function (targetEl) {\n\t\tdelete this._map._targets[stamp(targetEl)];\n\t\treturn this;\n\t},\n\n\t// @method getAttribution: String\n\t// Used by the `attribution control`, returns the [attribution option](#gridlayer-attribution).\n\tgetAttribution: function () {\n\t\treturn this.options.attribution;\n\t},\n\n\t_layerAdd: function (e) {\n\t\tvar map = e.target;\n\n\t\t// check in case layer gets added and then removed before the map is ready\n\t\tif (!map.hasLayer(this)) { return; }\n\n\t\tthis._map = map;\n\t\tthis._zoomAnimated = map._zoomAnimated;\n\n\t\tif (this.getEvents) {\n\t\t\tvar events = this.getEvents();\n\t\t\tmap.on(events, this);\n\t\t\tthis.once('remove', function () {\n\t\t\t\tmap.off(events, this);\n\t\t\t}, this);\n\t\t}\n\n\t\tthis.onAdd(map);\n\n\t\tif (this.getAttribution && map.attributionControl) {\n\t\t\tmap.attributionControl.addAttribution(this.getAttribution());\n\t\t}\n\n\t\tthis.fire('add');\n\t\tmap.fire('layeradd', {layer: this});\n\t}\n});\n\n/* @section Extension methods\n * @uninheritable\n *\n * Every layer should extend from `L.Layer` and (re-)implement the following methods.\n *\n * @method onAdd(map: Map): this\n * Should contain code that creates DOM elements for the layer, adds them to `map panes` where they should belong and puts listeners on relevant map events. Called on [`map.addLayer(layer)`](#map-addlayer).\n *\n * @method onRemove(map: Map): this\n * Should contain all clean up code that removes the layer's elements from the DOM and removes listeners previously added in [`onAdd`](#layer-onadd). Called on [`map.removeLayer(layer)`](#map-removelayer).\n *\n * @method getEvents(): Object\n * This optional method should return an object like `{ viewreset: this._reset }` for [`addEventListener`](#evented-addeventlistener). The event handlers in this object will be automatically added and removed from the map with your layer.\n *\n * @method getAttribution(): String\n * This optional method should return a string containing HTML to be shown on the `Attribution control` whenever the layer is visible.\n *\n * @method beforeAdd(map: Map): this\n * Optional method. Called on [`map.addLayer(layer)`](#map-addlayer), before the layer is added to the map, before events are initialized, without waiting until the map is in a usable state. Use for early initialization only.\n */\n\n\n/* @namespace Map\n * @section Layer events\n *\n * @event layeradd: LayerEvent\n * Fired when a new layer is added to the map.\n *\n * @event layerremove: LayerEvent\n * Fired when some layer is removed from the map\n *\n * @section Methods for Layers and Controls\n */\nMap.include({\n\t// @method addLayer(layer: Layer): this\n\t// Adds the given layer to the map\n\taddLayer: function (layer) {\n\t\tif (!layer._layerAdd) {\n\t\t\tthrow new Error('The provided object is not a Layer.');\n\t\t}\n\n\t\tvar id = stamp(layer);\n\t\tif (this._layers[id]) { return this; }\n\t\tthis._layers[id] = layer;\n\n\t\tlayer._mapToAdd = this;\n\n\t\tif (layer.beforeAdd) {\n\t\t\tlayer.beforeAdd(this);\n\t\t}\n\n\t\tthis.whenReady(layer._layerAdd, layer);\n\n\t\treturn this;\n\t},\n\n\t// @method removeLayer(layer: Layer): this\n\t// Removes the given layer from the map.\n\tremoveLayer: function (layer) {\n\t\tvar id = stamp(layer);\n\n\t\tif (!this._layers[id]) { return this; }\n\n\t\tif (this._loaded) {\n\t\t\tlayer.onRemove(this);\n\t\t}\n\n\t\tif (layer.getAttribution && this.attributionControl) {\n\t\t\tthis.attributionControl.removeAttribution(layer.getAttribution());\n\t\t}\n\n\t\tdelete this._layers[id];\n\n\t\tif (this._loaded) {\n\t\t\tthis.fire('layerremove', {layer: layer});\n\t\t\tlayer.fire('remove');\n\t\t}\n\n\t\tlayer._map = layer._mapToAdd = null;\n\n\t\treturn this;\n\t},\n\n\t// @method hasLayer(layer: Layer): Boolean\n\t// Returns `true` if the given layer is currently added to the map\n\thasLayer: function (layer) {\n\t\treturn !!layer && (stamp(layer) in this._layers);\n\t},\n\n\t/* @method eachLayer(fn: Function, context?: Object): this\n\t * Iterates over the layers of the map, optionally specifying context of the iterator function.\n\t * ```\n\t * map.eachLayer(function(layer){\n\t * layer.bindPopup('Hello');\n\t * });\n\t * ```\n\t */\n\teachLayer: function (method, context) {\n\t\tfor (var i in this._layers) {\n\t\t\tmethod.call(context, this._layers[i]);\n\t\t}\n\t\treturn this;\n\t},\n\n\t_addLayers: function (layers) {\n\t\tlayers = layers ? (isArray(layers) ? layers : [layers]) : [];\n\n\t\tfor (var i = 0, len = layers.length; i < len; i++) {\n\t\t\tthis.addLayer(layers[i]);\n\t\t}\n\t},\n\n\t_addZoomLimit: function (layer) {\n\t\tif (isNaN(layer.options.maxZoom) || !isNaN(layer.options.minZoom)) {\n\t\t\tthis._zoomBoundLayers[stamp(layer)] = layer;\n\t\t\tthis._updateZoomLevels();\n\t\t}\n\t},\n\n\t_removeZoomLimit: function (layer) {\n\t\tvar id = stamp(layer);\n\n\t\tif (this._zoomBoundLayers[id]) {\n\t\t\tdelete this._zoomBoundLayers[id];\n\t\t\tthis._updateZoomLevels();\n\t\t}\n\t},\n\n\t_updateZoomLevels: function () {\n\t\tvar minZoom = Infinity,\n\t\t maxZoom = -Infinity,\n\t\t oldZoomSpan = this._getZoomSpan();\n\n\t\tfor (var i in this._zoomBoundLayers) {\n\t\t\tvar options = this._zoomBoundLayers[i].options;\n\n\t\t\tminZoom = options.minZoom === undefined ? minZoom : Math.min(minZoom, options.minZoom);\n\t\t\tmaxZoom = options.maxZoom === undefined ? maxZoom : Math.max(maxZoom, options.maxZoom);\n\t\t}\n\n\t\tthis._layersMaxZoom = maxZoom === -Infinity ? undefined : maxZoom;\n\t\tthis._layersMinZoom = minZoom === Infinity ? undefined : minZoom;\n\n\t\t// @section Map state change events\n\t\t// @event zoomlevelschange: Event\n\t\t// Fired when the number of zoomlevels on the map is changed due\n\t\t// to adding or removing a layer.\n\t\tif (oldZoomSpan !== this._getZoomSpan()) {\n\t\t\tthis.fire('zoomlevelschange');\n\t\t}\n\n\t\tif (this.options.maxZoom === undefined && this._layersMaxZoom && this.getZoom() > this._layersMaxZoom) {\n\t\t\tthis.setZoom(this._layersMaxZoom);\n\t\t}\n\t\tif (this.options.minZoom === undefined && this._layersMinZoom && this.getZoom() < this._layersMinZoom) {\n\t\t\tthis.setZoom(this._layersMinZoom);\n\t\t}\n\t}\n});\n\n/*\r\n * @class LayerGroup\r\n * @aka L.LayerGroup\r\n * @inherits Layer\r\n *\r\n * Used to group several layers and handle them as one. If you add it to the map,\r\n * any layers added or removed from the group will be added/removed on the map as\r\n * well. Extends `Layer`.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * L.layerGroup([marker1, marker2])\r\n * \t.addLayer(polyline)\r\n * \t.addTo(map);\r\n * ```\r\n */\r\n\r\nvar LayerGroup = Layer.extend({\r\n\r\n\tinitialize: function (layers, options) {\r\n\t\tsetOptions(this, options);\r\n\r\n\t\tthis._layers = {};\r\n\r\n\t\tvar i, len;\r\n\r\n\t\tif (layers) {\r\n\t\t\tfor (i = 0, len = layers.length; i < len; i++) {\r\n\t\t\t\tthis.addLayer(layers[i]);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t// @method addLayer(layer: Layer): this\r\n\t// Adds the given layer to the group.\r\n\taddLayer: function (layer) {\r\n\t\tvar id = this.getLayerId(layer);\r\n\r\n\t\tthis._layers[id] = layer;\r\n\r\n\t\tif (this._map) {\r\n\t\t\tthis._map.addLayer(layer);\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method removeLayer(layer: Layer): this\r\n\t// Removes the given layer from the group.\r\n\t// @alternative\r\n\t// @method removeLayer(id: Number): this\r\n\t// Removes the layer with the given internal ID from the group.\r\n\tremoveLayer: function (layer) {\r\n\t\tvar id = layer in this._layers ? layer : this.getLayerId(layer);\r\n\r\n\t\tif (this._map && this._layers[id]) {\r\n\t\t\tthis._map.removeLayer(this._layers[id]);\r\n\t\t}\r\n\r\n\t\tdelete this._layers[id];\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method hasLayer(layer: Layer): Boolean\r\n\t// Returns `true` if the given layer is currently added to the group.\r\n\t// @alternative\r\n\t// @method hasLayer(id: Number): Boolean\r\n\t// Returns `true` if the given internal ID is currently added to the group.\r\n\thasLayer: function (layer) {\r\n\t\tif (!layer) { return false; }\r\n\t\tvar layerId = typeof layer === 'number' ? layer : this.getLayerId(layer);\r\n\t\treturn layerId in this._layers;\r\n\t},\r\n\r\n\t// @method clearLayers(): this\r\n\t// Removes all the layers from the group.\r\n\tclearLayers: function () {\r\n\t\treturn this.eachLayer(this.removeLayer, this);\r\n\t},\r\n\r\n\t// @method invoke(methodName: String, …): this\r\n\t// Calls `methodName` on every layer contained in this group, passing any\r\n\t// additional parameters. Has no effect if the layers contained do not\r\n\t// implement `methodName`.\r\n\tinvoke: function (methodName) {\r\n\t\tvar args = Array.prototype.slice.call(arguments, 1),\r\n\t\t i, layer;\r\n\r\n\t\tfor (i in this._layers) {\r\n\t\t\tlayer = this._layers[i];\r\n\r\n\t\t\tif (layer[methodName]) {\r\n\t\t\t\tlayer[methodName].apply(layer, args);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\tonAdd: function (map) {\r\n\t\tthis.eachLayer(map.addLayer, map);\r\n\t},\r\n\r\n\tonRemove: function (map) {\r\n\t\tthis.eachLayer(map.removeLayer, map);\r\n\t},\r\n\r\n\t// @method eachLayer(fn: Function, context?: Object): this\r\n\t// Iterates over the layers of the group, optionally specifying context of the iterator function.\r\n\t// ```js\r\n\t// group.eachLayer(function (layer) {\r\n\t// \tlayer.bindPopup('Hello');\r\n\t// });\r\n\t// ```\r\n\teachLayer: function (method, context) {\r\n\t\tfor (var i in this._layers) {\r\n\t\t\tmethod.call(context, this._layers[i]);\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method getLayer(id: Number): Layer\r\n\t// Returns the layer with the given internal ID.\r\n\tgetLayer: function (id) {\r\n\t\treturn this._layers[id];\r\n\t},\r\n\r\n\t// @method getLayers(): Layer[]\r\n\t// Returns an array of all the layers added to the group.\r\n\tgetLayers: function () {\r\n\t\tvar layers = [];\r\n\t\tthis.eachLayer(layers.push, layers);\r\n\t\treturn layers;\r\n\t},\r\n\r\n\t// @method setZIndex(zIndex: Number): this\r\n\t// Calls `setZIndex` on every layer contained in this group, passing the z-index.\r\n\tsetZIndex: function (zIndex) {\r\n\t\treturn this.invoke('setZIndex', zIndex);\r\n\t},\r\n\r\n\t// @method getLayerId(layer: Layer): Number\r\n\t// Returns the internal ID for a layer\r\n\tgetLayerId: function (layer) {\r\n\t\treturn stamp(layer);\r\n\t}\r\n});\r\n\r\n\r\n// @factory L.layerGroup(layers?: Layer[], options?: Object)\r\n// Create a layer group, optionally given an initial set of layers and an `options` object.\r\nvar layerGroup = function (layers, options) {\r\n\treturn new LayerGroup(layers, options);\r\n};\n\n/*\r\n * @class FeatureGroup\r\n * @aka L.FeatureGroup\r\n * @inherits LayerGroup\r\n *\r\n * Extended `LayerGroup` that makes it easier to do the same thing to all its member layers:\r\n * * [`bindPopup`](#layer-bindpopup) binds a popup to all of the layers at once (likewise with [`bindTooltip`](#layer-bindtooltip))\r\n * * Events are propagated to the `FeatureGroup`, so if the group has an event\r\n * handler, it will handle events from any of the layers. This includes mouse events\r\n * and custom events.\r\n * * Has `layeradd` and `layerremove` events\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * L.featureGroup([marker1, marker2, polyline])\r\n * \t.bindPopup('Hello world!')\r\n * \t.on('click', function() { alert('Clicked on a member of the group!'); })\r\n * \t.addTo(map);\r\n * ```\r\n */\r\n\r\nvar FeatureGroup = LayerGroup.extend({\r\n\r\n\taddLayer: function (layer) {\r\n\t\tif (this.hasLayer(layer)) {\r\n\t\t\treturn this;\r\n\t\t}\r\n\r\n\t\tlayer.addEventParent(this);\r\n\r\n\t\tLayerGroup.prototype.addLayer.call(this, layer);\r\n\r\n\t\t// @event layeradd: LayerEvent\r\n\t\t// Fired when a layer is added to this `FeatureGroup`\r\n\t\treturn this.fire('layeradd', {layer: layer});\r\n\t},\r\n\r\n\tremoveLayer: function (layer) {\r\n\t\tif (!this.hasLayer(layer)) {\r\n\t\t\treturn this;\r\n\t\t}\r\n\t\tif (layer in this._layers) {\r\n\t\t\tlayer = this._layers[layer];\r\n\t\t}\r\n\r\n\t\tlayer.removeEventParent(this);\r\n\r\n\t\tLayerGroup.prototype.removeLayer.call(this, layer);\r\n\r\n\t\t// @event layerremove: LayerEvent\r\n\t\t// Fired when a layer is removed from this `FeatureGroup`\r\n\t\treturn this.fire('layerremove', {layer: layer});\r\n\t},\r\n\r\n\t// @method setStyle(style: Path options): this\r\n\t// Sets the given path options to each layer of the group that has a `setStyle` method.\r\n\tsetStyle: function (style) {\r\n\t\treturn this.invoke('setStyle', style);\r\n\t},\r\n\r\n\t// @method bringToFront(): this\r\n\t// Brings the layer group to the top of all other layers\r\n\tbringToFront: function () {\r\n\t\treturn this.invoke('bringToFront');\r\n\t},\r\n\r\n\t// @method bringToBack(): this\r\n\t// Brings the layer group to the back of all other layers\r\n\tbringToBack: function () {\r\n\t\treturn this.invoke('bringToBack');\r\n\t},\r\n\r\n\t// @method getBounds(): LatLngBounds\r\n\t// Returns the LatLngBounds of the Feature Group (created from bounds and coordinates of its children).\r\n\tgetBounds: function () {\r\n\t\tvar bounds = new LatLngBounds();\r\n\r\n\t\tfor (var id in this._layers) {\r\n\t\t\tvar layer = this._layers[id];\r\n\t\t\tbounds.extend(layer.getBounds ? layer.getBounds() : layer.getLatLng());\r\n\t\t}\r\n\t\treturn bounds;\r\n\t}\r\n});\r\n\r\n// @factory L.featureGroup(layers?: Layer[], options?: Object)\r\n// Create a feature group, optionally given an initial set of layers and an `options` object.\r\nvar featureGroup = function (layers, options) {\r\n\treturn new FeatureGroup(layers, options);\r\n};\n\n/*\r\n * @class Icon\r\n * @aka L.Icon\r\n *\r\n * Represents an icon to provide when creating a marker.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var myIcon = L.icon({\r\n * iconUrl: 'my-icon.png',\r\n * iconRetinaUrl: 'my-icon@2x.png',\r\n * iconSize: [38, 95],\r\n * iconAnchor: [22, 94],\r\n * popupAnchor: [-3, -76],\r\n * shadowUrl: 'my-icon-shadow.png',\r\n * shadowRetinaUrl: 'my-icon-shadow@2x.png',\r\n * shadowSize: [68, 95],\r\n * shadowAnchor: [22, 94]\r\n * });\r\n *\r\n * L.marker([50.505, 30.57], {icon: myIcon}).addTo(map);\r\n * ```\r\n *\r\n * `L.Icon.Default` extends `L.Icon` and is the blue icon Leaflet uses for markers by default.\r\n *\r\n */\r\n\r\nvar Icon = Class.extend({\r\n\r\n\t/* @section\r\n\t * @aka Icon options\r\n\t *\r\n\t * @option iconUrl: String = null\r\n\t * **(required)** The URL to the icon image (absolute or relative to your script path).\r\n\t *\r\n\t * @option iconRetinaUrl: String = null\r\n\t * The URL to a retina sized version of the icon image (absolute or relative to your\r\n\t * script path). Used for Retina screen devices.\r\n\t *\r\n\t * @option iconSize: Point = null\r\n\t * Size of the icon image in pixels.\r\n\t *\r\n\t * @option iconAnchor: Point = null\r\n\t * The coordinates of the \"tip\" of the icon (relative to its top left corner). The icon\r\n\t * will be aligned so that this point is at the marker's geographical location. Centered\r\n\t * by default if size is specified, also can be set in CSS with negative margins.\r\n\t *\r\n\t * @option popupAnchor: Point = [0, 0]\r\n\t * The coordinates of the point from which popups will \"open\", relative to the icon anchor.\r\n\t *\r\n\t * @option tooltipAnchor: Point = [0, 0]\r\n\t * The coordinates of the point from which tooltips will \"open\", relative to the icon anchor.\r\n\t *\r\n\t * @option shadowUrl: String = null\r\n\t * The URL to the icon shadow image. If not specified, no shadow image will be created.\r\n\t *\r\n\t * @option shadowRetinaUrl: String = null\r\n\t *\r\n\t * @option shadowSize: Point = null\r\n\t * Size of the shadow image in pixels.\r\n\t *\r\n\t * @option shadowAnchor: Point = null\r\n\t * The coordinates of the \"tip\" of the shadow (relative to its top left corner) (the same\r\n\t * as iconAnchor if not specified).\r\n\t *\r\n\t * @option className: String = ''\r\n\t * A custom class name to assign to both icon and shadow images. Empty by default.\r\n\t */\r\n\r\n\toptions: {\r\n\t\tpopupAnchor: [0, 0],\r\n\t\ttooltipAnchor: [0, 0]\r\n\t},\r\n\r\n\tinitialize: function (options) {\r\n\t\tsetOptions(this, options);\r\n\t},\r\n\r\n\t// @method createIcon(oldIcon?: HTMLElement): HTMLElement\r\n\t// Called internally when the icon has to be shown, returns a `` HTML element\r\n\t// styled according to the options.\r\n\tcreateIcon: function (oldIcon) {\r\n\t\treturn this._createIcon('icon', oldIcon);\r\n\t},\r\n\r\n\t// @method createShadow(oldIcon?: HTMLElement): HTMLElement\r\n\t// As `createIcon`, but for the shadow beneath it.\r\n\tcreateShadow: function (oldIcon) {\r\n\t\treturn this._createIcon('shadow', oldIcon);\r\n\t},\r\n\r\n\t_createIcon: function (name, oldIcon) {\r\n\t\tvar src = this._getIconUrl(name);\r\n\r\n\t\tif (!src) {\r\n\t\t\tif (name === 'icon') {\r\n\t\t\t\tthrow new Error('iconUrl not set in Icon options (see the docs).');\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tvar img = this._createImg(src, oldIcon && oldIcon.tagName === 'IMG' ? oldIcon : null);\r\n\t\tthis._setIconStyles(img, name);\r\n\r\n\t\treturn img;\r\n\t},\r\n\r\n\t_setIconStyles: function (img, name) {\r\n\t\tvar options = this.options;\r\n\t\tvar sizeOption = options[name + 'Size'];\r\n\r\n\t\tif (typeof sizeOption === 'number') {\r\n\t\t\tsizeOption = [sizeOption, sizeOption];\r\n\t\t}\r\n\r\n\t\tvar size = toPoint(sizeOption),\r\n\t\t anchor = toPoint(name === 'shadow' && options.shadowAnchor || options.iconAnchor ||\r\n\t\t size && size.divideBy(2, true));\r\n\r\n\t\timg.className = 'leaflet-marker-' + name + ' ' + (options.className || '');\r\n\r\n\t\tif (anchor) {\r\n\t\t\timg.style.marginLeft = (-anchor.x) + 'px';\r\n\t\t\timg.style.marginTop = (-anchor.y) + 'px';\r\n\t\t}\r\n\r\n\t\tif (size) {\r\n\t\t\timg.style.width = size.x + 'px';\r\n\t\t\timg.style.height = size.y + 'px';\r\n\t\t}\r\n\t},\r\n\r\n\t_createImg: function (src, el) {\r\n\t\tel = el || document.createElement('img');\r\n\t\tel.src = src;\r\n\t\treturn el;\r\n\t},\r\n\r\n\t_getIconUrl: function (name) {\r\n\t\treturn retina && this.options[name + 'RetinaUrl'] || this.options[name + 'Url'];\r\n\t}\r\n});\r\n\r\n\r\n// @factory L.icon(options: Icon options)\r\n// Creates an icon instance with the given options.\r\nfunction icon(options) {\r\n\treturn new Icon(options);\r\n}\n\n/*\n * @miniclass Icon.Default (Icon)\n * @aka L.Icon.Default\n * @section\n *\n * A trivial subclass of `Icon`, represents the icon to use in `Marker`s when\n * no icon is specified. Points to the blue marker image distributed with Leaflet\n * releases.\n *\n * In order to customize the default icon, just change the properties of `L.Icon.Default.prototype.options`\n * (which is a set of `Icon options`).\n *\n * If you want to _completely_ replace the default icon, override the\n * `L.Marker.prototype.options.icon` with your own icon instead.\n */\n\nvar IconDefault = Icon.extend({\n\n\toptions: {\n\t\ticonUrl: 'marker-icon.png',\n\t\ticonRetinaUrl: 'marker-icon-2x.png',\n\t\tshadowUrl: 'marker-shadow.png',\n\t\ticonSize: [25, 41],\n\t\ticonAnchor: [12, 41],\n\t\tpopupAnchor: [1, -34],\n\t\ttooltipAnchor: [16, -28],\n\t\tshadowSize: [41, 41]\n\t},\n\n\t_getIconUrl: function (name) {\n\t\tif (!IconDefault.imagePath) {\t// Deprecated, backwards-compatibility only\n\t\t\tIconDefault.imagePath = this._detectIconPath();\n\t\t}\n\n\t\t// @option imagePath: String\n\t\t// `Icon.Default` will try to auto-detect the location of the\n\t\t// blue icon images. If you are placing these images in a non-standard\n\t\t// way, set this option to point to the right path.\n\t\treturn (this.options.imagePath || IconDefault.imagePath) + Icon.prototype._getIconUrl.call(this, name);\n\t},\n\n\t_detectIconPath: function () {\n\t\tvar el = create$1('div', 'leaflet-default-icon-path', document.body);\n\t\tvar path = getStyle(el, 'background-image') ||\n\t\t getStyle(el, 'backgroundImage');\t// IE8\n\n\t\tdocument.body.removeChild(el);\n\n\t\tif (path === null || path.indexOf('url') !== 0) {\n\t\t\tpath = '';\n\t\t} else {\n\t\t\tpath = path.replace(/^url\\([\"']?/, '').replace(/marker-icon\\.png[\"']?\\)$/, '');\n\t\t}\n\n\t\treturn path;\n\t}\n});\n\n/*\n * L.Handler.MarkerDrag is used internally by L.Marker to make the markers draggable.\n */\n\n\n/* @namespace Marker\n * @section Interaction handlers\n *\n * Interaction handlers are properties of a marker instance that allow you to control interaction behavior in runtime, enabling or disabling certain features such as dragging (see `Handler` methods). Example:\n *\n * ```js\n * marker.dragging.disable();\n * ```\n *\n * @property dragging: Handler\n * Marker dragging handler (by both mouse and touch). Only valid when the marker is on the map (Otherwise set [`marker.options.draggable`](#marker-draggable)).\n */\n\nvar MarkerDrag = Handler.extend({\n\tinitialize: function (marker) {\n\t\tthis._marker = marker;\n\t},\n\n\taddHooks: function () {\n\t\tvar icon = this._marker._icon;\n\n\t\tif (!this._draggable) {\n\t\t\tthis._draggable = new Draggable(icon, icon, true);\n\t\t}\n\n\t\tthis._draggable.on({\n\t\t\tdragstart: this._onDragStart,\n\t\t\tpredrag: this._onPreDrag,\n\t\t\tdrag: this._onDrag,\n\t\t\tdragend: this._onDragEnd\n\t\t}, this).enable();\n\n\t\taddClass(icon, 'leaflet-marker-draggable');\n\t},\n\n\tremoveHooks: function () {\n\t\tthis._draggable.off({\n\t\t\tdragstart: this._onDragStart,\n\t\t\tpredrag: this._onPreDrag,\n\t\t\tdrag: this._onDrag,\n\t\t\tdragend: this._onDragEnd\n\t\t}, this).disable();\n\n\t\tif (this._marker._icon) {\n\t\t\tremoveClass(this._marker._icon, 'leaflet-marker-draggable');\n\t\t}\n\t},\n\n\tmoved: function () {\n\t\treturn this._draggable && this._draggable._moved;\n\t},\n\n\t_adjustPan: function (e) {\n\t\tvar marker = this._marker,\n\t\t map = marker._map,\n\t\t speed = this._marker.options.autoPanSpeed,\n\t\t padding = this._marker.options.autoPanPadding,\n\t\t iconPos = getPosition(marker._icon),\n\t\t bounds = map.getPixelBounds(),\n\t\t origin = map.getPixelOrigin();\n\n\t\tvar panBounds = toBounds(\n\t\t\tbounds.min._subtract(origin).add(padding),\n\t\t\tbounds.max._subtract(origin).subtract(padding)\n\t\t);\n\n\t\tif (!panBounds.contains(iconPos)) {\n\t\t\t// Compute incremental movement\n\t\t\tvar movement = toPoint(\n\t\t\t\t(Math.max(panBounds.max.x, iconPos.x) - panBounds.max.x) / (bounds.max.x - panBounds.max.x) -\n\t\t\t\t(Math.min(panBounds.min.x, iconPos.x) - panBounds.min.x) / (bounds.min.x - panBounds.min.x),\n\n\t\t\t\t(Math.max(panBounds.max.y, iconPos.y) - panBounds.max.y) / (bounds.max.y - panBounds.max.y) -\n\t\t\t\t(Math.min(panBounds.min.y, iconPos.y) - panBounds.min.y) / (bounds.min.y - panBounds.min.y)\n\t\t\t).multiplyBy(speed);\n\n\t\t\tmap.panBy(movement, {animate: false});\n\n\t\t\tthis._draggable._newPos._add(movement);\n\t\t\tthis._draggable._startPos._add(movement);\n\n\t\t\tsetPosition(marker._icon, this._draggable._newPos);\n\t\t\tthis._onDrag(e);\n\n\t\t\tthis._panRequest = requestAnimFrame(this._adjustPan.bind(this, e));\n\t\t}\n\t},\n\n\t_onDragStart: function () {\n\t\t// @section Dragging events\n\t\t// @event dragstart: Event\n\t\t// Fired when the user starts dragging the marker.\n\n\t\t// @event movestart: Event\n\t\t// Fired when the marker starts moving (because of dragging).\n\n\t\tthis._oldLatLng = this._marker.getLatLng();\n\n\t\t// When using ES6 imports it could not be set when `Popup` was not imported as well\n\t\tthis._marker.closePopup && this._marker.closePopup();\n\n\t\tthis._marker\n\t\t\t.fire('movestart')\n\t\t\t.fire('dragstart');\n\t},\n\n\t_onPreDrag: function (e) {\n\t\tif (this._marker.options.autoPan) {\n\t\t\tcancelAnimFrame(this._panRequest);\n\t\t\tthis._panRequest = requestAnimFrame(this._adjustPan.bind(this, e));\n\t\t}\n\t},\n\n\t_onDrag: function (e) {\n\t\tvar marker = this._marker,\n\t\t shadow = marker._shadow,\n\t\t iconPos = getPosition(marker._icon),\n\t\t latlng = marker._map.layerPointToLatLng(iconPos);\n\n\t\t// update shadow position\n\t\tif (shadow) {\n\t\t\tsetPosition(shadow, iconPos);\n\t\t}\n\n\t\tmarker._latlng = latlng;\n\t\te.latlng = latlng;\n\t\te.oldLatLng = this._oldLatLng;\n\n\t\t// @event drag: Event\n\t\t// Fired repeatedly while the user drags the marker.\n\t\tmarker\n\t\t .fire('move', e)\n\t\t .fire('drag', e);\n\t},\n\n\t_onDragEnd: function (e) {\n\t\t// @event dragend: DragEndEvent\n\t\t// Fired when the user stops dragging the marker.\n\n\t\t cancelAnimFrame(this._panRequest);\n\n\t\t// @event moveend: Event\n\t\t// Fired when the marker stops moving (because of dragging).\n\t\tdelete this._oldLatLng;\n\t\tthis._marker\n\t\t .fire('moveend')\n\t\t .fire('dragend', e);\n\t}\n});\n\n/*\r\n * @class Marker\r\n * @inherits Interactive layer\r\n * @aka L.Marker\r\n * L.Marker is used to display clickable/draggable icons on the map. Extends `Layer`.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * L.marker([50.5, 30.5]).addTo(map);\r\n * ```\r\n */\r\n\r\nvar Marker = Layer.extend({\r\n\r\n\t// @section\r\n\t// @aka Marker options\r\n\toptions: {\r\n\t\t// @option icon: Icon = *\r\n\t\t// Icon instance to use for rendering the marker.\r\n\t\t// See [Icon documentation](#L.Icon) for details on how to customize the marker icon.\r\n\t\t// If not specified, a common instance of `L.Icon.Default` is used.\r\n\t\ticon: new IconDefault(),\r\n\r\n\t\t// Option inherited from \"Interactive layer\" abstract class\r\n\t\tinteractive: true,\r\n\r\n\t\t// @option keyboard: Boolean = true\r\n\t\t// Whether the marker can be tabbed to with a keyboard and clicked by pressing enter.\r\n\t\tkeyboard: true,\r\n\r\n\t\t// @option title: String = ''\r\n\t\t// Text for the browser tooltip that appear on marker hover (no tooltip by default).\r\n\t\ttitle: '',\r\n\r\n\t\t// @option alt: String = ''\r\n\t\t// Text for the `alt` attribute of the icon image (useful for accessibility).\r\n\t\talt: '',\r\n\r\n\t\t// @option zIndexOffset: Number = 0\r\n\t\t// By default, marker images zIndex is set automatically based on its latitude. Use this option if you want to put the marker on top of all others (or below), specifying a high value like `1000` (or high negative value, respectively).\r\n\t\tzIndexOffset: 0,\r\n\r\n\t\t// @option opacity: Number = 1.0\r\n\t\t// The opacity of the marker.\r\n\t\topacity: 1,\r\n\r\n\t\t// @option riseOnHover: Boolean = false\r\n\t\t// If `true`, the marker will get on top of others when you hover the mouse over it.\r\n\t\triseOnHover: false,\r\n\r\n\t\t// @option riseOffset: Number = 250\r\n\t\t// The z-index offset used for the `riseOnHover` feature.\r\n\t\triseOffset: 250,\r\n\r\n\t\t// @option pane: String = 'markerPane'\r\n\t\t// `Map pane` where the markers icon will be added.\r\n\t\tpane: 'markerPane',\r\n\r\n\t\t// @option shadowPane: String = 'shadowPane'\r\n\t\t// `Map pane` where the markers shadow will be added.\r\n\t\tshadowPane: 'shadowPane',\r\n\r\n\t\t// @option bubblingMouseEvents: Boolean = false\r\n\t\t// When `true`, a mouse event on this marker will trigger the same event on the map\r\n\t\t// (unless [`L.DomEvent.stopPropagation`](#domevent-stoppropagation) is used).\r\n\t\tbubblingMouseEvents: false,\r\n\r\n\t\t// @section Draggable marker options\r\n\t\t// @option draggable: Boolean = false\r\n\t\t// Whether the marker is draggable with mouse/touch or not.\r\n\t\tdraggable: false,\r\n\r\n\t\t// @option autoPan: Boolean = false\r\n\t\t// Whether to pan the map when dragging this marker near its edge or not.\r\n\t\tautoPan: false,\r\n\r\n\t\t// @option autoPanPadding: Point = Point(50, 50)\r\n\t\t// Distance (in pixels to the left/right and to the top/bottom) of the\r\n\t\t// map edge to start panning the map.\r\n\t\tautoPanPadding: [50, 50],\r\n\r\n\t\t// @option autoPanSpeed: Number = 10\r\n\t\t// Number of pixels the map should pan by.\r\n\t\tautoPanSpeed: 10\r\n\t},\r\n\r\n\t/* @section\r\n\t *\r\n\t * In addition to [shared layer methods](#Layer) like `addTo()` and `remove()` and [popup methods](#Popup) like bindPopup() you can also use the following methods:\r\n\t */\r\n\r\n\tinitialize: function (latlng, options) {\r\n\t\tsetOptions(this, options);\r\n\t\tthis._latlng = toLatLng(latlng);\r\n\t},\r\n\r\n\tonAdd: function (map) {\r\n\t\tthis._zoomAnimated = this._zoomAnimated && map.options.markerZoomAnimation;\r\n\r\n\t\tif (this._zoomAnimated) {\r\n\t\t\tmap.on('zoomanim', this._animateZoom, this);\r\n\t\t}\r\n\r\n\t\tthis._initIcon();\r\n\t\tthis.update();\r\n\t},\r\n\r\n\tonRemove: function (map) {\r\n\t\tif (this.dragging && this.dragging.enabled()) {\r\n\t\t\tthis.options.draggable = true;\r\n\t\t\tthis.dragging.removeHooks();\r\n\t\t}\r\n\t\tdelete this.dragging;\r\n\r\n\t\tif (this._zoomAnimated) {\r\n\t\t\tmap.off('zoomanim', this._animateZoom, this);\r\n\t\t}\r\n\r\n\t\tthis._removeIcon();\r\n\t\tthis._removeShadow();\r\n\t},\r\n\r\n\tgetEvents: function () {\r\n\t\treturn {\r\n\t\t\tzoom: this.update,\r\n\t\t\tviewreset: this.update\r\n\t\t};\r\n\t},\r\n\r\n\t// @method getLatLng: LatLng\r\n\t// Returns the current geographical position of the marker.\r\n\tgetLatLng: function () {\r\n\t\treturn this._latlng;\r\n\t},\r\n\r\n\t// @method setLatLng(latlng: LatLng): this\r\n\t// Changes the marker position to the given point.\r\n\tsetLatLng: function (latlng) {\r\n\t\tvar oldLatLng = this._latlng;\r\n\t\tthis._latlng = toLatLng(latlng);\r\n\t\tthis.update();\r\n\r\n\t\t// @event move: Event\r\n\t\t// Fired when the marker is moved via [`setLatLng`](#marker-setlatlng) or by [dragging](#marker-dragging). Old and new coordinates are included in event arguments as `oldLatLng`, `latlng`.\r\n\t\treturn this.fire('move', {oldLatLng: oldLatLng, latlng: this._latlng});\r\n\t},\r\n\r\n\t// @method setZIndexOffset(offset: Number): this\r\n\t// Changes the [zIndex offset](#marker-zindexoffset) of the marker.\r\n\tsetZIndexOffset: function (offset) {\r\n\t\tthis.options.zIndexOffset = offset;\r\n\t\treturn this.update();\r\n\t},\r\n\r\n\t// @method getIcon: Icon\r\n\t// Returns the current icon used by the marker\r\n\tgetIcon: function () {\r\n\t\treturn this.options.icon;\r\n\t},\r\n\r\n\t// @method setIcon(icon: Icon): this\r\n\t// Changes the marker icon.\r\n\tsetIcon: function (icon) {\r\n\r\n\t\tthis.options.icon = icon;\r\n\r\n\t\tif (this._map) {\r\n\t\t\tthis._initIcon();\r\n\t\t\tthis.update();\r\n\t\t}\r\n\r\n\t\tif (this._popup) {\r\n\t\t\tthis.bindPopup(this._popup, this._popup.options);\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\tgetElement: function () {\r\n\t\treturn this._icon;\r\n\t},\r\n\r\n\tupdate: function () {\r\n\r\n\t\tif (this._icon && this._map) {\r\n\t\t\tvar pos = this._map.latLngToLayerPoint(this._latlng).round();\r\n\t\t\tthis._setPos(pos);\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t_initIcon: function () {\r\n\t\tvar options = this.options,\r\n\t\t classToAdd = 'leaflet-zoom-' + (this._zoomAnimated ? 'animated' : 'hide');\r\n\r\n\t\tvar icon = options.icon.createIcon(this._icon),\r\n\t\t addIcon = false;\r\n\r\n\t\t// if we're not reusing the icon, remove the old one and init new one\r\n\t\tif (icon !== this._icon) {\r\n\t\t\tif (this._icon) {\r\n\t\t\t\tthis._removeIcon();\r\n\t\t\t}\r\n\t\t\taddIcon = true;\r\n\r\n\t\t\tif (options.title) {\r\n\t\t\t\ticon.title = options.title;\r\n\t\t\t}\r\n\r\n\t\t\tif (icon.tagName === 'IMG') {\r\n\t\t\t\ticon.alt = options.alt || '';\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\taddClass(icon, classToAdd);\r\n\r\n\t\tif (options.keyboard) {\r\n\t\t\ticon.tabIndex = '0';\r\n\t\t}\r\n\r\n\t\tthis._icon = icon;\r\n\r\n\t\tif (options.riseOnHover) {\r\n\t\t\tthis.on({\r\n\t\t\t\tmouseover: this._bringToFront,\r\n\t\t\t\tmouseout: this._resetZIndex\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvar newShadow = options.icon.createShadow(this._shadow),\r\n\t\t addShadow = false;\r\n\r\n\t\tif (newShadow !== this._shadow) {\r\n\t\t\tthis._removeShadow();\r\n\t\t\taddShadow = true;\r\n\t\t}\r\n\r\n\t\tif (newShadow) {\r\n\t\t\taddClass(newShadow, classToAdd);\r\n\t\t\tnewShadow.alt = '';\r\n\t\t}\r\n\t\tthis._shadow = newShadow;\r\n\r\n\r\n\t\tif (options.opacity < 1) {\r\n\t\t\tthis._updateOpacity();\r\n\t\t}\r\n\r\n\r\n\t\tif (addIcon) {\r\n\t\t\tthis.getPane().appendChild(this._icon);\r\n\t\t}\r\n\t\tthis._initInteraction();\r\n\t\tif (newShadow && addShadow) {\r\n\t\t\tthis.getPane(options.shadowPane).appendChild(this._shadow);\r\n\t\t}\r\n\t},\r\n\r\n\t_removeIcon: function () {\r\n\t\tif (this.options.riseOnHover) {\r\n\t\t\tthis.off({\r\n\t\t\t\tmouseover: this._bringToFront,\r\n\t\t\t\tmouseout: this._resetZIndex\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tremove(this._icon);\r\n\t\tthis.removeInteractiveTarget(this._icon);\r\n\r\n\t\tthis._icon = null;\r\n\t},\r\n\r\n\t_removeShadow: function () {\r\n\t\tif (this._shadow) {\r\n\t\t\tremove(this._shadow);\r\n\t\t}\r\n\t\tthis._shadow = null;\r\n\t},\r\n\r\n\t_setPos: function (pos) {\r\n\r\n\t\tif (this._icon) {\r\n\t\t\tsetPosition(this._icon, pos);\r\n\t\t}\r\n\r\n\t\tif (this._shadow) {\r\n\t\t\tsetPosition(this._shadow, pos);\r\n\t\t}\r\n\r\n\t\tthis._zIndex = pos.y + this.options.zIndexOffset;\r\n\r\n\t\tthis._resetZIndex();\r\n\t},\r\n\r\n\t_updateZIndex: function (offset) {\r\n\t\tif (this._icon) {\r\n\t\t\tthis._icon.style.zIndex = this._zIndex + offset;\r\n\t\t}\r\n\t},\r\n\r\n\t_animateZoom: function (opt) {\r\n\t\tvar pos = this._map._latLngToNewLayerPoint(this._latlng, opt.zoom, opt.center).round();\r\n\r\n\t\tthis._setPos(pos);\r\n\t},\r\n\r\n\t_initInteraction: function () {\r\n\r\n\t\tif (!this.options.interactive) { return; }\r\n\r\n\t\taddClass(this._icon, 'leaflet-interactive');\r\n\r\n\t\tthis.addInteractiveTarget(this._icon);\r\n\r\n\t\tif (MarkerDrag) {\r\n\t\t\tvar draggable = this.options.draggable;\r\n\t\t\tif (this.dragging) {\r\n\t\t\t\tdraggable = this.dragging.enabled();\r\n\t\t\t\tthis.dragging.disable();\r\n\t\t\t}\r\n\r\n\t\t\tthis.dragging = new MarkerDrag(this);\r\n\r\n\t\t\tif (draggable) {\r\n\t\t\t\tthis.dragging.enable();\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t// @method setOpacity(opacity: Number): this\r\n\t// Changes the opacity of the marker.\r\n\tsetOpacity: function (opacity) {\r\n\t\tthis.options.opacity = opacity;\r\n\t\tif (this._map) {\r\n\t\t\tthis._updateOpacity();\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t_updateOpacity: function () {\r\n\t\tvar opacity = this.options.opacity;\r\n\r\n\t\tif (this._icon) {\r\n\t\t\tsetOpacity(this._icon, opacity);\r\n\t\t}\r\n\r\n\t\tif (this._shadow) {\r\n\t\t\tsetOpacity(this._shadow, opacity);\r\n\t\t}\r\n\t},\r\n\r\n\t_bringToFront: function () {\r\n\t\tthis._updateZIndex(this.options.riseOffset);\r\n\t},\r\n\r\n\t_resetZIndex: function () {\r\n\t\tthis._updateZIndex(0);\r\n\t},\r\n\r\n\t_getPopupAnchor: function () {\r\n\t\treturn this.options.icon.options.popupAnchor;\r\n\t},\r\n\r\n\t_getTooltipAnchor: function () {\r\n\t\treturn this.options.icon.options.tooltipAnchor;\r\n\t}\r\n});\r\n\r\n\r\n// factory L.marker(latlng: LatLng, options? : Marker options)\r\n\r\n// @factory L.marker(latlng: LatLng, options? : Marker options)\r\n// Instantiates a Marker object given a geographical point and optionally an options object.\r\nfunction marker(latlng, options) {\r\n\treturn new Marker(latlng, options);\r\n}\n\n/*\n * @class Path\n * @aka L.Path\n * @inherits Interactive layer\n *\n * An abstract class that contains options and constants shared between vector\n * overlays (Polygon, Polyline, Circle). Do not use it directly. Extends `Layer`.\n */\n\nvar Path = Layer.extend({\n\n\t// @section\n\t// @aka Path options\n\toptions: {\n\t\t// @option stroke: Boolean = true\n\t\t// Whether to draw stroke along the path. Set it to `false` to disable borders on polygons or circles.\n\t\tstroke: true,\n\n\t\t// @option color: String = '#3388ff'\n\t\t// Stroke color\n\t\tcolor: '#3388ff',\n\n\t\t// @option weight: Number = 3\n\t\t// Stroke width in pixels\n\t\tweight: 3,\n\n\t\t// @option opacity: Number = 1.0\n\t\t// Stroke opacity\n\t\topacity: 1,\n\n\t\t// @option lineCap: String= 'round'\n\t\t// A string that defines [shape to be used at the end](https://developer.mozilla.org/docs/Web/SVG/Attribute/stroke-linecap) of the stroke.\n\t\tlineCap: 'round',\n\n\t\t// @option lineJoin: String = 'round'\n\t\t// A string that defines [shape to be used at the corners](https://developer.mozilla.org/docs/Web/SVG/Attribute/stroke-linejoin) of the stroke.\n\t\tlineJoin: 'round',\n\n\t\t// @option dashArray: String = null\n\t\t// A string that defines the stroke [dash pattern](https://developer.mozilla.org/docs/Web/SVG/Attribute/stroke-dasharray). Doesn't work on `Canvas`-powered layers in [some old browsers](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/setLineDash#Browser_compatibility).\n\t\tdashArray: null,\n\n\t\t// @option dashOffset: String = null\n\t\t// A string that defines the [distance into the dash pattern to start the dash](https://developer.mozilla.org/docs/Web/SVG/Attribute/stroke-dashoffset). Doesn't work on `Canvas`-powered layers in [some old browsers](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/setLineDash#Browser_compatibility).\n\t\tdashOffset: null,\n\n\t\t// @option fill: Boolean = depends\n\t\t// Whether to fill the path with color. Set it to `false` to disable filling on polygons or circles.\n\t\tfill: false,\n\n\t\t// @option fillColor: String = *\n\t\t// Fill color. Defaults to the value of the [`color`](#path-color) option\n\t\tfillColor: null,\n\n\t\t// @option fillOpacity: Number = 0.2\n\t\t// Fill opacity.\n\t\tfillOpacity: 0.2,\n\n\t\t// @option fillRule: String = 'evenodd'\n\t\t// A string that defines [how the inside of a shape](https://developer.mozilla.org/docs/Web/SVG/Attribute/fill-rule) is determined.\n\t\tfillRule: 'evenodd',\n\n\t\t// className: '',\n\n\t\t// Option inherited from \"Interactive layer\" abstract class\n\t\tinteractive: true,\n\n\t\t// @option bubblingMouseEvents: Boolean = true\n\t\t// When `true`, a mouse event on this path will trigger the same event on the map\n\t\t// (unless [`L.DomEvent.stopPropagation`](#domevent-stoppropagation) is used).\n\t\tbubblingMouseEvents: true\n\t},\n\n\tbeforeAdd: function (map) {\n\t\t// Renderer is set here because we need to call renderer.getEvents\n\t\t// before this.getEvents.\n\t\tthis._renderer = map.getRenderer(this);\n\t},\n\n\tonAdd: function () {\n\t\tthis._renderer._initPath(this);\n\t\tthis._reset();\n\t\tthis._renderer._addPath(this);\n\t},\n\n\tonRemove: function () {\n\t\tthis._renderer._removePath(this);\n\t},\n\n\t// @method redraw(): this\n\t// Redraws the layer. Sometimes useful after you changed the coordinates that the path uses.\n\tredraw: function () {\n\t\tif (this._map) {\n\t\t\tthis._renderer._updatePath(this);\n\t\t}\n\t\treturn this;\n\t},\n\n\t// @method setStyle(style: Path options): this\n\t// Changes the appearance of a Path based on the options in the `Path options` object.\n\tsetStyle: function (style) {\n\t\tsetOptions(this, style);\n\t\tif (this._renderer) {\n\t\t\tthis._renderer._updateStyle(this);\n\t\t\tif (this.options.stroke && style && Object.prototype.hasOwnProperty.call(style, 'weight')) {\n\t\t\t\tthis._updateBounds();\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t},\n\n\t// @method bringToFront(): this\n\t// Brings the layer to the top of all path layers.\n\tbringToFront: function () {\n\t\tif (this._renderer) {\n\t\t\tthis._renderer._bringToFront(this);\n\t\t}\n\t\treturn this;\n\t},\n\n\t// @method bringToBack(): this\n\t// Brings the layer to the bottom of all path layers.\n\tbringToBack: function () {\n\t\tif (this._renderer) {\n\t\t\tthis._renderer._bringToBack(this);\n\t\t}\n\t\treturn this;\n\t},\n\n\tgetElement: function () {\n\t\treturn this._path;\n\t},\n\n\t_reset: function () {\n\t\t// defined in child classes\n\t\tthis._project();\n\t\tthis._update();\n\t},\n\n\t_clickTolerance: function () {\n\t\t// used when doing hit detection for Canvas layers\n\t\treturn (this.options.stroke ? this.options.weight / 2 : 0) + this._renderer.options.tolerance;\n\t}\n});\n\n/*\n * @class CircleMarker\n * @aka L.CircleMarker\n * @inherits Path\n *\n * A circle of a fixed size with radius specified in pixels. Extends `Path`.\n */\n\nvar CircleMarker = Path.extend({\n\n\t// @section\n\t// @aka CircleMarker options\n\toptions: {\n\t\tfill: true,\n\n\t\t// @option radius: Number = 10\n\t\t// Radius of the circle marker, in pixels\n\t\tradius: 10\n\t},\n\n\tinitialize: function (latlng, options) {\n\t\tsetOptions(this, options);\n\t\tthis._latlng = toLatLng(latlng);\n\t\tthis._radius = this.options.radius;\n\t},\n\n\t// @method setLatLng(latLng: LatLng): this\n\t// Sets the position of a circle marker to a new location.\n\tsetLatLng: function (latlng) {\n\t\tvar oldLatLng = this._latlng;\n\t\tthis._latlng = toLatLng(latlng);\n\t\tthis.redraw();\n\n\t\t// @event move: Event\n\t\t// Fired when the marker is moved via [`setLatLng`](#circlemarker-setlatlng). Old and new coordinates are included in event arguments as `oldLatLng`, `latlng`.\n\t\treturn this.fire('move', {oldLatLng: oldLatLng, latlng: this._latlng});\n\t},\n\n\t// @method getLatLng(): LatLng\n\t// Returns the current geographical position of the circle marker\n\tgetLatLng: function () {\n\t\treturn this._latlng;\n\t},\n\n\t// @method setRadius(radius: Number): this\n\t// Sets the radius of a circle marker. Units are in pixels.\n\tsetRadius: function (radius) {\n\t\tthis.options.radius = this._radius = radius;\n\t\treturn this.redraw();\n\t},\n\n\t// @method getRadius(): Number\n\t// Returns the current radius of the circle\n\tgetRadius: function () {\n\t\treturn this._radius;\n\t},\n\n\tsetStyle : function (options) {\n\t\tvar radius = options && options.radius || this._radius;\n\t\tPath.prototype.setStyle.call(this, options);\n\t\tthis.setRadius(radius);\n\t\treturn this;\n\t},\n\n\t_project: function () {\n\t\tthis._point = this._map.latLngToLayerPoint(this._latlng);\n\t\tthis._updateBounds();\n\t},\n\n\t_updateBounds: function () {\n\t\tvar r = this._radius,\n\t\t r2 = this._radiusY || r,\n\t\t w = this._clickTolerance(),\n\t\t p = [r + w, r2 + w];\n\t\tthis._pxBounds = new Bounds(this._point.subtract(p), this._point.add(p));\n\t},\n\n\t_update: function () {\n\t\tif (this._map) {\n\t\t\tthis._updatePath();\n\t\t}\n\t},\n\n\t_updatePath: function () {\n\t\tthis._renderer._updateCircle(this);\n\t},\n\n\t_empty: function () {\n\t\treturn this._radius && !this._renderer._bounds.intersects(this._pxBounds);\n\t},\n\n\t// Needed by the `Canvas` renderer for interactivity\n\t_containsPoint: function (p) {\n\t\treturn p.distanceTo(this._point) <= this._radius + this._clickTolerance();\n\t}\n});\n\n\n// @factory L.circleMarker(latlng: LatLng, options?: CircleMarker options)\n// Instantiates a circle marker object given a geographical point, and an optional options object.\nfunction circleMarker(latlng, options) {\n\treturn new CircleMarker(latlng, options);\n}\n\n/*\n * @class Circle\n * @aka L.Circle\n * @inherits CircleMarker\n *\n * A class for drawing circle overlays on a map. Extends `CircleMarker`.\n *\n * It's an approximation and starts to diverge from a real circle closer to poles (due to projection distortion).\n *\n * @example\n *\n * ```js\n * L.circle([50.5, 30.5], {radius: 200}).addTo(map);\n * ```\n */\n\nvar Circle = CircleMarker.extend({\n\n\tinitialize: function (latlng, options, legacyOptions) {\n\t\tif (typeof options === 'number') {\n\t\t\t// Backwards compatibility with 0.7.x factory (latlng, radius, options?)\n\t\t\toptions = extend({}, legacyOptions, {radius: options});\n\t\t}\n\t\tsetOptions(this, options);\n\t\tthis._latlng = toLatLng(latlng);\n\n\t\tif (isNaN(this.options.radius)) { throw new Error('Circle radius cannot be NaN'); }\n\n\t\t// @section\n\t\t// @aka Circle options\n\t\t// @option radius: Number; Radius of the circle, in meters.\n\t\tthis._mRadius = this.options.radius;\n\t},\n\n\t// @method setRadius(radius: Number): this\n\t// Sets the radius of a circle. Units are in meters.\n\tsetRadius: function (radius) {\n\t\tthis._mRadius = radius;\n\t\treturn this.redraw();\n\t},\n\n\t// @method getRadius(): Number\n\t// Returns the current radius of a circle. Units are in meters.\n\tgetRadius: function () {\n\t\treturn this._mRadius;\n\t},\n\n\t// @method getBounds(): LatLngBounds\n\t// Returns the `LatLngBounds` of the path.\n\tgetBounds: function () {\n\t\tvar half = [this._radius, this._radiusY || this._radius];\n\n\t\treturn new LatLngBounds(\n\t\t\tthis._map.layerPointToLatLng(this._point.subtract(half)),\n\t\t\tthis._map.layerPointToLatLng(this._point.add(half)));\n\t},\n\n\tsetStyle: Path.prototype.setStyle,\n\n\t_project: function () {\n\n\t\tvar lng = this._latlng.lng,\n\t\t lat = this._latlng.lat,\n\t\t map = this._map,\n\t\t crs = map.options.crs;\n\n\t\tif (crs.distance === Earth.distance) {\n\t\t\tvar d = Math.PI / 180,\n\t\t\t latR = (this._mRadius / Earth.R) / d,\n\t\t\t top = map.project([lat + latR, lng]),\n\t\t\t bottom = map.project([lat - latR, lng]),\n\t\t\t p = top.add(bottom).divideBy(2),\n\t\t\t lat2 = map.unproject(p).lat,\n\t\t\t lngR = Math.acos((Math.cos(latR * d) - Math.sin(lat * d) * Math.sin(lat2 * d)) /\n\t\t\t (Math.cos(lat * d) * Math.cos(lat2 * d))) / d;\n\n\t\t\tif (isNaN(lngR) || lngR === 0) {\n\t\t\t\tlngR = latR / Math.cos(Math.PI / 180 * lat); // Fallback for edge case, #2425\n\t\t\t}\n\n\t\t\tthis._point = p.subtract(map.getPixelOrigin());\n\t\t\tthis._radius = isNaN(lngR) ? 0 : p.x - map.project([lat2, lng - lngR]).x;\n\t\t\tthis._radiusY = p.y - top.y;\n\n\t\t} else {\n\t\t\tvar latlng2 = crs.unproject(crs.project(this._latlng).subtract([this._mRadius, 0]));\n\n\t\t\tthis._point = map.latLngToLayerPoint(this._latlng);\n\t\t\tthis._radius = this._point.x - map.latLngToLayerPoint(latlng2).x;\n\t\t}\n\n\t\tthis._updateBounds();\n\t}\n});\n\n// @factory L.circle(latlng: LatLng, options?: Circle options)\n// Instantiates a circle object given a geographical point, and an options object\n// which contains the circle radius.\n// @alternative\n// @factory L.circle(latlng: LatLng, radius: Number, options?: Circle options)\n// Obsolete way of instantiating a circle, for compatibility with 0.7.x code.\n// Do not use in new applications or plugins.\nfunction circle(latlng, options, legacyOptions) {\n\treturn new Circle(latlng, options, legacyOptions);\n}\n\n/*\n * @class Polyline\n * @aka L.Polyline\n * @inherits Path\n *\n * A class for drawing polyline overlays on a map. Extends `Path`.\n *\n * @example\n *\n * ```js\n * // create a red polyline from an array of LatLng points\n * var latlngs = [\n * \t[45.51, -122.68],\n * \t[37.77, -122.43],\n * \t[34.04, -118.2]\n * ];\n *\n * var polyline = L.polyline(latlngs, {color: 'red'}).addTo(map);\n *\n * // zoom the map to the polyline\n * map.fitBounds(polyline.getBounds());\n * ```\n *\n * You can also pass a multi-dimensional array to represent a `MultiPolyline` shape:\n *\n * ```js\n * // create a red polyline from an array of arrays of LatLng points\n * var latlngs = [\n * \t[[45.51, -122.68],\n * \t [37.77, -122.43],\n * \t [34.04, -118.2]],\n * \t[[40.78, -73.91],\n * \t [41.83, -87.62],\n * \t [32.76, -96.72]]\n * ];\n * ```\n */\n\n\nvar Polyline = Path.extend({\n\n\t// @section\n\t// @aka Polyline options\n\toptions: {\n\t\t// @option smoothFactor: Number = 1.0\n\t\t// How much to simplify the polyline on each zoom level. More means\n\t\t// better performance and smoother look, and less means more accurate representation.\n\t\tsmoothFactor: 1.0,\n\n\t\t// @option noClip: Boolean = false\n\t\t// Disable polyline clipping.\n\t\tnoClip: false\n\t},\n\n\tinitialize: function (latlngs, options) {\n\t\tsetOptions(this, options);\n\t\tthis._setLatLngs(latlngs);\n\t},\n\n\t// @method getLatLngs(): LatLng[]\n\t// Returns an array of the points in the path, or nested arrays of points in case of multi-polyline.\n\tgetLatLngs: function () {\n\t\treturn this._latlngs;\n\t},\n\n\t// @method setLatLngs(latlngs: LatLng[]): this\n\t// Replaces all the points in the polyline with the given array of geographical points.\n\tsetLatLngs: function (latlngs) {\n\t\tthis._setLatLngs(latlngs);\n\t\treturn this.redraw();\n\t},\n\n\t// @method isEmpty(): Boolean\n\t// Returns `true` if the Polyline has no LatLngs.\n\tisEmpty: function () {\n\t\treturn !this._latlngs.length;\n\t},\n\n\t// @method closestLayerPoint(p: Point): Point\n\t// Returns the point closest to `p` on the Polyline.\n\tclosestLayerPoint: function (p) {\n\t\tvar minDistance = Infinity,\n\t\t minPoint = null,\n\t\t closest = _sqClosestPointOnSegment,\n\t\t p1, p2;\n\n\t\tfor (var j = 0, jLen = this._parts.length; j < jLen; j++) {\n\t\t\tvar points = this._parts[j];\n\n\t\t\tfor (var i = 1, len = points.length; i < len; i++) {\n\t\t\t\tp1 = points[i - 1];\n\t\t\t\tp2 = points[i];\n\n\t\t\t\tvar sqDist = closest(p, p1, p2, true);\n\n\t\t\t\tif (sqDist < minDistance) {\n\t\t\t\t\tminDistance = sqDist;\n\t\t\t\t\tminPoint = closest(p, p1, p2);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (minPoint) {\n\t\t\tminPoint.distance = Math.sqrt(minDistance);\n\t\t}\n\t\treturn minPoint;\n\t},\n\n\t// @method getCenter(): LatLng\n\t// Returns the center ([centroid](http://en.wikipedia.org/wiki/Centroid)) of the polyline.\n\tgetCenter: function () {\n\t\t// throws error when not yet added to map as this center calculation requires projected coordinates\n\t\tif (!this._map) {\n\t\t\tthrow new Error('Must add layer to map before using getCenter()');\n\t\t}\n\n\t\tvar i, halfDist, segDist, dist, p1, p2, ratio,\n\t\t points = this._rings[0],\n\t\t len = points.length;\n\n\t\tif (!len) { return null; }\n\n\t\t// polyline centroid algorithm; only uses the first ring if there are multiple\n\n\t\tfor (i = 0, halfDist = 0; i < len - 1; i++) {\n\t\t\thalfDist += points[i].distanceTo(points[i + 1]) / 2;\n\t\t}\n\n\t\t// The line is so small in the current view that all points are on the same pixel.\n\t\tif (halfDist === 0) {\n\t\t\treturn this._map.layerPointToLatLng(points[0]);\n\t\t}\n\n\t\tfor (i = 0, dist = 0; i < len - 1; i++) {\n\t\t\tp1 = points[i];\n\t\t\tp2 = points[i + 1];\n\t\t\tsegDist = p1.distanceTo(p2);\n\t\t\tdist += segDist;\n\n\t\t\tif (dist > halfDist) {\n\t\t\t\tratio = (dist - halfDist) / segDist;\n\t\t\t\treturn this._map.layerPointToLatLng([\n\t\t\t\t\tp2.x - ratio * (p2.x - p1.x),\n\t\t\t\t\tp2.y - ratio * (p2.y - p1.y)\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\t},\n\n\t// @method getBounds(): LatLngBounds\n\t// Returns the `LatLngBounds` of the path.\n\tgetBounds: function () {\n\t\treturn this._bounds;\n\t},\n\n\t// @method addLatLng(latlng: LatLng, latlngs?: LatLng[]): this\n\t// Adds a given point to the polyline. By default, adds to the first ring of\n\t// the polyline in case of a multi-polyline, but can be overridden by passing\n\t// a specific ring as a LatLng array (that you can earlier access with [`getLatLngs`](#polyline-getlatlngs)).\n\taddLatLng: function (latlng, latlngs) {\n\t\tlatlngs = latlngs || this._defaultShape();\n\t\tlatlng = toLatLng(latlng);\n\t\tlatlngs.push(latlng);\n\t\tthis._bounds.extend(latlng);\n\t\treturn this.redraw();\n\t},\n\n\t_setLatLngs: function (latlngs) {\n\t\tthis._bounds = new LatLngBounds();\n\t\tthis._latlngs = this._convertLatLngs(latlngs);\n\t},\n\n\t_defaultShape: function () {\n\t\treturn isFlat(this._latlngs) ? this._latlngs : this._latlngs[0];\n\t},\n\n\t// recursively convert latlngs input into actual LatLng instances; calculate bounds along the way\n\t_convertLatLngs: function (latlngs) {\n\t\tvar result = [],\n\t\t flat = isFlat(latlngs);\n\n\t\tfor (var i = 0, len = latlngs.length; i < len; i++) {\n\t\t\tif (flat) {\n\t\t\t\tresult[i] = toLatLng(latlngs[i]);\n\t\t\t\tthis._bounds.extend(result[i]);\n\t\t\t} else {\n\t\t\t\tresult[i] = this._convertLatLngs(latlngs[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t},\n\n\t_project: function () {\n\t\tvar pxBounds = new Bounds();\n\t\tthis._rings = [];\n\t\tthis._projectLatlngs(this._latlngs, this._rings, pxBounds);\n\n\t\tif (this._bounds.isValid() && pxBounds.isValid()) {\n\t\t\tthis._rawPxBounds = pxBounds;\n\t\t\tthis._updateBounds();\n\t\t}\n\t},\n\n\t_updateBounds: function () {\n\t\tvar w = this._clickTolerance(),\n\t\t p = new Point(w, w);\n\t\tthis._pxBounds = new Bounds([\n\t\t\tthis._rawPxBounds.min.subtract(p),\n\t\t\tthis._rawPxBounds.max.add(p)\n\t\t]);\n\t},\n\n\t// recursively turns latlngs into a set of rings with projected coordinates\n\t_projectLatlngs: function (latlngs, result, projectedBounds) {\n\t\tvar flat = latlngs[0] instanceof LatLng,\n\t\t len = latlngs.length,\n\t\t i, ring;\n\n\t\tif (flat) {\n\t\t\tring = [];\n\t\t\tfor (i = 0; i < len; i++) {\n\t\t\t\tring[i] = this._map.latLngToLayerPoint(latlngs[i]);\n\t\t\t\tprojectedBounds.extend(ring[i]);\n\t\t\t}\n\t\t\tresult.push(ring);\n\t\t} else {\n\t\t\tfor (i = 0; i < len; i++) {\n\t\t\t\tthis._projectLatlngs(latlngs[i], result, projectedBounds);\n\t\t\t}\n\t\t}\n\t},\n\n\t// clip polyline by renderer bounds so that we have less to render for performance\n\t_clipPoints: function () {\n\t\tvar bounds = this._renderer._bounds;\n\n\t\tthis._parts = [];\n\t\tif (!this._pxBounds || !this._pxBounds.intersects(bounds)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.options.noClip) {\n\t\t\tthis._parts = this._rings;\n\t\t\treturn;\n\t\t}\n\n\t\tvar parts = this._parts,\n\t\t i, j, k, len, len2, segment, points;\n\n\t\tfor (i = 0, k = 0, len = this._rings.length; i < len; i++) {\n\t\t\tpoints = this._rings[i];\n\n\t\t\tfor (j = 0, len2 = points.length; j < len2 - 1; j++) {\n\t\t\t\tsegment = clipSegment(points[j], points[j + 1], bounds, j, true);\n\n\t\t\t\tif (!segment) { continue; }\n\n\t\t\t\tparts[k] = parts[k] || [];\n\t\t\t\tparts[k].push(segment[0]);\n\n\t\t\t\t// if segment goes out of screen, or it's the last one, it's the end of the line part\n\t\t\t\tif ((segment[1] !== points[j + 1]) || (j === len2 - 2)) {\n\t\t\t\t\tparts[k].push(segment[1]);\n\t\t\t\t\tk++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// simplify each clipped part of the polyline for performance\n\t_simplifyPoints: function () {\n\t\tvar parts = this._parts,\n\t\t tolerance = this.options.smoothFactor;\n\n\t\tfor (var i = 0, len = parts.length; i < len; i++) {\n\t\t\tparts[i] = simplify(parts[i], tolerance);\n\t\t}\n\t},\n\n\t_update: function () {\n\t\tif (!this._map) { return; }\n\n\t\tthis._clipPoints();\n\t\tthis._simplifyPoints();\n\t\tthis._updatePath();\n\t},\n\n\t_updatePath: function () {\n\t\tthis._renderer._updatePoly(this);\n\t},\n\n\t// Needed by the `Canvas` renderer for interactivity\n\t_containsPoint: function (p, closed) {\n\t\tvar i, j, k, len, len2, part,\n\t\t w = this._clickTolerance();\n\n\t\tif (!this._pxBounds || !this._pxBounds.contains(p)) { return false; }\n\n\t\t// hit detection for polylines\n\t\tfor (i = 0, len = this._parts.length; i < len; i++) {\n\t\t\tpart = this._parts[i];\n\n\t\t\tfor (j = 0, len2 = part.length, k = len2 - 1; j < len2; k = j++) {\n\t\t\t\tif (!closed && (j === 0)) { continue; }\n\n\t\t\t\tif (pointToSegmentDistance(p, part[k], part[j]) <= w) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n});\n\n// @factory L.polyline(latlngs: LatLng[], options?: Polyline options)\n// Instantiates a polyline object given an array of geographical points and\n// optionally an options object. You can create a `Polyline` object with\n// multiple separate lines (`MultiPolyline`) by passing an array of arrays\n// of geographic points.\nfunction polyline(latlngs, options) {\n\treturn new Polyline(latlngs, options);\n}\n\n// Retrocompat. Allow plugins to support Leaflet versions before and after 1.1.\nPolyline._flat = _flat;\n\n/*\n * @class Polygon\n * @aka L.Polygon\n * @inherits Polyline\n *\n * A class for drawing polygon overlays on a map. Extends `Polyline`.\n *\n * Note that points you pass when creating a polygon shouldn't have an additional last point equal to the first one — it's better to filter out such points.\n *\n *\n * @example\n *\n * ```js\n * // create a red polygon from an array of LatLng points\n * var latlngs = [[37, -109.05],[41, -109.03],[41, -102.05],[37, -102.04]];\n *\n * var polygon = L.polygon(latlngs, {color: 'red'}).addTo(map);\n *\n * // zoom the map to the polygon\n * map.fitBounds(polygon.getBounds());\n * ```\n *\n * You can also pass an array of arrays of latlngs, with the first array representing the outer shape and the other arrays representing holes in the outer shape:\n *\n * ```js\n * var latlngs = [\n * [[37, -109.05],[41, -109.03],[41, -102.05],[37, -102.04]], // outer ring\n * [[37.29, -108.58],[40.71, -108.58],[40.71, -102.50],[37.29, -102.50]] // hole\n * ];\n * ```\n *\n * Additionally, you can pass a multi-dimensional array to represent a MultiPolygon shape.\n *\n * ```js\n * var latlngs = [\n * [ // first polygon\n * [[37, -109.05],[41, -109.03],[41, -102.05],[37, -102.04]], // outer ring\n * [[37.29, -108.58],[40.71, -108.58],[40.71, -102.50],[37.29, -102.50]] // hole\n * ],\n * [ // second polygon\n * [[41, -111.03],[45, -111.04],[45, -104.05],[41, -104.05]]\n * ]\n * ];\n * ```\n */\n\nvar Polygon = Polyline.extend({\n\n\toptions: {\n\t\tfill: true\n\t},\n\n\tisEmpty: function () {\n\t\treturn !this._latlngs.length || !this._latlngs[0].length;\n\t},\n\n\tgetCenter: function () {\n\t\t// throws error when not yet added to map as this center calculation requires projected coordinates\n\t\tif (!this._map) {\n\t\t\tthrow new Error('Must add layer to map before using getCenter()');\n\t\t}\n\n\t\tvar i, j, p1, p2, f, area, x, y, center,\n\t\t points = this._rings[0],\n\t\t len = points.length;\n\n\t\tif (!len) { return null; }\n\n\t\t// polygon centroid algorithm; only uses the first ring if there are multiple\n\n\t\tarea = x = y = 0;\n\n\t\tfor (i = 0, j = len - 1; i < len; j = i++) {\n\t\t\tp1 = points[i];\n\t\t\tp2 = points[j];\n\n\t\t\tf = p1.y * p2.x - p2.y * p1.x;\n\t\t\tx += (p1.x + p2.x) * f;\n\t\t\ty += (p1.y + p2.y) * f;\n\t\t\tarea += f * 3;\n\t\t}\n\n\t\tif (area === 0) {\n\t\t\t// Polygon is so small that all points are on same pixel.\n\t\t\tcenter = points[0];\n\t\t} else {\n\t\t\tcenter = [x / area, y / area];\n\t\t}\n\t\treturn this._map.layerPointToLatLng(center);\n\t},\n\n\t_convertLatLngs: function (latlngs) {\n\t\tvar result = Polyline.prototype._convertLatLngs.call(this, latlngs),\n\t\t len = result.length;\n\n\t\t// remove last point if it equals first one\n\t\tif (len >= 2 && result[0] instanceof LatLng && result[0].equals(result[len - 1])) {\n\t\t\tresult.pop();\n\t\t}\n\t\treturn result;\n\t},\n\n\t_setLatLngs: function (latlngs) {\n\t\tPolyline.prototype._setLatLngs.call(this, latlngs);\n\t\tif (isFlat(this._latlngs)) {\n\t\t\tthis._latlngs = [this._latlngs];\n\t\t}\n\t},\n\n\t_defaultShape: function () {\n\t\treturn isFlat(this._latlngs[0]) ? this._latlngs[0] : this._latlngs[0][0];\n\t},\n\n\t_clipPoints: function () {\n\t\t// polygons need a different clipping algorithm so we redefine that\n\n\t\tvar bounds = this._renderer._bounds,\n\t\t w = this.options.weight,\n\t\t p = new Point(w, w);\n\n\t\t// increase clip padding by stroke width to avoid stroke on clip edges\n\t\tbounds = new Bounds(bounds.min.subtract(p), bounds.max.add(p));\n\n\t\tthis._parts = [];\n\t\tif (!this._pxBounds || !this._pxBounds.intersects(bounds)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.options.noClip) {\n\t\t\tthis._parts = this._rings;\n\t\t\treturn;\n\t\t}\n\n\t\tfor (var i = 0, len = this._rings.length, clipped; i < len; i++) {\n\t\t\tclipped = clipPolygon(this._rings[i], bounds, true);\n\t\t\tif (clipped.length) {\n\t\t\t\tthis._parts.push(clipped);\n\t\t\t}\n\t\t}\n\t},\n\n\t_updatePath: function () {\n\t\tthis._renderer._updatePoly(this, true);\n\t},\n\n\t// Needed by the `Canvas` renderer for interactivity\n\t_containsPoint: function (p) {\n\t\tvar inside = false,\n\t\t part, p1, p2, i, j, k, len, len2;\n\n\t\tif (!this._pxBounds || !this._pxBounds.contains(p)) { return false; }\n\n\t\t// ray casting algorithm for detecting if point is in polygon\n\t\tfor (i = 0, len = this._parts.length; i < len; i++) {\n\t\t\tpart = this._parts[i];\n\n\t\t\tfor (j = 0, len2 = part.length, k = len2 - 1; j < len2; k = j++) {\n\t\t\t\tp1 = part[j];\n\t\t\t\tp2 = part[k];\n\n\t\t\t\tif (((p1.y > p.y) !== (p2.y > p.y)) && (p.x < (p2.x - p1.x) * (p.y - p1.y) / (p2.y - p1.y) + p1.x)) {\n\t\t\t\t\tinside = !inside;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// also check if it's on polygon stroke\n\t\treturn inside || Polyline.prototype._containsPoint.call(this, p, true);\n\t}\n\n});\n\n\n// @factory L.polygon(latlngs: LatLng[], options?: Polyline options)\nfunction polygon(latlngs, options) {\n\treturn new Polygon(latlngs, options);\n}\n\n/*\r\n * @class GeoJSON\r\n * @aka L.GeoJSON\r\n * @inherits FeatureGroup\r\n *\r\n * Represents a GeoJSON object or an array of GeoJSON objects. Allows you to parse\r\n * GeoJSON data and display it on the map. Extends `FeatureGroup`.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * L.geoJSON(data, {\r\n * \tstyle: function (feature) {\r\n * \t\treturn {color: feature.properties.color};\r\n * \t}\r\n * }).bindPopup(function (layer) {\r\n * \treturn layer.feature.properties.description;\r\n * }).addTo(map);\r\n * ```\r\n */\r\n\r\nvar GeoJSON = FeatureGroup.extend({\r\n\r\n\t/* @section\r\n\t * @aka GeoJSON options\r\n\t *\r\n\t * @option pointToLayer: Function = *\r\n\t * A `Function` defining how GeoJSON points spawn Leaflet layers. It is internally\r\n\t * called when data is added, passing the GeoJSON point feature and its `LatLng`.\r\n\t * The default is to spawn a default `Marker`:\r\n\t * ```js\r\n\t * function(geoJsonPoint, latlng) {\r\n\t * \treturn L.marker(latlng);\r\n\t * }\r\n\t * ```\r\n\t *\r\n\t * @option style: Function = *\r\n\t * A `Function` defining the `Path options` for styling GeoJSON lines and polygons,\r\n\t * called internally when data is added.\r\n\t * The default value is to not override any defaults:\r\n\t * ```js\r\n\t * function (geoJsonFeature) {\r\n\t * \treturn {}\r\n\t * }\r\n\t * ```\r\n\t *\r\n\t * @option onEachFeature: Function = *\r\n\t * A `Function` that will be called once for each created `Feature`, after it has\r\n\t * been created and styled. Useful for attaching events and popups to features.\r\n\t * The default is to do nothing with the newly created layers:\r\n\t * ```js\r\n\t * function (feature, layer) {}\r\n\t * ```\r\n\t *\r\n\t * @option filter: Function = *\r\n\t * A `Function` that will be used to decide whether to include a feature or not.\r\n\t * The default is to include all features:\r\n\t * ```js\r\n\t * function (geoJsonFeature) {\r\n\t * \treturn true;\r\n\t * }\r\n\t * ```\r\n\t * Note: dynamically changing the `filter` option will have effect only on newly\r\n\t * added data. It will _not_ re-evaluate already included features.\r\n\t *\r\n\t * @option coordsToLatLng: Function = *\r\n\t * A `Function` that will be used for converting GeoJSON coordinates to `LatLng`s.\r\n\t * The default is the `coordsToLatLng` static method.\r\n\t *\r\n\t * @option markersInheritOptions: Boolean = false\r\n\t * Whether default Markers for \"Point\" type Features inherit from group options.\r\n\t */\r\n\r\n\tinitialize: function (geojson, options) {\r\n\t\tsetOptions(this, options);\r\n\r\n\t\tthis._layers = {};\r\n\r\n\t\tif (geojson) {\r\n\t\t\tthis.addData(geojson);\r\n\t\t}\r\n\t},\r\n\r\n\t// @method addData( data ): this\r\n\t// Adds a GeoJSON object to the layer.\r\n\taddData: function (geojson) {\r\n\t\tvar features = isArray(geojson) ? geojson : geojson.features,\r\n\t\t i, len, feature;\r\n\r\n\t\tif (features) {\r\n\t\t\tfor (i = 0, len = features.length; i < len; i++) {\r\n\t\t\t\t// only add this if geometry or geometries are set and not null\r\n\t\t\t\tfeature = features[i];\r\n\t\t\t\tif (feature.geometries || feature.geometry || feature.features || feature.coordinates) {\r\n\t\t\t\t\tthis.addData(feature);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t}\r\n\r\n\t\tvar options = this.options;\r\n\r\n\t\tif (options.filter && !options.filter(geojson)) { return this; }\r\n\r\n\t\tvar layer = geometryToLayer(geojson, options);\r\n\t\tif (!layer) {\r\n\t\t\treturn this;\r\n\t\t}\r\n\t\tlayer.feature = asFeature(geojson);\r\n\r\n\t\tlayer.defaultOptions = layer.options;\r\n\t\tthis.resetStyle(layer);\r\n\r\n\t\tif (options.onEachFeature) {\r\n\t\t\toptions.onEachFeature(geojson, layer);\r\n\t\t}\r\n\r\n\t\treturn this.addLayer(layer);\r\n\t},\r\n\r\n\t// @method resetStyle( layer? ): this\r\n\t// Resets the given vector layer's style to the original GeoJSON style, useful for resetting style after hover events.\r\n\t// If `layer` is omitted, the style of all features in the current layer is reset.\r\n\tresetStyle: function (layer) {\r\n\t\tif (layer === undefined) {\r\n\t\t\treturn this.eachLayer(this.resetStyle, this);\r\n\t\t}\r\n\t\t// reset any custom styles\r\n\t\tlayer.options = extend({}, layer.defaultOptions);\r\n\t\tthis._setLayerStyle(layer, this.options.style);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method setStyle( style ): this\r\n\t// Changes styles of GeoJSON vector layers with the given style function.\r\n\tsetStyle: function (style) {\r\n\t\treturn this.eachLayer(function (layer) {\r\n\t\t\tthis._setLayerStyle(layer, style);\r\n\t\t}, this);\r\n\t},\r\n\r\n\t_setLayerStyle: function (layer, style) {\r\n\t\tif (layer.setStyle) {\r\n\t\t\tif (typeof style === 'function') {\r\n\t\t\t\tstyle = style(layer.feature);\r\n\t\t\t}\r\n\t\t\tlayer.setStyle(style);\r\n\t\t}\r\n\t}\r\n});\r\n\r\n// @section\r\n// There are several static functions which can be called without instantiating L.GeoJSON:\r\n\r\n// @function geometryToLayer(featureData: Object, options?: GeoJSON options): Layer\r\n// Creates a `Layer` from a given GeoJSON feature. Can use a custom\r\n// [`pointToLayer`](#geojson-pointtolayer) and/or [`coordsToLatLng`](#geojson-coordstolatlng)\r\n// functions if provided as options.\r\nfunction geometryToLayer(geojson, options) {\r\n\r\n\tvar geometry = geojson.type === 'Feature' ? geojson.geometry : geojson,\r\n\t coords = geometry ? geometry.coordinates : null,\r\n\t layers = [],\r\n\t pointToLayer = options && options.pointToLayer,\r\n\t _coordsToLatLng = options && options.coordsToLatLng || coordsToLatLng,\r\n\t latlng, latlngs, i, len;\r\n\r\n\tif (!coords && !geometry) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tswitch (geometry.type) {\r\n\tcase 'Point':\r\n\t\tlatlng = _coordsToLatLng(coords);\r\n\t\treturn _pointToLayer(pointToLayer, geojson, latlng, options);\r\n\r\n\tcase 'MultiPoint':\r\n\t\tfor (i = 0, len = coords.length; i < len; i++) {\r\n\t\t\tlatlng = _coordsToLatLng(coords[i]);\r\n\t\t\tlayers.push(_pointToLayer(pointToLayer, geojson, latlng, options));\r\n\t\t}\r\n\t\treturn new FeatureGroup(layers);\r\n\r\n\tcase 'LineString':\r\n\tcase 'MultiLineString':\r\n\t\tlatlngs = coordsToLatLngs(coords, geometry.type === 'LineString' ? 0 : 1, _coordsToLatLng);\r\n\t\treturn new Polyline(latlngs, options);\r\n\r\n\tcase 'Polygon':\r\n\tcase 'MultiPolygon':\r\n\t\tlatlngs = coordsToLatLngs(coords, geometry.type === 'Polygon' ? 1 : 2, _coordsToLatLng);\r\n\t\treturn new Polygon(latlngs, options);\r\n\r\n\tcase 'GeometryCollection':\r\n\t\tfor (i = 0, len = geometry.geometries.length; i < len; i++) {\r\n\t\t\tvar layer = geometryToLayer({\r\n\t\t\t\tgeometry: geometry.geometries[i],\r\n\t\t\t\ttype: 'Feature',\r\n\t\t\t\tproperties: geojson.properties\r\n\t\t\t}, options);\r\n\r\n\t\t\tif (layer) {\r\n\t\t\t\tlayers.push(layer);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn new FeatureGroup(layers);\r\n\r\n\tdefault:\r\n\t\tthrow new Error('Invalid GeoJSON object.');\r\n\t}\r\n}\r\n\r\nfunction _pointToLayer(pointToLayerFn, geojson, latlng, options) {\r\n\treturn pointToLayerFn ?\r\n\t\tpointToLayerFn(geojson, latlng) :\r\n\t\tnew Marker(latlng, options && options.markersInheritOptions && options);\r\n}\r\n\r\n// @function coordsToLatLng(coords: Array): LatLng\r\n// Creates a `LatLng` object from an array of 2 numbers (longitude, latitude)\r\n// or 3 numbers (longitude, latitude, altitude) used in GeoJSON for points.\r\nfunction coordsToLatLng(coords) {\r\n\treturn new LatLng(coords[1], coords[0], coords[2]);\r\n}\r\n\r\n// @function coordsToLatLngs(coords: Array, levelsDeep?: Number, coordsToLatLng?: Function): Array\r\n// Creates a multidimensional array of `LatLng`s from a GeoJSON coordinates array.\r\n// `levelsDeep` specifies the nesting level (0 is for an array of points, 1 for an array of arrays of points, etc., 0 by default).\r\n// Can use a custom [`coordsToLatLng`](#geojson-coordstolatlng) function.\r\nfunction coordsToLatLngs(coords, levelsDeep, _coordsToLatLng) {\r\n\tvar latlngs = [];\r\n\r\n\tfor (var i = 0, len = coords.length, latlng; i < len; i++) {\r\n\t\tlatlng = levelsDeep ?\r\n\t\t\tcoordsToLatLngs(coords[i], levelsDeep - 1, _coordsToLatLng) :\r\n\t\t\t(_coordsToLatLng || coordsToLatLng)(coords[i]);\r\n\r\n\t\tlatlngs.push(latlng);\r\n\t}\r\n\r\n\treturn latlngs;\r\n}\r\n\r\n// @function latLngToCoords(latlng: LatLng, precision?: Number): Array\r\n// Reverse of [`coordsToLatLng`](#geojson-coordstolatlng)\r\nfunction latLngToCoords(latlng, precision) {\r\n\tprecision = typeof precision === 'number' ? precision : 6;\r\n\treturn latlng.alt !== undefined ?\r\n\t\t[formatNum(latlng.lng, precision), formatNum(latlng.lat, precision), formatNum(latlng.alt, precision)] :\r\n\t\t[formatNum(latlng.lng, precision), formatNum(latlng.lat, precision)];\r\n}\r\n\r\n// @function latLngsToCoords(latlngs: Array, levelsDeep?: Number, closed?: Boolean): Array\r\n// Reverse of [`coordsToLatLngs`](#geojson-coordstolatlngs)\r\n// `closed` determines whether the first point should be appended to the end of the array to close the feature, only used when `levelsDeep` is 0. False by default.\r\nfunction latLngsToCoords(latlngs, levelsDeep, closed, precision) {\r\n\tvar coords = [];\r\n\r\n\tfor (var i = 0, len = latlngs.length; i < len; i++) {\r\n\t\tcoords.push(levelsDeep ?\r\n\t\t\tlatLngsToCoords(latlngs[i], levelsDeep - 1, closed, precision) :\r\n\t\t\tlatLngToCoords(latlngs[i], precision));\r\n\t}\r\n\r\n\tif (!levelsDeep && closed) {\r\n\t\tcoords.push(coords[0]);\r\n\t}\r\n\r\n\treturn coords;\r\n}\r\n\r\nfunction getFeature(layer, newGeometry) {\r\n\treturn layer.feature ?\r\n\t\textend({}, layer.feature, {geometry: newGeometry}) :\r\n\t\tasFeature(newGeometry);\r\n}\r\n\r\n// @function asFeature(geojson: Object): Object\r\n// Normalize GeoJSON geometries/features into GeoJSON features.\r\nfunction asFeature(geojson) {\r\n\tif (geojson.type === 'Feature' || geojson.type === 'FeatureCollection') {\r\n\t\treturn geojson;\r\n\t}\r\n\r\n\treturn {\r\n\t\ttype: 'Feature',\r\n\t\tproperties: {},\r\n\t\tgeometry: geojson\r\n\t};\r\n}\r\n\r\nvar PointToGeoJSON = {\r\n\ttoGeoJSON: function (precision) {\r\n\t\treturn getFeature(this, {\r\n\t\t\ttype: 'Point',\r\n\t\t\tcoordinates: latLngToCoords(this.getLatLng(), precision)\r\n\t\t});\r\n\t}\r\n};\r\n\r\n// @namespace Marker\r\n// @section Other methods\r\n// @method toGeoJSON(precision?: Number): Object\r\n// `precision` is the number of decimal places for coordinates.\r\n// The default value is 6 places.\r\n// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the marker (as a GeoJSON `Point` Feature).\r\nMarker.include(PointToGeoJSON);\r\n\r\n// @namespace CircleMarker\r\n// @method toGeoJSON(precision?: Number): Object\r\n// `precision` is the number of decimal places for coordinates.\r\n// The default value is 6 places.\r\n// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the circle marker (as a GeoJSON `Point` Feature).\r\nCircle.include(PointToGeoJSON);\r\nCircleMarker.include(PointToGeoJSON);\r\n\r\n\r\n// @namespace Polyline\r\n// @method toGeoJSON(precision?: Number): Object\r\n// `precision` is the number of decimal places for coordinates.\r\n// The default value is 6 places.\r\n// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the polyline (as a GeoJSON `LineString` or `MultiLineString` Feature).\r\nPolyline.include({\r\n\ttoGeoJSON: function (precision) {\r\n\t\tvar multi = !isFlat(this._latlngs);\r\n\r\n\t\tvar coords = latLngsToCoords(this._latlngs, multi ? 1 : 0, false, precision);\r\n\r\n\t\treturn getFeature(this, {\r\n\t\t\ttype: (multi ? 'Multi' : '') + 'LineString',\r\n\t\t\tcoordinates: coords\r\n\t\t});\r\n\t}\r\n});\r\n\r\n// @namespace Polygon\r\n// @method toGeoJSON(precision?: Number): Object\r\n// `precision` is the number of decimal places for coordinates.\r\n// The default value is 6 places.\r\n// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the polygon (as a GeoJSON `Polygon` or `MultiPolygon` Feature).\r\nPolygon.include({\r\n\ttoGeoJSON: function (precision) {\r\n\t\tvar holes = !isFlat(this._latlngs),\r\n\t\t multi = holes && !isFlat(this._latlngs[0]);\r\n\r\n\t\tvar coords = latLngsToCoords(this._latlngs, multi ? 2 : holes ? 1 : 0, true, precision);\r\n\r\n\t\tif (!holes) {\r\n\t\t\tcoords = [coords];\r\n\t\t}\r\n\r\n\t\treturn getFeature(this, {\r\n\t\t\ttype: (multi ? 'Multi' : '') + 'Polygon',\r\n\t\t\tcoordinates: coords\r\n\t\t});\r\n\t}\r\n});\r\n\r\n\r\n// @namespace LayerGroup\r\nLayerGroup.include({\r\n\ttoMultiPoint: function (precision) {\r\n\t\tvar coords = [];\r\n\r\n\t\tthis.eachLayer(function (layer) {\r\n\t\t\tcoords.push(layer.toGeoJSON(precision).geometry.coordinates);\r\n\t\t});\r\n\r\n\t\treturn getFeature(this, {\r\n\t\t\ttype: 'MultiPoint',\r\n\t\t\tcoordinates: coords\r\n\t\t});\r\n\t},\r\n\r\n\t// @method toGeoJSON(precision?: Number): Object\r\n\t// `precision` is the number of decimal places for coordinates.\r\n\t// The default value is 6 places.\r\n\t// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the layer group (as a GeoJSON `FeatureCollection`, `GeometryCollection`, or `MultiPoint`).\r\n\ttoGeoJSON: function (precision) {\r\n\r\n\t\tvar type = this.feature && this.feature.geometry && this.feature.geometry.type;\r\n\r\n\t\tif (type === 'MultiPoint') {\r\n\t\t\treturn this.toMultiPoint(precision);\r\n\t\t}\r\n\r\n\t\tvar isGeometryCollection = type === 'GeometryCollection',\r\n\t\t jsons = [];\r\n\r\n\t\tthis.eachLayer(function (layer) {\r\n\t\t\tif (layer.toGeoJSON) {\r\n\t\t\t\tvar json = layer.toGeoJSON(precision);\r\n\t\t\t\tif (isGeometryCollection) {\r\n\t\t\t\t\tjsons.push(json.geometry);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar feature = asFeature(json);\r\n\t\t\t\t\t// Squash nested feature collections\r\n\t\t\t\t\tif (feature.type === 'FeatureCollection') {\r\n\t\t\t\t\t\tjsons.push.apply(jsons, feature.features);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tjsons.push(feature);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif (isGeometryCollection) {\r\n\t\t\treturn getFeature(this, {\r\n\t\t\t\tgeometries: jsons,\r\n\t\t\t\ttype: 'GeometryCollection'\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\ttype: 'FeatureCollection',\r\n\t\t\tfeatures: jsons\r\n\t\t};\r\n\t}\r\n});\r\n\r\n// @namespace GeoJSON\r\n// @factory L.geoJSON(geojson?: Object, options?: GeoJSON options)\r\n// Creates a GeoJSON layer. Optionally accepts an object in\r\n// [GeoJSON format](https://tools.ietf.org/html/rfc7946) to display on the map\r\n// (you can alternatively add it later with `addData` method) and an `options` object.\r\nfunction geoJSON(geojson, options) {\r\n\treturn new GeoJSON(geojson, options);\r\n}\r\n\r\n// Backward compatibility.\r\nvar geoJson = geoJSON;\n\n/*\r\n * @class ImageOverlay\r\n * @aka L.ImageOverlay\r\n * @inherits Interactive layer\r\n *\r\n * Used to load and display a single image over specific bounds of the map. Extends `Layer`.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var imageUrl = 'http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg',\r\n * \timageBounds = [[40.712216, -74.22655], [40.773941, -74.12544]];\r\n * L.imageOverlay(imageUrl, imageBounds).addTo(map);\r\n * ```\r\n */\r\n\r\nvar ImageOverlay = Layer.extend({\r\n\r\n\t// @section\r\n\t// @aka ImageOverlay options\r\n\toptions: {\r\n\t\t// @option opacity: Number = 1.0\r\n\t\t// The opacity of the image overlay.\r\n\t\topacity: 1,\r\n\r\n\t\t// @option alt: String = ''\r\n\t\t// Text for the `alt` attribute of the image (useful for accessibility).\r\n\t\talt: '',\r\n\r\n\t\t// @option interactive: Boolean = false\r\n\t\t// If `true`, the image overlay will emit [mouse events](#interactive-layer) when clicked or hovered.\r\n\t\tinteractive: false,\r\n\r\n\t\t// @option crossOrigin: Boolean|String = false\r\n\t\t// Whether the crossOrigin attribute will be added to the image.\r\n\t\t// If a String is provided, the image will have its crossOrigin attribute set to the String provided. This is needed if you want to access image pixel data.\r\n\t\t// Refer to [CORS Settings](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes) for valid String values.\r\n\t\tcrossOrigin: false,\r\n\r\n\t\t// @option errorOverlayUrl: String = ''\r\n\t\t// URL to the overlay image to show in place of the overlay that failed to load.\r\n\t\terrorOverlayUrl: '',\r\n\r\n\t\t// @option zIndex: Number = 1\r\n\t\t// The explicit [zIndex](https://developer.mozilla.org/docs/Web/CSS/CSS_Positioning/Understanding_z_index) of the overlay layer.\r\n\t\tzIndex: 1,\r\n\r\n\t\t// @option className: String = ''\r\n\t\t// A custom class name to assign to the image. Empty by default.\r\n\t\tclassName: ''\r\n\t},\r\n\r\n\tinitialize: function (url, bounds, options) { // (String, LatLngBounds, Object)\r\n\t\tthis._url = url;\r\n\t\tthis._bounds = toLatLngBounds(bounds);\r\n\r\n\t\tsetOptions(this, options);\r\n\t},\r\n\r\n\tonAdd: function () {\r\n\t\tif (!this._image) {\r\n\t\t\tthis._initImage();\r\n\r\n\t\t\tif (this.options.opacity < 1) {\r\n\t\t\t\tthis._updateOpacity();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.options.interactive) {\r\n\t\t\taddClass(this._image, 'leaflet-interactive');\r\n\t\t\tthis.addInteractiveTarget(this._image);\r\n\t\t}\r\n\r\n\t\tthis.getPane().appendChild(this._image);\r\n\t\tthis._reset();\r\n\t},\r\n\r\n\tonRemove: function () {\r\n\t\tremove(this._image);\r\n\t\tif (this.options.interactive) {\r\n\t\t\tthis.removeInteractiveTarget(this._image);\r\n\t\t}\r\n\t},\r\n\r\n\t// @method setOpacity(opacity: Number): this\r\n\t// Sets the opacity of the overlay.\r\n\tsetOpacity: function (opacity) {\r\n\t\tthis.options.opacity = opacity;\r\n\r\n\t\tif (this._image) {\r\n\t\t\tthis._updateOpacity();\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\tsetStyle: function (styleOpts) {\r\n\t\tif (styleOpts.opacity) {\r\n\t\t\tthis.setOpacity(styleOpts.opacity);\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method bringToFront(): this\r\n\t// Brings the layer to the top of all overlays.\r\n\tbringToFront: function () {\r\n\t\tif (this._map) {\r\n\t\t\ttoFront(this._image);\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method bringToBack(): this\r\n\t// Brings the layer to the bottom of all overlays.\r\n\tbringToBack: function () {\r\n\t\tif (this._map) {\r\n\t\t\ttoBack(this._image);\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method setUrl(url: String): this\r\n\t// Changes the URL of the image.\r\n\tsetUrl: function (url) {\r\n\t\tthis._url = url;\r\n\r\n\t\tif (this._image) {\r\n\t\t\tthis._image.src = url;\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method setBounds(bounds: LatLngBounds): this\r\n\t// Update the bounds that this ImageOverlay covers\r\n\tsetBounds: function (bounds) {\r\n\t\tthis._bounds = toLatLngBounds(bounds);\r\n\r\n\t\tif (this._map) {\r\n\t\t\tthis._reset();\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\tgetEvents: function () {\r\n\t\tvar events = {\r\n\t\t\tzoom: this._reset,\r\n\t\t\tviewreset: this._reset\r\n\t\t};\r\n\r\n\t\tif (this._zoomAnimated) {\r\n\t\t\tevents.zoomanim = this._animateZoom;\r\n\t\t}\r\n\r\n\t\treturn events;\r\n\t},\r\n\r\n\t// @method setZIndex(value: Number): this\r\n\t// Changes the [zIndex](#imageoverlay-zindex) of the image overlay.\r\n\tsetZIndex: function (value) {\r\n\t\tthis.options.zIndex = value;\r\n\t\tthis._updateZIndex();\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method getBounds(): LatLngBounds\r\n\t// Get the bounds that this ImageOverlay covers\r\n\tgetBounds: function () {\r\n\t\treturn this._bounds;\r\n\t},\r\n\r\n\t// @method getElement(): HTMLElement\r\n\t// Returns the instance of [`HTMLImageElement`](https://developer.mozilla.org/docs/Web/API/HTMLImageElement)\r\n\t// used by this overlay.\r\n\tgetElement: function () {\r\n\t\treturn this._image;\r\n\t},\r\n\r\n\t_initImage: function () {\r\n\t\tvar wasElementSupplied = this._url.tagName === 'IMG';\r\n\t\tvar img = this._image = wasElementSupplied ? this._url : create$1('img');\r\n\r\n\t\taddClass(img, 'leaflet-image-layer');\r\n\t\tif (this._zoomAnimated) { addClass(img, 'leaflet-zoom-animated'); }\r\n\t\tif (this.options.className) { addClass(img, this.options.className); }\r\n\r\n\t\timg.onselectstart = falseFn;\r\n\t\timg.onmousemove = falseFn;\r\n\r\n\t\t// @event load: Event\r\n\t\t// Fired when the ImageOverlay layer has loaded its image\r\n\t\timg.onload = bind(this.fire, this, 'load');\r\n\t\timg.onerror = bind(this._overlayOnError, this, 'error');\r\n\r\n\t\tif (this.options.crossOrigin || this.options.crossOrigin === '') {\r\n\t\t\timg.crossOrigin = this.options.crossOrigin === true ? '' : this.options.crossOrigin;\r\n\t\t}\r\n\r\n\t\tif (this.options.zIndex) {\r\n\t\t\tthis._updateZIndex();\r\n\t\t}\r\n\r\n\t\tif (wasElementSupplied) {\r\n\t\t\tthis._url = img.src;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\timg.src = this._url;\r\n\t\timg.alt = this.options.alt;\r\n\t},\r\n\r\n\t_animateZoom: function (e) {\r\n\t\tvar scale = this._map.getZoomScale(e.zoom),\r\n\t\t offset = this._map._latLngBoundsToNewLayerBounds(this._bounds, e.zoom, e.center).min;\r\n\r\n\t\tsetTransform(this._image, offset, scale);\r\n\t},\r\n\r\n\t_reset: function () {\r\n\t\tvar image = this._image,\r\n\t\t bounds = new Bounds(\r\n\t\t this._map.latLngToLayerPoint(this._bounds.getNorthWest()),\r\n\t\t this._map.latLngToLayerPoint(this._bounds.getSouthEast())),\r\n\t\t size = bounds.getSize();\r\n\r\n\t\tsetPosition(image, bounds.min);\r\n\r\n\t\timage.style.width = size.x + 'px';\r\n\t\timage.style.height = size.y + 'px';\r\n\t},\r\n\r\n\t_updateOpacity: function () {\r\n\t\tsetOpacity(this._image, this.options.opacity);\r\n\t},\r\n\r\n\t_updateZIndex: function () {\r\n\t\tif (this._image && this.options.zIndex !== undefined && this.options.zIndex !== null) {\r\n\t\t\tthis._image.style.zIndex = this.options.zIndex;\r\n\t\t}\r\n\t},\r\n\r\n\t_overlayOnError: function () {\r\n\t\t// @event error: Event\r\n\t\t// Fired when the ImageOverlay layer fails to load its image\r\n\t\tthis.fire('error');\r\n\r\n\t\tvar errorUrl = this.options.errorOverlayUrl;\r\n\t\tif (errorUrl && this._url !== errorUrl) {\r\n\t\t\tthis._url = errorUrl;\r\n\t\t\tthis._image.src = errorUrl;\r\n\t\t}\r\n\t}\r\n});\r\n\r\n// @factory L.imageOverlay(imageUrl: String, bounds: LatLngBounds, options?: ImageOverlay options)\r\n// Instantiates an image overlay object given the URL of the image and the\r\n// geographical bounds it is tied to.\r\nvar imageOverlay = function (url, bounds, options) {\r\n\treturn new ImageOverlay(url, bounds, options);\r\n};\n\n/*\r\n * @class VideoOverlay\r\n * @aka L.VideoOverlay\r\n * @inherits ImageOverlay\r\n *\r\n * Used to load and display a video player over specific bounds of the map. Extends `ImageOverlay`.\r\n *\r\n * A video overlay uses the [`