From 8b6d60935190260352b4ccbac77b18611df4fc82 Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Thu, 18 Jul 2024 20:35:36 +0200 Subject: [PATCH 01/64] release: Bump version 5.1.0 to 5.2.0 --- .bumpversion.cfg | 2 +- rhodecode/VERSION | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index c76f1bd2..f367797f 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 5.1.0 +current_version = 5.2.0 message = release: Bump version {current_version} to {new_version} [bumpversion:file:rhodecode/VERSION] diff --git a/rhodecode/VERSION b/rhodecode/VERSION index acf69b48..7cbea073 100644 --- a/rhodecode/VERSION +++ b/rhodecode/VERSION @@ -1 +1 @@ -5.1.0 \ No newline at end of file +5.2.0 \ No newline at end of file From 82fb5620083d5713b7228e3587a34f1676077eca Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Thu, 18 Jul 2024 20:38:35 +0200 Subject: [PATCH 02/64] docs: started 5.2.0 release notes --- docs/release-notes/release-notes-5.2.0.rst | 39 ++++++++++++++++++++++ docs/release-notes/release-notes.rst | 2 +- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 docs/release-notes/release-notes-5.2.0.rst diff --git a/docs/release-notes/release-notes-5.2.0.rst b/docs/release-notes/release-notes-5.2.0.rst new file mode 100644 index 00000000..60c36fe9 --- /dev/null +++ b/docs/release-notes/release-notes-5.2.0.rst @@ -0,0 +1,39 @@ +|RCE| 5.2.0 |RNS| +----------------- + +Release Date +^^^^^^^^^^^^ + +- 2024 (TBA) +- available as docker "beta" tag rhodecode/rhodecode-ce:beta, rhodecode/rhodecode-ee:beta + + +New Features +^^^^^^^^^^^^ + + + +General +^^^^^^^ + + + +Security +^^^^^^^^ + + + +Performance +^^^^^^^^^^^ + + + +Fixes +^^^^^ + + + +Upgrade notes +^^^^^^^^^^^^^ + +- RhodeCode 5.2.0 is a next feature release version diff --git a/docs/release-notes/release-notes.rst b/docs/release-notes/release-notes.rst index 71ee152a..091d22fe 100644 --- a/docs/release-notes/release-notes.rst +++ b/docs/release-notes/release-notes.rst @@ -10,7 +10,7 @@ Release Notes .. toctree:: :maxdepth: 1 - + release-notes-5.2.0.rst release-notes-5.1.0.rst release-notes-5.0.3.rst release-notes-5.0.2.rst From 2a94fb6ab1bf525465b4f7d68cc48e0242884b69 Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Tue, 23 Jul 2024 14:08:35 +0200 Subject: [PATCH 03/64] chore: makefile, cleanup node_modules before generating a new ones --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 705e115f..21962ea1 100644 --- a/Makefile +++ b/Makefile @@ -58,6 +58,7 @@ docs-cleanup: .PHONY: web-build ## Build JS packages static/js web-build: + rm -rf node_modules docker run -it --rm -v $(PWD):/project --workdir=/project rhodecode/static-files-build:16 -c "npm install && /project/node_modules/.bin/grunt" # run static file check ./rhodecode/tests/scripts/static-file-check.sh rhodecode/public/ From b8822dcc982109d0e55f069b9d8f770fa18ba913 Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Tue, 23 Jul 2024 14:12:55 +0200 Subject: [PATCH 04/64] fix: js sync ce/ee package definitions --- .hgignore | 1 - package.json | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.hgignore b/.hgignore index 9060f107..f84ab689 100644 --- a/.hgignore +++ b/.hgignore @@ -38,7 +38,6 @@ syntax: regexp ^junit\.xml$ ^node_modules/ ^node_binaries/ -^package-lock.json ^pylint.log$ ^rcextensions/ ^result$ diff --git a/package.json b/package.json index 3c007365..a909f18b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rhodecode-enterprise", - "version": "5.0.0", + "version": "5.1.0", "private": true, "description": "RhodeCode JS packaged", "license": "SEE LICENSE IN LICENSE.txt", From 151f3585743015d1a0ada33fbb153b6df746193d Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Tue, 23 Jul 2024 14:23:19 +0200 Subject: [PATCH 05/64] fix:js lock JS deps to make builds stable --- package-lock.json | 21861 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 21861 insertions(+) create mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..f0d9d3d8 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,21861 @@ +{ + "name": "rhodecode-enterprise", + "version": "5.1.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "rhodecode-enterprise", + "version": "5.1.0", + "license": "SEE LICENSE IN LICENSE.txt", + "devDependencies": { + "@polymer/iron-a11y-keys": "^3.0.0", + "@polymer/iron-ajax": "^3.0.0", + "@polymer/iron-autogrow-textarea": "^3.0.0", + "@polymer/paper-button": "^3.0.0", + "@polymer/paper-spinner": "^3.0.0", + "@polymer/paper-toast": "^3.0.0", + "@polymer/paper-toggle-button": "^3.0.0", + "@polymer/paper-tooltip": "^3.0.0", + "@polymer/polymer": "^3.0.0", + "@webcomponents/webcomponentsjs": "^2.0.0", + "babel-core": "^6.26.3", + "babel-loader": "^7.1.2", + "babel-plugin-transform-object-rest-spread": "^6.26.0", + "babel-preset-env": "^1.6.0", + "clipboard": "^2.0.1", + "copy-webpack-plugin": "^4.4.2", + "css-loader": "^0.28.11", + "dropzone": "^5.5.0", + "exports-loader": "^0.6.4", + "favico.js": "^0.3.10", + "grunt": "^0.4.5", + "grunt-cli": "^1.4.3", + "grunt-contrib-concat": "^0.5.1", + "grunt-contrib-copy": "^1.0.0", + "grunt-contrib-jshint": "^0.12.0", + "grunt-contrib-less": "^1.1.0", + "grunt-contrib-uglify": "^4.0.1", + "grunt-contrib-watch": "^0.6.1", + "grunt-webpack": "^3.1.3", + "html-loader": "^0.4.4", + "html-webpack-plugin": "^3.2.0", + "imports-loader": "^0.7.1", + "jquery": "1.11.3", + "jshint": "^2.9.1-rc3", + "mark.js": "8.11.1", + "moment": "^2.18.1", + "mousetrap": "^1.6.1", + "polymer-webpack-loader": "^2.0.1", + "raw-loader": "1.0.0-beta.0", + "sticky-sidebar": "3.3.1", + "style-loader": "^0.21.0", + "sweetalert2": "^9.10.12", + "ts-loader": "^1.3.3", + "waypoints": "4.0.1", + "webpack": "4.23.1", + "webpack-cli": "3.1.2", + "webpack-uglify-js-plugin": "^1.1.9" + } + }, + "node_modules/@polymer/font-roboto": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@polymer/font-roboto/-/font-roboto-3.0.2.tgz", + "integrity": "sha512-tx5TauYSmzsIvmSqepUPDYbs4/Ejz2XbZ1IkD7JEGqkdNUJlh+9KU85G56Tfdk/xjEZ8zorFfN09OSwiMrIQWA==", + "dev": true + }, + "node_modules/@polymer/iron-a11y-announcer": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@polymer/iron-a11y-announcer/-/iron-a11y-announcer-3.2.0.tgz", + "integrity": "sha512-We+hyaFHcg7Ke8ovsoxUpYEXFIJLHxMCDaLehTB4dELS+C+K0zMnGSiqQvb/YzGS+nSYpAfkQIyg1msOCdHMtA==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-a11y-keys": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-a11y-keys/-/iron-a11y-keys-3.0.1.tgz", + "integrity": "sha512-zmTi8xHeY4ZMJLAitW2hAmW5zXZ35hVy/eHQUFadAlOccuBK3oRRmoPRQRaZgpyJrCVFDAQRXXzzJtUDil/0CA==", + "dev": true, + "dependencies": { + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-a11y-keys-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-a11y-keys-behavior/-/iron-a11y-keys-behavior-3.0.1.tgz", + "integrity": "sha512-lnrjKq3ysbBPT/74l0Fj0U9H9C35Tpw2C/tpJ8a+5g8Y3YJs1WSZYnEl1yOkw6sEyaxOq/1DkzH0+60gGu5/PQ==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-ajax": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-ajax/-/iron-ajax-3.0.1.tgz", + "integrity": "sha512-7+TPEAfWsRdhj1Y8UeF1759ktpVu+c3sG16rJiUC3wF9+woQ9xI1zUm2d59i7Yc3aDEJrR/Q8Y262KlOvyGVNg==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-autogrow-textarea": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@polymer/iron-autogrow-textarea/-/iron-autogrow-textarea-3.0.3.tgz", + "integrity": "sha512-5r0VkWrIlm0JIp5E5wlnvkw7slK72lFRZXncmrsLZF+6n1dg2rI8jt7xpFzSmUWrqpcyXwyKaGaDvUjl3j4JLA==", + "dev": true, + "dependencies": { + "@polymer/iron-behaviors": "^3.0.0-pre.26", + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/iron-validatable-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-behaviors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-behaviors/-/iron-behaviors-3.0.1.tgz", + "integrity": "sha512-IMEwcv1lhf1HSQxuyWOUIL0lOBwmeaoSTpgCJeP9IBYnuB1SPQngmfRuHKgK6/m9LQ9F9miC7p3HeQQUdKAE0w==", + "dev": true, + "dependencies": { + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-checked-element-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-checked-element-behavior/-/iron-checked-element-behavior-3.0.1.tgz", + "integrity": "sha512-aDr0cbCNVq49q+pOqa6CZutFh+wWpwPMLpEth9swx+GkAj+gCURhuQkaUYhIo5f2egDbEioR1aeHMnPlU9dQZA==", + "dev": true, + "dependencies": { + "@polymer/iron-form-element-behavior": "^3.0.0-pre.26", + "@polymer/iron-validatable-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-fit-behavior": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@polymer/iron-fit-behavior/-/iron-fit-behavior-3.1.0.tgz", + "integrity": "sha512-ABcgIYqrjhmUT8tiuolqeGttF/8pd3sEymUDrO1vXbZu4FWIvoLNndrMDFvs++AGd12Mjf5pYy84NJc6dB8Vig==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-flex-layout": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-flex-layout/-/iron-flex-layout-3.0.1.tgz", + "integrity": "sha512-7gB869czArF+HZcPTVSgvA7tXYFze9EKckvM95NB7SqYF+NnsQyhoXgKnpFwGyo95lUjUW9TFDLUwDXnCYFtkw==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-form-element-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-form-element-behavior/-/iron-form-element-behavior-3.0.1.tgz", + "integrity": "sha512-G/e2KXyL5AY7mMjmomHkGpgS0uAf4ovNpKhkuUTRnMuMJuf589bKqE85KN4ovE1Tzhv2hJoh/igyD6ekHiYU1A==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-meta": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-meta/-/iron-meta-3.0.1.tgz", + "integrity": "sha512-pWguPugiLYmWFV9UWxLWzZ6gm4wBwQdDy4VULKwdHCqR7OP7u98h+XDdGZsSlDPv6qoryV/e3tGHlTIT0mbzJA==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-overlay-behavior": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@polymer/iron-overlay-behavior/-/iron-overlay-behavior-3.0.3.tgz", + "integrity": "sha512-Q/Fp0+uOQQ145ebZ7T8Cxl4m1tUKYjyymkjcL2rXUm+aDQGb1wA1M1LYxUF5YBqd+9lipE0PTIiYwA2ZL/sznA==", + "dev": true, + "dependencies": { + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/iron-fit-behavior": "^3.0.0-pre.26", + "@polymer/iron-resizable-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-resizable-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-resizable-behavior/-/iron-resizable-behavior-3.0.1.tgz", + "integrity": "sha512-FyHxRxFspVoRaeZSWpT3y0C9awomb4tXXolIJcZ7RvXhMP632V5lez+ch5G5SwK0LpnAPkg35eB0LPMFv+YMMQ==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-validatable-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-validatable-behavior/-/iron-validatable-behavior-3.0.1.tgz", + "integrity": "sha512-wwpYh6wOa4fNI+jH5EYKC7TVPYQ2OfgQqocWat7GsNWcsblKYhLYbwsvEY5nO0n2xKqNfZzDLrUom5INJN7msQ==", + "dev": true, + "dependencies": { + "@polymer/iron-meta": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-behaviors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-behaviors/-/paper-behaviors-3.0.1.tgz", + "integrity": "sha512-6knhj69fPJejv8qR0kCSUY+Q0XjaUf0OSnkjRjmTJPAwSrRYtgqE+l6P1FfA+py1X/cUjgne9EF5rMZAKJIg1g==", + "dev": true, + "dependencies": { + "@polymer/iron-behaviors": "^3.0.0-pre.26", + "@polymer/iron-checked-element-behavior": "^3.0.0-pre.26", + "@polymer/paper-ripple": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-button": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-button/-/paper-button-3.0.1.tgz", + "integrity": "sha512-JRNBc+Oj9EWnmyLr7FcCr8T1KAnEHPh6mosln9BUdkM+qYaYsudSICh3cjTIbnj6AuF5OJidoLkM1dlyj0j6Zg==", + "dev": true, + "dependencies": { + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/paper-behaviors": "^3.0.0-pre.27", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-ripple": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@polymer/paper-ripple/-/paper-ripple-3.0.2.tgz", + "integrity": "sha512-DnLNvYIMsiayeICroYxx6Q6Hg1cUU8HN2sbutXazlemAlGqdq80qz3TIaVdbpbt/pvjcFGX2HtntMlPstCge8Q==", + "dev": true, + "dependencies": { + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-spinner": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@polymer/paper-spinner/-/paper-spinner-3.0.2.tgz", + "integrity": "sha512-XUzu8/4NH+pnNZUTI2MxtOKFAr0EOsW7eGhTg3VBhTh7DDW/q3ewzwYRWnqNJokX9BEnxKMiXXaIeTEBq4k2dw==", + "dev": true, + "dependencies": { + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-styles": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-styles/-/paper-styles-3.0.1.tgz", + "integrity": "sha512-y6hmObLqlCx602TQiSBKHqjwkE7xmDiFkoxdYGaNjtv4xcysOTdVJsDR/R9UHwIaxJ7gHlthMSykir1nv78++g==", + "dev": true, + "dependencies": { + "@polymer/font-roboto": "^3.0.1", + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-toast": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-toast/-/paper-toast-3.0.1.tgz", + "integrity": "sha512-pizuogzObniDdICUc6dSLrnDt2VzzoRne1gCmbD6sfOATVv5tc8UfrqhA2iHngbNBEbniBiciS3iogdp5KTVUQ==", + "dev": true, + "dependencies": { + "@polymer/iron-a11y-announcer": "^3.0.0-pre.26", + "@polymer/iron-fit-behavior": "^3.0.0-pre.26", + "@polymer/iron-overlay-behavior": "^3.0.0-pre.27", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-toggle-button": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-toggle-button/-/paper-toggle-button-3.0.1.tgz", + "integrity": "sha512-jadZB60fycT7YnSAH0H23LYo6/2HYmMZTtNr9LpdSIRFPLX6mqqxewex92cFz019bMKaRJgORn308hRlJo2u6A==", + "dev": true, + "dependencies": { + "@polymer/iron-checked-element-behavior": "^3.0.0-pre.26", + "@polymer/paper-behaviors": "^3.0.0-pre.27", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-tooltip": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-tooltip/-/paper-tooltip-3.0.1.tgz", + "integrity": "sha512-yiUk09opTEnE1lK+tb501ENb+yQBi4p++Ep0eGJAHesVYKVMPNgPphVKkIizkDaU+n0SE+zXfTsRbYyOMDYXSg==", + "dev": true, + "dependencies": { + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/polymer": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@polymer/polymer/-/polymer-3.5.1.tgz", + "integrity": "sha512-JlAHuy+1qIC6hL1ojEUfIVD58fzTpJAoCxFwV5yr0mYTXV1H8bz5zy0+rC963Cgr9iNXQ4T9ncSjC2fkF9BQfw==", + "dev": true, + "dependencies": { + "@webcomponents/shadycss": "^1.9.1" + } + }, + "node_modules/@types/clone": { + "version": "0.1.30", + "resolved": "https://registry.npmjs.org/@types/clone/-/clone-0.1.30.tgz", + "integrity": "sha512-vcxBr+ybljeSiasmdke1cQ9ICxoEwaBgM1OQ/P5h4MPj/kRyLcDl5L8PrftlbyV1kBbJIs3M3x1A1+rcWd4mEA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "6.14.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-6.14.13.tgz", + "integrity": "sha512-J1F0XJ/9zxlZel5ZlbeSuHW2OpabrUAqpFuC2sm2I3by8sERQ8+KCjNKUcq8QHuzpGMWiJpo9ZxeHrqrP2KzQw==", + "dev": true + }, + "node_modules/@types/parse5": { + "version": "2.2.34", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-2.2.34.tgz", + "integrity": "sha512-p3qOvaRsRpFyEmaS36RtLzpdxZZnmxGuT1GMgzkTtTJVFuEw7KFjGK83MFODpJExgX1bEzy9r0NYjMC3IMfi7w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.10.tgz", + "integrity": "sha512-wTUeaByYN2EA6qVqhbgavtGc7fLTOx0glG2IBsFlrFG51uXIGlYBTyIZMf4SPLo3v1bgV/7lBN3l7Z0R6Hswew==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-module-context": "1.7.10", + "@webassemblyjs/helper-wasm-bytecode": "1.7.10", + "@webassemblyjs/wast-parser": "1.7.10" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.10.tgz", + "integrity": "sha512-gMsGbI6I3p/P1xL2UxqhNh1ga2HCsx5VBB2i5VvJFAaqAjd2PBTRULc3BpTydabUQEGlaZCzEUQhLoLG7TvEYQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.10.tgz", + "integrity": "sha512-DoYRlPWtuw3yd5BOr9XhtrmB6X1enYF0/54yNvQWGXZEPDF5PJVNI7zQ7gkcKfTESzp8bIBWailaFXEK/jjCsw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.10.tgz", + "integrity": "sha512-+RMU3dt/dPh4EpVX4u5jxsOlw22tp3zjqE0m3ftU2tsYxnPULb4cyHlgaNd2KoWuwasCQqn8Mhr+TTdbtj3LlA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.10.tgz", + "integrity": "sha512-UiytbpKAULOEab2hUZK2ywXen4gWJVrgxtwY3Kn+eZaaSWaRM8z/7dAXRSoamhKFiBh1uaqxzE/XD9BLlug3gw==", + "dev": true, + "dependencies": { + "@webassemblyjs/wast-printer": "1.7.10" + } + }, + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.10.tgz", + "integrity": "sha512-w2vDtUK9xeSRtt5+RnnlRCI7wHEvLjF0XdnxJpgx+LJOvklTZPqWkuy/NhwHSLP19sm9H8dWxKeReMR7sCkGZA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.10.tgz", + "integrity": "sha512-yE5x/LzZ3XdPdREmJijxzfrf+BDRewvO0zl8kvORgSWmxpRrkqY39KZSq6TSgIWBxkK4SrzlS3BsMCv2s1FpsQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.10.tgz", + "integrity": "sha512-u5qy4SJ/OrxKxZqJ9N3qH4ZQgHaAzsopsYwLvoWJY6Q33r8PhT3VPyNMaJ7ZFoqzBnZlCcS/0f4Sp8WBxylXfg==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.10.tgz", + "integrity": "sha512-Ecvww6sCkcjatcyctUrn22neSJHLN/TTzolMGG/N7S9rpbsTZ8c6Bl98GpSpV77EvzNijiNRHBG0+JO99qKz6g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-buffer": "1.7.10", + "@webassemblyjs/helper-wasm-bytecode": "1.7.10", + "@webassemblyjs/wasm-gen": "1.7.10" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.10.tgz", + "integrity": "sha512-HRcWcY+YWt4+s/CvQn+vnSPfRaD4KkuzQFt5MNaELXXHSjelHlSEA8ZcqT69q0GTIuLWZ6JaoKar4yWHVpZHsQ==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.10.tgz", + "integrity": "sha512-og8MciYlA8hvzCLR71hCuZKPbVBfLQeHv7ImKZ4nlyxrYbG7uJHYtHiHu6OV9SqrGuD03H/HtXC4Bgdjfm9FHw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.1" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.10.tgz", + "integrity": "sha512-Ng6Pxv6siyZp635xCSnH3mKmIFgqWPCcGdoo0GBYgyGdxu7cUj4agV7Uu1a8REP66UYUFXJLudeGgd4RvuJAnQ==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.10.tgz", + "integrity": "sha512-e9RZFQlb+ZuYcKRcW9yl+mqX/Ycj9+3/+ppDI8nEE/NCY6FoK8f3dKBcfubYV/HZn44b+ND4hjh+4BYBt+sDnA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-buffer": "1.7.10", + "@webassemblyjs/helper-wasm-bytecode": "1.7.10", + "@webassemblyjs/helper-wasm-section": "1.7.10", + "@webassemblyjs/wasm-gen": "1.7.10", + "@webassemblyjs/wasm-opt": "1.7.10", + "@webassemblyjs/wasm-parser": "1.7.10", + "@webassemblyjs/wast-printer": "1.7.10" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.10.tgz", + "integrity": "sha512-M0lb6cO2Y0PzDye/L39PqwV+jvO+2YxEG5ax+7dgq7EwXdAlpOMx1jxyXJTScQoeTpzOPIb+fLgX/IkLF8h2yw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-wasm-bytecode": "1.7.10", + "@webassemblyjs/ieee754": "1.7.10", + "@webassemblyjs/leb128": "1.7.10", + "@webassemblyjs/utf8": "1.7.10" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.10.tgz", + "integrity": "sha512-R66IHGCdicgF5ZliN10yn5HaC7vwYAqrSVJGjtJJQp5+QNPBye6heWdVH/at40uh0uoaDN/UVUfXK0gvuUqtVg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-buffer": "1.7.10", + "@webassemblyjs/wasm-gen": "1.7.10", + "@webassemblyjs/wasm-parser": "1.7.10" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.10.tgz", + "integrity": "sha512-AEv8mkXVK63n/iDR3T693EzoGPnNAwKwT3iHmKJNBrrALAhhEjuPzo/lTE4U7LquEwyvg5nneSNdTdgrBaGJcA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-api-error": "1.7.10", + "@webassemblyjs/helper-wasm-bytecode": "1.7.10", + "@webassemblyjs/ieee754": "1.7.10", + "@webassemblyjs/leb128": "1.7.10", + "@webassemblyjs/utf8": "1.7.10" + } + }, + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.10.tgz", + "integrity": "sha512-YTPEtOBljkCL0VjDp4sHe22dAYSm3ZwdJ9+2NTGdtC7ayNvuip1wAhaAS8Zt9Q6SW9E5Jf5PX7YE3XWlrzR9cw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/floating-point-hex-parser": "1.7.10", + "@webassemblyjs/helper-api-error": "1.7.10", + "@webassemblyjs/helper-code-frame": "1.7.10", + "@webassemblyjs/helper-fsm": "1.7.10", + "@xtuc/long": "4.2.1" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.10.tgz", + "integrity": "sha512-mJ3QKWtCchL1vhU/kZlJnLPuQZnlDOdZsyP0bbLWPGdYsQDnSBvyTLhzwBA3QAMlzEL9V4JHygEmK6/OTEyytA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/wast-parser": "1.7.10", + "@xtuc/long": "4.2.1" + } + }, + "node_modules/@webcomponents/shadycss": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/@webcomponents/shadycss/-/shadycss-1.11.2.tgz", + "integrity": "sha512-vRq+GniJAYSBmTRnhCYPAPq6THYqovJ/gzGThWbgEZUQaBccndGTi1hdiUP15HzEco0I6t4RCtXyX0rsSmwgPw==", + "dev": true + }, + "node_modules/@webcomponents/webcomponentsjs": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@webcomponents/webcomponentsjs/-/webcomponentsjs-2.8.0.tgz", + "integrity": "sha512-loGD63sacRzOzSJgQnB9ZAhaQGkN7wl2Zuw7tsphI5Isa0irijrRo6EnJii/GgjGefIFO8AIO7UivzRhFaEk9w==", + "dev": true + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz", + "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-dynamic-import": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", + "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", + "deprecated": "This is probably built in to whatever tool you're using. If you still need it... idk", + "dev": true, + "dependencies": { + "acorn": "^5.0.0" + } + }, + "node_modules/acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha512-AU7pnZkguthwBjKgCg6998ByQNIMjbuDQZ8bb78QAFZwPfmKia8AIzgY/gWgqCjnht8JLdXmB4YxA0KaV60ncQ==", + "dev": true, + "dependencies": { + "acorn": "^3.0.4" + } + }, + "node_modules/acorn-jsx/node_modules/acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha512-OLUyIIZ7mF5oaAUT1w0TFqQS81q3saT46x8t7ukpPjMNk+nbs4ZHhs7ToV8EWnLYLepjETXd4XaCE4uxkMeqUw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==", + "dev": true, + "optional": true, + "dependencies": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "node_modules/align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/align-text/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==", + "dev": true + }, + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", + "dev": true, + "engines": { + "node": ">=0.4.2" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "optional": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "node_modules/argparse": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz", + "integrity": "sha512-LjmC2dNpdn2L4UzyoaIr11ELYoLn37ZFy9zObrQFHsSuOepeUEMKnM8w5KL4Tnrp2gy88rRuQt6Ky8Bjml+Baw==", + "dev": true, + "dependencies": { + "underscore": "~1.7.0", + "underscore.string": "~2.4.0" + } + }, + "node_modules/argparse/node_modules/underscore.string": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz", + "integrity": "sha512-yxkabuCaIBnzfIvX3kBxQqCs0ar/bfJwDnFEHJUm/ZrRVhT3IItdRF5cZjARLzEnyQYtIUhsZ2LG2j3HidFOFQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", + "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true, + "optional": true + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/assert": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", + "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.4", + "util": "^0.10.4" + } + }, + "node_modules/assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ast-types": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", + "integrity": "sha512-qEdtR2UH78yyHX/AUNfXmJTlM48XoFZKBdwi1nzkI1mJL21cmbu0cvjxjpkXJ5NENMq42H+hNs8VLJcqXLerBQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/async": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz", + "integrity": "sha512-2tEzliJmf5fHNafNwQLJXUasGzQCVctvsNkXmnlELHwypU0p08/rHohYvkqKIjyXpx+0rkrYv6QbhJ+UF4QkBg==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "optional": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "optional": true + }, + "node_modules/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, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/autoprefixer": { + "version": "6.7.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", + "integrity": "sha512-WKExI/eSGgGAkWAO+wMVdFObZV7hQen54UpD1kCCTN3tvlL3W1jL4+lPP/M7MwoP7Q4RHzKtO3JQ4HxYEcd+xQ==", + "dev": true, + "dependencies": { + "browserslist": "^1.7.6", + "caniuse-db": "^1.0.30000634", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^5.2.16", + "postcss-value-parser": "^3.2.3" + } + }, + "node_modules/autoprefixer/node_modules/browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha512-qHJblDE2bXVRYzuDetv/wAeHOJyO97+9wxC1cdCtyzgNuSozOyRCiiLaCR1f71AN66lQdVVBipWm63V+a7bPOw==", + "deprecated": "Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.", + "dev": true, + "dependencies": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + }, + "bin": { + "browserslist": "cli.js" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz", + "integrity": "sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha512-JnJpAS0p9RmixkOvW2XwDxxzs1bd4/VAGIl6Q0EC5YOo+p+hqIhtDhn/nmFnB/xUNXbLkpE2mOjgVIBRKD4xYw==", + "dev": true, + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true, + "optional": true + }, + "node_modules/babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "node_modules/babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "dependencies": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "node_modules/babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha512-gCtfYORSG1fUMX4kKraymq607FWgMWg+j42IFPc18kFQEsmtaibP4UrqsXt8FlEJle25HUd4tsoDR7H2wDhe9Q==", + "dev": true, + "dependencies": { + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha512-RL8n2NiEj+kKztlrVJM9JT1cXzzAdvWFh76xh/H1I4nKwunzE4INBXn8ieCZ+wh4zWszZk7NBS1s/8HR5jDkzQ==", + "dev": true, + "dependencies": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha512-bHkmjcC9lM1kmZcVpA5t2om2nzT/xiZpo6TJq7UlZ3wqKfzia4veeXbIhKvJXAMzhhEBd3cR1IElL5AenWEUpA==", + "dev": true, + "dependencies": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha512-qe5csbhbvq6ccry9G7tkXbzNtcDiH4r51rrPUbwwoTzZ18AqxWYRZT6AOmxrpxKnQBW0pYlBI/8vh73Z//78nQ==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha512-Oo6+e2iX+o9eVvJ9Y5eKL5iryeRdsIkwRYheCuhYdVHsdEQysbc2z2QkqCLIYnNxkT5Ss3ggrHdXiDI7Dhrn4Q==", + "dev": true, + "dependencies": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha512-WfgKFX6swFB1jS2vo+DwivRN4NB8XUdM3ij0Y1gnC21y1tdBoe6xjVnd7NSI6alv+gZXCtJqvrTeMW3fR/c0ng==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha512-zAYl3tqerLItvG5cKYw7f1SpvIxS9zi7ohyGHaI9cgDUjAT6YcY9jIEH5CstetP5wHIVSceXwNS7Z5BpJg+rOw==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha512-Op9IhEaxhbRT8MDXx2iNuMgciu2V8lDvYCNQbDGjdBNCjaMvyLf4wl4A3b8IgndCyQF8TwfgsQ8T3VD8aX1/pA==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha512-VlPiWmqmGJp0x0oK27Out1D+71nVVCTSdlbhIVoaBAj2lUgrNjBCRR9+llO4lTSb2O4r7PJg+RobRkhBrf6ofg==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha512-RYqaPD0mQyQIFRu7Ho5wE2yvA/5jxqCIj/Lv4BXNq23mHYu/vxikOy2JueLiBxQknwapwrJeNCesvY0ZcfnlHg==", + "dev": true, + "dependencies": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha512-sLI+u7sXJh6+ToqDr57Bv973kCepItDhMou0xCP2YPVmR1jkHSCY+p1no8xErbV1Siz5QE8qKT1WIwybSWlqjw==", + "dev": true, + "dependencies": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-loader": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.5.tgz", + "integrity": "sha512-iCHfbieL5d1LfOQeeVJEUyD9rTwBcP/fcEbRCfempxTDuqrKpu0AZjLAQHEQa3Yqyj9ORKe2iHfoj4rHLf7xpw==", + "dev": true, + "dependencies": { + "find-cache-dir": "^1.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "babel-core": "6", + "webpack": "2 || 3 || 4" + } + }, + "node_modules/babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha512-B1M5KBP29248dViEo1owyY32lk1ZSH2DaNNrXLGt8lyjjHm7pBqAdQ7VKUPR6EEDO323+OvT3MQXbCin8ooWdA==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha512-4Zp4unmHgw30A1eWI5EpACji2qMocisdXhAftfhXoSV9j0Tvj6nRFE3tOmRY912E0FMRm/L5xWE7MGVT2FoLnw==", + "dev": true + }, + "node_modules/babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha512-Z/flU+T9ta0aIEKl1tGEmN/pZiI1uXmCiGFRegKacQfEJzp7iNsKloZmyJlQr+75FCJtiFfGIK03SiCvCt9cPQ==", + "dev": true + }, + "node_modules/babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha512-C4Aq+GaAj83pRQ0EFgTvw5YO6T3Qz2KGrNRwIj9mSoNHVvdZY4KO2uA6HNtNXCw993iSZnckY1aLW8nOi8i4+w==", + "dev": true + }, + "node_modules/babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha512-Gx9CH3Q/3GKbhs07Bszw5fPTlU+ygrOGfAhEt7W2JICwufpC4SuO0mG0+4NykPBSYPMJhqvVlDBU17qB1D+hMQ==", + "dev": true + }, + "node_modules/babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha512-7BgYJujNCg0Ti3x0c/DL3tStvnKS6ktIYOmo9wginv/dfZOrbSZ+qG4IRRHMBOzZ5Awb1skTiAsQXg/+IWkZYw==", + "dev": true, + "dependencies": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha512-PCqwwzODXW7JMrzu+yZIaYbPQSKjDTAsNNlK2l5Gg9g4rz2VzLnZsStvp/3c46GfXpwkyufb3NCyG9+50FF1Vg==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha512-2+ujAT2UMBzYFm7tidUsYh+ZoIutxJ3pN9IYrF1/H6dCKtECfhmB8UkHVpyxDwkj0CYbQG35ykoz925TUnBc3A==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha512-YiN6sFAQ5lML8JjCmr7uerS5Yc/EMbgg9G8ZNmk2E3nYX4ckHR01wrkeeMijEf5WHNK5TW0Sl0Uu3pv3EdOJWw==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag==", + "dev": true, + "dependencies": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha512-C/uAv4ktFP/Hmh01gMTvYvICrKze0XVX9f2PdIXuriCSvUmV9j+u+BB9f5fJK3+878yMK6dkdcq+Ymr9mrcLzw==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha512-aNv/GDAW0j/f4Uy1OEPZn1mqD+Nfy9viFGBfQ5bZyT35YqOiqx7/tXdyfZkJ1sC21NyEsBdfDY6PYmLHF4r5iA==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha512-ossocTuPOssfxO2h+Z3/Ea1Vo1wWx31Uqy9vIiJusOP4TbF7tPs9U0sJ9pX9OJPf4lXRGj5+6Gkl/HHKiAP5ug==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha512-DLuRwoygCoXx+YfxHLkVx5/NpeSbVwfoTeBykpJK7JhYWlL/O8hgAK/reforUnZDlxasOrVPPJVI/guE3dCwkw==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha512-iFp5KIcorf11iBqu/y/a7DK3MN5di3pNCzto61FqCNnUX4qeBwcV1SLqe10oXNnCaxBUImX3SckX2/o1nsrTcg==", + "dev": true, + "dependencies": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha512-tjFl0cwMPpDYyoqYA9li1/7mGFit39XiNX5DKC/uCNjBctMxyL1/PT/l4rSlbvBG1pOKI88STRdUsWXB3/Q9hQ==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha512-LnIIdGWIKdw7zwckqx+eGjcS8/cl8D74A3BpJbGjKTFFNJSMrjN4bIh22HY1AlkUbeLG6X6OZj56BDvWD+OeFA==", + "dev": true, + "dependencies": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "dependencies": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha512-ONFIPsq8y4bls5PPsAWYXH/21Hqv64TBxdje0FvU3MhIV6QM2j5YS7KvAzg/nTIVLot2D2fmFQrFWCbgHlFEjg==", + "dev": true, + "dependencies": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw==", + "dev": true, + "dependencies": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA==", + "dev": true, + "dependencies": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha512-8HxlW+BB5HqniD+nLkQ4xSAVq3bR/pcYW9IigY+2y0dI+Y7INFeTbfAQr+63T3E4UDsZGjyb+l9txUnABWxlOQ==", + "dev": true, + "dependencies": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha512-mDdocSfUVm1/7Jw/FIRNw9vPrBQNePy6wZJlR8HAUBLybNp1w/6lr6zZ2pjMShee65t/ybR5pT8ulkLzD1xwiw==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha512-3Ghhi26r4l3d0Js933E5+IhHwk0A1yiutj9gwvzmFbVV0sPMYk2lekhOufHBswX7NCoSeF4Xrl3sCIuSIa+zOg==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha512-CYP359ADryTo3pCsH0oxRo/0yn6UsEZLqYohHmvLQdfS9xkf+MbCzE3/Kolw9OYIY4ZMilH25z/5CbQbwDD+lQ==", + "dev": true, + "dependencies": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha512-x8b9W0ngnKzDMHimVtTfn5ryimars1ByTqsfBDwAqLibmuuQY6pgBQi5z1ErIsUOWBdw1bW9FSz5RZUojM4apg==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha512-fz6J2Sf4gYN6gWgRZaoFXmq93X+Li/8vf+fb0sGDVtdeWvxC9y5/bTD7bvfWMEq6zetGEHpWjtzRGSugt5kNqw==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha512-v61Dbbihf5XxnYjtBN04B/JBvsScY37R1cZT5r9permN1cp+b70DY3Ib3fIkgn1DI9U3tGgBJZVD8p/mE/4JbQ==", + "dev": true, + "dependencies": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "node_modules/babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha512-LzXDmbMkklvNhprr20//RStKVcT8Cu+SQtX18eMHLhjHf2yFzwtQ0S2f0jQ+89rokoNdmwoSqYzAhq86FxlLSQ==", + "dev": true, + "dependencies": { + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha512-ocgA9VJvyxwt+qJB0ncxV8kb/CjfTcECUY4tQ5VT7nP6Aohzobm8CDFaQ5FHdvZQzLmf0sgDxB8iRXZXxwZcyA==", + "dev": true, + "dependencies": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "node_modules/babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha512-LS+dBkUGlNR15/5WHKe/8Neawx663qttS6AGqoOUhICc9d1KciBvtrQSuc0PI+CxQ2Q/S1aKuJ+u64GtLdcEZg==", + "dev": true, + "dependencies": { + "regenerator-transform": "^0.10.0" + } + }, + "node_modules/babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-preset-env": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", + "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", + "dev": true, + "dependencies": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.0", + "babel-plugin-transform-es2015-function-name": "^6.22.0", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^3.2.6", + "invariant": "^2.2.2", + "semver": "^5.3.0" + } + }, + "node_modules/babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==", + "dev": true, + "dependencies": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", + "dev": true, + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "node_modules/babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true, + "bin": { + "babylon": "bin/babylon.js" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "optional": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q==", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "dev": true, + "optional": true, + "dependencies": { + "hoek": "2.x.x" + }, + "engines": { + "node": ">=0.10.40" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz", + "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==", + "dev": true, + "dependencies": { + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.4", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.6", + "readable-stream": "^3.6.2", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/browserify-sign/node_modules/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==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserslist": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "dev": true, + "dependencies": { + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" + }, + "bin": { + "browserslist": "cli.js" + } + }, + "node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "node_modules/buffer/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "node_modules/cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "node_modules/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, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.6.tgz", + "integrity": "sha512-Mj50FLHtlsoVfRfnHaZvyrooHcrlceNZdL/QBvJJVd9Ta55qCQK0gs4ss2oZDeV9zFCs6ewzYgVE5yfVmfFpVg==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "set-function-length": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "dev": true, + "dependencies": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-api": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", + "integrity": "sha512-SBTl70K0PkDUIebbkXrxWqZlHNs0wRgRD6QZ8guctShjbh63gEPfF+Wj0Yw+75f5Y8tSzqAI/NcisYv/cCah2Q==", + "dev": true, + "dependencies": { + "browserslist": "^1.3.6", + "caniuse-db": "^1.0.30000529", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-api/node_modules/browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha512-qHJblDE2bXVRYzuDetv/wAeHOJyO97+9wxC1cdCtyzgNuSozOyRCiiLaCR1f71AN66lQdVVBipWm63V+a7bPOw==", + "deprecated": "Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.", + "dev": true, + "dependencies": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + }, + "bin": { + "browserslist": "cli.js" + } + }, + "node_modules/caniuse-db": { + "version": "1.0.30001587", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001587.tgz", + "integrity": "sha512-NIFEWUR4TZVBj+BUeWXfl84dtylzKFe2xQ1GWTV98orUAbCUjju5fgJhbgDB4F0e3ySYjh8ohGpDoLJkbdFD3w==", + "dev": true + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001587", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001587.tgz", + "integrity": "sha512-HMFNotUmLXn71BQxg8cijvqxnIAofforZOwGsxyXJ0qugTdspUF4sPSJ2vhgprHCB996tIDzEq1ubumPDV8ULA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true, + "optional": true + }, + "node_modules/center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==", + "dev": true, + "dependencies": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "optional": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "optional": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "optional": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/chokidar/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "optional": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/clap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", + "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "dev": true, + "dependencies": { + "chalk": "^1.1.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/clean-css/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", + "integrity": "sha512-41U72MB56TfUMGndAKK8vJ78eooOD4Z5NOL4xEfjc0c23s+6EYKXlXsmACBVclLP1yOfWCgEganVzddVrSNoTg==", + "dev": true, + "dependencies": { + "exit": "0.1.2", + "glob": "^7.1.1" + }, + "engines": { + "node": ">=0.2.5" + } + }, + "node_modules/clipboard": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz", + "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==", + "dev": true, + "dependencies": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "node_modules/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, + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "optional": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", + "integrity": "sha512-KAGck/eNAmCL0dcT3BiuYwLbExK6lduR8DxM3C1TyDzaXhZHyZ8ooX5I5+na2e3dPFuibfxrGdorr0/Lr7RYCQ==", + "dev": true, + "dependencies": { + "q": "^1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/coffee-script": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz", + "integrity": "sha512-QjQ1T4BqyHv19k6XSfdhy/QLlIOhywz0ekBUCa9h71zYMJlfDTGan/Z1JXzYkZ6v8R+GhvL/p4FZPbPW8WNXlg==", + "deprecated": "CoffeeScript on NPM has moved to \"coffeescript\" (no hyphen)", + "dev": true, + "bin": { + "cake": "bin/cake", + "coffee": "bin/coffee" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", + "integrity": "sha512-Ajpjd8asqZ6EdxQeqGzU5WBhhTfJ/0cA4Wlbre7e5vXfmDSmda7Ov6jeKoru+b0vHcb1CqvuroTHp5zIWzhVMA==", + "dev": true, + "dependencies": { + "clone": "^1.0.2", + "color-convert": "^1.3.0", + "color-string": "^0.3.0" + } + }, + "node_modules/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, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha512-sz29j1bmSDfoAxKIEU6zwoIZXN6BrFbAMIhfYCNyiZXBDuU/aiHlN84lp/xDzL2ubyFhLDobHIlU1X70XRrMDA==", + "dev": true, + "dependencies": { + "color-name": "^1.0.0" + } + }, + "node_modules/color/node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/colormin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", + "integrity": "sha512-XSEQUUQUR/lXqGyddiNH3XYFUPYlYr1vXy9rTFMsSOw+J7Q6EQkdlQIrTlYn4TccpsOaUE1PYQNjBn20gwCdgQ==", + "dev": true, + "dependencies": { + "color": "^0.11.0", + "css-color-names": "0.0.4", + "has": "^1.0.1" + } + }, + "node_modules/colors": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "integrity": "sha512-OsSVtHK8Ir8r3+Fxw/b4jS1ZLPXkV6ZxDRJQzeD7qo0SqMXWrHDM71DgYzPMHY8SFJ0Ao+nNU2p1MmwdzKqPrw==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "optional": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/concat-stream/node_modules/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 + }, + "node_modules/concat-stream/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha512-duS7VP5pvfsNLDvL1O4VOEbw37AI3A4ZUQYemvDlnpGrNu9tprR7BYWpDYwC0Xia0Zxz5ZupdiIrUp0GH1aXfg==", + "dev": true, + "dependencies": { + "date-now": "^0.1.4" + } + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", + "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==", + "dev": true, + "dependencies": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "globby": "^7.1.1", + "is-glob": "^4.0.0", + "loader-utils": "^1.1.0", + "minimatch": "^3.0.4", + "p-limit": "^1.0.0", + "serialize-javascript": "^1.4.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, + "hasInstallScript": true + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/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, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha512-FFN5KwpvvQTTS5hWPxrU8/QE4kQUc6uwZcrnlMBN82t1MgAtq8mnoDwINBly9Tdr02seeIIhtdF+UH1feBYGog==", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "dev": true, + "optional": true, + "dependencies": { + "boom": "2.x.x" + }, + "engines": { + "node": ">=0.10.40" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": "*" + } + }, + "node_modules/css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/css-loader": { + "version": "0.28.11", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", + "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==", + "dev": true, + "dependencies": { + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "cssnano": "^3.10.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash.camelcase": "^4.3.0", + "object-assign": "^4.1.1", + "postcss": "^5.0.6", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" + }, + "engines": { + "node": ">=0.12.0 || >= 4.3.0 < 5.0.0 || >=5.10" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/css-select/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/css-select/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/css-select/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/css-select/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/css-selector-tokenizer": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", + "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", + "integrity": "sha512-0o0IMQE0Ezo4b41Yrm8U6Rp9/Ag81vNXY1gZMnT1XhO4DpjEf2utKERqWJbOoz3g1Wdc1d3QSta/cIuJ1wSTEg==", + "dev": true, + "dependencies": { + "autoprefixer": "^6.3.1", + "decamelize": "^1.1.2", + "defined": "^1.0.0", + "has": "^1.0.1", + "object-assign": "^4.0.1", + "postcss": "^5.0.14", + "postcss-calc": "^5.2.0", + "postcss-colormin": "^2.1.8", + "postcss-convert-values": "^2.3.4", + "postcss-discard-comments": "^2.0.4", + "postcss-discard-duplicates": "^2.0.1", + "postcss-discard-empty": "^2.0.1", + "postcss-discard-overridden": "^0.1.1", + "postcss-discard-unused": "^2.2.1", + "postcss-filter-plugins": "^2.0.0", + "postcss-merge-idents": "^2.1.5", + "postcss-merge-longhand": "^2.0.1", + "postcss-merge-rules": "^2.0.3", + "postcss-minify-font-values": "^1.0.2", + "postcss-minify-gradients": "^1.0.1", + "postcss-minify-params": "^1.0.4", + "postcss-minify-selectors": "^2.0.4", + "postcss-normalize-charset": "^1.1.0", + "postcss-normalize-url": "^3.0.7", + "postcss-ordered-values": "^2.1.0", + "postcss-reduce-idents": "^2.2.2", + "postcss-reduce-initial": "^1.0.0", + "postcss-reduce-transforms": "^1.0.3", + "postcss-svgo": "^2.1.1", + "postcss-unique-selectors": "^2.0.2", + "postcss-value-parser": "^3.2.3", + "postcss-zindex": "^2.0.1" + } + }, + "node_modules/csso": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", + "integrity": "sha512-FmCI/hmqDeHHLaIQckMhMZneS84yzUZdrWDAvJVVxOwcKE1P1LF9FGmzr1ktIQSxOw6fl3PaQsmfg+GN+VvR3w==", + "dev": true, + "dependencies": { + "clap": "^1.0.9", + "source-map": "^0.5.3" + }, + "bin": { + "csso": "bin/csso" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cyclist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", + "dev": true + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "optional": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dashdash/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha512-AsElvov3LoNB7tf5k37H2jYSB+ZZPMT5sG2QjJCcdlV5chIv6htBUBUui2IKRjgtKAKtCBN7Zbwa+MtwLjSeNw==", + "dev": true + }, + "node_modules/dateformat": { + "version": "1.0.2-1.2.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz", + "integrity": "sha512-AXvW8g7tO4ilk5HgOWeDmPi/ZPaCnMJ+9Cg1I3p19w6mcvAAXBuuGEXAxybC+Djj1PSZUiHUcyoYu7WneCX8gQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-for-each": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/deep-for-each/-/deep-for-each-2.0.3.tgz", + "integrity": "sha512-Y9mu+rplGcNZ7veer+5rqcdI9w3aPb7/WyE/nYnsuPevaE2z5YuC2u7/Gz/hIKsa0zo8sE8gKoBimSNsO/sr+A==", + "dev": true, + "dependencies": { + "lodash.isplainobject": "^4.0.6" + } + }, + "node_modules/define-data-property": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.2.tgz", + "integrity": "sha512-SRtsSqsDbgpJBbW3pABMCOt6rQyeM8s8RiyeSN8jYG8sYmt/kGJejbydttUsnDs1tadr19tvhT4ShwMyoqAm4g==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.2", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", + "dev": true + }, + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==", + "dev": true, + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "dependencies": { + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/dom5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/dom5/-/dom5-2.3.0.tgz", + "integrity": "sha512-ziGSSl2krBPjKfjeXkFu5VB8YJaZLP49EFwwJ3j3I0OGOsY8XPjrgoWCphf8H6MzTyBFPHdZA1R0ctZoXyplvA==", + "dev": true, + "dependencies": { + "@types/clone": "^0.1.29", + "@types/node": "^6.0.0", + "@types/parse5": "^2.2.32", + "clone": "^2.1.0", + "parse5": "^2.2.2" + } + }, + "node_modules/dom5/node_modules/parse5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-2.2.3.tgz", + "integrity": "sha512-yJQdbcT+hCt6HD+BuuUvjHUdNwerQIKSJSm7tXjtp6oIH5Mxbzlt/VIIeWxblsgcDt1+E7kxPeilD5McWswStA==", + "dev": true + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "node_modules/domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha512-q9bUwjfp7Eif8jWxxxPSykdRZAb6GkguBGSgvvCrhI9wB71W2K/Kvv4E61CF/mcCfnVJDeDWx/Vb/uAqbDj6UQ==", + "dev": true, + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==", + "dev": true, + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/dropzone": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/dropzone/-/dropzone-5.9.3.tgz", + "integrity": "sha512-Azk8kD/2/nJIuVPK+zQ9sjKMRIpRvNyqn9XwbBHNq+iNuSccbJS6hwm1Woy0pMST0erSo0u4j+KJaodndDk4vA==", + "dev": true + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/duplexify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/duplexify/node_modules/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 + }, + "node_modules/duplexify/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "optional": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.665", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.665.tgz", + "integrity": "sha512-UpyCWObBoD+nSZgOC2ToaIdZB0r9GhqT2WahPKiSki6ckkSuKhQNso8V2PrFcHBMleI/eqbKgVQgVC4Wni4ilw==", + "dev": true + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/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, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", + "integrity": "sha512-ZaAux1rigq1e2nQrztHn4h2ugvpzZxs64qneNah+8Mh/K0CRqJFJc+UoXnUsq+1yX+DmQFPPdVqboKAJ89e0Iw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "object-assign": "^4.0.1", + "tapable": "^0.2.7" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/enhanced-resolve/node_modules/tapable": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz", + "integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha512-LbLqfXgJMmy81t+7c14mnulFHJ170cM6E+0vMXR9k/ZiZwgX8i5pNgjTCX3SO4VeUsFLV+8InixoretwU+MjBQ==", + "dev": true + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/es-abstract": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.5", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es6-templates": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/es6-templates/-/es6-templates-0.2.3.tgz", + "integrity": "sha512-sziUVwcvQ+lOsrTyUY0Q11ilAPj+dy7AQ1E1MgSaHTaaAFTffaa08QSlGNU61iyVaroyb6nYdBV6oD7nzn6i8w==", + "dev": true, + "dependencies": { + "recast": "~0.11.12", + "through": "~2.3.6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/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, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/espree": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "dependencies": { + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha512-rp5dMKN8zEs9dfi9g0X1ClLmV//WRyk/R15mppFNICIFRG5P92VP7Z04p8pk++gABo9W2tY+kHyu6P1mEHgmTA==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/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, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventemitter2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", + "integrity": "sha512-K7J4xq5xAD5jHsGM5ReWXRTFa3JRGofHiMcVgQ8PRwgWxzjHpMWCIzsmyf60+mh8KLsqYPcjUMa0AC4hd6lPyQ==", + "dev": true + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.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" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/exports-loader": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.6.4.tgz", + "integrity": "sha512-koRSTJrocXi3l7MKXSJPbNKUmewV2CewsWCZW+5KYxgkiZBjlEo4Z+DJuHDq4WzOi19drlyuT1xY7ADmwln8zQ==", + "dev": true, + "dependencies": { + "loader-utils": "^1.0.2", + "source-map": "0.5.x" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "optional": true + }, + "node_modules/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==", + "dev": true + }, + "node_modules/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==", + "dev": true + }, + "node_modules/fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "dev": true + }, + "node_modules/favico.js": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/favico.js/-/favico.js-0.3.10.tgz", + "integrity": "sha512-S5KvqAOczRjlyjQPPZPSlUEybBkfBgKosY/pzTIxkvKgigB+DkITvIEI70dxQarbv4PZ+UD77QzquCAcU/6LHQ==", + "dev": true + }, + "node_modules/faye-websocket": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.4.4.tgz", + "integrity": "sha512-78pqrJbvGZSe8i+PLsPd+aJqTyGqgyWLnMw5NOwtXCTVMzEFh1zQPwIuIL/ycTj4rkDy5zZ9B6frYPqVPJBzyQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/file-sync-cmp": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz", + "integrity": "sha512-0k45oWBokCqh2MOexeYKpyqmGKG+8mQ2Wd8iawx+uWd/weWJQAZ6SoPybagdCI4xFisag8iAR77WPm4h3pTfxA==", + "dev": true + }, + "node_modules/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, + "optional": true + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha512-46TFiBOzX7xq/PcSWfFwkyjpemdRnMe31UQF+os0y+1W3k95f6R4SEt02Hj4p3X0Mir9gfrkmOtshFidS0VPUg==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/findup-sync": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz", + "integrity": "sha512-yjftfYnF4ThYEvKEV/kEFR15dmtyXTAh3vQnzpJUoc7Naj5y1P0Ck7Zs1+Vroa00E3KT3IYsk756S+8WA5dNLw==", + "dev": true, + "dependencies": { + "glob": "~3.2.9", + "lodash": "~2.4.1" + }, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/findup-sync/node_modules/glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "integrity": "sha512-hVb0zwEZwC1FXSKRPFTeOtN7AArJcJlI6ULGLtrstaswKNlrTJqAA+1lYlSUop4vjA423xlBzqfVS3iWGlqJ+g==", + "dev": true, + "dependencies": { + "inherits": "2", + "minimatch": "0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/findup-sync/node_modules/lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha512-Kak1hi6/hYHGVPmdyiZijoQyz5x2iGVzs6w9GYB/HiXEtylY7tIoYEROMjvM1d9nXJqPOrG2MNPMn01bJ+S0Rw==", + "dev": true, + "engines": [ + "node", + "rhino" + ] + }, + "node_modules/findup-sync/node_modules/lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha512-WpibWJ60c3AgAz8a2iYErDrcT2C7OmKnsWhIcHOjkUHFjkXncJhtLxNSqUmxRxRunpb5I8Vprd7aNSd2NtksJQ==", + "dev": true + }, + "node_modules/findup-sync/node_modules/minimatch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "integrity": "sha512-WFX1jI1AaxNTZVOHLBVazwTWKaQjoykSzCBNXB72vDTCzopQGtyP91tKdFK5cv1+qMwPyiTu1HqUriqplI8pcA==", + "deprecated": "Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue", + "dev": true, + "dependencies": { + "lru-cache": "2", + "sigmund": "~1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", + "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", + "deprecated": "flatten is deprecated in favor of utility frameworks such as lodash.", + "dev": true + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/flush-write-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/flush-write-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/flush-write-stream/node_modules/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 + }, + "node_modules/flush-write-stream/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", + "dev": true, + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha512-8HWGSLAPr+AG0hBpsqi5Ob8HrLStN/LWeqhpFl14d7FJgHK48TmgLoALPz69XSUR65YJzDfLUX/BM8+MLJLghQ==", + "dev": true, + "optional": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/from2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/from2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/from2/node_modules/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 + }, + "node_modules/from2/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gaze": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", + "integrity": "sha512-3IWbXGkDDHFX8zIlNdfnmhvlSMhpBO6tDr4InB8fGku6dh/gjFPGNqcdsXJajZg05x9jRzXbL6gCnCnuMap4tw==", + "dev": true, + "dependencies": { + "globule": "~0.1.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/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 + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-stream/node_modules/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, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getobject": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", + "integrity": "sha512-hIGEBfnHcZpWkXPsAVeVmpYDvfy/matVl03yOY91FPmnpCC12Lm5izNxCjO3lHAeO6uaTwMxu7g450Siknlhig==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "optional": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/getpass/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "optional": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-modules-path": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.1.tgz", + "integrity": "sha512-y+shkf4InI7mPRHSo2b/k6ix6+NLDtyccYv86whhxrSGX9wjPX1VMITmrDbE1eh7zkzhiWtW2sHklJYoQ62Cxg==", + "dev": true + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g==", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/globule": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", + "integrity": "sha512-3eIcA2OjPCm4VvwIwZPzIxCVssA8HSpM2C6c6kK5ufJH4FGwWoyqL3In19uuX4oe+TwH3w2P1nQDmW56iehO4A==", + "dev": true, + "dependencies": { + "glob": "~3.1.21", + "lodash": "~1.0.1", + "minimatch": "~0.2.11" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/globule/node_modules/glob": { + "version": "3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "integrity": "sha512-ANhy2V2+tFpRajE3wN4DhkNQ08KDr0Ir1qL12/cUe5+a7STEK8jkW4onUYuY8/06qAFuT5je7mjAqzx0eKI2tQ==", + "dev": true, + "dependencies": { + "graceful-fs": "~1.2.0", + "inherits": "1", + "minimatch": "~0.2.11" + }, + "engines": { + "node": "*" + } + }, + "node_modules/globule/node_modules/graceful-fs": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", + "integrity": "sha512-iiTUZ5vZ+2ZV+h71XAgwCSu6+NAizhFU3Yw8aC/hH5SQ3SnISqEqAek40imAFGtDcwJKNhXvSY+hzIolnLwcdQ==", + "deprecated": "please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/globule/node_modules/inherits": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", + "integrity": "sha512-Al67oatbRSo3RV5hRqIoln6Y5yMVbJSIn4jEJNL7VCImzq/kLr7vvb6sFRJXqr8rpHc/2kJOM+y0sPKN47VdzA==", + "dev": true + }, + "node_modules/globule/node_modules/lodash": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", + "integrity": "sha512-0VSEDVec/Me2eATuoiQd8IjyBMMX0fahob8YJ96V1go2RjvCk1m1GxmtfXn8RNSaLaTtop7fsuhhu9oLk3hUgA==", + "dev": true, + "engines": [ + "node", + "rhino" + ] + }, + "node_modules/globule/node_modules/lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha512-WpibWJ60c3AgAz8a2iYErDrcT2C7OmKnsWhIcHOjkUHFjkXncJhtLxNSqUmxRxRunpb5I8Vprd7aNSd2NtksJQ==", + "dev": true + }, + "node_modules/globule/node_modules/minimatch": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "integrity": "sha512-zZ+Jy8lVWlvqqeM8iZB7w7KmQkoJn8djM585z88rywrEbzoqawVa9FR5p2hwD+y74nfuKOjmNvi9gtWJNLqHvA==", + "deprecated": "Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue", + "dev": true, + "dependencies": { + "lru-cache": "2", + "sigmund": "~1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==", + "dev": true, + "dependencies": { + "delegate": "^3.1.2" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/grunt": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz", + "integrity": "sha512-1iq3ylLjzXqz/KSq1OAE2qhnpcbkF2WyhsQcavZt+YmgvHu0EbPMEhGhy2gr0FP67isHpRdfwjB5WVeXXcJemQ==", + "dev": true, + "dependencies": { + "async": "~0.1.22", + "coffee-script": "~1.3.3", + "colors": "~0.6.2", + "dateformat": "1.0.2-1.2.3", + "eventemitter2": "~0.4.13", + "exit": "~0.1.1", + "findup-sync": "~0.1.2", + "getobject": "~0.1.0", + "glob": "~3.1.21", + "grunt-legacy-log": "~0.1.0", + "grunt-legacy-util": "~0.2.0", + "hooker": "~0.2.3", + "iconv-lite": "~0.2.11", + "js-yaml": "~2.0.5", + "lodash": "~0.9.2", + "minimatch": "~0.2.12", + "nopt": "~1.0.10", + "rimraf": "~2.2.8", + "underscore.string": "~2.2.1", + "which": "~1.0.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/grunt-cli": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", + "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", + "dev": true, + "dependencies": { + "grunt-known-options": "~2.0.0", + "interpret": "~1.1.0", + "liftup": "~3.0.1", + "nopt": "~4.0.1", + "v8flags": "~3.2.0" + }, + "bin": { + "grunt": "bin/grunt" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/grunt-cli/node_modules/nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "dev": true, + "dependencies": { + "abbrev": "1", + "osenv": "^0.1.4" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/grunt-contrib-concat": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-0.5.1.tgz", + "integrity": "sha512-on8j+wGXvo6yVEDjyoUsFU2GeYcpZ9Qhj78XQMeU3yDYSPcHfCeuOo2hV8GAQO9u1JuQFEHgA0O7wFKXO7miqg==", + "dev": true, + "dependencies": { + "chalk": "^0.5.1", + "source-map": "^0.3.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "grunt": ">=0.4.0" + } + }, + "node_modules/grunt-contrib-concat/node_modules/ansi-regex": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha512-sGwIGMjhYdW26/IhwK2gkWWI8DRCVO6uj3hYgHT+zD+QL1pa37tM3ujhyfcJIYSbsxp7Gxhy7zrRW/1AHm4BmA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grunt-contrib-concat/node_modules/ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha512-f2PKUkN5QngiSemowa6Mrk9MPCdtFiOSmibjZ+j1qhLGHHYsqZwmBMRF3IRMVXo8sybDqx2fJl2d/8OphBoWkA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grunt-contrib-concat/node_modules/chalk": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha512-bIKA54hP8iZhyDT81TOsJiQvR1gW+ZYSXFaZUAvoD4wCHdbHY2actmpTE4x344ZlFqHbvoxKOaESULTZN2gstg==", + "dev": true, + "dependencies": { + "ansi-styles": "^1.1.0", + "escape-string-regexp": "^1.0.0", + "has-ansi": "^0.1.0", + "strip-ansi": "^0.3.0", + "supports-color": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grunt-contrib-concat/node_modules/has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha512-1YsTg1fk2/6JToQhtZkArMkurq8UoWU1Qe0aR3VUHjgij4nOylSWLWAtBXoZ4/dXOmugfLGm1c+QhuD0JyedFA==", + "dev": true, + "dependencies": { + "ansi-regex": "^0.2.0" + }, + "bin": { + "has-ansi": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grunt-contrib-concat/node_modules/source-map": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.3.0.tgz", + "integrity": "sha512-jz8leTIGS8+qJywWiO9mKza0hJxexdeIYXhDHw9avTQcXSNAGk3hiiRMpmI2Qf9dOrZDrDpgH9VNefzuacWC9A==", + "dev": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/grunt-contrib-concat/node_modules/strip-ansi": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha512-DerhZL7j6i6/nEnVG0qViKXI0OKouvvpsAiaj7c+LfqZZZxdwZtv8+UiA/w4VUJpT8UzX0pR1dcHOii1GbmruQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^0.2.1" + }, + "bin": { + "strip-ansi": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grunt-contrib-concat/node_modules/supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha512-tdCZ28MnM7k7cJDJc7Eq80A9CsRFAAOZUy41npOZCs++qSjfIy7o5Rh46CBk+Dk5FbKJ33X3Tqg4YrV07N5RaA==", + "dev": true, + "bin": { + "supports-color": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grunt-contrib-copy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz", + "integrity": "sha512-gFRFUB0ZbLcjKb67Magz1yOHGBkyU6uL29hiEW1tdQ9gQt72NuMKIy/kS6dsCbV0cZ0maNCb0s6y+uT1FKU7jA==", + "dev": true, + "dependencies": { + "chalk": "^1.1.1", + "file-sync-cmp": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grunt-contrib-jshint": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.12.0.tgz", + "integrity": "sha512-pzMchF5BY+Pt9c8wxT6L/dK6Oc/hPdtFJ5cZy6t9LI7kJUlG0ghPzFDNu4w7bohfjYl1HVY1bUVQ1VpvGkil6Q==", + "dev": true, + "dependencies": { + "hooker": "^0.2.3", + "jshint": "~2.9.1" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "grunt": ">=0.4.0" + } + }, + "node_modules/grunt-contrib-jshint/node_modules/jshint": { + "version": "2.9.7", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.7.tgz", + "integrity": "sha512-Q8XN38hGsVQhdlM+4gd1Xl7OB1VieSuCJf+fEJjpo59JH99bVJhXRXAh26qQ15wfdd1VPMuDWNeSWoNl53T4YA==", + "dev": true, + "dependencies": { + "cli": "~1.0.0", + "console-browserify": "1.1.x", + "exit": "0.1.x", + "htmlparser2": "3.8.x", + "lodash": "~4.17.10", + "minimatch": "~3.0.2", + "shelljs": "0.3.x", + "strip-json-comments": "1.0.x" + }, + "bin": { + "jshint": "bin/jshint" + } + }, + "node_modules/grunt-contrib-jshint/node_modules/minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/grunt-contrib-less": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-1.4.1.tgz", + "integrity": "sha512-NI8pp1KL3c43iR6OLWRyla6I5FLSpvbT5R6UzGHvdRDT0cM0WVfDiIAqqnjDL9z7pPr3ZyOrum5Jn1CIATmHxQ==", + "dev": true, + "dependencies": { + "async": "^2.0.0", + "chalk": "^1.0.0", + "less": "~2.7.1", + "lodash": "^4.8.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grunt-contrib-less/node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/grunt-contrib-uglify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-4.0.1.tgz", + "integrity": "sha512-dwf8/+4uW1+7pH72WButOEnzErPGmtUvc8p08B0eQS/6ON0WdeQu0+WFeafaPTbbY1GqtS25lsHWaDeiTQNWPg==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "maxmin": "^2.1.0", + "uglify-js": "^3.5.0", + "uri-path": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/grunt-contrib-uglify/node_modules/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, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/grunt-contrib-uglify/node_modules/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, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/grunt-contrib-uglify/node_modules/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, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/grunt-contrib-watch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-0.6.1.tgz", + "integrity": "sha512-Ea4f3anehA6G+S88vyTwewA/Mf6SbadTIxSgQClKbZYnHOcJ0PrGc2p+uzR6hS9gp7DG6ObvaxkmE8HKnLOsfA==", + "dev": true, + "dependencies": { + "async": "~0.2.9", + "gaze": "~0.5.1", + "lodash": "~2.4.1", + "tiny-lr-fork": "0.0.5" + }, + "engines": { + "node": ">= 0.8.0" + }, + "peerDependencies": { + "grunt": "~0.4.0" + } + }, + "node_modules/grunt-contrib-watch/node_modules/async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha512-eAkdoKxU6/LkKDBzLpT+t6Ff5EtfSF4wx1WfJiPEEV7WNLnDaRXk0oVysiEPm262roaachGexwUv94WhSgN5TQ==", + "dev": true + }, + "node_modules/grunt-contrib-watch/node_modules/lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha512-Kak1hi6/hYHGVPmdyiZijoQyz5x2iGVzs6w9GYB/HiXEtylY7tIoYEROMjvM1d9nXJqPOrG2MNPMn01bJ+S0Rw==", + "dev": true, + "engines": [ + "node", + "rhino" + ] + }, + "node_modules/grunt-known-options": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-2.0.0.tgz", + "integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grunt-legacy-log": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz", + "integrity": "sha512-qYs/uM0ImdzwIXLhS4O5WLV5soAM+PEqqHI/hzSxlo450ERSccEhnXqoeDA9ZozOdaWuYnzTOTwRcVRogleMxg==", + "dev": true, + "dependencies": { + "colors": "~0.6.2", + "grunt-legacy-log-utils": "~0.1.1", + "hooker": "~0.2.3", + "lodash": "~2.4.1", + "underscore.string": "~2.3.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/grunt-legacy-log-utils": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz", + "integrity": "sha512-D0vbUX00TFYCKNZtcZzemMpwT8TR/FdRs1pmfiBw6qnUw80PfsjV+lhIozY/3eJ3PSG2zj89wd2mH/7f4tNAlw==", + "dev": true, + "dependencies": { + "colors": "~0.6.2", + "lodash": "~2.4.1", + "underscore.string": "~2.3.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/grunt-legacy-log-utils/node_modules/lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha512-Kak1hi6/hYHGVPmdyiZijoQyz5x2iGVzs6w9GYB/HiXEtylY7tIoYEROMjvM1d9nXJqPOrG2MNPMn01bJ+S0Rw==", + "dev": true, + "engines": [ + "node", + "rhino" + ] + }, + "node_modules/grunt-legacy-log-utils/node_modules/underscore.string": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "integrity": "sha512-hbD5MibthuDAu4yA5wxes5bzFgqd3PpBJuClbRxaNddxfdsz+qf+1kHwrGQFrmchmDHb9iNU+6EHDn8uj0xDJg==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/grunt-legacy-log/node_modules/lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha512-Kak1hi6/hYHGVPmdyiZijoQyz5x2iGVzs6w9GYB/HiXEtylY7tIoYEROMjvM1d9nXJqPOrG2MNPMn01bJ+S0Rw==", + "dev": true, + "engines": [ + "node", + "rhino" + ] + }, + "node_modules/grunt-legacy-log/node_modules/underscore.string": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "integrity": "sha512-hbD5MibthuDAu4yA5wxes5bzFgqd3PpBJuClbRxaNddxfdsz+qf+1kHwrGQFrmchmDHb9iNU+6EHDn8uj0xDJg==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/grunt-legacy-util": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz", + "integrity": "sha512-cXPbfF8aM+pvveQeN1K872D5fRm30xfJWZiS63Y8W8oyIPLClCsmI8bW96Txqzac9cyL4lRqEBhbhJ3n5EzUUQ==", + "dev": true, + "dependencies": { + "async": "~0.1.22", + "exit": "~0.1.1", + "getobject": "~0.1.0", + "hooker": "~0.2.3", + "lodash": "~0.9.2", + "underscore.string": "~2.2.1", + "which": "~1.0.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/grunt-legacy-util/node_modules/lodash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz", + "integrity": "sha512-LVbt/rjK62gSbhehDVKL0vlaime4Y1IBixL+bKeNfoY4L2zab/jGrxU6Ka05tMA/zBxkTk5t3ivtphdyYupczw==", + "dev": true, + "engines": [ + "node", + "rhino" + ] + }, + "node_modules/grunt-webpack": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/grunt-webpack/-/grunt-webpack-3.1.3.tgz", + "integrity": "sha512-SaZ8K8lG4iTxs7ClZxOWCf3kxqS2y+Eel8SbaEGgBKwhAp6e45beIu+vhBZRLX3vonKML2kjemKsQ21REaqNFQ==", + "dev": true, + "dependencies": { + "deep-for-each": "^2.0.2", + "lodash": "^4.7.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/grunt/node_modules/glob": { + "version": "3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "integrity": "sha512-ANhy2V2+tFpRajE3wN4DhkNQ08KDr0Ir1qL12/cUe5+a7STEK8jkW4onUYuY8/06qAFuT5je7mjAqzx0eKI2tQ==", + "dev": true, + "dependencies": { + "graceful-fs": "~1.2.0", + "inherits": "1", + "minimatch": "~0.2.11" + }, + "engines": { + "node": "*" + } + }, + "node_modules/grunt/node_modules/graceful-fs": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", + "integrity": "sha512-iiTUZ5vZ+2ZV+h71XAgwCSu6+NAizhFU3Yw8aC/hH5SQ3SnISqEqAek40imAFGtDcwJKNhXvSY+hzIolnLwcdQ==", + "deprecated": "please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/grunt/node_modules/inherits": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", + "integrity": "sha512-Al67oatbRSo3RV5hRqIoln6Y5yMVbJSIn4jEJNL7VCImzq/kLr7vvb6sFRJXqr8rpHc/2kJOM+y0sPKN47VdzA==", + "dev": true + }, + "node_modules/grunt/node_modules/lodash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz", + "integrity": "sha512-LVbt/rjK62gSbhehDVKL0vlaime4Y1IBixL+bKeNfoY4L2zab/jGrxU6Ka05tMA/zBxkTk5t3ivtphdyYupczw==", + "dev": true, + "engines": [ + "node", + "rhino" + ] + }, + "node_modules/grunt/node_modules/lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha512-WpibWJ60c3AgAz8a2iYErDrcT2C7OmKnsWhIcHOjkUHFjkXncJhtLxNSqUmxRxRunpb5I8Vprd7aNSd2NtksJQ==", + "dev": true + }, + "node_modules/grunt/node_modules/minimatch": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "integrity": "sha512-zZ+Jy8lVWlvqqeM8iZB7w7KmQkoJn8djM585z88rywrEbzoqawVa9FR5p2hwD+y74nfuKOjmNvi9gtWJNLqHvA==", + "deprecated": "Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue", + "dev": true, + "dependencies": { + "lru-cache": "2", + "sigmund": "~1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/grunt/node_modules/rimraf": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha512-R5KMKHnPAQaZMqLOsyuyUmcIjSeDm+73eoqQpaXA7AZ22BL+6C+1mcUscgOsNd8WVlJuvlgAPsegcx7pjlV0Dg==", + "dev": true, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/gzip-size": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz", + "integrity": "sha512-6s8trQiK+OMzSaCSVXX+iqIcLV9tC+E73jrJrJTyS4h/AJhlxHvzFKqM1YLDJWRGgHX8uLkBeXkA0njNj39L4w==", + "dev": true, + "dependencies": { + "duplexer": "^0.1.1" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/har-schema": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha512-f8xf2GOR6Rgwc9FPTLNzgwB+JQ2/zMauYXSWmX5YV5acex6VomT0ocSuwR7BfXo5MpHi+jL+saaux2fwsGJDKQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha512-5Gbp6RAftMYYV3UEI4c4Vv3+a4dQ7taVyvHt+/L6kRt+f4HX1GweAk5UDWN0SvdVnRBzGQ6OG89pGaD9uSFnVw==", + "deprecated": "this library is no longer supported", + "dev": true, + "optional": true, + "dependencies": { + "ajv": "^4.9.1", + "har-schema": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/has": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hash-base/node_modules/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==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hasown": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha512-X8xbmTc1cbPXcQV4WkLcRMALuyoxhfpFATmyuCxJPOAvrDS4DNnsTAOmKUxMTOWU6TzrTOkxPKwIx5ZOpJVSrg==", + "deprecated": "This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", + "dev": true, + "optional": true, + "dependencies": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + }, + "engines": { + "node": ">=0.10.32" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ==", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.40" + } + }, + "node_modules/home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==", + "dev": true, + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hooker": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", + "integrity": "sha512-t+UerCsQviSymAInD01Pw+Dn/usmz1sRO+3Zk1+lx8eg+WKpD2ulcwWqHHL0+aseRBr+3+vIhiG1K1JTwaIcTA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", + "dev": true + }, + "node_modules/html-loader": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-0.4.5.tgz", + "integrity": "sha512-RQB5YK5c/dvBFHalLhCFHwUHjMcH7IhlqO5FpmxIsPzkm/5e0t/iB+1pkPi3txofOlCs+YS5asEhlMpG50mc6Q==", + "dev": true, + "dependencies": { + "es6-templates": "^0.2.2", + "fastparse": "^1.1.1", + "html-minifier": "^3.0.1", + "loader-utils": "^1.0.2", + "object-assign": "^4.1.0" + } + }, + "node_modules/html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "dev": true, + "dependencies": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + }, + "bin": { + "html-minifier": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/html-minifier/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/html-minifier/node_modules/uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "dev": true, + "dependencies": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/html-minifier/node_modules/uglify-js/node_modules/commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, + "node_modules/html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-Br4ifmjQojUP4EmHnRBoUIYcZ9J7M4bTMcm7u6xoIAIuq2Nte4TzXX0533owvkQKQD1WeMTTTyD4Ni4QKxS0Bg==", + "deprecated": "3.x is no longer supported", + "dev": true, + "dependencies": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "engines": { + "node": ">=6.9" + }, + "peerDependencies": { + "webpack": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/html-webpack-plugin/node_modules/big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/html-webpack-plugin/node_modules/emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/html-webpack-plugin/node_modules/loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha512-tiv66G0SmiOx+pLWMtGEkfSEejxvb6N6uRrQjfWJIT79W9GMpgKeCAmm9aVBKtd4WEgntciI8CsGqjpDoCWJug==", + "dev": true, + "dependencies": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "node_modules/htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha512-hBxEg3CYXe+rPIua8ETe7tmG3XDn9B0edOE/e9wH2nLczxzgdu0m0aNHY+5wFZiviLWLdANPJTssa92dMcXQ5Q==", + "dev": true, + "dependencies": { + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" + } + }, + "node_modules/http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha512-iUn0NcRULlDGtqNLN1Jxmzayk8ogm7NToldASyZBpM2qggbphjXzNOiw3piN8tgz+e/DRs6X5gAzFwTI6BCRcg==", + "dev": true, + "optional": true, + "dependencies": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "node_modules/iconv-lite": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", + "integrity": "sha512-KhmFWgaQZY83Cbhi+ADInoUQ8Etn6BG5fikM9syeOjQltvR45h7cRKJ/9uvQEuD61I3Uju77yYce0/LhKVClQw==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==", + "dev": true + }, + "node_modules/icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "integrity": "sha512-bsVoyn/1V4R1kYYjLcWLedozAM4FClZUdjE9nIr8uWY7xs78y9DATgwz2wGU7M+7z55KenmmTkN2DVJ7bqzjAA==", + "dev": true, + "dependencies": { + "postcss": "^6.0.1" + } + }, + "node_modules/icss-utils/node_modules/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, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/icss-utils/node_modules/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, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/icss-utils/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/icss-utils/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils/node_modules/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, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", + "dev": true + }, + "node_modules/ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "dependencies": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/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, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/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, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/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, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local/node_modules/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, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imports-loader": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.7.1.tgz", + "integrity": "sha512-tQ1upp3IcLH8YRk9b9PlJi7BsAGQhGRlgyLil6uZ/6kFb7C0H9YH9XwDVIjxl/TxFgQ0Wkrx8VRt1Ff2Vf6Mag==", + "dev": true, + "dependencies": { + "loader-utils": "^1.0.2", + "source-map": "^0.5.6" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha512-CLM8SNMDu7C5psFCn6Wg/tgpj/bKAg7hc2gWqcuR9OD5Ft9PhBpIu8PLicPeis+xDd6YX2ncI8MCA64I9tftIA==", + "dev": true + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "dependencies": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "optional": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/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": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "dependencies": { + "is-unc-path": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-svg": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", + "integrity": "sha512-Ya1giYJUkcL/94quj0+XGcmts6cETPBW1MiFz1ReJrnDJ680F52qpAEGAEGU0nq96FRGIGPx6Yo1CyPXcOoyGw==", + "dev": true, + "dependencies": { + "html-comment-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true, + "optional": true + }, + "node_modules/is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "dependencies": { + "unc-path-regex": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true, + "optional": true + }, + "node_modules/jquery": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-1.11.3.tgz", + "integrity": "sha512-pHM/XLofp0FJc0/0AsRm8q/5ob+a1kno+vfclXGozaMBPv3qD7Xq19loECVcBB4MOLdygnyneQMPTsH5QiVNBQ==", + "dev": true + }, + "node_modules/js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz", + "integrity": "sha512-VEKcIksckDBUhg2JS874xVouiPkywVUh4yyUmLCDe1Zg3bCd6M+F1eGPenPeHLc2XC8pp9G8bsuofK0NeEqRkA==", + "dev": true, + "dependencies": { + "argparse": "~ 0.1.11", + "esprima": "~ 1.0.2" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + }, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true, + "optional": true + }, + "node_modules/jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/jshint": { + "version": "2.13.6", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.13.6.tgz", + "integrity": "sha512-IVdB4G0NTTeQZrBoM8C5JFVLjV2KtZ9APgybDA1MK73xb09qFs0jCXyQLnCOp1cSZZZbvhq/6mfXHUTaDkffuQ==", + "dev": true, + "dependencies": { + "cli": "~1.0.0", + "console-browserify": "1.1.x", + "exit": "0.1.x", + "htmlparser2": "3.8.x", + "lodash": "~4.17.21", + "minimatch": "~3.0.2", + "strip-json-comments": "1.0.x" + }, + "bin": { + "jshint": "bin/jshint" + } + }, + "node_modules/jshint/node_modules/minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/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 + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true, + "optional": true + }, + "node_modules/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==", + "dev": true + }, + "node_modules/json-stable-stringify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz", + "integrity": "sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==", + "dev": true, + "optional": true, + "dependencies": { + "call-bind": "^1.0.5", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/json-stable-stringify/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "optional": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "optional": true + }, + "node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "dev": true, + "optional": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "optional": true, + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/jsprim/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/less": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/less/-/less-2.7.3.tgz", + "integrity": "sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==", + "dev": true, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=0.12" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "mime": "^1.2.11", + "mkdirp": "^0.5.0", + "promise": "^7.1.1", + "request": "2.81.0", + "source-map": "^0.5.3" + } + }, + "node_modules/liftup": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz", + "integrity": "sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==", + "dev": true, + "dependencies": { + "extend": "^3.0.2", + "findup-sync": "^4.0.0", + "fined": "^1.2.0", + "flagged-respawn": "^1.0.1", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.1", + "rechoir": "^0.7.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/liftup/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/liftup/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/liftup/node_modules/findup-sync": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/liftup/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/liftup/node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/liftup/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/loader-utils/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "node_modules/longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", + "dev": true + }, + "node_modules/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, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "p-defer": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", + "dev": true + }, + "node_modules/math-expression-evaluator": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.4.0.tgz", + "integrity": "sha512-4vRUvPyxdO8cWULGTh9dZWL2tZK6LDBvj+OGHBER7poH9Qdt7kXEoj20wiz4lQUbUXQZFjPbe5mVDo9nutizCw==", + "dev": true + }, + "node_modules/maxmin": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-2.1.0.tgz", + "integrity": "sha512-NWlApBjW9az9qRPaeg7CX4sQBWwytqz32bIEo1PW9pRW+kBP9KLRfJO3UC+TV31EcQZEUq7eMzikC7zt3zPJcw==", + "dev": true, + "dependencies": { + "chalk": "^1.0.0", + "figures": "^1.0.1", + "gzip-size": "^3.0.0", + "pretty-bytes": "^3.0.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "dependencies": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/memory-fs/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/memory-fs/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/memory-fs/node_modules/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 + }, + "node_modules/memory-fs/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "optional": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "dev": true + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dev": true, + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/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, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/mousetrap": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.5.tgz", + "integrity": "sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==", + "dev": true + }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/nan": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", + "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", + "dev": true, + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/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_modules/no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "dependencies": { + "lower-case": "^1.1.1" + } + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/node-libs-browser/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/node-libs-browser/node_modules/readable-stream/node_modules/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 + }, + "node_modules/node-libs-browser/node_modules/readable-stream/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/node-libs-browser/node_modules/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==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/noptify": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/noptify/-/noptify-0.0.3.tgz", + "integrity": "sha512-EZT35r9AuK+hig+iYv4144kwfDEDhlj3zncVHw9b9d86TUYk/67BtBApkfPD1kslAT/8TTD262xdsVbV+iCSTw==", + "dev": true, + "dependencies": { + "nopt": "~2.0.0" + } + }, + "node_modules/noptify/node_modules/nopt": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz", + "integrity": "sha512-uVTsuT8Hm3aN3VttY+BPKw4KU9lVpI0F22UAr/I1r6+kugMr3oyhMALkycikLcdfvGRsgzCYN48DYLBFcJEUVg==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/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, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha512-A48My/mtCklowHBlI8Fq2jFWK4tX4lJ5E6ytFsSOq1fzpvT0SQSgKhSg7lN5c2uYFOrUAOQp6zhhJnpp1eMloQ==", + "dev": true, + "dependencies": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==", + "dev": true + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha512-VlF07iu3VV3+BTXj43Nmp6Irt/G7j/NgEctUS6IweH1RGhURjjCc2NWtzXFPXXWWfc7hgbXQdtiQu2LGp6MxUg==", + "dev": true, + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", + "dev": true, + "dependencies": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", + "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", + "dev": true, + "dependencies": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "safe-array-concat": "^1.0.0" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==", + "dev": true, + "dependencies": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "dependencies": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/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, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/parallel-transform/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/parallel-transform/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/parallel-transform/node_modules/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 + }, + "node_modules/parallel-transform/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "dev": true, + "dependencies": { + "no-case": "^2.2.0" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", + "dev": true, + "dependencies": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse5": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/parse5-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse5-utils/-/parse5-utils-2.0.0.tgz", + "integrity": "sha512-FkmkatHahuLI+q1unkoCSRj89E6TqSJWNZfUGQ1mKKS2xtVeYZKdWPJhw3dWQPANdNyX+7fIoCT/qthCFeHzOQ==", + "dev": true, + "dependencies": { + "parse5": "^2.2.1" + } + }, + "node_modules/parse5-utils/node_modules/parse5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-2.2.3.tgz", + "integrity": "sha512-yJQdbcT+hCt6HD+BuuUvjHUdNwerQIKSJSm7tXjtp6oIH5Mxbzlt/VIIeWxblsgcDt1+E7kxPeilD5McWswStA==", + "dev": true + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true, + "optional": true + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", + "dev": true, + "dependencies": { + "path-root-regex": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha512-YHk5ez1hmMR5LOkb9iJkLKqoBlL7WD5M8ljC75ZfzXriuBIVNuecaXuU7e+hOwyqf24Wxhh7Vxgt7Hnw9288Tg==", + "dev": true, + "optional": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha512-ojakdnUgL5pzJYWw2AIDEupaQCX5OPbM688ZevubICjdIX01PRSYKqm33fJoCOJBRseYCTUlQRnBNX+Pchaejw==", + "dev": true, + "dependencies": { + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/polymer-webpack-loader": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/polymer-webpack-loader/-/polymer-webpack-loader-2.0.3.tgz", + "integrity": "sha512-3SR+/qVAGeVKltvsSMA+euGdLwj8ZZJnwd5NvXRvbdQ7yO57sdcTpRw3d34pTc9YTZxncW/kozuI/9bHjr/rdg==", + "dev": true, + "dependencies": { + "css-selector-tokenizer": "^0.7.0", + "dom5": "^2.3.0", + "espree": "^3.4.3", + "html-loader": "^0.5.1", + "loader-utils": "^1.1.0", + "parse5": "^3.0.2", + "parse5-utils": "^2.0.0", + "postcss": "^6.0.9", + "source-map": "^0.5.6" + }, + "engines": { + "node": ">= 4.3 < 5.0.0 || >= 5.10" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/polymer-webpack-loader/node_modules/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, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/polymer-webpack-loader/node_modules/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, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/polymer-webpack-loader/node_modules/html-loader": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-0.5.5.tgz", + "integrity": "sha512-7hIW7YinOYUpo//kSYcPB6dCKoceKLmOwjEMmhIobHuWGDVl0Nwe4l68mdG/Ru0wcUxQjVMEoZpkalZ/SE7zog==", + "dev": true, + "dependencies": { + "es6-templates": "^0.2.3", + "fastparse": "^1.1.1", + "html-minifier": "^3.5.8", + "loader-utils": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/polymer-webpack-loader/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/polymer-webpack-loader/node_modules/postcss/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/polymer-webpack-loader/node_modules/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, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/postcss-calc": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", + "integrity": "sha512-iBcptYFq+QUh9gzP7ta2btw50o40s4uLI4UDVgd5yRAZtUDWc5APdl5yQDd2h/TyiZNbJrv0HiYhT102CMgN7Q==", + "dev": true, + "dependencies": { + "postcss": "^5.0.2", + "postcss-message-helpers": "^2.0.0", + "reduce-css-calc": "^1.2.6" + } + }, + "node_modules/postcss-colormin": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", + "integrity": "sha512-XXitQe+jNNPf+vxvQXIQ1+pvdQKWKgkx8zlJNltcMEmLma1ypDRDQwlLt+6cP26fBreihNhZxohh1rcgCH2W5w==", + "dev": true, + "dependencies": { + "colormin": "^1.0.5", + "postcss": "^5.0.13", + "postcss-value-parser": "^3.2.3" + } + }, + "node_modules/postcss-convert-values": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", + "integrity": "sha512-SE7mf25D3ORUEXpu3WUqQqy0nCbMuM5BEny+ULE/FXdS/0UMA58OdzwvzuHJRpIFlk1uojt16JhaEogtP6W2oA==", + "dev": true, + "dependencies": { + "postcss": "^5.0.11", + "postcss-value-parser": "^3.1.2" + } + }, + "node_modules/postcss-discard-comments": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", + "integrity": "sha512-yGbyBDo5FxsImE90LD8C87vgnNlweQkODMkUZlDVM/CBgLr9C5RasLGJxxh9GjVOBeG8NcCMatoqI1pXg8JNXg==", + "dev": true, + "dependencies": { + "postcss": "^5.0.14" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", + "integrity": "sha512-+lk5W1uqO8qIUTET+UETgj9GWykLC3LOldr7EehmymV0Wu36kyoHimC4cILrAAYpHQ+fr4ypKcWcVNaGzm0reA==", + "dev": true, + "dependencies": { + "postcss": "^5.0.4" + } + }, + "node_modules/postcss-discard-empty": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", + "integrity": "sha512-IBFoyrwk52dhF+5z/ZAbzq5Jy7Wq0aLUsOn69JNS+7YeuyHaNzJwBIYE0QlUH/p5d3L+OON72Fsexyb7OK/3og==", + "dev": true, + "dependencies": { + "postcss": "^5.0.14" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", + "integrity": "sha512-IyKoDL8QNObOiUc6eBw8kMxBHCfxUaERYTUe2QF8k7j/xiirayDzzkmlR6lMQjrAM1p1DDRTvWrS7Aa8lp6/uA==", + "dev": true, + "dependencies": { + "postcss": "^5.0.16" + } + }, + "node_modules/postcss-discard-unused": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", + "integrity": "sha512-nCbFNfqYAbKCw9J6PSJubpN9asnrwVLkRDFc4KCwyUEdOtM5XDE/eTW3OpqHrYY1L4fZxgan7LLRAAYYBzwzrg==", + "dev": true, + "dependencies": { + "postcss": "^5.0.14", + "uniqs": "^2.0.0" + } + }, + "node_modules/postcss-filter-plugins": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz", + "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==", + "dev": true, + "dependencies": { + "postcss": "^5.0.4" + } + }, + "node_modules/postcss-merge-idents": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", + "integrity": "sha512-9DHmfCZ7/hNHhIKnNkz4CU0ejtGen5BbTRJc13Z2uHfCedeCUsK2WEQoAJRBL+phs68iWK6Qf8Jze71anuysWA==", + "dev": true, + "dependencies": { + "has": "^1.0.1", + "postcss": "^5.0.10", + "postcss-value-parser": "^3.1.1" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", + "integrity": "sha512-ma7YvxjdLQdifnc1HFsW/AW6fVfubGyR+X4bE3FOSdBVMY9bZjKVdklHT+odknKBB7FSCfKIHC3yHK7RUAqRPg==", + "dev": true, + "dependencies": { + "postcss": "^5.0.4" + } + }, + "node_modules/postcss-merge-rules": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", + "integrity": "sha512-Wgg2FS6W3AYBl+5L9poL6ZUISi5YzL+sDCJfM7zNw/Q1qsyVQXXZ2cbVui6mu2cYJpt1hOKCGj1xA4mq/obz/Q==", + "dev": true, + "dependencies": { + "browserslist": "^1.5.2", + "caniuse-api": "^1.5.2", + "postcss": "^5.0.4", + "postcss-selector-parser": "^2.2.2", + "vendors": "^1.0.0" + } + }, + "node_modules/postcss-merge-rules/node_modules/browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha512-qHJblDE2bXVRYzuDetv/wAeHOJyO97+9wxC1cdCtyzgNuSozOyRCiiLaCR1f71AN66lQdVVBipWm63V+a7bPOw==", + "deprecated": "Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.", + "dev": true, + "dependencies": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + }, + "bin": { + "browserslist": "cli.js" + } + }, + "node_modules/postcss-message-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", + "integrity": "sha512-tPLZzVAiIJp46TBbpXtrUAKqedXSyW5xDEo1sikrfEfnTs+49SBZR/xDdqCiJvSSbtr615xDsaMF3RrxS2jZlA==", + "dev": true + }, + "node_modules/postcss-minify-font-values": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", + "integrity": "sha512-vFSPzrJhNe6/8McOLU13XIsERohBJiIFFuC1PolgajOZdRWqRgKITP/A4Z/n4GQhEmtbxmO9NDw3QLaFfE1dFQ==", + "dev": true, + "dependencies": { + "object-assign": "^4.0.1", + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", + "integrity": "sha512-DZhT0OE+RbVqVyGsTIKx84rU/5cury1jmwPa19bViqYPQu499ZU831yMzzsyC8EhiZVd73+h5Z9xb/DdaBpw7Q==", + "dev": true, + "dependencies": { + "postcss": "^5.0.12", + "postcss-value-parser": "^3.3.0" + } + }, + "node_modules/postcss-minify-params": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", + "integrity": "sha512-hhJdMVgP8vasrHbkKAk+ab28vEmPYgyuDzRl31V3BEB3QOR3L5TTIVEWLDNnZZ3+fiTi9d6Ker8GM8S1h8p2Ow==", + "dev": true, + "dependencies": { + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.2", + "postcss-value-parser": "^3.0.2", + "uniqs": "^2.0.0" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", + "integrity": "sha512-e13vxPBSo3ZaPne43KVgM+UETkx3Bs4/Qvm6yXI9HQpQp4nyb7HZ0gKpkF+Wn2x+/dbQ+swNpCdZSbMOT7+TIA==", + "dev": true, + "dependencies": { + "alphanum-sort": "^1.0.2", + "has": "^1.0.1", + "postcss": "^5.0.14", + "postcss-selector-parser": "^2.0.0" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", + "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", + "dev": true, + "dependencies": { + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/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, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/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, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/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, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha512-X4cquUPIaAd86raVrBwO8fwRfkIdbwFu7CTfEOjiZQHVQwlHRSkTgH5NLDmMm5+1hQO8u6dZ+TOOJDbay1hYpA==", + "dev": true, + "dependencies": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/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, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/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, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/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, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha512-LTYwnA4C1He1BKZXIx1CYiHixdSe9LWYVKadq9lK5aCCMkoOkFyZ7aigt+srfjlRplJY3gIol6KUNefdMQJdlw==", + "dev": true, + "dependencies": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-scope/node_modules/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, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope/node_modules/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, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-scope/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-modules-scope/node_modules/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, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha512-i7IFaR9hlQ6/0UgFuqM6YWaCfA1Ej8WMg8A5DggnH1UGKJvTV/ugqq/KaULixzzOi3T/tF6ClBXcHGCzdd5unA==", + "dev": true, + "dependencies": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-values/node_modules/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, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values/node_modules/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, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-values/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-modules-values/node_modules/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, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", + "integrity": "sha512-RKgjEks83l8w4yEhztOwNZ+nLSrJ+NvPNhpS+mVDzoaiRHZQVoG7NF2TP5qjwnaN9YswUhj6m1E0S0Z+WDCgEQ==", + "dev": true, + "dependencies": { + "postcss": "^5.0.5" + } + }, + "node_modules/postcss-normalize-url": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", + "integrity": "sha512-WqtWG6GV2nELsQEFES0RzfL2ebVwmGl/M8VmMbshKto/UClBo+mznX8Zi4/hkThdqx7ijwv+O8HWPdpK7nH/Ig==", + "dev": true, + "dependencies": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^1.4.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3" + } + }, + "node_modules/postcss-ordered-values": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", + "integrity": "sha512-5RB1IUZhkxDCfa5fx/ogp/A82mtq+r7USqS+7zt0e428HJ7+BHCxyeY39ClmkkUtxdOd3mk8gD6d9bjH2BECMg==", + "dev": true, + "dependencies": { + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.1" + } + }, + "node_modules/postcss-reduce-idents": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", + "integrity": "sha512-0+Ow9e8JLtffjumJJFPqvN4qAvokVbdQPnijUDSOX8tfTwrILLP4ETvrZcXZxAtpFLh/U0c+q8oRMJLr1Kiu4w==", + "dev": true, + "dependencies": { + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", + "integrity": "sha512-jJFrV1vWOPCQsIVitawGesRgMgunbclERQ/IRGW7r93uHrVzNQQmHQ7znsOIjJPZ4yWMzs5A8NFhp3AkPHPbDA==", + "dev": true, + "dependencies": { + "postcss": "^5.0.4" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", + "integrity": "sha512-lGgRqnSuAR5i5uUg1TA33r9UngfTadWxOyL2qx1KuPoCQzfmtaHjp9PuwX7yVyRxG3BWBzeFUaS5uV9eVgnEgQ==", + "dev": true, + "dependencies": { + "has": "^1.0.1", + "postcss": "^5.0.8", + "postcss-value-parser": "^3.0.1" + } + }, + "node_modules/postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha512-3pqyakeGhrO0BQ5+/tGTfvi5IAUAhHRayGK8WFSu06aEv2BmHoXw/Mhb+w7VY5HERIuC+QoUI7wgrCcq2hqCVA==", + "dev": true, + "dependencies": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "node_modules/postcss-svgo": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", + "integrity": "sha512-y5AdQdgBoF4rbpdbeWAJuxE953g/ylRfVNp6mvAi61VCN/Y25Tu9p5mh3CyI42WbTRIiwR9a1GdFtmDnNPeskQ==", + "dev": true, + "dependencies": { + "is-svg": "^2.0.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3", + "svgo": "^0.7.0" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", + "integrity": "sha512-WZX8r1M0+IyljoJOJleg3kYm10hxNYF9scqAT7v/xeSX1IdehutOM85SNO0gP9K+bgs86XERr7Ud5u3ch4+D8g==", + "dev": true, + "dependencies": { + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" + } + }, + "node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-zindex": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", + "integrity": "sha512-uhRZ2hRgj0lorxm9cr62B01YzpUe63h0RXMXQ4gWW3oa2rpJh+FJAiEAytaFCPU/VgaBS+uW2SJ1XKyDNz1h4w==", + "dev": true, + "dependencies": { + "has": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" + } + }, + "node_modules/postcss/node_modules/has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss/node_modules/supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", + "dev": true, + "dependencies": { + "has-flag": "^1.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-bytes": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz", + "integrity": "sha512-eb7ZAeUTgfh294cElcu51w+OTRp/6ItW758LjwJSK72LDevcuJn0P4eD71PLMDGPwwatXmAmYHTkzvpKlJE3ow==", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "node_modules/private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "optional": true, + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "dev": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.1.tgz", + "integrity": "sha512-LQy1Q1fcva/UsnP/6Iaa4lVeM49WiOitu2T4hZCyA/elLKu37L99qcBJk4VCCk+rdLvnMzfKyiN3SZTqdAZGSQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/raw-loader": { + "version": "1.0.0-beta.0", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-1.0.0-beta.0.tgz", + "integrity": "sha512-guh4ZNAf96f+CDwfnPbFeFiO5YcfPllUmZrgcoOmx6iqZPq+DcKbnyjPuBxEAtQ3tqqd++qChsQfQB+VBzFT0Q==", + "dev": true + }, + "node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "optional": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recast": { + "version": "0.11.23", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", + "integrity": "sha512-+nixG+3NugceyR8O1bLU45qs84JgI3+8EauyRZafLgC9XbdAOIVgwV1Pe2da0YzGo62KzWoZwUpVEQf6qNAXWA==", + "dev": true, + "dependencies": { + "ast-types": "0.9.6", + "esprima": "~3.1.0", + "private": "~0.1.5", + "source-map": "~0.5.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/recast/node_modules/esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha512-AWwVMNxwhN8+NIPQzAQZCm7RkLC4RbM3B1OobMuyp3i+w73X57KCKaVIxaRZb+DYCojq7rspo+fmuQfAboyhFg==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "dev": true, + "dependencies": { + "resolve": "^1.9.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/reduce-css-calc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", + "integrity": "sha512-0dVfwYVOlf/LBA2ec4OwQ6p3X9mYxn/wOl2xTcLwjnPYrkgEfPx3VI4eGCH3rQLlPISG5v9I9bkZosKsNRTRKA==", + "dev": true, + "dependencies": { + "balanced-match": "^0.4.2", + "math-expression-evaluator": "^1.2.14", + "reduce-function-call": "^1.0.1" + } + }, + "node_modules/reduce-css-calc/node_modules/balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha512-STw03mQKnGUYtoNjmowo4F2cRmIIxYEGiMsjjwla/u5P1lxadj/05WkNaFjNiKTgJkj8KiXbgAiRTmcQRwQNtg==", + "dev": true + }, + "node_modules/reduce-function-call": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.3.tgz", + "integrity": "sha512-Hl/tuV2VDgWgCSEeWMLwxLZqX7OK59eU1guxXsRKTAyeYimivsKdtcV4fu3r710tpG5GmDKDhQ0HSZLExnNmyQ==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "node_modules/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, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==", + "dev": true, + "dependencies": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "node_modules/regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g==", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true, + "optional": true + }, + "node_modules/renderkid": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "dev": true, + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" + } + }, + "node_modules/renderkid/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/renderkid/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", + "dev": true, + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/request": { + "version": "2.81.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha512-IZnsR7voF0miGSu29EXPRgPTuEsI/+aibNSBbN1pplrfartF5wDYGADz3iD9vmBVf2r00rckWZf8BtS5kk7Niw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "optional": true, + "dependencies": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~4.2.1", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "performance-now": "^0.2.0", + "qs": "~6.4.0", + "safe-buffer": "^5.0.1", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.0.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==", + "dev": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/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, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==", + "dev": true, + "dependencies": { + "align-text": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz", + "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/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==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "node_modules/schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/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, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==", + "dev": true + }, + "node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", + "dev": true + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/set-function-length": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", + "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shelljs": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", + "integrity": "sha512-Ny0KN4dyT8ZSCE0frtcbAJGoM/HTArpyPkeli1/00aYfm0sbD/Gk/4x7N2DP9QKGpBsiQH7n6rpm1L79RtviEQ==", + "dev": true, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/side-channel": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz", + "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha512-7bgVOAnPj3XjrKY577S+puCKGCRlUrcrEdsMeRXlg9Ghf5df/xNi6sONUa43WrHUd3TjJBF7O04jYoiY0FVa0A==", + "deprecated": "This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", + "dev": true, + "optional": true, + "dependencies": { + "hoek": "2.x.x" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "dev": true, + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/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, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dev": true, + "optional": true, + "dependencies": { + "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" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sshpk/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.1" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/sticky-sidebar": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/sticky-sidebar/-/sticky-sidebar-3.3.1.tgz", + "integrity": "sha512-9ljX5GP9B1sov0kzGmQeQL5CdearSGH5y9cy3wE3wiGiLtgo577EekE8tNgnqr5ys/d++2+MlCCf4ICbNoaJ3A==", + "dev": true + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-browserify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/stream-browserify/node_modules/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 + }, + "node_modules/stream-browserify/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-http/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/stream-http/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/stream-http/node_modules/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 + }, + "node_modules/stream-http/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", + "dev": true + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + }, + "node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringstream": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", + "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", + "dev": true, + "optional": true + }, + "node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-json-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha512-AOPG8EBc5wAikaG1/7uFCNFJwnKOuQwFTpYBdTW6OvWHeZBQBrAA/amefHGrEiOnCPcLFZK6FUPtWVKpQVIRgg==", + "dev": true, + "bin": { + "strip-json-comments": "cli.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/style-loader": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.21.0.tgz", + "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0", + "schema-utils": "^0.4.5" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svgo": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", + "integrity": "sha512-jT/g9FFMoe9lu2IT6HtAxTA7RR2XOrmcrmCtGnyB/+GQnV6ZjNn+KOHZbZ35yL81+1F/aB6OeEsJztzBQ2EEwA==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "dev": true, + "dependencies": { + "coa": "~1.0.1", + "colors": "~1.1.2", + "csso": "~2.3.1", + "js-yaml": "~3.7.0", + "mkdirp": "~0.5.1", + "sax": "~1.2.1", + "whet.extend": "~0.9.9" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svgo/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/svgo/node_modules/colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha512-ENwblkFQpqqia6b++zLD/KUWafYlVY/UNnAp7oz7LY7E924wmpye416wBOmvv/HMWzl8gL1kJlfvId/1Dg176w==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/svgo/node_modules/esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svgo/node_modules/js-yaml": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", + "integrity": "sha512-eIlkGty7HGmntbV6P/ZlAsoncFLGsNoM27lkTzS+oneY/EiNhj+geqD9ezg/ip+SW6Var0BJU2JtV0vEUZpWVQ==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^2.6.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/sweetalert2": { + "version": "9.17.4", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-9.17.4.tgz", + "integrity": "sha512-T6Js/kjtGmpekE1tPT+drdgsedEnaet03mMadKUMvtBlFzVLcYy8kvIuchaQJ09rhG5bdmRRMQ2sEK0ZnHi1vg==", + "dev": true, + "funding": { + "url": "https://sweetalert2.github.io/#donations" + } + }, + "node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/through2/node_modules/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 + }, + "node_modules/through2/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", + "dev": true + }, + "node_modules/tiny-lr-fork": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/tiny-lr-fork/-/tiny-lr-fork-0.0.5.tgz", + "integrity": "sha512-vhcvny/8f46rrViKV0BOUjVl4c/rDTztnT1+kT7iyD/Igqb/uyiRsKLxMc2Z8CNvTE1Px1tuNrPM+BOUL+3vlQ==", + "dev": true, + "dependencies": { + "debug": "~0.7.0", + "faye-websocket": "~0.4.3", + "noptify": "~0.0.3", + "qs": "~0.5.2" + }, + "bin": { + "tiny-lr-fork": "bin/tiny-lr" + } + }, + "node_modules/tiny-lr-fork/node_modules/debug": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", + "integrity": "sha512-EohAb3+DSHSGx8carOSKJe8G0ayV5/i609OD0J2orCkuyae7SyZSz2aoLmQF2s0Pj5gITDebwPH7GFBlqOUQ1Q==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/tiny-lr-fork/node_modules/qs": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-0.5.6.tgz", + "integrity": "sha512-KbOrQrP5Ye+0gmq+hwxoJwAFRwExACWqwxj1IDFFgqOw9Poxy3wwSbafd9ZqP6T6ykMfnxM573kt/a4i9ybatQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha512-FclLrw8b9bMWf4QlCJuHBEVhSRsqDj6u3nIjAzPeJvgl//1hBlffdlk0MALceL14+koWEdU4ofRAXofbODxQzg==", + "dev": true + }, + "node_modules/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, + "optional": true, + "dependencies": { + "punycode": "^1.4.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ts-loader": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-1.3.3.tgz", + "integrity": "sha512-7jt3RwFLeDY1N7mWWxX8VaX2hW3tSXrDyEKVoBtkKJLrjgU/LLDgflnoY3JyRqk8WnXb23mzPXMY2fJMAwCQDA==", + "dev": true, + "dependencies": { + "colors": "^1.0.3", + "enhanced-resolve": "^3.0.0", + "loader-utils": "^0.2.6", + "object-assign": "^4.1.0", + "semver": "^5.0.1" + } + }, + "node_modules/ts-loader/node_modules/big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/ts-loader/node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/ts-loader/node_modules/emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ts-loader/node_modules/loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha512-tiv66G0SmiOx+pLWMtGEkfSEejxvb6N6uRrQjfWJIT79W9GMpgKeCAmm9aVBKtd4WEgntciI8CsGqjpDoCWJug==", + "dev": true, + "dependencies": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "optional": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true, + "optional": true + }, + "node_modules/typed-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.1.tgz", + "integrity": "sha512-RSqu1UEuSlrBhHTWC8O9FnPjOduNs4M7rJ4pRKoEjtx1zUNOPN2sSXHLDX+Y2WPbHIxbvg4JFo2DNAEfPIKWoQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "node_modules/uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "deprecated": "support for ECMAScript is superseded by `uglify-js` as of v3.13.0", + "dev": true, + "dependencies": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uglify-es/node_modules/commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true + }, + "node_modules/uglify-es/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==", + "dev": true, + "optional": true + }, + "node_modules/uglifyjs-webpack-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", + "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", + "dev": true, + "dependencies": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "schema-utils": "^0.4.5", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "uglify-es": "^3.3.4", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" + }, + "engines": { + "node": ">= 4.8 < 5.0.0 || >= 5.10" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/underscore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", + "integrity": "sha512-cp0oQQyZhUM1kpJDLdGO1jPZHgS/MpzoWYfe9+CM2h/QGDZlqwT2T3YGukuBdaNJ/CAPoeyAZRRHz8JFo176vA==", + "dev": true + }, + "node_modules/underscore.string": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz", + "integrity": "sha512-3FVmhXqelrj6gfgp3Bn6tOavJvW0dNH2T+heTD38JRxIrAbiuzbqjknszoOYj3DyFB1nWiLj208Qt2no/L4cIA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/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, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==", + "dev": true + }, + "node_modules/uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==", + "dev": true + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", + "dev": true + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/uri-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz", + "integrity": "sha512-8pMuAn4KacYdGMkFaoQARicp4HSw24/DHOVKWqVRJ8LhhAwPPFpdGvdL9184JVmUwe7vz7Z9n6IqI6t5n2ELdg==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/url": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "dev": true, + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.11.2" + } + }, + "node_modules/url/node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "dev": true + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "optional": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", + "dev": true + }, + "node_modules/v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "optional": true, + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/verror/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true, + "optional": true + }, + "node_modules/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==", + "dev": true + }, + "node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" + } + }, + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "dev": true, + "optional": true, + "dependencies": { + "chokidar": "^2.1.8" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "optional": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dev": true, + "optional": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "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" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "optional": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "optional": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "dev": true, + "optional": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "optional": true + }, + "node_modules/watchpack-chokidar2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "optional": true, + "dependencies": { + "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" + } + }, + "node_modules/watchpack-chokidar2/node_modules/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, + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/watchpack-chokidar2/node_modules/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, + "optional": true + }, + "node_modules/watchpack-chokidar2/node_modules/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, + "optional": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/waypoints": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/waypoints/-/waypoints-4.0.1.tgz", + "integrity": "sha512-PbydbsTvCFYoE1DaRAKBM4xPQi+7ULcULZ7vK79NLM55da5g46oyY62Xv9X5Z9F7O/qXmcS/XJ7Ae2pYij4bpw==", + "dev": true + }, + "node_modules/webpack": { + "version": "4.23.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.23.1.tgz", + "integrity": "sha512-iE5Cu4rGEDk7ONRjisTOjVHv3dDtcFfwitSxT7evtYj/rANJpt1OuC/Kozh1pBa99AUBr1L/LsaNB+D9Xz3CEg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-module-context": "1.7.10", + "@webassemblyjs/wasm-edit": "1.7.10", + "@webassemblyjs/wasm-parser": "1.7.10", + "acorn": "^5.6.2", + "acorn-dynamic-import": "^3.0.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "chrome-trace-event": "^1.0.0", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.0", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "micromatch": "^3.1.8", + "mkdirp": "~0.5.0", + "neo-async": "^2.5.0", + "node-libs-browser": "^2.0.0", + "schema-utils": "^0.4.4", + "tapable": "^1.1.0", + "uglifyjs-webpack-plugin": "^1.2.4", + "watchpack": "^1.5.0", + "webpack-sources": "^1.3.0" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/webpack-cli": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.2.tgz", + "integrity": "sha512-Cnqo7CeqeSvC6PTdts+dywNi5CRlIPbLx1AoUPK2T6vC1YAugMG3IOoO9DmEscd+Dghw7uRlnzV1KwOe5IrtgQ==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "enhanced-resolve": "^4.1.0", + "global-modules-path": "^2.3.0", + "import-local": "^2.0.0", + "interpret": "^1.1.0", + "loader-utils": "^1.1.0", + "supports-color": "^5.5.0", + "v8-compile-cache": "^2.0.2", + "yargs": "^12.0.2" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "peerDependencies": { + "webpack": "^4.x.x" + } + }, + "node_modules/webpack-cli/node_modules/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, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/node_modules/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, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/webpack-cli/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/webpack-cli/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/webpack-cli/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/webpack-cli/node_modules/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 + }, + "node_modules/webpack-cli/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/webpack-cli/node_modules/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, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-core": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz", + "integrity": "sha512-P6ZUGXn5buTEZyTStCHHLwtWGKSm/jA629Zgp4pcHSsy60CCsT9MaHDxNIPL+GGJ2KwOgI6ORwQtHcrYHAt2UQ==", + "dev": true, + "dependencies": { + "source-list-map": "~0.1.7", + "source-map": "~0.4.1" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/webpack-core/node_modules/source-list-map": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz", + "integrity": "sha512-cabwdhnSNf/tTDMh/DXZXlkeQLvdYT5xfGYBohqHG7wb3bBQrQlHQNWM9NWSOboXXK1zgwz6JzS5e4hZq9vxMw==", + "dev": true + }, + "node_modules/webpack-core/node_modules/source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha512-Y8nIfcb1s/7DcobUz1yOO1GSp7gyL+D9zLHDehT7iRESqGSxjJ448Sg7rvfgsRJCnKLdSl11uGf0s9X80cH0/A==", + "dev": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack-sources/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-uglify-js-plugin": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/webpack-uglify-js-plugin/-/webpack-uglify-js-plugin-1.1.9.tgz", + "integrity": "sha512-tDyLy6w6EcQtPJTHSDMTnRx2zPos8XfmpuZNFsTBUq12Kx0dXfSQEFFk1RhRrV+4OydsnZYATQBEnyBJd+Or9g==", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "uglify-js": "^2.6.4", + "webpack-core": "^0.6.8" + } + }, + "node_modules/webpack-uglify-js-plugin/node_modules/camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-uglify-js-plugin/node_modules/cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==", + "dev": true, + "dependencies": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "node_modules/webpack-uglify-js-plugin/node_modules/uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==", + "dev": true, + "dependencies": { + "source-map": "~0.5.1", + "yargs": "~3.10.0" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + }, + "optionalDependencies": { + "uglify-to-browserify": "~1.0.0" + } + }, + "node_modules/webpack-uglify-js-plugin/node_modules/yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==", + "dev": true, + "dependencies": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + }, + "node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/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, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/webpack/node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/webpack/node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/webpack/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/webpack/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/webpack/node_modules/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 + }, + "node_modules/webpack/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/whet.extend": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", + "integrity": "sha512-mmIPAft2vTgEILgPeZFqE/wWh24SEsR/k+N9fJ3Jxrz44iDFy9aemCxdksfURSHYFCLmvs/d/7Iso5XjPpNfrA==", + "dev": true, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/which": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz", + "integrity": "sha512-E87fdQ/eRJr9W1X4wTPejNy9zTW3FI2vpCZSJ/HAY+TkjKVC0TUm1jk6vn2Z7qay0DQy0+RBGdXxj+RmmiGZKQ==", + "dev": true, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true + }, + "node_modules/which-typed-array": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", + "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.6", + "call-bind": "^1.0.5", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", + "dev": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi/node_modules/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": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + }, + "node_modules/yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/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, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/yargs/node_modules/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, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/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, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/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, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs/node_modules/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, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/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, + "engines": { + "node": ">=6" + } + } + }, + "dependencies": { + "@polymer/font-roboto": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@polymer/font-roboto/-/font-roboto-3.0.2.tgz", + "integrity": "sha512-tx5TauYSmzsIvmSqepUPDYbs4/Ejz2XbZ1IkD7JEGqkdNUJlh+9KU85G56Tfdk/xjEZ8zorFfN09OSwiMrIQWA==", + "dev": true + }, + "@polymer/iron-a11y-announcer": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@polymer/iron-a11y-announcer/-/iron-a11y-announcer-3.2.0.tgz", + "integrity": "sha512-We+hyaFHcg7Ke8ovsoxUpYEXFIJLHxMCDaLehTB4dELS+C+K0zMnGSiqQvb/YzGS+nSYpAfkQIyg1msOCdHMtA==", + "dev": true, + "requires": { + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/iron-a11y-keys": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-a11y-keys/-/iron-a11y-keys-3.0.1.tgz", + "integrity": "sha512-zmTi8xHeY4ZMJLAitW2hAmW5zXZ35hVy/eHQUFadAlOccuBK3oRRmoPRQRaZgpyJrCVFDAQRXXzzJtUDil/0CA==", + "dev": true, + "requires": { + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/iron-a11y-keys-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-a11y-keys-behavior/-/iron-a11y-keys-behavior-3.0.1.tgz", + "integrity": "sha512-lnrjKq3ysbBPT/74l0Fj0U9H9C35Tpw2C/tpJ8a+5g8Y3YJs1WSZYnEl1yOkw6sEyaxOq/1DkzH0+60gGu5/PQ==", + "dev": true, + "requires": { + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/iron-ajax": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-ajax/-/iron-ajax-3.0.1.tgz", + "integrity": "sha512-7+TPEAfWsRdhj1Y8UeF1759ktpVu+c3sG16rJiUC3wF9+woQ9xI1zUm2d59i7Yc3aDEJrR/Q8Y262KlOvyGVNg==", + "dev": true, + "requires": { + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/iron-autogrow-textarea": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@polymer/iron-autogrow-textarea/-/iron-autogrow-textarea-3.0.3.tgz", + "integrity": "sha512-5r0VkWrIlm0JIp5E5wlnvkw7slK72lFRZXncmrsLZF+6n1dg2rI8jt7xpFzSmUWrqpcyXwyKaGaDvUjl3j4JLA==", + "dev": true, + "requires": { + "@polymer/iron-behaviors": "^3.0.0-pre.26", + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/iron-validatable-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/iron-behaviors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-behaviors/-/iron-behaviors-3.0.1.tgz", + "integrity": "sha512-IMEwcv1lhf1HSQxuyWOUIL0lOBwmeaoSTpgCJeP9IBYnuB1SPQngmfRuHKgK6/m9LQ9F9miC7p3HeQQUdKAE0w==", + "dev": true, + "requires": { + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/iron-checked-element-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-checked-element-behavior/-/iron-checked-element-behavior-3.0.1.tgz", + "integrity": "sha512-aDr0cbCNVq49q+pOqa6CZutFh+wWpwPMLpEth9swx+GkAj+gCURhuQkaUYhIo5f2egDbEioR1aeHMnPlU9dQZA==", + "dev": true, + "requires": { + "@polymer/iron-form-element-behavior": "^3.0.0-pre.26", + "@polymer/iron-validatable-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/iron-fit-behavior": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@polymer/iron-fit-behavior/-/iron-fit-behavior-3.1.0.tgz", + "integrity": "sha512-ABcgIYqrjhmUT8tiuolqeGttF/8pd3sEymUDrO1vXbZu4FWIvoLNndrMDFvs++AGd12Mjf5pYy84NJc6dB8Vig==", + "dev": true, + "requires": { + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/iron-flex-layout": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-flex-layout/-/iron-flex-layout-3.0.1.tgz", + "integrity": "sha512-7gB869czArF+HZcPTVSgvA7tXYFze9EKckvM95NB7SqYF+NnsQyhoXgKnpFwGyo95lUjUW9TFDLUwDXnCYFtkw==", + "dev": true, + "requires": { + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/iron-form-element-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-form-element-behavior/-/iron-form-element-behavior-3.0.1.tgz", + "integrity": "sha512-G/e2KXyL5AY7mMjmomHkGpgS0uAf4ovNpKhkuUTRnMuMJuf589bKqE85KN4ovE1Tzhv2hJoh/igyD6ekHiYU1A==", + "dev": true, + "requires": { + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/iron-meta": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-meta/-/iron-meta-3.0.1.tgz", + "integrity": "sha512-pWguPugiLYmWFV9UWxLWzZ6gm4wBwQdDy4VULKwdHCqR7OP7u98h+XDdGZsSlDPv6qoryV/e3tGHlTIT0mbzJA==", + "dev": true, + "requires": { + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/iron-overlay-behavior": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@polymer/iron-overlay-behavior/-/iron-overlay-behavior-3.0.3.tgz", + "integrity": "sha512-Q/Fp0+uOQQ145ebZ7T8Cxl4m1tUKYjyymkjcL2rXUm+aDQGb1wA1M1LYxUF5YBqd+9lipE0PTIiYwA2ZL/sznA==", + "dev": true, + "requires": { + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/iron-fit-behavior": "^3.0.0-pre.26", + "@polymer/iron-resizable-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/iron-resizable-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-resizable-behavior/-/iron-resizable-behavior-3.0.1.tgz", + "integrity": "sha512-FyHxRxFspVoRaeZSWpT3y0C9awomb4tXXolIJcZ7RvXhMP632V5lez+ch5G5SwK0LpnAPkg35eB0LPMFv+YMMQ==", + "dev": true, + "requires": { + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/iron-validatable-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-validatable-behavior/-/iron-validatable-behavior-3.0.1.tgz", + "integrity": "sha512-wwpYh6wOa4fNI+jH5EYKC7TVPYQ2OfgQqocWat7GsNWcsblKYhLYbwsvEY5nO0n2xKqNfZzDLrUom5INJN7msQ==", + "dev": true, + "requires": { + "@polymer/iron-meta": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/paper-behaviors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-behaviors/-/paper-behaviors-3.0.1.tgz", + "integrity": "sha512-6knhj69fPJejv8qR0kCSUY+Q0XjaUf0OSnkjRjmTJPAwSrRYtgqE+l6P1FfA+py1X/cUjgne9EF5rMZAKJIg1g==", + "dev": true, + "requires": { + "@polymer/iron-behaviors": "^3.0.0-pre.26", + "@polymer/iron-checked-element-behavior": "^3.0.0-pre.26", + "@polymer/paper-ripple": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/paper-button": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-button/-/paper-button-3.0.1.tgz", + "integrity": "sha512-JRNBc+Oj9EWnmyLr7FcCr8T1KAnEHPh6mosln9BUdkM+qYaYsudSICh3cjTIbnj6AuF5OJidoLkM1dlyj0j6Zg==", + "dev": true, + "requires": { + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/paper-behaviors": "^3.0.0-pre.27", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/paper-ripple": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@polymer/paper-ripple/-/paper-ripple-3.0.2.tgz", + "integrity": "sha512-DnLNvYIMsiayeICroYxx6Q6Hg1cUU8HN2sbutXazlemAlGqdq80qz3TIaVdbpbt/pvjcFGX2HtntMlPstCge8Q==", + "dev": true, + "requires": { + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/paper-spinner": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@polymer/paper-spinner/-/paper-spinner-3.0.2.tgz", + "integrity": "sha512-XUzu8/4NH+pnNZUTI2MxtOKFAr0EOsW7eGhTg3VBhTh7DDW/q3ewzwYRWnqNJokX9BEnxKMiXXaIeTEBq4k2dw==", + "dev": true, + "requires": { + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/paper-styles": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-styles/-/paper-styles-3.0.1.tgz", + "integrity": "sha512-y6hmObLqlCx602TQiSBKHqjwkE7xmDiFkoxdYGaNjtv4xcysOTdVJsDR/R9UHwIaxJ7gHlthMSykir1nv78++g==", + "dev": true, + "requires": { + "@polymer/font-roboto": "^3.0.1", + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/paper-toast": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-toast/-/paper-toast-3.0.1.tgz", + "integrity": "sha512-pizuogzObniDdICUc6dSLrnDt2VzzoRne1gCmbD6sfOATVv5tc8UfrqhA2iHngbNBEbniBiciS3iogdp5KTVUQ==", + "dev": true, + "requires": { + "@polymer/iron-a11y-announcer": "^3.0.0-pre.26", + "@polymer/iron-fit-behavior": "^3.0.0-pre.26", + "@polymer/iron-overlay-behavior": "^3.0.0-pre.27", + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/paper-toggle-button": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-toggle-button/-/paper-toggle-button-3.0.1.tgz", + "integrity": "sha512-jadZB60fycT7YnSAH0H23LYo6/2HYmMZTtNr9LpdSIRFPLX6mqqxewex92cFz019bMKaRJgORn308hRlJo2u6A==", + "dev": true, + "requires": { + "@polymer/iron-checked-element-behavior": "^3.0.0-pre.26", + "@polymer/paper-behaviors": "^3.0.0-pre.27", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/paper-tooltip": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-tooltip/-/paper-tooltip-3.0.1.tgz", + "integrity": "sha512-yiUk09opTEnE1lK+tb501ENb+yQBi4p++Ep0eGJAHesVYKVMPNgPphVKkIizkDaU+n0SE+zXfTsRbYyOMDYXSg==", + "dev": true, + "requires": { + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "@polymer/polymer": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@polymer/polymer/-/polymer-3.5.1.tgz", + "integrity": "sha512-JlAHuy+1qIC6hL1ojEUfIVD58fzTpJAoCxFwV5yr0mYTXV1H8bz5zy0+rC963Cgr9iNXQ4T9ncSjC2fkF9BQfw==", + "dev": true, + "requires": { + "@webcomponents/shadycss": "^1.9.1" + } + }, + "@types/clone": { + "version": "0.1.30", + "resolved": "https://registry.npmjs.org/@types/clone/-/clone-0.1.30.tgz", + "integrity": "sha512-vcxBr+ybljeSiasmdke1cQ9ICxoEwaBgM1OQ/P5h4MPj/kRyLcDl5L8PrftlbyV1kBbJIs3M3x1A1+rcWd4mEA==", + "dev": true + }, + "@types/node": { + "version": "6.14.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-6.14.13.tgz", + "integrity": "sha512-J1F0XJ/9zxlZel5ZlbeSuHW2OpabrUAqpFuC2sm2I3by8sERQ8+KCjNKUcq8QHuzpGMWiJpo9ZxeHrqrP2KzQw==", + "dev": true + }, + "@types/parse5": { + "version": "2.2.34", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-2.2.34.tgz", + "integrity": "sha512-p3qOvaRsRpFyEmaS36RtLzpdxZZnmxGuT1GMgzkTtTJVFuEw7KFjGK83MFODpJExgX1bEzy9r0NYjMC3IMfi7w==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@webassemblyjs/ast": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.10.tgz", + "integrity": "sha512-wTUeaByYN2EA6qVqhbgavtGc7fLTOx0glG2IBsFlrFG51uXIGlYBTyIZMf4SPLo3v1bgV/7lBN3l7Z0R6Hswew==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.7.10", + "@webassemblyjs/helper-wasm-bytecode": "1.7.10", + "@webassemblyjs/wast-parser": "1.7.10" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.10.tgz", + "integrity": "sha512-gMsGbI6I3p/P1xL2UxqhNh1ga2HCsx5VBB2i5VvJFAaqAjd2PBTRULc3BpTydabUQEGlaZCzEUQhLoLG7TvEYQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.10.tgz", + "integrity": "sha512-DoYRlPWtuw3yd5BOr9XhtrmB6X1enYF0/54yNvQWGXZEPDF5PJVNI7zQ7gkcKfTESzp8bIBWailaFXEK/jjCsw==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.10.tgz", + "integrity": "sha512-+RMU3dt/dPh4EpVX4u5jxsOlw22tp3zjqE0m3ftU2tsYxnPULb4cyHlgaNd2KoWuwasCQqn8Mhr+TTdbtj3LlA==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.10.tgz", + "integrity": "sha512-UiytbpKAULOEab2hUZK2ywXen4gWJVrgxtwY3Kn+eZaaSWaRM8z/7dAXRSoamhKFiBh1uaqxzE/XD9BLlug3gw==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.7.10" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.10.tgz", + "integrity": "sha512-w2vDtUK9xeSRtt5+RnnlRCI7wHEvLjF0XdnxJpgx+LJOvklTZPqWkuy/NhwHSLP19sm9H8dWxKeReMR7sCkGZA==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.10.tgz", + "integrity": "sha512-yE5x/LzZ3XdPdREmJijxzfrf+BDRewvO0zl8kvORgSWmxpRrkqY39KZSq6TSgIWBxkK4SrzlS3BsMCv2s1FpsQ==", + "dev": true + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.10.tgz", + "integrity": "sha512-u5qy4SJ/OrxKxZqJ9N3qH4ZQgHaAzsopsYwLvoWJY6Q33r8PhT3VPyNMaJ7ZFoqzBnZlCcS/0f4Sp8WBxylXfg==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.10.tgz", + "integrity": "sha512-Ecvww6sCkcjatcyctUrn22neSJHLN/TTzolMGG/N7S9rpbsTZ8c6Bl98GpSpV77EvzNijiNRHBG0+JO99qKz6g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-buffer": "1.7.10", + "@webassemblyjs/helper-wasm-bytecode": "1.7.10", + "@webassemblyjs/wasm-gen": "1.7.10" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.10.tgz", + "integrity": "sha512-HRcWcY+YWt4+s/CvQn+vnSPfRaD4KkuzQFt5MNaELXXHSjelHlSEA8ZcqT69q0GTIuLWZ6JaoKar4yWHVpZHsQ==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.10.tgz", + "integrity": "sha512-og8MciYlA8hvzCLR71hCuZKPbVBfLQeHv7ImKZ4nlyxrYbG7uJHYtHiHu6OV9SqrGuD03H/HtXC4Bgdjfm9FHw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.1" + } + }, + "@webassemblyjs/utf8": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.10.tgz", + "integrity": "sha512-Ng6Pxv6siyZp635xCSnH3mKmIFgqWPCcGdoo0GBYgyGdxu7cUj4agV7Uu1a8REP66UYUFXJLudeGgd4RvuJAnQ==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.10.tgz", + "integrity": "sha512-e9RZFQlb+ZuYcKRcW9yl+mqX/Ycj9+3/+ppDI8nEE/NCY6FoK8f3dKBcfubYV/HZn44b+ND4hjh+4BYBt+sDnA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-buffer": "1.7.10", + "@webassemblyjs/helper-wasm-bytecode": "1.7.10", + "@webassemblyjs/helper-wasm-section": "1.7.10", + "@webassemblyjs/wasm-gen": "1.7.10", + "@webassemblyjs/wasm-opt": "1.7.10", + "@webassemblyjs/wasm-parser": "1.7.10", + "@webassemblyjs/wast-printer": "1.7.10" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.10.tgz", + "integrity": "sha512-M0lb6cO2Y0PzDye/L39PqwV+jvO+2YxEG5ax+7dgq7EwXdAlpOMx1jxyXJTScQoeTpzOPIb+fLgX/IkLF8h2yw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-wasm-bytecode": "1.7.10", + "@webassemblyjs/ieee754": "1.7.10", + "@webassemblyjs/leb128": "1.7.10", + "@webassemblyjs/utf8": "1.7.10" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.10.tgz", + "integrity": "sha512-R66IHGCdicgF5ZliN10yn5HaC7vwYAqrSVJGjtJJQp5+QNPBye6heWdVH/at40uh0uoaDN/UVUfXK0gvuUqtVg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-buffer": "1.7.10", + "@webassemblyjs/wasm-gen": "1.7.10", + "@webassemblyjs/wasm-parser": "1.7.10" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.10.tgz", + "integrity": "sha512-AEv8mkXVK63n/iDR3T693EzoGPnNAwKwT3iHmKJNBrrALAhhEjuPzo/lTE4U7LquEwyvg5nneSNdTdgrBaGJcA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-api-error": "1.7.10", + "@webassemblyjs/helper-wasm-bytecode": "1.7.10", + "@webassemblyjs/ieee754": "1.7.10", + "@webassemblyjs/leb128": "1.7.10", + "@webassemblyjs/utf8": "1.7.10" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.10.tgz", + "integrity": "sha512-YTPEtOBljkCL0VjDp4sHe22dAYSm3ZwdJ9+2NTGdtC7ayNvuip1wAhaAS8Zt9Q6SW9E5Jf5PX7YE3XWlrzR9cw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/floating-point-hex-parser": "1.7.10", + "@webassemblyjs/helper-api-error": "1.7.10", + "@webassemblyjs/helper-code-frame": "1.7.10", + "@webassemblyjs/helper-fsm": "1.7.10", + "@xtuc/long": "4.2.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.10.tgz", + "integrity": "sha512-mJ3QKWtCchL1vhU/kZlJnLPuQZnlDOdZsyP0bbLWPGdYsQDnSBvyTLhzwBA3QAMlzEL9V4JHygEmK6/OTEyytA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/wast-parser": "1.7.10", + "@xtuc/long": "4.2.1" + } + }, + "@webcomponents/shadycss": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/@webcomponents/shadycss/-/shadycss-1.11.2.tgz", + "integrity": "sha512-vRq+GniJAYSBmTRnhCYPAPq6THYqovJ/gzGThWbgEZUQaBccndGTi1hdiUP15HzEco0I6t4RCtXyX0rsSmwgPw==", + "dev": true + }, + "@webcomponents/webcomponentsjs": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@webcomponents/webcomponentsjs/-/webcomponentsjs-2.8.0.tgz", + "integrity": "sha512-loGD63sacRzOzSJgQnB9ZAhaQGkN7wl2Zuw7tsphI5Isa0irijrRo6EnJii/GgjGefIFO8AIO7UivzRhFaEk9w==", + "dev": true + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz", + "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==", + "dev": true + }, + "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": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", + "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", + "dev": true, + "requires": { + "acorn": "^5.0.0" + } + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha512-AU7pnZkguthwBjKgCg6998ByQNIMjbuDQZ8bb78QAFZwPfmKia8AIzgY/gWgqCjnht8JLdXmB4YxA0KaV60ncQ==", + "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": "sha512-OLUyIIZ7mF5oaAUT1w0TFqQS81q3saT46x8t7ukpPjMNk+nbs4ZHhs7ToV8EWnLYLepjETXd4XaCE4uxkMeqUw==", + "dev": true + } + } + }, + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==", + "dev": true, + "optional": true, + "requires": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "optional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "argparse": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz", + "integrity": "sha512-LjmC2dNpdn2L4UzyoaIr11ELYoLn37ZFy9zObrQFHsSuOepeUEMKnM8w5KL4Tnrp2gy88rRuQt6Ky8Bjml+Baw==", + "dev": true, + "requires": { + "underscore": "~1.7.0", + "underscore.string": "~2.4.0" + }, + "dependencies": { + "underscore.string": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz", + "integrity": "sha512-yxkabuCaIBnzfIvX3kBxQqCs0ar/bfJwDnFEHJUm/ZrRVhT3IItdRF5cZjARLzEnyQYtIUhsZ2LG2j3HidFOFQ==", + "dev": true + } + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "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": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true + }, + "array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + } + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", + "dev": true + }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "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": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true + }, + "array.prototype.reduce": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", + "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + } + }, + "arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + } + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true, + "optional": true + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "optional": true, + "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==", + "dev": true, + "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.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "assert": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", + "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", + "dev": true, + "requires": { + "object.assign": "^4.1.4", + "util": "^0.10.4" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "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" + } + } + } + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw==", + "dev": true, + "optional": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true + }, + "ast-types": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", + "integrity": "sha512-qEdtR2UH78yyHX/AUNfXmJTlM48XoFZKBdwi1nzkI1mJL21cmbu0cvjxjpkXJ5NENMq42H+hNs8VLJcqXLerBQ==", + "dev": true + }, + "async": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz", + "integrity": "sha512-2tEzliJmf5fHNafNwQLJXUasGzQCVctvsNkXmnlELHwypU0p08/rHohYvkqKIjyXpx+0rkrYv6QbhJ+UF4QkBg==", + "dev": true + }, + "async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "dev": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "optional": true + }, + "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 + }, + "autoprefixer": { + "version": "6.7.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", + "integrity": "sha512-WKExI/eSGgGAkWAO+wMVdFObZV7hQen54UpD1kCCTN3tvlL3W1jL4+lPP/M7MwoP7Q4RHzKtO3JQ4HxYEcd+xQ==", + "dev": true, + "requires": { + "browserslist": "^1.7.6", + "caniuse-db": "^1.0.30000634", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^5.2.16", + "postcss-value-parser": "^3.2.3" + }, + "dependencies": { + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha512-qHJblDE2bXVRYzuDetv/wAeHOJyO97+9wxC1cdCtyzgNuSozOyRCiiLaCR1f71AN66lQdVVBipWm63V+a7bPOw==", + "dev": true, + "requires": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + } + } + } + }, + "available-typed-arrays": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz", + "integrity": "sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==", + "dev": true + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha512-JnJpAS0p9RmixkOvW2XwDxxzs1bd4/VAGIl6Q0EC5YOo+p+hqIhtDhn/nmFnB/xUNXbLkpE2mOjgVIBRKD4xYw==", + "dev": true, + "optional": true + }, + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true, + "optional": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha512-gCtfYORSG1fUMX4kKraymq607FWgMWg+j42IFPc18kFQEsmtaibP4UrqsXt8FlEJle25HUd4tsoDR7H2wDhe9Q==", + "dev": true, + "requires": { + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha512-RL8n2NiEj+kKztlrVJM9JT1cXzzAdvWFh76xh/H1I4nKwunzE4INBXn8ieCZ+wh4zWszZk7NBS1s/8HR5jDkzQ==", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha512-bHkmjcC9lM1kmZcVpA5t2om2nzT/xiZpo6TJq7UlZ3wqKfzia4veeXbIhKvJXAMzhhEBd3cR1IElL5AenWEUpA==", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha512-qe5csbhbvq6ccry9G7tkXbzNtcDiH4r51rrPUbwwoTzZ18AqxWYRZT6AOmxrpxKnQBW0pYlBI/8vh73Z//78nQ==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha512-Oo6+e2iX+o9eVvJ9Y5eKL5iryeRdsIkwRYheCuhYdVHsdEQysbc2z2QkqCLIYnNxkT5Ss3ggrHdXiDI7Dhrn4Q==", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha512-WfgKFX6swFB1jS2vo+DwivRN4NB8XUdM3ij0Y1gnC21y1tdBoe6xjVnd7NSI6alv+gZXCtJqvrTeMW3fR/c0ng==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha512-zAYl3tqerLItvG5cKYw7f1SpvIxS9zi7ohyGHaI9cgDUjAT6YcY9jIEH5CstetP5wHIVSceXwNS7Z5BpJg+rOw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha512-Op9IhEaxhbRT8MDXx2iNuMgciu2V8lDvYCNQbDGjdBNCjaMvyLf4wl4A3b8IgndCyQF8TwfgsQ8T3VD8aX1/pA==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha512-VlPiWmqmGJp0x0oK27Out1D+71nVVCTSdlbhIVoaBAj2lUgrNjBCRR9+llO4lTSb2O4r7PJg+RobRkhBrf6ofg==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha512-RYqaPD0mQyQIFRu7Ho5wE2yvA/5jxqCIj/Lv4BXNq23mHYu/vxikOy2JueLiBxQknwapwrJeNCesvY0ZcfnlHg==", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha512-sLI+u7sXJh6+ToqDr57Bv973kCepItDhMou0xCP2YPVmR1jkHSCY+p1no8xErbV1Siz5QE8qKT1WIwybSWlqjw==", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-loader": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.5.tgz", + "integrity": "sha512-iCHfbieL5d1LfOQeeVJEUyD9rTwBcP/fcEbRCfempxTDuqrKpu0AZjLAQHEQa3Yqyj9ORKe2iHfoj4rHLf7xpw==", + "dev": true, + "requires": { + "find-cache-dir": "^1.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha512-B1M5KBP29248dViEo1owyY32lk1ZSH2DaNNrXLGt8lyjjHm7pBqAdQ7VKUPR6EEDO323+OvT3MQXbCin8ooWdA==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha512-4Zp4unmHgw30A1eWI5EpACji2qMocisdXhAftfhXoSV9j0Tvj6nRFE3tOmRY912E0FMRm/L5xWE7MGVT2FoLnw==", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha512-Z/flU+T9ta0aIEKl1tGEmN/pZiI1uXmCiGFRegKacQfEJzp7iNsKloZmyJlQr+75FCJtiFfGIK03SiCvCt9cPQ==", + "dev": true + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha512-C4Aq+GaAj83pRQ0EFgTvw5YO6T3Qz2KGrNRwIj9mSoNHVvdZY4KO2uA6HNtNXCw993iSZnckY1aLW8nOi8i4+w==", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha512-Gx9CH3Q/3GKbhs07Bszw5fPTlU+ygrOGfAhEt7W2JICwufpC4SuO0mG0+4NykPBSYPMJhqvVlDBU17qB1D+hMQ==", + "dev": true + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha512-7BgYJujNCg0Ti3x0c/DL3tStvnKS6ktIYOmo9wginv/dfZOrbSZ+qG4IRRHMBOzZ5Awb1skTiAsQXg/+IWkZYw==", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha512-PCqwwzODXW7JMrzu+yZIaYbPQSKjDTAsNNlK2l5Gg9g4rz2VzLnZsStvp/3c46GfXpwkyufb3NCyG9+50FF1Vg==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha512-2+ujAT2UMBzYFm7tidUsYh+ZoIutxJ3pN9IYrF1/H6dCKtECfhmB8UkHVpyxDwkj0CYbQG35ykoz925TUnBc3A==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha512-YiN6sFAQ5lML8JjCmr7uerS5Yc/EMbgg9G8ZNmk2E3nYX4ckHR01wrkeeMijEf5WHNK5TW0Sl0Uu3pv3EdOJWw==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag==", + "dev": true, + "requires": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha512-C/uAv4ktFP/Hmh01gMTvYvICrKze0XVX9f2PdIXuriCSvUmV9j+u+BB9f5fJK3+878yMK6dkdcq+Ymr9mrcLzw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha512-aNv/GDAW0j/f4Uy1OEPZn1mqD+Nfy9viFGBfQ5bZyT35YqOiqx7/tXdyfZkJ1sC21NyEsBdfDY6PYmLHF4r5iA==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha512-ossocTuPOssfxO2h+Z3/Ea1Vo1wWx31Uqy9vIiJusOP4TbF7tPs9U0sJ9pX9OJPf4lXRGj5+6Gkl/HHKiAP5ug==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha512-DLuRwoygCoXx+YfxHLkVx5/NpeSbVwfoTeBykpJK7JhYWlL/O8hgAK/reforUnZDlxasOrVPPJVI/guE3dCwkw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha512-iFp5KIcorf11iBqu/y/a7DK3MN5di3pNCzto61FqCNnUX4qeBwcV1SLqe10oXNnCaxBUImX3SckX2/o1nsrTcg==", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha512-tjFl0cwMPpDYyoqYA9li1/7mGFit39XiNX5DKC/uCNjBctMxyL1/PT/l4rSlbvBG1pOKI88STRdUsWXB3/Q9hQ==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha512-LnIIdGWIKdw7zwckqx+eGjcS8/cl8D74A3BpJbGjKTFFNJSMrjN4bIh22HY1AlkUbeLG6X6OZj56BDvWD+OeFA==", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha512-ONFIPsq8y4bls5PPsAWYXH/21Hqv64TBxdje0FvU3MhIV6QM2j5YS7KvAzg/nTIVLot2D2fmFQrFWCbgHlFEjg==", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw==", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA==", + "dev": true, + "requires": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha512-8HxlW+BB5HqniD+nLkQ4xSAVq3bR/pcYW9IigY+2y0dI+Y7INFeTbfAQr+63T3E4UDsZGjyb+l9txUnABWxlOQ==", + "dev": true, + "requires": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha512-mDdocSfUVm1/7Jw/FIRNw9vPrBQNePy6wZJlR8HAUBLybNp1w/6lr6zZ2pjMShee65t/ybR5pT8ulkLzD1xwiw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha512-3Ghhi26r4l3d0Js933E5+IhHwk0A1yiutj9gwvzmFbVV0sPMYk2lekhOufHBswX7NCoSeF4Xrl3sCIuSIa+zOg==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha512-CYP359ADryTo3pCsH0oxRo/0yn6UsEZLqYohHmvLQdfS9xkf+MbCzE3/Kolw9OYIY4ZMilH25z/5CbQbwDD+lQ==", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha512-x8b9W0ngnKzDMHimVtTfn5ryimars1ByTqsfBDwAqLibmuuQY6pgBQi5z1ErIsUOWBdw1bW9FSz5RZUojM4apg==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha512-fz6J2Sf4gYN6gWgRZaoFXmq93X+Li/8vf+fb0sGDVtdeWvxC9y5/bTD7bvfWMEq6zetGEHpWjtzRGSugt5kNqw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha512-v61Dbbihf5XxnYjtBN04B/JBvsScY37R1cZT5r9permN1cp+b70DY3Ib3fIkgn1DI9U3tGgBJZVD8p/mE/4JbQ==", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha512-LzXDmbMkklvNhprr20//RStKVcT8Cu+SQtX18eMHLhjHf2yFzwtQ0S2f0jQ+89rokoNdmwoSqYzAhq86FxlLSQ==", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha512-ocgA9VJvyxwt+qJB0ncxV8kb/CjfTcECUY4tQ5VT7nP6Aohzobm8CDFaQ5FHdvZQzLmf0sgDxB8iRXZXxwZcyA==", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha512-LS+dBkUGlNR15/5WHKe/8Neawx663qttS6AGqoOUhICc9d1KciBvtrQSuc0PI+CxQ2Q/S1aKuJ+u64GtLdcEZg==", + "dev": true, + "requires": { + "regenerator-transform": "^0.10.0" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-preset-env": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", + "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.0", + "babel-plugin-transform-es2015-function-name": "^6.22.0", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^3.2.6", + "invariant": "^2.2.2", + "semver": "^5.3.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==", + "dev": true, + "requires": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "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": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "optional": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q==", + "dev": true, + "optional": true, + "requires": { + "hoek": "2.x.x" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz", + "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==", + "dev": true, + "requires": { + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.4", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.6", + "readable-stream": "^3.6.2", + "safe-buffer": "^5.2.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.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==", + "dev": true, + "requires": { + "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==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + } + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "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" + } + }, + "call-bind": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.6.tgz", + "integrity": "sha512-Mj50FLHtlsoVfRfnHaZvyrooHcrlceNZdL/QBvJJVd9Ta55qCQK0gs4ss2oZDeV9zFCs6ewzYgVE5yfVmfFpVg==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "set-function-length": "^1.2.0" + } + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-api": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", + "integrity": "sha512-SBTl70K0PkDUIebbkXrxWqZlHNs0wRgRD6QZ8guctShjbh63gEPfF+Wj0Yw+75f5Y8tSzqAI/NcisYv/cCah2Q==", + "dev": true, + "requires": { + "browserslist": "^1.3.6", + "caniuse-db": "^1.0.30000529", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + }, + "dependencies": { + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha512-qHJblDE2bXVRYzuDetv/wAeHOJyO97+9wxC1cdCtyzgNuSozOyRCiiLaCR1f71AN66lQdVVBipWm63V+a7bPOw==", + "dev": true, + "requires": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + } + } + } + }, + "caniuse-db": { + "version": "1.0.30001587", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001587.tgz", + "integrity": "sha512-NIFEWUR4TZVBj+BUeWXfl84dtylzKFe2xQ1GWTV98orUAbCUjju5fgJhbgDB4F0e3ySYjh8ohGpDoLJkbdFD3w==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001587", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001587.tgz", + "integrity": "sha512-HMFNotUmLXn71BQxg8cijvqxnIAofforZOwGsxyXJ0qugTdspUF4sPSJ2vhgprHCB996tIDzEq1ubumPDV8ULA==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true, + "optional": true + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==", + "dev": true, + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "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" + } + }, + "chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "optional": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "optional": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "optional": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "optional": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "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==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "clap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", + "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "dev": true, + "requires": { + "chalk": "^1.1.3" + } + }, + "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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + } + } + }, + "clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "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 + } + } + }, + "cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", + "integrity": "sha512-41U72MB56TfUMGndAKK8vJ78eooOD4Z5NOL4xEfjc0c23s+6EYKXlXsmACBVclLP1yOfWCgEganVzddVrSNoTg==", + "dev": true, + "requires": { + "exit": "0.1.2", + "glob": "^7.1.1" + } + }, + "clipboard": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz", + "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==", + "dev": true, + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "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.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "optional": true + }, + "coa": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", + "integrity": "sha512-KAGck/eNAmCL0dcT3BiuYwLbExK6lduR8DxM3C1TyDzaXhZHyZ8ooX5I5+na2e3dPFuibfxrGdorr0/Lr7RYCQ==", + "dev": true, + "requires": { + "q": "^1.1.2" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "dev": true + }, + "coffee-script": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz", + "integrity": "sha512-QjQ1T4BqyHv19k6XSfdhy/QLlIOhywz0ekBUCa9h71zYMJlfDTGan/Z1JXzYkZ6v8R+GhvL/p4FZPbPW8WNXlg==", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", + "integrity": "sha512-Ajpjd8asqZ6EdxQeqGzU5WBhhTfJ/0cA4Wlbre7e5vXfmDSmda7Ov6jeKoru+b0vHcb1CqvuroTHp5zIWzhVMA==", + "dev": true, + "requires": { + "clone": "^1.0.2", + "color-convert": "^1.3.0", + "color-string": "^0.3.0" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true + } + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha512-sz29j1bmSDfoAxKIEU6zwoIZXN6BrFbAMIhfYCNyiZXBDuU/aiHlN84lp/xDzL2ubyFhLDobHIlU1X70XRrMDA==", + "dev": true, + "requires": { + "color-name": "^1.0.0" + } + }, + "colormin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", + "integrity": "sha512-XSEQUUQUR/lXqGyddiNH3XYFUPYlYr1vXy9rTFMsSOw+J7Q6EQkdlQIrTlYn4TccpsOaUE1PYQNjBn20gwCdgQ==", + "dev": true, + "requires": { + "color": "^0.11.0", + "css-color-names": "0.0.4", + "has": "^1.0.1" + } + }, + "colors": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "integrity": "sha512-OsSVtHK8Ir8r3+Fxw/b4jS1ZLPXkV6ZxDRJQzeD7qo0SqMXWrHDM71DgYzPMHY8SFJ0Ao+nNU2p1MmwdzKqPrw==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "optional": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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" + } + } + } + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha512-duS7VP5pvfsNLDvL1O4VOEbw37AI3A4ZUQYemvDlnpGrNu9tprR7BYWpDYwC0Xia0Zxz5ZupdiIrUp0GH1aXfg==", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true + }, + "copy-webpack-plugin": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", + "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==", + "dev": true, + "requires": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "globby": "^7.1.1", + "is-glob": "^4.0.0", + "loader-utils": "^1.1.0", + "minimatch": "^3.0.4", + "p-limit": "^1.0.0", + "serialize-javascript": "^1.4.0" + } + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "dev": true + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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": "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" + }, + "dependencies": { + "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" + } + } + } + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha512-FFN5KwpvvQTTS5hWPxrU8/QE4kQUc6uwZcrnlMBN82t1MgAtq8mnoDwINBly9Tdr02seeIIhtdF+UH1feBYGog==", + "dev": true, + "optional": true, + "requires": { + "boom": "2.x.x" + } + }, + "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==", + "dev": true, + "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" + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==", + "dev": true + }, + "css-loader": { + "version": "0.28.11", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", + "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "cssnano": "^3.10.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash.camelcase": "^4.3.0", + "object-assign": "^4.1.1", + "postcss": "^5.0.6", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" + } + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "dependencies": { + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + } + } + }, + "css-selector-tokenizer": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", + "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssnano": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", + "integrity": "sha512-0o0IMQE0Ezo4b41Yrm8U6Rp9/Ag81vNXY1gZMnT1XhO4DpjEf2utKERqWJbOoz3g1Wdc1d3QSta/cIuJ1wSTEg==", + "dev": true, + "requires": { + "autoprefixer": "^6.3.1", + "decamelize": "^1.1.2", + "defined": "^1.0.0", + "has": "^1.0.1", + "object-assign": "^4.0.1", + "postcss": "^5.0.14", + "postcss-calc": "^5.2.0", + "postcss-colormin": "^2.1.8", + "postcss-convert-values": "^2.3.4", + "postcss-discard-comments": "^2.0.4", + "postcss-discard-duplicates": "^2.0.1", + "postcss-discard-empty": "^2.0.1", + "postcss-discard-overridden": "^0.1.1", + "postcss-discard-unused": "^2.2.1", + "postcss-filter-plugins": "^2.0.0", + "postcss-merge-idents": "^2.1.5", + "postcss-merge-longhand": "^2.0.1", + "postcss-merge-rules": "^2.0.3", + "postcss-minify-font-values": "^1.0.2", + "postcss-minify-gradients": "^1.0.1", + "postcss-minify-params": "^1.0.4", + "postcss-minify-selectors": "^2.0.4", + "postcss-normalize-charset": "^1.1.0", + "postcss-normalize-url": "^3.0.7", + "postcss-ordered-values": "^2.1.0", + "postcss-reduce-idents": "^2.2.2", + "postcss-reduce-initial": "^1.0.0", + "postcss-reduce-transforms": "^1.0.3", + "postcss-svgo": "^2.1.1", + "postcss-unique-selectors": "^2.0.2", + "postcss-value-parser": "^3.2.3", + "postcss-zindex": "^2.0.1" + } + }, + "csso": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", + "integrity": "sha512-FmCI/hmqDeHHLaIQckMhMZneS84yzUZdrWDAvJVVxOwcKE1P1LF9FGmzr1ktIQSxOw6fl3PaQsmfg+GN+VvR3w==", + "dev": true, + "requires": { + "clap": "^1.0.9", + "source-map": "^0.5.3" + } + }, + "cyclist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "optional": true + } + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha512-AsElvov3LoNB7tf5k37H2jYSB+ZZPMT5sG2QjJCcdlV5chIv6htBUBUui2IKRjgtKAKtCBN7Zbwa+MtwLjSeNw==", + "dev": true + }, + "dateformat": { + "version": "1.0.2-1.2.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz", + "integrity": "sha512-AXvW8g7tO4ilk5HgOWeDmPi/ZPaCnMJ+9Cg1I3p19w6mcvAAXBuuGEXAxybC+Djj1PSZUiHUcyoYu7WneCX8gQ==", + "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": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true + }, + "deep-for-each": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/deep-for-each/-/deep-for-each-2.0.3.tgz", + "integrity": "sha512-Y9mu+rplGcNZ7veer+5rqcdI9w3aPb7/WyE/nYnsuPevaE2z5YuC2u7/Gz/hIKsa0zo8sE8gKoBimSNsO/sr+A==", + "dev": true, + "requires": { + "lodash.isplainobject": "^4.0.6" + } + }, + "define-data-property": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.2.tgz", + "integrity": "sha512-SRtsSqsDbgpJBbW3pABMCOt6rQyeM8s8RiyeSN8jYG8sYmt/kGJejbydttUsnDs1tadr19tvhT4ShwMyoqAm4g==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.2", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + } + }, + "define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "requires": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "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" + } + }, + "defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "optional": true + }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", + "dev": true + }, + "des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + } + } + }, + "dom5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/dom5/-/dom5-2.3.0.tgz", + "integrity": "sha512-ziGSSl2krBPjKfjeXkFu5VB8YJaZLP49EFwwJ3j3I0OGOsY8XPjrgoWCphf8H6MzTyBFPHdZA1R0ctZoXyplvA==", + "dev": true, + "requires": { + "@types/clone": "^0.1.29", + "@types/node": "^6.0.0", + "@types/parse5": "^2.2.32", + "clone": "^2.1.0", + "parse5": "^2.2.2" + }, + "dependencies": { + "parse5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-2.2.3.tgz", + "integrity": "sha512-yJQdbcT+hCt6HD+BuuUvjHUdNwerQIKSJSm7tXjtp6oIH5Mxbzlt/VIIeWxblsgcDt1+E7kxPeilD5McWswStA==", + "dev": true + } + } + }, + "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==", + "dev": true + }, + "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.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha512-q9bUwjfp7Eif8jWxxxPSykdRZAb6GkguBGSgvvCrhI9wB71W2K/Kvv4E61CF/mcCfnVJDeDWx/Vb/uAqbDj6UQ==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dropzone": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/dropzone/-/dropzone-5.9.3.tgz", + "integrity": "sha512-Azk8kD/2/nJIuVPK+zQ9sjKMRIpRvNyqn9XwbBHNq+iNuSccbJS6hwm1Woy0pMST0erSo0u4j+KJaodndDk4vA==", + "dev": true + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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" + } + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "electron-to-chromium": { + "version": "1.4.665", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.665.tgz", + "integrity": "sha512-UpyCWObBoD+nSZgOC2ToaIdZB0r9GhqT2WahPKiSki6ckkSuKhQNso8V2PrFcHBMleI/eqbKgVQgVC4Wni4ilw==", + "dev": true + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "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" + } + }, + "enhanced-resolve": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", + "integrity": "sha512-ZaAux1rigq1e2nQrztHn4h2ugvpzZxs64qneNah+8Mh/K0CRqJFJc+UoXnUsq+1yX+DmQFPPdVqboKAJ89e0Iw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "object-assign": "^4.0.1", + "tapable": "^0.2.7" + }, + "dependencies": { + "tapable": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz", + "integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==", + "dev": true + } + } + }, + "entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha512-LbLqfXgJMmy81t+7c14mnulFHJ170cM6E+0vMXR9k/ZiZwgX8i5pNgjTCX3SO4VeUsFLV+8InixoretwU+MjBQ==", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "es-abstract": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.5", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.13" + } + }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true + }, + "es-set-tostringtag": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es6-templates": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/es6-templates/-/es6-templates-0.2.3.tgz", + "integrity": "sha512-sziUVwcvQ+lOsrTyUY0Q11ilAPj+dy7AQ1E1MgSaHTaaAFTffaa08QSlGNU61iyVaroyb6nYdBV6oD7nzn6i8w==", + "dev": true, + "requires": { + "recast": "~0.11.12", + "through": "~2.3.6" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "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" + } + }, + "espree": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "requires": { + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" + } + }, + "esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha512-rp5dMKN8zEs9dfi9g0X1ClLmV//WRyk/R15mppFNICIFRG5P92VP7Z04p8pk++gABo9W2tY+kHyu6P1mEHgmTA==", + "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.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "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 + }, + "eventemitter2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", + "integrity": "sha512-K7J4xq5xAD5jHsGM5ReWXRTFa3JRGofHiMcVgQ8PRwgWxzjHpMWCIzsmyf60+mh8KLsqYPcjUMa0AC4hd6lPyQ==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.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" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "exports-loader": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.6.4.tgz", + "integrity": "sha512-koRSTJrocXi3l7MKXSJPbNKUmewV2CewsWCZW+5KYxgkiZBjlEo4Z+DJuHDq4WzOi19drlyuT1xY7ADmwln8zQ==", + "dev": true, + "requires": { + "loader-utils": "^1.0.2", + "source-map": "0.5.x" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "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": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "optional": true + }, + "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==", + "dev": true + }, + "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==", + "dev": true + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "dev": true + }, + "favico.js": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/favico.js/-/favico.js-0.3.10.tgz", + "integrity": "sha512-S5KvqAOczRjlyjQPPZPSlUEybBkfBgKosY/pzTIxkvKgigB+DkITvIEI70dxQarbv4PZ+UD77QzquCAcU/6LHQ==", + "dev": true + }, + "faye-websocket": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.4.4.tgz", + "integrity": "sha512-78pqrJbvGZSe8i+PLsPd+aJqTyGqgyWLnMw5NOwtXCTVMzEFh1zQPwIuIL/ycTj4rkDy5zZ9B6frYPqVPJBzyQ==", + "dev": true + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "file-sync-cmp": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz", + "integrity": "sha512-0k45oWBokCqh2MOexeYKpyqmGKG+8mQ2Wd8iawx+uWd/weWJQAZ6SoPybagdCI4xFisag8iAR77WPm4h3pTfxA==", + "dev": true + }, + "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, + "optional": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha512-46TFiBOzX7xq/PcSWfFwkyjpemdRnMe31UQF+os0y+1W3k95f6R4SEt02Hj4p3X0Mir9gfrkmOtshFidS0VPUg==", + "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": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "findup-sync": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz", + "integrity": "sha512-yjftfYnF4ThYEvKEV/kEFR15dmtyXTAh3vQnzpJUoc7Naj5y1P0Ck7Zs1+Vroa00E3KT3IYsk756S+8WA5dNLw==", + "dev": true, + "requires": { + "glob": "~3.2.9", + "lodash": "~2.4.1" + }, + "dependencies": { + "glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "integrity": "sha512-hVb0zwEZwC1FXSKRPFTeOtN7AArJcJlI6ULGLtrstaswKNlrTJqAA+1lYlSUop4vjA423xlBzqfVS3iWGlqJ+g==", + "dev": true, + "requires": { + "inherits": "2", + "minimatch": "0.3" + } + }, + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha512-Kak1hi6/hYHGVPmdyiZijoQyz5x2iGVzs6w9GYB/HiXEtylY7tIoYEROMjvM1d9nXJqPOrG2MNPMn01bJ+S0Rw==", + "dev": true + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha512-WpibWJ60c3AgAz8a2iYErDrcT2C7OmKnsWhIcHOjkUHFjkXncJhtLxNSqUmxRxRunpb5I8Vprd7aNSd2NtksJQ==", + "dev": true + }, + "minimatch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "integrity": "sha512-WFX1jI1AaxNTZVOHLBVazwTWKaQjoykSzCBNXB72vDTCzopQGtyP91tKdFK5cv1+qMwPyiTu1HqUriqplI8pcA==", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + } + } + } + }, + "fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + } + }, + "flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true + }, + "flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", + "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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" + } + } + } + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "optional": true + }, + "form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha512-8HWGSLAPr+AG0hBpsqi5Ob8HrLStN/LWeqhpFl14d7FJgHK48TmgLoALPz69XSUR65YJzDfLUX/BM8+MLJLghQ==", + "dev": true, + "optional": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "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": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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" + } + } + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "gaze": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", + "integrity": "sha512-3IWbXGkDDHFX8zIlNdfnmhvlSMhpBO6tDr4InB8fGku6dh/gjFPGNqcdsXJajZg05x9jRzXbL6gCnCnuMap4tw==", + "dev": true, + "requires": { + "globule": "~0.1.0" + } + }, + "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.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + }, + "dependencies": { + "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" + } + } + } + }, + "get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true + }, + "getobject": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", + "integrity": "sha512-hIGEBfnHcZpWkXPsAVeVmpYDvfy/matVl03yOY91FPmnpCC12Lm5izNxCjO3lHAeO6uaTwMxu7g450Siknlhig==", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "optional": true + } + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-modules-path": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.1.tgz", + "integrity": "sha512-y+shkf4InI7mPRHSo2b/k6ix6+NLDtyccYv86whhxrSGX9wjPX1VMITmrDbE1eh7zkzhiWtW2sHklJYoQ62Cxg==", + "dev": true + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "dependencies": { + "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" + } + } + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g==", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "globule": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", + "integrity": "sha512-3eIcA2OjPCm4VvwIwZPzIxCVssA8HSpM2C6c6kK5ufJH4FGwWoyqL3In19uuX4oe+TwH3w2P1nQDmW56iehO4A==", + "dev": true, + "requires": { + "glob": "~3.1.21", + "lodash": "~1.0.1", + "minimatch": "~0.2.11" + }, + "dependencies": { + "glob": { + "version": "3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "integrity": "sha512-ANhy2V2+tFpRajE3wN4DhkNQ08KDr0Ir1qL12/cUe5+a7STEK8jkW4onUYuY8/06qAFuT5je7mjAqzx0eKI2tQ==", + "dev": true, + "requires": { + "graceful-fs": "~1.2.0", + "inherits": "1", + "minimatch": "~0.2.11" + } + }, + "graceful-fs": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", + "integrity": "sha512-iiTUZ5vZ+2ZV+h71XAgwCSu6+NAizhFU3Yw8aC/hH5SQ3SnISqEqAek40imAFGtDcwJKNhXvSY+hzIolnLwcdQ==", + "dev": true + }, + "inherits": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", + "integrity": "sha512-Al67oatbRSo3RV5hRqIoln6Y5yMVbJSIn4jEJNL7VCImzq/kLr7vvb6sFRJXqr8rpHc/2kJOM+y0sPKN47VdzA==", + "dev": true + }, + "lodash": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", + "integrity": "sha512-0VSEDVec/Me2eATuoiQd8IjyBMMX0fahob8YJ96V1go2RjvCk1m1GxmtfXn8RNSaLaTtop7fsuhhu9oLk3hUgA==", + "dev": true + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha512-WpibWJ60c3AgAz8a2iYErDrcT2C7OmKnsWhIcHOjkUHFjkXncJhtLxNSqUmxRxRunpb5I8Vprd7aNSd2NtksJQ==", + "dev": true + }, + "minimatch": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "integrity": "sha512-zZ+Jy8lVWlvqqeM8iZB7w7KmQkoJn8djM585z88rywrEbzoqawVa9FR5p2hwD+y74nfuKOjmNvi9gtWJNLqHvA==", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + } + } + } + }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==", + "dev": true, + "requires": { + "delegate": "^3.1.2" + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "grunt": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz", + "integrity": "sha512-1iq3ylLjzXqz/KSq1OAE2qhnpcbkF2WyhsQcavZt+YmgvHu0EbPMEhGhy2gr0FP67isHpRdfwjB5WVeXXcJemQ==", + "dev": true, + "requires": { + "async": "~0.1.22", + "coffee-script": "~1.3.3", + "colors": "~0.6.2", + "dateformat": "1.0.2-1.2.3", + "eventemitter2": "~0.4.13", + "exit": "~0.1.1", + "findup-sync": "~0.1.2", + "getobject": "~0.1.0", + "glob": "~3.1.21", + "grunt-legacy-log": "~0.1.0", + "grunt-legacy-util": "~0.2.0", + "hooker": "~0.2.3", + "iconv-lite": "~0.2.11", + "js-yaml": "~2.0.5", + "lodash": "~0.9.2", + "minimatch": "~0.2.12", + "nopt": "~1.0.10", + "rimraf": "~2.2.8", + "underscore.string": "~2.2.1", + "which": "~1.0.5" + }, + "dependencies": { + "glob": { + "version": "3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "integrity": "sha512-ANhy2V2+tFpRajE3wN4DhkNQ08KDr0Ir1qL12/cUe5+a7STEK8jkW4onUYuY8/06qAFuT5je7mjAqzx0eKI2tQ==", + "dev": true, + "requires": { + "graceful-fs": "~1.2.0", + "inherits": "1", + "minimatch": "~0.2.11" + } + }, + "graceful-fs": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", + "integrity": "sha512-iiTUZ5vZ+2ZV+h71XAgwCSu6+NAizhFU3Yw8aC/hH5SQ3SnISqEqAek40imAFGtDcwJKNhXvSY+hzIolnLwcdQ==", + "dev": true + }, + "inherits": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", + "integrity": "sha512-Al67oatbRSo3RV5hRqIoln6Y5yMVbJSIn4jEJNL7VCImzq/kLr7vvb6sFRJXqr8rpHc/2kJOM+y0sPKN47VdzA==", + "dev": true + }, + "lodash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz", + "integrity": "sha512-LVbt/rjK62gSbhehDVKL0vlaime4Y1IBixL+bKeNfoY4L2zab/jGrxU6Ka05tMA/zBxkTk5t3ivtphdyYupczw==", + "dev": true + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha512-WpibWJ60c3AgAz8a2iYErDrcT2C7OmKnsWhIcHOjkUHFjkXncJhtLxNSqUmxRxRunpb5I8Vprd7aNSd2NtksJQ==", + "dev": true + }, + "minimatch": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "integrity": "sha512-zZ+Jy8lVWlvqqeM8iZB7w7KmQkoJn8djM585z88rywrEbzoqawVa9FR5p2hwD+y74nfuKOjmNvi9gtWJNLqHvA==", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + } + }, + "rimraf": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha512-R5KMKHnPAQaZMqLOsyuyUmcIjSeDm+73eoqQpaXA7AZ22BL+6C+1mcUscgOsNd8WVlJuvlgAPsegcx7pjlV0Dg==", + "dev": true + } + } + }, + "grunt-cli": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", + "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", + "dev": true, + "requires": { + "grunt-known-options": "~2.0.0", + "interpret": "~1.1.0", + "liftup": "~3.0.1", + "nopt": "~4.0.1", + "v8flags": "~3.2.0" + }, + "dependencies": { + "nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "dev": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + } + } + }, + "grunt-contrib-concat": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-0.5.1.tgz", + "integrity": "sha512-on8j+wGXvo6yVEDjyoUsFU2GeYcpZ9Qhj78XQMeU3yDYSPcHfCeuOo2hV8GAQO9u1JuQFEHgA0O7wFKXO7miqg==", + "dev": true, + "requires": { + "chalk": "^0.5.1", + "source-map": "^0.3.0" + }, + "dependencies": { + "ansi-regex": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha512-sGwIGMjhYdW26/IhwK2gkWWI8DRCVO6uj3hYgHT+zD+QL1pa37tM3ujhyfcJIYSbsxp7Gxhy7zrRW/1AHm4BmA==", + "dev": true + }, + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha512-f2PKUkN5QngiSemowa6Mrk9MPCdtFiOSmibjZ+j1qhLGHHYsqZwmBMRF3IRMVXo8sybDqx2fJl2d/8OphBoWkA==", + "dev": true + }, + "chalk": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha512-bIKA54hP8iZhyDT81TOsJiQvR1gW+ZYSXFaZUAvoD4wCHdbHY2actmpTE4x344ZlFqHbvoxKOaESULTZN2gstg==", + "dev": true, + "requires": { + "ansi-styles": "^1.1.0", + "escape-string-regexp": "^1.0.0", + "has-ansi": "^0.1.0", + "strip-ansi": "^0.3.0", + "supports-color": "^0.2.0" + } + }, + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha512-1YsTg1fk2/6JToQhtZkArMkurq8UoWU1Qe0aR3VUHjgij4nOylSWLWAtBXoZ4/dXOmugfLGm1c+QhuD0JyedFA==", + "dev": true, + "requires": { + "ansi-regex": "^0.2.0" + } + }, + "source-map": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.3.0.tgz", + "integrity": "sha512-jz8leTIGS8+qJywWiO9mKza0hJxexdeIYXhDHw9avTQcXSNAGk3hiiRMpmI2Qf9dOrZDrDpgH9VNefzuacWC9A==", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + }, + "strip-ansi": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha512-DerhZL7j6i6/nEnVG0qViKXI0OKouvvpsAiaj7c+LfqZZZxdwZtv8+UiA/w4VUJpT8UzX0pR1dcHOii1GbmruQ==", + "dev": true, + "requires": { + "ansi-regex": "^0.2.1" + } + }, + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha512-tdCZ28MnM7k7cJDJc7Eq80A9CsRFAAOZUy41npOZCs++qSjfIy7o5Rh46CBk+Dk5FbKJ33X3Tqg4YrV07N5RaA==", + "dev": true + } + } + }, + "grunt-contrib-copy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz", + "integrity": "sha512-gFRFUB0ZbLcjKb67Magz1yOHGBkyU6uL29hiEW1tdQ9gQt72NuMKIy/kS6dsCbV0cZ0maNCb0s6y+uT1FKU7jA==", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "file-sync-cmp": "^0.1.0" + } + }, + "grunt-contrib-jshint": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.12.0.tgz", + "integrity": "sha512-pzMchF5BY+Pt9c8wxT6L/dK6Oc/hPdtFJ5cZy6t9LI7kJUlG0ghPzFDNu4w7bohfjYl1HVY1bUVQ1VpvGkil6Q==", + "dev": true, + "requires": { + "hooker": "^0.2.3", + "jshint": "~2.9.1" + }, + "dependencies": { + "jshint": { + "version": "2.9.7", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.7.tgz", + "integrity": "sha512-Q8XN38hGsVQhdlM+4gd1Xl7OB1VieSuCJf+fEJjpo59JH99bVJhXRXAh26qQ15wfdd1VPMuDWNeSWoNl53T4YA==", + "dev": true, + "requires": { + "cli": "~1.0.0", + "console-browserify": "1.1.x", + "exit": "0.1.x", + "htmlparser2": "3.8.x", + "lodash": "~4.17.10", + "minimatch": "~3.0.2", + "shelljs": "0.3.x", + "strip-json-comments": "1.0.x" + } + }, + "minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "grunt-contrib-less": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-1.4.1.tgz", + "integrity": "sha512-NI8pp1KL3c43iR6OLWRyla6I5FLSpvbT5R6UzGHvdRDT0cM0WVfDiIAqqnjDL9z7pPr3ZyOrum5Jn1CIATmHxQ==", + "dev": true, + "requires": { + "async": "^2.0.0", + "chalk": "^1.0.0", + "less": "~2.7.1", + "lodash": "^4.8.2" + }, + "dependencies": { + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + } + } + }, + "grunt-contrib-uglify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-4.0.1.tgz", + "integrity": "sha512-dwf8/+4uW1+7pH72WButOEnzErPGmtUvc8p08B0eQS/6ON0WdeQu0+WFeafaPTbbY1GqtS25lsHWaDeiTQNWPg==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "maxmin": "^2.1.0", + "uglify-js": "^3.5.0", + "uri-path": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "grunt-contrib-watch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-0.6.1.tgz", + "integrity": "sha512-Ea4f3anehA6G+S88vyTwewA/Mf6SbadTIxSgQClKbZYnHOcJ0PrGc2p+uzR6hS9gp7DG6ObvaxkmE8HKnLOsfA==", + "dev": true, + "requires": { + "async": "~0.2.9", + "gaze": "~0.5.1", + "lodash": "~2.4.1", + "tiny-lr-fork": "0.0.5" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha512-eAkdoKxU6/LkKDBzLpT+t6Ff5EtfSF4wx1WfJiPEEV7WNLnDaRXk0oVysiEPm262roaachGexwUv94WhSgN5TQ==", + "dev": true + }, + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha512-Kak1hi6/hYHGVPmdyiZijoQyz5x2iGVzs6w9GYB/HiXEtylY7tIoYEROMjvM1d9nXJqPOrG2MNPMn01bJ+S0Rw==", + "dev": true + } + } + }, + "grunt-known-options": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-2.0.0.tgz", + "integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==", + "dev": true + }, + "grunt-legacy-log": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz", + "integrity": "sha512-qYs/uM0ImdzwIXLhS4O5WLV5soAM+PEqqHI/hzSxlo450ERSccEhnXqoeDA9ZozOdaWuYnzTOTwRcVRogleMxg==", + "dev": true, + "requires": { + "colors": "~0.6.2", + "grunt-legacy-log-utils": "~0.1.1", + "hooker": "~0.2.3", + "lodash": "~2.4.1", + "underscore.string": "~2.3.3" + }, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha512-Kak1hi6/hYHGVPmdyiZijoQyz5x2iGVzs6w9GYB/HiXEtylY7tIoYEROMjvM1d9nXJqPOrG2MNPMn01bJ+S0Rw==", + "dev": true + }, + "underscore.string": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "integrity": "sha512-hbD5MibthuDAu4yA5wxes5bzFgqd3PpBJuClbRxaNddxfdsz+qf+1kHwrGQFrmchmDHb9iNU+6EHDn8uj0xDJg==", + "dev": true + } + } + }, + "grunt-legacy-log-utils": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz", + "integrity": "sha512-D0vbUX00TFYCKNZtcZzemMpwT8TR/FdRs1pmfiBw6qnUw80PfsjV+lhIozY/3eJ3PSG2zj89wd2mH/7f4tNAlw==", + "dev": true, + "requires": { + "colors": "~0.6.2", + "lodash": "~2.4.1", + "underscore.string": "~2.3.3" + }, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha512-Kak1hi6/hYHGVPmdyiZijoQyz5x2iGVzs6w9GYB/HiXEtylY7tIoYEROMjvM1d9nXJqPOrG2MNPMn01bJ+S0Rw==", + "dev": true + }, + "underscore.string": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "integrity": "sha512-hbD5MibthuDAu4yA5wxes5bzFgqd3PpBJuClbRxaNddxfdsz+qf+1kHwrGQFrmchmDHb9iNU+6EHDn8uj0xDJg==", + "dev": true + } + } + }, + "grunt-legacy-util": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz", + "integrity": "sha512-cXPbfF8aM+pvveQeN1K872D5fRm30xfJWZiS63Y8W8oyIPLClCsmI8bW96Txqzac9cyL4lRqEBhbhJ3n5EzUUQ==", + "dev": true, + "requires": { + "async": "~0.1.22", + "exit": "~0.1.1", + "getobject": "~0.1.0", + "hooker": "~0.2.3", + "lodash": "~0.9.2", + "underscore.string": "~2.2.1", + "which": "~1.0.5" + }, + "dependencies": { + "lodash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz", + "integrity": "sha512-LVbt/rjK62gSbhehDVKL0vlaime4Y1IBixL+bKeNfoY4L2zab/jGrxU6Ka05tMA/zBxkTk5t3ivtphdyYupczw==", + "dev": true + } + } + }, + "grunt-webpack": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/grunt-webpack/-/grunt-webpack-3.1.3.tgz", + "integrity": "sha512-SaZ8K8lG4iTxs7ClZxOWCf3kxqS2y+Eel8SbaEGgBKwhAp6e45beIu+vhBZRLX3vonKML2kjemKsQ21REaqNFQ==", + "dev": true, + "requires": { + "deep-for-each": "^2.0.2", + "lodash": "^4.7.0" + } + }, + "gzip-size": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz", + "integrity": "sha512-6s8trQiK+OMzSaCSVXX+iqIcLV9tC+E73jrJrJTyS4h/AJhlxHvzFKqM1YLDJWRGgHX8uLkBeXkA0njNj39L4w==", + "dev": true, + "requires": { + "duplexer": "^0.1.1" + } + }, + "har-schema": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha512-f8xf2GOR6Rgwc9FPTLNzgwB+JQ2/zMauYXSWmX5YV5acex6VomT0ocSuwR7BfXo5MpHi+jL+saaux2fwsGJDKQ==", + "dev": true, + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha512-5Gbp6RAftMYYV3UEI4c4Vv3+a4dQ7taVyvHt+/L6kRt+f4HX1GweAk5UDWN0SvdVnRBzGQ6OG89pGaD9uSFnVw==", + "dev": true, + "optional": true, + "requires": { + "ajv": "^4.9.1", + "har-schema": "^1.0.5" + } + }, + "has": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.2" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.3" + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "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": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "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": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "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==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.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==", + "dev": true, + "requires": { + "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==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hasown": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "dev": true, + "requires": { + "function-bind": "^1.1.2" + } + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha512-X8xbmTc1cbPXcQV4WkLcRMALuyoxhfpFATmyuCxJPOAvrDS4DNnsTAOmKUxMTOWU6TzrTOkxPKwIx5ZOpJVSrg==", + "dev": true, + "optional": true, + "requires": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ==", + "dev": true, + "optional": true + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hooker": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", + "integrity": "sha512-t+UerCsQviSymAInD01Pw+Dn/usmz1sRO+3Zk1+lx8eg+WKpD2ulcwWqHHL0+aseRBr+3+vIhiG1K1JTwaIcTA==", + "dev": true + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", + "dev": true + }, + "html-loader": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-0.4.5.tgz", + "integrity": "sha512-RQB5YK5c/dvBFHalLhCFHwUHjMcH7IhlqO5FpmxIsPzkm/5e0t/iB+1pkPi3txofOlCs+YS5asEhlMpG50mc6Q==", + "dev": true, + "requires": { + "es6-templates": "^0.2.2", + "fastparse": "^1.1.1", + "html-minifier": "^3.0.1", + "loader-utils": "^1.0.2", + "object-assign": "^4.1.0" + } + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "dev": true, + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + }, + "dependencies": { + "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 + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "dev": true, + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + } + } + } + } + }, + "html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-Br4ifmjQojUP4EmHnRBoUIYcZ9J7M4bTMcm7u6xoIAIuq2Nte4TzXX0533owvkQKQD1WeMTTTyD4Ni4QKxS0Bg==", + "dev": true, + "requires": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha512-tiv66G0SmiOx+pLWMtGEkfSEejxvb6N6uRrQjfWJIT79W9GMpgKeCAmm9aVBKtd4WEgntciI8CsGqjpDoCWJug==", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + } + } + }, + "htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha512-hBxEg3CYXe+rPIua8ETe7tmG3XDn9B0edOE/e9wH2nLczxzgdu0m0aNHY+5wFZiviLWLdANPJTssa92dMcXQ5Q==", + "dev": true, + "requires": { + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" + } + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha512-iUn0NcRULlDGtqNLN1Jxmzayk8ogm7NToldASyZBpM2qggbphjXzNOiw3piN8tgz+e/DRs6X5gAzFwTI6BCRcg==", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "^0.2.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": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "iconv-lite": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", + "integrity": "sha512-KhmFWgaQZY83Cbhi+ADInoUQ8Etn6BG5fikM9syeOjQltvR45h7cRKJ/9uvQEuD61I3Uju77yYce0/LhKVClQw==", + "dev": true + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==", + "dev": true + }, + "icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "integrity": "sha512-bsVoyn/1V4R1kYYjLcWLedozAM4FClZUdjE9nIr8uWY7xs78y9DATgwz2wGU7M+7z55KenmmTkN2DVJ7bqzjAA==", + "dev": true, + "requires": { + "postcss": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "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 + }, + "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" + } + } + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", + "dev": true + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "optional": true + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "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 + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + } + } + }, + "imports-loader": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.7.1.tgz", + "integrity": "sha512-tQ1upp3IcLH8YRk9b9PlJi7BsAGQhGRlgyLil6uZ/6kFb7C0H9YH9XwDVIjxl/TxFgQ0Wkrx8VRt1Ff2Vf6Mag==", + "dev": true, + "requires": { + "loader-utils": "^1.0.2", + "source-map": "^0.5.6" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + } + }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha512-CLM8SNMDu7C5psFCn6Wg/tgpj/bKAg7hc2gWqcuR9OD5Ft9PhBpIu8PLicPeis+xDd6YX2ncI8MCA64I9tftIA==", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "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 + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", + "dev": true, + "requires": { + "hasown": "^2.0.0" + } + }, + "is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, + "is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "requires": { + "hasown": "^2.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", + "dev": true, + "requires": { + "hasown": "^2.0.0" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + }, + "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" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "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": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true + }, + "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-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-svg": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", + "integrity": "sha512-Ya1giYJUkcL/94quj0+XGcmts6cETPBW1MiFz1ReJrnDJ680F52qpAEGAEGU0nq96FRGIGPx6Yo1CyPXcOoyGw==", + "dev": true, + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "requires": { + "which-typed-array": "^1.1.14" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true, + "optional": true + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "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 + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true, + "optional": true + }, + "jquery": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-1.11.3.tgz", + "integrity": "sha512-pHM/XLofp0FJc0/0AsRm8q/5ob+a1kno+vfclXGozaMBPv3qD7Xq19loECVcBB4MOLdygnyneQMPTsH5QiVNBQ==", + "dev": true + }, + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==", + "dev": true + }, + "js-yaml": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz", + "integrity": "sha512-VEKcIksckDBUhg2JS874xVouiPkywVUh4yyUmLCDe1Zg3bCd6M+F1eGPenPeHLc2XC8pp9G8bsuofK0NeEqRkA==", + "dev": true, + "requires": { + "argparse": "~ 0.1.11", + "esprima": "~ 1.0.2" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true, + "optional": true + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==", + "dev": true + }, + "jshint": { + "version": "2.13.6", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.13.6.tgz", + "integrity": "sha512-IVdB4G0NTTeQZrBoM8C5JFVLjV2KtZ9APgybDA1MK73xb09qFs0jCXyQLnCOp1cSZZZbvhq/6mfXHUTaDkffuQ==", + "dev": true, + "requires": { + "cli": "~1.0.0", + "console-browserify": "1.1.x", + "exit": "0.1.x", + "htmlparser2": "3.8.x", + "lodash": "~4.17.21", + "minimatch": "~3.0.2", + "strip-json-comments": "1.0.x" + }, + "dependencies": { + "minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "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.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true, + "optional": true + }, + "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==", + "dev": true + }, + "json-stable-stringify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz", + "integrity": "sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==", + "dev": true, + "optional": true, + "requires": { + "call-bind": "^1.0.5", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "optional": true + } + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "optional": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", + "dev": true + }, + "jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "dev": true, + "optional": true + }, + "jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "optional": true + } + } + }, + "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 + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==", + "dev": true + }, + "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" + } + }, + "less": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/less/-/less-2.7.3.tgz", + "integrity": "sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==", + "dev": true, + "requires": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "mime": "^1.2.11", + "mkdirp": "^0.5.0", + "promise": "^7.1.1", + "request": "2.81.0", + "source-map": "^0.5.3" + } + }, + "liftup": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz", + "integrity": "sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==", + "dev": true, + "requires": { + "extend": "^3.0.2", + "findup-sync": "^4.0.0", + "fined": "^1.2.0", + "flagged-respawn": "^1.0.1", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.1", + "rechoir": "^0.7.0", + "resolve": "^1.19.0" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "findup-sync": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", + "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" + } + }, + "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" + } + }, + "make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "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": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", + "dev": true + }, + "math-expression-evaluator": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.4.0.tgz", + "integrity": "sha512-4vRUvPyxdO8cWULGTh9dZWL2tZK6LDBvj+OGHBER7poH9Qdt7kXEoj20wiz4lQUbUXQZFjPbe5mVDo9nutizCw==", + "dev": true + }, + "maxmin": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-2.1.0.tgz", + "integrity": "sha512-NWlApBjW9az9qRPaeg7CX4sQBWwytqz32bIEo1PW9pRW+kBP9KLRfJO3UC+TV31EcQZEUq7eMzikC7zt3zPJcw==", + "dev": true, + "requires": { + "chalk": "^1.0.0", + "figures": "^1.0.1", + "gzip-size": "^3.0.0", + "pretty-bytes": "^3.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==", + "dev": true, + "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" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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" + } + } + } + }, + "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" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "optional": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "optional": true, + "requires": { + "mime-db": "1.52.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==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "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" + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "dev": true + }, + "mousetrap": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.5.tgz", + "integrity": "sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==", + "dev": true + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "nan": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", + "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", + "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" + } + }, + "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 + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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" + } + } + } + }, + "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==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "noptify": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/noptify/-/noptify-0.0.3.tgz", + "integrity": "sha512-EZT35r9AuK+hig+iYv4144kwfDEDhlj3zncVHw9b9d86TUYk/67BtBApkfPD1kslAT/8TTD262xdsVbV+iCSTw==", + "dev": true, + "requires": { + "nopt": "~2.0.0" + }, + "dependencies": { + "nopt": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz", + "integrity": "sha512-uVTsuT8Hm3aN3VttY+BPKw4KU9lVpI0F22UAr/I1r6+kugMr3oyhMALkycikLcdfvGRsgzCYN48DYLBFcJEUVg==", + "dev": true, + "requires": { + "abbrev": "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, + "optional": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha512-A48My/mtCklowHBlI8Fq2jFWK4tX4lJ5E6ytFsSOq1fzpvT0SQSgKhSg7lN5c2uYFOrUAOQp6zhhJnpp1eMloQ==", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha512-VlF07iu3VV3+BTXj43Nmp6Irt/G7j/NgEctUS6IweH1RGhURjjCc2NWtzXFPXXWWfc7hgbXQdtiQu2LGp6MxUg==", + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", + "dev": true, + "requires": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", + "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", + "dev": true, + "requires": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "safe-array-concat": "^1.0.0" + } + }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "dev": true + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "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": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "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": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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" + } + } + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "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-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true + }, + "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": "*" + } + }, + "parse5-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse5-utils/-/parse5-utils-2.0.0.tgz", + "integrity": "sha512-FkmkatHahuLI+q1unkoCSRj89E6TqSJWNZfUGQ1mKKS2xtVeYZKdWPJhw3dWQPANdNyX+7fIoCT/qthCFeHzOQ==", + "dev": true, + "requires": { + "parse5": "^2.2.1" + }, + "dependencies": { + "parse5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-2.2.3.tgz", + "integrity": "sha512-yJQdbcT+hCt6HD+BuuUvjHUdNwerQIKSJSm7tXjtp6oIH5Mxbzlt/VIIeWxblsgcDt1+E7kxPeilD5McWswStA==", + "dev": true + } + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true, + "optional": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", + "dev": true, + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "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" + } + }, + "performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha512-YHk5ez1hmMR5LOkb9iJkLKqoBlL7WD5M8ljC75ZfzXriuBIVNuecaXuU7e+hOwyqf24Wxhh7Vxgt7Hnw9288Tg==", + "dev": true, + "optional": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha512-ojakdnUgL5pzJYWw2AIDEupaQCX5OPbM688ZevubICjdIX01PRSYKqm33fJoCOJBRseYCTUlQRnBNX+Pchaejw==", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, + "polymer-webpack-loader": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/polymer-webpack-loader/-/polymer-webpack-loader-2.0.3.tgz", + "integrity": "sha512-3SR+/qVAGeVKltvsSMA+euGdLwj8ZZJnwd5NvXRvbdQ7yO57sdcTpRw3d34pTc9YTZxncW/kozuI/9bHjr/rdg==", + "dev": true, + "requires": { + "css-selector-tokenizer": "^0.7.0", + "dom5": "^2.3.0", + "espree": "^3.4.3", + "html-loader": "^0.5.1", + "loader-utils": "^1.1.0", + "parse5": "^3.0.2", + "parse5-utils": "^2.0.0", + "postcss": "^6.0.9", + "source-map": "^0.5.6" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "html-loader": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-0.5.5.tgz", + "integrity": "sha512-7hIW7YinOYUpo//kSYcPB6dCKoceKLmOwjEMmhIobHuWGDVl0Nwe4l68mdG/Ru0wcUxQjVMEoZpkalZ/SE7zog==", + "dev": true, + "requires": { + "es6-templates": "^0.2.3", + "fastparse": "^1.1.1", + "html-minifier": "^3.5.8", + "loader-utils": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "dependencies": { + "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 + } + } + }, + "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" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-calc": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", + "integrity": "sha512-iBcptYFq+QUh9gzP7ta2btw50o40s4uLI4UDVgd5yRAZtUDWc5APdl5yQDd2h/TyiZNbJrv0HiYhT102CMgN7Q==", + "dev": true, + "requires": { + "postcss": "^5.0.2", + "postcss-message-helpers": "^2.0.0", + "reduce-css-calc": "^1.2.6" + } + }, + "postcss-colormin": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", + "integrity": "sha512-XXitQe+jNNPf+vxvQXIQ1+pvdQKWKgkx8zlJNltcMEmLma1ypDRDQwlLt+6cP26fBreihNhZxohh1rcgCH2W5w==", + "dev": true, + "requires": { + "colormin": "^1.0.5", + "postcss": "^5.0.13", + "postcss-value-parser": "^3.2.3" + } + }, + "postcss-convert-values": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", + "integrity": "sha512-SE7mf25D3ORUEXpu3WUqQqy0nCbMuM5BEny+ULE/FXdS/0UMA58OdzwvzuHJRpIFlk1uojt16JhaEogtP6W2oA==", + "dev": true, + "requires": { + "postcss": "^5.0.11", + "postcss-value-parser": "^3.1.2" + } + }, + "postcss-discard-comments": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", + "integrity": "sha512-yGbyBDo5FxsImE90LD8C87vgnNlweQkODMkUZlDVM/CBgLr9C5RasLGJxxh9GjVOBeG8NcCMatoqI1pXg8JNXg==", + "dev": true, + "requires": { + "postcss": "^5.0.14" + } + }, + "postcss-discard-duplicates": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", + "integrity": "sha512-+lk5W1uqO8qIUTET+UETgj9GWykLC3LOldr7EehmymV0Wu36kyoHimC4cILrAAYpHQ+fr4ypKcWcVNaGzm0reA==", + "dev": true, + "requires": { + "postcss": "^5.0.4" + } + }, + "postcss-discard-empty": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", + "integrity": "sha512-IBFoyrwk52dhF+5z/ZAbzq5Jy7Wq0aLUsOn69JNS+7YeuyHaNzJwBIYE0QlUH/p5d3L+OON72Fsexyb7OK/3og==", + "dev": true, + "requires": { + "postcss": "^5.0.14" + } + }, + "postcss-discard-overridden": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", + "integrity": "sha512-IyKoDL8QNObOiUc6eBw8kMxBHCfxUaERYTUe2QF8k7j/xiirayDzzkmlR6lMQjrAM1p1DDRTvWrS7Aa8lp6/uA==", + "dev": true, + "requires": { + "postcss": "^5.0.16" + } + }, + "postcss-discard-unused": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", + "integrity": "sha512-nCbFNfqYAbKCw9J6PSJubpN9asnrwVLkRDFc4KCwyUEdOtM5XDE/eTW3OpqHrYY1L4fZxgan7LLRAAYYBzwzrg==", + "dev": true, + "requires": { + "postcss": "^5.0.14", + "uniqs": "^2.0.0" + } + }, + "postcss-filter-plugins": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz", + "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==", + "dev": true, + "requires": { + "postcss": "^5.0.4" + } + }, + "postcss-merge-idents": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", + "integrity": "sha512-9DHmfCZ7/hNHhIKnNkz4CU0ejtGen5BbTRJc13Z2uHfCedeCUsK2WEQoAJRBL+phs68iWK6Qf8Jze71anuysWA==", + "dev": true, + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.10", + "postcss-value-parser": "^3.1.1" + } + }, + "postcss-merge-longhand": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", + "integrity": "sha512-ma7YvxjdLQdifnc1HFsW/AW6fVfubGyR+X4bE3FOSdBVMY9bZjKVdklHT+odknKBB7FSCfKIHC3yHK7RUAqRPg==", + "dev": true, + "requires": { + "postcss": "^5.0.4" + } + }, + "postcss-merge-rules": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", + "integrity": "sha512-Wgg2FS6W3AYBl+5L9poL6ZUISi5YzL+sDCJfM7zNw/Q1qsyVQXXZ2cbVui6mu2cYJpt1hOKCGj1xA4mq/obz/Q==", + "dev": true, + "requires": { + "browserslist": "^1.5.2", + "caniuse-api": "^1.5.2", + "postcss": "^5.0.4", + "postcss-selector-parser": "^2.2.2", + "vendors": "^1.0.0" + }, + "dependencies": { + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha512-qHJblDE2bXVRYzuDetv/wAeHOJyO97+9wxC1cdCtyzgNuSozOyRCiiLaCR1f71AN66lQdVVBipWm63V+a7bPOw==", + "dev": true, + "requires": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + } + } + } + }, + "postcss-message-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", + "integrity": "sha512-tPLZzVAiIJp46TBbpXtrUAKqedXSyW5xDEo1sikrfEfnTs+49SBZR/xDdqCiJvSSbtr615xDsaMF3RrxS2jZlA==", + "dev": true + }, + "postcss-minify-font-values": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", + "integrity": "sha512-vFSPzrJhNe6/8McOLU13XIsERohBJiIFFuC1PolgajOZdRWqRgKITP/A4Z/n4GQhEmtbxmO9NDw3QLaFfE1dFQ==", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" + } + }, + "postcss-minify-gradients": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", + "integrity": "sha512-DZhT0OE+RbVqVyGsTIKx84rU/5cury1jmwPa19bViqYPQu499ZU831yMzzsyC8EhiZVd73+h5Z9xb/DdaBpw7Q==", + "dev": true, + "requires": { + "postcss": "^5.0.12", + "postcss-value-parser": "^3.3.0" + } + }, + "postcss-minify-params": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", + "integrity": "sha512-hhJdMVgP8vasrHbkKAk+ab28vEmPYgyuDzRl31V3BEB3QOR3L5TTIVEWLDNnZZ3+fiTi9d6Ker8GM8S1h8p2Ow==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.2", + "postcss-value-parser": "^3.0.2", + "uniqs": "^2.0.0" + } + }, + "postcss-minify-selectors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", + "integrity": "sha512-e13vxPBSo3ZaPne43KVgM+UETkx3Bs4/Qvm6yXI9HQpQp4nyb7HZ0gKpkF+Wn2x+/dbQ+swNpCdZSbMOT7+TIA==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.2", + "has": "^1.0.1", + "postcss": "^5.0.14", + "postcss-selector-parser": "^2.0.0" + } + }, + "postcss-modules-extract-imports": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", + "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", + "dev": true, + "requires": { + "postcss": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "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 + }, + "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" + } + } + } + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha512-X4cquUPIaAd86raVrBwO8fwRfkIdbwFu7CTfEOjiZQHVQwlHRSkTgH5NLDmMm5+1hQO8u6dZ+TOOJDbay1hYpA==", + "dev": true, + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "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 + }, + "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" + } + } + } + }, + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha512-LTYwnA4C1He1BKZXIx1CYiHixdSe9LWYVKadq9lK5aCCMkoOkFyZ7aigt+srfjlRplJY3gIol6KUNefdMQJdlw==", + "dev": true, + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "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 + }, + "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" + } + } + } + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha512-i7IFaR9hlQ6/0UgFuqM6YWaCfA1Ej8WMg8A5DggnH1UGKJvTV/ugqq/KaULixzzOi3T/tF6ClBXcHGCzdd5unA==", + "dev": true, + "requires": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "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 + }, + "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" + } + } + } + }, + "postcss-normalize-charset": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", + "integrity": "sha512-RKgjEks83l8w4yEhztOwNZ+nLSrJ+NvPNhpS+mVDzoaiRHZQVoG7NF2TP5qjwnaN9YswUhj6m1E0S0Z+WDCgEQ==", + "dev": true, + "requires": { + "postcss": "^5.0.5" + } + }, + "postcss-normalize-url": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", + "integrity": "sha512-WqtWG6GV2nELsQEFES0RzfL2ebVwmGl/M8VmMbshKto/UClBo+mznX8Zi4/hkThdqx7ijwv+O8HWPdpK7nH/Ig==", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^1.4.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3" + } + }, + "postcss-ordered-values": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", + "integrity": "sha512-5RB1IUZhkxDCfa5fx/ogp/A82mtq+r7USqS+7zt0e428HJ7+BHCxyeY39ClmkkUtxdOd3mk8gD6d9bjH2BECMg==", + "dev": true, + "requires": { + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.1" + } + }, + "postcss-reduce-idents": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", + "integrity": "sha512-0+Ow9e8JLtffjumJJFPqvN4qAvokVbdQPnijUDSOX8tfTwrILLP4ETvrZcXZxAtpFLh/U0c+q8oRMJLr1Kiu4w==", + "dev": true, + "requires": { + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" + } + }, + "postcss-reduce-initial": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", + "integrity": "sha512-jJFrV1vWOPCQsIVitawGesRgMgunbclERQ/IRGW7r93uHrVzNQQmHQ7znsOIjJPZ4yWMzs5A8NFhp3AkPHPbDA==", + "dev": true, + "requires": { + "postcss": "^5.0.4" + } + }, + "postcss-reduce-transforms": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", + "integrity": "sha512-lGgRqnSuAR5i5uUg1TA33r9UngfTadWxOyL2qx1KuPoCQzfmtaHjp9PuwX7yVyRxG3BWBzeFUaS5uV9eVgnEgQ==", + "dev": true, + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.8", + "postcss-value-parser": "^3.0.1" + } + }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha512-3pqyakeGhrO0BQ5+/tGTfvi5IAUAhHRayGK8WFSu06aEv2BmHoXw/Mhb+w7VY5HERIuC+QoUI7wgrCcq2hqCVA==", + "dev": true, + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-svgo": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", + "integrity": "sha512-y5AdQdgBoF4rbpdbeWAJuxE953g/ylRfVNp6mvAi61VCN/Y25Tu9p5mh3CyI42WbTRIiwR9a1GdFtmDnNPeskQ==", + "dev": true, + "requires": { + "is-svg": "^2.0.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3", + "svgo": "^0.7.0" + } + }, + "postcss-unique-selectors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", + "integrity": "sha512-WZX8r1M0+IyljoJOJleg3kYm10hxNYF9scqAT7v/xeSX1IdehutOM85SNO0gP9K+bgs86XERr7Ud5u3ch4+D8g==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "postcss-zindex": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", + "integrity": "sha512-uhRZ2hRgj0lorxm9cr62B01YzpUe63h0RXMXQ4gWW3oa2rpJh+FJAiEAytaFCPU/VgaBS+uW2SJ1XKyDNz1h4w==", + "dev": true, + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==", + "dev": true + }, + "pretty-bytes": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz", + "integrity": "sha512-eb7ZAeUTgfh294cElcu51w+OTRp/6ItW758LjwJSK72LDevcuJn0P4eD71PLMDGPwwatXmAmYHTkzvpKlJE3ow==", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "dev": true, + "requires": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "optional": true, + "requires": { + "asap": "~2.0.3" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "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.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "dev": true + }, + "qs": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.1.tgz", + "integrity": "sha512-LQy1Q1fcva/UsnP/6Iaa4lVeM49WiOitu2T4hZCyA/elLKu37L99qcBJk4VCCk+rdLvnMzfKyiN3SZTqdAZGSQ==", + "dev": true, + "optional": true + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "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==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "raw-loader": { + "version": "1.0.0-beta.0", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-1.0.0-beta.0.tgz", + "integrity": "sha512-guh4ZNAf96f+CDwfnPbFeFiO5YcfPllUmZrgcoOmx6iqZPq+DcKbnyjPuBxEAtQ3tqqd++qChsQfQB+VBzFT0Q==", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "recast": { + "version": "0.11.23", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", + "integrity": "sha512-+nixG+3NugceyR8O1bLU45qs84JgI3+8EauyRZafLgC9XbdAOIVgwV1Pe2da0YzGo62KzWoZwUpVEQf6qNAXWA==", + "dev": true, + "requires": { + "ast-types": "0.9.6", + "esprima": "~3.1.0", + "private": "~0.1.5", + "source-map": "~0.5.0" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha512-AWwVMNxwhN8+NIPQzAQZCm7RkLC4RbM3B1OobMuyp3i+w73X57KCKaVIxaRZb+DYCojq7rspo+fmuQfAboyhFg==", + "dev": true + } + } + }, + "rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "dev": true, + "requires": { + "resolve": "^1.9.0" + } + }, + "reduce-css-calc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", + "integrity": "sha512-0dVfwYVOlf/LBA2ec4OwQ6p3X9mYxn/wOl2xTcLwjnPYrkgEfPx3VI4eGCH3rQLlPISG5v9I9bkZosKsNRTRKA==", + "dev": true, + "requires": { + "balanced-match": "^0.4.2", + "math-expression-evaluator": "^1.2.14", + "reduce-function-call": "^1.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha512-STw03mQKnGUYtoNjmowo4F2cRmIIxYEGiMsjjwla/u5P1lxadj/05WkNaFjNiKTgJkj8KiXbgAiRTmcQRwQNtg==", + "dev": true + } + } + }, + "reduce-function-call": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.3.tgz", + "integrity": "sha512-Hl/tuV2VDgWgCSEeWMLwxLZqX7OK59eU1guxXsRKTAyeYimivsKdtcV4fu3r710tpG5GmDKDhQ0HSZLExnNmyQ==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "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.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "dev": true, + "requires": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + } + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==", + "dev": true, + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g==", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "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": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true, + "optional": true + }, + "renderkid": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "dev": true, + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + } + } + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.81.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha512-IZnsR7voF0miGSu29EXPRgPTuEsI/+aibNSBbN1pplrfartF5wDYGADz3iD9vmBVf2r00rckWZf8BtS5kk7Niw==", + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~4.2.1", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "performance-now": "^0.2.0", + "qs": "~6.4.0", + "safe-buffer": "^5.0.1", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.0.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "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": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", + "dev": true + }, + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "dev": true + }, + "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 + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==", + "dev": true, + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "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==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "safe-array-concat": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz", + "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + } + } + }, + "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==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dev": true, + "requires": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "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" + } + }, + "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, + "requires": {} + } + } + }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==", + "dev": true + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + }, + "serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "set-function-length": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", + "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "dev": true, + "requires": { + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + } + }, + "set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "requires": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + } + }, + "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "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==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "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": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "shelljs": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", + "integrity": "sha512-Ny0KN4dyT8ZSCE0frtcbAJGoM/HTArpyPkeli1/00aYfm0sbD/Gk/4x7N2DP9QKGpBsiQH7n6rpm1L79RtviEQ==", + "dev": true + }, + "side-channel": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz", + "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + } + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", + "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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "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": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "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" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha512-7bgVOAnPj3XjrKY577S+puCKGCRlUrcrEdsMeRXlg9Ghf5df/xNi6sONUa43WrHUd3TjJBF7O04jYoiY0FVa0A==", + "dev": true, + "optional": true, + "requires": { + "hoek": "2.x.x" + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "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.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "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": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dev": true, + "optional": true, + "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" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "optional": true + } + } + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + } + } + }, + "sticky-sidebar": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/sticky-sidebar/-/sticky-sidebar-3.3.1.tgz", + "integrity": "sha512-9ljX5GP9B1sov0kzGmQeQL5CdearSGH5y9cy3wE3wiGiLtgo577EekE8tNgnqr5ys/d++2+MlCCf4ICbNoaJ3A==", + "dev": true + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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" + } + } + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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" + } + } + } + }, + "stream-shift": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "stringstream": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", + "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true + }, + "strip-json-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha512-AOPG8EBc5wAikaG1/7uFCNFJwnKOuQwFTpYBdTW6OvWHeZBQBrAA/amefHGrEiOnCPcLFZK6FUPtWVKpQVIRgg==", + "dev": true + }, + "style-loader": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.21.0.tgz", + "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "schema-utils": "^0.4.5" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "svgo": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", + "integrity": "sha512-jT/g9FFMoe9lu2IT6HtAxTA7RR2XOrmcrmCtGnyB/+GQnV6ZjNn+KOHZbZ35yL81+1F/aB6OeEsJztzBQ2EEwA==", + "dev": true, + "requires": { + "coa": "~1.0.1", + "colors": "~1.1.2", + "csso": "~2.3.1", + "js-yaml": "~3.7.0", + "mkdirp": "~0.5.1", + "sax": "~1.2.1", + "whet.extend": "~0.9.9" + }, + "dependencies": { + "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" + } + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha512-ENwblkFQpqqia6b++zLD/KUWafYlVY/UNnAp7oz7LY7E924wmpye416wBOmvv/HMWzl8gL1kJlfvId/1Dg176w==", + "dev": true + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", + "dev": true + }, + "js-yaml": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", + "integrity": "sha512-eIlkGty7HGmntbV6P/ZlAsoncFLGsNoM27lkTzS+oneY/EiNhj+geqD9ezg/ip+SW6Var0BJU2JtV0vEUZpWVQ==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^2.6.0" + } + } + } + }, + "sweetalert2": { + "version": "9.17.4", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-9.17.4.tgz", + "integrity": "sha512-T6Js/kjtGmpekE1tPT+drdgsedEnaet03mMadKUMvtBlFzVLcYy8kvIuchaQJ09rhG5bdmRRMQ2sEK0ZnHi1vg==", + "dev": true + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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" + } + } + } + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", + "dev": true + }, + "tiny-lr-fork": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/tiny-lr-fork/-/tiny-lr-fork-0.0.5.tgz", + "integrity": "sha512-vhcvny/8f46rrViKV0BOUjVl4c/rDTztnT1+kT7iyD/Igqb/uyiRsKLxMc2Z8CNvTE1Px1tuNrPM+BOUL+3vlQ==", + "dev": true, + "requires": { + "debug": "~0.7.0", + "faye-websocket": "~0.4.3", + "noptify": "~0.0.3", + "qs": "~0.5.2" + }, + "dependencies": { + "debug": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", + "integrity": "sha512-EohAb3+DSHSGx8carOSKJe8G0ayV5/i609OD0J2orCkuyae7SyZSz2aoLmQF2s0Pj5gITDebwPH7GFBlqOUQ1Q==", + "dev": true + }, + "qs": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-0.5.6.tgz", + "integrity": "sha512-KbOrQrP5Ye+0gmq+hwxoJwAFRwExACWqwxj1IDFFgqOw9Poxy3wwSbafd9ZqP6T6ykMfnxM573kt/a4i9ybatQ==", + "dev": true + } + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", + "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": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "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": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha512-FclLrw8b9bMWf4QlCJuHBEVhSRsqDj6u3nIjAzPeJvgl//1hBlffdlk0MALceL14+koWEdU4ofRAXofbODxQzg==", + "dev": true + }, + "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, + "optional": true, + "requires": { + "punycode": "^1.4.1" + } + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==", + "dev": true + }, + "ts-loader": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-1.3.3.tgz", + "integrity": "sha512-7jt3RwFLeDY1N7mWWxX8VaX2hW3tSXrDyEKVoBtkKJLrjgU/LLDgflnoY3JyRqk8WnXb23mzPXMY2fJMAwCQDA==", + "dev": true, + "requires": { + "colors": "^1.0.3", + "enhanced-resolve": "^3.0.0", + "loader-utils": "^0.2.6", + "object-assign": "^4.1.0", + "semver": "^5.0.1" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha512-tiv66G0SmiOx+pLWMtGEkfSEejxvb6N6uRrQjfWJIT79W9GMpgKeCAmm9aVBKtd4WEgntciI8CsGqjpDoCWJug==", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + } + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true, + "optional": true + }, + "typed-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.1.tgz", + "integrity": "sha512-RSqu1UEuSlrBhHTWC8O9FnPjOduNs4M7rJ4pRKoEjtx1zUNOPN2sSXHLDX+Y2WPbHIxbvg4JFo2DNAEfPIKWoQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + } + }, + "typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "dev": true, + "requires": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true + }, + "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 + } + } + }, + "uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==", + "dev": true, + "optional": true + }, + "uglifyjs-webpack-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", + "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", + "dev": true, + "requires": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "schema-utils": "^0.4.5", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "uglify-es": "^3.3.4", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" + }, + "dependencies": { + "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 + } + } + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", + "dev": true + }, + "underscore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", + "integrity": "sha512-cp0oQQyZhUM1kpJDLdGO1jPZHgS/MpzoWYfe9+CM2h/QGDZlqwT2T3YGukuBdaNJ/CAPoeyAZRRHz8JFo176vA==", + "dev": true + }, + "underscore.string": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz", + "integrity": "sha512-3FVmhXqelrj6gfgp3Bn6tOavJvW0dNH2T+heTD38JRxIrAbiuzbqjknszoOYj3DyFB1nWiLj208Qt2no/L4cIA==", + "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" + }, + "dependencies": { + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "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": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "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": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "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": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "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, + "optional": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true + } + } + }, + "uri-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz", + "integrity": "sha512-8pMuAn4KacYdGMkFaoQARicp4HSw24/DHOVKWqVRJ8LhhAwPPFpdGvdL9184JVmUwe7vz7Z9n6IqI6t5n2ELdg==", + "dev": true + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "dev": true + }, + "url": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "dev": true, + "requires": { + "punycode": "^1.4.1", + "qs": "^6.11.2" + }, + "dependencies": { + "qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + } + } + }, + "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 + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "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": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true, + "optional": true + }, + "v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", + "dev": true + }, + "v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true, + "optional": true + } + } + }, + "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==", + "dev": true + }, + "watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dev": true, + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" + } + }, + "watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "optional": 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" + } + }, + "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": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "optional": 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": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "optional": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "optional": 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" + } + }, + "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, + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "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, + "optional": 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, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "waypoints": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/waypoints/-/waypoints-4.0.1.tgz", + "integrity": "sha512-PbydbsTvCFYoE1DaRAKBM4xPQi+7ULcULZ7vK79NLM55da5g46oyY62Xv9X5Z9F7O/qXmcS/XJ7Ae2pYij4bpw==", + "dev": true + }, + "webpack": { + "version": "4.23.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.23.1.tgz", + "integrity": "sha512-iE5Cu4rGEDk7ONRjisTOjVHv3dDtcFfwitSxT7evtYj/rANJpt1OuC/Kozh1pBa99AUBr1L/LsaNB+D9Xz3CEg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-module-context": "1.7.10", + "@webassemblyjs/wasm-edit": "1.7.10", + "@webassemblyjs/wasm-parser": "1.7.10", + "acorn": "^5.6.2", + "acorn-dynamic-import": "^3.0.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "chrome-trace-event": "^1.0.0", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.0", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "micromatch": "^3.1.8", + "mkdirp": "~0.5.0", + "neo-async": "^2.5.0", + "node-libs-browser": "^2.0.0", + "schema-utils": "^0.4.4", + "tapable": "^1.1.0", + "uglifyjs-webpack-plugin": "^1.2.4", + "watchpack": "^1.5.0", + "webpack-sources": "^1.3.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "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" + } + }, + "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, + "requires": {} + }, + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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" + } + } + } + }, + "webpack-cli": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.2.tgz", + "integrity": "sha512-Cnqo7CeqeSvC6PTdts+dywNi5CRlIPbLx1AoUPK2T6vC1YAugMG3IOoO9DmEscd+Dghw7uRlnzV1KwOe5IrtgQ==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "enhanced-resolve": "^4.1.0", + "global-modules-path": "^2.3.0", + "import-local": "^2.0.0", + "interpret": "^1.1.0", + "loader-utils": "^1.1.0", + "supports-color": "^5.5.0", + "v8-compile-cache": "^2.0.2", + "yargs": "^12.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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" + } + }, + "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" + } + } + } + }, + "webpack-core": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz", + "integrity": "sha512-P6ZUGXn5buTEZyTStCHHLwtWGKSm/jA629Zgp4pcHSsy60CCsT9MaHDxNIPL+GGJ2KwOgI6ORwQtHcrYHAt2UQ==", + "dev": true, + "requires": { + "source-list-map": "~0.1.7", + "source-map": "~0.4.1" + }, + "dependencies": { + "source-list-map": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz", + "integrity": "sha512-cabwdhnSNf/tTDMh/DXZXlkeQLvdYT5xfGYBohqHG7wb3bBQrQlHQNWM9NWSOboXXK1zgwz6JzS5e4hZq9vxMw==", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha512-Y8nIfcb1s/7DcobUz1yOO1GSp7gyL+D9zLHDehT7iRESqGSxjJ448Sg7rvfgsRJCnKLdSl11uGf0s9X80cH0/A==", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "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 + } + } + }, + "webpack-uglify-js-plugin": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/webpack-uglify-js-plugin/-/webpack-uglify-js-plugin-1.1.9.tgz", + "integrity": "sha512-tDyLy6w6EcQtPJTHSDMTnRx2zPos8XfmpuZNFsTBUq12Kx0dXfSQEFFk1RhRrV+4OydsnZYATQBEnyBJd+Or9g==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "uglify-js": "^2.6.4", + "webpack-core": "^0.6.8" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==", + "dev": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==", + "dev": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==", + "dev": true, + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + } + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==", + "dev": true, + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } + }, + "whet.extend": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", + "integrity": "sha512-mmIPAft2vTgEILgPeZFqE/wWh24SEsR/k+N9fJ3Jxrz44iDFy9aemCxdksfURSHYFCLmvs/d/7Iso5XjPpNfrA==", + "dev": true + }, + "which": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz", + "integrity": "sha512-E87fdQ/eRJr9W1X4wTPejNy9zTW3FI2vpCZSJ/HAY+TkjKVC0TUm1jk6vn2Z7qay0DQy0+RBGdXxj+RmmiGZKQ==", + "dev": true + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true + }, + "which-typed-array": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", + "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.6", + "call-bind": "^1.0.5", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.1" + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==", + "dev": true + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==", + "dev": true + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", + "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": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "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": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "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": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + }, + "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" + }, + "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 + } + } + }, + "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" + } + } + } +} From 905b038beaf7b8e49e3700ff77783e7a7920ada8 Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Tue, 23 Jul 2024 16:24:15 +0200 Subject: [PATCH 06/64] docs: added 5.1.1 rel notes --- docs/release-notes/release-notes-5.1.1.rst | 40 ++++++++++++++++++++++ docs/release-notes/release-notes.rst | 1 + 2 files changed, 41 insertions(+) create mode 100644 docs/release-notes/release-notes-5.1.1.rst diff --git a/docs/release-notes/release-notes-5.1.1.rst b/docs/release-notes/release-notes-5.1.1.rst new file mode 100644 index 00000000..cd03af11 --- /dev/null +++ b/docs/release-notes/release-notes-5.1.1.rst @@ -0,0 +1,40 @@ +|RCE| 5.1.1 |RNS| +----------------- + +Release Date +^^^^^^^^^^^^ + +- 2024-07-23 + + +New Features +^^^^^^^^^^^^ + + + +General +^^^^^^^ + + + +Security +^^^^^^^^ + + + +Performance +^^^^^^^^^^^ + + + + +Fixes +^^^^^ + +- Fixed problems with JS static files build + + +Upgrade notes +^^^^^^^^^^^^^ + +- RhodeCode 5.1.1 is unscheduled bugfix release to address some build issues with 5.1 images diff --git a/docs/release-notes/release-notes.rst b/docs/release-notes/release-notes.rst index 091d22fe..0c788728 100644 --- a/docs/release-notes/release-notes.rst +++ b/docs/release-notes/release-notes.rst @@ -11,6 +11,7 @@ Release Notes :maxdepth: 1 release-notes-5.2.0.rst + release-notes-5.1.1.rst release-notes-5.1.0.rst release-notes-5.0.3.rst release-notes-5.0.2.rst From 3f8807d95cb36a099dda455813d443017eb38367 Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Wed, 24 Jul 2024 09:46:05 +0200 Subject: [PATCH 07/64] fix: updated command list mapping for mercurial 6.5, after client upgrade a new command can be given which is clonebundles_manifest, we marked it explicit as pull command. Also added few more commands, fixes RCCE-111 --- rhodecode/lib/middleware/simplehg.py | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/rhodecode/lib/middleware/simplehg.py b/rhodecode/lib/middleware/simplehg.py index 95bd4e6b..5100f589 100644 --- a/rhodecode/lib/middleware/simplehg.py +++ b/rhodecode/lib/middleware/simplehg.py @@ -53,25 +53,31 @@ class SimpleHg(simplevcs.SimpleVCS): return repo_name.rstrip('/') _ACTION_MAPPING = { + 'between': 'pull', + 'branches': 'pull', + 'branchmap': 'pull', + 'capabilities': 'pull', 'changegroup': 'pull', 'changegroupsubset': 'pull', - 'getbundle': 'pull', - 'stream_out': 'pull', - 'listkeys': 'pull', - 'between': 'pull', - 'branchmap': 'pull', - 'branches': 'pull', + 'changesetdata': 'pull', 'clonebundles': 'pull', - 'capabilities': 'pull', + 'clonebundles_manifest': 'pull', 'debugwireargs': 'pull', + 'filedata': 'pull', + 'getbundle': 'pull', 'heads': 'pull', - 'lookup': 'pull', 'hello': 'pull', 'known': 'pull', + 'listkeys': 'pull', + 'lookup': 'pull', + 'manifestdata': 'pull', + 'narrow_widen': 'pull', + 'protocaps': 'pull', + 'stream_out': 'pull', # largefiles - 'putlfile': 'push', 'getlfile': 'pull', + 'putlfile': 'push', 'statlfile': 'pull', 'lheads': 'pull', From fa3e6d23049882c3fd448f8f6371f21327890780 Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Thu, 25 Jul 2024 14:05:43 +0200 Subject: [PATCH 08/64] fix(config): added default value to celery result and broker --- rhodecode/config/config_maker.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rhodecode/config/config_maker.py b/rhodecode/config/config_maker.py index 87b05fe8..32a8a955 100644 --- a/rhodecode/config/config_maker.py +++ b/rhodecode/config/config_maker.py @@ -152,6 +152,10 @@ def sanitize_settings_and_apply_defaults(global_config, settings): parser='file:ensured' ) + # celery + broker_url = settings_maker.make_setting('celery.broker_url', 'redis://redis:6379/8') + settings_maker.make_setting('celery.result_backend', broker_url) + settings_maker.make_setting('exception_tracker.send_email', False, parser='bool') settings_maker.make_setting('exception_tracker.email_prefix', '[RHODECODE ERROR]', default_when_empty=True) From 7b14663e2c0ff0b10aaff349d00fc010fb10ca4b Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Mon, 29 Jul 2024 18:02:15 +0200 Subject: [PATCH 09/64] feat(caches): make sure commit-caches propagate to parent repo groups --- rhodecode/lib/celerylib/tasks.py | 6 +++--- rhodecode/lib/utils.py | 2 +- rhodecode/model/db.py | 14 ++++++++++++-- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/rhodecode/lib/celerylib/tasks.py b/rhodecode/lib/celerylib/tasks.py index 020e340a..77e1a0c5 100644 --- a/rhodecode/lib/celerylib/tasks.py +++ b/rhodecode/lib/celerylib/tasks.py @@ -207,7 +207,7 @@ def create_repo(form_data, cur_user): hooks_base.create_repository(created_by=owner.username, **repo.get_dict()) # update repo commit caches initially - repo.update_commit_cache() + repo.update_commit_cache(recursive=False) # set new created state repo.set_state(Repository.STATE_CREATED) @@ -298,7 +298,7 @@ def create_repo_fork(form_data, cur_user): # update repo commit caches initially config = repo._config config.set('extensions', 'largefiles', '') - repo.update_commit_cache(config=config) + repo.update_commit_cache(config=config, recursive=False) # set new created state repo.set_state(Repository.STATE_CREATED) @@ -390,7 +390,7 @@ def sync_last_update_for_objects(*args, **kwargs): .order_by(Repository.group_id.asc()) for repo in repos: - repo.update_commit_cache() + repo.update_commit_cache(recursive=False) skip_groups = kwargs.get('skip_groups') if not skip_groups: diff --git a/rhodecode/lib/utils.py b/rhodecode/lib/utils.py index ac07c77e..a4e7eab4 100644 --- a/rhodecode/lib/utils.py +++ b/rhodecode/lib/utils.py @@ -582,7 +582,7 @@ def repo2db_mapper(initial_repo_list, remove_obsolete=False, force_hooks_rebuild log.debug('Running update server info') git_repo._update_server_info(force=True) - db_repo.update_commit_cache() + db_repo.update_commit_cache(recursive=False) config = db_repo._config config.set('extensions', 'largefiles', '') diff --git a/rhodecode/model/db.py b/rhodecode/model/db.py index 4801e70d..e066b183 100644 --- a/rhodecode/model/db.py +++ b/rhodecode/model/db.py @@ -2568,10 +2568,10 @@ class Repository(Base, BaseModel): return commit def flush_commit_cache(self): - self.update_commit_cache(cs_cache={'raw_id':'0'}) + self.update_commit_cache(cs_cache={'raw_id': '0'}) self.update_commit_cache() - def update_commit_cache(self, cs_cache=None, config=None): + def update_commit_cache(self, cs_cache=None, config=None, recursive=True): """ Update cache of last commit for repository cache_keys should be:: @@ -2610,6 +2610,14 @@ class Repository(Base, BaseModel): if isinstance(cs_cache, BaseCommit): cs_cache = cs_cache.__json__() + def maybe_update_recursive(instance, _config, _recursive, _cs_cache, _last_change): + if _recursive: + repo_id = instance.repo_id + _cs_cache['source_repo_id'] = repo_id + for gr in instance.groups_with_parents: + gr.changeset_cache = _cs_cache + gr.updated_on = _last_change + def is_outdated(new_cs_cache): if (new_cs_cache['raw_id'] != self.changeset_cache['raw_id'] or new_cs_cache['revision'] != self.changeset_cache['revision']): @@ -2636,6 +2644,7 @@ class Repository(Base, BaseModel): self.changeset_cache = cs_cache self.updated_on = last_change Session().add(self) + maybe_update_recursive(self, config, recursive, cs_cache, last_change) Session().commit() else: @@ -2650,6 +2659,7 @@ class Repository(Base, BaseModel): self.changeset_cache = cs_cache self.updated_on = _date_latest Session().add(self) + maybe_update_recursive(self, config, recursive, cs_cache, _date_latest) Session().commit() log.debug('updated repo `%s` with new commit cache %s, and last update_date: %s', From 632140ed6c795b51398c0c76752f71934e307075 Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Tue, 30 Jul 2024 14:27:00 +0200 Subject: [PATCH 10/64] d-cache: don't init in includeme so we don't trigger s3 connections on startup of rcstack. The d-cache will be initied only when needed during first file download --- rhodecode/lib/archive_cache/__init__.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/rhodecode/lib/archive_cache/__init__.py b/rhodecode/lib/archive_cache/__init__.py index 53741448..d0cd5541 100644 --- a/rhodecode/lib/archive_cache/__init__.py +++ b/rhodecode/lib/archive_cache/__init__.py @@ -31,9 +31,11 @@ cache_meta = None def includeme(config): + return # don't init cache currently for faster startup time + # init our cache at start - settings = config.get_settings() - get_archival_cache_store(settings) + # settings = config.get_settings() + # get_archival_cache_store(settings) def get_archival_config(config): From e23ad22b70871bfbbb07dd80199631f9262d2081 Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Wed, 31 Jul 2024 19:48:01 +0200 Subject: [PATCH 11/64] fix(mailing): don't default to empty string for smtp_password and user, since mailing lib only expects None as empty values --- rhodecode/lib/celerylib/tasks.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/rhodecode/lib/celerylib/tasks.py b/rhodecode/lib/celerylib/tasks.py index 77e1a0c5..9cb04363 100644 --- a/rhodecode/lib/celerylib/tasks.py +++ b/rhodecode/lib/celerylib/tasks.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2023 RhodeCode GmbH +# Copyright (C) 2012-2024 RhodeCode GmbH # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License, version 3 @@ -64,8 +64,9 @@ def send_email(recipients, subject, body='', html_body='', email_config=None, "Make sure that `smtp_server` variable is configured " "inside the .ini file") return False - - subject = "%s %s" % (email_config.get('email_prefix', ''), subject) + conf_prefix = email_config.get('email_prefix', None) + prefix = f'{conf_prefix} ' if conf_prefix else '' + subject = f"{prefix}{subject}" if recipients: if isinstance(recipients, str): @@ -86,8 +87,8 @@ def send_email(recipients, subject, body='', html_body='', email_config=None, email_conf = dict( host=mail_server, port=email_config.get('smtp_port', 25), - username=email_config.get('smtp_username'), - password=email_config.get('smtp_password'), + username=email_config.get('smtp_username', None), + password=email_config.get('smtp_password', None), tls=str2bool(email_config.get('smtp_use_tls')), ssl=str2bool(email_config.get('smtp_use_ssl')), From 0c320ae313b92415f3fe19ec5f4a9a200373ea89 Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Fri, 2 Aug 2024 12:49:30 +0200 Subject: [PATCH 12/64] chore(deps): bumped packaging==24.1 --- requirements.txt | 2 +- requirements_test.txt | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/requirements.txt b/requirements.txt index a39720eb..abdbab4a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -89,7 +89,7 @@ formencode==2.1.0 six==1.16.0 fsspec==2024.6.0 gunicorn==21.2.0 - packaging==24.0 + packaging==24.1 gevent==24.2.1 greenlet==3.0.3 zope.event==5.0.0 diff --git a/requirements_test.txt b/requirements_test.txt index dafed0fa..1e7cbcc6 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -4,38 +4,38 @@ pytest-cov==4.1.0 coverage==7.4.3 pytest==8.1.1 iniconfig==2.0.0 - packaging==24.0 + packaging==24.1 pluggy==1.4.0 pytest-env==1.1.3 pytest==8.1.1 iniconfig==2.0.0 - packaging==24.0 + packaging==24.1 pluggy==1.4.0 pytest-profiling==1.7.0 gprof2dot==2022.7.29 pytest==8.1.1 iniconfig==2.0.0 - packaging==24.0 + packaging==24.1 pluggy==1.4.0 six==1.16.0 pytest-rerunfailures==13.0 - packaging==24.0 + packaging==24.1 pytest==8.1.1 iniconfig==2.0.0 - packaging==24.0 + packaging==24.1 pluggy==1.4.0 pytest-runner==6.0.1 pytest-sugar==1.0.0 - packaging==24.0 + packaging==24.1 pytest==8.1.1 iniconfig==2.0.0 - packaging==24.0 + packaging==24.1 pluggy==1.4.0 termcolor==2.4.0 pytest-timeout==2.3.1 pytest==8.1.1 iniconfig==2.0.0 - packaging==24.0 + packaging==24.1 pluggy==1.4.0 webtest==3.0.0 beautifulsoup4==4.12.3 From 4ebca46c23dc0edb70395c54f72d583afa171e6d Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Fri, 2 Aug 2024 12:50:45 +0200 Subject: [PATCH 13/64] chore(deps): bumped gunicorn==22.0.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index abdbab4a..dd27a3db 100644 --- a/requirements.txt +++ b/requirements.txt @@ -88,7 +88,7 @@ dogpile.cache==1.3.3 formencode==2.1.0 six==1.16.0 fsspec==2024.6.0 -gunicorn==21.2.0 +gunicorn==22.0.0 packaging==24.1 gevent==24.2.1 greenlet==3.0.3 From 8de40a05f4713e5245fd4adfbc89f764a2795003 Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Fri, 2 Aug 2024 12:52:51 +0200 Subject: [PATCH 14/64] chore(deps): bumped zope.interface==6.4.post2 --- requirements.txt | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/requirements.txt b/requirements.txt index dd27a3db..c8349571 100644 --- a/requirements.txt +++ b/requirements.txt @@ -33,7 +33,7 @@ channelstream==0.7.1 gevent==24.2.1 greenlet==3.0.3 zope.event==5.0.0 - zope.interface==6.3.0 + zope.interface==6.4.post2 itsdangerous==1.1.0 marshmallow==2.18.0 pyramid==2.0.2 @@ -46,7 +46,7 @@ channelstream==0.7.1 venusian==3.0.0 webob==1.8.7 zope.deprecation==5.0.0 - zope.interface==6.3.0 + zope.interface==6.4.post2 pyramid-jinja2==2.10 jinja2==3.1.2 markupsafe==2.1.2 @@ -61,7 +61,7 @@ channelstream==0.7.1 venusian==3.0.0 webob==1.8.7 zope.deprecation==5.0.0 - zope.interface==6.3.0 + zope.interface==6.4.post2 zope.deprecation==5.0.0 python-dateutil==2.8.2 six==1.16.0 @@ -93,7 +93,7 @@ gunicorn==22.0.0 gevent==24.2.1 greenlet==3.0.3 zope.event==5.0.0 - zope.interface==6.3.0 + zope.interface==6.4.post2 ipython==8.14.0 backcall==0.2.0 decorator==5.1.1 @@ -203,7 +203,7 @@ pyramid-debugtoolbar==4.12.1 venusian==3.0.0 webob==1.8.7 zope.deprecation==5.0.0 - zope.interface==6.3.0 + zope.interface==6.4.post2 pyramid-mako==1.1.0 mako==1.2.4 markupsafe==2.1.2 @@ -217,7 +217,7 @@ pyramid-debugtoolbar==4.12.1 venusian==3.0.0 webob==1.8.7 zope.deprecation==5.0.0 - zope.interface==6.3.0 + zope.interface==6.4.post2 pyramid-mailer==0.15.1 pyramid==2.0.2 hupper==1.12 @@ -229,13 +229,13 @@ pyramid-mailer==0.15.1 venusian==3.0.0 webob==1.8.7 zope.deprecation==5.0.0 - zope.interface==6.3.0 + zope.interface==6.4.post2 repoze.sendmail==4.4.1 transaction==3.1.0 - zope.interface==6.3.0 - zope.interface==6.3.0 + zope.interface==6.4.post2 + zope.interface==6.4.post2 transaction==3.1.0 - zope.interface==6.3.0 + zope.interface==6.4.post2 python-ldap==3.4.3 pyasn1==0.4.8 pyasn1-modules==0.2.8 From 5ecaaee43657d4bf5b6b29cbd18b294e09919729 Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Fri, 2 Aug 2024 12:54:19 +0200 Subject: [PATCH 15/64] chore(deps): bumped orjson==3.10.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index c8349571..83fd74d8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -168,7 +168,7 @@ nbconvert==7.7.3 tinycss2==1.2.1 webencodings==0.5.1 traitlets==5.9.0 -orjson==3.10.3 +orjson==3.10.6 paste==3.10.1 premailer==3.10.0 cachetools==5.3.3 From fd206549e8e12cf39a8c74de990621681ccef30d Mon Sep 17 00:00:00 2001 From: Dmytro Sirant Date: Thu, 1 Aug 2024 23:00:05 +1000 Subject: [PATCH 16/64] - Added Kubernetes deployment section to the documentation - Small formating fixes to the documentation --- docs/images/helm-chart-diagram.png | Bin 0 -> 227579 bytes docs/index.rst | 1 + docs/install/install-kubernetes.rst | 66 +++++++++++++++++++++ docs/install/quick-start.rst | 1 - docs/known-issues/known-issues.rst | 22 +++++++ docs/release-notes/release-notes-5.1.0.rst | 26 ++++---- 6 files changed, 102 insertions(+), 14 deletions(-) create mode 100644 docs/images/helm-chart-diagram.png create mode 100644 docs/install/install-kubernetes.rst diff --git a/docs/images/helm-chart-diagram.png b/docs/images/helm-chart-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..21a1f56dff9b064a29eb9404ea4bbf11a5775406 GIT binary patch literal 227579 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≠Me3NNJIzY+@%Z!Q}=^zVeqt0 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

=i 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 <)F3ySqa^nYBNk2Wip3eCbfc}S*T)l zqni#f*+Arz%+@a^6{<_pLreD3>(AX%8xi>`M>eFw{v9dJz07F~m z4aVah)S2YIPJun6F#-w+>=HxTcn!01C+(ESv$(=sX+mnJ*iTJ^)u}g=ytlKJRjN4a z{KLrAf~g>EpEXC$irr&h%YL_OS4o|5e8Cj7wIM6;EN+%vBEqJE+ms;toFn<1xm~Nh zgCDb`1S91MxS@o&h9F$NtRF)VQ39v@sz9)h#C?AB1J@NBDD@~*#@oNCf*rplOY_>4 zmi;F`S5z z?vyce2GjFHn%rX94>l~?PTV$ICGbBOplOLQidGy#BHg< zTa}RSy6Ne8gtkk6fzrkMjwa|wac_RVmeb5wKapVo!UXxc^j2%Z)Fj`4*SFHGQoEdI z3|x9l-3eUkQzIdt4yGrtzcw6e;@nM*Rf(G0M zdo4z>r!AV(1he0Kzkg6?ZmgrQgWUzrzAHL;;@}Dq)=aRTpN3I7N88SAl5Hm*JtWL%pR6guV=++(TxRq>=0eDT3#5q(`;kcr-6kv8|7|y^8TNww_ zqM_o#!>IKl;45Gcvn&l8Wy8)EbU)&$r5bC^%)$lpnKC#6)SrWV-|ka0hAGN7xyOKG zfD)zx`}Nt4_f$Dm$1B;b7MH=N?x~`F(;0cFFqpKuf4hIs>cX92FqaEeyw{XCN+Uk4 z{75B6qWkKz;LDwlx8)hZdab1|(}p}HdyVp6<3i=%kKaUCmRc2<)$ zT2ZzsS|*ItAdalVkcv779LeIlpe#FP>RlX>JKyb7_g!Y~;KwH<<8HL0B3j}g9QYSo zBh?@5m-~4dcIQzj%4UG685@2Cb;Xgp)bL$F#M2D|GDpwB58v^=li)Nt+?X8x9F*8{({&qVC86RMMtpVY;>&Uw#`{??67l`u z>9uS}`&7}k$#gjEas502fexKM zbMlk#Gjy5OF*2oH{VF`?F0H1Hn2jZ}&YLKx*Pb(CQ>$wD&y)wR3sv`VUY>kuJ#B7C zK_cpyXFwokpzs|xQdet&=QU$ciRqL%Xc_3vvGK-dp(X{2F0kclw=>J*V1i0qJ-gt= zM}#m1K=zg|X$n69xEX`VKC}d-NF|D^Q^ODtyNI2nT?@dPq_AJGd(djE+`L^; zm;Gz&wcz*#!3ND?xOF8L4(9Bwu^deHrnj;v-+{d#r?-16?j}?(FGvRLC-qgg;#6=k z0GM03!0BCQW3#O9q0cQbRASCs-iWb4#YWArr&T3osLR-1J-eDL%~+13@S=Lyj}1LN zmN+OsIz{qUSgy4hhQ>rEMtK&%e=**TOGrEsS6Q+&J$QFsYnWsB#qzdPLgQI$%gHBA zvYbAhZwV7~w>Iqyu1B$oAQvE7TX>I}HmnzwldShJREIl?7mNxqO&A*27ZiOCHW+5v z&3iSa0qX%}{4hU8QQ_Qyfe3=g9_W;$`5GGWoO-Ua0>^(d#2U{j&*No>Xb<4Ut-v1A zbRpB`fPkSFGOUnut*;$~N_7VjngnI>$5P*a;= zf7y?NVH^>aNbr>}vM=crH=Pj(ld6Bme|O6+`N|mk{hz@i!AzFv)-@4v-8ob3 z9QQ$%gQE*1Zrmt+B96ic3?9N3&n8@Bw)u2;7Uu4YWftgx9za=!a$DGp%%C@sp2#zq z%0he8-DMWa)tnP5)n+eMaUUVg{IoPvv-e(OiL5@eWerbP^}`e#i^G%su-p&)x65=!QLOmXWr%j*yX@lwFslORuSTx-T%RELJg~FkatW~jGE5oyGJBumgh%(Z6wulI z-wg(GyXihn&D1b4p!3e#%C;?jcs>>O+f7-VN88_=j7r%8&03u zeObdASF@B0anmX%Yyu*{kEwKYdvCA*j@01U2LtGLqQ3_ndowU&$t}S+!unlB&AT&L z@k^urEwBQ@srjI!&VIbJqYa-i2lgHDac!u(rMH{!McLa;Wy}i`i=>od~d=r_$5>(*EAhAqFEbd$T-@#re-u>#b z*J?%M{`>`cskfeM_i8JpYer8#4~Dua6(kVrVqe+|uigtRs61YszB|N*MXLCeR0-uO z;2Q+LuXnTOmC70dQ7Dt_SU5R}wp!<#Z zg+3XpF}!$jham9tew0n6uja_5DOL+Hu?7{Iw#UKQiREt|{~zwv+1&|m&p0)GXw$dN zLM;;+;Yeg$Y-S)o49ENw;WVAb7IjnJ>cocRzKBkX|$~ z+xnqxAaa?qL(Bm48RRqY@Mw&(VO_HAlF`@o?z17O;V2^i|g){T@Q7a)4KqFeuII zDe>#)hX7jbTR_&aGaZ@$hFIoIlR=l@ObBlP6Offmk52;sBzyC|OKEbhfh1B0yF4|s zL_17~t%#3j5f^k(p8jde?mmS1K!Y_cojb|cZ$^0qOQqp@|DES+#V~s;4swPYKH|0j zPhnwjX=w(6Ut~Nz9O#y!L!?+tE|`mQ@p=$%a6v)$F^0`P+qh*0>dAH2x+Pa82!iEK z2!w*u{VMe9ONZIj3UPqS67+Gq3T!WB9joWO`ClqHZcanCr4-YD6=Dlf&k2~RO5G%) z#mO$U3@M{=J5uLz?Vyy7(=lh)&ILpMy{l=lRs%c3;ytESa4CikxVk!}4^OhME%1FA zTAR05>}unY z82T21I`RQk?#FZ$OyQu}>wym!08-*~!HC#b0{})O>ZgLquP~Sb32P{Bt-5eceJ9Eb zTE}mKS*u)S5j;n8)?Ckv07acB`6aKR4t@!h<ZC(@2vZ@P`rZ?~UJH|-=B1nWI>6Uj?q@yr%mkpIS&%+;@xA$W$IkyV73VX5 zqRntEQ()^!RRP>XS0GuA0wOrs{u8KDW%-D`pk%>YMaS?GF50Dco6*NQuuE?qZ84r}r& z?QYHaoXr344!GbmFw7l+lmyS(13(6`MBMvc>y*layn%{YwR%-kyo8zjar%As^4Uad zbBc5T*f~5f2kdF_eQ|Z^1hL5rOS5g(b~o%cdhuTr^1kmLy>%6fGXX5l=b}LOF1a-f$-ruO0-YFG5TNM2VtK;;R{90;rbustK9hSTtz1% zfj%B9W(Aq<=9qJ&hlJ@3l&wl{mzJ}ZBibB|;d~F??AQPhpDKUt{3_DU52w05d%Bw0 z+RmI>kN@spfTG3IFCJ3KQlN^FM49U4BP^?1#%(OG{e@{l68nI64tDy;6>IJJu{;j4>E)9Sazw9ZiBZpVY9&n8rV zzdm=_ka7~^T>xC)SlyRwQsU&t2HA)+^C{?kOv`dGI;3~?oJGGVFAp!|#XU|-1CZ88 zBU;gdDqp0~kV;WlfB@wYDw83V_pyA`!BHpw1l;ILkIwN^>S!fATef3xOGS(3$hNPue z$Krnml~?aDo9gjF9juhN3GKGPVDvQ^&%v_E*-fEqjne)j7PR_f?{|};Je3J|_C8KK ztc>;a#*1I)2z7sj;Ulbn3k)Ywc-8TwCykD(7mK-t-s;2b6l2Bu*odr&&7P+yGZJO- zBGdjuk((+NVH()9J?cxv^FrYmh10;i*+Mje278J>Bgcp1cG(r zE;B<$pFJ*?{CaqRj25g;a95aIl@Ok$Y=qfD9w)QgdFmXAvWXS=4B8MbPx%SDzXymG zu3J*ZdeJZB1KlSa`y{YO`7cFp-%C5grS)#xJ_;cgh^97?LcIQ&kt81YMqc+v?O4p8 zZ=|XW>!lWuWD76!Y^At~a-HN|PyUh~{Rfdk@P%HGlQ3DTF>V}EVU&!xzYamI+mg|8 zorIsT0eZ~yZGT3x-|KbOb&{+pPN|#Lg!T6Pg%f|tss4^@R|kGy%&E=Pcbs>>aq^4MM~wtYiSw%WU%W!VdV)tX^p`0M37hU&z~ zsS^>m-!iX#MK(!Y_O`Qn86n~D*KIKD2csYTwKOUaE3AEn(}iUwt)b zRw47%J#OF>+~eaDJyhF%L2|l!OIh;vlq6aEUrr1Zeo`>xbT2PZum46=J6aBU9vP0T z{;TsYg1)mhESf2fSKRwt6pSj{=YMvy|B%nEeq8@y_wG~MhE%?F(}_?%gO?`aS+bLy z<&uX<$_lP;dydc}vvz%bwuV!LOC(vQ`UxseE%@uzhPx(zZGIw(aF0DzP81X#;4ref z6p~ffmjWHt&V#~Ls4~CX890}cO&Yh9=%(1O|1}dQkuXjvxjgIs+AfiFcv3Yao+*y& zgxuM0j+E?t@;Ag_v$g>9%)z?2lL*%WC`u1U4VFo`EwZPlPgcYq_6eYRLY9~O`S#nL6HoZa9JJN#>d;qWE9DHA{eoOk zFJ+jL`(ER7 z)ZwpTA403Kvt*(P!u8eT&HR&LlK}USifr?nJ5o{HqAF)dy?`t5gWJLC?Gn!@?_c znacriyahNP(SL178$8cKwf*R|mTe*oYa4e=L!!xqG69kGblIZZf83FZK*5E7g3GE@ z5e=YcE&7_}pj>;v+F(TZR+{)Y2c{4Cg`Ze%f0NC7_WHB|-AifTwI>rif>t^pEe*g( zF)%}CeUdpH!`A~dCU0Yir?88;C8ad}BFp=twt1~B4k=R@bRw+#F^FpUg~$Zr<9xBa zLndtQl1FBk)2E>cVA*Y@68w6jUFU3>2RY^k!Lm=O)T9s=IWwYG3ku78KPx z!O5!Gbwn`YcfM7m6N>j-3((93Y%26lt&^D}JqUQM(jr!%*L>QBYi& z*1VVuxgKUZ0!V8H0s{(D^v0%!B!e#>qgbCf@+h6Wwwbe|6%?B|KeX3oN9!>q)yIlu z^PP*=Uw%fVg&Dbc>E?L^PLBYdoeml62dK;o>4J(R>0@HKg!kR#79D8g1PmhT%p$iX zhl(ypltaBfB4hcLevg$h6t|p)50Aqtfx&9lY0Ibq`9rUF(k3>`cZUhi)^X z{m*Pipp15`6#HZXY1ITE$ZwkkUQaWOlQHT_`Jh7XLF+HNIein&tr>%@ zmuz_c*&g5i27{yvJY*#QNC!KI=EVg^Q=@nX!h;ef%DB&)CgAAN#P=^tcjh zFATgTyfhC?Nh5+S$Rr9*IwcU070YoxuYWAL;#3#d1D&$20y>6U{Jl%K`7Ixapq3!x zAN_icM(BS*MGCS=0mE)nc~y6)zKJd^b^W$Nx&VClT=@o6`c!nrmVD zd+wgOyCtst6JSyK+!BO+cQt?CD!H?3{q#^4hJ|F5bZVi|YklccjbIMMF=3B5P^r!g z^((jrawYT?EqYLS!A$WfTpUUgu2VSC0)T)O)Q5smqb7%LZ_aqr0w_4JQ#oKN*)K4G zuv1Ps@MnT#F@R%r)$Fve0Mg}N1ah4O#HAH@PR1v`oQg%nC{)hH3XqjV#a+O$7zG?b z?l=DvoAlDXIEv@Q+dzCd-UBdh^B1wHs%x_Ep5#<|8Njc^@G*c**}oM6v@ux3Mi4vB8%m5yTtfJ- zP9twI=8Sz86nKPc#Dsxj)%!ZTua+ROXc90#kLp8bX7B9ayO3)lG7TFEZsE}budh&* zz#dk`Wxs|dc5RTVkHR#~29g?YDgR;BTrPb=Wzugk!*^TOXFnH;F*7utxtb%*1$oPC zpmgx|RV85d|^=aKH18sJy(Snnu+uCZ#U7rz*grWJ{fzMd|=>)B%`lkq(ItJ>0*Hd zD4Q~zUVQ}fVyK}yblwRHfeCSW zc|TwRvA-XzEr}({oGcdfODH@n#F%(j-%f6SohLtr(cbA1r2_t&Twp-R95~vGQiX;A zZD}JO7n)6THEy0uK()>_s0oCZ;U#%Lw!V7!;UOKH1t{QFp3jqvvG>h#vx#!%&Qkz| z%D<1L#4(O!0NV?@4}%fXCN1;nVwi)5VH;@^Tp-DP7}>yBnuKkIPEP_iYig~%UsjkJ z-g+3?T?im~t=;uL`|tPmaXd*!G`GFkFLVWb?(*TSg!eHEy$fYjj?FXWE|?!u{c^I) zH8UC7`thYwr>@viZDIRoT&}^m;4a>%P2ROWE(crt(&fb~)P|2=gK?p6n@WEgIjd8E zWKpVydYA!yuu5lFH|u&QKcV6w0b6$qND-fS$?>W+R%dU0Q6fuqCG1O~l#0tKiZAuY`47PDp_wAbvSHr`3#G5$4VrzB~gpf1R^@H&uh( zK|&&VEpDDPSfx-Urj!`7#s#R$ijS8_ri90HUhj_T z_P2bllN|6)$TVzpfs0O)KCYWot}-f+SY8WY95KPTvIHw}WFOv{Rf71P(euz+V8BHW zYwWm2_$70hx5GGl*-c3Om>RoqWb%+YLioysT(1{MTwLfLbPdUmJ*i5rd|*Ns0~qqH^7WL%n&Bep*~vIpu0 zp&ZN8{c3n24V@nyPv^N*6qgRmZwNY;fUETTJ)IyKS4aaYQy0OZ+D>1L81{!LjWk}| zj9CV6dL5nvkE7M-^x-dZ!q8=V7|E8%j=G&r7ZWr(@=gtxJ!3m+oftRVW|4{4xzDQ~ zRGA{g$epf1L2`N&t!1X|+7|&4s^9c>&VB3K`PbtB4do$9LqUg?V6b^eIoCGtk5?x`hArLlU!__DqR52p0XtI~cH@CW(<2-9*zu}J8!e^W368WJ;# zd}*0PS?@=BchrYFssZuW*17Y_=p7vMMm}CxqTIFsC(h^_hQVGJ@O#Zt%PMeNzbXI( zJ9r}ydPTCoQ{7rNU}xUf7J{d)3&di z19=%1Q!Vyz8mxVb6=l-uy9~LHuK!f?oh?+)oGG~}ue_m+iqt!1_#%LEpcqIG0&8Dl z`3Bi^%|=!Zmi6E9{eS;=hK%{P^~y~MJ2_;ADWCAPE>%Y7RcQ}sgLP_1XT z^_%y>T3xJ$edjPr8Z&`dRYB2O2%vNq;q9UhW5Udvot5q%X%UwXI20=XH;KQ{L z%RCCx|8)Dzr_G{@=F+#_Q|Pp+asU@^LaF8Yd@w`QI}R-Y9pUw4$-?d1bN-p19FGdc zsOpm)8NDc;_dDTmA(BLNlBjmJl!c=>Zoy2R4Z|pr9N39L;zLl+R9bw)9t+ z9PU+^7#~(4_}vM55H~|mWehy_^yl`C+74h`&{8AIYzdbM)&rg{cuZK=?e2zNp;w?( z8j_s$etTmaZlCD4+nX%@VhNg|!xJw$nw0}lHs~upC{X->!r5gM*;E)57Xy7{1Xy-y z5c)MhM_gq!iIeR&?(TwGZ~QYGdDweDkD!_@@+v5OI6u%R!gt?E(*E5;y7gu8l^dcLPrH=6Z5mhDlx zX$f6iGQc3B3M$kY?5D<{pp*l;hc@uGFgj6n>@FiPGC9sn!Yf#yPCdKYKqWDX z@r$%!1Q zKa-&T{OSJA1BTFP<~4`_T2L8Lx)_yj5u;p?S37q^C%_Lmi;Tjf4=$jJI;5?O91}q8 zcGj;80Na5AIL=+<)B|sy0y=0L5Q4A5n1)+|(Sn@+2#5f}Oagx{fUqXvjXtPKuIVm` z%8Q+M^=+vui2V3!hsyf%P{Z@|kxpnghO9r2!0i2#O5zMfC2{g;LK7+he#l*;`*6Av zE>BeBofm zvYVZrg=dJQ{P?3Ow?87B=TxBeF8>-|2y;A=X zY!9-Fp(Rqh9uTJKV4$LJ+Xfg(#H?QZ_)I_CreZQhnHj0 znxsNcgo^G>%zk^hkb1kg*<1C}@$RO%Gtjm#bT-Hpc=mM?fk4fSGwOy&_l)b#)&`g; zygRR~5A1d{Q2>o>3|k*qp*fk?FtCO1`zlhCjhcX*n2-z=d9oc5+=4mk680QIGdbn@ zBLDw7g`YaA<^KtV-$ZxHogwR(*XBRlu@pBzqr{jhc5U+9~5e@2bL|@xdmbXi$z9O`n*OJga zcBtL}!#VrJ+E&%?n``%jBs(bI`IYK5$3Mh;aa4}3OUX0`Y55>a2(Sdjc$10GM;JgT zud{gcO!{PPU~K&EY?@fFasaW8@rE~kKaS(ey;i6H~S_oe6Y)|i0{(PrYS}N%P@(GZhf{ep=Ahaxkmr>*|G*`+nPRwZN+tQ zFrh=+BsXU^;Lx$lx8>NymZ$3iKIN8RaBr5tVJHF6=fuSWz036kEOBkw+?J9B$kHKj z|J=FDtZQdC)8{p){qgyzIQPc?0@uFG#GcYgGWjvH(t5?u(+pJ|zh{XQ;JAaQG>&z55U#TgA>Bi0S zWIDfJkjDs@vj@B|0B@$DVwrDpf0c#U;2nsb^>I1;m11pS$bR_i3{Q%DK+R|dIbkj% zDD3z=D?33BVusoj7J|o=u=BJ@8vvmQ-AzaGgzJ%R4uC%Wly(z`q#y@`RVbM0$N2an zlAZ&^Cpy5vwSbxGklChk4w;vcPjIm7N|4pfrdDZgT&D4`W&7+^NKHWdn6>G&TQ4XHd93C33DEW(kenS-DqDt)Hl5k@!& za-c_HGYS;Gl5Mc8WAUtIO6H&Nh z3KX2pAkw@FEW`VV&sY8f`Xolgv+V=+8$zH*`8^hJ&ibrFAT}|CiojjOymA zADJn*-~@EW7tOsM&_z?;;Ulm~!T;y_%St#T%pkD+AUz%qyYjiLQ{xGTE2L=GHWR?^ zy06OZP--n&+ZZGG`zEzxnfj7$u^G4PNFrq%>KfV%MF0~BF}>ZO_-AT5sUpj01bS5i z2!P(9Di$bTo|WXFuEYQ{8KIP^bazxMR`#l7(VxyG}b^0=fAw1!y zvIBFYNCXC#k3&dg4&oqUG8hHQ?GAiHT4GnIDE5-3x{vygS|APB`%cihjX>~`jw&*p z?n{(FYTkXumid^y zy>(dmt|%KujRi^ZaOfQ8ZNu;&`Hf)W0$dj>jC%87xU-Ex-aKXkagAINPidKNzzWZq zi-t+@640PGOALIe*o@6Lq%td|NRWk?hPYgKgR zi*ULbC5zq4$E+20Qv7iyzRrPZ1G}Etm@gmQs7MhSKNKH&ogp7ar!FvBnh$@@%;PN8 zW5iP~f9zEVnEOYFj%8f{>wK!kS)+U>Dy6Cu_P4H>`4Iexp%r+?Wz-V$-`I!b6qW$w z43Fo>ev(rNOiRECJOg0MbVzk#a0NBaTvn*_Uu*%IqZu^%%tc~v?i4_48?HmrmE|j{ z>yTVt0^%1j{AoqR$M2G+atZ3bN+fjG)JGetj)h6ozle+9i~S;>RRDvGN&5cb0p}St z!lVDOLN9woNXbsrVRNEU%`;wP`gq1k%0noS3~mGFsZ#lR^R!jb58a zsWWALk@ECn7-E^QN1Zn%w5v)2S&`lmR*_4EzS@1*ll8(n1DZMCDQpchd8u+IB7Qrn z)9FHz&v8WJVr$awnK1r*B0q0tBlvwT^NiMz+;;SFhF=JrpNE{P8A-Fp>O8VNdLUh~ z4trTIcm>$E7SM7{7^1C&=IpZQ_(L-|Tnu)Ld|+MC!_aw>8&CGL(=PgIz9L>6;jUm) zmAzA^GEYc@gqtwQ%_Um;+$H+qqBJ^nFe!34yuZ9w2W)e7ConeIlm)7;^@7(w>czxx zoCJ{FMl~2f`nyN?@Z#Vqn3)3%@`S-J5GfDQboao1T;KiQm?uJ5(k8{}E`>`07dX!- z7)D9wTWDt}K5DEM+{N`>!R4I%v83I@M@F+bBv6`&R4)nM=SDYk3#h!0rhc6Z%3rmk z7-sv(_?`BVUP}1=W|GpSHvyN3dy~x{r}&_;wg>D9L`OYQC4%#e>XNz{g-T_KeUzWq zIjR7}mc~p@w;z6R=&9FNIL98zx|~Ohak(3TN(;0*@H#^q4pIen$Att2#P1e5aHK|+ zB7yo@&6QJ-n^AvF>`mzd3*ZJOzsWdpR-v1T-ZFhjcU=P`iQ(pnZz76em#Ve7RT^{G zNhgp0EXrP@x0kFJ>$Op_K6|ovRDLbQ%stB&EdXS^n3FducxN&>#sEo}fj6wzqS`a^ z?Err7(6>F_dU;6O5M@mlP`= z$DioaRr3#%shZTi?72CtM3y&~_*s6e^@ECgkdNzyYYp7(u*hD%A>JLX9c&UA)p?&t zsSDRwN!HTIQ+hDg>o(yY=D7Li8d*as6b(}DV(*yD`XFuOOFTTJQv3d-Nh=d<%qpxA z)NwUTj~21tlQM%Nni3mZKPXQK6|+lJ6e&6r=MlmF*Vx|YmwBU=&OV>LU&V*tVK%9J z)+FbF;p_=K>ricZEdW|KF$!3%iX5W)@Y^tNy~)(2tfQA)46g@EYw{)%-*E8-1<%^3 z|7wk$oG4>f>b`2;L?ijjpE~CWFW&ijaESr0TO?%5YObLAum?lIh%k&(_FO#W*T%77 z3%`PhsR7AUt+aorBo&BB0O)U5*gBIy$WxCswmw$6l<&;T^CM8=t@n!Q$G%fcQ2V`5 z?V(s1o!y1-sJiKEyeVM6k%M!6b#I(Y*r(Y;rI~K)S}sXTBEp80O?iun;<~A!3_bHq z5t%x2k{~lBE6$J{)AuFe;qt4(gF;3m`m{oRJdYXGYbXm2W)M%k7M#&awq|UP<-Wjp zNUbsH;j(6<&XbdCm-dr|d!8_pmpQ$D&!+=pqA#fu?jJE842X`zby4I}ME$lYCD^VV z6Y_{i)w@e-QDS|2r0JN{iDv3cc4ND)D0$LQ!zX}#S@W3=9r8sXC-(pT4p4UgFUL)P z+IU(UP!{Jo)+bH{@v$GGq)B)N<|%k$VTIP&y{Vzz*v8k-$Q@~ z!W(8tkR+F}e!VD3!zfZO@%xvpC`d^4DCTk?u&!%?(BBM{QR+Suehfkt5$=no!yvEJ zIQD{a&gxuX2Douxir`1v%m4 zQx!a^7RW7TW~8MKd)C@zl#bate^mG&zy^p3pwS1()1D%4iS~=X7hFnM*CqzA%3#?% z(I@lJR;vU3w{z+_NV18QT{p^KH&!#dO+P`(upEdPTLEOg3f-~gD}IBIbvj7A4&yhX z3aJAG!1040_FU9@M=dhILUxA+DnlAH(f)|IJNb~aj6ismRn-Z~GvZha=!p~p{1Iji zXROlTZ`sF(OcC~r+){GB-Py6?IS1RP1ssV46!S063>yRM;)UOS0am;O(tkT3$^h&! zSCC9Rtnmd$8exl%=-lO-=hhMMw9YY& z5B&&?8U|fZ{^Psjoq`9um$MWaI5gLmD$@G+UZm^h2CdH@_SPrEE!)GKDUWQ4R>wzW zyBEQMKMF1u>EPA;74il8C6E+ZLcXkc2U#ZuyK|(!(oEGykUA&bDAMFzf!lZaaTnyjgNF+UgOzeC63{_zk~9M@&5Z^gZf!81M=Cw%RbKf585>(6(M2}+THWjjw)`BQ#IzDge-Gnymf3-TwKg`sLCdrjL} z0oNr53iPc2Dun$SeoA}Vd3vD47*aWf_P=Fma(AwW@^vazs$1IJ`%~6oVE{1LWY6J< zv+L=^y`$Hoq7r4J3~A*XD0PO7y&-{lb2W^$-m4Q5bW61)%-T z_z=TK?AOg~Y>3*|{iyeg#as^78C!2x2<(w-%HHuhyZHG1_U!mm z57)Q=AY>J%dH}u;=3(*m*tWb@Hi_%G51()d?0LY!oo_d22q#~f+x+(ja7!f#lTTSr z!wD-WK*~$oEC9&nneFF8*0vu(b{L5JM|tEL!q-tlM@ELv%rhogkBFj?#6@k^X8^^w z>-=swJ`D1i-a57i1rb5IE#4(T`vW5d!=%uV1Y(G4;sx4sbr>}| z_B$oJ&yxH-e=(2GjF->-$UE6jJv>r)zsX%p%>P+_qp`STq^->?r}_9Yl-9HXmTHfy zoe3wLxL##4ZJ(#U2>Z*8slonwlR_{FdF43XIo4$7Jr5Mdsk=X7nLfpG7#a2V04QOJ zR9Z`+z_@8I)oRgBbWt~Rj4eP$UXG{p9?M@vu07eXYY2wN^iBzet7j@x(n@XENJ+a* z`Sy>ix8)AMn5V1|Nt_T*9iQl~yrxALKuDWBBbZEY@+u_wh_spd`lj&QGo*yJpc=j6t$2}wym1dr$%uO`vHuF5Ce}WGf%zh*#YUb zuJt-RbCs{!T^HplkXytvL($B& zdf2640CPa=Z7*Az7p-CvB}0<29$$O5xu&COHnq@}wrul$hdo2lym<-V!EL8~c~65~ z-MDFRBm*(8cODRXN1DfpBd)JR^_PFdjwO&PNi*uB@^{sCRROkd8j-D`pRl!kz~+XY zPI9EmlnTv_To|Da#k27LdOnt|SpuW%_0;l(`ZtmDvR_e(#0v+Wp)02yJM4qa@4P(I znyh=WX@7&!x4hIBjjw*Z_+e!=r4p<+tU8NK%Q}=)r%ZMVUH)%83oUxi+L4 z)ZwAJkpKI$)3&dSt0Pi!6VB17)mWVq*V9o-X>>c(07F{i%z`s2ke^cdZE!0uGmO}( zO**Ia@M4dO((M$FoltTW7tndY;OQ)q<8bojtwc_fVRwQEI$7qj%tvq6$F&`_Nb_{L z;On3*JeybXE9mr$omFz2O_!XIS~i>NXH6lA>Qg;C=TtlTRh8aanN6wWOWAAZ{HVhY zdtaMqEFzd?%O5 zB%Si{ZE+10;C&QKJ-kA2=JMmyYm_vb7Mcr@aLdDo3x7sV>+I(s`SM-D{R9WKp_QO17rkZg8CwQ5yw-%$yH8|0ZX9Y6 zH4WHOAJ=Xsh6=@aXSbL9F)ON{j}D(j>sxAr=YC2PiI4tR!=3t3uL2mlrWTp_=Swy- zu`Fy8JLA=KbmLI2_N9X6%ndXB2LivZ?h5d&>)XD%T5Q?Ne?CfJZCQvNiMOZdjkS0G zWv4|^Z>zQNiI-uB|Fv(X{@P|D2lslRg@tIcd2KU^!JDvn1`wn$XZGt;l8pI%ch;WW zIFx$t#;^UW?`#{(w==hY#BP)vc4vDf;GFV*(I2KGs`XJHiVqj9Xv_iRoaSi3CD2bdI6yWr^?Hv}D?qUTDI>vhrZ z>gm&@a@SOl_~m?@;Xi$Lf1Qx7-N9mtXGC!z^$GhL^8RygxT=#sZ(+LfRP`xqc7D@;~zpC%-oZ)cmK< zKH3+xpjB}C1P7P$#eh#}Y2l7F+~f0h-Cgnd8hK;*=O03}@Yzl3_p6lF@4)~&uP3nZ zbGY2(pO2CMt8~X#*Q1@!4$$vjn>yH#p|io#65IQ(A77u1 zG8OYHCB$`p=9=Jt`s}~ccXg`&JAKI$`QPcgx>NtV`;sH_e|O*2Q~BTBmwbXp{Tn=x zBcp$Vht)vi-{9fj;Nh=$@_*ytq1jPFkV&?c!uCfMm4j!!L0V!t$FWZ4mKP#E_wHY+ z)@Hwbo)x`IK^&wInQxo~D0c0bx55ZDw4e~)d`QGePr&}XdtFM_*QtZfuBMt>lXeuY zoFx#pZ^zwsrs83izDv%S^x*6EZ2F#38lD+Nl#3{B)A;W6&ULeE|A#rJ7yL&($=|Ix~yN6*|$k#<4_!=vV!C+@vqop5i@|YL~^L#E6Q9{#0)vHgdyfSr4LbV7ipH0figF zp?q=gD{I}*W9aWKXX&IoTWt*CLo*E3l|S^7w?~ zaoPvW+D+`cNbL6c=qTYz*cWNiO7{Rg1ukDiOK)IipR=pFG9>aitpyeaG^IR;Ag4__ zII*4b<@UfC>{s*}lD3!a_`&lHjRTw86)N&5?BEHP?$ISbghbcE<$^{kW&Y%;o&-7+ zzx*{J8-u0(Nglfvev0cy?^n18Pyg#alYz!%ecEg(@?EHKO1}G+7)%*Z@f6)f31s&i z5toUYzU$*)I9>O=6g`9{ZULzOReQBAZ$#V&v(tFhtK?@gHx(!V7FG^Y%L3?MUwb(0 zmo0EbZe@1S15?5e|6HU2iZrDh)dAf*&ZQQ^yELG$OHg_ZM6@QNo`be7YC9Q-491L* zpn(@`x%5BcZuvJ4Vf!wn36sYs9`GfLF#6Q9my0Nj+^D7z^1v0|NJW0hIL4r{^WW2`Ews4x@qd)iUVsc z^D$XK`ZV(an}227|0RVRpy2((bqUq34=jg<>+OI6pHK(@{45B?g++cK{RN2Z^H67i z_;^yMC@@CyU6!Gh;}wtj56mN8^ok+Y3UG}yU_gBapD!gOC=aj1j0~?10{g}6`QIyD zzcZmisig7u+6o$(^H z#TA&dH_J(~+6Ojz3q_hbhfG)`_u~pF-=E)4&ZIX&cD$2?%8Rym{guw2&>h=OUZF+y zSpo5uZ8<3mPM;1xc+;U{_H!EC6qjEU^!&j}>~Ugl%oY_h*@1;!;zd8|KcMadAQDLf z+TWWk-V7YbLe>omWhsLov!!W8BsOSd5jmcQck2KOrzx1j#tn+cJip?{2=r^)&&onH z4I!bzmSNCR)+h%w8~GtXdM7s^T?QioE4!VAO|9AH#sQp4RvIS~Pe+_D5Ju}&qR-^Z zv(qWm0J6E{L;WWixX;2??WaV6W`)!YnNal0IiL7U$efsMTKAD$`fSZkLY%U(6VA}- z*1}Fq=tx7F`cC^UW3Z?5H?P<1wp5X#`=z{d2D6dvFnKfF%>}rJltsL}X4ETwPco*H zcYy!8QPI?Q7qPDG$XO9F>yeLQo1cvDD&v`M{^FGx)Eg_ z*bY3&_>VCR9Az3oniL+(X-lx#HO@+gYg2g(PsVfP283 zj>~30Q8f-ECYNDA@;ji?h|DANK`EryVFm7rDe=Z%o-N#M5>oGa*$?H>Mxj06nY8gNoItG7rC-Z!T`ND__3@5{V=#OPE`DJI z)bhl|pa5!{Df;#UZi(~tZ`Cu^A9Uv;oZ z84S-U?3__G-}F%yh4>HA`FCl7wN+|!#h=4xb6ASW`^o1tT|Eo;>%F5DO%fDByA@ep zLjz&Q44syVc_5Rtp*A(3c6uXfT2C#fcju+v6_L{#YBIaz^e#Gs5p@et1zj9%mZ0F@ zrsO_JfAF-;izQjS{PQ=c;mnw{Es#DPIb-vzBl-H;pbts=<8WZ0c8*%8#mWXVe6im5 z*xHBayU*GE93l1e4@Be4_tpMQ%8e1}03lVo8*{d(3jPT=66EULhce`2bJrv)QmY8C zV)fK63F*$+=W$*=HzN+t;7y-uzQ`}XHdD!Gu-DFh4ENmp_*D0{*Gow&Ut}Am#@**c z=Zc!aFQJ1^fYGc%@M6E&?V%a7MUqM^qbc{H=q3Z`y}JeIVn-akGbMZuimKa!mx!!5`W~A>=#f3 zVD>#KKu7OOg5HtVC!`)!d`D6#J&BjkxnV*^w4IODyCyOLC25)txmWH6|AW2vjH+^5 z)&_+Ql2n3-ijqVSkf6XqB_j$dl9PadN)Q%FqLRUcfn)##B}rQ3oTCXO3Bm#-qa?|a zlR(#82>aago$hmQj~-u-?s5L?vG>@l_nq$yHLIR_>Zy%XvKHKR+>17#JN5vq?~&g* z1hUu}K+5XGuq<|12z1(3G3gtrEs`Y*A8o;pH^n_&-9XwT;U!6Iu}nrCpBQFn2}@U4 z*kUcvJ*=eo^5P55Lf1Nds2E2yhcEW+x%@`0N@piB)Qt2oz_Gp39M|b6P^^`mmAL{* z9!KccDur*fgcOh8fl>kdIlT1^rVbfrP}D70jS$fq?pXe8(pI1Pu(e$B;i3=YlaBf1 zhMr1)Ab5Pkr02f4>ce=y;}Z^YT$x$f`qUv`l^j~~!u&c;Chja^901GMVB>B&)xVo^UdAbW0-lNb zqAuoSu91hwVwk0S{F*O~Z0V8?cMKs=j6EVfdot*9mcQEeaS951Ny52EI8K~e+2@K` zaurm4_^DbRCp)=~WNAv=m#Yt7@o~!gxp;iBsCi18|9k7?i3#Cmj!x_ath_Jd(+-mu zg^kh3b7S{!12JLg-Qgl$WojMrWpat~=&H6iU682Ua8w@9{BX{P@fnsUi8gU(H2?0@ zF38L&MgnovIwXdXpGnl=Rzs2ijrYE>X|co8+j)oBn#` zV76G`#5^kCf_KBGUB@gtnAIcV{Hj7MWMUyVYb(a=I7Y<;g7z;h4!2rKVuy>@>l!2f z!uE}28!X1*-(a~$8+LS?%AOn%Aa^jkX&SeTI${*Lv_+Q(HkDq@RS=qEf9OKd9k{d! zS?&WAJ>^t32an2@llRr3k@JVZ78hWDUdqsbtXQ&xR9cbpS_+GqedTe>XO5gr{CpV7 zF~g>WZf;Q>JjE2yg+`s8jWo(q8i4kDVMu+8mE`DR?qBkYz0DknMJdXQRw=?P$3q+~ zc4407d>8_5YjW|pUa=E?Ddi0gdlmEaZ26-8AJ?E{^il|WvgvUjr@dIRHpo@mXe$Rn z4%Q?=KVZeN+eWoGYmQ`e1@gn~hmvi&+cHt+G*heRSdoT?Vn|WFJQ&f3N+!p2IOMtw zm8m~{oy@2l{VgxGLR()oM1L=#t@77;W9dH44;_ld$eq$J4C{vDT=_OaBb8~Os28_q z?UNs4@5(_8i=%)>sj`CxB(mERhpr7)cNC>Vz7lS=j_!51N?P^5r0y)YPK6uTunsLp z$>atubM8#qP?5E(in(NK_h1>Se^Mxs-FO=RM1L?MIO0;^b;8`!;1a>mgv|)v;U_i; z7hXc~PT@eg)|jQWq{G>Sou8rTvi;iLtit{ltiGRLGH0X`Wy^)H_pagTHH74fRdZbB zijTCMP<@eW7s)TNTaP;Q>z7wBDHBJUtp&qhYB`RCmN9+r}tl%r_pu@H-YJOtxKd4(FG*N-4|jPlgoz1o<56o>FQDW$}rbrnK*95g3!1 zf;-mYh64C)T2^Hjo10C(V|QV+hKm+soi10Z%+^=y5WKa zz-?Fd?$V3!_`>Bz|B4#*w-40HDcZZHYrIm09eM1>jAsI6_k_A0d=qxR=&G&{GjG)1 zYZ9-9KzPP}aiJ;BF-W$!0e|7^U~AE_S9>r%4rh~xe3^Zt_Np*pO-I}Cbzfg-wERpw z%=o(Ym#*RNlXydQ?PX|;Q#h0}NveBhF4kaTT`gNSHz7RF<-#+k8zX8;`l6|__4F;V zPST^fL2ZdLJy+bvN>eKz@v~{}HQ4QpsmvAAo=;a$YH>?hm29*YkQkR0tLG`c0-$?O0A=ph<`>Vq?Sz*z!ys0L7@h(9vxB)uS%SI)9PcFyv*`&M)bDSvASsg4kGuZ1c3_kR`{U<; z`r_{7F8lO2TWp$nb9_7H@stw{G(}RO{8h>0#1fuFM#Y1Z5a_Qs6;+*=Wnr=Cc1#hpoSP;QBL+K;v3JA)5wll_R_ z)plT|mP7yU8WiOSTbynwUq357CFK_b?1a_%jiPgUQ}P(jc@N*gN2vxkY&nz&8?gg| z(UfpL_M1nyZ7@_|SF7o{yca3IRv@pTsJ8E8RCKwgY=FR{qjcx$NeF&&vd)bmp$x`X zMP0gLbdIlgP29z&p3I>t$n}YEORdB)1{CqhSdz`t=~X`3k5CD(A$E+H7uhzn!fbZ% zZ7A_>46jk=^0zvU*_jQB`|InwB_t`it-Kq@1m>1%lJ<0~+d4 zIik&K@0@hl@&xmOpw8}{(FRyZo)dyY47yCz4R$u1-wt{Bm#Iy{i+bNMx4y0Y?C|kU zLzN1zkuUq)BETP?UfJKUF4{y66hnrB&XcPMoaYiELpY9?G5{cwn1jdlw#VDfaPA^i z`nZelym=c(CWnyK&nX0f#M4~4aF3YaTB>SY2LR*x;5{>feNBR_Z;JKD<21PK%PpPf zu)r_QDE$D@IpN{TJu_o|VxPSUSPW^X#@!iC0u~dQf9^!!exlJ&RP6UQ5$k^y$^j5G zaOz751~W^6LF`aRtyn3ZBlw|oBVZo;@fa)JYu=Syo7xD9gLy{uI!^Q<@L1q<>i1tvzXIc`p! z%ztOo7~={D1ALK8V@rN+Wil_2*b^i16 z|Jk&A>kce}zTl~~Y=F=hiWoRoqow&~#+uK}ExDxyWxn6Lx#3HEhnQ&RpWj~Bk$^>@ ziGk%mkS$mDj$-SyQ1PpVl4(5sZ2*y@2n4aHpI$1UR11K*=m0h%7{Y&ZIrnpVL(qNZ z$c9`&tvj36S685(SGhd{VQFMO;kqeDlADub9ZIRw_@O<}@^J6rD8piwK&{owi zEsJ3}RhR`LL4!jQE;*=cDr(SlKkkFRE{xqi7a(i*;ciSX1TTu8}m!ze(m z-Uq-VseFaGu}5j!e%^X~NjwT91Y0Hz3Dy0&y_P`5aS^^Ow=94nyeoJ31id; z0=gHpqT*6$$xyoc@aaYXzlQlUC6P)b$mZt*3BDcC+g}4@)(uf-9>|>)8BR4u-iZ78%at-=lI?Z4pDh`27kR@G5A2>Ok#^6-Y2-pw6@|3*+WMY%gJgZg@yD1~LEL zfvmUy@_8MI4-K$oE-;X5O~1S`N6IXye~G<7u?N(oT8-ip^MKU+tub0wUq~a}6TmV{ z5FS*zQvN&c0lLDhn;m=5}5|Qk?tj|w)jCU1gBhs@I2%vNVpM1>2P(IzDw5$C1 zqMODn3IKAD)~B5Bf$w2q>7@%{tD#U~z{XSi?e6ZiHOPBp4!*wg`q-wuoXv4|OeMvI z=u!zu67D-2xbMo&9~4m7oW_va8_fc}XY7Z5UwhWETmS-wh24IlIsMas6>Yp5LlxL# z5P28B(G@%5comS~g*u^zx@NcWZ<#SjRR+lJGyvg#8b_RaK+PguWm*eL+&r0=_CWH& zEj{GFabfUU^sv5=R#A$I-f5@qBni=G1Tl+;-Pppu13U!kdl z5vqDvmC#pPgP8M6vzujeydPgq_>rj3DM$Ue6`AYus zX*kh~fd?fd^mbQ)fMR1>!4JyU;?7w}D+t3lRW!!``lQiA3puB;R;!4ieo&aa0Uev{ zsiSqECzK`V^VscHn7|F-!vBn?xbB1<`5yxiD0^c`ifHr!mO$rtqzL!8hg-jSxNSGi?_%VpJF1$3YOPI3Q*Z zh7U>~t`ksaFhTLFa-(WvNMSMd;)^cNbf|(@K`mial|asso9$!qiQ z5yb}5fV!8!%fAR0jwM_;Mzsf~ccKfYB5P>3AVnxy9C$Zhpn6`8BTP>~J^pfLfYkao zQOD5%M&BSKfHOrre&4a^Ei1L)7jZDt9=K1j*D^6K*iQM&5Uy0(epYYw(NK6a!!#-- zkN0GNmR@f|KDa%jz`tF0qr)GO>|v1>ui-!emFH%7*Qj{Jv9}7B`M;6X?_xSlJhWTN8w%kVni#`pz9$>Wi zMmbXU(d{OD7#2QEy_Rc?o8U>B)ay|SzR1({axuqTZ~P1Hf8CGT=4oAUG~+wTe%fsy zhW}4-+N)=XTSn8li>oXSI_ECw3Z9w@2*!Py7J{*!)>3-8xvMB)S7GcwGQIq>tGL|m znrH2pZ!%8eGCbhoapYpg)E9~0W_=ajt!esV zw;#_VQ6rS7Nd+L5pmdO9-rOZ|5dd<%#W8@1GC(?_6N+W7p#&A+e&0}2wVjb9EGBO$ zip~@JwM2&b7b&Ot!$Hq6vt*I_xcb58hNRK`b>~QB&MVx6xlo5&K}7RO8`}w%&FK~R zM3b;%p6+H(7^CCQWh>sYgb0_KqT5r}7Actzp_i5|YLRt2QbmHP6aZ_HYZW^dPsBor zXVYZKtP&J)rMqUW)`bcY+F^rFZxxY{stidrNTTdNB7vndd~%!H~XSL^(@PEt;j zUF{O)sNr-z>Ug_W<_|&!g`V1z%S)g`(E%!3W}su>10`1PF_?K{r?ol=1{=>^Gzfkx zJ-DWtKXT=ExXGl8#$mALB~ofBHNokL+>wiXEa8!a5LCLN9Fnvf@xHI3|7?U0^v5!d zM>!q~ixfRt9?WlYz?XvtmuE4Q8K5{`{sHb8djfW7U@5p<;|e==u%IY|*TR6s)K|4+$GlpJ z^E08=dK+0q`A=%e`T;?XT24}}`nTgK+VMj*zrKIymNj)an9t~siox`4KkXB7o-qb_ zmJAEw9*`myF{<3v<~!b++9_UN1^3Fwhr16AF`vyQplNk28F>Fo{%)j0w;SXWeW5K| z%OxGMser73{x=~~4gGb8RM{aMI0F%2-I>*t?$?`Z+;-^jU;B8ZOX*Pz6ZE^a*ZT^^ zIqDY3Y6(yVBv0Pot*<4DL}S1?8a8lBZDRoe6DLUc6~O&fICzy^)laT_F%yjaq@=&7 z!Ma|LVwu$=G@+&8;EBai- z(VpwTVc>E;>c3$Kt|8sOa1G&F2)xLOBLs z+3`(BE8}s!@QG25=8xGRRxHhW13r=VSU}?kMDBni^^jfpXgzI|L0HVbUJF@7%J>vw zd&Js*^SZ6i9LmkzA7y~GsoO;uhzHo>m3iZw%YR&e(D*YeCh7uT6K<7J5mE>tPL3Hx z1n>kGl>w`VYOe^tY=K{Do%*qlTw~wno3%*4lgd!yiwsbjQV*yC$S}U1TDb`awhc1% z5|Beet&_h&y`?$IId(Vfg0^%>l+Q(X8sKw_PVn~$soxh$qSbQ_Z7Wq3-hXwcqXvdO z?u+^aVSC6!m$U# zCl_|ndD3j2yIlR+9zbf@Om_sY2o$%_UIfS~fq~ z-RURhII3}TI)-J9E18F4ZI*RzDT^m~*ZxBUhRj2by>rhKL!z2xZxLp6H^3sXyfnX9 zRpvsZF=6SswR2GwPng-ycPxG_BOn+(4mFn3k81T zkSWiB)~r_`2q0A9^5uQIVSNKW`4FOJOrVNlq7;kKX?%u;k($`imO$jfmxAJ?=Iv|oT72g{_h8xpiwi4eHed|$X%61^vCMv!iws zQ{@{yLv^A3{4tQQ46y=P-%R8QeE|g#XW!f4bewwl!wqVPyTl<&k&42Fw2=bPv+qQ{ zy4ZMz?1@6|BY{Vxd~~xSVDnaoErs6ML_nV&Yj!?&sdV7kO|8eUd1H^l=8dz=3T`5K z@|zAf1m3nM&#acy*(9RsXZg}5i$?knF73_Ioy}~jKwVNMZc43&x&s#>EgH=?QmE{I zSORVHy3+I}PG~@(+Tj*o{MVPYX^zVBehJ+{5R*C);@dB*3MX`yNI zO|Vcoe)iEzmumKg6gmVJqQa|7?Z$j@6h9TNJ@aw$8Nsa%X8%0!PcaG%c~;g z*vW&-#l34^pn6*7wgR!fe|R(PO10U~=|PR-XVNePaQv_Z=Kw}sfbFKwH-hnG5*jU{R4)6{=_Tf9ZhhFLtSe36zVdO3E~zV zveXg-VF8E{RZLO@E={IURZ)CY#O2iPAW;XKYSj9{02-?5f#1+=(j$sA(!PN*SiciN zA$0-FO$Ws27N{Yx<3vYGsT_3@Qe5kD=V-aovc{UbH_MLtGvi6JGnRxnbic70Ma}EY z>8<3LG5b%uq_AUShZ9IdEO?6diVHjFL%XONc34bi=#T&Hs7} z_VFvM06z*oJFnyPA9pY%`c!K$AGL?TcP(mpsn&44N&k|5p|J}z{IMR64SO0SOP#6% zX1{B1rlWv-H;?q4hV;j-9)ec40JChdft+Mp*eQGt(+PvB2)U2#yp!~|TpLcY?u zrb*_2C;HR{s$E$BAt#6!Xk6S1TNJFvb`waA`7RXhrFey(2aiY+yo(ixs1hkijxhAq z-uzgdEb}u+KcL>dBbV_hmXRL>6Ba;9vVgNckWJPS8VA^lQ8)(3N$ilTf{y9~jIP)v z^Whk$i&|k%A&$r@b^{TGDX04LpJFoSS;LBa82yWUSE0|RUAY@bfqerd-#*62VG4_0 z_^(jpirmRz$qN_7j?7ntt@xeq4wwPQ$w4anJ>~Ilz*L!ZQu+5E0QWY22QdZ3uR)<` z<2*ZVN0xK=Zz_H*PZ{rrT(x`LdHuBQk8{nk7Cd59nBd7;oI+%0j=2%&kUzKJ5plW< z@lEiR8x*%2J})zM5G8{0JKYE%Hg1y&j^))5b2QY)^;(QZ`wU(V6Rw6}8INbVIO!Pe z$$X#L(2n%o-62{6m=s|5&y3aZfEK?yq{QziVPN0zBnPkL4#n`>4n5Llool$)*#Gp@ z?71HL&2&oGjXH}bd!r1VWSerLH6fCMHCa0?NJ$(={%bIse!=XRRf@sfM=XXJ0*?)| zHo3kbr&y6W;aL?+psCUy`+@V@+@ZPElredbA}~)pEagMkqQS65vj#%<6H%ir>hie{zS`^hR0>WPA#!$nwW}LL&KZo>e`LI#PN(#RNQ4dS>%|}aN>@;=~r*1Np zFc6$n6k|FMglcl47k~Yj#S2pz6;T0xi4{oMe|Z@nAb z2I&=I!~+Y5*bFW=;F!ggU(+J6eh6a)az=(*DHrEcBlys}3js!;@_xaPbxMJQrCA((h!jd?o-KD1wVtu5x-Hwg2B>LM^xvCToKuR(^e9O98U|Ez!~JjJCpx%j+Bqk z;n@14z_&0Q`s|vpEZRQfKS~CluX;7CZhr5dIi^K3aoYL5|BhoZU;rT8^w|-)h&BL$ zWr?254Uo>|lgTOEhlrHqvM*w&&hPN9BV8(KDA{p^0Is5+!8KH0_2`BCPx4!Wmk8;x z{|x9qGxWb_4_)p{$^McB3NuENNn@Tp0idS@y;+j$G_LS(9R@FHU$7xYb&Mz3e@TIH zcu9=5dc0Ry0BUOtY|qa%!=+*V&}t}WZRk{aXu_G$c;e(g!T{)$Lg~E`rH=9Lb~p@m zBJ;e5;gr%e-gN6W0tYuA;-C(=?XE)wN42yUXwz<4uvn!Br>5!2T$3}Dj_ zl4}4^V~905WxSJwmv+k#NV5{bz$lJB;}|#&KkDtuwj-hWEE}~xDW4jq4>mdC?<1KA zvDsyg7b)xt@DrW*aA@`}Ek`_mTPkbpWXwRe2I2aHf3VWR|9^b+xyb-GJhGuA8w-zA zh?<;~caj(ia@E=vUHF&dq`-U5ILay9Ox(1_$QDqb7qdR*Wix~aFAqfo!HW%u-Fk+D zZ2sY4TYl+#OvoOCB`$zVrZPz2?fGlWL`v~o&};P3d9Q}#D}q6$ zZ}5g;&L*0F#!2G?w&?WCxtHX^Tou*y54-{40PDC7?#fpMZ`nL7`0Y&ZyR({&p6-a$&NSw!KMiEq*_xz3mj&w{ zc#Q49V=h`V6|WcElz%~1leTY`C-`#Q!DI6wrUp9u{_Mw(Z1B;rvv&MhzeiVK*L|#JcOW?(`gSKQCj*gW`i*LhFk3ZG^PwQkKNp|$VR%gc z=e?>&8l!d`Q>WhvK*N!WVNKr9FwZyHHyiR06u_WkOpDSIsBMNSukXs!BZ?#_sza;# z7+HAXOy1+vFtIbAg_6&)k`ft4YNL7(KG40I4YUM!6GgOzo^FTHi9sN?b}PvI^UWN?F?FAsLgMei}e6xZVmo?u^uuyXvX&NNkJ;1;w((mKeVki_p5cl`N+W?2@0yny5 zkEtVojrQ~9ind|RxMdut7Ict!^EONuNcypzp$VJ=Aht6OK!W4$Oi&l@0ZG=MjPBSU ziJ7>Ez0l9iZ2#3;-sT~wi<3F@1Mywmh>&pYKx(H5ED5)(;f`nW57BoDm4H=Pc-{NE z5}F&@6+`{UM3;R-?j9!5f|IUuKfgO}?Dp#>0m?okq(5LUO(a9x}vv@$^Q&3ZW(79|3h0{s|t!6CVr@9t4J-P{KQLcb<2Uz&j=dh03QvtCdg(c+TvoO9dWeD zJ4aAT2(*_gx@t7}@m}4Y8*BRGz$tx#;5EmcD~_QfpiO>25e-nhPN+oqm^Q(kEDW}cIyqFO_3#P}rnQNF&h*`y|* zUMq#Hj&8KDjzbm*)hHna*X{BH1i^u_XrEI*l1ERwo?sfv_#CP9S#TvyCm3$PJWhHj z?|u*JZVedjmX~^vF`9rtFb{zVAVYotcn51&g{&aJci3=;3ZQR5<`h`mz^bL?w(6$I zBq&t0>}WBmL}@CNp7o2VjOS<47Jt%j7zz6<-4P#XYL z-`^;ySy(Us>G(a=8>QtdXk?8u-hmRK+v#E;z1Pjrj5Ql|1UT}|NS1YdGAGX9l;yXK zoo!!}wFOR1{pJtx0F-G+gvAh&=WT(daGbkzbHwHV0<;?o@?nfd^iqp+qiPdK{>=%c ztC241y`8)5rjuzCbGZyyeBc1nQW>GMOW65^=m7Ker<~%31N{8bv8OVu=7a-0WTelF zY4V3ogp=sU zQ#p_~EFOw+8bXQ1G+Uf$B%?R>@aXyzp!N4aKJ2QHve=S?nNL*Z0Wqf(i#!RiIM$0l z2sLj4Wd)syxHfJ6;?{e5ImIe|O8Ols;V)d)Kw7rW(Jqb#Q4hd5i{cZ*o?|OU1-|`Rv_HuuFA&p_pNk|7j#7 zI)E4b&IM$n5x@aQv{)g7TKt!E2y_k%Pmx;r8ZZu7zFT7Q?uW}p8{~O?;ilU(83Tx# z27*I9v2b-<;tA*7=^abz=5C-F761uMpJEN|ss@h*p|<bQ}h5=(Y-kO))rn*Tva`kvHfP&~{>l!@Ba_u6aD6c1&#qq#cp zAxwjB1-}jkJ8C}oqJ=du%PYMh`5}-U+7uUc-R8c^cgKAc#YZ9Tg?^0MA`{X@OHYUV zBox0z7FNdctG7;#F$V&Rmo}cs4O@b=1Jk$@H?(H6fF{4F426|^!;%!bQZbb={O`18 zZ9zNQnwe?VLK557%b;iZ{RiHp%_Z=uLArim(fzCS7nxQhJ|(ZpqH2TNrg5PO-C-T1 zy3qeevA*WZWeiKMkosZ<8ie@nR9UeTj>?J?N-4r*`+O=})syFqZ%qiJ@(IPO6I?+t zPX43JFFJH|%a?Jr&BsF?Lm5b}S;DdUs+Up}R}O9M4WL_|tV+oqGA3~guRHeF`?KI# zTtVjwa=Flu=ynL#*z@j7AEuuiPrD^X*>Wqn69_np#q0PCJjd6fT?DN?u}P?)a3{;} zz#h+6R~2JF9>SeGl0X*sv*)qPD_;+TMSHh_XYyT2Qfn(mp7Q?SpS6ayj(;=hgWHK? zv=?ub+cyx*JR9fl&-gCk7)M? zm3krlvShOApC0#%4qx$!_?=>yew8tW$)$q{$7wVuXtLG;MT`BD4{+U{E=y0D9bys$ z$B0f~D>a$lymb{DRcTgN4sG3=1B`E^?3p%_xXLy9+y*1(*elOebXCW;407L-JTOK7CB>&cwqmsG{w@XOW`^(7bA~ zSni?bs_)6`ZXe%omYjmYkhX?tv9CQnrg+KgMIypyXfEhR{cK3)R*x@G2z1ne%U_@i zml|e*y`SiuAa`9Bs&_hcaIO-q5_3DkID)UdmpE*Kiaz0pSN$Am)wNOIqyILQDX_&K ztp1mYO2kwuo-59rZoz4&tEF31t6DL2I47OP^M)IC*`az=OGts+X7aE+QP46ue7?=_ zpoKAkzKy~oRt>mvqfH+c(3stYbE_!*g9DuK`{0Dj#Ikj=;>s=68{QL&s^M>Uz~2%b z^`@aQON77W3+f*R0Lu&<=O+v|%ZiBcEc08}3;D}qKuHyMHI<8MA%1f?H!P3{{*)E| zl=7}=*iKTM6msD=_YRjbxZ=(Wb-vQcq^Co%7`DG)+GHS5*+)_@{0E&Pz+$W?;Qihl z_ixdd0j4rr|Mf>Mh?T{|SWQNSPR+}2QistMHwd>IZ$m^VtywM%G?mjB+eMen+X;fhSa2D}aXa(q~QAr`Y9f|J?ZUoldpv8R}ZUN87X5}V; z?7k1YPb<*j&aVaK(8r(On%}qR1NCdj4|s3v?K6G?#5M0LB-m+ZpuTFi1La}@{L5UF z0EIGOlW^mT-z712VBFs(Hog}gtKBrK7$Cx}Tv$w7rx|~s@;KwY{ zQ3NWms12Do*E!u+(tM-o8GWJTTYK@*RT%pK#nIm-uoY{>Hd2_qUy(4bmN0^^GC$VV zfRuyt?@h;r7-XF^s{962Ba8k@zwAH3fZ0Sxu6@XrNbpdcAQb6DTG7YT3f>}dN2Ge( z36!Po^xHoh->oc8*`U6Fijk7t&{yM{*x*a`E-RkXGyD1)YTfJ`YW~c6lpD0w6~$H zGJtDV7)-=TDCzr*lb{g)><(`&3gO&8jL}da6~D(EhBifKk=(cC%s{osonP15%u1l0 zizN{L(hjym+Yewz1&Gf)+I>i*PU5~PC`@NSTjd%IZ*I(Uc0-uix>JiO0JRaOw+5*f zdhB_$!<&KXmSD>bQ4fI1DH+VhXR*-fJP*;HOUHGuqpnB#hjKAY;B$5e&SEyV`XQY!ttSO+coT;g8Yyj3}zs2XB^M zq_`y*q#>%ai})gy@Zv1C<|X$6RGRAn-TmslOuM=WiO$LZ78{hLuK)CK&%~2AC$8V+ z%f+irR<|D}7tUX&`CCcy7hFPLBRSaFR0`nmJa{3*MogZg0@nb;`)MP{lS*ynNs-~s zxd0=0`fZ7ggfh|rn74dh3x?6;P{n?m`urU!zWpV^ICg)?*P{8`Y z7876ey+eUFB*0pm$L0}|(VXKpCOQM_8f3qqBSvgX0eGEuncCCf6$N0vlKmOx4aj*P zP|tg`&)WqKwJP2JhoHDiLQ10o^(9$6TNjWleDq=GBbQ)4)exqbyQ4l5*Sz2T7v2!f z#h;7%AM+~b!FQ16Md0Z3MB)C}^`^SxTM)JPX?RTKvtw`1Mah7Nzy)Z|e4$~CI#;eECH&CJ(=SkBOH;||m4f|l}0VKsue z6jYK_kY^S2#ztyG8?reZ% zj~+ir1%|M)`sT==U8zz82z!&d^bYcztKbp_cTT?mhcpEZz`A5w&J|Q<6gLcjdSMAs zbUq@WAmG;(rcQs>7MiqW0Z32{v7rMZfsaE?N**w#I-#$_u)!&_M%F_jmakHwIt5-2 zT<}l)uiEd@fy)uqBy-}=00Ki{0CjX`cMby%iS$d>%HZBzM5P6Q`m|0~R~m$530S-?hnr4~?ceyx zaOsRfp>#Upq#=c&4#1_6FLNtIb8HDPyRH{$EpDiyC7d8?(2tNK#8(G2c$uue>Y$LR z@Ji9$;2L2fN|;%Yl|Kr*1gC0Wvc&~JCj2uh;}uCXjpn8VyLdxOXD_iirSO7t-0Eoq z5EWVg%@;y1JWzyBw`@((NgKf>TuFxp#%aqqS5a(RKa9{u4@5o)tUH7r!mA-|p8mBh zj=MG~>_|mq2w@j(ojofsBCVA{s^# zUk)FV@+c{$*9$Qj!*r|_d_MB@8|X_-K=U};#eg@xV@dKg$JOY~l-A-3JX-H>1voDu z>6UrfeMl}U2!)q)fh_Vnyx)Tzrax+3w$ywg(i@#-AY_GWUX{qdmo$b*Ep6 z84`6tS+@qaY@MmaQm3^}jrV5+0!%`tm%q!_Q>D?8#(PIS&Ki zATZswpN&SbJph=DzXSN~X*j|Fu8!>tITMi+!9VyfzlB>i3uZSkTh@|X15rR8Z-3YS zI)Kf4Z+nF{KjZJo_X;PZKL6;|ly=|}w6+4-9ZPJ3+_>f*P5 zw)Jn@U;m%!|IhUQ)82vq{NK9!!8~dR95$x{$l=&GQZ>(a@tm(K&U$znzaU}Q>X@N} zcprijyrRfjBpPSEa#RucbUFm1Kqx!UnyD=LM6Tlb>9i2l_5~9N2YZwl4jM#Mr=23eP$|HS8m(SuOdVG{)WUoUWs1vd=H&GW#1s}7S2KV*l z;d&2cP*6K10<{o`-TYcy`H8^g+;z3OeHL3W?i|c)e2BW%%V*$`9OUTypk{;%fda)k zNZ(#V9eKN+6hr?oLfte7)G(9O{ohcmTmUz*15))VsM3QeFEL%cITL!wEI+5AF>;HjqVfFR=ek*>3jCAGH^}7!^ zPi)=bQHWafl9ZSh0_=UZGndFE=3GLd7#$T>VOXfo4AA83DeR6wS<#J!OsW~+2Asrb z<5@3F{1NVQIRNGMR?x6ZQUZG;Zs z&^IlthaFTxFT@xv05FM>Z4pPQapYWqLnx>RUCZ<@qqc4c0P=u-;HN|%_E-QwnO*(j zm>zh3uRqYuS*RzKM@3WY*}B09@nhg-0x!EYnWEGHbwkzzS*!`bVDh0Fq{H^-bJYn> zF~}?Ev!C+||L4Me%q0}1s2i#7-iz6f+QTkdKxQ%T&~St2dUk3~)1^EpS?dHcm@%}s zdtz|_1QtE*imTy!kBLFGe~Nm7(&QrGRu>SZ0Tl+OEf>Dqc?d5mk;*JZ*nIYMQQ_H$ zfgr9pjfnV@WvkY0ePd9itoZ80JEvav+rRv-wOgR(xAU!XTyzf+K=lQ{HTuF8Wd%ueXxYhCKP=p=U3ks`_ILE^~Ucwffn zMJaPI%Isd?f;d6H#P&8rPb;bAYGuUFm}J3lr=y;DP#e%a*adPE<){_*WSKkU;!}~l zLLMr5g=L#^%1itjQ)@79!Nx+ckYO)6VPb3bD^olddR%R^69BagEuM;TItJieoCrjT z`L(y8U9+v94TeZl5Ao(Lo+O)&l_@P6TjI)ms9CHb=*sQXfy^u)Ry&42xpf+%kxp9q z!{42BT6>pqF6-S>9>YERQ446t@o!((>L3JWOtr^I&##oPP1vMy_r@!}9%>|6?RYsV zaK)H-8?z(W-PmJbcU{h;4nDbo+mAT_0JSNSzUcNp$AoBvAWLz6az=H683`O*w)n~~ zs4uw&Gl-ZrQ(MA?cc7-_8^{OPK;EIe^UN~H$bN$?^F&wx#CIVR1^xbMClgmYG#Q^` zu|N;{w6?*Mobn?~7)x$m^~x#pfg3@q#lqTp1J!3hfZOLJrUVRoNHd=-h9$E?^rYb| z3z)_5`=u`Pc7Bd6eSj}3hFG@&R$5QrlQ}=km^ zQNA!q+A(@&V`Isc`>3o#blA_gT%4i&X7Or@AAW0`D?0Gv$Vu|h8GD6As%S2bIM+n3 zOEu?IYcBXXtg4>-N~-#@Ixcp@#l6+7VZ)(g_01RaskOE7HFu9T?DscQ>mE{(Rl_fG z7c5GpB9$}R!aZ1cziTbPHI8coK4gk;V+~JsD#YM1XnrA$q#z`yf z>KSdv*FtU@=WR-sQyT>hmT-mXR-{?lk~|gKnzvLiDcH;12{dJ3GSEq{3Lg&JxF4__ zy1Q$ed&wFYvg5mv!P(!;L;<9NBef+}bqAY;dxxJU<@<>v9Z3EXWcEDte)VnClW5CO7?}I z*E*^y)#mY3_iXB3oc+T9%J%+xn~AYk@IEb~cfBvJe|T8P(bN7xo^M)9GsA;{H&;u{ zrf7uoHkW@M$D>mXRQq_&Exn4Yt|;9yJ3v#Xq>&uD_;EM+((%BHhC^$bU)}^SOB&M8 zma`1s-Igd;!zEFEpt-N5D|!JA7dh zj#noucJ(UU6Z!>-AFOgp^w?tFUw#mrl!q@1q&#!)gN0i-?Vlwr;Bn9hOmJ?`xGuZ@ zz6HOz2kB~H5770jt+8S|y31YWvA3oD_V}sZTK*z7Rj|f*Z#73)wCA@$mhnZcCENtL z1I_bw<~M-mOwwCw?!HOQ;>haH!|V9VFUiTV@%g%kuuV@FA61)-@bpmOLWIUAW6`?h z-@ZDW_2s|kUc3Im#CH&}kdU*uA0X}Uk|rWu64aC~c;vy$G^9W?N+KJ(V-Sh3KmuLu z0&cLW$U)k7A-(yXFu+PDCZ3)$Z;DO%syQEem!2=bl})&aevdmaQsQsP`PiCGiR&jt z;2Y?NE<>u0RN`ISO|q#)=g}p}va);uDI?du3Znf=76OfZNjll_h==x|CCoJ`r-kjj z=m5@RZN<7=UY~MZ_?RY??%Z3Y53G9Ko3x;r8<$6`LY^*d@U9@q9<(( zPj6_?hp&m9GW*gO_?SQ~SM0#CeCMvn*PvhW8G#3SAJ`Fd|8~HFLft9csyJ@b+A?R4c9lrlXv{jp4DvTS!#ZFo|4QllE(!z ztg&|IJ;kwt6DJFlBPE)aQ&Wka>=%d_GsnB+btJeSOV&&t+GAAXF(}f|lK;k?=g~8P z$m);F!%z7pwuA2(I##zjg-5;YeNbH&FV1|J`gNt-^eq*-Z%2Ep+7=f$ZgJgt=|fy6 zMNRgAbBl#*3?IoZgm)0$3o9G+I3}z_@}%MOn`0kdxU(4cb`F0y(DZPC;>5=Do3$^t z_Jel`{AiZ$$0GS1-ii?J0J5qN@h1(%55FW4sV00a#bHY3!RQ^c4IgBpFa9}3GzW>^ zSAE`vVX8kzRCd|q2aYpcxh`a&edU)iVRXwU9_Fw)6W5gww9goCxqz$!@S~FZOA^G) zRKHAW`rl1wnAh#6Cgbo{oN;$^w=pF4xhwC?Rq=cFmWmk?>PM0KIXSOiCj~)aKuFa~ zKt1$yQuWy0Sq|qsN%3~V=p=pFtS&_Cm=$o&6F<1+pM6$<9|^E|1b9^uyM@l&xg~DN zIQ!{?%*AUj+|WdXR7CfwGE<(|5I;;Gwgr|wqh)pTty5|KdYQhjR)fB zHed~`gt@!a|Bfnpq%MS}QGMwWVQJ%T;qGXX!_v|;I&W9{{4ykZFCR}#Yz|u}QJA@e zChUtF1(C#q^f|)9Qu;j6e!yDsn~Es>@AU2cfI1?QCPP@&5vhlX<3zI@K^=*nA%t5& zP3lI;$sl-%26mR9oq$%hPlbqwC6tyt7M+NuJHO7FiOzD6%+Z%M5q1LiVIG5hcVQ=x zI2dfv%E^Cgd;NNr=q1evJC4VXOyGXJkl|Trg z_B*`i_QNJv3AoPVTH$sv&S|uFkT7BRfCDy{f1x<#++#X;y~uI>q8vW`B0M+| zR_C8G)KA4ccar*U)MQ5OdP@dgqFeP^P#<>T2>a!YKX`7%P1sS9@;-TNP!47o|LRCP zsYYSG^Q`GuOR{zyjbQ$AmfN!3SZnHQt8W?aP$+ju(D)J6o@}3h`_v?+6g$qt z&xD|5Eb!MfbXEoy_90zh1XyS#;#du}Q-LcPpwxnKfRol`O9O&?(>gAu(+ zn#Yl1JqG-biT*nfffcG~dgIPEf-+6vHC3WP;DHQvME#nE%4a7w;LewsBXw&kHju5l z)9dp)aAA3U<1g5BTK5! zIa~Q!0O|4}YV-mq?!2B< z=UR7nFz{bBgJr$77{a4j^WgTotT9w@{=kirMU!nAwDgK^sfXOXRH`R)J!KeN8VT!F z)P0~i66yYc<2(9ZUK5j)r1rhPz_$PDH(Zp4Rd4a_biIXA^JdQdS9s<$iVZy19QWUt z1V;j|HDS+v&!Na|W5auDLLnhDK6QEjwe`VXU*&Dg`!O8p%P)^M$gq+SxrhEZ%PK`o zM$Iff?xZQ6)FCh&mvr`l@4JWqb~)b+=;_hv&m@+j7I$efkl{f9>%{B@P^S8wZReS@f`o`#;>vGQpcphhzpWF!8xjQ^G`a` zpR4?C0M1gE;4Quetxj;2OHzKF#9hPNVJBn~%eb$0mAMz!zd6(VAiQ0H06l#ssibUtKDP@hFHWFRlxiN@74SK)49{Y0E}2~UTe$ixT!ENik+GXerW&~e(A%V2&~#0`Hf$eH5}oSmS?qFlu!#kW9BHWT z9%kO+)+SR@?-k!*5kmkACY@KDQ-;mbtM5!$e0}@CH7|*4pV?@)evv~a=!+CQsbh8P z%D0IO;?-%IPXJ?)CaU%>G3g8ii@K01g{NA7o!$+q6C1A%ZrxGRcZlx?d~csMMMIA! zmT57PQ7YCtkYG|>lyg*9<}LBraO>0^Ha|W-o}>wZlAaFIwxumDmf< zUNyjWcuKWTlMg4sG%rt<^OMA4f++EleE6I2wI=TqE6!gmAS~6wsjw|B_ti|CneIqv zFguug_uRbdVxpgm(-#F-ah?GrrSvE!=#BO;rmWg|?3q-{;sTSiGM#He9D$l#w)qv<^Y_4Z%Jy}=2jYATDG(ITT9TvX$dFsY%p=*&x9#Szc;U5oxL zd0c0ajEtGPplyNZYV}^O&%YH6Eba(y-<^E0*UbD*l|ufLoa)!0ST>nd{&dUrvq}Cf z@5HJL=G-O@x(Em5XLhuddv2sOx6XD>g4mb|)16psSDZpfk;&RWU7RO2HWb1!Hh%zP zA`&|YYXy<~rS~Jy8i41Ewl49|mq4=J3T&belk`io-I|kd&z+fcwR`PZ8zKNjTSe_~ zLv(#Vi~0_{yT0&Cm5efx&aV3T|Iyx;M^nAFf8*q&T}fpp9aDqKHe{+KgcQY*VQ<4m z$e1a~m?`8?r=pS}g);7KD%s|tR45g(kvRz`bICUIyKd}V&v~EouHSm!^;_#%>wTX; zp0zq@`|kUD-}iNWKG)~^T!K!uniIR7%IR8w`>vN6$Twwhh&kaj{Z-Pl5{k9i-^I;z+F@pJ9kUZ>qmYSwLGA-Ndi^xb0!Qq~?U!pn5I1U0^Ylfi|mk2I_ z`b^UHCtuH`H5vAWVEeD{YHvJmG-7 zeD-W?4pO!E!JcNlbE74eb9B{rm4k=V{H{%mc#e-kYtEx8e*bob#kmU}X5nQ1biGVF zQ=hNF*SV#3+qY0yRPS47{qKU~;O7g$9^|<8Jjd9>RJHB#5cSjsR=Eeq7IESSIxrXu zc^l|WJl~f3JmPyl@=i)E752ds63IBM!VPc=3cijx*+>J%w#cdrY@u8Nl9f+U27!O{ z*q*|ERL97zqGVmcraey=7dP3wy1nu~nF8hzMWcUh7Q#z_G-N&=ciG!F9x&?pZB*xF z0&es3vNHrz@+a*^zeD>7Sezw3IxWZoxw6tS+aFtm5Xksf_p`Fbw6~j9-QabE<`*%= z5*U;aAAV>>Q8@l6hW)!U919m z7!J-8=ryfGbX{QMkp8273ulfSty%@n=J^^Z4>RAOf4nq)anXwET+a=c1u7$|Nx^oM z{!RQYqSrX_m-cnB-cb*$J?lg0PCL@Fk5CVu!Gg`t%{DbYH(<8aa^pU?K$ruDwUjKRuU+!5AyXHFz%?q40tYvInL(v`AV{ z$v`2gVc}+Lh<5W;tgvz888|=|3aW&ga2J}nz#($tE{L>AcZ6!rX}zhfcyaO$g0~j= z9EL0ZT$dBHJGz>u;`oCavexi#-oJT+KRaA4{}$u|^x)p{G-`AmcePAMwL%%0;|-tk zY3FCGG^lg!!77gaa|Df4A7t7Z9M&48tsXleMUWyBT|hGH#QkJ}Wc3zD~>|7Y1 zyzwz>4uz4n{MwU|B41`2%6z@`c}XAfjrT5xowy%qxS@a1pLD)Ylo5I$?yL5JYE^(^ zBb*=`nqt+quA%KoY|NKB?>y07nli<(}d8GC=JT&s%%hDPY%K1QX49cUd(W%PSCZiJh} zdPD9K!yxJHUU#^U{{lL(OUIV&6mUjz-kr!KFA1GmpMB5~IvY<8t*m1b4 z%#HG$C}1gCp9RG!VFEc~wgZ5e18|Oc=eiUo$J4WlUe6n+a)*KQWv5p^FS1wywYrmD zj^(S+YXgg;);U#^wo1O|y57^mYG(m8jeGmp@~-3?mU*yB)?xcf(K6($x;5Wh47XKN zsketc+-X?@P(r+60_Rpt@gB5zLbbDI%f8bNU^@N?p;WD}t@hcJ^F5U`cj47Mfi(UN z#^WvZH+~v}Y7P>qBJWNcx4|a2?H>`+hPtgQ_D_K97ao{_$`s)3WQT_lGWKg7gImc6 z?m|b9wYq~Kv<-@B2sP!M?>TPt#QJ(VaSnu^?ejC|Snu-t&poyes(1lLh=pCqPfRb9 zXa(*5?sp<%51z~W)?3r|?*3tu#-3Y(>KR~EdvlxbG8`hk+Vt$5(23=SHm8=Hmq>2V z28cJ^wqz)$CIfnAvfNCs6!u%>m|SH1n{9|lokCPTnP<%7*J&i=$?d*OvlSeyfpYI=hmyCZ~Z!;2KV z#vJHue(zL1Puun9%!KFC^7n%W;$0QMMw>)mk2CUzom>JwaxTInNTyOx6v!XbzH`0x zpms9=i-Aa)L8d4aQHE>Mo}0R!y^@FH21Cu!iYibLJO#Mh=jXAjJ8?wU*%RXBUG})? zLDNM$uvK{s33y@e2U)okukk)75(USP6(6Xtw<8$X#pGv!#qG1;8*oU&IzZbIf>*FB zocj1IC=-U*oRvR4?O3w3!Zq0kCsU(#oZDc7rbtfvz z5#$Dl<$k4WIVqE8Ac-*vKBILk?dl7-%G==5_yi9N{pDo6%!@C&dtfZ84R~9)%_{QA zdDfN9eN)$8Ly{M86Z(*0@c3a{+hc>rXAFI(VP>Qy0DkvW%fW5n#lLoMqk_D84F#we z{47+3+dJbJ=gNVZZgB)Nlw2bRK%xPonwlpJw(ud=S?^ zL^}E6qmGru*H14yVDd*41R-xu>j8PP1NBuiLOL@V!5D12%P17=y9h);DvhG$O>tqZ z7CFEvjvOLi8){6C`Wj)0(@DBb!U3u-x0j?tQYnl^sy1Arm5*(C3N-=$4d6n12|7P#H2 zbt@)1%&Y$OYeGyuS*W`pxm;ZEdFp9?60o>XZ=V%CUwgV8k_ink+xZ!bL%GPhmi=PY zoCW*J<1n#w!$JDPrZyJAh6u3hJDl7uaQu=5@;oApN*E-@sBH3zu{}KZCXlNTKZ?VrnE{5BO$vq&mNAoFL(iTR z1^)KI8j6H4M1rI19q#Ynm6BLgHOpuY3AXHvudf&fFV<_*`K3_@DBgq<1JET~Cs7bM zCNXs`I9%SFrs0_AN%svvE5^zp;3LAcji0fdbcDjCd^CECy|@@3%*3L)Q*p{u`l8R0 zqae!h)B@nmVZyyo+7F)s|EH(}+xK?G>!b8n7w`i1&+eb|Yqlgk$WthtCF|+mvpOF> zrtHJ!>Vhv=WkTnm(~Jiox*C40%GB~hHJ=3#t`zdtp6sMhpPe=i3y_Pfs| zTfQF)YK)E(gI@hNPXHY8kM{2(c$}2M>i147XA6Eal=m2af2kj>>jsXuj7***R2ZJ{ zGvf*W*C&9z{Uf1Q(}zWMs`msB}%k} zZ1#IbqcpwS5MEZmbM#PH#zWb#VEDZ!26`9vUS3zB8hitye?GSrON&ly+x`4#`m=Y+ck7_3g+HJ@C<6yU&eIbUNnefb1Zg|3tCSeAPWXfRjAi%)nR91lCR{Muo|{G1U&fR<#rd?ZGKT0ZyfPXI2jG-bM1 z2^-~QppNLX?AXfo2Cj1?^L9>*81I(QVdQpS6JjY=GOnJzm2U)ZWYd=(J z8b@9IgD`S=9tz`PLp5GPY;u6Fknua3oX(lXt2(p2)E>=y0kD@5h6nBtIUF#nhI%`T=7`%IO$JwHmnQUgNKc5rz5WySOn z`rvVMYgj~B-BH`-a94Skb#0s@nkIv$Oz8olNgRp8&2qB$(K5E}w=)2knn_64W4+h~ zwR7XT0;rtNzCGt>@$xG62{PRW-ZXxqRe5ga3N%H zD_`PcIZC!zSN^D0r1-ERUcd(*I)OaYC`J#Ogi`N)!i{q(i6;f!`%d`!6Z6 z8GzgKY~SzDmoGGX#-iU{;63T&4Q}AZ@zmq;i->TZB%iC58@~n(@wG55UY2W)G@$Lz zsepTfpT)i&xClNJCf=M|1}-2AI%FA7gF-bC^aYuKJ+l0Zs0Ua>iq1?NRmxzg2N6Ll z6k5ag>q~FJm>qWg>tk!2ybs=c&#Abfb>A<-L3@bm08^}HJoZN-Jn!V3qO_`kA%6d<+_S8 zAP?cv!9^gl2}vH1s+$NZjZCOFifJINZbx|+IB(>gd5M|q!U!Ri8jGwbvpy5qsuCVQ z4=Lp3RiC9q-bk0XtAZl?Uva4m()LYnf zJ;2-QkyXu>gGEr_bz|;Ca{ZCPhSV@4$xKDv$@`#bPqFH_n60eUF$pKFa;OSS_=Y=U z+g!c~sz+J|haqemFa#6kjZN{qvM!(1noYg-vdx2Vipk`1>e94P!Sf7Jb zmR5SDVAKA^P4BnFF`|#k?~sSt?bP&Nj@N8T0@~fD0D6xG2IhjWwhg)=6u3?^)C8TR z0aej>G>Oc3EcKGsVpfn2Ua$}d_k7nWG!wWnaKC+1E+YAW?sy|?T2``_9ZM5p!#k(V zW1s9RE(6mEq)U{NosYE-~Z3BIO2Ufjcp=C2Q$0XGAKc zKh#k&%kWD(LbS`Y)ABvgbO$!$B9bfQi}=9~7W2VBy$CXIo-GO^9mUO}&qiSW#BahB z?K>HOv5|nM`1N}g<12Uluh_1wWyJo6kb`ceY)ma*-kO&M;CkM}#t(9mfyjXYSu=|a1!RY38pSL z!f;mHdILZ9IQj0rSvRB=c_h})EbL-HvAcr?EQVYTo5`rq0)eUIS;9HUQi{bq@n)nT zldO_&CnqtiSI8n%KbUQ&Ix)e&IHjuBn}}N<^ouL?wCMY?0dl&A7;z?3i{N{;aYGEL z6j+<{jWI3R?-Nyv!zE^O>o`--!Ze;7;85n{&~!U|Ml2*p>R98J>ve$i^-zPgQNwMZY!v_&h9x4R^ouFhMF~M4J9?#Y1HsJh)bE5nzji0IKCl_2+TCB5b+W;%RyDYQ z3_fi*RZ3M7P8~GW#5g{Y&H7VmWoh-d$0V+mKPXvF93UhBmC|kT&B2Ra#-7s`AawUY zfbEOiYyZlLLxvsZ)etyw&NX}rI3L}{couchD@~GrLDj10>S3t%csv4yc9xFzotw`j zt%Chz_a5`!Ga%0GdwTZJyV!%Zgqbh>$bQnOk9VIBesAhL2lf&!x*@r@(&}}@d2fC@ zLki87nq10_^~Akt;0q;Rq$*q^*F)Yb8mlKj_KOEGw3rHY;m-6Le#)d3oPpQ)fYeC4 z!O7Mx9rflmn2s4~UL%ZNyeiItz=S)+{aUBy)05F@wW;bwK1STOMc~Tf-j@|U;{(ht zoDcPz+3?2b`P{*KybYVW5&|{7x8md)zM1guN}Ok-@EAmC`Zd)CB|jtA>AEE-SDMA- z_|d?lte}*GFrNyF3t0rb~Oiy5tZf<^}Sa6)I6>*Pk6^36w`}DB#so}&l!7j{k z%4njPsJ`Ce=4{hZS|l|YcaoKC-<0v{Vi}7TZ&u=%_GBE?6T~>F%#s6PGs)yi&+bI_ zPwyp16256GB|A_?E#CRr8WwAk_1eA{e$*+a@F%foUk~Zbe(uZ3l&+&2MSD!GrEs2Z z3`fJ)4i_A6yyXS=)d+sS^^Po+x8*9i!8VLcRT~JXYptOTrpr5DnM2KOY8--R@gAWJ zDiafz-w72ZykIqPi!mrO3gq<+QUo-*?*~>GL>t0~PRG8fLH7+|r=RwklaP=MiBe_E+!&(M+jf#68 z`OdnhYdr|GPp>>We2cJEpWJV{)%WxLl?Zw1QZ}5%vK#A$my>XTpjB-ClD6UvkA&Zp zOY=zIr8C#ukRC@%96h1B{F=vr(x~csd_}n?+FyIC)eLVmEXT=H%8QA;h1^E7rIDt3NYbcgVl8_ zqE$(?OJjS2ewA8ZTrsEqTqzON!w@$du^I4SUV+b z<;Omz1BlPwd9-->D^v?W0={nB8|fj;_`db4ukWT43YD;bt>0+XZ(M$Fb6A17uO1E$ z>m>V3IgiIEtPsur(+j6H^*mTH8p+nyjZc)&eSJ7WGhpQ`L*i~MKW(@yGp<(0=4~uH zNZ=$G)K|b5pqA%P`rj^pbtL=VBYAY#N;Ss+H2d1?bifsgPO4?Xm)$FX3j=_QR9hV5 z4_e}t<18QtDb(1I*UD4`kaf>pk*Cs?wUXlk8GyVhZuK)-LN0N4?|gzdA{6>=iD`w8 z**v|(OhcVgFtqbqM;XjxX-UzDIRoUjTfF>FD4>7V@YT#ypyEHaPCyeJ5fb&=6WikK ztyyFIpZ);2yO4$*%(fZ6U>o#!{&kJ?9mw-j0*gK8nVngQDTkSDEB+H ze}JrfshSC}t2V2YMueNTA4-?Y>YiFuazJ?(WSxdf)nwJ-8_f!((B%<;X8g?p4$FYb z2bv^Xbf7WQsM)D>LJy`nRw0uR8sv(Fi>ILgSDX!XBfUHaL;dLwVBzZxy|Eqg8|1%- zyMg!HpAt1m$Km_c+tzcfyj!({@M>LulW1KD#M>}0*7}#t3<>c!DSK2blBK6ZjOM z&Id5WaZ{V}1c-;&$IKO352Hr8wFEhW!KlL-Z?0pHUU&YU6|f}z>K1n!=@51 zsJ``_*mM80GJ*9WMk#i`eIF=?BG9xSs4=c6eIS)jkq5c0*kw5our@eH%sWbUCze|r zt)Xw^ao{|p{I7ihJ1%r>JXj0g7KGeuyrCU(7!a_>>^IWPW4lH&4Ya!-ppiEx(nQ!9 zjjQaC$83Y>X9Fst#J4e0Rm6NJM^s}4_*5{feh1fEQEb*SfuNkS0z`vw9|V62Na{+- zotX*ZO&4HX6kon?7x-s?sfE$2mQZ+h>rNzZBM?Yq=K*+%IpDR(d7~(sobAj#dwZ=2 z_9EE?&2m~R0hE@bT{^8Wf?59)oaxQ~AnZZsO`wbAYX$#*h{E+i-!ESg$;8VzUO$N} zm*^IbeRJCXIjYvx6;=PfyJq?Mc_@k{WBp)ibirFn>~x8YurrT>Pr>12;_6p>eW+#E zKwT40x~tuI3l+I*q9;y?+UupIom3fKOX{s9MrQhM#ailR7)XFjEb@Rb8`UN^cN(S^ zyVW+-TF9$<|6XZt3iAK`FfWQ!r&*5 z&>AQU!@iz!b)nEsQ2U{mV3^EB`EIzn80~ny63_GL`q^=9U7%aIp5>xb6HBo)!iFI8 z@Y?zdZuPkpRi3q1niW`6Wp}AY(PF4&H;51C0VW$}5-ASA2c?YZL@Dd={*kCoxPQ?f zkkOex!r&9#=Rcmj2NCR(h!?#lNgy1ef7RU8^G8--`)4D8?6H0ra_Fv}hTXJ9NM~2y zc)ml+C*@;=wRWde=if7n%044{E0XKA_t@B!y9!+MiyLn(ypW2;;j4WW3S7K3p{+oQ zcpSd6FV)vBG4B3&Jzp5+P)&r;?Q=&IoLyPG-j*kN%f|m;`@sot?B+Bb+@9bPm^&dW zv9J0Vl-j;CFx=0jHmK@A*H(P>I!Y9;)q>X{5o!7apdC8^>D>%SiCx|~mxX{=Oi>uM zUXWP5auqTC&xYqWTHY<%eeqGxl@sZA-wp)1xNVD;J9!|jxO~KXVBG1S6gyDPfvSrC z4k_ws_lW8K-bZzNS7JtJD7-wCU++3CXF(iLr#clqQxZE}^`qAD|Cfp5|FLCKxO}91 zVJ7{{sqTv4=SkI}9$YVS1maI{Ms672r|sK)h!F#dfYMEA3w?ijc{|l>!AVbrBBeX( zn+FD>Dsi9#sGPG$=Ej21l!p-ceh9|7i0%V9jt71;bh5jBM%-h>7!5uaH7*eE8s(F+ zzV@XBapWl3V@>wBENF4TJKeZ22XfTmwDe8TC1r!G8VDfmPlncRUzxjOUqNEy@xTgo$jnc6 zBIgD{r*G95(DVjn7{())o4I^H`J;H zW*Pc;@CUgAHd4M>|VVliHG*py|RlE@Xv< z6(v$(`(8_WbpK$`#Jr2jjOp2P!{Pa?d;+4q%xzXf`_8g3!Ej&lFMdKEUIS^D-Z66L1?VjP0K-R&SuI6U1LxN7^brZ&7SE`LZ$hXS1`5%;ISbh!qUJ*L zQ?MO!VlayQP2^9=nA0->Bhb*mPlBW$bb;jo=tdMUV&pF<#Re9hxV^gtt8Z)$UHyS; z`DQ_i3_PI+b8}&ToIRTI+W|%}DI8f=HIZVLbBMB3J|?;WdhU|eb^vtv99RwJ&Q*~B zHqfjd?;EY)CcNPT^c?;*qF+z|3^Uj3FTR*xgB0$;WT2EInBRiNw7X;DHeU|IjBS&) z4abTN7}}+`dcnYFqz*Io6nX;OW$`2Y_P9=H<>1aAB0l(xI?0H)jAPlG=;m)S;?3p*K8ac;d>? z{3uAl*Yn8K5zK$})e29wdkrho(jnzdb3ny66YvH%1a6QWQZ*0cnzK8ow&Un2 zoxu0!7hYATWNJN7&dMgbn?Sc;hCKhi!q1zyG?2}SJ1{oQ3m7a8xq|pc>z25uS6l$q z)>50NIDt8(H6@-jfX@9$`6-2IOMTXhh}885j`=xYz0D0eN><|R7)fj^^b@uk?iJB{ znN+D{kuaI|P1}0g9>O_mQ+M84l7RnvHvY8_D{bhPT)+!J`nxM{rmm1vil8kJ6>QpM z#A*rx(ZfmKwADQ*mc;Ebv>?0;>8i5m{w5duU_(qL-h2{l#*6Iaf}^W=E?gT1jB?s< z+DiXrs<>7_A8I+Q4v<2g;zl_cCy$9vk3b7)IuAZARj>o^|(Go`+Q!;0wNH_e2g{KDw=; zr%wGAVLd6i3Am74sJ<0qPOv5)x}WPRuU9NHJ2NDd9SqsBNB& z!xJQ8=Evfm>JY9ylc}CZnzNdhZf9Fc7EJEk#MrxKvsg{&W8)7!uk!rw?LYE>7Qv5L zk|5#)`A?V~ug&8(b_|Zz9?OIdCj_ z{s@*3H8Xol9nEg!cTVy6RXvTeIw{g*a2zwksbhB{w?bJ|UXLklKwb0| z`%J?8R)~X6`Y%alzY{KD*s&46HeN<^a@Oi#vxIW-PsunXU%kc~aB;XjAn${=NZhJ^ z7`aVePe>-sa_$~@f*H%@F^bo(=B_#6__oDK-pD+iMJ)zrhF2r`Zkf22km;f$m>hVN zHz!fiK>d|l^(hhc38`6`RUv)0J_IYWxWPQ(Wy(weh|lvyPV>pWGMd#L7$@T!;jU|4 zD_zdjZQ=K_fS=B?sr?NSz1S#IKc=c4ij5SCc;iJ1)a<^aT(Pr|a|^Crr_ua$6!d!z z2!%EzzgA}rdn_iezdgC4z%wdvKf#QARkCRU_@W~6?*taRD+O^Lz-|=FW8n=9katjg zjH5KZ%T377CR?=<{jvrshV Caches --> Invalidate repository cache` + +1. Open problematic PR and reset status to "created" + +Now you can merge PR normally diff --git a/docs/release-notes/release-notes-5.1.0.rst b/docs/release-notes/release-notes-5.1.0.rst index 27999cbb..61ab040b 100644 --- a/docs/release-notes/release-notes-5.1.0.rst +++ b/docs/release-notes/release-notes-5.1.0.rst @@ -10,20 +10,20 @@ Release Date New Features ^^^^^^^^^^^^ -- We've introduced 2FA for users. Now alongside the external auth 2fa support RhodeCode allows to enable 2FA for users +- We've introduced 2FA for users. Now alongside the external auth 2FA support RhodeCode allows to enable 2FA for users. 2FA options will be available for each user individually, or enforced via authentication plugins like ldap, or internal. - Email based log-in. RhodeCode now allows to log-in using email as well as username for main authentication type. - Ability to replace a file using web UI. Now one can replace an existing file from the web-ui. - GIT LFS Sync automation. Remote push/pull commands now can also sync GIT LFS objects. -- Added ability to remove or close branches from the web ui -- Added ability to delete a branch automatically after merging PR for git repositories -- Added support for S3 based archive_cache based that allows storing cached archives in S3 compatible object store. +- Added ability to remove or close branches from the web ui. +- Added ability to delete a branch automatically after merging PR for git repositories. +- Added support for S3 based archive_cache that allows storing cached archives in S3 compatible object store. General ^^^^^^^ -- Upgraded all dependency libraries to their latest available versions +- Upgraded all dependency libraries to their latest available versions. - Repository storage is no longer controlled via DB settings, but .ini file. This allows easier automated deployments. - Bumped mercurial to 6.7.4 - Mercurial: enable httppostarguments for better support of large repositories with lots of heads. @@ -39,21 +39,21 @@ Performance ^^^^^^^^^^^ - Introduced a full rewrite of ssh backend for performance. The result is 2-5x speed improvement for operation with ssh. - enable new ssh wrapper by setting: `ssh.wrapper_cmd = /home/rhodecode/venv/bin/rc-ssh-wrapper-v2` -- Introduced a new hooks subsystem that is more scalable and faster, enable it by settings: `vcs.hooks.protocol = celery` + Enable new ssh wrapper by setting: `ssh.wrapper_cmd = /home/rhodecode/venv/bin/rc-ssh-wrapper-v2` +- Introduced a new hooks subsystem that is more scalable and faster, enable it by setting: `vcs.hooks.protocol = celery` Fixes ^^^^^ -- Archives: Zip archive download breaks when a gitmodules file is present -- Branch permissions: fixed bug preventing to specify own rules from 4.X install -- SVN: refactored svn events, thus fixing support for it in dockerized env -- Fixed empty server url in PR link after push from cli +- Archives: Zip archive download breaks when a gitmodules file is present. +- Branch permissions: fixed bug preventing to specify own rules from 4.X install. +- SVN: refactored svn events, thus fixing support for it in dockerized environment. +- Fixed empty server url in PR link after push from cli. Upgrade notes ^^^^^^^^^^^^^ -- RhodeCode 5.1.0 is a mayor feature release after big 5.0.0 python3 migration. Happy to ship a first time feature - rich release +- RhodeCode 5.1.0 is a mayor feature release after big 5.0.0 python3 migration. Happy to ship a first time feature- + rich release. From e034e8d929e1198d0ab0035997888869e7d219d2 Mon Sep 17 00:00:00 2001 From: Dmytro Sirant Date: Thu, 8 Aug 2024 19:45:41 +1000 Subject: [PATCH 17/64] Moved K8s docs to the helm chart repository --- docs/images/helm-chart-diagram.png | Bin 227579 -> 0 bytes docs/index.rst | 1 - docs/install/install-kubernetes.rst | 66 --------------------- docs/release-notes/release-notes-5.1.0.rst | 3 +- 4 files changed, 1 insertion(+), 69 deletions(-) delete mode 100644 docs/images/helm-chart-diagram.png delete mode 100644 docs/install/install-kubernetes.rst diff --git a/docs/images/helm-chart-diagram.png b/docs/images/helm-chart-diagram.png deleted file mode 100644 index 21a1f56dff9b064a29eb9404ea4bbf11a5775406..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227579 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≠Me3NNJIzY+@%Z!Q}=^zVeqt0 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

=i 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 <)F3ySqa^nYBNk2Wip3eCbfc}S*T)l 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 Date: Tue, 6 Aug 2024 16:02:40 +0200 Subject: [PATCH 18/64] feat(config): deprecated old ssh wrapper command and make the v2 the default one --- configs/development.ini | 3 ++- configs/production.ini | 3 ++- rhodecode/apps/ssh_support/__init__.py | 2 +- rhodecode/apps/ssh_support/config_keys.py | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/configs/development.ini b/configs/development.ini index b518afca..0eb21578 100644 --- a/configs/development.ini +++ b/configs/development.ini @@ -716,7 +716,8 @@ ssh.authorized_keys_file_path = /etc/rhodecode/conf/ssh/authorized_keys_rhodecod ; RhodeCode installation directory. ; legacy: /usr/local/bin/rhodecode_bin/bin/rc-ssh-wrapper ; new rewrite: /usr/local/bin/rhodecode_bin/bin/rc-ssh-wrapper-v2 -ssh.wrapper_cmd = /usr/local/bin/rhodecode_bin/bin/rc-ssh-wrapper +#DEPRECATED: ssh.wrapper_cmd = /usr/local/bin/rhodecode_bin/bin/rc-ssh-wrapper +ssh.wrapper_cmd.v2 = /usr/local/bin/rhodecode_bin/bin/rc-ssh-wrapper-v2 ; Allow shell when executing the ssh-wrapper command ssh.wrapper_cmd_allow_shell = false diff --git a/configs/production.ini b/configs/production.ini index 948c7c0c..8c8d7642 100644 --- a/configs/production.ini +++ b/configs/production.ini @@ -684,7 +684,8 @@ ssh.authorized_keys_file_path = /etc/rhodecode/conf/ssh/authorized_keys_rhodecod ; RhodeCode installation directory. ; legacy: /usr/local/bin/rhodecode_bin/bin/rc-ssh-wrapper ; new rewrite: /usr/local/bin/rhodecode_bin/bin/rc-ssh-wrapper-v2 -ssh.wrapper_cmd = /usr/local/bin/rhodecode_bin/bin/rc-ssh-wrapper +#DEPRECATED: ssh.wrapper_cmd = /usr/local/bin/rhodecode_bin/bin/rc-ssh-wrapper +ssh.wrapper_cmd.v2 = /usr/local/bin/rhodecode_bin/bin/rc-ssh-wrapper-v2 ; Allow shell when executing the ssh-wrapper command ssh.wrapper_cmd_allow_shell = false diff --git a/rhodecode/apps/ssh_support/__init__.py b/rhodecode/apps/ssh_support/__init__.py index 65e330f5..1efad2c1 100644 --- a/rhodecode/apps/ssh_support/__init__.py +++ b/rhodecode/apps/ssh_support/__init__.py @@ -37,7 +37,7 @@ def _sanitize_settings_and_apply_defaults(settings): settings_maker.make_setting(config_keys.ssh_key_generator_enabled, True, parser='bool') settings_maker.make_setting(config_keys.authorized_keys_file_path, '~/.ssh/authorized_keys_rhodecode') - settings_maker.make_setting(config_keys.wrapper_cmd, '') + settings_maker.make_setting(config_keys.wrapper_cmd, '/usr/local/bin/rhodecode_bin/bin/rc-ssh-wrapper-v2') settings_maker.make_setting(config_keys.authorized_keys_line_ssh_opts, '') settings_maker.make_setting(config_keys.ssh_hg_bin, '/usr/local/bin/rhodecode_bin/vcs_bin/hg') diff --git a/rhodecode/apps/ssh_support/config_keys.py b/rhodecode/apps/ssh_support/config_keys.py index 8d10dd61..490b7fc5 100644 --- a/rhodecode/apps/ssh_support/config_keys.py +++ b/rhodecode/apps/ssh_support/config_keys.py @@ -23,7 +23,7 @@ generate_authorized_keyfile = 'ssh.generate_authorized_keyfile' authorized_keys_file_path = 'ssh.authorized_keys_file_path' authorized_keys_line_ssh_opts = 'ssh.authorized_keys_ssh_opts' ssh_key_generator_enabled = 'ssh.enable_ui_key_generator' -wrapper_cmd = 'ssh.wrapper_cmd' +wrapper_cmd = 'ssh.wrapper_cmd.v2' wrapper_allow_shell = 'ssh.wrapper_cmd_allow_shell' enable_debug_logging = 'ssh.enable_debug_logging' From efb6d1e4222bb1799500302dff40661cbbfc7bce Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Wed, 7 Aug 2024 13:35:47 +0200 Subject: [PATCH 19/64] feat(configs): deprecared old hooks protocol and ssh wrapper. New defaults are now set on v2 keys, so previous installation are automatically set to new keys. Fallback mode is still available. --- configs/development.ini | 3 ++- configs/production.ini | 3 ++- rhodecode/apps/ssh_support/lib/backends/base.py | 2 +- rhodecode/apps/ssh_support/tests/test_server_git.py | 2 +- rhodecode/apps/ssh_support/tests/test_server_hg.py | 2 +- rhodecode/apps/ssh_support/tests/test_server_svn.py | 2 +- rhodecode/config/config_maker.py | 2 +- rhodecode/config/utils.py | 2 +- rhodecode/tests/config/test_sanitize_settings.py | 2 +- rhodecode/tests/fixture_mods/fixture_pyramid.py | 2 +- rhodecode/tests/lib/middleware/test_simplevcs.py | 2 +- rhodecode/tests/models/test_pullrequest.py | 2 +- 12 files changed, 14 insertions(+), 12 deletions(-) diff --git a/configs/development.ini b/configs/development.ini index 0eb21578..8b644018 100644 --- a/configs/development.ini +++ b/configs/development.ini @@ -624,7 +624,8 @@ vcs.scm_app_implementation = http ; Push/Pull operations hooks protocol, available options are: ; `http` - use http-rpc backend (default) ; `celery` - use celery based hooks -vcs.hooks.protocol = http +#DEPRECATED:vcs.hooks.protocol = http +vcs.hooks.protocol.v2 = celery ; Host on which this instance is listening for hooks. vcsserver will call this host to pull/push hooks so it should be ; accessible via network. diff --git a/configs/production.ini b/configs/production.ini index 8c8d7642..5b16fa6a 100644 --- a/configs/production.ini +++ b/configs/production.ini @@ -592,7 +592,8 @@ vcs.scm_app_implementation = http ; Push/Pull operations hooks protocol, available options are: ; `http` - use http-rpc backend (default) ; `celery` - use celery based hooks -vcs.hooks.protocol = http +#DEPRECATED:vcs.hooks.protocol = http +vcs.hooks.protocol.v2 = celery ; Host on which this instance is listening for hooks. vcsserver will call this host to pull/push hooks so it should be ; accessible via network. diff --git a/rhodecode/apps/ssh_support/lib/backends/base.py b/rhodecode/apps/ssh_support/lib/backends/base.py index ee1e2a78..ede5ad3a 100644 --- a/rhodecode/apps/ssh_support/lib/backends/base.py +++ b/rhodecode/apps/ssh_support/lib/backends/base.py @@ -157,7 +157,7 @@ class SshVcsServer(object): return exit_code, action == "push" def run(self, tunnel_extras=None): - self.hooks_protocol = self.settings['vcs.hooks.protocol'] + self.hooks_protocol = self.settings['vcs.hooks.protocol.v2'] tunnel_extras = tunnel_extras or {} extras = {} extras.update(tunnel_extras) diff --git a/rhodecode/apps/ssh_support/tests/test_server_git.py b/rhodecode/apps/ssh_support/tests/test_server_git.py index 175163f9..843bec16 100644 --- a/rhodecode/apps/ssh_support/tests/test_server_git.py +++ b/rhodecode/apps/ssh_support/tests/test_server_git.py @@ -32,7 +32,7 @@ class GitServerCreator(object): config_data = { 'app:main': { 'ssh.executable.git': git_path, - 'vcs.hooks.protocol': 'http', + 'vcs.hooks.protocol.v2': 'celery', } } repo_name = 'test_git' diff --git a/rhodecode/apps/ssh_support/tests/test_server_hg.py b/rhodecode/apps/ssh_support/tests/test_server_hg.py index 031f932d..9765eb52 100644 --- a/rhodecode/apps/ssh_support/tests/test_server_hg.py +++ b/rhodecode/apps/ssh_support/tests/test_server_hg.py @@ -31,7 +31,7 @@ class MercurialServerCreator(object): config_data = { 'app:main': { 'ssh.executable.hg': hg_path, - 'vcs.hooks.protocol': 'http', + 'vcs.hooks.protocol.v2': 'celery', } } repo_name = 'test_hg' diff --git a/rhodecode/apps/ssh_support/tests/test_server_svn.py b/rhodecode/apps/ssh_support/tests/test_server_svn.py index 0bbc68a2..d8e1d1f0 100644 --- a/rhodecode/apps/ssh_support/tests/test_server_svn.py +++ b/rhodecode/apps/ssh_support/tests/test_server_svn.py @@ -29,7 +29,7 @@ class SubversionServerCreator(object): config_data = { 'app:main': { 'ssh.executable.svn': svn_path, - 'vcs.hooks.protocol': 'http', + 'vcs.hooks.protocol.v2': 'celery', } } repo_name = 'test-svn' diff --git a/rhodecode/config/config_maker.py b/rhodecode/config/config_maker.py index 32a8a955..0bc7b85c 100644 --- a/rhodecode/config/config_maker.py +++ b/rhodecode/config/config_maker.py @@ -106,7 +106,7 @@ def sanitize_settings_and_apply_defaults(global_config, settings): settings_maker.make_setting('vcs.svn.redis_conn', 'redis://redis:6379/0') settings_maker.make_setting('vcs.svn.proxy.enabled', True, parser='bool') settings_maker.make_setting('vcs.svn.proxy.host', 'http://svn:8090', parser='string') - settings_maker.make_setting('vcs.hooks.protocol', 'http') + settings_maker.make_setting('vcs.hooks.protocol.v2', 'celery') settings_maker.make_setting('vcs.hooks.host', '*') settings_maker.make_setting('vcs.scm_app_implementation', 'http') settings_maker.make_setting('vcs.server', '') diff --git a/rhodecode/config/utils.py b/rhodecode/config/utils.py index aec2cfc2..17236b25 100644 --- a/rhodecode/config/utils.py +++ b/rhodecode/config/utils.py @@ -35,7 +35,7 @@ def configure_vcs(config): 'svn': 'rhodecode.lib.vcs.backends.svn.SubversionRepository', } - conf.settings.HOOKS_PROTOCOL = config['vcs.hooks.protocol'] + conf.settings.HOOKS_PROTOCOL = config['vcs.hooks.protocol.v2'] conf.settings.HOOKS_HOST = config['vcs.hooks.host'] conf.settings.DEFAULT_ENCODINGS = config['default_encoding'] conf.settings.ALIASES[:] = config['vcs.backends'] diff --git a/rhodecode/tests/config/test_sanitize_settings.py b/rhodecode/tests/config/test_sanitize_settings.py index 3a9f338f..4161904d 100644 --- a/rhodecode/tests/config/test_sanitize_settings.py +++ b/rhodecode/tests/config/test_sanitize_settings.py @@ -117,7 +117,7 @@ class TestSanitizeVcsSettings(object): _string_funcs = [ ('vcs.svn.compatible_version', ''), - ('vcs.hooks.protocol', 'http'), + ('vcs.hooks.protocol.v2', 'celery'), ('vcs.hooks.host', '*'), ('vcs.scm_app_implementation', 'http'), ('vcs.server', ''), diff --git a/rhodecode/tests/fixture_mods/fixture_pyramid.py b/rhodecode/tests/fixture_mods/fixture_pyramid.py index 415dfc9c..e90d7d5b 100644 --- a/rhodecode/tests/fixture_mods/fixture_pyramid.py +++ b/rhodecode/tests/fixture_mods/fixture_pyramid.py @@ -110,7 +110,7 @@ def ini_config(request, tmpdir_factory, rcserver_port, vcsserver_port): 'vcs.server.protocol': 'http', 'vcs.scm_app_implementation': 'http', 'vcs.svn.proxy.enabled': 'true', - 'vcs.hooks.protocol': 'http', + 'vcs.hooks.protocol.v2': 'celery', 'vcs.hooks.host': '*', 'repo_store.path': TESTS_TMP_PATH, 'app.service_api.token': 'service_secret_token', diff --git a/rhodecode/tests/lib/middleware/test_simplevcs.py b/rhodecode/tests/lib/middleware/test_simplevcs.py index 0cd06196..28782c33 100644 --- a/rhodecode/tests/lib/middleware/test_simplevcs.py +++ b/rhodecode/tests/lib/middleware/test_simplevcs.py @@ -399,7 +399,7 @@ class TestGenerateVcsResponse(object): def call_controller_with_response_body(self, response_body): settings = { 'base_path': 'fake_base_path', - 'vcs.hooks.protocol': 'http', + 'vcs.hooks.protocol.v2': 'celery', 'vcs.hooks.direct_calls': False, } registry = AttributeDict() diff --git a/rhodecode/tests/models/test_pullrequest.py b/rhodecode/tests/models/test_pullrequest.py index 5a6529cc..f1d07c3c 100644 --- a/rhodecode/tests/models/test_pullrequest.py +++ b/rhodecode/tests/models/test_pullrequest.py @@ -449,7 +449,7 @@ class TestPullRequestModel(object): @pytest.mark.usefixtures('config_stub') class TestIntegrationMerge(object): @pytest.mark.parametrize('extra_config', ( - {'vcs.hooks.protocol': 'http', 'vcs.hooks.direct_calls': False}, + {'vcs.hooks.protocol.v2': 'celery', 'vcs.hooks.direct_calls': False}, )) def test_merge_triggers_push_hooks( self, pr_util, user_admin, capture_rcextensions, merge_extras, From 9a46cbc018ad7aec7421cd32263febf4f015cc47 Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Wed, 7 Aug 2024 13:40:30 +0200 Subject: [PATCH 20/64] chore(caches): cleanup cache lib and added cleanup backend --- rhodecode/lib/rc_cache/backends.py | 15 +++++++++++---- rhodecode/lib/rc_cache/utils.py | 6 +++--- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/rhodecode/lib/rc_cache/backends.py b/rhodecode/lib/rc_cache/backends.py index ddf939ad..b4f64aa5 100644 --- a/rhodecode/lib/rc_cache/backends.py +++ b/rhodecode/lib/rc_cache/backends.py @@ -38,9 +38,9 @@ from dogpile.cache.backends import redis as redis_backend from dogpile.cache.backends.file import FileLock from dogpile.cache.util import memoized_property -from rhodecode.lib.memory_lru_dict import LRUDict, LRUDictDebug -from rhodecode.lib.str_utils import safe_bytes, safe_str -from rhodecode.lib.type_utils import str2bool +from ...lib.memory_lru_dict import LRUDict, LRUDictDebug +from ...lib.str_utils import safe_bytes, safe_str +from ...lib.type_utils import str2bool _default_max_size = 1024 @@ -198,6 +198,13 @@ class FileNamespaceBackend(PickleSerializer, file_backend.DBMBackend): def get_store(self): return self.filename + def cleanup_store(self): + for ext in ("db", "dat", "pag", "dir"): + final_filename = self.filename + os.extsep + ext + if os.path.exists(final_filename): + os.remove(final_filename) + log.warning('Removed dbm file %s', final_filename) + class BaseRedisBackend(redis_backend.RedisBackend): key_prefix = '' @@ -289,7 +296,7 @@ class RedisMsgPackBackend(MsgPackSerializer, BaseRedisBackend): def get_mutex_lock(client, lock_key, lock_timeout, auto_renewal=False): - from rhodecode.lib._vendor import redis_lock + from ...lib._vendor import redis_lock class _RedisLockWrapper: """LockWrapper for redis_lock""" diff --git a/rhodecode/lib/rc_cache/utils.py b/rhodecode/lib/rc_cache/utils.py index f59dce38..5d0c39f4 100644 --- a/rhodecode/lib/rc_cache/utils.py +++ b/rhodecode/lib/rc_cache/utils.py @@ -26,9 +26,9 @@ import decorator from dogpile.cache import CacheRegion import rhodecode -from rhodecode.lib.hash_utils import sha1 -from rhodecode.lib.str_utils import safe_bytes -from rhodecode.lib.type_utils import str2bool # noqa :required by imports from .utils +from ...lib.hash_utils import sha1 +from ...lib.str_utils import safe_bytes +from ...lib.type_utils import str2bool # noqa :required by imports from .utils from . import region_meta From 39e7b1fd721d0b5b529090f242b20e27e4f18448 Mon Sep 17 00:00:00 2001 From: Andrii Verbytskyi Date: Fri, 2 Aug 2024 00:52:58 +0200 Subject: [PATCH 21/64] docs: removed mentions of Nix manager, replaced some occurences of legacy rccontrol mentions, reworked quickstart --- docs/admin/system-overview.rst | 4 - docs/contributing/dev-setup.rst | 232 +------------------------------- docs/index.rst | 5 +- docs/install/quick-start.rst | 103 +------------- 4 files changed, 6 insertions(+), 338 deletions(-) diff --git a/docs/admin/system-overview.rst b/docs/admin/system-overview.rst index b4f670f0..443ed102 100644 --- a/docs/admin/system-overview.rst +++ b/docs/admin/system-overview.rst @@ -147,10 +147,6 @@ Peer-to-peer Failover Support * Yes -Additional Binaries -------------------- - -* Yes, see :ref:`rhodecode-nix-ref` for full details. Remote Connectivity ------------------- diff --git a/docs/contributing/dev-setup.rst b/docs/contributing/dev-setup.rst index a2923473..260f0a8c 100644 --- a/docs/contributing/dev-setup.rst +++ b/docs/contributing/dev-setup.rst @@ -4,237 +4,7 @@ Development setup =================== - -RhodeCode Enterprise runs inside a Nix managed environment. This ensures build -environment dependencies are correctly declared and installed during setup. -It also enables atomic upgrades, rollbacks, and multiple instances of RhodeCode -Enterprise running with isolation. - -To set up RhodeCode Enterprise inside the Nix environment, use the following steps: - - - -Setup Nix Package Manager -------------------------- - -To install the Nix Package Manager, please run:: - - $ curl https://releases.nixos.org/nix/nix-2.3.4/install | sh - -or go to https://nixos.org/nix/ and follow the installation instructions. -Once this is correctly set up on your system, you should be able to use the -following commands: - -* `nix-env` - -* `nix-shell` - - -.. tip:: - - Update your channels frequently by running ``nix-channel --update``. - -.. note:: - - To uninstall nix run the following: - - remove the . "$HOME/.nix-profile/etc/profile.d/nix.sh" line in your ~/.profile or ~/.bash_profile - rm -rf $HOME/{.nix-channels,.nix-defexpr,.nix-profile,.config/nixpkgs} - sudo rm -rf /nix - -Switch nix to the latest STABLE channel ---------------------------------------- - -run:: - - nix-channel --add https://nixos.org/channels/nixos-20.03 nixpkgs - -Followed by:: - - nix-channel --update - nix-env -i nix-2.3.4 - - -Install required binaries -------------------------- - -We need some handy tools first. - -run:: - - nix-env -i nix-prefetch-hg - nix-env -i nix-prefetch-git - - -Speed up JS build by installing PhantomJS ------------------------------------------ - -PhantomJS will be downloaded each time nix-shell is invoked. To speed this by -setting already downloaded version do this:: - - nix-env -i phantomjs-2.1.1 - - # and set nix bin path - export PATH=$PATH:~/.nix-profile/bin - - -Clone the required repositories -------------------------------- - -After Nix is set up, clone the RhodeCode Enterprise Community Edition and -RhodeCode VCSServer repositories into the same directory. -RhodeCode currently is using Mercurial Version Control System, please make sure -you have it installed before continuing. - -To obtain the required sources, use the following commands:: - - mkdir rhodecode-develop && cd rhodecode-develop - hg clone -u default https://code.rhodecode.com/rhodecode-enterprise-ce - hg clone -u default https://code.rhodecode.com/rhodecode-vcsserver - -.. note:: - - If you cannot clone the repository, please contact us via support@rhodecode.com - - -Install some required libraries -------------------------------- - -There are some required drivers and dev libraries that we need to install to -test RhodeCode under different types of databases. For example in Ubuntu we -need to install the following. - -required libraries:: - - # svn related - sudo apt-get install libapr1-dev libaprutil1-dev - sudo apt-get install libsvn-dev - # libcurl required too - sudo apt-get install libcurl4-openssl-dev - # mysql/pg server for development, optional - sudo apt-get install mysql-server libmysqlclient-dev - sudo apt-get install postgresql postgresql-contrib libpq-dev - - - -Enter the Development Shell ---------------------------- - -The final step is to start the development shells. To do this, run the -following command from inside the cloned repository:: - - # first, the vcsserver - cd ~/rhodecode-vcsserver - nix-shell - - # then enterprise sources - cd ~/rhodecode-enterprise-ce - nix-shell - -.. note:: - - On the first run, this will take a while to download and optionally compile - a few things. The following runs will be faster. The development shell works - fine on both MacOS and Linux platforms. - - -Create config.nix for development ---------------------------------- - -In order to run proper tests and setup linking across projects, a config.nix -file needs to be setup:: - - # create config - mkdir -p ~/.nixpkgs - touch ~/.nixpkgs/config.nix - - # put the below content into the ~/.nixpkgs/config.nix file - # adjusts, the path to where you cloned your repositories. - - { - rc = { - sources = { - rhodecode-vcsserver = "/home/dev/rhodecode-vcsserver"; - rhodecode-enterprise-ce = "/home/dev/rhodecode-enterprise-ce"; - rhodecode-enterprise-ee = "/home/dev/rhodecode-enterprise-ee"; - }; - }; - } - - - -Creating a Development Configuration ------------------------------------- - -To create a development environment for RhodeCode Enterprise, -use the following steps: - -1. Create a copy of vcsserver config: - `cp ~/rhodecode-vcsserver/configs/development.ini ~/rhodecode-vcsserver/configs/dev.ini` -2. Create a copy of rhodocode config: - `cp ~/rhodecode-enterprise-ce/configs/development.ini ~/rhodecode-enterprise-ce/configs/dev.ini` -3. Adjust the configuration settings to your needs if needed. - -.. note:: - - It is recommended to use the name `dev.ini` since it's included in .hgignore file. - - -Setup the Development Database -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -To create a development database, use the following example. This is a one -time operation executed from the nix-shell of rhodecode-enterprise-ce sources :: - - rc-setup-app dev.ini \ - --user=admin --password=secret \ - --email=admin@example.com \ - --repos=~/my_dev_repos - - -Compile CSS and JavaScript -^^^^^^^^^^^^^^^^^^^^^^^^^^ - -To use the application's frontend and prepare it for production deployment, -you will need to compile the CSS and JavaScript with Grunt. -This is easily done from within the nix-shell using the following command:: - - make web-build - -When developing new features you will need to recompile following any -changes made to the CSS or JavaScript files when developing the code:: - - grunt watch - -This prepares the development (with comments/whitespace) versions of files. - -Start the Development Servers -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -From the rhodecode-vcsserver directory, start the development server in another -nix-shell, using the following command:: - - pserve configs/dev.ini - -In the adjacent nix-shell which you created for your development server, you may -now start CE with the following command:: - - - pserve --reload configs/dev.ini - -.. note:: - - `--reload` flag will automatically reload the server when source file changes. - - -Run the Environment Tests -^^^^^^^^^^^^^^^^^^^^^^^^^ - -Please make sure that the tests are passing to verify that your environment is -set up correctly. RhodeCode uses py.test to run tests. -While your instance is running, start a new nix-shell and simply run -``make test`` to run the basic test suite. - +#TODO Need Help? ^^^^^^^^^^ diff --git a/docs/index.rst b/docs/index.rst index 81e2c384..567af055 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -43,7 +43,6 @@ and commit files and |repos| while managing their security permissions. install/install-database install/install-steps admin/system-overview - nix/default-env admin/system-admin admin/user-admin admin/repo-admin @@ -80,9 +79,9 @@ and commit files and |repos| while managing their security permissions. .. toctree:: :maxdepth: 2 - :caption: RhodeCode Control Documentation + :caption: RhodeCode RCstack Documentation - RhodeCode Installer + RhodeCode RCstack Installer .. toctree:: :maxdepth: 1 diff --git a/docs/install/quick-start.rst b/docs/install/quick-start.rst index 9c38a832..28ef4f1c 100644 --- a/docs/install/quick-start.rst +++ b/docs/install/quick-start.rst @@ -3,108 +3,11 @@ Quick Start Installation Guide ============================== -.. important:: +Since version 5.0.0 Rhodecode runs in Docker, and to get |RCE| up and running, +you need to use RCstack installer - - These are quick start instructions. To optimize your |RCE|, - |RCC|, and |RCT| usage, read the more detailed instructions in our guides. - For detailed installation instructions, see - :ref:`RhodeCode Control Documentation ` +Please refer to RCstack documentation for -.. tip:: - - If using a non-SQLite database, install and configure the database, create - a new user, and grant permissions. You will be prompted for this user's - credentials during |RCE| installation. See the relevant database - documentation for more details. - -To get |RCE| up and running, run through the below steps: - -1. Download the latest |RCC| installer from `rhodecode.com/download`_. - If you don't have an account, sign up at `rhodecode.com/register`_. - -2. Run the |RCC| installer and accept the End User Licence using the - following example: - -.. code-block:: bash - - $ chmod +x RhodeCode-installer-linux-* - $ ./RhodeCode-installer-linux-* - - Do you accept the RhodeCode Control license? - Press [Y] to accept license and [V] to view license text: y - - -.. important:: - - We recommend running RhodeCode as a non-root user, such as `rhodecode`; - this user must have a proper home directory. - Either log in as that user to install the software, or do it as root - with `sudo -i -u rhodecode ./RhodeCode-installer-linux-*` - - -3. Install a VCS Server, and configure it to start at boot. - -.. code-block:: bash - - $ rccontrol install VCSServer - - Agree to the licence agreement? [y/N]: y - IP to start the server on [127.0.0.1]: - Port for the server to start [10005]: - Creating new instance: vcsserver-1 - Installing RhodeCode VCSServer - Configuring RhodeCode VCS Server ... - Supervisord state is: RUNNING - Added process group vcsserver-1 - - -4. Install |RCEE| or |RCCE|. If using MySQL or PostgreSQL, during - installation you'll be asked for your database credentials, so have them at hand. - Mysql or Postgres needs to be running and a new database needs to be created. - You don't need any credentials or to create a database for SQLite. - -.. code-block:: bash - :emphasize-lines: 11-16 - - $ rccontrol install Community - - or - - $ rccontrol install Enterprise - - Username [admin]: username - Password (min 6 chars): - Repeat for confirmation: - Email: your@mail.com - Respositories location [/home/brian/repos]: - IP to start the Enterprise server on [127.0.0.1]: - Port for the Enterprise server to use [10004]: - Database type - [s]qlite, [m]ysql, [p]ostresql: - PostgreSQL selected - Database host [127.0.0.1]: - Database port [5432]: - Database username: db-user-name - Database password: somepassword - Database name: example-db-name - -5. Check the status of your installation. You |RCEE|/|RCCE| instance runs - on the URL displayed in the status message. - -.. code-block:: bash - - $ rccontrol status - - - NAME: enterprise-1 - - STATUS: RUNNING - - TYPE: Enterprise - - VERSION: 4.1.0 - - URL: http://127.0.0.1:10003 - - - NAME: vcsserver-1 - - STATUS: RUNNING - - TYPE: VCSServer - - VERSION: 4.1.0 - - URL: http://127.0.0.1:10001 .. note:: From bb74e4f03d40157592c8b0d949653a0f97b262ce Mon Sep 17 00:00:00 2001 From: Andrii Verbytskyi Date: Sat, 3 Aug 2024 00:23:29 +0200 Subject: [PATCH 22/64] chore: fixed minor issues with quickstart page --- docs/install/quick-start.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/install/quick-start.rst b/docs/install/quick-start.rst index 28ef4f1c..6a00d029 100644 --- a/docs/install/quick-start.rst +++ b/docs/install/quick-start.rst @@ -4,9 +4,9 @@ Quick Start Installation Guide ============================== Since version 5.0.0 Rhodecode runs in Docker, and to get |RCE| up and running, -you need to use RCstack installer - +you need to use RCstack installer - https://docs.rhodecode.com/rcstack/install/installation.html/ -Please refer to RCstack documentation for +Please follow RCstack documentation steps to set up your |RCE| installation. .. note:: From 7006bdf49d62a0db75b1550359c7bdab0b544866 Mon Sep 17 00:00:00 2001 From: Andrii Verbytskyi Date: Tue, 6 Aug 2024 13:43:33 +0200 Subject: [PATCH 23/64] docs: added another link to rcstack dev setup --- docs/contributing/dev-setup.rst | 3 ++- docs/nix/add-to-env.rst | 43 --------------------------------- docs/nix/default-env.rst | 10 -------- docs/nix/nix.rst | 31 ------------------------ 4 files changed, 2 insertions(+), 85 deletions(-) delete mode 100644 docs/nix/add-to-env.rst delete mode 100644 docs/nix/default-env.rst delete mode 100644 docs/nix/nix.rst diff --git a/docs/contributing/dev-setup.rst b/docs/contributing/dev-setup.rst index 260f0a8c..4cb5ccb3 100644 --- a/docs/contributing/dev-setup.rst +++ b/docs/contributing/dev-setup.rst @@ -4,7 +4,8 @@ Development setup =================== -#TODO +Please refer to RCstack installed documentation for instructions on setting up dev environment: +https://docs.rhodecode.com/rcstack/dev/dev-setup.html Need Help? ^^^^^^^^^^ diff --git a/docs/nix/add-to-env.rst b/docs/nix/add-to-env.rst deleted file mode 100644 index f62237e4..00000000 --- a/docs/nix/add-to-env.rst +++ /dev/null @@ -1,43 +0,0 @@ -Adding Custom Packages -====================== - -If you wish to make additional Python modules available to use with -extensions that you have developed, use the following information. - -Prerequisite ------------- - -|RCC| manages the |RCE| environment using Supervisor. To add custom packages -you need to install your instance of |RCE| as a self managed -instance. This will let you to update the ``PYTHONPATH`` without |RCC| -overwriting it. You can then extend the ``PYTHONPATH`` to find packaged -outside of the |RCC| managed environment. To install |RCE| as a self-managed -service using |RCC|, see the -:ref:`Self-managed Instructions `. - -Adding Custom Packages ----------------------- - -Once you have your instance configured as self-managed, use the following steps. - -1. Add the modules to the |RCE| instance directory, - :file:`/home/{user}/.rccontrol/{instance-id}`. -2. Add this location to your ``PYTHONPATH`` environment variable. This is set - in the :file:`/home/{user}/.rccontrol/supervisor/supervisor.ini` file. For - more information about ``PYTHONPATH``, see the `PYTHONPATH documentation`_. - -.. code-block:: ini - - [program:enterprise-1_script] - numprocs = 1 - redirect_stderr = true - environment = PYTHONPATH="",GIT_SSL_CAINFO="/home/user/.rccontrol-profile/etc/ca-bundle.crt" - -3. Specify the hook for your added module on the - :menuselection:`Admin --> Settings --> Hooks` page. For - example, ``python:rcextensions/you.custom.hook`` -4. Restart |RCE| using the ``rccontrol restart `` command. - For more information, see the :ref:`RhodeCode Control CLI ` - documentation. - -.. _PYTHONPATH documentation: https://docs.python.org/2/using/cmdline.html#envvar-PYTHONPATH diff --git a/docs/nix/default-env.rst b/docs/nix/default-env.rst deleted file mode 100644 index 6d04430a..00000000 --- a/docs/nix/default-env.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. _system-pack: - -System Packaging -================ - -.. toctree:: - :maxdepth: 1 - - nix - add-to-env diff --git a/docs/nix/nix.rst b/docs/nix/nix.rst deleted file mode 100644 index abaee831..00000000 --- a/docs/nix/nix.rst +++ /dev/null @@ -1,31 +0,0 @@ -.. _rhodecode-nix-ref: - -Nix Packaging -============= - -|RCE| is installed using |Nix Package Manager|. The Nix environment provides -the following features for maintenance and deployment: - -* Atomic upgrades and rollbacks -* Complete dependency management -* Garbage collection -* Binary patching -* Secure channel updates -* Nix works on Windows, Linux, and OSX - -The complete list of dependencies can be found in -:file:`/opt/rhodecode/store/{unique-hash}`. - -.. note:: - - No |RCE| data is stored in this location. - -.. warning:: - - Never alter any of the packages in the store. Always use the - :ref:`RhodeCode Control CLI ` update functions to keep - the packages and instances updated. - -.. |Nix Package Manager| raw:: html - - Nix From c9251167df84e72b83481e87e42fe21e5758338e Mon Sep 17 00:00:00 2001 From: Andrii Verbytskyi Date: Thu, 8 Aug 2024 20:57:15 +0200 Subject: [PATCH 24/64] docs: back to main page link, link to rcstack docs higher, small fixes --- docs/index.rst | 18 ++++++++++++------ docs/install/quick-start.rst | 2 +- docs/install/using-sqllite.rst | 17 +++-------------- 3 files changed, 16 insertions(+), 21 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 567af055..14f30070 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -35,6 +35,18 @@ and commit files and |repos| while managing their security permissions. Table of Contents ----------------- +.. toctree:: + :maxdepth: 1 + :caption: Documentation directory + + Back to documentation directory + +.. toctree:: + :maxdepth: 1 + :caption: RhodeCode RCstack Documentation + + RhodeCode RCstack Installer + .. toctree:: :maxdepth: 1 :caption: Admin Documentation @@ -77,12 +89,6 @@ and commit files and |repos| while managing their security permissions. extensions/extensions-hooks contributing/contributing -.. toctree:: - :maxdepth: 2 - :caption: RhodeCode RCstack Documentation - - RhodeCode RCstack Installer - .. toctree:: :maxdepth: 1 :caption: About diff --git a/docs/install/quick-start.rst b/docs/install/quick-start.rst index 6a00d029..b53d4dd6 100644 --- a/docs/install/quick-start.rst +++ b/docs/install/quick-start.rst @@ -4,7 +4,7 @@ Quick Start Installation Guide ============================== Since version 5.0.0 Rhodecode runs in Docker, and to get |RCE| up and running, -you need to use RCstack installer - https://docs.rhodecode.com/rcstack/install/installation.html/ +you need to use RCstack installer - https://docs.rhodecode.com/rcstack/install/installation.html Please follow RCstack documentation steps to set up your |RCE| installation. diff --git a/docs/install/using-sqllite.rst b/docs/install/using-sqllite.rst index cf262faf..7754e8d1 100644 --- a/docs/install/using-sqllite.rst +++ b/docs/install/using-sqllite.rst @@ -1,23 +1,12 @@ .. _install-sqlite-database: -SQLite ------- +SQLite (Deprecated) +------------------- .. important:: - We do not recommend using SQLite in a large development environment - as it has an internal locking mechanism which can become a performance - bottleneck when there are more than 5 concurrent users. + As of 5.x, SQLite is no longer supported, we advise to migrate to MySQL or PostgreSQL. -|RCE| installs SQLite as the default database if you do not specify another -during installation. SQLite is suitable for small teams, -projects with a low load, and evaluation purposes since it is built into -|RCE| and does not require any additional database server. - -Using MySQL or PostgreSQL in an large setup gives you much greater -performance, and while migration tools exist to move from one database type -to another, it is better to get it right first time and to immediately use -MySQL or PostgreSQL when you deploy |RCE| in a production environment. Migrating From SQLite to PostgreSQL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ From 0147b82c20f3c92b520bec9212e6ba67a6233c9e Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Mon, 19 Aug 2024 11:35:24 +0200 Subject: [PATCH 25/64] feat(configs): allow json log format for gunicorn --- configs/gunicorn_config.py | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/configs/gunicorn_config.py b/configs/gunicorn_config.py index d4d22078..b7578015 100644 --- a/configs/gunicorn_config.py +++ b/configs/gunicorn_config.py @@ -13,6 +13,7 @@ import traceback import random import socket import dataclasses +import json from gunicorn.glogging import Logger @@ -37,17 +38,41 @@ accesslog = '-' worker_tmp_dir = None tmp_upload_dir = None -# use re-use port logic -#reuse_port = True +# use re-use port logic to let linux internals load-balance the requests better. +reuse_port = True # Custom log format #access_log_format = ( # '%(t)s %(p)s INFO [GNCRN] %(h)-15s rqt:%(L)s %(s)s %(b)-6s "%(m)s:%(U)s %(q)s" usr:%(u)s "%(f)s" "%(a)s"') # loki format for easier parsing in grafana -access_log_format = ( +loki_access_log_format = ( 'time="%(t)s" pid=%(p)s level="INFO" type="[GNCRN]" ip="%(h)-15s" rqt="%(L)s" response_code="%(s)s" response_bytes="%(b)-6s" uri="%(m)s:%(U)s %(q)s" user=":%(u)s" user_agent="%(a)s"') +# JSON format +json_access_log_format = json.dumps({ + 'time': r'%(t)s', + 'pid': r'%(p)s', + 'level': 'INFO', + 'ip': r'%(h)s', + 'request_time': r'%(L)s', + 'remote_address': r'%(h)s', + 'user_name': r'%(u)s', + 'status': r'%(s)s', + 'method': r'%(m)s', + 'url_path': r'%(U)s', + 'query_string': r'%(q)s', + 'protocol': r'%(H)s', + 'response_length': r'%(B)s', + 'referer': r'%(f)s', + 'user_agent': r'%(a)s', + +}) + +access_log_format = loki_access_log_format +if os.environ.get('RC_LOGGING_FORMATTER') == 'json': + access_log_format = json_access_log_format + # self adjust workers based on CPU count, to use maximum of CPU and not overquota the resources # workers = get_workers() From fcf7e2c7e86aefbf3d600ce296f0b98d43c43ecc Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Mon, 19 Aug 2024 11:36:14 +0200 Subject: [PATCH 26/64] deps: bumped python3-saml lib --- requirements.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/requirements.txt b/requirements.txt index 83fd74d8..4eee31d0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -174,7 +174,7 @@ premailer==3.10.0 cachetools==5.3.3 cssselect==1.2.0 cssutils==2.6.0 - lxml==4.9.3 + lxml==5.3.0 requests==2.28.2 certifi==2022.12.7 charset-normalizer==3.1.0 @@ -243,12 +243,12 @@ python-ldap==3.4.3 python-memcached==1.59 six==1.16.0 python-pam==2.0.2 -python3-saml==1.15.0 +python3-saml==1.16.0 isodate==0.6.1 six==1.16.0 - lxml==4.9.3 - xmlsec==1.3.13 - lxml==4.9.3 + lxml==5.3.0 + xmlsec==1.3.14 + lxml==5.3.0 pyyaml==6.0.1 redis==5.0.4 async-timeout==4.0.3 From 11bd2925081cb882aa3d8bfdee9af9bb5846176c Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Tue, 20 Aug 2024 12:06:59 +0200 Subject: [PATCH 27/64] fix(db-migrate): enforce gc collection to optimize memory usage --- rhodecode/lib/dbmigrate/versions/115_version_5_1_0.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/rhodecode/lib/dbmigrate/versions/115_version_5_1_0.py b/rhodecode/lib/dbmigrate/versions/115_version_5_1_0.py index d1d05862..90de0691 100644 --- a/rhodecode/lib/dbmigrate/versions/115_version_5_1_0.py +++ b/rhodecode/lib/dbmigrate/versions/115_version_5_1_0.py @@ -35,16 +35,19 @@ def downgrade(migrate_engine): def fixups(models, _SESSION): + for db_repo in _SESSION.query(models.Repository).all(): - config = db_repo._config - config.set('extensions', 'largefiles', '') - try: - scm = db_repo.scm_instance(cache=False, config=config) + config = db_repo._config + config.set('extensions', 'largefiles', '') + + scm = db_repo.scm_instance(cache=False, config=config, vcs_full_cache=False) if scm: print(f'installing hook for repo: {db_repo}') scm.install_hooks(force=True) + del scm # force GC + del config except Exception as e: print(e) print('continue...') From cefbec329a604f34d480f116a106861674e83f1e Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Tue, 20 Aug 2024 15:04:33 +0200 Subject: [PATCH 28/64] auth: updated saml docs, and re-order info on plugin details for easier setup --- docs/Dockerfile | 25 ++- docs/auth/auth-saml-azure.rst | 159 ++++++++++++++++++ docs/auth/auth-saml-bulk-enroll-users.rst | 10 +- docs/auth/auth-saml-duosecurity.rst | 138 ++++++++++----- docs/auth/auth-saml-generic.rst | 1 + docs/auth/auth-saml-onelogin.rst | 137 ++++++++++----- docs/auth/auth.rst | 1 + rhodecode/authentication/routes.py | 1 + .../templates/admin/auth/auth_settings.mako | 7 +- .../templates/admin/auth/plugin_settings.mako | 7 + 10 files changed, 392 insertions(+), 94 deletions(-) create mode 100644 docs/auth/auth-saml-azure.rst diff --git a/docs/Dockerfile b/docs/Dockerfile index 3d324071..0c25861b 100644 --- a/docs/Dockerfile +++ b/docs/Dockerfile @@ -4,15 +4,30 @@ WORKDIR /project RUN apt-get update \ && apt-get install --no-install-recommends --yes \ - curl \ - zip \ - graphviz \ - imagemagick \ - make \ + curl \ + zip \ + graphviz \ + dvipng \ + imagemagick \ + make \ + latexmk \ + texlive-latex-recommended \ + texlive-latex-extra \ + texlive-xetex \ + fonts-freefont-otf \ + texlive-fonts-recommended \ + texlive-lang-greek \ + tex-gyre \ && apt-get autoremove \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* +RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && \ + unzip awscliv2.zip && \ + ./aws/install && \ + rm -rf ./aws && \ + rm awscliv2.zip + RUN \ python3 -m pip install --no-cache-dir --upgrade pip && \ python3 -m pip install --no-cache-dir Sphinx Pillow diff --git a/docs/auth/auth-saml-azure.rst b/docs/auth/auth-saml-azure.rst new file mode 100644 index 00000000..c0af703a --- /dev/null +++ b/docs/auth/auth-saml-azure.rst @@ -0,0 +1,159 @@ +.. _config-saml-azure-ref: + + +SAML 2.0 with Azure Entra ID +---------------------------- + +**This plugin is available only in EE Edition.** + +|RCE| supports SAML 2.0 Authentication with Azure Entra ID provider. This allows +users to log-in to RhodeCode via SSO mechanism of external identity provider +such as Azure AD. The login can be triggered either by the external IDP, or internally +by clicking specific authentication button on the log-in page. + + +Configuration steps +^^^^^^^^^^^^^^^^^^^ + +To configure Duo Security SAML authentication, use the following steps: + +1. From the |RCE| interface, select + :menuselection:`Admin --> Authentication` +2. Activate the `Azure Entra ID` plugin and select :guilabel:`Save` +3. Go to newly available menu option called `Azure Entra ID` on the left side. +4. Check the `enabled` check box in the plugin configuration section, + and fill in the required SAML information and :guilabel:`Save`, for more details, + see :ref:`config-saml-azure` + + +.. _config-saml-azure: + + +Example SAML Azure Entra ID configuration +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Example configuration for SAML 2.0 with Azure Entra ID provider + + +Enabled + `True`: + + .. note:: + Enable or disable this authentication plugin. + + +Auth Cache TTL + `30`: + + .. note:: + Amount of seconds to cache the authentication and permissions check response call for this plugin. + Useful for expensive calls like LDAP to improve the performance of the system (0 means disabled). + +Debug + `True`: + + .. note:: + Enable or disable debug mode that shows SAML errors in the RhodeCode logs. + + +Auth button name + `Azure Entra ID`: + + .. note:: + Alternative authentication display name. E.g AzureAuth, CorporateID etc. + + +Entity ID + `https://sts.windows.net/APP_ID/`: + + .. note:: + Identity Provider entity/metadata URI. Known as "Microsoft Entra Identifier" + E.g. https://sts.windows.net/abcd-c655-dcee-aab7-abcd/ + +SSO URL + `https://login.microsoftonline.com/APP_ID/saml2`: + + .. note:: + SSO (SingleSignOn) endpoint URL of the IdP. This can be used to initialize login, Known also as Login URL + E.g. https://login.microsoftonline.com/abcd-c655-dcee-aab7-abcd/saml2 + +SLO URL + `https://login.microsoftonline.com/APP_ID/saml2`: + + .. note:: + SLO (SingleLogout) endpoint URL of the IdP. , Known also as Logout URL + E.g. https://login.microsoftonline.com/abcd-c655-dcee-aab7-abcd/saml2 + +x509cert + ``: + + .. note:: + Identity provider public x509 certificate. It will be converted to single-line format without headers. + Download the raw base64 encoded certificate from the Identity provider and paste it here. + +SAML Signature + `sha-256`: + + .. note:: + Type of Algorithm to use for verification of SAML signature on Identity provider side. + +SAML Digest + `sha-256`: + + .. note:: + Type of Algorithm to use for verification of SAML digest on Identity provider side. + +Service Provider Cert Dir + `/etc/rhodecode/conf/saml_ssl/`: + + .. note:: + Optional directory to store service provider certificate and private keys. + Expected certs for the SP should be stored in this folder as: + * sp.key Private Key + * sp.crt Public cert + * sp_new.crt Future Public cert + + Also you can use other cert to sign the metadata of the SP using the: + * metadata.key + * metadata.crt + +Expected NameID Format + `nameid-format:emailAddress`: + + .. note:: + The format that specifies how the NameID is sent to the service provider. + +User ID Attribute + `user.email`: + + .. note:: + User ID Attribute name. This defines which attribute in SAML response will be used to link accounts via unique id. + Ensure this is returned from DuoSecurity for example via duo_username. + +Username Attribute + `user.username`: + + .. note:: + Username Attribute name. This defines which attribute in SAML response will map to a username. + +Email Attribute + `user.email`: + + .. note:: + Email Attribute name. This defines which attribute in SAML response will map to an email address. + + + +Below is example setup from Azure Administration page that can be used with above config. + +.. image:: ../images/saml-azure-service-provider-example.png + :alt: Azure SAML setup example + :scale: 50 % + + +Below is an example attribute mapping set for IDP provider required by the above config. + + +.. image:: ../images/saml-azure-attributes-example.png + :alt: Azure SAML setup example + :scale: 50 % \ No newline at end of file diff --git a/docs/auth/auth-saml-bulk-enroll-users.rst b/docs/auth/auth-saml-bulk-enroll-users.rst index cc3bd511..edc6f29a 100644 --- a/docs/auth/auth-saml-bulk-enroll-users.rst +++ b/docs/auth/auth-saml-bulk-enroll-users.rst @@ -13,7 +13,7 @@ This method simply enables SAML authentication for many users at once. From the server RhodeCode Enterprise is running run ishell on the instance which we want to apply the SAML migration:: - rccontrol ishell enterprise-1 + ./rcstack cli ishell Follow these steps to enable SAML authentication for multiple users. @@ -46,6 +46,8 @@ From available options pick only one and run the `import` statement # for Duo Security In [2]: from rc_auth_plugins.auth_duo_security import RhodeCodeAuthPlugin + # for Azure Entra + In [2]: from rc_auth_plugins.auth_azure import RhodeCodeAuthPlugin # for OneLogin In [2]: from rc_auth_plugins.auth_onelogin import RhodeCodeAuthPlugin # generic SAML plugin @@ -62,13 +64,13 @@ Enter in the ishell prompt ...: attrs = saml2user.get(user.user_id) ...: provider = RhodeCodeAuthPlugin.uid ...: if existing_identity: - ...: print('Identity for user `{}` already exists, skipping'.format(user.username)) + ...: print(f'Identity for user `{user.username}` already exists, skipping') ...: continue ...: if attrs: ...: external_id = attrs['id'] ...: new_external_identity = ExternalIdentity() ...: new_external_identity.external_id = external_id - ...: new_external_identity.external_username = '{}-saml-{}'.format(user.username, user.user_id) + ...: new_external_identity.external_username = f'{user.username}-saml-{user.user_id}' ...: new_external_identity.provider_name = provider ...: new_external_identity.local_user_id = user.user_id ...: new_external_identity.access_token = '' @@ -76,7 +78,7 @@ Enter in the ishell prompt ...: new_external_identity.alt_token = '' ...: Session().add(ex_identity) ...: Session().commit() - ...: print('Set user `{}` external identity bound to ExternalID:{}'.format(user.username, external_id)) + ...: print(f'Set user `{user.username}` external identity bound to ExternalID:{external_id}') .. note:: diff --git a/docs/auth/auth-saml-duosecurity.rst b/docs/auth/auth-saml-duosecurity.rst index 1dadfdce..36409870 100644 --- a/docs/auth/auth-saml-duosecurity.rst +++ b/docs/auth/auth-saml-duosecurity.rst @@ -32,62 +32,116 @@ To configure Duo Security SAML authentication, use the following steps: Example SAML Duo Security configuration ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Example configuration for SAML 2.0 with Duo Security provider:: +Example configuration for SAML 2.0 with Duo Security provider - *option*: `enabled` => `True` - # Enable or disable this authentication plugin. - *option*: `cache_ttl` => `0` - # Amount of seconds to cache the authentication and permissions check response call for this plugin. - # Useful for expensive calls like LDAP to improve the performance of the system (0 means disabled). +Enabled + `True`: - *option*: `debug` => `True` - # Enable or disable debug mode that shows SAML errors in the RhodeCode logs. + .. note:: + Enable or disable this authentication plugin. - *option*: `entity_id` => `http://rc-app.com/dag/saml2/idp/metadata.php` - # Identity Provider entity/metadata URI. - # E.g. https://duo-gateway.com/dag/saml2/idp/metadata.php - *option*: `sso_service_url` => `http://rc-app.com/dag/saml2/idp/SSOService.php?spentityid=http://rc.local.pl/_admin/auth/duosecurity/saml-metadata` - # SSO (SingleSignOn) endpoint URL of the IdP. This can be used to initialize login - # E.g. https://duo-gateway.com/dag/saml2/idp/SSOService.php?spentityid= +Auth Cache TTL + `30`: - *option*: `slo_service_url` => `http://rc-app.com/dag/saml2/idp/SingleLogoutService.php?ReturnTo=http://rc-app.com/dag/module.php/duosecurity/logout.php` - # SLO (SingleLogout) endpoint URL of the IdP. - # E.g. https://duo-gateway.com/dag/saml2/idp/SingleLogoutService.php?ReturnTo=http://duo-gateway.com/_admin/saml/sign-out-endpoint + .. note:: + Amount of seconds to cache the authentication and permissions check response call for this plugin. + Useful for expensive calls like LDAP to improve the performance of the system (0 means disabled). - *option*: `x509cert` => `` - # Identity provider public x509 certificate. It will be converted to single-line format without headers +Debug + `True`: - *option*: `name_id_format` => `sha-1` - # The format that specifies how the NameID is sent to the service provider. + .. note:: + Enable or disable debug mode that shows SAML errors in the RhodeCode logs. - *option*: `signature_algo` => `sha-256` - # Type of Algorithm to use for verification of SAML signature on Identity provider side - *option*: `digest_algo` => `sha-256` - # Type of Algorithm to use for verification of SAML digest on Identity provider side +Auth button name + `Azure Entra ID`: - *option*: `cert_dir` => `/etc/saml/` - # Optional directory to store service provider certificate and private keys. - # Expected certs for the SP should be stored in this folder as: - # * sp.key Private Key - # * sp.crt Public cert - # * sp_new.crt Future Public cert - # - # Also you can use other cert to sign the metadata of the SP using the: - # * metadata.key - # * metadata.crt + .. note:: + Alternative authentication display name. E.g AzureAuth, CorporateID etc. - *option*: `user_id_attribute` => `PersonImmutableID` - # User ID Attribute name. This defines which attribute in SAML response will be used to link accounts via unique id. - # Ensure this is returned from DuoSecurity for example via duo_username - *option*: `username_attribute` => `User.username` - # Username Attribute name. This defines which attribute in SAML response will map to an username. +Entity ID + `https://my-duo-gateway.com/dag/saml2/idp/metadata.php`: + + .. note:: + Identity Provider entity/metadata URI. + E.g. https://duo-gateway.com/dag/saml2/idp/metadata.php + +SSO URL + `https://duo-gateway.com/dag/saml2/idp/SSOService.php?spentityid=`: + + .. note:: + SSO (SingleSignOn) endpoint URL of the IdP. This can be used to initialize login, Known also as Login URL + E.g. http://rc-app.com/dag/saml2/idp/SSOService.php?spentityid=https://docker-dev/_admin/auth/duosecurity/saml-metadata + +SLO URL + `https://duo-gateway.com/dag/saml2/idp/SingleLogoutService.php?ReturnTo=`: + + .. note:: + SLO (SingleLogout) endpoint URL of the IdP. , Known also as Logout URL + E.g. http://rc-app.com/dag/saml2/idp/SingleLogoutService.php?ReturnTo=https://docker-dev/_admin/auth/duosecurity/saml-sign-out-endpoint + +x509cert + ``: + + .. note:: + Identity provider public x509 certificate. It will be converted to single-line format without headers. + Download the raw base64 encoded certificate from the Identity provider and paste it here. + +SAML Signature + `sha-256`: + + .. note:: + Type of Algorithm to use for verification of SAML signature on Identity provider side. + +SAML Digest + `sha-256`: + + .. note:: + Type of Algorithm to use for verification of SAML digest on Identity provider side. + +Service Provider Cert Dir + `/etc/rhodecode/conf/saml_ssl/`: + + .. note:: + Optional directory to store service provider certificate and private keys. + Expected certs for the SP should be stored in this folder as: + * sp.key Private Key + * sp.crt Public cert + * sp_new.crt Future Public cert + + Also you can use other cert to sign the metadata of the SP using the: + * metadata.key + * metadata.crt + +Expected NameID Format + `nameid-format:emailAddress`: + + .. note:: + The format that specifies how the NameID is sent to the service provider. + +User ID Attribute + `PersonImmutableID`: + + .. note:: + User ID Attribute name. This defines which attribute in SAML response will be used to link accounts via unique id. + Ensure this is returned from DuoSecurity for example via duo_username. + +Username Attribute + `User.username`: + + .. note:: + Username Attribute name. This defines which attribute in SAML response will map to a username. + +Email Attribute + `User.email`: + + .. note:: + Email Attribute name. This defines which attribute in SAML response will map to an email address. - *option*: `email_attribute` => `User.email` - # Email Attribute name. This defines which attribute in SAML response will map to an email address. Below is example setup from DUO Administration page that can be used with above config. diff --git a/docs/auth/auth-saml-generic.rst b/docs/auth/auth-saml-generic.rst index db6a6205..b5e528bc 100644 --- a/docs/auth/auth-saml-generic.rst +++ b/docs/auth/auth-saml-generic.rst @@ -15,5 +15,6 @@ Please check for reference two example providers: auth-saml-duosecurity auth-saml-onelogin + auth-saml-azure auth-saml-bulk-enroll-users diff --git a/docs/auth/auth-saml-onelogin.rst b/docs/auth/auth-saml-onelogin.rst index 69b2cc1d..ca3ac275 100644 --- a/docs/auth/auth-saml-onelogin.rst +++ b/docs/auth/auth-saml-onelogin.rst @@ -32,62 +32,115 @@ To configure OneLogin SAML authentication, use the following steps: Example SAML OneLogin configuration ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Example configuration for SAML 2.0 with OneLogin provider:: +Example configuration for SAML 2.0 with OneLogin provider - *option*: `enabled` => `True` - # Enable or disable this authentication plugin. - *option*: `cache_ttl` => `0` - # Amount of seconds to cache the authentication and permissions check response call for this plugin. - # Useful for expensive calls like LDAP to improve the performance of the system (0 means disabled). +Enabled + `True`: - *option*: `debug` => `True` - # Enable or disable debug mode that shows SAML errors in the RhodeCode logs. + .. note:: + Enable or disable this authentication plugin. - *option*: `entity_id` => `https://app.onelogin.com/saml/metadata/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` - # Identity Provider entity/metadata URI. - # E.g. https://app.onelogin.com/saml/metadata/ - *option*: `sso_service_url` => `https://customer-domain.onelogin.com/trust/saml2/http-post/sso/xxxxxx` - # SSO (SingleSignOn) endpoint URL of the IdP. This can be used to initialize login - # E.g. https://app.onelogin.com/trust/saml2/http-post/sso/ +Auth Cache TTL + `30`: - *option*: `slo_service_url` => `https://customer-domain.onelogin.com/trust/saml2/http-redirect/slo/xxxxxx` - # SLO (SingleLogout) endpoint URL of the IdP. - # E.g. https://app.onelogin.com/trust/saml2/http-redirect/slo/ + .. note:: + Amount of seconds to cache the authentication and permissions check response call for this plugin. + Useful for expensive calls like LDAP to improve the performance of the system (0 means disabled). - *option*: `x509cert` => `` - # Identity provider public x509 certificate. It will be converted to single-line format without headers +Debug + `True`: - *option*: `name_id_format` => `sha-1` - # The format that specifies how the NameID is sent to the service provider. + .. note:: + Enable or disable debug mode that shows SAML errors in the RhodeCode logs. - *option*: `signature_algo` => `sha-256` - # Type of Algorithm to use for verification of SAML signature on Identity provider side - *option*: `digest_algo` => `sha-256` - # Type of Algorithm to use for verification of SAML digest on Identity provider side +Auth button name + `Azure Entra ID`: - *option*: `cert_dir` => `/etc/saml/` - # Optional directory to store service provider certificate and private keys. - # Expected certs for the SP should be stored in this folder as: - # * sp.key Private Key - # * sp.crt Public cert - # * sp_new.crt Future Public cert - # - # Also you can use other cert to sign the metadata of the SP using the: - # * metadata.key - # * metadata.crt + .. note:: + Alternative authentication display name. E.g AzureAuth, CorporateID etc. - *option*: `user_id_attribute` => `PersonImmutableID` - # User ID Attribute name. This defines which attribute in SAML response will be used to link accounts via unique id. - # Ensure this is returned from OneLogin for example via Internal ID - *option*: `username_attribute` => `User.username` - # Username Attribute name. This defines which attribute in SAML response will map to an username. +Entity ID + `https://app.onelogin.com/saml/metadata/`: - *option*: `email_attribute` => `User.email` - # Email Attribute name. This defines which attribute in SAML response will map to an email address. + .. note:: + Identity Provider entity/metadata URI. + E.g. https://app.onelogin.com/saml/metadata/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + +SSO URL + `https://app.onelogin.com/trust/saml2/http-post/sso/`: + + .. note:: + SSO (SingleSignOn) endpoint URL of the IdP. This can be used to initialize login, Known also as Login URL + E.g. https://app.onelogin.com/trust/saml2/http-post/sso/ + +SLO URL + `https://app.onelogin.com/trust/saml2/http-redirect/slo/`: + + .. note:: + SLO (SingleLogout) endpoint URL of the IdP. , Known also as Logout URL + E.g. https://app.onelogin.com/trust/saml2/http-redirect/slo/ + +x509cert + ``: + + .. note:: + Identity provider public x509 certificate. It will be converted to single-line format without headers. + Download the raw base64 encoded certificate from the Identity provider and paste it here. + +SAML Signature + `sha-256`: + + .. note:: + Type of Algorithm to use for verification of SAML signature on Identity provider side. + +SAML Digest + `sha-256`: + + .. note:: + Type of Algorithm to use for verification of SAML digest on Identity provider side. + +Service Provider Cert Dir + `/etc/rhodecode/conf/saml_ssl/`: + + .. note:: + Optional directory to store service provider certificate and private keys. + Expected certs for the SP should be stored in this folder as: + * sp.key Private Key + * sp.crt Public cert + * sp_new.crt Future Public cert + + Also you can use other cert to sign the metadata of the SP using the: + * metadata.key + * metadata.crt + +Expected NameID Format + `nameid-format:emailAddress`: + + .. note:: + The format that specifies how the NameID is sent to the service provider. + +User ID Attribute + `PersonImmutableID`: + + .. note:: + User ID Attribute name. This defines which attribute in SAML response will be used to link accounts via unique id. + Ensure this is returned from DuoSecurity for example via duo_username. + +Username Attribute + `User.username`: + + .. note:: + Username Attribute name. This defines which attribute in SAML response will map to a username. + +Email Attribute + `User.email`: + + .. note:: + Email Attribute name. This defines which attribute in SAML response will map to an email address. diff --git a/docs/auth/auth.rst b/docs/auth/auth.rst index bdc7abdb..498e7178 100644 --- a/docs/auth/auth.rst +++ b/docs/auth/auth.rst @@ -29,6 +29,7 @@ administrator greater control over how users authenticate with the system. auth-saml-generic auth-saml-onelogin auth-saml-duosecurity + auth-saml-azure auth-crowd auth-pam ssh-connection diff --git a/rhodecode/authentication/routes.py b/rhodecode/authentication/routes.py index bd83ad71..e9e4b969 100644 --- a/rhodecode/authentication/routes.py +++ b/rhodecode/authentication/routes.py @@ -52,6 +52,7 @@ class AuthnRootResource(AuthnResourceBase): """ This is the root traversal resource object for the authentication settings. """ + is_root = True def __init__(self): self._store = collections.OrderedDict() diff --git a/rhodecode/templates/admin/auth/auth_settings.mako b/rhodecode/templates/admin/auth/auth_settings.mako index 92ae19f2..1e430b34 100644 --- a/rhodecode/templates/admin/auth/auth_settings.mako +++ b/rhodecode/templates/admin/auth/auth_settings.mako @@ -26,8 +26,13 @@

- % if display_globals: -
-
- ${h.text('largefiles_usercache' + suffix, size=59)} -
-
-
- ${_('Filesystem location where Mercurial largefile objects should be stored.')} -
- % endif -
${h.checkbox('phases_publish' + suffix, 'True', **kwargs)} @@ -127,17 +116,6 @@ ${_('Enable lfs extensions for this repository.')} % endif
- - % if display_globals: -
-
- ${h.text('vcs_git_lfs_store_location' + suffix, size=59)} -
-
-
- ${_('Filesystem location where Git lfs objects should be stored.')} -
- % endif % endif diff --git a/rhodecode/tests/lib/test_utils.py b/rhodecode/tests/lib/test_utils.py index ecfcbdf7..41a48c40 100644 --- a/rhodecode/tests/lib/test_utils.py +++ b/rhodecode/tests/lib/test_utils.py @@ -371,7 +371,7 @@ class TestMakeDbConfig(object): ('section2', 'option2', 'value2'), ('section3', 'option3', 'value3'), ] - with mock.patch.object(utils, 'config_data_from_db') as config_mock: + with mock.patch.object(utils, 'prepare_config_data') as config_mock: config_mock.return_value = test_data kwargs = {'clear_session': False, 'repo': 'test_repo'} result = utils.make_db_config(**kwargs) @@ -381,8 +381,8 @@ class TestMakeDbConfig(object): assert value == expected_value -class TestConfigDataFromDb(object): - def test_config_data_from_db_returns_active_settings(self): +class TestPrepareConfigData(object): + def test_prepare_config_data_returns_active_settings(self): test_data = [ UiSetting('section1', 'option1', 'value1', True), UiSetting('section2', 'option2', 'value2', True), @@ -398,7 +398,7 @@ class TestConfigDataFromDb(object): instance_mock = mock.Mock() model_mock.return_value = instance_mock instance_mock.get_ui_settings.return_value = test_data - result = utils.config_data_from_db( + result = utils.prepare_config_data( clear_session=False, repo=repo_name) self._assert_repo_name_passed(model_mock, repo_name) @@ -407,7 +407,8 @@ class TestConfigDataFromDb(object): ('section1', 'option1', 'value1'), ('section2', 'option2', 'value2'), ] - assert result == expected_result + # We have extra config items returned, so we're ignoring two last items + assert result[:2] == expected_result def _assert_repo_name_passed(self, model_mock, repo_name): assert model_mock.call_count == 1 diff --git a/rhodecode/tests/models/settings/test_vcs_settings.py b/rhodecode/tests/models/settings/test_vcs_settings.py index e8dcbcc9..b74f5fd9 100644 --- a/rhodecode/tests/models/settings/test_vcs_settings.py +++ b/rhodecode/tests/models/settings/test_vcs_settings.py @@ -592,7 +592,6 @@ class TestUpdateGlobalSslSetting(object): class TestCreateOrUpdateGlobalHgSettings(object): FORM_DATA = { 'extensions_largefiles': False, - 'largefiles_usercache': '/example/largefiles-store', 'phases_publish': False, 'extensions_evolve': False } @@ -605,7 +604,6 @@ class TestCreateOrUpdateGlobalHgSettings(object): expected_calls = [ mock.call(model.global_settings, 'extensions', 'largefiles', active=False, value=''), - mock.call(model.global_settings, 'largefiles', 'usercache', value='/example/largefiles-store'), mock.call(model.global_settings, 'phases', 'publish', value='False'), mock.call(model.global_settings, 'extensions', 'evolve', active=False, value=''), mock.call(model.global_settings, 'experimental', 'evolution', active=False, value=''), @@ -632,7 +630,6 @@ class TestCreateOrUpdateGlobalHgSettings(object): class TestCreateOrUpdateGlobalGitSettings(object): FORM_DATA = { 'vcs_git_lfs_enabled': False, - 'vcs_git_lfs_store_location': '/example/lfs-store', } def test_creates_repo_hg_settings_when_data_is_correct(self): @@ -643,7 +640,6 @@ class TestCreateOrUpdateGlobalGitSettings(object): expected_calls = [ mock.call(model.global_settings, 'vcs_git_lfs', 'enabled', active=False, value=False), - mock.call(model.global_settings, 'vcs_git_lfs', 'store_location', value='/example/lfs-store'), ] assert expected_calls == create_mock.call_args_list @@ -1001,9 +997,7 @@ class TestCreateOrUpdateRepoSettings(object): 'hooks_outgoing_pull_logger': False, 'extensions_largefiles': False, 'extensions_evolve': False, - 'largefiles_usercache': '/example/largefiles-store', 'vcs_git_lfs_enabled': False, - 'vcs_git_lfs_store_location': '/', 'phases_publish': 'False', 'rhodecode_pr_merge_enabled': False, 'rhodecode_use_outdated_comments': False, From 8a50fae648397aedfd029bb8786bdc1f7ef9258d Mon Sep 17 00:00:00 2001 From: Andrii Verbytskyi Date: Fri, 27 Sep 2024 11:03:43 +0200 Subject: [PATCH 46/64] feat: security-related code removed to be moved to EE --- rhodecode/apps/admin/views/security.py | 34 ++-------- .../edit_allowed_vcs_client_versions.mako | 62 ------------------- .../templates/admin/security/security.mako | 31 +--------- 3 files changed, 5 insertions(+), 122 deletions(-) delete mode 100644 rhodecode/templates/admin/security/edit_allowed_vcs_client_versions.mako diff --git a/rhodecode/apps/admin/views/security.py b/rhodecode/apps/admin/views/security.py index ac4a734d..c15294a6 100644 --- a/rhodecode/apps/admin/views/security.py +++ b/rhodecode/apps/admin/views/security.py @@ -17,13 +17,8 @@ # and proprietary license terms, please see https://rhodecode.com/licenses/ import logging -import formencode -from rhodecode import BACKENDS from rhodecode.apps._base import BaseAppView -from rhodecode.model.meta import Session -from rhodecode.model.settings import SettingsModel -from rhodecode.model.forms import WhitelistedVcsClientsForm from rhodecode.lib.auth import LoginRequired, HasPermissionAllDecorator log = logging.getLogger(__name__) @@ -42,31 +37,10 @@ class AdminSecurityView(BaseAppView): c.active = 'security' return self._get_template_context(c) + @LoginRequired() @HasPermissionAllDecorator('hg.admin') - def vcs_whitelisted_client_versions_edit(self): - _ = self.request.translate + def admin_security_modify_allowed_vcs_client_versions(self): c = self.load_default_context() - render_ctx = {} - settings = SettingsModel() - form = WhitelistedVcsClientsForm(_, )() - if self.request.method == 'POST': - try: - result = form.to_python(self.request.POST) - for k, v in result.items(): - if v: - setting = settings.create_or_update_setting(name=f'{k}_allowed_clients', val=v) - Session().add(setting) - Session().commit() - - except formencode.Invalid as errors: - render_ctx.update({ - 'errors': errors.error_dict - }) - for key in BACKENDS.keys(): - verbose_name = f"initial_{key}" - if existing := settings.get_setting_by_name(name=f'{key}_allowed_clients'): - render_ctx[verbose_name] = existing.app_settings_value - else: - render_ctx[verbose_name] = '*' - return self._get_template_context(c, **render_ctx) + c.active = 'security' + return self._get_template_context(c) diff --git a/rhodecode/templates/admin/security/edit_allowed_vcs_client_versions.mako b/rhodecode/templates/admin/security/edit_allowed_vcs_client_versions.mako deleted file mode 100644 index 04f74fd4..00000000 --- a/rhodecode/templates/admin/security/edit_allowed_vcs_client_versions.mako +++ /dev/null @@ -1,62 +0,0 @@ - - -
-
- ${h.secure_form(h.route_path('check_2fa'), request=request, id='allowed_clients_form')} -

- ${h.text('git', class_="form-control", value=initial_git)}

-

- ${h.text('hg', class_="form-control", value=initial_hg)}

-

- ${h.text('svn', class_="form-control", value=initial_svn)}

- %for k, v in errors.items(): - ${k}: ${v} -
- %endfor -

${_('Set rules for allowed git, hg or svn client versions. You can set exact version (for example 2.0.9) or use comparison operators to set earliest or latest version (>=2.6.0)')}

- - ${h.submit('send', _('Save'), class_="btn btn-primary")} - ${h.end_form()} -
-
diff --git a/rhodecode/templates/admin/security/security.mako b/rhodecode/templates/admin/security/security.mako index 28ddd1f3..fe302ff4 100644 --- a/rhodecode/templates/admin/security/security.mako +++ b/rhodecode/templates/admin/security/security.mako @@ -38,42 +38,13 @@

${_('Allowed client versions')}

- %if c.rhodecode_edition_id != 'EE':

${_('This feature is available in RhodeCode EE edition only. Contact {sales_email} to obtain a trial license.').format(sales_email='sales@rhodecode.com')|n}

${_('Some outdated client versions may have security vulnerabilities. This section have rules for whitelisting versions of clients for Git, Mercurial and SVN.')}

- %else: -
-
- %endif
+ - - From 4c7a5c2792f49ac9c78e3704f5d73fdab6bb66ab Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Mon, 30 Sep 2024 15:11:06 +0200 Subject: [PATCH 47/64] deps: bumped zope.interface==7.0.3 --- requirements.txt | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/requirements.txt b/requirements.txt index b29a5ede..3e033994 100644 --- a/requirements.txt +++ b/requirements.txt @@ -33,7 +33,7 @@ channelstream==0.7.1 gevent==24.2.1 greenlet==3.0.3 zope.event==5.0.0 - zope.interface==6.4.post2 + zope.interface==7.0.3 itsdangerous==1.1.0 marshmallow==2.18.0 pyramid==2.0.2 @@ -46,7 +46,7 @@ channelstream==0.7.1 venusian==3.0.0 webob==1.8.7 zope.deprecation==5.0.0 - zope.interface==6.4.post2 + zope.interface==7.0.3 pyramid-jinja2==2.10 jinja2==3.1.2 markupsafe==2.1.2 @@ -61,7 +61,7 @@ channelstream==0.7.1 venusian==3.0.0 webob==1.8.7 zope.deprecation==5.0.0 - zope.interface==6.4.post2 + zope.interface==7.0.3 zope.deprecation==5.0.0 python-dateutil==2.8.2 six==1.16.0 @@ -93,7 +93,7 @@ gunicorn==23.0.0 gevent==24.2.1 greenlet==3.0.3 zope.event==5.0.0 - zope.interface==6.4.post2 + zope.interface==7.0.3 ipython==8.26.0 decorator==5.1.1 jedi==0.19.1 @@ -201,13 +201,13 @@ pyramid-mailer==0.15.1 venusian==3.0.0 webob==1.8.7 zope.deprecation==5.0.0 - zope.interface==6.4.post2 + zope.interface==7.0.3 repoze.sendmail==4.4.1 - transaction==3.1.0 - zope.interface==6.4.post2 - zope.interface==6.4.post2 - transaction==3.1.0 - zope.interface==6.4.post2 + transaction==5.0.0 + zope.interface==7.0.3 + zope.interface==7.0.3 + transaction==5.0.0 + zope.interface==7.0.3 pyramid-mako==1.1.0 mako==1.2.4 markupsafe==2.1.2 @@ -221,7 +221,7 @@ pyramid-mako==1.1.0 venusian==3.0.0 webob==1.8.7 zope.deprecation==5.0.0 - zope.interface==6.4.post2 + zope.interface==7.0.3 python-ldap==3.4.3 pyasn1==0.4.8 pyasn1-modules==0.2.8 From 80454cef03bc6595188b2fbe09582126ab0e9023 Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Mon, 30 Sep 2024 15:11:23 +0200 Subject: [PATCH 48/64] deps: bumped orjson==3.10.7 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 3e033994..73ef62d5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -167,7 +167,7 @@ nbconvert==7.7.3 tinycss2==1.2.1 webencodings==0.5.1 traitlets==5.14.3 -orjson==3.10.6 +orjson==3.10.7 paste==3.10.1 premailer==3.10.0 cachetools==5.3.3 From 1d212defca45bd46d008574ad7d0e1de8a3ff132 Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Mon, 30 Sep 2024 15:11:46 +0200 Subject: [PATCH 49/64] deps: fsspec==2024.9.0 --- requirements.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/requirements.txt b/requirements.txt index 73ef62d5..36928bea 100644 --- a/requirements.txt +++ b/requirements.txt @@ -87,7 +87,7 @@ dogpile.cache==1.3.3 pbr==5.11.1 formencode==2.1.0 six==1.16.0 -fsspec==2024.6.0 +fsspec==2024.9.0 gunicorn==23.0.0 packaging==24.1 gevent==24.2.1 @@ -242,7 +242,7 @@ regex==2022.10.31 routes==2.5.1 repoze.lru==0.7 six==1.16.0 -s3fs==2024.6.0 +s3fs==2024.9.0 aiobotocore==2.13.0 aiohttp==3.9.5 aiosignal==1.3.1 @@ -269,7 +269,7 @@ s3fs==2024.6.0 yarl==1.9.4 idna==3.4 multidict==6.0.5 - fsspec==2024.6.0 + fsspec==2024.9.0 simplejson==3.19.2 sshpubkeys==3.3.1 cryptography==40.0.2 From 4938e6c7a4072cd00346b1262b7c0fe6bcf6ba67 Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Mon, 30 Sep 2024 15:12:04 +0200 Subject: [PATCH 50/64] deps: bumped redis==5.1.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 36928bea..d3c228b9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -236,7 +236,7 @@ python3-saml==1.16.0 xmlsec==1.3.14 lxml==5.3.0 pyyaml==6.0.1 -redis==5.0.4 +redis==5.1.0 async-timeout==4.0.3 regex==2022.10.31 routes==2.5.1 From 1a00627df315fbe627d71bd47b86daf341dbd88d Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Tue, 1 Oct 2024 11:26:42 +0200 Subject: [PATCH 51/64] feat(license): allow import of license from rhodecode_enterprise.license which got broken after python3 migration --- rhodecode/lib/rc_commands/setup_rc.py | 9 ++++----- rhodecode/model/license.py | 17 +++++++++++++++++ rhodecode/subscribers.py | 23 +++++++++++++++++++---- 3 files changed, 40 insertions(+), 9 deletions(-) create mode 100644 rhodecode/model/license.py diff --git a/rhodecode/lib/rc_commands/setup_rc.py b/rhodecode/lib/rc_commands/setup_rc.py index b5626f6f..18d133ac 100644 --- a/rhodecode/lib/rc_commands/setup_rc.py +++ b/rhodecode/lib/rc_commands/setup_rc.py @@ -108,11 +108,10 @@ def command(ini_path, force_yes, user, email, password, api_key, repos, dbmanage.create_permissions() dbmanage.populate_default_permissions() if apply_license_key: - try: - from rc_license.models import apply_trial_license_if_missing - apply_trial_license_if_missing(force=True) - except ImportError: - pass + from rhodecode.model.license import apply_license_from_file + license_file_path = config.get('license.import_path') + if license_file_path: + apply_license_from_file(license_file_path, force=True) Session().commit() diff --git a/rhodecode/model/license.py b/rhodecode/model/license.py new file mode 100644 index 00000000..011bb31d --- /dev/null +++ b/rhodecode/model/license.py @@ -0,0 +1,17 @@ + +def apply_license(*args, **kwargs): + pass + +try: + from rc_license.models import apply_license +except ImportError: + pass + + +def apply_license_from_file(*args, **kwargs): + pass + +try: + from rc_license.models import apply_license_from_file +except ImportError: + pass diff --git a/rhodecode/subscribers.py b/rhodecode/subscribers.py index 07c04fd9..82ffee3c 100644 --- a/rhodecode/subscribers.py +++ b/rhodecode/subscribers.py @@ -205,7 +205,7 @@ def write_usage_data(event): return def get_update_age(dest_file): - now = datetime.datetime.utcnow() + now = datetime.datetime.now(datetime.UTC) with open(dest_file, 'rb') as f: data = ext_json.json.loads(f.read()) @@ -216,10 +216,9 @@ def write_usage_data(event): return 0 - utc_date = datetime.datetime.utcnow() + utc_date = datetime.datetime.now(datetime.UTC) hour_quarter = int(math.ceil((utc_date.hour + utc_date.minute/60.0) / 6.)) - fname = '.rc_usage_{date.year}{date.month:02d}{date.day:02d}_{hour}.json'.format( - date=utc_date, hour=hour_quarter) + fname = f'.rc_usage_{utc_date.year}{utc_date.month:02d}{utc_date.day:02d}_{hour_quarter}.json' ini_loc = os.path.dirname(rhodecode.CONFIG.get('__file__')) usage_dir = os.path.join(ini_loc, '.rcusage') @@ -314,6 +313,22 @@ def write_js_routes_if_enabled(event): log.exception('Failed to write routes.js into %s', jsroutes_file_path) +def import_license_if_present(event): + """ + This is subscribed to the `pyramid.events.ApplicationCreated` event. It + does a import license key based on a presence of the file. + """ + settings = event.app.registry.settings + + license_file_path = settings.get('license.import_path') + force = settings.get('license.import_path_mode') == 'force' + if license_file_path: + from rhodecode.model.meta import Session + from rhodecode.model.license import apply_license_from_file + apply_license_from_file(license_file_path, force=force) + Session().commit() + + class Subscriber(object): """ Base class for subscribers to the pyramid event system. From c85940781182e09ae87ab550632740b27148be4a Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Tue, 1 Oct 2024 11:28:07 +0200 Subject: [PATCH 52/64] feat(vcs): dropped validate SSL for vcs-operations. - This is very error prone - With docker we don't need it anymore --- rhodecode/apps/admin/views/settings.py | 3 +-- rhodecode/config/middleware.py | 5 +++-- rhodecode/lib/db_manage.py | 1 - rhodecode/lib/middleware/simplevcs.py | 21 ------------------- rhodecode/lib/utils.py | 3 +-- rhodecode/model/forms.py | 1 - rhodecode/model/settings.py | 5 ----- rhodecode/templates/base/vcs_settings.mako | 17 +-------------- .../tests/lib/middleware/test_simplehg.py | 1 - .../tests/lib/middleware/test_simplevcs.py | 3 --- .../models/settings/test_vcs_settings.py | 11 ---------- 11 files changed, 6 insertions(+), 65 deletions(-) diff --git a/rhodecode/apps/admin/views/settings.py b/rhodecode/apps/admin/views/settings.py index 689ffa8a..34a5687d 100644 --- a/rhodecode/apps/admin/views/settings.py +++ b/rhodecode/apps/admin/views/settings.py @@ -82,7 +82,7 @@ class AdminSettingsView(BaseAppView): if k == '/': k = 'root_path' - if k in ['push_ssl', 'publish', 'enabled']: + if k in ['publish', 'enabled']: v = str2bool(v) if k.find('.') != -1: @@ -164,7 +164,6 @@ class AdminSettingsView(BaseAppView): return Response(html) try: - model.update_global_ssl_setting(form_result['web_push_ssl']) model.update_global_hook_settings(form_result) model.create_or_update_global_svn_settings(form_result) diff --git a/rhodecode/config/middleware.py b/rhodecode/config/middleware.py index d8538b2f..c82395cd 100644 --- a/rhodecode/config/middleware.py +++ b/rhodecode/config/middleware.py @@ -50,7 +50,7 @@ from rhodecode.lib.utils2 import AttributeDict from rhodecode.lib.exc_tracking import store_exception, format_exc from rhodecode.subscribers import ( scan_repositories_if_enabled, write_js_routes_if_enabled, - write_metadata_if_needed, write_usage_data) + write_metadata_if_needed, write_usage_data, import_license_if_present) from rhodecode.lib.statsd_client import StatsdClient log = logging.getLogger(__name__) @@ -400,7 +400,8 @@ def includeme(config, auth_resources=None): pyramid.events.ApplicationCreated) config.add_subscriber(write_js_routes_if_enabled, pyramid.events.ApplicationCreated) - + config.add_subscriber(import_license_if_present, + pyramid.events.ApplicationCreated) # Set the default renderer for HTML templates to mako. config.add_mako_renderer('.html') diff --git a/rhodecode/lib/db_manage.py b/rhodecode/lib/db_manage.py index e1d2a152..93c95ef1 100644 --- a/rhodecode/lib/db_manage.py +++ b/rhodecode/lib/db_manage.py @@ -570,7 +570,6 @@ class DbManage(object): self.create_ui_settings(path) ui_config = [ - ('web', 'push_ssl', 'False'), ('web', 'allow_archive', 'gz zip bz2'), ('web', 'allow_push', '*'), ('web', 'baseurl', '/'), diff --git a/rhodecode/lib/middleware/simplevcs.py b/rhodecode/lib/middleware/simplevcs.py index 67480355..72c23cf5 100644 --- a/rhodecode/lib/middleware/simplevcs.py +++ b/rhodecode/lib/middleware/simplevcs.py @@ -339,21 +339,6 @@ class SimpleVCS(object): log.exception('Failed to read http scheme') return 'http' - def _check_ssl(self, environ, start_response): - """ - Checks the SSL check flag and returns False if SSL is not present - and required True otherwise - """ - org_proto = environ['wsgi._org_proto'] - # check if we have SSL required ! if not it's a bad request ! - require_ssl = str2bool(self.repo_vcs_config.get('web', 'push_ssl')) - if require_ssl and org_proto == 'http': - log.debug( - 'Bad request: detected protocol is `%s` and ' - 'SSL/HTTPS is required.', org_proto) - return False - return True - def _get_default_cache_ttl(self): # take AUTH_CACHE_TTL from the `rhodecode` auth plugin plugin = loadplugin('egg:rhodecode-enterprise-ce#rhodecode') @@ -373,12 +358,6 @@ class SimpleVCS(object): meta.Session.remove() def _handle_request(self, environ, start_response): - if not self._check_ssl(environ, start_response): - reason = ('SSL required, while RhodeCode was unable ' - 'to detect this as SSL request') - log.debug('User not allowed to proceed, %s', reason) - return HTTPNotAcceptable(reason)(environ, start_response) - if not self.url_repo_name: log.warning('Repository name is empty: %s', self.url_repo_name) # failed to get repo name, we fail now diff --git a/rhodecode/lib/utils.py b/rhodecode/lib/utils.py index 27734039..02c1f5b6 100644 --- a/rhodecode/lib/utils.py +++ b/rhodecode/lib/utils.py @@ -386,8 +386,7 @@ def config_data_from_db(clear_session=True, repo=None): safe_str(setting.section), safe_str(setting.key), safe_str(setting.value))) if setting.key == 'push_ssl': - # force set push_ssl requirement to False, rhodecode - # handles that + # force set push_ssl requirement to False this is deprecated, and we must force it to False config.append(( safe_str(setting.section), safe_str(setting.key), False)) log.debug( diff --git a/rhodecode/model/forms.py b/rhodecode/model/forms.py index fefcd2a3..a1998e14 100644 --- a/rhodecode/model/forms.py +++ b/rhodecode/model/forms.py @@ -468,7 +468,6 @@ def ApplicationUiSettingsForm(localizer): _ = localizer class _ApplicationUiSettingsForm(_BaseVcsSettingsForm): - web_push_ssl = v.StringBoolean(if_missing=False) largefiles_usercache = All( v.ValidPath(localizer), v.UnicodeString(strip=True, min=2, not_empty=True)) diff --git a/rhodecode/model/settings.py b/rhodecode/model/settings.py index a3421304..82e860d4 100644 --- a/rhodecode/model/settings.py +++ b/rhodecode/model/settings.py @@ -501,7 +501,6 @@ class VcsSettingsModel(object): SVN_BRANCH_SECTION = 'vcs_svn_branch' SVN_TAG_SECTION = 'vcs_svn_tag' - SSL_SETTING = ('web', 'push_ssl') PATH_SETTING = ('paths', '/') def __init__(self, sa=None, repo=None): @@ -713,10 +712,6 @@ class VcsSettingsModel(object): # branch/tags patterns self._create_svn_settings(self.global_settings, data) - def update_global_ssl_setting(self, value): - self._create_or_update_ui( - self.global_settings, *self.SSL_SETTING, value=value) - @assert_repo_settings def delete_repo_svn_pattern(self, id_): ui = self.repo_settings.UiDbModel.get(id_) diff --git a/rhodecode/templates/base/vcs_settings.mako b/rhodecode/templates/base/vcs_settings.mako index dba915e8..f18d2b89 100644 --- a/rhodecode/templates/base/vcs_settings.mako +++ b/rhodecode/templates/base/vcs_settings.mako @@ -5,22 +5,7 @@ <%def name="vcs_settings_fields(suffix='', svn_branch_patterns=None, svn_tag_patterns=None, repo_type=None, display_globals=False, **kwargs)"> % if display_globals: -
-
-

${_('General')}

-
-
-
-
- ${h.checkbox('web_push_ssl' + suffix, 'True')} - -
-
- ${_('Activate to set RhodeCode to require SSL for pushing or pulling. If SSL certificate is missing it will return a HTTP Error 406: Not Acceptable.')} -
-
-
-
+ % endif % if display_globals or repo_type in ['git', 'hg']: diff --git a/rhodecode/tests/lib/middleware/test_simplehg.py b/rhodecode/tests/lib/middleware/test_simplehg.py index 02534b8e..69bbf833 100644 --- a/rhodecode/tests/lib/middleware/test_simplehg.py +++ b/rhodecode/tests/lib/middleware/test_simplehg.py @@ -120,7 +120,6 @@ def test_get_config(user_util, baseapp, request_stub): expected_config = [ ('vcs_svn_tag', 'ff89f8c714d135d865f44b90e5413b88de19a55f', '/tags/*'), - ('web', 'push_ssl', 'False'), ('web', 'allow_push', '*'), ('web', 'allow_archive', 'gz zip bz2'), ('web', 'baseurl', '/'), diff --git a/rhodecode/tests/lib/middleware/test_simplevcs.py b/rhodecode/tests/lib/middleware/test_simplevcs.py index 28782c33..c8129d24 100644 --- a/rhodecode/tests/lib/middleware/test_simplevcs.py +++ b/rhodecode/tests/lib/middleware/test_simplevcs.py @@ -239,7 +239,6 @@ class TestShadowRepoExposure(object): """ controller = StubVCSController( baseapp.config.get_settings(), request_stub.registry) - controller._check_ssl = mock.Mock() controller.is_shadow_repo = True controller._action = 'pull' controller._is_shadow_repo_dir = True @@ -267,7 +266,6 @@ class TestShadowRepoExposure(object): """ controller = StubVCSController( baseapp.config.get_settings(), request_stub.registry) - controller._check_ssl = mock.Mock() controller.is_shadow_repo = True controller._action = 'pull' controller._is_shadow_repo_dir = False @@ -291,7 +289,6 @@ class TestShadowRepoExposure(object): """ controller = StubVCSController( baseapp.config.get_settings(), request_stub.registry) - controller._check_ssl = mock.Mock() controller.is_shadow_repo = True controller._action = 'push' controller.stub_response_body = (b'dummy body value',) diff --git a/rhodecode/tests/models/settings/test_vcs_settings.py b/rhodecode/tests/models/settings/test_vcs_settings.py index e8dcbcc9..32d12c64 100644 --- a/rhodecode/tests/models/settings/test_vcs_settings.py +++ b/rhodecode/tests/models/settings/test_vcs_settings.py @@ -578,17 +578,6 @@ class TestCreateOrUpdateRepoHgSettings(object): assert str(exc_info.value) == 'Repository is not specified' -class TestUpdateGlobalSslSetting(object): - def test_updates_global_hg_settings(self): - model = VcsSettingsModel() - with mock.patch.object(model, '_create_or_update_ui') as create_mock: - model.update_global_ssl_setting('False') - Session().commit() - - create_mock.assert_called_once_with( - model.global_settings, 'web', 'push_ssl', value='False') - - class TestCreateOrUpdateGlobalHgSettings(object): FORM_DATA = { 'extensions_largefiles': False, From ca7a00c2509ce6ac7f8a97ec095444b6f243916c Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Tue, 1 Oct 2024 22:34:13 +0200 Subject: [PATCH 53/64] config: bootstrap default configs for license file import --- rhodecode/config/config_maker.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/rhodecode/config/config_maker.py b/rhodecode/config/config_maker.py index a3dfa18f..c5e6414f 100644 --- a/rhodecode/config/config_maker.py +++ b/rhodecode/config/config_maker.py @@ -52,7 +52,8 @@ def sanitize_settings_and_apply_defaults(global_config, settings): default=False, parser='bool') - logging_conf = jn(os.path.dirname(global_config.get('__file__')), 'logging.ini') + ini_loc = os.path.dirname(global_config.get('__file__')) + logging_conf = jn(ini_loc, 'logging.ini') settings_maker.enable_logging(logging_conf, level='INFO' if debug_enabled else 'DEBUG') # Default includes, possible to change as a user @@ -95,6 +96,11 @@ def sanitize_settings_and_apply_defaults(global_config, settings): settings_maker.make_setting('gzip_responses', False, parser='bool') settings_maker.make_setting('startup.import_repos', 'false', parser='bool') + # License settings. + settings_maker.make_setting('license.hide_license_info', False, parser='bool') + settings_maker.make_setting('license.import_path', jn(ini_loc, 'rhodecode_enterprise.license')) + settings_maker.make_setting('license.import_path_mode', 'if-missing') + # statsd settings_maker.make_setting('statsd.enabled', False, parser='bool') settings_maker.make_setting('statsd.statsd_host', 'statsd-exporter', parser='string') From 1e874473bf63421eacfba01d7a7023525a769904 Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Tue, 1 Oct 2024 22:51:12 +0200 Subject: [PATCH 54/64] fix(vcs): fixed logic bug on skip-vcs detector where it didn't skip properly defined urls --- rhodecode/lib/middleware/vcs.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/rhodecode/lib/middleware/vcs.py b/rhodecode/lib/middleware/vcs.py index 49c636f2..59b26c8f 100644 --- a/rhodecode/lib/middleware/vcs.py +++ b/rhodecode/lib/middleware/vcs.py @@ -159,11 +159,18 @@ def detect_vcs_request(environ, backends): # favicon often requested by browsers 'favicon.ico', + # static files no detection + '_static++', + + # debug-toolbar + '_debug_toolbar++', + # e.g /_file_store/download '_file_store++', # login - "_admin/login", + f"{ADMIN_PREFIX}/login", + f"{ADMIN_PREFIX}/logout", # 2fa f"{ADMIN_PREFIX}/check_2fa", @@ -178,12 +185,6 @@ def detect_vcs_request(environ, backends): # _admin/my_account is safe too f'{ADMIN_PREFIX}/my_account++', - # static files no detection - '_static++', - - # debug-toolbar - '_debug_toolbar++', - # skip ops ping, status f'{ADMIN_PREFIX}/ops/ping', f'{ADMIN_PREFIX}/ops/status', @@ -193,11 +194,14 @@ def detect_vcs_request(environ, backends): '++/repo_creating_check' ] + path_info = get_path_info(environ) path_url = path_info.lstrip('/') req_method = environ.get('REQUEST_METHOD') for item in white_list: + item = item.lstrip('/') + if item.endswith('++') and path_url.startswith(item[:-2]): log.debug('path `%s` in whitelist (match:%s), skipping...', path_url, item) return handler From d8f740e0fc23f36dd7e69d7954ba789a8b4f2693 Mon Sep 17 00:00:00 2001 From: Andrii Verbytskyi Date: Mon, 30 Sep 2024 23:45:29 +0200 Subject: [PATCH 55/64] fix: fix ajax request route to update client whitelist config --- rhodecode/apps/admin/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rhodecode/apps/admin/__init__.py b/rhodecode/apps/admin/__init__.py index 23991a46..f5e8cc9c 100644 --- a/rhodecode/apps/admin/__init__.py +++ b/rhodecode/apps/admin/__init__.py @@ -67,7 +67,7 @@ def admin_routes(config): config.add_route( name='admin_security_modify_allowed_vcs_client_versions', - pattern='/security/modify/allowed_vcs_client_versions') + pattern=ADMIN_PREFIX + '/security/modify/allowed_vcs_client_versions') config.add_view( AdminSecurityView, attr='vcs_whitelisted_client_versions_edit', From 5fc38bda7c155c1ffdc8dfd4b46d3118cf708d49 Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Thu, 3 Oct 2024 17:06:18 +0200 Subject: [PATCH 56/64] fix(ssl): explicitly disable mercurial web_push ssl flag to prevent from errors about ssl required --- rhodecode/apps/admin/views/settings.py | 10 +++++++++- rhodecode/lib/utils.py | 5 +++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/rhodecode/apps/admin/views/settings.py b/rhodecode/apps/admin/views/settings.py index 34a5687d..4f226076 100644 --- a/rhodecode/apps/admin/views/settings.py +++ b/rhodecode/apps/admin/views/settings.py @@ -75,10 +75,17 @@ class AdminSettingsView(BaseAppView): if not ret: raise Exception('Could not get application ui settings !') - settings = {} + settings = { + # legacy param that needs to be kept + 'web_push_ssl': False + } for each in ret: k = each.ui_key v = each.ui_value + # skip some options if they are defined + if k in ['push_ssl']: + continue + if k == '/': k = 'root_path' @@ -92,6 +99,7 @@ class AdminSettingsView(BaseAppView): v = each.ui_active settings[each.ui_section + '_' + k] = v + return settings @classmethod diff --git a/rhodecode/lib/utils.py b/rhodecode/lib/utils.py index 3cc0c0ee..5e7685b4 100644 --- a/rhodecode/lib/utils.py +++ b/rhodecode/lib/utils.py @@ -372,14 +372,15 @@ def prepare_config_data(clear_session=True, repo=None): """ from rhodecode.model.settings import VcsSettingsModel - config = [] - sa = meta.Session() settings_model = VcsSettingsModel(repo=repo, sa=sa) ui_settings = settings_model.get_ui_settings() ui_data = [] + config = [ + ('web', 'push_ssl', 'false'), + ] for setting in ui_settings: # Todo: remove this section once transition to *.ini files will be completed if setting.section in ('largefiles', 'vcs_git_lfs'): From 4bc763e2d01e17fb2663c8053c80eaa84aeffc53 Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Fri, 4 Oct 2024 12:54:37 +0200 Subject: [PATCH 57/64] fix(license-import): don't crash if license file is not present, and only run this code for EE --- rhodecode/subscribers.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/rhodecode/subscribers.py b/rhodecode/subscribers.py index 82ffee3c..4bf7f2b8 100644 --- a/rhodecode/subscribers.py +++ b/rhodecode/subscribers.py @@ -111,9 +111,11 @@ def scan_repositories_if_enabled(event): This is subscribed to the `pyramid.events.ApplicationCreated` event. It does a repository scan if enabled in the settings. """ + settings = event.app.registry.settings vcs_server_enabled = settings['vcs.server.enable'] import_on_startup = settings['startup.import_repos'] + if vcs_server_enabled and import_on_startup: from rhodecode.model.scm import ScmModel from rhodecode.lib.utils import repo2db_mapper @@ -320,13 +322,19 @@ def import_license_if_present(event): """ settings = event.app.registry.settings + rhodecode_edition_id = settings.get('rhodecode.edition_id') license_file_path = settings.get('license.import_path') force = settings.get('license.import_path_mode') == 'force' - if license_file_path: + + if license_file_path and rhodecode_edition_id == 'EE': + log.debug('license.import_path= is set importing license from %s', license_file_path) from rhodecode.model.meta import Session from rhodecode.model.license import apply_license_from_file - apply_license_from_file(license_file_path, force=force) - Session().commit() + try: + apply_license_from_file(license_file_path, force=force) + Session().commit() + except OSError: + log.exception('Failed to import license from %s, make sure this file exists', license_file_path) class Subscriber(object): From 3109df77fa9eff2ad859215b2f65503e430bff21 Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Mon, 7 Oct 2024 10:12:10 +0200 Subject: [PATCH 58/64] fix(config): do not set the license import path to default value to not trigger import if this is not explicitly set via .ini file --- rhodecode/config/config_maker.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rhodecode/config/config_maker.py b/rhodecode/config/config_maker.py index 4b9bcd05..64cd3a72 100644 --- a/rhodecode/config/config_maker.py +++ b/rhodecode/config/config_maker.py @@ -98,7 +98,7 @@ def sanitize_settings_and_apply_defaults(global_config, settings): # License settings. settings_maker.make_setting('license.hide_license_info', False, parser='bool') - settings_maker.make_setting('license.import_path', jn(ini_loc, 'rhodecode_enterprise.license')) + settings_maker.make_setting('license.import_path', '') settings_maker.make_setting('license.import_path_mode', 'if-missing') # statsd From 62690f16e40dc086f07cf48c4a8b388da004f04f Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Mon, 7 Oct 2024 10:23:08 +0200 Subject: [PATCH 59/64] configs: synced ce/ee configs --- configs/development.ini | 7 +++++++ configs/production.ini | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/configs/development.ini b/configs/development.ini index 2a8898d2..77fd4cbf 100644 --- a/configs/development.ini +++ b/configs/development.ini @@ -257,6 +257,13 @@ license_token = ; This flag hides sensitive information on the license page such as token, and license data license.hide_license_info = false +; Import EE license from this license path +#license.import_path = %(here)s/rhodecode_enterprise.license + +; import license 'if-missing' or 'force' (always override) +; if-missing means apply license if it doesn't exist. 'force' option always overrides it +license.import_path_mode = if-missing + ; supervisor connection uri, for managing supervisor and logs. supervisor.uri = diff --git a/configs/production.ini b/configs/production.ini index 08bbcb3e..30840933 100644 --- a/configs/production.ini +++ b/configs/production.ini @@ -225,6 +225,13 @@ license_token = ; This flag hides sensitive information on the license page such as token, and license data license.hide_license_info = false +; Import EE license from this license path +#license.import_path = %(here)s/rhodecode_enterprise.license + +; import license 'if-missing' or 'force' (always override) +; if-missing means apply license if it doesn't exist. 'force' option always overrides it +license.import_path_mode = if-missing + ; supervisor connection uri, for managing supervisor and logs. supervisor.uri = From d59469e975aa632a40a68357b046b4a7c6cb2c2c Mon Sep 17 00:00:00 2001 From: RhodeCode Admin Date: Sun, 6 Oct 2024 08:41:02 +0200 Subject: [PATCH 60/64] fix(vcs-operations): fixed problems with locked repos and with branch permissions reporting, previously it shown error 500 when those cases were handled --- rhodecode/config/environment.py | 1 + rhodecode/lib/hook_daemon/hook_module.py | 6 ++--- rhodecode/lib/hooks_base.py | 2 ++ rhodecode/lib/middleware/simplevcs.py | 2 +- rhodecode/lib/utils.py | 31 +++++++++++++++++++++++- 5 files changed, 37 insertions(+), 5 deletions(-) diff --git a/rhodecode/config/environment.py b/rhodecode/config/environment.py index 8cf12edd..1c699e65 100644 --- a/rhodecode/config/environment.py +++ b/rhodecode/config/environment.py @@ -17,6 +17,7 @@ # and proprietary license terms, please see https://rhodecode.com/licenses/ import logging + import rhodecode import collections diff --git a/rhodecode/lib/hook_daemon/hook_module.py b/rhodecode/lib/hook_daemon/hook_module.py index d719f88a..c6e88c0b 100644 --- a/rhodecode/lib/hook_daemon/hook_module.py +++ b/rhodecode/lib/hook_daemon/hook_module.py @@ -66,12 +66,12 @@ class Hooks(object): result = hook(extras) if result is None: raise Exception(f'Failed to obtain hook result from func: {hook}') - except HTTPBranchProtected as handled_error: + except HTTPBranchProtected as error: # Those special cases don't need error reporting. It's a case of # locked repo or protected branch result = AttributeDict({ - 'status': handled_error.code, - 'output': handled_error.explanation + 'status': error.code, + 'output': error.explanation }) except (HTTPLockedRC, Exception) as error: # locked needs different handling since we need to also diff --git a/rhodecode/lib/hooks_base.py b/rhodecode/lib/hooks_base.py index f6ec99d1..795987cc 100644 --- a/rhodecode/lib/hooks_base.py +++ b/rhodecode/lib/hooks_base.py @@ -142,6 +142,8 @@ def pre_push(extras): if extras.commit_ids and extras.check_branch_perms: auth_user = user.AuthUser() repo = Repository.get_by_repo_name(extras.repository) + if not repo: + raise ValueError(f'Repo for {extras.repository} not found') affected_branches = [] if repo.repo_type == 'hg': for entry in extras.commit_ids: diff --git a/rhodecode/lib/middleware/simplevcs.py b/rhodecode/lib/middleware/simplevcs.py index 72c23cf5..b3f7c230 100644 --- a/rhodecode/lib/middleware/simplevcs.py +++ b/rhodecode/lib/middleware/simplevcs.py @@ -293,7 +293,7 @@ class SimpleVCS(object): def compute_perm_vcs( cache_name, plugin_id, action, user_id, repo_name, ip_addr): - log.debug('auth: calculating permission access now...') + log.debug('auth: calculating permission access now for vcs operation: %s', action) # check IP inherit = user.inherit_default_permissions ip_allowed = AuthUser.check_ip_allowed( diff --git a/rhodecode/lib/utils.py b/rhodecode/lib/utils.py index 5e7685b4..11331c06 100644 --- a/rhodecode/lib/utils.py +++ b/rhodecode/lib/utils.py @@ -43,6 +43,7 @@ from webhelpers2.text import collapse, strip_tags, convert_accented_entities, co from mako import exceptions from rhodecode import ConfigGet +from rhodecode.lib.exceptions import HTTPBranchProtected, HTTPLockedRC from rhodecode.lib.hash_utils import sha256_safe, md5, sha1 from rhodecode.lib.type_utils import AttributeDict from rhodecode.lib.str_utils import safe_bytes, safe_str @@ -88,8 +89,36 @@ def adopt_for_celery(func): try: # HooksResponse implements to_json method which must be used there. return func(extras).to_json() + except HTTPBranchProtected as error: + # Those special cases don't need error reporting. It's a case of + # locked repo or protected branch + error_args = error.args + return { + 'status': error.code, + 'output': error.explanation, + 'exception': type(error).__name__, + 'exception_args': error_args, + 'exception_traceback': '', + } + except HTTPLockedRC as error: + # Those special cases don't need error reporting. It's a case of + # locked repo or protected branch + error_args = error.args + return { + 'status': error.code, + 'output': error.explanation, + 'exception': type(error).__name__, + 'exception_args': error_args, + 'exception_traceback': '', + } except Exception as e: - return {'status': 128, 'exception': type(e).__name__, 'exception_args': e.args} + return { + 'status': 128, + 'output': '', + 'exception': type(e).__name__, + 'exception_args': e.args, + 'exception_traceback': '', + } return wrapper From a743a8136bd641fcaee75945a23c7a7449e85469 Mon Sep 17 00:00:00 2001 From: Andrii Verbytskyi Date: Mon, 7 Oct 2024 10:27:32 +0200 Subject: [PATCH 61/64] fix: do not render email if we arent sending email with notification --- rhodecode/model/notification.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/rhodecode/model/notification.py b/rhodecode/model/notification.py index df3af388..acad4e6c 100644 --- a/rhodecode/model/notification.py +++ b/rhodecode/model/notification.py @@ -117,14 +117,16 @@ class NotificationModel(BaseModel): # add mentioned users into recipients final_recipients = set(recipients_objs).union(mention_recipients) - (subject, email_body, email_body_plaintext) = \ - EmailNotificationModel().render_email(notification_type, **email_kwargs) + # No need to render email if we are sending just notification + if with_email: + (subject, email_body, email_body_plaintext) = \ + EmailNotificationModel().render_email(notification_type, **email_kwargs) - if not notification_subject: - notification_subject = subject + if not notification_subject: + notification_subject = subject - if not notification_body: - notification_body = email_body_plaintext + if not notification_body: + notification_body = email_body_plaintext notification = Notification.create( created_by=created_by_obj, subject=notification_subject, From 23115440d05de684bd3aaf7fa931fbbf74f71c17 Mon Sep 17 00:00:00 2001 From: Andrii Verbytskyi Date: Wed, 9 Oct 2024 11:53:51 +0200 Subject: [PATCH 62/64] chore: disabled audit functionality for now --- .../templates/admin/security/security.mako | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/rhodecode/templates/admin/security/security.mako b/rhodecode/templates/admin/security/security.mako index fe302ff4..0ae98225 100644 --- a/rhodecode/templates/admin/security/security.mako +++ b/rhodecode/templates/admin/security/security.mako @@ -21,17 +21,17 @@
-
-
-

${_('Security Audit')}

-
-
-

${_('This feature is available in RhodeCode EE edition only. Contact {sales_email} to obtain a trial license.').format(sales_email='sales@rhodecode.com')|n}

-

- ${_('You can scan your repositories for exposed secrets, passwords, etc')} -

-
-
+ + + + + + + + + + +
From 7e267b5f431b86e993053c7e3730c55d7a7999f3 Mon Sep 17 00:00:00 2001 From: Andrii Verbytskyi Date: Wed, 9 Oct 2024 15:48:30 +0200 Subject: [PATCH 63/64] chore: filled release notes for 5.2.0 --- docs/release-notes/release-notes-5.2.0.rst | 30 +++++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/docs/release-notes/release-notes-5.2.0.rst b/docs/release-notes/release-notes-5.2.0.rst index 60c36fe9..6c2f6bf6 100644 --- a/docs/release-notes/release-notes-5.2.0.rst +++ b/docs/release-notes/release-notes-5.2.0.rst @@ -4,19 +4,25 @@ Release Date ^^^^^^^^^^^^ -- 2024 (TBA) -- available as docker "beta" tag rhodecode/rhodecode-ce:beta, rhodecode/rhodecode-ee:beta +- 2024-10-09 New Features ^^^^^^^^^^^^ +- New artifact storage engines allowing an s3 based uploads +- Enterprise version only: Added security tab to admin interface and possibility to whitelist specific vcs client versions. Some older versions clients have known security vulnerabilities, now you can disallow them. +- Enterprise version only: Implemented support for Azure SAML authentication General ^^^^^^^ - - +- Bumped version of packaging, gunicorn, orjson, zope.interface and some other requirements +- Few tweaks and changes to saml plugins to allows easier setup +- Configs: allow json log format for gunicorn +- Configs: deprecated old ssh wrapper command and make the v2 the default one +- Make sure commit-caches propagate to parent repo groups +- Configs: Moved git lfs path and path of hg large files to *.ini file Security ^^^^^^^^ @@ -26,14 +32,24 @@ Security Performance ^^^^^^^^^^^ - +- description escaper for better performance Fixes ^^^^^ - +- Email notifications not working properly +- Removed waitress as a default runner +- Fixed issue with branch permissions +- Ldap: fixed nested groups extraction logic +- Fixed possible db corruption in case of filesystem problems +- Cleanup and improvements to documentation +- Added Kubernetes deployment section to the documentation +- Added default value to celery result and broker +- Fixed broken backends function after python3 migration +- Explicitly disable mercurial web_push ssl flag to prevent from errors about ssl required +- VCS: fixed problems with locked repos and with branch permissions reporting Upgrade notes ^^^^^^^^^^^^^ -- RhodeCode 5.2.0 is a next feature release version +- RhodeCode 5.2.0 is a planned major release featuring Azure SAML, whitelist for client versions, s3 artifacts backend and more! From 3902d75636ebab5ae523cbdf562976985ddd819a Mon Sep 17 00:00:00 2001 From: Andrii Verbytskyi Date: Wed, 9 Oct 2024 15:57:40 +0200 Subject: [PATCH 64/64] chore: fixed release notes for 5.2.0 --- docs/release-notes/release-notes-5.2.0.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes/release-notes-5.2.0.rst b/docs/release-notes/release-notes-5.2.0.rst index 6c2f6bf6..2aa43dbb 100644 --- a/docs/release-notes/release-notes-5.2.0.rst +++ b/docs/release-notes/release-notes-5.2.0.rst @@ -22,7 +22,7 @@ General - Configs: allow json log format for gunicorn - Configs: deprecated old ssh wrapper command and make the v2 the default one - Make sure commit-caches propagate to parent repo groups -- Configs: Moved git lfs path and path of hg large files to *.ini file +- Configs: Moved git lfs path and path of hg large files to ini file Security ^^^^^^^^