From 115c71b8737b8398398747a907e9cb8f5f43014c Mon Sep 17 00:00:00 2001 From: mantaohuang Date: Sat, 21 Nov 2020 23:17:28 -0500 Subject: [PATCH] auto login, indicates whether a page is bookmarked --- .gitignore | 1 + manifest.json | 25 +- package-lock.json | 9747 ++++++++++++++++++ package.json | 4 + resources/icons/action-bookmarked-16.png | Bin 0 -> 701 bytes resources/icons/action-bookmarked-32.png | Bin 0 -> 1384 bytes resources/icons/action-bookmarked-64.png | Bin 0 -> 2478 bytes resources/icons/action-default-16.png | Bin 0 -> 645 bytes resources/icons/action-default-32.png | Bin 0 -> 1106 bytes resources/icons/action-default-64.png | Bin 0 -> 1931 bytes shaarli-web-extension.xpi | Bin 0 -> 958275 bytes src/background-page.html | 13 + src/background.js | 124 +- src/close_helper.js | 3 + src/lib/client.js | 31 + src/lib/crypto-js.js | 6059 ++++++++++++ src/lib/jquery-3.5.1.js | 10872 +++++++++++++++++++++ src/login_helper.js | 10 + src/options/options.html | 18 + src/options/options.js | 15 +- src/storage.js | 4 + 21 files changed, 26916 insertions(+), 10 deletions(-) create mode 100644 package-lock.json create mode 100644 resources/icons/action-bookmarked-16.png create mode 100644 resources/icons/action-bookmarked-32.png create mode 100644 resources/icons/action-bookmarked-64.png create mode 100644 resources/icons/action-default-16.png create mode 100644 resources/icons/action-default-32.png create mode 100644 resources/icons/action-default-64.png create mode 100644 shaarli-web-extension.xpi create mode 100644 src/background-page.html create mode 100644 src/close_helper.js create mode 100644 src/lib/client.js create mode 100644 src/lib/crypto-js.js create mode 100644 src/lib/jquery-3.5.1.js create mode 100644 src/login_helper.js diff --git a/.gitignore b/.gitignore index 44ce34d..7f9db6a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ web-ext-artifacts +node_modules diff --git a/manifest.json b/manifest.json index 86ed5a5..8296929 100644 --- a/manifest.json +++ b/manifest.json @@ -1,21 +1,22 @@ { - "name": "Web Extension for Shaarli", - "description": "Share your link to your Shaarli on Firefox Quantum", - "version": "2.0.0", - "homepage_url": "https://github.com/ikipatang/shaarli-web-extension", + "name": "Web Extension for Shaarli modified", + "description": "Share your link to your Shaarli, test version", + "version": "2.0.1", + "homepage_url": "https://git.hmthsn.com/mantao/shaarli-web-extension", "manifest_version": 2, "icons": { "48": "resources/icons/icon-48.png" }, "permissions": [ "tabs", - "storage" + "storage", + "contextMenus" ], "options_ui": { "page": "src/options/options.html" }, "background": { - "scripts": ["src/storage.js", "src/background.js"] + "page": "src/background-page.html" }, "browser_action": { "default_icon": "resources/icons/icon-24.png", @@ -25,5 +26,15 @@ "browser_style": false, "default_icon": "resources/icons/icon-24.png", "default_title": "Share" - } + }, + "content_scripts": [ + { + "matches": ["*://sl.hmthsn.com/login*"], + "js": ["src/login_helper.js"] + }, + { + "matches": ["*://sl.hmthsn.com/*"], + "js": ["src/close_helper.js"] + } + ] } diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..93dbad5 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,9747 @@ +{ + "name": "shaarli-web-extension", + "version": "2.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/polyfill": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.0.0.tgz", + "integrity": "sha512-dnrMRkyyr74CRelJwvgnnSUDh2ge2NCTyHVwpOdvRMHtJUyxLtMAfhBN3s64pY41zdw0kgiLPh6S20eb1NcX6Q==", + "dev": true, + "requires": { + "core-js": "^2.5.7", + "regenerator-runtime": "^0.11.1" + } + }, + "@babel/register": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.0.0.tgz", + "integrity": "sha512-f/+CRmaCe7rVEvcvPvxeA8j5aJhHC3aJie7YuqcMDhUOuyWLA7J/aNrTaHIzoWPEhpHA54mec4Mm8fv8KBlv3g==", + "dev": true, + "requires": { + "core-js": "^2.5.7", + "find-cache-dir": "^1.0.0", + "home-or-tmp": "^3.0.0", + "lodash": "^4.17.10", + "mkdirp": "^0.5.1", + "pirates": "^4.0.0", + "source-map-support": "^0.5.9" + }, + "dependencies": { + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "@cliqz-oss/firefox-client": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@cliqz-oss/firefox-client/-/firefox-client-0.3.1.tgz", + "integrity": "sha512-RO+Tops/wGnBzWoZYkCraqyh2JqOejqJq5/a4b54HhmjTNSKdUPwAOK17EGg/zPb0nWqkuB7QyZsI9bo+ev8Kw==", + "dev": true, + "requires": { + "colors": "0.5.x", + "js-select": "~0.6.0" + } + }, + "@cliqz-oss/node-firefox-connect": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@cliqz-oss/node-firefox-connect/-/node-firefox-connect-1.2.1.tgz", + "integrity": "sha512-O/IyiB5pfztCdmxQZg0/xeq5w+YiP3gtJz8d4We2EpLPKzbDVjOrtfLKYgVfm6Ya6mbvDge1uLkSRwaoVCWKnA==", + "dev": true, + "requires": { + "@cliqz-oss/firefox-client": "0.3.1", + "es6-promise": "^2.0.1" + } + }, + "@types/node": { + "version": "14.14.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.9.tgz", + "integrity": "sha512-JsoLXFppG62tWTklIoO4knA+oDTYsmqWxHRvd4lpmfQRNhX6osheUOWETP2jMoV/2bEHuMra8Pp3Dmo/stBFcw==", + "dev": true + }, + "@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "JSONSelect": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.2.1.tgz", + "integrity": "sha1-QVQYpSbTP+MddLTe+jyDbUhewgM=", + "dev": true + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "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 + }, + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + } + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + }, + "adbkit": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/adbkit/-/adbkit-2.11.0.tgz", + "integrity": "sha512-j2vUhEeZmCiqBP+p77CpPWQTcT20rOmSmRHFUTZUwUpxzeCd3fXop4NAGYztSY9/FNU4bT/qqvYQ4EZKuCXhfA==", + "dev": true, + "requires": { + "adbkit-logcat": "^1.1.0", + "adbkit-monkey": "~1.0.1", + "bluebird": "~2.9.24", + "commander": "^2.3.0", + "debug": "~2.6.3", + "node-forge": "^0.7.1", + "split": "~0.3.3" + } + }, + "adbkit-logcat": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/adbkit-logcat/-/adbkit-logcat-1.1.0.tgz", + "integrity": "sha1-Adf5sM75CTowvLOwB+//MBUIli8=", + "dev": true + }, + "adbkit-monkey": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/adbkit-monkey/-/adbkit-monkey-1.0.1.tgz", + "integrity": "sha1-8pG+cBou/FZ6Y/x6pq/N7TFDC+E=", + "dev": true, + "requires": { + "async": "~0.2.9" + } + }, + "addons-linter": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/addons-linter/-/addons-linter-1.4.1.tgz", + "integrity": "sha512-AX8nCD/gy/6DoX4B7vTMQV6pcP8tG0BjxB3Jv44VZrUTYG+ojHx26abRDyUn+fDqWGf8qzeVn0Vss/NMNjMouA==", + "dev": true, + "requires": { + "@babel/polyfill": "7.0.0", + "@babel/register": "7.0.0", + "ajv": "6.5.5", + "ajv-merge-patch": "4.1.0", + "chalk": "2.4.0", + "cheerio": "1.0.0-rc.2", + "columnify": "1.5.4", + "common-tags": "1.8.0", + "crx-parser": "0.1.2", + "deepmerge": "2.2.1", + "dispensary": "0.27.0", + "es6-promisify": "5.0.0", + "eslint": "5.0.1", + "eslint-plugin-no-unsafe-innerhtml": "1.0.16", + "eslint-visitor-keys": "1.0.0", + "espree": "4.1.0", + "esprima": "3.1.3", + "first-chunk-stream": "2.0.0", + "fluent-syntax": "0.7.0", + "fsevents": "2.0.1", + "glob": "7.1.3", + "is-mergeable-object": "1.1.0", + "jed": "1.1.1", + "os-locale": "3.0.1", + "pino": "5.9.0", + "po2json": "0.4.5", + "postcss": "7.0.6", + "probe-image-size": "4.0.0", + "relaxed-json": "1.0.1", + "semver": "5.6.0", + "shelljs": "0.8.3", + "snyk": "1.110.2", + "source-map-support": "0.5.6", + "strip-bom-stream": "3.0.0", + "tosource": "1.0.0", + "upath": "1.1.0", + "whatwg-url": "7.0.0", + "xmldom": "0.1.27", + "yargs": "12.0.2", + "yauzl": "2.9.2" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "source-map-support": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz", + "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "upath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "dev": true + }, + "yargs": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz", + "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^2.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^10.1.0" + } + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "dev": true + }, + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "ajv": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", + "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "ajv-merge-patch": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ajv-merge-patch/-/ajv-merge-patch-4.1.0.tgz", + "integrity": "sha512-0mAYXMSauA8RZ7r+B4+EAOYcZEcO9OK5EiQCR7W7Cv4E44pJj56ZnkKLJ9/PAcOc0dT+LlV9fdDcq2TxVJfOYw==", + "dev": true, + "requires": { + "fast-json-patch": "^2.0.6", + "json-merge-patch": "^0.2.3" + } + }, + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "dev": true, + "requires": { + "string-width": "^2.0.0" + } + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=", + "dev": true + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "archiver": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.1.1.tgz", + "integrity": "sha1-/2YrSnggFJSj7lRNOjP+dJZQnrw=", + "dev": true, + "requires": { + "archiver-utils": "^1.3.0", + "async": "^2.0.0", + "buffer-crc32": "^0.2.1", + "glob": "^7.0.0", + "lodash": "^4.8.0", + "readable-stream": "^2.0.0", + "tar-stream": "^1.5.0", + "zip-stream": "^1.2.0" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "archiver-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", + "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "graceful-fs": "^4.1.0", + "lazystream": "^1.0.0", + "lodash": "^4.8.0", + "normalize-path": "^2.0.0", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=" + }, + "array-from": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz", + "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=", + "dev": true + }, + "array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=" + }, + "array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "ast-types": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "dev": true, + "requires": { + "tslib": "^2.0.1" + } + }, + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "available-typed-arrays": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz", + "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==", + "requires": { + "array-filter": "^1.0.0" + }, + "dependencies": { + "array-filter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", + "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=" + } + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "regenerator-runtime": "^0.10.5" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "dev": true + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + } + } + }, + "bluebird": { + "version": "2.9.34", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.9.34.tgz", + "integrity": "sha1-L3tOyAIWMoqf3evfacjUlC/v99g=", + "dev": true + }, + "bn.js": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "dev": true, + "requires": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browser-pack": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", + "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", + "requires": { + "JSONStream": "^1.0.3", + "combine-source-map": "~0.8.0", + "defined": "^1.0.0", + "safe-buffer": "^5.1.1", + "through2": "^2.0.0", + "umd": "^3.0.0" + } + }, + "browser-resolve": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", + "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", + "requires": { + "resolve": "^1.17.0" + } + }, + "browserify": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz", + "integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==", + "requires": { + "JSONStream": "^1.0.3", + "assert": "^1.4.0", + "browser-pack": "^6.0.1", + "browser-resolve": "^2.0.0", + "browserify-zlib": "~0.2.0", + "buffer": "~5.2.1", + "cached-path-relative": "^1.0.0", + "concat-stream": "^1.6.0", + "console-browserify": "^1.1.0", + "constants-browserify": "~1.0.0", + "crypto-browserify": "^3.0.0", + "defined": "^1.0.0", + "deps-sort": "^2.0.1", + "domain-browser": "^1.2.0", + "duplexer2": "~0.1.2", + "events": "^3.0.0", + "glob": "^7.1.0", + "has": "^1.0.0", + "htmlescape": "^1.1.0", + "https-browserify": "^1.0.0", + "inherits": "~2.0.1", + "insert-module-globals": "^7.2.1", + "labeled-stream-splicer": "^2.0.0", + "mkdirp-classic": "^0.5.2", + "module-deps": "^6.2.3", + "os-browserify": "~0.3.0", + "parents": "^1.0.1", + "path-browserify": "^1.0.0", + "process": "~0.11.0", + "punycode": "^1.3.2", + "querystring-es3": "~0.2.0", + "read-only-stream": "^2.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.1.4", + "shasum-object": "^1.0.0", + "shell-quote": "^1.6.1", + "stream-browserify": "^3.0.0", + "stream-http": "^3.0.0", + "string_decoder": "^1.1.1", + "subarg": "^1.0.0", + "syntax-error": "^1.1.1", + "through2": "^2.0.0", + "timers-browserify": "^1.0.1", + "tty-browserify": "0.0.1", + "url": "~0.11.0", + "util": "~0.12.0", + "vm-browserify": "^1.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "util": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz", + "integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==", + "requires": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "safe-buffer": "^5.1.2", + "which-typed-array": "^1.1.2" + } + } + } + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "requires": { + "pako": "~1.0.5" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=", + "dev": true + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "bunyan": { + "version": "1.8.12", + "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.12.tgz", + "integrity": "sha1-8VDw9nSKvdcq6uhPBEA74u8RN5c=", + "dev": true, + "requires": { + "dtrace-provider": "~0.8", + "moment": "^2.10.6", + "mv": "~2", + "safe-json-stringify": "~1" + } + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cached-path-relative": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", + "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==" + }, + "call-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", + "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.0" + } + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "requires": { + "callsites": "^0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "capture-stack-trace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", + "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "chalk": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz", + "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, + "cheerio": { + "version": "1.0.0-rc.2", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz", + "integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=", + "dev": true, + "requires": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.0", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash": "^4.15.0", + "parse5": "^3.0.1" + }, + "dependencies": { + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + } + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "dependencies": { + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.12.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + } + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "clone-deep": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.3.0.tgz", + "integrity": "sha1-NIxhrpzb4O3+BT2R/0zFIdeQ7eg=", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "is-plain-object": "^2.0.1", + "kind-of": "^3.2.2", + "shallow-clone": "^0.1.2" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colors": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz", + "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=", + "dev": true + }, + "columnify": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz", + "integrity": "sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=", + "dev": true, + "requires": { + "strip-ansi": "^3.0.0", + "wcwidth": "^1.0.0" + } + }, + "combine-source-map": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", + "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", + "requires": { + "convert-source-map": "~1.1.0", + "inline-source-map": "~0.6.0", + "lodash.memoize": "~3.0.3", + "source-map": "~0.5.3" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "common-tags": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", + "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "compress-commons": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", + "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", + "dev": true, + "requires": { + "buffer-crc32": "^0.2.1", + "crc32-stream": "^2.0.0", + "normalize-path": "^2.0.0", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "configstore": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.5.tgz", + "integrity": "sha512-nlOhI4+fdzoK5xmJ+NY+1gZK56bwEaWZr8fYuXohZ9Vkc1o3a4T/R3M+yE/w7x/ZVJ1zF8c+oaOvF0dztdUgmA==", + "dev": true, + "requires": { + "dot-prop": "^4.2.1", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "convert-source-map": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=" + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "crc": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", + "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "dev": true, + "requires": { + "buffer": "^5.1.0" + } + }, + "crc32-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", + "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", + "dev": true, + "requires": { + "crc": "^3.4.4", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "dev": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "crx-parser": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/crx-parser/-/crx-parser-0.1.2.tgz", + "integrity": "sha1-fu7tnt3JXiLBiTguNGJARKiaWm0=", + "dev": true + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "dev": true + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "dev": true + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "dash-ast": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", + "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==" + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-uri-to-buffer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz", + "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==", + "dev": true + }, + "debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.1.0.tgz", + "integrity": "sha512-ZQVKfRVlwRfD150ndzEK8M90ABT+Y/JQKs4Y7U4MXdpuoUkkrr4DwKbVux3YjylA5bUMUj0Nc3pMxPJX6N2QQQ==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", + "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "dev": true, + "requires": { + "xregexp": "4.0.0" + }, + "dependencies": { + "xregexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", + "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==", + "dev": true + } + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deepcopy": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/deepcopy/-/deepcopy-0.6.3.tgz", + "integrity": "sha1-Y0eA8vhlardxr4+oQx7RzO5Vx7A=", + "dev": true + }, + "deepmerge": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", + "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==", + "dev": true + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + }, + "degenerator": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz", + "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=", + "dev": true, + "requires": { + "ast-types": "0.x.x", + "escodegen": "1.x.x", + "esprima": "3.x.x" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "deps-sort": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", + "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", + "requires": { + "JSONStream": "^1.0.3", + "shasum-object": "^1.0.0", + "subarg": "^1.0.0", + "through2": "^2.0.0" + } + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "requires": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + } + } + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "dispensary": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/dispensary/-/dispensary-0.27.0.tgz", + "integrity": "sha512-bG9pSBPH8wTEaugUIBAbBvBHynqOoGxefOT4YXlPoUc9AxQGDUO1uFHafDVWnsGWiSYvTUga0aZ9xThzfGQtlQ==", + "dev": true, + "requires": { + "array-from": "~2.1.1", + "async": "~2.6.0", + "natural-compare-lite": "~1.4.0", + "pino": "~5.8.0", + "request": "~2.88.0", + "sha.js": "~2.4.4", + "source-map-support": "~0.5.4", + "yargs": "~12.0.1" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pino": { + "version": "5.8.1", + "resolved": "https://registry.npmjs.org/pino/-/pino-5.8.1.tgz", + "integrity": "sha512-7bVFzUw3ffIfOM3t7MuQ9KsH+wX5bdGdQhGfccKgleoY7qG4FO3CmVSjywlFmmYGyMOISi1LDGC6JMEH7XkZJg==", + "dev": true, + "requires": { + "fast-json-parse": "^1.0.3", + "fast-redact": "^1.2.0", + "fast-safe-stringify": "^2.0.6", + "flatstr": "^1.0.5", + "pino-std-serializers": "^2.3.0", + "pump": "^3.0.0", + "quick-format-unescaped": "^3.0.0", + "sonic-boom": "^0.6.1" + } + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + } + } + }, + "dockerfile-ast": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/dockerfile-ast/-/dockerfile-ast-0.0.12.tgz", + "integrity": "sha512-cIV8oXkAxpIuN5XgG0TGg07nLDgrj4olkfrdT77OTA3VypscsYHBUg/FjHxW9K3oA+CyH4Th/qtoMgTVpzSobw==", + "dev": true, + "requires": { + "vscode-languageserver-types": "^3.5.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "dev": true, + "requires": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", + "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "dtrace-provider": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.8.tgz", + "integrity": "sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.14.0" + } + }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "requires": { + "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "elliptic": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "email-validator": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/email-validator/-/email-validator-2.0.4.tgz", + "integrity": "sha512-gYCwo7kh5S3IDyZPLZf6hSS0MnZT8QmJFqYvbqlDZSbwdZlY6QZWxJ4i/6UhITOJ4XzyI647Bm2MXKCLqnJ4nQ==", + "dev": true + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", + "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" + } + }, + "es6-promise": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-2.3.0.tgz", + "integrity": "sha1-lu258v2wGZWCKyY92KratnSBgbw=", + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + } + } + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-symbol": "3.1.1", + "event-emitter": "~0.3.5" + }, + "dependencies": { + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + } + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + } + } + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.0.1.tgz", + "integrity": "sha512-D5nG2rErquLUstgUaxJlWB5+gu+U/3VDY0fk/Iuq8y9CUFy/7Y6oF4N2cR1tV8knzQvciIbfqfohd359xTLIKQ==", + "dev": true, + "requires": { + "ajv": "^6.5.0", + "babel-code-frame": "^6.26.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^4.0.0", + "eslint-visitor-keys": "^1.0.0", + "espree": "^4.0.0", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.5.0", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^5.2.0", + "is-resolvable": "^1.1.0", + "js-yaml": "^3.11.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.5", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.1.0", + "require-uncached": "^1.0.3", + "semver": "^5.5.0", + "string.prototype.matchall": "^2.0.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^4.0.3", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "eslint-plugin-no-unsafe-innerhtml": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsafe-innerhtml/-/eslint-plugin-no-unsafe-innerhtml-1.0.16.tgz", + "integrity": "sha1-fQKHjI6b95FriINtWsEitC8VGTI=", + "dev": true, + "requires": { + "eslint": "^3.7.1" + }, + "dependencies": { + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "requires": { + "acorn": "^3.0.4" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true + } + } + }, + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "requires": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "ajv-keywords": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", + "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", + "dev": true + }, + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "^1.0.1" + } + }, + "eslint": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", + "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", + "dev": true, + "requires": { + "babel-code-frame": "^6.16.0", + "chalk": "^1.1.3", + "concat-stream": "^1.5.2", + "debug": "^2.1.1", + "doctrine": "^2.0.0", + "escope": "^3.6.0", + "espree": "^3.4.0", + "esquery": "^1.0.0", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "glob": "^7.0.3", + "globals": "^9.14.0", + "ignore": "^3.2.0", + "imurmurhash": "^0.1.4", + "inquirer": "^0.12.0", + "is-my-json-valid": "^2.10.0", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.5.1", + "json-stable-stringify": "^1.0.0", + "levn": "^0.3.0", + "lodash": "^4.0.0", + "mkdirp": "^0.5.0", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.1", + "pluralize": "^1.2.1", + "progress": "^1.1.8", + "require-uncached": "^1.0.2", + "shelljs": "^0.7.5", + "strip-bom": "^3.0.0", + "strip-json-comments": "~2.0.1", + "table": "^3.7.8", + "text-table": "~0.2.0", + "user-home": "^2.0.0" + } + }, + "espree": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "requires": { + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "inquirer": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", + "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", + "dev": true, + "requires": { + "ansi-escapes": "^1.1.0", + "ansi-regex": "^2.0.0", + "chalk": "^1.0.0", + "cli-cursor": "^1.0.1", + "cli-width": "^2.0.0", + "figures": "^1.3.5", + "lodash": "^4.3.0", + "readline2": "^1.0.1", + "run-async": "^0.1.0", + "rx-lite": "^3.1.2", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.0", + "through": "^2.3.6" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "pluralize": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", + "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", + "dev": true + }, + "progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + } + }, + "run-async": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", + "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", + "dev": true, + "requires": { + "once": "^1.3.0" + } + }, + "shelljs": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", + "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "table": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", + "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", + "dev": true, + "requires": { + "ajv": "^4.7.0", + "ajv-keywords": "^1.0.0", + "chalk": "^1.1.1", + "lodash": "^4.0.0", + "slice-ansi": "0.0.4", + "string-width": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + } + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "dev": true + }, + "espree": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz", + "integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==", + "dev": true, + "requires": { + "acorn": "^6.0.2", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.0" + } + }, + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + }, + "esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "event-to-promise": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/event-to-promise/-/event-to-promise-0.8.0.tgz", + "integrity": "sha1-S4TxF3K28l93Uvx02XFTGsb1tiY=", + "dev": true + }, + "events": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==" + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + } + } + }, + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "dev": true, + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz", + "integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "fast-json-parse": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz", + "integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==", + "dev": true + }, + "fast-json-patch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-2.2.1.tgz", + "integrity": "sha512-4j5uBaTnsYAV5ebkidvxiLUYOwjQ+JSFljeqfTxCrH9bDmlCQaOJFS84oDJ2rAXZq2yskmk3ORfoP9DCwqFNig==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fast-redact": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-1.5.0.tgz", + "integrity": "sha512-Afo61CgUjkzdvOKDHn08qnZ0kwck38AOGcMlvSGzvJbIab6soAP5rdoQayecGCDsD69AiF9vJBXyq31eoEO2tQ==", + "dev": true + }, + "fast-safe-stringify": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", + "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "requires": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "firefox-profile": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/firefox-profile/-/firefox-profile-1.2.0.tgz", + "integrity": "sha512-TTEFfPOkyaz4EWx/5ZDQC1mJAe3a+JgVcchpIfD4Tvx1UspwlTJRJxOYA35x/z2iJcxaF6aW2rdh6oj6qwgd2g==", + "dev": true, + "requires": { + "adm-zip": "~0.4.x", + "archiver": "~2.1.0", + "async": "~2.5.0", + "fs-extra": "~4.0.2", + "ini": "~1.3.3", + "jetpack-id": "1.0.0", + "lazystream": "~1.0.0", + "lodash": "~4.17.2", + "minimist": "^1.1.1", + "uuid": "^3.0.0", + "xml2js": "~0.4.4" + }, + "dependencies": { + "async": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", + "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", + "dev": true, + "requires": { + "lodash": "^4.14.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + } + } + }, + "first-chunk-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz", + "integrity": "sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA=", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "flat-cache": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", + "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "dev": true, + "requires": { + "circular-json": "^0.3.1", + "graceful-fs": "^4.1.2", + "rimraf": "~2.6.2", + "write": "^0.2.1" + } + }, + "flatstr": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/flatstr/-/flatstr-1.0.12.tgz", + "integrity": "sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==", + "dev": true + }, + "fluent-syntax": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/fluent-syntax/-/fluent-syntax-0.7.0.tgz", + "integrity": "sha512-T0iqfhC40jrs3aDjYOKgzIQjjhsH2Fa6LnXB6naPv0ymW3DeYMUFa89y9aLKMpi1P9nl2vEimK7blx4tVnUWBg==", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.0.1.tgz", + "integrity": "sha512-p+CXqK/iLvDESUWdn3NA3JVO9HxdfI+iXx8xR3DqWgKZvQNiEVpAyUQo0lmwz8rqksb4xaGerG291xuwwhX2kA==", + "dev": true, + "optional": true + }, + "ftp": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", + "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", + "dev": true, + "requires": { + "readable-stream": "1.1.x", + "xregexp": "2.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "fx-runner": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/fx-runner/-/fx-runner-1.0.9.tgz", + "integrity": "sha1-eyPzdz3HaqzELxHZr/J2lnXLY/A=", + "dev": true, + "requires": { + "commander": "2.9.0", + "lodash": "4.17.10", + "shell-quote": "1.6.1", + "spawn-sync": "1.0.15", + "when": "3.7.7", + "which": "1.2.4", + "winreg": "0.0.12" + }, + "dependencies": { + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "isexe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz", + "integrity": "sha1-NvPiLmB1CSD15yQaR2qMakInWtA=", + "dev": true + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "which": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.4.tgz", + "integrity": "sha1-FVf5YIBgTlsRs1meufRbUKnv1yI=", + "dev": true, + "requires": { + "is-absolute": "^0.1.7", + "isexe": "^1.1.1" + } + } + } + }, + "generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "dev": true, + "requires": { + "is-property": "^1.0.2" + } + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "^1.0.0" + } + }, + "get-assigned-identifiers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", + "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==" + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-intrinsic": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", + "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "get-uri": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.4.tgz", + "integrity": "sha512-v7LT/s8kVjs+Tx0ykk1I+H/rbpzkHvuIq87LmeXptcf5sNWm9uQiwjNAt94SJPA1zOlCntmnOlJvVWKmzsxG8Q==", + "dev": true, + "requires": { + "data-uri-to-buffer": "1", + "debug": "2", + "extend": "~3.0.2", + "file-uri-to-path": "1", + "ftp": "~0.3.10", + "readable-stream": "2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "gettext-parser": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.1.0.tgz", + "integrity": "sha1-LFpmONiTk0ubVQN9CtgstwBLJnk=", + "dev": true, + "requires": { + "encoding": "^0.1.11" + } + }, + "git-rev-sync": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/git-rev-sync/-/git-rev-sync-1.9.1.tgz", + "integrity": "sha1-oMLj3TkqvPa3aWLif8dfsyI0Sc4=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5", + "graceful-fs": "4.1.11", + "shelljs": "0.7.7" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "shelljs": { + "version": "0.7.7", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.7.tgz", + "integrity": "sha1-svXHfvlxSPS09uImguELuoZnz/E=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + } + } + }, + "github-url-from-git": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.5.0.tgz", + "integrity": "sha1-+YX+3MCpqledyI16/waNVcxiUaA=", + "dev": true + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "dev": true, + "requires": { + "ini": "^1.3.4" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, + "graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", + "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + }, + "dependencies": { + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + } + } + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + } + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-color": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", + "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "has-yarn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-1.0.0.tgz", + "integrity": "sha1-ieJdtgS3Jcj1l2//Ct3JIbgopac=", + "dev": true + }, + "hasbin": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/hasbin/-/hasbin-1.2.3.tgz", + "integrity": "sha1-eMWSaJPIAhXCtWiuH9P8q3omlrA=", + "dev": true, + "requires": { + "async": "~1.5" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "home-or-tmp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-3.0.0.tgz", + "integrity": "sha1-V6j+JM8zzdUkhgoVgh3cJchmcfs=", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "htmlescape": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", + "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=" + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "dev": true, + "requires": { + "agent-base": "4", + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", + "dev": true + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "inline-source-map": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", + "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", + "requires": { + "source-map": "~0.5.3" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "inquirer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", + "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.1.0", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^5.5.2", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "insert-module-globals": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", + "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", + "requires": { + "JSONStream": "^1.0.3", + "acorn-node": "^1.5.2", + "combine-source-map": "^0.8.0", + "concat-stream": "^1.6.1", + "is-buffer": "^1.1.0", + "path-is-absolute": "^1.0.1", + "process": "~0.11.0", + "through2": "^2.0.0", + "undeclared-identifiers": "^1.1.2", + "xtend": "^4.0.0" + } + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "is-absolute": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz", + "integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=", + "dev": true, + "requires": { + "is-relative": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" + }, + "is-core-module": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz", + "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==", + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-generator-function": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.7.tgz", + "integrity": "sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw==" + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "dev": true, + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + } + }, + "is-mergeable-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-mergeable-object/-/is-mergeable-object-1.1.0.tgz", + "integrity": "sha512-JfyDDwUdtS4yHCgUpxOyKB9dnfZ0gecufxB0eytX6BmSXSE+8dbxDGt+V7CNRIRJ9sYFV/WQt2KJG6hNob2sBw==", + "dev": true + }, + "is-my-ip-valid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", + "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", + "dev": true + }, + "is-my-json-valid": { + "version": "2.20.5", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.5.tgz", + "integrity": "sha512-VTPuvvGQtxvCeghwspQu1rBgjYUT6FGxPlvFKbYuFtgc4ADsX3U5ihZOYN0qyU6u+d4X9xXb0IT5O6QpXKt87A==", + "dev": true, + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "is-my-ip-valid": "^1.0.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" + } + }, + "is-negative-zero": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=" + }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true + }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true + }, + "is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-relative": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz", + "integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=", + "dev": true + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typed-array": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.3.tgz", + "integrity": "sha512-BSYUBOK/HJibQ30wWkWold5txYwMUXQct9YHAQJr8fSwvZoiglcqB0pd7vEN23+Tsi9IUEjztdOSzl4qLVYGTQ==", + "requires": { + "available-typed-arrays": "^1.0.0", + "es-abstract": "^1.17.4", + "foreach": "^2.0.5", + "has-symbols": "^1.0.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "jed": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jed/-/jed-1.1.1.tgz", + "integrity": "sha1-elSbvZ/+FYWwzQoZHiAwVb7ldLQ=", + "dev": true + }, + "jetpack-id": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jetpack-id/-/jetpack-id-1.0.0.tgz", + "integrity": "sha1-LPn7rkbYB0/Ba33gBxyO/rykc6Y=", + "dev": true + }, + "js-select": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/js-select/-/js-select-0.6.0.tgz", + "integrity": "sha1-woTiKCTVknrsli3N8kcXSu+w0ZA=", + "dev": true, + "requires": { + "JSONSelect": "0.2.1", + "traverse": "0.4.x" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + } + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "json-merge-patch": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-merge-patch/-/json-merge-patch-0.2.3.tgz", + "integrity": "sha1-+ixrWvh9p3uuKWalidUuI+2B/kA=", + "dev": true, + "requires": { + "deep-equal": "^1.0.0" + } + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" + }, + "jsonpointer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz", + "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==", + "dev": true + }, + "jsonwebtoken": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.2.1.tgz", + "integrity": "sha512-l8rUBr0fqYYwPc8/ZGrue7GiW7vWdZtZqelxo4Sd5lMvuEeCK8/wS54sEo6tJhdZ6hqfutsj6COgC0d1XdbHGw==", + "dev": true, + "requires": { + "jws": "^3.1.4", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "xtend": "^4.0.1" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jszip": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.5.0.tgz", + "integrity": "sha512-WRtu7TPCmYePR1nazfrtuF216cIVon/3GWOvHS9QR5bIwSbnxtdpma6un3jyGGNhHsKCSzn5Ypk+EkDRvTGiFA==", + "dev": true, + "requires": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "set-immediate-shim": "~1.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dev": true, + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dev": true, + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "labeled-stream-splicer": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", + "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", + "requires": { + "inherits": "^2.0.1", + "stream-splicer": "^2.0.0" + } + }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "dev": true, + "requires": { + "package-json": "^4.0.0" + } + }, + "lazy-cache": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", + "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=", + "dev": true + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "dev": true, + "requires": { + "readable-stream": "^2.0.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "requires": { + "immediate": "~3.0.5" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + }, + "lodash.assignin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", + "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=", + "dev": true + }, + "lodash.clone": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "dev": true + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "dev": true + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=", + "dev": true + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=", + "dev": true + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=", + "dev": true + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", + "dev": true + }, + "lodash.memoize": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", + "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=" + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", + "dev": true + }, + "lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "macos-release": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-1.1.0.tgz", + "integrity": "sha512-mmLbumEYMi5nXReB9js3WGsB8UE6cDBWyIO62Z4DNx6GbRhDxHNjA1MlzSpJ2S2KM1wyiPRA0d19uHWYYvMHjA==", + "dev": true + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "mime": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==" + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "requires": { + "mime-db": "1.44.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "dev": true, + "requires": { + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", + "dev": true + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, + "module-deps": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", + "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", + "requires": { + "JSONStream": "^1.0.3", + "browser-resolve": "^2.0.0", + "cached-path-relative": "^1.0.2", + "concat-stream": "~1.6.0", + "defined": "^1.0.0", + "detective": "^5.2.0", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "parents": "^1.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.4.0", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", + "dev": true, + "optional": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "multimatch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", + "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", + "dev": true, + "requires": { + "array-differ": "^1.0.0", + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "minimatch": "^3.0.0" + } + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "mv": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", + "integrity": "sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=", + "dev": true, + "optional": true, + "requires": { + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "dev": true, + "optional": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "rimraf": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", + "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=", + "dev": true, + "optional": true, + "requires": { + "glob": "^6.0.1" + } + } + } + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha1-F7CVgZiJef3a/gIB6TG6kzyWy7Q=", + "dev": true + }, + "nconf": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.10.0.tgz", + "integrity": "sha512-fKiXMQrpP7CYWJQzKkPPx9hPgmq+YLDyxcG9N8RpiE9FoCkCbzD0NyW0YhE3xn3Aupe7nnDeIx4PFzYehpHT9Q==", + "dev": true, + "requires": { + "async": "^1.4.0", + "ini": "^1.3.0", + "secure-keys": "^1.0.0", + "yargs": "^3.19.0" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "dev": true, + "requires": { + "camelcase": "^2.0.1", + "cliui": "^3.0.3", + "decamelize": "^1.1.1", + "os-locale": "^1.4.0", + "string-width": "^1.0.1", + "window-size": "^0.1.4", + "y18n": "^3.2.0" + } + } + } + }, + "ncp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", + "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", + "dev": true, + "optional": true + }, + "needle": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.5.2.tgz", + "integrity": "sha512-LbRIwS9BfkPvNwNHlsA41Q29kL2L/6VaOJ0qisM5lLWsTV3nP15abO5ITL6L81zqFhzjRKDAYjpcBcwM0AVvLQ==", + "dev": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "netmask": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", + "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-forge": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", + "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==", + "dev": true + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true + }, + "node-notifier": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz", + "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==", + "dev": true, + "requires": { + "growly": "^1.3.0", + "semver": "^5.4.1", + "shellwords": "^0.1.1", + "which": "^1.3.0" + } + }, + "nomnom": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", + "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=", + "dev": true, + "requires": { + "chalk": "~0.4.0", + "underscore": "~1.6.0" + }, + "dependencies": { + "ansi-styles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", + "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=", + "dev": true + }, + "chalk": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", + "dev": true, + "requires": { + "ansi-styles": "~1.0.0", + "has-color": "~0.1.0", + "strip-ansi": "~0.1.0" + } + }, + "strip-ansi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", + "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=", + "dev": true + } + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==" + }, + "object-is": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.3.tgz", + "integrity": "sha512-teyqLvFWzLkq5B9ki8FVWA902UER2qkxmdA4nLf+wjOLAWgxzCWZNCxpDq9MvE8MmhWNr+I8w3BN49Vx36Y6Xg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + }, + "dependencies": { + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + } + } + }, + "opn": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.1.tgz", + "integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==", + "dev": true, + "requires": { + "execa": "^0.10.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "os-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-2.0.1.tgz", + "integrity": "sha1-uaOGNhwXrjohc27wWZQFyajF3F4=", + "dev": true, + "requires": { + "macos-release": "^1.0.0", + "win-release": "^1.0.0" + } + }, + "os-shim": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", + "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "pac-proxy-agent": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-2.0.2.tgz", + "integrity": "sha512-cDNAN1Ehjbf5EHkNY5qnRhGPUCp6SnpyVof5fRzN800QV1Y2OkzbH9rmjZkbBRa8igof903yOnjIl6z0SlAhxA==", + "dev": true, + "requires": { + "agent-base": "^4.2.0", + "debug": "^3.1.0", + "get-uri": "^2.0.0", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.1", + "pac-resolver": "^3.0.0", + "raw-body": "^2.2.0", + "socks-proxy-agent": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "pac-resolver": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-3.0.0.tgz", + "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==", + "dev": true, + "requires": { + "co": "^4.6.0", + "degenerator": "^1.0.4", + "ip": "^1.1.5", + "netmask": "^1.0.6", + "thunkify": "^2.1.2" + } + }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "dev": true, + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + } + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "parents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", + "requires": { + "path-platform": "~0.11.15" + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parse5": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", + "dev": true, + "requires": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, + "path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "path-platform": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=" + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pino": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-5.9.0.tgz", + "integrity": "sha512-6sHy38gWsZbrmYq6vk343VCThy93ZdVfmLsHDVzbl/j621SjSaxCcS/ySmxK/hRmq8jpQb3n44dNRIeqbbQw6A==", + "dev": true, + "requires": { + "fast-json-parse": "^1.0.3", + "fast-redact": "^1.4.0", + "fast-safe-stringify": "^2.0.6", + "flatstr": "^1.0.5", + "pino-std-serializers": "^2.3.0", + "pump": "^3.0.0", + "quick-format-unescaped": "^3.0.0", + "sonic-boom": "^0.6.3" + } + }, + "pino-std-serializers": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-2.5.0.tgz", + "integrity": "sha512-wXqbqSrIhE58TdrxxlfLwU9eDhrzppQDvGhBEr1gYbzzM4KKo3Y63gSjiDXRKLVS2UOXdPNR2v+KnQgNrs+xUg==", + "dev": true + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, + "pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true + }, + "po2json": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/po2json/-/po2json-0.4.5.tgz", + "integrity": "sha1-R7spUtoy1Yob4vJWpZjuvAt0URg=", + "dev": true, + "requires": { + "gettext-parser": "1.1.0", + "nomnom": "1.8.1" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.6.tgz", + "integrity": "sha512-Nq/rNjnHFcKgCDDZYO0lNsl6YWe6U7tTy+ESN+PnLxebL8uBtYX59HZqvrj7YLK5UCyll2hqDsJOo3ndzEW8Ug==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.5.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "probe-image-size": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-4.0.0.tgz", + "integrity": "sha512-nm7RvWUxps+2+jZKNLkd04mNapXNariS6G5WIEVzvAqjx7EUuKcY1Dp3e6oUK7GLwzJ+3gbSbPLFAASHFQrPcQ==", + "dev": true, + "requires": { + "any-promise": "^1.3.0", + "deepmerge": "^2.0.1", + "inherits": "^2.0.3", + "next-tick": "^1.0.0", + "request": "^2.83.0", + "stream-parser": "~0.3.1" + } + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "requires": { + "asap": "~2.0.3" + } + }, + "proxy-agent": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-2.3.1.tgz", + "integrity": "sha512-CNKuhC1jVtm8KJYFTS2ZRO71VCBx3QSA92So/e6NrY6GoJonkx3Irnk4047EsCcswczwqAekRj3s8qLRGahSKg==", + "dev": true, + "requires": { + "agent-base": "^4.2.0", + "debug": "^3.1.0", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.1", + "lru-cache": "^4.1.2", + "pac-proxy-agent": "^2.0.1", + "proxy-from-env": "^1.0.0", + "socks-proxy-agent": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + }, + "quick-format-unescaped": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-3.0.3.tgz", + "integrity": "sha512-dy1yjycmn9blucmJLXOfZDx1ikZJUi6E8bBZLnhPG5gBrVhHXx2xVyqqgKBubVNEXmx51dBACMHpoMQK/N/AXQ==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "raw-body": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", + "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.3", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + } + } + }, + "read-only-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", + "requires": { + "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + } + } + }, + "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==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "readline2": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", + "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "mute-stream": "0.0.5" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "mute-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", + "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", + "dev": true + } + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "recursive-readdir": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", + "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", + "dev": true, + "requires": { + "minimatch": "3.0.4" + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } + } + }, + "regexpp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", + "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", + "dev": true + }, + "registry-auth-token": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", + "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, + "relaxed-json": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/relaxed-json/-/relaxed-json-1.0.1.tgz", + "integrity": "sha1-fI1KovCVcEzQIOMugJm8rhA/C9Q=", + "dev": true, + "requires": { + "chalk": "^1.0.0", + "commander": "^2.6.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "requires": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + } + }, + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "rx-lite": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", + "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", + "dev": true + }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "dev": true, + "requires": { + "rx-lite": "*" + } + }, + "rxjs": { + "version": "5.5.12", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", + "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", + "dev": true, + "requires": { + "symbol-observable": "1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safe-json-stringify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", + "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", + "dev": true, + "optional": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "secure-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz", + "integrity": "sha1-8MgtmKOxOah3aogIBQuCRDEIf8o=", + "dev": true + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "dev": true, + "requires": { + "semver": "^5.0.3" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", + "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", + "dev": true, + "requires": { + "is-extendable": "^0.1.1", + "kind-of": "^2.0.1", + "lazy-cache": "^0.2.3", + "mixin-object": "^2.0.1" + }, + "dependencies": { + "kind-of": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", + "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", + "dev": true, + "requires": { + "is-buffer": "^1.0.2" + } + } + } + }, + "shasum-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", + "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", + "requires": { + "fast-safe-stringify": "^2.0.7" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shell-quote": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", + "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "requires": { + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" + } + }, + "shelljs": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz", + "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "sign-addon": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/sign-addon/-/sign-addon-0.3.1.tgz", + "integrity": "sha512-feaoG7+8IXr9SymOEd8VTZCSlVZArWcBDZ33IIdfXlU5NWWzXdCxCjPDqAkLQplFa7RRZr1S4lSmgMPn80Ze1A==", + "dev": true, + "requires": { + "babel-polyfill": "6.16.0", + "deepcopy": "0.6.3", + "es6-error": "4.0.0", + "es6-promisify": "5.0.0", + "jsonwebtoken": "8.2.1", + "mz": "2.5.0", + "request": "2.87.0", + "source-map-support": "0.4.6", + "stream-to-promise": "2.2.0", + "when": "3.7.7" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "babel-polyfill": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.16.0.tgz", + "integrity": "sha1-LUUCHfh+JqN0ttTRqcZZZNF/JCI=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.1", + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + } + }, + "es6-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.0.0.tgz", + "integrity": "sha1-8JTHBB9mJZm7EnINoFnWucf/D0A=", + "dev": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "dev": true, + "requires": { + "ajv": "^5.1.0", + "har-schema": "^2.0.0" + } + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "mz": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.5.0.tgz", + "integrity": "sha1-KFkCXfA9RrV7sxcXSxlkd85kzsE=", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz", + "integrity": "sha1-0z65XQ0gAaS+OWWXB8UbDLcc4Ck=", + "dev": true + }, + "request": { + "version": "2.87.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", + "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-support": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.6.tgz", + "integrity": "sha1-MlUqpktFg5KoXqs7C17mFScWeus=", + "dev": true, + "requires": { + "source-map": "^0.5.3" + } + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "dev": true, + "requires": { + "punycode": "^1.4.1" + } + } + } + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" + }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0" + } + }, + "smart-buffer": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz", + "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + } + }, + "snyk": { + "version": "1.110.2", + "resolved": "https://registry.npmjs.org/snyk/-/snyk-1.110.2.tgz", + "integrity": "sha512-SQE4sudrscd48EoRJqy5h5S6c8YBiOw0r0Se3rfg1l6ElJGgCB9je6XEzfe+UmfES06D7ueFYepiQPxTwH4Qww==", + "dev": true, + "requires": { + "abbrev": "^1.1.1", + "ansi-escapes": "^3.1.0", + "chalk": "^2.4.1", + "configstore": "^3.1.2", + "debug": "^3.1.0", + "hasbin": "^1.2.3", + "inquirer": "^3.0.0", + "lodash": "^4.17.5", + "needle": "^2.2.4", + "opn": "^5.2.0", + "os-name": "^2.0.1", + "proxy-agent": "^2.0.0", + "proxy-from-env": "^1.0.0", + "recursive-readdir": "^2.2.2", + "semver": "^5.5.0", + "snyk-config": "2.2.0", + "snyk-docker-plugin": "1.12.3", + "snyk-go-plugin": "1.6.0", + "snyk-gradle-plugin": "2.1.1", + "snyk-module": "1.9.1", + "snyk-mvn-plugin": "2.0.0", + "snyk-nodejs-lockfile-parser": "1.7.1", + "snyk-nuget-plugin": "1.6.5", + "snyk-php-plugin": "1.5.1", + "snyk-policy": "1.13.1", + "snyk-python-plugin": "1.9.0", + "snyk-resolve": "1.0.1", + "snyk-resolve-deps": "4.0.2", + "snyk-sbt-plugin": "2.0.0", + "snyk-tree": "^1.0.0", + "snyk-try-require": "1.3.1", + "source-map-support": "^0.5.9", + "tempfile": "^2.0.0", + "then-fs": "^2.0.0", + "undefsafe": "^2.0.0", + "uuid": "^3.2.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "dev": true + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "snyk-config": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/snyk-config/-/snyk-config-2.2.0.tgz", + "integrity": "sha512-mq0wbP/AgjcmRq5i5jg2akVVV3iSYUPTowZwKn7DChRLDL8ySOzWAwan+ImXiyNbrWo87FNI/15O6MpOnTxOIg==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "lodash": "^4.17.5", + "nconf": "^0.10.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "snyk-docker-plugin": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/snyk-docker-plugin/-/snyk-docker-plugin-1.12.3.tgz", + "integrity": "sha512-ZbvaFCPCd0wxhqxjzU/iyf39tKlq2nvI9nPW32uZV3RGdHrkQH55BzCtBCF9d0dapxX+PKgae/4u2BKNw8hd9Q==", + "dev": true, + "requires": { + "debug": "^3", + "dockerfile-ast": "0.0.12", + "tslib": "^1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "snyk-go-plugin": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/snyk-go-plugin/-/snyk-go-plugin-1.6.0.tgz", + "integrity": "sha512-E6aYw7XAXSs2wJR3fU+vGQ1lVyjAw8PHIQYQwBwMkTHByhJIWPcu6Hy/jT5LcjJHlhYXlpOuk53HeLVK+kcXrQ==", + "dev": true, + "requires": { + "graphlib": "^2.1.1", + "tmp": "0.0.33", + "toml": "^2.3.2" + } + }, + "snyk-gradle-plugin": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snyk-gradle-plugin/-/snyk-gradle-plugin-2.1.1.tgz", + "integrity": "sha512-aFeVC5y3XkJ5BxknHhtYo76as3xJbzSQlXACGZrQZGQ/w/UhNdM8VI1QB6Eq4uEzexleB/hcJwYxNmhI2CNCeA==", + "dev": true, + "requires": { + "clone-deep": "^0.3.0" + } + }, + "snyk-module": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/snyk-module/-/snyk-module-1.9.1.tgz", + "integrity": "sha512-A+CCyBSa4IKok5uEhqT+hV/35RO6APFNLqk9DRRHg7xW2/j//nPX8wTSZUPF8QeRNEk/sX+6df7M1y6PBHGSHA==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "hosted-git-info": "^2.7.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "snyk-mvn-plugin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-2.0.0.tgz", + "integrity": "sha512-9jAhZhv+7YcqtoQYCYlgMoxK+dWBKlk+wkX27Ebg3vNddNop9q5jZitRXTjsXwfSUZHRt+Ptw1f8vei9kjzZVg==", + "dev": true + }, + "snyk-nodejs-lockfile-parser": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/snyk-nodejs-lockfile-parser/-/snyk-nodejs-lockfile-parser-1.7.1.tgz", + "integrity": "sha512-0gHELqMhzUxb/t3Tg6d6G9LTDioOXCrEMt9aetOeV8wD/ZRL5VFNjwcdrm8qILLqzDFaFjFIyMc66c0OL4zFAQ==", + "dev": true, + "requires": { + "@yarnpkg/lockfile": "^1.0.2", + "graphlib": "^2.1.5", + "lodash": "4.17.10", + "source-map-support": "^0.5.7", + "tslib": "^1.9.3", + "uuid": "^3.3.2" + }, + "dependencies": { + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "snyk-nuget-plugin": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.6.5.tgz", + "integrity": "sha512-3qIndzkxCxiaGvAwMkqChbChGdwhNePPyfi0WjhC/nJGwecqU3Fb/NeTW7lgyT+xoq/dFnzW0DgBJ4+AyNA2gA==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "jszip": "^3.1.5", + "lodash": "^4.17.10", + "xml2js": "^0.4.17" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "snyk-php-plugin": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/snyk-php-plugin/-/snyk-php-plugin-1.5.1.tgz", + "integrity": "sha512-g5QSHBsRJ2O4cNxKC4zlWwnQYiSgQ77Y6QgGmo3ihPX3VLZrc1amaZIpPsNe1jwXirnGj2rvR5Xw+jDjbzvHFw==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "lodash": "^4.17.5", + "path": "0.12.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "snyk-policy": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/snyk-policy/-/snyk-policy-1.13.1.tgz", + "integrity": "sha512-l9evS3Yk70xyvajjg+I6Ij7fr7gxpVRMZl0J1xNpWps/IVu4DSGih3aMmXi47VJozr4A/eFyj7R1lIr2GhqJCA==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "email-validator": "^2.0.4", + "js-yaml": "^3.12.0", + "lodash.clonedeep": "^4.5.0", + "semver": "^5.6.0", + "snyk-module": "^1.9.1", + "snyk-resolve": "^1.0.1", + "snyk-try-require": "^1.3.1", + "then-fs": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "snyk-python-plugin": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.9.0.tgz", + "integrity": "sha512-zlyOHoCpmyVym9AwkboeepzEGrY3gHsM7eWP/nJ85TgCnQO5H5orKm3RL57PNbWRY+BnDmoQQ+udQgjym2+3sg==", + "dev": true, + "requires": { + "tmp": "0.0.33" + } + }, + "snyk-resolve": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/snyk-resolve/-/snyk-resolve-1.0.1.tgz", + "integrity": "sha512-7+i+LLhtBo1Pkth01xv+RYJU8a67zmJ8WFFPvSxyCjdlKIcsps4hPQFebhz+0gC5rMemlaeIV6cqwqUf9PEDpw==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "then-fs": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "snyk-resolve-deps": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/snyk-resolve-deps/-/snyk-resolve-deps-4.0.2.tgz", + "integrity": "sha512-nlw62wiWhGOTw3BD3jVIwrUkRR4iNxEkkO4Y/PWs8BsUWseGu1H6QgLesFXJb3qx7ANJ5UbUCJMgV+eL0Lf9cA==", + "dev": true, + "requires": { + "ansicolors": "^0.3.2", + "debug": "^3.2.5", + "lodash.assign": "^4.2.0", + "lodash.assignin": "^4.2.0", + "lodash.clone": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.get": "^4.4.2", + "lodash.set": "^4.3.2", + "lru-cache": "^4.0.0", + "semver": "^5.5.1", + "snyk-module": "^1.6.0", + "snyk-resolve": "^1.0.0", + "snyk-tree": "^1.0.0", + "snyk-try-require": "^1.1.1", + "then-fs": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "snyk-sbt-plugin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/snyk-sbt-plugin/-/snyk-sbt-plugin-2.0.0.tgz", + "integrity": "sha512-bOUqsQ1Lysnwfnvf4QQIBfC0M0ZVuhlshTKd7pNwgAJ41YEPJNrPEpzOePl/HfKtwilEEwHh5YHvjYGegEKx0A==", + "dev": true + }, + "snyk-tree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/snyk-tree/-/snyk-tree-1.0.0.tgz", + "integrity": "sha1-D7cxdtvzLngvGRAClBYESPkRHMg=", + "dev": true, + "requires": { + "archy": "^1.0.0" + } + }, + "snyk-try-require": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/snyk-try-require/-/snyk-try-require-1.3.1.tgz", + "integrity": "sha1-bgJvkuZK9/zM6h7lPVJIQeQYohI=", + "dev": true, + "requires": { + "debug": "^3.1.0", + "lodash.clonedeep": "^4.3.0", + "lru-cache": "^4.0.0", + "then-fs": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "socks": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz", + "integrity": "sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=", + "dev": true, + "requires": { + "ip": "^1.1.4", + "smart-buffer": "^1.0.13" + } + }, + "socks-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz", + "integrity": "sha512-ZwEDymm204mTzvdqyUqOdovVr2YRd2NYskrYrF2LXyZ9qDiMAoFESGK8CRphiO7rtbo2Y757k2Nia3x2hGtalA==", + "dev": true, + "requires": { + "agent-base": "^4.1.0", + "socks": "^1.1.10" + } + }, + "sonic-boom": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-0.6.3.tgz", + "integrity": "sha512-TMhj6kDJk9LLzCTTL8+HPCfFn4MwkE4P6k2Up89Rz949+DSRw90V62upRKC99rJEOmu4E9ljH5Otu2JSRmx+bg==", + "dev": true, + "requires": { + "flatstr": "^1.0.8" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.3.tgz", + "integrity": "sha512-eKkTgWYeBOQqFGXRfKabMFdnWepo51vWqEdoeikaEPFiJC7MCU5j2h4+6Q8npkZTeLGbSyecZvRxiSoWl3rh+w==", + "dev": true, + "requires": { + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spawn-sync": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", + "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", + "dev": true, + "requires": { + "concat-stream": "^1.4.7", + "os-shim": "^0.1.2" + } + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", + "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==", + "dev": true + }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "dev": true, + "requires": { + "through": "2" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "requires": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + } + }, + "stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", + "requires": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-http": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.1.1.tgz", + "integrity": "sha512-S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg==", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" + } + }, + "stream-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", + "integrity": "sha1-FhhUhpRCACGhGC/wrxkRwSl2F3M=", + "dev": true, + "requires": { + "debug": "2" + } + }, + "stream-splicer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", + "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-to-array": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/stream-to-array/-/stream-to-array-2.3.0.tgz", + "integrity": "sha1-u/azn19D7DC8cbq8s3VXrOzzQ1M=", + "dev": true, + "requires": { + "any-promise": "^1.1.0" + } + }, + "stream-to-promise": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/stream-to-promise/-/stream-to-promise-2.2.0.tgz", + "integrity": "sha1-se2y4cjLESidG1A8CNPyrvUeZQ8=", + "dev": true, + "requires": { + "any-promise": "~1.3.0", + "end-of-stream": "~1.1.0", + "stream-to-array": "~2.3.0" + }, + "dependencies": { + "end-of-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz", + "integrity": "sha1-6TUyWLqpEIll78QcsO+K3i88+wc=", + "dev": true, + "requires": { + "once": "~1.3.0" + } + }, + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "dev": true, + "requires": { + "wrappy": "1" + } + } + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string.prototype.matchall": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-2.0.0.tgz", + "integrity": "sha512-WoZ+B2ypng1dp4iFLF2kmZlwwlE19gmjgKuhL1FJfDgCREWb3ye3SDVHSzLH6bxfnvYmkCxbzkmWcQZHA4P//Q==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.10.0", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "regexp.prototype.flags": "^1.2.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } + } + }, + "string.prototype.trimend": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz", + "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + } + }, + "string.prototype.trimstart": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz", + "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-bom-buf": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz", + "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", + "dev": true, + "requires": { + "is-utf8": "^0.2.1" + } + }, + "strip-bom-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-3.0.0.tgz", + "integrity": "sha1-lWvMXYRDD2klapDtgjdlzYWOFZw=", + "dev": true, + "requires": { + "first-chunk-stream": "^2.0.0", + "strip-bom-buf": "^1.0.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", + "requires": { + "minimist": "^1.1.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "dev": true + }, + "syntax-error": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", + "requires": { + "acorn-node": "^1.2.0" + } + }, + "table": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz", + "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", + "dev": true, + "requires": { + "ajv": "^6.0.1", + "ajv-keywords": "^3.0.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", + "slice-ansi": "1.0.0", + "string-width": "^2.1.1" + }, + "dependencies": { + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + } + } + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=", + "dev": true + }, + "tempfile": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz", + "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=", + "dev": true, + "requires": { + "temp-dir": "^1.0.0", + "uuid": "^3.0.1" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "dev": true, + "requires": { + "execa": "^0.7.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "then-fs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/then-fs/-/then-fs-2.0.0.tgz", + "integrity": "sha1-cveS3Z0xcFqRrhnr/Piz+WjIHaI=", + "dev": true, + "requires": { + "promise": ">=3.2 <8" + } + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "thunkify": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", + "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=", + "dev": true + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true + }, + "timers-browserify": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", + "requires": { + "process": "~0.11.0" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + }, + "toml": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz", + "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==", + "dev": true + }, + "tosource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tosource/-/tosource-1.0.0.tgz", + "integrity": "sha1-QtiN0RZhi88A1hBt1URvNCeQL/E=", + "dev": true + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "traverse": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.4.6.tgz", + "integrity": "sha1-0EsigOTHkqWBVCnve4tgxkyczDQ=", + "dev": true + }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true + }, + "tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "umd": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", + "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==" + }, + "undeclared-identifiers": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", + "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", + "requires": { + "acorn-node": "^1.3.0", + "dash-ast": "^1.0.0", + "get-assigned-identifiers": "^1.2.0", + "simple-concat": "^1.0.0", + "xtend": "^4.0.1" + } + }, + "undefsafe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz", + "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==", + "dev": true, + "requires": { + "debug": "^2.2.0" + } + }, + "underscore": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "dev": true + }, + "underscore.string": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "dev": true, + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "unirest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/unirest/-/unirest-0.6.0.tgz", + "integrity": "sha512-BdYdcYJHXACqZ53k8Zz7QlNK/1W/HjCZlmg1OaaN/oTSp4FTWh0upXGSJsG88PljDBpSrNc2R649drasUA9NEg==", + "requires": { + "form-data": "^0.2.0", + "mime": "^2.4.0", + "request": "^2.88.0" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" + }, + "combined-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz", + "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=", + "requires": { + "delayed-stream": "0.0.5" + } + }, + "delayed-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", + "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=" + }, + "form-data": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz", + "integrity": "sha1-Jvi8JtpkQOKZy9z7aQNcT3em5GY=", + "requires": { + "async": "~0.9.0", + "combined-stream": "~0.0.4", + "mime-types": "~2.0.3" + } + }, + "mime-db": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz", + "integrity": "sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc=" + }, + "mime-types": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz", + "integrity": "sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY=", + "requires": { + "mime-db": "~1.12.0" + } + } + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "dev": true + }, + "upath": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-0.2.0.tgz", + "integrity": "sha1-vbrQ8sYK/qFl+BJ9uxtb3uUArYE=", + "dev": true, + "requires": { + "lodash": "3.x", + "underscore.string": "2.3.x" + } + }, + "update-notifier": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz", + "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=", + "dev": true, + "requires": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "uri-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + } + } + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "user-home": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", + "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0" + } + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "version-changelog": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/version-changelog/-/version-changelog-2.1.1.tgz", + "integrity": "sha1-WqkuzJZdTjbRr7NN6BFlLrHLjMI=", + "dev": true, + "requires": { + "cross-spawn": "^4.0.2", + "github-url-from-git": "^1.4.0", + "has-yarn": "^1.0.0", + "upath": "^0.2.0" + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "vscode-languageserver-types": { + "version": "3.15.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz", + "integrity": "sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ==", + "dev": true + }, + "watchpack": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.5.0.tgz", + "integrity": "sha512-RSlipNQB1u48cq0wH/BNfCu1tD/cJ8ydFIkNYhp9o+3d+8unClkIovpW5qpFPgmL9OE48wfAnlZydXByWP82AA==", + "dev": true, + "requires": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "web-ext": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/web-ext/-/web-ext-2.9.3.tgz", + "integrity": "sha512-aZnlxuYOMUUBS5C8NBhhAj7T0ouJexlW5Cx5ObtOheoguG3fqXUl+KTY19L1Am/bJoyHC8otGTgew9Z0WHeTtg==", + "dev": true, + "requires": { + "@cliqz-oss/firefox-client": "0.3.1", + "@cliqz-oss/node-firefox-connect": "1.2.1", + "adbkit": "2.11.0", + "addons-linter": "1.4.1", + "babel-polyfill": "6.26.0", + "babel-runtime": "6.26.0", + "bunyan": "1.8.12", + "camelcase": "4.1.0", + "debounce": "1.1.0", + "decamelize": "2.0.0", + "es6-error": "4.1.1", + "es6-promisify": "5.0.0", + "event-to-promise": "0.8.0", + "firefox-profile": "1.2.0", + "fx-runner": "1.0.9", + "git-rev-sync": "1.9.1", + "mkdirp": "0.5.1", + "multimatch": "2.1.0", + "mz": "2.7.0", + "node-notifier": "5.2.1", + "opn": "5.3.0", + "parse-json": "4.0.0", + "regenerator-runtime": "0.11.1", + "require-uncached": "1.0.3", + "sign-addon": "0.3.1", + "source-map-support": "0.5.3", + "stream-to-promise": "2.2.0", + "strip-json-comments": "2.0.1", + "tmp": "0.0.33", + "update-notifier": "2.3.0", + "watchpack": "1.5.0", + "yargs": "6.6.0", + "zip-dir": "1.0.2" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "whatwg-url": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", + "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "when": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/when/-/when-3.7.7.tgz", + "integrity": "sha1-q6A/w7tzbWyIsJHQE9io5ZDYRxg=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "which-typed-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.2.tgz", + "integrity": "sha512-KT6okrd1tE6JdZAy3o2VhMoYPh3+J6EMZLyrxBQsZflI1QCZIxMrIYLkosd8Twf+YfknVIHmYQPgJt238p8dnQ==", + "requires": { + "available-typed-arrays": "^1.0.2", + "es-abstract": "^1.17.5", + "foreach": "^2.0.5", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.1", + "is-typed-array": "^1.1.3" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } + } + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "dev": true, + "requires": { + "string-width": "^2.1.1" + } + }, + "win-release": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/win-release/-/win-release-1.1.1.tgz", + "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=", + "dev": true, + "requires": { + "semver": "^5.0.1" + } + }, + "window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", + "dev": true + }, + "winreg": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/winreg/-/winreg-0.0.12.tgz", + "integrity": "sha1-BxBVVLoanQiXklHRKUdb/64wBrc=", + "dev": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "dev": true + }, + "xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dev": true, + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true + }, + "xmldom": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", + "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=", + "dev": true + }, + "xregexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", + "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^4.2.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs-parser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", + "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "dev": true, + "requires": { + "camelcase": "^3.0.0" + } + } + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + } + } + }, + "yauzl": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.9.2.tgz", + "integrity": "sha1-T7G8euH8L1cDe1SvasyP4QMcW3c=", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "zip-dir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/zip-dir/-/zip-dir-1.0.2.tgz", + "integrity": "sha1-JT+QeurWKiGs2HIdi4gDKyQRwFE=", + "dev": true, + "requires": { + "async": "^1.5.2", + "jszip": "^2.4.0" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "jszip": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-2.6.1.tgz", + "integrity": "sha1-uI86ey5noqBIFSmCx6N1bZxIKPA=", + "dev": true, + "requires": { + "pako": "~1.0.2" + } + } + } + }, + "zip-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", + "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", + "dev": true, + "requires": { + "archiver-utils": "^1.3.0", + "compress-commons": "^1.2.0", + "lodash": "^4.8.0", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + } + } +} diff --git a/package.json b/package.json index 1e68ad0..e9ea1a9 100644 --- a/package.json +++ b/package.json @@ -26,5 +26,9 @@ "build": "web-ext build", "test": "echo \"Error: no test specified\" && exit 1", "version": "version-changelog CHANGELOG.md" + }, + "dependencies": { + "browserify": "^17.0.0", + "unirest": "^0.6.0" } } diff --git a/resources/icons/action-bookmarked-16.png b/resources/icons/action-bookmarked-16.png new file mode 100644 index 0000000000000000000000000000000000000000..9d4e2fd7e5b6cc049077b6dfb882370594fb6823 GIT binary patch literal 701 zcmV;u0z&n~H?_O(QI< zYQ;iASRh?sgN22)l(HfbEB*pO(vl`kT1^@Wl18KvHX_8wOgl6)_gEBZ2Z_6T?|bff z&+}dZRFcAVU^z`E5GGChXec!I05alc8bGjCXhjqfY_WM8;DhWLD=Y|jolQU#1rxw$ zfQXmPbM)Q~*-E+azFI0?Zk|>vb+uQLVtuOId13CoK6Q6($;A38;b;^<2ZW!4UqI?T zYSb|8wz7zWMni%43cw*ePiGq6S4pX@1`C35t6?>el^U<3sR=eBG)o)T8rlHtI5RKi z*Q9u^niTytDIWP>gfxIbwNmj!gkD+0xwz;yz|@}3Z2&C~M#lg43%?Df%biDY>;uMA znQ&MS9@hb=$NrzX9se>=rF;AFP!EL|*d^ky&~L7YN&o>5&Mr|&uqP}}0@NLb(u!fd zgSQI4fHoTtl3}A@;Vh!skl%pcMX?0f29Q>KtL8|~=NDI(hC4Xy7V#4(1?0dtS_a0> z3Oo;CZt*246jD|{XpHe`9F6TuLuGm89beGvA&X9S0AmvXpZVNAEVH-i$V`F!RF3L)}rg8gb(00000NkvXXu0mjfk7p*% literal 0 HcmV?d00001 diff --git a/resources/icons/action-bookmarked-32.png b/resources/icons/action-bookmarked-32.png new file mode 100644 index 0000000000000000000000000000000000000000..c6d2f54ebf5aaa974c25a7987ba5828f950a6be4 GIT binary patch literal 1384 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 literal 0 HcmV?d00001 diff --git a/resources/icons/action-default-16.png b/resources/icons/action-default-16.png new file mode 100644 index 0000000000000000000000000000000000000000..405b099dee18a3a60905bc299854cf7c4a242b20 GIT binary patch literal 645 zcmV;00($+4P)#MV|+gcOanDw z89>z+w{^AFEyl4sH)x`@?xl0?^hPXz{js$xm)9YUMP$-iHzJ~+M5OIKNBgQ(b=q2Y zq!;>HFfy_lb~-w-R<2?}4~md@FM)_}ipWHs6IG6h=sp1N&F@VT>-7&gT*}XmW&ld1(x|H31Ky?S%KV0jbJn`K-5N-eB*#@{9P|`O z4bb(pR&(0Z9N4tRLP4HOk|a~Wr2)N9suJbFFA@E?mC@~*`?7jFa$#dosZ`3w1PeW>dL7It$Y1Zx9b;snSd8{&S^G86>DTnPV4QR3TdnpZ5e|2| zg)3>A*7~Gov++XJUj?1A);-RDY7wAdt(}RYq1&od!8}RRl^dN-YZ)L6qZxoKYd_1f z>}RPovUE?>3vw&ja3M%^HoyAK<37_MxiG8YAC#;}gf_ fY8;oVyK(*j|Jt<{98FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H11J6lBK~z|U#a2y-97Py?Uv*FKOjq?}U0g2;9t05))Ep#|oFe34 z@Sp@iFob{xjc$yfNiYf`>M`IR^dK98c-STW5D&qC2`EHCHWC$oF$v1%hqz{TXR5cC zndy2Sw#S|Q$)kFZNI6i1tQ4MXG#bBZZB7ERu9&nt z7{~DmRgARy@H>rm+xyP<)3+B+ksTy%6~P$554t0s=U)K;QXNvt^>oKb*$2QE;TZrY z=4VY)_fsy1T1SVqjz+bPhH?=y7!#e&c>9)`x8@~Sa{~eZ#+Z9ZIZ~YN_A8|>I)@LJ zBOb?%4QsvwJ^(1CE;;8GxdBk5ybQntcwPj<-9hL0i|2V$WP1VkMz^4oVo7&l7_QGw z@~GDOg*+?jU^Q-m67invbVTHfA_nr}dInVH{N9-^Pg`sAJsbt$&mS zKO%T*5pGziRBi%*BuQ!jrj}!1&JKiObt@nr0g{R1YMT1HthHC?6SdZxl=6=$u7&RT!d#x8JrDs5a4+L{b}mn55sW%su`$Ot9{0pK>*t_vER$(@=GGF`JX&F>3QlI z5&Q*6B;vhij2Qq>T9JV$iXKc;H%!WgZ0Kwdl%5?QA8*W`Td&uzrD=N)fJ*>8Qg&z^ z4VBBiw-+{GjOjPVyx|-MXY0(*vp@n zmz1rTx%NJQ&CX%7*7|@-lKLpgZ!_U35e@}G@QAf`WF_JqOiWBnSZiMg+|wk#nT_yV z9LJ}80IsJecx`&R^>`4JjxKe`R)RQ=&jJ{TqUbK?uu}xbv62O9t+#ajFK$^ir~fzp Y1z#O{52}y-uK)l507*qoM6N<$f;&3rD*ylh literal 0 HcmV?d00001 diff --git a/resources/icons/action-default-64.png b/resources/icons/action-default-64.png new file mode 100644 index 0000000000000000000000000000000000000000..e6400f46efc8f4efa6a9a3fe9922c9e8f3b0b05c GIT binary patch literal 1931 zcmV;62Xy#}P)5Q?HP@|vVJDwIN0p_{-Z~awKfln;N*VB zth0yN-!Pp=3IXRe3jz!}fk87AZKk&Y)Z)32QGiBTY@Y!1VaHk`6V1ms0DxlzTn?b6 zgO&pT{Xa%s0C>Ogpv@={AEk=x0lB2fDalrA?eBZ_9UV{a2B_F*3j*h&sj0~W-S|7< zAAtn{2A#m5SrA~*2@IMOUVx@yP;0$Pgf^xW`w3?MCIB$Td^Zenb4qam0L=b*0H#j( zJ77V8K_@V1n$`kgNY-(1a4rr+Fxu(|5TA&=S?Y}+iyJbL6DzI=mSX0G`;Z9LSP3_{ z0(xHyI9i*hMc_6XiR4ae?am&3M>4P00!pdVS{n}lBJ$r}{H94y0*KIeBCI|$ztM}| zH0fG^LZNW7GA4V#_woo)rlI?m9oBFMECh{&T+73M452tZov8v&f&S|B2O znfaC8(@KvvTVid=XstIzJ^Mtc3=L(rB$QWb#1>$9czAIT1b2wgIZ@>zbkF4E;<9QLiyLj(EXF<0do!+&r06Js)_MhiwIXtM zyEzk)?6cP13?PgfGzjDh$HDo{HarF3`nW!lqOAa~>z*k>_oDM`agVij6ON-{ua&l= zK&e!ESwx=gPqkx1n z8CnnElh!g3yeSg?5;LaP&SgrO-vG_?hNMVZfc%kUol9E_h)@jz=lV`-erA3Wpt~cA z&R5FZtF``YqS+!r0bJKTNhy6FfNw+;*8sV(T=r&to|(O^0R26p=u{DGGsb+i=VTj5 zL;z#VxkSzb04nh;LMrpnAyXWXvnEksDDFWz7zo750?^yLj*8&)0mMf+22XHYW=M&K+)_NU)MP0_|N`QjadR-V|D?ndrbIzfmq0E|6sq|8}iPaHn?L9>D zYea9pWJGASQsyDoEna{wCU$cYKx@5HDYHX_R-?@`NF*<2GPHVfvb(pnQCMpqB9e{u zC36&`L~^@Q=C7{no;erau>{asuh3fmQG|X6U}>Av1i*vV+Mjx!m-xEgTDzxK%Unhz zorFD&DDx+!%%8Q^UyI|n<4kbTqTy5W`P>ZvZ2+jlT3yD8a0|2Dh8X*Vxm^C60KV8_ zey3WkJlUyUtu{4LsVv@=%T>P+QNNMT0rahWKL6!hF6UP&m3Pr*CK-7fYpqv^(2s%e z>zMs6*^|jQoBMIqqxpcDaf8+=AtYWMo9#r>oRjg?CNKe}v5FNn2vN1;%7)^UbzL&S^P7M227TdM_EDP^7^l3mu? ze*>rt0dVT8w(p7Hq!__N5qUhH&;DV2e7w7z$b=}D%kKfWTq(7Rh^`bN)#-c@WC5%c zp_N*j_pJ3VbO3}${`3&5@vj5nno`Mb9(3ay2$^{s5nV_myAX5LC_;|_2ps@m_QwFc z*6w5?d51`T#_a!ynO{vL?S%1t|6^$A%#prI3F=0nDqTfz`yfb0jHzgg=&f#dY` zSGnvx2jDql%()_RNxfqyA{?~VPJhPJGz|K_zqeQ{UhH}PejEo^I}X0@?**`TczF1f zYBl&FAp3x0A63qn2Y8MSW_1N2`5dTYNxq-I0-zrn|58Pt6OY#HUiRt!7wk R#pVD2002ovPDHLkV1f@8kBk5S literal 0 HcmV?d00001 diff --git a/shaarli-web-extension.xpi b/shaarli-web-extension.xpi new file mode 100644 index 0000000000000000000000000000000000000000..27a01cb9e2745e88f5e5ea3b569a501988ac7624 GIT binary patch literal 958275 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

j)=JmKNpFHJ90LzzrF4e`5{ zm%B|i)$D-JB8mAKPYc`VsL{M5OnJ|Fk$1z{IFb>migEA>UakOh5X?>CYp1A5%I5|Z ztOT=T(GUkuXKv7(4%JxesBjNAe-4G1-U(q-{&8}d^1+me>~~T8=}!~LYc*1)q zK9P6&k#{>=(Q|!h7@>&ORvf1*L#qeh8JHviy-q40X%SG!Qu(`p!3i?x=|GtpLsj&G zr9hej&N+7U`uZBoV?>xPpNO0j>CVfeXNSiphueU(X!LeU@3aa!QdUs3tCJ8#IGD57 zn71LoOA8U(L6p`8jFGxZ%|T|UN^)V+OrnS{kr)+FOH5@R2k+^@$D2p2NVG;m?eLB%t#5`>cq!K~0rw<5a?{k*t9F9iR>#2r8f zvjV=D&R$AcFat)o6+aL)*o(amZgH0-3YVDRTK!thabt26SwB

k}^+^;P`V7>NQ| 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�ko;zTav&`mAYocZ2Pb-{%?u3Tnc z5(WfoZp^LSI5)PE;P)rvF^J01tuZR;@C!yT0T}xw9BpF3WZHysJ8b&_=Cb^foE4$u zZNO*Kc~o)^jf#A+j0jtHF48`w%|egkChz3RxT~7G2tFlf; z`YPhnK@3Eb9+Vc+Tp5x1p4Nhkhgv})o?Ke)GjHXo_zFOcVY;ZUzm&~&E@frPxp+8U zh&M0&yy4=73)XP&{+~10hNaxFALb=E+j{TaoKoz7i+Z*xKZ{3LksjsUv_>Au8rnPD zvS!P$rJ>`5h-U>kgO#)NB$`!&gOQBbnC7;3rtV*>Vzc(kACKSBrCPZe$hWLxZGJ~1 z9%?%_s(6Q*FL$Er6q=anGOqS>6jI`(-D6Zg&e@7MC7Tppk-iE?=C(DqAN3$5?%M6V z(^!Xtpg#!D^{qxDz?8?7TsAe)HPyXSy!S0sk;{1OD8_DHm2P+$o<|iNqKclkNu}0O z#mOxWh|-B}#v^qR6ERbpr#O)=490W^ebiId7ipH9%B0nVrbKr<1YJ7r#DjQtQ(f(< zvXXF!SDK-gTw7LW2b3MnaQK-6SC$)kPFGi}VPrs2Zjy$t#JL*9(m*tyetsPZ#qPm0xN)017omL z+b1%_!B``5v_`McN6QZ~hhl|#wO&|6F10$VS(F2Y7R`cx8(UY#Wfo_;y9X@N@sa?9 z^%8|ziG6!O%0<1!_q6pDiHLlhATJ4ubZNVkbJN;2P||H&*E1YJj`5DOnvjEtjB6_l z9O-iEXahA(4+XYC|0BAga2y5!98PI^#Y^3pMnHmL9B@1HRhUhADT%B%$9hg6EpsGj zQortf<7KyS6^k5y$#M4GZTViS2Vdn5uwUKGOdEtrb?+r8U&!-lrpzLt|K@=27@2uzAnUl;+yQV;jkCP@G7covQ0Wtwk!W_%1~Xw& zF!l&_X(8RXPr|Qz72$u@T?A)H?{)_PZJ^F2g!@^pwEue{VZnujeCmJQiwHPWce;sS zr0qp%>0Jc0G@0arcZ>9^+)lX7BiUW=CuGZ}QZD%PjRf5C;41*Kl|$h-$581Q(#No* zbBQ2KUSEygOve*g7H^7$GrN&O$$or{E1Y?P*8WV%XT4S1^G~&nU(jN)`{iCbtN7`x z;+`YYnB#zdxxY$4AatN@i)y-nZP~oALW)~{Dp_}07kGyJLEn(Y-XU%u@4E*IU*acn zCr=Tpe+#`gzOw(uat{t~dVi4@$Jg=W_)<@fJNt52U3Q`x=lOCNb~lIOnKQyUm&iDe zknuOJ=O{#hI{B<4< ziuN%Y9+gMK$?V1gIGK)n^KR5Dr1kADi+psD75ON=HS&O$7oWx5>CRN@(C$vPGf(&K z1YzM3;7b292TmnTKsMh_S+7ucX-dY;zGQ#kD@h{b*LKz2jY?jwZxI;#J%e&^&`X3Oj zdhu5j53du!S2XzoftSsM+_NJH8t~Vsb#CHCN3ul^ycBP*C8FftpfiSN} zrLIgA^*s#alW1z5UQjnSCRp}(7Ir_qn}%Hpxsa17cRLsq&iw2<8tMfoZkn85=$H0) z8L?<#IP{gi5|Rd84$_xYvL*Z<2)OKpQOJ$C?3P=4nI>)g@JuYm9+P8CQL#!YmVXQs zRX#Bf=qc^A>tr^8a@7XC)ERZ5z`Im`vAea9Q2LL#2VgWd&OZI)sL{$vs+ombo|dMu zvsDLHPws|FeN`$g(G46=K*%hylj+j88w~op)^7?C{|}X}e$kO=nh|$1(hxvqr+2fH z`8foiiFeaU-qHPdbQxi9!cp*g5{-_Je+VY?&LHlRnpp%vNB3h&bV3Uqd3yZUZ91Ro z$Aic}g9KdxV-}9(vN01(&iyct_PBUJOO_LE?*+k^xTq>7HJy6kW`BgS+~guBgDWJ# z2aaR>LHX=uoD13qY?)p2Ph?aD>>9su!lAR(>E_$xgN)kw2QZmIa?`PNVKEEjy2>z| zA#>sZzIEVWzo}sk984;2DYLHb&;|onOZ2gEqGx_`H-#F3ZW~Ki5<7PKj81~wQk~Ng{j8Ud9j}{0p*}r#YyEtj&h>4OX3#J&KK8e)) zp#amG5>^af@2M9P#n;Iw!e<%X0nkgqqgzCKDrHeA2g=w2RZ2h{`6T9DOiXH{AO&d? zUX>P67vf*}vx5e~@;gJ_J*AH4s@m;877gGaJ~4YPJ{$%uzz9u1(m2NKymj%2K}wB5;{w+OxOTRh&c%WV?7x zsb?ur&WF?UIZoYVHSY&4no>_knazTmQ}jqxmR@I{{ig~Syc9c#xRzxCaGC8`$|>`) zP(Ll{xY%Ci#X`0en__GwuAi3ZQb#AtF#Hd1rOG={_IjE+SkAt-4E?nBFpL5_EPGC? z%0pG-aT)0HYz5_+=Gs9ol>yYp&Iv%}t*@8rF%7?xA0iQmrVbCX)?1nS9husSWLk?Z46yO9;cIg5>HoL2epoulv-PpLgx&j#*bpiSe@8qK*xzQPn&o@9T zt8et9&U7A5Z#GoFfI1ZggV+wecTrIelgYJnfuCq!zYFE-ithG_W=ZGbQD@zIT$CDV z+@+C*Y6Pt{YB9Q_XbiYbfMu{zr|PfJ5Kyab2kLqR&m3`x(G{E%cC~n3)ZK;Cp9DyQ zeQZ~-faVTHJ+?j6s`Xkh2)m!yZIw40NwK7^`~k0VZ{5Rve_cit(CP-1W(a8R z9szR{N`h8Kj&}r6)NqT?3wslidl;b)Aoy5etyGmQ#VWzTq|WZeb`xjyVSgQbSL5nGiIKxtn zT2DjEzFOMOc(7Tc1%t-Ar-jk&eG^(5r2^eZ?T!a-Wu1%;g)CePR%O2sFLYeYwIW+r zP~WK1YkXJN1+g9!)?ABq758$ic&#z)wSww_38;r*7;ohzWOL32J%?Z0+cX`vRyt05 z_#lX*DB5bbs=<@vXO(8<=^(^4=|$X)MxYP{&!g!WRGx#*c>d`k?8P6Wi{Lx8^7JXQ zI-Z_y0C$g)@qF5i9-(ZKHmZ0L#$hL(&1DR*ouC#HCoc}m!SDq>4L*8uGm8>)1Oh^P zsD45LyjaLZVBy-vu%TED{?t{Wm*F)Qst4bFM>R@z=94%?{-8pS9_jSalbANim96{c z!5YLWc&wYNpvTs3P?HipQ=(E2b~Pvj!~Hwq?!f@Zr*!y$4qQEYMjkgv!M8z?u`E`o z{Ssk{1DybF`#KpC7(b|v9l9?ru6vUF2pwG!WHADoG}@bZB#}m;EC`gPT4f*U_d6X! zpn)M;fKZf+&@c}n1X&z@DMB36oL@PSX@xzk141;0ZX_KpiG%9h85_dryb52z@Dz)Q z9;p)ExE%HIEvTE4e@7Pa#%Sjhrgk#EDmIuiOB#vDM#4J7aT^#?a3=#J5>_Rdr)CCS z^Us_b5;kMi83NMuPoE@Y!z&UbBzL0;{k3~oX|xcGleD!(bEcG@Ry7nAJl2otBAr(23>cGPsc0;jQoB)SNn(I2MdBkE3r?hHB za|Te%=O^8Ae=vr{fPR8nu0U*X=8IR2(tX#b^&vfk;*v9>7`S!g+!R$R>P~j>5XQuN z*9{$ucsODD*6sLM@^TA|=?1Y*hKr#o;&QT{ge9*vg?ATQYgkCGuWKYX43gPc+OwER zUQ=KUg}vFI-AR%_1}PS1USG`2R&#q@&+QaRhMEVxsZEWq0KKLOM!grINizyi-`>j* zk|d434Qki@zLA$hB4c~AEc4nDoU#tUw5G;`&$N1yP)JE@N+n^P*>03-H`47!e!D3M z7|{DP_>2qP!=T>S7F~t(lI>OW5=-S{gOO|sS@To%MeEww2;$*nKzB-cLr&W?+|7lR z1qwJlGw@8AvK8HB1yQ1_0pGi@!;aJlvRZWnH@#!s^bO*{b>I`tAlZ!g;*ge`O zyVwJIENcy()};$W7g!k41B_D2$$rE-6jn}= zT*@tRYLK?V;$R z8{T+tCgc1xALqxJJinXKhMwY$+KM}K47l|SuT>A}npodDYNd!UY(i6!x!5BcM9PXA z_D57}z}x&FczN`WB6s1bK6+G~DQluckcc@(!g1ISr*Y7(Y$>9YgHF^XlL5t)81ls` z1e1~$mJF=o0~F|_LALMc5=b;hKdk%t%Y%tNBW!^YW*+Ftf%8mV55j_=&BM?P##dhA zg9q@ds=Mc!p>(HHjd3+wiW}MF3kJc?Cq>`i~u zJ+P2Pqs;TcIGn*=D|cnUf(i0RMiCorE>x_QVe3`0ma<0u3zxDLRvRqVAH9=;O3dUI zjg#l2x6yfo``(RT-X{->k9QSnrN{3dZtVT}Yv_42BU_;9m`Xt?ulu@`xVMd`5_Q`R zH4OX_0l`PJN-s`OOXEwV$Ww8G4v`feZeDsGxLwLy6FD}R&QbKli>h2y5+0J)R4CzD z$vrnX*gZM|;4ZlM`&}xE-;R?w<2&hY-N%|}MJEHz3iyus0$~v+De%SqNH57UaD5Jy z?rtcu2*k^{Fi{nkiK4I{uYmwMZ!ymu2D!zKY~}#kGf*hoUQkn=!j;uh88p4HuUIox zVNbb>(G+dm(Gl#N9?9?>!7}EsJV0b0ra)2zNy=?2ybR+3GBBR8_ei;Lyts6J1qZ8F zq3iR;WekY*WIP}B>?%=G2|M^4S9i8?5e-0pPd0Qx?GE-gHBaTv0p%78xza|z;1VW0 z(H%4)wZii};dzlMNUXYd5F0EF9r9#Rt*Cn@FA}*Oqe51{q!9WpPQ~nHZNd0SBO$&kOv!ejS?sbmKe z#WHGih>Ac$a(7db==Gat%lHFkjCDBoEK0i5cmnf9!F7dnuJGp9$E6*}(^!uC2q}Ay zL-^re2bQ8YJ>X@Hz8xXdBpX=*1ed)i&(af9=#&IDi=txoo(XD;1iNRQVZpe`ITmXj zqjOwrE-=asYbC4{rXZFv_6=QxH%QQ32`|jv1zkTR(mx2^V60a3@!w&X+@o$)`82wA35{IR}G*Efma@Bjy<0yql6GT&-%F!xSDie?iMLJc;o6 zjL0Rh6t{@(aPOXJgR7@@*9IDq&QT!HNo^yz6`6ok5~(0idEHvH;G52S`|k(5TgDiq z_U`$CwR^T6abWrc%U13g$#s@fMZKg*%jICZj4!`gOSzKG?u?!x$VVjkw61_ml!=d4 zEpF1|ytl*wLwe4Vfx5n?ucxn}qQx1zibNE&I9-gAb)hTh6G)15G08wJjXgZF7xT5< z##VW4;i`=uAnoijd6FBeY?jwV-B{bLBLHiehLoK)X+O;`*r04Y6j~+s?;Xs>!?>H2 z@83Hn-$NP^-WZkd<6fFvN)%z#BCUN2fq(RGl_^V>S!6Q1$P3Efgj0^FgT8&1;^NYP#JM6f1EOvwDe#sL#NKuF?2MM#voqwM zynQbWFqOLRZat~I#hnk?-k-5S^*5fGn@-$tTJxAMw%m-m&qve{{nm|HEpZ{!id2F& z*|JtsM3*?iQxTHzbH41zG^r=9F{P}00v^emi(KgH3Ng@sC5f`%&QfXR|H zcZ8QlkbvP|o!~Ts30|dMgg4QDe0zlX`oqn7Iv!5OBajbH8J$Xn`9{0I(I0M>11FtI zg-Pkae2F=rlAL~U2oJX-5eN)|dx>H1^EC&|C#cHIK>*c9*~xMnRjFRXbf(g5=ygiQ z(oSA7o_5g`$SgkjLfBb|Z?-ZKm*iD|OVJd_T*U7V+eh3IijFYM6zFMLM`ayRy;u{> zT6r@ibV|u|i#lkf71GD)v<33{NU2U1d5>09z;rnmQr3vw8Kg&MNUv{Z;3KJ~yJ}QqnEvp^{WM82&U+qYNco|Nt%J8*>mQX^~%cRHxK)LqTT4 zNwJhgI@R>5O{Q@77y$iF5d{9FgjeM5gGv0$N_5)fBo7+z)G?cXS&2?%|HMp{V|8Ac zM6*h2gScCT^!(TT%o>tM6^I3BQNW_+%VZvnOxBU86VS#mc6dxumXKRY*)X!k?M}cv zqS;{2W*5=ukHf7Z7#sLmI2e2}Sg7m3nnsF6z6cyw_aG+Y!DaLZKvI1L^ZLexbbYfN z&NWNxx8dkK((0i3@-iJBFv;G?zK#0P6!cpQpp%kO$OY_VrGXFJVUUz1eU(xIy0;zi(%~owPg}dK--{^0{^YfNL zPahy;wUCMWA8pF-mKNKVjOL$rP#y|}m8@0_*MaAs^K&_Zm1<5rvrw;>VS3zowuEEQ`y(0BRPpPY2=9CbA9P&ReAsyL@&FxgGfxoF^>l|875s?=Qr|fF<(uls`_t3)&+ku)k9Uie$M1XV z@Z)_I{+1q>J{M2c3a6za<~@G!zEL{)<^B89&+p$?OAjBH;2S=QkN2qtfOro@_0P}W z{H;{l5a;JQfI;uiIVvvuhs49l7_jSb zTu$_V4t6Ug$Cuh5d4esUrsg_Eq)B!3UZ%@PUQeh42|E|6sLRT;sH*%2DS9YA&6yU3$?8IN_UuHw=58i*lV^lx<*X7iHxKNd8db9HSkp_(~DK)%0lJ zfu#Isl*6g=WGYJF2F5o&We-ttnzY9Nr$SMcGB*|#+?+{);j03}AK2gA*J{Srb zs6|r3J62q86%dL92+d66UWC`lX5pu(%+*wTg+yFT5vgG~{e(|%;tQby0#N%fp2p|# zC>;ERr2U}VuLeIv7z~WMc!lo;&p37|Mkl(86omQY0`Dy&F7aS6rzaCTH~2>948%Ug zfg1-&ByU5jwy3Ke>{UI4<+jd8COgm{MjmQ~?3o;Jj9 zz(43@UO?7S2@i?|r^`AMU9K=(h58-ra^ok80Z+wWOfGWUtz{PU{r2UpGZlu|(aq5P zawo_Avh{`c!NF~3~YA0%zE7j|g z3D#(R#yTxyuKU3Yu5u?#Ll)DzTTHir_h?ZBy4kLmshh|C zrXc|MT?Hek2e(=7r^*A;@i29PrNJwARq;a2U#ZDw7--{M9d@W(MADT5A)9l9ScpfI ze8T*t0qex&kf~@IbRI>0O1hmxsvTeGToSr^|^;le!jM`!6~Ib+V! z3~hhm487~zQ$y!Q@m8sYy!%Z!BrbEOws-2X6I~Er!aL}1zEsyE1;grFhJN_qfv=ia z3Zhjvb)8h-5nwn4s~-jTdZF&V23K~SE51~OUwF$a zI2e!dQa{Byz@Jt*b6bwDK<1v!QbFWI6+u2Q_fWOl#A!iCi77kTV)@I>7c*OSzOmsh z$hU2x`NbCEVcGk#3)n7G3rdJ@k}lzf6tFHP;Z-&JPJU5E*GUg3m8EQoWZ(^>%Jst+ zWJ1Yo5w8oz6rQ;2IQOU~)A>Tm`~pI#oC0Q07ZtEabwRnsxLD(wQ^FqDMMY#}Gbo)k zAU2_C=A5X>#0ndhIkiJ1Y_A%#7G{1F4xKkJC}edEeiE{zD;Fy2OC z54VYFC<;DjxS=A>IMU~WU=maU0Uysel$ZAH@iF*W;#1ub1Bs}(2n7}SYAFiO=958m zorQoRk4C}ZtD|^iN_HdPh3=lxW>J3MYA0PxlV{&*J6%k=z)kW8FIqhM7&MmGs+~JU z0l*vo9J$(l|E1V11&vy*9R%;j!{Fz+DuE9&zU2oQ-|7b$B@ZK;ue~^Wdid)2aElUKnY?o2~i@+)Wv#)xyEiuC6L0)Q`PMI(w5O)vjw zI2dGfg0Hs27I~(_j`un-h31h`Ry%UlIfU)>O%f-%MmNNm*mw#4x(5T)iK2ct>_;Y& z`Ny*X2Os2;-(nO!{9kE*zjn=qOQyvlKekfBr;yY|Aj;FM_#{3D(HfoOi>c*Kxof|l zT@1DL%6b^RxW;DewP0Ug$O%h)p&AV>?DQqj%)90iQ?b|yOvI^RjSYEg*iHs0x%C>B zG0>|ADqX1KzA#Hy=2=!oSLI+n!m%{nb;&U5#6|0R7zKVelpzxAS%AagZh+q8bA12p z>?0cfiq{VjrL(wHCfiJSjv}B7GMTQrNX0IhyGQXX4hNKZQ`S-7`()#x#HuO(UC?~k z6U*NdVd*D$0OWT zR;^yvcj*OzFu<+G0PV$t88B@R`1}&>XV3Ss^{0{qf$mfX<;M2m6xx_njsSnifbhKH{%Vi22^ z3I)Ne*$+3X7gc!FPU7|T)Ag&9kEiQh!)IMLzUt*h?YdQ?|5?lkm7p#fvtTYZc{2L% zGplXYo)y)U=-c4eA84l#pA&g2K;BApO_!1BO@~1=iw1@xUglBtyZxY9)6uff_Bh5O z`0hwBo+PUNSS)HuFrVP~H6C7QGRv<@o$1`Hr|8_srZZCW8m&~&E| zyVx~@)-SmuUmQGo^r%@Ytrv%nu)Wecz`uYhoSeY{0}I%SEO0O&rpFP+S14xwq`?8& z#@W|}?eKW0Cya`C86*RGQRHgGCTCbQ2DtH}M=6_)3ILJgO@2kj9?RwmW7%}avh^in z*<3o7tuGnNri^8)lsR#6_!`?hdRPVrFK5i|Fl20>dBW5;7g9&zWqeMzI=pBF>iL?Y zsRYX&E#i0pr0bzcjgRi3`pdXG9Vg>H?PP&HfGrNMCxh`6pSCcxHVc$(JVxTdJXM_` z6(m5>V0S|;#;all%k$c+Xhvt+tD;c%QD|(YP@sTgFUP;dgF(2V8o+~(A+i2sivFp{ zsw=eDOtrV|=mVK`pFP1t4_4Fi3%w+btNz`0RI)^&H}XsWMB&d>Ve6TpCr4+`-#})& zv7q|%pWMjYRB2Ir&+*k8Dpgt5k>?FwRMjpIw3pau#--Ce?_Hkm{yu54k1O@v zuCFUo)FFBqqy$_r5$6n;gr26{8BK6o_HJCXf+Q0yo#`qjEm3L7A}n#aBu}cC8C?{|>vB+mIS8zR>hiOnQt0FTZkQWID;7K>KnMGF z3I&b5{;oz8tL>SM(KWgb@J5B+_Y1C7rjo4KHpmIP$U4D%_LEaow_MBFymau;b*A?DV z`McR?zC|ifR}~faw5s5bqQyTtMa>W8=1~rYu?m<4y5EIeR;gEUrg}y1Ykb<@-!45C z6|3LhHPT_v-mG8qn-z9QcSuc?n2AfIaa7hyj132tbON@|;*p(ptA82voffet`}{74 z`X5aKrV&fT>$F`Uxmf=Mvx?`)6BlEvex**4|BKh((t=!+@|EPGgzGXWgvrI;qNazIj$ ziXv|sVYDax+Cw}F&f`niTV;wt6}_$4aV%#tPBixfI!rQN0Y(v;hKkk`=AF{spCvrM zvOLtWosgbm7KtAALs5S}0i%`qNf9mONS#_MTY7?BbrR?aQYpp{)ztaMCP-YVFsJ`+ zv;PDrEyZaD^^B(R=+UGkH3$=uaD<3f!g{4WYwj~!r6sR!=#!fo(8EGSwcn-rHW67= z{8X8g_PoNM1ve1yfL(F2zOOp{$tinlzqesO7L#rj!BqA?l}g`!8oJFf&fFCs@VXH} zsFv+Hjoi9@?J?Pg8Os971z>ChXHzl#n1`!@4j)f9herC=pgS}_g7RF(+cSx?*WRBL2=fH2F4VD-5&-JRxXBv7$9-52(&gy@c% zgNc0S=(h>lxdQRW9rxKKQuO)jl#PCt*jl?H42T)KL&e$tHCpU8_3}v?(`=6!w!XP% zue)4&JG<<5M$uMw(N;#$Mt0FgM$vi>vU~mD6l{V#6K3z*z#GJ$YDEt8HnW2gqH5e<`|)cWI%rpx7KAnHoKO_9UetJbQ6` z5%*^>K}O}N%L(zGwHaN!5nUf;Y(-VIQQp?ImbGbJAKi7^s{8opQBEJvN2)b8FL(+6x#VC(?Rf~Z#>e z0t%Ikx=ZJ(iF-0L+EBVenQgx!!@h%>it)-TGl*GckyU!hdi~T{Y7w8$zO`8`|D9n8 zoAs4z)nqSO&Rr+H1QWWM?1t#%j~k{rD*Os8m>S4z_RDH)@mN?QxtHj@(2Uks*(|3v z(qDmH9B!Gi?S)1M$olA!sbtS5qH20dIh;_zvEwb3GuT}NQk6Tk)z36DpoX2Way3Q;l_a79sJd2>L@=#?n;}kbpy*Y+a>r zDkZ_86mQ78{=N>YJ$kfguN>myWZ2272U~1QKeF*kmv+&!)!Rk5iv=)LYfMJaq~cS>dtH$5AgDgi};3$MWFS1RXV|F~%xPO^cWF!7QE(ZnEaa zwdyiH`3h?e`NH#uuYX_Lc5UkN`i)8QwQ7GYP|JoqiE(2u_UizeY-!bSSge)tF^uxG z9G7e5YinXoT_fZ)!@?uBiU-66dB&b8ZmCunn_n8%$e3~2ET!cRY=CI1vyiwxJ(-A& zhu2?B#A{yiJpr#wO+?MOe9hEsJVbidU6X225r2K3ORv|Vps4|$T^xf-j79)N>Kf*T zJCXJHRXBGqoyTfNJ%3Y;dpEXxVV|dL@mgQjg~be!J-Eu-2ZywCgHJ-^<>wghYts2Z zGz{@>0XlvMzvB3-ac|W0d?cp$mA#hm=dc)+u5ZGi` z{?(s{6M9kGWfU}c486^ZV`Q3T@)uT{(XxWIJ@eA9<`(C#`ZT5Ha>dk?VN0qyB(s)0 z2N`=9l}}vBGH+No->5_&pV7i#RZgh?jvh2hE-W31w`7yy3HA#3qqN7PF&a;YbehBu zrp^kCp1H7qW+Q|*7 zL)O?}a?XI>;DFxL9-{6?-F^;R(PHr?fj#wOg46&ljB^^hHHWahx}w$dpEho0<)GIP zEmA?ERC*s?r8P1{QaSiYmKAz*10npXj#_Ehc7IiMZmK;^y^rOY&3;o10U_3(St(_H zq#4eOs3jAo%IH-#jCPxLmU#W@&}ta4G%e2r!VQfst(;`$iZ7!zV7z3Eu4LU1qZ4rW z3nFHzD`sFL2Cai7z5{WYL+g15VZaBx1J z!qghNU3|*U}sbm;SEPz@{@Lx7Z^(eGjaiB(qC$olelJ~6#i7)7`G(ei#L?*HH^g}aVam{_84!+t zoe~78pBU9Mt1eX*qPy?QVkdDIBZS_|DLIW)L8eQ7Ic$~7;jg@MLnHteBTD3zO0bhy zih8@3t){E9$U2#6f^UMxFVCK=?b(+cUXDkzs^L-v=HndXb3g9VspzgsRsW+1m_a?j zOUA*ll$9L>_4Q9flXHDjY*emqO0?oaPN`V0d@@z9Pb8m~yvnCv8pB^2S(&EUU(EIo zws#a$qP}rWQe%jkXEX{_n|77~E4xJ*muu2)RSi^pe`y5aEWn4Kf@Btv|MaH_{w65z zI(Wm^x_|Qb<3KTLu!bQgV0F5JEom?AQ`F5Fq?4=7(~YO=>t$SOyCFu&Nyvde>e16c zX^r@3bV<&7**1F&DB_#!?QPXb&DN`m*WcDlj%wxBx*!PcUdxm_mb_JyQ?n-yE;6);H15>BW zw6@75J08uFR9CJa-iXojr&3A%%BMVeaT;u{P($fZ#+|CW5a~W%Frp9rt)D5jE za+_6K+nZ)Df{sdZeHVR1+E`sFx!%a_skNpr?r3VO>n*9vP(T@@(9ouXW}}pal2#y` z9mO?o_|>SE5bPxE0ca4auus9u_@J52&o6@Mc< zubRTtyTLg4|jOdp#6VV=|TE|?7U82F+`81>t7m*e?gVH#+}zR&AeZrgz5%vZ20AyoEE-B zQ6?xxYG>-ZmfYLRFR!&;BRm$C7Twp(>jkBi2CRFzpsdn^HO;eCVf1N&!SCxRgn)7S zF!U%nyrh@uj8l-PTDVpgMWX^GYL~Z;tW4#3SCfT2LW2_BuWOWp-WY`hpiFBsbdzl> zYtuC?3Ac9A#`DALNiiz_=4gNsE&=K?6TN*HIqINm58BI;>E&SBFuyT=$8U-a_|;c- z-D9g_WUZ&?=|v#lhxs=iB3z$*vrP0YuGn!&mb2e@;EU5n`P?y*h^3K&ji3pRJ^H4N zJ?_A4FV6+-H(}G_5>vx35$uhI=&J?miW;sA%fp-T6&i!1^3Yu-f7`PM<~#Iar?{Wh zSQrXACwF7a_I{81r7|2{D$D&Q5-#w2qB$=ADi9AB#sU%LS>D5_N|F0Oro7FC(LRo*VI;x@8E8*URTv_MM>m!?Db1x1Y@=kn%s zauIx4VWbK9T0|vLMukZ7wV;C1+_{3`4!H0}{ z_JUT}sgp{xtLcKWAvvIspXef1R>}mG)jpjIYIKwz9@WrZd5aig+@rD}f)P+FZEHEyMjn&-HJDn4%ktFe|Eld)Q-bzjFK7kyuckwFehad z#-^u(c1))6C64lVV!`=|Z#o9`YJJxa`LI@7D+hIL6-k0M4!F4%{1#2eX$XzofTtU% z3I}hFV4Y0fOvfDzo$_WH4>4}=b!w$ax&ID8-OloK_D&QRyEfZ#GlMWu?zDbm&{K-! zSSZ$TFTQF(lohUU+dZazB0QcyGo<{?z={-^ypEewbBqL z7h}-8i>lYpo;=#maJe|fQg=fFpr9vpo<6Hg{Q&@|2Gd`1Zd^XSn2$ak$G=77>!E5{ zCwBDn#jA$8^RYn*gYh|3C}mQhrd{gy$w94ddED1h9gojn&4H*V~nbd2{vhp!|1y^POC)ct+w zM+X&B{_!YiZkl5ObvHx&VYIJ7R}Y|j*(bE`s&~rW#64Y?6(STDDcM&1X6-iUK9FNJ z(gv{}Y-4}(b`v+IFWw~}gj5XIe*=|7vAA==3Y9IODy&w)y1AP`N4ePzruGd6unpHh zTRgO6=wCRv&z(D_uIV)GbFygMR~x%tYV6z_sUO+%^J@Tj`xYgT{cVyc>F zE*F2nbye(0=i$}*wS&g`I{6|%?^8EUt39P=1TCD$5{zBXh;eG&B;RCzo(8&7R2yYktX1pMKw<8THVk#Vn=@+f&AARKKIrn-Mg z(Ffh|nAV`vu`UHY((%}sT^9E<)x+Cdp7#bRd-R==SMtOPC&JEF;kR3s8Ct)D0n5Ro zN6pf@NpOhNR&a8+y$iqfeG6gT4o5vaP_zBozP-udvV##j zA!b@`Iu2hT%;gu<38T*$7y;2dgg$2>^m@87KI7?%==_p_&UG4}U$XG|ukq>#U9XJM zx52+M$80p7rH1WaIpg*U%HCn<0Q7R?{*@WYU_2`>ai+*~JMdxCwQ@MEe|gtL zmt7{$z2|$ZRld=ZzM!`-Z}RxmS)IXGMnpdo{%T-fIK3N&Sr=Fd8kv{xisB#_#pzv8 z)URapqHA;q8H}$m^ln{Tzc51CHJ>QfUEBvyz<1uwGoGsc)Ld^q@qd$A7)$`K|Dgph zGx&kH-Fd~gv%?>-W1m;Hl^y@!`rD>ovXLGB!16#`U!U&XE!shnL*?Rl3baC-;AlKb zuhid1vlmqSIHC<-_AUF23FuqIaXLC-FSIhfPJ=0BvR%weZaAHX-X%?M$kSo1b&!X; z4)frJ%;JgM?=g$wW>?fdVxBAPtduX%{d$;8J~ z@`WhsoA9Ml$rR4_FF_?0D~?JTcKC2~9#I!yF-wm??(Tl%y7rkxamsq`-Guh%9QPl&$LXZvo=^zTHtAOVvzO+aS%5LHLAfBw!z;&tv89R;jjGOugz23j& zrvCcB?;52H}&mFlEJ^gzWI7~sCj!8wLc?{ z#qqpDG4u1ANOYi!RhoF1anVd!<8zxBxfE+1Y5A*r`k1~Y zXrc6LdTBFO)?b%IL|`t07Ua(RBRQvrJyrH8`7_O5Blq}EV#Mg#Nxs#iN}Y&Mt||X& zBjeZC-7R1`wC4hpLB@=5=Xb?HIxXze7@OmSQTfW*w~R9HYdax3zuOP4O6dTtP6*wT zD{?B&0Dw7KT>j)AonfvHxB8QJ;&){$WBKhXIs&XbtNuZ-hHSegH^#gpu~(3Vj=F%H zXLlIA8c&v7mK-g2=JsnWaxfR11*J?cZ$xS@rGCpE1Xs#ds1oC13jXX7?yP09MTau704j=pvT8Qf`3S;S?jZdzFr zCPbZWlnU2jJ2kQNGgC6PM(g7eUi~1O zus`}*D8{q5!Da#)RpQc}BLbNrB-i=zeC7^w8Gb0ApszTpKTalDqgttqvP0IG(XEW` zHn^+Cx6vW~Mlz6ec|g#jp3YF8j7#>Nb$Ac`fK!-erI1LZ5e? zujOCo)3E#-eOcGFMAxwgibye25#xs#FNv2uJ=rL2&$1+)#+{UVIpwvQ<8XR@X}QAY@N!;hr5)M5%qy#OB%9`Y zi!LhZdA8jyW#3XtUs1v}BeK1H%E2eKDMGjYvU7hT~7sX)PtZ^Clt324&ZLCx+vmV*CQpLPGTKBEXtx=a=hz#{w z$7DbEeVFh%OcQ92v8X;_%zP(=zP@31Lh<0d`*?fz9oLPz?|^xpS|-i)JA_z1Z=~F8 zMmW-+hORy9{Dkxb4^*IU=$$vpP^8j0#XqM`kr5yIWO$BvM)ZgTeQ<@BC+gze>E1{* zVZO~R#FLMw7MZvU>G)E_9+3D6NQCZ~RPWKFVqAd~H*9{&uSb`cs{%2|WF6qYUWt9D zK5^!}Lf0IqR;izwCr8$)L7N!&4V|1PM7Sr#D|0;dJAkCqyggDgEz2ODqs6%49m!(y zJ5b2=D*EV^2NFZEdwiTk9_@G;byS!IoiV7yQ@+lE_o&8GeLEaKs^EdV3zYh%y%jT)(2qfTA*kk8_KqBb+*byMh=7naK#8Rjwa zu!_`S4PIQ`Px+{M_+%sE_5`(kJ&?v%ubvvoKXA?Uyvs^vIV|brquolMl|Fsu+t9A9 z7~7d|BY?_9H<|oUGO!h-8lfp3`ei*G_eOKHy6k(sM+n^P5y+VvQ;=h>p8My!e3|(s zonf_lo~=jA!g5|B5V2Fi^NPGSegfxZ+rjk4&bUc=Xe;$C?{WiA@63)#S*zu^?76m5 z)tlU^H+Iz<&q?1Mh_w6VwT>Qm?aY1)pSqK^KmyzdtZN4ghj?`-E5nceT=i*?MQ<6} zo253;Z_sKxA|H*$X4(WW?xD~5$TN6;mm5W?XUW@BD7a@-Ai%A#rl zIejzoR;^Xu;lsvz52x$OHNgN`dU~sah8cZxv!11I9&x~-qNj0&U5@u7N|*CyhwTWD zLN&xkTJXZWckd$|%m8mQ*wmg=BO+DG^vZLdObRV!x1%q+@>#0--Lvkw+S7GzF!NvO zQU#1-zs=`!o1f>t@(^}?S7yAP5E|M5Q66+`&=`7}PR~S`?*$#1Nke+9?$&`8+O3C+ zotv>`yD0~*Rk&lr>}1Y%Cdp+ENiJ;wm#dMa>yo7BkfdvqqzgpoY1Dful639XyUR&p zH|4;!3ioW7y-bn-sJSIyFSF$9T);E30p81*!MGg3u@^` zpt6b5;a0pg&-@O?R};L1gSOq1M!8vTm$%CGdb!>#*Wt%bxzQ{)cFN6qxw%zt)yu7B zxwTbpL%E&uX1%<*Ro<$Xx0>axo$_|GyuDN2fm$`FUjqO&{JjI<;CBOlHxVxWg|rs@ z*M{#ld~ZTNK&o$HqmaH0={xuzd?UOaKm%}UAT9u>(Ll7|H^6BCPK`GH2k8K(u?cB_ zQez9g0ZwBZ@o$!!fJ+l#Gy#_;^sI?J0$iFc{0}+^U1~y~nt(?W@Mr=aO{m+1E;Rv% z7WAnFeQ5znS`DNF{s+VW99l>efYAaRT0oQ*;L!p&Er8M5hQH947WAPFG-(5jHq>uJ zU)q3s8>tEP+EAwrxVHiKHsIcddhHz~Gte2@-UR$N0r$;1{)IGXf3t=EK^nl=1pGH~ zOlVNxH^A5g{5PTPts4Hf10x0h0sXcB?=8T43+iqG?Y5x(EvUBz?Qh{&Lfc!==WVF7 z4K&+s;D0c>PnSIHt=CHb>!&WHkCwYhkI*dZWf8GqOol!Gmb<)lD8(yos$ot7N_8|fhMdJ*xKDCd1k zR0rz|HF~_e%CtHxEBj^msJ-KYCQR_XMyVNVCSwW(LL8DfM>A^@5CW zhHv8Tr=SxicpNzkrs1eJ9+rc6l+2>AN8Y`&a7xh)A-i$ksFvzFuHgtj$O8i_mL8^h zV;c>Xy&#kbHpSHKS$q>#HdId&o=((V>LOvMzCfL-cyZ&6q#3U0s^B#_0D7-Cih9UNgv6~5tZ z>hSmC$V=?X%ysk)zD41klsm8LynHT-8--dY7bhp)MKQRPgMkF$QlE>e=yOA( zC?+SEZdfr%T%o!gox0T}adBWO9Z-(VDT@jl*)26p!s>CsX#39*x$xJ*sAe4Lg9@uK zNsD+$#rEOoUFvI5WHud%hpL#sJd5hko`lO&Je!4+P2U=qFlhRFQM@&}qDvL{w(i0) z;jwrbFN)wc40-;(3>QsYjC{GzckvdK8uPS%y=XRHOQHW7PZziMYCKa-!p}v~;iTZ= zQu?NZ45xf8t3ivusY0I%>UcT_RrGE$EtYh2^G1c3qmM;A#J63TfB5&J{uq>&V$zkX z7&008W07FzixpH{E?F#=wLG-F-s0Gcr0Oxo^09)vV|HFaCi9b7``RaYQQ%1Ze%8M2 zHN6zN?dEK?WG63;4QK@hTqdqL9{#>#;ayN?BET0zKJW5qegE{?!myEUFuncsuF@<7 ze?NZms*+5iF1}U~L>MeEQAh9#;$$)>(9b<9)Zk>Cu#cefV^h0|e0ZwlzII&GzHquY zMdh3J!!GF9C}ZN`WDpG_NW{R~!N;UC+RdnjVNn8J3Ca{TY?ewpggP}9i6wT9}|Z19BOpX z`~c-)_9bOl?`J_5Pz?t0r-;gY*BSS2f-#5`*uU%-p#E7BMZL2b8XZb|1<3kGbn^xv zBpJDn2nNvpW<19?>EPE7?_RzDDt6~MFjYW=c5hg5MsY&*_hdXC*q@Ub%shhk5;RzV z6b8+Pdig;O|CrbctKPq-x2hT~D8OEE_X6F-i2{z>>|fBy?%SZzZtpEBQ^d=+7$0TT zqWEt5s%0B3yDUCpCZ*6AM8EN6l#(V29^30=sB`NO3CYo&Pw{D#U`D(9s}0osKq2pr zN4=!9oN7FnhH9FW=yCImPMmQWeMiMg27@D*K`}pDrNFa!>m%%J=o&G-$Wpz3PjwPY z?3-7)EK>QgcvKelpWJru@vd{Gh$i8%u0Udg%zS`x&+sLgemshL6#tBKs@>_$WHzSO z01cpyos8Y$sYVku;bJsZe*_736?M2AIXGX2@c< zI1i;58W-eQ=NSduM9adg1bO!|xo96+J(-~p^8ydtG#yWFf+B|CMwg)y2jhEn+zL?YWYPoOyWDPz z;X)I|>+NrrQE_3Pf1?O@C}R(1Xo*tO2Wf!2@O%2HIK?yH*)!>P>RTjzOU6JR#%u&q zjXUPpSpe|Ny`Q|knWLhhtHjiS+i zEidxlYWg}-0J!rE*F_}+WV({TcINB7G)niZlC=Ds!Hl49FB^7<@l1;W%0qT=dL8)V z2PG{YQMn~zrW9Sp!CxqDD0z=5qQnez#t$ zEuX)_q@B^2$Z@~!6$VEuE~IKw?1VyCG9yyso|(N9x)C8eA>UVUN5^mFI0DHZy%l!E z3sd*+*=bI|Zi(UM0ZnAdRf+>>7;`jX9!$G^T+&0OXxQyareYU%L(ptXpC8@N@qwb6U~v_;GYm2JY8gO6od zKs@qeC@?Z3kdsFPYi1ZGtAWfK64MApm4hV540i^4;f}&v-<(KXtmp^q18@wgg;sKT9 zmHC)1V|CNMxpsU4t4B`rr_y8LO~*1t+hD~Nds$_WG*SkC%A|NRn4fFq7MDFMkSDz} zXA#&FeWKmi_g`hs7~X$_0*PM18_q$>bYKc7r_l&my+zNPoKGWscnNw9)1cX?Qq==% zM$j}S4UAxo`?fYV7$Dq9m?W@ALPZAWMaj~-6E;XwFueQD-prOHP{RJ)b4yzL89N>Z zmO_XzL3N+{9QJxKf)58rvuK#? zvR^#X%l*W~26nAhimCaA9xs^1k(J928q97`$F`D3;~9StRvIaqqyKO*^AG@@d)>D_ zM>qE8coeBm7c%0Jc#vsE5$08R;GGo!lVqt>v(9_7(y?cgy_0Em?!aN^wKYCa{M|zBq~kg*O*@VXkOq9pIVVugddM{>rZ6wL9^^q$AZO2L_b^*y6Yryb_#J@L zN`1V(UUH7K7mq0Ws4z)D;VEnsSe4YjW0!`Su%s?4a>rTjg~}r{-8Dy~_;f%rI*ed* zK@J@dpbX2MI*;|1^gklIhA<7fyi7`~P=pHJi70wm!Ivy(fdqjKL`sPBQ^jrZSaO(Y zai24LySzuK$k{aG0O+4IjhlRjmlMDMdjLf`0y|HgNMQ2k6*uHT!WurAK4Q#x%>vj*n01X*)@?TCO7;cVYJ`fs3-6%=I=}l0C$&7dMKtqUOj{W66eW)fuCE-TKUDybekhC@d0p`WH z$0dZBZ4-on5=7JKc$%obPtk}G0Va|z&!>l@zub?8li3XnWnw7EkfUBTI7oryLKh%0 zg4xyBR^tA0e@*G2YiRTYNgR)Q_`*E!I)AHtsL$jgkWg`m#5s?$>V-2?GPvRivGJGt zMYB~w0a6b7A#Q%rtn!!pYHg53fj4xpF4!9c6qB4$4Tn8lO@#t_`K%hejm~3w2pDZm zNUibcW;mWFYTsmPFreZIEDi=Q2d3j=N|?fi+hpIW4@=?;_S_g_Zz(tK-p$AV)wl<0W7D0%P6csz(g(DvmArm+LuZoq#r6g+_V^;Rtd^qyLucJH`;Ss-L3+g)iT!+Q9yc>s{- zoStlYfABlGsgi^sS72B#Ha5yZcN|T-(XM*rix>t9y#^U>3PKAgfz-qYh}}=Jt-oP+ zSIhFJ<~zB6q$Ybg*m%ei>fweWMy>#0Ud(FFW=qP)nUX{tu1h_H*o9w%=p4kw4GwQS zGUR8@1>ol~zCY`++dFvyJQ<++3$=T3AEq<;A)u*xmN7%fUjYV435$Lh4-}glp)!ra z9<7f!nWd<17AG-x2KSkcv>1;_3;_g=3)bVt$QsTD@L2U4%M7rc8}=z0QU3{0^-grv z#}m*2Ja(5!k1G@EGl~FZqI;G+?pvH4kJ!`%J*noiE%Qtk&+3tb&8pE74R7M=Xe~&J zRnM$6pFwjMBrAc}3|5Z*a-X~`9_Tdr!RF?_@WI2GLYa-um|s;%djvx-kmz>;v{Y85 z-z|c0Qk6)JyYtL-|3pfSU~uS`jWKFjIn~*iytki*3Awl+y#!a5j(98a6q8|`%vz(~ z5>E~qSXOg}vS(_O>X}m8mVuN_8?%E{eZv*-a=bF)V+X z(~xw3A#a;v(KQ@Cuykt}F*W0b#h@H%Q*@KPNL_|PX$aQg1KD8Ah{9C zB1YE&d6V{%!fEMua+&O7ZArxK9!JhmM#~wWhN8p{Y?TkB=~cuF!99N>rCKV>j57Ev zp134LoJs4=TH-4#Ri>&gXIU&Hj7IQ~&G_BYg0h_w1Bas{AyPTwU9LaNVR#hc)y#169%8glg7XQrzbcFaR*VG9g4j1w{ti~4D^oGo36xb_mM zJBZ=tU^`MYeBiB2iXZkow0d#EerUL`nc7~i)b`lHbRkd$LE~j&z&0oVy%NBgXbLwj^(N4A`bJH?x%P zg70w@x4LYY1XrkKp;Xd2_p%#AcPyv2R#Ry!Xw@eS)YE%*nWD-mt4@^+$P7L)Qwi%x z6}66)7KsQ!TpdDdX{;`=e;0Tq%vc$wc}FGz%MpnW)G6M#(Oz^LB#U|9L+i>~X)hl! zIWJEk_9*a5tb`c*0QiWhHkKmhsasWJr7${aHOmP^BbPCFuoZH3dJC+m_X|OnQY)DP z!_ElS*{c$7j&AXQ=}L3ltD2>|_LRk%DiE=zu##UZ-v^tr3QQh`+Nok0j=4ks!d=!3 znnScfyVRwdxM7%_^mXD}%^|%wF_T*5hkXfSj90{^^4=AmaZfD#6>0NsGm`8ig zHcBa!26qpcXr`Pd&E(8!SD>A&NrkmjThUH+nKn~?jSS7qRaLPe8UqDsSsPiJZd%Q~ z&Dkk>x^2#U;=2}Uq%gFsq@-DbErKy!7dx00YZM%&a7N3zPOYm{DsD{}tn3UL#nf~r z91IX0_?Uf?*&FoZ0W9oh-_eT((Jad1NRMyKas0g%=UCcuf`=8_GPuU}U^R$q>hx1F zmPmGGS#!@!^LK)_`b8^_R^McM(c- z3WV3YEJLkNuVBrfPo_sq*D06{Lr;DS3~A;GwOkp55g{EmA`|z6qD!GH32ymVV!+O# zFDgschTYqv8tJ(D6!umZS2gnIv0K=k&f2{2z_B$mE?UR_n``o3WJa;tb?SOM zOis6SHsx5^4P?FE3e-ZOY!C;^7YZc{hTAE za?sCz@Knt{ct-X2NksmS_IVzM03dWWHtr?n3>m)oESHcZZ;WV^%%_n#J>|N_{{RIB zoqo1QY@5?;} zr;fR=>?ND2Kn~Qha{jKp7^w-4WVx?$6>pq8ji+6Di0facYxgZDLp!Is#%|k5H9?o% zVy(<*SLwC&*P`N;6u(s0Xx%1wbO%fMEv|s3v7*%6+Yac1_h!tzVK+^;+N9jSRH4UG zD47txDw(!WyOKw1YEEtLt5dlg9F6D@?S{q);ZP|8g9+Bc?a^n9t%tOvXl* zH_9#2@=_;1NOZsDi-Z98482$Ai6v>QSm2b(WH3+AdtMbp@OCl$#(Z5Mx}G62qgmfB zW>Rfnmn_Mxa-3q9LAOwKs&2|zPV>|{lj02pn=?UtsEUshkuzY3W;IN(Bu>3q?n?^XnG#K zmJ1ZH7FnM#z^W9*I8A;=$Fcpud{`}xdMaD}w5m_SX%ZO+U;EQ46({5E&03v?n|@h+ z?RV?-2EJz~zxG_%c)b0NgJC(}7W9iL#u{9 zMkhi~jJ^2%HW8v&fmB&loy!G#Vl&$Oumpd(KMU?E8tc4bE`h#Es4Y#K$ zjMu4|z-o(EN`tN1ZbYzd@syKbEEKyGZ%^O5XJH_ZfFUeCFO^Gb*hi{&PhE5acwDD+ z-?2*Em&0|sFKG#6#Ea5O9DC=!ws90~3hbHP7p#sm74cwk$Heu^^y}nwm41=+9DjUA zK-Ebwq~MK9?glFa=}r*2@6rR9Blmz2k7m|!q*=nrxuQ}DKF$-hqk*kY6{~FM4IOdX zo}&lr1r77+W$Z_Tn9;hOLRlr{`XdRAQpv)T%~BQz)k%{jMF%#pSl&rULDrTA3#bM| z&Dp@6@q54p?6hpu=&~+QlgCfEvTmYtJs>ciS?^P+WO;j7(71|Azmrd=OhWjPU5^8! z*a$RS1nMgyK!8*tvZgn%qKr7gh2@GrEi-7f2r%n1y!|4j8h{%$kwemI&cOm@eZFZ! zW?5oIL250co&UWAeY!22Fg(%ids8Yi9X5BHy- zT;}%B&sI|sWmwKcDsga=jEQ7ik*rCS;xk0ToqdW3%suG&f{}#Oo~cl!4v~8c3eieE zzfBpAx`0UL9UuvAQey?;K{iVDQa;c$DG}j1@6uHp98yTg%X-Gq=yLoi(o9o?^|C}e zA`0w;(dTX)FAlavU8(2CwY{iwgU}ouya<|bSjIpWvx}0_5#awMmg%-!Msb89HH5K? znxXN+M>m?xj6IBYFsLKa!5-m<1}=O&kQ5b)*wgcL4Qmfzqv*|?-uQW5IkbJ~vfdJs zUn@k#(`$rIvZ0TAmP}$6pi0EuHJ+9<9{UVM*)?cRVumcN&>SV{(ZoD!4HZdg&Cu~D zs%5;+_7+TFf?qbXYGGL#!?HeH_6lRW)I)j*Y45%(iK(GgdyR7yQ_`fTDJ%33D)>Yw z)^f(q6KDDSt7MKnF4kl`A)Esi5dS0TOA7U+Qs*pg%O-r95EPT`IRlcb;_@8(9&#wNb`c19b`)8rdUGAar`p0)qp98=CcN9+X8A6qY z4@O@U(Oz0Ni5!{MtNp`xK24meu%p2kj8@VyN5)OneQAZwEvoejS@!Mor)Wz!d-?j+ zyC2ZtazbXs!r#MD0p`NOY^E{64`&F<@Pimca8i*$ zdHK-6MjeMK_$GnBtzO`cUhw_PcWUfxWKZbIuNtD8VhLxjon(!gOIW+6jJR9ZVhtHN zlV=9r0;0!0Rs7f+X0cGBO$e{MkjqYVjmNxrZ;+y3vIbekk0>UiLZ||CWBdS%d4eP! zk$IE-rzT@qO<>-HqZCYaB3pC@VCS6&gbZ6vFllT6m2u;JJ`CORaRQq1E7I$D&xlD3l2^wn}(XX7%bVkBmi!|~QSh%i2rwEFPu_~7~B z+0mlS@77-DSVG^kraGdgnbO&|KToT_+!+2nBq^snkAq)%7IFk;XH~je`27!l%ttNdC zg&5KJpV4%Dl)!ou4kV9)%ptB%-<;LZl6Kv!?Wu$vPS`O;4k)En*F~OiLPICK=7hdZ zct;8CmQMIDPT1B7|Kx&S97w1ae9A%O3oHhTDT*Z)@e(E@aX3f2kYLOLgcWoA z8(Il4u(}c^McNo&hxpn>SzqoUJGd~1lJ^J{yE10WWLRWo8kg!D@keg5*I`? z^En4GD@cC|TGvM|e~rh4{E&-0s76`lCb%^>)W(yMB7x@5scZQH^4W) zk{Cm0q1t0p(j7gfA}bC>Z1p>84c+XLV=O=$XX|MQC{t4Q?)MfP(0i zC|JWlh)!y48YMl`j0GE7JpthCDpaTx)Ug_1xXxsQp=TNrzda zail6%Y#_EXh=x0*fF|RSMNqeyTEQTnAp`^m#Vri`-S`Pc!$?z@t+{*ZAdzc5AnP-` zwK@VEG%A4$CGdwDpL?n`VM0TM27TSCBSrv*KzYB@$i8l5>C6-0+j;ba#S+~~_?8Eg zjVw|$4bZaycqh;-M^XNJLZ>brM24ee0NV631dz#wdxCn`qD_~cdPsz^#WVLI(`C=3 z01dhp+i-{Ic8}AWqdsciy|_nOI&}>v9QUcrn)zkK5h~bmliA+p66)NzFyQX0`G(9H1xTETYC>`v&ua zU9I)*RNQsNKN3_{lyZC4$#~!11WzN`Iwtx`8EM1aa3paudjZx5>jwcf=$N0rFw!h#lvvM#PC$d}sp~);fQdb`^5MGtdJwtTHkux^I z9^dXFKtS!@m{>v_#Cbcf!mN#Y%6wtReeyIqm`QAb6Ha^-WbNLC=HI1AT*{qqvX0~G zH=m(QQCB-8bS7}X6#d6nns+1(%Yi%nj2j5~&+l1A6WmozC+Mvbn)%Mp>yg2b*6ijc z3uJFw<}Dz`NZ-S~1Z~JMaw={Qa5K&XfJq8VIgUtSrw~*g1vUJ=L)6!Z_JE(Q{jFsU zvcVtN;QwjB9{}8-@K1tXC-BX7KKvi^z=t;Y-wgPW!2h-)_!mz-Th<1h9MfXt5!``M zsr&XVe2bOB-pLf?U>Iz&JAC@`KwNLFh)T#uuo?|%BW_kPZy41=)OC(?x-4q18#TPO zBb?u*L$T{xt+peofPD6xLR_;}3u_t4_08?fDCX_Lb-_x!h^|v+4_k-r>e6tY8?`4vu>-3gMmcuas^Kxau0D2vy*9wc8@1P<-LPKjz}n7(HFIFS zGq7eGwRd;`OP7&7X!TkixN8U8e;IJs8@2xmia@zA2jpgY?%@N_AuSdlJNxs2HA1=b zFBR(6c2d@1>f_O5KC?V9DeUpS=V4y8B6mV@D+oRhE?28Mccs#2=5ij+Di1%LIk+k7 zbr04$&|7C0xN5>`j=j`zF!?n&zW<|jBI6`)wSH1NRr_G92TGy2Z%oc298wdsoG|$D z?U9Mf3-}D8OVo1YY+1L1wMX=_BR6?cQ1A-sXdQK)@yHaAJ4%I9H@>0T#+QSSmhSdW zv=AM`0$+Z|(++dqWP0G;@k-R$MxR6LhckM2wi=*jMNzTCDaIb4`zfSA*h&Kh^kLkM zXOq)hp+p{vw22a7@-d^%YS&yz6Cg{<9WK0T3}hpXdo&M6ZU2xhs~#`hfzvVjJ!=dF zcjY1lV*v|a%uXg~n|Dj=pX(C7F}FH#y0AfEJ~Dcc=9WEUCnC=bRHw{!kLpjNTA90W z-z00h!8b{vtkEb-`{V&|S^bz?p7o*`aJjy`xwpX0Larec!|BvFLytdsZ?a$+x`jQR zT9=;WJhz~(HiXl2dT!YA%N>nJ6%Jo4aqnz*HAp(KUiWlf^+erSH�JaA!P!AouxV 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 z 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

JIdr=^4q{**60< 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%0AlXkGD> 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 $-ZW%E65^+Bw{S|aCTf*} z6{gcgimH918Gva62wTToTpXUc6eS9ow}Q|vVWs&D2t53crlZ^^6BBe%~;o>{-0hJ$A7 z7dKgTqU7r{s9IZ@-83iE>M~k#EJ@YS>zf_)9t{dfJ(E1&g>T8tmpL)yPsptPLB^LL znC=&-dlv`=>Oc&4jrMs@N!An#^`&`QVOh9!Y}EaM_5LbjMQ7;d>uEnaOq+a!)&0w< z96Y0sRBEBe21w`oJiBkFEziz+u^3$*TsRU+_{g%)82CIUqRsGn=N^~=|(f|3vZQsa|&VyRJSO{fx!tB zUsGR;i&*8`nGGkv)XR(q)CWNq^)*5jnNYARk>H9Y{c)NH(Ga@>RPrmuLhAv9t(-pd z)^u8G@yHKYmZ#E5@x&O5r42FH6M~=06TQ#R zC+#{37m&86KxqMoDL{_qA6o^9WtLTX~x}N!fXSdj8~6e zf5J3r;*Br(h%iaY(nCPT2dWmu;A(w?Z{FOnas45eM!ECZORRVUls501E@^W zN|}GY>4jK{a!B79vue6QHGKY-f!$q3ibM&>EySXsT_*gSh*a-iwz(;WBIsGu5v$oF4uU?v==`xu_eAn}O*|BN zck|~OO~oC=lh7bqt+{UA!^Vu$@14|dHQtFJP$~Z&>TAm*B&^o)>kQg8)MG`}b5IDL z8*IvNQT2zO7(-QDxAWnnrK|thFC%+at^sb0Hk2n)$=;E7Y6jW->OTBE>JN0RW;*

YN>02;a6ocQOmT-fZ0&F9tWj{vRD++bR#<+`f3cfG%dJT2WgrE{c%{Ts3pF=EhtP6-OuC& z5s7DSP@xT4E9!@gg!>LlS~3!c-?TmyLac;Wr)h5guBnc-CGEaxtad(@_I`v_;6R;|TkDqj=8+GKicWyv#3@}c=Ckw?hSzJF39P>-96)_w z2conAo$8t70;G^3dT5)ko58*`VyW#{KOqRbkH52PPxg9Lv!r4^gAr4cI1})_b9Kdm zpx>Vby4*ALc?c?~-D$DPpXi}3t~5|4FgNwN&;xSpm2@T#aKG(uae+(#VT)e%Y95*b ze2ea8J-MQIFD(|0s-y`|;IA9g4W3lpn_SmZ@fh3&^^rWH^g8OJ0^5VkrMo@RNEx_0 z%M9c{;+A=>lv_-+n|#q{R^+wNA0kEr?<*slb_gNjL8u6u-TLl2imk{c$KBn~5Mn{? z-5G$G0lQWni~wC~Sb^Z8_M7ClFoK5wT6P*?&mM$$ubquht-+H1vsw47wdfZV7fQ$M3fjr=pg$y! zrY|x6RV<(T7V*BJv4Hv;+eR{uWN6@IRFrUmBZojjy$n+&pfb#l0z*ACgPj=p25Hb1 zL>rU>6Qzlu?1!b}eT%3TM2YU8C(c7Wh818QUL4l|-P(SO#-0WmCE%$2kI&S>)MgH! zA-ueu)z#FDfAGWo!87v@Fwuh2;7YZ9=Fy)*@jw^9X%>icu;VBNIhm1rv5RA`ukDM^ zUQeekXpN1Bb>)D1F{;Y#$j$hXHwDb&*t-#2~^RpXzbvnTlOC|)!D zgkec{`^atx0c;czWppXDtW7bQwQMareQ^=%K0on%A1Oc0b`IS?lb98zU+&Ywf99X8 zeq+p?L#c%Thatxd=tQE!!HBt^hF20f7pJ_i!KZ~P22=t&K1{Kv3+^aQOTKX)NdclS z%Dfy{*h&EH`KoFbuc7ub@vZ{X(P`6^LR%fymfX6ZC4#r-jSPNoe1+ zUs&IINcRXHLNClnh5)0zmzIc!X`~r(n61^20WmJyNV8J+R~8v8shiCK2-`5Ivx&0M zYsEweDPx#LucT!DjEANsEM>%LEqvjNOI<>dX6sJ<*!}JJQnR|!-zmbQvy%-Y^oEUD z7^3v{YuG?-&=r`|&1j$q;J_Up-?mgs9wFPJ9N|IEDxh3BOM9{o5S~oKL@hLkl5b{aGw9h z19IOqDd5kR%h>ieFTFKq!d@KkxaOc+u*R2}336zvUOgS*!2);kM$dm#)Lf7WxWJ-X za*F&YS*4bL>>4?C+l%16SdWNXV%|TkIncKQFo(}FVEDF6Y4Df{rTni-+?yf4^WL_4B%2AQF7QYC92yA{^Q?M@) zvhUvtSnliID3i11YBm$45^;+#37wXeOy8>djiT7HF=#0j3Nd2~jEtIe_T}z*%zS8) zJd%vEDE>qI)BAKoHeHV$mU0XvHB}CGF_GBkNPbv!*C!nS!#fn2U z<-lpWaViubHx0jVh?`J?!sp19K5cs4>VB;mI-E8}UwT_!vecJa?+*w|CSO0tBm zi;F~6JGa zC83r4i*$M3c8sMh0@BOG6zbFk``41<8BP++NU3~0?t0xEfO%{o$;o#7nt?dnagUaz zZT5HV)>V%a8}H6_jT2k<&Xq5Lk0n~w_KP_@U<(kxRsN+FSdv(Uc@XL_dw{-BrJ6Q?~N zHP7Q+RP|_E1+D&{3(S5Sak@TGq?5jkiKJ#5ewn>8!(5F}yYD^+u~--nok(vMZg>ne z3IJ3$q{Rc_>DB0xktYuWnvF>oIzB0j?Wx*eJIZ#~({|TX@S7m=<(p^=YQKYzvmTH0 znzu9Gi!(k#^I7l4WFO)gk8?jWv18J9#2C+v8=$Q@3BmMVgl3;q_!XAfM*rO@`A@GLgRrSQEb1?LTy_DS64 zvksSbMuO&A#l6LcAqPG_N1kUSxEn;VOe+VcTzA()9WJL_2kf3W6vzFlJ!&gLDep6G z+FfMCkhA}1n2vl(9pv2UPH<4UC%MV%h%wU~zIQkoDKhDYvp*3TEJPfuH>j76d^PVF z01y7G=y266eB&vb+6IZ%sRq`^aDS4MnCJ)^?J3*Q=FpE!A-3+ZEhSaxy%w%SVYeRg z{_cq1V+u~vB&;Be&s}NjyhFu_F3Km(FChw!$9zJ)^Q#S0P#A3^d>Ptt5Bwj&C#ZBrZ>Nw%F(7=NMlpzYeQ~`!``o8cB7pi;<*P zj7K)-&1XKCHgSE2HZ-ho{tr+Sx7eqo%J<)}kvLtvGSW<{Tj>t+^r#%Q6D5X6$purv z0#s>Ezk8}%$qDkr>6sOu6CTEIg>)UEinJ*@ z#ajA=S-xy4n|^6S#_-Wsk#k=j16sCbU4!R-$;31B^qI#HUk{J>jW~HwWn9Fgk zm)dlN7C9!arLPZ}^GUfNmuA4b*2`R)x?(3?Xzxxck|C(lQq6HHCEe!a7&jiwb@*CQ zp*noAyIq}ACr}HA-c71z41ke-^6~LWbLY$4DgN%3&D+@l^~TOl3T@-=pSu2Ga@Xc) zNPe5Vy}!>PZaB~Gog9q^&5`Pj*kqo&WUROUg6JV`SkimR<1*O+)ohWwW~`0vZ5V1o zefth2Myfzo(_2e&*8!D9I^|SLam$K`W|P^9=<#2y)_1I941afTl=R%F9W&g2u^7?( zHN9md|1)p3^?&COAyuGi?sdpG;#@9^`JN{EUkZHjOh?1exQOvPJo{hY@0B_{#x7m7 zGU-rD_MNr;JFD}5Yvhb(H({)>iBK$AGiOW8FwB~W7$0XJU8hXjVAoSDS+dr%e2w!k zw=7X1RY@On&0PDQXkEd`)+wo1Fn*8k!1Bj+MX_SX+$WCHqGZcj&e9Ukg7lz1SM%S< zJ>JEreD{n)#tGM|<+m-*En$;A)%}K7Bni_Pk3wnF(Ft4rbZ;2dz*nA+wq98ocZD zG%rHdru;qibwj<6Rr@poRUKwcnY@V9q;pR~Qu6o1$OQ*Z5?vEy#8mIwgMIhxAb)fX zJK^SLUrgI6h@rZHM$NWTH*Zx}vu#e`p{@`etWegbBi_~%*Mf1j)euh8O8iZp`D2dV z*|PhX{0d{X|Nc{NPPnaXH^?~d>)NT%g7S}#4Cw&$3(95|?$9nLV=*l&t@pPp>loYS znCZ~j2cN<%9pM#xU|lk*yI|1@1Ld?q8!B7&Y554E@nB4BKrQS?5xFoLlH}{#=*wa- zDu#_cM8y=De4s>IlqcuI`orENo4~)%s~r8WMf6jpTw&yFcAt8LjgiDdA)q$=t&RsA z5E1}mni(!~Ymmz;s+8hpdpH__hG(91^*-#q;(JfUI21FM^<5dZiKk%M zuwx*UF?H2cO^9Nr^bDG$m^u|G4`bnHx3&}jdzbs~YJ!^}o6Phdij+BS2+kj!1H?E58p@evd8T2ub1w%aQT3mJoir8j>9EDlrwqtQgi z^@}r;Hz=f%wJ6Jc67ms8jgP9L7ey2r?Qz2BDTT&AfFy>+>uDQ>OQ6MIrzLuq?su}> zZid^ILdavHJ%bPueRcrv-V}aDMC{H9-l7TGGJf_mSs{5w4C}tw+nT>_$9-Odyv{<% zyQ0j3=!OmNi`rQ_L&yU(w!m%CM_|Dtc(+)yV3}BAg-JBzUj!lG#$Y|N-ukXAUb8j) zpwEOPjF_@&OxSKl4H)aW+Rbe_wtmjgLBW~`VeDTj-9zI@owv*M!S#`=TDzfQQ@GGp8`|F*tYjX%6K$H0a^1AtBR-x6P;0eqk8@ zwio_L1={hf=bnDidq%6BQLv(y)^K3UJPjEM*jC0Q0EAo{I+wvAX^424ajQc{o~CoH zbDn?JSL1i9vng*C=tppJG?xES0Cs^f;d25_)Ur5%HfnmDKnt}sPN0JtA1BaEt(_BS zr`GIn`q+B1zV7D8$jgQ70JvD^uP<-VZ`@&_=5TcAkY&rqb+xR%*6O`f zvN}1@>_F?Om`8FwQJ2`Yv+^T)wuS4CWppFg-86!$f~L0ac5}SF0SfB?n6NWx%j;0t z!FTsr8O(8~JA7@$!NH}uoTmVfI3vne6Fx3jRq`@4%Ex{+gQv~)Jyxtr9UtoSZFCT+ zDvk^J(Ak@==MMA!Nz$%VQQT5@i!|Ze2$jl(UC#&9UBst5pD78CwqkI+3CDHH_u337)0{#dw9YP4rby9CsAfXpCS%1l;3_m> z<#m*tGjHSppQb^ckX;QquCgg#bo-7SE-BXC|BfZeim=U05U(i_F3l*=nk!7p zXjAxY`2CqAQJBvaYOPHyPogBAXhi*3aD?>%(s$~9uUTff{@#{b22rLjwOEV#WC88C zk@emd*C*p-^_JQ~dij=m!JVy52d#-;7HA-g`BxIS7NY7PSKgF_A-fA?D9%(=6+^3W zpuv=p1w!&(AbeLcs1_v6rw-Wpva|koJ8i>V<9VAIQY|X;keV(tvzd4KUUE}>vC5c? zt#rLReH>n*Bw?^3m001oZJ!)SvBDc68DUTOoA-Zi25G$E$I2Jg`HD-brDx>fiN*$U zIZa9P2@q$xr|cB&ZD2W$5xn2Fi0`cb*}@c6wa_ZhW-Qi<u zn-~muzt@{+yEa=)aZ=APy)yZqv-spY>wivCs&YCRpu@4LXIxw{wKn_M0cbW9X_S*- zS(F{)xQ27`w<3C+^lzIro-cpE5Jcv}idzi`TE!XGJx(FDFoxMUJfq6f_qtKV>S`^US?*wW{s9=4O&5vbf$7#b@(NEa?v~n=430nL01rUl{7R zhLWV=9fTa>aDW%aEK*2JuQY}~A%NDgCTWr4H4CYte859JovLz@Ppd)Mcb9MJ-u_w*FIkxt~>dESBy^mg#mh^PC7& zs0^_d@b!&z5qwje&O7|D(wTVDkmgt$ZP25SqI-8epR29*si%+=0l_BIvk6T4m5i(~ zxUb=@_wD&AnC8jq9oMj4f8^TX)8B0u>UCR0uo9S+qG3M>{hS?U#YdKDt^L@o%bLt8 zz5-v{YyS>@(9}TSnS_DZ--0=92pFm|t}#`~yid$)6^aVbX!69fk}(F|N<$;UvXkaN zECfp;O-BVcQA|UDLHch2gz=H4p};p%g|i?UTY0BTz#B&zC=-SCAlQ>_97tsv65$&U zKpfagkftYjw!|xAZPq|nd6uw^z^tFLQ(Wl4FSv!9t6+Su7?K z)!`neS!bXn80p&)NWkX_hbQ5(*f}N|uFCEUPgtvW-Xj{$`R`?Wz4IN>@ET8e%#X-P zn5I-Qr2hZRIjHtq;H`huT2SiQLUMe6G`qsV4?~g?KrR^^Y`WN>wYHu^=nc_WC}-u@JAxc8e5J<;6o{|J$EVjb`Wo_2RNtoTRo(o614dbgYt-rzf_}H3(OI4vf~N=DuBe>h)S`z&>&&oU)3~ zHCxXDL9eg~Bn+`&|WejqB{u;Dy)mQbb5H|~mBR+~J? zPz{G8MI8e6<|{BaRYG>9u#z)oX_c-x;X=DL?@_yBuoNJ!*rgLxfter?XIdnxC)J6h6EZ9xUcEFN(t|YHjGWQ1Sti zNIrxr|C)8G!xT-rW3bZM>OOMP1;BMODqq)Q>fQ>*V8S)0=8v0ji0q-VZ!Bs8Ck!7u z_t1=m$MiLV^%rN%I_rLZ{Ofh{XQ5@ydE{;|*iwCcgTFlT{~?vESd30~I)BV?w-9^d zM1Zu-BE%;!*Uu9Q$m`ZvZ{%%(?M+km+STsK76Q^4yi$PrN(laX3D2^=wkfTB8A9}D zS1OSV+ZL~m-=~}XlS@If*D|imZew7YT91?Ge~-ZRfjAAsk}ef_9V`3C&qPRiN_)c) zaIWbfZFC2C6vFS9CO4M=voc#}L^BPf<=wo%qp*9Px?0nE7;;n5zA#37RLy zA7p(EU60LO;~G2s-6tRIk(H|srul3)j~swyM-mHt7QloTqO);pMx%hyFRd^~02c0tu(0B^3-i!W`>+=VEACrC%dlTA-RGnGSla6w zkCBYm=a#{w`{$Mkp3CQ!QMTjfmKmP?r<^<7?|V58xQ!$4?3;S%uo!?~q60i#(l0|C zZC0&Ed~H#Y0oJCnun3wtGT!GC#pe@bFP8{jZr1O{$KAxs-NeW3!prUA%WY#mrZ}7M zYbxQ_L;@i37Z_Seu1v;vN%{oe`1=$D<}nM21O3mPkaVNkq0NM8+vZ)+j_?!v8wM5e~r- z7R3=}WezczcX5_l;C+@$~NYdO0$Z@Q;NhB ziiL>)@C7rTboOfJcud!LOn^l67*K2wD7H{4Hd!jRQ7SfCDz;KO>=uUp2v0QtPgMv{ zg^Qz%+@Zvm&iQbqhzz_!A$f>E@f@;v8M1gAvUnY`cpo}>89I3zTAle*m# zUNm@PbvkYIy_y5&B{utbiSqN|^7Cc!^J(+*t@HD7^YeA^^R=)Xl$npAn2n*Bj?IlF z1j8&&VS#FKBeLw(GZ2OM1mM4+I-Nw10T@WadlK;9l)r;<00V^t4j0$N*tn9od>pfr zQ%Yho5R^*`Zlb3M|ELBKmfSzWrPeWXFH7a!K@E;(X?~CL(5(#9iW; z3!PI?a)B`?_=nLmzb0n@47}kz58rojKAD^aFbIbCfD^nCyBtLSNn{X~=z%6M6+NLO z5thI~;hu>2{?H1EyAwM}Fg^K$RVbn#h3Lz~{c!jl6p833#ra5a-;te;r5BNW2h2$> zDTzhE7}D=W z*nk@eWPu8D!51XMjw$03DqxKsG`P}AjIrpR0R)X7L{<}?+zTY53|n^phXL-eLDqM7 zTF8a()TWl~`s>9OTYVWT&Q!@D1MeAJ{M!Jq=cdeGgs|9`oZ)O<=8ibUFA*#8A*9RV z0(xaMy2Qn;%R=gTB)Y}LqU+=W8fhfD#zm`ZHH|+C%kZ}snO;Z?Lgp#`fFw7eUI@ae zl?MuYvGXp(*vg&W7x?wzsj}YA+-P3$kjGm;Hgn8x8ARJ|u$_7)n}~72pJrfz85e(z z1P!XbI1dZe!KD2}*w{ImZ^vOY?cie~tEu5I&6RGJG=6;AsG|>nv5w+(V$yj|&z8OZ zV86}?oZ=U+F1w|8tj^ousC6&&-z8e0vW?(~pt$`wGi#vy7i5;bBIBFcP#)dH=);~l z9PO6e4YEwLWT4mV7Exb+aF(r~<+OhL=g$G@(TYXnmIlexv&Wl)L(XFpZ>WHNs8Z=2 z-Ye+mvDW8DWvLR{N_FN9Ari3pIeGsZOA1|cC4hZ`E2r&t5kw<@6Jpc(Kf!f<( zgx$DI3j}u!FH8*#4y@u+#omlkPnsCCXbOVapnC-yM%iMbij4?cDPiqAR(O|}?u6O5 zCFtL)urLUi)%IG5XQ6?#4HYHC6T&<4gmY`u-8I$1sNM6&d2i7F`RONP+u5@7w9ncP zA>aLkpZ~`D_tLG0k4=-XSK+E=|F+9V1HleQlb2wo=1au`(I;$YX{`FAX2Q)Ub z@rR0!9^6$o^*chEx1@@!3O_{lnrN-1u?;Ua#o^{`EjM?1#wdwzH5iCS)g5&2Q3lwO zHJJ(HFL}G(z)F3bJVM=hcRMn$1qvIUVQX>EPYS85&oUmtD(y!hb508byz05K9a-XvxyUyu>s6sDai!9o zEj#1c&PT&}Bnjy9Ii!t^OTV$t6C|idw@o4H7RX#itDjfF4xIw9F!KhB+i~j~autcJ zt?!qYKlVCvV+PE4hx|xkugyv~M%X*1l@_IORe}7B0{Z} z%2N>9Ag$9~y)v%FL56r+^PH^!5tl7Sa?M(CMsGTEhc1iO4%xMX{rJ>l|4Jfc@0JOO zZt~c&xps(D&Dn++R?Z!>w{*r9VYEO$7i|&78Q}`4*%a`j3>x;XMGSDyR(f@#xI%IU zZEPtCz~V(1`Y*0u#Xw39`X$AjSyh#d6yz?Rf1<>x8e_Y60)<3@nC>lu7=s!asS@3W&b8CqG4R%eud&b!vneF}el4p^H@8Z@KG6%NHdaydSvB24-dSgCohWel) zU{TE)+pjfQi3T>ZwyCxC{IX1{vT`e`^)Vwp>#=B#*hhz;nfDB3rdW|Kt4-dPqtMSE z`>FkS*KHHu;167=y*oC-IjiwN5#Xj`!6RgvQC(I%-k@>gl+}?p3}~11(26oB-l%_# zWKm6O#mC;6)e(E?ph)ykA0E7H&{=#0?-*&w5tkidIByZQ<pS~Z(24U$e&SJ!+!?AL!K&u>El>)apQ+?~GVB<85 z)oNE#E(USt>3dJQTw>9gEp2+lZNSI9v!*3xj*^^k+b%>(^rL=F8SYm<6A}4VS?$Y@ z+J2KJ0uJ$}XJwMf~#gwy>6Y&P?8 zz!Hu5m^a(K{#>OdITt)C`YowN>H<$T+=q=RF1%aCPuV(E?>{zS8%_Fb`(~v}2t3xu zT%dENIePPrGp*^#cVt~mIR!(+gwj5XJ!eRz(c+{7wmvxr<~Naz{^iT&|CmGkiC;>8 z{A1nC$NX3b^OyZQ_607jQ1I~oIN8(C0T%#cF@@Zjv2ZP}WDXO5u<^sXGgbGm(UZ<& zL+jBeV=qR^sP=p+* zQF1~OxKVP%e-4riW{6x)8Z|;rJB1WEyNOEbC;O?Q@~D?qn0wd9OZ+FQ!fm<3BAr)# zHVi-Lb=TiC7knEK&T5_4vfMb`-0qFCeV(ic-g#lrPGrmMkO=+tGW!>s96V06AEl>* zmah)$^f@!_KDVincgoLi^P@26`dNKczB&B2rWR<#vJp1IU}(7PfJhj*>^}n`X>u0E z!W-l+jDW^QvvjB;Sz2Pw--|`{FcD)z#6c=za@g4c5&tFS7ES*Dq^KNv@Yu3CGE(@u zTI)y>KZTyw9~rr-XShXqxmBI88ZfU486~rbosJmW2k^L9fJLir7zPzS-XOQ4NbKBm zR;o1FODFBZbjoQKGa9vuU08N(nJ@%{oKUWA`Iz6jRmbaO*Aa!?eY)qg{t>Idxb5~I z*FlO4aY9oLpLx531-EPEd5oJ^*b<7u=YOZOEgQalH#8YMx={if{)B1%7?NL)HXo$i z>ClD~;vQe6Z2y#4k-9Dz@OQ*XKzt(Szu>{^>~b_(ugQ!)1NHqKExWdN@z!=!xlB?z z)5%|Qo)fm$!H188es~OPOHATH! z={;r!#J1XC!N!3wq(*hpq#3uW?xav_Gy2k?gA~8jvHhEqIm!!twHG@dk#4f961GM? ze^*x|0rc2Iu%Vv*2LttDU?T5*Y045AcUpsRBk#W9+z%iFI2-EzfBdiib>00B{`eo< z`48@P|2M(bHw1!-=|k)Pl?7)n`b)KG-clu-?K%oV{J}%@WM)>o`m&un2~yZ~-`%*e zUD4=yh(otd-@CC|GZw2+@beB|Rz33;DdSN#OVv)sESL;^5Izbn+L--5DR);%<^bH@ zXh^i1#ldf7a^)S~+?|@=bV5;6uxCm*PjW1s-z0bE_KwF1>uo`b05hSZJ!N^?JEHqi z#e3u2rQO!lX~Q-5ETN}6-^s^Ug#>(^)yo3bA_L_lVrB%-xM9Ot@ZyXT-!HyM5+u7l* zG(FQ59KNcBo{AR|~FXY54koQWdttpf#G!Wz5YMdf;B+M>fc z4)mJ;jA#%L%+*%@#_U~L)Jtz?A?i1DwVUr{1&Ph=x>V=RWF4v>>Y1h^&? z?4WSvb-^zk*os^g#-m16W;f*vwpHzprmYpL~7x%A!KtT5U>21u~#42#9 z3bDLehm-aOoU$O~|GREqkkM8WQ124`xv1b*NV+h2#~_(cB-efca@foIU1NNDGT{8V z0{LTi+9+IAjNDx?a$t8^}A{_1hqs%1npMb`;yHIC}x)jG-Jf^ zJ&*0v5u}$DhllGA)1kWoYIgL@_II4dosZ`ao|qHnlTZ1&`rDaph^?S6j3KQM;DnHe z06KUcIK#|#ptlXE8dH?pmPzJW(j&Gm(}iS4HtrEx0(OyB+Cq^htcx9qmPhy9bt7(# zzhf^HY&E2KTVQMSD$Iy3*f1=n{>MiYc81SY%1Yr53qqH}Thy~s!~q=y%7Sg<#)r<` zhb?2mg<&4NJ*1Rp9s={g}+)_(s@PAadAA3jCneTM;g&fUn$s zeFR&t!>%S3<2u9b{M*HiafjRX!#zePek^;@?HuW~RR0RkHqkxQgfeCrlgaeg>|g=l zxeS%#Y}0ev8Q)acGBZ<-%wCenpaFj-h(Vndvx{q<&2HN|Pu=|M(p{Ts%ngxO{t zC$PmHni`|`CxBzF^xMopeedzR4j~0t+EF;^DMn4srdd6@d>!)VP3xwCp8TXrj6X=6 zr61I<QoGSd@_V}~T?j_o z^tUiGnZPF?x+FMJR%$F*^e5=z@4;Gh9~GEzGTfju*SE$JY9Nz;a?`))p{Inh?e@Cg ziXQCVLln+T4(?uoDxIA4alg5EdF-E?Boo7jr32`f6q1TFi8WHTo9IfLeJdvWxHP-5 zWV;j1)hUKqc_zpsB0j+d^d(_vmXWc=LM5-8JUJ%$ND9V(RsP|@PcryXcyY_;<9`t%UpPfY82%|YpF?>8c(wl?Us$Y$jvkCmX+3{ z+C1`l9be+zf$6qUw&QX+`a>gGd-M)+a!BT7x&|f4Kru~6CF8-E!+-ps&e?c!SfsX< zTTLNAO1Fr5K90n|un;2qFxfF!q*7t+DN>=~Tgyq~POVA4+8Hl`$uh9bC+kE-aFt<@6T%jvR_+lKOf9p4UmeltpDR6bu${`>l}=al?3{;ed~pG@aD z)FumgtxviTJ!}fgukdn*YqI#<3{wJRsQs7U?XMrdA&xmb*9$B)VATR%wPkm#I~H*g zj;4K=_Nni-@ieP8wX|U$zbYBdhItZ`Z|c2AJVuyJ&Zz(u3?dyPr{XgIeA4<#Qs;=I zMu!a*1}IW4B5nZ^XOb<%XrdQLBa`}PhMeI4;6dK^wDG)FRG|E(hhu{tgzh##J(O#Q z=@qqJgS}ds-9S0VRVMhw_Baw9dA*kPRL9*kJX0++siP;TV~JKhH&bhzjsS~gWc3+8 ze>)1UHq6o{c>{tKR!g3*%cDl0ArEY|+zVwvTZ|PLtNWWr-;3pX>?_JR(Q)e}u}xFO ziU@;&pc`_<4T-$MREKB`W$zpQ&s}^Zs2#SDV7esfvQxb+A~2=stAgJ{%Z7q?OkHd< z*z4@k~}z+6oimr{O4 zoV7&U`_%`R+0GPEr{Unfe&2|PgX(vQcoT+(jqXMs*-7E#g^+580ticRWpo{wZKSwL zIcrGB8D2SKx2{f}`}tQRqjjaa^8m(r7mnZUc2Sxm5vCuJFh^*;&^$YUx6rE`bxGwt zEpj!iAWb2fY@K8uExE~YnBL8tiZMu^U2$i2yxUv8fgk;qH1PpW05mOf6}_uwN=8)% zbGpQhI_Pe5K?30lX7nsPez4{kc}{26D4N0^BPZ5ItvLyR9<*G#8e9wp;n=2XJ5S-9 z8O|B^py6ci*eA+r_g ziI>g7Qa0vL&);ZWp2Rqk*BG+lb`EsZ4z_k$R3$w*Iy=9vL}gf>3X}`ZCRw25ztLxL zA#lP9uQM7tzTfx*EB1rFdW(CeoDgB*$=!d!Hz7+`Mh{kS-jmHF!IIrigS(2~3$?=7gS!o+a4P|R-{W++m zV<=ybY;s)K1S=McyI^02SJNKMvB*_&DlV?ueU4EWh3ro4;tmVqAj6C>%fw#4QO8up zYZnTLCJ?e_el6OXm$kQCp`Cqm>J(qWXj@1ME%tK0VK!$$H-*qBz9kKxxH&C|s!{>6=SNj5*X>sY|ZANa))FA4Filj}~$5KZC3leq6vF9HnW{)hEM@1bP z+GXg(KBRexC=u~f7mE`*kOlHBH&um#7*m-(hk9uZ{{qe1h}db(?xkrr-1bv&pxUwa zha7lE+u|_A|7rt%SpR;&KX8c4*8bxeH_kyoczwW1m z%Q~oSJr_qQ)f8bTs`}y$EG-ehS{x&|!a4Am+)xLN)w5IQH*og|w?5&NR-+HSXH;aN znD%o`DqGx8?28O?%L6@B2R?cINifkU`fuPWUb-r}4rKiKIyrdVx@ax8{KNXlg0#83 zu^2ta88)TKk1ab-$NNW!JP5isv1`jyr1Hmbb%V)YPTN)FK}CB#h86$F2Q^$apoMT2 zLoezCSv09){58|6dY1EQ;B+#)J6_L4d)Ykjf)#An^G$BI=B74-54nqzZAGBV3(H8+ zMc0C!!=avG2V8Vy6bJ7L=|_Mtt}$)|p`!&yR%DpI+7;Gz=woiSpM|rq#fL=z2r3T|hwysVouwIjt(9qO zZ~C1&{Ij5kDDkR^ul4~$T6rSVJLiiA3)g{?NscDEv6{oxEw-;oIbsp`;3@e~`x--u zU-$S}X+r3+*M54MJyekK58NsNCwaG{L?f=dk=wCd>Z94>c0UrYCzVr!vA)CzWqp#{iJUTre+Am|o@PuZ%qi0}v0LyYn)I$Xq5v zQcd7TjQgiLKDMw0R1L6R%W}twgYcWa4+C0&<<#SMU0{aOd%zpIt-?vJMN}z5sZX*K z3is6_*oG|>E>GWa2_-y!Y5osyX{4||NK5!*Lhr7qXnz)SySK2im+(UdU2^w>fD`=y z^ds`AA}Gl}y}jP9U*ID12evk0fIHWMD9sFs*66Y=(=9jc-wzZcgDR<3XP3HQ;zq$EX%ZDZuQMH;BeN=E|q__?|Mgt!5N8fVi2VEW!xAP zrMyY+UQUiVPAdd8YYD)$^&|Q>B>x7KoN}1HGn*@9Z&N-iIAbw|732J*~2DVE@knp6L0MOE$$0n)qR3?G+QEDuUZ@ zAKvRI$nvrcaM>QyJ4$#E2tR9K&ZiU_J{OJTGt0MzlNFi-{(cR|(S8)KHa7c`5qu3_ z{`Z~|CQqxpI4uYh${30;irJpZtx@y`@AvV328X5e7oD!RJ#Vx}j4#Yuqv(?6i~qoO zwbO7sDY)5j-;eW%8hbqwiOP@i5avc<5($Ct*J!3LLdu(W2tT*fp=wVVERv z1eR&Cl-9Vs1CF(9$-pcM)Z;^_OXSYwZv!G>T;z0JI@|jYC1V zV2pso&tSycpf{#Giq4qfL;Y>WXUNL1MH#<8q@!J~L&jQ(HniJ72k01N1%)W+#6&waK!3TUQ+dlXrf4(KwE93p-Dr{{hFN6ik>uX znZ2X2$4+q!ShwM5pV8eT!b}VAZum4a8h(@$t3)JIO&kaw!ZKx|{WF79ubTS%Vaa4) zuWLA0iCdwVi#1g^Pu(dSz|P1NEl-rIk$xU0{)vctQX_pEj8LZyXTmU&! zk6(h2&=GUQ9ei$pY`Eo-z8%nkl23KBX`zfe)Tw0Qsk`1MT`kLrX<70vC4FU~sN@4* z;3vkXW)+UzL&EQ|H$-rZt5G@0*u%)!@I!WM?#3(9Iv%m=m-ghK<7+l(^IWf}J&vXNA~!?5E{or`$MVn#vh z?|4~AhOi!gZ+DM&&_iV^vi-8W8~OSeHp;Vg7`EXJY{oZ0fde%pv*13zBtDW^fB-9t zjAqZph{Az4C3Y<3_w!X@j*U(rk+!RkLX`*&B(}RVfpoFKOqNAN{vFIX?!_ur84Cs@rq%qlSMSzQTeYAp`PDu-o|tNFF+yXT~!YYMfmfe1pd;;8A4 zlKs06_ZBwPUxYn+h;ZL(otUai$f`WeilBIVHT}#`cFy#@2S-(9I$2XeRBX(2bX*AJ zs_M|v+iYj;dZ6jh_F(By(Ku1&P{{q8V5oUX(s+ScL8)>v^yFaN(cj9yAw;2h6A@t; zi=&9^rIo8Fffb8Ok$CjJa&*KCkf4<2?{ThhOVNLNYvEOn^tSe;B|m418z{<(DTb4=pfxCkqG?d92h zxG?T^M+O)L$x!cu#v>9b9r2tQ{C-ACFHGj#Zz>23Qk!c7ST#y#8sg;p5-b?G-#VV zk=mhAk@%WCOC7NNg8pKJayJB-7ZPFAEbc(Z@Q@0U~GI^ z)2X6)bsne1(D>1?9Es@s?^Pn5L+yGxXL2fG%eC@W1n6P2$dfqExjNX_w9|_9oU`5U z{;IU=Nl7FG-0XV$HJ=H%vBi{B^I`$qrsUeG?Bhrb<_p#l3eyHF1L3zZC@#4cG8vd7 zM#JN?l8S}qP>JGrw%U_?d}aevc(@`_<6sVVO3ZF6% z2n*jLsWs$RORIAXL*}&hy7c&IQL4OG@^El8TXLSSw8v9@64d_tb^y%Y_{3=uBa=tm zTI%NOQzWZIIp&M%Ex&i>i5Y=C9<%Nww@r5pe=yLlN#!3d1VS~1Ux$B@rOLDbyyL)M z@Tq;fSw2C+NtmKw%fV-u`zLE%vm${>zedAB&1t9=lKszOyEfQnI-1IC&H4<=`yNV) zbkpv#3XJ5G_&$7<_7DeK?Z z=h#5BLWbo#1bEeml7%p_v1_n`!wjhJhbtif79XN<-yP%9#yaw6z|;jI_0JVgI?pyV zn&o)QT-`KntdXWv?ZTP5lzO>~e;1Z-pjua9tstw@1@7~D>9$RxLpbx_VKKEmuGPQg z5ZzO(9)n_xj>-58+-+Mw<=22BReShe;aE(RAModiWa|bb>iMC)^%79e&!oa$5#nxt z``3;3GE>=l{D&qL!N=-s*;L==0;@tNo39<`oew_h%B1TUkyw2yr%k#&4u2g#~pb?GWH#hyG^e?JuL&lh!iyFB)kdqVZA1 z{zCoI4D+9WGFh;jjB4pWo7%q7oSi>{mJ%u5AKOpnva1Bx_MWpe5+?Pp z!m^E%Ix0RapOTqiHGbk2P+`8xxPvpaBZ0ddUWZmX3n|Wd1qY?H?j6t5MiuJhX+X@! zK>y&SozDF;j}FOMaRz{dnish~Gv72kx9x7FuVA>l9*>OS-C1RrN)QicdKAuimEy_P zlB#=kWa>W&BMO*^GEOo5qHeep3(Dq;tUQTx$KD{L#x!soQZ{|p0427HHzPIkN$Gm0 zG!q1qd9%X|W!<~#dqzDy{L7H3^{Is2(Tdf^?W=LObXpWUQ)e*sMgsh+IeJ`dt4Nkm zb_0!&NBol>G*uE`3S?)1;=VuYFP3ort-0dOG{X)ZKdHpLq1^hqnvZUGhyi-JH#lG3V}xnn|O zD6CM=wG57d4Wqe|rUZiSon3xlUPu=YZwd%^jeD8WHtLD69_7dcqWIt93+?;n3jb+t zUEJf9KsUr3uW=4C>Qa{8KSNVwa)Z#fb+VF$9FgK)-3}w8#kN|p+BhN^T03?m$(H%HO;Qi&Xx!b=p2Zkj|6{A8gpU(2*;B zLhi=x=Wxv;#-i9Hyc-Z(BGCj-+iwr}MKrV0E;U4DN}QL0ck48CeAXf~by&z;3jdbi zE|(mV*Q7(n%)$2z%As8Z=G&LkW@aO;;xN)#9aM0_nVM-a_$FqlG#)dG2a8GjZynTR zJ=I0glPVO~f@Gh~Fb3jC&Bb5paN#Gm=_EJdv7QOtL=LO<;usT?`y3@DAMLApu}IP4 zU;Ri@k`d!mQ3*=}6R;F~6rj{7h(Xap+PYEM|JdmJJ+7tVi0I zQPNnSku!~(`|w(XBXrgkS}vC5Nf7f6=%(^0Z3+(qaMP19)z-EfuZ?FcpZ;R*-#~ZDl)6)g(D56(L%vo?Z3Bg|A z#}o9mG&g66D|1Q+8M8k>?b2No=s%XEYKIXdm^oRVRib`rjI^0IDA@ zv>>1y)+bKOTvh0F0M?x`MIv)D&39rLh9Kf~K54@a(mkmll*H2jJcBphL;`Zh<936kUT1=yYUNWLZDqUTmBd3n~(_ zHIrXr0Z@r4M3pFfio$&2s&v%KNFP-?`sqW}@LiT1)UDy9h&`^L^GXnJMo<&+ zukX1s)3Dm6p#wi~x>fN+L@MnZgCcvrNXy5N7 zfG7N%MhBtPGeHTU;9=Y4R8>SopbQO^EluMiG6Az&Wy3eOR!N_(Mo+_*!Sb3xpz+n% zu@{zJch6w25-$geblT%KRo1yM^HiXZ5w{4Nib^e4C^Io}qFO%+1(sosDcq;N0`<8} z?pGPaT*lhZKxh73iDOk>wNPE&EL^c=&wZ4+aOq9_4b~4xdr^dCq?lM_#5=r{nl$}^ zfIoa#QH4rv9ry-uzw__>!nI$hLd*S^zS}=Ghs|;%%psyi20h*nyA|2MG9fhuDSj1I z404n<{IjEOF=&f|SC7q|Cd=s?L?VO=XAL)bM0G*5 zp?FLdu42%ghYmZJP5A;K5p6RH_VdA+QFyMviG zeP0f@?vYCEx4XQ8gL_J*8YzwyJbvZ6VNMNM zixX07R;4H_%}JZzM$3A`Z{($!p_<83BJoYB5yt3&QSes&mA%Ol^mH*M3aACA4m7B= zVqna45-nh2%Ge}0`9X<;*IO-?xA13aB-$n=Mg>241*JpzJk0O}{YCMx4-%%g{4Ksn zxI%I`f>`Q7b_PtNJTml=uC~SRK}ZDs;V@BsN|h9O9%KOk-aHXpt z8Jmm!NDoWGhYFt9&ZB=9+qxY}TFWtAR80GI0@-GMkrOc82~9xL?ibR-a#oa?{Y6ZO z7`7$6c@DEW?q$p&!@gMVRNV+UiyaR3QI+}dQmJfZnY$cU0x3`z6QxEzpA_&S4izyg z$2|^TC?;?ttN$aW7gC*4=ZN zCiMV_xe{nk{KP$jx)>a(s^+e|)s4&oe2=?`9STF!XDA5?|1pZpq@-rZ5!;dYXzM|} zYJ91h;7wqWv~bEv%S}N?!NwleM1>A7ua*K8x<=6z)gmd&sfAd(W*Sl4v2rQbC8Bih zf{2mE<|!Q=%H5XSmdlcf`4#Q_=^#ODW3Ab#5_0xkLzC=e$#ktfoIFG|6qA4Kpr3iL zSPaZd%xAZ^*F9YNP#{m)dPo~6A%>djI7*qR zqZQ0)?Az6pArnTHbKQH)*L^ilJOfpoxHrjM`_9yGw}AsUE0F&rC-AxZQ=2x5WMrwje>ptbbJ8_DdMQTbV^5M&TE{fCO673a zJ{ISTo+-W7hbi^Bz+m}XdXE&Y)15J)?>X4{Bb&fAACV^WrHvK*M`=_KBlOJg9xh7!h03Kfv6Q zLxLJ&kF{WlGeRR72`P+}PB`+KQQP%R<-Ih6O%sV-j!f-50Vy)N-o-0D(GG1N1C-ZqV2_=n)*l1I+cNBc5Pz>tPsC!i&b4M#7Dd|`8|JTJxl6bzds(T zGeN6{l;P;=qgQhyrj!nHLaKZmOGkLA11RY?Nk<_V>a|fAp8ftc5RSj|UH0pVO@KQB z@$VHWpxW=l+4F`YW^H)z@0GDJ^d0;Ts!|TwIA9}n$d+jCy(6?=sO_9FCPvCNUk=A; zs~WQI>o@IwCxGT1Ep zC#0PpjRAR?n>DHz)NOGW;C=wqIV zI*Vv5k>A}%H?|L~VaHiuqLag1!4OC4cn%6Y1mK>&HdAu+*~1uZ4{HUjXg5w0?Gsye zoaHs9Je2uS+ghs^6&uK#tm0SXlp!V&RWURkiYJz1S|V6!0JABKjBYIp4K^!MYtob9 zlVpqPLY1zRq3hCh%9dJrD2oBZ1ca?d{OyPoQ_!+Y|D|ltpuC4FCCcw$t@$YYVxWJJj036s`(%_*# z&2-GV%u9%58v88T|Lh`z)awW7vh|EQOBBZFbHMnkZk-TANS3cdRq&3#xPP%kK+W1TSYZ~cq%j{ieXRydJ#`NK;}I5J6P@$!1NB%yvtXFKGfI|O<&Jx&t@>F}P8 zG_+$&4yOWb{5%=I@BJPZU(xzBXH;?Y@7h$)db8>nQMyM&Jn?DOB>++KY9 z_5fqyb!g(dXdU8XgRIpu&$I$a!iR{BPQ(CmK0Z_hrfao|o;C)(zpCKeBEFA;UBvlp z0=$B={s{-Kf{o6fVe(oq)I?G4dN*;m5>ODV_1FBl5`8kFu5GOpJN>YWo|nQr4tfu@ zr^O~<1UZEiNlZ#oBxEjV8E+3=OhQ>%TB6GwafBb4>11$h)fg{=*y z^+iQD>MgcLT*CW<`@kxM=mh=ikQyql`uzGQ?w`6QwfF8&S{q4`$DDSO3aKT$Sh4&Q z>-`kF=}K=yqcX%VlkZ$ZXi1pxh{YU9mrO0)8C6|^<4Bn%ipfKnDqduGF_D&nU$28i z!-F^(j4uZIE&1{K7|(tqfgw&q9-6Ptil}>!LiJ}VKN-9E;|sCWnfKesL=1#NXGs{3 zZylGL0g_F-+`WdBp1$jJw`{HxD8` zHLin?B6KBK;`FM>J{DY`ACmTuUBCt6`q~^7QP?evhm>+!_48A9#8CEw;9+H= zqh$0|P%e#ebtiNgRhxd*Um*D&2Ws5(%8&dK8~A|4hzaOk^>4^7kGc4rA<0VL_>Js#9M^v!BCq&y^*{pIzZ zwC;d-qI;U*7T`}aT)FOA79~`0Xbd4y?5_ zCz$%?cpBk^o|zi_?m+y*8-U+FGkJ+1{^eOYm6*4k%$g`;;!nV0C{$f0B|DY@-{UBv z%2T0~N5X`_FA-We_+@Ubu4ExuIb;4YcB!4deft7m7Jk4$!9U`_(y{nyt*Cxf_HX6I z%lH7MPRoDdI2gi?zrFal{D`?W6n-sY&IEff5es#TGAQ4OJRkY~25r)?{6@FQHNWr} z2S0jX^Q?t(&Gmhj%H2!lop_Arq7|ECQ6ds68MJH5k6lp0oVhD^g}yJOPZ!q#5m8y< zM49$b?^zX5@AUtt{+vC;LsQgMmBd}uZAATLKfhSw8X-_AmL{~FxNh&a#g&9l0 zzbJAI8kNqc3*Wy6%&@G5mQ<1C8jhD?>bxc&Ws7K_FrVZ2F(t-Rmu^)PduN3UUSD{s zUKOpmTh|bWW1(c8oLkvF5X8$xB<{^u@(l^vc%n^-XsFy|yHz?I%rtU{olaf>DLGOM z?cIvj7Rup{SI*5+ z$^?`Wxi#W@lZ4-BK_z)sK2(EvX#%z~0K*(p^ts8HZ%@h{O|g~99aB7SUkRzm_=|lw zk0OW5dU20e+!rY>W97{g?Rw9jDJSA(DQubUAVR@gBqp@#VFXH3z^i?v1$pmXR@@y5 zu__hP0qmirUv``kpEF&lq@oa4f?8s~ysW^4*a(RS3s~f0h80UXuLzlHDP_EcPE^Ae zWLX+~Rw3aWl2_b5rbqei@sKxxe3FG1ctnEdwT%)}xl~O_Zd}=kmS!X0gBCFm++Fl= zgxW*vXHvrjWGIT<80ERZh_Wi^P1#ZZ->si8io4KL$UK@U&$w#E937;Cq^>RObV11x z&ZHx{XSL+ZhnJax&dbnE>&F{$kSCLZBofsNEe9N3>nhx?XJI-R>_byI{5@kpZ+|lO zpo9-~?F~o9{vLW|_xJCNbO`SAF`52NkupwRa5;lo4t&EWZi(Kg{?2Y99R98*3H%*+{VnpE5)9)PdE!sWbY@$T zZ-u+E$QIp79$zQkY@XsC#NHS_j*O>N%=pdz&6?xd8tqu$wea$(+!Xrl?A*Z7hl#(i z3wOW +F>`{G>Cuky}z+IR`m<0D>X=0_9DH`I1yCG+fu*&~tXO$O}(ic(_4Or2Ak zXhZ8H+nf@WiOU{%S}DA9HFTmC>SKI5Nx()Fd4*^x5=H3?T=0;{{Qk;4vYJ+o4>Uu{2?kyR^9e$97}L`~-Quy|%IBcPfx za~k47Pyc$r`zO15UBOU_bcFu5lZdgg=wZs*4EE53Y$n+lMkRAG`k;6OYt6nBrM$;T zVM1|X--zFMccU&sL1E~Jq8UkrC@}85@G20d%bj9ZQmvE;|54fe@hG;lcwkGnz{ss3 z{C)3{QAw{WF%7t_0;rMaNtN3wQMkHnMH8KK1R9iOeOZM0+d&3>vQ-V>Eqe~~GQ=NV ze@@Ptw?d!SNv!X)cFV$Q#ly;w5U`pK;+cl)*#XO2H;8mh;gAh{5lM_om~;&4!UjZw z2CZZO{vH{!a3dG6sD=fYVXL^cQ5*$Ij4u|gX|bBF3lY=_f~ZZEg4~OQ%Dz;47R@{P zR5FzYSK1@;SOFK3t6^O_-DV5(#|ktjg^ppfkd6ZYlC^k`Bpx~$tI`* zQJjL5qlTCf*b=uj@jWZ*%(K(|y-bbM+P9kcLLm(CmwM_%Lt3#dC3uGJEw3!*V=$n8i6?ERrpGeamIqR_2g>>-Yr zHzYH53r0tUcXj+Ko(R(>Dal!Z29PclLtf%%)q|wZMX2L_bKV+7M7bP^EPk2rVW*sw z1r39Ai(4!I&l5M1Jtrw^hej(j!*y9od{B4eYt5^T;?+UO^eH8cx~w>x#jdCDZ4$vc zIycao_kr6UXDMTkDjSM`6|w4uK_=*B*{=+V7anHws*DI9A8#5M6y1vPs2?&+0|Hc) zm|T0(by~*zn(=no&=^T#iRki@uG$h#i+Wc|X*J$z`1eo&8a05$i5}x8&HXbQ6hl=s z8WevB)@8fY7us7+y*g}qCXe-eEB>tC}b z{?wvwS+-tt$O;;Ci>gy4LiBdG(5fx9YX>dcL)$iMvlbeytrjlxbiA=-Prcn%e{XJi z%hq!_79*p7ZTdGi!;_73!k{`U;QBaIhEDX_O3)eTH>@5iicpvJ$Vz4`^UdX+JlZ$n zZa1APQAJ-?{+R~9#GPZ?N)ZDaYFkuoPg%nc#4PpSp=p&Vuu}^)hUtH={^A6-Xp=H2 z6ZCH-za}EXMSF{h*P_cH&@-xY!`0Z;ztb+@F?!x;x9!+i-{_ZDG(p!*_?%2lz4dp< zsB1i#L9x}WutC+Abwa@^)M>1G*Y4M98SuJ($|pkJule>Y9r-!A6E?Kqu8MLbNoitd z)duB$`CJDLGO-?(ie+P14(Ix!w=ufq{)a>()J?4=d!pTI(5q5SJtgfcRc^Uy%EqDa z-lLPlnB%?`MQQ_Qmi%yk~ol+G>}zh zB(^@$@+2wogczU>#;ND0Zqj#-tk?BldG_o)jWkUm%ewXDrfG%mDXoWX{7SV8>ptU) z_$rBDQKH^CX^o6Y!vf#pGa;-SC;VHPoJNUOrJ6Ic3|>Ftg;Yv`Qzte4a9Ay;nbitq zF`bd?>$He?{HTELq*9>ds#0q$?g^gqKylUDhE#>w4}lT6~&aUyPZua?t{ldNnm z#SR^vY$L^i<%J(~LUIdzq)Y2XOGlwD-Fja{pGsrj&ZiozjYtd zI?l#KmbH_Z8FTKv7fj0L&WmJv9s$G)RLWIH)<9eSxkMN9EzoQ7PGt(AsKR<7vlAX(60=Oxd?gk#X<6YYP|IYO;d`&!%?kv!j*253}pb7g*a=# z^~L+EOT6t|em^$e%deLwS`1HhZL67?I&RJBrJqN*&*b>SD3blU5hW_aKkxT0+syhK ztOyDxv8L{uf>zU&o1eb1zMCh-Bg~^SBw9{Db|e0dq;a##e)Q2db*vY|Ci^ zjQGJklodpkADE>ymDYq$)XIs`A>G0E{!)j^a;_WIwYo2sIq`Y@sy?tVxp}kAGq5nO zNLo#$vkmK^juYY%WV+3+2JosmLY;eDppgUZ;R$5a`x3V<2dWm@tSvWKyuQvdsAJUz za+Nt$u{pB&vLRxoe?uE0Dys$6xwVF>O$IGUOJRLKprJjY7Swy7pPfE`^6tg?hx4=F zPTvCb{gUyQVv@y*hZ;1^JG>Ixom!-Pf&Ek)1^(mRb;?z`YFck9(|o){Q9DR^kq2U; zBs`@z9Cfihx-jO#ZO$ADQ;QhkBAAF{qbj~Em4M(TCJX?bP*V-EY?WYkAm^Nun)QZw zoJ);(@J7F?~<82j2n| zEsqoeVQCIej|~OkvG`jzQQlNov~k5*`YD1mspoXe-x~F`f*C%Ua?jV- zSd`Pcq-bH6rV1Q#ZXz#Kyeah}x@*@%!4g=AA5aBqBUJrktpyvt)I_w#X#? z72w4s5m!BGUvaRzJn@m&Q;HR7hh1ZcZ??x&?{QfYY7M0>Hofw-z&#NyB!7x=KG21n z#nq7HZ0GZC^-iPOk=v)_n-}$}PMZx;kkdNHj&Sa@J_K-QW2LKWpskBwa{zm$d-(l) zBycnt-cIT&K~}{w8^c}8YE1OE;+EiYQScKrce`{2wd>wH>)Ni}+NMiyZsR5R?-Zb` z7&Ec%v_peV$#l`+cTAIbobT3+NLr57lgT$#^>oreLnW+M0E?*ER^*f;dnHws69#RG zW7We2f2ztYMM(dT-u?dvy<3T`{vYN0f1~pCbgQ1Uyb(p|R;?>nyKBNPm(d7UX&b&y zGc>K>ic-W+ptN2r-PF2yLhX9wrjm6_tYTU@uEkwBKN)I!$T1GfdzE?0r8>uyIjxb3 zjAX4jFOv|d==bzn_{g+|jpJL5yp5;Z%IDK6Ow1QN@`zfiQ*gzLko5=JvNa4xTpzqy zH;s{^EID=Sqc|%eu~4iU5~STl!%7m_{%gLSqLFKRa;K+El1*`v8Q;`6N&awHEvJc- z%*v`Rthwj2VrO73?oE+dq%bgz^sqMm>b6dq&4EaI<)XH$zAbIsi<-&0-iK8j=1%m_ zDr0jpI9Xc8wqoBM#&6wvs+Xcrb(v`W*9G>}v!urc+~$lA`c0@sn0kJ%5%BGQ>mfkx z`v2hwcvs=;|Gfj?+wLQP*z@0F0DNA!i((uX9vHCvx-9$3E7~2+(y>)$ zIkljgz2c^tq3eSe!YVr*eCB&WBO{Jj-MWU@{@E1iLrQy8*>g=I*PAkuY~4+pUDZAl zn_aZgby<&Tpl*ac(q*T?bg;My<0O_B8lLn`gF%R!(Q`L(L2O(jjJWZ-r44SacWvuE z+t|da-`eL&e^Yyo!M+~V>5OCb zN3m4aEZ)1tm$;pMt$RU|u6rRghRpk2co*Xpb~Ue{OUrj;H~C^JI!>k;uhIO)+O9m` zKWvO+UKHc%Lin64)f3N+P0b5wj;%IMS?UC~b7&(t#3wO#k<4e3g||MMw1I5B+(T9QVWvt>pTxYb9WG^U!(Q zrG3z;!vq6owjw&Km+HO2bWWfb-@dZR7H6cT=;P5xoQTXzkpF zC9CMb|5>;G&$`tpTDV*=j&l+Db62;SdCSiS7FCFNDK$tzci~NR`y*qIzZ{L;+mSmadZG6>2>WT-ZzYA(3$`zkF3^ z1HC|Gv_`&_L!sqtuwhQ9TlRF&jtYahqpN-u)~qS-SQFL<@9=6sOia-q_11G{t5ETR zuB&J|jX>*bZP0dg{h@1yMiX-Udh2+j=OtU<*2tO|nZw$1U>6!#YKj^zT#PhagcdK$!8XgTHX<;t!R?6?9}@MN9n zDRr1k!Il={0-Hvw(Ab%uK_3#eRoi8x`D6#xdbXr0uj>}!?QjZY*O8nf6GL@V2wUcP zYC3COWEttu4cX_(Y;NlpD->>fx}e?>rR@}DFb`VAw)OWGeMMgp-EG)*=}vN|k1@hK zJ3o|S-|%Yf#&qD-@Yq{#50{dGtFcw@|Gbr=jSOnx z4c9WPyo3^jX;E^n|`@Kw3JdMi5@L3Vp%1Xj=DSTEeMO|7hMh~If_q*z908;{cU&ZoktT zs-^KkG1sSe|vdfcBG?|9lDDT=dfRZtrjS%T)P)O4kl&kMe<%-#-Mut!On|ao$ zp9~-V)O*{3OYgnQPA6hDYVEQi#aaGBjxke=^ZYW`!rMit4#rS>2Q0qT2l?qWPTu^+ z;At6L4)UN-fvP1OZs5_4jvSe)A+ODj7GbNK!lmD%(nQULEdSjbDx#&kHkY}d3(eg9K0jA)nx^snZuQEyn#D=0OKQ@&RlErP zPo0YjiTTs5j@ROqh6qfi%(Ur?^tmXRSKI_TFt`$5*6+EYU^K;ll0HSy5@QHD@A z@m-cqMU)ms?Gklr=3LIK_W+e$BP4;Flj3PyvQZF6%xx{VrLCOL14gNT;GlJfWJX+7npqL-25nx9zt zl6P^Ve96^-?p^-Iv1NI@mOx(XVmY!w&#O%b2)1Qshn(6LEPogL_ z33a*ITQ>t7?OQiPKHhK;4b>kbk)?02^FjFkc81xrZ8XFZwmmFt5Dd3&M!#>%;@igu zKm0h7C65mu{CIOYI()c){60@P$}3xFYyB*LeqelW?C%{Mi9cB>ikIRf zunety`5}QNpH&L&;%`_6!cAoURD^J4oZ@l7H(SVb(+lUI=~6Z*wtOVI0l8OvW7_ap z$n!ghVlodnv&0p;3WUf;g~SZF78L*({3yP`(uq55GJBrCK`%f7y-`B`p1-}!amgo$ zjrMS)ek}F*O|@wr<6mBQSA_<0zH$QO(oZNB{)#J>JRu+v3d%)S3ch>cthvl2ilC1- zAQBr+d6{qdfP-f6FOu$|wz2u#jXBLir>?=YxGFNHfo&3$`WY3l`cifwZBUDn(8DaX zLK|CG7}Lt0H8<8*nK%{734s*oM(XU554L0DECh{S2(nQ|*>QE;$#S{X%quV>besa( zosk@0bJxC-6`8;ohpXfgARh)&`jj0;j%99zj_*>+HdbJwm_*C;<=hc;(aV7{`P^)k z6$4-QX2|pH8?uBOWhD0E!jN$2cv@j-YGIUF$tc1o3KWB22P#2WasxphW^Vej7~!s} z>l&>m@9-86i`>cL{H5#`2c3S8giyfnk(|%BlW+8BzSZUq<&+@Duu*CsRZ!9@$IV;D zGLg!j4zwe=|5%n%s2j|;7#K~GUl|}e-rN+iHVceIP^akhawECBbsO&0@lN3!h)~8j zA=*`z$)OG{5o79ifD`ACZtBH_Zk#BHN@mlz1A3VcM_Kz|BSY1WYnnYMr+vQORvS&5 zK}sZ%vJ65f^Mf0B>1knW@MaTT)T)B6%69MhV8vWdQc~&NCf$dcwW??MLEk#PT+stn z6;8oI8ll6-q%sDYw;aRJC~1+}l7qZwdBf@H&ZahVrQFo$%nmK8FvU8}gFDI=bm@&M za(B)z-jY@fQ)eQDWBl<(mX&NMRjFW5XIjCFLw*xdoC%ZYx*KBKk6Lsw2d=?fyWHuv z$Y`v;FhA6_a1p~0b!DkRrcR4%te+lL)>kzHk#FKMX3d~VDzH;9C;y@@(O}lzG455D zZuj8va zhXt_O||% z4Zf7BD@6f66$81d@ap|7yklJF6fgFX8nNtHDKt~{tLRp-1v84+P+DYBU}wqob(h|i z0`3;hl|uQv=lGXQHNi{&l;`l|Z)iY~F_{0X>bf#|X>sCUEbqdIm7}alY%oY37E5zy zwWwNahhjF)Y^o^|p$JrFs&Y(0rQR+oS)ny!wmL7;W>jHq zpG#9|yXvOAKx@(pO*|?2R`QXKQ9zwZc))Caq6I zr1a#W^RyPLo$smW{$(M&SaC3%O@FIu@v@ATyPX_ig2G0w)K{S&Keh8p?YgkPDcdxM z$raXDGk5itQLVv?W=*|ua@cWaN$gXN>UWr)mbV}>Lq+ZbC>unZwxnVU&#dI{@V9(7 zPt#a^hriW#to)MYSQF;HONzB7P^n38c%f+lewqOX9%=CG4gMaZ$Yv$v-eFdR9_UT9 z=TQs?qzBqe%`r(&1r%(Pj)Uk7sT!cI7>!ux#sptC6h&#$kCReRJC5BgqY{LeN zGFuR=xH*}kQMfE#8F%V0P%R&zHL$A|C+CTfPsVO(=&(jtV*J09E0f+FZ5REzGngLM#> zkP!!iS}cyom}1Te%V01qfr$ab4n<;R@e|W@wGr4aP{WoCy@;q50)yAM2gr|L1KD`p zDq%8(v}-tTe9M=i`3_3X46se^X+TI0^9YpkrfhK(6`4!F6hr5x638M)y|R(4#UyIQ zSzCxpE`f^iP->3yQ+D&;$O3{+y~Z2#%kt(5L@EG^#{XIjY-ZK^nv7+o-K!NLF`UxVBtIws&CvSL%f?|byz6SF+ zhF){!qK9)8)cU~S-%WzTqo}Z%U%$r1)xGQ zAykG)EW%@pJ(!Ce^{paXU{2W!ADv3nk!mRlNn_p;bSPEGS!L`ML;H9jZ$|LFePb+J z#>sqKAo|$Y8|LRwiI$XGH&ctjyd6eSER$JO67$f-zbG-1`l*}Rb1q4!qWSbN&6CN1 zWI(m)ARn&9ZA5BWT40`-+yNzb6>n_}!OS8ybz!W<1TtHN{5af;FYfv#`X}U$h(a0? zd}I~Hks2jvqpeyiH3@Pf(^W#0j+4kViR3eafz&9e=)}Ur(@NV(wkg%$6M&@6+4~*5 za}h?(nCq>b%i)Pi0wzZoJ*n-hEryV1Z(6PqKkZKrUFar7x8G2nb?_qzOy4|ac(}yH<@-b z1{M=biQ(fdsrV-@b{LcW=i$_hHi)d87aWkm3ED&~q<|lZ#qAOtissAHb75(+VaWy* zWR%RmjO=1D#a1hn1CwfJJVu{N#uTkRBWxYR*m)}C;h6{RVjfmy36^mgqHso$?ZVJU>cqoGpU9y7vs5Gz+#IhSv3P7ai9AsjvFmvPO z$)c7WmJg%M50Tj&l2aLGFtc){oe!XlW!cEtImyW3O-29{6)8U2h?rQjf!_+pv5Cjz z|H^4rT94SVai$L@%Oc)XyE0A-+7%D$;>4&|V4bbZ-pu3JZQq0DnIA||a);e*nOCFr zQ6zRQ3tPzf7|~Xuds^OFk)v;;5_>LJ^lg+_`Pymq7Sw`!Kucj(%m=Fn>xP1Z;%0my z3r-$gCjs(q6*Xm>-dLijOEYeguFsqb#m$L&2B`?E4sF2*p~9-l9Hj)_)uM;OeD)}W zhk>?9#N&L@Koyslmxml*>+#H_bKEKmKYUE43&=eyr7vz zFQS#3Jf*EK+zVB}M43vkxq=3LnKjILN;+4=B1P}yVeh#rdQ|xJxbREQrX58tb*$F0 zTg7@0^~nZKkE)o2Rdbw`Ry{?9b3>i@Rxh#27N(@O7@jtBLp;Ch7DtiVbw%j zs;hv`oO7G!+D*nm6eTWgDuAVAR&6mDsdfK$3b6soN$P{6!ZGUHhR__@fSlFG;hgd8|*)*Y{lg?6}e1j$5NO_3W8!hdv*Hu<<7aXo|Q(8@Rr~i zFh;?Ti`Ne{{L(m3s{sK@vRS z1!WOg%og)-hvnKJj~>gDwW1p@ycVuS;0IrT<2n_GV_{>nID<*KP}^EFSE)|TzPl1f zdj(o54zMCon9mc}bbKF7Ot}e`rcEg1qe!-?>`>rngBJ)gPogkdNFmE)iNa%XY!$(+Z66*Zh7ZEzSXe916RNbojouuM5#5HnP_B#OAG@GOACa$CQJPYrv!$muntXEYw75aa zi8eG_CGt(S1uq&XnU?SP#!*ZoFw0$vTaU*Afr&q))q~5X{002LWtMyib9xSiKky}Q zf6gm0g2hQ-zQZP$ z2Z@Xw`NU(c&N2P!(a|Av^25E-Q8eu2h42W^A`k={J?@~)lw|_$8l%$Y_XQN4EKG4I ziSh%e(Ja;O=nJ-!2DTiI@q>_biC@;x2yt$f65GR5zK zx{+M)2NePIvjK+!rX5~DT;kC2NE^~@8%Y1+x?I8n}U(YYl7tE_v~gclOC8kMPB zb)vpj{IXT;K2+VD#W+1BB#vXNxAEQDF!5}56G;xG8qdO_1f)o>kcT3-2rA$GehaMV zw^j)2HryObQ!rlVt{+nj2qwiymn^Y4<(Zw2Mg`dt z@{LddQ2afn;|D*C zwo9R0SYm&)Jq54_4@TQK(lFTUh<`<7`|voAl*01x0F^aX1fVeM;KPTd@U){g;c3O7 zsz=DsZH$KmqZt2_Roz<$erFu<*b7*9Nb8_005EOoidevopne*SZI~+qE57%MMPV&CpJh=R z(4eQifNh>heIsI67ebfZJ$fG15+&DnkJ=5LI08w+7JOaod?NgMb)Yu+y4b&33s7g@ zJ=)Ms(Tnj_1U|?8HDtcCA_<+uU5)WxigXhZu!M6%-0%Q}ZM@%hzieOXal&^O9X%aM z!SCypm1yCt7?xme4Jp>Dj+AuTk%)A4C z+7-@;6nmv4TFR9yWzG?to^2D?jk`A{`+ z>j*Z9l8z8|(1+DFfbxF9!NjeA$6^eo$OlUgT4KSJ;cNH{SA_;hnucC z0tBohK$!Fyc###4XGyfUTWb)?1yMMoowBY3g?NT8wB0dY3DBcOai8vCiIt{FSC+HX z>Qh&0;f_-e$ij<)~aWYLil4ExqB93d1osO2g<5_+*>p7$x54yN3h}RXME8D`3 zqZQ1 zB_pD&q0e>5pu+9-j${JhdjFs!jkNZt!#B0;^zQHlfz_ig5v-0?L4<$%m@Y6ETXE8L z73cOD6>hwkG%hr2+6`cJ?Pl|+E9GmiYyAMBuO1Jjpw4abK-B^=u+2I`IXyh}Q!ni} z%BQf18MA5EQAc2@6HmKpJ%qTdN4bio(>_B_Um0QBP}@Nt{{#oD!Hk#lqU&^wW~et= zq;8L$lUe=nZk*j_wQJ~EyzYlFUe{q{~MN8K1ccl{ntMZRa) z3E~>JWz&TN>*{VphoyCfi#Kt{SMK##>`!-Z1|o>BX1GJ>U-tx$DfX@-;LPo)ue@OF zF@Eug7tVT+ib>IWfS7jR^Z|<|pZb8wScN{Y%dj)0SG_!T0JlBbCg?iBjJggFFP?hq zu5=Jg4Fz#m0@$J}MA}2Yf3lX=*h=iVw`}19Xg@Q3vg+nns*$+~tR68EyulyXw{Ae* zRQEEt%gSuuVyvOMmP?m8M)YB^?RV$T#}7L%X+G7`5Op2B2yv&LyHAO8xA@xNx;;ao zlF@cx)p?4rz&OSYsXK2R43Ezp`wXD&=OCK4+;3Pqy8`{oVttzWe;TT^t`~S~}!lbz~7<7*D%ZNz}t<;76>F zdlkXzH}vo=2I=)6XWcPWBCzc71oMKe8+J_fZJ2+qGb<1&_NrxL+)#HXew@}LrhN2W zeXfD!us#lX0IQ`W^rmhlX6)7qe&tRi>e`wUyK6fVy8&6h4Qaqx-~H*_g%9}Mnc*26#L*Rx>*Ng5rYz_m2<*GGML0kB8)cv(M`wNw1GqmvYqDqVL3iTW8P zQN3XjF^29=)|C(dW8N&Z(naESheZc#cMqq86f2aD!12L;SH1xR*cJ#_!@c;ZE6VtY zAp^fH6&}(J_=y);ly$#_ndSGUcy=Br5 zF!0vB2xhA&aqezQ4FhvW@L6lSucuwbt9C~yv{?567rHApri=v?3dedt6CiH&_JBlGKXoJ^`|M0acIu|tvAeqxMp)LPFb1fe{A5aQ!vsEA zgpa{`6o0n^#*R1b1A1k%{jNUT7$7cd(fu&SIZp;)=^@!~t?vAq#pWkQU3{Z9W zA{)2s@aBUa0SlOd=Z?dHEf0;b7_GPZNiu;cGQ|7ddyt$k)AE;iBdQfTX6nJ;^_b1w zt`VGw$X>0wir{Kh+bCwvH^s-+LWaQIt|2}M7yAqQ%1ychCZMs`xOae4Xm{{6>!a)0 zRi6-e1gqb5{ERbXCo&Q%PNSr=nUy$qd?Y{FFx7S)dP%K$g>LsvCrfH@di6Mc7w*jtjIQixxh8(#bsyo0&*Z*JFAmks7zxa%;~6GRn=EkusOyStHc6T=XM5Kjy8+P znVWW8wlXWg5J#}3d+jzNIPNC(JD$oWy&@10tcG#Sw!9w4h?u>M$M$lg!?K1R`*STh z67L3gW*uVIgm@YEB{=@P5pO?&<2r8zbGj~BSnVlZ)+aXy0F9dtYSjRdi+$YPO%F?; zaco@&olhDnfMdLc$+H@Bchtp5r+}lDeW?h0NUZL8LCVm#A`%eQ5jpGJ!2mIiVmBPa z13bIj5q#dq!~v+f24EWAjwE=Ps%0!PVRe^q4ldH#joBgytmL{64t5<(B7bw{5j_gb z?${9|=$bAGA^LPzfX)D_uBO+5ICT#XA9Ostjt4LA^**{u(EZk3dVH~!eD*PEO42nQ zO;S5CaGZGGlizEt!IE_?Y7Z~d9lOh3A%pC5SAb;J*;-Gmx-4Xftp_`1NxcJsC5v7R zuFKiMnA7i=Cj!>u>}R^M+E%Al5Ra|cU61)Sb=^9(42{tjQ!fd6V8K*03%viZKOtol zx1ff0(0afzvblrp3VYo#b@YcWu+n|s(g7=FFAPl`b@^;;qbWeGcx?YcA z1yC@r!KWQ1@uF_gkj@ip;q*a2t=m0FJuo+jQ++x&1Ev$fJ%L@PIbg1)NwwaDH0={0 zlP=wHns~EWS959M$DJL&P+~kwV%lTqPAWp9DE5a2$)33>hAH=hUwACCulizG+SVN( zIpi3-6XFIz#|7om!0Ec^KSGS~)8B|3uRruGAIwTTE!&q5YbWlNw=LdC-+JnF z4Xh@R2D~m_WYakO>S5>OiIw1eJbhqY%P|>9ZRaRAgluY&m%tdI8+Ms%FA^A3U%E04 zA-dJTI@iFOY6z?^QE0lD-mv><|FUXCjpsA0(76t+z_S_Z;m%63QIQ4S%)-yESOc#S z>mqcR8=Alwx8L-Qw+BR?V+u|BHS(@l@l{hBLOeydawilU=S}gQJEm(2`+Mna&udlX z6#2&wCQRW`bA65SHBFmqOue-^12LmG4~)+499NjGn<^mMOjs;?(-iM$>g+_XVi6H3 zw?)&q=4rs;-R)|LaK^rCX4XTWqj&WI@OcGz0&CGZDl<4-JZwUpSh#s*vX$3^nTZE& z7T1=rMjSOB&{d;!Cn@{9u#!GA9yZFg#w?nqcyEa5MV-AO1kykq=98NxR@^nD)p8qc zk3|{@rP-s|OYD%OpUR$qs)c#svpEU+IDJYe;-m+-d*!8H7Ri{U?j4^#CiMQo^=ueO z{PJzaI*-zzq2myH8b#^cbYnA$COw*;VSv%z4?|}|VA5y^Oct<$2k!F3WnKA|Gzz+H zO~#)#gf}+;hp=F?W5@3c>w9qz*8(iKVAR7D7s>UQU4ys> z%uMb0!-nH}^|pF-!pGyI-rUt^YIZPuniGS=m zFae?wZ+KG=bF~-)EY2C18Kw z3hbVBVM5kE^?hloFPctWx3`{)z@nriGj~24=BQ0PDf$)B;|6AnGIuwY!I-3brvUQLQqY}SrFN@(CCW0d0ZqOC`*{n8V{`0>8Y!A zTh!*2dp(J)#OYqgRqHxp%XibXySlxKTUP;7cH9`;Ra-~ex(>`EF|op{?scr1>%c5( zKA4(5Ggp&75jz0YR6}Zy(xs$Sxb|O0DtI!}4b0eCcXOI!%_3<4yopI1R_WeHxAnOZFZ?EsG_ZpNpmV zdQ5?d zx8KfsCf_6!VOPmThz8z7_5u$?+_^>VME>O34E*j}-UxHK2`??Q%>5n=RN)W$z$b3t zB_^}s3oLFI&RFOq$;uu$<365WfNJ6sx_o%{AGUN@?n zbY}Xv9_hhD3ChDEZi8T+_8OVXiD`MAH_W_76%RP!|4;p>aoMcrK@*9=iyhmUreT!g zoocqrSbsb~&7Gk*xD}4rar(n2kri}4qMjp2m!{=UU3)ySn0sp^ZaBxx8a=fR;G&)# zTeDe$vywaRZ=dGaGMT$AB9V~twrD(S9IzQ4x4#2Sh4Xp6Z!Oq_wr{@V65i0e1#L}N z!!-hmoB&-nZ{{%1n6@*+gZ=%2)Lh%~Sg#`& z96DNgp@|m&bk2TYHQ5>hF-BGO%1c?oam)7M6-h3;CHQUI!LjsiNx-)PO+MY-O3%2V z?=9V~u}NX0^UMw7Im}=1cNz7F;BhI@3p4wrHsBZ-2HCN$(SZnYxdCg?8Eeo2>*s}M zUs+-IWObjdU?Xy7`JEFL_~~Y}ojJjpIRUdd%a~y|onNTO!M=F2FgomWB`-U~d}Zlj z6NxGFOe^YXbZ}_qfo0Y`HCPb=y9EM!F}nr*XkX%HmK8d;#NuEsqNST$-x5!pL^v

8hX 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%0Df0*|pmE1oh@;ylvn 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%0DDq^I>|z*5E50eJ`1$GC1%B= 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 h{|%-~0)qeNbG?!*B(NHRfRF + + + + + "scripts": ["src/storage.js", "src/background.js"] + + + + + + + \ No newline at end of file diff --git a/src/background.js b/src/background.js index fd47713..fd2964b 100644 --- a/src/background.js +++ b/src/background.js @@ -1,3 +1,7 @@ + + + + /** * Open the given url in a popup * @param {string} url - @@ -12,9 +16,9 @@ function openInPopup(url, width, height) { allowScriptsToClose: true, width, height, - }); + }) } - +var last_tab; /** * Share Current Tab * @return {void} - @@ -59,9 +63,125 @@ browser.tabs.query({active: true, currentWindow: true}).then((tabs) => { showPageAction(tabs[0].id); }); +async function getCurrentTab() { + // Get active tabs in current window + var tabs = await browser.tabs.query({ + currentWindow: true, + active: true, + }); + + if (tabs.length < 1) { + throw new Error("no tab available"); + } + + // Make sure URL protocol supported + var supportedProtocols = ["https:", "http:", "ftp:", "file:"], + activeTab = tabs[0], + url = document.createElement('a'); + + if (activeTab.url !== "") { + url.href = activeTab.url; + if (supportedProtocols.indexOf(url.protocol) === -1) { + throw new Error(`protocol "${url.protocol}" is not supported`); + } + } + last_tab = activeTab + return activeTab; +} +async function findLocalBookmark(url){ + let data = await browser.storage.local.get("links"); + let result = data.links.hasOwnProperty(url); + return result +} +async function updateIcon() { + // Set initial icon + var runtimeUrl = await browser.runtime.getURL("/"), + icon = {path: { + 16: "../resources/icons/action-default-16.png", + 32: "../resources/icons/action-default-32.png", + 64: "../resources/icons/action-default-64.png" + }}; + + // Firefox allows using empty object as default icon. + // This way, Firefox will use default_icon that defined in manifest.json + // if (runtimeUrl.startsWith("moz")) { + // icon = {}; + // } + // Get current active tab + try { + var tab = await getCurrentTab() + var local = await findLocalBookmark(tab.url); + + if (local) icon.path = { + 16: "../resources/icons/action-bookmarked-16.png", + 32: "../resources/icons/action-bookmarked-32.png", + 64: "../resources/icons/action-bookmarked-64.png" + } + + // console.log("tab:", tab); + + // icon.tabId = tab.id; + + // browser.pageAction.setIcon(icon); + } catch {} + return browser.browserAction.setIcon(icon); +} + +function updateActiveTab() { + updateIcon().catch(err => console.error(err.message)); +} + /* Listeners */ browser.tabs.onActivated.addListener(tabActivation); browser.browserAction.onClicked.addListener(shareCurrentTab); browser.pageAction.onClicked.addListener(shareCurrentTab); + + +browser.tabs.onUpdated.addListener(updateActiveTab); +browser.tabs.onActivated.addListener(updateActiveTab); +browser.windows.onFocusChanged.addListener(updateActiveTab); +updateActiveTab(); + +let onCreated = console.log; +browser.contextMenus.create({ + id: "log-selection", + title: "Sync bookmarks", + contexts: ["all"] +}, onCreated); + +async function sync_links(){ + var token = await browser.storage.local.get("token") + token = token.token + var result = await getLinks(token); + let links = {} + result.forEach((value)=>{ + links[value.url] = true; + }) + browser.storage.local.set({"links":links}); + console.log(links); +} +browser.contextMenus.onClicked.addListener(async function(info, tab) { + switch (info.menuItemId) { + case "log-selection": + await sync_links(); + break; + + } +}) +console.log("addon loaded") + +browser.runtime.onMessage.addListener(async (message) => { + + console.log("sync signal received",message) + if (message === "sync") { + await new Promise(r => setTimeout(r, 1000)); + await sync_links(); + await new Promise(r => setTimeout(r, 100)); + updateIcon(); + } +}); + +sync_links(); +browser.storage.local.set({"attempt":0}); \ No newline at end of file diff --git a/src/close_helper.js b/src/close_helper.js new file mode 100644 index 0000000..6c210a3 --- /dev/null +++ b/src/close_helper.js @@ -0,0 +1,3 @@ +window.onbeforeunload = function() { + browser.runtime.sendMessage("sync"); +} diff --git a/src/lib/client.js b/src/lib/client.js new file mode 100644 index 0000000..eadd92a --- /dev/null +++ b/src/lib/client.js @@ -0,0 +1,31 @@ + +var base64url = function(aStr) { return btoa(aStr.replace(/\+/g,'-').replace(/\//g,'_')).replace(/\=+$/m,'') } +function generateToken(secret){ + header = base64url(`{ + "typ": "JWT", + "alg": "HS512" + }`); + + payload = base64url(`{ + "iat": ${Math.floor(Date.now() / 1000)} + }`) + console.log(payload) + // payload = base64url(`{ + // "iat": 1605996074 + // }`) + var hash = CryptoJS.HmacSHA512(header + '.'+ payload, secret); + var signature = hash.toString(CryptoJS.enc.Base64).replace(/\=+$/m,'').replaceAll('/','_').replaceAll('+','-'); + return header + "." + payload + "." + signature +} + +async function getLinks(api_token){ + let token = generateToken(api_token) + var result = await $.ajax( + { + url: "https://sl.hmthsn.com/api/v1/links", + //url: "http://127.0.0.1:8081/", + type: 'GET', + headers:{"Authorization": 'Bearer ' + token} + } ) + return result +} diff --git a/src/lib/crypto-js.js b/src/lib/crypto-js.js new file mode 100644 index 0000000..be5c2ea --- /dev/null +++ b/src/lib/crypto-js.js @@ -0,0 +1,6059 @@ +;(function (root, factory) { + if (typeof exports === "object") { + // CommonJS + module.exports = exports = factory(); + } + else if (typeof define === "function" && define.amd) { + // AMD + define([], factory); + } + else { + // Global (browser) + root.CryptoJS = factory(); + } +}(this, function () { + + /*globals window, global, require*/ + + /** + * CryptoJS core components. + */ + var CryptoJS = CryptoJS || (function (Math, undefined) { + + var crypto; + + // Native crypto from window (Browser) + if (typeof window !== 'undefined' && window.crypto) { + crypto = window.crypto; + } + + // Native (experimental IE 11) crypto from window (Browser) + if (!crypto && typeof window !== 'undefined' && window.msCrypto) { + crypto = window.msCrypto; + } + + // Native crypto from global (NodeJS) + if (!crypto && typeof global !== 'undefined' && global.crypto) { + crypto = global.crypto; + } + + // Native crypto import via require (NodeJS) + if (!crypto && typeof require === 'function') { + try { + crypto = require('crypto'); + } catch (err) {} + } + + /* + * Cryptographically secure pseudorandom number generator + * + * As Math.random() is cryptographically not safe to use + */ + var cryptoSecureRandomInt = function () { + if (crypto) { + // Use getRandomValues method (Browser) + if (typeof crypto.getRandomValues === 'function') { + try { + return crypto.getRandomValues(new Uint32Array(1))[0]; + } catch (err) {} + } + + // Use randomBytes method (NodeJS) + if (typeof crypto.randomBytes === 'function') { + try { + return crypto.randomBytes(4).readInt32LE(); + } catch (err) {} + } + } + + throw new Error('Native crypto module could not be used to get secure random number.'); + }; + + /* + * Local polyfill of Object.create + + */ + var create = Object.create || (function () { + function F() {} + + return function (obj) { + var subtype; + + F.prototype = obj; + + subtype = new F(); + + F.prototype = null; + + return subtype; + }; + }()) + + /** + * CryptoJS namespace. + */ + var C = {}; + + /** + * Library namespace. + */ + var C_lib = C.lib = {}; + + /** + * Base object for prototypal inheritance. + */ + var Base = C_lib.Base = (function () { + + + return { + /** + * Creates a new object that inherits from this object. + * + * @param {Object} overrides Properties to copy into the new object. + * + * @return {Object} The new object. + * + * @static + * + * @example + * + * var MyType = CryptoJS.lib.Base.extend({ + * field: 'value', + * + * method: function () { + * } + * }); + */ + extend: function (overrides) { + // Spawn + var subtype = create(this); + + // Augment + if (overrides) { + subtype.mixIn(overrides); + } + + // Create default initializer + if (!subtype.hasOwnProperty('init') || this.init === subtype.init) { + subtype.init = function () { + subtype.$super.init.apply(this, arguments); + }; + } + + // Initializer's prototype is the subtype object + subtype.init.prototype = subtype; + + // Reference supertype + subtype.$super = this; + + return subtype; + }, + + /** + * Extends this object and runs the init method. + * Arguments to create() will be passed to init(). + * + * @return {Object} The new object. + * + * @static + * + * @example + * + * var instance = MyType.create(); + */ + create: function () { + var instance = this.extend(); + instance.init.apply(instance, arguments); + + return instance; + }, + + /** + * Initializes a newly created object. + * Override this method to add some logic when your objects are created. + * + * @example + * + * var MyType = CryptoJS.lib.Base.extend({ + * init: function () { + * // ... + * } + * }); + */ + init: function () { + }, + + /** + * Copies properties into this object. + * + * @param {Object} properties The properties to mix in. + * + * @example + * + * MyType.mixIn({ + * field: 'value' + * }); + */ + mixIn: function (properties) { + for (var propertyName in properties) { + if (properties.hasOwnProperty(propertyName)) { + this[propertyName] = properties[propertyName]; + } + } + + // IE won't copy toString using the loop above + if (properties.hasOwnProperty('toString')) { + this.toString = properties.toString; + } + }, + + /** + * Creates a copy of this object. + * + * @return {Object} The clone. + * + * @example + * + * var clone = instance.clone(); + */ + clone: function () { + return this.init.prototype.extend(this); + } + }; + }()); + + /** + * An array of 32-bit words. + * + * @property {Array} words The array of 32-bit words. + * @property {number} sigBytes The number of significant bytes in this word array. + */ + var WordArray = C_lib.WordArray = Base.extend({ + /** + * Initializes a newly created word array. + * + * @param {Array} words (Optional) An array of 32-bit words. + * @param {number} sigBytes (Optional) The number of significant bytes in the words. + * + * @example + * + * var wordArray = CryptoJS.lib.WordArray.create(); + * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]); + * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6); + */ + init: function (words, sigBytes) { + words = this.words = words || []; + + if (sigBytes != undefined) { + this.sigBytes = sigBytes; + } else { + this.sigBytes = words.length * 4; + } + }, + + /** + * Converts this word array to a string. + * + * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex + * + * @return {string} The stringified word array. + * + * @example + * + * var string = wordArray + ''; + * var string = wordArray.toString(); + * var string = wordArray.toString(CryptoJS.enc.Utf8); + */ + toString: function (encoder) { + return (encoder || Hex).stringify(this); + }, + + /** + * Concatenates a word array to this word array. + * + * @param {WordArray} wordArray The word array to append. + * + * @return {WordArray} This word array. + * + * @example + * + * wordArray1.concat(wordArray2); + */ + concat: function (wordArray) { + // Shortcuts + var thisWords = this.words; + var thatWords = wordArray.words; + var thisSigBytes = this.sigBytes; + var thatSigBytes = wordArray.sigBytes; + + // Clamp excess bits + this.clamp(); + + // Concat + if (thisSigBytes % 4) { + // Copy one byte at a time + for (var i = 0; i < thatSigBytes; i++) { + var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8); + } + } else { + // Copy one word at a time + for (var i = 0; i < thatSigBytes; i += 4) { + thisWords[(thisSigBytes + i) >>> 2] = thatWords[i >>> 2]; + } + } + this.sigBytes += thatSigBytes; + + // Chainable + return this; + }, + + /** + * Removes insignificant bits. + * + * @example + * + * wordArray.clamp(); + */ + clamp: function () { + // Shortcuts + var words = this.words; + var sigBytes = this.sigBytes; + + // Clamp + words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8); + words.length = Math.ceil(sigBytes / 4); + }, + + /** + * Creates a copy of this word array. + * + * @return {WordArray} The clone. + * + * @example + * + * var clone = wordArray.clone(); + */ + clone: function () { + var clone = Base.clone.call(this); + clone.words = this.words.slice(0); + + return clone; + }, + + /** + * Creates a word array filled with random bytes. + * + * @param {number} nBytes The number of random bytes to generate. + * + * @return {WordArray} The random word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.lib.WordArray.random(16); + */ + random: function (nBytes) { + var words = []; + + for (var i = 0; i < nBytes; i += 4) { + words.push(cryptoSecureRandomInt()); + } + + return new WordArray.init(words, nBytes); + } + }); + + /** + * Encoder namespace. + */ + var C_enc = C.enc = {}; + + /** + * Hex encoding strategy. + */ + var Hex = C_enc.Hex = { + /** + * Converts a word array to a hex string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The hex string. + * + * @static + * + * @example + * + * var hexString = CryptoJS.enc.Hex.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var hexChars = []; + for (var i = 0; i < sigBytes; i++) { + var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + hexChars.push((bite >>> 4).toString(16)); + hexChars.push((bite & 0x0f).toString(16)); + } + + return hexChars.join(''); + }, + + /** + * Converts a hex string to a word array. + * + * @param {string} hexStr The hex string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Hex.parse(hexString); + */ + parse: function (hexStr) { + // Shortcut + var hexStrLength = hexStr.length; + + // Convert + var words = []; + for (var i = 0; i < hexStrLength; i += 2) { + words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4); + } + + return new WordArray.init(words, hexStrLength / 2); + } + }; + + /** + * Latin1 encoding strategy. + */ + var Latin1 = C_enc.Latin1 = { + /** + * Converts a word array to a Latin1 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The Latin1 string. + * + * @static + * + * @example + * + * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var latin1Chars = []; + for (var i = 0; i < sigBytes; i++) { + var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + latin1Chars.push(String.fromCharCode(bite)); + } + + return latin1Chars.join(''); + }, + + /** + * Converts a Latin1 string to a word array. + * + * @param {string} latin1Str The Latin1 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Latin1.parse(latin1String); + */ + parse: function (latin1Str) { + // Shortcut + var latin1StrLength = latin1Str.length; + + // Convert + var words = []; + for (var i = 0; i < latin1StrLength; i++) { + words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8); + } + + return new WordArray.init(words, latin1StrLength); + } + }; + + /** + * UTF-8 encoding strategy. + */ + var Utf8 = C_enc.Utf8 = { + /** + * Converts a word array to a UTF-8 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-8 string. + * + * @static + * + * @example + * + * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray); + */ + stringify: function (wordArray) { + try { + return decodeURIComponent(escape(Latin1.stringify(wordArray))); + } catch (e) { + throw new Error('Malformed UTF-8 data'); + } + }, + + /** + * Converts a UTF-8 string to a word array. + * + * @param {string} utf8Str The UTF-8 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf8.parse(utf8String); + */ + parse: function (utf8Str) { + return Latin1.parse(unescape(encodeURIComponent(utf8Str))); + } + }; + + /** + * Abstract buffered block algorithm template. + * + * The property blockSize must be implemented in a concrete subtype. + * + * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0 + */ + var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({ + /** + * Resets this block algorithm's data buffer to its initial state. + * + * @example + * + * bufferedBlockAlgorithm.reset(); + */ + reset: function () { + // Initial values + this._data = new WordArray.init(); + this._nDataBytes = 0; + }, + + /** + * Adds new data to this block algorithm's buffer. + * + * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8. + * + * @example + * + * bufferedBlockAlgorithm._append('data'); + * bufferedBlockAlgorithm._append(wordArray); + */ + _append: function (data) { + // Convert string to WordArray, else assume WordArray already + if (typeof data == 'string') { + data = Utf8.parse(data); + } + + // Append + this._data.concat(data); + this._nDataBytes += data.sigBytes; + }, + + /** + * Processes available data blocks. + * + * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype. + * + * @param {boolean} doFlush Whether all blocks and partial blocks should be processed. + * + * @return {WordArray} The processed data. + * + * @example + * + * var processedData = bufferedBlockAlgorithm._process(); + * var processedData = bufferedBlockAlgorithm._process(!!'flush'); + */ + _process: function (doFlush) { + var processedWords; + + // Shortcuts + var data = this._data; + var dataWords = data.words; + var dataSigBytes = data.sigBytes; + var blockSize = this.blockSize; + var blockSizeBytes = blockSize * 4; + + // Count blocks ready + var nBlocksReady = dataSigBytes / blockSizeBytes; + if (doFlush) { + // Round up to include partial blocks + nBlocksReady = Math.ceil(nBlocksReady); + } else { + // Round down to include only full blocks, + // less the number of blocks that must remain in the buffer + nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0); + } + + // Count words ready + var nWordsReady = nBlocksReady * blockSize; + + // Count bytes ready + var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes); + + // Process blocks + if (nWordsReady) { + for (var offset = 0; offset < nWordsReady; offset += blockSize) { + // Perform concrete-algorithm logic + this._doProcessBlock(dataWords, offset); + } + + // Remove processed words + processedWords = dataWords.splice(0, nWordsReady); + data.sigBytes -= nBytesReady; + } + + // Return processed words + return new WordArray.init(processedWords, nBytesReady); + }, + + /** + * Creates a copy of this object. + * + * @return {Object} The clone. + * + * @example + * + * var clone = bufferedBlockAlgorithm.clone(); + */ + clone: function () { + var clone = Base.clone.call(this); + clone._data = this._data.clone(); + + return clone; + }, + + _minBufferSize: 0 + }); + + /** + * Abstract hasher template. + * + * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits) + */ + var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({ + /** + * Configuration options. + */ + cfg: Base.extend(), + + /** + * Initializes a newly created hasher. + * + * @param {Object} cfg (Optional) The configuration options to use for this hash computation. + * + * @example + * + * var hasher = CryptoJS.algo.SHA256.create(); + */ + init: function (cfg) { + // Apply config defaults + this.cfg = this.cfg.extend(cfg); + + // Set initial values + this.reset(); + }, + + /** + * Resets this hasher to its initial state. + * + * @example + * + * hasher.reset(); + */ + reset: function () { + // Reset data buffer + BufferedBlockAlgorithm.reset.call(this); + + // Perform concrete-hasher logic + this._doReset(); + }, + + /** + * Updates this hasher with a message. + * + * @param {WordArray|string} messageUpdate The message to append. + * + * @return {Hasher} This hasher. + * + * @example + * + * hasher.update('message'); + * hasher.update(wordArray); + */ + update: function (messageUpdate) { + // Append + this._append(messageUpdate); + + // Update the hash + this._process(); + + // Chainable + return this; + }, + + /** + * Finalizes the hash computation. + * Note that the finalize operation is effectively a destructive, read-once operation. + * + * @param {WordArray|string} messageUpdate (Optional) A final message update. + * + * @return {WordArray} The hash. + * + * @example + * + * var hash = hasher.finalize(); + * var hash = hasher.finalize('message'); + * var hash = hasher.finalize(wordArray); + */ + finalize: function (messageUpdate) { + // Final message update + if (messageUpdate) { + this._append(messageUpdate); + } + + // Perform concrete-hasher logic + var hash = this._doFinalize(); + + return hash; + }, + + blockSize: 512/32, + + /** + * Creates a shortcut function to a hasher's object interface. + * + * @param {Hasher} hasher The hasher to create a helper for. + * + * @return {Function} The shortcut function. + * + * @static + * + * @example + * + * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256); + */ + _createHelper: function (hasher) { + return function (message, cfg) { + return new hasher.init(cfg).finalize(message); + }; + }, + + /** + * Creates a shortcut function to the HMAC's object interface. + * + * @param {Hasher} hasher The hasher to use in this HMAC helper. + * + * @return {Function} The shortcut function. + * + * @static + * + * @example + * + * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256); + */ + _createHmacHelper: function (hasher) { + return function (message, key) { + return new C_algo.HMAC.init(hasher, key).finalize(message); + }; + } + }); + + /** + * Algorithm namespace. + */ + var C_algo = C.algo = {}; + + return C; + }(Math)); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var C_enc = C.enc; + + /** + * Base64 encoding strategy. + */ + var Base64 = C_enc.Base64 = { + /** + * Converts a word array to a Base64 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The Base64 string. + * + * @static + * + * @example + * + * var base64String = CryptoJS.enc.Base64.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + var map = this._map; + + // Clamp excess bits + wordArray.clamp(); + + // Convert + var base64Chars = []; + for (var i = 0; i < sigBytes; i += 3) { + var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff; + var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff; + + var triplet = (byte1 << 16) | (byte2 << 8) | byte3; + + for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) { + base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f)); + } + } + + // Add padding + var paddingChar = map.charAt(64); + if (paddingChar) { + while (base64Chars.length % 4) { + base64Chars.push(paddingChar); + } + } + + return base64Chars.join(''); + }, + + /** + * Converts a Base64 string to a word array. + * + * @param {string} base64Str The Base64 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Base64.parse(base64String); + */ + parse: function (base64Str) { + // Shortcuts + var base64StrLength = base64Str.length; + var map = this._map; + var reverseMap = this._reverseMap; + + if (!reverseMap) { + reverseMap = this._reverseMap = []; + for (var j = 0; j < map.length; j++) { + reverseMap[map.charCodeAt(j)] = j; + } + } + + // Ignore padding + var paddingChar = map.charAt(64); + if (paddingChar) { + var paddingIndex = base64Str.indexOf(paddingChar); + if (paddingIndex !== -1) { + base64StrLength = paddingIndex; + } + } + + // Convert + return parseLoop(base64Str, base64StrLength, reverseMap); + + }, + + _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=' + }; + + function parseLoop(base64Str, base64StrLength, reverseMap) { + var words = []; + var nBytes = 0; + for (var i = 0; i < base64StrLength; i++) { + if (i % 4) { + var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2); + var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2); + var bitsCombined = bits1 | bits2; + words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8); + nBytes++; + } + } + return WordArray.create(words, nBytes); + } + }()); + + + (function (Math) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Constants table + var T = []; + + // Compute constants + (function () { + for (var i = 0; i < 64; i++) { + T[i] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0; + } + }()); + + /** + * MD5 hash algorithm. + */ + var MD5 = C_algo.MD5 = Hasher.extend({ + _doReset: function () { + this._hash = new WordArray.init([ + 0x67452301, 0xefcdab89, + 0x98badcfe, 0x10325476 + ]); + }, + + _doProcessBlock: function (M, offset) { + // Swap endian + for (var i = 0; i < 16; i++) { + // Shortcuts + var offset_i = offset + i; + var M_offset_i = M[offset_i]; + + M[offset_i] = ( + (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) | + (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00) + ); + } + + // Shortcuts + var H = this._hash.words; + + var M_offset_0 = M[offset + 0]; + var M_offset_1 = M[offset + 1]; + var M_offset_2 = M[offset + 2]; + var M_offset_3 = M[offset + 3]; + var M_offset_4 = M[offset + 4]; + var M_offset_5 = M[offset + 5]; + var M_offset_6 = M[offset + 6]; + var M_offset_7 = M[offset + 7]; + var M_offset_8 = M[offset + 8]; + var M_offset_9 = M[offset + 9]; + var M_offset_10 = M[offset + 10]; + var M_offset_11 = M[offset + 11]; + var M_offset_12 = M[offset + 12]; + var M_offset_13 = M[offset + 13]; + var M_offset_14 = M[offset + 14]; + var M_offset_15 = M[offset + 15]; + + // Working varialbes + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + + // Computation + a = FF(a, b, c, d, M_offset_0, 7, T[0]); + d = FF(d, a, b, c, M_offset_1, 12, T[1]); + c = FF(c, d, a, b, M_offset_2, 17, T[2]); + b = FF(b, c, d, a, M_offset_3, 22, T[3]); + a = FF(a, b, c, d, M_offset_4, 7, T[4]); + d = FF(d, a, b, c, M_offset_5, 12, T[5]); + c = FF(c, d, a, b, M_offset_6, 17, T[6]); + b = FF(b, c, d, a, M_offset_7, 22, T[7]); + a = FF(a, b, c, d, M_offset_8, 7, T[8]); + d = FF(d, a, b, c, M_offset_9, 12, T[9]); + c = FF(c, d, a, b, M_offset_10, 17, T[10]); + b = FF(b, c, d, a, M_offset_11, 22, T[11]); + a = FF(a, b, c, d, M_offset_12, 7, T[12]); + d = FF(d, a, b, c, M_offset_13, 12, T[13]); + c = FF(c, d, a, b, M_offset_14, 17, T[14]); + b = FF(b, c, d, a, M_offset_15, 22, T[15]); + + a = GG(a, b, c, d, M_offset_1, 5, T[16]); + d = GG(d, a, b, c, M_offset_6, 9, T[17]); + c = GG(c, d, a, b, M_offset_11, 14, T[18]); + b = GG(b, c, d, a, M_offset_0, 20, T[19]); + a = GG(a, b, c, d, M_offset_5, 5, T[20]); + d = GG(d, a, b, c, M_offset_10, 9, T[21]); + c = GG(c, d, a, b, M_offset_15, 14, T[22]); + b = GG(b, c, d, a, M_offset_4, 20, T[23]); + a = GG(a, b, c, d, M_offset_9, 5, T[24]); + d = GG(d, a, b, c, M_offset_14, 9, T[25]); + c = GG(c, d, a, b, M_offset_3, 14, T[26]); + b = GG(b, c, d, a, M_offset_8, 20, T[27]); + a = GG(a, b, c, d, M_offset_13, 5, T[28]); + d = GG(d, a, b, c, M_offset_2, 9, T[29]); + c = GG(c, d, a, b, M_offset_7, 14, T[30]); + b = GG(b, c, d, a, M_offset_12, 20, T[31]); + + a = HH(a, b, c, d, M_offset_5, 4, T[32]); + d = HH(d, a, b, c, M_offset_8, 11, T[33]); + c = HH(c, d, a, b, M_offset_11, 16, T[34]); + b = HH(b, c, d, a, M_offset_14, 23, T[35]); + a = HH(a, b, c, d, M_offset_1, 4, T[36]); + d = HH(d, a, b, c, M_offset_4, 11, T[37]); + c = HH(c, d, a, b, M_offset_7, 16, T[38]); + b = HH(b, c, d, a, M_offset_10, 23, T[39]); + a = HH(a, b, c, d, M_offset_13, 4, T[40]); + d = HH(d, a, b, c, M_offset_0, 11, T[41]); + c = HH(c, d, a, b, M_offset_3, 16, T[42]); + b = HH(b, c, d, a, M_offset_6, 23, T[43]); + a = HH(a, b, c, d, M_offset_9, 4, T[44]); + d = HH(d, a, b, c, M_offset_12, 11, T[45]); + c = HH(c, d, a, b, M_offset_15, 16, T[46]); + b = HH(b, c, d, a, M_offset_2, 23, T[47]); + + a = II(a, b, c, d, M_offset_0, 6, T[48]); + d = II(d, a, b, c, M_offset_7, 10, T[49]); + c = II(c, d, a, b, M_offset_14, 15, T[50]); + b = II(b, c, d, a, M_offset_5, 21, T[51]); + a = II(a, b, c, d, M_offset_12, 6, T[52]); + d = II(d, a, b, c, M_offset_3, 10, T[53]); + c = II(c, d, a, b, M_offset_10, 15, T[54]); + b = II(b, c, d, a, M_offset_1, 21, T[55]); + a = II(a, b, c, d, M_offset_8, 6, T[56]); + d = II(d, a, b, c, M_offset_15, 10, T[57]); + c = II(c, d, a, b, M_offset_6, 15, T[58]); + b = II(b, c, d, a, M_offset_13, 21, T[59]); + a = II(a, b, c, d, M_offset_4, 6, T[60]); + d = II(d, a, b, c, M_offset_11, 10, T[61]); + c = II(c, d, a, b, M_offset_2, 15, T[62]); + b = II(b, c, d, a, M_offset_9, 21, T[63]); + + // Intermediate hash value + H[0] = (H[0] + a) | 0; + H[1] = (H[1] + b) | 0; + H[2] = (H[2] + c) | 0; + H[3] = (H[3] + d) | 0; + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + + var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000); + var nBitsTotalL = nBitsTotal; + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = ( + (((nBitsTotalH << 8) | (nBitsTotalH >>> 24)) & 0x00ff00ff) | + (((nBitsTotalH << 24) | (nBitsTotalH >>> 8)) & 0xff00ff00) + ); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = ( + (((nBitsTotalL << 8) | (nBitsTotalL >>> 24)) & 0x00ff00ff) | + (((nBitsTotalL << 24) | (nBitsTotalL >>> 8)) & 0xff00ff00) + ); + + data.sigBytes = (dataWords.length + 1) * 4; + + // Hash final blocks + this._process(); + + // Shortcuts + var hash = this._hash; + var H = hash.words; + + // Swap endian + for (var i = 0; i < 4; i++) { + // Shortcut + var H_i = H[i]; + + H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) | + (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00); + } + + // Return final computed hash + return hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + } + }); + + function FF(a, b, c, d, x, s, t) { + var n = a + ((b & c) | (~b & d)) + x + t; + return ((n << s) | (n >>> (32 - s))) + b; + } + + function GG(a, b, c, d, x, s, t) { + var n = a + ((b & d) | (c & ~d)) + x + t; + return ((n << s) | (n >>> (32 - s))) + b; + } + + function HH(a, b, c, d, x, s, t) { + var n = a + (b ^ c ^ d) + x + t; + return ((n << s) | (n >>> (32 - s))) + b; + } + + function II(a, b, c, d, x, s, t) { + var n = a + (c ^ (b | ~d)) + x + t; + return ((n << s) | (n >>> (32 - s))) + b; + } + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.MD5('message'); + * var hash = CryptoJS.MD5(wordArray); + */ + C.MD5 = Hasher._createHelper(MD5); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacMD5(message, key); + */ + C.HmacMD5 = Hasher._createHmacHelper(MD5); + }(Math)); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Reusable object + var W = []; + + /** + * SHA-1 hash algorithm. + */ + var SHA1 = C_algo.SHA1 = Hasher.extend({ + _doReset: function () { + this._hash = new WordArray.init([ + 0x67452301, 0xefcdab89, + 0x98badcfe, 0x10325476, + 0xc3d2e1f0 + ]); + }, + + _doProcessBlock: function (M, offset) { + // Shortcut + var H = this._hash.words; + + // Working variables + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + var e = H[4]; + + // Computation + for (var i = 0; i < 80; i++) { + if (i < 16) { + W[i] = M[offset + i] | 0; + } else { + var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]; + W[i] = (n << 1) | (n >>> 31); + } + + var t = ((a << 5) | (a >>> 27)) + e + W[i]; + if (i < 20) { + t += ((b & c) | (~b & d)) + 0x5a827999; + } else if (i < 40) { + t += (b ^ c ^ d) + 0x6ed9eba1; + } else if (i < 60) { + t += ((b & c) | (b & d) | (c & d)) - 0x70e44324; + } else /* if (i < 80) */ { + t += (b ^ c ^ d) - 0x359d3e2a; + } + + e = d; + d = c; + c = (b << 30) | (b >>> 2); + b = a; + a = t; + } + + // Intermediate hash value + H[0] = (H[0] + a) | 0; + H[1] = (H[1] + b) | 0; + H[2] = (H[2] + c) | 0; + H[3] = (H[3] + d) | 0; + H[4] = (H[4] + e) | 0; + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Return final computed hash + return this._hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA1('message'); + * var hash = CryptoJS.SHA1(wordArray); + */ + C.SHA1 = Hasher._createHelper(SHA1); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA1(message, key); + */ + C.HmacSHA1 = Hasher._createHmacHelper(SHA1); + }()); + + + (function (Math) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Initialization and round constants tables + var H = []; + var K = []; + + // Compute constants + (function () { + function isPrime(n) { + var sqrtN = Math.sqrt(n); + for (var factor = 2; factor <= sqrtN; factor++) { + if (!(n % factor)) { + return false; + } + } + + return true; + } + + function getFractionalBits(n) { + return ((n - (n | 0)) * 0x100000000) | 0; + } + + var n = 2; + var nPrime = 0; + while (nPrime < 64) { + if (isPrime(n)) { + if (nPrime < 8) { + H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2)); + } + K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3)); + + nPrime++; + } + + n++; + } + }()); + + // Reusable object + var W = []; + + /** + * SHA-256 hash algorithm. + */ + var SHA256 = C_algo.SHA256 = Hasher.extend({ + _doReset: function () { + this._hash = new WordArray.init(H.slice(0)); + }, + + _doProcessBlock: function (M, offset) { + // Shortcut + var H = this._hash.words; + + // Working variables + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + var e = H[4]; + var f = H[5]; + var g = H[6]; + var h = H[7]; + + // Computation + for (var i = 0; i < 64; i++) { + if (i < 16) { + W[i] = M[offset + i] | 0; + } else { + var gamma0x = W[i - 15]; + var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^ + ((gamma0x << 14) | (gamma0x >>> 18)) ^ + (gamma0x >>> 3); + + var gamma1x = W[i - 2]; + var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^ + ((gamma1x << 13) | (gamma1x >>> 19)) ^ + (gamma1x >>> 10); + + W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]; + } + + var ch = (e & f) ^ (~e & g); + var maj = (a & b) ^ (a & c) ^ (b & c); + + var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22)); + var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25)); + + var t1 = h + sigma1 + ch + K[i] + W[i]; + var t2 = sigma0 + maj; + + h = g; + g = f; + f = e; + e = (d + t1) | 0; + d = c; + c = b; + b = a; + a = (t1 + t2) | 0; + } + + // Intermediate hash value + H[0] = (H[0] + a) | 0; + H[1] = (H[1] + b) | 0; + H[2] = (H[2] + c) | 0; + H[3] = (H[3] + d) | 0; + H[4] = (H[4] + e) | 0; + H[5] = (H[5] + f) | 0; + H[6] = (H[6] + g) | 0; + H[7] = (H[7] + h) | 0; + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Return final computed hash + return this._hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA256('message'); + * var hash = CryptoJS.SHA256(wordArray); + */ + C.SHA256 = Hasher._createHelper(SHA256); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA256(message, key); + */ + C.HmacSHA256 = Hasher._createHmacHelper(SHA256); + }(Math)); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var C_enc = C.enc; + + /** + * UTF-16 BE encoding strategy. + */ + var Utf16BE = C_enc.Utf16 = C_enc.Utf16BE = { + /** + * Converts a word array to a UTF-16 BE string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-16 BE string. + * + * @static + * + * @example + * + * var utf16String = CryptoJS.enc.Utf16.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var utf16Chars = []; + for (var i = 0; i < sigBytes; i += 2) { + var codePoint = (words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff; + utf16Chars.push(String.fromCharCode(codePoint)); + } + + return utf16Chars.join(''); + }, + + /** + * Converts a UTF-16 BE string to a word array. + * + * @param {string} utf16Str The UTF-16 BE string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf16.parse(utf16String); + */ + parse: function (utf16Str) { + // Shortcut + var utf16StrLength = utf16Str.length; + + // Convert + var words = []; + for (var i = 0; i < utf16StrLength; i++) { + words[i >>> 1] |= utf16Str.charCodeAt(i) << (16 - (i % 2) * 16); + } + + return WordArray.create(words, utf16StrLength * 2); + } + }; + + /** + * UTF-16 LE encoding strategy. + */ + C_enc.Utf16LE = { + /** + * Converts a word array to a UTF-16 LE string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-16 LE string. + * + * @static + * + * @example + * + * var utf16Str = CryptoJS.enc.Utf16LE.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var utf16Chars = []; + for (var i = 0; i < sigBytes; i += 2) { + var codePoint = swapEndian((words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff); + utf16Chars.push(String.fromCharCode(codePoint)); + } + + return utf16Chars.join(''); + }, + + /** + * Converts a UTF-16 LE string to a word array. + * + * @param {string} utf16Str The UTF-16 LE string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf16LE.parse(utf16Str); + */ + parse: function (utf16Str) { + // Shortcut + var utf16StrLength = utf16Str.length; + + // Convert + var words = []; + for (var i = 0; i < utf16StrLength; i++) { + words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << (16 - (i % 2) * 16)); + } + + return WordArray.create(words, utf16StrLength * 2); + } + }; + + function swapEndian(word) { + return ((word << 8) & 0xff00ff00) | ((word >>> 8) & 0x00ff00ff); + } + }()); + + + (function () { + // Check if typed arrays are supported + if (typeof ArrayBuffer != 'function') { + return; + } + + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + + // Reference original init + var superInit = WordArray.init; + + // Augment WordArray.init to handle typed arrays + var subInit = WordArray.init = function (typedArray) { + // Convert buffers to uint8 + if (typedArray instanceof ArrayBuffer) { + typedArray = new Uint8Array(typedArray); + } + + // Convert other array views to uint8 + if ( + typedArray instanceof Int8Array || + (typeof Uint8ClampedArray !== "undefined" && typedArray instanceof Uint8ClampedArray) || + typedArray instanceof Int16Array || + typedArray instanceof Uint16Array || + typedArray instanceof Int32Array || + typedArray instanceof Uint32Array || + typedArray instanceof Float32Array || + typedArray instanceof Float64Array + ) { + typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength); + } + + // Handle Uint8Array + if (typedArray instanceof Uint8Array) { + // Shortcut + var typedArrayByteLength = typedArray.byteLength; + + // Extract bytes + var words = []; + for (var i = 0; i < typedArrayByteLength; i++) { + words[i >>> 2] |= typedArray[i] << (24 - (i % 4) * 8); + } + + // Initialize this word array + superInit.call(this, words, typedArrayByteLength); + } else { + // Else call normal init + superInit.apply(this, arguments); + } + }; + + subInit.prototype = WordArray; + }()); + + + /** @preserve + (c) 2012 by Cédric Mesnil. All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + (function (Math) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Constants table + var _zl = WordArray.create([ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, + 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, + 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, + 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]); + var _zr = WordArray.create([ + 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, + 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, + 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, + 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, + 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]); + var _sl = WordArray.create([ + 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, + 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, + 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, + 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, + 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6 ]); + var _sr = WordArray.create([ + 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, + 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, + 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, + 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, + 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 ]); + + var _hl = WordArray.create([ 0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]); + var _hr = WordArray.create([ 0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]); + + /** + * RIPEMD160 hash algorithm. + */ + var RIPEMD160 = C_algo.RIPEMD160 = Hasher.extend({ + _doReset: function () { + this._hash = WordArray.create([0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]); + }, + + _doProcessBlock: function (M, offset) { + + // Swap endian + for (var i = 0; i < 16; i++) { + // Shortcuts + var offset_i = offset + i; + var M_offset_i = M[offset_i]; + + // Swap + M[offset_i] = ( + (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) | + (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00) + ); + } + // Shortcut + var H = this._hash.words; + var hl = _hl.words; + var hr = _hr.words; + var zl = _zl.words; + var zr = _zr.words; + var sl = _sl.words; + var sr = _sr.words; + + // Working variables + var al, bl, cl, dl, el; + var ar, br, cr, dr, er; + + ar = al = H[0]; + br = bl = H[1]; + cr = cl = H[2]; + dr = dl = H[3]; + er = el = H[4]; + // Computation + var t; + for (var i = 0; i < 80; i += 1) { + t = (al + M[offset+zl[i]])|0; + if (i<16){ + t += f1(bl,cl,dl) + hl[0]; + } else if (i<32) { + t += f2(bl,cl,dl) + hl[1]; + } else if (i<48) { + t += f3(bl,cl,dl) + hl[2]; + } else if (i<64) { + t += f4(bl,cl,dl) + hl[3]; + } else {// if (i<80) { + t += f5(bl,cl,dl) + hl[4]; + } + t = t|0; + t = rotl(t,sl[i]); + t = (t+el)|0; + al = el; + el = dl; + dl = rotl(cl, 10); + cl = bl; + bl = t; + + t = (ar + M[offset+zr[i]])|0; + if (i<16){ + t += f5(br,cr,dr) + hr[0]; + } else if (i<32) { + t += f4(br,cr,dr) + hr[1]; + } else if (i<48) { + t += f3(br,cr,dr) + hr[2]; + } else if (i<64) { + t += f2(br,cr,dr) + hr[3]; + } else {// if (i<80) { + t += f1(br,cr,dr) + hr[4]; + } + t = t|0; + t = rotl(t,sr[i]) ; + t = (t+er)|0; + ar = er; + er = dr; + dr = rotl(cr, 10); + cr = br; + br = t; + } + // Intermediate hash value + t = (H[1] + cl + dr)|0; + H[1] = (H[2] + dl + er)|0; + H[2] = (H[3] + el + ar)|0; + H[3] = (H[4] + al + br)|0; + H[4] = (H[0] + bl + cr)|0; + H[0] = t; + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = ( + (((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) | + (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00) + ); + data.sigBytes = (dataWords.length + 1) * 4; + + // Hash final blocks + this._process(); + + // Shortcuts + var hash = this._hash; + var H = hash.words; + + // Swap endian + for (var i = 0; i < 5; i++) { + // Shortcut + var H_i = H[i]; + + // Swap + H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) | + (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00); + } + + // Return final computed hash + return hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + } + }); + + + function f1(x, y, z) { + return ((x) ^ (y) ^ (z)); + + } + + function f2(x, y, z) { + return (((x)&(y)) | ((~x)&(z))); + } + + function f3(x, y, z) { + return (((x) | (~(y))) ^ (z)); + } + + function f4(x, y, z) { + return (((x) & (z)) | ((y)&(~(z)))); + } + + function f5(x, y, z) { + return ((x) ^ ((y) |(~(z)))); + + } + + function rotl(x,n) { + return (x<>>(32-n)); + } + + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.RIPEMD160('message'); + * var hash = CryptoJS.RIPEMD160(wordArray); + */ + C.RIPEMD160 = Hasher._createHelper(RIPEMD160); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacRIPEMD160(message, key); + */ + C.HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160); + }(Math)); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var C_enc = C.enc; + var Utf8 = C_enc.Utf8; + var C_algo = C.algo; + + /** + * HMAC algorithm. + */ + var HMAC = C_algo.HMAC = Base.extend({ + /** + * Initializes a newly created HMAC. + * + * @param {Hasher} hasher The hash algorithm to use. + * @param {WordArray|string} key The secret key. + * + * @example + * + * var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key); + */ + init: function (hasher, key) { + // Init hasher + hasher = this._hasher = new hasher.init(); + + // Convert string to WordArray, else assume WordArray already + if (typeof key == 'string') { + key = Utf8.parse(key); + } + + // Shortcuts + var hasherBlockSize = hasher.blockSize; + var hasherBlockSizeBytes = hasherBlockSize * 4; + + // Allow arbitrary length keys + if (key.sigBytes > hasherBlockSizeBytes) { + key = hasher.finalize(key); + } + + // Clamp excess bits + key.clamp(); + + // Clone key for inner and outer pads + var oKey = this._oKey = key.clone(); + var iKey = this._iKey = key.clone(); + + // Shortcuts + var oKeyWords = oKey.words; + var iKeyWords = iKey.words; + + // XOR keys with pad constants + for (var i = 0; i < hasherBlockSize; i++) { + oKeyWords[i] ^= 0x5c5c5c5c; + iKeyWords[i] ^= 0x36363636; + } + oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes; + + // Set initial values + this.reset(); + }, + + /** + * Resets this HMAC to its initial state. + * + * @example + * + * hmacHasher.reset(); + */ + reset: function () { + // Shortcut + var hasher = this._hasher; + + // Reset + hasher.reset(); + hasher.update(this._iKey); + }, + + /** + * Updates this HMAC with a message. + * + * @param {WordArray|string} messageUpdate The message to append. + * + * @return {HMAC} This HMAC instance. + * + * @example + * + * hmacHasher.update('message'); + * hmacHasher.update(wordArray); + */ + update: function (messageUpdate) { + this._hasher.update(messageUpdate); + + // Chainable + return this; + }, + + /** + * Finalizes the HMAC computation. + * Note that the finalize operation is effectively a destructive, read-once operation. + * + * @param {WordArray|string} messageUpdate (Optional) A final message update. + * + * @return {WordArray} The HMAC. + * + * @example + * + * var hmac = hmacHasher.finalize(); + * var hmac = hmacHasher.finalize('message'); + * var hmac = hmacHasher.finalize(wordArray); + */ + finalize: function (messageUpdate) { + // Shortcut + var hasher = this._hasher; + + // Compute HMAC + var innerHash = hasher.finalize(messageUpdate); + hasher.reset(); + var hmac = hasher.finalize(this._oKey.clone().concat(innerHash)); + + return hmac; + } + }); + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var WordArray = C_lib.WordArray; + var C_algo = C.algo; + var SHA1 = C_algo.SHA1; + var HMAC = C_algo.HMAC; + + /** + * Password-Based Key Derivation Function 2 algorithm. + */ + var PBKDF2 = C_algo.PBKDF2 = Base.extend({ + /** + * Configuration options. + * + * @property {number} keySize The key size in words to generate. Default: 4 (128 bits) + * @property {Hasher} hasher The hasher to use. Default: SHA1 + * @property {number} iterations The number of iterations to perform. Default: 1 + */ + cfg: Base.extend({ + keySize: 128/32, + hasher: SHA1, + iterations: 1 + }), + + /** + * Initializes a newly created key derivation function. + * + * @param {Object} cfg (Optional) The configuration options to use for the derivation. + * + * @example + * + * var kdf = CryptoJS.algo.PBKDF2.create(); + * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8 }); + * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8, iterations: 1000 }); + */ + init: function (cfg) { + this.cfg = this.cfg.extend(cfg); + }, + + /** + * Computes the Password-Based Key Derivation Function 2. + * + * @param {WordArray|string} password The password. + * @param {WordArray|string} salt A salt. + * + * @return {WordArray} The derived key. + * + * @example + * + * var key = kdf.compute(password, salt); + */ + compute: function (password, salt) { + // Shortcut + var cfg = this.cfg; + + // Init HMAC + var hmac = HMAC.create(cfg.hasher, password); + + // Initial values + var derivedKey = WordArray.create(); + var blockIndex = WordArray.create([0x00000001]); + + // Shortcuts + var derivedKeyWords = derivedKey.words; + var blockIndexWords = blockIndex.words; + var keySize = cfg.keySize; + var iterations = cfg.iterations; + + // Generate key + while (derivedKeyWords.length < keySize) { + var block = hmac.update(salt).finalize(blockIndex); + hmac.reset(); + + // Shortcuts + var blockWords = block.words; + var blockWordsLength = blockWords.length; + + // Iterations + var intermediate = block; + for (var i = 1; i < iterations; i++) { + intermediate = hmac.finalize(intermediate); + hmac.reset(); + + // Shortcut + var intermediateWords = intermediate.words; + + // XOR intermediate with block + for (var j = 0; j < blockWordsLength; j++) { + blockWords[j] ^= intermediateWords[j]; + } + } + + derivedKey.concat(block); + blockIndexWords[0]++; + } + derivedKey.sigBytes = keySize * 4; + + return derivedKey; + } + }); + + /** + * Computes the Password-Based Key Derivation Function 2. + * + * @param {WordArray|string} password The password. + * @param {WordArray|string} salt A salt. + * @param {Object} cfg (Optional) The configuration options to use for this computation. + * + * @return {WordArray} The derived key. + * + * @static + * + * @example + * + * var key = CryptoJS.PBKDF2(password, salt); + * var key = CryptoJS.PBKDF2(password, salt, { keySize: 8 }); + * var key = CryptoJS.PBKDF2(password, salt, { keySize: 8, iterations: 1000 }); + */ + C.PBKDF2 = function (password, salt, cfg) { + return PBKDF2.create(cfg).compute(password, salt); + }; + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var WordArray = C_lib.WordArray; + var C_algo = C.algo; + var MD5 = C_algo.MD5; + + /** + * This key derivation function is meant to conform with EVP_BytesToKey. + * www.openssl.org/docs/crypto/EVP_BytesToKey.html + */ + var EvpKDF = C_algo.EvpKDF = Base.extend({ + /** + * Configuration options. + * + * @property {number} keySize The key size in words to generate. Default: 4 (128 bits) + * @property {Hasher} hasher The hash algorithm to use. Default: MD5 + * @property {number} iterations The number of iterations to perform. Default: 1 + */ + cfg: Base.extend({ + keySize: 128/32, + hasher: MD5, + iterations: 1 + }), + + /** + * Initializes a newly created key derivation function. + * + * @param {Object} cfg (Optional) The configuration options to use for the derivation. + * + * @example + * + * var kdf = CryptoJS.algo.EvpKDF.create(); + * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8 }); + * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8, iterations: 1000 }); + */ + init: function (cfg) { + this.cfg = this.cfg.extend(cfg); + }, + + /** + * Derives a key from a password. + * + * @param {WordArray|string} password The password. + * @param {WordArray|string} salt A salt. + * + * @return {WordArray} The derived key. + * + * @example + * + * var key = kdf.compute(password, salt); + */ + compute: function (password, salt) { + var block; + + // Shortcut + var cfg = this.cfg; + + // Init hasher + var hasher = cfg.hasher.create(); + + // Initial values + var derivedKey = WordArray.create(); + + // Shortcuts + var derivedKeyWords = derivedKey.words; + var keySize = cfg.keySize; + var iterations = cfg.iterations; + + // Generate key + while (derivedKeyWords.length < keySize) { + if (block) { + hasher.update(block); + } + block = hasher.update(password).finalize(salt); + hasher.reset(); + + // Iterations + for (var i = 1; i < iterations; i++) { + block = hasher.finalize(block); + hasher.reset(); + } + + derivedKey.concat(block); + } + derivedKey.sigBytes = keySize * 4; + + return derivedKey; + } + }); + + /** + * Derives a key from a password. + * + * @param {WordArray|string} password The password. + * @param {WordArray|string} salt A salt. + * @param {Object} cfg (Optional) The configuration options to use for this computation. + * + * @return {WordArray} The derived key. + * + * @static + * + * @example + * + * var key = CryptoJS.EvpKDF(password, salt); + * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8 }); + * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8, iterations: 1000 }); + */ + C.EvpKDF = function (password, salt, cfg) { + return EvpKDF.create(cfg).compute(password, salt); + }; + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var C_algo = C.algo; + var SHA256 = C_algo.SHA256; + + /** + * SHA-224 hash algorithm. + */ + var SHA224 = C_algo.SHA224 = SHA256.extend({ + _doReset: function () { + this._hash = new WordArray.init([ + 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, + 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 + ]); + }, + + _doFinalize: function () { + var hash = SHA256._doFinalize.call(this); + + hash.sigBytes -= 4; + + return hash; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA224('message'); + * var hash = CryptoJS.SHA224(wordArray); + */ + C.SHA224 = SHA256._createHelper(SHA224); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA224(message, key); + */ + C.HmacSHA224 = SHA256._createHmacHelper(SHA224); + }()); + + + (function (undefined) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var X32WordArray = C_lib.WordArray; + + /** + * x64 namespace. + */ + var C_x64 = C.x64 = {}; + + /** + * A 64-bit word. + */ + var X64Word = C_x64.Word = Base.extend({ + /** + * Initializes a newly created 64-bit word. + * + * @param {number} high The high 32 bits. + * @param {number} low The low 32 bits. + * + * @example + * + * var x64Word = CryptoJS.x64.Word.create(0x00010203, 0x04050607); + */ + init: function (high, low) { + this.high = high; + this.low = low; + } + + /** + * Bitwise NOTs this word. + * + * @return {X64Word} A new x64-Word object after negating. + * + * @example + * + * var negated = x64Word.not(); + */ + // not: function () { + // var high = ~this.high; + // var low = ~this.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise ANDs this word with the passed word. + * + * @param {X64Word} word The x64-Word to AND with this word. + * + * @return {X64Word} A new x64-Word object after ANDing. + * + * @example + * + * var anded = x64Word.and(anotherX64Word); + */ + // and: function (word) { + // var high = this.high & word.high; + // var low = this.low & word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise ORs this word with the passed word. + * + * @param {X64Word} word The x64-Word to OR with this word. + * + * @return {X64Word} A new x64-Word object after ORing. + * + * @example + * + * var ored = x64Word.or(anotherX64Word); + */ + // or: function (word) { + // var high = this.high | word.high; + // var low = this.low | word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise XORs this word with the passed word. + * + * @param {X64Word} word The x64-Word to XOR with this word. + * + * @return {X64Word} A new x64-Word object after XORing. + * + * @example + * + * var xored = x64Word.xor(anotherX64Word); + */ + // xor: function (word) { + // var high = this.high ^ word.high; + // var low = this.low ^ word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Shifts this word n bits to the left. + * + * @param {number} n The number of bits to shift. + * + * @return {X64Word} A new x64-Word object after shifting. + * + * @example + * + * var shifted = x64Word.shiftL(25); + */ + // shiftL: function (n) { + // if (n < 32) { + // var high = (this.high << n) | (this.low >>> (32 - n)); + // var low = this.low << n; + // } else { + // var high = this.low << (n - 32); + // var low = 0; + // } + + // return X64Word.create(high, low); + // }, + + /** + * Shifts this word n bits to the right. + * + * @param {number} n The number of bits to shift. + * + * @return {X64Word} A new x64-Word object after shifting. + * + * @example + * + * var shifted = x64Word.shiftR(7); + */ + // shiftR: function (n) { + // if (n < 32) { + // var low = (this.low >>> n) | (this.high << (32 - n)); + // var high = this.high >>> n; + // } else { + // var low = this.high >>> (n - 32); + // var high = 0; + // } + + // return X64Word.create(high, low); + // }, + + /** + * Rotates this word n bits to the left. + * + * @param {number} n The number of bits to rotate. + * + * @return {X64Word} A new x64-Word object after rotating. + * + * @example + * + * var rotated = x64Word.rotL(25); + */ + // rotL: function (n) { + // return this.shiftL(n).or(this.shiftR(64 - n)); + // }, + + /** + * Rotates this word n bits to the right. + * + * @param {number} n The number of bits to rotate. + * + * @return {X64Word} A new x64-Word object after rotating. + * + * @example + * + * var rotated = x64Word.rotR(7); + */ + // rotR: function (n) { + // return this.shiftR(n).or(this.shiftL(64 - n)); + // }, + + /** + * Adds this word with the passed word. + * + * @param {X64Word} word The x64-Word to add with this word. + * + * @return {X64Word} A new x64-Word object after adding. + * + * @example + * + * var added = x64Word.add(anotherX64Word); + */ + // add: function (word) { + // var low = (this.low + word.low) | 0; + // var carry = (low >>> 0) < (this.low >>> 0) ? 1 : 0; + // var high = (this.high + word.high + carry) | 0; + + // return X64Word.create(high, low); + // } + }); + + /** + * An array of 64-bit words. + * + * @property {Array} words The array of CryptoJS.x64.Word objects. + * @property {number} sigBytes The number of significant bytes in this word array. + */ + var X64WordArray = C_x64.WordArray = Base.extend({ + /** + * Initializes a newly created word array. + * + * @param {Array} words (Optional) An array of CryptoJS.x64.Word objects. + * @param {number} sigBytes (Optional) The number of significant bytes in the words. + * + * @example + * + * var wordArray = CryptoJS.x64.WordArray.create(); + * + * var wordArray = CryptoJS.x64.WordArray.create([ + * CryptoJS.x64.Word.create(0x00010203, 0x04050607), + * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f) + * ]); + * + * var wordArray = CryptoJS.x64.WordArray.create([ + * CryptoJS.x64.Word.create(0x00010203, 0x04050607), + * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f) + * ], 10); + */ + init: function (words, sigBytes) { + words = this.words = words || []; + + if (sigBytes != undefined) { + this.sigBytes = sigBytes; + } else { + this.sigBytes = words.length * 8; + } + }, + + /** + * Converts this 64-bit word array to a 32-bit word array. + * + * @return {CryptoJS.lib.WordArray} This word array's data as a 32-bit word array. + * + * @example + * + * var x32WordArray = x64WordArray.toX32(); + */ + toX32: function () { + // Shortcuts + var x64Words = this.words; + var x64WordsLength = x64Words.length; + + // Convert + var x32Words = []; + for (var i = 0; i < x64WordsLength; i++) { + var x64Word = x64Words[i]; + x32Words.push(x64Word.high); + x32Words.push(x64Word.low); + } + + return X32WordArray.create(x32Words, this.sigBytes); + }, + + /** + * Creates a copy of this word array. + * + * @return {X64WordArray} The clone. + * + * @example + * + * var clone = x64WordArray.clone(); + */ + clone: function () { + var clone = Base.clone.call(this); + + // Clone "words" array + var words = clone.words = this.words.slice(0); + + // Clone each X64Word object + var wordsLength = words.length; + for (var i = 0; i < wordsLength; i++) { + words[i] = words[i].clone(); + } + + return clone; + } + }); + }()); + + + (function (Math) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_x64 = C.x64; + var X64Word = C_x64.Word; + var C_algo = C.algo; + + // Constants tables + var RHO_OFFSETS = []; + var PI_INDEXES = []; + var ROUND_CONSTANTS = []; + + // Compute Constants + (function () { + // Compute rho offset constants + var x = 1, y = 0; + for (var t = 0; t < 24; t++) { + RHO_OFFSETS[x + 5 * y] = ((t + 1) * (t + 2) / 2) % 64; + + var newX = y % 5; + var newY = (2 * x + 3 * y) % 5; + x = newX; + y = newY; + } + + // Compute pi index constants + for (var x = 0; x < 5; x++) { + for (var y = 0; y < 5; y++) { + PI_INDEXES[x + 5 * y] = y + ((2 * x + 3 * y) % 5) * 5; + } + } + + // Compute round constants + var LFSR = 0x01; + for (var i = 0; i < 24; i++) { + var roundConstantMsw = 0; + var roundConstantLsw = 0; + + for (var j = 0; j < 7; j++) { + if (LFSR & 0x01) { + var bitPosition = (1 << j) - 1; + if (bitPosition < 32) { + roundConstantLsw ^= 1 << bitPosition; + } else /* if (bitPosition >= 32) */ { + roundConstantMsw ^= 1 << (bitPosition - 32); + } + } + + // Compute next LFSR + if (LFSR & 0x80) { + // Primitive polynomial over GF(2): x^8 + x^6 + x^5 + x^4 + 1 + LFSR = (LFSR << 1) ^ 0x71; + } else { + LFSR <<= 1; + } + } + + ROUND_CONSTANTS[i] = X64Word.create(roundConstantMsw, roundConstantLsw); + } + }()); + + // Reusable objects for temporary values + var T = []; + (function () { + for (var i = 0; i < 25; i++) { + T[i] = X64Word.create(); + } + }()); + + /** + * SHA-3 hash algorithm. + */ + var SHA3 = C_algo.SHA3 = Hasher.extend({ + /** + * Configuration options. + * + * @property {number} outputLength + * The desired number of bits in the output hash. + * Only values permitted are: 224, 256, 384, 512. + * Default: 512 + */ + cfg: Hasher.cfg.extend({ + outputLength: 512 + }), + + _doReset: function () { + var state = this._state = [] + for (var i = 0; i < 25; i++) { + state[i] = new X64Word.init(); + } + + this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32; + }, + + _doProcessBlock: function (M, offset) { + // Shortcuts + var state = this._state; + var nBlockSizeLanes = this.blockSize / 2; + + // Absorb + for (var i = 0; i < nBlockSizeLanes; i++) { + // Shortcuts + var M2i = M[offset + 2 * i]; + var M2i1 = M[offset + 2 * i + 1]; + + // Swap endian + M2i = ( + (((M2i << 8) | (M2i >>> 24)) & 0x00ff00ff) | + (((M2i << 24) | (M2i >>> 8)) & 0xff00ff00) + ); + M2i1 = ( + (((M2i1 << 8) | (M2i1 >>> 24)) & 0x00ff00ff) | + (((M2i1 << 24) | (M2i1 >>> 8)) & 0xff00ff00) + ); + + // Absorb message into state + var lane = state[i]; + lane.high ^= M2i1; + lane.low ^= M2i; + } + + // Rounds + for (var round = 0; round < 24; round++) { + // Theta + for (var x = 0; x < 5; x++) { + // Mix column lanes + var tMsw = 0, tLsw = 0; + for (var y = 0; y < 5; y++) { + var lane = state[x + 5 * y]; + tMsw ^= lane.high; + tLsw ^= lane.low; + } + + // Temporary values + var Tx = T[x]; + Tx.high = tMsw; + Tx.low = tLsw; + } + for (var x = 0; x < 5; x++) { + // Shortcuts + var Tx4 = T[(x + 4) % 5]; + var Tx1 = T[(x + 1) % 5]; + var Tx1Msw = Tx1.high; + var Tx1Lsw = Tx1.low; + + // Mix surrounding columns + var tMsw = Tx4.high ^ ((Tx1Msw << 1) | (Tx1Lsw >>> 31)); + var tLsw = Tx4.low ^ ((Tx1Lsw << 1) | (Tx1Msw >>> 31)); + for (var y = 0; y < 5; y++) { + var lane = state[x + 5 * y]; + lane.high ^= tMsw; + lane.low ^= tLsw; + } + } + + // Rho Pi + for (var laneIndex = 1; laneIndex < 25; laneIndex++) { + var tMsw; + var tLsw; + + // Shortcuts + var lane = state[laneIndex]; + var laneMsw = lane.high; + var laneLsw = lane.low; + var rhoOffset = RHO_OFFSETS[laneIndex]; + + // Rotate lanes + if (rhoOffset < 32) { + tMsw = (laneMsw << rhoOffset) | (laneLsw >>> (32 - rhoOffset)); + tLsw = (laneLsw << rhoOffset) | (laneMsw >>> (32 - rhoOffset)); + } else /* if (rhoOffset >= 32) */ { + tMsw = (laneLsw << (rhoOffset - 32)) | (laneMsw >>> (64 - rhoOffset)); + tLsw = (laneMsw << (rhoOffset - 32)) | (laneLsw >>> (64 - rhoOffset)); + } + + // Transpose lanes + var TPiLane = T[PI_INDEXES[laneIndex]]; + TPiLane.high = tMsw; + TPiLane.low = tLsw; + } + + // Rho pi at x = y = 0 + var T0 = T[0]; + var state0 = state[0]; + T0.high = state0.high; + T0.low = state0.low; + + // Chi + for (var x = 0; x < 5; x++) { + for (var y = 0; y < 5; y++) { + // Shortcuts + var laneIndex = x + 5 * y; + var lane = state[laneIndex]; + var TLane = T[laneIndex]; + var Tx1Lane = T[((x + 1) % 5) + 5 * y]; + var Tx2Lane = T[((x + 2) % 5) + 5 * y]; + + // Mix rows + lane.high = TLane.high ^ (~Tx1Lane.high & Tx2Lane.high); + lane.low = TLane.low ^ (~Tx1Lane.low & Tx2Lane.low); + } + } + + // Iota + var lane = state[0]; + var roundConstant = ROUND_CONSTANTS[round]; + lane.high ^= roundConstant.high; + lane.low ^= roundConstant.low; + } + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + var blockSizeBits = this.blockSize * 32; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x1 << (24 - nBitsLeft % 32); + dataWords[((Math.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits) >>> 5) - 1] |= 0x80; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Shortcuts + var state = this._state; + var outputLengthBytes = this.cfg.outputLength / 8; + var outputLengthLanes = outputLengthBytes / 8; + + // Squeeze + var hashWords = []; + for (var i = 0; i < outputLengthLanes; i++) { + // Shortcuts + var lane = state[i]; + var laneMsw = lane.high; + var laneLsw = lane.low; + + // Swap endian + laneMsw = ( + (((laneMsw << 8) | (laneMsw >>> 24)) & 0x00ff00ff) | + (((laneMsw << 24) | (laneMsw >>> 8)) & 0xff00ff00) + ); + laneLsw = ( + (((laneLsw << 8) | (laneLsw >>> 24)) & 0x00ff00ff) | + (((laneLsw << 24) | (laneLsw >>> 8)) & 0xff00ff00) + ); + + // Squeeze state to retrieve hash + hashWords.push(laneLsw); + hashWords.push(laneMsw); + } + + // Return final computed hash + return new WordArray.init(hashWords, outputLengthBytes); + }, + + clone: function () { + var clone = Hasher.clone.call(this); + + var state = clone._state = this._state.slice(0); + for (var i = 0; i < 25; i++) { + state[i] = state[i].clone(); + } + + return clone; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA3('message'); + * var hash = CryptoJS.SHA3(wordArray); + */ + C.SHA3 = Hasher._createHelper(SHA3); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA3(message, key); + */ + C.HmacSHA3 = Hasher._createHmacHelper(SHA3); + }(Math)); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Hasher = C_lib.Hasher; + var C_x64 = C.x64; + var X64Word = C_x64.Word; + var X64WordArray = C_x64.WordArray; + var C_algo = C.algo; + + function X64Word_create() { + return X64Word.create.apply(X64Word, arguments); + } + + // Constants + var K = [ + X64Word_create(0x428a2f98, 0xd728ae22), X64Word_create(0x71374491, 0x23ef65cd), + X64Word_create(0xb5c0fbcf, 0xec4d3b2f), X64Word_create(0xe9b5dba5, 0x8189dbbc), + X64Word_create(0x3956c25b, 0xf348b538), X64Word_create(0x59f111f1, 0xb605d019), + X64Word_create(0x923f82a4, 0xaf194f9b), X64Word_create(0xab1c5ed5, 0xda6d8118), + X64Word_create(0xd807aa98, 0xa3030242), X64Word_create(0x12835b01, 0x45706fbe), + X64Word_create(0x243185be, 0x4ee4b28c), X64Word_create(0x550c7dc3, 0xd5ffb4e2), + X64Word_create(0x72be5d74, 0xf27b896f), X64Word_create(0x80deb1fe, 0x3b1696b1), + X64Word_create(0x9bdc06a7, 0x25c71235), X64Word_create(0xc19bf174, 0xcf692694), + X64Word_create(0xe49b69c1, 0x9ef14ad2), X64Word_create(0xefbe4786, 0x384f25e3), + X64Word_create(0x0fc19dc6, 0x8b8cd5b5), X64Word_create(0x240ca1cc, 0x77ac9c65), + X64Word_create(0x2de92c6f, 0x592b0275), X64Word_create(0x4a7484aa, 0x6ea6e483), + X64Word_create(0x5cb0a9dc, 0xbd41fbd4), X64Word_create(0x76f988da, 0x831153b5), + X64Word_create(0x983e5152, 0xee66dfab), X64Word_create(0xa831c66d, 0x2db43210), + X64Word_create(0xb00327c8, 0x98fb213f), X64Word_create(0xbf597fc7, 0xbeef0ee4), + X64Word_create(0xc6e00bf3, 0x3da88fc2), X64Word_create(0xd5a79147, 0x930aa725), + X64Word_create(0x06ca6351, 0xe003826f), X64Word_create(0x14292967, 0x0a0e6e70), + X64Word_create(0x27b70a85, 0x46d22ffc), X64Word_create(0x2e1b2138, 0x5c26c926), + X64Word_create(0x4d2c6dfc, 0x5ac42aed), X64Word_create(0x53380d13, 0x9d95b3df), + X64Word_create(0x650a7354, 0x8baf63de), X64Word_create(0x766a0abb, 0x3c77b2a8), + X64Word_create(0x81c2c92e, 0x47edaee6), X64Word_create(0x92722c85, 0x1482353b), + X64Word_create(0xa2bfe8a1, 0x4cf10364), X64Word_create(0xa81a664b, 0xbc423001), + X64Word_create(0xc24b8b70, 0xd0f89791), X64Word_create(0xc76c51a3, 0x0654be30), + X64Word_create(0xd192e819, 0xd6ef5218), X64Word_create(0xd6990624, 0x5565a910), + X64Word_create(0xf40e3585, 0x5771202a), X64Word_create(0x106aa070, 0x32bbd1b8), + X64Word_create(0x19a4c116, 0xb8d2d0c8), X64Word_create(0x1e376c08, 0x5141ab53), + X64Word_create(0x2748774c, 0xdf8eeb99), X64Word_create(0x34b0bcb5, 0xe19b48a8), + X64Word_create(0x391c0cb3, 0xc5c95a63), X64Word_create(0x4ed8aa4a, 0xe3418acb), + X64Word_create(0x5b9cca4f, 0x7763e373), X64Word_create(0x682e6ff3, 0xd6b2b8a3), + X64Word_create(0x748f82ee, 0x5defb2fc), X64Word_create(0x78a5636f, 0x43172f60), + X64Word_create(0x84c87814, 0xa1f0ab72), X64Word_create(0x8cc70208, 0x1a6439ec), + X64Word_create(0x90befffa, 0x23631e28), X64Word_create(0xa4506ceb, 0xde82bde9), + X64Word_create(0xbef9a3f7, 0xb2c67915), X64Word_create(0xc67178f2, 0xe372532b), + X64Word_create(0xca273ece, 0xea26619c), X64Word_create(0xd186b8c7, 0x21c0c207), + X64Word_create(0xeada7dd6, 0xcde0eb1e), X64Word_create(0xf57d4f7f, 0xee6ed178), + X64Word_create(0x06f067aa, 0x72176fba), X64Word_create(0x0a637dc5, 0xa2c898a6), + X64Word_create(0x113f9804, 0xbef90dae), X64Word_create(0x1b710b35, 0x131c471b), + X64Word_create(0x28db77f5, 0x23047d84), X64Word_create(0x32caab7b, 0x40c72493), + X64Word_create(0x3c9ebe0a, 0x15c9bebc), X64Word_create(0x431d67c4, 0x9c100d4c), + X64Word_create(0x4cc5d4be, 0xcb3e42b6), X64Word_create(0x597f299c, 0xfc657e2a), + X64Word_create(0x5fcb6fab, 0x3ad6faec), X64Word_create(0x6c44198c, 0x4a475817) + ]; + + // Reusable objects + var W = []; + (function () { + for (var i = 0; i < 80; i++) { + W[i] = X64Word_create(); + } + }()); + + /** + * SHA-512 hash algorithm. + */ + var SHA512 = C_algo.SHA512 = Hasher.extend({ + _doReset: function () { + this._hash = new X64WordArray.init([ + new X64Word.init(0x6a09e667, 0xf3bcc908), new X64Word.init(0xbb67ae85, 0x84caa73b), + new X64Word.init(0x3c6ef372, 0xfe94f82b), new X64Word.init(0xa54ff53a, 0x5f1d36f1), + new X64Word.init(0x510e527f, 0xade682d1), new X64Word.init(0x9b05688c, 0x2b3e6c1f), + new X64Word.init(0x1f83d9ab, 0xfb41bd6b), new X64Word.init(0x5be0cd19, 0x137e2179) + ]); + }, + + _doProcessBlock: function (M, offset) { + // Shortcuts + var H = this._hash.words; + + var H0 = H[0]; + var H1 = H[1]; + var H2 = H[2]; + var H3 = H[3]; + var H4 = H[4]; + var H5 = H[5]; + var H6 = H[6]; + var H7 = H[7]; + + var H0h = H0.high; + var H0l = H0.low; + var H1h = H1.high; + var H1l = H1.low; + var H2h = H2.high; + var H2l = H2.low; + var H3h = H3.high; + var H3l = H3.low; + var H4h = H4.high; + var H4l = H4.low; + var H5h = H5.high; + var H5l = H5.low; + var H6h = H6.high; + var H6l = H6.low; + var H7h = H7.high; + var H7l = H7.low; + + // Working variables + var ah = H0h; + var al = H0l; + var bh = H1h; + var bl = H1l; + var ch = H2h; + var cl = H2l; + var dh = H3h; + var dl = H3l; + var eh = H4h; + var el = H4l; + var fh = H5h; + var fl = H5l; + var gh = H6h; + var gl = H6l; + var hh = H7h; + var hl = H7l; + + // Rounds + for (var i = 0; i < 80; i++) { + var Wil; + var Wih; + + // Shortcut + var Wi = W[i]; + + // Extend message + if (i < 16) { + Wih = Wi.high = M[offset + i * 2] | 0; + Wil = Wi.low = M[offset + i * 2 + 1] | 0; + } else { + // Gamma0 + var gamma0x = W[i - 15]; + var gamma0xh = gamma0x.high; + var gamma0xl = gamma0x.low; + var gamma0h = ((gamma0xh >>> 1) | (gamma0xl << 31)) ^ ((gamma0xh >>> 8) | (gamma0xl << 24)) ^ (gamma0xh >>> 7); + var gamma0l = ((gamma0xl >>> 1) | (gamma0xh << 31)) ^ ((gamma0xl >>> 8) | (gamma0xh << 24)) ^ ((gamma0xl >>> 7) | (gamma0xh << 25)); + + // Gamma1 + var gamma1x = W[i - 2]; + var gamma1xh = gamma1x.high; + var gamma1xl = gamma1x.low; + var gamma1h = ((gamma1xh >>> 19) | (gamma1xl << 13)) ^ ((gamma1xh << 3) | (gamma1xl >>> 29)) ^ (gamma1xh >>> 6); + var gamma1l = ((gamma1xl >>> 19) | (gamma1xh << 13)) ^ ((gamma1xl << 3) | (gamma1xh >>> 29)) ^ ((gamma1xl >>> 6) | (gamma1xh << 26)); + + // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16] + var Wi7 = W[i - 7]; + var Wi7h = Wi7.high; + var Wi7l = Wi7.low; + + var Wi16 = W[i - 16]; + var Wi16h = Wi16.high; + var Wi16l = Wi16.low; + + Wil = gamma0l + Wi7l; + Wih = gamma0h + Wi7h + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0); + Wil = Wil + gamma1l; + Wih = Wih + gamma1h + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0); + Wil = Wil + Wi16l; + Wih = Wih + Wi16h + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0); + + Wi.high = Wih; + Wi.low = Wil; + } + + var chh = (eh & fh) ^ (~eh & gh); + var chl = (el & fl) ^ (~el & gl); + var majh = (ah & bh) ^ (ah & ch) ^ (bh & ch); + var majl = (al & bl) ^ (al & cl) ^ (bl & cl); + + var sigma0h = ((ah >>> 28) | (al << 4)) ^ ((ah << 30) | (al >>> 2)) ^ ((ah << 25) | (al >>> 7)); + var sigma0l = ((al >>> 28) | (ah << 4)) ^ ((al << 30) | (ah >>> 2)) ^ ((al << 25) | (ah >>> 7)); + var sigma1h = ((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9)); + var sigma1l = ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)); + + // t1 = h + sigma1 + ch + K[i] + W[i] + var Ki = K[i]; + var Kih = Ki.high; + var Kil = Ki.low; + + var t1l = hl + sigma1l; + var t1h = hh + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0); + var t1l = t1l + chl; + var t1h = t1h + chh + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0); + var t1l = t1l + Kil; + var t1h = t1h + Kih + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0); + var t1l = t1l + Wil; + var t1h = t1h + Wih + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0); + + // t2 = sigma0 + maj + var t2l = sigma0l + majl; + var t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0); + + // Update working variables + hh = gh; + hl = gl; + gh = fh; + gl = fl; + fh = eh; + fl = el; + el = (dl + t1l) | 0; + eh = (dh + t1h + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0; + dh = ch; + dl = cl; + ch = bh; + cl = bl; + bh = ah; + bl = al; + al = (t1l + t2l) | 0; + ah = (t1h + t2h + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0; + } + + // Intermediate hash value + H0l = H0.low = (H0l + al); + H0.high = (H0h + ah + ((H0l >>> 0) < (al >>> 0) ? 1 : 0)); + H1l = H1.low = (H1l + bl); + H1.high = (H1h + bh + ((H1l >>> 0) < (bl >>> 0) ? 1 : 0)); + H2l = H2.low = (H2l + cl); + H2.high = (H2h + ch + ((H2l >>> 0) < (cl >>> 0) ? 1 : 0)); + H3l = H3.low = (H3l + dl); + H3.high = (H3h + dh + ((H3l >>> 0) < (dl >>> 0) ? 1 : 0)); + H4l = H4.low = (H4l + el); + H4.high = (H4h + eh + ((H4l >>> 0) < (el >>> 0) ? 1 : 0)); + H5l = H5.low = (H5l + fl); + H5.high = (H5h + fh + ((H5l >>> 0) < (fl >>> 0) ? 1 : 0)); + H6l = H6.low = (H6l + gl); + H6.high = (H6h + gh + ((H6l >>> 0) < (gl >>> 0) ? 1 : 0)); + H7l = H7.low = (H7l + hl); + H7.high = (H7h + hh + ((H7l >>> 0) < (hl >>> 0) ? 1 : 0)); + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 30] = Math.floor(nBitsTotal / 0x100000000); + dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 31] = nBitsTotal; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Convert hash to 32-bit word array before returning + var hash = this._hash.toX32(); + + // Return final computed hash + return hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + }, + + blockSize: 1024/32 + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA512('message'); + * var hash = CryptoJS.SHA512(wordArray); + */ + C.SHA512 = Hasher._createHelper(SHA512); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA512(message, key); + */ + C.HmacSHA512 = Hasher._createHmacHelper(SHA512); + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_x64 = C.x64; + var X64Word = C_x64.Word; + var X64WordArray = C_x64.WordArray; + var C_algo = C.algo; + var SHA512 = C_algo.SHA512; + + /** + * SHA-384 hash algorithm. + */ + var SHA384 = C_algo.SHA384 = SHA512.extend({ + _doReset: function () { + this._hash = new X64WordArray.init([ + new X64Word.init(0xcbbb9d5d, 0xc1059ed8), new X64Word.init(0x629a292a, 0x367cd507), + new X64Word.init(0x9159015a, 0x3070dd17), new X64Word.init(0x152fecd8, 0xf70e5939), + new X64Word.init(0x67332667, 0xffc00b31), new X64Word.init(0x8eb44a87, 0x68581511), + new X64Word.init(0xdb0c2e0d, 0x64f98fa7), new X64Word.init(0x47b5481d, 0xbefa4fa4) + ]); + }, + + _doFinalize: function () { + var hash = SHA512._doFinalize.call(this); + + hash.sigBytes -= 16; + + return hash; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA384('message'); + * var hash = CryptoJS.SHA384(wordArray); + */ + C.SHA384 = SHA512._createHelper(SHA384); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA384(message, key); + */ + C.HmacSHA384 = SHA512._createHmacHelper(SHA384); + }()); + + + /** + * Cipher core components. + */ + CryptoJS.lib.Cipher || (function (undefined) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var WordArray = C_lib.WordArray; + var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm; + var C_enc = C.enc; + var Utf8 = C_enc.Utf8; + var Base64 = C_enc.Base64; + var C_algo = C.algo; + var EvpKDF = C_algo.EvpKDF; + + /** + * Abstract base cipher template. + * + * @property {number} keySize This cipher's key size. Default: 4 (128 bits) + * @property {number} ivSize This cipher's IV size. Default: 4 (128 bits) + * @property {number} _ENC_XFORM_MODE A constant representing encryption mode. + * @property {number} _DEC_XFORM_MODE A constant representing decryption mode. + */ + var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({ + /** + * Configuration options. + * + * @property {WordArray} iv The IV to use for this operation. + */ + cfg: Base.extend(), + + /** + * Creates this cipher in encryption mode. + * + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {Cipher} A cipher instance. + * + * @static + * + * @example + * + * var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray }); + */ + createEncryptor: function (key, cfg) { + return this.create(this._ENC_XFORM_MODE, key, cfg); + }, + + /** + * Creates this cipher in decryption mode. + * + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {Cipher} A cipher instance. + * + * @static + * + * @example + * + * var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray }); + */ + createDecryptor: function (key, cfg) { + return this.create(this._DEC_XFORM_MODE, key, cfg); + }, + + /** + * Initializes a newly created cipher. + * + * @param {number} xformMode Either the encryption or decryption transormation mode constant. + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @example + * + * var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray }); + */ + init: function (xformMode, key, cfg) { + // Apply config defaults + this.cfg = this.cfg.extend(cfg); + + // Store transform mode and key + this._xformMode = xformMode; + this._key = key; + + // Set initial values + this.reset(); + }, + + /** + * Resets this cipher to its initial state. + * + * @example + * + * cipher.reset(); + */ + reset: function () { + // Reset data buffer + BufferedBlockAlgorithm.reset.call(this); + + // Perform concrete-cipher logic + this._doReset(); + }, + + /** + * Adds data to be encrypted or decrypted. + * + * @param {WordArray|string} dataUpdate The data to encrypt or decrypt. + * + * @return {WordArray} The data after processing. + * + * @example + * + * var encrypted = cipher.process('data'); + * var encrypted = cipher.process(wordArray); + */ + process: function (dataUpdate) { + // Append + this._append(dataUpdate); + + // Process available blocks + return this._process(); + }, + + /** + * Finalizes the encryption or decryption process. + * Note that the finalize operation is effectively a destructive, read-once operation. + * + * @param {WordArray|string} dataUpdate The final data to encrypt or decrypt. + * + * @return {WordArray} The data after final processing. + * + * @example + * + * var encrypted = cipher.finalize(); + * var encrypted = cipher.finalize('data'); + * var encrypted = cipher.finalize(wordArray); + */ + finalize: function (dataUpdate) { + // Final data update + if (dataUpdate) { + this._append(dataUpdate); + } + + // Perform concrete-cipher logic + var finalProcessedData = this._doFinalize(); + + return finalProcessedData; + }, + + keySize: 128/32, + + ivSize: 128/32, + + _ENC_XFORM_MODE: 1, + + _DEC_XFORM_MODE: 2, + + /** + * Creates shortcut functions to a cipher's object interface. + * + * @param {Cipher} cipher The cipher to create a helper for. + * + * @return {Object} An object with encrypt and decrypt shortcut functions. + * + * @static + * + * @example + * + * var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES); + */ + _createHelper: (function () { + function selectCipherStrategy(key) { + if (typeof key == 'string') { + return PasswordBasedCipher; + } else { + return SerializableCipher; + } + } + + return function (cipher) { + return { + encrypt: function (message, key, cfg) { + return selectCipherStrategy(key).encrypt(cipher, message, key, cfg); + }, + + decrypt: function (ciphertext, key, cfg) { + return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg); + } + }; + }; + }()) + }); + + /** + * Abstract base stream cipher template. + * + * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 1 (32 bits) + */ + var StreamCipher = C_lib.StreamCipher = Cipher.extend({ + _doFinalize: function () { + // Process partial blocks + var finalProcessedBlocks = this._process(!!'flush'); + + return finalProcessedBlocks; + }, + + blockSize: 1 + }); + + /** + * Mode namespace. + */ + var C_mode = C.mode = {}; + + /** + * Abstract base block cipher mode template. + */ + var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({ + /** + * Creates this mode for encryption. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @static + * + * @example + * + * var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words); + */ + createEncryptor: function (cipher, iv) { + return this.Encryptor.create(cipher, iv); + }, + + /** + * Creates this mode for decryption. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @static + * + * @example + * + * var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words); + */ + createDecryptor: function (cipher, iv) { + return this.Decryptor.create(cipher, iv); + }, + + /** + * Initializes a newly created mode. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @example + * + * var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words); + */ + init: function (cipher, iv) { + this._cipher = cipher; + this._iv = iv; + } + }); + + /** + * Cipher Block Chaining mode. + */ + var CBC = C_mode.CBC = (function () { + /** + * Abstract base CBC mode. + */ + var CBC = BlockCipherMode.extend(); + + /** + * CBC encryptor. + */ + CBC.Encryptor = CBC.extend({ + /** + * Processes the data block at offset. + * + * @param {Array} words The data words to operate on. + * @param {number} offset The offset where the block starts. + * + * @example + * + * mode.processBlock(data.words, offset); + */ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + // XOR and encrypt + xorBlock.call(this, words, offset, blockSize); + cipher.encryptBlock(words, offset); + + // Remember this block to use with next block + this._prevBlock = words.slice(offset, offset + blockSize); + } + }); + + /** + * CBC decryptor. + */ + CBC.Decryptor = CBC.extend({ + /** + * Processes the data block at offset. + * + * @param {Array} words The data words to operate on. + * @param {number} offset The offset where the block starts. + * + * @example + * + * mode.processBlock(data.words, offset); + */ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + // Remember this block to use with next block + var thisBlock = words.slice(offset, offset + blockSize); + + // Decrypt and XOR + cipher.decryptBlock(words, offset); + xorBlock.call(this, words, offset, blockSize); + + // This block becomes the previous block + this._prevBlock = thisBlock; + } + }); + + function xorBlock(words, offset, blockSize) { + var block; + + // Shortcut + var iv = this._iv; + + // Choose mixing block + if (iv) { + block = iv; + + // Remove IV for subsequent blocks + this._iv = undefined; + } else { + block = this._prevBlock; + } + + // XOR blocks + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= block[i]; + } + } + + return CBC; + }()); + + /** + * Padding namespace. + */ + var C_pad = C.pad = {}; + + /** + * PKCS #5/7 padding strategy. + */ + var Pkcs7 = C_pad.Pkcs7 = { + /** + * Pads data using the algorithm defined in PKCS #5/7. + * + * @param {WordArray} data The data to pad. + * @param {number} blockSize The multiple that the data should be padded to. + * + * @static + * + * @example + * + * CryptoJS.pad.Pkcs7.pad(wordArray, 4); + */ + pad: function (data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4; + + // Count padding bytes + var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes; + + // Create padding word + var paddingWord = (nPaddingBytes << 24) | (nPaddingBytes << 16) | (nPaddingBytes << 8) | nPaddingBytes; + + // Create padding + var paddingWords = []; + for (var i = 0; i < nPaddingBytes; i += 4) { + paddingWords.push(paddingWord); + } + var padding = WordArray.create(paddingWords, nPaddingBytes); + + // Add padding + data.concat(padding); + }, + + /** + * Unpads data that had been padded using the algorithm defined in PKCS #5/7. + * + * @param {WordArray} data The data to unpad. + * + * @static + * + * @example + * + * CryptoJS.pad.Pkcs7.unpad(wordArray); + */ + unpad: function (data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; + + // Remove padding + data.sigBytes -= nPaddingBytes; + } + }; + + /** + * Abstract base block cipher template. + * + * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 4 (128 bits) + */ + var BlockCipher = C_lib.BlockCipher = Cipher.extend({ + /** + * Configuration options. + * + * @property {Mode} mode The block mode to use. Default: CBC + * @property {Padding} padding The padding strategy to use. Default: Pkcs7 + */ + cfg: Cipher.cfg.extend({ + mode: CBC, + padding: Pkcs7 + }), + + reset: function () { + var modeCreator; + + // Reset cipher + Cipher.reset.call(this); + + // Shortcuts + var cfg = this.cfg; + var iv = cfg.iv; + var mode = cfg.mode; + + // Reset block mode + if (this._xformMode == this._ENC_XFORM_MODE) { + modeCreator = mode.createEncryptor; + } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ { + modeCreator = mode.createDecryptor; + // Keep at least one block in the buffer for unpadding + this._minBufferSize = 1; + } + + if (this._mode && this._mode.__creator == modeCreator) { + this._mode.init(this, iv && iv.words); + } else { + this._mode = modeCreator.call(mode, this, iv && iv.words); + this._mode.__creator = modeCreator; + } + }, + + _doProcessBlock: function (words, offset) { + this._mode.processBlock(words, offset); + }, + + _doFinalize: function () { + var finalProcessedBlocks; + + // Shortcut + var padding = this.cfg.padding; + + // Finalize + if (this._xformMode == this._ENC_XFORM_MODE) { + // Pad data + padding.pad(this._data, this.blockSize); + + // Process final blocks + finalProcessedBlocks = this._process(!!'flush'); + } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ { + // Process final blocks + finalProcessedBlocks = this._process(!!'flush'); + + // Unpad data + padding.unpad(finalProcessedBlocks); + } + + return finalProcessedBlocks; + }, + + blockSize: 128/32 + }); + + /** + * A collection of cipher parameters. + * + * @property {WordArray} ciphertext The raw ciphertext. + * @property {WordArray} key The key to this ciphertext. + * @property {WordArray} iv The IV used in the ciphering operation. + * @property {WordArray} salt The salt used with a key derivation function. + * @property {Cipher} algorithm The cipher algorithm. + * @property {Mode} mode The block mode used in the ciphering operation. + * @property {Padding} padding The padding scheme used in the ciphering operation. + * @property {number} blockSize The block size of the cipher. + * @property {Format} formatter The default formatting strategy to convert this cipher params object to a string. + */ + var CipherParams = C_lib.CipherParams = Base.extend({ + /** + * Initializes a newly created cipher params object. + * + * @param {Object} cipherParams An object with any of the possible cipher parameters. + * + * @example + * + * var cipherParams = CryptoJS.lib.CipherParams.create({ + * ciphertext: ciphertextWordArray, + * key: keyWordArray, + * iv: ivWordArray, + * salt: saltWordArray, + * algorithm: CryptoJS.algo.AES, + * mode: CryptoJS.mode.CBC, + * padding: CryptoJS.pad.PKCS7, + * blockSize: 4, + * formatter: CryptoJS.format.OpenSSL + * }); + */ + init: function (cipherParams) { + this.mixIn(cipherParams); + }, + + /** + * Converts this cipher params object to a string. + * + * @param {Format} formatter (Optional) The formatting strategy to use. + * + * @return {string} The stringified cipher params. + * + * @throws Error If neither the formatter nor the default formatter is set. + * + * @example + * + * var string = cipherParams + ''; + * var string = cipherParams.toString(); + * var string = cipherParams.toString(CryptoJS.format.OpenSSL); + */ + toString: function (formatter) { + return (formatter || this.formatter).stringify(this); + } + }); + + /** + * Format namespace. + */ + var C_format = C.format = {}; + + /** + * OpenSSL formatting strategy. + */ + var OpenSSLFormatter = C_format.OpenSSL = { + /** + * Converts a cipher params object to an OpenSSL-compatible string. + * + * @param {CipherParams} cipherParams The cipher params object. + * + * @return {string} The OpenSSL-compatible string. + * + * @static + * + * @example + * + * var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams); + */ + stringify: function (cipherParams) { + var wordArray; + + // Shortcuts + var ciphertext = cipherParams.ciphertext; + var salt = cipherParams.salt; + + // Format + if (salt) { + wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext); + } else { + wordArray = ciphertext; + } + + return wordArray.toString(Base64); + }, + + /** + * Converts an OpenSSL-compatible string to a cipher params object. + * + * @param {string} openSSLStr The OpenSSL-compatible string. + * + * @return {CipherParams} The cipher params object. + * + * @static + * + * @example + * + * var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString); + */ + parse: function (openSSLStr) { + var salt; + + // Parse base64 + var ciphertext = Base64.parse(openSSLStr); + + // Shortcut + var ciphertextWords = ciphertext.words; + + // Test for salt + if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) { + // Extract salt + salt = WordArray.create(ciphertextWords.slice(2, 4)); + + // Remove salt from ciphertext + ciphertextWords.splice(0, 4); + ciphertext.sigBytes -= 16; + } + + return CipherParams.create({ ciphertext: ciphertext, salt: salt }); + } + }; + + /** + * A cipher wrapper that returns ciphertext as a serializable cipher params object. + */ + var SerializableCipher = C_lib.SerializableCipher = Base.extend({ + /** + * Configuration options. + * + * @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL + */ + cfg: Base.extend({ + format: OpenSSLFormatter + }), + + /** + * Encrypts a message. + * + * @param {Cipher} cipher The cipher algorithm to use. + * @param {WordArray|string} message The message to encrypt. + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {CipherParams} A cipher params object. + * + * @static + * + * @example + * + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key); + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv }); + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + */ + encrypt: function (cipher, message, key, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Encrypt + var encryptor = cipher.createEncryptor(key, cfg); + var ciphertext = encryptor.finalize(message); + + // Shortcut + var cipherCfg = encryptor.cfg; + + // Create and return serializable cipher params + return CipherParams.create({ + ciphertext: ciphertext, + key: key, + iv: cipherCfg.iv, + algorithm: cipher, + mode: cipherCfg.mode, + padding: cipherCfg.padding, + blockSize: cipher.blockSize, + formatter: cfg.format + }); + }, + + /** + * Decrypts serialized ciphertext. + * + * @param {Cipher} cipher The cipher algorithm to use. + * @param {CipherParams|string} ciphertext The ciphertext to decrypt. + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {WordArray} The plaintext. + * + * @static + * + * @example + * + * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + */ + decrypt: function (cipher, ciphertext, key, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Convert string to CipherParams + ciphertext = this._parse(ciphertext, cfg.format); + + // Decrypt + var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext); + + return plaintext; + }, + + /** + * Converts serialized ciphertext to CipherParams, + * else assumed CipherParams already and returns ciphertext unchanged. + * + * @param {CipherParams|string} ciphertext The ciphertext. + * @param {Formatter} format The formatting strategy to use to parse serialized ciphertext. + * + * @return {CipherParams} The unserialized ciphertext. + * + * @static + * + * @example + * + * var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format); + */ + _parse: function (ciphertext, format) { + if (typeof ciphertext == 'string') { + return format.parse(ciphertext, this); + } else { + return ciphertext; + } + } + }); + + /** + * Key derivation function namespace. + */ + var C_kdf = C.kdf = {}; + + /** + * OpenSSL key derivation function. + */ + var OpenSSLKdf = C_kdf.OpenSSL = { + /** + * Derives a key and IV from a password. + * + * @param {string} password The password to derive from. + * @param {number} keySize The size in words of the key to generate. + * @param {number} ivSize The size in words of the IV to generate. + * @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly. + * + * @return {CipherParams} A cipher params object with the key, IV, and salt. + * + * @static + * + * @example + * + * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32); + * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt'); + */ + execute: function (password, keySize, ivSize, salt) { + // Generate random salt + if (!salt) { + salt = WordArray.random(64/8); + } + + // Derive key and IV + var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt); + + // Separate key and IV + var iv = WordArray.create(key.words.slice(keySize), ivSize * 4); + key.sigBytes = keySize * 4; + + // Return params + return CipherParams.create({ key: key, iv: iv, salt: salt }); + } + }; + + /** + * A serializable cipher wrapper that derives the key from a password, + * and returns ciphertext as a serializable cipher params object. + */ + var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({ + /** + * Configuration options. + * + * @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL + */ + cfg: SerializableCipher.cfg.extend({ + kdf: OpenSSLKdf + }), + + /** + * Encrypts a message using a password. + * + * @param {Cipher} cipher The cipher algorithm to use. + * @param {WordArray|string} message The message to encrypt. + * @param {string} password The password. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {CipherParams} A cipher params object. + * + * @static + * + * @example + * + * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password'); + * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL }); + */ + encrypt: function (cipher, message, password, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Derive key and other params + var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize); + + // Add IV to config + cfg.iv = derivedParams.iv; + + // Encrypt + var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg); + + // Mix in derived params + ciphertext.mixIn(derivedParams); + + return ciphertext; + }, + + /** + * Decrypts serialized ciphertext using a password. + * + * @param {Cipher} cipher The cipher algorithm to use. + * @param {CipherParams|string} ciphertext The ciphertext to decrypt. + * @param {string} password The password. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {WordArray} The plaintext. + * + * @static + * + * @example + * + * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL }); + * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL }); + */ + decrypt: function (cipher, ciphertext, password, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Convert string to CipherParams + ciphertext = this._parse(ciphertext, cfg.format); + + // Derive key and other params + var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt); + + // Add IV to config + cfg.iv = derivedParams.iv; + + // Decrypt + var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg); + + return plaintext; + } + }); + }()); + + + /** + * Cipher Feedback block mode. + */ + CryptoJS.mode.CFB = (function () { + var CFB = CryptoJS.lib.BlockCipherMode.extend(); + + CFB.Encryptor = CFB.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher); + + // Remember this block to use with next block + this._prevBlock = words.slice(offset, offset + blockSize); + } + }); + + CFB.Decryptor = CFB.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + // Remember this block to use with next block + var thisBlock = words.slice(offset, offset + blockSize); + + generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher); + + // This block becomes the previous block + this._prevBlock = thisBlock; + } + }); + + function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) { + var keystream; + + // Shortcut + var iv = this._iv; + + // Generate keystream + if (iv) { + keystream = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } else { + keystream = this._prevBlock; + } + cipher.encryptBlock(keystream, 0); + + // Encrypt + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= keystream[i]; + } + } + + return CFB; + }()); + + + /** + * Electronic Codebook block mode. + */ + CryptoJS.mode.ECB = (function () { + var ECB = CryptoJS.lib.BlockCipherMode.extend(); + + ECB.Encryptor = ECB.extend({ + processBlock: function (words, offset) { + this._cipher.encryptBlock(words, offset); + } + }); + + ECB.Decryptor = ECB.extend({ + processBlock: function (words, offset) { + this._cipher.decryptBlock(words, offset); + } + }); + + return ECB; + }()); + + + /** + * ANSI X.923 padding strategy. + */ + CryptoJS.pad.AnsiX923 = { + pad: function (data, blockSize) { + // Shortcuts + var dataSigBytes = data.sigBytes; + var blockSizeBytes = blockSize * 4; + + // Count padding bytes + var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes; + + // Compute last byte position + var lastBytePos = dataSigBytes + nPaddingBytes - 1; + + // Pad + data.clamp(); + data.words[lastBytePos >>> 2] |= nPaddingBytes << (24 - (lastBytePos % 4) * 8); + data.sigBytes += nPaddingBytes; + }, + + unpad: function (data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; + + // Remove padding + data.sigBytes -= nPaddingBytes; + } + }; + + + /** + * ISO 10126 padding strategy. + */ + CryptoJS.pad.Iso10126 = { + pad: function (data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4; + + // Count padding bytes + var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes; + + // Pad + data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)). + concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1)); + }, + + unpad: function (data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; + + // Remove padding + data.sigBytes -= nPaddingBytes; + } + }; + + + /** + * ISO/IEC 9797-1 Padding Method 2. + */ + CryptoJS.pad.Iso97971 = { + pad: function (data, blockSize) { + // Add 0x80 byte + data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1)); + + // Zero pad the rest + CryptoJS.pad.ZeroPadding.pad(data, blockSize); + }, + + unpad: function (data) { + // Remove zero padding + CryptoJS.pad.ZeroPadding.unpad(data); + + // Remove one more byte -- the 0x80 byte + data.sigBytes--; + } + }; + + + /** + * Output Feedback block mode. + */ + CryptoJS.mode.OFB = (function () { + var OFB = CryptoJS.lib.BlockCipherMode.extend(); + + var Encryptor = OFB.Encryptor = OFB.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher + var blockSize = cipher.blockSize; + var iv = this._iv; + var keystream = this._keystream; + + // Generate keystream + if (iv) { + keystream = this._keystream = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } + cipher.encryptBlock(keystream, 0); + + // Encrypt + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= keystream[i]; + } + } + }); + + OFB.Decryptor = Encryptor; + + return OFB; + }()); + + + /** + * A noop padding strategy. + */ + CryptoJS.pad.NoPadding = { + pad: function () { + }, + + unpad: function () { + } + }; + + + (function (undefined) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var CipherParams = C_lib.CipherParams; + var C_enc = C.enc; + var Hex = C_enc.Hex; + var C_format = C.format; + + var HexFormatter = C_format.Hex = { + /** + * Converts the ciphertext of a cipher params object to a hexadecimally encoded string. + * + * @param {CipherParams} cipherParams The cipher params object. + * + * @return {string} The hexadecimally encoded string. + * + * @static + * + * @example + * + * var hexString = CryptoJS.format.Hex.stringify(cipherParams); + */ + stringify: function (cipherParams) { + return cipherParams.ciphertext.toString(Hex); + }, + + /** + * Converts a hexadecimally encoded ciphertext string to a cipher params object. + * + * @param {string} input The hexadecimally encoded string. + * + * @return {CipherParams} The cipher params object. + * + * @static + * + * @example + * + * var cipherParams = CryptoJS.format.Hex.parse(hexString); + */ + parse: function (input) { + var ciphertext = Hex.parse(input); + return CipherParams.create({ ciphertext: ciphertext }); + } + }; + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var BlockCipher = C_lib.BlockCipher; + var C_algo = C.algo; + + // Lookup tables + var SBOX = []; + var INV_SBOX = []; + var SUB_MIX_0 = []; + var SUB_MIX_1 = []; + var SUB_MIX_2 = []; + var SUB_MIX_3 = []; + var INV_SUB_MIX_0 = []; + var INV_SUB_MIX_1 = []; + var INV_SUB_MIX_2 = []; + var INV_SUB_MIX_3 = []; + + // Compute lookup tables + (function () { + // Compute double table + var d = []; + for (var i = 0; i < 256; i++) { + if (i < 128) { + d[i] = i << 1; + } else { + d[i] = (i << 1) ^ 0x11b; + } + } + + // Walk GF(2^8) + var x = 0; + var xi = 0; + for (var i = 0; i < 256; i++) { + // Compute sbox + var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4); + sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63; + SBOX[x] = sx; + INV_SBOX[sx] = x; + + // Compute multiplication + var x2 = d[x]; + var x4 = d[x2]; + var x8 = d[x4]; + + // Compute sub bytes, mix columns tables + var t = (d[sx] * 0x101) ^ (sx * 0x1010100); + SUB_MIX_0[x] = (t << 24) | (t >>> 8); + SUB_MIX_1[x] = (t << 16) | (t >>> 16); + SUB_MIX_2[x] = (t << 8) | (t >>> 24); + SUB_MIX_3[x] = t; + + // Compute inv sub bytes, inv mix columns tables + var t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100); + INV_SUB_MIX_0[sx] = (t << 24) | (t >>> 8); + INV_SUB_MIX_1[sx] = (t << 16) | (t >>> 16); + INV_SUB_MIX_2[sx] = (t << 8) | (t >>> 24); + INV_SUB_MIX_3[sx] = t; + + // Compute next counter + if (!x) { + x = xi = 1; + } else { + x = x2 ^ d[d[d[x8 ^ x2]]]; + xi ^= d[d[xi]]; + } + } + }()); + + // Precomputed Rcon lookup + var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]; + + /** + * AES block cipher algorithm. + */ + var AES = C_algo.AES = BlockCipher.extend({ + _doReset: function () { + var t; + + // Skip reset of nRounds has been set before and key did not change + if (this._nRounds && this._keyPriorReset === this._key) { + return; + } + + // Shortcuts + var key = this._keyPriorReset = this._key; + var keyWords = key.words; + var keySize = key.sigBytes / 4; + + // Compute number of rounds + var nRounds = this._nRounds = keySize + 6; + + // Compute number of key schedule rows + var ksRows = (nRounds + 1) * 4; + + // Compute key schedule + var keySchedule = this._keySchedule = []; + for (var ksRow = 0; ksRow < ksRows; ksRow++) { + if (ksRow < keySize) { + keySchedule[ksRow] = keyWords[ksRow]; + } else { + t = keySchedule[ksRow - 1]; + + if (!(ksRow % keySize)) { + // Rot word + t = (t << 8) | (t >>> 24); + + // Sub word + t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff]; + + // Mix Rcon + t ^= RCON[(ksRow / keySize) | 0] << 24; + } else if (keySize > 6 && ksRow % keySize == 4) { + // Sub word + t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff]; + } + + keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t; + } + } + + // Compute inv key schedule + var invKeySchedule = this._invKeySchedule = []; + for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) { + var ksRow = ksRows - invKsRow; + + if (invKsRow % 4) { + var t = keySchedule[ksRow]; + } else { + var t = keySchedule[ksRow - 4]; + } + + if (invKsRow < 4 || ksRow <= 4) { + invKeySchedule[invKsRow] = t; + } else { + invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[(t >>> 16) & 0xff]] ^ + INV_SUB_MIX_2[SBOX[(t >>> 8) & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]]; + } + } + }, + + encryptBlock: function (M, offset) { + this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX); + }, + + decryptBlock: function (M, offset) { + // Swap 2nd and 4th rows + var t = M[offset + 1]; + M[offset + 1] = M[offset + 3]; + M[offset + 3] = t; + + this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX); + + // Inv swap 2nd and 4th rows + var t = M[offset + 1]; + M[offset + 1] = M[offset + 3]; + M[offset + 3] = t; + }, + + _doCryptBlock: function (M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) { + // Shortcut + var nRounds = this._nRounds; + + // Get input, add round key + var s0 = M[offset] ^ keySchedule[0]; + var s1 = M[offset + 1] ^ keySchedule[1]; + var s2 = M[offset + 2] ^ keySchedule[2]; + var s3 = M[offset + 3] ^ keySchedule[3]; + + // Key schedule row counter + var ksRow = 4; + + // Rounds + for (var round = 1; round < nRounds; round++) { + // Shift rows, sub bytes, mix columns, add round key + var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[(s1 >>> 16) & 0xff] ^ SUB_MIX_2[(s2 >>> 8) & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++]; + var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[(s2 >>> 16) & 0xff] ^ SUB_MIX_2[(s3 >>> 8) & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++]; + var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[(s3 >>> 16) & 0xff] ^ SUB_MIX_2[(s0 >>> 8) & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++]; + var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[(s0 >>> 16) & 0xff] ^ SUB_MIX_2[(s1 >>> 8) & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++]; + + // Update state + s0 = t0; + s1 = t1; + s2 = t2; + s3 = t3; + } + + // Shift rows, sub bytes, add round key + var t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]; + var t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]; + var t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]; + var t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]; + + // Set output + M[offset] = t0; + M[offset + 1] = t1; + M[offset + 2] = t2; + M[offset + 3] = t3; + }, + + keySize: 256/32 + }); + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.AES.encrypt(message, key, cfg); + * var plaintext = CryptoJS.AES.decrypt(ciphertext, key, cfg); + */ + C.AES = BlockCipher._createHelper(AES); + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var BlockCipher = C_lib.BlockCipher; + var C_algo = C.algo; + + // Permuted Choice 1 constants + var PC1 = [ + 57, 49, 41, 33, 25, 17, 9, 1, + 58, 50, 42, 34, 26, 18, 10, 2, + 59, 51, 43, 35, 27, 19, 11, 3, + 60, 52, 44, 36, 63, 55, 47, 39, + 31, 23, 15, 7, 62, 54, 46, 38, + 30, 22, 14, 6, 61, 53, 45, 37, + 29, 21, 13, 5, 28, 20, 12, 4 + ]; + + // Permuted Choice 2 constants + var PC2 = [ + 14, 17, 11, 24, 1, 5, + 3, 28, 15, 6, 21, 10, + 23, 19, 12, 4, 26, 8, + 16, 7, 27, 20, 13, 2, + 41, 52, 31, 37, 47, 55, + 30, 40, 51, 45, 33, 48, + 44, 49, 39, 56, 34, 53, + 46, 42, 50, 36, 29, 32 + ]; + + // Cumulative bit shift constants + var BIT_SHIFTS = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28]; + + // SBOXes and round permutation constants + var SBOX_P = [ + { + 0x0: 0x808200, + 0x10000000: 0x8000, + 0x20000000: 0x808002, + 0x30000000: 0x2, + 0x40000000: 0x200, + 0x50000000: 0x808202, + 0x60000000: 0x800202, + 0x70000000: 0x800000, + 0x80000000: 0x202, + 0x90000000: 0x800200, + 0xa0000000: 0x8200, + 0xb0000000: 0x808000, + 0xc0000000: 0x8002, + 0xd0000000: 0x800002, + 0xe0000000: 0x0, + 0xf0000000: 0x8202, + 0x8000000: 0x0, + 0x18000000: 0x808202, + 0x28000000: 0x8202, + 0x38000000: 0x8000, + 0x48000000: 0x808200, + 0x58000000: 0x200, + 0x68000000: 0x808002, + 0x78000000: 0x2, + 0x88000000: 0x800200, + 0x98000000: 0x8200, + 0xa8000000: 0x808000, + 0xb8000000: 0x800202, + 0xc8000000: 0x800002, + 0xd8000000: 0x8002, + 0xe8000000: 0x202, + 0xf8000000: 0x800000, + 0x1: 0x8000, + 0x10000001: 0x2, + 0x20000001: 0x808200, + 0x30000001: 0x800000, + 0x40000001: 0x808002, + 0x50000001: 0x8200, + 0x60000001: 0x200, + 0x70000001: 0x800202, + 0x80000001: 0x808202, + 0x90000001: 0x808000, + 0xa0000001: 0x800002, + 0xb0000001: 0x8202, + 0xc0000001: 0x202, + 0xd0000001: 0x800200, + 0xe0000001: 0x8002, + 0xf0000001: 0x0, + 0x8000001: 0x808202, + 0x18000001: 0x808000, + 0x28000001: 0x800000, + 0x38000001: 0x200, + 0x48000001: 0x8000, + 0x58000001: 0x800002, + 0x68000001: 0x2, + 0x78000001: 0x8202, + 0x88000001: 0x8002, + 0x98000001: 0x800202, + 0xa8000001: 0x202, + 0xb8000001: 0x808200, + 0xc8000001: 0x800200, + 0xd8000001: 0x0, + 0xe8000001: 0x8200, + 0xf8000001: 0x808002 + }, + { + 0x0: 0x40084010, + 0x1000000: 0x4000, + 0x2000000: 0x80000, + 0x3000000: 0x40080010, + 0x4000000: 0x40000010, + 0x5000000: 0x40084000, + 0x6000000: 0x40004000, + 0x7000000: 0x10, + 0x8000000: 0x84000, + 0x9000000: 0x40004010, + 0xa000000: 0x40000000, + 0xb000000: 0x84010, + 0xc000000: 0x80010, + 0xd000000: 0x0, + 0xe000000: 0x4010, + 0xf000000: 0x40080000, + 0x800000: 0x40004000, + 0x1800000: 0x84010, + 0x2800000: 0x10, + 0x3800000: 0x40004010, + 0x4800000: 0x40084010, + 0x5800000: 0x40000000, + 0x6800000: 0x80000, + 0x7800000: 0x40080010, + 0x8800000: 0x80010, + 0x9800000: 0x0, + 0xa800000: 0x4000, + 0xb800000: 0x40080000, + 0xc800000: 0x40000010, + 0xd800000: 0x84000, + 0xe800000: 0x40084000, + 0xf800000: 0x4010, + 0x10000000: 0x0, + 0x11000000: 0x40080010, + 0x12000000: 0x40004010, + 0x13000000: 0x40084000, + 0x14000000: 0x40080000, + 0x15000000: 0x10, + 0x16000000: 0x84010, + 0x17000000: 0x4000, + 0x18000000: 0x4010, + 0x19000000: 0x80000, + 0x1a000000: 0x80010, + 0x1b000000: 0x40000010, + 0x1c000000: 0x84000, + 0x1d000000: 0x40004000, + 0x1e000000: 0x40000000, + 0x1f000000: 0x40084010, + 0x10800000: 0x84010, + 0x11800000: 0x80000, + 0x12800000: 0x40080000, + 0x13800000: 0x4000, + 0x14800000: 0x40004000, + 0x15800000: 0x40084010, + 0x16800000: 0x10, + 0x17800000: 0x40000000, + 0x18800000: 0x40084000, + 0x19800000: 0x40000010, + 0x1a800000: 0x40004010, + 0x1b800000: 0x80010, + 0x1c800000: 0x0, + 0x1d800000: 0x4010, + 0x1e800000: 0x40080010, + 0x1f800000: 0x84000 + }, + { + 0x0: 0x104, + 0x100000: 0x0, + 0x200000: 0x4000100, + 0x300000: 0x10104, + 0x400000: 0x10004, + 0x500000: 0x4000004, + 0x600000: 0x4010104, + 0x700000: 0x4010000, + 0x800000: 0x4000000, + 0x900000: 0x4010100, + 0xa00000: 0x10100, + 0xb00000: 0x4010004, + 0xc00000: 0x4000104, + 0xd00000: 0x10000, + 0xe00000: 0x4, + 0xf00000: 0x100, + 0x80000: 0x4010100, + 0x180000: 0x4010004, + 0x280000: 0x0, + 0x380000: 0x4000100, + 0x480000: 0x4000004, + 0x580000: 0x10000, + 0x680000: 0x10004, + 0x780000: 0x104, + 0x880000: 0x4, + 0x980000: 0x100, + 0xa80000: 0x4010000, + 0xb80000: 0x10104, + 0xc80000: 0x10100, + 0xd80000: 0x4000104, + 0xe80000: 0x4010104, + 0xf80000: 0x4000000, + 0x1000000: 0x4010100, + 0x1100000: 0x10004, + 0x1200000: 0x10000, + 0x1300000: 0x4000100, + 0x1400000: 0x100, + 0x1500000: 0x4010104, + 0x1600000: 0x4000004, + 0x1700000: 0x0, + 0x1800000: 0x4000104, + 0x1900000: 0x4000000, + 0x1a00000: 0x4, + 0x1b00000: 0x10100, + 0x1c00000: 0x4010000, + 0x1d00000: 0x104, + 0x1e00000: 0x10104, + 0x1f00000: 0x4010004, + 0x1080000: 0x4000000, + 0x1180000: 0x104, + 0x1280000: 0x4010100, + 0x1380000: 0x0, + 0x1480000: 0x10004, + 0x1580000: 0x4000100, + 0x1680000: 0x100, + 0x1780000: 0x4010004, + 0x1880000: 0x10000, + 0x1980000: 0x4010104, + 0x1a80000: 0x10104, + 0x1b80000: 0x4000004, + 0x1c80000: 0x4000104, + 0x1d80000: 0x4010000, + 0x1e80000: 0x4, + 0x1f80000: 0x10100 + }, + { + 0x0: 0x80401000, + 0x10000: 0x80001040, + 0x20000: 0x401040, + 0x30000: 0x80400000, + 0x40000: 0x0, + 0x50000: 0x401000, + 0x60000: 0x80000040, + 0x70000: 0x400040, + 0x80000: 0x80000000, + 0x90000: 0x400000, + 0xa0000: 0x40, + 0xb0000: 0x80001000, + 0xc0000: 0x80400040, + 0xd0000: 0x1040, + 0xe0000: 0x1000, + 0xf0000: 0x80401040, + 0x8000: 0x80001040, + 0x18000: 0x40, + 0x28000: 0x80400040, + 0x38000: 0x80001000, + 0x48000: 0x401000, + 0x58000: 0x80401040, + 0x68000: 0x0, + 0x78000: 0x80400000, + 0x88000: 0x1000, + 0x98000: 0x80401000, + 0xa8000: 0x400000, + 0xb8000: 0x1040, + 0xc8000: 0x80000000, + 0xd8000: 0x400040, + 0xe8000: 0x401040, + 0xf8000: 0x80000040, + 0x100000: 0x400040, + 0x110000: 0x401000, + 0x120000: 0x80000040, + 0x130000: 0x0, + 0x140000: 0x1040, + 0x150000: 0x80400040, + 0x160000: 0x80401000, + 0x170000: 0x80001040, + 0x180000: 0x80401040, + 0x190000: 0x80000000, + 0x1a0000: 0x80400000, + 0x1b0000: 0x401040, + 0x1c0000: 0x80001000, + 0x1d0000: 0x400000, + 0x1e0000: 0x40, + 0x1f0000: 0x1000, + 0x108000: 0x80400000, + 0x118000: 0x80401040, + 0x128000: 0x0, + 0x138000: 0x401000, + 0x148000: 0x400040, + 0x158000: 0x80000000, + 0x168000: 0x80001040, + 0x178000: 0x40, + 0x188000: 0x80000040, + 0x198000: 0x1000, + 0x1a8000: 0x80001000, + 0x1b8000: 0x80400040, + 0x1c8000: 0x1040, + 0x1d8000: 0x80401000, + 0x1e8000: 0x400000, + 0x1f8000: 0x401040 + }, + { + 0x0: 0x80, + 0x1000: 0x1040000, + 0x2000: 0x40000, + 0x3000: 0x20000000, + 0x4000: 0x20040080, + 0x5000: 0x1000080, + 0x6000: 0x21000080, + 0x7000: 0x40080, + 0x8000: 0x1000000, + 0x9000: 0x20040000, + 0xa000: 0x20000080, + 0xb000: 0x21040080, + 0xc000: 0x21040000, + 0xd000: 0x0, + 0xe000: 0x1040080, + 0xf000: 0x21000000, + 0x800: 0x1040080, + 0x1800: 0x21000080, + 0x2800: 0x80, + 0x3800: 0x1040000, + 0x4800: 0x40000, + 0x5800: 0x20040080, + 0x6800: 0x21040000, + 0x7800: 0x20000000, + 0x8800: 0x20040000, + 0x9800: 0x0, + 0xa800: 0x21040080, + 0xb800: 0x1000080, + 0xc800: 0x20000080, + 0xd800: 0x21000000, + 0xe800: 0x1000000, + 0xf800: 0x40080, + 0x10000: 0x40000, + 0x11000: 0x80, + 0x12000: 0x20000000, + 0x13000: 0x21000080, + 0x14000: 0x1000080, + 0x15000: 0x21040000, + 0x16000: 0x20040080, + 0x17000: 0x1000000, + 0x18000: 0x21040080, + 0x19000: 0x21000000, + 0x1a000: 0x1040000, + 0x1b000: 0x20040000, + 0x1c000: 0x40080, + 0x1d000: 0x20000080, + 0x1e000: 0x0, + 0x1f000: 0x1040080, + 0x10800: 0x21000080, + 0x11800: 0x1000000, + 0x12800: 0x1040000, + 0x13800: 0x20040080, + 0x14800: 0x20000000, + 0x15800: 0x1040080, + 0x16800: 0x80, + 0x17800: 0x21040000, + 0x18800: 0x40080, + 0x19800: 0x21040080, + 0x1a800: 0x0, + 0x1b800: 0x21000000, + 0x1c800: 0x1000080, + 0x1d800: 0x40000, + 0x1e800: 0x20040000, + 0x1f800: 0x20000080 + }, + { + 0x0: 0x10000008, + 0x100: 0x2000, + 0x200: 0x10200000, + 0x300: 0x10202008, + 0x400: 0x10002000, + 0x500: 0x200000, + 0x600: 0x200008, + 0x700: 0x10000000, + 0x800: 0x0, + 0x900: 0x10002008, + 0xa00: 0x202000, + 0xb00: 0x8, + 0xc00: 0x10200008, + 0xd00: 0x202008, + 0xe00: 0x2008, + 0xf00: 0x10202000, + 0x80: 0x10200000, + 0x180: 0x10202008, + 0x280: 0x8, + 0x380: 0x200000, + 0x480: 0x202008, + 0x580: 0x10000008, + 0x680: 0x10002000, + 0x780: 0x2008, + 0x880: 0x200008, + 0x980: 0x2000, + 0xa80: 0x10002008, + 0xb80: 0x10200008, + 0xc80: 0x0, + 0xd80: 0x10202000, + 0xe80: 0x202000, + 0xf80: 0x10000000, + 0x1000: 0x10002000, + 0x1100: 0x10200008, + 0x1200: 0x10202008, + 0x1300: 0x2008, + 0x1400: 0x200000, + 0x1500: 0x10000000, + 0x1600: 0x10000008, + 0x1700: 0x202000, + 0x1800: 0x202008, + 0x1900: 0x0, + 0x1a00: 0x8, + 0x1b00: 0x10200000, + 0x1c00: 0x2000, + 0x1d00: 0x10002008, + 0x1e00: 0x10202000, + 0x1f00: 0x200008, + 0x1080: 0x8, + 0x1180: 0x202000, + 0x1280: 0x200000, + 0x1380: 0x10000008, + 0x1480: 0x10002000, + 0x1580: 0x2008, + 0x1680: 0x10202008, + 0x1780: 0x10200000, + 0x1880: 0x10202000, + 0x1980: 0x10200008, + 0x1a80: 0x2000, + 0x1b80: 0x202008, + 0x1c80: 0x200008, + 0x1d80: 0x0, + 0x1e80: 0x10000000, + 0x1f80: 0x10002008 + }, + { + 0x0: 0x100000, + 0x10: 0x2000401, + 0x20: 0x400, + 0x30: 0x100401, + 0x40: 0x2100401, + 0x50: 0x0, + 0x60: 0x1, + 0x70: 0x2100001, + 0x80: 0x2000400, + 0x90: 0x100001, + 0xa0: 0x2000001, + 0xb0: 0x2100400, + 0xc0: 0x2100000, + 0xd0: 0x401, + 0xe0: 0x100400, + 0xf0: 0x2000000, + 0x8: 0x2100001, + 0x18: 0x0, + 0x28: 0x2000401, + 0x38: 0x2100400, + 0x48: 0x100000, + 0x58: 0x2000001, + 0x68: 0x2000000, + 0x78: 0x401, + 0x88: 0x100401, + 0x98: 0x2000400, + 0xa8: 0x2100000, + 0xb8: 0x100001, + 0xc8: 0x400, + 0xd8: 0x2100401, + 0xe8: 0x1, + 0xf8: 0x100400, + 0x100: 0x2000000, + 0x110: 0x100000, + 0x120: 0x2000401, + 0x130: 0x2100001, + 0x140: 0x100001, + 0x150: 0x2000400, + 0x160: 0x2100400, + 0x170: 0x100401, + 0x180: 0x401, + 0x190: 0x2100401, + 0x1a0: 0x100400, + 0x1b0: 0x1, + 0x1c0: 0x0, + 0x1d0: 0x2100000, + 0x1e0: 0x2000001, + 0x1f0: 0x400, + 0x108: 0x100400, + 0x118: 0x2000401, + 0x128: 0x2100001, + 0x138: 0x1, + 0x148: 0x2000000, + 0x158: 0x100000, + 0x168: 0x401, + 0x178: 0x2100400, + 0x188: 0x2000001, + 0x198: 0x2100000, + 0x1a8: 0x0, + 0x1b8: 0x2100401, + 0x1c8: 0x100401, + 0x1d8: 0x400, + 0x1e8: 0x2000400, + 0x1f8: 0x100001 + }, + { + 0x0: 0x8000820, + 0x1: 0x20000, + 0x2: 0x8000000, + 0x3: 0x20, + 0x4: 0x20020, + 0x5: 0x8020820, + 0x6: 0x8020800, + 0x7: 0x800, + 0x8: 0x8020000, + 0x9: 0x8000800, + 0xa: 0x20800, + 0xb: 0x8020020, + 0xc: 0x820, + 0xd: 0x0, + 0xe: 0x8000020, + 0xf: 0x20820, + 0x80000000: 0x800, + 0x80000001: 0x8020820, + 0x80000002: 0x8000820, + 0x80000003: 0x8000000, + 0x80000004: 0x8020000, + 0x80000005: 0x20800, + 0x80000006: 0x20820, + 0x80000007: 0x20, + 0x80000008: 0x8000020, + 0x80000009: 0x820, + 0x8000000a: 0x20020, + 0x8000000b: 0x8020800, + 0x8000000c: 0x0, + 0x8000000d: 0x8020020, + 0x8000000e: 0x8000800, + 0x8000000f: 0x20000, + 0x10: 0x20820, + 0x11: 0x8020800, + 0x12: 0x20, + 0x13: 0x800, + 0x14: 0x8000800, + 0x15: 0x8000020, + 0x16: 0x8020020, + 0x17: 0x20000, + 0x18: 0x0, + 0x19: 0x20020, + 0x1a: 0x8020000, + 0x1b: 0x8000820, + 0x1c: 0x8020820, + 0x1d: 0x20800, + 0x1e: 0x820, + 0x1f: 0x8000000, + 0x80000010: 0x20000, + 0x80000011: 0x800, + 0x80000012: 0x8020020, + 0x80000013: 0x20820, + 0x80000014: 0x20, + 0x80000015: 0x8020000, + 0x80000016: 0x8000000, + 0x80000017: 0x8000820, + 0x80000018: 0x8020820, + 0x80000019: 0x8000020, + 0x8000001a: 0x8000800, + 0x8000001b: 0x0, + 0x8000001c: 0x20800, + 0x8000001d: 0x820, + 0x8000001e: 0x20020, + 0x8000001f: 0x8020800 + } + ]; + + // Masks that select the SBOX input + var SBOX_MASK = [ + 0xf8000001, 0x1f800000, 0x01f80000, 0x001f8000, + 0x0001f800, 0x00001f80, 0x000001f8, 0x8000001f + ]; + + /** + * DES block cipher algorithm. + */ + var DES = C_algo.DES = BlockCipher.extend({ + _doReset: function () { + // Shortcuts + var key = this._key; + var keyWords = key.words; + + // Select 56 bits according to PC1 + var keyBits = []; + for (var i = 0; i < 56; i++) { + var keyBitPos = PC1[i] - 1; + keyBits[i] = (keyWords[keyBitPos >>> 5] >>> (31 - keyBitPos % 32)) & 1; + } + + // Assemble 16 subkeys + var subKeys = this._subKeys = []; + for (var nSubKey = 0; nSubKey < 16; nSubKey++) { + // Create subkey + var subKey = subKeys[nSubKey] = []; + + // Shortcut + var bitShift = BIT_SHIFTS[nSubKey]; + + // Select 48 bits according to PC2 + for (var i = 0; i < 24; i++) { + // Select from the left 28 key bits + subKey[(i / 6) | 0] |= keyBits[((PC2[i] - 1) + bitShift) % 28] << (31 - i % 6); + + // Select from the right 28 key bits + subKey[4 + ((i / 6) | 0)] |= keyBits[28 + (((PC2[i + 24] - 1) + bitShift) % 28)] << (31 - i % 6); + } + + // Since each subkey is applied to an expanded 32-bit input, + // the subkey can be broken into 8 values scaled to 32-bits, + // which allows the key to be used without expansion + subKey[0] = (subKey[0] << 1) | (subKey[0] >>> 31); + for (var i = 1; i < 7; i++) { + subKey[i] = subKey[i] >>> ((i - 1) * 4 + 3); + } + subKey[7] = (subKey[7] << 5) | (subKey[7] >>> 27); + } + + // Compute inverse subkeys + var invSubKeys = this._invSubKeys = []; + for (var i = 0; i < 16; i++) { + invSubKeys[i] = subKeys[15 - i]; + } + }, + + encryptBlock: function (M, offset) { + this._doCryptBlock(M, offset, this._subKeys); + }, + + decryptBlock: function (M, offset) { + this._doCryptBlock(M, offset, this._invSubKeys); + }, + + _doCryptBlock: function (M, offset, subKeys) { + // Get input + this._lBlock = M[offset]; + this._rBlock = M[offset + 1]; + + // Initial permutation + exchangeLR.call(this, 4, 0x0f0f0f0f); + exchangeLR.call(this, 16, 0x0000ffff); + exchangeRL.call(this, 2, 0x33333333); + exchangeRL.call(this, 8, 0x00ff00ff); + exchangeLR.call(this, 1, 0x55555555); + + // Rounds + for (var round = 0; round < 16; round++) { + // Shortcuts + var subKey = subKeys[round]; + var lBlock = this._lBlock; + var rBlock = this._rBlock; + + // Feistel function + var f = 0; + for (var i = 0; i < 8; i++) { + f |= SBOX_P[i][((rBlock ^ subKey[i]) & SBOX_MASK[i]) >>> 0]; + } + this._lBlock = rBlock; + this._rBlock = lBlock ^ f; + } + + // Undo swap from last round + var t = this._lBlock; + this._lBlock = this._rBlock; + this._rBlock = t; + + // Final permutation + exchangeLR.call(this, 1, 0x55555555); + exchangeRL.call(this, 8, 0x00ff00ff); + exchangeRL.call(this, 2, 0x33333333); + exchangeLR.call(this, 16, 0x0000ffff); + exchangeLR.call(this, 4, 0x0f0f0f0f); + + // Set output + M[offset] = this._lBlock; + M[offset + 1] = this._rBlock; + }, + + keySize: 64/32, + + ivSize: 64/32, + + blockSize: 64/32 + }); + + // Swap bits across the left and right words + function exchangeLR(offset, mask) { + var t = ((this._lBlock >>> offset) ^ this._rBlock) & mask; + this._rBlock ^= t; + this._lBlock ^= t << offset; + } + + function exchangeRL(offset, mask) { + var t = ((this._rBlock >>> offset) ^ this._lBlock) & mask; + this._lBlock ^= t; + this._rBlock ^= t << offset; + } + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.DES.encrypt(message, key, cfg); + * var plaintext = CryptoJS.DES.decrypt(ciphertext, key, cfg); + */ + C.DES = BlockCipher._createHelper(DES); + + /** + * Triple-DES block cipher algorithm. + */ + var TripleDES = C_algo.TripleDES = BlockCipher.extend({ + _doReset: function () { + // Shortcuts + var key = this._key; + var keyWords = key.words; + // Make sure the key length is valid (64, 128 or >= 192 bit) + if (keyWords.length !== 2 && keyWords.length !== 4 && keyWords.length < 6) { + throw new Error('Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.'); + } + + // Extend the key according to the keying options defined in 3DES standard + var key1 = keyWords.slice(0, 2); + var key2 = keyWords.length < 4 ? keyWords.slice(0, 2) : keyWords.slice(2, 4); + var key3 = keyWords.length < 6 ? keyWords.slice(0, 2) : keyWords.slice(4, 6); + + // Create DES instances + this._des1 = DES.createEncryptor(WordArray.create(key1)); + this._des2 = DES.createEncryptor(WordArray.create(key2)); + this._des3 = DES.createEncryptor(WordArray.create(key3)); + }, + + encryptBlock: function (M, offset) { + this._des1.encryptBlock(M, offset); + this._des2.decryptBlock(M, offset); + this._des3.encryptBlock(M, offset); + }, + + decryptBlock: function (M, offset) { + this._des3.decryptBlock(M, offset); + this._des2.encryptBlock(M, offset); + this._des1.decryptBlock(M, offset); + }, + + keySize: 192/32, + + ivSize: 64/32, + + blockSize: 64/32 + }); + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.TripleDES.encrypt(message, key, cfg); + * var plaintext = CryptoJS.TripleDES.decrypt(ciphertext, key, cfg); + */ + C.TripleDES = BlockCipher._createHelper(TripleDES); + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var StreamCipher = C_lib.StreamCipher; + var C_algo = C.algo; + + /** + * RC4 stream cipher algorithm. + */ + var RC4 = C_algo.RC4 = StreamCipher.extend({ + _doReset: function () { + // Shortcuts + var key = this._key; + var keyWords = key.words; + var keySigBytes = key.sigBytes; + + // Init sbox + var S = this._S = []; + for (var i = 0; i < 256; i++) { + S[i] = i; + } + + // Key setup + for (var i = 0, j = 0; i < 256; i++) { + var keyByteIndex = i % keySigBytes; + var keyByte = (keyWords[keyByteIndex >>> 2] >>> (24 - (keyByteIndex % 4) * 8)) & 0xff; + + j = (j + S[i] + keyByte) % 256; + + // Swap + var t = S[i]; + S[i] = S[j]; + S[j] = t; + } + + // Counters + this._i = this._j = 0; + }, + + _doProcessBlock: function (M, offset) { + M[offset] ^= generateKeystreamWord.call(this); + }, + + keySize: 256/32, + + ivSize: 0 + }); + + function generateKeystreamWord() { + // Shortcuts + var S = this._S; + var i = this._i; + var j = this._j; + + // Generate keystream word + var keystreamWord = 0; + for (var n = 0; n < 4; n++) { + i = (i + 1) % 256; + j = (j + S[i]) % 256; + + // Swap + var t = S[i]; + S[i] = S[j]; + S[j] = t; + + keystreamWord |= S[(S[i] + S[j]) % 256] << (24 - n * 8); + } + + // Update counters + this._i = i; + this._j = j; + + return keystreamWord; + } + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.RC4.encrypt(message, key, cfg); + * var plaintext = CryptoJS.RC4.decrypt(ciphertext, key, cfg); + */ + C.RC4 = StreamCipher._createHelper(RC4); + + /** + * Modified RC4 stream cipher algorithm. + */ + var RC4Drop = C_algo.RC4Drop = RC4.extend({ + /** + * Configuration options. + * + * @property {number} drop The number of keystream words to drop. Default 192 + */ + cfg: RC4.cfg.extend({ + drop: 192 + }), + + _doReset: function () { + RC4._doReset.call(this); + + // Drop + for (var i = this.cfg.drop; i > 0; i--) { + generateKeystreamWord.call(this); + } + } + }); + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.RC4Drop.encrypt(message, key, cfg); + * var plaintext = CryptoJS.RC4Drop.decrypt(ciphertext, key, cfg); + */ + C.RC4Drop = StreamCipher._createHelper(RC4Drop); + }()); + + + /** @preserve + * Counter block mode compatible with Dr Brian Gladman fileenc.c + * derived from CryptoJS.mode.CTR + * Jan Hruby jhruby.web@gmail.com + */ + CryptoJS.mode.CTRGladman = (function () { + var CTRGladman = CryptoJS.lib.BlockCipherMode.extend(); + + function incWord(word) + { + if (((word >> 24) & 0xff) === 0xff) { //overflow + var b1 = (word >> 16)&0xff; + var b2 = (word >> 8)&0xff; + var b3 = word & 0xff; + + if (b1 === 0xff) // overflow b1 + { + b1 = 0; + if (b2 === 0xff) + { + b2 = 0; + if (b3 === 0xff) + { + b3 = 0; + } + else + { + ++b3; + } + } + else + { + ++b2; + } + } + else + { + ++b1; + } + + word = 0; + word += (b1 << 16); + word += (b2 << 8); + word += b3; + } + else + { + word += (0x01 << 24); + } + return word; + } + + function incCounter(counter) + { + if ((counter[0] = incWord(counter[0])) === 0) + { + // encr_data in fileenc.c from Dr Brian Gladman's counts only with DWORD j < 8 + counter[1] = incWord(counter[1]); + } + return counter; + } + + var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher + var blockSize = cipher.blockSize; + var iv = this._iv; + var counter = this._counter; + + // Generate keystream + if (iv) { + counter = this._counter = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } + + incCounter(counter); + + var keystream = counter.slice(0); + cipher.encryptBlock(keystream, 0); + + // Encrypt + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= keystream[i]; + } + } + }); + + CTRGladman.Decryptor = Encryptor; + + return CTRGladman; + }()); + + + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var StreamCipher = C_lib.StreamCipher; + var C_algo = C.algo; + + // Reusable objects + var S = []; + var C_ = []; + var G = []; + + /** + * Rabbit stream cipher algorithm + */ + var Rabbit = C_algo.Rabbit = StreamCipher.extend({ + _doReset: function () { + // Shortcuts + var K = this._key.words; + var iv = this.cfg.iv; + + // Swap endian + for (var i = 0; i < 4; i++) { + K[i] = (((K[i] << 8) | (K[i] >>> 24)) & 0x00ff00ff) | + (((K[i] << 24) | (K[i] >>> 8)) & 0xff00ff00); + } + + // Generate initial state values + var X = this._X = [ + K[0], (K[3] << 16) | (K[2] >>> 16), + K[1], (K[0] << 16) | (K[3] >>> 16), + K[2], (K[1] << 16) | (K[0] >>> 16), + K[3], (K[2] << 16) | (K[1] >>> 16) + ]; + + // Generate initial counter values + var C = this._C = [ + (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff), + (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff), + (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff), + (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff) + ]; + + // Carry bit + this._b = 0; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + + // Modify the counters + for (var i = 0; i < 8; i++) { + C[i] ^= X[(i + 4) & 7]; + } + + // IV setup + if (iv) { + // Shortcuts + var IV = iv.words; + var IV_0 = IV[0]; + var IV_1 = IV[1]; + + // Generate four subvectors + var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00); + var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00); + var i1 = (i0 >>> 16) | (i2 & 0xffff0000); + var i3 = (i2 << 16) | (i0 & 0x0000ffff); + + // Modify counter values + C[0] ^= i0; + C[1] ^= i1; + C[2] ^= i2; + C[3] ^= i3; + C[4] ^= i0; + C[5] ^= i1; + C[6] ^= i2; + C[7] ^= i3; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + } + }, + + _doProcessBlock: function (M, offset) { + // Shortcut + var X = this._X; + + // Iterate the system + nextState.call(this); + + // Generate four keystream words + S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16); + S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16); + S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16); + S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16); + + for (var i = 0; i < 4; i++) { + // Swap endian + S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) | + (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00); + + // Encrypt + M[offset + i] ^= S[i]; + } + }, + + blockSize: 128/32, + + ivSize: 64/32 + }); + + function nextState() { + // Shortcuts + var X = this._X; + var C = this._C; + + // Save old counter values + for (var i = 0; i < 8; i++) { + C_[i] = C[i]; + } + + // Calculate new counter values + C[0] = (C[0] + 0x4d34d34d + this._b) | 0; + C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0; + C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0; + C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0; + C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0; + C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0; + C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0; + C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0; + this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0; + + // Calculate the g-values + for (var i = 0; i < 8; i++) { + var gx = X[i] + C[i]; + + // Construct high and low argument for squaring + var ga = gx & 0xffff; + var gb = gx >>> 16; + + // Calculate high and low result of squaring + var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb; + var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0); + + // High XOR low + G[i] = gh ^ gl; + } + + // Calculate new state values + X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0; + X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0; + X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0; + X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0; + X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0; + X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0; + X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0; + X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0; + } + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.Rabbit.encrypt(message, key, cfg); + * var plaintext = CryptoJS.Rabbit.decrypt(ciphertext, key, cfg); + */ + C.Rabbit = StreamCipher._createHelper(Rabbit); + }()); + + + /** + * Counter block mode. + */ + CryptoJS.mode.CTR = (function () { + var CTR = CryptoJS.lib.BlockCipherMode.extend(); + + var Encryptor = CTR.Encryptor = CTR.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher + var blockSize = cipher.blockSize; + var iv = this._iv; + var counter = this._counter; + + // Generate keystream + if (iv) { + counter = this._counter = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } + var keystream = counter.slice(0); + cipher.encryptBlock(keystream, 0); + + // Increment counter + counter[blockSize - 1] = (counter[blockSize - 1] + 1) | 0 + + // Encrypt + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= keystream[i]; + } + } + }); + + CTR.Decryptor = Encryptor; + + return CTR; + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var StreamCipher = C_lib.StreamCipher; + var C_algo = C.algo; + + // Reusable objects + var S = []; + var C_ = []; + var G = []; + + /** + * Rabbit stream cipher algorithm. + * + * This is a legacy version that neglected to convert the key to little-endian. + * This error doesn't affect the cipher's security, + * but it does affect its compatibility with other implementations. + */ + var RabbitLegacy = C_algo.RabbitLegacy = StreamCipher.extend({ + _doReset: function () { + // Shortcuts + var K = this._key.words; + var iv = this.cfg.iv; + + // Generate initial state values + var X = this._X = [ + K[0], (K[3] << 16) | (K[2] >>> 16), + K[1], (K[0] << 16) | (K[3] >>> 16), + K[2], (K[1] << 16) | (K[0] >>> 16), + K[3], (K[2] << 16) | (K[1] >>> 16) + ]; + + // Generate initial counter values + var C = this._C = [ + (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff), + (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff), + (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff), + (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff) + ]; + + // Carry bit + this._b = 0; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + + // Modify the counters + for (var i = 0; i < 8; i++) { + C[i] ^= X[(i + 4) & 7]; + } + + // IV setup + if (iv) { + // Shortcuts + var IV = iv.words; + var IV_0 = IV[0]; + var IV_1 = IV[1]; + + // Generate four subvectors + var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00); + var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00); + var i1 = (i0 >>> 16) | (i2 & 0xffff0000); + var i3 = (i2 << 16) | (i0 & 0x0000ffff); + + // Modify counter values + C[0] ^= i0; + C[1] ^= i1; + C[2] ^= i2; + C[3] ^= i3; + C[4] ^= i0; + C[5] ^= i1; + C[6] ^= i2; + C[7] ^= i3; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + } + }, + + _doProcessBlock: function (M, offset) { + // Shortcut + var X = this._X; + + // Iterate the system + nextState.call(this); + + // Generate four keystream words + S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16); + S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16); + S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16); + S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16); + + for (var i = 0; i < 4; i++) { + // Swap endian + S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) | + (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00); + + // Encrypt + M[offset + i] ^= S[i]; + } + }, + + blockSize: 128/32, + + ivSize: 64/32 + }); + + function nextState() { + // Shortcuts + var X = this._X; + var C = this._C; + + // Save old counter values + for (var i = 0; i < 8; i++) { + C_[i] = C[i]; + } + + // Calculate new counter values + C[0] = (C[0] + 0x4d34d34d + this._b) | 0; + C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0; + C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0; + C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0; + C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0; + C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0; + C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0; + C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0; + this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0; + + // Calculate the g-values + for (var i = 0; i < 8; i++) { + var gx = X[i] + C[i]; + + // Construct high and low argument for squaring + var ga = gx & 0xffff; + var gb = gx >>> 16; + + // Calculate high and low result of squaring + var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb; + var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0); + + // High XOR low + G[i] = gh ^ gl; + } + + // Calculate new state values + X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0; + X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0; + X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0; + X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0; + X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0; + X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0; + X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0; + X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0; + } + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.RabbitLegacy.encrypt(message, key, cfg); + * var plaintext = CryptoJS.RabbitLegacy.decrypt(ciphertext, key, cfg); + */ + C.RabbitLegacy = StreamCipher._createHelper(RabbitLegacy); + }()); + + + /** + * Zero padding strategy. + */ + CryptoJS.pad.ZeroPadding = { + pad: function (data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4; + + // Pad + data.clamp(); + data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes); + }, + + unpad: function (data) { + // Shortcut + var dataWords = data.words; + + // Unpad + var i = data.sigBytes - 1; + for (var i = data.sigBytes - 1; i >= 0; i--) { + if (((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) { + data.sigBytes = i + 1; + break; + } + } + } + }; + + + return CryptoJS; + +})); \ No newline at end of file diff --git a/src/lib/jquery-3.5.1.js b/src/lib/jquery-3.5.1.js new file mode 100644 index 0000000..5093733 --- /dev/null +++ b/src/lib/jquery-3.5.1.js @@ -0,0 +1,10872 @@ +/*! + * jQuery JavaScript Library v3.5.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2020-05-04T22:49Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var flat = arr.flat ? function( array ) { + return arr.flat.call( array ); +} : function( array ) { + return arr.concat.apply( [], array ); +}; + + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + +var document = window.document; + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.5.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + even: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return ( i + 1 ) % 2; + } ) ); + }, + + odd: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return i % 2; + } ) ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a provided context; falls back to the global one + // if not specified. + globalEval: function( code, options, doc ) { + DOMEval( code, { nonce: options && options.nonce }, doc ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return flat( ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( _i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.5 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2020-03-14 + */ +( function( window ) { +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ( {} ).hasOwnProperty, + arr = [], + pop = arr.pop, + pushNative = arr.push, + push = arr.push, + slice = arr.slice, + + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[ i ] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + + "ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram + identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + + // "Attribute values must be CSS identifiers [capture 5] + // or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + + whitespace + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), + funescape = function( escape, nonHex ) { + var high = "0x" + escape.slice( 1 ) - 0x10000; + + return nonHex ? + + // Strip the backslash prefix from a non-hex escape sequence + nonHex : + + // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + ( arr = slice.call( preferredDoc.childNodes ) ), + preferredDoc.childNodes + ); + + // Support: Android<4.0 + // Detect silently failing push.apply + // eslint-disable-next-line no-unused-expressions + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + pushNative.apply( target, slice.call( els ) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + + // Can't trust NodeList.length + while ( ( target[ j++ ] = els[ i++ ] ) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + setDocument( context ); + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { + + // ID selector + if ( ( m = match[ 1 ] ) ) { + + // Document context + if ( nodeType === 9 ) { + if ( ( elem = context.getElementById( m ) ) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && ( elem = newContext.getElementById( m ) ) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[ 2 ] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && + + // Support: IE 8 only + // Exclude object elements + ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // The technique has to be used as well when a leading combinator is used + // as such selectors are not recognized by querySelectorAll. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && + ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + + // We can use :scope instead of the ID hack if the browser + // supports it & if we're not changing the context. + if ( newContext !== context || !support.scope ) { + + // Capture the context ID, setting it first if necessary + if ( ( nid = context.getAttribute( "id" ) ) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", ( nid = expando ) ); + } + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + + toSelector( groups[ i ] ); + } + newSelector = groups.join( "," ); + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return ( cache[ key + " " ] = value ); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement( "fieldset" ); + + try { + return !!fn( el ); + } catch ( e ) { + return false; + } finally { + + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split( "|" ), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[ i ] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( ( cur = cur.nextSibling ) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return ( name === "input" || name === "button" ) && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction( function( argument ) { + argument = +argument; + return markFunction( function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ ( j = matchIndexes[ i ] ) ] ) { + seed[ j ] = !( matches[ j ] = seed[ j ] ); + } + } + } ); + } ); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem.namespaceURI, + docElem = ( elem.ownerDocument || elem ).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9 - 11+, Edge 12 - 18+ + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( preferredDoc != document && + ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, + // Safari 4 - 5 only, Opera <=11.6 - 12.x only + // IE/Edge & older browsers don't support the :scope pseudo-class. + // Support: Safari 6.0 only + // Safari 6.0 supports :scope but it's an alias of :root there. + support.scope = assert( function( el ) { + docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); + return typeof el.querySelectorAll !== "undefined" && + !el.querySelectorAll( ":scope fieldset div" ).length; + } ); + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert( function( el ) { + el.className = "i"; + return !el.getAttribute( "className" ); + } ); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert( function( el ) { + el.appendChild( document.createComment( "" ) ); + return !el.getElementsByTagName( "*" ).length; + } ); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert( function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + } ); + + // ID filter and find + if ( support.getById ) { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute( "id" ) === attrId; + }; + }; + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode( "id" ); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( ( elem = elems[ i++ ] ) ) { + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find[ "TAG" ] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert( function( el ) { + + var input; + + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll( "[selected]" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push( "~=" ); + } + + // Support: IE 11+, Edge 15 - 18+ + // IE 11/Edge don't find elements on a `[name='']` query in some cases. + // Adding a temporary attribute to the document before the selection works + // around the issue. + // Interestingly, IE 10 & older don't seem to have the issue. + input = document.createElement( "input" ); + input.setAttribute( "name", "" ); + el.appendChild( input ); + if ( !el.querySelectorAll( "[name='']" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + + whitespace + "*(?:''|\"\")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll( ":checked" ).length ) { + rbuggyQSA.push( ":checked" ); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push( ".#.+[+~]" ); + } + + // Support: Firefox <=3.6 - 5 only + // Old Firefox doesn't throw on a badly-escaped identifier. + el.querySelectorAll( "\\\f" ); + rbuggyQSA.push( "[\\r\\n\\f]" ); + } ); + + assert( function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement( "input" ); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll( "[name=d]" ).length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: Opera 10 - 11 only + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll( "*,:x" ); + rbuggyQSA.push( ",.*:" ); + } ); + } + + if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector ) ) ) ) { + + assert( function( el ) { + + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + } ); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + ) ); + } : + function( a, b ) { + if ( b ) { + while ( ( b = b.parentNode ) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { + + // Choose the first element that is related to our preferred document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( a == document || a.ownerDocument == preferredDoc && + contains( preferredDoc, a ) ) { + return -1; + } + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( b == document || b.ownerDocument == preferredDoc && + contains( preferredDoc, b ) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + return a == document ? -1 : + b == document ? 1 : + /* eslint-enable eqeqeq */ + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( ( cur = cur.parentNode ) ) { + ap.unshift( cur ); + } + cur = b; + while ( ( cur = cur.parentNode ) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[ i ] === bp[ i ] ) { + i++; + } + + return i ? + + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[ i ], bp[ i ] ) : + + // Otherwise nodes in our document sort first + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + ap[ i ] == preferredDoc ? -1 : + bp[ i ] == preferredDoc ? 1 : + /* eslint-enable eqeqeq */ + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + setDocument( elem ); + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch ( e ) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( context.ownerDocument || context ) != document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( elem.ownerDocument || elem ) != document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return ( sel + "" ).replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + + // If no nodeType, this is expected to be an array + while ( ( node = elem[ i++ ] ) ) { + + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[ 1 ] = match[ 1 ].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[ 3 ] = ( match[ 3 ] || match[ 4 ] || + match[ 5 ] || "" ).replace( runescape, funescape ); + + if ( match[ 2 ] === "~=" ) { + match[ 3 ] = " " + match[ 3 ] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[ 1 ] = match[ 1 ].toLowerCase(); + + if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { + + // nth-* requires argument + if ( !match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[ 4 ] = +( match[ 4 ] ? + match[ 5 ] + ( match[ 6 ] || 1 ) : + 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); + match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); + + // other types prohibit arguments + } else if ( match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[ 6 ] && match[ 2 ]; + + if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[ 3 ] ) { + match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + + // Get excess from tokenize (recursively) + ( excess = tokenize( unquoted, true ) ) && + + // advance to the next closing parenthesis + ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { + + // excess is a negative index + match[ 0 ] = match[ 0 ].slice( 0, excess ); + match[ 2 ] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { + return true; + } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + ( pattern = new RegExp( "(^|" + whitespace + + ")" + className + "(" + whitespace + "|$)" ) ) && classCache( + className, function( elem ) { + return pattern.test( + typeof elem.className === "string" && elem.className || + typeof elem.getAttribute !== "undefined" && + elem.getAttribute( "class" ) || + "" + ); + } ); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + /* eslint-disable max-len */ + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + /* eslint-enable max-len */ + + }; + }, + + "CHILD": function( type, what, _argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, _context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( ( node = node[ dir ] ) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( ( node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + + // Use previously-cached element index if available + if ( useCache ) { + + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + + // Use the same loop as above to seek `elem` from the start + while ( ( node = ++nodeIndex && node && node[ dir ] || + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || + ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction( function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[ i ] ); + seed[ idx ] = !( matches[ idx ] = matched[ i ] ); + } + } ) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + + // Potentially complex pseudos + "not": markFunction( function( selector ) { + + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction( function( seed, matches, _context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( ( elem = unmatched[ i ] ) ) { + seed[ i ] = !( matches[ i ] = elem ); + } + } + } ) : + function( elem, _context, xml ) { + input[ 0 ] = elem; + matcher( input, null, xml, results ); + + // Don't keep the element (issue #299) + input[ 0 ] = null; + return !results.pop(); + }; + } ), + + "has": markFunction( function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + } ), + + "contains": markFunction( function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + } ), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + + // lang value must be a valid identifier + if ( !ridentifier.test( lang || "" ) ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( ( elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); + return false; + }; + } ), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && + ( !document.hasFocus || document.hasFocus() ) && + !!( elem.type || elem.href || ~elem.tabIndex ); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return ( nodeName === "input" && !!elem.checked ) || + ( nodeName === "option" && !!elem.selected ); + }, + + "selected": function( elem ) { + + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + // eslint-disable-next-line no-unused-expressions + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos[ "empty" ]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( ( attr = elem.getAttribute( "type" ) ) == null || + attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo( function() { + return [ 0 ]; + } ), + + "last": createPositionalPseudo( function( _matchIndexes, length ) { + return [ length - 1 ]; + } ), + + "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + } ), + + "even": createPositionalPseudo( function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "odd": createPositionalPseudo( function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ) + } +}; + +Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || ( match = rcomma.exec( soFar ) ) ) { + if ( match ) { + + // Don't consume trailing commas as valid + soFar = soFar.slice( match[ 0 ].length ) || soFar; + } + groups.push( ( tokens = [] ) ); + } + + matched = false; + + // Combinators + if ( ( match = rcombinators.exec( soFar ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + + // Cast descendant combinators to space + type: match[ 0 ].replace( rtrim, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || + ( match = preFilters[ type ]( match ) ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[ i ].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || + ( outerCache[ elem.uniqueID ] = {} ); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( ( oldCache = uniqueCache[ key ] ) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return ( newCache[ 2 ] = oldCache[ 2 ] ); + } else { + + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[ i ]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[ 0 ]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[ i ], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( ( elem = unmatched[ i ] ) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction( function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( + selector || "*", + context.nodeType ? [ context ] : context, + [] + ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( ( elem = temp[ i ] ) ) { + matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) ) { + + // Restore matcherIn since elem is not yet a final match + temp.push( ( matcherIn[ i ] = elem ) ); + } + } + postFinder( null, ( matcherOut = [] ), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) && + ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { + + seed[ temp ] = !( results[ temp ] = elem ); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + } ); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[ 0 ].type ], + implicitRelative = leadingRelative || Expr.relative[ " " ], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + ( checkContext = context ).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; + } else { + matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[ j ].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens + .slice( 0, i - 1 ) + .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), + + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), + len = elems.length; + + if ( outermost ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + outermostContext = context == document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( !context && elem.ownerDocument != document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( ( matcher = elementMatchers[ j++ ] ) ) { + if ( matcher( elem, context || document, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + + // They will have gone through all possible matchers + if ( ( elem = !matcher && elem ) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( ( matcher = setMatchers[ j++ ] ) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !( unmatched[ i ] || setMatched[ i ] ) ) { + setMatched[ i ] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[ i ] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( + selector, + matcherFromGroupMatchers( elementMatchers, setMatchers ) + ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( ( selector = compiled.selector || selector ) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[ 0 ] = match[ 0 ].slice( 0 ); + if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { + + context = ( Expr.find[ "ID" ]( token.matches[ 0 ] + .replace( runescape, funescape ), context ) || [] )[ 0 ]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[ i ]; + + // Abort if we hit a combinator + if ( Expr.relative[ ( type = token.type ) ] ) { + break; + } + if ( ( find = Expr.find[ type ] ) ) { + + // Search, expanding context for leading sibling combinators + if ( ( seed = find( + token.matches[ 0 ].replace( runescape, funescape ), + rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || + context + ) ) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert( function( el ) { + + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; +} ); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert( function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute( "href" ) === "#"; +} ) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + } ); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert( function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +} ) ) { + addHandle( "value", function( elem, _name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + } ); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert( function( el ) { + return el.getAttribute( "disabled" ) == null; +} ) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; + } + } ); +} + +return Sizzle; + +} )( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, _i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, _i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, _i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( elem.contentDocument != null && + + // Support: IE 11+ + // elements with no `data` attribute has an object + // `contentDocument` with a `null` prototype. + getProto( elem.contentDocument ) ) { + + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( _i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, _key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( _all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // Support: IE <=9 only + // IE <=9 replaces "; + support.option = !!div.lastChild; +} )(); + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
" ], + col: [ 2, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + _default: [ 0, "", "" ] +}; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// Support: IE <=9 only +if ( !support.option ) { + wrapMap.optgroup = wrapMap.option = [ 1, "" ]; +} + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Only attach events to objects that accept data + if ( !acceptData( elem ) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = Object.create( null ); + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( nativeEvent ), + + handlers = ( + dataPriv.get( this, "events" ) || Object.create( null ) + )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + return result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.get( src ); + events = pdataOld.events; + + if ( events ) { + dataPriv.remove( dest, "handle events" ); + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = flat( args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + }, doc ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html; + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var swap = function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableTrDimensionsVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + }, + + // Support: IE 9 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Behavior in IE 9 is more subtle than in newer versions & it passes + // some versions of this test; make sure not to make it pass there! + reliableTrDimensions: function() { + var table, tr, trChild, trStyle; + if ( reliableTrDimensionsVal == null ) { + table = document.createElement( "table" ); + tr = document.createElement( "tr" ); + trChild = document.createElement( "div" ); + + table.style.cssText = "position:absolute;left:-11111px"; + tr.style.height = "1px"; + trChild.style.height = "9px"; + + documentElement + .appendChild( table ) + .appendChild( tr ) + .appendChild( trChild ); + + trStyle = window.getComputedStyle( tr ); + reliableTrDimensionsVal = parseInt( trStyle.height ) > 3; + + documentElement.removeChild( table ); + } + return reliableTrDimensionsVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( _elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Support: IE 9 - 11 only + // Use offsetWidth/offsetHeight for when box sizing is unreliable. + // In those cases, the computed value can be trusted to be border-box. + if ( ( !support.boxSizingReliable() && isBorderBox || + + // Support: IE 10 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Interestingly, in some cases IE 9 doesn't suffer from this issue. + !support.reliableTrDimensions() && nodeName( elem, "tr" ) || + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + val === "auto" || + + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + + // Make sure the element is visible & connected + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( _i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( + dataPriv.get( cur, "events" ) || Object.create( null ) + )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = { guid: Date.now() }; + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( _i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Use a noop converter for missing script + if ( !isSuccess && jQuery.inArray( "script", s.dataTypes ) > -1 ) { + s.converters[ "text script" ] = function() {}; + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( _i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + +jQuery.ajaxPrefilter( function( s ) { + var i; + for ( i in s.headers ) { + if ( i.toLowerCase() === "content-type" ) { + s.contentType = s.headers[ i ] || ""; + } + } +} ); + + +jQuery._evalUrl = function( url, options, doc ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options, doc ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( "